/*
Theme Name: Lana Salgados 2N
Theme URI: https://2ndigital.com.br
Author: 2N Digital
Description: Tema leve e customizado para Lana Salgados - sem builder pesado, mobile-first, focado em conversao para WhatsApp e Google Ads.
Version: 1.0
Text Domain: lana-salgados-2n
*/

:root{
  /* Paleta 2N - reforma 23/07/2026 (4ª rodada): identidade 100% amarelo + vermelho
     da logomarca, por pedido direto do Jean/Amonn — SEM marrom e SEM laranja em
     lugar nenhum do site (inclusive rodapé, que antes usava marrom). Cores reais
     extraídas por amostragem de pixel de logo-otimizada.png:
       - amarelo do brasão: #FECA04
       - vermelho vivo da faixa "Doces e Salgados": #E51B22 (vira a cor de
         destaque/CTA principal, conforme indicação do Amonn)
       - vermelho profundo do lettering "Lana": #7C0A0D (tom mais escuro da
         mesma família, usado em texto de apoio/gradientes, não é marrom)
     Cabeçalho (.site-header e navegação) não teve layout/estrutura alterada
     por esta rodada — só a paleta de texto/detalhes que usa essas variáveis. */
  --amarelo:#FECA04;
  --amarelo-forte:#F5B700;
  --vermelho:#E51B22;
  --vermelho-escuro:#8A0E12;
  --vermelho-escuro-2:#4E0608;
  --bordo:#7C0A0D;
  --creme:#FFF8EE;
  --texto-escuro:#2B0A0C;
  --texto-suave:#6b6b6b;
  --whatsapp:#25D366;
  --whatsapp-escuro:#128C4A;
  --branco:#FFFFFF;
  --sombra: 0 10px 30px rgba(43,10,12,0.14);
  --radius: 22px;
  /* "Google Sans" (Product Sans) é proprietária do Google e não tem distribuição
     pública via Google Fonts — ver nota completa em functions.php. Substituto
     hospedado: Poppins. */
  --font-principal: 'Google Sans', 'Product Sans', 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-principal);
  color:var(--texto-escuro);
  background:var(--branco);
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:var(--font-principal);
  font-weight:800;
  line-height:1.15;
  margin:0 0 .5em;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:1180px;margin:0 auto;padding:0 20px;}
.section{padding:70px 0;}
.section-alt{background:var(--creme);}
.tag-emoji{font-size:1.3em;}

/* ===== TOPO ===== */
.site-header{
  position:sticky;top:0;z-index:999;
  background:rgba(255,248,238,.95);
  backdrop-filter:blur(8px);
  box-shadow:0 2px 14px rgba(43,10,12,.08);
  overflow:visible;
}
.site-header .container{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:space-between;
  padding-top:8px;padding-bottom:8px;
  gap:20px;
}
.site-header .brand{display:flex;align-items:center;flex-shrink:0;}
.site-header img.logo{height:78px;width:auto;}

/* Onda/V decorativo no rodapé do cabeçalho — a logo "aninha" nesse recorte
   central, virando o ponto focal do menu em vez de só mais um elemento
   alinhado. Só aparece no layout de menu dividido (desktop). */
.site-header__wave{display:none;}

.main-nav{display:flex;align-items:center;flex:1;}
.main-nav-links{display:flex;align-items:center;gap:6px;flex:1;justify-content:center;}
.main-nav-links a{
  position:relative;
  display:flex;align-items:center;gap:6px;
  font-weight:800;color:var(--texto-escuro);padding:10px 16px;border-radius:50px;
  font-size:.98rem;
  transition:background .2s ease,color .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;
}
/* Menu interativo: ao passar o mouse o item "fixa" (destaca com leve elevação
   e sombra) e ao tirar o mouse volta suavemente à posição original. */
.main-nav-links a:hover{
  background:var(--amarelo);color:var(--texto-escuro);
  transform:translateY(-3px);
  box-shadow:0 8px 16px rgba(122,10,13,.18);
}
.main-nav-links .nav-ico{display:none;}
.main-nav-head,.nav-whats-cta,.main-nav-foot,.nav-close{display:none;}

.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.header-cta{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--whatsapp);color:#fff;
  padding:11px 20px;border-radius:50px;font-weight:800;
  box-shadow:0 6px 16px rgba(37,211,102,.35);
  transition:transform .15s ease;
  font-size:.95rem;white-space:nowrap;
}
.header-cta:hover{transform:translateY(-2px);}

.nav-toggle{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;border-radius:12px;border:none;background:var(--creme);
  cursor:pointer;flex-shrink:0;
}
.nav-toggle span{display:block;width:22px;height:3px;background:var(--texto-escuro);border-radius:3px;margin:0 auto;transition:transform .2s ease,opacity .2s ease;}

/* Menu dividido + logo como ponto focal (padrão Morada) — pedido explícito do
   Jean em 23/07 (3ª rodada): 3 itens à esquerda, 2 à direita, logo grande no
   centro geométrico, "aninhada" na onda/V do rodapé do cabeçalho. Cores,
   fundo e navegação do .site-header continuam com a mesma base visual. */
@media (min-width:981px){
  .site-header .container{
    display:grid;
    grid-template-columns:1fr auto 1fr auto;
    align-items:center;
    gap:18px;
  }
  /* .main-nav vira só um agrupador invisível — os grupos de links e a logo
     entram direto como itens do grid do header (display:contents "dissolve"
     o <nav> na árvore de layout sem tirar ele do HTML/acessibilidade). */
  .site-header .main-nav{ display:contents; }

  .main-nav-links--left{ order:1; justify-self:end; }
  .main-nav-links--right{ order:3; justify-self:start; }

  .site-header .brand{
    order:2;
    justify-self:center;
    position:relative;z-index:3;
    transform:translateY(16px);
    transition:transform .35s cubic-bezier(.34,1.56,.64,1), height .35s ease;
  }
  .site-header .header-actions{
    order:4;
    justify-self:start;
  }
  .site-header img.logo{height:114px;transition:height .35s ease;}

  .site-header__wave{
    display:block;
    position:absolute;left:0;right:0;bottom:-1px;
    height:32px;z-index:1;pointer-events:none;
  }
  .site-header__wave svg{display:block;width:100%;height:100%;}
}
/* Faixa estreita do desktop (981-1150px): nav mais compacto e logo um pouco
   menor pra caber os 2 grupos + logo grande sem qualquer sobreposição. */
@media (min-width:981px) and (max-width:1150px){
  .main-nav-links{gap:0;}
  .main-nav-links a{padding:8px 9px;font-size:.82rem;}
  .site-header img.logo{height:92px;}
  .site-header .brand{transform:translateY(10px);}
}

/* Comportamento de scroll: ao rolar a página pra baixo, o cabeçalho fica mais
   compacto e a logo central cresce ainda mais (momento de destaque); ao
   voltar pro topo, ela encolhe de volta pro tamanho normal (que já é maior
   que o logo original pré-reforma) — tudo suave via transição CSS. */
@media (min-width:981px){
  .site-header.is-scrolled{box-shadow:0 4px 20px rgba(43,10,12,.16);}
  .site-header.is-scrolled img.logo{height:140px;}
  .site-header.is-scrolled .brand{transform:translateY(22px);}
}
@media (min-width:981px) and (max-width:1150px){
  .site-header.is-scrolled img.logo{height:112px;}
  .site-header.is-scrolled .brand{transform:translateY(14px);}
}

/* ===== HERO — 2 containers (reforma 23/07/2026, referência: hero novo do Turbo) ===== */
.hero-2n{
  position:relative;
  background:linear-gradient(180deg, #FFF6DE 0%, #FFE9AE 100%);
  overflow:hidden;
}
.hero-2n__inner{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:50px;
  align-items:center;
  padding:64px 0 60px;
}
.hero-2n__tag{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--bordo);color:#fff;
  padding:8px 18px;border-radius:50px;font-weight:800;font-size:.85rem;
  margin-bottom:18px;box-shadow:0 6px 16px rgba(122,19,48,.25);
}
.hero-2n__title{
  font-size:2.7rem;color:var(--texto-escuro);max-width:600px;margin-bottom:.4em;
}
.hero-2n__title span{color:var(--bordo);}
.hero-2n__sub{
  font-size:1.12rem;color:var(--texto-suave);max-width:500px;margin-bottom:28px;
}
.hero-2n__actions{margin-bottom:20px;}
.btn-whats{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--whatsapp);color:#fff;font-weight:800;font-size:1.05rem;
  padding:16px 30px;border-radius:50px;
  box-shadow:0 10px 26px rgba(37,211,102,.4);
  border:none;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.btn-whats:hover{background:var(--whatsapp-escuro);transform:translateY(-3px);box-shadow:0 14px 30px rgba(37,211,102,.45);}
.btn-whats svg{width:24px;height:24px;fill:#fff;}
/* Variante "contorno" — usada em CTAs secundários (ex.: "Ver cardápio completo")
   que não são ação direta de WhatsApp, pra diferenciar hierarquia sem sair da
   paleta amarelo/vermelho da marca. */
.btn-whats--outline{
  background:#fff;color:var(--vermelho);border:2px solid var(--vermelho);
  box-shadow:none;padding:14px 28px;
}
.btn-whats--outline:hover{background:var(--vermelho);color:#fff;transform:translateY(-3px);box-shadow:0 12px 24px rgba(229,27,34,.3);}
.section-cta{display:flex;justify-content:center;margin-top:36px;}
.hero-2n__trust{
  display:inline-flex;align-items:center;gap:10px;
  background:#fff;border-radius:14px;padding:10px 16px;
  box-shadow:var(--sombra);font-weight:700;font-size:.9rem;color:var(--texto-escuro);
  margin-bottom:26px;
}
.hero-2n__trust-stars{color:var(--amarelo-forte);letter-spacing:2px;}
/* width:100% explícito é necessário aqui: o carrossel só tem filhos com
   position:absolute (as fotos + os dots), então ele não tem conteúdo "em
   fluxo" que force uma largura mínima — sem isso, o item do grid/flex
   colapsa quase a zero em vez de esticar (bug visto no QA mobile 23/07). */
.hero-2n__visual{display:block;width:100%;}

/* Carrossel do hero — fotos reais do site em rotação automática (pedido do
   Jean 23/07: nunca deixar a área vazia, mesmo repetindo fotos já usadas
   em outros pontos, até a fotógrafa entregar o material exclusivo). */
.hero-2n__carousel{
  position:relative;width:100%;aspect-ratio:4/5;
  border-radius:28px;overflow:hidden;
  box-shadow:var(--sombra);
  border:4px solid var(--amarelo);
}
.hero-2n__slide{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity 1s ease;
}
.hero-2n__slide.is-active{opacity:1;}
.hero-2n__carousel::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg, rgba(78,6,8,.55) 0%, rgba(78,6,8,0) 45%);
  pointer-events:none;
}
.hero-2n__carousel-dots{
  position:absolute;left:0;right:0;bottom:16px;z-index:2;
  display:flex;justify-content:center;gap:8px;
}
.hero-2n__carousel-dot{
  width:9px;height:9px;border-radius:50%;
  background:rgba(255,255,255,.55);
  transition:background .25s ease,transform .25s ease;
}
.hero-2n__carousel-dot.is-active{background:var(--amarelo);transform:scale(1.25);}

.hero-divider{
  position:relative;z-index:2;display:block;width:100%;height:70px;margin-top:-4px;
  fill:var(--branco);
}

@media (max-width:980px){
  .hero-2n__inner{grid-template-columns:1fr;padding:40px 0 44px;}
  .hero-2n__visual{order:-1;max-width:340px;margin:0 auto 10px;}
}
@media (max-width:560px){
  .hero-2n__title{font-size:1.9rem;}
  .hero-2n__sub{font-size:1rem;}
}

/* divisor ondulado entre secoes */
.wave-divider{display:block;width:100%;height:56px;}
.wave-divider path{fill:var(--branco);}
.wave-divider.alt path{fill:var(--creme);}

/* ===== SECTION HEADINGS ===== */
.section-title{text-align:center;margin-bottom:44px;}
.section-title .eyebrow{
  display:inline-block;color:var(--vermelho);font-weight:800;text-transform:uppercase;
  letter-spacing:1px;font-size:.85rem;margin-bottom:10px;
}
.section-title h2{font-size:2.1rem;color:var(--texto-escuro);}
.section-title p{color:var(--texto-suave);max-width:560px;margin:14px auto 0;}

/* ===== GALERIA / PROVA VISUAL ===== */
.strip{
  display:grid;grid-auto-flow:column;grid-auto-columns:220px;gap:18px;
  overflow-x:auto;padding:10px 4px 20px;scroll-snap-type:x mandatory;
}
.strip img{
  scroll-snap-align:start;border-radius:18px;height:220px;width:220px;object-fit:cover;
  box-shadow:var(--sombra);
}

/* ===== GRID DE PRODUTOS (estilo instagram) ===== */
.produtos-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
}
.produto-card{
  background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--sombra);
  transition:transform .2s ease;position:relative;
}
.produto-card:hover{transform:translateY(-6px);}
.produto-card .thumb{aspect-ratio:1/1;overflow:hidden;}
.produto-card .thumb img{width:100%;height:100%;object-fit:cover;}
.produto-card .info{padding:16px 18px 20px;}
.produto-card .cat{
  display:inline-block;background:var(--amarelo);color:var(--texto-escuro);
  font-size:.72rem;font-weight:800;padding:4px 10px;border-radius:50px;margin-bottom:8px;
}
.produto-card h3{font-size:1.05rem;margin-bottom:6px;}
.produto-card p{font-size:.88rem;color:var(--texto-suave);margin:0 0 14px;}
.produto-card .btn-mini{
  display:inline-flex;align-items:center;gap:6px;background:var(--whatsapp);color:#fff;
  font-weight:800;font-size:.82rem;padding:9px 16px;border-radius:50px;
  transition:transform .15s ease,box-shadow .15s ease;
}
.produto-card .btn-mini:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(37,211,102,.35);}

/* ===== CARDAPIO ===== */
.cardapio-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch;}
.cardapio-card{
  background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--sombra);
  border:4px solid var(--amarelo);
  display:flex;flex-direction:column;
}
.cardapio-card img{width:100%;aspect-ratio:3/4;object-fit:cover;flex:1;}
.cardapio-card .cardapio-footer{padding:18px 20px;text-align:center;}
.cardapio-card h3{color:var(--bordo);margin:0;font-size:1.15rem;}
.cardapio-cta{display:flex;justify-content:center;margin-top:36px;}

/* ===== EVENTOS / KITS ===== */
.eventos{
  background:linear-gradient(135deg,var(--vermelho-escuro),var(--vermelho-escuro-2));
  color:#fff;border-radius:32px;padding:56px 40px;
  display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;
}
.eventos h2{color:#fff;font-size:2rem;}
.eventos p{opacity:.9;font-size:1.05rem;margin-bottom:24px;}
.eventos-list{list-style:none;padding:0;margin:0 0 28px;display:grid;gap:12px;}
.eventos-list li{display:flex;gap:10px;align-items:flex-start;font-weight:700;}
.eventos-list li::before{content:"🎉";}
.eventos-img{border-radius:24px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.4);}

/* ===== PROVA SOCIAL (Feito à mão + Avaliações Google) ===== */
.social-proof{
  display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:820px;margin:0 auto;
}
.social-card{
  background:#fff;border-radius:20px;padding:28px;box-shadow:var(--sombra);text-align:center;
}
.social-card .emoji{font-size:2.4rem;margin-bottom:10px;display:block;}
.social-card h4{margin-bottom:6px;}
.social-card p{color:var(--texto-suave);font-size:.92rem;margin:0 0 14px;}
.social-card--google{border:2px solid var(--amarelo);}
.google-rating-badge{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;
  background:var(--creme);border-radius:50px;padding:8px 18px;
}
.google-rating-badge strong{font-size:1.3rem;color:var(--bordo);}
.google-rating-badge__stars{color:var(--amarelo-forte);letter-spacing:1px;}
.btn-google-reviews{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--bordo);color:#fff;font-weight:800;font-size:.88rem;
  padding:11px 20px;border-radius:50px;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.btn-google-reviews:hover{background:var(--vermelho);transform:translateY(-2px);box-shadow:0 10px 20px rgba(229,27,34,.3);}
.instagram-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:56px;height:56px;border-radius:16px;margin-bottom:12px;
  background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}
.instagram-badge svg{width:30px;height:30px;fill:#fff;}

/* ===== CTA FINAL (faixa com foto, reposicionada logo abaixo do hero) ===== */
.cta-final{
  position:relative;overflow:hidden;
  background-color:var(--bordo);
  background-size:cover;background-position:center;
  border-radius:32px;padding:60px 30px;text-align:center;color:#fff;
}
.cta-final-overlay{
  position:absolute;inset:0;
  background:radial-gradient(circle at top, rgba(255,193,69,.92), rgba(122,19,48,.88) 65%);
}
.cta-final-content{position:relative;z-index:1;}
.cta-final h2{font-size:2.2rem;margin-bottom:14px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.25);}
.cta-final p{font-size:1.1rem;margin-bottom:30px;max-width:520px;margin-left:auto;margin-right:auto;}

/* ===== LOCALIZAÇÃO / ATENDIMENTO ===== */
.localizacao-grid{
  display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:stretch;
}
.localizacao-map{
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--sombra);min-height:320px;
  border:4px solid var(--amarelo);
}
.localizacao-info{
  background:#fff;border-radius:var(--radius);box-shadow:var(--sombra);
  padding:32px;display:flex;flex-direction:column;justify-content:center;
  border-top:4px solid var(--bordo);
}
.localizacao-info h3{color:var(--bordo);margin-bottom:10px;}
.localizacao-info p{color:var(--texto-suave);margin-bottom:22px;}

/* ===== FOOTER ===== */
.site-footer{
  background:linear-gradient(160deg,var(--vermelho-escuro),var(--vermelho-escuro-2));
  color:#fdeee2;padding:50px 0 30px;font-size:.92rem;
  border-top:4px solid var(--amarelo);
}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px;margin-bottom:30px;}
.footer-grid h4{color:var(--amarelo);font-size:1rem;}
.footer-grid a{opacity:.9;display:block;margin-bottom:8px;transition:opacity .15s ease;}
.footer-grid a:hover{opacity:1;color:var(--amarelo);}
.footer-logo{height:120px;width:auto;margin-bottom:14px;}
.footer-instagram-btn{
  display:inline-flex !important;align-items:center;gap:8px;
  background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  color:#fff !important;font-weight:800;padding:10px 18px;border-radius:50px;
  opacity:1 !important;width:fit-content;
}
.footer-instagram-btn svg{width:18px;height:18px;fill:#fff;flex-shrink:0;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);padding-top:20px;text-align:center;opacity:.7;font-size:.82rem;
}

/* ===== WHATSAPP FLUTUANTE ===== */
.whats-float{
  position:fixed;bottom:22px;right:22px;z-index:999;
  background:var(--whatsapp);color:#fff;width:64px;height:64px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 26px rgba(37,211,102,.5);
  animation:pulse 2.4s infinite;
}
.whats-float svg{width:32px;height:32px;fill:#fff;}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.55);}
  70%{box-shadow:0 0 0 16px rgba(37,211,102,0);}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}
}

/* ===== ARQUIVO / SINGLE PRODUTO ===== */
.archive-header{
  background:linear-gradient(160deg,var(--amarelo),var(--bordo));
  color:#fff;padding:60px 0 40px;text-align:center;
}
.archive-header h1{color:#fff;font-size:2.2rem;}
.single-produto{padding:60px 0;}
.single-produto .thumb{border-radius:var(--radius);overflow:hidden;box-shadow:var(--sombra);margin-bottom:26px;}
.single-produto h1{font-size:2rem;color:var(--bordo);}

/* ===== RESPONSIVO ===== */
@media (max-width: 980px){
  .main-nav{
    position:fixed;
    top:0;left:0;right:0;bottom:0;
    width:100%;height:100%;height:100dvh;
    z-index:99999;
    background:var(--creme);
    flex-direction:column;align-items:stretch;justify-content:flex-start;
    gap:0;
    opacity:0;visibility:hidden;
    transform:translateY(16px);
    transition:opacity .28s ease, transform .28s ease, visibility 0s linear .28s;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .main-nav.is-open{
    opacity:1;visibility:visible;transform:translateY(0);
    transition:opacity .28s ease, transform .28s ease, visibility 0s linear 0s;
  }

  .main-nav-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:22px 22px 18px;
    border-bottom:1px solid rgba(43,10,12,.12);
    flex-shrink:0;
  }
  .main-nav-head img{height:52px;width:auto;}
  .nav-close{
    display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;border-radius:50%;border:none;
    background:rgba(43,10,12,.08);color:var(--texto-escuro);
    font-size:1.8rem;line-height:1;cursor:pointer;
  }

  .nav-whats-cta{
    display:flex !important;align-items:center;justify-content:center;gap:10px;
    margin:22px;padding:18px;border-radius:16px;
    background:var(--whatsapp);color:#fff;font-weight:800;font-size:1.15rem;
    box-shadow:0 10px 24px rgba(37,211,102,.35);
    flex-shrink:0;
  }
  .nav-whats-cta svg{width:26px;height:26px;fill:#fff;}

  .main-nav-links{
    display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
    gap:4px;padding:6px 16px;
  }
  .main-nav-links a{
    display:flex;align-items:center;gap:16px;
    padding:18px 16px;border-radius:14px;font-size:1.2rem;
    color:var(--texto-escuro) !important;
    border-bottom:1px solid rgba(43,10,12,.06);
  }
  .main-nav-links a:active{background:rgba(255,193,69,.35);}
  .main-nav-links .nav-ico{display:inline-block;font-size:1.4rem;width:30px;text-align:center;}

  .main-nav-foot{
    display:block;padding:22px 22px 40px;
    margin-top:auto;
    border-top:1px solid rgba(43,10,12,.12);
    flex-shrink:0;
  }
  .main-nav-foot a{
    display:flex;align-items:center;gap:10px;font-weight:800;color:var(--vermelho);
    font-size:1.05rem;
  }
  .main-nav-foot svg{width:24px;height:24px;}

  .nav-toggle{display:flex;}
  .nav-toggle.is-active span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  .nav-toggle.is-active span:nth-child(2){opacity:0;}
  .nav-toggle.is-active span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

  .produtos-grid{grid-template-columns:repeat(2,1fr);}
  .cardapio-grid{grid-template-columns:1fr;}
  .cardapio-card img{aspect-ratio:16/10;}
  .eventos{grid-template-columns:1fr;padding:36px 24px;}
  .social-proof{grid-template-columns:1fr;}
  .localizacao-grid{grid-template-columns:1fr;}
  .localizacao-map{min-height:260px;}
  .footer-grid{grid-template-columns:1fr;}
}
@media (max-width: 560px){
  .section{padding:46px 0;}
  .site-header .container{gap:10px;}
  .site-header img.logo{height:54px;}
  .header-cta{padding:10px 16px;gap:6px;font-size:.88rem;}
  .header-cta svg{width:19px;height:19px;}
  .nav-toggle{width:40px;height:40px;}
  .produtos-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
  .produto-card .info{padding:12px 14px 16px;}
  .cta-final h2{font-size:1.6rem;}
}