/* Perfilferros - PDP v2 Fase A (LAYOUT_PDP_V2 / body.pf-pdp-v2).
   PONTE: aplica tokens/visual do SPEC (pf-pdp-v2-design.css) ao markup atual da PDP. */
body.pf-pdp-v2{
  --pf-pdp-ink:#003352;--pf-pdp-brand:#0057a6;--pf-pdp-brand-h:#00477f;--pf-pdp-accent:#00a3e0;
  --pf-pdp-muted:#56657a;--pf-pdp-line:#d7e1ea;--pf-pdp-line-s:#6f849b;--pf-pdp-surface:#f5f8fb;--pf-pdp-tint:#eef5fb;
  --pf-pdp-r:2px;--pf-pdp-shadow:0 1px 2px rgba(0,51,82,.08),0 4px 12px rgba(0,51,82,.06);
  --pf-pdp-sans:'Prompt',system-ui,sans-serif;--pf-pdp-cond:'Barlow Condensed','Prompt',sans-serif;
}
/* Shell 2 col: galeria 7/12 | info + compra 5/12 (sticky) */
body.pf-pdp-v2 .pf-view-3col{display:grid;grid-template-columns:7fr 5fr;grid-template-areas:"gal info" "gal buy";gap:24px 40px;align-items:start}
/* A.2 sticky: so a COMPRA e sticky (SPEC aceite 4). Galeria fica estatica — antes as duas eram
   sticky top:96 e, com galeria mais alta que a viewport, o fim dela ficava inalcancavel e as duas
   "colavam" em alturas diferentes. buycol cola dentro da linha 2 enquanto a galeria (2 linhas) rola. */
body.pf-pdp-v2 .pf-view-3col > :nth-child(1){grid-area:gal;position:static;min-width:0}
body.pf-pdp-v2 .pf-view-3col > :nth-child(2){grid-area:info;min-width:0}
body.pf-pdp-v2 .pf-view-3col > .pf-pdp-buycol{grid-area:buy;display:flex;flex-direction:column;gap:16px;position:sticky;top:var(--pf-pdp-sticky-top,96px);align-self:start;z-index:2;max-height:calc(100vh - var(--pf-pdp-sticky-top,96px) - 16px);overflow:auto;overscroll-behavior:contain}
body.pf-pdp-v2 .pf-pdp-gallery .pf-view-col{position:static;top:auto}
body.pf-pdp-v2 .pf-view-title{font-family:var(--pf-pdp-sans);font-weight:500;color:var(--pf-pdp-ink);font-size:28px;line-height:36px}
body.pf-pdp-v2 .pf-view-cat-tag{font-family:var(--pf-pdp-cond);text-transform:uppercase;letter-spacing:.06em;color:var(--pf-pdp-accent);font-weight:700}
/* Chips (.pf-opt / .pf-chip look) */
body.pf-pdp-v2 .pf-variant-opt,body.pf-pdp-v2 .pf-vsel-btn{display:inline-flex;flex-direction:column;justify-content:center;min-height:48px;min-width:84px;padding:6px 14px;border:1px solid var(--pf-pdp-line-s);border-radius:var(--pf-pdp-r);background:#fff;color:var(--pf-pdp-ink);font-family:var(--pf-pdp-sans);font-size:15px;font-weight:500;transition:border-color .12s,background .12s}
body.pf-pdp-v2 .pf-variant-opt:hover,body.pf-pdp-v2 .pf-vsel-btn:hover{border-color:var(--pf-pdp-brand)}
body.pf-pdp-v2 .pf-variant-opt.active,body.pf-pdp-v2 .pf-variant-opt.is-active,body.pf-pdp-v2 .pf-vsel-btn.active,body.pf-pdp-v2 .pf-vsel-btn.is-active,body.pf-pdp-v2 .pf-vsel-btn[aria-pressed="true"]{border:2px solid var(--pf-pdp-brand);background:var(--pf-pdp-tint)}
body.pf-pdp-v2 .pf-variant-label,body.pf-pdp-v2 .pf-vsel-label{font-family:var(--pf-pdp-cond);text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--pf-pdp-ink)}
/* Buy box chrome */
body.pf-pdp-v2 .pf-panel{position:static;border:1px solid var(--pf-pdp-line);border-top:3px solid var(--pf-pdp-brand);border-radius:var(--pf-pdp-r);box-shadow:var(--pf-pdp-shadow);background:#fff;padding:20px}
body.pf-pdp-v2 .pf-price-por{font-family:var(--pf-pdp-sans);font-weight:600;font-size:30px;color:var(--pf-pdp-brand)}
body.pf-pdp-v2 .pf-price-unit,body.pf-pdp-v2 .pf-price-de{color:var(--pf-pdp-muted);font-size:13px}
body.pf-pdp-v2 .pf-view-add-btn{font-family:var(--pf-pdp-cond);text-transform:uppercase;letter-spacing:.06em;font-weight:700;background:var(--pf-pdp-brand);border-radius:var(--pf-pdp-r);min-height:48px}
body.pf-pdp-v2 .pf-view-add-btn:hover{background:var(--pf-pdp-brand-h)}
body.pf-pdp-v2 .pf-view-qty-wrap{border:1px solid var(--pf-pdp-line-s);border-radius:var(--pf-pdp-r)}
/* Relacionados com preco vitrine */
body.pf-pdp-v2 .pf-pdp-rel-price{font-family:var(--pf-pdp-sans);font-weight:600;font-size:18px;color:var(--pf-pdp-brand);padding:0 12px 8px}
body.pf-pdp-v2 .pf-pdp-rel-price small{display:block;font-size:11px;font-weight:400;color:var(--pf-pdp-muted)}
@media (max-width:991.98px){ /* SPEC: coluna unica <992 */
  body.pf-pdp-v2 .pf-view-3col{grid-template-columns:1fr;grid-template-areas:"gal" "info" "buy"}
  body.pf-pdp-v2 .pf-view-3col > :nth-child(1),body.pf-pdp-v2 .pf-view-3col > .pf-pdp-buycol{position:static}
  body.pf-pdp-v2 .pf-view-qty-input{font-size:16px}
  body.pf-pdp-v2 .pf-variant-opt,body.pf-pdp-v2 .pf-vsel-btn,body.pf-pdp-v2 .pf-view-qty-btn{min-height:44px}
  body.pf-pdp-v2{padding-bottom:72px}
}

/* Visitante v2: CTA direto */
body.pf-pdp-v2 .pf-panel-guest--v2{display:flex;flex-direction:column;gap:10px}
/* Sticky: desktop esconde (design css >=992); ajusta botao */
body.pf-pdp-v2 .pf-sticky-buy .pf-view-add-btn{width:auto;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;color:#fff;border:0}
/* Modal stub do plano (data-pf-upgrade) */
body.pf-pdp-v2 .pf-upg[hidden]{display:none}
body.pf-pdp-v2 .pf-upg{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}
body.pf-pdp-v2 .pf-upg__scrim{position:absolute;inset:0;background:rgba(0,51,82,.55)}
body.pf-pdp-v2 .pf-upg__box{position:relative;background:#fff;max-width:440px;width:100%;border-top:3px solid var(--pf-pdp-brand);border-radius:var(--pf-pdp-r);box-shadow:var(--pf-pdp-shadow);padding:24px;font-family:var(--pf-pdp-sans);color:var(--pf-pdp-ink)}
body.pf-pdp-v2 .pf-upg__title{font-weight:600;font-size:20px;margin:0 0 8px}
body.pf-pdp-v2 .pf-upg__close{position:absolute;top:8px;right:8px;min-width:44px;min-height:44px;background:none;border:0;font-size:24px;cursor:pointer;color:var(--pf-pdp-muted)}
body.pf-pdp-v2 .pf-upg__list{margin:12px 0 16px;padding-left:18px;color:var(--pf-pdp-muted)}
body.pf-pdp-v2 .pf-upg .pf-view-add-btn{display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none}

/* ===== A.2: partials produto/v2 ===== */
body.pf-pdp-v2 .pf-pdp-dept{display:block;font-family:var(--pf-pdp-cond);text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:13px;color:var(--pf-pdp-accent);margin-bottom:4px}
body.pf-pdp-v2 .pf-pdp-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 12px;color:var(--pf-pdp-muted);font-size:13px}
body.pf-pdp-v2 .pf-pdp-lead{color:var(--pf-pdp-muted);font-size:15px;line-height:22px;margin:0 0 16px}
body.pf-pdp-v2 .pf-pdp-vars{margin:8px 0 16px}
body.pf-pdp-v2 .pf-chip.pf-vsel-btn--active{background:var(--pf-pdp-ink);border-color:var(--pf-pdp-ink);color:#fff}
body.pf-pdp-v2 .pf-chip.pf-vsel-btn--disabled{color:#9AA7B6;background:var(--pf-pdp-surface);text-decoration:line-through;cursor:not-allowed}
body.pf-pdp-v2 a.pf-chip{display:inline-flex;align-items:center;text-decoration:none}
body.pf-pdp-v2 .pf-buybox .pf-panel-price-block{margin:0}
body.pf-pdp-v2 .pf-buybox__row{display:flex;align-items:center;gap:12px;margin-bottom:12px}
/* A.2 CTA plate: clip-path diagonal do SPEC (.pf-btn) tambem no CTA legado .pf-view-add-btn */
body.pf-pdp-v2{--pf-pdp-cut:12px}
body.pf-pdp-v2 .pf-view-add-btn,body.pf-pdp-v2 .pf-buybox .pf-btn{clip-path:polygon(var(--pf-pdp-cut) 0,100% 0,calc(100% - var(--pf-pdp-cut)) 100%,0 100%);border-radius:0;padding-left:calc(24px + var(--pf-pdp-cut));padding-right:calc(24px + var(--pf-pdp-cut))}
body.pf-pdp-v2 .pf-view-add-btn:focus-visible{clip-path:none;outline:3px solid var(--pf-pdp-accent);outline-offset:2px}
body.pf-pdp-v2 .pf-view-add-btn--disabled{background:var(--pf-pdp-line-s);cursor:not-allowed}
body.pf-pdp-v2 .pf-view-add-btn--outline{background:var(--pf-pdp-tint);color:var(--pf-pdp-brand)}
@media (max-width:991.98px){
  body.pf-pdp-v2 .pf-view-3col > .pf-pdp-buycol{position:static;max-height:none;overflow:visible}
}

/* iter fix: ficha real visivel -> placeholder nunca junto (fallback do MutationObserver em _spec-slot) */
.pf-pdp-v2 .pf-pdp-spec:has(#pf-ficha:not([style*="none"]):not([hidden])) [data-pf-ficha-placeholder] { display: none !important; }
