/* 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); }
.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: 10px;
	letter-spacing: .12em;
	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(246, 239, 227, .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: 48px;
	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: 44px;
	background: transparent;
	border: 1px solid var(--pa-ambar);
	border-radius: var(--pa-r-4);
	color: var(--pa-ambar-texto);
	font-family: var(--pa-sans);
	font-size: var(--pa-fs-12);
	font-weight: 600;
	letter-spacing: .12em;
	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; }

/* 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); }

/* relacionados: título serifado */
.template-product .section-products-related h2,
.template-product .section-products-related .h3 { font-family: var(--pa-serif); font-weight: 500; }

/* 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(14, 11, 20, .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 .js-swiper-product-thumbs .swiper-slide { width: 52px !important; }
	.template-product .product-thumb { width: 52px; }
	.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-12); line-height: 1.45; 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; }

/* ================= TASK 09: notas em 3 cards ================= */
.pa-notas {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--pa-e-12);
	margin-bottom: var(--pa-e-8);
}
.pa-nota {
	display: flex;
	flex-direction: column;
	padding: var(--pa-e-16);
	border: 1px solid var(--pa-linha);
	border-radius: var(--pa-r-4);
	background: var(--pa-branco);
}
/* notas visuais (28/09): faixa 16:9 com os elementos recortados da biblioteca do dono.
   Fundo = o marfim dos próprios recortes (#FAF4EB), senão aparece a emenda da foto. */
.pa-nota__img {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 5 / 2; /* 28/09 (Bruno): faixa mais baixa, texto em primeiro plano */
	margin: calc(-1 * var(--pa-e-8)) calc(-1 * var(--pa-e-8)) var(--pa-e-12);
	padding: var(--pa-e-8);
	border-radius: var(--pa-r-4);
	background: #FAF4EB;
	overflow: hidden;
}
.pa-nota__img img { flex: 1 1 0; min-width: 0; height: 100%; object-fit: contain; }
.pa-nota__nomes { display: block; font-family: var(--pa-sans); font-size: var(--pa-fs-12); font-weight: 600; line-height: 1.4; color: var(--pa-tinta); margin-bottom: var(--pa-e-8); }
.pa-nota .pa-nota__txt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; }
.pa-nota--aberta .pa-nota__txt { display: block; -webkit-line-clamp: none; line-clamp: none; overflow: visible; }
.pa-nota__mais { align-self: flex-start; margin-top: auto; padding: var(--pa-e-8) 0 0; border: 0; background: none; font-family: var(--pa-sans); font-size: 12px; font-weight: 400; letter-spacing: .02em; color: var(--pa-tinta-2); text-decoration: underline; text-decoration-color: rgba(106,101,112,.4); text-underline-offset: 3px; cursor: pointer; } /* discreto, sem cara de botão */
.pa-nota svg { display: block; width: 22px; height: 22px; fill: none; stroke: var(--pa-ambar-texto); stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; margin-bottom: var(--pa-e-8); }
.pa-nota__rot { display: block; font-family: var(--pa-sans); font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--pa-tinta); margin-bottom: var(--pa-e-8); }
.pa-nota p { margin: 0; font-size: var(--pa-fs-12); line-height: 1.5; color: var(--pa-tinta-2); }
/* celular: prosa longa não cabe em 3 colunas a 390 → pista horizontal com snap */
@media (max-width: 767px) {
	.pa-notas {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		margin-right: calc(-1 * var(--pa-gutter));
		padding-right: var(--pa-gutter);
	}
	.pa-notas::-webkit-scrollbar { display: none; }
	.pa-nota { flex: 0 0 78%; scroll-snap-align: start; }
}

/* ================= TASK 11: relacionados ================= */
.template-product .section-products-related h2,
.template-product .section-products-related .h3 { font-family: var(--pa-serif); font-weight: 500; text-align: center; }
.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": respiro padrão entre seções */
.template-product #single-product { padding-bottom: 0 !important; }
.template-product .section-products-related { margin-top: calc(var(--pa-e-24) * 2) !important; padding-top: 0 !important; }
@media (min-width: 768px) {
	.template-product .section-products-related { margin-top: var(--pa-e-64) !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; }
	/* relacionados dentro da coluna esquerda */
	.pa-rel-na-galeria { margin-top: var(--pa-e-32) !important; padding: 0 !important; }
	.pa-rel-na-galeria > .container { max-width: 100%; padding: 0; }
	.pa-rel-na-galeria h2, .pa-rel-na-galeria .h3 { text-align: left !important; font-size: var(--pa-fs-22) !important; margin-bottom: var(--pa-e-16) !important; }
}
.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; }
	/* 1px de rolagem lateral: o painel das notas começa em x=15, não 16 (medido) */
	.template-product .pa-notas { margin-right: -15px; }
	/* 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); }
