/* ==========================================================================
   VPJ Beef Express — Design System
   Faithful to the Claude Design source (AppScreen / ProductCard / Painel).
   Palette: bordô + ouro + creme + tinta. Fonts: Playfair Display + Montserrat.
   ========================================================================== */
:root{
  /* wine / bordô */
  --wine:#7A0D14; --wine-700:#4B0508; --wine-900:#260306; --wine-soft:#FBEEEF;
  --wine-grad:linear-gradient(165deg,#7a0d14,#4b0508 58%,#260306);
  /* gold */
  --gold:#C6A15B; --gold-200:#E4D1A7; --gold-100:#F3E7CE; --gold-deep:#8a5a13;
  /* paper / cream */
  --paper:#FBF7F0; --paper-2:#F4EEE3; --line:#E7DFD2; --line-2:#EADFCF; --hay:#F7F1E6; --amber-bg:#FBF3E4;
  /* ink */
  --ink:#211D19; --ink-2:#11100E; --ink-3:#292521;
  /* text */
  --muted:#9a8f7f; --muted-2:#9a8d78; --muted-3:#5a5247; --muted-4:#7a7164; --faint:#b0a695;
  /* status */
  --green:#2E7D32; --green-300:#5BC06A; --green-100:#9ed4a2;
  --clay:#B84D42; --blue:#3B7FA6;
  --r-sm:9px; --r:12px; --r-lg:16px; --r-xl:22px;
  --shadow-card:0 6px 14px rgba(40,20,10,.06);
  --shadow-pop:0 18px 50px rgba(40,20,10,.18);
  --ff-serif:'Playfair Display',Georgia,serif;
  --ff-sans:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;}
body{font-family:var(--ff-sans);color:var(--ink);background:#15110d;}
img{display:block;}
button{font-family:inherit;cursor:pointer;}
a{color:inherit;text-decoration:none;}
.serif{font-family:var(--ff-serif);}
::selection{background:var(--gold-200);color:var(--ink-2);}

/* ----- Desktop showcase backdrop (premium ambient) ----- */
.stage{
  min-height:100vh;display:flex;align-items:center;justify-content:center;gap:48px;
  padding:40px 24px;
  background:
    radial-gradient(60% 50% at 15% 10%,rgba(122,13,20,.55),transparent 60%),
    radial-gradient(50% 50% at 90% 90%,rgba(198,161,91,.18),transparent 60%),
    linear-gradient(160deg,#1c0306,#11100E 60%,#0c0a07);
  background-attachment:fixed;
}
.stage-pitch{max-width:380px;color:var(--gold-100);display:none;}
.stage-pitch .eyebrow{font-size:11px;letter-spacing:3px;color:var(--gold);font-weight:700;}
.stage-pitch h1{font-family:var(--ff-serif);font-size:42px;line-height:1.05;margin:14px 0;color:#fff;font-weight:600;}
.stage-pitch p{font-size:15px;line-height:1.6;color:#cbb89c;}
.stage-pitch .pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
.stage-pitch .pill{font-size:12px;border:1px solid rgba(198,161,91,.4);background:rgba(198,161,91,.08);color:var(--gold-200);padding:7px 12px;border-radius:999px;}
.stage-pitch .pwa-link{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-size:13px;color:var(--gold-200);border-bottom:1px solid rgba(198,161,91,.4);padding-bottom:3px;}

/* ----- Phone frame ----- */
.device{
  width:380px;height:800px;max-height:94vh;flex-shrink:0;border-radius:48px;background:#11100E;
  padding:10px;box-shadow:0 40px 90px rgba(0,0,0,.5),0 0 0 1px rgba(198,161,91,.28);
  position:relative;
}
.device .screen{
  width:100%;height:100%;border-radius:38px;overflow:hidden;background:var(--paper);position:relative;
}
@media (max-width:880px){
  .stage{padding:0;background:none;align-items:stretch;}
  .device{width:100%;height:100vh;height:100dvh;max-height:none;border-radius:0;padding:0;box-shadow:none;}
  .device .screen{border-radius:0;}
  .stage-pitch{display:none!important;}
}
@media (min-width:1180px){ .stage-pitch{display:block;} }

/* ----- App scaffolding ----- */
.app{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--paper);}
.statusbar{position:absolute;top:0;left:0;right:0;height:40px;display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px 0;z-index:60;pointer-events:none;font-size:12px;font-weight:700;}
.statusbar svg{vertical-align:middle;}
.view{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--paper);padding-bottom:74px;}
.view::-webkit-scrollbar{width:0;}
.view.no-nav{padding-bottom:0;}

/* ----- Bottom nav ----- */
.tabbar{position:absolute;bottom:0;left:0;right:0;height:64px;background:rgba(255,255,255,.97);
  border-top:1px solid var(--line-2);display:flex;align-items:center;justify-content:space-around;
  padding-top:6px;z-index:50;backdrop-filter:blur(8px);}
.tab{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--faint);font-size:9px;font-weight:600;
  background:none;border:none;padding:4px 8px;}
.tab svg{width:21px;height:21px;}
.tab.active{color:var(--wine);}

/* ----- Buttons ----- */
.btn{border:none;border-radius:var(--r);font-weight:700;font-size:13px;display:inline-flex;align-items:center;
  justify-content:center;gap:8px;transition:transform .08s ease,filter .15s;}
.btn:active{transform:scale(.97);}
.btn-primary{background:var(--wine);color:#fff;height:48px;padding:0 18px;box-shadow:0 8px 18px rgba(122,13,20,.28);}
.btn-gold{background:var(--gold);color:#3a2406;height:44px;padding:0 16px;}
.btn-ghost{background:#fff;border:1.5px solid var(--line);color:var(--ink);height:44px;padding:0 16px;}
.btn-block{width:100%;}
.add-btn{width:36px;height:36px;flex-shrink:0;border:none;border-radius:12px;background:var(--wine);color:#fff;
  font-size:20px;font-weight:300;line-height:1;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 10px rgba(122,13,20,.3);}
.stepper{display:flex;align-items:center;gap:8px;background:var(--wine);border-radius:12px;padding:0 9px;height:36px;}
.stepper button{background:none;border:none;color:#fff;font-size:18px;width:16px;line-height:1;}
.stepper span{color:#fff;font-weight:700;font-size:13px;min-width:14px;text-align:center;}

/* ----- Header (dark wine) ----- */
.hd{background:var(--wine-grad);padding:46px 18px 16px;border-bottom:1px solid rgba(198,161,91,.35);color:var(--gold-100);}
.hd-top{display:flex;align-items:center;justify-content:space-between;}
.hd-brand{display:flex;align-items:center;gap:9px;}
.hd-brand img{width:36px;height:36px;object-fit:contain;}
.hd-brand .ttl{font-family:var(--ff-serif);font-size:17px;color:var(--gold-100);line-height:1;}
.hd-brand .sub{font-size:7.5px;letter-spacing:2px;color:var(--gold);}
.hd-ic{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;position:relative;border:none;}
.hd-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--gold);color:#3a2406;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--wine);}
.hd-addr{margin-top:13px;font-size:13px;color:var(--gold-100);}
.hd-hub{font-size:10px;color:#cbb89c;margin-top:3px;display:flex;align-items:center;gap:5px;}
.dot-live{width:5px;height:5px;border-radius:50%;background:var(--green-300);display:inline-block;}
.hd-modes{display:flex;gap:8px;margin-top:12px;}
.hd-mode{flex:1;display:flex;align-items:center;gap:7px;border-radius:12px;padding:8px 10px;}
.hd-mode.ultra{background:linear-gradient(135deg,rgba(198,161,91,.24),rgba(198,161,91,.08));border:1px solid rgba(198,161,91,.55);}
.hd-mode.plain{background:rgba(255,255,255,.1);border:1px solid rgba(228,209,167,.25);}
.hd-mode .k{font-size:8px;letter-spacing:.5px;font-weight:700;}
.hd-mode .v{font-size:12px;color:#fff;font-weight:700;}

/* ----- Sections ----- */
.pad{padding:13px;}
.sec-title{font-family:var(--ff-serif);font-size:17px;font-weight:600;color:var(--ink);letter-spacing:-.2px;margin:22px 15px 11px;}
.promo{border-radius:18px;min-height:118px;background:radial-gradient(70% 60% at 72% 28%,#7a2b22,transparent 60%),linear-gradient(135deg,#3a0a10,#11100E);
  padding:16px;position:relative;overflow:hidden;color:#fff;}
.promo .glow{position:absolute;right:-20px;bottom:-30px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(198,161,91,.22),transparent 70%);}
.promo .eyebrow{font-size:8px;letter-spacing:1.5px;color:var(--gold-200);font-weight:700;}
.promo h3{font-family:var(--ff-serif);font-size:21px;margin:8px 0 0;line-height:1.05;font-weight:600;}
/* bolinhas de categoria — grid responsivo (mais colunas em telas largas) */
.chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 11px;margin-top:16px;padding:0 15px;align-items:start;}
.chips::-webkit-scrollbar{display:none;}
.chip{display:block;width:100%;min-width:0;background:none;border:none;text-align:center;transition:transform .12s ease;}
.chip .ic{width:100%;aspect-ratio:1;flex-shrink:0;border-radius:18px;background:linear-gradient(150deg,#2c2620,#14100c);border:1px solid rgba(198,161,91,.3);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--shadow-card);transition:box-shadow .15s ease,border-color .15s ease;}
.chip .ic img{width:100%;height:100%;object-fit:cover;}
.chip span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:8px;font-size:10px;font-weight:600;color:var(--ink);text-align:center;line-height:1.15;min-height:23px;}
.chip:active{transform:scale(.96);}
@media (hover:hover){.chip:hover .ic{box-shadow:0 8px 18px rgba(40,20,10,.14);border-color:rgba(198,161,91,.55);}}

/* ----- Product card (faithful to ProductCard.dc.html) ----- */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px 15px 18px;}
.pcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-card);}
.pcard .ph{position:relative;height:108px;flex-shrink:0;background:#1a120c;}
.pcard .ph img{width:100%;height:100%;object-fit:cover;}
.pcard .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,transparent 38%,rgba(10,5,3,.42));}
.pbadge{position:absolute;top:8px;left:8px;z-index:2;display:flex;align-items:center;gap:4px;
  background:linear-gradient(135deg,rgba(20,14,10,.86),rgba(45,34,22,.78));border:1px solid rgba(198,161,91,.7);
  color:#E8D4A6;font-size:8.5px;font-weight:700;letter-spacing:.4px;padding:4px 8px;border-radius:999px;text-transform:uppercase;}
.pbadge .st{color:var(--gold);font-size:8px;}
.pchill{position:absolute;top:8px;right:8px;z-index:2;background:rgba(15,12,9,.55);border:1px solid rgba(255,255,255,.22);
  color:#EDE6D9;font-size:8px;font-weight:600;letter-spacing:.4px;padding:4px 7px;border-radius:999px;text-transform:uppercase;}
.pcard .body{padding:11px 12px 12px;display:flex;flex-direction:column;gap:4px;flex:1;}
.pcard .nm{font-weight:600;font-size:12.5px;line-height:1.24;color:var(--ink);letter-spacing:-.1px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:31px;}
.pcard .wl{font-size:10px;color:var(--muted);font-weight:500;}
.pcard .foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:6px;padding-top:9px;}
.pcard .price{font-weight:700;font-size:16px;color:var(--wine);letter-spacing:-.3px;line-height:1;}
.pcard .unit{font-size:9px;color:var(--muted);}

/* list rows used in cart / kit / search */
.list{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;}
.row{display:flex;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid #F0E8DA;}
.row:last-child{border-bottom:none;}
.row .thumb{width:48px;height:48px;border-radius:11px;object-fit:cover;flex-shrink:0;background:#1a120c;}
.row .info{flex:1;min-width:0;}
.row .info .nm{font-size:12px;font-weight:600;color:var(--ink);}
.row .info .sb{font-size:9.5px;color:var(--muted);}
.row .pr{font-size:13px;font-weight:700;color:var(--wine);}

/* info card dark */
.darkcard{background:var(--ink-2);border-radius:15px;padding:13px;color:var(--paper);}
.note-thermal{display:flex;align-items:center;gap:8px;background:var(--ink-2);border-radius:12px;padding:11px 12px;color:var(--gold-200);font-size:10.5px;font-weight:500;}
.note-weight{display:flex;align-items:center;gap:8px;background:var(--amber-bg);border:1px solid var(--gold-200);border-radius:12px;padding:10px 12px;}
.note-weight .t{font-size:10.5px;font-weight:700;color:var(--gold-deep);}
.note-weight .s{font-size:9px;color:#9a7a3a;}

/* totals box */
.totals{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;}
.totals .ln{display:flex;justify-content:space-between;font-size:12px;color:var(--muted-3);margin-bottom:7px;}
.totals .ln b{color:var(--ink);}
.totals .hr{height:1px;background:var(--line-2);margin:8px 0;}
.totals .grand{display:flex;justify-content:space-between;align-items:center;}
.totals .grand .lbl{font-size:13px;font-weight:700;color:var(--ink);}
.totals .grand .val{font-family:var(--ff-serif);font-size:21px;font-weight:700;color:var(--wine);}
.free{font-weight:700;color:var(--green);}

/* sticky bottom action bar */
.actionbar{position:absolute;bottom:0;left:0;right:0;background:var(--paper);padding:12px 16px 18px;
  border-top:1px solid var(--line-2);display:flex;gap:10px;z-index:40;}

/* topbar (back) */
.topbar{padding:44px 16px 12px;display:flex;align-items:center;gap:10px;background:var(--paper);}
.back{width:34px;height:34px;border-radius:10px;border:1px solid #DDD4C8;background:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--ink);flex-shrink:0;}
.topbar h2{font-family:var(--ff-serif);font-size:19px;margin:0;color:var(--ink);}

/* segmented pills (filters) */
.segs{display:flex;gap:6px;padding:0 16px 4px;flex-wrap:wrap;}
.seg{font-size:10px;font-weight:600;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted-3);}
.seg.on{background:var(--wine);color:#fff;border-color:var(--wine);}

/* search input */
.searchbar{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #DDD4C8;border-radius:12px;padding:11px 13px;margin:0 16px;}
.searchbar svg{flex-shrink:0;width:18px;height:18px;}
.searchbar input{border:none;outline:none;flex:1;min-width:0;font-size:14px;font-family:inherit;color:var(--ink);background:none;}

/* tracking map */
.map{height:230px;position:relative;background:linear-gradient(135deg,#EFE6D8,#E2D6C2);overflow:hidden;}
#mapbox{position:absolute;inset:0;}
.map-fallback{position:absolute;inset:0;}
.map-grid{position:absolute;inset:0;opacity:.5;background:repeating-linear-gradient(0deg,transparent 0 34px,#d8cab2 34px 36px),repeating-linear-gradient(90deg,transparent 0 42px,#d8cab2 42px 44px);}
.map-eta{position:absolute;bottom:12px;left:14px;background:rgba(17,16,14,.85);border-radius:11px;padding:8px 13px;color:#fff;z-index:5;}
.map-eta .k{font-size:9px;color:var(--gold);letter-spacing:.5px;}
.map-eta .v{font-size:15px;font-weight:700;}

/* timeline */
.timeline{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;}
.tl{display:flex;gap:11px;}
.tl .col{display:flex;flex-direction:column;align-items:center;}
.tl .d{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.tl .d i{width:7px;height:7px;border-radius:50%;background:#fff;display:block;}
.tl .ln{width:2px;flex:1;min-height:14px;}
.tl .lb{font-size:11.5px;font-weight:600;}
.tl .tm{font-size:9.5px;color:var(--muted);}

/* toast */
.toast{position:absolute;left:50%;bottom:84px;transform:translateX(-50%) translateY(20px);z-index:90;
  background:var(--ink-2);color:var(--gold-100);font-size:12.5px;font-weight:600;padding:11px 18px;border-radius:12px;
  box-shadow:var(--shadow-pop);opacity:0;transition:.25s;border:1px solid rgba(198,161,91,.3);max-width:300px;text-align:center;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* empty state */
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 30px;text-align:center;color:var(--muted);}
.empty svg{opacity:.5;}

/* skeleton shimmer */
@keyframes sh{0%{background-position:-200px 0}100%{background-position:200px 0}}
.sk{background:#efe7da;background-image:linear-gradient(90deg,#efe7da,#f6f0e6,#efe7da);background-size:200px 100%;animation:sh 1.1s infinite;border-radius:10px;}

/* fade-in for views */
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.view-anim{animation:fade .22s ease;}

/* ===== product detail (premium minimalista) ===== */
.pd-seal{position:absolute;top:46px;right:14px;width:68px;height:68px;border-radius:50%;background:rgba(251,247,240,.96);box-shadow:0 6px 18px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;padding:9px;z-index:3;}
.pd-seal img{width:100%;height:100%;object-fit:contain;}
.pd-tagline{font-size:9.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold-deep);font-weight:700;margin-bottom:3px;}
.pd-logo{height:26px;max-width:140px;object-fit:contain;object-position:left;margin-bottom:8px;}
.chips-wrap{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;}
.pd-chip{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;color:var(--muted-3);background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 11px;}
.pd-chip .dotg{width:6px;height:6px;border-radius:50%;background:var(--gold);}
.pd-desc{font-size:13.5px;line-height:1.66;color:#5d544a;margin-top:14px;}
.pd-sectitle{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted-4);font-weight:700;margin:22px 0 10px;}
.ficha{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.ficha .fr{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-2);font-size:12px;}
.ficha .fr:last-child{border-bottom:none;}
.ficha .fr .k{color:var(--muted);}
.ficha .fr .vl{color:var(--ink);font-weight:600;text-align:right;}
.origem{display:flex;flex-direction:column;gap:11px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;}
.origem .it{display:flex;align-items:center;gap:11px;font-size:12px;color:var(--ink);font-weight:600;}
.origem .ic{width:28px;height:28px;border-radius:9px;background:var(--wine-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* ===== home banner carousel (estilo Zé Delivery) ===== */
.bnr-wrap{padding:13px 0 18px;}
.bnr-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 15px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.bnr-track::-webkit-scrollbar{display:none;}
.bnr{flex:0 0 84%;scroll-snap-align:center;height:152px;border-radius:18px;overflow:hidden;position:relative;background:#1a120c;box-shadow:var(--shadow-card);border:none;text-align:left;}
.bnr>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82;}
.bnr.bleed{background:#15110d;}
.bnr.bleed>img{opacity:1;object-fit:cover;}
.bnr .ov{position:absolute;inset:0;background:linear-gradient(102deg,rgba(17,16,14,.93),rgba(17,16,14,.5) 58%,transparent);}
.bnr .ct{position:absolute;inset:0;padding:16px;display:flex;flex-direction:column;justify-content:center;}
.bnr .lg{height:17px;max-width:96px;object-fit:contain;object-position:left;margin-bottom:8px;}
.bnr .eyebrow{font-size:8px;letter-spacing:1.5px;font-weight:700;color:var(--gold);text-transform:uppercase;margin-bottom:5px;}
.bnr .ti{font-family:var(--ff-serif);color:#F3E7CE;font-size:18px;line-height:1.1;max-width:80%;}
.bnr .sb{font-size:10px;color:#cbb89c;margin-top:6px;max-width:76%;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.bnr .cta{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin-top:11px;background:var(--gold);color:#3a2406;font-size:11px;font-weight:700;padding:6px 13px;border-radius:9px;}
.bnr-dots{display:flex;gap:5px;justify-content:center;margin-top:16px;margin-bottom:4px;}
.bnr-dots i{width:6px;height:6px;border-radius:50%;background:#d8cdbb;transition:.2s;}
.bnr-dots i.on{background:var(--wine);width:16px;border-radius:3px;}
.rail{display:flex;gap:14px;overflow-x:auto;padding:0 15px 4px;scrollbar-width:none;}
.rail::-webkit-scrollbar{display:none;}
.rail>.pcard{flex:0 0 150px;}

/* ===== descoberta / filtros / rails / áreas especiais (v2) ===== */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin:26px 15px 11px;gap:10px;}
.sec-head .sec-title{margin:0;font-size:17px;}
.sec-sub{font-size:10.5px;color:var(--muted);margin-top:3px;letter-spacing:.1px;}
.sec-more{background:none;border:none;color:var(--wine);font-size:11px;font-weight:700;white-space:nowrap;padding:4px 0;letter-spacing:.2px;}
@media (hover:hover){.sec-more:hover{color:var(--wine-700);}}
/* primeira seção da home cola menos no topo dos chips/momentos */
.hd + .bnr-wrap{padding-top:14px;}
/* respiro extra antes do 1º título de seção logo após o carrossel */
.bnr-wrap + .sec-head{margin-top:8px;}
.momrow{display:flex;gap:9px;overflow-x:auto;padding:2px 15px 6px;scrollbar-width:none;}
.momrow::-webkit-scrollbar{display:none;}
.mom{flex:0 0 auto;display:flex;align-items:center;gap:7px;background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:9px 14px;font-size:12.5px;font-weight:600;color:var(--ink);box-shadow:var(--shadow-card);}
.mom .emo{font-size:15px;line-height:1;}
.mom:active{transform:scale(.97);}
.special{display:block;position:relative;width:calc(100% - 30px);margin:24px 15px 4px;height:150px;border:none;border-radius:var(--r-xl);overflow:hidden;background-size:cover;background-position:center;text-align:left;box-shadow:var(--shadow-card);}
.special .ov{position:absolute;inset:0;background:linear-gradient(110deg,rgba(38,3,6,.92),rgba(75,5,8,.55) 55%,rgba(122,13,20,.12));}
.special .ct{position:absolute;inset:0;padding:16px 18px;display:flex;flex-direction:column;justify-content:center;}
.special .eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--gold);text-transform:uppercase;}
.special .ti{font-family:var(--ff-serif);font-size:21px;color:var(--gold-100);line-height:1.05;margin-top:5px;}
.special .sb{font-size:11px;color:#e7d4b8;margin-top:5px;max-width:230px;line-height:1.3;}
.special .cta{margin-top:11px;align-self:flex-start;background:var(--gold);color:#3a2406;font-size:11.5px;font-weight:800;padding:8px 14px;border-radius:999px;}
.rail{display:flex;align-items:stretch;gap:14px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding:0 15px;}
.rail::-webkit-scrollbar{display:none;}
/* espaçadores laterais reais (rolam junto) — garantem o respiro nas bordas mesmo com scroll-snap */
.rail::before,.rail::after{content:"";flex:0 0 15px;align-self:stretch;}
.rail .pcard{flex:0 0 158px;width:158px;scroll-snap-align:start;}
/* respiro generoso ao final da home (último rail antes do tabbar) */
.view > .rail:last-child{padding-bottom:22px;}
/* ===== Filtros — barra premium sticky (pílulas + estado ativo bordô) ===== */
.filterbar{display:flex;flex-direction:column;gap:9px;padding:11px 0 9px;background:var(--paper);position:sticky;top:0;z-index:6;
  border-bottom:1px solid var(--line);box-shadow:0 6px 14px -8px rgba(40,20,10,.18);}
.fgroup{display:flex;align-items:center;gap:10px;}
.flabel{flex:0 0 50px;padding-left:15px;font-size:8.5px;letter-spacing:1px;text-transform:uppercase;color:var(--muted-3);font-weight:800;}
.fchips{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:1px 15px 3px 0;-webkit-overflow-scrolling:touch;}
.fchips::-webkit-scrollbar{display:none;}
.fchip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;background:#fff;border:1.5px solid var(--line);border-radius:999px;
  padding:7px 14px;font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap;cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease;}
.fchip::before{content:"";width:0;height:11px;border-radius:2px;opacity:0;margin-left:-6px;transition:width .16s ease,opacity .16s ease,margin .16s ease;}
.fchip.on{background:var(--wine);border-color:var(--wine);color:#fff;box-shadow:0 5px 13px rgba(122,13,20,.28);}
.fchip.on::before{content:"✓";width:auto;opacity:1;margin-left:0;font-size:10px;font-weight:800;line-height:1;}
.fchip:active{transform:scale(.95);}
@media (hover:hover){.fchip:hover{border-color:rgba(122,13,20,.45);}.fchip.on:hover{border-color:var(--wine);}}
/* resumo de contagem destacado */
.fcount{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);font-weight:600;padding:11px 15px 4px;}
.fcount .n{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;border-radius:999px;
  background:var(--wine-soft);color:var(--wine);font-size:11px;font-weight:800;letter-spacing:.2px;}

/* ===== .cat-hero — banner de destaque da página de categoria ===== */
.cat-hero{position:relative;height:150px;margin:0;overflow:hidden;background:#1a120c;display:flex;align-items:flex-end;}
.cat-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92;}
.cat-hero .ov{position:absolute;inset:0;background:linear-gradient(110deg,rgba(74,5,8,.92),rgba(122,13,20,.6) 48%,rgba(17,16,14,.32));}
.cat-hero .ct{position:relative;z-index:2;padding:16px 18px 15px;width:100%;}
.cat-hero .eyebrow{font-size:8px;letter-spacing:1.8px;font-weight:800;color:var(--gold-200);text-transform:uppercase;margin-bottom:6px;}
.cat-hero .ti{font-family:var(--ff-serif);font-size:25px;font-weight:700;color:#F3E7CE;line-height:1.02;letter-spacing:-.3px;}
.cat-hero .sb{font-size:10.5px;color:#e3d2b3;margin-top:6px;max-width:84%;line-height:1.35;}
.cat-hero .cnt{display:inline-flex;align-items:center;gap:5px;margin-top:9px;background:rgba(243,231,206,.14);border:1px solid rgba(228,209,167,.4);
  color:#F3E7CE;font-size:9.5px;font-weight:700;letter-spacing:.3px;padding:4px 11px;border-radius:999px;}
/* quando a arte falha, o fallback usa só o gradiente bordô */
.cat-hero.no-img{background:linear-gradient(120deg,#4B0508,#7A0D14 60%,#3a0a10);}
.cat-hero.no-img .ov{background:radial-gradient(80% 120% at 90% 10%,rgba(198,161,91,.18),transparent 60%);}

/* ===== flag badge no product card (F5) ===== */
.pflag{position:absolute;left:8px;bottom:8px;z-index:2;display:inline-flex;align-items:center;gap:4px;
  background:linear-gradient(135deg,var(--wine),var(--wine-700));border:1px solid rgba(228,209,167,.5);
  color:#F3E7CE;font-size:9px;font-weight:800;letter-spacing:.3px;padding:4px 9px;border-radius:999px;
  box-shadow:0 4px 10px rgba(122,13,20,.34);text-transform:uppercase;}

/* ===== rating prompt pós-entrega (F4) ===== */
.rate-cta-btn{margin-top:6px;}
.rate-pill{display:inline-flex;align-items:center;justify-content:center;margin-top:11px;width:100%;
  background:var(--wine-soft);border:1.5px solid var(--wine);color:var(--wine);font-size:11.5px;font-weight:700;
  padding:9px 0;border-radius:11px;}
.rate-pill:active{transform:scale(.98);}
.rate-ov{position:fixed;inset:0;z-index:1000;background:rgba(17,16,14,.6);backdrop-filter:blur(3px);
  display:flex;align-items:flex-end;justify-content:center;padding:0;animation:rate-fade .2s ease;}
@keyframes rate-fade{from{opacity:0;}to{opacity:1;}}
.rate-card{width:100%;max-width:380px;background:var(--paper);border-radius:22px 22px 0 0;padding:22px 20px calc(22px + env(safe-area-inset-bottom));
  box-shadow:var(--shadow-pop);animation:rate-up .26s cubic-bezier(.2,.8,.2,1);}
@keyframes rate-up{from{transform:translateY(100%);}to{transform:translateY(0);}}
.rate-ttl{font-family:var(--ff-serif);font-size:21px;color:var(--ink);line-height:1.1;}
.rate-sub{font-size:11px;color:var(--muted);margin-top:4px;}
.rate-stars{display:flex;justify-content:center;gap:8px;margin:18px 0 14px;}
.rate-stars .rstar{background:none;border:none;padding:4px;color:#DDD4C8;line-height:0;transition:color .12s,transform .1s;}
.rate-stars .rstar.on{color:var(--gold);}
.rate-stars .rstar:active{transform:scale(.9);}
.rate-cm{width:100%;border:1.5px solid var(--line);border-radius:13px;padding:11px 13px;font-family:var(--ff-sans);
  font-size:13px;color:var(--ink);background:#fff;resize:none;outline:none;}
.rate-cm:focus{border-color:var(--wine);}
.rate-actions{display:flex;gap:9px;align-items:center;margin-top:14px;}
.rate-skip{flex:0 0 auto;background:none;border:none;color:var(--muted);font-size:12.5px;font-weight:600;padding:12px 6px;}
.rate-send{flex:1;}
.rate-send:disabled{opacity:.45;}

/* ===== pedido cancelado no rastreio (F8) ===== */
.track-canceled{background:#fff;border:1px solid var(--line);border-left:3px solid #B0413A;border-radius:14px;padding:16px;}
.track-canceled .tc-ttl{font-family:var(--ff-serif);font-size:18px;color:#B0413A;}
.track-canceled .tc-sub{font-size:12px;color:var(--ink);margin-top:6px;line-height:1.4;}
.track-canceled .tc-note{font-size:12px;color:var(--muted-3);margin-top:8px;font-style:italic;line-height:1.4;}
.track-canceled .tc-by{font-size:10px;color:var(--muted);margin-top:8px;}

/* ===== push overlay in-app (telinha do celular) (F7) ===== */
#push-overlay{position:fixed;top:0;left:0;right:0;z-index:1200;display:flex;justify-content:center;
  padding:10px 12px 0;pointer-events:none;}
.push-note{pointer-events:auto;width:100%;max-width:356px;display:flex;align-items:flex-start;gap:11px;
  background:rgba(28,22,16,.97);border:1px solid rgba(198,161,91,.4);border-radius:18px;padding:12px 13px;
  box-shadow:0 18px 40px rgba(0,0,0,.5);transform:translateY(-130%);opacity:0;transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .32s;cursor:pointer;}
#push-overlay.show .push-note{transform:translateY(0);opacity:1;}
.push-note .pn-ic{flex:0 0 34px;width:34px;height:34px;border-radius:9px;background:var(--wine-grad);
  display:flex;align-items:center;justify-content:center;overflow:hidden;}
.push-note .pn-ic img{width:24px;height:24px;object-fit:contain;}
.push-note .pn-body{flex:1;min-width:0;}
.push-note .pn-app{font-size:8.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--gold);font-weight:700;}
.push-note .pn-title{font-size:13px;font-weight:700;color:#F3E7CE;margin-top:2px;line-height:1.2;}
.push-note .pn-text{font-size:11.5px;color:#cbb89c;margin-top:3px;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.push-note .pn-coupon{display:inline-block;margin-top:7px;background:rgba(198,161,91,.16);border:1px solid rgba(198,161,91,.4);
  color:var(--gold-200);font-size:9.5px;font-weight:700;letter-spacing:.5px;padding:3px 8px;border-radius:7px;}
.push-note .pn-close{flex:0 0 auto;background:none;border:none;color:#9a8d78;font-size:20px;line-height:1;padding:0 2px;align-self:flex-start;}

/* ===== Departamentos (marketplace · sóbrio premium) ===== */
.chip .ic.dept-ic{background:var(--wine-grad);border:1px solid rgba(198,161,91,.5);}
.chip .ic.dept-ic svg{width:34px;height:34px;}
.dept-tabs{display:flex;gap:7px;padding:12px 16px 4px;flex-wrap:wrap;}
.dept-tab{font-size:11.5px;font-weight:700;padding:8px 15px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--muted-3);transition:.12s;}
.dept-tab.on{background:var(--wine);color:#fff;border-color:var(--wine);box-shadow:0 4px 10px rgba(122,13,20,.22);}
.dept-panel{padding:8px 16px 14px;}
/* por proteína → chips com contagem */
.dept-chips{display:flex;flex-wrap:wrap;gap:9px;}
.dept-chip{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:12px 15px;box-shadow:var(--shadow-card);}
.dept-chip .dc-name{font-size:13px;font-weight:700;color:var(--ink);}
.dept-chip .dc-count{min-width:24px;height:22px;padding:0 8px;border-radius:999px;background:var(--wine-soft);color:var(--wine);font-size:10.5px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.dept-chip:active{transform:scale(.98);}
/* por marca → cards */
.dept-brands{display:flex;flex-direction:column;gap:10px;}
.dept-brand{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px 14px;text-align:left;box-shadow:var(--shadow-card);}
.dept-brand .db-logo{flex:0 0 64px;width:64px;height:42px;border-radius:10px;background:linear-gradient(150deg,#2c2620,#14100c);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:5px;color:var(--gold-100);font-size:9px;font-weight:700;text-align:center;line-height:1.1;}
.dept-brand .db-logo img{max-width:100%;max-height:100%;object-fit:contain;}
.dept-brand .db-meta{flex:1;min-width:0;}
.dept-brand .db-name{font-family:var(--ff-serif);font-size:15px;color:var(--ink);line-height:1.1;}
.dept-brand .db-count{font-size:10px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dept-brand .db-go{flex:0 0 auto;color:var(--muted);font-size:20px;line-height:1;}
.dept-brand:active{transform:scale(.99);}
/* por linha → lista */
.dept-lines{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:var(--shadow-card);}
.dept-line{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid #F0E8DA;background:none;border-left:none;border-right:none;border-top:none;text-align:left;}
.dept-line:last-child{border-bottom:none;}
.dept-line .dl-name{flex:1;min-width:0;font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dept-line .dl-count{flex:0 0 auto;min-width:24px;height:21px;padding:0 8px;border-radius:999px;background:var(--paper-2);color:var(--muted-3);font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.dept-line .dl-go{flex:0 0 auto;color:var(--muted);font-size:17px;line-height:1;}
.dept-line:active{background:var(--paper-2);}

/* ===== Prático & Porcionado (mora sozinho) ===== */
.porc-special{background-color:#1f1109;}
.porc-special .eyebrow{display:inline-flex;align-items:center;gap:6px;}
.porc-special .eyebrow svg{width:14px;height:14px;}
.porc-hero{margin:13px;background:var(--wine-grad);border:1px solid rgba(198,161,91,.4);border-radius:var(--r-xl);padding:16px 18px;color:var(--gold-100);box-shadow:var(--shadow-card);}
.porc-hero .ph-eyebrow{font-size:9px;letter-spacing:2px;font-weight:800;color:var(--gold);text-transform:uppercase;}
.porc-hero .ph-title{font-family:var(--ff-serif);font-size:19px;color:var(--gold-100);line-height:1.1;margin-top:6px;}
.porc-hero .ph-points{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:11px;}
.porc-hero .ph-pt{font-size:10.5px;color:#e7d4b8;font-weight:600;}

/* ===== Churrasco — seleção de TIPO de churrasco ===== */
.chu-types{display:flex;gap:9px;overflow-x:auto;padding:2px 1px 4px;margin:0 -2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.chu-types::-webkit-scrollbar{display:none;}
.chu-type{flex:0 0 auto;min-width:118px;border:1.5px solid var(--line);border-radius:14px;padding:11px 13px;background:#fff;text-align:left;transition:border-color .12s,background .12s,box-shadow .12s;}
.chu-type .ct-emo{font-size:17px;line-height:1;}
.chu-type .ct-name{font-size:12.5px;font-weight:700;color:var(--ink);margin-top:6px;line-height:1.1;}
.chu-type .ct-sub{font-size:9px;color:var(--muted);margin-top:3px;line-height:1.25;}
.chu-type .ct-gpp{font-size:9px;font-weight:700;color:var(--gold-deep);margin-top:5px;letter-spacing:.2px;}
.chu-type.on{border-color:var(--wine);background:var(--wine-soft);box-shadow:0 6px 14px rgba(122,13,20,.16);}
.chu-type:active{transform:scale(.98);}
