/* ============================================================
   IMPERIAL LED — PÁGINAS INTERNAS
   Categoria · Produto (PDP) · Checkout
   Depende de imperial.css (tokens + componentes base)
   ============================================================ */

/* ---------- breadcrumb ---------- */
.crumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);font-weight:500;
  padding-block:var(--sp-5);flex-wrap:wrap}
.crumb a{transition:color .15s ease}
.crumb a:hover{color:var(--red)}
.crumb .i{width:14px;height:14px;opacity:.5}
.crumb .cur{color:var(--ink);font-weight:600}

/* ============================================================
   CATEGORIA
   ============================================================ */
.cat-head{padding-block:var(--sp-4) var(--sp-8);border-bottom:1px solid var(--line)}
.cat-head p{color:var(--muted);font-size:15.5px;line-height:1.6;margin:var(--sp-3) 0 0;max-width:62ch}

.shop{display:grid;grid-template-columns:280px 1fr;gap:var(--sp-10);align-items:start;
  padding-block:var(--sp-8) clamp(56px,6vw,96px)}
@media(max-width:1024px){.shop{grid-template-columns:1fr;gap:var(--sp-6)}}

/* ---------- filtros ---------- */
.filters{position:sticky;top:120px}
@media(max-width:1024px){
  .filters{position:fixed;top:0;left:0;height:100dvh;width:min(360px,100vw);background:#fff;z-index:var(--z-drawer);
    transform:translateX(-100%);transition:transform .3s var(--ease);overflow-y:auto;padding:var(--sp-5);
    box-shadow:20px 0 60px -20px rgba(0,0,0,.4)}
  .filters.open{transform:translateX(0)}
  .filters__close{display:flex!important}
}
.filters__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-5)}
.filters__head .t{font-family:var(--fd);font-weight:800;font-size:17px}
.filters__clear{background:none;border:0;color:var(--red);font-size:12.5px;font-weight:700;padding:0}
.filters__clear:hover{text-decoration:underline}
.filters__close{display:none;width:40px;height:40px;border-radius:var(--r-sm);border:1px solid var(--line);
  background:#fff;align-items:center;justify-content:center}
.fgroup{border-top:1px solid var(--line);padding-block:var(--sp-4)}
.fgroup summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  font-weight:700;font-size:14px;padding-block:var(--sp-2)}
.fgroup summary::-webkit-details-marker{display:none}
.fgroup summary .i{width:17px;height:17px;color:var(--muted);transition:transform .3s var(--ease)}
.fgroup[open] summary .i{transform:rotate(180deg)}
.fgroup__body{padding-top:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3)}
.fcheck{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13.5px;color:var(--ink);
  min-height:24px;transition:color .15s ease}
.fcheck:hover{color:var(--red)}
.fcheck input{appearance:none;width:19px;height:19px;border:1.5px solid var(--line);border-radius:5px;
  flex:0 0 auto;position:relative;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.fcheck input:checked{background:var(--red);border-color:var(--red)}
.fcheck input:checked::after{content:'';position:absolute;left:5.5px;top:2px;width:5px;height:10px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.fcheck .n{margin-left:auto;color:var(--muted-2);font-size:12px;font-weight:600}
.frange{display:flex;align-items:center;gap:8px}
.frange input{width:100%;height:42px;border:1px solid var(--line);border-radius:var(--r-sm);padding:0 10px;
  font-size:13.5px;outline:none}
.frange input:focus{border-color:var(--red);box-shadow:var(--sh-focus)}
.frange span{color:var(--muted);font-size:13px}
.fstars{display:flex;align-items:center;gap:6px}
.fstars .stars{display:inline-flex;color:var(--amber)}
.fstars .stars .i{width:14px;height:14px;fill:currentColor}

/* ---------- toolbar ---------- */
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);
  margin-bottom:var(--sp-6);flex-wrap:wrap}
.toolbar__count{font-size:14px;color:var(--muted);font-weight:600}
.toolbar__count b{color:var(--ink)}
.toolbar__right{display:flex;align-items:center;gap:var(--sp-3)}
.fbtn{display:none;align-items:center;gap:8px;height:44px;padding:0 16px;border:1.5px solid var(--ink);
  background:#fff;border-radius:var(--r-md);font-weight:700;font-size:13.5px}
@media(max-width:1024px){.fbtn{display:flex}}
.sortsel{position:relative;display:flex;align-items:center}
.sortsel select{height:44px;border:1px solid var(--line);border-radius:var(--r-md);padding:0 38px 0 14px;
  font-size:13.5px;font-weight:600;appearance:none;background:#fff;cursor:pointer;outline:none}
.sortsel select:focus{border-color:var(--red);box-shadow:var(--sh-focus)}
.sortsel .i{position:absolute;right:13px;width:15px;height:15px;pointer-events:none;color:var(--muted)}

/* ---------- chips de filtro ativo ---------- */
.chips-active{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--sp-5)}
.chip{display:inline-flex;align-items:center;gap:7px;background:var(--soft);border:1px solid var(--line);
  border-radius:var(--r-pill);padding:7px 8px 7px 13px;font-size:12.5px;font-weight:600}
.chip button{width:20px;height:20px;border:0;background:var(--soft-2);border-radius:var(--r-pill);
  display:flex;align-items:center;justify-content:center;color:var(--muted);transition:background .15s ease,color .15s ease}
.chip button:hover{background:var(--red);color:#fff}
.chip .i{width:11px;height:11px}

/* ---------- grid da vitrine: 3 col (sem viúva com 9/6/3 itens) ---------- */
.grid-shop{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter)}
@media(max-width:1400px){.grid-shop{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1024px){.grid-shop{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.grid-shop{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid-shop{grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}}

/* esgotado */
.card.out .card__media img{filter:grayscale(1) opacity(.55)}
.card__out{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center}
.card__out span{background:rgba(22,24,28,.9);color:#fff;font-weight:800;font-size:12px;
  padding:8px 14px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.04em}
.card__buy:disabled{background:var(--soft-2);border-color:var(--soft-2);color:var(--muted);cursor:not-allowed}
.card__buy:disabled:hover{transform:none}

/* estado vazio */
.empty{text-align:center;padding:clamp(48px,8vw,96px) var(--sp-5);border:1px dashed var(--line);
  border-radius:var(--r-xl);background:var(--soft)}
.empty .i{width:52px;height:52px;color:var(--muted-2);margin:0 auto var(--sp-4)}
.empty h3{font-family:var(--fd);font-size:20px;margin:0 0 var(--sp-2)}
.empty p{color:var(--muted);font-size:14.5px;margin:0 auto var(--sp-5);max-width:44ch}

/* ============================================================
   BUSCA INTELIGENTE (autocomplete)
   ============================================================ */
.ac{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);box-shadow:var(--sh-lg);z-index:var(--z-sticky);overflow:hidden;
  max-height:min(70vh,460px);overflow-y:auto}
.ac[hidden]{display:none}
.ac__sec{padding:var(--sp-3) var(--sp-4) var(--sp-2);font-size:11px;font-weight:800;color:var(--muted-2);
  text-transform:uppercase;letter-spacing:.06em}
.ac__item{display:flex;align-items:center;gap:12px;padding:10px var(--sp-4);cursor:pointer;
  transition:background .12s ease;border:0;background:none;width:100%;text-align:left}
.ac__item:hover,.ac__item.sel{background:var(--soft)}
.ac__item img{width:44px;height:44px;border-radius:var(--r-sm);object-fit:cover;flex:0 0 auto;background:var(--soft)}
.ac__item .nm{font-size:13.5px;font-weight:600;line-height:1.35;color:var(--ink)}
.ac__item .pr{font-family:var(--fd);font-size:13px;font-weight:800;margin-left:auto;white-space:nowrap}
.ac__item .ic{width:34px;height:34px;border-radius:var(--r-sm);background:var(--soft);display:flex;
  align-items:center;justify-content:center;color:var(--muted);flex:0 0 auto}
.ac__item .ic .i{width:16px;height:16px}
.ac__empty{padding:var(--sp-6) var(--sp-4);text-align:center;color:var(--muted);font-size:13.5px}
.ac mark{background:var(--red-050);color:var(--red);font-weight:800;padding:0 1px;border-radius:3px}

/* ============================================================
   PDP — PRODUTO
   ============================================================ */
.pdp{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,4vw,72px);align-items:start;
  padding-block:var(--sp-4) clamp(48px,5vw,80px)}
@media(max-width:1024px){.pdp{grid-template-columns:1fr;gap:var(--sp-8)}}

/* ---------- galeria ---------- */
.gal{position:sticky;top:120px}
@media(max-width:1024px){.gal{position:static}}
.gal__main{position:relative;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;
  background:var(--soft);aspect-ratio:1/1;cursor:zoom-in}
.gal__main img{width:100%;height:100%;object-fit:cover;transition:opacity .25s ease}
/* lente de zoom */
.gal__zoom{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .2s ease;
  background-repeat:no-repeat;background-size:220%}
.gal__main:hover .gal__zoom{opacity:1}
.gal__hint{position:absolute;right:12px;bottom:12px;z-index:2;background:rgba(22,24,28,.82);color:#fff;
  font-size:11px;font-weight:700;padding:7px 11px;border-radius:var(--r-pill);display:flex;align-items:center;gap:6px;
  pointer-events:none;transition:opacity .2s ease}
.gal__main:hover .gal__hint{opacity:0}
.gal__hint .i{width:13px;height:13px}
.gal__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3);margin-top:var(--sp-3)}
.gal__thumb{border:1.5px solid var(--line);border-radius:var(--r-md);overflow:hidden;aspect-ratio:1/1;
  background:var(--soft);padding:0;transition:border-color .2s ease,transform .2s ease}
.gal__thumb img{width:100%;height:100%;object-fit:cover}
.gal__thumb:hover{transform:translateY(-2px)}
.gal__thumb.on{border-color:var(--red)}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;z-index:var(--z-toast);background:rgba(10,11,13,.94);display:flex;
  align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
.lb.open{opacity:1;visibility:visible}
.lb__img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:var(--r-md)}
.lb__btn{position:absolute;width:52px;height:52px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);color:#fff;display:flex;align-items:center;justify-content:center;
  transition:background .2s ease}
.lb__btn:hover{background:rgba(255,255,255,.2)}
.lb__close{top:24px;right:24px}
.lb__prev{left:24px}
.lb__next{right:24px}
.lb__count{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:#9AA0A8;
  font-size:13px;font-weight:600}
@media(max-width:640px){.lb__prev{left:8px}.lb__next{right:8px}.lb__btn{width:44px;height:44px}}

/* ---------- info do produto ---------- */
.pdp__cat{font-size:12px;font-weight:800;color:var(--red);text-transform:uppercase;letter-spacing:.06em}
.pdp__title{font-family:var(--fd);font-weight:800;font-size:clamp(24px,2.4vw,34px);line-height:1.15;
  letter-spacing:-.02em;margin:var(--sp-3) 0 0}
.pdp__meta{display:flex;align-items:center;gap:var(--sp-4);margin-top:var(--sp-4);flex-wrap:wrap}
.pdp__rate{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--muted)}
.pdp__rate .stars{display:inline-flex;color:var(--amber)}
.pdp__rate .stars .i{width:16px;height:16px;fill:currentColor}
.pdp__rate a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.pdp__rate a:hover{color:var(--red)}
.pdp__sold{font-size:13px;color:var(--muted);font-weight:600}
.pdp__stock{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--green)}
.pdp__stock.out{color:var(--red)}
.pdp__stock .i{width:14px;height:14px}
.pdp__price-box{margin-top:var(--sp-6);padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-xl);
  background:var(--soft)}
.pdp__oldrow{display:flex;align-items:center;gap:10px;margin-bottom:var(--sp-2)}
.pdp__old{font-size:15px;color:var(--muted);text-decoration:line-through;font-weight:500}
.pdp__off{background:var(--red);color:#fff;font-weight:800;font-size:12px;padding:3px 9px;border-radius:6px}
.pdp__price{font-family:var(--fd);font-weight:800;font-size:clamp(32px,3vw,42px);letter-spacing:-.02em;line-height:1}
.pdp__pix{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--green);margin-top:var(--sp-2)}
.pdp__pix .i{width:15px;height:15px}
.pdp__parcel{font-size:14px;color:var(--muted);font-weight:600;margin-top:var(--sp-1)}
.pdp__parcel b{color:var(--ink)}

/* variações */
.vgroup{margin-top:var(--sp-6)}
.vgroup__label{font-size:13px;font-weight:700;margin-bottom:var(--sp-3)}
.vgroup__label span{color:var(--muted);font-weight:500}
.vopts{display:flex;gap:var(--sp-2);flex-wrap:wrap}
.vopt{padding:11px 16px;border:1.5px solid var(--line);border-radius:var(--r-md);background:#fff;
  font-size:13.5px;font-weight:600;transition:border-color .2s ease,background .2s ease,color .2s ease}
.vopt:hover{border-color:var(--ink)}
.vopt.on{border-color:var(--red);background:var(--red-050);color:var(--red)}

/* qty + CTA */
.pdp__buy{display:flex;gap:var(--sp-3);margin-top:var(--sp-6);flex-wrap:wrap}
.qty-lg{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:var(--r-md);
  overflow:hidden;flex:0 0 auto;height:54px}
.qty-lg button{width:46px;height:100%;border:0;background:#fff;display:flex;align-items:center;justify-content:center;
  transition:background .15s ease}
.qty-lg button:hover{background:var(--soft)}
.qty-lg button:disabled{opacity:.35;cursor:not-allowed}
.qty-lg .i{width:16px;height:16px}
.qty-lg span{min-width:44px;text-align:center;font-weight:800;font-size:15px}
.pdp__buy .btn{flex:1 1 200px;height:54px}
.pdp__fav{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:var(--sp-3);
  height:46px;border:1.5px solid var(--line);background:#fff;border-radius:var(--r-md);
  font-size:13.5px;font-weight:700;color:var(--muted);transition:color .2s ease,border-color .2s ease}
.pdp__fav:hover{color:var(--red);border-color:var(--red)}
.pdp__fav.on{color:var(--red);border-color:var(--red);background:var(--red-050)}
.pdp__fav.on .i{fill:currentColor}
.pdp__fav .i{width:17px;height:17px}

/* compatibilidade inline */
.fitbox{margin-top:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--sp-5);background:#fff}
.fitbox__t{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;margin-bottom:var(--sp-4)}
.fitbox__t .i{width:18px;height:18px;color:var(--red)}
.fitbox__form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:var(--sp-2)}
@media(max-width:560px){.fitbox__form{grid-template-columns:1fr 1fr}}
.fitbox__sel{position:relative;display:flex;align-items:center}
.fitbox__sel select{width:100%;height:44px;border:1px solid var(--line);border-radius:var(--r-sm);
  padding:0 30px 0 10px;font-size:13px;font-weight:600;appearance:none;background:#fff;cursor:pointer;outline:none}
.fitbox__sel select:focus{border-color:var(--red);box-shadow:var(--sh-focus)}
.fitbox__sel .i{position:absolute;right:9px;width:14px;height:14px;pointer-events:none;color:var(--muted)}
.fitbox__btn{height:44px;padding:0 16px;border:0;background:var(--ink);color:#fff;border-radius:var(--r-sm);
  font-weight:700;font-size:13px;transition:background .2s ease}
.fitbox__btn:hover{background:#000}
.fitbox__res{margin-top:var(--sp-3);font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:7px;min-height:20px}
.fitbox__res .i{width:16px;height:16px}
.fitbox__res.ok{color:var(--green)}
.fitbox__res.no{color:var(--red)}

/* calculadora de frete */
.shipcalc{margin-top:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--sp-5);background:#fff}
.shipcalc__row{display:flex;gap:var(--sp-2)}
.shipcalc__row input{flex:1;height:44px;border:1px solid var(--line);border-radius:var(--r-sm);padding:0 12px;
  font-size:13.5px;outline:none}
.shipcalc__row input:focus{border-color:var(--red);box-shadow:var(--sh-focus)}
.shipcalc__row button{height:44px;padding:0 16px;border:1.5px solid var(--ink);background:#fff;border-radius:var(--r-sm);
  font-weight:700;font-size:13px;transition:background .2s ease,color .2s ease}
.shipcalc__row button:hover{background:var(--ink);color:#fff}
.shipcalc__out{margin-top:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}
.shipopt{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;
  border:1px solid var(--line);border-radius:var(--r-sm);font-size:13px}
.shipopt .l{font-weight:700}
.shipopt .d{color:var(--muted);font-size:12px;font-weight:500}
.shipopt .p{font-family:var(--fd);font-weight:800;font-size:14px}
.shipopt .p.free{color:var(--green)}

/* selos */
.pdp__trust{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3);margin-top:var(--sp-4)}
.pdp__trust div{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;color:var(--muted)}
.pdp__trust .i{width:17px;height:17px;color:var(--red);flex:0 0 auto}

/* ---------- compre junto (bundle / cross-sell) ---------- */
.bundle{border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--sp-6);background:#fff}
.bundle__items{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-5)}
.bundle__it{display:flex;align-items:center;gap:12px;flex:1 1 220px;min-width:0}
.bundle__it img{width:64px;height:64px;border-radius:var(--r-sm);object-fit:cover;flex:0 0 auto;background:var(--soft)}
.bundle__it .nm{font-size:12.5px;font-weight:600;line-height:1.35}
.bundle__it .pr{font-family:var(--fd);font-weight:800;font-size:14px;margin-top:3px}
.bundle__plus{font-family:var(--fd);font-weight:800;font-size:22px;color:var(--muted-2);flex:0 0 auto}
.bundle__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);
  margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--line);flex-wrap:wrap}
.bundle__tot .k{font-size:12.5px;color:var(--muted);font-weight:600}
.bundle__tot .v{font-family:var(--fd);font-weight:800;font-size:26px;letter-spacing:-.015em}
.bundle__tot .save{font-size:12.5px;color:var(--green);font-weight:700;margin-top:2px}

/* ---------- abas ---------- */
.tabs{border-bottom:1px solid var(--line);display:flex;gap:var(--sp-6);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{padding:var(--sp-4) 0;border:0;background:none;font-family:var(--fd);font-weight:700;font-size:16px;
  color:var(--muted);position:relative;white-space:nowrap;transition:color .2s ease}
.tab:hover{color:var(--ink)}
.tab.on{color:var(--ink)}
.tab.on::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--red);border-radius:2px}
.tabpanel{padding-top:var(--sp-8)}
.tabpanel[hidden]{display:none}
.prose{max-width:72ch;color:var(--muted);font-size:15.5px;line-height:1.7}
.prose p{margin:0 0 var(--sp-4)}
.spectable{width:100%;border-collapse:collapse;max-width:620px}
.spectable tr{border-bottom:1px solid var(--line)}
.spectable td{padding:14px 0;font-size:14.5px}
.spectable td:first-child{color:var(--muted);font-weight:600;width:45%}
.spectable td:last-child{font-weight:700}

/* ---------- reviews do produto ---------- */
.rev-sum{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,56px);align-items:center;
  padding-bottom:var(--sp-8);border-bottom:1px solid var(--line);margin-bottom:var(--sp-8)}
@media(max-width:640px){.rev-sum{grid-template-columns:1fr;gap:var(--sp-5)}}
.rev-sum__big{text-align:center}
.rev-sum__n{font-family:var(--fd);font-weight:800;font-size:56px;line-height:1;letter-spacing:-.03em}
.rev-sum__stars{display:inline-flex;color:var(--amber);margin-top:var(--sp-2)}
.rev-sum__stars .i{width:18px;height:18px;fill:currentColor}
.rev-sum__c{font-size:13px;color:var(--muted);font-weight:600;margin-top:var(--sp-2)}
.histo{display:flex;flex-direction:column;gap:8px}
.histo__row{display:flex;align-items:center;gap:12px;font-size:12.5px;font-weight:600;color:var(--muted)}
.histo__row .s{width:34px;display:flex;align-items:center;gap:3px}
.histo__row .s .i{width:12px;height:12px;fill:var(--amber);color:var(--amber)}
.histo__rail{flex:1;height:8px;background:var(--soft-2);border-radius:var(--r-pill);overflow:hidden}
.histo__fill{height:100%;background:var(--amber);border-radius:var(--r-pill);
  transform-origin:left;transform:scaleX(0);transition:transform .6s var(--ease)}
.histo__row .n{width:34px;text-align:right}
.rev-list{display:flex;flex-direction:column;gap:var(--sp-6)}
.rev-it{border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--sp-6);background:#fff}
.rev-it__head{display:flex;align-items:center;gap:12px;margin-bottom:var(--sp-3);flex-wrap:wrap}
.rev-it__av{width:40px;height:40px;border-radius:var(--r-pill);background:var(--ink);color:#fff;display:flex;
  align-items:center;justify-content:center;font-family:var(--fd);font-weight:800;font-size:15px;flex:0 0 auto}
.rev-it__nm{font-weight:700;font-size:14px}
.rev-it__car{font-size:12px;color:var(--muted);font-weight:500}
.rev-it__date{margin-left:auto;font-size:12px;color:var(--muted-2);font-weight:600}
.rev-it__stars{display:inline-flex;color:var(--amber)}
.rev-it__stars .i{width:15px;height:15px;fill:currentColor}
.rev-it__t{font-family:var(--fd);font-weight:700;font-size:15.5px;margin:var(--sp-3) 0 var(--sp-2)}
.rev-it__x{font-size:14.5px;color:var(--muted);line-height:1.6;margin:0}
.rev-it__v{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--green);margin-top:var(--sp-3)}
.rev-it__v .i{width:13px;height:13px}

/* ============================================================
   CHECKOUT
   ============================================================ */
.co{display:grid;grid-template-columns:1fr 400px;gap:clamp(24px,3vw,56px);align-items:start;
  padding-block:var(--sp-6) clamp(48px,5vw,80px)}
@media(max-width:1024px){.co{grid-template-columns:1fr}}
.co-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);
  padding-block:var(--sp-5);border-bottom:1px solid var(--line);flex-wrap:wrap}
.co-head img{height:34px;width:auto}
.co-secure{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--green)}
.co-secure .i{width:16px;height:16px}

/* passos */
.step{border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;margin-bottom:var(--sp-4);overflow:hidden}
.step.on{border-color:var(--ink);box-shadow:var(--sh-md)}
.step__head{display:flex;align-items:center;gap:14px;padding:var(--sp-5) var(--sp-6);width:100%;border:0;
  background:none;text-align:left}
.step__n{width:30px;height:30px;border-radius:var(--r-pill);background:var(--soft-2);color:var(--muted);
  display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:800;font-size:14px;flex:0 0 auto;
  transition:background .2s ease,color .2s ease}
.step.on .step__n{background:var(--ink);color:#fff}
.step.done .step__n{background:var(--green);color:#fff}
.step__n .i{width:15px;height:15px}
.step__t{font-family:var(--fd);font-weight:700;font-size:16.5px}
.step__sum{font-size:13px;color:var(--muted);font-weight:500;margin-top:2px}
.step__edit{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--red);background:none;border:0}
.step__edit:hover{text-decoration:underline}
.step__body{padding:0 var(--sp-6) var(--sp-6);border-top:1px solid var(--line);padding-top:var(--sp-5)}
.step__body[hidden]{display:none}

/* form */
.frow{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin-bottom:var(--sp-4)}
.frow--1{grid-template-columns:1fr}
.frow--cep{grid-template-columns:200px 1fr}
.frow--3{grid-template-columns:1fr 120px 140px}
@media(max-width:640px){.frow,.frow--cep,.frow--3{grid-template-columns:1fr}}
.field label{display:block;font-size:12.5px;font-weight:700;margin-bottom:7px}
.field input,.field select{width:100%;height:50px;border:1px solid var(--line);border-radius:var(--r-md);
  padding:0 14px;font-size:14.5px;outline:none;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.field input:focus,.field select:focus{border-color:var(--red);box-shadow:var(--sh-focus)}
.field input:disabled{background:var(--soft);color:var(--muted)}
.field input[aria-invalid="true"]{border-color:var(--red)}
.field .err{font-size:12px;color:var(--red);font-weight:600;margin-top:6px;min-height:15px}
.field .hint{font-size:12px;color:var(--muted);font-weight:500;margin-top:6px;display:flex;align-items:center;gap:6px}
.field .hint .i{width:13px;height:13px}
.field .hint.load{color:var(--ink)}

/* spinner */
.spin{width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--red);border-radius:50%;
  animation:spin .7s linear infinite;flex:0 0 auto}
@keyframes spin{to{transform:rotate(360deg)}}
.btn .spin{border-color:rgba(255,255,255,.35);border-top-color:#fff}
.btn.loading{pointer-events:none;opacity:.85}

/* entrega */
.shiplist{display:flex;flex-direction:column;gap:var(--sp-3)}
.shipradio{display:flex;align-items:center;gap:13px;padding:15px 16px;border:1.5px solid var(--line);
  border-radius:var(--r-md);cursor:pointer;transition:border-color .2s ease,background .2s ease}
.shipradio:hover{border-color:var(--ink)}
.shipradio.on{border-color:var(--red);background:var(--red-050)}
.shipradio input{appearance:none;width:20px;height:20px;border:1.5px solid var(--line);border-radius:50%;
  position:relative;flex:0 0 auto;cursor:pointer}
.shipradio input:checked{border-color:var(--red);border-width:6px}
.shipradio .l{font-weight:700;font-size:14px}
.shipradio .d{font-size:12.5px;color:var(--muted);font-weight:500;margin-top:2px}
.shipradio .p{margin-left:auto;font-family:var(--fd);font-weight:800;font-size:15px}
.shipradio .p.free{color:var(--green)}

/* pagamento */
.paylist{display:flex;flex-direction:column;gap:var(--sp-3)}
.payopt{border:1.5px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:border-color .2s ease}
.payopt.on{border-color:var(--red)}
.payopt__head{display:flex;align-items:center;gap:13px;padding:15px 16px;cursor:pointer;width:100%;
  background:none;border:0;text-align:left}
.payopt.on .payopt__head{background:var(--red-050)}
.payopt__head input{appearance:none;width:20px;height:20px;border:1.5px solid var(--line);border-radius:50%;
  position:relative;flex:0 0 auto;cursor:pointer}
.payopt__head input:checked{border-color:var(--red);border-width:6px}
.payopt__l{font-weight:700;font-size:14px}
.payopt__d{font-size:12.5px;color:var(--muted);font-weight:500;margin-top:2px}
.payopt__badge{margin-left:auto;background:var(--green-050);color:var(--green);font-size:11px;font-weight:800;
  padding:4px 9px;border-radius:var(--r-pill);white-space:nowrap}
.payopt__logo{margin-left:auto;display:flex;gap:5px;align-items:center}
.payopt__logo svg{height:17px;width:auto}
.payopt__body{padding:var(--sp-5) 16px;border-top:1px solid var(--line);background:#fff}
.payopt__body[hidden]{display:none}
.pixbox{text-align:center;padding:var(--sp-4) 0}
.pixbox__qr{width:150px;height:150px;margin:0 auto var(--sp-4);border-radius:var(--r-md);background:#fff;
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.pixbox p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.55}

/* resumo fixo */
.summary{position:sticky;top:24px;border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;
  overflow:hidden;box-shadow:var(--sh-md)}
@media(max-width:1024px){.summary{position:static}}
.summary__head{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between}
.summary__head .t{font-family:var(--fd);font-weight:800;font-size:16.5px}
.summary__head .n{font-size:12.5px;color:var(--muted);font-weight:600}
.summary__items{padding:var(--sp-4) var(--sp-6);max-height:280px;overflow-y:auto;display:flex;
  flex-direction:column;gap:var(--sp-4)}
.sitem{display:flex;gap:12px;align-items:center}
.sitem__th{position:relative;width:56px;height:56px;border-radius:var(--r-sm);overflow:hidden;flex:0 0 auto;background:var(--soft)}
.sitem__th img{width:100%;height:100%;object-fit:cover}
.sitem__q{position:absolute;top:-6px;right:-6px;background:var(--ink);color:#fff;font-size:10.5px;font-weight:800;
  min-width:19px;height:19px;border-radius:var(--r-pill);display:flex;align-items:center;justify-content:center;
  border:2px solid #fff}
.sitem__nm{font-size:12.5px;font-weight:600;line-height:1.35}
.sitem__pr{font-family:var(--fd);font-weight:800;font-size:13.5px;margin-left:auto;white-space:nowrap}
.summary__totals{padding:var(--sp-5) var(--sp-6);border-top:1px solid var(--line)}
.sline{display:flex;align-items:center;justify-content:space-between;font-size:13.5px;margin-bottom:9px}
.sline .k{color:var(--muted);font-weight:600}
.sline .v{font-weight:700}
.sline.disc .v{color:var(--green)}
.stotal{display:flex;align-items:center;justify-content:space-between;padding-top:var(--sp-4);
  margin-top:var(--sp-2);border-top:1px solid var(--line)}
.stotal .k{font-weight:800;font-size:15px}
.stotal .v{font-family:var(--fd);font-weight:800;font-size:26px;letter-spacing:-.015em}
.summary__pix{font-size:12.5px;color:var(--green);font-weight:700;text-align:right;margin-top:4px}
.summary__foot{padding:0 var(--sp-6) var(--sp-6)}
.summary__seals{display:flex;flex-direction:column;gap:9px;margin-top:var(--sp-4);padding-top:var(--sp-4);
  border-top:1px solid var(--line)}
.summary__seals div{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);font-weight:600}
.summary__seals .i{width:14px;height:14px;color:var(--green);flex:0 0 auto}

/* sucesso */
.done{text-align:center;padding:clamp(48px,7vw,96px) var(--sp-5);max-width:560px;margin-inline:auto}
.done__ic{width:76px;height:76px;border-radius:var(--r-pill);background:var(--green-050);color:var(--green);
  display:flex;align-items:center;justify-content:center;margin:0 auto var(--sp-6)}
.done__ic .i{width:38px;height:38px}
.done h1{font-family:var(--fd);font-weight:800;font-size:clamp(26px,3vw,34px);margin:0 0 var(--sp-3);letter-spacing:-.02em}
.done p{color:var(--muted);font-size:15.5px;line-height:1.6;margin:0 auto var(--sp-6);max-width:44ch}
.done__code{display:inline-flex;align-items:center;gap:9px;background:var(--soft);border:1px solid var(--line);
  border-radius:var(--r-md);padding:12px 18px;font-family:var(--fd);font-weight:800;font-size:16px;margin-bottom:var(--sp-6)}
