/**
 * Página de produto — Figma "03 · Produto" (356:33424).
 *   Enxuta (A3) 394:30108 / 394:30109 · Rica (A2) 394:30106 / 394:30107.
 *
 * Desktop (1200):
 *   página     padding 24/24/64 · gap 48 · galeria 662 + gap 24 + compra 466
 *   galeria    Enxuta: miniaturas 74 (gap 16, ativa com borda 3 brand) + foto 564, gap 24
 *              Rica: grade 2×2 de 323, gap 16 · play 56 sobre o vídeo
 *   compra     itens com gap 16 · selos 26 · nome Heading Large 32/1.1 (600) · nota Caption 14
 *              countdown: pill error-subtle, padding 8/12, tempo Label 16 error
 *              preço 32/1.1 (600) + chip de desconto (brand-subtle) · parcelas Body 16 muted · chip Pix (success-subtle)
 *              rótulo de opção: Overline 12 muted + valor Label 16 · cor 44 · opção 48 · amostra 64 (anel 2 brand)
 *              quantidade 140×50 (borda line, pill) · COMPRAR 50 (brand) · WhatsApp contorno ink
 *              frete: campo 55, borda line, pill · frete grátis: surface-alt, padding 16, trilho 8
 *   informações gap 64 · títulos Heading Medium 24/1.2
 *              sobre 704 + destaques 400 (gap 48) · ficha 2 colunas (gap 32) · cartões 3 (gap 24)
 *              avaliações: resumo com borda, barras 8 · lista 2 colunas (gap 32)
 * Mobile (< 782px):
 *   página     padding 16/16/48 · gap 32 · tudo em uma coluna (gap 24)
 *   galeria    uma foto por vez (448×382) com pontos de 8 · play 64
 *   barra fixa 72: foto 48, preço + Pix, botão Comprar
 */

/* ---------- Estrutura ---------- */

.cdw-pp {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-48);
	max-width: var(--wp--custom--layout--container-max);
	margin: 0 auto;
	padding: var(--wp--preset--spacing--space-24) var(--wp--preset--spacing--space-24) var(--wp--preset--spacing--space-64);
}

.cdw-pp__inicio {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.cdw-pp__topo {
	display: grid;
	grid-template-columns: minmax(0, 662fr) minmax(0, 466fr);
	align-items: start;
	gap: var(--wp--preset--spacing--space-24);
}

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

.cdw-pp p,
.cdw-pp h1,
.cdw-pp h2,
.cdw-pp h3 {
	margin: 0;
}

.cdw-pp-h2,
.cdw-pp-h3 {
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--display);
	font-weight: var(--wp--custom--weight--heavy);
}

.cdw-pp-h2 {
	font-size: 1.5rem;
	line-height: 1.2;
}

.cdw-pp-h3 {
	font-size: 1.25rem;
	line-height: 1.3;
}

/* Link de texto com área de toque ("Ler mais", "Ver todas as especificações"). */
.cdw-pp-link {
	align-self: flex-start;
	padding: 12px 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--brand-text);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
	cursor: pointer;
}

.cdw-pp-link:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* Avisos do WooCommerce ("produto adicionado ao carrinho"). */
.cdw-pp .woocommerce-notices-wrapper:empty {
	display: none;
}

.cdw-pp .woocommerce-message,
.cdw-pp .woocommerce-info,
.cdw-pp .woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-8) var(--wp--preset--spacing--space-16);
	margin: 0;
	padding: 12px var(--wp--preset--spacing--space-16);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--success-subtle);
	color: var(--wp--preset--color--ink);
	list-style: none;
}

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

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

.cdw-pp .woocommerce-message .button,
.cdw-pp .woocommerce-info .button {
	order: 2;
	color: var(--wp--preset--color--brand-text);
	font-weight: var(--wp--custom--weight--bold);
	text-decoration: none;
}

/* ---------- Galeria ---------- */

.cdw-galeria {
	min-width: 0;
}

.cdw-galeria__miniaturas,
.cdw-galeria__pontos {
	display: none;
}

.cdw-galeria__palco {
	display: flex;
	overflow-x: auto;
	border-radius: var(--wp--custom--radius--card);
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.cdw-galeria__palco::-webkit-scrollbar {
	display: none;
}

.cdw-galeria__item {
	position: relative;
	flex: 0 0 100%;
	overflow: hidden;
	/* Vem de Sua Loja › Produtos › Fotos. Sem escolha: quadrada. */
	aspect-ratio: var(--cdw-galeria-proporcao, 1 / 1);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface-alt);
	scroll-snap-align: start;
}

.cdw-galeria__foto {
	display: block;
	width: 100%;
	height: 100%;
	cursor: zoom-in;
}

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

.cdw-galeria__play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	padding: 0 0 0 3px;
	border: 0;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font-size: 20px;
	box-shadow: var(--wp--preset--shadow--float);
	transform: translate(-50%, -50%);
	cursor: pointer;
}

@media (min-width: 782px) {
	/* Enxuta: miniaturas em coluna + uma foto grande. */
	.cdw-pp--enxuta .cdw-galeria.tem-varias {
		display: grid;
		grid-template-columns: 74px minmax(0, 1fr);
		align-items: start;
		gap: var(--wp--preset--spacing--space-24);
	}

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

	.cdw-galeria__mini {
		position: relative;
		display: block;
		width: 74px;
		height: 74px;
		padding: 0;
		overflow: hidden;
		border: 0;
		border-radius: var(--wp--custom--radius--card);
		background: var(--wp--preset--color--surface-alt);
		cursor: pointer;
	}

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

	.cdw-galeria__mini::after {
		content: "";
		position: absolute;
		inset: 0;
		border: 1px solid var(--wp--preset--color--line);
		border-radius: inherit;
	}

	.cdw-galeria__mini.is-ativa::after {
		border: 3px solid var(--wp--preset--color--brand);
	}

	.cdw-galeria__mini-play {
		position: absolute;
		top: 50%;
		left: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 28px;
		height: 28px;
		padding-left: 2px;
		border-radius: var(--wp--custom--radius--full);
		background: var(--wp--preset--color--surface);
		color: var(--wp--preset--color--ink);
		font-size: 10px;
		box-shadow: var(--wp--preset--shadow--float);
		transform: translate(-50%, -50%);
	}

	/* Rica: todas as fotos em grade de 2 colunas. */
	.cdw-pp--rica .cdw-galeria__palco {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--space-16);
		overflow: visible;
		border-radius: 0;
	}

	.cdw-pp--rica .cdw-galeria:not(.tem-varias) .cdw-galeria__palco {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Rica: a página rola pelas fotos e a coluna de compra fica presa ao lado; quando as fotos
	   acabam, tudo segue rolando junto. --cdw-pp-topo vem do produto-pagina.js (logo abaixo do
	   cabeçalho fixo, para o título não sumir); sem JavaScript, 24 px. */
	.cdw-pp--rica .cdw-pp-compra {
		position: sticky;
		top: var(--cdw-pp-topo, 24px);
	}
}

/* Foto ampliada */
.cdw-zoom {
	width: 100vw;
	max-width: none;
	height: 100vh;
	height: 100dvh;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--wp--preset--color--surface);
}

.cdw-zoom__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.cdw-zoom__fechar,
.cdw-zoom__seta,
.cdw-var__seta,
.cdw-pp-fechar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	cursor: pointer;
}

.cdw-zoom__fechar,
.cdw-zoom__seta {
	position: absolute;
	font-size: 16px;
	box-shadow: var(--wp--preset--shadow--float);
}

.cdw-zoom__fechar {
	top: var(--wp--preset--spacing--space-16);
	right: var(--wp--preset--spacing--space-16);
}

.cdw-zoom__seta {
	top: 50%;
	transform: translateY(-50%);
}

.cdw-zoom__seta--ant {
	left: var(--wp--preset--spacing--space-16);
}

.cdw-zoom__seta--prox {
	right: var(--wp--preset--spacing--space-16);
}

.cdw-pp-fechar {
	border: 0;
	font-size: 20px;
}

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

/* ---------- Bloco de compra ---------- */

.cdw-pp-compra {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-16);
	min-width: 0;
}

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

.cdw-pp-titulo__selos {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--space-8);
}

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

.cdw-selo--success {
	background: var(--wp--preset--color--success);
	color: var(--wp--preset--color--surface);
}

.cdw-selo--contorno {
	border: 1px solid var(--wp--preset--color--ink);
	background: transparent;
	/* A borda entra na altura de 26. */
	padding-block: 3px;
}

.cdw-pp-titulo__nome {
	color: var(--wp--preset--color--ink);
	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;
	overflow-wrap: anywhere;
}

.cdw-pp-titulo__nota {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: var(--wp--preset--spacing--space-8);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
	text-decoration: none;
}

.cdw-pp-titulo__nota:hover span:last-child {
	text-decoration: underline;
}

/* Produto/Countdown mini */
.cdw-pp-countdown {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: var(--wp--preset--spacing--space-8);
	padding: var(--wp--preset--spacing--space-8) 12px;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--error-subtle);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

.cdw-pp-countdown .cdw-icone {
	color: var(--wp--preset--color--error);
	font-size: 16px;
}

.cdw-pp-countdown strong {
	color: var(--wp--preset--color--error);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	font-variant-numeric: tabular-nums;
}

/* Prova social (inc/prova-social.php): mesmo molde do countdown, uma cor por tipo de aviso. */
.cdw-prova-social {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: var(--wp--preset--spacing--space-8);
	padding: var(--wp--preset--spacing--space-8) 12px;
	border-radius: var(--wp--custom--radius--full);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

.cdw-prova-social strong {
	font-weight: var(--wp--custom--weight--bold);
}

.cdw-prova-social--estoque {
	background: var(--wp--preset--color--error-subtle);
	color: var(--wp--preset--color--ink);
}

.cdw-prova-social--estoque .cdw-icone,
.cdw-prova-social--estoque strong {
	color: var(--wp--preset--color--error);
}

.cdw-prova-social--vendas {
	background: var(--wp--preset--color--success-subtle);
	color: var(--wp--preset--color--ink);
}

.cdw-prova-social--vendas .cdw-icone,
.cdw-prova-social--vendas strong {
	color: var(--wp--preset--color--success);
}

/* Produto/Preço */
.cdw-pp-preco {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--space-4);
}

.cdw-pp-preco__antigo,
.cdw-pp-preco__a-partir {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

.cdw-pp-preco__antigo {
	margin-bottom: -2px;
}

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

.cdw-pp-preco__a-partir {
	flex-basis: 100%;
}

.cdw-pp-preco__valor {
	color: var(--wp--preset--color--ink);
	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;
	white-space: nowrap;
}

.cdw-pp-preco__desconto {
	padding: var(--wp--preset--spacing--space-4) var(--wp--preset--spacing--space-8);
	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--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
}

.cdw-pp-preco__parcelas {
	color: var(--wp--preset--color--ink-muted);
}

.cdw-pp-chip {
	display: inline-block;
	padding: var(--wp--preset--spacing--space-8) var(--wp--preset--spacing--space-16);
	border-radius: var(--wp--custom--radius--full);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	line-height: 1.5;
}

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

/* ---------- Formulário de compra (HTML do WooCommerce) ---------- */

.cdw-pp-form:empty {
	display: none;
}

.cdw-pp-form form.cart {
	margin: 0;
}

.cdw-pp-form form.cart:not(.variations_form):not(.grouped_form),
.cdw-pp-form .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--space-16);
}

.cdw-pp-form .stock {
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

.cdw-pp-form .stock.in-stock {
	color: var(--wp--preset--color--success);
}

.cdw-pp-form .stock.out-of-stock {
	color: var(--wp--preset--color--error);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
}

.cdw-pp-form form.cart > .stock,
.cdw-pp-form > .stock {
	margin-bottom: var(--wp--preset--spacing--space-16);
}

/* Opções: a tabela do WooCommerce vira uma pilha de blocos. */
.cdw-pp-form table.variations,
.cdw-pp-form table.variations tbody,
.cdw-pp-form table.variations tr,
.cdw-pp-form table.variations td {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
}

.cdw-pp-form table.variations th {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.cdw-pp-form table.variations tr + tr {
	margin-top: var(--wp--preset--spacing--space-16);
}

.cdw-pp-form .reset_variations {
	display: inline-block;
	margin-top: var(--wp--preset--spacing--space-8);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

.cdw-pp-form .single_variation_wrap {
	margin-top: var(--wp--preset--spacing--space-16);
}

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

.cdw-pp-form .woocommerce-variation:not(:empty) {
	margin-bottom: var(--wp--preset--spacing--space-16);
}

.cdw-pp-form .woocommerce-variation > :empty,
.cdw-pp-form .woocommerce-variation-price {
	display: none; /* O preço da variação aparece no bloco de preço do tema. */
}

.cdw-pp-form .woocommerce-variation-description {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
}

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

/* Produto/Rótulo de opção */
.cdw-var__rotulo {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8);
	min-height: 20px;
}

.cdw-var__nome {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--overline);
	line-height: 1.5;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

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

/* Sem JavaScript fica o <select> do WooCommerce; com ele, os botões. */
.cdw-var__select select {
	width: 100%;
	height: 48px;
	padding: 0 var(--wp--preset--spacing--space-16);
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--custom--radius--control);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font: inherit;
}

.cdw-js .cdw-var__select {
	display: none;
}

.cdw-var__trilho-caixa {
	position: relative;
	min-width: 0;
}

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

.cdw-var__botao {
	position: relative;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

/* Produto/Seletor cor */
.cdw-cor__amostra {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--control);
	background: var(--wp--preset--color--surface);
}

.cdw-cor__amostra::before {
	content: "";
	width: 36px;
	height: 36px;
	border-radius: var(--wp--custom--radius--control);
	background: var(--cdw-cor);
}

.cdw-cor__amostra::after {
	content: "";
	position: absolute;
	width: 6px;
	height: 6px;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--card);
	opacity: 0;
}

.cdw-cor:hover .cdw-cor__amostra,
.cdw-cor[aria-checked="true"] .cdw-cor__amostra {
	border-color: var(--wp--preset--color--line-strong);
}

.cdw-cor[aria-checked="true"] .cdw-cor__amostra::after {
	opacity: 1;
}

/* Produto/Seletor opção */
.cdw-opcao__texto {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	height: 48px;
	padding: var(--wp--preset--spacing--space-8) 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-size: var(--wp--preset--font-size--caption);
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
}

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

.cdw-opcao[aria-checked="true"] .cdw-opcao__texto {
	border-color: var(--wp--preset--color--ink-muted);
	background: var(--wp--preset--color--ink-muted);
	color: var(--wp--preset--color--brand-contrast);
}

/* Opção sem estoque / combinação que não existe: apagada e riscada. */
.cdw-var__botao.is-indisponivel {
	opacity: 0.4;
	cursor: not-allowed;
}

.cdw-var__botao.is-indisponivel::after {
	content: "";
	position: absolute;
	top: 50%;
	left: -4px;
	right: -4px;
	height: 1px;
	background: var(--wp--preset--color--line-strong);
	transform: rotate(-45deg);
}

/* Produto/Seletor material (Rica): amostra de 64 com o nome embaixo, em trilho com seta. */
.cdw-var--amostra .cdw-var__opcoes {
	flex-wrap: nowrap;
	overflow-x: auto;
	scrollbar-width: none;
	scroll-snap-type: x proximity;
}

.cdw-var--amostra .cdw-var__opcoes::-webkit-scrollbar {
	display: none;
}

.cdw-amostra {
	display: flex;
	flex: 0 0 84px;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8);
	scroll-snap-align: start;
}

.cdw-amostra__anel {
	display: flex;
	width: 74px;
	height: 74px;
	padding: 3px;
	border: 2px solid transparent;
	border-radius: var(--wp--custom--radius--full);
}

.cdw-amostra__cor {
	flex: 1;
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--custom--radius--full);
	background: var(--cdw-cor, var(--wp--preset--color--surface-alt));
}

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

.cdw-amostra[aria-checked="true"] .cdw-amostra__anel {
	border-color: var(--wp--preset--color--brand);
}

.cdw-amostra[aria-checked="true"] .cdw-amostra__nome {
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
}

.cdw-var__seta {
	position: absolute;
	top: 15px;
	right: 0;
	font-size: 12px;
	box-shadow: var(--wp--preset--shadow--float);
}

.cdw-var__botao:focus-visible {
	outline: none;
}

.cdw-var__botao:focus-visible > :first-child {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: 2px;
}

/* "Guia de medidas" */
.cdw-pp-guia {
	flex-basis: 100%;
}

.cdw-pp-guia a {
	display: inline-block;
	padding: 10px 0;
	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-pp-guia a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* Produto/Quantidade */
.cdw-pp-form .quantity {
	display: flex;
	flex: 0 0 140px;
	align-items: center;
	height: 50px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--control);
	background: var(--wp--preset--color--surface);
}

.cdw-pp-form .quantity.hidden {
	display: none;
}

.cdw-qtd__botao {
	display: flex;
	flex: 0 0 44px;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 0;
	border: 0;
	border-radius: var(--wp--custom--radius--control);
	background: none;
	color: var(--wp--preset--color--ink);
	font-size: 12px;
	cursor: pointer;
}

.cdw-pp-form .quantity .qty {
	flex: 1;
	width: 100%;
	min-width: 0;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	text-align: center;
	appearance: textfield;
	-moz-appearance: textfield;
}

.cdw-pp-form .quantity .qty::-webkit-outer-spin-button,
.cdw-pp-form .quantity .qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

/* Botão COMPRAR */
.cdw-pp-form .single_add_to_cart_button {
	flex: 1 1 160px;
	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);
	line-height: 1.5;
	text-transform: uppercase;
	cursor: pointer;
	transition:
		background-color var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao),
		box-shadow var(--wp--custom--motion--duracao-rapida) var(--wp--custom--motion--ease-padrao);
}

.cdw-pp-form .single_add_to_cart_button:hover {
	background: var(--wp--preset--color--brand-hover);
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.25);
}

.cdw-pp-form .single_add_to_cart_button.disabled {
	opacity: 0.5;
	box-shadow: none;
	cursor: not-allowed;
}

.cdw-pp-whatsapp {
	width: 100%;
}

/* Frete */
.cdw-frete {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-8);
	margin: 0;
}

.cdw-frete__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-frete__campo {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-16);
	height: 55px;
	padding: 0 var(--wp--preset--spacing--space-24);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--control);
	background: var(--wp--preset--color--surface);
}

.cdw-frete__campo:focus-within {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: -1px;
}

.cdw-frete__campo input {
	flex: 1;
	min-width: 0;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--bold);
	outline: none;
}

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

.cdw-frete__campo button {
	flex-shrink: 0;
	height: 100%;
	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);
	text-transform: uppercase;
	cursor: pointer;
}

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

.cdw-frete__resultado {
	padding: 12px var(--wp--preset--spacing--space-16);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface-alt);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

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

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

.cdw-frete__resultado small {
	display: block;
	color: var(--wp--preset--color--ink-muted);
	font-size: inherit;
}

.cdw-frete__resultado strong {
	font-weight: var(--wp--custom--weight--bold);
	white-space: nowrap;
}

/* Produto/Frete grátis progressivo — redesenhado a pedido do usuário (estava genérico).
   Ecoa o resto da página: ícone em círculo (como a faixa de vantagens), selo amarelo (como a etiqueta
   "-43%" dos cards) e cartão surface-alt com raio de contêiner. Só tokens.
   Estados: sem is-completo = falta valor (mostra %); com is-completo = frete conquistado (selo + pulso).
   Mudou o HTML? Suba CDW_PP_FRAGMENTOS_VERSAO em inc/sua-loja/produto-pagina.php. */
.cdw-frete-gratis {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-16);
	padding: var(--wp--preset--spacing--space-16) var(--wp--preset--spacing--space-24) var(--wp--preset--spacing--space-24);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--container);
	background: var(--wp--preset--color--surface-alt);
	transition: background-color var(--wp--custom--motion--duracao-padrao) var(--wp--custom--motion--ease-padrao), border-color var(--wp--custom--motion--duracao-padrao) var(--wp--custom--motion--ease-padrao);
}

.cdw-frete-gratis.is-completo {
	border-color: color-mix(in srgb, var(--wp--preset--color--brand) 30%, transparent);
	background: var(--wp--preset--color--brand-subtle);
}

.cdw-frete-gratis__topo {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--wp--preset--spacing--space-16);
}

.cdw-frete-gratis__icone {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--brand-subtle);
	color: var(--wp--preset--color--brand-text);
	font-size: 20px;
}

.cdw-frete-gratis.is-completo .cdw-frete-gratis__icone {
	background: var(--wp--preset--color--brand);
	color: var(--wp--preset--color--brand-contrast);
}

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

.cdw-frete-gratis__titulo {
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--wp--custom--weight--heavy);
	line-height: 1.3;
}

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

/* O valor nunca se parte em duas linhas. */
.cdw-frete-gratis__detalhe .woocommerce-Price-amount,
.cdw-frete-gratis__titulo .woocommerce-Price-amount {
	white-space: nowrap;
}

.cdw-frete-gratis__pct {
	color: var(--wp--preset--color--brand-text);
	font-size: var(--wp--preset--font-size--label);
	font-variant-numeric: tabular-nums;
	font-weight: var(--wp--custom--weight--heavy);
}

.cdw-frete-gratis__selo {
	padding: 2px var(--wp--preset--spacing--space-16);
	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);
	font-weight: var(--wp--custom--weight--heavy);
	letter-spacing: 0.08em;
	line-height: 24px;
	text-transform: uppercase;
	white-space: nowrap;
}

.cdw-frete-gratis__trilho {
	display: block;
	height: 10px;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--line);
}

.cdw-frete-gratis__trilho span {
	position: relative;
	display: block;
	height: 100%;
	overflow: hidden;
	border-radius: inherit;
	background: linear-gradient(90deg, color-mix(in srgb, var(--wp--preset--color--brand) 62%, var(--wp--preset--color--surface)), var(--wp--preset--color--brand));
}

/* Resumo fixo da página (outro componente) usa o mesmo trilho simples. */
.cdw-pp-resumo__trilho {
	display: block;
	height: 8px;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--line);
}

.cdw-pp-resumo__trilho span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--wp--preset--color--brand);
}

/* Celular (guia de estilo: mobile 480): o selo e a % descem para baixo do texto, para o valor caber inteiro. */
@media (max-width: 480px) {
	.cdw-frete-gratis {
		padding: var(--wp--preset--spacing--space-16);
	}

	.cdw-frete-gratis__topo {
		grid-template-columns: auto minmax(0, 1fr);
		gap: var(--wp--preset--spacing--space-8) var(--wp--preset--spacing--space-16);
	}

	.cdw-frete-gratis__icone {
		width: 40px;
		height: 40px;
		font-size: 18px;
	}

	.cdw-frete-gratis__selo,
	.cdw-frete-gratis__pct {
		grid-column: 2;
		justify-self: start;
	}
}

/* Movimento só para quem não pediu "reduzir movimento" (mesma regra do carrossel de banners). */
@media (prefers-reduced-motion: no-preference) {
	/* A barra cresce até o valor ao abrir a página. */
	.cdw-frete-gratis__trilho span {
		transform-origin: left center;
		animation: cdw-frete-cresce var(--wp--custom--motion--duracao-lenta) var(--wp--custom--motion--ease-padrao) both;
	}

	/* Frete conquistado: anel que pulsa no cartão + brilho que varre a barra. */
	.cdw-frete-gratis.is-completo {
		animation: cdw-frete-pulso 2.2s ease-in-out infinite;
	}

	.cdw-frete-gratis.is-completo .cdw-frete-gratis__trilho span::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(100deg, transparent 25%, color-mix(in srgb, var(--wp--preset--color--surface) 60%, transparent) 50%, transparent 75%);
		transform: translateX(-100%);
		animation: cdw-frete-varre 2.2s ease-in-out infinite;
	}
}

@keyframes cdw-frete-cresce {
	from {
		transform: scaleX(0);
	}

	to {
		transform: scaleX(1);
	}
}

@keyframes cdw-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-frete-varre {
	0%,
	15% {
		transform: translateX(-100%);
	}

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

/* ---------- Sobre + Destaques ---------- */

.cdw-pp-sobre.tem-destaques {
	display: grid;
	grid-template-columns: minmax(0, 704fr) minmax(0, 400fr);
	align-items: start;
	gap: var(--wp--preset--spacing--space-48);
}

.cdw-pp-sobre__texto {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-24);
	min-width: 0;
}

.cdw-pp-sobre__resumo {
	color: var(--wp--preset--color--ink);
	font-size: 1.125rem;
	line-height: 1.5;
}

.cdw-pp-sobre__descricao {
	color: var(--wp--preset--color--ink-muted);
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.cdw-pp-sobre__resumo > * + *,
.cdw-pp-sobre__descricao > * + * {
	margin-top: 1em;
}

.cdw-pp-sobre__descricao img {
	height: auto;
}

/* Com JavaScript a descrição começa recolhida (2 linhas) e abre no "Ler mais". */
.cdw-js .cdw-pp-sobre__descricao.is-recolhida {
	max-height: 3em;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to bottom, #000 50%, transparent);
	mask-image: linear-gradient(to bottom, #000 50%, transparent);
}

.cdw-pp-sobre .cdw-pp-link {
	margin-top: -12px;
}

.cdw-pp-destaques {
	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-pp-destaques__lista {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-16);
	margin: 0;
	padding: 0;
	list-style: none;
}

.cdw-pp-destaques__lista li {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-16);
	color: var(--wp--preset--color--ink);
}

.cdw-pp-destaques__check {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--success-subtle);
	color: var(--wp--preset--color--success);
	font-size: 10px;
}

/* ---------- Ficha técnica ---------- */

.cdw-pp-ficha,
.cdw-pp-entrega,
.cdw-pp-avaliacoes,
.cdw-pp-relacionados {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-24);
	min-width: 0;
}

.cdw-pp-ficha__tabela {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--space-8) var(--wp--preset--spacing--space-32);
	margin: 0;
}

.cdw-pp-ficha__linha {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-16);
	padding: var(--wp--preset--spacing--space-16) 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

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

.cdw-pp-ficha__linha dd {
	margin: 0;
	color: var(--wp--preset--color--ink);
	font-weight: var(--wp--custom--weight--bold);
	text-align: right;
	overflow-wrap: anywhere;
}

.cdw-js .cdw-pp-ficha:not(.is-aberta) [data-cdw-ficha-extra] {
	display: none;
}

.cdw-pp-ficha .cdw-pp-link {
	margin-top: -12px;
}

/* ---------- Entrega, troca e pagamento ---------- */

.cdw-pp-entrega__cartoes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--space-24);
	margin-block: 0;
	padding-block: 0;
	list-style: none;
}

@media (min-width: 782px) {
	.cdw-pp-entrega__cartoes {
		padding: 0;
	}
}

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

.cdw-pp-cartao__icone {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--brand-subtle);
	color: var(--wp--preset--color--brand);
	font-size: 20px;
}

.cdw-pp-cartao__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-pp-cartao__texto {
	color: var(--wp--preset--color--ink-muted);
}

/* ---------- Avaliações ---------- */

.cdw-pp-avaliacoes {
	scroll-margin-top: calc(120px + var(--wp-admin--admin-bar--height, 0px));
}

.cdw-pp-avaliacoes__cabecalho {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-16);
}

.cdw-pp-resumo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--space-32);
	padding: var(--wp--preset--spacing--space-24);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface);
}

.cdw-pp-resumo__nota {
	display: flex;
	flex: 0 0 174px;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--space-8);
	text-align: center;
}

.cdw-pp-resumo__media {
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--display);
	font-size: 2.5rem;
	font-weight: var(--wp--custom--weight--heavy);
	line-height: 1;
	letter-spacing: -0.02em;
}

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

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

.cdw-pp-resumo__barras li {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-16);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

.cdw-pp-resumo__estrela {
	flex: 0 0 28px;
	white-space: nowrap;
}

.cdw-pp-resumo__trilho {
	flex: 1;
}

.cdw-pp-resumo__qtd {
	flex: 0 0 32px;
	color: var(--wp--preset--color--ink-muted);
	text-align: right;
}

.cdw-pp-ordem {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-8);
	margin: 0;
	padding: var(--wp--preset--spacing--space-16) 0;
	border-block: 1px solid var(--wp--preset--color--line);
}

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

.cdw-pp-ordem__campo select {
	padding: 12px 18px 12px 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
	cursor: pointer;
	appearance: none;
}

.cdw-pp-ordem__campo > .cdw-icone {
	position: absolute;
	top: 50%;
	right: 0;
	font-size: 10px;
	transform: translateY(-50%);
	pointer-events: none;
}

.cdw-pp-ordem__campo noscript {
	order: 2;
}

.cdw-pp-avaliacoes__lista {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--space-32);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Produto/Avaliação item */
.cdw-pp-avaliacao {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	padding: var(--wp--preset--spacing--space-24);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface);
}

.cdw-js .cdw-pp-avaliacao[data-cdw-av-extra]:not(.is-visivel) {
	display: none;
}

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

.cdw-pp-avaliacao__pessoa {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--space-16);
	min-width: 0;
}

.cdw-pp-avaliacao__avatar {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: var(--wp--custom--radius--full);
	background: var(--wp--preset--color--brand-subtle);
	color: var(--wp--preset--color--brand-text);
	font-weight: var(--wp--custom--weight--bold);
}

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

.cdw-pp-avaliacao__selo {
	margin-top: var(--wp--preset--spacing--space-4);
	color: var(--wp--preset--color--success);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

.cdw-pp-avaliacao__data {
	flex-shrink: 0;
}

.cdw-pp-avaliacao__texto {
	color: var(--wp--preset--color--ink);
	overflow-wrap: anywhere;
}

.cdw-pp-avaliacoes__mais {
	text-align: center;
}

.cdw-pp-avaliacoes__vazio {
	color: var(--wp--preset--color--ink-muted);
}

/* Janela "Escrever avaliação" */
.cdw-pp-avaliar {
	width: min(560px, calc(100% - 32px));
	max-height: calc(100vh - 32px);
	padding: 0;
	border: 0;
	border-radius: var(--wp--custom--radius--container);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	box-shadow: var(--wp--preset--shadow--float);
}

.cdw-pp-avaliar::backdrop,
.cdw-zoom::backdrop {
	background: color-mix(in srgb, var(--wp--preset--color--ink) 40%, transparent);
}

.cdw-pp-avaliar__caixa {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-16);
	padding: var(--wp--preset--spacing--space-24);
}

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

/* Sem JavaScript a janela vira um bloco comum, no fim das avaliações. */
html:not(.cdw-js) .cdw-pp-avaliar {
	position: static;
	display: block;
	width: 100%;
	max-height: none;
	border: 1px solid var(--wp--preset--color--line);
	box-shadow: none;
}

html:not(.cdw-js) .cdw-pp-fechar {
	display: none;
}

.cdw-pp-avaliar .comment-respond,
.cdw-pp-avaliar .comment-form {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-16);
	margin: 0;
}

.cdw-pp-avaliar .comment-reply-title:empty {
	display: none;
}

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

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

.cdw-pp-campo textarea.cdw-campo {
	height: auto;
	min-height: 120px;
	padding: 12px var(--wp--preset--spacing--space-16);
	border-radius: 16px;
	resize: vertical;
}

.cdw-pp-campo textarea.cdw-campo:focus {
	padding: 11px calc(var(--wp--preset--spacing--space-16) - 1px);
}

.cdw-pp-campo select {
	height: 48px;
	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: inherit;
}

.cdw-pp-avaliar .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--space-8);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.5;
}

/* Estrelas clicáveis que o WooCommerce cria no lugar do <select> da nota. */
.cdw-pp-avaliar p.stars span {
	display: flex;
	gap: var(--wp--preset--spacing--space-4);
}

.cdw-pp-avaliar p.stars a {
	display: block;
	width: 36px;
	height: 32px;
	overflow: hidden;
	background: var(--wp--preset--color--accent);
	color: transparent;
	font-size: 0;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3 5.1-21.4 13.1L193.1 125.3 33.2 150.7c-8.9 1.4-16.3 7.7-19.1 16.3s-.5 18 5.8 24.4l114.4 114.5-25.2 159.9c-1.4 8.9 2.3 17.9 9.6 23.2s16.9 6.1 25 2L288.1 417.6 432.4 491c8 4.1 17.7 3.3 25-2s11-14.2 9.6-23.2L441.7 305.9 556.1 191.4c6.4-6.4 8.6-15.8 5.8-24.4s-10.1-14.9-19.1-16.3L383 125.3 309.5-18.9z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3 5.1-21.4 13.1L193.1 125.3 33.2 150.7c-8.9 1.4-16.3 7.7-19.1 16.3s-.5 18 5.8 24.4l114.4 114.5-25.2 159.9c-1.4 8.9 2.3 17.9 9.6 23.2s16.9 6.1 25 2L288.1 417.6 432.4 491c8 4.1 17.7 3.3 25-2s11-14.2 9.6-23.2L441.7 305.9 556.1 191.4c6.4-6.4 8.6-15.8 5.8-24.4s-10.1-14.9-19.1-16.3L383 125.3 309.5-18.9z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.cdw-pp-avaliar p.stars:not(.selected):not(:hover) a,
.cdw-pp-avaliar p.stars.selected a.active ~ a,
.cdw-pp-avaliar p.stars:hover a:hover ~ a {
	background: var(--wp--preset--color--line-strong);
}

.cdw-pp-avaliar p.stars:hover a {
	background: var(--wp--preset--color--accent);
}

/* ---------- Perguntas frequentes (mesmo componente da home) ---------- */

.cdw-pp .cdw-faq__conteiner {
	max-width: none;
	padding: 0;
}

/* ---------- Você também pode gostar ---------- */

.cdw-pp-relacionados__lista {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--space-24);
	margin: 0;
	padding: 0;
	list-style: none;
}

.cdw-pp-relacionados__lista li {
	min-width: 0;
}

/* ---------- Barra fixa de compra (celular) ---------- */

.cdw-pp-barra {
	display: none;
}

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

@media (min-width: 782px) and (max-width: 1023px) {
	.cdw-pp-sobre.tem-destaques {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--space-32);
	}

	.cdw-pp-relacionados__lista {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

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

@media (max-width: 781px) {
	.cdw-pp {
		gap: var(--wp--preset--spacing--space-32);
		padding: var(--wp--preset--spacing--space-16) var(--wp--preset--spacing--space-16) var(--wp--preset--spacing--space-48);
	}

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

	/* Uma foto por vez, com pontos. */
	.cdw-galeria__item {
		aspect-ratio: var(--cdw-galeria-proporcao-celular, 448 / 382);
	}

	.cdw-galeria__play {
		width: 64px;
		height: 64px;
		font-size: 24px;
	}

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

	.cdw-galeria__ponto {
		width: 8px;
		height: 8px;
		border-radius: var(--wp--custom--radius--full);
		background: var(--wp--preset--color--line-strong);
	}

	.cdw-galeria__ponto.is-ativa {
		background: var(--wp--preset--color--ink);
	}

	.cdw-pp-sobre.tem-destaques {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--space-24);
	}

	.cdw-pp-destaques__lista li {
		align-items: flex-start;
	}

	.cdw-pp-ficha__tabela {
		grid-template-columns: minmax(0, 1fr);
	}

	.cdw-pp-entrega__cartoes {
		display: flex;
		gap: var(--wp--preset--spacing--space-16);
	}

	.cdw-pp-cartao {
		flex: 0 0 min(280px, 78%);
	}

	.cdw-pp-resumo {
		gap: var(--wp--preset--spacing--space-24);
	}

	.cdw-pp-resumo__nota {
		flex-basis: 100%;
	}

	.cdw-pp-avaliacoes__lista {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--space-16);
	}

	.cdw-pp-relacionados__lista {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--space-24) var(--wp--preset--spacing--space-16);
	}

	.cdw-pp-barra:not([hidden]) {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: var(--wp--custom--z-index--header);
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 12px var(--wp--preset--spacing--space-16) calc(12px + env(safe-area-inset-bottom, 0px));
		background: var(--wp--preset--color--surface);
		box-shadow: 0 -12px 24px rgba(0, 0, 0, 0.15);
	}

	.cdw-pp-barra__foto {
		flex-shrink: 0;
		width: 48px;
		height: 48px;
		border-radius: var(--wp--custom--radius--card);
		object-fit: cover;
	}

	.cdw-pp-barra__preco {
		display: flex;
		flex-direction: column;
		min-width: 0;
		white-space: nowrap;
	}

	.cdw-pp-barra__valor {
		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-pp-barra__pix {
		color: var(--wp--preset--color--success);
		font-size: var(--wp--preset--font-size--caption);
		line-height: 1.5;
	}

	.cdw-pp-barra__pix:empty {
		display: none;
	}

	.cdw-pp-barra .cdw-botao {
		flex: 1;
		min-width: 0;
	}

	/* Espaço para a barra não cobrir o fim do rodapé. */
	body.cdw-tem-barra {
		padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
	}
}

@media (prefers-reduced-motion: reduce) {
	.cdw-pp-form .single_add_to_cart_button {
		transition: none;
	}
}
