/* ==========================================================================
   Doctor Mouse · products_view.css — PDP, a "tela de compra"
   Port de site/assets/css/pages/produto.css (demo). Só tokens da base (style.css).
   Componentes compartilhados (price, badge, stock, ftag, pair, notify, field, btn, pcard, rail,
   breadcrumb, readout, theme-dark, mm-grid) vêm do style.css; aqui ficam só as peças da PDP.
   ========================================================================== */

:root { --pdp-top: var(--hdr-top); }

.pdp { padding-top: var(--space-1); }
@media (min-width: 1024px) { .pdp { padding-top: var(--space-2); } }
.pdp-crumbs { display: none; }
@media (min-width: 1024px) {
	.pdp-crumbs { display: block; }
	.pdp-back { display: none; }
}
.pdp-crumbs [aria-current="page"] { overflow-wrap: anywhere; }
.pdp-back { min-height: 36px; margin-left: -2px; }
.pdp-top { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2); margin-top: 0; }
@media (min-width: 1024px) {
	.pdp-top { grid-template-columns: minmax(0, 1fr) var(--pdp-buybox); gap: var(--space-10); margin-top: var(--space-2); align-items: start; }
}
@media (min-width: 1280px) { .pdp-top { gap: var(--space-12); } }

/* ---------- Galeria ---------- */
.pdp-gal { min-width: 0; }
@media (min-width: 1024px) {
	.pdp-gal { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: var(--space-3); align-items: start; position: sticky; top: calc(var(--pdp-top) + var(--space-4)); }
	.pdp-gal:not(:has(.pdp-gal__thumbs)) { grid-template-columns: minmax(0, 1fr); }
}
.pdp-gal__thumbs { display: none; }
@media (min-width: 1024px) {
	.pdp-gal__thumbs { display: flex; flex-direction: column; gap: var(--space-2); max-height: min(640px, calc(100vh - var(--pdp-top) - 96px)); overflow-y: auto; scrollbar-width: thin; padding: 2px; margin: -2px; }
}
.pdp-gal__thumb { flex: none; width: 72px; height: 72px; padding: 0; border: 1px solid var(--color-border); border-radius: var(--radius-sm); cursor: pointer; overflow: hidden; transition: border-color var(--duration-fast); }
.pdp-gal__thumb:hover { border-color: var(--color-border-strong); }
.pdp-gal__thumb[aria-current="true"] { border-color: var(--color-primary); box-shadow: inset 0 0 0 1px var(--color-primary); }
.pdp-gal__thumb:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
.pdp-gal__main { position: relative; width: min(100%, var(--pdp-gallery-max-h-mobile)); margin-inline: auto; }
@media (min-width: 600px) and (max-width: 1023.98px) { .pdp-gal__main { width: min(100%, 56vh); } }
@media (min-width: 1024px) { .pdp-gal__main { width: 100%; max-width: min(640px, calc(100vh - var(--pdp-top) - 96px)); margin-inline: 0 auto; } }
.pdp-gal__track {
	display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain;
	border-radius: var(--radius-md); aspect-ratio: 1; background: var(--color-stage);
}
.pdp-gal__track::-webkit-scrollbar { display: none; }
.pdp-gal__track:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
.pdp-gal__track--empty { display: grid; place-items: center; color: var(--color-text-3); }
.pdp-gal__slide { flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; }
.pdp-gal__zoom { display: grid; width: 100%; height: 100%; border: 0; border-radius: 0; padding: 0; cursor: zoom-in; }
.pdp-gal__zoom img { -webkit-user-drag: none; user-select: none; }
.pdp-gal__zoom:focus-visible { outline: none; box-shadow: inset 0 0 0 3px var(--color-focus-ring); }
.pdp-gal__badges { position: absolute; top: var(--space-3); left: var(--space-3); z-index: 1; pointer-events: none; }
@media (min-width: 1024px) { .pdp-gal__badges { display: none; } }
.pdp-gal__nav {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 1;
	background: rgb(255 255 255 / 0.85); color: var(--ink-900); border-radius: 50%; box-shadow: var(--shadow-sm);
}
.pdp-gal__nav:hover { background: #fff; }
.pdp-gal__nav:disabled { opacity: 0.35; }
.pdp-gal__nav--prev { left: var(--space-2); }
.pdp-gal__nav--next { right: var(--space-2); }
.pdp-gal__count {
	position: absolute; right: var(--space-3); bottom: var(--space-3); margin: 0;
	padding: 2px var(--space-2); border-radius: var(--radius-pill);
	background: rgb(11 12 16 / 0.72); color: #fff; font-size: var(--text-xs); font-weight: var(--weight-semibold); font-variant-numeric: var(--numeric-price);
}

/* ---------- Caixa de compra ---------- */
.pdp-buy { min-width: 0; display: flex; flex-direction: column; gap: var(--space-2); }
@media (min-width: 1024px) { .pdp-buy { gap: var(--space-3); } }
.pdp-buy__top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); min-height: 20px; }
.pdp-brand {
	display: inline-flex; align-items: center; gap: var(--space-1); min-height: 32px;
	font-size: var(--text-xs); font-weight: var(--weight-bold); letter-spacing: var(--tracking-caps); text-transform: uppercase;
	color: var(--color-text-2); text-decoration: none;
}
.pdp-buy__top .pdp-brand { min-height: 20px; }
.pdp-brand svg { width: 14px; height: 14px; }
.pdp-brand:hover { color: var(--color-link); }
.pdp-badges { display: none; }
@media (min-width: 1024px) { .pdp-badges { display: flex; } }
.pdp-h1 { font-size: 1.625rem; line-height: 1.08; letter-spacing: -0.01em; margin: calc(-1 * var(--space-2)) 0 0; overflow-wrap: anywhere; }
@media (min-width: 1024px) { .pdp-h1 { font-size: 2.25rem; } }

/* Readout */
.pdp-ro { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: transparent; }
.pdp-ro li { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 6px var(--space-2); }
.pdp-ro li + li { border-left: 1px solid var(--color-border); }
.pdp-ro__v { display: block; font-size: 1.0625rem; color: var(--color-text); overflow-wrap: anywhere; }
.pdp-ro__l { display: block; margin-top: 2px; font-size: var(--text-2xs); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--color-text-3); overflow-wrap: anywhere; }
@media (min-width: 480px) { .pdp-ro__v { font-size: 1.25rem; } .pdp-ro li { padding: var(--space-2) var(--space-3); } }
@media (min-width: 1024px) { .pdp-ro li { padding-block: 6px; } .pdp-ro__v { font-size: 1.375rem; } }

/* Preço */
.pdp-price .price--xl .price__main { row-gap: 2px; }
.pdp-price .price__old-row { margin-bottom: 2px; }
.pdp-price .price--consult { padding: var(--space-2) 0; }
.pdp-price .price--consult .price__consult { font-size: var(--text-xl, 1.25rem); color: var(--color-text); }

/* Variantes */
.pdp-vars { display: grid; gap: var(--space-2); }
.pdp-var { border: 0; padding: 0; margin: 0; min-width: 0; }
.pdp-var__legend { padding: 0; margin-bottom: var(--space-1-5); font-size: var(--text-sm); color: var(--color-text-2); }
.pdp-var__legend strong { color: var(--color-text); font-weight: var(--weight-semibold); }
.pdp-var__opts { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.pdp-opt {
	position: relative; display: inline-flex; align-items: center; justify-content: center; gap: var(--space-1-5);
	min-width: 44px; min-height: 44px; padding: 0 var(--space-3);
	border: 1px solid var(--color-border-strong); border-radius: var(--radius-sm); background: var(--color-surface);
	font: inherit; font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--color-text); cursor: pointer;
	transition: border-color var(--duration-fast), box-shadow var(--duration-fast), opacity var(--duration-fast);
}
.pdp-opt:hover { border-color: var(--color-text); }
.pdp-opt[aria-pressed="true"] { border-color: var(--color-primary); box-shadow: 0 0 0 1px var(--color-primary); }
.pdp-opt:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
.pdp-opt--sw { width: 44px; padding: 0; border-radius: 50%; }
.pdp-opt__sw { width: 32px; height: 32px; border-radius: 50%; background: var(--sw, var(--color-surface-2)); box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.18); }
.pdp-opt.is-out { color: var(--color-text-3); border-style: dashed; background: var(--color-surface-2); }
/* esgotada: etiqueta "esgotado" no botão de texto (o leitor de tela já ouve ", esgotado" do texto oculto: alt vazio) */
.pdp-opt.is-out:not(.pdp-opt--sw)::after {
	content: "esgotado"; content: "esgotado" / "";
	font-size: 0.6875rem; font-weight: var(--weight-semibold); letter-spacing: 0.04em; text-transform: uppercase; color: var(--color-text-3);
}
/* na bolinha de cor, um traço só dentro do círculo */
.pdp-opt--sw.is-out::after {
	content: ""; position: absolute; inset: 6px; border-radius: 50%; pointer-events: none;
	background: linear-gradient(to top right, transparent calc(50% - 1px), var(--color-text-2) calc(50% - 1px), var(--color-text-2) calc(50% + 1px), transparent calc(50% + 1px));
}
.pdp-opt--sw.is-out .pdp-opt__sw { opacity: 0.5; }
.pdp-var__more { margin-top: var(--space-2); }
.pdp-var__more > summary {
	display: inline-flex; align-items: center; gap: var(--space-1); min-height: 32px; list-style: none; cursor: pointer;
	font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--color-text-2);
	text-decoration: underline; text-underline-offset: 3px;
}
.pdp-var__more > summary::-webkit-details-marker { display: none; }
.pdp-var__more > summary:hover { color: var(--color-text); }
.pdp-var__more > summary svg { width: 16px; height: 16px; transition: transform var(--duration-fast); }
.pdp-var__more[open] > summary svg { transform: rotate(180deg); }
.pdp-var__more > .pdp-var__opts { margin-top: var(--space-2); }
/* dentro de "Ver mais N esgotadas" todas estão esgotadas: sem a etiqueta repetida em cada botão */
.pdp-var__more .pdp-opt.is-out::after { content: none; }
/* combinação inexistente com a escolha atual: clicável (troca a outra escolha), mas mais apagada */
.pdp-opt.is-alt:not([aria-pressed="true"]) { border-style: dashed; color: var(--color-text-2); }
.pdp-opt--sw.is-alt:not([aria-pressed="true"]) { border-color: var(--color-text-3); }
.pdp-var__single { margin: 0; font-size: var(--text-sm); color: var(--color-text-2); }
.pdp-var__single strong { color: var(--color-text); }
.pdp-stock:empty { display: none; }
.pdp-stock .stock { margin: 0; font-size: var(--text-sm); }
.pdp-stock .stock--soon { color: var(--color-text-2); }

/* Frete: sem CEP nem custo antes do carrinho; só uma linha positiva curta */
.pdp-ship[hidden], .pdp-free[hidden] { display: none; }
.pdp-free { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); margin: 0; font-size: var(--text-sm); color: var(--color-text-2); line-height: var(--leading-snug); }
.pdp-free strong { color: var(--color-text); font-weight: var(--weight-semibold); }
.pdp-free--info > svg { width: 18px; height: 18px; flex: none; color: var(--color-link); }

/* Opcionais */
.pdp-optionals { display: grid; gap: var(--space-3); }
.pdp-optgroup { border: 0; padding: 0; margin: 0; min-width: 0; }
.pdp-optgroup__list { display: grid; gap: var(--space-2); }
.pdp-optional {
	display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-3);
	min-height: 52px; padding: var(--space-2) var(--space-3);
	border: 1px solid var(--color-border-strong); border-radius: var(--radius-sm); background: var(--color-surface); cursor: pointer;
	transition: border-color var(--duration-fast), background-color var(--duration-fast);
}
.pdp-optional:not(:has(.pdp-optional__img)) { grid-template-columns: auto minmax(0, 1fr) auto; }
.pdp-optional:hover { border-color: var(--color-text); }
.pdp-optional:has(input:checked) { border-color: var(--color-primary); box-shadow: inset 0 0 0 1px var(--color-primary); background: var(--color-primary-soft); }
.pdp-optional:has(input:focus-visible) { box-shadow: var(--shadow-focus); }
.pdp-optional input { width: 20px; height: 20px; margin: 0; accent-color: var(--color-primary); }
.pdp-optional.is-out { cursor: not-allowed; opacity: 0.55; }
.pdp-optional__img { width: 48px; height: 48px; border-radius: var(--radius-xs); }
.pdp-optional__txt { display: grid; gap: 2px; min-width: 0; font-size: var(--text-sm); line-height: var(--leading-snug); }
.pdp-optional__txt strong { font-weight: var(--weight-semibold); color: var(--color-text); }
.pdp-optional__desc { font-size: var(--text-xs); color: var(--color-text-2); }
.pdp-optional__price { font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--color-text); white-space: nowrap; font-variant-numeric: var(--numeric-price); }

/* CTAs */
.pdp-cta__btns { display: grid; gap: var(--space-2); }
.pdp-cta__btns[hidden], .pdp-consult[hidden], .pdp-notify[hidden] { display: none; }
.pdp-cta__add { overflow: hidden; }
.pdp-cta__add span { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pdp-cta__add.is-success { background: transparent; border-color: var(--color-success); color: var(--color-success); }
.pdp-cta__note { margin: 0; font-size: var(--text-sm); color: var(--color-text-2); }
.pdp-consult { display: grid; gap: var(--space-2); }
.pdp-consult p { margin: 0; font-size: var(--text-sm); color: var(--color-text-2); }
.pdp-notify { scroll-margin-top: calc(var(--pdp-top) + var(--space-4)); }
.pdp-notify .notify { padding: var(--space-4); gap: var(--space-3); }
.pdp-notify .notify__title { display: flex; align-items: center; gap: var(--space-1-5); margin: 0; font-size: var(--text-md); }
.pdp-notify .notify__title svg { width: 18px; height: 18px; color: var(--color-link); }
.pdp-notify .field.is-invalid .field__input { border-color: var(--color-danger); }
.pdp-notify__msg { margin: 0; font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.pdp-notify__msg.is-ok { color: var(--color-success); }
.pdp-notify__msg.is-error { color: var(--color-danger); }
.pdp-notify .notify__fine { margin: 0; }

/* "Combina muito com" */
.pdp-pair { display: grid; gap: var(--space-2); margin-top: var(--space-1); }
.pdp-pair .mini__brand { margin: 0; font-size: var(--text-2xs); font-weight: var(--weight-bold); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--color-text-3); }
.pdp-pair .pair__img { display: grid; overflow: hidden; }
.pdp-pair .pair__add { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-1-5); text-decoration: none; }
.pdp-pair .pair__add svg { width: 16px; height: 16px; }

/* Aviso do produto (product.warning) */
.pdp-warn { display: flex; gap: var(--space-2); align-items: flex-start; padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); background: var(--color-surface-2); font-size: var(--text-xs); line-height: var(--leading-snug); color: var(--color-text-2); }
.pdp-warn > svg { width: 18px; height: 18px; flex: none; color: var(--color-link); margin-top: 1px; }
.pdp-warn p { margin: 0; }

/* Confiança, vendedor e especialista (iteração 08: em linha, sem caixas) */
.pdp-trust { display: flex; flex-wrap: wrap; gap: 0 var(--space-5); list-style: none; margin: var(--space-1) 0 0; padding: var(--space-2) 0 0; border-top: 1px solid var(--color-border); }
.pdp-trust li { flex: 0 1 auto; min-width: 0; }
.pdp-trust a { display: flex; align-items: center; gap: var(--space-1-5); min-height: 36px; font-size: var(--text-xs); line-height: 1.25; color: var(--color-text-2); text-decoration: none; }
.pdp-trust a:hover { color: var(--color-text); text-decoration: underline; text-underline-offset: 3px; }
.pdp-trust a:focus-visible { outline: none; box-shadow: var(--shadow-focus); border-radius: var(--radius-xs); }
.pdp-trust svg { width: 16px; height: 16px; flex: none; color: var(--color-link); }
.pdp-seller { display: flex; align-items: center; gap: var(--space-1-5); margin: 0; font-size: var(--text-xs); color: var(--color-text-3); }
.pdp-seller svg { width: 16px; height: 16px; flex: none; }
.pdp-expert {
	display: flex; align-items: center; gap: var(--space-2); min-height: 48px; padding: var(--space-2) var(--space-3);
	border: 1px solid var(--color-border); border-radius: var(--radius-md); background: transparent; color: var(--color-text); text-decoration: none;
	font-size: var(--text-sm); font-weight: var(--weight-semibold); line-height: var(--leading-snug);
}
.pdp-expert svg { width: 20px; height: 20px; flex: none; }
.pdp-expert svg:first-child { color: var(--whatsapp-green); }
.pdp-expert svg:last-child { margin-left: auto; color: var(--color-text-3); }
.pdp-expert:hover { color: var(--color-text); border-color: var(--whatsapp-green); }
.pdp-expert:focus-visible { outline: none; box-shadow: var(--shadow-focus); }

/* Mobile: preço Pix logo depois do readout (dobra de 812 px) */
@media (max-width: 1023.98px) {
	.pdp-buy > .pdp-buy__top, .pdp-buy > .pdp-h1, .pdp-buy > .pdp-ro, .pdp-buy > .pdp-price { order: -1; }
}

/* ---------- Abas âncora ---------- */
.pdp-tabs {
	position: sticky; top: var(--pdp-top); z-index: calc(var(--z-sticky) - 1);
	margin-top: var(--space-10); background: var(--color-bg); border-block: 1px solid var(--color-border);
	transition: top var(--duration-base) var(--ease-standard);
}
.pdp-tabs ul { display: flex; gap: var(--space-1); overflow-x: auto; scrollbar-width: none; list-style: none; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter); }
.pdp-tabs ul::-webkit-scrollbar { display: none; }
@media (min-width: 1024px) { .pdp-tabs ul { margin: 0; padding: 0; } }
.pdp-tabs a {
	position: relative; display: flex; align-items: center; min-height: 48px; padding: 0 var(--space-3);
	white-space: nowrap; font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--color-text-2); text-decoration: none;
}
.pdp-tabs a:hover { color: var(--color-text); }
.pdp-tabs a[aria-current] { color: var(--color-text); }
.pdp-tabs a[aria-current]::after { content: ""; position: absolute; left: var(--space-3); right: var(--space-3); bottom: -1px; height: 2px; background: var(--color-primary); }
.pdp-tabs a:focus-visible { outline: none; box-shadow: inset var(--shadow-focus); }

/* ---------- Faixa "em números" ---------- */
.pdp-lab { padding-block: var(--space-12); }
.pdp-tabs + .pdp-lab { margin-top: 0; }
.pdp-lab__h { font-size: var(--text-display-md); margin: var(--space-1) 0 var(--space-6); }
.pdp-lab__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--space-4); list-style: none; margin: 0; padding: 0; }
@media (min-width: 1024px) { .pdp-lab__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-8); } }
.pdp-lab__grid li { min-width: 0; padding-top: var(--space-3); border-top: 1px solid var(--color-border-strong); }
.pdp-lab__v { display: block; font-size: var(--text-display-xl); color: var(--color-heading); overflow-wrap: anywhere; }
.pdp-lab__l { display: block; margin-top: var(--space-1); font-size: var(--text-2xs); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--color-link); }

/* ---------- Seções ---------- */
.pdp-sec { padding-block: var(--space-12); scroll-margin-top: calc(var(--pdp-top) + 48px); }
.pdp-sec + .pdp-sec { border-top: 1px solid var(--color-border); }
.pdp-sec__h { font-size: var(--text-display-md); margin: 0 0 var(--space-4); }
.pdp-sec__h:focus { outline: none; }
#relacionados { scroll-margin-top: calc(var(--pdp-top) + 48px); }

/* Visão geral: descrição HTML da plataforma */
.pdp-desc { max-width: 76ch; line-height: var(--leading-relaxed); color: var(--color-text); }
.pdp-desc > * + * { margin-top: var(--space-4); }
.pdp-desc > :first-child { margin-top: 0; }
.pdp-desc img, .pdp-desc video, .pdp-desc iframe { max-width: 100%; height: auto; }
.pdp-desc ul, .pdp-desc ol:not(.pdp-hl) { padding-left: 1.25em; }
.pdp-desc li + li { margin-top: var(--space-1); }
.pdp-desc table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.pdp-desc th, .pdp-desc td { padding: var(--space-2); border-bottom: 1px solid var(--color-border); text-align: left; }
.pdp-ov__lead { max-width: 64ch; font-size: var(--text-lg); line-height: var(--leading-relaxed); color: var(--color-text-2); }
.pdp-desc > .pdp-hl { max-width: none; }
.pdp-desc:has(> .pdp-hl) { max-width: none; }
.pdp-desc:has(> .pdp-hl) > :not(.pdp-hl) { max-width: 76ch; }
.pdp-hl { display: grid; gap: var(--space-3); list-style: none; margin: var(--space-6) 0 0; padding: 0; }
@media (min-width: 768px) { .pdp-hl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); } }
.pdp-hl__item { display: grid; grid-template-columns: 88px minmax(0, 1fr); grid-template-rows: auto 1fr; gap: var(--space-1) var(--space-4); align-items: start; padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.pdp-hl--plain .pdp-hl__item { grid-template-columns: minmax(0, 1fr); }
.pdp-hl__media { grid-row: 1 / span 2; width: 88px; height: 88px; border-radius: var(--radius-sm); overflow: hidden; }
.pdp-hl__n { font-size: var(--text-xl, 1.25rem); color: var(--color-link); }
.pdp-hl__item p { margin: 0; font-weight: var(--weight-medium); line-height: var(--leading-snug); }
.pdp-desc-img { margin: var(--space-8) 0 0; }
.pdp-desc-img img { display: block; width: 100%; height: auto; border-radius: var(--radius-md); }
.pdp-desc-html { margin-top: var(--space-8); }
.pdp-desc-html iframe { display: block; width: 100%; min-height: 480px; border: 0; }

/* Vídeo */
.pdp-video { position: relative; max-width: 960px; aspect-ratio: 16 / 9; border-radius: var(--radius-md); overflow: hidden; background: var(--ink-900); }
.pdp-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Ficha técnica (a plataforma entrega uma lista simples: 2 colunas no desktop) */
.pdp-specs { display: grid; gap: 0 var(--space-10); }
@media (min-width: 1024px) { .pdp-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } }
.pdp-spec__t { width: 100%; border-collapse: collapse; font-size: var(--text-sm); font-variant-numeric: var(--numeric-price); }
.pdp-spec__t th, .pdp-spec__t td { padding: var(--space-2) var(--space-3); text-align: left; vertical-align: top; border-bottom: 1px solid var(--color-border); }
.pdp-spec__t th { width: 40%; font-weight: var(--weight-medium); color: var(--color-text-2); }
.pdp-spec__t td { color: var(--color-text); overflow-wrap: anywhere; }
.pdp-spec__t tr:nth-child(odd) { background: var(--color-surface-2); }
@media (max-width: 1023.98px) { .pdp-specs .pdp-spec__t + .pdp-spec__t tr:first-child th, .pdp-specs .pdp-spec__t + .pdp-spec__t tr:first-child td { border-top: 0; } }

/* Relacionados (prateleira da base) */
.pdp-rel-sec { border-top: 1px solid var(--color-border); }
.pdp-rel-sec .pshelf { padding-block: var(--space-12); }
.pdp-rel-sec .section-head h2 { font-size: var(--text-display-md); }

/* ---------- Barra de compra fixa (mobile) ---------- */
.pdp-buybar {
	position: fixed; left: 0; right: 0; bottom: calc(var(--cookie-h, 0px) + var(--safe-bottom)); z-index: var(--z-buybar);
	background: var(--color-surface); border-top: 1px solid var(--color-border); box-shadow: var(--shadow-sticky-bottom);
}
.pdp-buybar[hidden] { display: none; }
.pdp-buybar__in { display: flex; align-items: center; gap: var(--space-3); min-height: var(--buybar-h); padding: var(--space-2) var(--gutter); }
.pdp-buybar__price { flex: 1 1 auto; min-width: 0; }
.pdp-buybar .price p { margin: 0; }
.pdp-buybar .price__value { font-size: var(--text-price-sm); }
.pdp-buybar .price__method { font-size: var(--text-xs); }
.pdp-buybar .price__inst { font-size: var(--text-2xs); }
.pdp-buybar__name { margin: 0; font-weight: var(--weight-semibold); font-size: var(--text-sm); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pdp-buybar__btn { flex: none; min-width: 128px; max-width: 55%; }
@media (min-width: 1024px) { .pdp-buybar { display: none !important; } }
html.has-buybar body { padding-bottom: calc(var(--cookie-h, 0px) + var(--buybar-h) + var(--safe-bottom)); }
/* o painel "Adicionado ao carrinho" e os avisos sobem acima da barra fixa */
html.has-buybar .cart-added { bottom: calc(var(--cookie-h, 0px) + var(--buybar-h) + var(--safe-bottom) + var(--space-2)); }

/* ---------- Zoom em tela cheia ---------- */
.pdp-zoom { position: fixed; inset: 0; z-index: var(--z-modal); display: flex; flex-direction: column; background: var(--color-surface); opacity: 0; transition: opacity var(--duration-base) var(--ease-standard); }
.pdp-zoom.is-open { opacity: 1; }
.pdp-zoom[hidden] { display: none; }
.pdp-zoom__bar { display: flex; align-items: center; gap: var(--space-3); min-height: 56px; padding: var(--space-1) var(--space-2) var(--space-1) var(--space-5); border-bottom: 1px solid var(--color-border); }
.pdp-zoom__count { margin: 0; font-weight: var(--weight-semibold); font-variant-numeric: var(--numeric-price); }
.pdp-zoom__hint { margin: 0 auto 0 0; font-size: var(--text-xs); color: var(--color-text-3); }
.pdp-zoom__stage { position: relative; flex: 1 1 auto; display: grid; place-items: center; width: 100%; min-height: 0; padding: 0; border: 0; border-radius: 0; overflow: hidden; background: var(--color-stage); cursor: zoom-in; }
.pdp-zoom__stage:focus-visible { outline: none; box-shadow: inset 0 0 0 3px var(--color-focus-ring); }
.pdp-zoom__stage img { width: auto; height: auto; max-width: min(100%, 1000px); max-height: 100%; object-fit: contain; mix-blend-mode: multiply; transform-origin: var(--zx, 50%) var(--zy, 50%); transition: transform var(--duration-base) var(--ease-standard); }
.pdp-zoom__stage.is-zoomed { cursor: zoom-out; }
.pdp-zoom__stage.is-zoomed img { transform: scale(2.2); }
.pdp-zoom__nav { position: absolute; top: 50%; transform: translateY(-50%); background: var(--color-surface); border-radius: 50%; box-shadow: var(--shadow-md); }
.pdp-zoom__nav--prev { left: var(--space-3); }
.pdp-zoom__nav--next { right: var(--space-3); }

/* ---------- Confirmação de opcional (ask_to_continue) ---------- */
.pdp-ask { position: fixed; inset: 0; z-index: var(--z-modal); display: grid; place-items: end center; }
.pdp-ask[hidden] { display: none; }
@media (min-width: 640px) { .pdp-ask { place-items: center; } }
.pdp-ask__backdrop { position: absolute; inset: 0; background: rgb(11 12 16 / 0.56); }
.pdp-ask__dialog {
	position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-4); align-items: start;
	width: 100%; max-width: 520px; padding: var(--space-6) var(--space-5) calc(var(--space-5) + var(--safe-bottom));
	background: var(--color-surface); border-radius: var(--radius-lg) var(--radius-lg) 0 0; box-shadow: var(--shadow-md);
}
@media (min-width: 640px) { .pdp-ask__dialog { border-radius: var(--radius-lg); padding-bottom: var(--space-5); } }
.pdp-ask__dialog:focus { outline: none; }
.pdp-ask__dialog:not(:has(.pdp-ask__img:not([hidden]))) { grid-template-columns: minmax(0, 1fr); }
.pdp-ask__img { width: 96px; height: 96px; border-radius: var(--radius-sm); overflow: hidden; }
.pdp-ask__img[hidden] { display: none; }
.pdp-ask__body { display: grid; gap: var(--space-2); min-width: 0; }
.pdp-ask__body .eyebrow { margin: 0; }
.pdp-ask__h { margin: 0; font-size: var(--text-xl, 1.25rem); line-height: 1.15; padding-right: var(--space-8); }
.pdp-ask__desc { margin: 0; font-size: var(--text-sm); color: var(--color-text-2); }
.pdp-ask__price { margin: 0; font-weight: var(--weight-bold); font-variant-numeric: var(--numeric-price); }
.pdp-ask__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-2); }
.pdp-ask__actions .btn { flex: 1 1 160px; }
.pdp-ask__close { position: absolute; top: var(--space-2); right: var(--space-2); }
