/* Bené da Flauta · cardápio digital (complementa site.css) */

.idiomas { display: inline-flex; border: 1px solid rgba(255,255,255,.35); border-radius: 2px; overflow: hidden; }
.idiomas button { min-width: 44px; min-height: 40px; background: transparent; color: var(--branco); border: 0; font: 700 var(--t-xs)/1 var(--serif); letter-spacing: .1em; cursor: pointer; }
.idiomas button + button { border-left: 1px solid rgba(255,255,255,.25); }
.idiomas button[aria-pressed="true"] { background: var(--ouro); color: var(--verde); }

.cardapio-cabeca { background: var(--verde); color: var(--branco); position: sticky; top: calc(env(safe-area-inset-top, 0px) + 60px); z-index: 40; box-shadow: 0 8px 18px -14px rgba(0,0,0,.6); }
.cardapio-cabeca h1 { font-size: var(--t-l); padding-top: 10px; }
@media (min-width: 600px) { .cardapio-cabeca h1 { font-size: var(--t-xl); padding-top: 14px; } }
.secoes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 12px; border-bottom: 1px solid rgba(255,255,255,.18); }
.secoes button { min-height: 46px; background: none; border: 0; border-bottom: 3px solid transparent; color: var(--menta); font: 400 var(--t-m)/1 var(--serif); cursor: pointer; }
.secoes button[aria-pressed="true"] { color: var(--branco); border-color: var(--ouro); }
.chips { overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
.chips::-webkit-scrollbar { display: none; }
.chips__trilho { display: flex; gap: 8px; padding-block: 10px; width: max-content; min-width: 100%; max-width: none; }
.chips a { flex: none; display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border: 1px solid rgba(200,239,231,.4); color: var(--menta); text-decoration: none; font-size: var(--t-s); border-radius: 18px; white-space: nowrap; }
.chips a[aria-current="true"] { background: var(--menta); color: var(--verde); border-color: var(--menta); }

.cardapio { padding-block: 20px 48px; }
#conteudo { min-height: 100vh; } /* reserva espaço enquanto o cardápio carrega (evita deslocamento de layout) */
.busca { position: relative; margin-bottom: 10px; }
.busca svg { position: absolute; left: 14px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); color: var(--tinta-suave); }
.busca input { width: 100%; min-height: 48px; padding: 10px 14px 10px 44px; font: 16px/1.3 var(--serif); border: 1px solid #6B7F78; border-radius: 2px; background: var(--branco); color: var(--tinta); }
.busca input:focus { outline: 3px solid var(--verde); outline-offset: 1px; border-color: var(--verde); }
.legenda { font-size: var(--t-xs); color: var(--tinta-suave); display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; margin-bottom: 8px; }
.legenda span { display: inline-flex; align-items: center; gap: 6px; }

.categoria { padding-top: 28px; scroll-margin-top: 230px; }
.categoria > h2 { font-size: var(--t-l); color: var(--verde); display: flex; align-items: center; gap: 12px; }
.categoria > h2::before { content: ""; width: 30px; height: 18px; flex: none; background: url("../brand/ornamento-esq.svg?v=04ce0c84") center / contain no-repeat; }
.categoria__nota { font-size: var(--t-s); color: var(--tinta-suave); margin-top: 6px; font-style: italic; }
.grupo { font-size: var(--t-xs); letter-spacing: .16em; text-transform: uppercase; color: var(--tinta-suave); margin: 18px 0 2px; padding-bottom: 4px; border-bottom: 1px solid var(--linha); }
.itens { list-style: none; margin: 8px 0 0; padding: 0; }
.item { display: grid; grid-template-columns: 1fr auto; gap: 2px 14px; padding-block: 14px; border-bottom: 1px solid var(--linha); }
.item__nome { font-size: 1.125rem; line-height: 1.3; color: var(--verde); display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; min-width: 0; }
.item__preco { font-weight: 700; color: var(--verde); font-variant-numeric: tabular-nums; white-space: nowrap; }
.item__preco small { font-weight: 400; font-size: var(--t-xs); color: var(--tinta-suave); margin-right: 3px; }
.item__desc, .item__det { grid-column: 1 / -1; font-size: var(--t-s); color: var(--tinta-suave); line-height: 1.5; }
.item__det { font-style: italic; }
.folha { display: inline-block; width: 18px; height: 18px; flex: none; vertical-align: -3px; }
.selo-v { font-size: .6875rem; letter-spacing: .06em; text-transform: uppercase; padding: 2px 7px; border: 1px solid var(--verde); color: var(--verde); border-radius: 10px; font-weight: 700; }
.vazio, .carregando { padding: 28px 0; color: var(--tinta-suave); }
mark { background: rgba(249,183,21,.35); color: inherit; padding: 0 1px; }


@media (min-width: 900px) {
  .cardapio-cabeca { top: calc(env(safe-area-inset-top, 0px) + 72px); }
  .categoria { scroll-margin-top: 250px; }
  .itens { column-count: 2; column-gap: 48px; }
  .item { break-inside: avoid; }
  .cardapio { max-width: 64rem; }
}
@media (min-width: 900px) { .chips__trilho { padding-left: max(16px, calc((100vw - var(--max)) / 2 + 16px)); } }
.rodape-cardapio { margin-top: 40px; }
/* Botão de voltar à página inicial, no canto superior esquerdo */
.voltar { display: inline-flex; align-items: center; gap: 4px; min-height: 40px; padding: 0 10px 0 4px; margin-left: -4px; color: var(--branco); text-decoration: none; font: 700 var(--t-xs)/1 var(--serif); letter-spacing: .1em; text-transform: uppercase; flex: none; border-radius: 2px; }
.voltar svg { width: 22px; height: 22px; }
.voltar:hover { color: var(--ouro); }
.voltar:focus-visible { outline: 2px solid var(--ouro); outline-offset: 2px; }
.pagina-cardapio .topo .idiomas { margin-left: auto; flex: none; }
@media (max-width: 480px) {
  .voltar span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .voltar { padding-right: 2px; }
  .pagina-cardapio .topo__marca { width: 112px; }
  .pagina-cardapio .idiomas button { min-width: 36px; }
}
@media (max-width: 359px) { .pagina-cardapio .idiomas button { min-width: 32px; } .pagina-cardapio .topo__marca { width: 100px; } }
