/* ============================================================================
   PROMMOBIO — Design System v1 (2026)
   Paleta: navy profundo + azul elétrico + âmbar; PIX teal para pagamento.
   Fontes: Space Grotesk (títulos) + Inter (texto), self-hosted (fonts/).
   ============================================================================ */

/* ---------- Fontes ---------- */
@font-face{
  font-family:'Space Grotesk';
  src:url('../fonts/SpaceGrotesk.woff2') format('woff2');
  font-weight:300 700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Inter';
  src:url('../fonts/Inter.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}

/* ---------- Tokens ---------- */
:root{
  --navy-950:#070E22;
  --navy-900:#0A1633;
  --navy-800:#0B1B3F;
  --navy-700:#12308F;
  --blue-600:#1250E0;
  --blue-500:#2E6BFF;
  --blue-100:#E4EDFF;
  --blue-50:#F0F5FF;
  --amber-500:#FFB224;
  --amber-600:#F59E0B;
  --amber-50:#FFF7E8;
  --pix:#32BCAD;
  --pix-dark:#0E8A7D;
  --pix-50:#E9F9F7;
  --green-600:#12905B;
  --green-50:#E9F8F1;
  --red-600:#D92D20;
  --red-50:#FEF0EF;
  --bg:#F6F8FC;
  --card:#FFFFFF;
  --ink:#0E1626;
  --ink-2:#42506B;
  --ink-3:#7A879E;
  --line:#E3E9F4;
  --line-2:#D2DCEE;
  --disp:'Space Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ui:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;
  --sh-sm:0 1px 2px rgba(10,22,51,.06),0 1px 6px rgba(10,22,51,.05);
  --sh-md:0 6px 18px -6px rgba(10,22,51,.14),0 2px 6px rgba(10,22,51,.05);
  --sh-lg:0 24px 48px -18px rgba(10,22,51,.28);
  --sh-blue:0 10px 26px -10px rgba(18,80,224,.55);
  --wrap:1200px;
  --head-h:70px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--head-h) + 14px)}
/* Trava de segurança contra rolagem horizontal em qualquer página */
html,body{overflow-x:hidden;overflow-x:clip}
body{margin:0;font-family:var(--ui);font-size:16px;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto;display:block}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font:inherit;color:inherit}
a{color:var(--blue-600);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--disp);line-height:1.15;margin:0 0 .5em;color:var(--ink);letter-spacing:-.015em}
h1{font-size:clamp(30px,4.6vw,52px);font-weight:700}
h2{font-size:clamp(24px,3.2vw,36px);font-weight:700}
h3{font-size:clamp(18px,2.2vw,22px);font-weight:600}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--blue-500);outline-offset:2px;border-radius:4px}
::selection{background:var(--blue-600);color:#fff}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.section{padding:clamp(44px,7vw,84px) 0}
.section--tight{padding:clamp(28px,4vw,48px) 0}
.center{text-align:center}
.muted{color:var(--ink-2)}
.small{font-size:13.5px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:700 12.5px/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--blue-600);margin-bottom:14px}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--amber-500);border-radius:2px}

/* ---------- Skip link / acessibilidade ---------- */
.skip{position:absolute;left:-9999px;top:0;background:var(--navy-900);color:#fff;padding:10px 16px;border-radius:0 0 10px 0;z-index:300}
.skip:focus{left:0}

/* ---------- Topbar ---------- */
.topbar{background:var(--navy-950);color:#C9D6F2;font-size:12.5px;font-weight:600}
.topbar .wrap{display:flex;gap:18px;justify-content:center;align-items:center;min-height:34px;flex-wrap:wrap;padding-top:4px;padding-bottom:4px}
.topbar span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.topbar strong{color:var(--amber-500);font-weight:800}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:120;background:rgba(10,22,51,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.06),0 8px 24px -14px rgba(7,14,34,.6)}
.site-header .wrap{display:flex;align-items:center;gap:12px;height:var(--head-h)}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{height:30px;width:auto}
.nav{display:flex;gap:1px;margin-left:auto;align-items:center;min-width:0}
.nav a{color:#DCE6FA;font:600 13px/1 var(--ui);padding:10px 9px;border-radius:10px;white-space:nowrap}
.nav a:hover{background:rgba(255,255,255,.09);text-decoration:none;color:#fff}
.nav a[aria-current="page"]{background:rgba(46,107,255,.22);color:#fff}
.btn-cart{position:relative;display:inline-flex;align-items:center;gap:8px;background:var(--blue-600);color:#fff;font:700 13.5px/1 var(--ui);padding:11px 13px;border-radius:12px;box-shadow:var(--sh-blue);transition:transform .15s,background .15s;flex-shrink:0}
.btn-cart:hover{background:var(--blue-500);transform:translateY(-1px)}
.btn-cart svg{width:18px;height:18px}
.cart-count{position:absolute;top:-7px;right:-7px;min-width:21px;height:21px;border-radius:11px;background:var(--amber-500);color:var(--navy-950);font:800 11.5px/21px var(--ui);text-align:center;padding:0 5px;box-shadow:0 2px 6px rgba(0,0,0,.3);transform:scale(0);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}
.cart-count.on{transform:scale(1)}
.nav-burger{display:none;color:#fff;padding:8px;border-radius:10px}
.nav-burger svg{width:26px;height:26px}

/* Com 10 itens no menu, o desktop só comporta a barra completa a partir de
   ~1180px; abaixo disso entra o menu de hambúrguer (evita corte de links) */
@media (max-width:1180px){
  .nav{position:fixed;inset:var(--head-h) 0 auto 0;background:var(--navy-900);flex-direction:column;align-items:stretch;padding:12px 16px 18px;gap:4px;transform:translateY(-130%);transition:transform .28s ease;box-shadow:0 30px 40px -20px rgba(0,0,0,.5);max-height:calc(100dvh - var(--head-h));overflow:auto}
  .nav.open{transform:translateY(0)}
  .nav a{padding:13px 14px;font-size:16px}
  .nav-burger{display:inline-flex}
}

/* ---------- Hero ---------- */
.hero{position:relative;background:
  radial-gradient(900px 480px at 82% -10%,rgba(46,107,255,.35),transparent 60%),
  radial-gradient(700px 420px at -8% 110%,rgba(18,48,143,.5),transparent 55%),
  linear-gradient(155deg,var(--navy-950) 0%,var(--navy-900) 55%,#0D2258 100%);
  color:#fff;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding-top:clamp(40px,6vw,84px);padding-bottom:clamp(44px,6vw,88px)}
.hero--center .wrap{grid-template-columns:1fr;justify-items:center;text-align:center;max-width:900px}
.hero--center p.lead{margin-inline:auto}
.hero--center .hero-ctas,.hero--center .hero-badges{justify-content:center}
.hero h1{color:#fff;margin-bottom:18px}
.hero h1 em{font-style:normal;color:var(--amber-500)}
.hero p.lead{font-size:clamp(16px,1.8vw,19px);color:#C6D3EF;max-width:54ch;margin-bottom:26px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}
.hero-badges{display:flex;gap:10px;flex-wrap:wrap}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:99px;padding:8px 15px;font:600 13px/1.3 var(--ui);color:#DCE6FA}
.hero-badge svg{width:15px;height:15px;color:var(--amber-500);flex-shrink:0}
.hero-visual{position:relative;min-height:340px}
.hero-visual .ph{position:absolute;background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-lg);overflow:hidden;transition:transform .4s ease}
.hero-visual .ph:hover{transform:translateY(-6px) scale(1.02);z-index:5}
.hero-visual .ph img{width:100%;height:100%;object-fit:contain;padding:10px}
.hero-visual .ph small{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(10,22,51,.85));color:#fff;font:700 11.5px/1.2 var(--ui);padding:22px 10px 8px;text-align:center;opacity:0;transition:opacity .25s}
.hero-visual .ph:hover small{opacity:1}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;gap:30px}
  .hero-visual{min-height:290px}
}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font:700 15px/1 var(--ui);padding:15px 26px;border-radius:13px;transition:transform .15s,box-shadow .15s,background .15s,color .15s;text-decoration:none !important;border:2px solid transparent;user-select:none}
.btn:active{transform:translateY(1px) scale(.99)}
.btn svg{width:17px;height:17px;flex-shrink:0}
.btn--primary{background:var(--blue-600);color:#fff;box-shadow:var(--sh-blue)}
.btn--primary:hover{background:var(--blue-500);transform:translateY(-1px)}
.btn--amber{background:var(--amber-500);color:var(--navy-950);box-shadow:0 10px 26px -10px rgba(245,158,11,.6)}
.btn--amber:hover{background:#FFC24D;transform:translateY(-1px)}
.btn--ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.22)}
.btn--ghost:hover{background:rgba(255,255,255,.15)}
.btn--line{background:#fff;color:var(--blue-600);border-color:var(--line-2)}
.btn--line:hover{border-color:var(--blue-500);background:var(--blue-50)}
.btn--pix{background:var(--pix);color:#fff;box-shadow:0 10px 26px -10px rgba(50,188,173,.55)}
.btn--pix:hover{background:#3BCDBD}
.btn--sm{padding:10px 16px;font-size:13.5px;border-radius:10px}
.btn--lg{padding:18px 34px;font-size:16.5px}
.btn--block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none !important;box-shadow:none}
.btn--wa{background:#22C15E;color:#fff}
.btn--wa:hover{background:#28D169}

/* ---------- Faixa de confiança ---------- */
.trustbar{background:var(--card);border-block:1px solid var(--line)}
.trustbar .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding-top:18px;padding-bottom:18px}
.trust-item{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px}
.trust-item svg{width:30px;height:30px;color:var(--blue-600);flex-shrink:0}
.trust-item b{display:block;font:700 14px/1.25 var(--ui);color:var(--ink)}
.trust-item span{font:500 12.5px/1.35 var(--ui);color:var(--ink-3)}
@media (max-width:900px){.trustbar .wrap{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.trustbar .wrap{grid-template-columns:1fr 1fr;gap:2px}.trust-item{padding:8px 6px}.trust-item svg{width:24px;height:24px}}

/* ---------- Grid de categorias ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cat-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s;display:flex;flex-direction:column;gap:6px;min-height:196px;text-decoration:none !important}
.cat-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:var(--blue-500)}
/* Foto centralizada e maior (aprovado pelo Felipe em 2026-08-17, opção 1).
   Antes: 96px encostada no canto direito (align-self:flex-end). O produto é o que
   vende a linha, e ele aparecia pequeno e de canto. Só isto muda: mesmo texto,
   mesmo layout, mesmo comportamento. */
.cat-card img{width:128px;height:128px;object-fit:contain;align-self:center;margin-top:auto;filter:drop-shadow(0 8px 14px rgba(10,22,51,.16));transition:transform .25s}
@media (max-width:520px){.cat-card img{width:112px;height:112px}}
.cat-card:hover img{transform:scale(1.09) rotate(-3deg)}
.cat-card b{font:700 17px/1.25 var(--disp);color:var(--ink)}
.cat-card span{font:500 12.5px/1.4 var(--ui);color:var(--ink-3)}
/* Badge de quantidade em fluxo (acima do título) para nunca cobrir o texto */
.cat-card .n{align-self:flex-start;background:var(--blue-50);color:var(--blue-600);font:800 11.5px/1 var(--ui);border-radius:99px;padding:6px 10px;margin-bottom:2px;white-space:nowrap}
@media (max-width:980px){.cat-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.cat-grid{grid-template-columns:1fr 1fr;gap:10px}.cat-card{min-height:170px;padding:14px}}

/* ---------- Cards de produto ---------- */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:18px}
.card-prod{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease,border-color .22s}
.card-prod:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:var(--line-2)}
.card-prod .im{position:relative;background:#fff;aspect-ratio:1/0.82;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}
.card-prod .im img{max-width:82%;max-height:82%;object-fit:contain;transition:transform .3s ease}
.card-prod:hover .im img{transform:scale(1.06)}
.card-prod .im .noimg{color:var(--ink-3);font:600 13px/1.4 var(--ui);text-align:center;padding:20px}
.badge{position:absolute;top:12px;left:12px;font:800 10.5px/1 var(--ui);letter-spacing:.08em;padding:6px 10px;border-radius:8px;text-transform:uppercase}
.badge--destaque{background:var(--amber-500);color:var(--navy-950)}
.badge--novo{background:var(--blue-600);color:#fff}
.badge--low{background:var(--red-50);color:var(--red-600);left:auto;right:12px}
.badge--out{background:#4B5565;color:#fff;left:auto;right:12px}
.badge--custom{position:static;background:var(--amber-50);color:var(--amber-600);display:inline-flex;align-items:center;gap:5px}
.card-prod .bd{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.card-prod .ref{font:700 11px/1 var(--ui);letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase}
.card-prod h3{font:600 15.5px/1.3 var(--disp);margin:0;min-height:2.6em}
.card-prod h3 a{color:var(--ink);text-decoration:none}
.card-prod h3 a::after{content:"";position:absolute;inset:0}
.card-prod h3 a:hover{color:var(--blue-600)}
.card-prod .specs{font:500 12.5px/1.45 var(--ui);color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-prod .ft{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.price small{display:block;font:600 11px/1 var(--ui);color:var(--ink-3);margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em}
.price b{font:700 20px/1 var(--disp);color:var(--ink)}
.price b em{font-style:normal;font-size:13px;font-weight:600;color:var(--ink-3)}
.kit-tag{font:600 11.5px/1.3 var(--ui);color:var(--blue-600);background:var(--blue-50);padding:5px 9px;border-radius:8px;white-space:nowrap}
.card-prod .btn{position:relative;z-index:2}

/* ---------- Selo "já no carrinho" (cards e página do produto) ---------- */
.card-incart{position:absolute;top:12px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:5px;background:var(--green-50);color:#0B6B43;border:1px solid #BDEBD4;border-radius:999px;padding:6px 10px;font:700 11px/1 var(--ui);letter-spacing:.02em;box-shadow:0 1px 4px rgba(10,22,51,.08);pointer-events:none}
.card-incart svg{width:12px;height:12px;flex-shrink:0}
.pdp-incart{display:none;margin-top:12px;align-items:center;gap:9px;background:var(--green-50);color:#0B6B43;border:1px solid #BDEBD4;border-radius:12px;padding:11px 14px;font:500 13.5px/1.45 var(--ui)}
.pdp-incart.on{display:flex}
.pdp-incart svg{width:17px;height:17px;flex-shrink:0}
.pdp-incart b{font-weight:700}
.co-fail{display:flex;flex-direction:column;gap:10px;margin-top:14px;background:var(--amber-50);border:1px solid #FFE1AC;border-radius:12px;padding:16px;font:500 13.5px/1.5 var(--ui);color:var(--ink)}
.co-fail b{font-weight:700}
.co-fail .btn{align-self:flex-start}

/* ---------- Página de produto ---------- */
.crumbs{font:500 13px/1.5 var(--ui);color:var(--ink-3);padding:16px 0 4px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.crumbs a{color:var(--ink-2)}
.crumbs svg{width:13px;height:13px;opacity:.55}
.pdp{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(24px,4vw,56px);align-items:start;padding:18px 0 56px}
.pdp-gallery{position:sticky;top:calc(var(--head-h) + 18px)}
.pdp-im{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);aspect-ratio:1/.9;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.pdp-im img{max-width:86%;max-height:86%;object-fit:contain}
.pdp-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.pdp-thumbs button{width:74px;height:74px;border-radius:14px;border:2px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:6px;transition:border-color .15s}
.pdp-thumbs button.on,.pdp-thumbs button:hover{border-color:var(--blue-600)}
.pdp-thumbs img{max-width:100%;max-height:100%;object-fit:contain}
.pdp-info .ref{font:700 12px/1 var(--ui);letter-spacing:.12em;color:var(--ink-3);text-transform:uppercase;display:block;margin-bottom:10px}
.pdp-info h1{font-size:clamp(24px,3vw,34px);margin-bottom:12px}
.pdp-price{display:flex;align-items:baseline;gap:10px;margin:16px 0 4px;flex-wrap:wrap}
.pdp-price b{font:700 34px/1 var(--disp)}
.pdp-price span{font:600 14px/1.3 var(--ui);color:var(--ink-3)}
.pdp-kit{font:600 13px/1.4 var(--ui);color:var(--blue-600);background:var(--blue-50);display:inline-block;padding:7px 12px;border-radius:9px;margin-bottom:18px}
.pdp-desc{color:var(--ink-2);font-size:15.5px}
.spec-list{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px}
.spec-list li{display:flex;gap:10px;align-items:flex-start;font:500 14px/1.5 var(--ui);color:var(--ink-2)}
.spec-list svg{width:17px;height:17px;color:var(--green-600);flex-shrink:0;margin-top:3px}
.opt-block{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;margin-bottom:14px}
.opt-block>b{display:block;font:700 13.5px/1 var(--ui);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);margin-bottom:13px}
.variant-row{display:flex;gap:10px;flex-wrap:wrap}
.variant-row label{cursor:pointer}
.variant-row input{position:absolute;opacity:0;pointer-events:none}
.variant-row .v{display:inline-flex;flex-direction:column;gap:2px;border:2px solid var(--line-2);border-radius:12px;padding:10px 16px;font:600 14px/1.2 var(--ui);transition:all .15s;background:#fff}
.variant-row .v small{font:600 12px/1 var(--ui);color:var(--ink-3)}
.variant-row input:checked+.v{border-color:var(--blue-600);background:var(--blue-50);color:var(--blue-600)}
.color-rows{display:grid;gap:9px}
.color-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 12px}
.color-dot{width:22px;height:22px;border-radius:50%;border:2px solid rgba(0,0,0,.14);flex-shrink:0;box-shadow:inset 0 0 0 2px #fff}
.color-row .cn{font:600 13.5px/1.2 var(--ui);flex:1;min-width:0}
.color-row .cp{font:600 12px/1.2 var(--ui);color:var(--ink-3);white-space:nowrap}
/* Cor que a fábrica só produz com tampa: o seletor de tampa não vale para ela */
.tag-tampa{display:inline-block;font:600 10.5px/1 var(--ui);color:var(--blue-600);background:var(--blue-50);border-radius:99px;padding:4px 7px;margin-left:5px;vertical-align:1px;white-space:nowrap}
.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line-2);border-radius:11px;overflow:hidden;background:#fff;flex-shrink:0}
.stepper button{width:38px;height:38px;font:800 18px/1 var(--ui);color:var(--blue-600);display:flex;align-items:center;justify-content:center;transition:background .12s}
.stepper button:hover{background:var(--blue-50)}
.stepper input{width:56px;height:38px;border:none;border-inline:1.5px solid var(--line-2);text-align:center;font:700 14.5px/1 var(--ui);color:var(--ink);-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pdp-buy{position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 26%);padding:18px 0 14px;display:flex;gap:12px;align-items:center;z-index:10}
.pdp-total{flex-shrink:0}
.pdp-total small{display:block;font:600 11.5px/1 var(--ui);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.pdp-total b{font:700 24px/1 var(--disp)}
.pdp-note{display:flex;gap:10px;align-items:flex-start;background:var(--amber-50);border:1px solid #FFE1AC;border-radius:12px;padding:12px 14px;font:500 13px/1.5 var(--ui);color:#7A5200;margin-bottom:14px}
.pdp-note svg{width:17px;height:17px;flex-shrink:0;margin-top:2px;color:var(--amber-600)}
.logi-table{width:100%;border-collapse:collapse;font:500 13.5px/1.5 var(--ui)}
.logi-table th,.logi-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line)}
.logi-table th{color:var(--ink-3);font-weight:600;width:46%}
.logi-table td{color:var(--ink);font-weight:600}
@media (max-width:900px){
  .pdp{grid-template-columns:1fr}
  .pdp-gallery{position:static}
}

/* ---------- Seções informativas / SEO ---------- */
.prose{max-width:820px}
.prose h2{margin-top:1.6em}
.prose h3{margin-top:1.3em}
.prose ul{padding-left:22px;color:var(--ink-2)}
.prose li{margin-bottom:.45em}
.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.info-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.info-card svg{width:34px;height:34px;color:var(--blue-600);margin-bottom:14px}
.info-card b{display:block;font:700 16.5px/1.3 var(--disp);margin-bottom:8px}
.info-card p{font:500 14px/1.6 var(--ui);color:var(--ink-2);margin:0}
.num-steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.num-step{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;position:relative}
.num-step::before{counter-increment:step;content:counter(step);display:inline-flex;width:38px;height:38px;border-radius:12px;background:var(--navy-900);color:var(--amber-500);font:800 17px/38px var(--disp);justify-content:center;margin-bottom:12px}
.num-step b{display:block;font:700 15.5px/1.3 var(--disp);margin-bottom:6px}
.num-step p{font:500 13.5px/1.55 var(--ui);color:var(--ink-2);margin:0}
@media (max-width:940px){.info-cards{grid-template-columns:1fr}.num-steps{grid-template-columns:1fr 1fr}}
/* O número de colunas destes blocos vinha fixo no style INLINE do gerador, e
   style inline vence media query: a regra de 1 coluna acima nunca valia neles.
   No celular os cartões ficavam espremidos (8 cartões de segmento com ~85px
   cada em "Para quem fabricamos"), e como html/body têm overflow-x:clip o que
   passava da tela não virava barra de rolagem, virava conteúdo inalcançável.
   Agora a largura manda, como no resto do site.
   --4: "Para quem fabricamos" na home, 8 cartões de segmento.
   --2: blocos de quem-somos.html e de acompanhar-pedido.html. */
@media (min-width:941px){.info-cards--4{grid-template-columns:repeat(4,1fr)}}
@media (min-width:561px) and (max-width:940px){.info-cards--4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:561px){.info-cards--2{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.num-steps{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq{max-width:860px;margin:0 auto}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:10px;overflow:hidden;transition:border-color .15s}
.faq details[open]{border-color:var(--blue-500)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 20px;font:700 15px/1.4 var(--ui)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 22px/1 var(--disp);color:var(--blue-600);transition:transform .2s;flex-shrink:0}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 20px 18px;color:var(--ink-2);font-size:14.5px;line-height:1.7}

/* ---------- Banner personalização / distribuidor ---------- */
.cta-band{background:
  radial-gradient(640px 300px at 88% 0%,rgba(255,178,36,.18),transparent 60%),
  linear-gradient(145deg,var(--navy-950),var(--navy-800));
  border-radius:var(--r-xl);color:#fff;padding:clamp(30px,5vw,56px);display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;overflow:hidden;position:relative}
.cta-band h2{color:#fff}
.cta-band p{color:#C6D3EF;max-width:56ch}
.cta-band .imgs{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta-band .imgs img{width:132px;height:132px;object-fit:contain;background:#fff;border-radius:18px;padding:10px;box-shadow:var(--sh-lg)}
@media (max-width:860px){.cta-band{grid-template-columns:1fr}}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-950);color:#93A5CC;margin-top:40px}
.site-footer a{color:#C9D6F2}
.site-footer a:hover{color:#fff}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:30px;padding:52px 0 34px}
.ft-grid h4{color:#fff;font:700 14px/1 var(--disp);letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.ft-grid p{font:500 13.5px/1.7 var(--ui);margin:0 0 8px}
.ft-grid ul{list-style:none;margin:0;padding:0}
.ft-grid li{margin-bottom:9px;font:500 13.5px/1.5 var(--ui)}
.ft-brand img{height:32px;margin-bottom:14px}
.ft-legal{border-top:1px solid rgba(255,255,255,.09);padding:18px 0 22px;font:500 12.5px/1.7 var(--ui);color:#6D7FA8;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
@media (max-width:900px){.ft-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ft-grid{grid-template-columns:1fr}}

/* ---------- WhatsApp flutuante ---------- */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:90;width:56px;height:56px;border-radius:50%;background:#22C15E;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px -8px rgba(34,193,94,.6);transition:transform .18s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:29px;height:29px;color:#fff}

/* ---------- Carrinho (drawer) ---------- */
.drawer-ov{position:fixed;inset:0;background:rgba(7,14,34,.55);backdrop-filter:blur(3px);z-index:180;opacity:0;pointer-events:none;transition:opacity .25s}
.drawer-ov.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);background:var(--bg);z-index:190;transform:translateX(105%);transition:transform .3s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;box-shadow:-24px 0 60px -20px rgba(7,14,34,.4)}
.drawer.on{transform:translateX(0)}
.drawer-hd{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:var(--navy-900);color:#fff}
.drawer-hd h2{font-size:18px;margin:0;color:#fff}
.drawer-hd button{color:#C9D6F2;padding:6px;border-radius:8px}
.drawer-hd button:hover{background:rgba(255,255,255,.1)}
.minbar{padding:14px 20px;background:var(--card);border-bottom:1px solid var(--line)}
.minbar .t{display:flex;justify-content:space-between;font:600 12.5px/1.4 var(--ui);color:var(--ink-2);margin-bottom:7px}
.minbar .bar{height:8px;border-radius:5px;background:var(--line);overflow:hidden}
.minbar .fill{height:100%;border-radius:5px;background:linear-gradient(90deg,var(--blue-600),var(--blue-500));width:0%;transition:width .4s ease}
.minbar.ok .fill{background:linear-gradient(90deg,var(--green-600),#22C983)}
.minbar .msg{font:600 12px/1.4 var(--ui);color:var(--ink-3);margin-top:6px}
.minbar.ok .msg{color:var(--green-600)}
.drawer-items{flex:1;overflow:auto;padding:14px 16px;display:flex;flex-direction:column;gap:11px}
.c-item{display:grid;grid-template-columns:64px 1fr auto;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px}
.c-item .im{width:64px;height:64px;border-radius:10px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden}
.c-item .im img{max-width:88%;max-height:88%;object-fit:contain}
.c-item b{font:600 13.5px/1.3 var(--ui);display:block}
.c-item .v{font:500 12px/1.45 var(--ui);color:var(--ink-3)}
.c-item .qp{display:flex;align-items:center;gap:10px;margin-top:7px}
.c-item .qp .stepper button{width:30px;height:30px;font-size:15px}
.c-item .qp .stepper input{width:46px;height:30px;font-size:13px}
.c-item .pr{font:700 14.5px/1.2 var(--disp);text-align:right}
.c-item .rm{color:var(--red-600);font:600 11.5px/1 var(--ui);padding:5px;border-radius:6px;margin-top:auto}
.c-item .rm:hover{background:var(--red-50)}
.drawer-empty{text-align:center;color:var(--ink-3);padding:60px 20px;font:500 14.5px/1.6 var(--ui)}
.drawer-empty svg{width:52px;height:52px;margin:0 auto 14px;opacity:.4}
.drawer-ft{padding:16px 20px 20px;background:var(--card);border-top:1px solid var(--line)}
.drawer-ft .tot{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.drawer-ft .tot span{font:600 14px/1 var(--ui);color:var(--ink-2)}
.drawer-ft .tot b{font:700 24px/1 var(--disp)}
.drawer-ft .fr{font:500 12px/1.5 var(--ui);color:var(--ink-3);margin-bottom:12px}

/* ---------- Checkout ---------- */
.co-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:start;padding-bottom:60px}
.co-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(18px,3vw,28px)}
.co-panel h2{font-size:20px;display:flex;align-items:center;gap:10px}
.co-panel h2 .stepn{width:30px;height:30px;border-radius:10px;background:var(--navy-900);color:var(--amber-500);font:800 15px/30px var(--disp);text-align:center;flex-shrink:0}
.co-side{position:sticky;top:calc(var(--head-h) + 16px)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.form-grid .full{grid-column:1/-1}
.fld label{display:block;font:600 12.5px/1 var(--ui);color:var(--ink-2);margin-bottom:6px}
.fld label em{color:var(--red-600);font-style:normal}
.fld input,.fld select,.fld textarea{width:100%;border:1.5px solid var(--line-2);border-radius:11px;padding:12px 13px;font:500 14.5px/1.4 var(--ui);background:#fff;transition:border-color .15s,box-shadow .15s}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(46,107,255,.15)}
.fld input.err{border-color:var(--red-600)}
.fld .hint{font:500 11.5px/1.4 var(--ui);color:var(--ink-3);margin-top:4px}
.fld .hint.err{color:var(--red-600);font-weight:600}
.frete-pill{display:flex;gap:10px;align-items:flex-start;border-radius:12px;padding:13px 15px;font:500 13px/1.55 var(--ui);margin-top:4px}
.frete-pill.cif{background:var(--green-50);color:#0B6B43;border:1px solid #BDEBD4}
.frete-pill.fob{background:var(--blue-50);color:#123E9E;border:1px solid #C8DAFB}
.frete-pill svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}
@media (max-width:920px){.co-grid{grid-template-columns:1fr}.co-side{position:static}}

/* ---------- Pagamento (PIX) ---------- */
.pay-hero{background:linear-gradient(145deg,var(--navy-950),var(--navy-800));border-radius:var(--r-xl);color:#fff;padding:clamp(22px,4vw,36px);text-align:center;margin-bottom:22px}
.pay-hero .ok-ic{width:64px;height:64px;border-radius:50%;background:rgba(50,188,173,.18);border:2px solid var(--pix);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.pay-hero .ok-ic svg{width:30px;height:30px;color:var(--pix)}
.pay-hero h1{color:#fff;font-size:clamp(22px,3vw,30px);margin-bottom:8px}
.pay-hero .num{display:inline-block;background:rgba(255,255,255,.1);border:1px dashed rgba(255,255,255,.35);border-radius:12px;padding:9px 18px;font:700 17px/1.2 var(--disp);letter-spacing:.05em;color:var(--amber-500);margin:8px 0}
.pay-hero p{color:#C6D3EF;margin:6px 0 0}
.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.pay-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.pay-card>h2{font-size:19px;display:flex;align-items:center;gap:10px;margin-bottom:16px}
.pix-logo{display:inline-flex;align-items:center;gap:7px;background:var(--pix-50);color:var(--pix-dark);font:800 13px/1 var(--ui);padding:7px 12px;border-radius:9px}
.qr-box{background:#fff;border:2px solid var(--pix);border-radius:var(--r-lg);padding:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;width:fit-content}
.qr-box canvas,.qr-box img{width:216px;height:216px;image-rendering:pixelated}
.pix-code{display:flex;gap:9px;margin-bottom:12px}
.pix-code input{flex:1;min-width:0;border:1.5px solid var(--line-2);border-radius:11px;padding:11px 12px;font:600 12px/1.3 ui-monospace,Consolas,monospace;color:var(--ink-2);background:var(--bg)}
.copy-ok{color:var(--green-600) !important}
.bank-rows{display:grid;gap:2px;margin-bottom:14px}
.bank-row{display:flex;justify-content:space-between;gap:14px;padding:10px 2px;border-bottom:1px dashed var(--line)}
.bank-row span{font:500 13px/1.4 var(--ui);color:var(--ink-3)}
.bank-row b{font:700 14px/1.4 var(--ui);text-align:right;word-break:break-word}
.up-zone{border:2px dashed var(--line-2);border-radius:var(--r-lg);padding:26px 18px;text-align:center;transition:border-color .2s,background .2s;cursor:pointer}
.up-zone:hover,.up-zone.drag{border-color:var(--pix);background:var(--pix-50)}
.up-zone svg{width:36px;height:36px;color:var(--pix-dark);margin:0 auto 10px}
.up-zone b{display:block;font:700 15px/1.4 var(--ui);margin-bottom:4px}
.up-zone span{font:500 12.5px/1.5 var(--ui);color:var(--ink-3)}
.up-file{display:flex;align-items:center;gap:12px;background:var(--pix-50);border:1px solid #BDE8E2;border-radius:12px;padding:12px 14px;margin-top:12px}
.up-file svg{width:22px;height:22px;color:var(--pix-dark);flex-shrink:0}
.up-file b{font:600 13.5px/1.3 var(--ui);word-break:break-all}
.up-file small{display:block;font:500 11.5px/1.3 var(--ui);color:var(--ink-3)}
.up-file button{margin-left:auto;color:var(--red-600);font:600 12px/1 var(--ui);flex-shrink:0}
.pay-done{background:var(--green-50);border:1.5px solid #BDEBD4;border-radius:var(--r-lg);padding:22px;text-align:center}
.pay-done svg{width:44px;height:44px;color:var(--green-600);margin:0 auto 10px}
.pay-done b{display:block;font:700 17px/1.35 var(--disp);color:#0B6B43;margin-bottom:6px}
.pay-done p{font:500 13.5px/1.6 var(--ui);color:#2A6E4F;margin:0}
.steps-mini{display:grid;gap:0;margin:14px 0 4px}
.step-mini{display:flex;gap:12px;position:relative;padding-bottom:18px}
.step-mini:last-child{padding-bottom:0}
.step-mini::before{content:"";position:absolute;left:13px;top:30px;bottom:2px;width:2px;background:var(--line-2)}
.step-mini:last-child::before{display:none}
.step-mini .dot{width:28px;height:28px;border-radius:50%;background:var(--blue-50);color:var(--blue-600);font:800 13px/28px var(--ui);text-align:center;flex-shrink:0;z-index:1}
.step-mini b{font:600 13.5px/1.45 var(--ui);display:block}
.step-mini span{font:500 12.5px/1.5 var(--ui);color:var(--ink-3)}
@media (max-width:880px){.pay-grid{grid-template-columns:1fr}}

/* ---------- Aviso de cookies ---------- */
.cookie-note{position:fixed;left:18px;bottom:18px;z-index:85;max-width:340px;background:var(--navy-900);color:#DCE6FA;border-radius:14px;padding:14px 16px;box-shadow:var(--sh-lg);font:500 12.5px/1.5 var(--ui)}
.cookie-note p{margin:0 0 10px}
.cookie-note a{color:var(--amber-500)}
.cookie-note button{background:var(--blue-600);color:#fff;font:700 12.5px/1 var(--ui);padding:9px 14px;border-radius:9px}
.cookie-note button:hover{background:var(--blue-500)}
body.dist-has-bar .cookie-note{bottom:88px}
@media (max-width:520px){.cookie-note{left:12px;right:12px;max-width:none;bottom:12px}}

/* ---------- Toast ---------- */
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,140%);background:var(--navy-900);color:#fff;font:600 14px/1.4 var(--ui);padding:14px 22px;border-radius:13px;box-shadow:var(--sh-lg);z-index:260;transition:transform .3s cubic-bezier(.22,1,.36,1);display:flex;gap:10px;align-items:center;max-width:min(92vw,480px)}
.toast.on{transform:translate(-50%,0)}
.toast svg{width:19px;height:19px;color:var(--amber-500);flex-shrink:0}

/* ---------- Reveal on scroll ---------- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s !important;transition-duration:.001s !important;scroll-behavior:auto}
  .rv{opacity:1;transform:none}
}

/* ---------- Tabela institucional ---------- */
.tbl{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;font:500 14px/1.55 var(--ui)}
.tbl th{background:var(--blue-50);color:var(--ink);text-align:left;padding:12px 15px;font-weight:700}
.tbl td{padding:12px 15px;border-top:1px solid var(--line);color:var(--ink-2)}

/* ---------- Tabela larga em tela estreita ----------
   html e body têm overflow-x:clip (linha 61), então tudo que passa da largura
   da tela some e NÃO dá para arrastar para o lado. A tabela de prazos da
   política de devolução media 450px numa tela de 375px: 95px de conteúdo,
   a coluna inteira "Frete do retorno", ficavam invisíveis e inalcançáveis.
   O contêiner abaixo devolve a rolagem para dentro do próprio bloco. */
.tbl-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.tbl-scroll>table{margin-bottom:0}
/* Quando a tabela rola, o site.js torna a região focável. Sem contorno visível
   quem usa teclado não saberia que parou ali nem que dá para rolar com as setas. */
.tbl-scroll:focus-visible{outline:2px solid var(--blue-600);outline-offset:3px;border-radius:var(--r-md)}
/* Palavra que não quebra (e-mail, CNPJ, código) empurrava a tabela para fora */
.tbl th,.tbl td,.logi-table th,.logi-table td{overflow-wrap:anywhere}
@media (max-width:560px){
  .tbl th,.tbl td{padding:10px 11px}
  .tbl{font-size:13.5px}
}

/* ---------- Página do distribuidor ---------- */
.dist-card .bd{gap:10px}
.dist-card h3{min-height:0}
.dist-card .ft{align-items:center;flex-wrap:wrap}
.dist-card.sel{border-color:var(--blue-600);box-shadow:0 0 0 3px rgba(46,107,255,.14)}
.dist-card.sel:hover{border-color:var(--blue-600)}
.dist-card .sel-note{display:none;font:700 12px/1.3 var(--ui);color:var(--green-600)}
.dist-card.sel .sel-note{display:block}
.dist-link{font:600 12.5px/1.3 var(--ui);color:var(--blue-600)}
.dist-cores summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1.5px solid var(--line-2);border-radius:11px;padding:10px 12px;font:700 13px/1.2 var(--ui);color:var(--blue-600);background:#fff}
.dist-cores summary::-webkit-details-marker{display:none}
.dist-cores summary::after{content:"+";font:400 18px/1 var(--disp);flex-shrink:0}
.dist-cores[open] summary{border-color:var(--blue-500);background:var(--blue-50)}
.dist-cores[open] summary::after{content:"−"}
.dist-cores summary small{font:600 11px/1.3 var(--ui);color:var(--ink-3)}
.dist-cores .color-rows{margin-top:10px;gap:7px}
.dist-cores .color-row{padding:6px 8px;gap:8px}
.dist-cores .color-row .cn{font-size:12.5px}
.dist-cores .stepper button{width:30px;height:30px;font-size:15px}
.dist-cores .stepper input{width:44px;height:30px;font-size:13px}
.dist-drawer-note{padding:12px 20px;background:var(--amber-50);border-bottom:1px solid #FFE1AC;font:500 12.5px/1.5 var(--ui);color:#7A5200}
.dist-drawer-item{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px}
.dist-drawer-item>b{font:600 13.5px/1.35 var(--ui);display:block}
.dist-drawer-item .dd-ref{font:700 10.5px/1 var(--ui);letter-spacing:.08em;color:var(--ink-3);text-transform:uppercase}
.dist-drawer-item .dd-linha{display:flex;align-items:center;gap:9px;margin-top:8px}
.dist-drawer-item .dd-linha .cn{font:600 12.5px/1.2 var(--ui);flex:1;min-width:0}
.dist-drawer-item .dd-linha .stepper button{width:28px;height:28px;font-size:14px}
.dist-drawer-item .dd-linha .stepper input{width:44px;height:28px;font-size:12.5px}
.dist-drawer-item .rm{color:var(--red-600);font:600 11.5px/1 var(--ui);padding:6px 0 0;border-radius:6px}
.dist-drawer-item .rm:hover{text-decoration:underline}

/* ---------- Modo distribuidor na página de produto (?dist=1) ----------
   Sem preços e sem o carrinho comum: o botão adiciona ao pedido do
   distribuidor e a barra fixa leva de volta ao cadastro. */
body.dist-mode .price,
body.dist-mode .pdp-price,
body.dist-mode .pdp-total,
body.dist-mode .color-row .cp,
body.dist-mode .variant-row label:has(input[name="pdpLid"]) .v small,
body.dist-mode .pdp-note,
body.dist-mode .pdp-how,
body.dist-mode [data-quick-add],
body.dist-mode .btn-cart{display:none !important}
.dist-pill{display:inline-flex;align-items:center;gap:8px;background:var(--amber-50);border:1px solid #FFE1AC;color:#7A5200;font:700 12.5px/1.3 var(--ui);border-radius:99px;padding:8px 14px;margin-bottom:12px}
.dist-bar{position:fixed;left:0;right:0;bottom:0;background:var(--navy-900);color:#fff;z-index:150;transform:translateY(110%);transition:transform .25s ease;box-shadow:0 -12px 30px -12px rgba(7,14,34,.55)}
.dist-bar.on{transform:none}
.dist-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:12px;padding-bottom:12px}
.dist-bar b{display:block;font:700 15px/1.2 var(--disp);color:#fff}
.dist-bar span{font:500 12.5px/1.4 var(--ui);color:#B9C8EA}
body.dist-has-bar .wa-float{bottom:88px}
@media (max-width:520px){.dist-bar b{font-size:13.5px}.dist-bar .btn{padding:12px 16px;font-size:13.5px}}

/* ---------- Pedidos realizados (registro local do navegador) ----------
   O botão do cabeçalho nasce no HTML e escondido: se fosse criado por JS,
   apareceria depois da primeira pintura e empurraria o cabeçalho (CLS).
   O [hidden] precisa vir DEPOIS do display, senão a classe vence a regra do
   navegador e o botão apareceria para quem nunca comprou. */
.btn-ped{position:relative;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff;font:700 13.5px/1 var(--ui);padding:10px 12px;border-radius:12px;transition:background .15s,transform .15s;flex-shrink:0}
.btn-ped:hover{background:rgba(255,255,255,.18);text-decoration:none;color:#fff;transform:translateY(-1px)}
.btn-ped svg{width:17px;height:17px}
.btn-ped[hidden]{display:none}
/* Marca posta no <head>: o botão já nasce visível para quem tem pedido, sem
   esperar o site.js. Precisa vencer o .btn-ped[hidden] acima, por isso o
   seletor mais específico. */
.tem-pedidos .btn-ped[hidden]{display:inline-flex}
.ped-count{min-width:20px;height:20px;border-radius:10px;background:var(--amber-500);color:var(--navy-950);font:800 11.5px/20px var(--ui);text-align:center;padding:0 5px}
@media (max-width:1180px){.btn-ped .lbl{display:none}.btn-ped{padding:10px}}

.ped-conta{font:600 13.5px/1.5 var(--ui);color:var(--ink-3);margin:8px 0 0}
.ped-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(16px,2.6vw,24px);box-shadow:var(--sh-sm);margin-bottom:16px}
.ped-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.ped-selo{display:inline-flex;align-items:center;gap:6px;background:var(--green-50);color:#0B6B43;border:1px solid #BDEBD4;border-radius:999px;padding:5px 11px 5px 9px;font:800 11.5px/1 var(--ui);text-transform:uppercase;letter-spacing:.04em}
.ped-selo svg{width:13px;height:13px}
.ped-num{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 4px}
.ped-num>span{font:700 19px/1.2 var(--disp);letter-spacing:.04em;color:var(--ink)}
.ped-copy{font:600 12.5px/1 var(--ui);color:var(--blue-600);text-decoration:underline;padding:4px 0;cursor:pointer}
.ped-copy.copy-ok{color:var(--green-600)}
.ped-meta{font:500 13px/1.5 var(--ui);color:var(--ink-3)}
.ped-tot{text-align:right;margin-left:auto}
.ped-tot span{display:block;font:500 12.5px/1.4 var(--ui);color:var(--ink-3)}
.ped-tot b{font:700 24px/1.1 var(--disp);color:var(--ink)}
.ped-itens{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px dashed var(--line);display:grid;gap:7px}
.ped-itens li{font:500 13.5px/1.5 var(--ui);color:var(--ink-2)}
.ped-itens b{font-weight:700;color:var(--ink)}
.ped-itens .v{display:block;font-size:12.5px;color:var(--ink-3)}
.ped-marca{display:flex;align-items:flex-start;gap:8px;margin-top:14px;background:var(--green-50);border:1px solid #BDEBD4;border-radius:12px;padding:11px 13px;font:600 13px/1.5 var(--ui);color:#0B6B43}
.ped-marca svg{width:16px;height:16px;flex-shrink:0;margin-top:2px}
.ped-acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.ped-pag{margin-top:16px;border-top:1px dashed var(--line);padding-top:16px}
.ped-pag-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.ped-aviso{display:flex;gap:10px;align-items:flex-start;background:var(--amber-50);border:1px solid #FFE1AC;border-radius:12px;padding:13px 15px;font:500 13px/1.55 var(--ui);color:#7A5200;margin-bottom:16px}
.ped-aviso svg{width:18px;height:18px;flex-shrink:0;margin-top:1px;color:var(--amber-600)}
.ped-canais{margin-top:16px;border-top:1px dashed var(--line);padding-top:14px}
.ped-canais b{display:block;font:700 14.5px/1.4 var(--ui);color:var(--ink);margin-bottom:4px}
.ped-canais span{display:block;font:500 13px/1.6 var(--ui);color:var(--ink-2)}
.ped-nota{display:flex;gap:12px;align-items:flex-start;background:var(--blue-50);border:1px solid #C8DAFB;border-radius:var(--r-lg);padding:16px 18px;margin-top:6px}
.ped-nota svg{width:22px;height:22px;flex-shrink:0;color:var(--blue-600);margin-top:2px}
.ped-nota b{display:block;font:700 15px/1.35 var(--disp);color:#123E9E;margin-bottom:4px}
.ped-nota p{font:500 13px/1.65 var(--ui);color:var(--ink-2);margin:0}

.ped-escolha{background:var(--blue-50);border:1px solid #C8DAFB;border-radius:var(--r-lg);padding:16px 18px;margin-bottom:16px}
.ped-escolha>b{display:block;font:700 14.5px/1.4 var(--disp);color:#123E9E}
.ped-chips{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:10px}
.ped-chip{display:flex;flex-direction:column;gap:2px;text-align:left;background:var(--card);border:1.5px solid var(--line-2);border-radius:12px;padding:9px 13px;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.ped-chip:hover{border-color:var(--blue-500)}
.ped-chip.on{border-color:var(--blue-600);box-shadow:0 0 0 3px var(--blue-100)}
.ped-chip b{font:700 13px/1.2 var(--disp);letter-spacing:.03em;color:var(--ink)}
.ped-chip span{font:500 12px/1.2 var(--ui);color:var(--ink-3)}

.pay-guardado{display:inline-flex;align-items:center;gap:8px;margin:14px auto 0;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:10px 14px;font:500 13px/1.5 var(--ui);color:#DCE6FA;text-align:left}
.pay-guardado svg{width:16px;height:16px;flex-shrink:0;color:var(--pix)}
.pay-guardado a{color:#fff;font-weight:700;text-decoration:underline}

@media (max-width:720px){
  .ped-pag-grid{grid-template-columns:1fr}
  .ped-tot{text-align:left;margin-left:0}
  .ped-acoes .btn{flex:1 1 100%;justify-content:center}
}

/* ---------- Print (recibo do pedido) ---------- */
@media print{
  .site-header,.topbar,.site-footer,.wa-float,.drawer,.drawer-ov,.toast,.no-print{display:none !important}
  body{background:#fff}
  .pay-card,.co-panel{border:1px solid #ccc;box-shadow:none}
}
