/* pa: categoria e produto — redesenho editorial (28/09, mockup do dono).
   Só tokens --pa-* de pa.css. Tudo escopado em .template-category /
   .template-search / .template-product; a vitrine da home tem card próprio
   (pa-vitrine.css) e não é tocada aqui. Sticky CTA só no celular. */

/* ================= comum: breadcrumb, H1, card ================= */
.template-category .breadcrumbs,
.template-product .breadcrumbs {
	font-family: var(--pa-sans);
	font-size: var(--pa-fs-12);
	color: var(--pa-tinta-2);
	letter-spacing: .02em;
}
.template-category .breadcrumbs .crumb,
.template-product .breadcrumbs .crumb { color: var(--pa-tinta-2); font-size: var(--pa-fs-12); }
.template-category .breadcrumbs .crumb.active,
.template-product .breadcrumbs .crumb.active { color: var(--pa-tinta); }
.template-category .breadcrumbs .separator,
.template-product .breadcrumbs .separator { font-size: 0; margin: 0 var(--pa-e-4); }
.template-category .breadcrumbs .separator::before,
.template-product .breadcrumbs .separator::before { content: "›"; font-size: var(--pa-fs-14); color: var(--pa-areia); }

.template-category h1,
.template-product h1.js-product-name {
	font-family: var(--pa-serif);
	font-weight: 500;
	color: var(--pa-tinta);
	line-height: var(--pa-lh-titulo);
	letter-spacing: 0;
}

/* card da grade (categoria, busca, relacionados do produto) — TASK 03.
   Peça de catálogo: contêiner marfim; a foto (fundo branco) entra com
   mix-blend-mode: multiply, então o branco da foto vira o marfim do contêiner
   sem recorte. object-fit: contain + padding igual = mesma escala útil, frasco
   inteiro. Um só link (.item-link) cobre o card; o link da imagem sai do Tab
   por pa-produto.js. Sem botão no card no celular. */
.pa-card .item { position: relative; }
.pa-card .item-image {
	background: var(--pa-marfim);
	border-radius: var(--pa-r-4);
	overflow: hidden;
	transition: transform var(--pa-t), box-shadow var(--pa-t);
}
.pa-card .js-item-image-padding { padding-bottom: 100% !important; }
.pa-card .item-image img {
	object-fit: contain;
	padding: 9%;
	mix-blend-mode: multiply;
}
.pa-card .item-link { display: block; color: var(--pa-tinta); text-decoration: none; }
.pa-card .item-link::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.pa-card .item-link:focus-visible { outline: none; }
.pa-card .item-link:focus-visible::after { outline: 2px solid var(--pa-ambar); outline-offset: 2px; border-radius: var(--pa-r-4); }
.pa-card .item-description { padding-top: var(--pa-e-12) !important; }

.pa-card-marca {
	font-family: var(--pa-sans);
	font-size: var(--pa-fs-12);
	font-weight: 600;
	letter-spacing: .08em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-transform: uppercase;
	color: var(--pa-tinta-2);
	margin-bottom: var(--pa-e-4);
}
.pa-card .item-name {
	font-family: var(--pa-sans);
	font-size: 14px !important;
	color: var(--pa-tinta);
	opacity: 1 !important;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.7em;
	margin-bottom: var(--pa-e-8) !important;
}
.pa-card .item-price {
	font-family: var(--pa-sans);
	font-weight: 700;
	color: var(--pa-tinta);
	font-size: 20px;
	letter-spacing: -.01em;
}
.pa-card .pa-card-parcela,
.pa-card .item-installments {
	display: block;
	font-family: var(--pa-sans);
	font-size: var(--pa-fs-12);
	color: var(--pa-ambar-texto);
	margin-top: var(--pa-e-4) !important;
}
.pa-card-acao { display: none; }

@media (min-width: 768px) {
	.pa-card .item-name { font-size: var(--pa-fs-16) !important; }
	.pa-card .item-price { font-size: 22px; }
	.pa-card .pa-card-parcela, .pa-card .item-installments { font-size: 13px; }
	.pa-card-acao {
		display: inline-block;
		margin-top: var(--pa-e-12);
		padding-bottom: 2px;
		border-bottom: 1px solid var(--pa-ambar);
		font-family: var(--pa-sans);
		font-size: var(--pa-fs-12);
		font-weight: 600;
		letter-spacing: .12em;
		text-transform: uppercase;
		color: var(--pa-tinta);
		opacity: 0;
		transition: opacity var(--pa-t);
	}
	.pa-card:hover .item-image,
	.pa-card:focus-within .item-image { transform: translateY(-3px); box-shadow: var(--pa-sombra-1); }
	.pa-card:hover .pa-card-acao,
	.pa-card:focus-within .pa-card-acao { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
	.pa-card .item-image, .pa-card-acao { transition: none; }
	.pa-card:hover .item-image, .pa-card:focus-within .item-image { transform: none; }
}

/* ================= categoria ================= */
.template-category .pa-categoria-descricao { color: var(--pa-tinta-2); font-size: var(--pa-fs-14); line-height: var(--pa-lh-texto); }
.pa-intro--corte:not(.pa-intro--aberto) {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.pa-ler-mais {
	background: none;
	border: 0;
	padding: 0;
	margin-top: var(--pa-e-4);
	font-family: var(--pa-sans);
	font-size: var(--pa-fs-12);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--pa-ambar-texto);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.pa-pilulas { margin-bottom: var(--pa-e-16); }
.pa-pilulas__lista {
	display: flex;
	gap: var(--pa-e-8);
	list-style: none;
	margin: 0;
	padding: 0 0 var(--pa-e-4);
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.pa-pilulas__lista::-webkit-scrollbar { display: none; }
.pa-pilula {
	display: inline-block;
	white-space: nowrap;
	padding: var(--pa-e-8) var(--pa-e-16);
	border: 1px solid var(--pa-areia);
	border-radius: var(--pa-r-pill);
	font-family: var(--pa-sans);
	font-size: var(--pa-fs-14);
	color: var(--pa-tinta);
	background: var(--pa-branco);
	transition: background var(--pa-t), color var(--pa-t), border-color var(--pa-t);
}
.pa-pilula:hover, .pa-pilula:focus-visible { border-color: var(--pa-ambar); color: var(--pa-tinta); text-decoration: none; }
.pa-pilula.is-ativa { background: var(--pa-noite); border-color: var(--pa-noite); color: var(--pa-marfim); }

/* Filtros | Ordenar: dois botões contornados lado a lado, Filtros primeiro */
@media (max-width: 767px) {
	.template-category .category-controls { border: 0 !important; background: transparent; }
	.template-category .category-controls-row { margin: 0 !important; gap: var(--pa-e-8); flex-wrap: nowrap; }
	.template-category .category-control-item {
		flex: 1 1 0;
		padding: 0 !important;
		border: 1px solid var(--pa-linha) !important;
		border-radius: var(--pa-r-4);
		background: var(--pa-branco);
	}
	.template-category .category-control-item + .category-control-item { order: -1; }
	.template-category .category-control-item > a { padding: var(--pa-e-12) var(--pa-e-8) !important; font-family: var(--pa-sans); color: var(--pa-tinta); }
	.template-category h1 { font-size: var(--pa-fs-26); }
	.template-category .js-product-table { margin-left: -6px; margin-right: -6px; }
	.template-category .js-product-table > .item-product { padding-left: 6px; padding-right: 6px; }
}

/* desktop: 4 colunas com o mesmo card, sidebar de filtros preservada */
@media (min-width: 768px) {
	.template-category .js-product-table > .item-product,
	.template-search .js-product-table > .item-product { flex: 0 0 25%; max-width: 25%; }
	.template-category h1 { font-size: var(--pa-fs-48); }
	.template-category .pa-categoria-descricao { max-width: 720px; }
	.pa-pilulas__lista { flex-wrap: wrap; }
}

/* ================= produto ================= */
.template-product .js-swiper-product { position: relative; }
.template-product .product-detail-slider,
.template-product .product-slide { background: var(--pa-branco); }
.pa-foto-contador {
	position: absolute;
	right: var(--pa-e-12);
	bottom: var(--pa-e-12);
	z-index: 5;
	padding: 2px var(--pa-e-8);
	border-radius: var(--pa-r-pill);
	background: rgba(253, 244, 230, .92);
	font-family: var(--pa-sans);
	font-size: var(--pa-fs-12);
	color: var(--pa-tinta);
	letter-spacing: .04em;
}
.template-product .product-thumb {
	padding-bottom: 100% !important;
	border: 1px solid var(--pa-linha);
	border-radius: var(--pa-r-4);
	background: var(--pa-branco);
	overflow: hidden;
}
.template-product .product-thumb.selected { border-color: var(--pa-ambar); }
.template-product .product-thumb img { object-fit: contain; }

.pa-prod-marca {
	font-family: var(--pa-serif);
	font-size: var(--pa-fs-14);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--pa-ambar-texto);
	margin-bottom: var(--pa-e-4);
}
.template-product #single-product .breadcrumbs { margin-bottom: var(--pa-e-8); }
.template-product #price_display { font-family: var(--pa-sans); font-weight: 700; color: var(--pa-tinta); }
.template-product .js-product-payments-container,
.template-product .js-max-installments { color: var(--pa-ambar-texto); }

.pa-garantias {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--pa-e-8);
	list-style: none;
	margin: var(--pa-e-16) 0 var(--pa-e-8);
	padding: var(--pa-e-12) 0;
	border-top: 1px solid var(--pa-linha);
	border-bottom: 1px solid var(--pa-linha);
}
.pa-garantias li { display: flex; align-items: center; gap: var(--pa-e-8); font-family: var(--pa-sans); font-size: 11px; line-height: 1.3; color: var(--pa-tinta); }
.pa-garantias li + li { border-left: 1px solid var(--pa-linha); padding-left: var(--pa-e-8); }
.pa-garantias svg { flex: 0 0 22px; width: 22px; height: 22px; fill: none; stroke: var(--pa-ambar-texto); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }

/* quantidade + COMPRAR AGORA; ADICIONAR AO CARRINHO embaixo, largura total */
.pa-btn-comprar {
	width: 100%;
	min-height: 52px;
	padding: 0 var(--pa-e-24);
	border: 1px solid var(--pa-noite);
	border-radius: var(--pa-r-4);
	background: var(--pa-noite);
	color: var(--pa-marfim);
	font-family: var(--pa-sans);
	font-size: var(--pa-fs-14);
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background var(--pa-t);
}
.pa-btn-comprar:hover, .pa-btn-comprar:focus-visible { background: var(--pa-noite-2); }
.pa-comprar-col { padding-left: var(--pa-e-8); }
.template-product .pa-add-col { flex: 0 0 100%; max-width: 100%; margin-top: var(--pa-e-12); }
.template-product .pa-add-col .btn-add-to-cart {
	min-height: 52px;
	padding: 0 var(--pa-e-24);
	background: transparent;
	border: 1px solid var(--pa-ambar-contorno);
	border-radius: var(--pa-r-4);
	color: var(--pa-ambar-texto);
	font-family: var(--pa-sans);
	font-size: var(--pa-fs-14);
	font-weight: 600;
	letter-spacing: .12em;
	line-height: 1.2;
	text-transform: uppercase;
}
.template-product .pa-add-col .btn-add-to-cart:hover { background: var(--pa-marfim); }
.template-product .pa-add-col .btn-add-to-cart[disabled] { border-color: var(--pa-linha); color: var(--pa-tinta-2); }
/* sem JS o COMPRAR AGORA não existe: o nativo volta a ocupar o lugar dele */
.pa-comprar-col:has(> [hidden]) { display: none; }
.pa-comprar-col:has(> [hidden]) + .pa-add-col { flex: 0 0 66.666%; max-width: 66.666%; margin-top: 0; }

/* linha de compra (30/09, ajuste fino do botão): [quantidade | 8px | COMPRAR AGORA] e o carrinho embaixo, as três caixas com h52, raio 4,
   e as bordas externas no mesmo x do carrinho e do resto da coluna. Antes: a quantidade (col-4 com margem -1px, caixa reta cinza 51px) invadia 1px o COMPRAR.
   Contorno da quantidade = 1px --pa-ambar, a mesma família do carrinho (padrao-ui 3.13). Só vale quando o COMPRAR AGORA existe na linha. */
.template-product .row.no-gutters:has(> .pa-comprar-col) {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	column-gap: var(--pa-e-8);
	row-gap: var(--pa-e-12);
	align-items: stretch;
}
@media (min-width: 768px) { .template-product .row.no-gutters:has(> .pa-comprar-col) { grid-template-columns: 148px minmax(0, 1fr); } }
.template-product .row.no-gutters:has(> .pa-comprar-col) > [class*="col-"] { width: auto; max-width: none; flex: none; margin: 0 !important; padding: 0; }
.template-product .row.no-gutters:has(> .pa-comprar-col) > .pa-add-col,
.template-product .row.no-gutters:has(> .pa-comprar-col) > .col-12 { grid-column: 1 / -1; margin-top: 0; }
.template-product .row.no-gutters:has(> .pa-comprar-col) > .pa-comprar-col:has(> [hidden]) { display: none; }
.template-product .row.no-gutters:has(> .pa-comprar-col) .js-quantity.form-group { margin: 0; height: 100%; }
.template-product .row.no-gutters:has(> .pa-comprar-col) .form-quantity {
	height: 52px;
	padding: 0;
	border: 1px solid var(--pa-ambar-contorno);
	border-radius: var(--pa-r-4);
	background: transparent;
	flex-wrap: nowrap;
}
.template-product .row.no-gutters:has(> .pa-comprar-col) .form-quantity .form-control-container { margin: 0; }
.template-product .row.no-gutters:has(> .pa-comprar-col) .form-quantity .form-control { height: 100%; padding: 0; border: 0; text-align: center; line-height: 50px; background: transparent; }
.template-product .row.no-gutters:has(> .pa-comprar-col) .form-quantity-icon { display: flex; align-items: center; justify-content: center; margin: 0 !important; padding: 0; height: 100%; flex: 0 0 44px !important; width: 44px !important; min-width: 44px; max-width: 44px; color: var(--pa-tinta); }
.template-product .row.no-gutters:has(> .pa-comprar-col) .form-quantity-icon svg { fill: var(--pa-tinta); }
.template-product .row.no-gutters:has(> .pa-comprar-col) .form-quantity .form-control-container { flex: 1 1 auto; min-width: 0; }
.template-product .row.no-gutters:has(> .pa-comprar-col) .form-quantity .form-control { color: var(--pa-tinta); min-width: 0; }
.template-product .row.no-gutters:has(> .pa-comprar-col) .form-quantity:focus-within { outline: 2px solid var(--pa-tinta); outline-offset: 2px; }

/* acordeões da descrição (montados a partir dos H2) */
.pa-descricao--acc > .pa-acordeoes { border-top: 1px solid var(--pa-linha); }
.pa-acc { border-bottom: 1px solid var(--pa-linha); }
.pa-acc__titulo { margin: 0; font-size: inherit; }
.pa-acc__bt {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: var(--pa-e-12);
	padding: var(--pa-e-16) 0;
	background: none;
	border: 0;
	text-align: left;
	font-family: var(--pa-serif);
	font-size: var(--pa-fs-18);
	color: var(--pa-tinta);
	cursor: pointer;
}
.pa-acc__bt::after { content: "+"; font-family: var(--pa-sans); font-size: var(--pa-fs-22); font-weight: 300; color: var(--pa-ambar-texto); line-height: 1; }
.pa-acc__bt[aria-expanded="true"]::after { content: "−"; }
.pa-acc__painel { padding: 0 0 var(--pa-e-16); color: var(--pa-tinta-2); line-height: var(--pa-lh-texto); }
.template-product .js-pa-descricao h6,
.template-product [data-store^="product-description"] > h6 { font-family: var(--pa-serif); }


/* CTA fixo — só celular */
.pa-sticky { display: none; }
@media (max-width: 767px) {
	.pa-sticky:not([hidden]) {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1000;
		display: flex;
		align-items: center;
		gap: var(--pa-e-12);
		padding: var(--pa-e-8) var(--pa-gutter) calc(var(--pa-e-8) + env(safe-area-inset-bottom));
		background: var(--pa-branco);
		border-top: 1px solid var(--pa-linha);
		box-shadow: 0 -6px 18px rgba(26, 15, 10, .08);
	}
	.pa-sticky__img { width: 44px; height: 44px; object-fit: contain; flex: 0 0 44px; }
	.pa-sticky__info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
	.pa-sticky__nome { font-family: var(--pa-sans); font-size: var(--pa-fs-12); color: var(--pa-tinta); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.pa-sticky__preco { font-family: var(--pa-sans); font-size: var(--pa-fs-16); font-weight: 700; color: var(--pa-tinta); }
	.pa-sticky .pa-btn-comprar { width: auto; flex: 0 0 auto; padding: 0 var(--pa-e-16); font-size: var(--pa-fs-12); min-height: 44px; }
	.template-product h1.js-product-name { font-size: var(--pa-fs-22); }
	.template-product #price_display { font-size: var(--pa-fs-26); }
}

/* desktop do produto: galeria ~55% à esquerda, compra à direita */
@media (min-width: 768px) {
	.template-product #single-product > .container > .row > .col-md-7 { flex: 0 0 55%; max-width: 55%; }
	.template-product h1.js-product-name { font-size: var(--pa-fs-36); }
	.template-product #price_display { font-size: var(--pa-fs-26); }
	.pa-garantias li { font-size: var(--pa-fs-12); }
}

/* ================= TASK 06: galeria ================= */
.template-product .product-detail-slider,
.template-product .product-slide,
.template-product .product-thumb { background: var(--pa-marfim) !important; }
.template-product .product-slider-image,
.template-product .product-thumb img { object-fit: contain; mix-blend-mode: multiply; }
.template-product .product-slide .js-product-slide-link { background: var(--pa-marfim); }
.template-product .product-thumb { border-color: transparent; }
@media (max-width: 767px) {
	.template-product [data-store^="product-image"] > .order-last { margin-top: var(--pa-e-8) !important; }
	/* breadcrumb fica no DOM (SEO), fora da 1ª dobra do celular */
	.template-product #single-product > .container > .row > .col-md-7 { padding-bottom: var(--pa-e-12) !important; }
}

/* ================= TASK 08: confiança compacta ================= */
.pa-confianca {
	list-style: none;
	margin: var(--pa-e-16) 0;
	padding: var(--pa-e-12) var(--pa-e-16);
	background: var(--pa-marfim);
	border-radius: var(--pa-r-4);
	display: grid;
	gap: var(--pa-e-8);
}
.pa-confianca li { display: flex; align-items: flex-start; gap: var(--pa-e-12); font-family: var(--pa-sans); font-size: var(--pa-fs-14); line-height: 20px; color: var(--pa-tinta-2); }
.pa-confianca strong { color: var(--pa-tinta); font-weight: 600; }
.pa-confianca a { color: var(--pa-ambar-texto); }
.pa-confianca svg { flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: var(--pa-ambar-texto); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; margin-top: 1px; }

/* acordeões colados à compra */
.pa-acordeoes--compra { border-top: 1px solid var(--pa-linha); margin-bottom: var(--pa-e-24); }
.pa-acordeoes--compra .pa-acc__bt { font-family: var(--pa-sans); font-size: var(--pa-fs-14); padding: var(--pa-e-12) 0; }
.pa-acordeoes--compra:empty { display: none; }
.pa-acc__sub { font-family: var(--pa-serif); font-size: var(--pa-fs-16); font-weight: 500; color: var(--pa-tinta); margin: var(--pa-e-16) 0 var(--pa-e-8); }
.pa-acc__painel > .pa-acc__sub:first-child { margin-top: 0; }

/* ================= TASK 10: resumo aberto ================= */
.pa-resumo { margin-bottom: var(--pa-e-16); }
.pa-resumo__titulo { font-family: var(--pa-serif); font-size: var(--pa-fs-22); font-weight: 500; color: var(--pa-tinta); margin: 0 0 var(--pa-e-8); }
.pa-resumo p { color: var(--pa-tinta-2); line-height: var(--pa-lh-texto); }
.template-product [data-store^="product-description"]:has(.pa-descricao--acc) > h6 { display: none; }

/* fundo do "Como é o cheiro" (v3): branco no título e no texto, marfim sutil atrás das fichas e de volta ao branco no fim (sem corte seco); de ponta a ponta, sem borda nem canto */
.template-product #single-product { overflow-x: clip; }
.template-product .pa-acc--cheiro { position: relative; isolation: isolate; border-bottom-color: transparent; }
.template-product .pa-acc--cheiro::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: calc(50% - 50vw); width: 100vw; background: linear-gradient(180deg, var(--pa-branco) 0%, var(--pa-branco) 30%, var(--pa-marfim) 72%, var(--pa-branco) 100%); pointer-events: none; }
/* ================= "Como é o cheiro" — opção 1 do dono (30/09) =================
   texto sensorial num bloco (clamp 3 linhas no celular, 4 no desktop) + 3 fichas olfativas lado a lado.
   Nunca carrossel. Título → texto 12 · texto → fichas 20 · fichas → próximo acordeão 32. */
.pa-cheiro { margin: var(--pa-e-16) 0 var(--pa-e-24); }
.pa-cheiro__txt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.pa-cheiro__txt--aberto { display: block; -webkit-line-clamp: none; line-clamp: none; overflow: visible; }
.pa-cheiro__miolo p { display: inline; margin: 0; }
.pa-cheiro__miolo p + p::before { content: " "; }
.pa-cheiro__mais { position: relative; display: block; margin-top: var(--pa-e-4); padding: var(--pa-e-8) 0 0; border: 0; background: none; font-family: var(--pa-sans); font-size: var(--pa-fs-12); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pa-tinta); cursor: pointer; }
.pa-cheiro__mais::after { content: ""; position: absolute; inset: -11px -12px -12px; }
.pa-notas {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--pa-e-8);
	margin: 0 0 var(--pa-e-24);
}
.pa-notas--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pa-nota {
	display: flex;
	flex-direction: column;
	min-width: 0;
	border: 0;
	border-radius: var(--pa-r-4);
	background: #FAF4EB; /* o tom das fotos da biblioteca: a ficha inteira numa cor só */
	box-shadow: 0 0 0 1px rgba(59, 30, 15, .06), 0 1px 2px rgba(59, 30, 15, .04); /* anel: a ficha não some no pico do gradiente (crítica UI A2) */
	overflow: hidden;
}
.pa-nota__img { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 6 / 5; overflow: hidden; background: #FAF4EB; }
.pa-nota__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.pa-nota__img svg { width: 28px; height: 28px; fill: none; stroke: var(--pa-ambar-texto); stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; opacity: .7; }
.pa-nota__rot { display: block; padding: var(--pa-e-12) var(--pa-e-12) 0; font-family: var(--pa-sans); font-size: var(--pa-fs-12); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--pa-ambar-texto); }
.template-product .pa-nota .pa-nota__nomes { list-style: none; margin: var(--pa-e-8) 0 0; padding: 0 var(--pa-e-12) var(--pa-e-16); font-family: var(--pa-sans); font-size: 13px; font-weight: 400; line-height: 1.35; color: var(--pa-tinta-2); }
/* lista compacta, alinhada à etiqueta: zera o recuo/margem de li herdados da descrição */
.template-product .pa-nota .pa-nota__nomes li { display: block; list-style: none; margin: 0 0 var(--pa-e-8) !important; padding: 0 !important; text-indent: 0; max-width: none; overflow-wrap: break-word; line-height: 18px; } /* entrelinha 18 e 8 entre notas: nota quebrada não lê como duas (crítica UI A1) */
.template-product .pa-nota .pa-nota__nomes li::before { content: none; }
@media (min-width: 768px) {
	.pa-cheiro__txt { -webkit-line-clamp: 4; line-clamp: 4; }
	.pa-nota__img { aspect-ratio: 3 / 2; }
	.pa-notas { gap: var(--pa-e-16); margin-bottom: var(--pa-e-24); }
	.template-product .pa-descricao--acc .pa-cheiro { max-width: 72ch; }
	.template-product .pa-descricao--acc .pa-notas { max-width: 760px; margin-left: 0; margin-right: 0; }
	.pa-nota__rot { padding: var(--pa-e-16) var(--pa-e-24) 0; font-size: var(--pa-fs-12); letter-spacing: .14em; }
	.template-product .pa-nota .pa-nota__nomes { padding: 0 var(--pa-e-24) var(--pa-e-24); font-size: var(--pa-fs-14); line-height: 1.35; }
	.template-product .pa-nota .pa-nota__nomes li { line-height: 19px; }
}

/* ================= TASK 11: relacionados ================= */
/* relacionados: título de seção (padrao-ui §3.1): serifado 600, 26px celular / 36px desktop, 24/32px até os cards */
.template-product .section-products-related h2,
.template-product .section-products-related .h3 { font-family: var(--pa-serif); font-weight: 600; font-size: var(--pa-fs-26); line-height: var(--pa-lh-titulo); text-align: center; margin: 0 auto var(--pa-e-24); }
@media (min-width: 768px) {
	.template-product .section-products-related h2,
	.template-product .section-products-related .h3 { font-size: var(--pa-fs-36); margin-bottom: var(--pa-e-32); }
}
.template-product .section-products-related .pa-card .item-price { font-size: var(--pa-fs-16); }
.template-product .section-products-related .pa-card .pa-card-parcela,
.template-product .section-products-related .pa-card .item-installments { display: none; }

/* ================= TASK 04: filtros em bottom sheet (celular) ================= */
.pa-sheet-pe { display: none; }
@media (max-width: 767px) {
	.template-category .category-controls { padding: var(--pa-e-8) 0; }
	.template-category .category-control-item > a { min-height: 48px; display: flex !important; align-items: center; justify-content: center; }
	#nav-filters.modal {
		top: auto !important;
		left: 0 !important;
		right: 0 !important;
		bottom: -100%;
		width: 100% !important;
		height: auto;
		max-height: 86vh;
		transform: none !important;
		border-radius: var(--pa-r-8) var(--pa-r-8) 0 0;
		flex-direction: column;
		overflow: hidden;
		background: var(--pa-branco);
	}
	/* display fica com o store.js (.show()/.hide() inline): fechado = display:none */
	#nav-filters.modal.modal-show { bottom: 0; display: flex !important; }
	#nav-filters .modal-header { flex: 0 0 auto; border-bottom: 1px solid var(--pa-linha); font-family: var(--pa-serif); font-size: var(--pa-fs-18); }
	#nav-filters .modal-body { flex: 1 1 auto; overflow-y: auto; height: auto !important; -webkit-overflow-scrolling: touch; }
	.pa-sheet-pe {
		display: flex;
		flex: 0 0 auto;
		gap: var(--pa-e-12);
		padding: var(--pa-e-12) var(--pa-gutter) calc(var(--pa-e-12) + env(safe-area-inset-bottom));
		border-top: 1px solid var(--pa-linha);
		background: var(--pa-branco);
	}
	.pa-sheet-limpar {
		flex: 0 0 auto;
		display: inline-flex;
		align-items: center;
		padding: 0 var(--pa-e-16);
		min-height: 48px;
		border: 1px solid var(--pa-linha);
		border-radius: var(--pa-r-4);
		font-family: var(--pa-sans);
		font-size: var(--pa-fs-14);
		color: var(--pa-tinta);
	}
	.pa-sheet-limpar[aria-disabled="true"] { color: var(--pa-tinta-2); pointer-events: none; opacity: .6; }
	.pa-sheet-ver {
		flex: 1 1 auto;
		min-height: 48px;
		border: 0;
		border-radius: var(--pa-r-4);
		background: var(--pa-noite);
		color: var(--pa-marfim);
		font-family: var(--pa-sans);
		font-size: var(--pa-fs-14);
		font-weight: 600;
		letter-spacing: .1em;
		text-transform: uppercase;
	}
}

/* ================= ordem do dono: desktop do produto equilibrado ================= */
.pa-editorial { margin: var(--pa-e-16) 0; padding: var(--pa-e-16) 0; border-top: 1px solid var(--pa-linha); border-bottom: 1px solid var(--pa-linha); }
.pa-editorial svg { width: 20px; height: 20px; flex: 0 0 20px; fill: none; stroke: var(--pa-ambar-texto); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.pa-editorial__orig { display: flex; gap: var(--pa-e-12); align-items: flex-start; }
.pa-editorial__t, .pa-editorial__sobre {
	font-family: var(--pa-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--pa-tinta);
	margin: 0 0 var(--pa-e-4);
}
.pa-editorial__orig p { margin: 0 0 var(--pa-e-4); font-size: var(--pa-fs-14); line-height: 1.5; color: var(--pa-tinta-2); }
.pa-editorial__link { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--pa-ambar-texto); text-decoration: underline; text-underline-offset: 3px; }
.pa-editorial__sobre { margin-top: var(--pa-e-24); }
.pa-editorial__micro { list-style: none; margin: var(--pa-e-12) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--pa-e-16); }
.pa-editorial__micro li { display: flex; flex-direction: column; gap: var(--pa-e-4); font-size: var(--pa-fs-12); line-height: 1.4; color: var(--pa-tinta-2); }
.pa-editorial__micro strong { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--pa-tinta); }
/* celular: compacto — os 3 micro já estão na linha de garantias antes do CTA */
@media (max-width: 767px) {
	.pa-editorial__sobre, .pa-editorial__micro { display: none; }
}
@media (min-width: 768px) {
	/* no desktop o bloco da esquerda substitui a linha de 3 da direita (sem duplicar) */
	.template-product #single-product > .container > .row { align-items: flex-start; }
	/* sticky no próprio col (o bloco contido é a .row inteira, alta pela coluna direita) */
	.template-product .pa-galeria-col { max-width: 600px; }
	/* thumbs abaixo da foto */
	.template-product [data-store^="product-image"] { flex-direction: column; }
	.template-product [data-store^="product-image"] > .col-md-auto { order: 2; flex: 0 0 auto; max-width: 100%; width: 100%; margin-top: var(--pa-e-12) !important; padding: 0 var(--pa-e-16); }
	.template-product [data-store^="product-image"] > .col-md { flex: 0 0 auto; width: 100%; max-width: 100%; }
	.template-product .product-thumbs-container .swiper-button-prev,
	.template-product .product-thumbs-container .swiper-button-next { display: none !important; }
	.template-product .js-swiper-product-thumbs { height: auto !important; }
	.template-product .js-swiper-product-thumbs .swiper-wrapper { flex-direction: row !important; }
	.template-product .js-swiper-product-thumbs .swiper-slide { width: 72px !important; height: auto !important; margin-right: var(--pa-e-8); }
	.template-product .product-thumb { width: 72px; margin: 0 !important; }
	.template-product .pa-editorial { margin: var(--pa-e-24) var(--pa-e-16) 0; }
}

/* vão até "Você também pode gostar": a margem vem só do fio (::before, 40px) e do fim da descrição */
.template-product #single-product { padding-bottom: 0 !important; }
.pa-calc-frete { margin: 0 0 var(--pa-e-12) !important; padding: 0 !important; }
.template-product .page-header .breadcrumbs { margin-bottom: var(--pa-e-12); }
/* miniaturas quadradas (swiper estica o slide na altura do contêiner) */
.template-product .js-swiper-product-thumbs .swiper-wrapper { align-items: flex-start; height: auto !important; }
.template-product .js-swiper-product-thumbs .swiper-slide { height: auto !important; }
.template-product .js-swiper-product-thumbs { height: auto !important; }
.template-product .product-thumb { height: 0 !important; }
@media (min-width: 768px) {
	.template-product .product-thumbs-container,
	.template-product .js-swiper-product-thumbs { width: 100% !important; max-width: 100% !important; }
}

/* ================= régua do dono (28/09) ================= */
.pa-ultima-peca { display: none !important; }
.pa-migalha {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 11px !important;
	margin: 0 0 var(--pa-e-12);
	padding-top: var(--pa-e-4);
}
.pa-lupa {
	position: absolute;
	top: var(--pa-e-12);
	right: var(--pa-e-12);
	z-index: 6;
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--pa-linha);
	border-radius: var(--pa-r-pill);
	background: var(--pa-branco);
	cursor: zoom-in;
}
.pa-lupa svg { width: 18px; height: 18px; fill: none; stroke: var(--pa-tinta); stroke-width: 1.4; stroke-linecap: round; }
/* parcela: texto em tinta, "sem juros" em âmbar */
.template-product .js-max-installments-container { color: var(--pa-tinta) !important; }
.template-product .js-max-installments > span:last-child { color: var(--pa-ambar-texto); }
.template-product .pa-confianca { gap: 6px; padding: var(--pa-e-12) var(--pa-e-16); margin-top: 0; }
@media (max-width: 767px) {
	/* celular: a caixa de 5 já cobre originalidade → bloco editorial não se repete */
	.template-product .pa-editorial { display: none; }
}
@media (min-width: 768px) {
	.template-product h1.js-product-name { font-size: 30px; line-height: 1.2; }
	.template-product #price_display { font-size: 23px; }
	.template-product [data-store^="product-image"] > .col-md { padding-left: 0 !important; padding-right: 0 !important; }
	.template-product [data-store^="product-image"] > .col-md-auto { padding: 0 !important; }
	.template-product .pa-galeria-col { max-width: 600px; }
	/* bloco editorial: caixa marfim, selo em círculo, 3 microcaixas brancas */
	.template-product .pa-editorial { margin: var(--pa-e-16) 0 0; padding: var(--pa-e-16); border: 0; background: var(--pa-marfim); border-radius: var(--pa-r-4); }
	.pa-editorial__selo { width: 44px !important; height: 44px !important; flex: 0 0 44px !important; padding: 10px; border: 1px solid var(--pa-areia); border-radius: var(--pa-r-pill); background: var(--pa-branco); }
	.pa-editorial__sobre { display: none; }
	.pa-editorial__micro { margin-top: var(--pa-e-16); gap: var(--pa-e-8); }
	.pa-editorial__micro li { background: var(--pa-branco); padding: var(--pa-e-12); border-radius: var(--pa-r-4); display: grid; grid-template-columns: 22px 1fr; column-gap: var(--pa-e-8); row-gap: 2px; align-items: start; }
	.pa-editorial__micro li svg { grid-row: span 2; width: 22px; height: 22px; }
}
.template-product .pa-confianca li { text-align: left; }
.template-product .js-max-installments,
.template-product .js-max-installments > span { color: var(--pa-tinta) !important; }
.template-product .js-max-installments > span:last-child { color: var(--pa-ambar-texto) !important; }
.template-product .product-shipping-calculator { margin-bottom: 0; }
.template-product #product_form .mb-4.pb-2:has(#product-shipping-container) { margin-bottom: var(--pa-e-12) !important; padding-bottom: 0 !important; border: 1px solid var(--pa-linha); border-radius: var(--pa-r-4); padding: 0 var(--pa-e-12) !important; }
@media (min-width: 768px) {
	.template-product #single-product > .container > .row > .col-md-7 { flex: 0 0 48%; max-width: 48%; }
	.template-product #single-product > .container > .row > .col { padding-left: var(--pa-e-40); }
}
@media (min-width: 768px) {
	.template-product .pa-galeria-col > [data-store^="product-image"] { margin-left: 0; margin-right: 0; }
}
/* régua: placeholder longo cabe a 390 nas internas (o texto digitado segue o tamanho do campo) */
@media (max-width: 767px) {
	body:not(.template-home) .head-main .js-search-form .search-input::placeholder { font-size: calc(var(--pa-fs-14) - 1px); }
}
/* ajustes UI 28/09 (item 1): "Comprar agora" dentro da 1ª tela a 390×800.
   Só respiro e altura da galeria (foto inteira, contain; nada escondido):
   galeria mantida (dono: foto não encolhe), margens verticais 16/24 → 8/12. Medido: CTA 933 → 735. */
@media (max-width: 767px) {
	.template-product .pa-migalha { margin-bottom: 4px; }
	.template-product .col-md-7.pb-4 { padding-bottom: 8px !important; }
	.template-product h1.js-product-name { margin-bottom: 8px !important; }
	.template-product .js-price-container { margin-bottom: 8px !important; }
	.template-product .js-product-payments-container { margin-bottom: 8px !important; }
	.template-product .js-max-installments-container { margin-bottom: 4px !important; }
	.template-product .pa-garantias { margin: 8px 0 0; padding-top: 8px; padding-bottom: 8px; }
	.template-product .js-product-form.mt-4 { margin-top: 12px !important; }
	/* item 2: banner de cookies da Nuvemshop sobe acima da barra fixa enquanto ela aparece */
	body.pa-com-sticky .js-notification-cookie-banner { bottom: var(--pa-sticky-h, 61px) !important; }
}

/* categoria (29/09, dono): 3 produtos por linha no desktop — a coluna de filtros
   deixava 4 cards estreitos e um vão embaixo dela */
@media (min-width: 768px) {
  body.template-category .js-product-table > .js-item-product,
  body.template-search .js-product-table > .js-item-product { flex: 0 0 33.3333%; max-width: 33.3333%; }
}
/* "Ordenar por" na linha das pílulas, à direita */
@media (min-width: 768px) {
  .pa-pilulas { display: flex; align-items: center; justify-content: space-between; gap: var(--pa-e-16); }
  .pa-ordenar { margin-left: auto; flex: none; }
  .pa-ordenar__caixa { margin: 0; }
  .pa-ordenar__rotulo { font-family: var(--pa-sans); font-size: var(--pa-fs-14); color: var(--pa-tinta-2); white-space: nowrap; }
  .pa-ordenar select { min-width: 190px; border-radius: 999px; padding-left: var(--pa-e-16); }
}
/* faixas de preço: link de um clique, no mesmo desenho das pílulas */
.pa-faixas-preco { margin-bottom: var(--pa-e-16); }
.pa-faixas-preco li { margin-bottom: var(--pa-e-8); }
.pa-faixas-preco a {
  display: inline-block; font-size: var(--pa-fs-14); color: var(--pa-tinta);
  padding: 6px 14px; border: 1px solid var(--pa-linha, #e6dccb); border-radius: 999px; text-decoration: none;
}
.pa-faixas-preco a:hover, .pa-faixas-preco a.is-ativa { background: var(--pa-tinta); color: var(--pa-marfim); border-color: var(--pa-tinta); }
/* campos De/Até: título nativo some (já há "Preço" acima), campos e botão arredondados */
body.template-category .price-filter-container .h6, body.template-search .price-filter-container .h6 { display: none; }
body.template-category .filter-input-price, body.template-search .filter-input-price { border-radius: 999px; }
body.template-category .price-filter-container .btn, body.template-search .price-filter-container .btn { border-radius: 999px; background: var(--pa-tinta); color: var(--pa-marfim); }

/* ================= reorganização da página de produto (30/09, mockup do dono) =================
   "Reorganizar o que já existe": esquerda só galeria; direita marca, nome, RESUMO, preço,
   vantagens, compra, frete, caixa; abaixo das duas colunas a descrição em faixa centralizada,
   divisor e "Você também pode gostar" na largura do container. */
.pa-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* bloco editorial: a caixa .pa-confianca da direita já diz o mesmo (celular já o ocultava) */
.template-product .pa-editorial { display: none !important; }

/* resumo logo abaixo do nome */
.template-product .pa-resumo { margin: 0 0 var(--pa-e-16); }
.template-product .pa-resumo__txt { font-family: var(--pa-sans); font-size: var(--pa-fs-14); line-height: var(--pa-lh-texto); color: var(--pa-tinta-2); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.template-product .pa-resumo__txt p { margin: 0; font-size: inherit; color: inherit; line-height: inherit; }
.template-product .pa-resumo__txt p + p { margin-top: var(--pa-e-8); }
.template-product .pa-resumo--aberto .pa-resumo__txt { display: block; -webkit-line-clamp: unset; line-clamp: unset; overflow: visible; }
.pa-resumo__mais { position: relative; display: inline-block; margin-top: var(--pa-e-4); padding: var(--pa-e-4) 0; background: none; border: 0; font-family: var(--pa-sans); font-size: var(--pa-fs-12); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pa-ambar-texto); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
/* área de toque >= 44px sem mudar o layout (padrao-ui, WCAG 2.5.5) */
.pa-resumo__mais::after { content: ""; position: absolute; inset: -11px -8px; }
@media (min-width: 768px) {
	.template-product .pa-resumo__txt { font-size: var(--pa-fs-16); line-height: 24px; -webkit-line-clamp: 3; line-clamp: 3; }
	/* barra de vantagens um pouco mais presente */
	.template-product .pa-garantias { padding: var(--pa-e-16) var(--pa-e-8); background: var(--pa-marfim); border: 0; border-radius: var(--pa-r-4); }
	.template-product .pa-garantias li { font-weight: 600; }
	.template-product .pa-garantias li + li { border-left-color: var(--pa-areia); }
	/* galeria acompanha a rolagem da compra (coluna direita é bem mais alta) */
	.template-product .pa-galeria-col { position: sticky; top: calc(var(--pa-topo, 80px) + var(--pa-e-16)); }
}

/* descrição: fora das colunas, centralizada, sem o título "Descrição" */
.template-product [data-store^="product-description"] { padding-left: var(--pa-gutter); padding-right: var(--pa-gutter); }
.template-product .pa-desc-wrap { max-width: 920px; margin: 0 auto; display: flow-root; }
.template-product .pa-desc-wrap .social-share { margin-bottom: 0 !important; }
.template-product .pa-desc-wrap > h6 { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.template-product .pa-desc-wrap .pa-acc__corpo p,
.template-product .pa-desc-wrap li { max-width: 72ch; }
/* opção A (celular, escolhida pelo Bruno 30/09): o JS põe .pa-resumo--sob-compra quando PA_RESUMO_MOBILE_SOB_COMPRA = true */
@media (max-width: 767px) {
	.template-product .pa-resumo.pa-resumo--sob-compra { margin: var(--pa-e-16) 0 0; }
}
.template-product .pa-desc-wrap .js-pa-descricao { margin-bottom: 0 !important; }
.template-product [data-store^="product-description"] { padding-bottom: var(--pa-e-40) !important; }
@media (min-width: 768px) {
	.template-product [data-store^="product-description"] { padding-top: var(--pa-e-64); }
	/* divisor fino + relacionados na largura do container */
	.template-product .section-products-related { margin-top: 0 !important; padding-top: 0 !important; }
	.template-product .section-products-related > .container::before { content: ""; display: block; border-top: 1px solid var(--pa-linha); margin-bottom: var(--pa-e-40); }
}

/* "Compartilhar" descolado do fio do último acordeão (todas as larguras) */
.template-product .pa-desc-wrap .social-share { margin-top: var(--pa-e-16) !important; }

/* ================= celular do produto (mockup do dono, 30/09) =================
   nome 26/600 serif → resumo 16 (clamp 3 + Ler mais) → preço 32 → vantagens 3 colunas → COMPRAR 52px →
   notas em pista (~1,3 card) → acordeões ≥ 48px → fio dourado → "Você também pode gostar" à esquerda. Sem estrelas (não há avaliação real).
   Sem linha de parcelas própria: o tema já imprime a nativa (.js-max-installments-container) quando a loja
   tem parcelamento configurado; aqui só o tamanho. Nada é calculado no JS. */
@media (max-width: 767px) {
	.template-product h1.js-product-name { font-size: var(--pa-fs-26); font-weight: 600; line-height: var(--pa-lh-titulo); margin-bottom: var(--pa-e-12) !important; }
	.template-product .pa-resumo { margin: 0 0 var(--pa-e-16); }
	.template-product .pa-resumo__txt { font-size: var(--pa-fs-16); line-height: 24px; }
	.template-product #price_display { font-size: var(--pa-fs-32) !important; line-height: 1.1; font-weight: 600; color: var(--pa-tinta); } /* .font-huge do tema é !important */
	.template-product .js-max-installments-container,
	.template-product .js-max-installments { font-size: var(--pa-fs-16); }
	/* barra de vantagens: fundo branco, fio em cima e embaixo, divisórias verticais */
	.template-product .pa-garantias { gap: 0; margin: var(--pa-e-16) 0; padding: var(--pa-e-12) 0; background: none; }
	/* cada item empilhado: ícone 28 px centralizado em cima, texto 13/1,3 centralizado embaixo (máx. 2 linhas) */
	.template-product .pa-garantias li { flex-direction: column; justify-content: flex-start; gap: var(--pa-e-8); padding: 0 8px; font-size: var(--pa-fs-14); line-height: 20px; text-align: center; }
	@media (max-width: 359px) { .template-product .pa-garantias li { font-size: var(--pa-fs-12); line-height: 16px; } }
	.template-product .pa-garantias li + li { padding-left: 8px; }
	.template-product .pa-garantias svg { flex: 0 0 28px; width: 28px; height: 28px; }
	/* quebras fixas só no celular; "para" fica só para leitor de tela (a copy completa segue no DOM) */
	.pa-br-mob { display: inline; }
	.pa-sr-mob { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	/* COMPRAR AGORA (preto cheio) e ADICIONAR AO CARRINHO (contorno dourado) com a mesma altura, 52px; o contorno já faz o secundário */
	.template-product .pa-btn-comprar { min-height: 52px; }
	.template-product .pa-add-col .btn-add-to-cart { min-height: 52px; }
	/* acordeões ≥ 48px, fio sutil entre eles (já vem de .pa-acc) */
	.template-product .pa-descricao--acc .pa-acc__bt { min-height: 56px; font-size: var(--pa-fs-18); }
	/* fio dourado + relacionados alinhados à esquerda */
	.template-product .section-products-related { margin-top: 0 !important; padding-top: 0 !important; }
	.template-product .section-products-related > .container::before { content: ""; display: block; border-top: 1px solid var(--pa-ambar); margin-bottom: var(--pa-e-32); }
	.template-product .section-products-related h2,
	.template-product .section-products-related .h3 { text-align: left; margin-left: 0; color: var(--pa-tinta); }
	/* alvo de toque de 44 px sem mudar o desenho */
	.template-product .js-quantity-down, .template-product .js-quantity-up { position: relative; }
	.template-product .js-quantity-down::after, .template-product .js-quantity-up::after { content: ""; position: absolute; inset: -7px; }
	/* a margem de 20 px do .form-group da quantidade empurrava o carrinho: 31 → 12 px entre os botões */
	.template-product .js-quantity.form-group { margin-bottom: 0; }
}
/* lupa da galeria: 34px visíveis, alvo de 44px */
.pa-lupa::after { content: ""; position: absolute; inset: -6px; }

@media (min-width: 768px) { .pa-br-mob { display: none; } }

/* ================= Galeria (padrao-ui 3.13, v1.13, critico-ui 30/09) =================
   Miniaturas: quadro 72x72 exato, gap 8, foto inteira (contain) sobre creme; ativa com borda de 2px marrom (13,97:1; o âmbar de 1px dava 2,11:1).
   Na causa do defeito no ar: a img do tema media 50x100 com translateX(-25px) (53% visível) e o slot 52x54 pelo padding-bottom.
   Palco principal sempre 1:1 com a foto inteira (contain); sem autoHeight, para a página não pular ao trocar de foto. */
.template-product .js-swiper-product-thumbs .swiper-slide { width: 72px !important; height: auto !important; margin-right: var(--pa-e-8) !important; }
.template-product .product-thumb { position: relative; box-sizing: border-box; width: 72px !important; height: auto !important; aspect-ratio: 1 / 1; padding: 0 !important; margin: 0 !important; border: 1px solid var(--pa-linha) !important; border-radius: var(--pa-r-4); overflow: hidden; }
.template-product .product-thumb img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; max-width: none; transform: none; object-fit: contain; mix-blend-mode: multiply; }
.template-product .product-thumb.selected { border-color: var(--pa-linha) !important; }
.template-product .product-thumb.selected::after { content: ""; position: absolute; inset: 0; border: 2px solid var(--pa-tinta); border-radius: var(--pa-r-4); pointer-events: none; }
.template-product .product-thumbs-container .swiper-button-prev,
.template-product .product-thumbs-container .swiper-button-next { display: none !important; }
@media (max-width: 767px) {
	.template-product .js-swiper-product-thumbs { margin-right: -15px; }
	/* "Envio e prazo de entrega" no bloco de compra, 12px abaixo da caixa de confiança, com o desenho do desktop */
	.template-product .pa-confianca { margin-bottom: var(--pa-e-12); }
}
.template-product .js-product-slide-link { padding-bottom: 100% !important; }
.template-product .product-slider-image { top: 0; left: 0; width: 100%; height: 100%; max-width: none; transform: none; object-fit: contain; }

/* ================= prova Fragrantica (Bruno, 30/09; mockup agents/shots/2026-09-30/mockup-prova-fragrantica-bruno.webp) =================
   Entre o nome e o preço: caixa marfim raio 4, 2 linhas (nota + ocasião), sem link. Só existe se o resumo começa com "★". */
.template-product .pa-resumo--prova { margin: 0 0 var(--pa-e-16); }
.pa-prova { display: grid; gap: var(--pa-e-8); padding: var(--pa-e-12) var(--pa-e-16); background: var(--pa-marfim); border-radius: var(--pa-r-4); font-family: var(--pa-sans); font-size: var(--pa-fs-14); line-height: 20px; color: var(--pa-tinta); }
.pa-prova__l { display: flex; align-items: flex-start; gap: var(--pa-e-12); }
.pa-prova__ic { flex: 0 0 20px; width: 20px; height: 20px; display: block; }
.pa-prova__ic svg { display: block; width: 20px; height: 20px; }
.pa-prova__l--sem-ic .pa-prova__ic { visibility: hidden; }
.pa-prova__col { min-width: 0; }
.pa-prova__txt { min-width: 0; text-wrap: pretty; }
.pa-prova__txt strong { font-weight: 600; }
.pa-prova__data { margin-top: 2px; font-size: var(--pa-fs-12); line-height: 16px; color: var(--pa-tinta-2); }
@media (min-width: 768px) {
	.pa-prova { padding: var(--pa-e-16); font-size: var(--pa-fs-16); line-height: 24px; }
	.pa-prova__ic { flex-basis: 24px; width: 24px; height: 24px; margin-top: 0; }
	.pa-prova__ic svg { width: 24px; height: 24px; }
	.pa-prova__data { font-size: var(--pa-fs-14); line-height: 20px; }
}
