/* Ala Drinks e Porções: cardápio digital, versão simples (design system do rebranding) */
:root{--bg:#ECEBE4;--fg:#4A1A3C;--texto:#3a1530;--muted:#6B4A60;--linha:rgba(74,26,60,.22);--sup:#F5F4EE;--btn:#4A1A3C;--btn-fg:#ECEBE4;--serif:'Fraunces',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#2B0F24;--fg:#ECEBE4;--texto:#e6dde2;--muted:#C4B3BF;--linha:rgba(236,235,228,.22);--sup:#3a1a32;--btn:#D9922E;--btn-fg:#2B0F24}}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{color-scheme:light dark}
body{background:var(--bg);color:var(--texto);font:400 16px/1.5 var(--sans);padding-bottom:120px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;font-variation-settings:"SOFT" 100,"WONK" 1;color:var(--fg);line-height:1.12}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--fg);outline-offset:2px}

/* topo e abertura */
.topo{display:flex;justify-content:space-between;align-items:center;max-width:720px;margin:0 auto;padding:18px 20px 6px}
.marca img{display:block;height:40px;width:auto}
.topo-links{display:flex;gap:18px;font-weight:500;font-size:15px}
.topo-links a{color:var(--fg);text-underline-offset:4px}
main{max-width:720px;margin:0 auto;padding:0 20px}
.intro{padding:22px 0 18px}
.intro h1{font-size:clamp(42px,11vw,60px)}
.intro p{color:var(--muted);margin-top:8px;max-width:34ch}
.mesa-box{padding:4px 0 20px}
.mesa-box label{display:block;font-size:14px;color:var(--muted);margin-bottom:2px}
.mesa-box input{width:100%;background:transparent;border:0;border-bottom:2px solid var(--fg);border-radius:0;color:var(--fg);font:500 18px var(--sans);padding:8px 0}
.mesa-box input::placeholder{color:var(--muted);opacity:.7}

/* seções */
#categorias{position:sticky;top:0;z-index:20;display:flex;gap:26px;overflow-x:auto;background:var(--bg);margin:0 -20px;padding:0 20px;border-bottom:1.5px solid var(--linha);scrollbar-width:none}
#categorias::-webkit-scrollbar{display:none}
.cat-chip{flex:none;background:none;border:0;border-bottom:3px solid transparent;padding:14px 0 11px;font-weight:700;font-size:16px;color:var(--muted)}
.cat-chip.ativa{color:var(--fg);border-bottom-color:var(--fg)}

/* itens */
#produtos{padding:4px 0 24px}
.produto-card{display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-bottom:1.5px solid var(--linha)}
.produto-imagem{flex:none;width:92px;height:92px;border-radius:4px;overflow:hidden;background:var(--sup)}
.produto-imagem img{display:block;width:100%;height:100%;object-fit:cover}
.produto-conteudo{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}
.produto-conteudo h3{font-size:21px}
.produto-descricao{color:var(--muted);font-size:15px;margin-top:4px}
.estoque-nota{color:var(--muted);font-size:14px;font-weight:500;margin-top:4px}
.produto-linha{display:flex;align-items:center;justify-content:space-between;gap:10px 12px;flex-wrap:wrap}
.produto-preco{font:600 19px var(--serif);color:var(--fg)}
.btn-add{background:var(--btn);color:var(--btn-fg);border:0;border-radius:999px;padding:9px 18px;min-height:44px;font-weight:700;font-size:15px}
.btn-add:disabled{background:transparent;color:var(--muted);border:1.5px solid var(--linha);cursor:not-allowed}
.produto-card.sem-estoque h3,.produto-card.sem-estoque .produto-preco{opacity:.5}
#vazio-produtos{padding:40px 0;color:var(--muted)}

/* barra do pedido */
#cart-bar{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:calc(100% - 32px);max-width:688px;margin:0 auto;display:none;justify-content:space-between;align-items:center;background:var(--btn);color:var(--btn-fg);padding:15px 22px;border:0;border-radius:999px;font-weight:700;z-index:30;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.28)}
#cart-bar.visivel{display:flex}
#cart-bar .qtd{display:inline-grid;place-items:center;min-width:26px;height:26px;margin-right:10px;border-radius:50%;background:var(--btn-fg);color:var(--btn);font-size:14px}

/* painéis (pedido e escolhas) */
#overlay,#agua-overlay,#porcao-overlay,#grupo-overlay{position:fixed;inset:0;background:rgba(20,6,17,.55);opacity:0;pointer-events:none;transition:opacity .2s;z-index:40}
#overlay.visivel,#agua-overlay.visivel,#porcao-overlay.visivel,#grupo-overlay.visivel{opacity:1;pointer-events:auto}
#drawer,#agua-modal,#porcao-modal,#grupo-modal{position:fixed;left:0;right:0;bottom:0;max-width:560px;max-height:88vh;margin:0 auto;display:flex;flex-direction:column;background:var(--bg);color:var(--texto);border-radius:14px 14px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.3);transform:translateY(105%);visibility:hidden;transition:transform .25s,visibility 0s .25s;z-index:50}
#drawer.aberto,#agua-modal.aberto,#porcao-modal.aberto,#grupo-modal.aberto{transform:translateY(0);visibility:visible;transition:transform .25s}
#drawer-head,.opcoes-topo{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px 10px}
#drawer-head h2,.opcoes-topo h2{font-size:26px}
#fechar-drawer,.opcoes-topo button{background:none;border:0;font-size:20px;padding:6px 8px;color:var(--fg)}
#drawer-itens,.opcoes-corpo{flex:1;overflow:auto;padding:4px 22px 12px}
.carrinho-item{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1.5px solid var(--linha)}
.carrinho-item h4{font-size:18px}
.preco-un{color:var(--muted);font-size:14px}
.qtd-controle{display:flex;align-items:center;gap:12px}
.qtd-controle button{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--fg);background:none;color:var(--fg);font-size:18px;line-height:1}
#drawer-rodape,.opcoes-rodape{padding:16px 22px calc(18px + env(safe-area-inset-bottom,0px));border-top:1.5px solid var(--linha)}
.total-linha{display:flex;justify-content:space-between;font:600 20px var(--serif);color:var(--fg);margin-bottom:14px}
.opcoes-rodape{display:flex;gap:12px}
#btn-enviar,#confirmar-opcoes,#confirmar-agua,#confirmar-porcao,#confirmar-grupo,#encerrar-atendimento{width:100%;background:var(--btn);color:var(--btn-fg);border:0;border-radius:999px;padding:14px 22px;font-weight:700;font-size:16px}
.opcoes-rodape button[id^="cancelar"]{flex:0 0 auto;width:auto;background:transparent;color:var(--fg);border:1.5px solid var(--fg);border-radius:999px;padding:14px 22px;font-weight:700}
.opcoes-rodape button[id^="confirmar"]{flex:1}
#btn-enviar:disabled,#confirmar-opcoes:disabled,#confirmar-agua:disabled,#confirmar-porcao:disabled,#confirmar-grupo:disabled,#encerrar-atendimento:disabled{opacity:.45;cursor:not-allowed}
#encerrar-atendimento.cancelar{background:transparent;color:var(--fg);border:1.5px solid var(--fg)}
.opcoes-grupo{margin:14px 0 22px}
.opcoes-grupo h3{font-size:20px}
.opcoes-ajuda{color:var(--muted);font-size:14px;margin:4px 0 0}
.opcoes-grid{display:grid;gap:8px;margin-top:12px}
.opcao-btn,.preferencia-fechamento{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;background:transparent;border:1.5px solid var(--linha);border-radius:8px;padding:13px 16px;font-weight:500;font-size:16px;color:var(--texto)}
.opcao-btn.selecionada,.preferencia-fechamento.selecionada{border-color:var(--fg);background:var(--sup);box-shadow:inset 0 0 0 1px var(--fg);font-weight:700}
.opcao-btn:disabled{opacity:.45;cursor:not-allowed}
.opcao-acrescimo{color:var(--muted);font-size:14px;font-weight:500}

/* Copão: seleção de marca, personalização e preço sempre à vista. */
body.copao-dialogo-aberto{overflow:hidden}
#opcoes-modal{position:fixed;inset:auto 0 0;width:min(100%,600px);max-width:none;max-height:88vh;max-height:min(90dvh,780px);margin:0 auto;overflow:hidden;border:0;border-radius:18px 18px 0 0;background:var(--bg);color:var(--texto);box-shadow:0 -10px 40px rgba(0,0,0,.3)}
#opcoes-modal[open]{display:flex;flex-direction:column}
#opcoes-modal::backdrop{background:rgba(20,6,17,.62)}
.copao-topo{padding:18px 22px 12px;border-bottom:1px solid var(--linha)}
.copao-topo h2{font-size:clamp(25px,6vw,32px)}
.copao-topo button{min-width:44px;min-height:44px}
.copao-sobretitulo{margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.13em}
.copao-corpo{min-height:0;overscroll-behavior:contain;padding-bottom:16px}
.copao-corpo .opcoes-grupo{margin:14px 0 16px}
.copao-corpo .opcoes-grupo h3{font-size:19px}
.copao-marcas,.copao-opcoes{grid-template-columns:repeat(2,minmax(0,1fr))}
.copao-marcas .opcao-btn,.copao-opcoes .opcao-btn{min-height:44px;padding:8px 12px;font-size:14px;line-height:1.3}
.copao-marcas .opcao-btn{flex-wrap:wrap;gap:4px 8px;align-content:center}
.copao-marcas .opcao-btn span:first-child,.copao-opcoes .opcao-btn span:first-child{overflow-wrap:anywhere}
.copao-marcas .opcao-acrescimo,.copao-opcoes .opcao-acrescimo{white-space:nowrap;font-size:12px}
.copao-aviso{margin:10px 0 0}
.copao-recarregar{margin-top:10px;padding:8px 14px;border:1.5px solid var(--fg);border-radius:999px;background:transparent;color:var(--fg);font-weight:700}
.copao-rodape{display:grid;gap:12px;background:var(--sup);padding-top:12px}
.copao-total{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--fg);font-weight:700}
.copao-total small{display:block;color:var(--muted);font-size:12px;font-weight:500}
.copao-total output{font:600 24px var(--serif);white-space:nowrap}
.copao-acoes{display:flex;gap:10px}
.copao-acoes button[id]{min-height:44px;padding:10px 14px;font-size:14px}
@media(min-width:640px){
  #opcoes-modal{inset:0;margin:auto;border-radius:18px;box-shadow:0 16px 60px rgba(0,0,0,.32)}
  .copao-marcas,.copao-opcoes{grid-template-columns:repeat(3,minmax(0,1fr))}
  .copao-opcoes .opcao-btn{flex-wrap:wrap;gap:3px 8px}
}
@media(max-width:420px){.copao-topo,.copao-corpo,.copao-rodape{padding-left:16px;padding-right:16px}.copao-opcoes .opcao-btn{flex-wrap:wrap;gap:3px 8px}}

/* seu pedido e fechamento */
#meus-pedidos{margin-top:28px;padding:36px 0 20px;border-top:2px solid var(--fg)}
#meus-pedidos h2{font-size:32px}
.sub{color:var(--muted);margin-top:4px}
.recibo-rodadas{margin-top:18px}
.recibo-rodada{padding:14px 0;border-bottom:1.5px solid var(--linha)}
.recibo-rodada-topo{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);margin-bottom:6px}
.recibo-status-mini{font-weight:700;color:var(--fg)}
.recibo-item{display:flex;justify-content:space-between;gap:16px;padding:6px 0}
.recibo-item-nome{display:block;font-weight:700}
.recibo-item-meta{display:block;font-size:14px;color:var(--muted)}
.recibo-item-preco{font-weight:700;white-space:nowrap}
.recibo-totais{margin-top:14px}
.recibo-total-linha{display:flex;justify-content:space-between;padding:4px 0}
.recibo-total-geral{font:600 22px var(--serif);color:var(--fg);margin-top:4px}
.status-pedido-bloco{margin-top:26px}
.status-pedido-bloco h3{font-size:20px}
.status-pedido-etapas{display:flex;gap:10px;margin-top:12px}
.status-etapa{flex:1;display:flex;flex-direction:column;gap:2px;padding-top:10px;border-top:3px solid var(--linha);color:var(--muted);font-weight:500}
.status-etapa.tem-pedidos{border-top-color:var(--fg);color:var(--fg);font-weight:700}
.status-etapa small{font-size:13px}
.fechamento-integrado{margin-top:36px;padding-top:26px;border-top:1.5px solid var(--linha)}
.fechamento-integrado h3{font-size:24px}
.fechamento-integrado>p{color:var(--muted);margin-top:4px}
.fechamento-pergunta{margin:18px 0 10px;font-weight:700}
.preferencias-fechamento{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
#status-fechamento{display:none;margin:16px 0;padding:14px 16px;border:1.5px solid var(--fg);border-radius:8px}
#status-fechamento.visivel{display:block}
#encerrar-atendimento{margin-top:18px}
.fechamento-nota{color:var(--muted);font-size:14px;margin-top:12px}

/* aviso */
#toast{position:fixed;left:16px;right:16px;top:calc(14px + env(safe-area-inset-top,0px));max-width:520px;margin:0 auto;background:var(--fg);color:var(--bg);padding:14px 18px;border-radius:8px;font-weight:700;text-align:center;transform:translateY(-170%);transition:transform .25s;z-index:80}
#toast.visivel{transform:translateY(0)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
