:root{--ac9:#240838;--ac8:#2f0b47;--ac7:#4a1569;--ac5:#7a2fb5;--lil:#f7effb;--lil2:#efe2f8;--line:#e4d3f1;--ink:#26102f;--mut:#7a6585;--ban:#ffcb3d;--ban2:#c99100;--gua:#ff4f7b;--leaf:#14a35a;--leafbg:#dff5e8;--leafink:#0b6b3a;--r:20px;--sb:env(safe-area-inset-bottom,0px);--stick:150px;
 --d:'Bagel Fat One','Arial Rounded MT Bold','Arial Black',system-ui,sans-serif;--b:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;--side:max(16px,calc((100% - 960px)/2 + 16px))}
*{box-sizing:border-box;margin:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;background:var(--lil)}
body{background:var(--lil);color:var(--ink);font:400 15px/1.45 var(--b);min-height:100dvh;overscroll-behavior-y:none}
button,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}
:focus-visible{outline:3px solid var(--ac5);outline-offset:2px}
svg{display:block}

/* topo */
.top{position:sticky;top:0;z-index:20;padding:calc(10px + env(safe-area-inset-top,0px)) var(--side) 12px;display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;background:var(--ac9);color:#fff}
.logo{display:flex;align-items:center;gap:6px;width:max-content;text-decoration:none;color:inherit}
.logo-b{width:30px;height:30px}
.lg-a{font:400 29px/1 var(--d);color:var(--ban);letter-spacing:.01em}
.lg-z{font:400 17px/1 var(--d);background:#fff;color:var(--ac9);padding:4px 9px 3px;border-radius:10px;transform:rotate(-5deg);margin-left:1px}
.me{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff}
.me svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.me.in{border-color:var(--ban);color:var(--ban)}
.status{grid-column:1/-1;color:rgba(255,255,255,.72);font-size:13px;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.status b{color:#fff;font-weight:700}
.sep{width:1px;height:12px;background:rgba(255,255,255,.25)}
.dot{width:8px;height:8px;border-radius:50%;background:#3ddc84;animation:p 2s infinite}
@keyframes p{0%{box-shadow:0 0 0 0 rgba(61,220,132,.6)}70%,100%{box-shadow:0 0 0 8px transparent}}

/* herói: a borda de baixo "pinga" açaí */
.hero{position:relative;background:radial-gradient(420px 260px at 85% 40%,#5a1c85,transparent),var(--ac9);color:#fff;padding:10px var(--side) 52px;display:grid;grid-template-columns:minmax(0,1fr) clamp(116px,33vw,300px);align-items:center;gap:8px;overflow:visible}
.hero::after{content:'';position:absolute;left:0;right:0;top:calc(100% - 1px);height:22px;background:radial-gradient(circle at 50% 0,var(--ac9) 10px,transparent 11px) 0 0/26px 22px repeat-x;pointer-events:none}
.hero h1{font:400 clamp(24px,6.7vw,40px)/1.08 var(--d);letter-spacing:.005em}
.hero p{margin-top:10px;color:rgba(255,255,255,.82);max-width:34ch}.hero p b{color:var(--ban)}
.cta{margin-top:16px;padding:14px 22px;border-radius:16px;background:var(--ban);color:var(--ac9);font-weight:800;font-size:16px;box-shadow:0 4px 0 var(--ban2);transition:transform .1s,box-shadow .1s}
.cta:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ban2)}
.hero-art{width:100%;margin-right:-22px;transform:rotate(8deg)}.hero-art svg{width:100%;height:auto;filter:drop-shadow(0 14px 18px rgba(0,0,0,.35))}

/* abas do cardápio */
.chips{position:sticky;z-index:15;display:flex;gap:8px;overflow-x:auto;padding:10px var(--side) 12px;margin-top:22px;scrollbar-width:none;background:var(--lil);border-bottom:1.5px solid var(--line)}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;padding:10px 16px;border-radius:99px;border:1.5px solid var(--line);background:#fff;color:var(--mut);font-weight:700;transition:background .15s,color .15s}
.chip.on{background:var(--ac8);color:#fff;border-color:var(--ac8)}
main{max-width:960px;margin:auto}
section[id^=sec]{scroll-margin-top:var(--stick);padding-bottom:6px}
.sh{font:400 27px/1.1 var(--d);color:var(--ac8);padding:20px 16px 4px}
.sub{padding:0 16px;color:var(--mut);max-width:52ch}

/* prateleira de copos */
.shelf{display:grid;grid-template-columns:repeat(4,1fr);margin:14px 16px 0;padding:24px 0 0;background:#fff;border:2px solid var(--line);border-radius:26px;position:relative;overflow:hidden}
.cc{position:relative;display:flex;flex-direction:column;align-items:center;padding:0 0 14px;text-align:center;transition:transform .15s}
.cc:active{transform:translateY(-4px)}
.cupw{width:100%;aspect-ratio:1/1.06;display:flex;align-items:flex-end;justify-content:center;border-bottom:7px solid var(--ac8);margin-bottom:10px}
.cupw svg{width:var(--w);aspect-ratio:1;height:auto}
.cc:nth-child(1) .cupw svg{--w:62%}.cc:nth-child(2) .cupw svg{--w:74%}.cc:nth-child(3) .cupw svg{--w:86%}.cc:nth-child(4) .cupw svg{--w:92%}
.ml{font:400 14px/1 var(--b);color:var(--mut)}.ml b{font:400 27px/1 var(--d);color:var(--ink);margin-right:1px}
.pc{margin-top:4px;font-weight:800;font-size:15px;color:var(--ac7)}
.gr{margin-top:7px;padding:3px 9px;border-radius:99px;background:var(--leafbg);color:var(--leafink);font-weight:800;font-size:12px}
.tag{position:absolute;z-index:2;top:-8px;left:50%;transform:translateX(-50%);padding:3px 8px;border-radius:99px;background:var(--gua);color:#fff;font-weight:800;font-size:10.5px;white-space:nowrap}
.cc.off{opacity:.5}
.legend{display:flex;gap:8px;align-items:flex-start;padding:12px 18px 0;color:var(--mut);font-size:13px;max-width:60ch}.legend i{flex:none;width:10px;height:10px;margin-top:5px;border-radius:50%;background:var(--leaf)}

/* sugestões */
.row{display:flex;gap:12px;overflow-x:auto;padding:14px 16px 10px;scroll-snap-type:x proximity;scroll-padding-inline:16px;scrollbar-width:none}.row::-webkit-scrollbar{display:none}
.sg{position:relative;flex:none;width:214px;scroll-snap-align:start;padding:12px;border-radius:26px;background:var(--tint,#efdcff);display:flex;flex-direction:column;gap:4px;cursor:pointer}
.sg .tag{left:18px;top:18px;transform:none;background:var(--ac8)}
.sg h3{font:400 20px/1.1 var(--d);color:var(--ac8);margin-top:8px}
.sd{font-size:13px;color:rgba(38,16,47,.74);line-height:1.35}.sd b{color:var(--ink)}
.pimg{aspect-ratio:1;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.62);overflow:hidden}
.pimg svg{width:86%;height:86%}.pimg img{width:100%;height:100%;object-fit:cover}
.pr{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px}
.pr b{font:400 21px/1 var(--d);color:var(--ac7)}
.pr s{display:block;color:var(--mut);font-size:13px;font-weight:600;line-height:1.1;margin-bottom:2px}
.sg .tag.gua{background:var(--gua)}
.mk{padding:10px 16px;border-radius:14px;background:var(--ban);color:var(--ac9);font-weight:800;box-shadow:0 3px 0 var(--ban2);transition:transform .1s,box-shadow .1s}.mk:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ban2)}

/* produtos avulsos */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:14px 16px 6px}
@media(min-width:700px){.grid{grid-template-columns:repeat(4,1fr)}.shelf{max-width:640px}.sg{width:240px}}
.p{display:flex;flex-direction:column;gap:3px;padding:10px 10px 12px;border-radius:22px;background:#fff;border:2px solid var(--line)}
.p .pimg{background:var(--lil)}
.p h3{font:800 15px/1.2 var(--b);margin-top:8px}.vol{color:var(--mut);font-size:13px}
.add{width:42px;height:42px;border-radius:50%;background:var(--ban);color:var(--ac9);font-size:26px;font-weight:800;line-height:1;display:grid;place-items:center;box-shadow:0 3px 0 var(--ban2);transition:transform .1s}
.add:active{transform:translateY(2px)}.add.pop{animation:pop .3s}
@keyframes pop{50%{transform:scale(1.22) rotate(90deg)}}
.out{color:var(--mut);font-size:12px;font-weight:700;border:1.5px solid var(--line);border-radius:99px;padding:6px 10px}
.skl{display:grid;gap:12px;padding:16px}.sk{height:170px;border-radius:26px;background:linear-gradient(100deg,#eadcf5 30%,#f6eefb 50%,#eadcf5 70%) 0 0/200% 100%;animation:sh 1.2s infinite}
@keyframes sh{to{background-position:-200% 0}}

/* rodapé e barras fixas */
.foot{margin-top:34px;padding:34px 20px calc(160px + var(--sb));text-align:center;background:var(--ac9);color:rgba(255,255,255,.7);font-size:13px;position:relative}
.foot::before{content:'';position:absolute;left:0;right:0;bottom:calc(100% - 1px);height:22px;background:radial-gradient(circle at 50% 100%,var(--ac9) 10px,transparent 11px) 0 0/26px 22px repeat-x}
.foot-logo{font:400 28px/1 var(--d);color:var(--ban);margin-bottom:10px}.foot-logo span{display:inline-block;font-size:17px;background:#fff;color:var(--ac9);padding:4px 9px 3px;border-radius:10px;transform:rotate(-5deg);margin-left:4px}
.foot p{margin-top:4px}
.link{display:block;margin:12px auto 0;color:var(--mut);text-decoration:underline;font-size:inherit}.foot .link{color:rgba(255,255,255,.5);font-size:12px;margin-top:18px}
.cartbar{position:fixed;left:12px;right:12px;bottom:calc(74px + var(--sb));z-index:30;display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:18px;background:var(--ban);color:var(--ac9);box-shadow:0 4px 0 var(--ban2),0 12px 28px rgba(36,8,56,.28);animation:in .3s}
@keyframes in{from{opacity:0;transform:translateY(10px)}}
.cartbar[hidden]{display:none}.cartbar span{background:var(--ac9);color:var(--ban);border-radius:99px;min-width:28px;height:28px;padding:0 6px;display:grid;place-items:center;font-weight:800}
.cartbar b{flex:1;text-align:left;font-weight:800}.cartbar em{font:400 20px/1 var(--d);font-style:normal}
.bottom{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;padding:6px 8px calc(6px + var(--sb));background:#fff;border-top:1.5px solid var(--line)}
.bottom button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px;color:var(--mut);font-size:12px;font-weight:700;position:relative}
.bottom svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.bottom .on{color:var(--ac7)}
.bottom i{position:absolute;top:0;left:55%;background:var(--gua);color:#fff;font:800 11px/1 var(--b);font-style:normal;border-radius:99px;padding:3px 6px}.bottom i[hidden]{display:none}
.freebar{position:fixed;left:12px;right:12px;bottom:calc(138px + var(--sb));z-index:29;margin:0;box-shadow:0 8px 20px rgba(36,8,56,.15)}.freebar[hidden]{display:none}
.free,.freebar{padding:10px 12px;border-radius:16px;background:#fff;border:1.5px solid var(--line);margin-bottom:10px;font-size:13px}
.free p,.freebar p{margin-bottom:6px;font-weight:500}.free b,.freebar b{color:var(--ac7);font-weight:800}
.bar{height:7px;border-radius:7px;background:var(--lil2);overflow:hidden}.bar i{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,var(--ac5),var(--leaf));transition:width .35s}
.free.done,.freebar.done{background:var(--leafbg);border-color:#9fdcb9}.done b{color:var(--leafink)}

/* janelas */
.backdrop{position:fixed;inset:0;z-index:40;background:rgba(36,8,56,.55);backdrop-filter:blur(3px);animation:fade .2s}.backdrop[hidden]{display:none}
@keyframes fade{from{opacity:0}}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:50;max-height:90dvh;overflow:auto;padding:10px 18px calc(22px + var(--sb));background:#fff;border-radius:28px 28px 0 0;box-shadow:0 -10px 40px rgba(36,8,56,.25);animation:up .3s cubic-bezier(.2,.9,.3,1);overscroll-behavior:contain}
.sheet[hidden]{display:none}@keyframes up{from{transform:translateY(100%)}}
@media(min-width:700px){.sheet{max-width:500px;margin:auto}}
.grab{width:40px;height:4px;border-radius:4px;background:var(--line);margin:0 auto 14px}
h2{font:400 25px/1.1 var(--d);color:var(--ac8);margin-bottom:12px}.muted{color:var(--mut);font-size:14px;margin:8px 0}.err{color:#c0264a;margin-top:10px;font-weight:500}
.btn{width:100%;padding:15px;border-radius:16px;background:var(--ban);color:var(--ac9);font-weight:800;font-size:16px;margin-top:8px;box-shadow:0 4px 0 var(--ban2);transition:transform .1s,box-shadow .1s}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ban2)}.btn:disabled{opacity:.6}
.btn.ghost{background:var(--lil);color:var(--ink);border:1.5px solid var(--line);box-shadow:none}
input:not([type=radio]){width:100%;padding:13px 14px;margin-top:6px;border-radius:14px;border:1.5px solid var(--line);background:var(--lil);font-size:16px}
label{display:block;margin-top:12px;color:var(--mut);font-size:13px;font-weight:500}label small{font-weight:400}

/* montador */
.b-head{display:flex;align-items:center;gap:14px;margin-bottom:4px}.b-cup{flex:none;width:92px;height:92px;border-radius:24px;background:var(--lil);padding:6px}.b-cup svg{width:100%;height:100%}
.link[hidden]{display:none}.b-head .link.back{margin:6px 0 0;text-align:left;font-size:13px;color:var(--ac5);font-weight:700}
.b-head h2{margin:0;font-size:22px}.b-price{color:var(--mut);font-size:14px;margin-top:3px}
.blk{margin-top:20px}.bh{font:800 17px/1.2 var(--b);color:var(--ink)}.bh-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.gh{margin:14px 0 8px;font:700 13px/1 var(--b);color:var(--mut)}
.cnt{padding:5px 11px;border-radius:99px;background:var(--leafbg);color:var(--leafink);font-weight:800;font-size:13px;white-space:nowrap}.cnt.full{background:var(--leaf);color:#fff}
.cnt.pay{background:#fff1c2;color:#7a5200}.cnt.shake{animation:shk .35s}
@keyframes shk{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.dots{display:flex;gap:6px;margin:10px 0 6px}.d{width:12px;height:12px;border-radius:50%;border:2px solid var(--line);transition:.15s}.d.on{background:var(--leaf);border-color:var(--leaf)}
.hint{color:var(--mut);font-size:13px}
.chs{display:flex;flex-wrap:wrap;gap:8px}
.ch{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1.5px solid var(--line);border-radius:99px;background:#fff;font-weight:600;font-size:14px;transition:background .12s,border-color .12s,opacity .12s}
.ch i{width:13px;height:13px;border-radius:50%;border:1px solid rgba(0,0,0,.16);flex:none}
.ch em{font-style:normal;font-size:12px;color:var(--mut);font-weight:700}
.ch.on{border-color:var(--leaf);background:var(--leafbg);color:var(--leafink);font-weight:800}.ch.on::after{content:'✓';font-weight:800}
.ch.pay.on{border-color:var(--ban2);background:#fff1c2;color:#6b4600}.ch.pay.on em{color:#6b4600}
.ch.dim{opacity:.42}.ch.gone{opacity:.45;text-decoration:line-through}.ch.gone em{text-decoration:none}
.seg{display:grid;gap:8px;margin-top:10px}.s4{grid-template-columns:repeat(4,1fr)}.s2{grid-template-columns:repeat(2,1fr)}
.sz{display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 2px;border:1.5px solid var(--line);border-radius:16px;background:#fff}
.sz b{font-weight:800;font-size:15px}.sz span{font-size:12px;color:var(--mut);font-weight:600}.sz small{font-size:11px;font-weight:800;color:var(--leafink);background:var(--leafbg);padding:1px 7px;border-radius:99px;margin-top:3px}
.sz.on{background:var(--ac8);border-color:var(--ac8);color:#fff}.sz.on span{color:rgba(255,255,255,.78)}.sz.on small{background:var(--ban);color:var(--ac9)}.sz.gone{opacity:.4}
.bs,.cl{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px;border:1.5px solid var(--line);border-radius:16px;background:#fff;font-weight:700;font-size:14px}
.bs i{width:14px;height:14px;border-radius:50%;flex:none}
.bs.on,.cl.on{border-color:var(--ac7);background:var(--lil2);color:var(--ac8);box-shadow:inset 0 0 0 1px var(--ac7)}
.b-foot{position:sticky;bottom:calc(-22px - var(--sb));display:flex;gap:12px;align-items:center;margin:20px -18px calc(-22px - var(--sb));padding:12px 18px calc(14px + var(--sb));background:#fff;border-top:1.5px solid var(--line)}
.b-foot .btn{margin:0;flex:1;padding:14px 10px}
.q{display:flex;align-items:center;gap:8px}.q b{min-width:18px;text-align:center}
.q button{width:34px;height:34px;border-radius:12px;background:var(--lil);border:1.5px solid var(--line);font-size:19px;font-weight:700}
.q.big button{width:40px;height:40px;font-size:22px}

/* sacola */
.lines{list-style:none}.lines li{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:start;padding:12px 0;border-bottom:1.5px solid var(--line)}
.n small strong{color:var(--ink)}
.lines .empty{display:block;color:var(--mut);padding:14px 0}
.th{width:54px;height:54px;border-radius:14px;background:var(--lil);padding:4px;display:block}.th svg{width:100%;height:100%}.th img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.n{min-width:0}.n b{display:block;font-weight:800}.n small{display:block;color:var(--mut);font-size:13px;line-height:1.35}.n .xs{color:#8a5b00}
.ed{margin-top:4px;color:var(--ac5);font-weight:700;font-size:13px;text-decoration:underline;padding:2px 0}
.r{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.lp{font:400 17px/1 var(--d);color:var(--ac7)}
.fill{margin-bottom:10px;padding:10px 12px;border-radius:16px;background:#fff7dc;border:1.5px solid #f1dd9a;font-size:13px}.fill[hidden]{display:none}.fill p{font-weight:700;margin-bottom:8px}
.fill div{display:flex;flex-wrap:wrap;gap:6px}.fb{padding:7px 11px;border-radius:99px;background:#fff;border:1.5px solid #f1dd9a;font-weight:700;font-size:13px}.fb em{font-style:normal;color:var(--mut);margin-left:5px}
fieldset{border:0;margin-top:16px;padding:0}legend{color:var(--mut);font-size:13px;font-weight:500;margin-bottom:6px}
.opt{display:flex;align-items:center;gap:10px;padding:13px;margin-top:6px;border:1.5px solid var(--line);border-radius:14px;color:var(--ink);font-size:15px;font-weight:600}
.opt input{accent-color:var(--ac7);width:18px;height:18px}.opt:has(input:checked){border-color:var(--ac7);background:var(--lil2)}
.opt[hidden]{display:none}.link.more{margin:12px 0 0;text-align:left;color:var(--ac5);font-weight:700;font-size:14px}
.opt small{color:var(--mut);margin-left:4px;font-weight:400}.opt small.off{color:var(--leafink);font-weight:800}
.upsell{margin-top:12px;padding:14px;border-radius:16px;background:var(--leafbg);border:1.5px solid #9fdcb9;animation:in .25s}.upsell p{margin-bottom:8px}.upsell b{color:var(--leafink)}
.sum{margin-top:16px;display:grid;grid-template-columns:1fr auto;gap:6px 12px;color:var(--mut)}.sum dd{text-align:right;margin:0;color:var(--ink);font-weight:600}
.sum .tt{color:var(--ink);font:400 21px/1.2 var(--d)}.sum .dsc{color:var(--leafink)}
.qr{display:grid;place-items:center;margin:8px 0 14px}.qr img{width:220px;height:220px;border-radius:16px;background:#fff;padding:8px;border:1.5px solid var(--line)}
.pixval{font:400 22px/1 var(--d);color:var(--ac7);margin:-4px 0 6px}
.pulse{text-align:center;animation:fade 1s infinite alternate}
.ok{width:96px;display:block;margin:10px auto;fill:none;stroke:var(--leaf);stroke-width:3}.ok path{stroke-dasharray:50;stroke-dashoffset:50;animation:d .6s .2s forwards}@keyframes d{to{stroke-dashoffset:0}}
#pixOk{text-align:center}
.toast{position:fixed;left:50%;bottom:calc(150px + var(--sb));transform:translate(-50%,20px);z-index:60;max-width:calc(100% - 32px);background:var(--ac9);color:#fff;font-weight:600;padding:11px 18px;border-radius:99px;opacity:0;pointer-events:none;transition:.25s;text-align:center}.toast.on{opacity:1;transform:translate(-50%,0)}
.adm .pimg{position:relative;cursor:pointer;outline:3px dashed var(--ac5);outline-offset:-3px}
.adm .pimg::after{content:'📷 Trocar foto';position:absolute;left:8px;bottom:8px;background:var(--ac8);color:#fff;font:700 12px var(--b);padding:5px 9px;border-radius:99px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
