/* Cardápios Digitais — painel */
:root{--acento:#e8492b;--acento2:#c73a20;--fundo:#f4f5f7;--cartao:#fff;--texto:#16181d;--texto2:#626773;--linha:#e6e8ec;
  --verde:#15803d;--verde-f:#e8f6ee;--amarelo:#a16207;--amarelo-f:#fef6dc;--azul:#1d4ed8;--azul-f:#e8efff;--vermelho:#b42318;--vermelho-f:#fdecec;
  --raio:14px;--sombra:0 1px 2px rgba(16,24,40,.05),0 4px 14px rgba(16,24,40,.05);--fonte:'Jakarta',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--fundo);color:var(--texto);font:14.5px/1.45 var(--fonte)}
a{color:inherit}
button{font:inherit;cursor:pointer}
[hidden]{display:none!important}
h1{font-size:22px;margin:0;letter-spacing:-.01em}
h2{font-size:17px;margin:0 0 12px}
.moldura{display:grid;grid-template-columns:232px 1fr;min-height:100vh}
.lateral{background:#12141a;color:#c9ccd4;padding:18px 12px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px}
.lateral .logo-plat{display:flex;align-items:center;gap:10px;padding:4px 10px 18px;color:#fff;font-weight:800;text-decoration:none}
.lateral a.item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;text-decoration:none;font-weight:600}
.lateral a.item:hover{background:#1d2029;color:#fff}
.lateral a.item.ativo{background:#262a35;color:#fff}
.lateral a.item .ic{opacity:.85}
.coluna h3 .ic{color:var(--texto2)}
.botao .ic{flex:none}
.lateral .grupo-menu{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b7180;padding:12px 12px 4px}
.lateral{overflow-y:auto}
.lateral .rodape-lateral{margin-top:auto;font-size:12.5px;padding:10px;border-top:1px solid #262a35}
.lateral .rodape-lateral button{background:none;border:0;color:#9aa0ab;padding:0;text-decoration:underline}
.principal{min-width:0}
.topo{display:flex;align-items:center;gap:12px;padding:12px 24px;background:var(--cartao);border-bottom:1px solid var(--linha);position:sticky;top:0;z-index:10}
.topo .loja-nome{font-weight:800;font-size:15.5px;display:flex;align-items:center;gap:10px;min-width:0}
.topo .loja-nome img{width:34px;height:34px;border-radius:9px;object-fit:cover}
.topo .espaco{flex:1}
.conteudo{padding:22px 24px 90px;max-width:1400px}
.cabeca{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.cabeca .espaco{flex:1}
.cartao{background:var(--cartao);border-radius:var(--raio);box-shadow:var(--sombra);padding:18px;margin-bottom:16px}
.botao{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;border-radius:10px;border:1px solid var(--linha);background:#fff;font-weight:700;text-decoration:none;color:var(--texto);white-space:nowrap}
.botao:hover{background:#f7f8fa}
.botao.primario{background:var(--acento);border-color:var(--acento);color:#fff}
.botao.primario:hover{background:var(--acento2)}
.botao.verde{background:var(--verde);border-color:var(--verde);color:#fff}
.botao.perigo{color:var(--vermelho);border-color:#f3c6c1}
.botao.pequeno{padding:6px 10px;font-size:13px;border-radius:8px}
.botao:disabled{opacity:.5;cursor:not-allowed}
.aviso{padding:11px 14px;border-radius:12px;margin-bottom:16px;font-weight:600}
.aviso.ok{background:var(--verde-f);color:var(--verde)}
.aviso.erro{background:var(--vermelho-f);color:var(--vermelho)}
.selo{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700;background:var(--fundo);color:var(--texto2);white-space:nowrap}
.selo.verde{background:var(--verde-f);color:var(--verde)}.selo.amarelo{background:var(--amarelo-f);color:var(--amarelo)}
.selo.azul{background:var(--azul-f);color:var(--azul)}.selo.vermelho{background:var(--vermelho-f);color:var(--vermelho)}
.selo.cinza{background:#eef0f3;color:#626773}
label.campo{display:block;margin-bottom:14px}
label.campo > span{display:block;font-weight:700;font-size:13px;margin-bottom:5px}
label.campo small{font-weight:500;color:var(--texto2)}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=date],input[type=search],input:not([type]),select,textarea{
  width:100%;padding:9px 11px;border:1px solid #d6d9df;border-radius:10px;font:inherit;background:#fff;color:var(--texto)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--acento);box-shadow:0 0 0 3px rgba(232,73,43,.12)}
.grade{display:grid;gap:14px}
.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:760px){.g2,.g3,.g4{grid-template-columns:1fr}}
.check{display:flex;align-items:center;gap:9px;font-weight:600;margin-bottom:10px;cursor:pointer}
.check input{width:18px;height:18px;accent-color:var(--acento)}
table.tabela{width:100%;border-collapse:collapse}
.tabela th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--texto2);padding:9px 10px;border-bottom:1px solid var(--linha);white-space:nowrap}
.tabela td{padding:10px;border-bottom:1px solid var(--linha);vertical-align:middle}
.tabela tr:last-child td{border-bottom:0}
.tabela .num{text-align:right;white-space:nowrap}
.rolagem-x{overflow-x:auto}
.abas{display:flex;gap:4px;border-bottom:1px solid var(--linha);margin-bottom:18px;overflow-x:auto}
.abas a{padding:10px 14px;text-decoration:none;font-weight:700;color:var(--texto2);border-bottom:2px solid transparent;white-space:nowrap}
.abas a.ativa{color:var(--acento);border-color:var(--acento)}
.vazio{text-align:center;color:var(--texto2);padding:30px}
.paginacao{display:flex;gap:6px;justify-content:center;margin-top:14px}
.situacao-loja{display:flex;align-items:center;gap:8px}
.situacao-loja select{width:auto;padding:7px 10px;font-weight:700}
.indicadores{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:16px}
.indicador{background:var(--cartao);border-radius:var(--raio);box-shadow:var(--sombra);padding:16px}
.indicador small{color:var(--texto2);font-weight:600;display:block}
.indicador strong{font-size:23px;letter-spacing:-.02em;display:block;margin-top:2px}
.indicador .var{font-size:12.5px;font-weight:700}
.var{display:inline-flex;align-items:center;gap:2px}.var.sobe{color:var(--verde)}.var.desce{color:var(--vermelho)}
.barras{display:flex;align-items:flex-end;gap:3px;height:170px;padding-top:10px}
.barras div{flex:1;background:var(--acento);border-radius:5px 5px 0 0;min-height:2px;position:relative;opacity:.85}
.barras div:hover{opacity:1}
.eixo{display:flex;gap:3px;font-size:10.5px;color:var(--texto2);margin-top:4px}
.eixo span{flex:1;text-align:center;overflow:hidden;white-space:nowrap}
.lista-barra{display:grid;gap:9px}
.lista-barra .lb{display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:13.5px}
.lista-barra .lb i{grid-column:1/-1;height:7px;border-radius:9px;background:var(--fundo);overflow:hidden}
.lista-barra .lb i b{display:block;height:100%;background:var(--acento);border-radius:9px}
.nav-inferior{display:none}
@media (max-width:900px){
  .moldura{grid-template-columns:1fr}
  .lateral{display:none}
  .topo{padding:10px 14px}
  .conteudo{padding:16px 14px 96px}
  .nav-inferior{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;background:#12141a;padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  .nav-inferior a{flex:1;text-align:center;color:#9aa0ab;text-decoration:none;font-size:11px;font-weight:700;padding:6px 0;border-radius:10px}
  .nav-inferior a .ic{margin:0 auto 3px}
  .nav-inferior a.ativo{color:#fff;background:#262a35}
  .topo .ver-cardapio{display:none}
}

/* ---------- pedidos (quadro) ---------- */
.quadro{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:14px;align-items:start}
@media (max-width:1100px){.quadro{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.quadro{grid-template-columns:1fr}}
.coluna{background:#eceef2;border-radius:16px;padding:10px;min-height:120px}
.coluna h3{margin:2px 4px 10px;font-size:14px;display:flex;align-items:center;gap:8px}
.coluna h3 .n{background:#fff;border-radius:999px;padding:1px 9px;font-size:12px}
.pcard{background:#fff;border-radius:12px;padding:12px;margin-bottom:9px;box-shadow:var(--sombra);cursor:pointer;border-left:4px solid transparent;transition:transform .1s}
.pcard:hover{transform:translateY(-1px)}
.pcard.novo{border-left-color:var(--acento);animation:chama 1.4s ease 3}
@keyframes chama{50%{box-shadow:0 0 0 4px rgba(232,73,43,.25)}}
.pcard .l1{display:flex;justify-content:space-between;gap:8px;font-weight:800}
.pcard .l2{color:var(--texto2);font-size:13px;margin-top:3px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pcard .tempo.atraso{color:var(--vermelho);font-weight:800}
.gaveta{position:fixed;inset:0;z-index:40;display:flex;justify-content:flex-end}
.gaveta-fundo{position:absolute;inset:0;background:rgba(10,12,18,.45)}
.gaveta-caixa{position:relative;width:min(520px,100%);height:100%;background:#fff;display:flex;flex-direction:column;animation:entra .2s ease}
@keyframes entra{from{transform:translateX(30px);opacity:.4}}
.gaveta-cabeca{padding:16px 18px;border-bottom:1px solid var(--linha);display:flex;align-items:center;gap:10px}
.gaveta-corpo{padding:16px 18px;overflow-y:auto;flex:1}
.gaveta-rodape{padding:12px 18px;border-top:1px solid var(--linha);display:flex;gap:8px;flex-wrap:wrap}
.it{padding:10px 0;border-bottom:1px solid var(--linha)}
.it:last-child{border-bottom:0}
.it .op{color:var(--texto2);font-size:13px}
.it .obs{background:var(--amarelo-f);color:#7a4d00;border-radius:8px;padding:4px 8px;font-size:13px;margin-top:5px;display:inline-block}
.bloco{background:var(--fundo);border-radius:12px;padding:12px;margin:12px 0}
.bloco b{display:block;margin-bottom:3px}
.totais .lt{display:flex;justify-content:space-between;padding:3px 0;color:var(--texto2)}
.totais .lt.g{color:var(--texto);font-weight:800;font-size:16px}
.alerta-som{position:fixed;left:50%;top:14px;transform:translateX(-50%);z-index:60;background:#12141a;color:#fff;padding:10px 16px;border-radius:12px;font-weight:700;box-shadow:var(--sombra)}

/* ---------- cardápio ---------- */
.cat-bloco{margin-bottom:18px}
.cat-bloco > h2{display:flex;align-items:center;gap:8px}
.prod-linha{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--linha)}
.prod-linha:last-child{border-bottom:0}
.prod-linha img,.prod-linha .sem-foto{width:52px;height:52px;border-radius:10px;object-fit:cover;background:var(--fundo);flex:none}
.prod-linha .info{flex:1;min-width:0}
.prod-linha .info a{font-weight:700;text-decoration:none}
.prod-linha .info small{display:block;color:var(--texto2)}
.prod-linha .acoes{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.prod-linha.oculto .info,.prod-linha.oculto img{opacity:.45}
.seg{display:inline-flex;border:1px solid var(--linha);border-radius:10px;overflow:hidden}
.seg button{border:0;background:#fff;padding:6px 10px;font-size:12.5px;font-weight:700;color:var(--texto2)}
.seg button+button{border-left:1px solid var(--linha)}
.seg button.on.visivel{background:var(--verde-f);color:var(--verde)}
.seg button.on.esgotado{background:var(--amarelo-f);color:var(--amarelo)}
.seg button.on.oculto{background:#eef0f3;color:#40444d}
.opcoes-rapidas{padding:8px 12px 12px 76px;display:flex;flex-wrap:wrap;gap:6px}
.opcoes-rapidas button{border:1px solid var(--linha);background:#fff;border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:600}
.opcoes-rapidas button.esgotado{background:var(--amarelo-f);border-color:#f3d98b;color:var(--amarelo);text-decoration:line-through}
.editor-grupo{border:1px solid var(--linha);border-radius:12px;padding:12px;margin-bottom:12px;background:#fcfcfd}
.editor-grupo .topo-grupo{display:grid;grid-template-columns:1fr 90px 90px auto;gap:8px;align-items:end}
.editor-opcao{display:grid;grid-template-columns:1fr 110px 80px 120px auto;gap:6px;margin-top:6px;align-items:center}
@media (max-width:760px){.editor-grupo .topo-grupo{grid-template-columns:1fr 1fr}.editor-opcao{grid-template-columns:1fr 1fr}}
.mini{font-size:11.5px;color:var(--texto2);font-weight:600}
.foto-atual{width:160px;height:120px;border-radius:12px;object-fit:cover;background:var(--fundo)}
.linha-cat{display:grid;grid-template-columns:auto auto 1fr auto auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--linha)}
.linha-cat .mover{display:flex;flex-direction:column}
.linha-cat .mover button{border:0;background:none;padding:0 4px;line-height:1;color:var(--texto2)}
.dia-hor{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--linha);align-items:start}
.faixa{display:flex;gap:6px;align-items:center;margin-bottom:6px}
.faixa input{width:110px}
.bairro-linha,.pag-linha{display:grid;grid-template-columns:1fr 130px auto auto;gap:8px;align-items:center;margin-bottom:6px}
.pag-linha{grid-template-columns:1fr 150px auto auto}
@media (max-width:620px){.bairro-linha,.pag-linha{grid-template-columns:1fr 100px auto auto}}
/* login: foto de pratos (Unsplash 1504674900247, licença Unsplash: uso comercial livre) escurecida em tom quente, zoom lento */
.entrar{min-height:100vh;display:grid;place-items:center;align-content:center;gap:18px;padding:20px;background:#1b120e}
.entrar::before{content:"";position:fixed;inset:-3%;z-index:-2;background:url(/assets/site/login-fundo.webp?v=1) center/cover;animation:entrar-zoom 40s ease-in-out infinite alternate}
.entrar::after{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(620px 420px at 50% 42%,rgba(232,73,43,.28),transparent 70%),linear-gradient(180deg,rgba(18,10,6,.58),rgba(18,10,6,.8))}
@media (max-width:700px){.entrar::before{background-image:url(/assets/site/login-fundo-m.webp?v=1)}}
@keyframes entrar-zoom{from{transform:scale(1)}to{transform:scale(1.08)}}
@keyframes entrar-sobe{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.entrar .cartao{box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.08);border-radius:20px;animation:entrar-sobe .6s cubic-bezier(.22,1,.36,1) both}
.entrar .rodape-entrar{color:rgba(255,255,255,.78);font-size:14px;text-align:center;animation:entrar-sobe .6s cubic-bezier(.22,1,.36,1) .15s both}
.entrar .rodape-entrar a{color:#fff;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.entrar .rodape-entrar a:hover{border-color:#fff}
@media (prefers-reduced-motion:reduce){.entrar::before,.entrar .cartao,.entrar .rodape-entrar{animation:none}}
.entrar .cartao{width:100%;max-width:380px;padding:28px}
.entrar .marca{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;margin-bottom:18px}

.botao-icone{width:44px;height:44px;border-radius:12px;border:1px solid var(--linha);background:#fff;display:grid;place-items:center;color:var(--acento)}
.botao-icone:hover{border-color:var(--acento)}
.escolha-icone{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;padding:12px;margin:6px 0 10px;background:var(--fundo);border-radius:14px}
.escolha-icone button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border:1px solid transparent;border-radius:12px;background:#fff;font-size:11px;font-weight:600;color:var(--texto2)}
.escolha-icone button .ic{color:var(--texto)}
.escolha-icone button:hover,.escolha-icone button.on{border-color:var(--acento);color:var(--acento)}
.escolha-icone button.on .ic{color:var(--acento)}

.faixa-plano{display:flex;align-items:center;gap:10px;padding:9px 24px;font-weight:700;font-size:14px}
.faixa-plano span{flex:1}
.faixa-plano.suave{background:#fff4ec;color:#9a3412}
.faixa-plano.forte{background:var(--vermelho-f);color:var(--vermelho)}
@media (max-width:900px){.faixa-plano{padding:9px 14px}}
.passos-lista{display:grid;gap:10px}
.passo-item{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--linha);border-radius:14px;text-decoration:none;background:#fff;transition:border-color .15s,box-shadow .15s}
.passo-item:hover{border-color:var(--acento);box-shadow:var(--sombra)}
.passo-item .pi-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#fff1ec;color:var(--acento);flex:none}
.passo-item.feito .pi-ic{background:var(--verde-f);color:var(--verde)}
.passo-item .pi-texto{flex:1;min-width:0}
.passo-item .pi-texto b{display:block}
.passo-item .pi-texto small{color:var(--texto2)}
.passo-item.feito .pi-texto b{text-decoration:line-through;color:var(--texto2)}
.barra-progresso{height:10px;border-radius:9px;background:var(--fundo);overflow:hidden;margin:10px 0 18px}
.barra-progresso b{display:block;height:100%;background:linear-gradient(90deg,var(--acento),#ff8a70);border-radius:9px;transition:width .4s}
.qr-caixa{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.qr-caixa #qr{background:#fff;padding:10px;border-radius:14px;border:1px solid var(--linha)}
.qr-caixa #qr svg{display:block;width:170px;height:170px}
.link-copiar{display:flex;gap:6px;margin:10px 0}
.link-copiar input{font-weight:700}

.chamados{display:grid;gap:8px;margin-bottom:14px}
.chamado{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:#fff7e6;border:1px solid #f6d58e;color:#7a4d00;animation:chama 1.4s ease 3}
.chamado.conta{background:#e8f6ee;border-color:#a7dfbf;color:#0f5f33}
.chamado span{flex:1}
.tag-mesa{display:inline-block;padding:1px 8px;border-radius:7px;background:var(--acento);color:#fff;font-size:12.5px}

.link-ajuda{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:var(--acento);text-decoration:none;font-size:13.5px}
.link-ajuda:hover{text-decoration:underline}
.lateral .logo-plat .logo-vivo{height:58px;--ciclo:14s}
.entrar .marca .logo-vivo{height:72px;margin:0 auto}
@media (max-width:899px),(pointer:coarse){.so-computador{display:none!important}}
.modo-whats{gap:6px;padding-right:6px}
.modo-whats select{border:0;background:transparent;font:inherit;font-weight:600;color:inherit;cursor:pointer;padding:2px 4px;outline:none}

/* ---------- celular (≤900px): menu "Mais", topo compacto, tabelas em cartões, listas empilhadas ---------- */
.nav-inferior button{background:none;border:0;font:inherit}
.menu-mais{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;justify-content:flex-end}
.menu-mais-fundo{position:absolute;inset:0;background:rgba(10,12,18,.5)}
.menu-mais-caixa{position:relative;background:#fff;border-radius:20px 20px 0 0;padding:14px 14px calc(16px + env(safe-area-inset-bottom));max-height:88vh;overflow-y:auto;animation:sobe-mais .2s ease}
@keyframes sobe-mais{from{transform:translateY(30px);opacity:.5}}
.menu-mais-cabeca{display:flex;align-items:center;gap:10px;padding:2px 2px 12px}
.menu-mais-cabeca div{flex:1;min-width:0}
.menu-mais-cabeca small{display:block;color:var(--texto2);font-weight:600}
.menu-mais-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.menu-mais-grade a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:84px;padding:10px 6px;border-radius:14px;background:var(--fundo);text-decoration:none;font-weight:700;font-size:13px;text-align:center;line-height:1.2}
.menu-mais-grade a .ic{color:var(--acento)}
.menu-mais-grade a.ativo{background:#fff1ec;color:var(--acento2);box-shadow:inset 0 0 0 1.5px var(--acento)}
.menu-mais-grade a small{display:block;font-size:11.5px;color:var(--texto2)}
body.sem-rolagem{overflow:hidden}
@media (min-width:901px){.menu-mais{display:none!important}}

@media (max-width:900px){
  .nav-inferior a,.nav-inferior button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;min-width:0;color:#9aa0ab;font-size:11px;font-weight:700;padding:7px 2px;border-radius:10px;text-decoration:none}
  .nav-inferior a .ic,.nav-inferior button .ic{margin:0}
  .nav-inferior span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .nav-inferior .ativo{color:#fff;background:#262a35}
  .topo{gap:8px;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top))}
  .topo .espaco{display:none}
  .topo .loja-nome{flex:1;font-size:14.5px;gap:8px}
  .topo .loja-nome img{width:30px;height:30px;flex:none}
  .loja-nome-texto{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .situacao-loja{gap:6px;flex:none}
  .situacao-loja select{padding:6px 26px 6px 8px;font-size:13px;max-width:150px}
  .faixa-plano{flex-wrap:wrap;gap:6px 10px;font-size:13.5px}
  .faixa-plano span{flex:1 1 180px}
  h1{font-size:20px}
  .cabeca{gap:8px;margin-bottom:14px}
  .cabeca input[type=search]{flex:1 1 100%;max-width:none!important;order:5}
  .cartao{padding:14px}
  /* iOS aumenta o zoom ao focar campo com letra menor que 16px */
  input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=date],input[type=search],input[type=time],input:not([type]),select,textarea{font-size:16px}
  .gaveta-rodape{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .gaveta-rodape .botao{flex:1 1 auto}
}

/* tabelas viram cartões (rótulos vêm do cabeçalho, via painel.js) */
@media (max-width:700px){
  .rolagem-x{overflow-x:visible}
  table.tabela,.tabela tbody,.tabela tr,.tabela td{display:block;width:100%}
  .tabela tr:has(> th){display:none}
  .tabela tr{padding:12px 0;border-bottom:1px solid var(--linha)}
  .tabela tr:first-child + tr{padding-top:4px}
  .tabela tr:last-child{border-bottom:0}
  .tabela td{border:0!important;padding:3px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:right;white-space:normal!important}
  .tabela td::before{content:attr(data-label);flex:none;font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--texto2);text-align:left}
  .tabela td:first-child{display:block;text-align:left;font-size:15px;padding-bottom:6px}
  .tabela td:first-child::before,.tabela td[data-label=""]::before{display:none}
  .tabela td[data-label=""]{justify-content:flex-start;flex-wrap:wrap;padding-top:8px}
  .tabela td.vazio{display:block;text-align:center}
  .tabela td.vazio::before{display:none}
  .tabela .td-v{min-width:0}
  .tabela td[data-label=""] .td-v{display:flex;flex-wrap:wrap;gap:6px}
  .tabela td form{display:inline-flex!important;flex-wrap:wrap;gap:4px}
  .tabela td select{width:auto}
}

/* cardápio: foto + nome em cima, controles embaixo */
@media (max-width:700px){
  .prod-linha{flex-wrap:wrap;align-items:flex-start;padding:12px 14px;gap:10px 12px}
  .prod-linha .info{flex:1 1 0}
  .prod-linha .info a,.prod-linha .info b{font-size:15px}
  .prod-linha .acoes{flex:1 1 100%;justify-content:flex-start;gap:6px}
  .prod-linha .acoes .seg{order:-1;flex:1 1 100%;display:flex}
  .prod-linha .acoes .seg button{flex:1;padding:9px 4px}
  .prod-linha .acoes .mover{display:inline-flex;gap:6px;margin-right:auto}
  .prod-linha .acoes .botao.pequeno{padding:8px 11px}
  .opcoes-rapidas{padding:0 14px 12px}
  .cat-bloco > h2{flex-wrap:wrap}
}

/* horários, bairros e formas de pagamento */
@media (max-width:620px){
  .dia-hor{grid-template-columns:1fr;gap:6px}
  .faixa input{width:auto;flex:1;min-width:0}
  .bairro-linha,.pag-linha{grid-template-columns:1fr auto auto;padding:10px 0;margin:0;border-bottom:1px solid var(--linha)}
  .bairro-linha > input[data-c=nome],.pag-linha > input[data-c=nome]{grid-column:1/-1}
  .editor-opcao{padding:8px 0;border-bottom:1px dashed var(--linha)}
  .foto-atual{width:100%;height:auto;aspect-ratio:4/3}
}

/* celular: cada item vira um cartão próprio, com espaço entre eles (em vez de só uma linha fina) */
@media (max-width:700px){
  /* listas em tabela: o cartão de fora some, cada linha é um cartão branco sobre o fundo cinza */
  .cartao:has(table.tabela){background:transparent;box-shadow:none;padding:0}
  .cartao:has(table.tabela) > h2,.cartao:has(table.tabela) > p{padding:0 2px}
  .tabela tr,.tabela tr:first-child + tr{background:#fff;border:1px solid var(--linha)!important;border-radius:16px;box-shadow:var(--sombra);padding:14px 16px;margin-bottom:12px}
  .tabela tr:has(> td.vazio){padding:0}
  .tabela td:first-child{padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid var(--linha)!important}
  .tabela td + td{padding:8px 0}
  .tabela td + td + td{border-top:1px dashed #e3e5ea!important}
  .tabela td[data-label=""]{border-top:1px solid var(--linha)!important;margin-top:4px;padding-top:12px}
  .paginacao{margin:4px 0 8px}

  /* cardápio: categoria vira título de seção, cada produto um cartão */
  .cat-bloco{background:transparent;box-shadow:none;padding:0!important;margin-bottom:26px}
  .cat-bloco > h2{padding:0 2px 10px!important;margin:0;font-size:18px}
  .cat-bloco > h2 .botao{background:#fff}
  .prod-linha{background:#fff;border:1px solid var(--linha);border-radius:16px;box-shadow:var(--sombra);margin-bottom:12px}
  .prod-linha:last-child{border-bottom:1px solid var(--linha)}
  .prod-linha img,.prod-linha .sem-foto{width:60px;height:60px;border-radius:12px}
  .prod-linha .acoes .seg{margin-top:2px}
  .opcoes-rapidas{background:#fff;border:1px solid var(--linha);border-radius:14px;margin:-6px 0 12px;padding:12px}
  .cat-bloco .vazio{background:#fff;border-radius:16px;border:1px dashed #d6d9df}
}
@media (max-width:620px){
  /* horários, bairros, pagamentos e categorias: cada linha num bloco cinza-claro */
  .dia-hor,.bairro-linha,.pag-linha,.linha-cat{background:var(--fundo);border:1px solid var(--linha)!important;border-radius:14px;padding:12px;margin-bottom:10px}
  .dia-hor > b{font-size:15px}
  .bairro-linha,.pag-linha{gap:8px}
  .linha-cat{padding:10px}
  .editor-grupo{border-width:1.5px;padding:14px;background:#fff;box-shadow:var(--sombra)}
  .editor-opcao[data-o]{background:var(--fundo);border:0;border-radius:12px;padding:10px;margin-top:8px}
}
.faixa input[type=time]{padding:9px 10px;border:1px solid #d6d9df;border-radius:10px;font:inherit;background:#fff;color:var(--texto)}
@media (max-width:620px){.faixa input[type=time]{font-size:16px;padding:9px 8px}}

/* ---------- foto do produto: galeria pronta ou foto própria ---------- */
.foto-quadro{position:relative;border-radius:14px;overflow:hidden;background:var(--fundo);aspect-ratio:4/3;max-width:420px}
.foto-quadro .foto-atual{width:100%;height:100%;border-radius:0;display:block;object-fit:cover}
.foto-quadro.vazio{border:2px dashed #d6d9df}
.foto-vazia{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--texto2);font-weight:700}
.selo-ilustrativa{position:absolute;left:10px;bottom:10px;background:rgba(18,20,26,.72);color:#fff;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;backdrop-filter:blur(4px)}
.foto-botoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.foto-botoes > *{flex:1 1 170px}
.foto-botoes label.botao{cursor:pointer}
.sugestoes-galeria{margin-top:14px;padding-top:12px;border-top:1px solid var(--linha)}
.sug-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-auto-rows:max-content;gap:8px;margin-top:8px}
.gal-item{display:flex;flex-direction:column;gap:5px;padding:0;border:2px solid transparent;border-radius:12px;background:none;text-align:left;font-size:12px;font-weight:600;color:var(--texto);min-width:0}
.gal-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;background:var(--fundo);display:block}
.gal-item span{padding:0 3px 3px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.gal-item:hover img{outline:2px solid var(--acento);outline-offset:-2px}
.gal-item.on{border-color:var(--acento)}
.galeria-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px}
.galeria-fundo{position:absolute;inset:0;background:rgba(10,12,18,.55)}
.galeria-caixa{position:relative;background:#fff;border-radius:20px;width:min(980px,100%);max-height:100%;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.3)}
.galeria-cabeca{display:flex;align-items:center;gap:10px;padding:16px 18px 10px}
.galeria-filtros{display:grid;grid-template-columns:1fr 240px;gap:8px;padding:0 18px 12px;border-bottom:1px solid var(--linha)}
/* grid-auto-rows:max-content: com muitas fotos a grade rola; sem isso as linhas encolhiam para caber e cada foto virava uma tira */
.galeria-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-auto-rows:max-content;gap:12px;padding:16px 18px;overflow-y:auto;flex:1;min-height:0;align-content:start}
.galeria-rodape{margin:0;padding:10px 18px 14px;border-top:1px solid var(--linha)}
@media (max-width:700px){
  .galeria-modal{padding:0;align-items:flex-end}
  .galeria-caixa{border-radius:20px 20px 0 0;height:92vh;max-height:92vh}
  .galeria-filtros{grid-template-columns:1fr}
  .galeria-grade{grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 14px}
  .galeria-rodape{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .foto-quadro{max-width:none}
}
/* cardápio de exemplo (Primeiros passos / cardápio vazio) */
.exemplo-cartao{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:linear-gradient(135deg,#fff4ec,#fff 70%);border:1px solid #fbd9c9}
.exemplo-cartao .ex-fotos{display:flex;flex:none}
.exemplo-cartao .ex-fotos img{width:58px;height:58px;border-radius:14px;object-fit:cover;border:3px solid #fff;box-shadow:var(--sombra);margin-left:-14px}
.exemplo-cartao .ex-fotos img:first-child{margin-left:0}
.exemplo-cartao .ex-texto{flex:1 1 240px;min-width:0}
.exemplo-cartao .ex-texto b{display:block;font-size:16px;margin-bottom:2px}
.exemplo-cartao .ex-texto small{color:var(--texto2)}
.exemplo-cartao form{flex:none}
