/* =========================================================
   LANCHONETE ALADDIN — Noites Árabes Premium
   Azul-noite · ouro em folha · textura de veludo e papel
   ========================================================= */

/* ---------- Fontes locais ---------- */
@font-face{font-family:"Cinzel";font-weight:400;font-display:swap;src:url(assets/fonts/cinzel-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Cinzel";font-weight:600;font-display:swap;src:url(assets/fonts/cinzel-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Cinzel";font-weight:700;font-display:swap;src:url(assets/fonts/cinzel-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:600;font-style:normal;font-display:swap;src:url(assets/fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:500;font-style:italic;font-display:swap;src:url(assets/fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:600;font-style:italic;font-display:swap;src:url(assets/fonts/cormorant-garamond-latin-600-italic.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:400;font-display:swap;src:url(assets/fonts/jost-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:500;font-display:swap;src:url(assets/fonts/jost-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:600;font-display:swap;src:url(assets/fonts/jost-latin-600-normal.woff2) format("woff2")}

/* ---------- Tokens ---------- */
:root{
  /* céu do Aladdin: violeta noturno → malva → rosa → pêssego do amanhecer */
  --sky:linear-gradient(180deg,#071456 0%,#0b1d70 20%,#10298a 45%,#1637a3 70%,#2a52c0 100%);
  --ink-0:#030a21; --ink-1:#05133d; --ink-2:#081b53; --ink-3:#0b236b;
  --violet:#142f7e; --violet-2:#2545a4; --mag:#2e52bd; --amber:#ffb13c;
  --gold-1:#8a5f1a; --gold-2:#c8963a; --gold-3:#f3d98a; --gold-4:#fff0bd;
  --cream:#f7eed6; --lav:#aab8e4; --lav-2:#7285c0;
  --line:rgba(214,168,74,.28); --line-2:rgba(214,168,74,.55);
  --foil:linear-gradient(135deg,#c9973a 0%,#f6dd92 30%,#dfb04c 55%,#fbe9ae 80%,#d3a13f 100%);
  --foil-deep:linear-gradient(135deg,#8a5f1a 0%,#f3d98a 32%,#c8963a 54%,#fbe7a8 78%,#a8751f 100%);
  --foil-text:linear-gradient(100deg,#c8963a 0%,#fff0bd 40%,#d9a94c 62%,#f3d98a 100%);
  --f-title:"Cinzel","Trajan Pro",Georgia,serif;
  --f-serif:"Cormorant Garamond",Georgia,serif;
  --f-ui:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
  --tb:64px;               /* altura da barra do topo */
  --ease:cubic-bezier(.22,.8,.2,1);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.1 -.35'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --grain-soft:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .8 -.27'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --arab:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23d9ad57' stroke-width='.9'%3E%3Cpath d='M48 4 59 37 92 48 59 59 48 92 37 59 4 48 37 37Z'/%3E%3Cpath d='M48 20 76 48 48 76 20 48Z'/%3E%3Ccircle cx='48' cy='48' r='9'/%3E%3Cpath d='M0 0 12 12M96 0 84 12M0 96 12 84M96 96 84 84'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;min-height:100vh;color:var(--cream);font-family:var(--f-ui);font-size:16px;line-height:1.5;
  background:#02081b;
  -webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums;
}
/* grão global: dá tato de veludo/papel a tudo */
body::after{content:"";position:fixed;inset:0;z-index:300;pointer-events:none;background-image:var(--grain);background-size:240px;opacity:.085;mix-blend-mode:overlay}
/* arabesco muito sutil no fundo da página */
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:var(--arab);background-size:96px;opacity:.045}
body.lock{overflow:hidden}
img{max-width:100%}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold-3);outline-offset:3px;border-radius:6px}
.kicker{display:block;font-family:var(--f-title);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-2)}
header,section,main,footer,nav,.navwrap{position:relative;z-index:1}

.gold-text,.sec-head h2,.price,.brand-txt b,.drawer-head h2,.checkout-top h2,.modal h2,.total span:last-child{
  background:var(--foil-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent
}

/* ---------- Topo ---------- */
.topbar{position:sticky;top:0;z-index:60;height:var(--tb);
  background:linear-gradient(180deg,rgba(3,12,40,.92),rgba(5,19,61,.82));
  backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);
  border-bottom:1px solid var(--line);transition:background .3s}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-3),transparent);opacity:.55}
.topbar-in{max-width:1240px;margin:auto;height:100%;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-lamp{width:44px;height:28px;color:var(--gold-3);filter:drop-shadow(0 0 10px rgba(255,177,60,.55))}
.brand-txt{display:flex;flex-direction:column;line-height:1}
.brand-txt small{font-family:var(--f-title);font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:var(--lav)}
.brand-txt b{font-family:var(--f-title);font-size:25px;letter-spacing:.14em;font-weight:700;text-transform:uppercase;margin-top:3px}

.cartBtn{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 8px 0 16px;border-radius:999px;
  background:rgba(243,217,138,.08);border:1px solid var(--line-2);color:var(--gold-3);font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-size:12.5px;transition:.25s var(--ease)}
.cartBtn svg{width:20px;height:20px}
.cartBtn:hover{background:rgba(243,217,138,.16);box-shadow:0 0 24px rgba(243,217,138,.18)}
.cartCount{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:var(--foil);color:#2a1103;font-weight:600;font-size:13px;letter-spacing:0;-webkit-text-fill-color:#2a1103}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;min-height:0;display:grid;place-items:start center;padding:clamp(28px,5vh,56px) 16px clamp(150px,27vw,350px);isolation:isolate}
.hero-sky{position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(60% 40% at 50% 100%,rgba(81,113,209,.30),transparent 70%),
    radial-gradient(90% 55% at 50% 102%,rgba(50,93,220,.42),transparent 72%),
    linear-gradient(180deg,rgba(1,6,19,.55) 0%,rgba(4,15,50,.30) 40%,rgba(11,35,105,.18) 70%,rgba(21,53,147,.30) 100%)}
.hero-sky::after{content:"";position:absolute;inset:0;background-image:var(--grain);background-size:240px;opacity:.12;mix-blend-mode:soft-light}
.stars{position:absolute;inset:0;background-repeat:repeat;opacity:.9;-webkit-mask-image:linear-gradient(180deg,#000 40%,transparent 85%);mask-image:linear-gradient(180deg,#000 40%,transparent 85%)}
.s1{background-image:radial-gradient(1.4px 1.4px at 20px 30px,#fff,transparent 60%),radial-gradient(1px 1px at 90px 80px,#fff,transparent 60%),radial-gradient(1.2px 1.2px at 150px 20px,#ffe9b0,transparent 60%);background-size:180px 140px;animation:tw 4.5s ease-in-out infinite}
.s2{background-image:radial-gradient(1px 1px at 40px 110px,#fff,transparent 60%),radial-gradient(1.6px 1.6px at 120px 60px,#fff,transparent 60%),radial-gradient(1px 1px at 200px 120px,#b8caff,transparent 60%);background-size:260px 190px;animation:tw 6s ease-in-out -2s infinite}
.s3{background-image:radial-gradient(2px 2px at 70px 40px,#fff6d0,transparent 60%),radial-gradient(1.4px 1.4px at 310px 150px,#fff,transparent 60%);background-size:380px 240px;animation:tw 7.5s ease-in-out -4s infinite}
@keyframes tw{0%,100%{opacity:.35}50%{opacity:1}}
.moon{position:absolute;right:max(4vw,16px);top:clamp(90px,14vh,150px);width:clamp(120px,17vw,230px);aspect-ratio:1;border-radius:50%;
  background:
    radial-gradient(circle at 36% 34%,rgba(255,255,255,.55),transparent 28%),
    radial-gradient(circle at 62% 58%,rgba(190,150,120,.28),transparent 17%),
    radial-gradient(circle at 30% 70%,rgba(190,150,120,.22),transparent 11%),
    radial-gradient(circle at 50% 50%,#fff0cf,#f1cf93 62%,#e0ad6c);
  box-shadow:0 0 60px 14px rgba(255,214,150,.28),0 0 160px 50px rgba(255,170,90,.2);opacity:.96}
.skyline{position:absolute;left:0;right:0;bottom:0;width:100%;height:clamp(180px,32vw,330px);display:block}

.hero-in{width:100%;max-width:640px;display:flex;justify-content:center;position:relative;z-index:2}

/* arco ogival (clip-path em %) */
.arch{--og:polygon(0.00% 100.00%,0.00% 46.00%,0.13% 42.53%,0.52% 39.09%,1.17% 35.68%,2.07% 32.33%,3.22% 29.05%,4.62% 25.88%,6.25% 22.81%,8.10% 19.88%,10.17% 17.09%,12.44% 14.47%,14.91% 12.03%,17.55% 9.78%,20.35% 7.73%,23.30% 5.90%,26.37% 4.30%,29.56% 2.93%,32.84% 1.80%,36.20% 0.93%,39.61% 0.31%,43.07% -0.06%,46.53% -0.16%,50.00% 0.00%,53.47% -0.16%,56.93% -0.06%,60.39% 0.31%,63.80% 0.93%,67.16% 1.80%,70.44% 2.93%,73.63% 4.30%,76.70% 5.90%,79.65% 7.73%,82.45% 9.78%,85.09% 12.03%,87.56% 14.47%,89.83% 17.09%,91.90% 19.88%,93.75% 22.81%,95.38% 25.88%,96.78% 29.05%,97.93% 32.33%,98.83% 35.68%,99.48% 39.09%,99.87% 42.53%,100.00% 46.00%,100.00% 100.00%);position:relative;width:100%;clip-path:var(--og);background:var(--foil-deep);padding:6px;-webkit-mask-image:linear-gradient(180deg,#000 84%,transparent 99.5%);mask-image:linear-gradient(180deg,#000 84%,transparent 99.5%)}
.arch-ring{display:none}
.arch-body{position:relative;clip-path:var(--og);background:#04123d;padding:clamp(120px,24vw,168px) clamp(26px,7vw,64px) clamp(64px,10vw,84px);text-align:center;display:flex;flex-direction:column;align-items:center}
.arch-body::before{content:"";position:absolute;inset:9px;clip-path:var(--og);background:rgba(243,217,138,.55);z-index:0}
.arch-body::after{content:"";position:absolute;inset:10.5px;clip-path:var(--og);z-index:0;
  background:
    var(--grain),
    radial-gradient(70% 55% at 50% 38%,rgba(72,111,228,.5),transparent 70%),
    radial-gradient(80% 50% at 50% 110%,rgba(255,150,70,.22),transparent 70%),
    linear-gradient(180deg,#0c1e53,#071645 55%,#0c2264);
  background-size:240px,auto,auto,auto;background-blend-mode:soft-light,normal,normal,normal}
.arch-body>*{position:relative;z-index:1}
.lantern{position:absolute!important;width:34px;top:27%;filter:drop-shadow(0 0 14px rgba(255,177,60,.7));animation:flick 3.4s ease-in-out infinite;transform-origin:50% 0}
.l-left{left:6.5%}.l-right{right:6.5%;animation-delay:-1.7s}
@keyframes flick{0%,100%{transform:rotate(-1.5deg);opacity:.92}50%{transform:rotate(1.5deg);opacity:1}}
.eyebrow{margin:0 0 6px;display:flex;align-items:center;gap:12px;font-family:var(--f-title);font-size:11.5px;letter-spacing:.38em;text-transform:uppercase;color:var(--gold-3)}
.eyebrow span{width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-3))}
.eyebrow span:last-child{background:linear-gradient(270deg,transparent,var(--gold-3))}
.logo-wrap{margin:0;line-height:0}
.logo{width:min(380px,80%);height:auto;filter:drop-shadow(0 6px 22px rgba(255,177,60,.35))}
.hero-sub{margin:10px 0 0;font-family:var(--f-serif);font-size:clamp(20px,3.4vw,25px);line-height:1.25;color:#dde5fb;max-width:420px}
.hero-sub em{font-style:italic;color:var(--gold-3)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:26px}
.smoke{display:none}

.btn-gold,.btn-ghost,.finish,.next-btn,.whatsapp-btn,.primary,.noticeOk{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 28px;border-radius:999px;border:0;text-decoration:none;
  font-family:var(--f-ui);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:13px;transition:.28s var(--ease)}
.btn-gold,.finish,.next-btn,.whatsapp-btn,.primary{
  background:var(--foil);background-size:160% 160%;color:#2a1103;position:relative;overflow:hidden;
  box-shadow:0 8px 26px rgba(200,150,58,.35),inset 0 1px 0 rgba(255,255,255,.55),inset 0 -2px 0 rgba(120,70,10,.35)}
.btn-gold::after,.finish::after,.next-btn::after,.whatsapp-btn::after,.primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn-gold:hover,.finish:hover,.next-btn:hover,.whatsapp-btn:hover,.primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(243,217,138,.38),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -2px 0 rgba(120,70,10,.35)}
.btn-gold:hover::after,.finish:hover::after,.next-btn:hover::after,.whatsapp-btn:hover::after,.primary:hover::after{transform:translateX(120%)}
.btn-ghost{background:rgba(255,255,255,.04);border:1px solid var(--line-2);color:var(--gold-3)}
.btn-ghost:hover{background:rgba(243,217,138,.12);transform:translateY(-2px)}
.finish,.next-btn,.whatsapp-btn,.primary{width:100%}
.next-btn{margin-top:22px}

/* ---------- Info ---------- */
.info{padding:34px 16px 6px}
.info-in{max-width:420px;margin:auto;display:grid;grid-template-columns:1fr;gap:14px}
.info-i{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;border:1px solid var(--line);
  background:linear-gradient(160deg,rgba(37,69,164,.28),rgba(5,19,61,.5));backdrop-filter:blur(6px)}
.info-i svg{flex:none;width:34px;height:34px;padding:7px;border-radius:50%;color:var(--gold-3);border:1px solid var(--line-2);background:rgba(243,217,138,.07)}
.info-i small{display:block;font-family:var(--f-title);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-2)}
.info-i b{display:block;font-weight:500;font-size:15px;color:var(--cream);line-height:1.3}

/* ---------- Navegação + busca ---------- */
.navwrap{position:sticky;top:var(--tb);z-index:50;margin-top:22px;
  background:linear-gradient(180deg,rgba(3,12,40,.94),rgba(3,12,40,.82));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.navwrap-in{max-width:1240px;margin:auto;padding:10px 20px;display:flex;align-items:center;gap:18px}
nav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1;padding:2px;scroll-behavior:smooth;mask-image:linear-gradient(90deg,transparent 0,#000 12px,#000 calc(100% - 20px),transparent)}
nav::-webkit-scrollbar{display:none}
nav button{flex:none;white-space:nowrap;min-height:40px;padding:0 18px;border-radius:999px;background:transparent;border:1px solid var(--line);color:var(--lav);
  font-family:var(--f-title);font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:.25s var(--ease)}
nav button:hover{color:var(--gold-3);border-color:var(--line-2)}
nav button.on{background:var(--foil);color:#2a1103;border-color:transparent;box-shadow:0 4px 18px rgba(243,217,138,.28)}
.searchBar{position:relative;flex:0 0 280px;display:block}
.searchBar svg{position:absolute;left:14px;top:50%;width:19px;height:19px;transform:translateY(-50%);color:var(--gold-2);pointer-events:none}
.searchBar input{width:100%;height:42px;padding:0 16px 0 42px;border-radius:999px;border:1px solid var(--line);background:rgba(2,8,27,.55);color:var(--cream);outline:none;font-size:14.5px;transition:.25s}
.searchBar input::placeholder{color:var(--lav-2)}
.searchBar input::-webkit-search-cancel-button{filter:sepia(1) saturate(5) brightness(1.2);cursor:pointer}
.searchBar input:focus{border-color:var(--gold-3);box-shadow:0 0 0 3px rgba(243,217,138,.14)}

/* ---------- Cardápio ---------- */
main{max-width:1240px;margin:auto;padding:12px 20px 70px}
.section{scroll-margin-top:calc(var(--tb) + 96px);margin:54px 0 0}
.sec-head{display:grid;grid-template-columns:1fr;align-items:end;gap:6px 18px;margin-bottom:26px;padding-bottom:0;position:relative}
.sec-head::after{content:"";grid-column:1/-1;height:1px;background:linear-gradient(90deg,var(--gold-2),rgba(214,168,74,.15) 70%,transparent);margin-top:8px}
.sec-head::before{content:"";position:absolute;left:0;bottom:-4px;width:9px;height:9px;background:var(--gold-3);transform:rotate(45deg);box-shadow:0 0 14px var(--gold-3)}
.sec-num{font-family:var(--f-title);font-size:clamp(40px,6vw,64px);line-height:.8;font-weight:400;color:transparent;-webkit-text-stroke:1px rgba(243,217,138,.55)}
.sec-title{min-width:0}
.sec-head h2{margin:0;font-family:var(--f-title);font-weight:700;font-size:clamp(26px,4.2vw,40px);letter-spacing:.1em;text-transform:uppercase;line-height:1.1}
.sec-sub{margin:4px 0 0;font-family:var(--f-serif);font-style:italic;font-size:clamp(17px,2.4vw,21px);color:var(--lav)}
.sec-count{font-family:var(--f-title);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);padding-bottom:6px;white-space:nowrap}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px}
.card{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-height:168px;padding:22px 22px 20px;border-radius:20px;overflow:hidden;isolation:isolate;
  background:
    var(--grain),
    radial-gradient(120% 90% at 0% 0%,rgba(58,96,210,.34),transparent 60%),
    linear-gradient(165deg,#0d2469,#071749 70%,#05133b);
  background-size:240px,auto,auto;background-blend-mode:soft-light,normal,normal;
  border:1px solid var(--line);box-shadow:0 14px 34px rgba(0,4,16,.45),inset 0 1px 0 rgba(255,255,255,.07);
  transition:transform .35s var(--ease),border-color .3s,box-shadow .35s}
.card::before{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--arab);background-size:96px;background-position:right -20px top -20px;opacity:.06;
  -webkit-mask-image:radial-gradient(70% 90% at 100% 0%,#000,transparent 72%);mask-image:radial-gradient(70% 90% at 100% 0%,#000,transparent 72%);transition:opacity .35s}
.card::after{content:"";position:absolute;left:14px;top:14px;width:16px;height:16px;border-left:1.5px solid var(--gold-2);border-top:1.5px solid var(--gold-2);border-radius:5px 0 0 0;opacity:.7;transition:.3s}
.card:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:0 22px 46px rgba(0,4,16,.55),0 0 34px rgba(243,217,138,.1),inset 0 1px 0 rgba(255,255,255,.1)}
.card:hover::before{opacity:.13}
.card-copy{padding-left:12px;min-width:0}
.card h3{margin:0 0 7px;font-family:var(--f-serif);font-weight:600;font-size:25px;line-height:1.1;color:var(--cream);letter-spacing:.005em}
.card p{margin:0;font-size:14.5px;line-height:1.5;color:var(--lav)}
.badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:9px;padding:3px 11px 3px 9px;border-radius:999px;font-family:var(--f-title);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#2a1103;background:var(--foil)}
.badge svg{width:10px;height:10px}
.card.signature{border-color:var(--line-2);box-shadow:0 14px 34px rgba(0,4,16,.45),0 0 0 1px rgba(243,217,138,.12),0 0 40px rgba(243,217,138,.1)}
.buy{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;border-top:1px dashed rgba(214,168,74,.28)}
.price{font-family:var(--f-title);font-weight:700;font-size:25px;letter-spacing:.02em;line-height:1}
.price small{font-size:.55em;margin-right:4px;font-weight:600;letter-spacing:.08em}
.add{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;min-width:46px;padding:0;border-radius:999px;border:0;background:var(--foil);color:#2a1103;font-weight:600;font-size:26px;line-height:1;
  box-shadow:0 6px 18px rgba(200,150,58,.35),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -2px 0 rgba(120,70,10,.3);transition:.28s var(--ease)}
.add span{font-family:var(--f-ui);font-size:12px;letter-spacing:.14em;text-transform:uppercase;display:none}
.add:hover{transform:scale(1.08) rotate(90deg);box-shadow:0 10px 26px rgba(243,217,138,.5)}
.add.disabled{width:auto;padding:0 18px;background:transparent;border:1px dashed var(--line-2);color:var(--lav);font-size:12px;letter-spacing:.14em;text-transform:uppercase;box-shadow:none;cursor:not-allowed}
.add.disabled:hover{transform:none;box-shadow:none}
.empty{text-align:center;padding:42px 20px;color:var(--lav);font-family:var(--f-serif);font-style:italic;font-size:21px}

/* ---------- Rodapé ---------- */
.footer{text-align:center;padding:40px 20px 120px;border-top:1px solid var(--line);margin-top:20px;
  background:radial-gradient(60% 100% at 50% 0%,rgba(37,69,164,.35),transparent 70%)}
.orn{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:18px}
.orn i{width:min(26vw,160px);height:1px;background:linear-gradient(90deg,transparent,var(--gold-2))}
.orn i:last-child{background:linear-gradient(270deg,transparent,var(--gold-2))}
.orn svg{width:16px;height:16px;color:var(--gold-3)}
.footer-logo{width:min(250px,60%);height:auto;opacity:.95}
.footer p{margin:6px 0 0;color:var(--lav);font-size:14.5px;letter-spacing:.04em}
.footer .foot-sub{margin-top:14px;font-family:var(--f-serif);font-style:italic;font-size:19px;color:var(--gold-3)}

/* ---------- Carrinho ---------- */
.cart-fab{position:fixed;right:20px;bottom:20px;z-index:55;display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 10px 0 20px;border-radius:999px;border:1px solid rgba(255,240,189,.5);
  background:var(--foil);color:#2a1103;font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:12.5px;
  box-shadow:0 14px 38px rgba(0,0,0,.5),0 0 40px rgba(243,217,138,.25),inset 0 1px 0 rgba(255,255,255,.55);transition:.3s var(--ease)}
.cart-fab svg{width:30px;height:20px}
.cart-fab:hover{transform:translateY(-3px)}
.cart-fab .cartCount{background:#10225a;color:var(--gold-3);-webkit-text-fill-color:var(--gold-3)}
.overlay{display:none;position:fixed;inset:0;z-index:70;background:rgba(1,6,21,.72);backdrop-filter:blur(4px)}
.overlay.open{display:block;animation:fade .25s}
@keyframes fade{from{opacity:0}to{opacity:1}}
.drawer{position:fixed;top:0;right:0;z-index:80;width:min(440px,100vw);height:100dvh;display:flex;flex-direction:column;transform:translateX(105%);transition:transform .45s var(--ease);
  background:var(--grain-soft),linear-gradient(180deg,#091c56,#040f31);background-size:240px,auto;background-blend-mode:soft-light,normal;border-left:1px solid var(--line-2);box-shadow:-30px 0 80px rgba(0,0,0,.55)}
.drawer.open{transform:none}
.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 22px 18px;border-bottom:1px solid var(--line);background:radial-gradient(90% 120% at 0% 0%,rgba(58,96,210,.35),transparent 70%)}
.drawer-head h2{margin:3px 0 0;font-family:var(--f-title);font-weight:700;font-size:26px;letter-spacing:.1em;text-transform:uppercase}
.drawer-head small:not(.kicker){color:var(--lav);font-size:13px}
.close,.x,.noticeClose{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--gold-3);font-size:26px;line-height:1;transition:.25s}
.close:hover,.x:hover,.noticeClose:hover{background:rgba(243,217,138,.15);transform:rotate(90deg)}
.drawer-body{flex:1;overflow:auto;padding:8px 22px}
.cart-item{display:flex;justify-content:space-between;gap:14px;padding:18px 0;border-bottom:1px dashed rgba(214,168,74,.25)}
.cart-item b{font-family:var(--f-serif);font-weight:600;font-size:19.5px;line-height:1.2;color:var(--cream)}
.cart-item small{display:block;margin-top:4px;color:var(--lav);font-size:13px}
.cart-item strong{display:block;margin-top:6px;font-family:var(--f-title);color:var(--gold-3);font-size:15px}
.qty{display:flex;align-items:center;gap:6px;align-self:center}
.qty span{min-width:22px;text-align:center;font-weight:500}
.qty button,.modal-qty button{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);background:rgba(243,217,138,.07);color:var(--gold-3);font-size:18px;line-height:1;transition:.2s}
.qty button:hover,.modal-qty button:hover{background:var(--foil);color:#2a1103}
.qty .remove{border-color:rgba(255,120,140,.4);color:#ff9aa8;margin-left:4px}
.qty .remove:hover{background:#ff9aa8;color:#3a0a15}
.drawer-foot{padding:18px 22px 24px;border-top:1px solid var(--line-2);background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.28))}
.total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;font-family:var(--f-title);font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--lav)}
.total span:last-child{font-size:28px;font-weight:700;letter-spacing:.02em}
.fee-note{display:block;margin-bottom:16px;color:var(--lav-2);font-size:13px}

/* ---------- Modal do item ---------- */
.modal{display:none;position:fixed;z-index:90;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,92vw);max-height:90dvh;overflow:auto;padding:36px 28px 28px;border-radius:26px;
  background:var(--grain-soft),radial-gradient(100% 70% at 50% 0%,rgba(58,96,210,.45),transparent 70%),linear-gradient(180deg,#0b2060,#061235);background-size:240px,auto,auto;background-blend-mode:soft-light,normal,normal;
  border:1px solid var(--line-2);box-shadow:0 40px 100px rgba(0,0,0,.65),0 0 60px rgba(243,217,138,.1)}
.modal.show{display:block;animation:pop .35s var(--ease)}
@keyframes pop{from{opacity:0;transform:translate(-50%,-46%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%)}}
.modal .x{position:absolute;right:14px;top:14px}
.modal h2{margin:0 40px 8px 0;font-family:var(--f-title);font-weight:700;font-size:26px;letter-spacing:.06em;text-transform:uppercase;line-height:1.15}
.modal p{margin:0 0 12px;color:var(--lav);line-height:1.5}
.modal #modalBody>b{font-family:var(--f-title);font-size:22px;color:var(--gold-3)}
.opts{margin:20px 0 0}
.opts-title{display:block;margin-bottom:10px;font-family:var(--f-title);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2)}
.opts-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.opt{min-height:48px;border-radius:14px;border:1px solid var(--line);background:rgba(2,8,27,.5);color:var(--lav);font-family:var(--f-serif);font-weight:600;font-size:20px;transition:.25s var(--ease)}
.opt:hover{border-color:var(--line-2);color:var(--cream)}
.opt.on{background:var(--foil);color:#2a1103;border-color:transparent;box-shadow:0 6px 20px rgba(243,217,138,.3)}
.modal-obs{margin:22px 0}
.modal-obs label{display:block;margin-bottom:8px;font-family:var(--f-title);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2)}
.modal-obs textarea{width:100%;padding:14px;border-radius:14px;border:1px solid var(--line);background:rgba(2,8,27,.6);color:var(--cream);resize:vertical;outline:none;transition:.25s}
.modal-obs textarea:focus{border-color:var(--gold-3);box-shadow:0 0 0 3px rgba(243,217,138,.14)}
.modal-qty{display:flex;justify-content:center;align-items:center;gap:22px;margin:18px 0 22px}
.modal-qty button{width:46px;height:46px;font-size:24px}
.modal-qty b{min-width:36px;text-align:center;font-family:var(--f-title);font-size:28px;color:var(--cream)}

/* ---------- Checkout ---------- */
.checkout-page{display:none;position:fixed;inset:0;z-index:100;overflow:auto;
  background:radial-gradient(900px 500px at 80% -5%,rgba(37,69,164,.5),transparent 60%),linear-gradient(180deg,#092a8c 0%,#13359d 35%,#2242a2 70%,#274397 100%)}
.checkout-page::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:var(--arab);background-size:96px;opacity:.05}
.checkout-page.open{display:block}
.checkout-shell{position:relative;max-width:780px;margin:auto;padding:28px 20px 70px}
.checkout-top{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.back-checkout,.secondary-btn{white-space:nowrap}
.checkout-top h2{margin:2px 0 0;font-family:var(--f-title);font-weight:700;font-size:clamp(24px,4vw,32px);letter-spacing:.08em;text-transform:uppercase}
.back-checkout,.secondary-btn{min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--line-2);background:rgba(243,217,138,.06);color:var(--gold-3);font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:12.5px;transition:.25s}
.back-checkout:hover,.secondary-btn:hover{background:rgba(243,217,138,.16)}
.steps{display:flex;gap:10px;margin:28px 0 20px}
.step{flex:1;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;border:1px solid var(--line);color:var(--lav-2);font-family:var(--f-title);font-size:12px;letter-spacing:.14em;text-transform:uppercase;background:rgba(255,255,255,.03);transition:.3s}
.step b{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;border:1px solid currentColor;font-weight:600}
.step.active{color:#2a1103;background:var(--foil);border-color:transparent;box-shadow:0 6px 22px rgba(243,217,138,.25)}
.step.active b{background:#10225a;border-color:#10225a;color:var(--gold-3)}
.checkout-step{display:none;padding:28px 26px;border-radius:24px;border:1px solid var(--line);
  background:var(--grain-soft),linear-gradient(165deg,rgba(20,47,128,.6),rgba(6,20,61,.85));background-size:240px,auto;background-blend-mode:soft-light,normal;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.checkout-step.active{display:block;animation:rise .45s var(--ease)}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.checkout-step h3{margin:0 0 6px;font-family:var(--f-title);font-weight:700;font-size:21px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-3)}
.checkout-step .lead{margin:0 0 20px;color:var(--lav)}
.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field label{display:block;margin-bottom:7px;font-family:var(--f-title);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2)}
.field input,#changeField input{width:100%;height:50px;padding:0 16px;border-radius:14px;border:1px solid var(--line);background:rgba(2,8,27,.6);color:var(--cream);outline:none;font-size:16px;transition:.25s}
.field input::placeholder,#changeField input::placeholder{color:var(--lav-2)}
.field input:focus,#changeField input:focus{border-color:var(--gold-3);box-shadow:0 0 0 3px rgba(243,217,138,.14)}
.wide{grid-column:1/-1}
.payment-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.payment-cards label{position:relative;display:block;cursor:pointer}
.payment-cards input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.payment-cards span{display:grid;place-items:center;height:78px;border-radius:18px;border:1px solid var(--line);background:rgba(2,8,27,.45);transition:.28s var(--ease);font-family:var(--f-title);letter-spacing:.16em;text-transform:uppercase;color:var(--lav)}
.payment-cards b{font-weight:600}
.payment-cards label:hover span{border-color:var(--line-2)}
.payment-cards label:has(input:checked) span{background:var(--foil);color:#2a1103;border-color:transparent;box-shadow:0 8px 28px rgba(243,217,138,.3)}
.payment-cards label:has(input:focus-visible) span{outline:2px solid var(--gold-3);outline-offset:3px}
.change-box{display:none;margin-top:18px;padding:18px;border-radius:16px;border:1px dashed var(--line-2);background:rgba(243,217,138,.05)}
.change-box.show{display:block}
.change-box h4{margin:0 0 10px;font-family:var(--f-serif);font-size:21px;font-weight:600;color:var(--cream)}
.change-box label{margin-right:18px;color:var(--lav);cursor:pointer}
.change-box input[type=radio]{accent-color:#e5b94e;margin-right:6px}
#changeField{display:none;margin-top:12px}
.checkout-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}
.checkout-actions .next-btn,.checkout-actions .whatsapp-btn{margin-top:0;width:auto;flex:1}
.whatsapp-btn{background:linear-gradient(135deg,#128c4a,#2fd77a 55%,#0f7a40);color:#04200f;box-shadow:0 10px 30px rgba(47,215,122,.3),inset 0 1px 0 rgba(255,255,255,.4)}
.whatsapp-btn:hover{box-shadow:0 14px 38px rgba(47,215,122,.4)}
.review-card{margin:14px 0;padding:18px;border-radius:18px;border:1px solid var(--line);background:rgba(2,8,27,.4)}
.review-card h4{margin:0 0 8px;font-family:var(--f-title);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-2)}
.review-card p{margin:6px 0;color:var(--lav)}
.review-card p b{color:var(--cream)}
.review-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed rgba(214,168,74,.22)}
.review-row:last-child{border-bottom:0}
.review-row b{color:var(--gold-3);font-weight:500;white-space:nowrap}
.totalrow{margin-top:6px;padding-top:14px;border-top:1px solid var(--line-2);border-bottom:0;font-family:var(--f-title);font-size:18px;letter-spacing:.06em}
.totalrow b{font-weight:700}

/* ---------- Aviso / toast ---------- */
.noticeBackdrop{display:none;position:fixed;inset:0;z-index:110;background:rgba(1,6,21,.75);backdrop-filter:blur(4px)}
.noticeBackdrop.show{display:block}
.noticePopup{display:none;position:fixed;z-index:120;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,90vw);padding:34px 26px 26px;text-align:center;border-radius:26px;
  background:var(--grain-soft),radial-gradient(100% 70% at 50% 0%,rgba(58,96,210,.45),transparent 70%),linear-gradient(180deg,#0b2060,#061235);background-size:240px,auto,auto;background-blend-mode:soft-light,normal,normal;
  border:1px solid var(--line-2);box-shadow:0 40px 100px rgba(0,0,0,.65)}
.noticePopup.show{display:block;animation:pop .35s var(--ease)}
.noticePopup h3{margin:6px 0 8px;font-family:var(--f-title);font-size:20px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-3)}
.noticePopup p{margin:0 0 20px;color:var(--lav);line-height:1.55}
.noticeBrand{font-family:var(--f-title);font-size:11px;letter-spacing:.4em;color:var(--gold-2)}
.noticeIcon{display:grid;place-items:center;width:52px;height:52px;margin:14px auto 6px;border-radius:50%;border:1.5px solid var(--gold-3);color:var(--gold-3);font-family:var(--f-title);font-size:26px;box-shadow:0 0 30px rgba(243,217,138,.25)}
.noticeClose{position:absolute;right:12px;top:12px}
.noticeOk{background:var(--foil);color:#2a1103;min-height:46px}
.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,14px);z-index:150;padding:12px 22px;border-radius:999px;background:linear-gradient(180deg,#0f276e,#07184a);border:1px solid var(--line-2);color:var(--gold-3);font-weight:500;letter-spacing:.08em;box-shadow:0 14px 40px rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:.35s var(--ease)}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* revelar ao rolar */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ---------- Responsivo ---------- */
@media(max-width:900px){
  .navwrap-in{flex-direction:column;align-items:stretch;gap:10px;padding:10px 16px}
  .searchBar{flex:none}
  .section{scroll-margin-top:calc(var(--tb) + 140px)}
  .info-in{grid-template-columns:1fr}
}
@media(max-width:700px){
  :root{--tb:58px}
  .topbar-in{padding:0 14px}
  .brand-lamp{width:38px;height:24px}
  .brand-txt b{font-size:21px}
  .cartBtn-lbl{display:none}
  .cartBtn{padding:0 6px 0 12px}
  .hero{padding-bottom:150px}
  .moon{top:46px;right:-16px;opacity:.85}
  .lantern{width:26px;top:30%}
  .hero-cta{width:100%}
  .hero-cta>*{flex:1 1 140px;padding:0 16px}
  main{padding:8px 14px 120px}
  .grid{grid-template-columns:1fr;gap:14px}
  .sec-head{grid-template-columns:1fr;gap:4px 14px}
  .sec-count{grid-column:2;padding:0}
  .card{min-height:0;padding:20px 18px 18px}
  .card h3{font-size:23px}
  .checkout-grid{grid-template-columns:1fr}
  .wide{grid-column:auto}
  .payment-cards{grid-template-columns:1fr}
  .payment-cards span{height:62px}
  .checkout-step{padding:22px 18px}
  .steps .step{padding:9px 10px;font-size:10.5px;letter-spacing:.08em}
  .steps .step b{width:24px;height:24px}
  .checkout-actions{flex-direction:column-reverse}
  .checkout-actions .secondary-btn{width:100%}
  .cart-fab{right:14px;bottom:14px;height:54px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* ===== Refinamento: checkout, avisos e carrinho ===== */
.cart-tools{display:flex;justify-content:flex-end;margin-bottom:4px}
.linkbtn{background:none;border:0;padding:4px 0;color:var(--gold-3);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.linkbtn:hover{color:var(--cream)}
.cart-item .ci-kind{display:inline-block;margin-top:6px;padding:2px 9px;border-radius:999px;border:1px solid var(--line);font-family:var(--f-title);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2)}
.finish:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.6)}
.empty small{display:block;margin-top:8px;font-family:var(--f-ui);font-style:normal;font-size:14px;color:var(--lav-2)}

.mode-cards{grid-template-columns:repeat(2,1fr)!important;margin-bottom:6px}
.mode-cards span{height:auto!important;min-height:78px;padding:12px 8px;gap:4px;text-align:center}
.mode-cards small{font-family:var(--f-ui);letter-spacing:.04em;text-transform:none;font-size:12.5px;opacity:.85}
.info-note{display:none;margin:12px 0 4px;padding:12px 16px;border-radius:14px;border:1px dashed var(--line-2);background:rgba(243,217,138,.05);color:var(--lav);font-size:14.5px;line-height:1.5}
.info-note.show{display:block}
.checkout-grid.pickup .addr{display:none}
.field.err input{border-color:#ff9aa8;box-shadow:0 0 0 3px rgba(255,154,168,.16)}
.privacy{margin:18px 0 0;color:var(--lav-2);font-size:12.5px;line-height:1.5}

.change-box .box-text{margin:0;color:var(--lav);line-height:1.5}
#changeField{display:none;margin-top:14px}
#changeField.open{display:block}
.hint{display:block;margin-top:8px;color:var(--lav-2);font-size:13px}

.opts.err .opts-list{outline:1px solid #ff9aa8;outline-offset:6px;border-radius:14px}
.review-row small.rv-obs{display:block;margin-top:2px;color:var(--lav-2);font-size:12.5px}

.sent-box{display:none;margin:16px 0;padding:18px;border-radius:18px;border:1px solid var(--line-2);background:rgba(47,215,122,.07)}
.sent-box.show{display:block}
.sent-box h4{margin:0 0 6px;font-family:var(--f-serif);font-size:22px;font-weight:600;color:var(--cream)}
.sent-box p{margin:0;color:var(--lav);line-height:1.5}

.noticePopup.success .noticeIcon{border-color:#2fd77a;color:#2fd77a;box-shadow:0 0 30px rgba(47,215,122,.3)}
.foot-wa{margin-top:10px!important}
.foot-wa a{color:var(--gold-3);text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.mode-cards{grid-template-columns:repeat(2,1fr)!important}.sent-box .checkout-actions{flex-direction:column}}


/* ===== Otimização mobile + desktop ===== */
button,.opt,.add,label{touch-action:manipulation}
#modalTitle:focus{outline:none}
.cart-item .ci-kind{display:block;width:fit-content}
.cart-fab{bottom:calc(18px + env(safe-area-inset-bottom))}
.toast{bottom:calc(96px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px);text-align:center}
.drawer-foot{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.checkout-shell{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
.checkout-page{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.drawer-body,.modal{overscroll-behavior:contain}
.modal{max-height:min(90vh,90dvh)}

/* alvos de toque maiores em telas touch */
@media(pointer:coarse){
  .qty button,.modal-qty button{width:42px;height:42px}
  .qty{gap:8px}
  .opt{min-height:54px}
  .close,.x,.noticeClose{width:44px;height:44px}
  .linkbtn{padding:10px 0}
  .payment-cards span{min-height:64px}
}

/* celular: barra de ações fixa no rodapé do checkout, modal como folha inferior */
@media(max-width:700px){
  .checkout-actions,.checkout-step>.next-btn{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:6}
  .checkout-actions{padding:10px;margin:22px -10px 0;border-radius:18px;background:linear-gradient(180deg,rgba(7,24,74,.0),rgba(7,24,74,.92) 40%)}
  .checkout-step>.next-btn{box-shadow:0 10px 30px rgba(0,0,0,.45)}
  .sent-box .checkout-actions{position:static;background:none;padding:0;margin:14px 0 0}
  .checkout-step{padding:18px 16px}
  .noticePopup{width:min(92vw,420px)}
  .modal{top:auto;bottom:0;left:0;right:0;transform:none;width:100%;max-height:92dvh;border-radius:26px 26px 0 0;padding-bottom:calc(22px + env(safe-area-inset-bottom))}
}

/* desktop: aproveita o espaço e dá feedback de foco/hover */
@media(min-width:1024px){
  .checkout-shell{padding-top:44px}
  .drawer{width:min(460px,100%)}
  .card:focus-within{border-color:var(--line-2)}
}
@media(hover:none){.card:hover{transform:none}}
:focus-visible{outline:2px solid var(--gold-3);outline-offset:3px}

@keyframes sheetUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@media(max-width:700px){.modal.show{animation:sheetUp .32s var(--ease)}}
@media(max-width:700px){
  .checkout-page{scroll-padding-bottom:130px}
  .checkout-actions{flex-direction:row!important;gap:8px}
  .checkout-actions .secondary-btn{flex:0 0 auto;padding-inline:16px}
  .checkout-actions .next-btn,.checkout-actions .whatsapp-btn{flex:1;width:auto;font-size:13px;padding-inline:10px}
  .sent-box .checkout-actions{flex-direction:column!important}
  .sent-box .checkout-actions .secondary-btn{width:100%}
}
@media(max-width:700px){
  .checkout-actions .secondary-btn{width:auto!important;flex:0 0 auto!important}
  .checkout-actions .next-btn,.checkout-actions .whatsapp-btn{flex:1 1 0!important;min-width:0;width:auto!important;margin:0!important}
  .sent-box .checkout-actions .secondary-btn,.sent-box .checkout-actions .next-btn{width:100%!important;flex:none!important}
}


/* ===== Ajustes finos ===== */
/* linha da taxa de entrega alinhada com o total dos itens */
.fee-row{margin:0 0 16px;font-size:12px;letter-spacing:.16em}
.fee-row span:last-child{font-size:15px;font-weight:500;letter-spacing:.02em;background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:currentColor;color:var(--lav)}
/* grão global menos marcado com carrinho/checkout abertos */
body.lock::after{opacity:.045}
/* transição suave do cabeçalho para o cardápio */
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:clamp(90px,16vw,200px);z-index:3;pointer-events:none;
  background:linear-gradient(180deg,rgba(18,52,155,0) 0%,rgba(18,52,155,.10) 22%,rgba(18,52,155,.32) 46%,rgba(18,52,155,.62) 70%,rgba(18,52,155,.88) 88%,#12349b 100%)}


/* ===== Rodapé e títulos sobre o céu (design v6) ===== */
.footer{background:linear-gradient(180deg,rgba(2,9,29,0) 0,rgba(2,9,29,.7) 34%,rgba(2,9,29,.92) 100%);position:relative}
.sec-head h2{text-shadow:0 1px 16px rgba(4,18,61,.6)}

/* ===== Fundo mágico: noite de Aladdin com fumaça e brilhos ===== */
.magic-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:
    radial-gradient(120% 80% at 50% 108%,#112a75 0%,rgba(17,42,117,0) 62%),
    linear-gradient(180deg,#000410 0%,#020b26 30%,#04123d 62%,#071c59 100%)}
.mg-glow{position:absolute;border-radius:50%;filter:blur(70px);will-change:opacity,transform}
.g1{width:70vmax;height:70vmax;left:-20vmax;top:-18vmax;background:radial-gradient(circle,rgba(55,70,210,.42),transparent 66%);animation:glowA 14s ease-in-out infinite}
.g2{width:62vmax;height:62vmax;right:-22vmax;top:22vh;background:radial-gradient(circle,rgba(50,93,220,.40),transparent 66%);animation:glowA 18s ease-in-out -6s infinite}
.g3{width:80vmax;height:44vmax;left:10vmax;bottom:-22vmax;background:radial-gradient(ellipse,rgba(103,134,227,.34),transparent 68%);animation:glowA 16s ease-in-out -3s infinite}
@keyframes glowA{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}

.mg-smoke{position:absolute;left:-10%;top:-10%;width:120%;height:120%;background-repeat:repeat;will-change:background-position;mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%)}
.sm-a{background-image:url("assets/fumaca-nuvem.webp");background-size:1400px 1400px;opacity:.50;animation:driftA 140s linear infinite}
.sm-b{background-image:url("assets/fumaca-fios.webp");background-size:1100px 1100px;opacity:.30;animation:driftB 95s linear infinite}
.sm-c{background-image:url("assets/fumaca-fios.webp");background-size:1800px 1800px;opacity:.18;background-position:600px 300px;animation:driftC 170s linear infinite}
@keyframes driftA{to{background-position:-1400px -700px}}
@keyframes driftB{to{background-position:1100px -1100px}}
@keyframes driftC{to{background-position:-1800px 600px}}

#magic{position:absolute;inset:0;width:100%;height:100%;display:block}
.mg-vignette{position:absolute;inset:0;background:radial-gradient(120% 95% at 50% 45%,transparent 45%,rgba(0,2,10,.62) 100%)}

/* textura: grão de poeira mais presente sobre o fundo */
body::after{opacity:.11}
body::before{opacity:.03}

@media (max-width:700px){
  .sm-a{background-size:900px 900px}.sm-b{background-size:760px 760px}.sm-c{display:none}
  .mg-glow{filter:blur(48px)}
}
@media (prefers-reduced-motion:reduce){
  .mg-smoke,.mg-glow{animation:none!important}
}


/* ===== Desempenho: menos repintura, mais GPU ===== */
.magic-bg{contain:layout paint size;transform:translateZ(0)}
.mg-glow{filter:none!important;animation:none!important;will-change:auto}
.mg-smoke{--t:1400px;left:0;top:0;width:calc(100% + var(--t));height:calc(100% + var(--t));background-position:0 0!important;
  -webkit-mask-image:none;mask-image:none;backface-visibility:hidden;will-change:transform}
.sm-a{--t:1400px;background-size:1400px 1400px;animation:smA 150s linear infinite}
.sm-b{--t:1100px;background-size:1100px 1100px;animation:smB 110s linear infinite}
.sm-c{display:none}
@keyframes smA{to{transform:translate3d(calc(-1 * var(--t)),calc(-1 * var(--t)),0)}}
@keyframes smB{to{transform:translate3d(0,calc(-1 * var(--t)),0)}}
@media(max-width:700px){.sm-a{--t:900px;background-size:900px 900px}.sm-b{--t:760px;background-size:760px 760px}}
/* sem mistura de cores em tela cheia e sem desfoque de fundo */
body::after{mix-blend-mode:normal;opacity:.05}
.hero-sky::after{mix-blend-mode:normal;opacity:.07}
.info-i, .overlay{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.navwrap{background:rgba(3,12,40,.93)}.topbar{background:rgba(4,15,48,.95)}.overlay{background:rgba(1,6,21,.8)}.info-i{background:linear-gradient(160deg,rgba(22,48,126,.55),rgba(5,19,61,.7))}
.navwrap,.topbar,.searchBar input,.cart-fab,.toast{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.noticeBackdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}


/* ===== Fundo estático: mesmo visual, sem animação ===== */
.stars,.s1,.s2,.s3,.lantern,.mg-smoke,.mg-glow,.pcloud{animation:none!important}
.mg-smoke{will-change:auto;transform:none!important}
.mg-glow{opacity:.9}
.s1,.s2,.s3{opacity:.8}

/* ===== Conexão fluida: cabeçalho, categorias e cardápio ===== */
.hero::after{display:none}
.hero{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - clamp(90px,16vw,180px)),transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - clamp(90px,16vw,180px)),transparent 100%)}
.navwrap{margin-top:0;border-bottom:0;padding-bottom:22px;
  background:linear-gradient(180deg,rgba(3,11,36,.92) 0%,rgba(3,11,36,.88) 58%,rgba(3,11,36,.55) 82%,rgba(3,11,36,0) 100%)}
main{padding-top:0}
.section:first-child{margin-top:30px}

/* ===== Moldura do arco dissolve suavemente antes do castelo (sem corte reto cruzando as cúpulas) ===== */
.arch{
  -webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 96px),rgba(0,0,0,.6) calc(100% - 66px),rgba(0,0,0,.22) calc(100% - 44px),transparent calc(100% - 26px));
  mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 96px),rgba(0,0,0,.6) calc(100% - 66px),rgba(0,0,0,.22) calc(100% - 44px),transparent calc(100% - 26px));
}

/* ===== v14: chão do castelo = mesmo tom da barra de categorias; castelo maior no celular ===== */
:root{--nav-solid:#050e2a}
.navwrap{background:linear-gradient(180deg,var(--nav-solid) 0%,var(--nav-solid) 58%,rgba(5,14,42,.55) 82%,rgba(5,14,42,0) 100%)}
.hero{-webkit-mask-image:none;mask-image:none}
.hero::after{display:block;content:"";position:absolute;left:0;right:0;bottom:0;height:clamp(46px,8vw,90px);z-index:3;pointer-events:none;
  background:linear-gradient(180deg,rgba(5,14,42,0) 0%,rgba(5,14,42,.7) 55%,var(--nav-solid) 100%)}
@media (max-width:700px){
  .skyline{height:216px}
  .hero{padding-bottom:184px}
}


/* ===== Adicionais ===== */
.opts-hint{margin-left:8px;font-family:var(--f-ui);font-size:10.5px;letter-spacing:.12em;color:var(--lav-2);text-transform:none}
.addons{margin-top:22px}
.opt.addon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 10px;font-size:19px;line-height:1.1}
.opt.addon .addon-price{font-family:var(--f-ui);font-weight:500;font-size:12.5px;letter-spacing:.04em;color:var(--gold-2);transition:.25s var(--ease)}
.opt.addon.on .addon-price{color:#2a1103}
.cart-item .ci-adds{display:block;color:var(--gold-2)}
