/* ===== Variáveis ===== */
:root {
  --vermelho: #c41e3a;
  --vermelho-escuro: #9a1830;
  --amarelo: #f4c430;
  --dourado: #e6b022;
  --marrom: #8b6914;
  --creme: #fffbf0;
  --branco: #ffffff;
  --cinza-texto: #333;
  --cinza-suave: #666;
  --sombra: 0 4px 20px rgba(0,0,0,0.08);
  --sombra-hover: 0 8px 30px rgba(196, 30, 58, 0.15);
  --raio: 12px;
  --transicao: 0.25s ease;
  /* Mobile-first: alvo mínimo de toque (WCAG / Apple HIG) */
  --touch-min: 44px;
}

/* ===== Reset e base ===== */
*, *::before, *::after { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  scroll-padding-top: 7rem;
  overflow-x: hidden;
  overflow-y: scroll;
  scrollbar-gutter: stable;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  /* Largura fixa para não mudar quando scrollbar aparece/desaparece */
  width: 100%;
}
body {
  margin: 0;
  width: 100%;
  min-height: 100vh;
  color: var(--cinza-texto);
  background: var(--creme);
  line-height: 1.5;
  overflow-x: hidden;
  /* Fontes do sistema = zero reflow/zoom ao trocar de página (webfonts causam o “zoom”) */
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
}

h1, h2, h3 {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-weight: 600;
  margin: 0 0 0.5em;
}

/* ===== Header ===== */
.header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--branco);
  box-shadow: var(--sombra);
  /* Conteúdo abaixo do entalhe / barra de status em aparelhos com notch */
  padding-top: env(safe-area-inset-top, 0px);
}

.header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0.75rem max(1rem, env(safe-area-inset-left, 0px)) 0.75rem max(1rem, env(safe-area-inset-right, 0px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.logo-link {
  display: flex;
  align-items: center;
}

.logo {
  height: clamp(52px, 16vw, 88px);
  width: auto;
  object-fit: contain;
}

.nav {
  display: flex;
  gap: 1.5rem;
}

.nav a {
  color: var(--vermelho);
  text-decoration: none;
  font-weight: 500;
  transition: color var(--transicao);
}

.nav a:hover {
  color: var(--vermelho-escuro);
}

.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  min-width: var(--touch-min);
  min-height: var(--touch-min);
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.nav-toggle span {
  width: 24px;
  height: 3px;
  background: var(--vermelho);
  border-radius: 2px;
}

@media (max-width: 768px) {
  .nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 260px;
    height: 100vh;
    background: var(--branco);
    flex-direction: column;
    padding: 5rem 1.5rem 1.5rem;
    box-shadow: -4px 0 20px rgba(0,0,0,0.1);
    transform: translateX(110%);
    transition: transform var(--transicao);
  }

  .nav.is-open {
    transform: translateX(0);
  }

  .nav-toggle {
    display: flex;
  }

  .nav a {
    min-height: var(--touch-min);
    display: flex;
    align-items: center;
    padding: 0.35rem 0;
    box-sizing: border-box;
  }
}

/* ===== Slideshow (estilo Bob's) ===== */
.slideshow {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
  background: var(--vermelho-escuro);
}

.slideshow-inner {
  position: relative;
  width: 100%;
  aspect-ratio: 1200 / 500;
  max-height: 70vh;
}

.slideshow-track {
  position: relative;
  width: 100%;
  height: 100%;
}

.slideshow-slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.slideshow-slide.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

.slideshow-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.slideshow-dots {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  gap: 0.5rem;
}

.slideshow-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid var(--branco);
  background: transparent;
  cursor: pointer;
  /* Área de toque ~44px sem alterar o visual do carrossel */
  padding: 14px;
  box-sizing: content-box;
  transition: background var(--transicao);
}

.slideshow-dot:hover {
  background: rgba(255,255,255,0.5);
}

.slideshow-dot.is-active {
  background: var(--branco);
}

@media (max-width: 768px) {
  .slideshow-inner {
    aspect-ratio: 4 / 3;
  }
}

/* ===== Home — Destaques (grid de imagens, inspirado em Bob's / Burger King) ===== */
.home-destaques {
  padding: 3rem max(1.25rem, env(safe-area-inset-left, 0px)) 4rem max(1.25rem, env(safe-area-inset-right, 0px));
  background: var(--branco);
}

.home-destaques-titulo {
  text-align: center;
  color: var(--vermelho-escuro);
  font-size: clamp(1.5rem, 4vw, 2rem);
  margin-bottom: 0.5rem;
}

.home-destaques-intro {
  text-align: center;
  color: var(--cinza-suave);
  margin-bottom: 0.75rem;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

.home-destaques-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.65rem 0.75rem;
  margin-bottom: 2rem;
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
}

/* Links com aparência de botão (chips) — home, SEO top-5, etc. */
a.btn-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  min-height: 40px;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--vermelho-escuro);
  background: var(--branco);
  border: 2px solid rgba(196, 30, 58, 0.25);
  border-radius: 999px;
  text-decoration: none;
  transition: background var(--transicao), border-color var(--transicao), color var(--transicao),
    box-shadow var(--transicao);
}

a.btn-chip:hover {
  background: var(--creme);
  border-color: var(--vermelho);
  color: var(--vermelho-escuro);
  box-shadow: 0 2px 10px rgba(196, 30, 58, 0.12);
}

.seo-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.6rem;
  justify-content: center;
  margin-top: 0.85rem;
}

/* Subtítulo semântico (H3) — mesma hierarquia visual que o intro */
.home-destaques .section-h3,
.prova-social .section-h3,
.contato-section .section-h3 {
  font-family: inherit;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--vermelho-escuro);
  text-align: center;
  margin: 0 auto 0.5rem;
  max-width: 36rem;
}

.prova-social .section-h3 {
  color: var(--vermelho);
}

.contato-section .section-h3 {
  margin-bottom: 1rem;
}

/* Bloco SEO final com vários parágrafos (mesmo visual de .seo-content-inner) */
.seo-content-rich .seo-rich {
  max-width: 42rem;
  margin: 0 auto;
  padding: 1.125rem 1.35rem;
  background: var(--branco);
  border-radius: var(--raio);
  box-shadow: var(--sombra);
  border: 1px solid rgba(196, 30, 58, 0.06);
}

.seo-content-rich .seo-rich p {
  margin: 0 0 0.85em;
  line-height: 1.65;
  color: var(--cinza-suave);
}

.seo-content-rich .seo-rich p:last-child {
  margin-bottom: 0;
}

.seo-content-rich .seo-rich h2 {
  font-size: 1.2rem;
  color: var(--vermelho-escuro);
  margin: 1.25rem 0 0.65rem;
  line-height: 1.35;
}

.seo-content-rich .seo-rich h2:first-child {
  margin-top: 0;
}

.seo-content-rich .seo-rich ul {
  margin: 0 0 0.85em 1.25rem;
  padding: 0;
  color: var(--cinza-suave);
  line-height: 1.65;
}

.seo-content-rich .seo-rich li {
  margin-bottom: 0.35em;
}

.home-destaques-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  max-width: 1000px;
  margin: 0 auto;
}

.home-destaque-card {
  display: block;
  position: relative;
  border-radius: var(--raio);
  overflow: hidden;
  box-shadow: var(--sombra);
  text-decoration: none;
  color: inherit;
  transition: transform var(--transicao), box-shadow var(--transicao);
}

.home-destaque-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sombra-hover);
}

.home-destaque-card img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
}

.home-destaque-label {
  display: block;
  padding: 0.75rem 1rem;
  background: var(--creme);
  font-weight: 600;
  color: var(--vermelho-escuro);
  font-size: 1rem;
}

@media (max-width: 600px) {
  .home-destaques-grid {
    grid-template-columns: 1fr;
  }

  .home-destaque-card img {
    height: 180px;
  }
}

/* ===== Hero ===== */
.hero {
  background: linear-gradient(135deg, var(--vermelho) 0%, var(--vermelho-escuro) 100%);
  color: var(--branco);
  text-align: center;
  padding: max(3rem, calc(1.5rem + env(safe-area-inset-top, 0px))) max(1.25rem, env(safe-area-inset-right, 0px)) 4rem max(1.25rem, env(safe-area-inset-left, 0px));
}

.hero h1 {
  font-size: clamp(1.75rem, 5vw, 2.5rem);
  margin-bottom: 0.25rem;
  color: inherit;
}

.hero-tagline {
  font-size: 1.1rem;
  opacity: 0.95;
  margin-bottom: 1.5rem;
}

.hero-info {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.badge {
  background: var(--amarelo);
  color: var(--vermelho-escuro);
  padding: 0.4rem 0.9rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.9rem;
}

.cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--amarelo);
  color: var(--vermelho-escuro);
  padding: 0.85rem 1.75rem;
  min-height: var(--touch-min);
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  font-size: 1rem;
  transition: transform var(--transicao), box-shadow var(--transicao);
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}

/* ========== CONVERSÃO — Microcopy do hero ========== */
.hero-microcopy {
  font-size: 0.9rem;
  margin-top: 0.75rem;
  opacity: 0.9;
}

/* ========== CONVERSÃO — Badge destaque (prova social/benefício) ========== */
@keyframes badge-destaque-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 12px 4px rgba(255, 255, 255, 0.15);
    transform: scale(1.03);
  }
}

.badge-destaque {
  background: rgba(255,255,255,0.25);
  border: 1px solid rgba(255,255,255,0.5);
  color: var(--branco);
  animation: badge-destaque-pulse 2s ease-in-out infinite;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.badge-destaque:hover {
  background: rgba(255,255,255,0.35);
  border-color: rgba(255,255,255,0.7);
  transform: scale(1.06);
  box-shadow: 0 0 16px 6px rgba(255, 255, 255, 0.2);
  animation: none;
}

/* ===== Quem somos ===== */
.quem-somos {
  padding: 2.5rem 0;
  background: var(--branco);
  border-top: 1px solid rgba(196, 30, 58, 0.08);
}

.quem-somos h2 {
  font-size: 1.75rem;
  color: var(--vermelho);
  text-align: center;
  margin-bottom: 1.25rem;
}

.quem-somos-inner {
  max-width: 640px;
  margin: 0 auto;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--cinza-texto);
}

.quem-somos-inner p {
  margin: 0;
}

/* ===== Prova social ===== */
.prova-social {
  padding: 2.5rem 0;
  background: var(--branco);
  border-top: 1px solid rgba(196, 30, 58, 0.08);
}

.prova-social h2 {
  font-size: 1.75rem;
  color: var(--vermelho);
  text-align: center;
  margin-bottom: 0.5rem;
}

.prova-social-intro {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 1.5rem;
  color: var(--cinza-suave);
  font-size: 1.05rem;
  line-height: 1.6;
}

.prova-social-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.prova-social-card {
  background: var(--creme);
  border: 1px solid rgba(196, 30, 58, 0.10);
  border-radius: var(--raio);
  box-shadow: var(--sombra);
  padding: 1.25rem;
  transition: transform var(--transicao), box-shadow var(--transicao);
}

.prova-social-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--sombra-hover);
}

.prova-social-stars {
  color: var(--amarelo);
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 0.6rem;
}

.prova-social-text {
  margin: 0;
  color: var(--cinza-texto);
  font-size: 1rem;
  line-height: 1.7;
}

.prova-social-who {
  margin: 0.85rem 0 0;
  color: var(--vermelho-escuro);
  font-weight: 600;
  font-size: 0.95rem;
}

@media (max-width: 900px) {
  .prova-social-grid {
    grid-template-columns: 1fr;
  }
}

/* ===== Contato (endereço, horário, pagamento) ===== */
.contato-section {
  padding: 2.5rem 0;
  background: var(--creme);
}

.contato-section h2 {
  font-size: 1.75rem;
  color: var(--vermelho);
  text-align: center;
  margin-bottom: 1.5rem;
}

.contato-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

.contato-block {
  background: var(--branco);
  padding: 1.25rem;
  border-radius: var(--raio);
  box-shadow: var(--sombra);
  border: 1px solid rgba(196, 30, 58, 0.08);
}

.contato-subtitulo {
  font-size: 1rem;
  color: var(--vermelho-escuro);
  margin: 0 0 0.5rem;
  padding-bottom: 0.35rem;
  border-bottom: 2px solid var(--amarelo);
}

.contato-texto {
  font-size: 0.95rem;
  color: var(--cinza-texto);
  line-height: 1.5;
  margin: 0;
}

.contato-cta {
  margin: 0.75rem 0 0;
}

.contato-cta a {
  color: var(--vermelho);
  font-weight: 600;
  text-decoration: none;
}

.contato-cta a:hover {
  text-decoration: underline;
}

.contato-info-link {
  text-align: center;
  font-size: 0.95rem;
  margin: 0;
}

.contato-info-link a {
  color: var(--vermelho);
  font-weight: 600;
  text-decoration: none;
}

.contato-info-link a:hover {
  text-decoration: underline;
}

.contato-block-whatsapp .contato-texto a {
  color: var(--vermelho);
  font-weight: 600;
  text-decoration: none;
}

.contato-block-whatsapp .contato-texto a:hover {
  text-decoration: underline;
}

.footer-whatsapp {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem;
  align-items: center;
}

.footer-whatsapp a {
  color: var(--amarelo);
  text-decoration: none;
  font-weight: 600;
}

.footer-whatsapp a:hover {
  text-decoration: underline;
}

/* ===== Cardápio ===== */
.cardapio {
  padding: 3rem 0 4rem;
}

.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 max(1rem, env(safe-area-inset-left, 0px)) 0 max(1rem, env(safe-area-inset-right, 0px));
}

@media (min-width: 480px) {
  .container {
    padding-left: max(1.5rem, env(safe-area-inset-left, 0px));
    padding-right: max(1.5rem, env(safe-area-inset-right, 0px));
  }
}

.cardapio h1 {
  font-size: clamp(1.2rem, 4vw + 0.55rem, 1.95rem);
  line-height: 1.2;
  color: var(--vermelho-escuro);
  text-align: center;
  margin: 0 0 0.65rem;
  font-weight: 700;
}

.cardapio h2 {
  font-size: 2rem;
  color: var(--vermelho);
  text-align: center;
  margin-bottom: 0.5rem;
}

.cardapio-intro {
  text-align: center;
  color: var(--cinza-suave);
  margin-bottom: 2rem;
}

/* CTAs rápidos abaixo do intro (substitui estilo inline; mobile: pilha full-width) */
.cardapio-quick-ctas {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin: 1rem 0 1.25rem;
  justify-content: center;
}

@media (max-width: 480px) {
  .cardapio-quick-ctas {
    flex-direction: column;
    align-items: stretch;
  }

  .cardapio-quick-ctas .cta {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* Home — links do intro como chips (pills), alinhados ao texto */
main .cardapio-intro a.btn-chip.cardapio-intro-chip {
  margin: 0.18rem 0.12rem 0.18rem 0;
  padding: 0.4rem 0.85rem;
  font-size: 0.88rem;
  font-weight: 700;
  vertical-align: middle;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transition: background var(--transicao), border-color var(--transicao), color var(--transicao),
    box-shadow var(--transicao), transform var(--transicao);
}
main .cardapio-intro a.btn-chip.cardapio-intro-chip:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(196, 30, 58, 0.12);
}
.cardapio .cardapio-intro a.btn-chip strong {
  color: inherit;
  font-weight: 700;
}

/* Filtro ===== */
.filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-bottom: 2.5rem;
}

/* Em telas estreitas: rolagem horizontal nos filtros (evita 4+ linhas de chips) */
@media (max-width: 640px) {
  .filter-bar {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding: 0.15rem 0 0.5rem;
    margin-left: 0;
    margin-right: 0;
    scroll-snap-type: x proximity;
  }

  .filter-btn {
    flex-shrink: 0;
    scroll-snap-align: start;
  }
}

.filter-btn {
  padding: 0.5rem 1rem;
  min-height: var(--touch-min);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--vermelho);
  background: var(--branco);
  color: var(--vermelho);
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  transition: background var(--transicao), color var(--transicao);
}

.filter-btn:hover,
.filter-btn.active {
  background: var(--vermelho);
  color: var(--branco);
}

/* Categorias ===== */
.categoria {
  margin-bottom: 2.5rem;
  transition: opacity var(--transicao);
}

.categoria.hidden {
  display: none;
}

.categoria-titulo {
  font-size: 1.35rem;
  color: var(--vermelho);
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 3px solid var(--amarelo);
  display: inline-block;
}

/* Grid de produtos ===== */
.produtos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}

/* Celulares: duas colunas compactas (mais itens visíveis sem zoom) */
@media (max-width: 480px) {
  .produtos-grid:not(.produtos-grid-compact) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }

  .produtos-grid:not(.produtos-grid-compact) .produto {
    padding: 0.7rem 0.6rem;
  }

  .produtos-grid:not(.produtos-grid-compact) .produto .produto-img {
    height: 112px;
    margin-bottom: 0.55rem;
  }

  .produtos-grid:not(.produtos-grid-compact) .produto .nome {
    font-size: 0.9rem;
    line-height: 1.25;
  }

  .produtos-grid:not(.produtos-grid-compact) .produto .desc {
    font-size: 0.78rem;
    line-height: 1.35;
  }

  .produtos-grid:not(.produtos-grid-compact) .produto .preco {
    font-size: 1rem;
  }
}

.produtos-grid-compact {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

/* Link que envolve o card na página de cardápio (uma página por produto) */
a.produto-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

a.produto-link:hover .produto {
  box-shadow: var(--sombra-hover);
  transform: translateY(-2px);
}

.produto {
  background: var(--branco);
  border-radius: var(--raio);
  padding: 1rem 1.25rem;
  box-shadow: var(--sombra);
  transition: box-shadow var(--transicao), transform var(--transicao);
  border: 1px solid rgba(196, 30, 58, 0.08);
  overflow: hidden;
}

.produto .produto-img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  object-position: center center;
  display: block;
  margin-top: 1px;
  margin-bottom: 1rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  border-radius: var(--raio) var(--raio) 0 0;
}

.produto .produto-img-square {
  height: 140px;
  object-fit: contain;
  background: var(--creme);
}

.produto:hover {
  box-shadow: var(--sombra-hover);
  transform: translateY(-2px);
}

.produto.destaque {
  border: 2px solid var(--amarelo);
  background: linear-gradient(to bottom, #fffef9, var(--branco));
}

.produto .nome {
  display: block;
  font-weight: 700;
  color: var(--vermelho-escuro);
  font-size: 1.05rem;
  margin-bottom: 0.25rem;
}

.produto .desc {
  display: block;
  font-size: 0.875rem;
  color: var(--cinza-suave);
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

.produto .preco {
  display: block;
  font-weight: 700;
  color: var(--vermelho);
  font-size: 1.1rem;
}

.produtos-grid-compact .produto .nome {
  margin-bottom: 0.15rem;
}

.produtos-grid-compact .produto .desc {
  display: none;
}

/* ===== CTA Section ===== */
.cta-section {
  background: linear-gradient(135deg, var(--amarelo) 0%, var(--dourado) 100%);
  padding: 3rem max(1.25rem, env(safe-area-inset-left, 0px)) 3rem max(1.25rem, env(safe-area-inset-right, 0px));
  text-align: center;
}

.cta-section h2 {
  color: var(--vermelho-escuro);
  margin-bottom: 0.5rem;
}

.cta-section p {
  color: var(--vermelho-escuro);
  margin-bottom: 1rem;
}

.cta-section .cta-large {
  background: var(--vermelho);
  color: var(--branco);
  padding: 1rem 2rem;
  font-size: 1.1rem;
}

.cta-section .cta-large:hover {
  background: var(--vermelho-escuro);
}

.cta-section .small {
  margin-top: 1rem;
  font-size: 0.9rem;
}

.cta-section .small a {
  color: var(--vermelho-escuro);
  text-decoration: underline;
}

/* ===== Footer ===== */
.footer {
  background: var(--vermelho-escuro);
  color: var(--branco);
  text-align: center;
  padding: 2rem max(1.25rem, env(safe-area-inset-left, 0px)) calc(2rem + env(safe-area-inset-bottom, 0px)) max(1.25rem, env(safe-area-inset-right, 0px));
}

.footer-logo {
  height: 48px;
  width: auto;
  margin-bottom: 0.75rem;
  opacity: 0.95;
}

.footer-nome {
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: 0.25rem;
}

.footer-copyright {
  margin-top: 1rem;
  font-size: 0.85rem;
  opacity: 0.9;
}

.footer p {
  margin: 0.25rem 0;
  font-size: 0.95rem;
}

.footer-link a {
  color: var(--amarelo);
  text-decoration: none;
  font-weight: 600;
}

.footer-link a:hover {
  text-decoration: underline;
}

/* Ícone Instagram no rodapé */
.footer-instagram-icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  font-size: 0;
  vertical-align: middle;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f4c430'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.776-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'/%3E%3C/svg%3E") center/24px no-repeat;
}
.footer-link a:hover .footer-instagram-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.776-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'/%3E%3C/svg%3E");
}

/* ========== CONVERSÃO — Botão flutuante de pedido (sempre visível) ========== */
.cta-float {
  position: fixed;
  bottom: calc(5rem + env(safe-area-inset-bottom, 0px));
  right: max(0.75rem, env(safe-area-inset-right, 0px));
  z-index: 99;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--amarelo);
  color: var(--vermelho-escuro);
  padding: 0.75rem 1.25rem;
  min-height: var(--touch-min);
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.95rem;
  box-shadow: var(--sombra-hover);
  transition: transform var(--transicao), box-shadow var(--transicao);
}

.cta-float:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 8px 25px rgba(196, 30, 58, 0.25);
}

/* ========== CONVERSÃO — WhatsApp fixo ========== */
.whatsapp-float {
  position: fixed;
  bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  right: max(0.75rem, env(safe-area-inset-right, 0px));
  z-index: 99;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25d366;
  color: var(--branco);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: 0 4px 20px rgba(37, 211, 102, 0.5);
  transition: transform var(--transicao), box-shadow var(--transicao);
}

.whatsapp-float:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 25px rgba(37, 211, 102, 0.6);
}

.whatsapp-float-icon {
  font-size: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z'/%3E%3C/svg%3E") center/28px no-repeat;
  width: 28px;
  height: 28px;
}

/* ========== Voltar ao topo (seta — aparece após rolar) ========== */
.back-to-top {
  position: fixed;
  bottom: calc(5rem + env(safe-area-inset-bottom, 0px));
  left: max(0.75rem, env(safe-area-inset-left, 0px));
  z-index: 98;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--vermelho);
  color: var(--branco);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: var(--sombra-hover);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity var(--transicao), visibility var(--transicao), transform var(--transicao);
}

.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.back-to-top:hover {
  background: var(--vermelho-escuro);
  color: var(--branco);
}

.back-to-top-icon {
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 700;
}

/* ========== SEO DE CONTEÚDO — Seção textual (integrada ao creme + card suave) ========== */
.seo-content {
  padding: 1.5rem 0 2.25rem;
  background: transparent;
  border-top: 1px solid rgba(196, 30, 58, 0.08);
}

.seo-content-inner {
  max-width: 42rem;
  margin: 0 auto;
  padding: 1.125rem 1.35rem;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--cinza-suave);
  background: var(--branco);
  border-radius: var(--raio);
  box-shadow: var(--sombra);
  border: 1px solid rgba(196, 30, 58, 0.06);
}

/* Imagens responsivas dentro de <picture> nos destaques */
.home-destaque-card picture,
.home-destaque-card picture img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
}

@media (max-width: 600px) {
  .home-destaque-card picture img {
    height: 180px;
  }
}

.seo-content-inner p {
  margin: 0;
}

.seo-content-inner p + p {
  margin-top: 0.75em;
}

/* Top 5 — bloco SEO “Explore” (protótipo: sem caixa branca; integrado ao creme da página) */
.seo-content.seo-content--explore {
  padding: 2.5rem 0 1.5rem;
  margin-top: 0.25rem;
  border-top: none;
  background: transparent;
}

.seo-content.seo-content--explore .seo-content-inner {
  max-width: 42rem;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  border-radius: 0;
}

.seo-content.seo-content--explore .seo-content-inner::before {
  content: "";
  display: block;
  width: 2.75rem;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--vermelho) 0%, var(--amarelo) 100%);
  margin-bottom: 1rem;
}

.seo-content--explore .seo-explore-kicker {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--vermelho);
  margin: 0 0 0.5rem;
}

.seo-content--explore .seo-explore-lead {
  margin: 0 0 1.1rem;
  font-size: 0.98rem;
  line-height: 1.65;
  color: var(--cinza-texto);
  max-width: 38rem;
}

/* Negrito visível como na home (.seo-content--home) — palavras-chave em destaque */
.seo-content--explore .seo-explore-lead strong,
.cardapio .cardapio-intro strong,
main .quem-somos-inner strong,
main .prova-social-intro strong {
  font-weight: 700;
  color: var(--cinza-texto);
}

/* Links usam font-weight 500; <strong> dentro do link precisa continuar em negrito */
main .cardapio-intro a strong,
main .quem-somos-inner a strong,
main .prova-social-intro a strong {
  font-weight: 700;
  color: var(--cinza-texto);
}

.seo-content--explore .seo-actions--explore {
  justify-content: flex-start;
  margin-top: 0;
  gap: 0.55rem 0.65rem;
}

/* Chips “ghost”: sem bloco branco atrás — só borda e hover suave */
a.btn-chip.btn-chip--ghost {
  background: transparent;
  border-width: 1.5px;
  border-color: rgba(196, 30, 58, 0.32);
  color: var(--vermelho-escuro);
  box-shadow: none;
}

a.btn-chip.btn-chip--ghost:hover {
  background: rgba(196, 30, 58, 0.06);
  border-color: var(--vermelho);
  color: var(--vermelho-escuro);
  box-shadow: 0 1px 0 rgba(196, 30, 58, 0.08);
}

/* Página de produto: bloco SEO alinhado à coluna (sem “faixa” branca full-width) */
.produto-detalhe .seo-content {
  padding: 1.25rem 0 0;
  margin-top: 1.25rem;
  border-top-color: rgba(196, 30, 58, 0.08);
}

.produto-detalhe .seo-content-inner {
  max-width: none;
  margin: 0;
}

/* Página de produto (cardapio/*.html): bloco “Explore” — mantém espaçamento e remove faixa branca */
.produto-detalhe .seo-content.seo-content--explore {
  padding: 2rem 0 1.25rem;
  margin-top: 1.25rem;
  border-top: none;
}

/* Home: faixa branca full-width + texto plano (sem card interno), como antes da atualização */
.seo-content.seo-content--home {
  padding: 2rem 0 3rem;
  background: var(--branco);
  border-top: 1px solid rgba(196, 30, 58, 0.1);
}

.seo-content.seo-content--home .seo-content-inner {
  max-width: 720px;
  margin: 0 auto;
  padding: 0;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--cinza-texto);
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  border: none;
}

.seo-content.seo-content--home .seo-content-inner strong {
  font-weight: 700;
  color: var(--cinza-texto);
}

/* Links em texto corrido — marca, discretos (sem sublinhado pesado) */
main .seo-content-inner a:not(.btn-chip),
main .seo-content-rich .seo-rich a:not(.btn-chip),
main .home-destaques-intro a:not(.btn-chip),
main .cardapio-intro a:not(.cta):not(.btn-chip),
main .quem-somos-inner a,
main .prova-social-intro a,
main .cta-section .container > p a:not(.cta):not(.cta-large),
main .produto-detalhe .desc a,
main .top5-page .intro a,
main .top5-index .intro a {
  color: var(--vermelho);
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid rgba(196, 30, 58, 0.3);
  transition: color var(--transicao), border-color var(--transicao);
}

main .seo-content-inner a:not(.btn-chip):hover,
main .seo-content-rich .seo-rich a:not(.btn-chip):hover,
main .home-destaques-intro a:not(.btn-chip):hover,
main .cardapio-intro a:not(.cta):not(.btn-chip):hover,
main .quem-somos-inner a:hover,
main .prova-social-intro a:hover,
main .cta-section .container > p a:not(.cta):not(.cta-large):hover,
main .produto-detalhe .desc a:hover,
main .top5-page .intro a:hover,
main .top5-index .intro a:hover {
  color: var(--vermelho-escuro);
  border-bottom-color: rgba(154, 24, 48, 0.55);
}

/* Monte seu lanche — hero vermelho: links em texto (sem chip) */
main .msl-hero a:not(.msl-btn):not(.btn-chip) {
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.5);
  text-underline-offset: 0.15em;
  border-bottom: none;
}
main .msl-hero a:not(.msl-btn):not(.btn-chip):hover {
  color: #fffbe8;
  text-decoration-color: #fffbe8;
}

/* Chips como botões no hero bordô — pill branco, legível */
main .msl-hero a.btn-chip.msl-hero-chip {
  margin: 0.2rem 0.15rem 0.2rem 0;
  padding: 0.4rem 0.85rem;
  font-size: 0.88rem;
  font-weight: 700;
  vertical-align: middle;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  border-width: 1.5px;
  transition: background var(--transicao), border-color var(--transicao), color var(--transicao),
    box-shadow var(--transicao), transform var(--transicao);
}
main .msl-hero a.btn-chip.msl-hero-chip:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
  transform: translateY(-1px);
}

/* ========== Páginas de produto (cardapio/*.html) — layout + sidebar ========== */
.produto-page-wrap {
  display: flex;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  align-items: flex-start;
}

.produto-detalhe {
  flex: 1;
  min-width: 0;
}

.produto-detalhe .img-wrap {
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.produto-detalhe .img-wrap img {
  width: 100%;
  height: auto;
  display: block;
}

.produto-detalhe h1 {
  font-size: 1.75rem;
  color: var(--vermelho-escuro);
  margin-bottom: 0.5rem;
}

.produto-detalhe .desc {
  color: var(--cinza-texto);
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

.produto-detalhe .breadcrumb {
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}

.produto-detalhe .breadcrumb a {
  color: var(--vermelho);
  text-decoration: none;
}

.produto-detalhe .breadcrumb a:hover {
  text-decoration: underline;
}

.produto-detalhe .cta {
  display: inline-block;
  margin-top: 0.5rem;
}

.produto-sidebar {
  width: 260px;
  flex-shrink: 0;
  background: var(--branco);
  border-radius: 12px;
  padding: 1.25rem;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  position: sticky;
  top: 7rem;
  margin-top: 56px;
}

.produto-sidebar .sidebar-titulo {
  font-size: 1rem;
  color: var(--vermelho-escuro);
  margin: 1rem 0 0.5rem;
}

.produto-sidebar .sidebar-titulo:first-child {
  margin-top: 0;
}

.produto-sidebar .sidebar-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.produto-sidebar .sidebar-list li {
  margin-bottom: 0.35rem;
}

.produto-sidebar .sidebar-list a {
  color: var(--cinza-texto);
  text-decoration: none;
  font-size: 0.95rem;
  display: block;
  padding: 0.25rem 0;
  transition: color var(--transicao);
}

.produto-sidebar .sidebar-list a:hover {
  color: var(--vermelho);
}

@media (max-width: 900px) {
  .produto-page-wrap {
    flex-direction: column;
  }

  .produto-sidebar {
    width: 100%;
    position: static;
    order: 2;
  }
}

/* ========== Top 5 — layout com sidebar (top-5/*.html) ========== */
.top5-page-wrap {
  display: flex;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  align-items: flex-start;
}

.top5-page-wrap > main {
  flex: 1;
  min-width: 0;
}

.top5-page-wrap .produto-sidebar {
  margin-top: 0;
}

@media (max-width: 900px) {
  .top5-page-wrap {
    flex-direction: column;
  }

  .top5-page-wrap .produto-sidebar {
    width: 100%;
    position: static;
    order: 2;
  }
}

/* ========== ACESSIBILIDADE — Título apenas para SEO (não visível) ========== */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
