/* Comanda digital: gaveta lateral preto e dourado */
body.cm-lock{overflow:hidden}
.cm-ov{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.66);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .3s}
.cm-ov.on{opacity:1;pointer-events:auto}
.cm{position:fixed;top:0;right:0;bottom:0;z-index:95;width:min(440px,100%);background:var(--bg2);border-left:1px solid var(--line);display:flex;flex-direction:column;transform:translateX(104%);transition:transform .42s cubic-bezier(.2,.8,.2,1);outline:0;color:var(--ink)}
.cm.on{transform:none}
.cm-h{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 8px}
.cm-h b{font-family:var(--serif);font-size:1.9rem;font-weight:600;color:var(--gold2)}
.cm-x{font-size:1.9rem;line-height:1;color:var(--mut);width:40px;height:40px;border-radius:50%;text-align:center}
.cm-x:hover{color:var(--gold2)}
.cm-st{list-style:none;display:flex;gap:6px;padding:4px 20px 14px;border-bottom:1px solid var(--line)}
.cm-st li{flex:1;display:flex;flex-direction:column;gap:6px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.cm-st li:before{content:"";height:3px;border-radius:3px;background:var(--line)}
.cm-st li i{display:none}
.cm-st li.on{color:var(--gold2)}.cm-st li.on:before,.cm-st li.ok:before{background:var(--gold)}
.cm-st li.ok{color:var(--mut)}
.cm-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}
.cm-li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.cm-li b{display:block;font-weight:500;font-size:.98rem;line-height:1.25}
.cm-li small{color:var(--mut);font-size:.78rem}
.cm-li em{font-style:normal;color:var(--gold2);font-weight:500;min-width:78px;text-align:right}
.cm-q{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:99px}
.cm-q button{width:32px;height:32px;font-size:1.2rem;color:var(--gold2);text-align:center;border-radius:50%}
.cm-q span{min-width:20px;text-align:center;font-weight:500}
.cm-f{display:flex;flex-direction:column;gap:6px}
.cm-f>span{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.cm-f input,.cm-f textarea{background:var(--bg3);border:1px solid var(--line);border-radius:12px;padding:.8rem .9rem;color:var(--ink);font:inherit;font-size:1rem;width:100%;resize:vertical}
.cm-f input:focus,.cm-f textarea:focus{outline:0;border-color:var(--gold)}
.cm-g{display:grid;grid-template-columns:1fr 110px;gap:10px}
.cm-seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.cm-seg button{padding:.8rem;text-align:center;font-weight:500;color:var(--mut);transition:.25s}
.cm-seg button.on{background:linear-gradient(180deg,var(--gold2),var(--gold) 55%,var(--cop));color:#1a1208}
.cm-note{color:var(--mut);font-size:.84rem;line-height:1.5}
.cm-err{color:#f0a08a;font-size:.86rem;min-height:1.2em}
.cm-link{align-self:flex-start;color:var(--mut);font-size:.82rem;text-decoration:underline}
.cm-po{display:grid;grid-template-columns:34px 1fr 20px;gap:12px;align-items:center;width:100%;border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem;transition:.25s}
.cm-po .ic{font-size:1.4rem;color:var(--gold);text-align:center}
.cm-po b{display:block;font-weight:500}.cm-po small{color:var(--mut);font-size:.8rem;line-height:1.35;display:block}
.cm-po i{width:18px;height:18px;border-radius:50%;border:2px solid var(--line)}
.cm-po.on{border-color:var(--gold);background:rgba(217,179,108,.08)}.cm-po.on i{border-color:var(--gold);background:radial-gradient(var(--gold) 45%,transparent 50%)}
.cm-rev{list-style:none;border-bottom:1px solid var(--line);padding-bottom:6px}
.cm-rev li{display:flex;justify-content:space-between;gap:12px;padding:.45rem 0;font-size:.95rem}
.cm-rev li b{font-weight:500;color:var(--gold2);white-space:nowrap}
.cm-dl{display:grid;gap:2px}
.cm-dl dt{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-top:10px}
.cm-dl dd{font-size:.95rem;line-height:1.45}.cm-dl small{color:var(--mut)}
.cm-was{display:grid;gap:8px}
.cm-wa{border:1px solid var(--line);border-radius:12px;padding:.75rem 1rem;color:var(--mut);transition:.25s;text-align:left}
.cm-wa.on{border-color:var(--gold);color:var(--ink);background:rgba(217,179,108,.08)}
.cm-foot{border-top:1px solid var(--line);padding:14px 20px calc(16px + env(safe-area-inset-bottom));background:var(--bg2)}
.cm-tot{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;color:var(--mut);font-size:.9rem}
.cm-tot b{font-family:var(--serif);font-size:1.9rem;color:var(--gold2);font-weight:600}
.cm-row{display:flex;gap:10px}
.cm-btn{flex:1;display:block;text-align:center;padding:.95rem 1.2rem;border-radius:99px;font-weight:500;letter-spacing:.03em;background:linear-gradient(180deg,var(--gold2),var(--gold) 55%,var(--cop));color:#1a1208;transition:.25s;cursor:pointer}
.cm-btn:hover{transform:translateY(-2px)}
.cm-btn.gh{background:none;border:1px solid var(--line);color:var(--ink);flex:0 0 auto}
.cm-empty{margin:auto;text-align:center;display:grid;gap:10px;justify-items:center;padding:20px}
.cm-empty .ic{font-size:3rem}.cm-empty h4{font-family:var(--serif);font-size:1.8rem;color:var(--gold2);font-weight:600}.cm-empty p{color:var(--mut);max-width:280px}
.cm-empty .cm-btn{flex:none;margin-top:8px}
.cm-done{align-items:center;text-align:center;justify-content:center;gap:12px}
.cm-done .ok{width:72px;height:72px;border-radius:50%;background:linear-gradient(180deg,var(--gold2),var(--cop));color:#1a1208;display:grid;place-items:center}
.cm-done .ok svg{width:34px;height:34px}
.cm-done h4{font-family:var(--serif);font-size:2rem;color:var(--gold2);font-weight:600}
.cm-done p{color:var(--mut)}.cm-done .tot{font-family:var(--serif);font-size:2.2rem;color:var(--ink)}
.cm-done .cm-btn{width:100%;flex:none}
/* botão flutuante da sacola */
.cm-fab{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:.6rem;background:linear-gradient(180deg,var(--gold2),var(--gold) 55%,var(--cop));color:#1a1208;font-weight:500;font-size:.92rem;padding:.85rem 1.2rem;border-radius:99px;box-shadow:0 10px 30px -8px rgba(0,0,0,.7)}
.cm-fab svg{width:21px;height:21px}
.cm-fab b{background:#1a1208;color:var(--gold2);min-width:22px;height:22px;border-radius:99px;display:none;place-items:center;font-size:.76rem;padding:0 6px}
.cm-fab.has b{display:grid}
.cm-fab.bump{animation:cmBump .45s cubic-bezier(.34,1.56,.64,1)}
@keyframes cmBump{40%{transform:scale(1.12)}}
.cm-toast{position:fixed;left:50%;bottom:84px;z-index:96;transform:translate(-50%,16px);background:var(--ink);color:#1a1208;font-weight:500;font-size:.88rem;padding:.6rem 1.1rem;border-radius:99px;opacity:0;transition:.3s;pointer-events:none;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis}
.cm-toast.on{opacity:1;transform:translate(-50%,0)}
/* itens do cardápio viram botões de adicionar */
.it{position:relative;padding-right:3.6rem}
.it .plus{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;border:1px solid rgba(217,179,108,.45);color:var(--gold2);display:grid;place-items:center;font-size:1.2rem;line-height:1;transition:.25s}
.it:hover .plus,.it.added .plus{background:var(--gold);color:#1a1208}
.it.ad{padding-right:3.2rem}
.it .pr{margin-right:.2rem}
.dc.added,.btn.added{transform:scale(.97)}
@media(max-width:520px){.cm-h b{font-size:1.7rem}.cm-fab{right:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){.cm,.cm-ov{transition:none}}
.cm-body>*{flex:none}
