/* cabecalho-utilidades.css */
/**
 * Cabeçalho: menus de utilidades (os dois cabeçalhos) e estrutura de duas linhas.
 * Figma: "Utilidades · exemplos" 144:2140 · Header/Cabeçalho "Duas linhas" 128:1333 (tablet 162:4848, mobile 150:2816)
 *        · "Menu · organização" 148:3024 (painel CATEGORIAS).
 *
 * Medidas do Dev Mode:
 *   Header/Utilidade   ícone 20 em caixa 25 + rótulo 14/1.5 + seta 8 · gap 8 · utilidades a 24
 *   painel             320 de largura · padding 24 · raio card · sombra float · 12 abaixo do gatilho
 *   contato            círculo 36 brand-subtle com ícone 14 brand · rótulo 12 ink-muted · valor 16 ink · linhas a 16
 *   conta              saudação 20/1.3 (600) · texto 14 ink-muted · botões 48 a 12 · links 16 com ícone 14 ink-muted
 *   prévia do carrinho foto 64 raio 8 · nome 14 · detalhe 12 ink-muted · preço 16 (500)
 *   linha principal    padding 16/24 · gap 32 · busca 48 de altura, fundo surface-alt, borda 1 line
 *   linha do menu      57 de altura · padding 8/24 · menu centralizado, gap 8 · CATEGORIAS Label 16 (500) + barras 20
 *   CATEGORIAS         organização do Figma Menu aberto · Painel 130:1376 (colunas · destaque · "Navegue por tudo"),
 *                      com estilo próprio: cartões de categoria com foto, destaque com selo, rodapé leve
 *
 * Só tokens: as cores mudam pelo painel Sua Loja.
 */

/* ---------- Utilidade: gatilho + painel ---------- */

.cdw-util {
	position: relative;
	display: flex;
	align-items: center;
}

.cdw-util__gatilho--rotulo {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8);
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-size: var(--wp--preset--font-size--caption);
	line-height: var(--wp--custom--line-height--body);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-util__gatilho--rotulo > .cdw-icone:first-child {
	flex: none;
	width: 25px;
	font-size: 20px;
}

.cdw-util__gatilho--rotulo .cdw-util__seta {
	font-size: 8px;
	transition: transform var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-util__gatilho--rotulo:hover,
.cdw-util__gatilho[aria-expanded="true"] {
	color: var(--wp--preset--color--brand-text);
}

.cdw-util__gatilho[aria-expanded="true"] .cdw-util__seta {
	transform: rotate(180deg);
}

.cdw-util__gatilho:focus-visible,
.cdw-categorias-gatilho:focus-visible {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: 4px;
	border-radius: var(--wp--custom--radius--sm);
}

.cdw-util__rotulo {
	max-width: 160px;
	overflow: hidden;
	text-overflow: ellipsis;
}

.cdw-util__painel {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	z-index: var(--wp--custom--z-index--dropdown);
	width: 320px;
	max-width: calc(100vw - 32px);
	max-height: calc(100vh - 140px);
	padding: var(--wp--preset--spacing--space-24);
	overflow-y: auto;
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--float);
	color: var(--wp--preset--color--ink);
	text-align: left;
	white-space: normal;
}

.cdw-util__painel[hidden],
.cdw-previa[hidden],
.cdw-catmenu[hidden] {
	display: none;
}

.cdw-util__titulo {
	margin: 0 0 var(--wp--preset--spacing--space-16);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: var(--wp--custom--line-height--body);
}

.cdw-util__contatos,
.cdw-util__links,
.cdw-previa__itens {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cdw-util__contatos {
	gap: var(--wp--preset--spacing--space-16);
}

.cdw-util__contato {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.cdw-util__contato-icone {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--brand-subtle);
	color: var(--wp--preset--color--brand-text);
	font-size: 14px;
}

.cdw-util__contato-texto {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.cdw-util__contato-rotulo {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--overline);
	line-height: var(--wp--custom--line-height--body);
}

.cdw-util__contato-valor {
	overflow-wrap: anywhere;
	font-size: var(--wp--preset--font-size--body);
	line-height: var(--wp--custom--line-height--body);
}

a.cdw-util__contato:hover .cdw-util__contato-valor,
.cdw-util__link:hover,
.cdw-previa__nome:hover {
	color: var(--wp--preset--color--brand-text);
}

.cdw-util__saudacao {
	margin: 0 0 var(--wp--preset--spacing--space-4);
	font-size: var(--wp--preset--font-size--heading-sm);
	font-weight: var(--wp--custom--weight--heavy);
	line-height: var(--wp--custom--line-height--heading-sm);
}

.cdw-util__texto {
	margin: 0 0 var(--wp--preset--spacing--space-16);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: var(--wp--custom--line-height--body);
}

.cdw-util__painel .cdw-util__botao {
	display: flex;
	width: 100%;
	margin-top: 12px;
}

.cdw-util__links {
	gap: var(--wp--preset--spacing--space-4);
	margin-top: var(--wp--preset--spacing--space-16);
	padding-top: var(--wp--preset--spacing--space-8);
	border-top: 1px solid var(--wp--preset--color--line);
}

/* Quem já entrou não tem os botões acima: a lista começa logo depois da saudação. */
.cdw-util__saudacao + .cdw-util__links {
	margin-top: 12px;
}

.cdw-util__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: var(--wp--preset--spacing--space-8) 0;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--body);
	line-height: var(--wp--custom--line-height--body);
	text-decoration: none;
}

.cdw-util__link .cdw-icone {
	flex: none;
	width: 20px;
	color: var(--wp--preset--color--ink-muted);
	font-size: 14px;
}

/* Atendimento (Figma 144:2210): divisor e os links de dúvida, ícone ink-muted a 16 do texto. */
.cdw-util__contatos + .cdw-util__links--ajuda {
	margin-top: var(--wp--preset--spacing--space-16);
}

.cdw-util__titulo + .cdw-util__links--ajuda {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.cdw-util__links--ajuda .cdw-util__link {
	gap: var(--wp--preset--spacing--space-16);
}

/* ---------- Prévia do carrinho (abre com o mouse; no toque o ícone vai direto para o carrinho) ---------- */

.cdw-util--carrinho .cdw-previa {
	display: none;
	width: 340px;
}

@media (hover: hover) and (min-width: 782px) {
	/* Ao tirar o mouse, a prévia espera 0,6 s e some em 0,2 s (antes sumia na hora). */
	.cdw-util--carrinho .cdw-previa:not([hidden]) {
		display: block;
		visibility: hidden;
		opacity: 0;
		transition: opacity 0.2s ease 0.6s, visibility 0s linear 0.8s;
	}

	.cdw-util--carrinho:hover .cdw-previa:not([hidden]),
	.cdw-util--carrinho:focus-within .cdw-previa:not([hidden]) {
		visibility: visible;
		opacity: 1;
		transition-delay: 0s;
	}

	/* Ponte invisível entre o ícone e o painel: o mouse não "cai" no caminho. */
	.cdw-util--carrinho .cdw-previa::before {
		content: "";
		position: absolute;
		right: 0;
		bottom: 100%;
		left: 0;
		height: 12px;
	}
}

.cdw-previa__itens {
	gap: var(--wp--preset--spacing--space-16);
}

.cdw-previa__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.cdw-previa__foto {
	flex: none;
	width: 64px;
	height: 64px;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface-alt);
}

.cdw-previa__foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cdw-previa__dados {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.cdw-previa__nome {
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--caption);
	line-height: var(--wp--custom--line-height--body);
	text-decoration: none;
}

.cdw-previa__detalhe,
.cdw-previa__mais {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--overline);
	line-height: var(--wp--custom--line-height--body);
}

.cdw-previa__mais {
	margin: var(--wp--preset--spacing--space-8) 0 0;
}

.cdw-previa__preco {
	font-size: var(--wp--preset--font-size--body);
	font-weight: var(--wp--custom--weight--bold);
	line-height: var(--wp--custom--line-height--body);
}

/* Frete grátis na prévia: a mesma barra do carrinho (cdw_carrinho_frete_gratis_html()). */
.cdw-previa .cdw-pc-frete {
	margin-top: var(--wp--preset--spacing--space-16);
}

/* Produto/Frete grátis progressivo: 760×72, padding 16, gap 8, trilho de 8. */
.cdw-pc-frete {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-8);
	padding: var(--wp--preset--spacing--space-16);
	border-radius: 36px;
	background: var(--wp--preset--color--surface-alt);
}

.cdw-pc-frete__linha {
	display: flex;
	margin: 0;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
}

.cdw-pc-frete__linha .cdw-icone {
	margin-inline: 2px;
	color: var(--wp--preset--color--brand);
	font-size: 16px;
}

.cdw-pc-frete__trilho {
	height: 8px;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--line);
}

.cdw-pc-frete__trilho span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--wp--preset--color--brand);
	transition: width var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

/* Frete conquistado: o cartão pulsa (anel na cor da marca), o ícone bate e um brilho varre o trilho. */
.cdw-pc-frete__trilho span {
	position: relative;
}

@media (prefers-reduced-motion: no-preference) {
	.cdw-pc-frete.is-completo {
		animation: cdw-pc-frete-pulso 1.8s ease-out infinite;
	}

	.cdw-pc-frete.is-completo .cdw-icone {
		animation: cdw-pc-frete-bate 1.8s ease-in-out infinite;
	}

	.cdw-pc-frete.is-completo .cdw-pc-frete__trilho span::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--wp--preset--color--surface) 70%, transparent), transparent);
		animation: cdw-pc-frete-varre 2.2s ease-in-out infinite;
	}
}

@keyframes cdw-pc-frete-pulso {
	0% {
		box-shadow: 0 0 0 0 color-mix(in srgb, var(--wp--preset--color--brand) 40%, transparent);
	}

	70%,
	100% {
		box-shadow: 0 0 0 14px color-mix(in srgb, var(--wp--preset--color--brand) 0%, transparent);
	}
}

@keyframes cdw-pc-frete-bate {
	0%,
	60%,
	100% {
		transform: scale(1);
	}

	30% {
		transform: scale(1.3);
	}
}

@keyframes cdw-pc-frete-varre {
	0%,
	15% {
		transform: translateX(-100%);
	}

	85%,
	100% {
		transform: translateX(100%);
	}
}

.cdw-previa__subtotal {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-16);
	margin: var(--wp--preset--spacing--space-16) 0 0;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--body);
	line-height: var(--wp--custom--line-height--body);
}

.cdw-previa__subtotal strong {
	color: var(--wp--preset--color--ink);
	font-weight: var(--wp--custom--weight--bold);
}

/* Carrinho vazio — Figma Header/Menu de utilidades · Tipo=Carrinho vazio (717:3204):
   360 de largura, padding 24, gap 16, tudo centralizado · ícone 24 ink-muted num círculo de 64
   surface-alt · título Label 16 ink · frase Caption 14 ink-muted (gap 8) · botão brand largura toda. */
.cdw-util--carrinho .cdw-previa--vazia {
	width: 360px;
	text-align: center;
}

@media (hover: hover) and (min-width: 782px) {
	.cdw-util--carrinho .cdw-previa--vazia:not([hidden]) {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: var(--wp--preset--spacing--space-16);
	}
}

.cdw-previa__vazio-icone {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--ink-muted);
	font-size: 24px;
}

.cdw-previa__vazio-titulo,
.cdw-previa__vazio-texto {
	width: 100%;
	margin: 0;
	line-height: var(--wp--custom--line-height--body);
}

.cdw-previa__vazio-titulo {
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
}

/* Título e frase ficam a 8 um do outro (o resto do painel tem gap 16). */
.cdw-previa__vazio-texto {
	margin-top: calc(var(--wp--preset--spacing--space-8) - var(--wp--preset--spacing--space-16));
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
}

.cdw-previa--vazia .cdw-util__botao {
	margin-top: 0;
}

/* ---------- Estrutura de duas linhas ---------- */

.cdw-cabecalho--duas-linhas .cdw-cabecalho__conteudo {
	gap: var(--wp--preset--spacing--space-32);
}

.cdw-cabecalho--duas-linhas .cdw-cabecalho__logo-e-menu {
	flex: none;
}

.cdw-cabecalho--duas-linhas .cdw-cabecalho__acoes {
	flex: none;
	gap: var(--wp--preset--spacing--space-24);
}

.cdw-utilidades {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-24);
}

.cdw-cabecalho__conta-compacta {
	display: none;
}

/* Busca sempre visível: o campo ocupa o espaço entre o logo e as utilidades. */
.cdw-busca-caixa {
	position: relative;
	flex: 1;
	min-width: 0;
}

.cdw-cabecalho--duas-linhas .cdw-busca {
	position: static;
	display: flex;
	background: transparent;
}

.cdw-cabecalho--duas-linhas .cdw-busca__fechar {
	display: none;
}

.cdw-cabecalho--duas-linhas .cdw-busca__campo {
	padding: 0 17px;
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--surface-alt);
	transition: background-color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-cabecalho--duas-linhas .cdw-busca__campo:focus-within {
	padding: 0 var(--wp--preset--spacing--space-16);
	border: 2px solid var(--wp--preset--color--focus);
	background: var(--wp--preset--color--surface);
}

/* Busca/Sugestões · Tipo=Compacto: 560 de largura, raio 24, sombra float, 5 abaixo do campo,
   alinhado à borda esquerda do campo (antes saía 76 px para a esquerda). */
.cdw-cabecalho--duas-linhas .cdw-busca-painel {
	top: calc(100% + 5px);
	right: auto;
	left: 0;
	z-index: var(--wp--custom--z-index--dropdown);
	width: 560px;
	max-width: calc(100vw - 32px);
	border-radius: var(--wp--custom--radius--container);
	box-shadow: var(--wp--preset--shadow--float);
}

.cdw-cabecalho--duas-linhas .cdw-busca-painel__corpo {
	flex-direction: column;
	align-items: stretch;
	gap: var(--wp--preset--spacing--space-24);
	padding: var(--wp--preset--spacing--space-24);
}

.cdw-cabecalho--duas-linhas .cdw-busca-painel__termos {
	flex: none;
}

.cdw-cabecalho--duas-linhas .cdw-busca-painel__bloco--recentes {
	display: none;
}

.cdw-cabecalho--duas-linhas .cdw-busca-painel__termos:not(:has(.cdw-busca-painel__chips)) {
	display: none;
}

/* Linha do menu */
.cdw-cabecalho__linha--menu {
	position: relative;
	/* --wp--custom--faixa--menu-*: cores da linha pelo arquivo de cores (Sua Loja › Cores › Avançado). Sem elas, o padrão. */
	background: var(--wp--custom--faixa--menu-fundo, var(--wp--preset--color--surface));
}

.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu > .cdw-menu__item > .cdw-menu__link,
.cdw-cabecalho__linha--menu .cdw-categorias-gatilho {
	color: var(--wp--custom--faixa--menu-texto, var(--wp--preset--color--ink));
}

.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu > .cdw-menu__item > .cdw-menu__link:hover,
.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu > .cdw-menu__item.is-aberto > .cdw-menu__link,
.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu > .cdw-menu__item > .cdw-menu__link[aria-current="page"],
.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu > .cdw-menu__item.is-atual > .cdw-menu__link {
	background: var(--wp--custom--faixa--menu-hover-fundo, var(--wp--preset--color--brand-subtle));
	color: var(--wp--custom--faixa--menu-hover-texto, var(--wp--preset--color--brand-text));
}

@media (hover: hover) {
	.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu__item--pai:hover > .cdw-menu__link {
		background: var(--wp--custom--faixa--menu-hover-fundo, var(--wp--preset--color--brand-subtle));
		color: var(--wp--custom--faixa--menu-hover-texto, var(--wp--preset--color--brand-text));
	}
}

.cdw-cabecalho__menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--space-8);
	width: 100%;
	max-width: var(--wp--custom--layout--container-max);
	margin-inline: auto;
	padding: var(--wp--preset--spacing--space-8) var(--wp--preset--spacing--space-24);
}

.cdw-cabecalho--duas-linhas .cdw-nav--desktop .cdw-menu {
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--wp--preset--spacing--space-8);
}

.cdw-categorias-gatilho {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8);
	min-height: 40px;
	margin: 0;
	padding: 0 var(--wp--preset--spacing--space-16);
	border: 0;
	border-radius: var(--wp--custom--radius--full);
	background: transparent;
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: var(--wp--custom--line-height--body);
	text-transform: uppercase;
	cursor: pointer;
	transition:
		background-color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao),
		color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-categorias-gatilho .cdw-icone {
	width: 25px;
	font-size: 20px;
}

.cdw-categorias-gatilho:hover,
.cdw-categorias-gatilho[aria-expanded="true"] {
	background: var(--wp--preset--color--surface-alt);
}

.cdw-cabecalho__linha--menu .cdw-categorias-gatilho:hover,
.cdw-cabecalho__linha--menu .cdw-categorias-gatilho[aria-expanded="true"] {
	background: var(--wp--custom--faixa--menu-hover-fundo, var(--wp--preset--color--surface-alt));
	color: var(--wp--custom--faixa--menu-hover-texto, var(--wp--preset--color--ink));
}

/* Painel CATEGORIAS — Figma Menu aberto · Painel (130:1376): colunas de categorias, destaque de
   produto à direita e "Navegue por tudo". Dois desenhos (Sua Loja › Topo do site):
   .cdw-catmenu--lista (padrão, igual ao Figma; regras no bloco "estilo lista" mais abaixo) e
   .cdw-catmenu--fotos (cada categoria é um cartão com foto, nome e quantidade; o destaque é um cartão
   com selo; o rodapé é uma linha leve). As regras sem modificador valem para os dois. */
.cdw-catmenu {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	z-index: var(--wp--custom--z-index--dropdown);
	max-height: calc(100vh - 200px);
	overflow-y: auto;
	border-top: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--surface);
	box-shadow: 0 24px 48px -24px rgba(0, 0, 0, 0.25);
	animation: cdw-catmenu-entra var(--wp--custom--motion--duracao-padrao) var(--wp--custom--motion--ease-padrao);
}

@keyframes cdw-catmenu-entra {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}
}

.cdw-catmenu__corpo {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--space-32);
	width: 100%;
	max-width: var(--wp--custom--layout--container-max);
	margin-inline: auto;
	padding: var(--wp--preset--spacing--space-32);
}

/* ---------- Colunas (uma por categoria) ---------- */

.cdw-catmenu__colunas {
	display: grid;
	flex: 1 1 0;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	align-items: start;
	gap: var(--wp--preset--spacing--space-32) var(--wp--preset--spacing--space-24);
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cdw-catmenu__coluna {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

.cdw-catmenu__cat {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-4);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.cdw-catmenu__cat-foto {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	margin-bottom: var(--wp--preset--spacing--space-8);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface-alt);
}

.cdw-catmenu__cat-foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--wp--custom--motion--duracao-lenta) var(--wp--custom--motion--ease-padrao);
}

/* Categoria sem foto: a inicial, grande e na cor da marca. */
.cdw-catmenu__cat-inicial {
	color: var(--wp--preset--color--brand-text);
	font-family: var(--wp--preset--font-family--display);
	font-size: 2rem;
	font-weight: var(--wp--custom--weight--heavy);
	line-height: 1;
}

.cdw-catmenu__cat-nome {
	overflow: hidden;
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: var(--wp--custom--line-height--body);
	text-overflow: ellipsis;
	white-space: nowrap;
	transition: color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-catmenu__cat-total {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: var(--wp--custom--line-height--body);
}

.cdw-catmenu__cat:hover .cdw-catmenu__cat-foto img {
	transform: scale(1.05);
}

.cdw-catmenu__cat:hover .cdw-catmenu__cat-nome {
	color: var(--wp--preset--color--brand-text);
}

.cdw-catmenu__filhas {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-8);
	margin: 0;
	padding: 0;
	list-style: none;
}

.cdw-catmenu__link {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--body);
	line-height: var(--wp--custom--line-height--body);
	text-decoration: none;
	transition: color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-catmenu__link:hover {
	color: var(--wp--preset--color--ink);
}

.cdw-catmenu__tudo {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 6px;
	color: var(--wp--preset--color--brand-text);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: var(--wp--custom--weight--bold);
	line-height: var(--wp--custom--line-height--body);
	text-decoration: none;
}

.cdw-catmenu__tudo .cdw-icone {
	width: 12px;
	font-size: 12px;
	transition: transform var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-catmenu__tudo:hover .cdw-icone {
	transform: translateX(3px);
}

/* ---------- Destaque de produto ---------- */

.cdw-catmenu__destaque {
	display: flex;
	flex: 0 0 264px;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-4);
	min-width: 0;
	padding: var(--wp--preset--spacing--space-16);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.cdw-catmenu__destaque-foto {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	margin-bottom: var(--wp--preset--spacing--space-8);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface);
}

.cdw-catmenu__destaque-foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--wp--custom--motion--duracao-lenta) var(--wp--custom--motion--ease-padrao);
}

/* Selo no canto (mesmo desenho do Produto/Tag dos cards: Overline 12 maiúsculo, pill). */
.cdw-catmenu__destaque-selo {
	position: absolute;
	top: var(--wp--preset--spacing--space-8);
	left: var(--wp--preset--spacing--space-8);
	padding: var(--wp--preset--spacing--space-4) 10px;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent-contrast);
	font-size: var(--wp--preset--font-size--overline);
	line-height: 1.5;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cdw-catmenu__destaque-nome {
	display: -webkit-box;
	overflow: hidden;
	font-size: var(--wp--preset--font-size--caption);
	line-height: var(--wp--custom--line-height--body);
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

.cdw-catmenu__destaque-preco {
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: var(--wp--custom--line-height--body);
}

.cdw-catmenu__destaque-preco del {
	margin-right: var(--wp--preset--spacing--space-4);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: var(--wp--custom--weight--regular);
}

.cdw-catmenu__destaque-preco ins {
	text-decoration: none;
}

.cdw-catmenu__destaque-ver {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: var(--wp--preset--spacing--space-8);
	color: var(--wp--preset--color--brand-text);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: var(--wp--custom--weight--bold);
	line-height: var(--wp--custom--line-height--body);
}

.cdw-catmenu__destaque-ver .cdw-icone {
	width: 12px;
	font-size: 12px;
	transition: transform var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-catmenu__destaque:hover .cdw-catmenu__destaque-foto img {
	transform: scale(1.04);
}

.cdw-catmenu__destaque:hover .cdw-catmenu__destaque-ver .cdw-icone {
	transform: translateX(3px);
}

/* ---------- Rodapé do painel ---------- */

.cdw-catmenu__rodape {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-16);
	/* Mesma largura do conteúdo (container menos o padding de 32 de cada lado): a linha começa junto com as colunas. */
	width: calc(100% - 2 * var(--wp--preset--spacing--space-32));
	max-width: calc(var(--wp--custom--layout--container-max) - 2 * var(--wp--preset--spacing--space-32));
	margin-inline: auto;
	padding: var(--wp--preset--spacing--space-16) 0;
	border-top: 1px solid var(--wp--preset--color--line);
}

.cdw-catmenu__rodape-texto {
	margin: 0;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: var(--wp--custom--line-height--body);
}

.cdw-catmenu__faixa {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8);
	padding: 10px 20px;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--surface);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: var(--wp--custom--weight--bold);
	line-height: var(--wp--custom--line-height--body);
	text-decoration: none;
	transition: background-color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-catmenu__faixa:hover {
	background: var(--wp--preset--color--brand);
	color: var(--wp--preset--color--brand-contrast);
}

.cdw-catmenu__faixa .cdw-icone {
	width: 14px;
	font-size: 14px;
}

/* ---------- Painel CATEGORIAS · estilo "lista" (padrão) ----------
 * Figma Menu · organização (148:3024) › Menu aberto · Painel (130:1376):
 *   corpo padding 32, gap 32 · colunas flex 1, gap 32 · em cada coluna gap 16:
 *     nome Overline 12 ink-muted maiúsculo (+0,96) · "Ver tudo em…" Label 16 brand-text · subcategorias Body 16 ink
 *   destaque 240 de largura, gap 8: foto 1:1 raio card · nome Caption 14 ink · preço Label 16 ink
 *   faixa ink de ponta a ponta, padding 16/32, conteúdo à direita: "Navegue por tudo" Label 16 surface + seta 20 */

.cdw-catmenu--lista .cdw-catmenu__colunas {
	/* 180: cabe "Ver tudo em Decoração" numa linha; sem espaço, a coluna desce para a linha de baixo. */
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: var(--wp--preset--spacing--space-32);
}

.cdw-catmenu--lista .cdw-catmenu__coluna {
	gap: var(--wp--preset--spacing--space-16);
}

.cdw-catmenu__nome {
	margin: 0;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--overline);
	line-height: var(--wp--custom--line-height--body);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cdw-catmenu--lista .cdw-catmenu__filhas {
	gap: var(--wp--preset--spacing--space-16);
}

.cdw-catmenu--lista .cdw-catmenu__link {
	display: inline-block;
	color: var(--wp--preset--color--ink);
}

.cdw-catmenu--lista .cdw-catmenu__link:hover {
	color: var(--wp--preset--color--brand-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cdw-catmenu__link--tudo,
.cdw-catmenu--lista .cdw-catmenu__link--tudo {
	color: var(--wp--preset--color--brand-text);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
}

.cdw-catmenu--lista .cdw-catmenu__link:focus-visible,
.cdw-catmenu--lista .cdw-catmenu__destaque:focus-visible,
.cdw-catmenu--lista .cdw-catmenu__faixa:focus-visible {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: 2px;
	border-radius: var(--wp--custom--radius--sm);
}

.cdw-catmenu--lista .cdw-catmenu__destaque {
	flex: 0 0 240px;
	gap: var(--wp--preset--spacing--space-8);
	padding: 0;
	background: transparent;
}

.cdw-catmenu--lista .cdw-catmenu__destaque-foto {
	margin-bottom: 0;
	background: var(--wp--preset--color--surface-alt);
}

.cdw-catmenu--lista .cdw-catmenu__destaque-selo,
.cdw-catmenu--lista .cdw-catmenu__destaque-ver {
	display: none;
}

.cdw-catmenu--lista .cdw-catmenu__rodape {
	justify-content: flex-end;
	width: 100%;
	max-width: none;
	padding: 0;
	border-top: 0;
	background: var(--wp--preset--color--ink);
}

.cdw-catmenu--lista .cdw-catmenu__faixa {
	gap: var(--wp--preset--spacing--space-8);
	padding: var(--wp--preset--spacing--space-16) var(--wp--preset--spacing--space-32);
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--surface);
	font-size: var(--wp--preset--font-size--label);
}

.cdw-catmenu--lista .cdw-catmenu__faixa:hover {
	background: transparent;
	color: var(--wp--preset--color--surface);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cdw-catmenu--lista .cdw-catmenu__faixa .cdw-icone {
	width: 20px;
	font-size: 20px;
	transition: transform var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-catmenu--lista .cdw-catmenu__faixa:hover .cdw-icone {
	transform: translateX(3px);
}

/* Faixa alinhada à direita do conteúdo (mesmo container das colunas), mas com o fundo de ponta a ponta. */
@media (min-width: 1200px) {
	.cdw-catmenu--lista .cdw-catmenu__faixa {
		margin-right: max(0px, calc((100% - var(--wp--custom--layout--container-max)) / 2));
	}
}

@media (max-width: 1199px) {
	.cdw-catmenu__destaque {
		flex-basis: 232px;
	}
}

/* Tela estreita: o destaque e a frase do rodapé saem para as colunas caberem. */
@media (max-width: 959px) {
	.cdw-catmenu__destaque,
	.cdw-catmenu__rodape-texto {
		display: none;
	}

	.cdw-catmenu__rodape {
		justify-content: flex-end;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cdw-catmenu {
		animation: none;
	}

	.cdw-catmenu__cat-foto img,
	.cdw-catmenu__destaque-foto img,
	.cdw-catmenu__tudo .cdw-icone,
	.cdw-catmenu__faixa .cdw-icone,
	.cdw-catmenu__destaque-ver .cdw-icone {
		transition: none;
	}
}

/* ---------- Telas estreitas ---------- */

/* Tablet (Figma 162:4848): saem os textos; ficam conta e carrinho. */
@media (max-width: 1099px) {
	.cdw-cabecalho--duas-linhas .cdw-util--some-estreito {
		display: none;
	}

	.cdw-cabecalho--duas-linhas .cdw-util__gatilho--rotulo .cdw-util__rotulo,
	.cdw-cabecalho--duas-linhas .cdw-util__gatilho--rotulo .cdw-util__seta {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}

	.cdw-cabecalho--duas-linhas .cdw-cabecalho__conteudo {
		gap: var(--wp--preset--spacing--space-24);
	}

	.cdw-cabecalho--duas-linhas .cdw-busca-painel {
		left: 0;
	}

	.cdw-cabecalho__menu {
		justify-content: flex-start;
	}

	.cdw-cabecalho--duas-linhas .cdw-nav--desktop .cdw-menu {
		justify-content: flex-start;
	}
}

/* Celular (Figma 150:2816): ☰ logo · conta · carrinho; a busca desce para a linha de baixo. */
.cdw-cabecalho--duas-linhas.is-compacto .cdw-cabecalho__conteudo {
	flex-wrap: wrap;
	gap: 12px var(--wp--preset--spacing--space-16);
}

.cdw-cabecalho--duas-linhas.is-compacto .cdw-busca-caixa {
	flex: 1 0 100%;
	order: 3;
}

.cdw-cabecalho--duas-linhas.is-compacto .cdw-busca {
	right: auto;
	left: auto;
}

.cdw-cabecalho--duas-linhas.is-compacto .cdw-utilidades,
.cdw-cabecalho--duas-linhas.is-compacto .cdw-cabecalho__linha--menu {
	display: none;
}

.cdw-cabecalho--duas-linhas.is-compacto .cdw-cabecalho__conta-compacta {
	display: flex;
}

.cdw-cabecalho--duas-linhas.is-compacto .cdw-busca-painel {
	top: calc(100% + 12px);
	right: calc(var(--wp--preset--spacing--space-16) * -1);
	left: calc(var(--wp--preset--spacing--space-16) * -1);
	width: auto;
	max-width: none;
	border-radius: 0;
	box-shadow: var(--wp--preset--shadow--card);
}

/* ---------- Cabeçalho fixo recolhido (assets/js/cabecalho.js) ----------
   Rolando para baixo some a linha de baixo: menu + CATEGORIAS no computador e no tablet (160 → 103 px),
   a busca no celular. Rolando para cima ela volta com um fade curto. */
.cdw-cabecalho--duas-linhas.is-recolhido .cdw-cabecalho__linha--menu,
.cdw-cabecalho--duas-linhas.is-compacto.is-recolhido .cdw-busca-caixa {
	display: none;
}

.cdw-cabecalho--duas-linhas.is-voltou .cdw-cabecalho__linha--menu,
.cdw-cabecalho--duas-linhas.is-compacto.is-voltou .cdw-busca-caixa {
	animation: cdw-cabecalho-volta var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

@keyframes cdw-cabecalho-volta {
	from {
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cdw-util *,
	.cdw-categorias-gatilho {
		transition-duration: 0s !important;
	}

	.cdw-cabecalho--duas-linhas.is-voltou .cdw-cabecalho__linha--menu,
	.cdw-cabecalho--duas-linhas.is-compacto.is-voltou .cdw-busca-caixa {
		animation: none;
	}
}

/* busca.css */
/**
 * Busca do cabeçalho com sugestões — Figma "Busca · exemplos" (140:1848) e "Header mobile · exemplos" (150:3011).
 *
 * Medidas do Dev Mode:
 *   Busca/Campo            altura 48 · pílula · borda 2 focus · padding 0/16 · gap 8 · lupa 20 · texto 16/1.5
 *   desktop                campo começa depois do logo (24 + 210 + 40) · "Fechar" (xmark 20 + Label 16) a 32 do campo
 *   mobile                 campo ocupa a linha (padding 16, gap 16) · "Cancelar" Label 16 brand, área de toque 48
 *   Busca/Sugestões Largo  corpo padding 32, gap 32 · coluna de termos 360, blocos a 24 · sombra card
 *   Busca/Sugestões Mobile corpo padding 24, gap 24 · sem "recentes"
 *   título do bloco        Overline 12/1.5 maiúsculo ink-muted · 16 até o conteúdo
 *   Busca/Termo            pílula 42 de altura · borda 1 line · padding 8/16 · 16/1.5 · gap 8
 *   recente                relógio 20 em caixa 25 + termo 16 · gap 8 · linhas a 16
 *   Busca/Produto sugerido foto 64 raio 8 · gap 16 · nome Label 16 (500) · preço 16 ink-muted · itens a 8
 *   ver todos              fundo surface-alt · padding 16/32 · à direita · Label 16 brand + seta 20 ink
 *
 * Só tokens: as cores mudam pelo painel Sua Loja.
 */

/* ---------- Campo na linha do cabeçalho ---------- */

.cdw-cabecalho__conteudo {
	position: relative;
}

.cdw-busca {
	position: absolute;
	top: 0;
	bottom: 0;
	/* padding da linha + logo + distância logo→menu */
	left: calc(var(--wp--preset--spacing--space-24) + 210px + 40px);
	right: var(--wp--preset--spacing--space-24);
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-32);
	margin: 0;
	background: var(--wp--preset--color--surface);
}

.cdw-busca[hidden],
.cdw-busca-painel[hidden],
.cdw-busca-painel [hidden] {
	display: none;
}

/* O menu e os ícones continuam ocupando o lugar (o cabeçalho não muda de altura), só saem de cena. */
.cdw-cabecalho.is-buscando .cdw-nav--desktop,
.cdw-cabecalho.is-buscando .cdw-cabecalho__acoes {
	visibility: hidden;
}

.cdw-busca__campo {
	display: flex;
	flex: 1;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8);
	min-width: 0;
	height: 48px;
	padding: 0 var(--wp--preset--spacing--space-16);
	border: 2px solid var(--wp--preset--color--focus);
	border-radius: var(--wp--custom--radius--control);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	cursor: text;
}

.cdw-busca__campo .cdw-icone {
	flex: none;
	width: 25px;
	font-size: 20px;
}

.cdw-busca__campo input {
	flex: 1;
	min-width: 0;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	outline: 0;
	background: transparent;
	box-shadow: none;
	color: inherit;
	font: inherit;
	font-size: var(--wp--preset--font-size--body);
	line-height: var(--wp--custom--line-height--body);
	-webkit-appearance: none;
	appearance: none;
}

.cdw-busca__campo input::placeholder {
	color: var(--wp--preset--color--ink-muted);
	opacity: 1;
}

.cdw-busca__fechar {
	display: flex;
	flex: none;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8);
	min-height: 48px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: var(--wp--custom--line-height--body);
	cursor: pointer;
	transition: color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-busca__fechar:hover {
	color: var(--wp--preset--color--brand-text);
}

.cdw-busca__fechar .cdw-icone {
	width: 25px;
	font-size: 20px;
}

.cdw-busca__fechar-mobile {
	display: none;
}

/* ---------- Painel de sugestões ---------- */

.cdw-busca-painel {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	max-height: calc(100vh - 140px);
	max-height: calc(100dvh - 140px);
	overflow-y: auto;
	overscroll-behavior: contain;
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--card);
}

.cdw-busca-painel__corpo {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--space-32);
	width: 100%;
	max-width: var(--wp--custom--layout--container-max);
	margin-inline: auto;
	padding: var(--wp--preset--spacing--space-32);
}

.cdw-busca-painel__termos {
	display: flex;
	flex: 0 0 360px;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-24);
	min-width: 0;
}

/* Sem populares e sem recentes, a coluna some e os produtos ocupam a largura toda. */
.cdw-busca-painel__termos:not(:has(.cdw-busca-painel__bloco:not([hidden]))) {
	display: none;
}

.cdw-busca-painel__bloco {
	min-width: 0;
}

.cdw-busca-painel__bloco--produtos {
	flex: 1;
}

.cdw-busca-painel__cabeca {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-16);
}

.cdw-busca-painel .cdw-busca-painel__titulo {
	margin: 0 0 var(--wp--preset--spacing--space-16);
	color: var(--wp--preset--color--ink-muted);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--overline);
	font-weight: var(--wp--custom--weight--regular);
	line-height: var(--wp--custom--line-height--body);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cdw-busca-painel__limpar {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink-muted);
	font: inherit;
	font-size: var(--wp--preset--font-size--overline);
	line-height: var(--wp--custom--line-height--body);
	text-decoration: underline;
	cursor: pointer;
}

.cdw-busca-painel__limpar:hover {
	color: var(--wp--preset--color--ink);
}

.cdw-busca-painel__chips,
.cdw-busca-painel__recentes,
.cdw-busca-painel__produtos {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cdw-busca-painel__chips {
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--space-8);
}

.cdw-busca__termo {
	display: block;
	padding: 8px var(--wp--preset--spacing--space-16);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--full);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--body);
	line-height: var(--wp--custom--line-height--body);
	text-decoration: none;
	transition:
		border-color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao),
		background-color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-busca__termo:hover {
	border-color: var(--wp--preset--color--line-strong);
	background: var(--wp--preset--color--surface-hover);
}

.cdw-busca-painel__recentes {
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-16);
}

.cdw-busca__recente {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8);
	max-width: 100%;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--body);
	line-height: var(--wp--custom--line-height--body);
	text-decoration: none;
}

.cdw-busca__recente .cdw-icone {
	flex: none;
	width: 25px;
	font-size: 20px;
}

.cdw-busca__recente span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cdw-busca__recente:hover {
	color: var(--wp--preset--color--brand-text);
}

.cdw-busca-painel__produtos {
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-8);
	transition: opacity var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-busca-painel.is-carregando .cdw-busca-painel__produtos {
	opacity: 0.5;
}

.cdw-busca__produto {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-16);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.cdw-busca__produto-foto {
	flex: none;
	width: 64px;
	height: 64px;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface-alt);
}

.cdw-busca__produto-foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cdw-busca__produto-dados {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-4);
	min-width: 0;
}

.cdw-busca__produto-nome {
	overflow: hidden;
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: var(--wp--custom--line-height--body);
	text-overflow: ellipsis;
	white-space: nowrap;
	transition: color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-busca__produto:hover .cdw-busca__produto-nome {
	color: var(--wp--preset--color--brand-text);
}

.cdw-busca__produto-preco {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--body);
	line-height: var(--wp--custom--line-height--body);
}

.cdw-busca__produto-preco del {
	margin-right: var(--wp--preset--spacing--space-8);
	font-size: var(--wp--preset--font-size--caption);
}

.cdw-busca__produto-preco ins {
	text-decoration: none;
}

.cdw-busca-painel__vazio {
	margin: 0;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--body);
	line-height: var(--wp--custom--line-height--body);
}

.cdw-busca-painel__rodape {
	background: var(--wp--preset--color--surface-alt);
}

.cdw-busca-painel__todos {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--wp--preset--spacing--space-8);
	width: 100%;
	max-width: var(--wp--custom--layout--container-max);
	margin-inline: auto;
	min-height: 57px;
	padding: var(--wp--preset--spacing--space-16) var(--wp--preset--spacing--space-32);
	color: var(--wp--preset--color--brand-text);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: var(--wp--custom--line-height--body);
	text-align: right;
	text-decoration: none;
}

.cdw-busca-painel__todos:hover span {
	text-decoration: underline;
}

.cdw-busca-painel__todos .cdw-icone {
	flex: none;
	width: 25px;
	color: var(--wp--preset--color--ink);
	font-size: 20px;
}

.cdw-busca__termo:focus-visible,
.cdw-busca__recente:focus-visible,
.cdw-busca__produto:focus-visible,
.cdw-busca__fechar:focus-visible,
.cdw-busca-painel__limpar:focus-visible,
.cdw-busca-painel__todos:focus-visible {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: 2px;
}

/* ---------- Cabeçalho compacto: o campo ocupa a linha inteira ---------- */

.cdw-cabecalho.is-compacto .cdw-busca {
	right: var(--wp--preset--spacing--space-16);
	left: var(--wp--preset--spacing--space-16);
	gap: var(--wp--preset--spacing--space-16);
}

.cdw-cabecalho.is-compacto.is-buscando .cdw-cabecalho__logo-e-menu {
	visibility: hidden;
}

/* ---------- Celular ---------- */

@media (max-width: 781px) {
	.cdw-busca__fechar {
		color: var(--wp--preset--color--brand-text);
	}

	.cdw-busca__fechar .cdw-icone,
	.cdw-busca__fechar-desktop {
		display: none;
	}

	.cdw-busca__fechar-mobile {
		display: inline;
	}

	.cdw-busca-painel {
		max-height: calc(100vh - 80px);
		max-height: calc(100dvh - 80px);
	}

	.cdw-busca-painel__corpo {
		flex-direction: column;
		align-items: stretch;
		gap: var(--wp--preset--spacing--space-24);
		padding: var(--wp--preset--spacing--space-24);
	}

	.cdw-busca-painel__termos {
		flex: none;
	}

	.cdw-busca-painel__bloco--recentes {
		display: none;
	}

	/* No celular a coluna só existe se houver populares (recentes não aparecem aqui). */
	.cdw-busca-painel__termos:not(:has(.cdw-busca-painel__chips)) {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cdw-busca *,
	.cdw-busca-painel * {
		transition-duration: 0s !important;
	}
}

/* favoritos.css */
/**
 * Favoritos — coração do card de produto (Figma Card/Produto 217:2222 › imagem › topo › favorito).
 *
 * Medidas do Dev Mode:
 *   favorito  área de toque 44×44, a 4 px do canto superior direito da foto
 *   círculo   36×36 · surface · pílula
 *   ícone     coração 16 (contorno) ink · marcado: coração cheio na cor da marca
 *   desktop   aparece com o mouse sobre o card (ou quando já está marcado); no toque, sempre visível
 *
 * Só tokens: as cores mudam pelo painel Sua Loja.
 */

.cdw-favorito {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	font-size: 16px;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.cdw-favorito__circulo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--surface);
	transition:
		transform var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao),
		background-color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-favorito:hover .cdw-favorito__circulo {
	background: var(--wp--preset--color--surface-hover);
}

.cdw-favorito:active .cdw-favorito__circulo {
	transform: scale(0.92);
}

.cdw-favorito:focus-visible {
	outline: 0;
}

.cdw-favorito:focus-visible .cdw-favorito__circulo {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: 2px;
}

.cdw-favorito__cheio,
.cdw-favorito[aria-pressed="true"] .cdw-favorito__vazio {
	display: none;
}

.cdw-favorito[aria-pressed="true"] .cdw-favorito__cheio {
	display: block;
	color: var(--wp--preset--color--brand);
}

.cdw-favorito.is-pulsando .cdw-favorito__circulo {
	animation: cdw-favorito-pulso var(--wp--custom--motion--duracao-lenta) var(--wp--custom--motion--ease-elastica);
}

@keyframes cdw-favorito-pulso {
	0% {
		transform: scale(1);
	}

	40% {
		transform: scale(1.18);
	}

	100% {
		transform: scale(1);
	}
}

/* No card: canto superior direito da foto. */
.cdw-produto__favorito {
	position: absolute;
	top: var(--wp--preset--spacing--space-4);
	right: var(--wp--preset--spacing--space-4);
	z-index: 1;
}

/* Com mouse (desktop), o coração só aparece ao passar no card, ao focar ou se já estiver marcado. */
@media (hover: hover) and (min-width: 782px) {
	.cdw-produto__favorito {
		opacity: 0;
		transition: opacity var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
	}

	.cdw-produto:hover .cdw-produto__favorito,
	.cdw-produto:focus-within .cdw-produto__favorito,
	.cdw-produto__favorito[aria-pressed="true"] {
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cdw-favorito,
	.cdw-favorito__circulo {
		transition-duration: 0s !important;
		animation: none !important;
	}
}

/* conta.css */
/**
 * Minha conta — Figma 312:25805 (Painel), 312:26605 (Meus pedidos), 312:27368 (Detalhe do pedido),
 * 312:28216 (Endereços), 312:28908 (Dados da conta) e as versões Mobile.
 *
 * Desktop (1200): conteúdo padding 48/24/80/24, gap 32 · título 32/1.1 (600) + saudação 16
 *   grade 3+9: menu 270 | gap 24 | principal 858 (gap 24 entre blocos)
 *   menu: itens de 44, raio 8, ícone 16 · item atual com fundo brand 10 %
 *   Conta/Pedido: borda line, raio 8, padding 20, gap 16 · Pedido/Andamento: 4 etapas, marcador 24, trilho 3
 * Mobile (< 782px): padding 24/16/40/16, gap 20 · menu em pílulas com rolagem lateral · uma coluna.
 *
 * As classes woocommerce-* e form-row nos modelos são as do WooCommerce; aqui só entram as cdw-*
 * e a aparência dos campos (Formulário/Campo de texto), igual à da finalização da compra.
 */

.cdw-conta {
	width: 100%;
	max-width: var(--wp--custom--layout--container-max);
	margin-inline: auto;
	padding: var(--wp--preset--spacing--space-48) var(--wp--preset--spacing--space-24) 80px;
	color: var(--wp--preset--color--ink);
}

.cdw-conta > .woocommerce {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-32);
}

.cdw-conta :is(p, h1, h2, h3, ul, ol, dl, dd, address, fieldset) {
	margin: 0;
}

.cdw-conta :is(ul, ol) {
	padding: 0;
	list-style: none;
}

.cdw-conta address {
	font-style: normal;
}

.cdw-conta fieldset {
	min-width: 0;
	padding: 0;
	border: 0;
}

/* ---------- Título e grade ---------- */

.cdw-conta__topo {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 12px;
}

.cdw-conta__titulo {
	font-family: var(--wp--preset--font-family--display);
	font-size: 2rem;
	font-weight: var(--wp--custom--weight--heavy);
	line-height: 1.1;
	letter-spacing: -0.01em;
}

.cdw-conta__saudacao {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
}

.cdw-conta__grade {
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr);
	gap: var(--wp--preset--spacing--space-24);
	align-items: start;
}

.cdw-conta__principal,
.cdw-conta__secao,
.cdw-pedido {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-24);
	min-width: 0;
}

.cdw-conta__h2 {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.25rem;
	font-weight: var(--wp--custom--weight--heavy);
	line-height: 1.3;
}

/* Avisos do WooCommerce ("Dados alterados com sucesso", erros). */
.cdw-conta .woocommerce-notices-wrapper:empty {
	display: none;
}

.cdw-conta .woocommerce-notices-wrapper {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-8);
}

.cdw-conta :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-4);
	padding: 12px var(--wp--preset--spacing--space-16);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--success-subtle);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
}

.cdw-conta .woocommerce-info {
	background: var(--wp--preset--color--surface-alt);
}

.cdw-conta .woocommerce-error {
	background: var(--wp--preset--color--error-subtle);
}

.cdw-conta :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a {
	color: inherit;
	font-weight: var(--wp--custom--weight--bold);
}

/* ---------- Menu ---------- */

.cdw-conta-menu__lista {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-4);
}

.cdw-conta-menu__link {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 14px;
	border-radius: var(--wp--custom--radius--card);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
	text-decoration: none;
	transition: background-color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-conta-menu__link .cdw-icone {
	margin-inline: 2px;
	color: var(--wp--preset--color--ink-muted);
	font-size: 16px;
}

.cdw-conta-menu__link:hover {
	background: var(--wp--preset--color--surface-hover);
}

.cdw-conta-menu__link[aria-current="page"] {
	background: var(--wp--preset--color--brand-subtle);
	color: var(--wp--preset--color--brand-text);
}

.cdw-conta-menu__link[aria-current="page"] .cdw-icone {
	color: inherit;
}

/* "Sair": depois de um divisor, apagado. */
.cdw-conta-menu__item.woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: var(--wp--preset--spacing--space-4);
	padding-top: var(--wp--preset--spacing--space-4);
	border-top: 1px solid var(--wp--preset--color--line);
}

.woocommerce-MyAccount-navigation-link--customer-logout .cdw-conta-menu__link {
	display: inline-flex;
	color: var(--wp--preset--color--ink-muted);
}

/* ---------- Pedido/Status ---------- */

.cdw-pedido-status {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
	white-space: nowrap;
}

.cdw-pedido-status .cdw-icone {
	margin-inline: 2px;
	font-size: 16px;
}

.cdw-pedido-status--brand {
	background: var(--wp--preset--color--brand-subtle);
	color: var(--wp--preset--color--brand-text);
}

.cdw-pedido-status--success {
	background: var(--wp--preset--color--success-subtle);
	color: var(--wp--preset--color--success);
}

.cdw-pedido-status--error {
	background: var(--wp--preset--color--error-subtle);
	color: var(--wp--preset--color--error);
}

/* ---------- Conta/Pedido ---------- */

.cdw-conta-pedidos {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-24);
}

.cdw-pedido-card {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-16);
	padding: 20px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface);
}

.cdw-pedido-card__topo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.cdw-pedido-card__id {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.cdw-pedido-card__numero {
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
}

.cdw-pedido-card__data {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

.cdw-pedido-card__rodape {
	display: flex;
	align-items: center;
	gap: 12px;
}

.cdw-pedido-card__fotos {
	display: flex;
	flex: none;
	gap: var(--wp--preset--spacing--space-8);
}

.cdw-pedido-card__fotos img,
.cdw-pedido-card__mais {
	display: block;
	width: 48px;
	height: 48px;
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface-alt);
	object-fit: cover;
}

.cdw-pedido-card__mais {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
}

.cdw-pedido-card__total {
	flex: 1;
	min-width: 0;
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
	text-align: right;
	white-space: nowrap;
}

.cdw-pedido-card__ver {
	display: flex;
	flex: none;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	color: var(--wp--preset--color--brand-text);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
	text-decoration: none;
}

.cdw-pedido-card__ver:hover {
	text-decoration: underline;
}

.cdw-pedido-card__ver .cdw-icone {
	margin-inline: 2px;
	font-size: 16px;
}

/* ---------- Pedido/Andamento ---------- */

.cdw-andamento {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cdw-andamento__etapa {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8);
	position: relative;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
	text-align: center;
}

/* Trilho de 3: metade esquerda (::before) e metade direita (::after) de cada etapa. */
.cdw-andamento__etapa::before,
.cdw-andamento__etapa::after {
	content: "";
	position: absolute;
	top: 10.5px;
	width: calc(50% - 12px);
	height: 3px;
	background: var(--wp--preset--color--line);
}

.cdw-andamento__etapa::before {
	left: 0;
}

.cdw-andamento__etapa::after {
	right: 0;
}

.cdw-andamento__etapa.is-feita::before,
.cdw-andamento__etapa.is-ligada::after {
	background: var(--wp--preset--color--success);
}

.cdw-andamento__marcador {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border: 2px solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--surface);
	font-size: 14px;
}

.cdw-andamento__marcador .cdw-icone {
	display: none;
}

.cdw-andamento__etapa.is-feita {
	color: var(--wp--preset--color--ink);
}

.cdw-andamento__etapa.is-feita .cdw-andamento__marcador {
	border-color: var(--wp--preset--color--success);
	background: var(--wp--preset--color--success);
}

.cdw-andamento__etapa.is-feita .cdw-andamento__marcador .cdw-icone {
	display: block;
}

.cdw-andamento__etapa.is-atual .cdw-andamento__nome {
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
}

/* ---------- Atalhos ---------- */

.cdw-conta-atalhos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--space-16);
}

.cdw-conta-atalho {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 20px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	transition: border-color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-conta-atalho:hover {
	border-color: var(--wp--preset--color--line-strong);
}

.cdw-conta-atalho .cdw-icone {
	margin-inline: 2px;
	font-size: 16px;
}

.cdw-conta-atalho__icone {
	color: var(--wp--preset--color--brand);
}

.cdw-conta-atalho__seta {
	color: var(--wp--preset--color--ink-muted);
}

.cdw-conta-atalho__textos {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.cdw-conta-atalho__titulo {
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
}

.cdw-conta-atalho__texto {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

/* Sem pedidos. */
.cdw-conta-vazio {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--space-16);
	padding: var(--wp--preset--spacing--space-24);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
}

.cdw-conta-paginas {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
}

/* ---------- Detalhe do pedido ---------- */

.cdw-pedido__voltar {
	display: flex;
	align-items: center;
	align-self: flex-start;
	gap: 6px;
	min-height: 44px;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
	text-decoration: none;
}

.cdw-pedido__voltar:hover {
	text-decoration: underline;
}

.cdw-pedido__voltar .cdw-icone {
	margin-inline: 2px;
	font-size: 16px;
}

.cdw-pedido__cabecalho {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-8);
}

.cdw-pedido__id {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.cdw-pedido__numero {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
	font-weight: var(--wp--custom--weight--heavy);
	line-height: 1.2;
}

.cdw-pedido__data,
.cdw-pedido__rastreio-rotulo,
.cdw-pedido__nota-data {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

.cdw-pedido__rastreio {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 20px;
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface-alt);
}

.cdw-pedido__rastreio-textos {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.cdw-pedido__rastreio-codigo {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.25rem;
	font-weight: var(--wp--custom--weight--heavy);
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.cdw-pedido__avisos,
.cdw-pedido__notas {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-16);
}

.cdw-pedido__nota-texto {
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
}

/* Pedido/Item */
.cdw-pedido-item {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-16);
	padding: 12px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.cdw-pedido-item__foto {
	flex: none;
}

.cdw-pedido-item__foto img {
	display: block;
	width: 64px;
	height: 64px;
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface-alt);
	object-fit: cover;
}

.cdw-pedido-item__textos {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.cdw-pedido-item__nome {
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
}

.cdw-pedido-item__nome a {
	color: inherit;
	text-decoration: none;
}

.cdw-pedido-item__nome a:hover {
	text-decoration: underline;
}

.cdw-pedido-item__detalhes {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

.cdw-pedido-item__preco {
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
	white-space: nowrap;
}

/* Entrega e pagamento (393) | Valores (441) */
.cdw-pedido__dados {
	display: grid;
	grid-template-columns: minmax(0, 393fr) minmax(0, 441fr);
	gap: var(--wp--preset--spacing--space-24);
	align-items: start;
}

.cdw-pedido__blocos {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.cdw-pedido__bloco {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-4);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
}

.cdw-pedido__bloco-titulo {
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
}

.cdw-pedido__valores {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-16);
	padding: var(--wp--preset--spacing--space-24);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface-alt);
}

.cdw-pedido__valores-titulo {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.25rem;
	font-weight: var(--wp--custom--weight--heavy);
	line-height: 1.3;
}

.cdw-pedido__linhas {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-8);
}

.cdw-pedido__linha {
	display: flex;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-8);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
}

.cdw-pedido__linha dt {
	color: var(--wp--preset--color--ink-muted);
}

.cdw-pedido__linha dd {
	text-align: right;
	white-space: nowrap;
}

.cdw-pedido__linha--desconto :is(dt, dd) {
	color: var(--wp--preset--color--success);
}

.cdw-pedido__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-8);
	padding-top: var(--wp--preset--spacing--space-16);
	border-top: 1px solid var(--wp--preset--color--line);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.25rem;
	font-weight: var(--wp--custom--weight--heavy);
	line-height: 1.3;
}

.cdw-pedido__total strong {
	font-size: 1.5rem;
	font-weight: inherit;
	line-height: 1.2;
}

.cdw-pedido__acoes {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.cdw-pedido__troca {
	align-self: flex-start;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* ---------- Endereços (Conta/Endereço) ---------- */

.cdw-conta-enderecos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--space-24);
	align-items: start;
}

.cdw-endereco {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-8);
	padding: 20px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface);
}

.cdw-endereco.is-principal {
	padding: 19px;
	border: 2px solid var(--wp--preset--color--brand);
}

.cdw-endereco__topo {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8);
}

.cdw-endereco__apelido {
	flex: 1;
	min-width: 0;
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
}

.cdw-endereco__selo {
	flex: none;
	padding: 2px 8px;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--brand-subtle);
	color: var(--wp--preset--color--brand-text);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

.cdw-endereco__linhas {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-8);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
}

.cdw-endereco__acoes {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.cdw-endereco__acoes a {
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.cdw-endereco--novo {
	align-items: center;
	justify-content: center;
	min-height: 160px;
	border: 1px dashed var(--wp--preset--color--line-strong);
	color: var(--wp--preset--color--brand-text);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
	text-decoration: none;
}

.cdw-endereco--novo .cdw-icone {
	font-size: 16px;
}

/* ---------- Formulários (Dados da conta, Editar endereço, Entrar) ---------- */

.cdw-conta-form {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-32);
	max-width: 480px;
}

.cdw-conta-form__grupo {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-16);
}

.cdw-conta-form .cdw-botao {
	width: 100%;
}

.cdw-conta .form-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.cdw-conta .form-row > label {
	display: block;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
}

.cdw-conta .form-row .required {
	display: none;
}

.cdw-conta .form-row .optional {
	font-weight: inherit;
}

.cdw-conta .woocommerce-input-wrapper,
.cdw-conta .password-input {
	display: block;
	position: relative;
}

.cdw-conta .form-row :is(.input-text, select) {
	width: 100%;
	height: 58px;
	padding: 0 var(--wp--preset--spacing--space-16);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--control);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
	appearance: none;
}

.cdw-conta .form-row .input-text::placeholder {
	color: var(--wp--preset--color--ink-muted);
	opacity: 1;
}

.cdw-conta .form-row :is(.input-text, select):focus {
	padding-inline: calc(var(--wp--preset--spacing--space-16) - 1px);
	border: 2px solid var(--wp--preset--color--focus);
	outline: none;
}

.cdw-conta .form-row.woocommerce-invalid :is(.input-text, select) {
	padding-inline: calc(var(--wp--preset--spacing--space-16) - 1px);
	border: 2px solid var(--wp--preset--color--error);
}

/* Linhas só com campo escondido (tipo de pessoa, país único) não ocupam espaço. */
.cdw-conta .form-row:not(:has(input:not([type="hidden"]), select, textarea, button)) {
	display: none;
}

.cdw-conta-form__ajuda,
.cdw-conta .form-row .description {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

.cdw-conta .show-password-input {
	display: none;
}

/* Caixa de estado do WooCommerce (selectWoo). */
.cdw-conta .select2-container {
	width: 100% !important;
}

.cdw-conta .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	height: 58px;
	padding: 0 var(--wp--preset--spacing--space-16);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--control);
}

.cdw-conta .select2-container .select2-selection--single .select2-selection__rendered {
	flex: 1;
	padding: 0;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
}

.cdw-conta .select2-container .select2-selection--single .select2-selection__arrow {
	top: 50%;
	right: var(--wp--preset--spacing--space-16);
	height: 26px;
	transform: translateY(-50%);
}

/* Editar endereço: Número | Complemento e Cidade | Estado lado a lado. */
.cdw-conta-form__campos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--space-16) 12px;
}

.cdw-conta-form__campos > * {
	grid-column: 1 / -1;
}

.cdw-conta-form__campos > :is(#billing_first_name_field, #billing_last_name_field, #billing_number_field, #billing_address_2_field, #billing_city_field, #billing_state_field) {
	grid-column: auto;
}

/* Senha: "Alterar senha" abre os três campos. */
.cdw-conta-form__senha summary {
	list-style: none;
}

.cdw-conta-form__senha summary::-webkit-details-marker {
	display: none;
}

.cdw-conta-form__senha[open] summary {
	margin-bottom: var(--wp--preset--spacing--space-16);
}

/* Formulário/Checkbox */
.cdw-conta-form__caixas {
	display: flex;
	flex-direction: column;
}

.cdw-conta-caixa,
.cdw-conta .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--space-16);
	padding: var(--wp--preset--spacing--space-8) 0;
	font-size: var(--wp--preset--font-size--body);
	font-weight: var(--wp--custom--weight--regular);
	line-height: 1.5;
	cursor: pointer;
}

:is(.cdw-conta-caixa, .cdw-conta .woocommerce-form__label-for-checkbox) input[type="checkbox"] {
	flex: none;
	width: 24px;
	height: 24px;
	margin: 0;
	border: 1.5px solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--surface) center / 12px no-repeat;
	cursor: pointer;
	appearance: none;
}

:is(.cdw-conta-caixa, .cdw-conta .woocommerce-form__label-for-checkbox) input[type="checkbox"]:checked {
	border-color: var(--wp--preset--color--brand);
	background-color: var(--wp--preset--color--brand);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23fff' d='M434.8 70.1c14.3 10.4 17.5 30.4 7.1 44.7l-256 352c-5.5 7.6-14 12.3-23.4 13.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l101.5 101.5 234-321.7c10.4-14.3 30.4-17.5 44.7-7.1z'/%3E%3C/svg%3E");
}

/* Privacidade */
.cdw-conta-privacidade,
.cdw-conta-privacidade form {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--space-8);
}

.cdw-conta-privacidade {
	margin-top: var(--wp--preset--spacing--space-8);
}

.cdw-conta-privacidade__link {
	padding: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--ink);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}

.cdw-conta-privacidade__link--excluir {
	color: var(--wp--preset--color--error);
}

/* ---------- Entrar / criar conta / recuperar senha (formulários do WooCommerce) ---------- */

.cdw-conta--acesso {
	max-width: 528px;
}

.cdw-conta--acesso :is(.u-columns, .u-column1, .u-column2),
.cdw-conta--acesso form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.cdw-conta--acesso .u-columns {
	gap: var(--wp--preset--spacing--space-48);
}

.cdw-conta--acesso h2 {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
	font-weight: var(--wp--custom--weight--heavy);
	line-height: 1.2;
}

.cdw-conta--acesso form > p:not(.form-row) {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
}

.cdw-conta--acesso .clear {
	display: none;
}

/* Recuperar e redefinir senha (formulários do WooCommerce). */
.cdw-conta--acesso .lost_reset_password :is(.woocommerce-button, .woocommerce-Button, button[type="submit"]) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding: var(--wp--preset--spacing--space-8) var(--wp--preset--spacing--space-24);
	border: 0;
	border-radius: var(--wp--custom--radius--control);
	background: var(--wp--preset--color--brand);
	color: var(--wp--preset--color--brand-contrast);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	cursor: pointer;
}

.cdw-conta--acesso .woocommerce-form-login__rememberme {
	align-items: center;
	padding: 0;
}

.cdw-conta--acesso a {
	color: var(--wp--preset--color--ink);
}

/* ---------- Telas intermediárias ---------- */

@media (min-width: 782px) and (max-width: 1023px) {
	.cdw-conta__grade {
		grid-template-columns: 220px minmax(0, 1fr);
	}

	.cdw-conta-atalhos,
	.cdw-pedido__dados {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------- Celular ---------- */

@media (max-width: 781px) {
	.cdw-conta {
		padding: var(--wp--preset--spacing--space-24) var(--wp--preset--spacing--space-16) 40px;
	}

	.cdw-conta > .woocommerce,
	.cdw-conta__principal,
	.cdw-conta__secao,
	.cdw-pedido {
		gap: 20px;
	}

	.cdw-conta__grade {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	/* Menu em pílulas com rolagem lateral; o item atual é escuro. */
	.cdw-conta-menu {
		margin-inline: calc(-1 * var(--wp--preset--spacing--space-16));
		padding-inline: var(--wp--preset--spacing--space-16);
		overflow-x: auto;
		scrollbar-width: none;
	}

	.cdw-conta-menu::-webkit-scrollbar {
		display: none;
	}

	.cdw-conta-menu__lista {
		flex-direction: row;
		gap: var(--wp--preset--spacing--space-8);
		width: max-content;
	}

	.cdw-conta-menu__link,
	.woocommerce-MyAccount-navigation-link--customer-logout .cdw-conta-menu__link {
		display: flex;
		padding: 0 var(--wp--preset--spacing--space-16);
		border: 1px solid var(--wp--preset--color--line-strong);
		border-radius: var(--wp--custom--radius--full);
		white-space: nowrap;
	}

	.cdw-conta-menu__link .cdw-icone {
		display: none;
	}

	.cdw-conta-menu__link[aria-current="page"] {
		border-color: var(--wp--preset--color--ink);
		background: var(--wp--preset--color--ink);
		color: var(--wp--preset--color--surface);
	}

	.cdw-conta-menu__item.woocommerce-MyAccount-navigation-link--customer-logout {
		margin-top: 0;
		padding-top: 0;
		border-top: 0;
	}

	.cdw-conta-atalhos,
	.cdw-conta-enderecos,
	.cdw-pedido__dados {
		grid-template-columns: minmax(0, 1fr);
	}

	.cdw-conta-enderecos {
		gap: var(--wp--preset--spacing--space-16);
	}

	.cdw-pedido__cabecalho {
		flex-direction: column;
		align-items: flex-start;
	}

	.cdw-pedido__rastreio {
		flex-direction: column;
		align-items: stretch;
	}

	.cdw-pedido__acoes {
		flex-direction: column;
	}

	/* Fotos + preço + "Ver detalhes" não cabem numa linha: o preço não encolhe e o link desce. */
	.cdw-pedido-card__rodape {
		flex-wrap: wrap;
	}

	.cdw-pedido-card__total {
		flex-shrink: 0;
		min-width: auto;
		margin-left: auto;
	}

	.cdw-conta-form {
		max-width: none;
	}
}

/* ---------- Detalhe do pedido · Pagamento ainda não confirmado ---------- */
/* A data de pagamento só aparece com o pedido pago; antes disso, o que falta. */

.cdw-pedido__aguarda {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8, 8px);
	color: var(--wp--preset--color--ink-muted);
}

.cdw-pedido__aguarda .cdw-icone {
	font-size: 14px;
	color: var(--wp--preset--color--ink-muted);
}

.cdw-pedido__pix-link {
	display: inline-block;
	margin-top: var(--wp--preset--spacing--space-4, 4px);
	color: var(--wp--preset--color--brand-text);
	font-weight: var(--wp--custom--weight--bold);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cdw-pedido__pix-link:hover,
.cdw-pedido__pix-link:focus-visible {
	color: var(--wp--preset--color--brand-hover);
}

/* cabecalho-simples.css */
/**
 * Cabeçalho e rodapé enxutos — Figma Checkout/Cabeçalho, Global/Cabeçalho simplificado e
 * Checkout/Rodapé. Usados na finalização da compra e nas telas de acesso à conta
 * (header-checkout.php e footer-checkout.php).
 *
 * Cabeçalho: 64 de altura, logo a 70 % (147×49) e, à direita, "Voltar para a loja" (só no acesso)
 * e o selo de segurança. Celular: logo a 60 % (126×42).
 */

.cdw-ck-cab {
	border-bottom: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--surface);
}

.cdw-ck-cab__conteiner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-24);
	max-width: var(--wp--custom--layout--container-max);
	min-height: 63px;
	margin-inline: auto;
	padding: 7px var(--wp--preset--spacing--space-24);
}

/* Fundamentos/Logo do cliente a 70 %: 147×49. */
.cdw-ck-cab__logo {
	display: flex;
	flex: none;
	width: 147px;
	height: 49px;
}

.cdw-ck-cab__logo .cdw-logo {
	padding-bottom: 2px;
}

.cdw-ck-cab__logo .cdw-logo__img {
	max-width: 147px;
	max-height: 32px;
}

.cdw-ck-cab__logo .cdw-logo__img--padrao {
	width: 139px;
	height: 20px;
}

.cdw-ck-cab__seguro {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8);
	margin: 0;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
	white-space: nowrap;
}

.cdw-ck-cab__seguro .cdw-icone {
	margin-inline: 2px;
	color: var(--wp--preset--color--success);
	font-size: 16px;
}

.cdw-ck-rod {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8);
	padding: var(--wp--preset--spacing--space-24) var(--wp--preset--spacing--space-16);
	border-top: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
	text-align: center;
}

.cdw-ck-rod__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--wp--preset--spacing--space-4) var(--wp--preset--spacing--space-16);
	margin: 0;
	padding: 0;
	list-style: none;
}

.cdw-ck-rod a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.cdw-ck-rod .cdw-ck-rod__fone {
	text-decoration: none;
}

.cdw-ck-rod__empresa {
	margin: 0;
}

/* "Voltar para a loja" (telas de acesso). */
.cdw-ck-cab__lado {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-24);
}

.cdw-ck-cab__voltar {
	display: flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
	text-decoration: none;
	white-space: nowrap;
}

.cdw-ck-cab__voltar:hover {
	text-decoration: underline;
}

.cdw-ck-cab__voltar .cdw-icone {
	margin-inline: 2px;
	font-size: 16px;
}

@media (max-width: 781px) {
	.cdw-ck-cab__conteiner {
		padding: 8px var(--wp--preset--spacing--space-16);
	}

	.cdw-ck-cab__logo {
		width: 126px;
		height: 42px;
	}

	.cdw-ck-cab__logo .cdw-logo__img {
		max-width: 126px;
		max-height: 28px;
	}

	.cdw-ck-cab__logo .cdw-logo__img--padrao {
		width: 119px;
		height: 17px;
	}

	.cdw-ck-cab__lado {
		gap: 12px;
	}

	/* No celular o selo de segurança dá lugar ao "Voltar para a loja". */
	.cdw-ck-cab__lado .cdw-ck-cab__voltar + .cdw-ck-cab__seguro {
		display: none;
	}
}

/* acesso.css */
/**
 * Acesso à conta — Figma Conta/Acesso: 291:20597 (Identificação), 291:21232 (Senha),
 * 291:21873 (Código), 291:23738 (Criar conta).
 *
 * Conteúdo com padding 96/24/120/24 e coluna central de 400 (gap 20): título 32/1.1 (600),
 * texto 16 muted, campos de 58 em pílula, botão de 50 na largura toda, código em seis casas 48×56.
 * Celular: padding 40/16/48/16, coluna na largura toda.
 * A aparência dos campos (.form-row) vem de conta.css.
 */

.cdw-conta--acesso {
	max-width: calc(400px + 2 * var(--wp--preset--spacing--space-24));
	padding-block: var(--wp--preset--spacing--space-96) 120px;
}

.cdw-acesso {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.cdw-acesso__cabecalho {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-8);
	text-align: center;
}

.cdw-acesso__titulo {
	font-family: var(--wp--preset--font-family--display);
	font-size: 2rem;
	font-weight: var(--wp--custom--weight--heavy);
	line-height: 1.1;
	letter-spacing: -0.01em;
}

.cdw-acesso__texto {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
}

.cdw-conta--acesso .cdw-acesso__form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.cdw-acesso__form .cdw-botao {
	width: 100%;
}

/* Campo com ícone ou botão à direita (cadeado no e-mail travado, olho na senha). */
.cdw-acesso__campo {
	display: block;
	position: relative;
}

.cdw-acesso__campo .input-text {
	padding-right: 52px !important;
}

.cdw-acesso__no-campo,
.cdw-acesso__olho {
	position: absolute;
	top: 50%;
	right: var(--wp--preset--spacing--space-16);
	color: var(--wp--preset--color--ink-muted);
	font-size: 16px;
	transform: translateY(-50%);
}

.cdw-acesso__travado .input-text {
	background: var(--wp--preset--color--surface-alt) !important;
	color: var(--wp--preset--color--ink-muted) !important;
}

.cdw-acesso__olho {
	display: flex;
	align-items: center;
	justify-content: center;
	right: 6px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: var(--wp--custom--radius--full);
	background: none;
	cursor: pointer;
}

.cdw-acesso__olho[hidden] {
	display: none;
}

.cdw-acesso__olho .cdw-icone--eye-slash,
.cdw-acesso__olho[aria-pressed="true"] .cdw-icone--eye {
	display: none;
}

.cdw-acesso__olho[aria-pressed="true"] .cdw-icone--eye-slash {
	display: block;
}

.cdw-acesso__erro {
	color: var(--wp--preset--color--error);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

.cdw-acesso__ajuda {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

/* Links de texto: "Esqueci minha senha", "Usar outro e-mail", "Reenviar código", "Voltar". */
.cdw-acesso__link {
	padding: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--ink);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}

/* "Reenviar código em 0:45": enquanto conta, é só um texto apagado. */
.cdw-acesso__link:disabled {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: var(--wp--custom--weight--regular);
	text-decoration: none;
	cursor: default;
}

/* "Esqueci minha senha" fica à direita, embaixo do campo. */
.cdw-acesso__link--senha {
	align-self: flex-end;
}

.cdw-conta--acesso .cdw-acesso__volta {
	display: flex;
	justify-content: center;
	gap: 0;
}

.cdw-acesso__rodape {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
	text-align: center;
}

.cdw-acesso__consentimentos {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* Texto de privacidade do cadastro (WooCommerce › Configurações › Contas e privacidade). */
.cdw-acesso .woocommerce-privacy-policy-text {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

.cdw-acesso .woocommerce-privacy-policy-text a {
	color: inherit;
}

/* Formulário/Código: seis casas. Sem JavaScript é um campo só, com os números espaçados. */
.cdw-codigo .cdw-codigo__campo {
	font-size: 1.5rem;
	font-weight: var(--wp--custom--weight--heavy);
	letter-spacing: 0.5em;
	text-align: center;
}

.cdw-codigo__casas {
	display: flex;
	justify-content: center;
	gap: var(--wp--preset--spacing--space-8);
}

.cdw-codigo__casa {
	flex: 0 1 48px;
	width: 48px;
	min-width: 0;
	height: 56px;
	padding: 0;
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
	font-weight: var(--wp--custom--weight--heavy);
	line-height: 1;
	text-align: center;
	appearance: textfield;
}

.cdw-codigo__casa:focus {
	border: 2px solid var(--wp--preset--color--focus);
	outline: none;
}

.cdw-codigo.woocommerce-invalid .cdw-codigo__casa {
	border: 2px solid var(--wp--preset--color--error);
}

/* Aviso do ambiente de testes (nunca aparece em produção). */
.cdw-acesso__teste {
	padding: 12px var(--wp--preset--spacing--space-16);
	border: 1px dashed var(--wp--preset--color--line-strong);
	border-radius: var(--wp--custom--radius--card);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

@media (max-width: 781px) {
	.cdw-conta--acesso {
		max-width: none;
		padding: 40px var(--wp--preset--spacing--space-16) var(--wp--preset--spacing--space-48);
	}
}

/* kgepel.css */
/**
 * Kgepel Papéis — visual da loja (mu-plugin kgepel-visual, só desta loja; não faz parte do tema).
 * Mesmo CSS do protótipo prototipo-kgepel/css/kgepel.css, mais a fonte Lato.
 * As cores gerais (botões, links, textos) estão em Sua Loja › Identidade › Cores.
 */

@font-face {
	font-family: Lato;
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("https://dev.kgepel.com.br/wp-content/mu-plugins/kgepel-visual/css/../fonts/lato-latin-400-normal.woff2") format("woff2");
}

@font-face {
	font-family: Lato;
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("https://dev.kgepel.com.br/wp-content/mu-plugins/kgepel-visual/css/../fonts/lato-latin-700-normal.woff2") format("woff2");
}

@font-face {
	font-family: Lato;
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	src: url("https://dev.kgepel.com.br/wp-content/mu-plugins/kgepel-visual/css/../fonts/lato-latin-900-normal.woff2") format("woff2");
}

/* html:root ganha do :root que o WordPress escreve com a fonte e os pesos do tema. */
html:root {
	--wp--preset--font-family--display: Lato, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--wp--preset--font-family--text: Lato, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	/* Lato tem 400, 700 e 900: rótulos em 700 e títulos em 900. */
	--wp--custom--weight--bold: 700;
	--wp--custom--weight--heavy: 900;
}

/**
 * Kgepel Papéis — topbar e cabeçalho do protótipo (carregado depois do CSS do tema).
 *
 *   Topbar ........ verde escuro: cidade e telefone, avisos que se revezam, links rápidos.
 *   Linha principal branca: logo, busca com o botão "Buscar" verde, atalhos com ícone e duas
 *                   linhas separados por fios finos.
 *   Linha do menu . verde; "Todos os papéis" em laranja; "Outlet" é um carimbo pêssego.
 *
 * Cores do logo: verde #0B5E30 · verde escuro #08401F · laranja #EE7F00. Fonte: Lato.
 * Contraste (WCAG AA): branco sobre #08401F = 11,9:1 · branco sobre #0B5E30 = 7,9:1 ·
 * #FFD29A sobre #08401F = 8,5:1 · #FFD29A sobre #0B5E30 = 5,6:1 · #1B1B1F sobre #EE7F00 = 6,3:1.
 */

/* ---------- Topbar verde ---------- */

.kg-topbar {
	position: relative;
	background: #08401F;
	color: #FFFFFF;
	font-size: 0.8125rem;
	line-height: 1.4;
}

.kg-topbar__conteiner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: var(--wp--preset--spacing--space-16);
	max-width: var(--wp--custom--layout--container-max);
	min-height: 38px;
	margin: 0 auto;
	padding: 6px var(--wp--preset--spacing--space-24) 8px;
}

.kg-topbar__lado {
	display: flex;
	align-items: center;
	gap: 20px;
	margin: 0;
}

.kg-topbar__lado--dir {
	justify-content: flex-end;
}

.kg-topbar__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #FFFFFF;
	text-decoration: none;
	white-space: nowrap;
}

.kg-topbar__item .cdw-icone {
	color: #FFD29A;
}

.kg-topbar__item:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.kg-topbar__item--destaque {
	font-weight: 900;
}

.kg-topbar__avisos {
	display: grid;
	justify-items: center;
	text-align: center;
}

.kg-topbar__aviso {
	grid-area: 1 / 1;
	margin: 0;
	opacity: 0;
	transform: translateY(6px);
	transition:
		opacity var(--wp--custom--motion--duracao-padrao) var(--wp--custom--motion--ease-padrao),
		transform var(--wp--custom--motion--duracao-padrao) var(--wp--custom--motion--ease-padrao);
	pointer-events: none;
	white-space: nowrap;
}

.kg-topbar__aviso.is-ativo {
	opacity: 1;
	transform: none;
	pointer-events: auto;
}

.kg-topbar__aviso strong {
	color: #FFD29A;
	font-weight: 900;
}

.kg-topbar__aviso a {
	color: #FFFFFF;
	font-weight: 700;
	text-underline-offset: 3px;
}

@media (max-width: 1100px) {
	.kg-topbar__conteiner {
		grid-template-columns: 1fr auto;
	}

	.kg-topbar__lado--esq,
	.kg-topbar__lado--dir .kg-topbar__item:not(.kg-topbar__item--destaque) {
		display: none;
	}

	.kg-topbar__avisos {
		justify-items: start;
		text-align: left;
	}
}

@media (max-width: 781px) {
	.kg-topbar__conteiner {
		grid-template-columns: 1fr;
		min-height: 34px;
		padding: 6px var(--wp--preset--spacing--space-16) 8px;
	}

	.kg-topbar__lado--dir {
		display: none;
	}

	.kg-topbar__avisos {
		justify-items: center;
		text-align: center;
	}

	.kg-topbar__aviso {
		white-space: normal;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kg-topbar__aviso {
		transition: none;
	}
}

/* ---------- Linha principal ---------- */

.cdw-cabecalho {
	box-shadow: 0 1px 0 #E6E0CF, 0 8px 20px rgba(8, 64, 31, 0.06);
}

.cdw-cabecalho--duas-linhas:not(.is-compacto) .cdw-cabecalho__conteudo {
	padding-block: 20px;
}

.cdw-logo__img {
	max-width: 200px;
	max-height: 66px;
}

.cdw-cabecalho.is-compacto .cdw-logo__img {
	max-height: 44px;
}

.cdw-logo--gaveta .cdw-logo__img {
	max-height: 44px;
}

/* Busca: campo branco com fio verde e o botão "Buscar" verde encaixado na ponta. */
.cdw-cabecalho--duas-linhas .cdw-busca {
	gap: 0;
}

.cdw-cabecalho--duas-linhas .cdw-busca__campo,
.cdw-cabecalho--duas-linhas .cdw-busca__campo:focus-within {
	height: 50px;
	padding: 0 118px 0 18px;
	border: 1.5px solid #CFC8B3;
	border-radius: 10px;
	background: #FFFFFF;
}

.cdw-cabecalho--duas-linhas .cdw-busca__campo:hover {
	border-color: #0B5E30;
}

.cdw-cabecalho--duas-linhas .cdw-busca__campo:focus-within {
	border-color: #0B5E30;
	box-shadow: 0 0 0 3px rgba(11, 94, 48, 0.15);
}

.cdw-cabecalho--duas-linhas .cdw-busca__campo > .cdw-icone {
	display: none;
}

.kg-busca__enviar {
	display: flex;
	flex: none;
	align-items: center;
	gap: 8px;
	height: 40px;
	margin: 0 0 0 -110px;
	padding: 0 16px;
	border: 0;
	border-radius: 7px;
	background: #0B5E30;
	color: #FFFFFF;
	font: inherit;
	font-size: 0.875rem;
	font-weight: 900;
	cursor: pointer;
	transition: background-color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.kg-busca__enviar .cdw-icone {
	font-size: 15px;
}

.kg-busca__enviar:hover {
	background: #08401F;
}

.kg-busca__enviar:focus-visible {
	outline: 2px solid #0B5E30;
	outline-offset: 2px;
}

/* Atalhos: ícone verde solto + duas linhas, separados por fios finos. */
.cdw-cabecalho--duas-linhas .cdw-utilidades {
	gap: 0;
}

.cdw-cabecalho--duas-linhas .cdw-utilidades > *,
.kg-orcamento {
	position: relative;
	padding-inline: 18px;
}

.cdw-cabecalho--duas-linhas .cdw-utilidades > * + *::before,
.kg-orcamento::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	height: 30px;
	border-left: 1px solid #E6E0CF;
	transform: translateY(-50%);
}

.cdw-cabecalho--duas-linhas .cdw-util__gatilho--rotulo,
.kg-orcamento {
	gap: 10px;
	color: #1B1B1F;
	font-size: 0.875rem;
	font-weight: 900;
	line-height: 1.2;
}

.cdw-cabecalho--duas-linhas .cdw-util__gatilho--rotulo > .cdw-icone:first-child,
.kg-orcamento > .cdw-icone {
	flex: none;
	width: 24px;
	color: #0B5E30;
	font-size: 22px;
}

.cdw-cabecalho--duas-linhas .cdw-util__gatilho--rotulo:hover,
.cdw-cabecalho--duas-linhas .cdw-util__gatilho[aria-expanded="true"],
.kg-orcamento:hover {
	color: #0B5E30;
}

.cdw-cabecalho--duas-linhas .cdw-util__gatilho--rotulo .cdw-util__rotulo,
.kg-orcamento__texto {
	display: block;
	text-align: left;
}

.kg-util__sub {
	display: block;
	color: var(--wp--preset--color--ink-muted);
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.3;
}

.kg-orcamento {
	display: inline-flex;
	flex: none;
	align-items: center;
	margin-right: 6px;
	text-decoration: none;
	white-space: nowrap;
}

.kg-orcamento:focus-visible {
	outline: 2px solid #0B5E30;
	outline-offset: 3px;
	border-radius: 6px;
}

/* Carrinho: um quadrado verde de cantos suaves; o contador é uma etiqueta laranja. */
.cdw-cabecalho .cdw-carrinho {
	width: 46px;
	height: 46px;
	border-radius: 10px;
	background: #0B5E30;
	color: #FFFFFF;
	transition: background-color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-cabecalho .cdw-carrinho:hover {
	background: #08401F;
	color: #FFFFFF;
}

.cdw-cabecalho .cdw-carrinho__icone,
.cdw-cabecalho.is-compacto .cdw-carrinho__icone {
	top: 50%;
	left: 50%;
	color: #FFFFFF;
	transform: translate(-50%, -50%);
}

.cdw-cabecalho .cdw-carrinho__contador,
.cdw-cabecalho.is-compacto .cdw-carrinho__contador {
	top: -6px;
	right: -6px;
	left: auto;
	border: 2px solid #FFFFFF;
	background: #EE7F00;
	color: #1B1B1F;
	font-weight: 900;
}

.cdw-cabecalho.is-compacto .cdw-carrinho {
	width: 44px;
	height: 44px;
}

@media (max-width: 1099px) {
	.kg-orcamento {
		display: none;
	}

	.kg-busca__rotulo {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}

	.kg-busca__enviar {
		width: 40px;
		margin-left: -45px;
		padding: 0;
		justify-content: center;
	}

	.cdw-cabecalho--duas-linhas .cdw-busca__campo,
	.cdw-cabecalho--duas-linhas .cdw-busca__campo:focus-within {
		padding-right: 52px;
	}
}

/* ---------- Linha do menu verde ---------- */

.cdw-cabecalho__linha--menu {
	background: #0B5E30;
}

.cdw-cabecalho__menu {
	gap: 4px;
	padding-block: 6px;
}

.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu {
	gap: 2px;
}

.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu > .cdw-menu__item > .cdw-menu__link {
	gap: 10px;
	padding: 10px 14px;
	border-radius: 8px;
	background: transparent;
	color: #FFFFFF;
	font-weight: 700;
}

.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu > .cdw-menu__item > .cdw-menu__link:hover,
.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu > .cdw-menu__item.is-aberto > .cdw-menu__link,
.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu > .cdw-menu__item.is-atual > .cdw-menu__link,
.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu > .cdw-menu__item > .cdw-menu__link[aria-current="page"] {
	background: rgba(255, 255, 255, 0.14);
	color: #FFFFFF;
}

@media (hover: hover) {
	.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu__item--pai:hover > .cdw-menu__link {
		background: rgba(255, 255, 255, 0.14);
		color: #FFFFFF;
	}
}

/* "Todos os papéis": bloco laranja (texto escuro: branco sobre o laranja não dá leitura). */
.cdw-cabecalho__linha--menu .cdw-categorias-gatilho {
	margin-right: 10px;
	padding: 0 18px;
	border-radius: 8px;
	background: #EE7F00;
	color: #1B1B1F;
	font-weight: 900;
	letter-spacing: 0.02em;
	text-transform: none;
}

.cdw-cabecalho__linha--menu .cdw-categorias-gatilho:hover,
.cdw-cabecalho__linha--menu .cdw-categorias-gatilho[aria-expanded="true"] {
	background: #FF9526;
	color: #1B1B1F;
}

/* "Outlet": carimbo pêssego, torto, com borda dupla. */
.kg-menu__outlet {
	margin-left: 10px;
}

.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu > .kg-menu__outlet > .cdw-menu__link,
.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu > .kg-menu__outlet > .cdw-menu__link:hover {
	padding: 6px 8px;
	background: transparent;
}

.kg-carimbo {
	display: inline-block;
	padding: 3px 12px;
	border: 2px solid #FFD29A;
	border-radius: 4px;
	outline: 1px solid #FFD29A;
	outline-offset: 2px;
	color: #FFD29A;
	font-size: 0.8125rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	transform: rotate(-4deg);
	transition: transform var(--wp--custom--motion--duracao-padrao) var(--wp--custom--motion--ease-elastica);
}

.cdw-menu__link:hover .kg-carimbo {
	transform: rotate(0deg) scale(1.05);
}

.cdw-cabecalho__linha--menu :focus-visible {
	outline-color: #FFFFFF;
}

@media (prefers-reduced-motion: reduce) {
	.kg-carimbo,
	.kg-busca__enviar,
	.cdw-cabecalho .cdw-carrinho {
		transition: none;
	}
}

/* ---------- Detalhes da home ---------- */

/* Preço por folha. */
.kg-unidade {
	color: var(--wp--preset--color--ink-muted);
	font-size: 0.8125rem;
	font-weight: 400;
}

/* Banner largo (arte com texto): só a imagem, clicável. */
.kg-largo__link {
	display: block;
}

/* Títulos das seções com um tracinho laranja, como o "Papéis" do logo. */
.cdw-vitrine__titulo,
.cdw-categorias__titulo,
.cdw-secao__titulo {
	position: relative;
	padding-bottom: 10px;
}

.cdw-vitrine__titulo::after,
.cdw-categorias__titulo::after,
.cdw-secao__titulo::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 48px;
	height: 4px;
	border-radius: 2px;
	background: #EE7F00;
}

.cdw-categorias--centro .cdw-categorias__titulo::after {
	left: 50%;
	transform: translateX(-50%);
}

/* Fotos dos produtos são quadradas e com fundo claro: sem recorte. */
.cdw-categoria__img {
	object-fit: cover;
}

/* ---------- Rodapé exclusivo ----------
 *
 *   Topo ......... cartão branco de chamadas (com a fita das cores do símbolo em cima) (corte sob medida,
 *                  loja física, horário) com o botão "Pedir orçamento" em laranja.
 *   Corpo ........ verde escuro com o símbolo do logo em marca-d'água no canto, logo em branco,
 *                  títulos em pêssego, links brancos com sublinhado laranja, redes em círculo.
 *   Base ......... faixa mais escura com CNPJ, políticas e o crédito da CDW em branco.
 *
 * Contraste (WCAG AA): branco sobre #08401F = 11,9:1 · #D7E5DC sobre #08401F = 9,2:1 ·
 * #FFD29A sobre #08401F = 8,5:1 · #1B1B1F sobre #EE7F00 = 6,3:1.
 */

.kg-rodape {
	--wp--custom--rodape--bg: #08401F;
	--wp--custom--rodape--line: rgba(255, 255, 255, 0.14);
	--wp--custom--rodape--text: #FFFFFF;
	--wp--custom--rodape--text-muted: #D7E5DC;
	position: relative;
	overflow: hidden;
	border-top: 0;
	isolation: isolate;
}

/* Símbolo do logo, grande e bem apagado, no canto de baixo. */
.kg-rodape__marca-dagua {
	position: absolute;
	right: -90px;
	bottom: -110px;
	z-index: -1;
	width: 460px;
	height: auto;
	max-width: none;
	border-radius: 48px;
	opacity: 0.07;
	transform: rotate(-12deg);
	pointer-events: none;
}

/* Topo: o cartão fica metade sobre a newsletter (mesmo fundo dela), metade sobre o verde. */
.kg-rodape__topo {
	background:
		linear-gradient(to bottom, var(--wp--preset--color--brand-subtle) 0 50%, transparent 50%),
		linear-gradient(to bottom, var(--wp--preset--color--surface) 0 50%, transparent 50%);
}

.kg-rodape__cta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
	align-items: center;
	gap: var(--wp--preset--spacing--space-24);
	width: calc(100% - 2 * var(--wp--preset--spacing--space-24));
	max-width: calc(var(--wp--custom--layout--container-max) - 2 * var(--wp--preset--spacing--space-24));
	position: relative;
	overflow: hidden;
	margin: 0 auto;
	padding: calc(var(--wp--preset--spacing--space-24) + 5px) var(--wp--preset--spacing--space-32) var(--wp--preset--spacing--space-24);
	border-radius: 16px;
	background: var(--wp--preset--color--surface);
	box-shadow: 0 18px 40px rgba(8, 64, 31, 0.25);
	color: var(--wp--preset--color--ink);
}

.kg-rodape__cta-item {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--space-16);
}

.kg-rodape__cta-icone {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(11, 94, 48, 0.08);
	color: #0B5E30;
	font-size: 20px;
}

.kg-rodape__cta-titulo {
	margin: 0;
	color: var(--wp--preset--color--ink);
	font-size: 0.9375rem;
	font-weight: 900;
	line-height: 1.3;
}

.kg-rodape__cta-texto {
	margin: 4px 0 0;
	color: var(--wp--preset--color--ink-muted);
	font-size: 0.875rem;
	line-height: 1.45;
}

.cdw-rodape .kg-rodape__cta-botao {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 50px;
	padding: 0 24px;
	border-radius: 999px;
	background: #EE7F00;
	color: #1B1B1F;
	font-size: 1rem;
	font-weight: 900;
	white-space: nowrap;
	transition: background-color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-rodape .kg-rodape__cta-botao:hover {
	background: #FF9526;
	color: #1B1B1F;
	text-decoration: none;
}

.kg-rodape__cta-botao .cdw-icone {
	font-size: 20px;
}

/* Fita com as cores do símbolo do logo no alto do cartão. */
.kg-rodape__cta::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 5px;
	background: linear-gradient(90deg, #E30613 0 25%, #EE7F00 25% 50%, #1B8BC6 50% 75%, #23265A 75% 100%);
}

/* Corpo. */
.kg-rodape .cdw-rodape__conteiner {
	padding-top: var(--wp--preset--spacing--space-48);
}

/* Logo para fundo escuro (Sua Loja › Identidade): texto branco e símbolo laranja, sem filtro. */
.kg-rodape .cdw-rodape__logo .cdw-logo__img {
	max-height: 64px;
}

.kg-rodape .cdw-rodape__descricao {
	max-width: 300px;
}

.kg-rodape .cdw-rodape__titulo {
	color: #FFD29A;
	font-weight: 900;
	letter-spacing: 0.12em;
}

.kg-rodape .cdw-rodape__links a {
	display: inline-block;
	transition: transform var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.kg-rodape a:hover {
	color: #FFFFFF;
	text-decoration-color: #EE7F00;
	text-decoration-thickness: 2px;
}

.kg-rodape .cdw-rodape__links a:hover {
	transform: translateX(3px);
}

.kg-rodape .cdw-rodape__contato .cdw-icone,
.kg-rodape .cdw-rodape__envio .cdw-icone {
	color: #EE7F00;
}

/* Redes: círculos com borda; ao passar o mouse, laranja. */
.kg-rodape .cdw-rodape__rede {
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 50%;
	font-size: 18px;
	transition:
		background-color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao),
		border-color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.kg-rodape .cdw-rodape__rede:hover {
	border-color: #EE7F00;
	background: #EE7F00;
	color: #1B1B1F !important;
	text-decoration: none;
}

/* Pagamentos e selos em "cartõezinhos" brancos. */
.kg-rodape .cdw-rodape__pagamentos img {
	padding: 2px;
	border-radius: 6px;
	background: #FFFFFF;
}

/* Base mais escura, de ponta a ponta. */
.kg-rodape .cdw-rodape__base {
	position: relative;
	padding-bottom: var(--wp--preset--spacing--space-24);
	border-top: 0;
}

.kg-rodape .cdw-rodape__base::before {
	content: "";
	position: absolute;
	top: 0;
	right: -100vw;
	bottom: calc(var(--wp--preset--spacing--space-64) * -1);
	left: -100vw;
	z-index: -1;
	background: #062F17;
}

.kg-rodape .cdw-rodape__credito img {
	filter: brightness(0) invert(1);
	opacity: 0.85;
}

.kg-rodape .cdw-rodape__credito:hover img {
	opacity: 1;
}

/* Tablet: o cartão de chamadas vira 2 × 2 (o botão ocupa a linha de baixo). */
@media (max-width: 1100px) {
	.kg-rodape__cta {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.cdw-rodape .kg-rodape__cta-botao {
		grid-column: 1 / -1;
		justify-self: start;
	}
}

/* Celular: tudo em coluna, botão na largura toda. */
@media (max-width: 781px) {
	.kg-rodape__cta {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--space-16);
		width: calc(100% - 2 * var(--wp--preset--spacing--space-16));
		padding: calc(var(--wp--preset--spacing--space-24) + 5px) var(--wp--preset--spacing--space-16) var(--wp--preset--spacing--space-24);
	}

	.cdw-rodape .kg-rodape__cta-botao {
		justify-content: center;
		justify-self: stretch;
	}

	.kg-rodape__marca-dagua {
		right: -120px;
		bottom: -80px;
		width: 340px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kg-rodape .cdw-rodape__links a,
	.kg-rodape .cdw-rodape__rede,
	.cdw-rodape .kg-rodape__cta-botao {
		transition: none;
	}

	.kg-rodape .cdw-rodape__links a:hover {
		transform: none;
	}
}

/* =====================================================================
   Corte de papel (plugin corte-de-papel) — campos na ficha do produto.
   O plugin põe estilos fixos nos próprios campos (float, largura, cinza);
   por isso as regras de posição e tamanho vão com !important.
   ===================================================================== */

.cdw-pp-form #_personalizar,
.cdw-pp-form #div1 {
	flex: 0 0 100%;
	max-width: 100%;
}

.cdw-pp-form select#_personalizar {
	width: 100% !important;
	height: 48px;
	padding: 0 40px 0 14px;
	border: 1px solid #CFC8B3;
	border-radius: 10px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230B5E30' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;
	-webkit-appearance: none;
	appearance: none;
	font: inherit;
	font-weight: 700;
	color: #1B1B1F;
	cursor: pointer;
}

.cdw-pp-form select#_personalizar:focus-visible {
	outline: 2px solid #0B5E30;
	outline-offset: 2px;
}

.cdw-pp-form div#div1 {
	box-sizing: border-box;
	width: 100% !important;
	margin: -4px 0 0;
	padding: 20px;
	background: #F3F8F4;
	border: 1px solid rgba(11, 94, 48, 0.18);
	border-radius: 12px;
	font-size: 15px;
}

.cdw-pp-form div#div1::after {
	display: block;
	clear: both;
	content: "";
}

.cdw-pp-form div#div1 > p:first-child {
	margin: 0 0 16px !important;
	color: #5E6470;
	font-size: 14px !important;
	line-height: 1.5 !important;
}

.cdw-pp-form div#div1 .line,
.cdw-pp-form div#div1 > br {
	display: none !important;
}

/* "Selecione abaixo padrões pré definidos" + botões A4 / A3 / 30,5x30,5 */
.cdw-pp-form div#div1 > div {
	margin-bottom: 6px;
}

.cdw-pp-form div#div1 small {
	display: block;
	margin-bottom: 8px;
	color: #0B5E30;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.cdw-pp-form div#div1 button.btnprefolhas {
	display: inline-flex !important;
	align-items: center;
	min-height: 38px;
	margin: 0 8px 8px 0 !important;
	padding: 0 16px !important;
	background: #fff !important;
	border: 1.5px solid #0B5E30 !important;
	border-radius: 999px !important;
	color: #0B5E30 !important;
	font: inherit;
	font-size: 14px !important;
	font-weight: 700;
	line-height: 1 !important;
	cursor: pointer;
	transition: background-color 0.15s, color 0.15s;
}

.cdw-pp-form div#div1 button.btnprefolhas:hover,
.cdw-pp-form div#div1 button.btnprefolhas:focus-visible {
	background: #0B5E30 !important;
	color: #fff !important;
}

/* Altura | Largura | Pedaços lado a lado, com rótulo em cima */
.cdw-pp-form div#div1 p:has(> #_altura),
.cdw-pp-form div#div1 p:has(> #_largura),
.cdw-pp-form div#div1 p:has(> #_folhas) {
	display: block !important;
	float: left !important;
	box-sizing: border-box;
	width: calc((100% - 24px) / 3) !important;
	margin: 8px 12px 0 0 !important;
	padding: 0 !important;
}

.cdw-pp-form div#div1 p:has(> #_folhas) {
	margin-right: 0 !important;
}

.cdw-pp-form div#div1 p:has(> #_altura)::before,
.cdw-pp-form div#div1 p:has(> #_largura)::before,
.cdw-pp-form div#div1 p:has(> #_folhas)::before {
	display: block;
	margin-bottom: 6px;
	color: #1B1B1F;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
}

.cdw-pp-form div#div1 p:has(> #_altura)::before { content: "Altura (cm)"; }
.cdw-pp-form div#div1 p:has(> #_largura)::before { content: "Largura (cm)"; }
.cdw-pp-form div#div1 p:has(> #_folhas)::before { content: "Folhas"; }

.cdw-pp-form div#div1 input#_altura,
.cdw-pp-form div#div1 input#_largura,
.cdw-pp-form div#div1 input#_folhas {
	display: block !important;
	float: none !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 46px !important;
	margin: 0 !important;
	padding: 0 12px !important;
	background: #fff !important;
	border: 1px solid #CFC8B3 !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	color: #1B1B1F;
	font: inherit;
	font-size: 16px !important; /* 16 px: o iPhone não dá zoom ao tocar */
}

.cdw-pp-form div#div1 input#_altura::placeholder,
.cdw-pp-form div#div1 input#_largura::placeholder,
.cdw-pp-form div#div1 input#_folhas::placeholder {
	color: #A29C8C;
	font-size: 14px;
}

.cdw-pp-form div#div1 input#_altura:focus,
.cdw-pp-form div#div1 input#_largura:focus,
.cdw-pp-form div#div1 input#_folhas:focus {
	border-color: #0B5E30 !important;
	outline: 2px solid rgba(11, 94, 48, 0.25);
	outline-offset: 0;
}

/* Botão GERAR PREÇO */
/* padding (e não margin): depois dos campos flutuantes o margin-top some no "clear". */
.cdw-pp-form div#div1 p:has(> #btn_preco_personal) {
	display: block !important;
	clear: both;
	margin: 0 !important;
	padding: 20px 0 0 !important;
}

.cdw-pp-form div#div1 input#btn_preco_personal {
	display: block !important;
	float: none !important;
	width: 100% !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	background: #EE7F00 !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: #1B1B1F !important;
	font: inherit;
	font-size: 15px !important;
	font-weight: 900 !important;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	cursor: pointer;
	transition: filter 0.15s;
}

.cdw-pp-form div#div1 input#btn_preco_personal:hover {
	filter: brightness(0.94);
}

.cdw-pp-form div#div1 input#btn_preco_personal:focus-visible {
	outline: 2px solid #0B5E30;
	outline-offset: 3px;
}

/* Preço calculado e aviso de quantidade máxima */
.cdw-pp-form div#div1 #div_preco {
	margin-top: 14px;
	color: #0B5E30;
	font-size: 22px;
	font-weight: 900;
}

.cdw-pp-form div#div1 #div_qty_folhas {
	margin-top: 6px;
	color: #5E6470 !important;
	font-size: 13px !important;
}

/* Celular: os três campos continuam lado a lado, mais justos */
@media (max-width: 480px) {
	.cdw-pp-form div#div1 {
		padding: 16px;
	}

	.cdw-pp-form div#div1 p:has(> #_altura),
	.cdw-pp-form div#div1 p:has(> #_largura),
	.cdw-pp-form div#div1 p:has(> #_folhas) {
		width: calc((100% - 16px) / 3) !important;
		margin-right: 8px !important;
	}

	.cdw-pp-form div#div1 p:has(> #_folhas) {
		margin-right: 0 !important;
	}

	.cdw-pp-form div#div1 input#_altura,
	.cdw-pp-form div#div1 input#_largura,
	.cdw-pp-form div#div1 input#_folhas {
		padding: 0 8px !important;
	}
}

/* =====================================================================
   Cabeçalho — revisão (atendimento, "Tipos de papéis", barra numa linha, celular)
   ===================================================================== */

/* Atendimento no formato do antigo "Peça orçamento": ícone do WhatsApp, duas linhas, sem setinha. */
.cdw-cabecalho--duas-linhas .kg-atendimento .cdw-util__seta {
	display: none;
}

.cdw-cabecalho--duas-linhas .kg-atendimento .cdw-util__gatilho--rotulo > .cdw-icone:first-child {
	font-size: 24px;
}

/* Barra verde de ponta a ponta (não segue o grid da página), centralizada e sempre numa linha só. */
.cdw-cabecalho__linha--menu .cdw-cabecalho__menu,
.cdw-cabecalho--duas-linhas .cdw-cabecalho__linha--menu .cdw-cabecalho__menu {
	flex-wrap: nowrap;
	justify-content: center;
	max-width: none;
	padding-inline: clamp(16px, 2.5vw, 40px);
}

.cdw-cabecalho__linha--menu .cdw-categorias-gatilho {
	flex: none;
	white-space: nowrap;
}

.cdw-cabecalho__linha--menu .cdw-nav--desktop {
	flex: 0 1 auto;
	min-width: 0;
}

.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu,
.cdw-cabecalho--duas-linhas .cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu {
	flex-wrap: nowrap;
	justify-content: center;
}

.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu > .cdw-menu__item {
	flex: none;
}

.cdw-cabecalho__linha--menu .cdw-nav--desktop .cdw-menu > .cdw-menu__item > .cdw-menu__link {
	white-space: nowrap;
}

/* O que não cabe na largura sai da barra (assets: js/kgepel-cabecalho.js); está no painel. */
.cdw-cabecalho__linha--menu .cdw-menu > .kg-menu-fora {
	display: none;
}

/* Painel "Tipos de papéis": todas as categorias em colunas, sem buracos entre as alturas. */
.cdw-catmenu--lista .cdw-catmenu__colunas {
	display: block;
	columns: 5 190px;
	column-gap: 32px;
}

.cdw-catmenu--lista .cdw-catmenu__coluna {
	display: flex;
	width: 100%;
	margin-bottom: 28px;
	break-inside: avoid;
	page-break-inside: avoid;
}

.cdw-catmenu--lista .cdw-catmenu__nome {
	color: #0B5E30;
	font-weight: 900;
}

.cdw-catmenu--lista .cdw-catmenu__filhas {
	gap: 10px;
}

.cdw-catmenu--lista .cdw-catmenu__link {
	font-size: 0.9375rem;
}

/* Abaixo de ~1200 px: só os ícones na linha do meio. */
@media (max-width: 1199px) {
	.cdw-cabecalho--duas-linhas .cdw-util__gatilho--rotulo .cdw-util__rotulo,
	.cdw-cabecalho--duas-linhas .cdw-util__gatilho--rotulo .cdw-util__seta {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}

	.cdw-cabecalho--duas-linhas .cdw-utilidades > * {
		padding-inline: 12px;
	}

	.kg-busca__rotulo {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}

	.kg-busca__enviar {
		width: 40px;
		margin-left: -45px;
		padding: 0;
		justify-content: center;
	}

	.cdw-cabecalho--duas-linhas .cdw-busca__campo,
	.cdw-cabecalho--duas-linhas .cdw-busca__campo:focus-within {
		padding-right: 52px;
	}
}

/* O atendimento fica também no tablet (o tema o escondia abaixo de 1100 px). */
@media (max-width: 1099px) {
	.cdw-cabecalho--duas-linhas .kg-atendimento.cdw-util--atendimento {
		display: block;
	}
}

/* Celular: ☰ · logo · busca · carrinho; a busca vira uma linha inteira embaixo; categorias na gaveta. */
.kg-busca-abrir {
	display: none;
}

.cdw-cabecalho.is-compacto .kg-busca-abrir {
	display: flex;
	color: #0B5E30;
}

.cdw-cabecalho.is-compacto .cdw-cabecalho__conta-compacta {
	display: none;
}

.cdw-cabecalho--duas-linhas.is-compacto.is-recolhido.kg-busca-visivel .cdw-busca-caixa {
	display: block;
}

.cdw-cabecalho.is-compacto .cdw-busca-caixa {
	width: 100%;
}

/* Painel "Tipos de papéis": categorias-mães fechadas; clicar abre "Ver tudo" + subcategorias. */
.cdw-catmenu--lista .cdw-catmenu__coluna.kg-cat {
	gap: 0;
	margin-bottom: 0;
	border-bottom: 1px solid #E6E0CF;
}

.kg-cat__pai {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 13px 4px;
	border: 0;
	background: none;
	color: #0B5E30;
	font: inherit;
	font-size: 0.8125rem;
	font-weight: 900;
	letter-spacing: 0.06em;
	line-height: 1.3;
	text-align: left;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
}

.kg-cat__pai:hover {
	color: #EE7F00;
}

.kg-cat__pai:focus-visible {
	outline: 2px solid #0B5E30;
	outline-offset: 2px;
	border-radius: 4px;
}

.kg-cat__seta {
	flex: none;
	transition: transform var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.kg-cat__pai[aria-expanded="true"] .kg-cat__seta {
	transform: rotate(180deg);
}

.cdw-catmenu--lista .kg-cat .cdw-catmenu__filhas {
	gap: 10px;
	padding: 2px 4px 16px;
}

.cdw-catmenu--lista .kg-cat.is-aberta {
	background: #F3F8F4;
	border-radius: 8px;
	border-bottom-color: transparent;
}

.cdw-catmenu--lista .kg-cat.is-aberta .kg-cat__pai,
.cdw-catmenu--lista .kg-cat.is-aberta .cdw-catmenu__filhas {
	padding-inline: 12px;
}

.cdw-catmenu--lista .kg-cat .cdw-catmenu__link--tudo {
	font-weight: 900;
}

@media (prefers-reduced-motion: reduce) {
	.kg-cat__seta {
		transition: none;
	}
}

