/* Casa Fabri — site público
   Segue estritamente o Brand Guidelines oficial (design system "Casa Fabri", tokens.json v2).
   Cores: só a paleta oficial e suas escalas. Tipos e tamanhos: só os estilos do brand book.
   Fontes do brand book → substitutas livres mais parecidas (comparação de formas, 21/10/2026):
     The Seasons → Gilda Display (títulos)   Brother 1816 → Figtree (texto)
     Mrs Eaves → Baskervville itálico (preços) PF Reminder → Kalam (só pequenos acentos)
   Todas com licença SIL OFL, hospedadas no próprio site (assets/fonts, sem Google Fonts). */
:root{
  /* cores — tokens oficiais */
  --verde-900:#142F0C; --verde-700:#294023; --verde-500:#3C5E33; --verde-100:#C9D3B3;
  --terracota-900:#A13807; --terracota-700:#C0450B; --terracota-500:#D2571D;
  --amarelo-900:#DF9300; --amarelo-700:#F2AA00;
  --rosa-500:#F2CCCC;
  --creme-900:#E5D8C6; --creme-700:#F3E7D6; --creme-500:#FAF3E9;
  --fundo:var(--creme-500); --fundo-elevado:var(--creme-700);
  --texto:var(--verde-900); --texto-suave:var(--verde-500); --texto-destaque:var(--terracota-900);
  --on-marca:var(--creme-500);
  /* famílias */
  --display:"Gilda Display",Georgia,"Times New Roman",serif;
  --sans:"Figtree Variable","Figtree",-apple-system,"Segoe UI",sans-serif;
  --accent-serif:"Baskervville",Baskerville,Georgia,serif;
  --script:"Kalam","Segoe Script",cursive;
  /* espaçamento, raios e sombras — tokens oficiais */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-6:24px; --space-8:32px; --space-12:48px; --space-16:64px;
  --radius-sm:6px; --radius-md:12px; --radius-lg:24px; --radius-full:999px;
  --shadow-sm:0 1px 2px rgba(20,47,12,.10); --shadow-md:0 8px 24px rgba(20,47,12,.18);
  color-scheme:light;
}

/* estilos de texto do brand book */
.headline-xl{font-family:var(--display);font-size:68px;line-height:.95;font-weight:500}
.headline-lg,h2{font-family:var(--display);font-size:40px;line-height:1;font-weight:500}
.headline-md,h3{font-family:var(--display);font-size:28px;line-height:1.1;font-weight:500}
.accent-italic{font-family:var(--display);font-size:20px;line-height:1.3;font-style:italic;font-weight:500}
.eyebrow{font-family:var(--sans);font-size:13px;line-height:1.3;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.subtitulo{font-family:var(--sans);font-size:22px;line-height:1.3;font-weight:500}
.corpo-pequeno{font-size:14px;line-height:1.45}
.preco{font-family:var(--accent-serif);font-size:18px;line-height:1.2;font-style:italic;font-weight:400;color:var(--texto-destaque);white-space:nowrap;font-variant-numeric:tabular-nums}
.nota-manuscrita{font-family:var(--script);font-size:22px;line-height:1.2;font-weight:400}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--fundo);color:var(--texto);font-family:var(--sans);font-size:16px;line-height:1.5;font-weight:400}
img{max-width:100%;height:auto;display:block}
a{color:var(--texto-destaque)}
a:hover{color:var(--verde-700)}
:focus-visible{outline:3px solid var(--amarelo-700);outline-offset:2px}
h1,h2,h3{color:var(--verde-700);margin:0;text-wrap:balance}
p{margin:0}
.wrap{max-width:1120px;margin:0 auto;padding-inline:var(--space-6)}
section{padding-block:var(--space-16)}
.cabecalho{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-8);max-width:680px}
.cabecalho .eyebrow{color:var(--texto-destaque)}
.cabecalho p:not(.eyebrow){color:var(--texto-suave)}

/* padrão quadriculado (Nossos Patterns) em cores da paleta: moldura e separador, nunca atrás de texto */
.quadriculado{background-color:var(--terracota-700);background-image:repeating-conic-gradient(var(--terracota-500) 0 25%, var(--terracota-700) 0 50%);background-size:48px 48px}

/* botões: radius-md */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-family:var(--sans);font-size:16px;font-weight:500;text-decoration:none;border:2px solid transparent;transition:background .2s,color .2s}
.btn-verde{background:var(--verde-700);color:var(--on-marca)}
.btn-verde:hover{background:var(--verde-900);color:var(--on-marca)}
.btn-contorno{border-color:var(--verde-700);color:var(--verde-700)}
.btn-contorno:hover{background:var(--verde-700);color:var(--on-marca)}
.btn-amarelo{background:var(--amarelo-700);color:var(--verde-900)}
.btn-amarelo:hover{background:var(--amarelo-900);color:var(--verde-900)}
.btn-creme{background:var(--creme-500);color:var(--verde-700)}
.btn-creme:hover{background:var(--creme-700);color:var(--verde-700)}
.btn-contorno-claro{border-color:var(--creme-500);color:var(--creme-500)}
.btn-contorno-claro:hover{background:var(--creme-500);color:var(--verde-700)}
.btn-terracota{background:var(--terracota-900);color:var(--on-marca)}
.acoes{display:flex;flex-wrap:wrap;gap:var(--space-3)}

/* topo: logo primário sobre verde institucional */
.topo{position:sticky;top:0;z-index:10;background:var(--verde-700);box-shadow:var(--shadow-sm)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-2);flex-wrap:wrap}
.topo .logo{display:block;padding:var(--space-1) 0}
.topo .logo img{height:44px;width:auto}
.menu{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1) var(--space-6);font-size:16px;font-weight:500}
.menu a{color:var(--on-marca);text-decoration:none;padding:var(--space-3) 0}
.menu a:hover{color:var(--amarelo-700)}
.menu .btn{padding:var(--space-2) var(--space-4);min-height:44px}
@media (max-width:760px){
  .topo .logo img{height:36px}
  .menu{order:3;flex-basis:100%;flex-wrap:nowrap;overflow-x:auto;gap:var(--space-1) var(--space-6);scrollbar-width:none;margin-inline:calc(var(--space-6) * -1);padding-inline:var(--space-6)}
  .menu::-webkit-scrollbar{display:none}
  .menu a{white-space:nowrap;padding:var(--space-2) 0}
  .menu .btn{display:none}
}

/* abertura: título do cartão sobre creme; foto da fachada emoldurada pelo quadriculado */
.abertura{padding-block:var(--space-12) var(--space-16)}
.abertura .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:var(--space-12);align-items:center}
.abertura-texto{display:flex;flex-direction:column;gap:var(--space-6)}
.abertura .eyebrow{color:var(--texto-destaque)}
.abertura .sub{max-width:44ch;color:var(--texto-suave)}
.status{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:500;font-size:14px;color:var(--texto)}
.status::before{content:"";width:10px;height:10px;border-radius:var(--radius-full);background:var(--verde-500)}
.status.fechado::before{background:var(--terracota-700)}
.moldura{margin:0;padding:var(--space-4);border-radius:var(--radius-lg)}
.moldura img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md)}
@media (max-width:860px){
  .abertura .wrap{grid-template-columns:1fr;gap:var(--space-8)}
  .moldura{max-width:440px}
}
@media (max-width:480px){
  .abertura{padding-block:var(--space-8) var(--space-12)}
  .moldura{padding:var(--space-3)}
  .moldura img{aspect-ratio:4/3}
}

/* faixa prática: horário, endereço e telefone sempre à vista */
.pratico{padding-block:0;background:var(--verde-700);color:var(--on-marca)}
.pratico .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.pratico .wrap>div{padding:var(--space-6);border-left:1px solid rgba(250,243,233,.2)}
.pratico .wrap>div:first-child{border-left:0;padding-left:0}
.pratico .eyebrow{color:var(--amarelo-700);margin-bottom:var(--space-2)}
.pratico .menor{font-size:14px;color:var(--verde-100);margin-top:var(--space-1)}
.pratico a{color:var(--amarelo-700)}
.pratico .tel{color:var(--on-marca);text-decoration:none}
.pratico .tel:hover{color:var(--amarelo-700)}
@media (max-width:760px){
  .pratico .wrap{grid-template-columns:1fr}
  .pratico .wrap>div{border-left:0;padding:var(--space-4) 0;border-top:1px solid rgba(250,243,233,.2)}
  .pratico .wrap>div:first-child{border-top:0}
}

/* destaques com foto: grade fixa, imagens do mesmo tamanho */
.pratos{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-6);grid-template-columns:repeat(4,minmax(0,1fr))}
.prato{background:var(--fundo-elevado);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column}
.prato img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--creme-900)}
.prato-texto{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1}
.prato h3{font-size:22px;line-height:1.1}
.prato p{font-size:14px;line-height:1.45;color:var(--texto-suave);flex:1}
@media (max-width:960px){.pratos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){
  .pratos{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:220px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--space-6) * -1);padding-inline:var(--space-6);padding-bottom:var(--space-2)}
  .pratos{align-items:start}
  .prato{scroll-snap-align:start}
  .prato p{flex:none}
}

/* cardápio */
.faixa-creme{background:var(--fundo-elevado)}
.abas{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}
.aba{font:inherit;font-size:14px;font-weight:500;min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);cursor:pointer;border:2px solid var(--verde-700);background:transparent;color:var(--verde-700)}
.aba[aria-selected="true"]{background:var(--verde-700);color:var(--on-marca)}
.categoria{background:var(--fundo);border-radius:var(--radius-lg);padding:var(--space-8)}
.categoria[hidden]{display:none}
.js-off .categoria{margin-bottom:var(--space-4)}
.categoria-topo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-2)}
.categoria-topo p{font-size:14px;line-height:1.45;color:var(--texto-suave);max-width:60ch}
.itens{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-12)}
.item{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--creme-900)}
.item>div{flex:1;min-width:0}
.item .miniatura{width:56px;height:56px;object-fit:cover;border-radius:var(--radius-sm);flex:none}
.item .nome{display:block;font-weight:500;font-size:16px;line-height:1.3;color:var(--verde-700)}
.item .desc{display:block;font-size:14px;line-height:1.45;color:var(--texto-suave);margin-top:var(--space-1)}
.cartas-pdf{margin-top:var(--space-6);padding:var(--space-4) 0;border-top:1px solid var(--creme-900);border-bottom:1px solid var(--creme-900);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-6)}
.cartas-pdf p{margin:0;font-size:16px}
.cartas-pdf ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-3)}
.cartas-pdf a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-4);border:2px solid var(--terracota-900);border-radius:var(--radius-full);color:var(--terracota-900);font-weight:500;text-decoration:none}
.cartas-pdf a:hover{background:var(--terracota-900);color:var(--creme-500)}
.cartas-pdf a span{font-weight:400;margin-left:.3em}
.cardapio-rodape{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-6)}
.cardapio-rodape p{font-size:14px;line-height:1.45;color:var(--texto-suave);max-width:70ch}
@media (max-width:760px){.itens{grid-template-columns:1fr}.categoria{padding:var(--space-4)}}

/* a casa */
.colunas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8)}
.card{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-4);border-top:2px solid var(--verde-700)}
.card p{color:var(--texto-suave)}
@media (max-width:760px){.colunas{grid-template-columns:1fr;gap:var(--space-6)}}

/* empório: rosa institucional, texto verde-900, uma ilustração */
.emporio{background:var(--rosa-500)}
.emporio .wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-12);align-items:center}
.emporio .cabecalho p:not(.eyebrow),.emporio .card p{color:var(--verde-900)}
.emporio .cabecalho .eyebrow{color:var(--verde-900)}
.emporio .colunas{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-8)}
.sacola{margin:0}
@media (max-width:860px){.emporio .wrap{grid-template-columns:1fr}.sacola{max-width:200px}}
@media (max-width:560px){.emporio .colunas{grid-template-columns:1fr}}

/* visite */
#visite{background:var(--verde-700);color:var(--on-marca)}
#visite h2{color:var(--on-marca)}
#visite .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-12);align-items:stretch}
.visite-texto{display:flex;flex-direction:column;gap:var(--space-6)}
.visite-texto .sub{color:var(--verde-100);margin-top:var(--space-3)}
.rotulo{color:var(--amarelo-700);margin-bottom:var(--space-1)}
.dado small{display:block;font-size:14px;color:var(--verde-100)}
.dado a.tel-claro{color:var(--on-marca);text-decoration:none}
.dado a.tel-claro:hover{color:var(--amarelo-700)}
.mapa{border-radius:var(--radius-lg);overflow:hidden;min-height:360px;background:var(--creme-700)}
.mapa iframe{display:block;width:100%;height:100%;min-height:360px;border:0}
@media (max-width:860px){#visite .wrap{grid-template-columns:1fr}}

/* rodapé: separador quadriculado + logo primário sobre verde */
.rodape{background:var(--verde-700);color:var(--on-marca)}
.faixa-padrao{height:24px;background-size:24px 24px}
.rodape .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--space-6);padding-block:var(--space-8)}
.rodape-logo{height:48px;width:auto;margin-bottom:var(--space-2)}
.rodape .nota-manuscrita{color:var(--amarelo-700)}
.rodape p{font-size:14px;line-height:1.45;color:var(--verde-100)}
.rodape a{color:var(--amarelo-700)}

/* contato rápido: barra fixa no celular, botão de WhatsApp no computador */
.acoes-fixas{position:fixed;z-index:20;display:flex}
.acoes-fixas a{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:500;text-decoration:none;min-height:48px;font-size:16px}
.acoes-fixas svg{width:20px;height:20px}
@media (max-width:760px){
  .rodape{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  .acoes-fixas{left:0;right:0;bottom:0;background:var(--verde-900);padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom,0px));gap:var(--space-2)}
  .acoes-fixas a{flex:1;color:var(--on-marca);border:2px solid rgba(250,243,233,.35);border-radius:var(--radius-md)}
  .acoes-fixas a.principal{background:var(--amarelo-700);border-color:var(--amarelo-700);color:var(--verde-900)}
}
@media (min-width:761px){
  .acoes-fixas{right:var(--space-6);bottom:var(--space-6)}
  .acoes-fixas a:not(.principal){display:none}
  .acoes-fixas a.principal{background:var(--amarelo-700);color:var(--verde-900);padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);box-shadow:var(--shadow-md)}
  .acoes-fixas a.principal:hover{background:var(--amarelo-900)}
}

/* acessibilidade: pular direto para o conteúdo */
.pular{position:absolute;left:var(--space-3);top:-60px;z-index:30;background:var(--amarelo-700);color:var(--verde-900);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-weight:700}
.pular:focus{top:var(--space-3)}

.pagina-erro{padding-block:96px;display:flex;flex-direction:column;gap:var(--space-6);align-items:flex-start}
.olho{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-destaque)}

/* ---------------------------------------------------------------
   Linguagem do brand book (páginas de títulos, manifesto e posicionamento)
   --------------------------------------------------------------- */
body{letter-spacing:.02em}
/* título em duas vozes: The Seasons Light em caixa alta + Brother 1816 Bold em caixa alta */
.titulo-duplo{display:flex;flex-direction:column;font-size:40px;line-height:1;color:var(--texto);text-transform:uppercase;letter-spacing:0}
.titulo-duplo .t-serif{font-family:var(--display);font-weight:300}
.titulo-duplo .t-sans{font-family:var(--sans);font-weight:700;letter-spacing:.01em}
.titulo-duplo.centro{align-items:center;text-align:center}
#visite .titulo-duplo{color:var(--on-marca)}
/* texto de apoio ao lado do título, como no brand book */
.cabecalho-lado{flex-direction:row;align-items:flex-end;gap:var(--space-8);max-width:none}
.cabecalho-lado .apoio{max-width:42ch;font-size:14px;line-height:1.45;letter-spacing:.06em;color:var(--texto-suave)}
.apoio{letter-spacing:.04em}
@media (max-width:760px){.cabecalho-lado{flex-direction:column;align-items:flex-start;gap:var(--space-3)}}

/* frase de posicionamento: serifada leve + sem-serifa itálica + sem-serifa negrito, em terracota */
.frase-marca{font-size:min(68px,11.5vw);line-height:1;color:var(--terracota-700);letter-spacing:-.01em}
.frase-marca .f-serif{font-family:var(--display);font-weight:300}
.frase-marca .f-italico{font-family:var(--sans);font-style:italic;font-weight:500}
.frase-marca .f-negrito{font-family:var(--sans);font-weight:700}
.abertura .eyebrow{color:var(--texto)}
.abertura .sub{letter-spacing:.04em}

/* foto: canto de 24 px, como na direção fotográfica */
.foto-abertura{margin:0}
.foto-abertura img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 35%;border-radius:var(--radius-lg)}
@media (max-width:860px){.foto-abertura{max-width:440px}.foto-abertura img{aspect-ratio:4/3}}
.abertura .faixa-padrao{margin-top:var(--space-12);height:48px;border-radius:var(--radius-lg)}

/* manifesto centralizado, mistura de vozes */
.manifesto{max-width:760px;margin:var(--space-8) auto 0;text-align:center;display:flex;flex-direction:column;gap:var(--space-6);font-size:18px;line-height:1.5}
.manifesto em{font-style:italic}
.manifesto .m-serif{font-family:var(--display);font-weight:400;font-size:1.15em}
.manifesto strong{font-weight:700}
/* palavras-chave em pílulas, itálico */
.palavras{list-style:none;padding:0;margin:var(--space-12) auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);max-width:860px}
.palavras li{border:1px solid var(--verde-700);border-radius:var(--radius-full);padding:var(--space-2) var(--space-6);font-style:italic;font-weight:500;color:var(--verde-700)}

/* abas do cardápio no mesmo desenho das pílulas */
.aba{border-width:1px;font-style:italic;font-weight:500;font-size:16px;letter-spacing:.02em}
.categoria{border-radius:var(--radius-lg)}
.item .nome{letter-spacing:.02em}

/* destaques: fotos com canto de 24 px */
.prato{border-radius:var(--radius-lg);background:var(--fundo-elevado)}
.prato img{border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.prato h3{font-family:var(--sans);font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}

/* cards do empório: nome em caixa alta Brother, como os rótulos do brand book */
.card h3{font-family:var(--sans);font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--texto)}
.card{border-top:1px solid var(--verde-900)}

/* quadriculado como fundo de seção (Nossos Patterns): o texto fica sempre sobre painéis sólidos, nunca direto no padrão */
.destaques.quadriculado{background-size:64px 64px}
.painel-titulo{background:var(--fundo);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-8);box-shadow:var(--shadow-md)}
.destaques .prato{background:var(--fundo);box-shadow:var(--shadow-md)}
@media (max-width:760px){.painel-titulo{padding:var(--space-4)}}

/* Gilda Display e Figtree têm a mesma altura de maiúsculas (0,70 em), como The Seasons e Brother 1816 */
.titulo-duplo .t-serif,.frase-marca .f-serif{line-height:.95}
.manifesto .m-serif{font-size:1.15em}

/* ---------------------------------------------------------------
   Acessibilidade (ABNT NBR 17225) e novos blocos — 21/10/2026
   --------------------------------------------------------------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* 5.12.6: blocos de texto com até 80 caracteres por linha */
p,li,dd,summary{max-width:75ch}
.manifesto{max-width:65ch}
/* 5.8.6 (recomendação): área de acionamento de 44 px */
.rodape a,.cabecalho a,.categoria-topo a,.pratico a,.dado a,.link-botao{display:inline-flex;align-items:center;min-height:44px}
/* foco: contorno de 3 px com contraste sobre creme e sobre verde */
:focus-visible{outline:3px solid var(--verde-900);outline-offset:3px;box-shadow:0 0 0 6px var(--amarelo-700)}
.topo :focus-visible,.pratico :focus-visible,#visite :focus-visible,.rodape :focus-visible,.acoes-fixas :focus-visible{outline-color:var(--amarelo-700);box-shadow:none}
.categoria:focus-visible{outline-offset:-3px}

/* cardápio: abas agrupadas por carta e subgrupos dentro da categoria */
.seletor-cardapio{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}
.grupo-abas{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}
.grupo-abas-rotulo{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--texto);min-width:12ch}
.seletor-cardapio .abas{margin-bottom:0}
.grupo{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-destaque);margin:var(--space-6) 0 0}
.categoria-topo+.grupo{margin-top:var(--space-2)}
@media (max-width:760px){.grupo-abas{flex-direction:column;align-items:flex-start}}

/* perguntas frequentes */
.perguntas{display:flex;flex-direction:column;max-width:75ch}
.pergunta{border-bottom:1px solid var(--creme-900)}
.pergunta summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:56px;padding-block:var(--space-3);font-weight:500;font-size:18px;color:var(--verde-700)}
.pergunta summary::-webkit-details-marker{display:none}
.pergunta summary::after{content:"+";font-size:24px;line-height:1;color:var(--texto-destaque)}
.pergunta[open] summary::after{content:"−"}
.pergunta p{padding-bottom:var(--space-4);color:var(--texto)}

/* botão com aparência de link (rodapé) */
.link-botao{font:inherit;background:none;border:0;padding:0;color:var(--amarelo-700);text-decoration:underline;cursor:pointer}

/* aviso de cookies: só aparece quando há rastreador ligado */
.aviso-cookies{position:fixed;z-index:40;left:var(--space-4);right:var(--space-4);bottom:var(--space-4);max-width:560px;background:var(--fundo);color:var(--texto);border:2px solid var(--verde-700);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}
.aviso-cookies h2{font-family:var(--sans);font-size:18px;font-weight:700;color:var(--verde-700)}
.aviso-cookies p{font-size:16px}
@media (max-width:760px){.aviso-cookies{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}

/* páginas de texto (privacidade, acessibilidade) */
.pagina-texto{padding-block:var(--space-12);display:flex;flex-direction:column;gap:var(--space-4)}
.pagina-texto h1{font-family:var(--display);font-size:40px;line-height:1.1;color:var(--verde-700)}
.pagina-texto h2{font-family:var(--sans);font-size:22px;font-weight:700;margin-top:var(--space-6)}
.pagina-texto ul{padding-left:1.2em;display:flex;flex-direction:column;gap:var(--space-2)}
.pagina-texto .pendente{background:var(--rosa-500);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}
.menu a{min-height:46px;display:inline-flex;align-items:center}
.menu .btn-amarelo,.menu .btn-amarelo:hover{color:var(--verde-900)}
.rodape a,.cabecalho a,.categoria-topo a,.pratico a,.dado a,.link-botao{min-height:46px}
.pratos:focus-visible{outline-offset:4px}
@media (max-width:760px){
  .grupo-abas .abas{flex-wrap:nowrap;overflow-x:auto;max-width:100%;margin-inline:calc(var(--space-6) * -1);padding:var(--space-1) var(--space-6);scrollbar-width:none}
  .grupo-abas .abas::-webkit-scrollbar{display:none}
  .grupo-abas .aba{white-space:nowrap;flex:none}
  .grupo-abas{gap:var(--space-2)}
}

/* delivery iFood em destaque: terracota-900 da paleta (contraste 5,9:1 com creme) */
.btn-ifood{background:var(--terracota-900);color:var(--creme-500);border-color:var(--terracota-900)}
.btn-ifood:hover{background:var(--terracota-700);border-color:var(--terracota-700);color:var(--creme-500)}
.menu .btn-ifood,.menu .btn-ifood:hover{color:var(--creme-500);padding:var(--space-2) var(--space-4);min-height:44px}
.menu .btn-ifood{border-color:var(--creme-500)}
@media (max-width:760px){.menu .btn-ifood{display:none}}
@media (max-width:760px){.acoes-fixas a.ifood{background:var(--terracota-900);border-color:var(--terracota-900);color:var(--creme-500)}}
.abertura .acoes .btn-ifood{font-weight:700}
/* espaço reservado para foto de prato ainda não fotografado */
.foto-prevista{aspect-ratio:4/3;background:var(--verde-100);border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;align-items:center;justify-content:center}
.foto-prevista span{font-family:var(--script);font-size:22px;color:var(--verde-900)}
