/* ==============================================================
   TEXAS BATATARIA — ESTILOS COMPARTILHADOS
   Usado por index.html e cardapio.html.

   Tudo que aparece nas DUAS paginas mora aqui: fontes, tokens da
   marca, nav/topo, botoes, animacoes, cards de prato (flip card),
   rodape e a aba flutuante do WhatsApp.

   O que e exclusivo de uma pagina fica no <style> da propria pagina,
   que carrega DEPOIS deste arquivo e portanto sobrescreve o que
   precisar (ex.: o padding e a altura estimada da .menu-section).
   ============================================================== */

/* ============================================================ */
/* 4. FONTES AUTO-HOSPEDADAS — elimina a requisicao bloqueante   */
/*    ao Google Fonts. Arquivos woff2 em assets/fonts/.          */
/* ============================================================ */
@font-face{ font-family:'Bebas Neue'; font-style:normal; font-weight:400; font-display:swap;
  src:url(../fonts/bebas-neue-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face{ font-family:'Bebas Neue'; font-style:normal; font-weight:400; font-display:swap;
  src:url(../fonts/bebas-neue-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family:'DM Sans'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url(../fonts/dm-sans-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face{ font-family:'DM Sans'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url(../fonts/dm-sans-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family:'Instrument Serif'; font-style:italic; font-weight:400; font-display:swap;
  src:url(../fonts/instrument-serif-italic-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face{ font-family:'Instrument Serif'; font-style:italic; font-weight:400; font-display:swap;
  src:url(../fonts/instrument-serif-italic-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family:'Instrument Serif'; font-style:normal; font-weight:400; font-display:swap;
  src:url(../fonts/instrument-serif-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face{ font-family:'Instrument Serif'; font-style:normal; font-weight:400; font-display:swap;
  src:url(../fonts/instrument-serif-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family:'JetBrains Mono'; font-style:normal; font-weight:400 500; font-display:swap;
  src:url(../fonts/jetbrains-mono-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face{ font-family:'JetBrains Mono'; font-style:normal; font-weight:400 500; font-display:swap;
  src:url(../fonts/jetbrains-mono-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family:'Rye'; font-style:normal; font-weight:400; font-display:swap;
  src:url(../fonts/rye-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face{ font-family:'Rye'; font-style:normal; font-weight:400; font-display:swap;
  src:url(../fonts/rye-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ============================================================ */
/* 5. ESTILOS BASE — tokens herdados do design system da marca   */
/* ============================================================ */
:root{
  --bg:#0b0807; --bg-alt:#120d0a; --surface:#1a1310; --surface-2:#221a15;
  --border:rgba(255,255,255,.08); --border-strong:rgba(224,168,63,.35);

  --gold-300:#f5d896; --gold-400:#f0c975; --gold-500:#e0a83f; --gold-600:#c98a2a; --gold-700:#a66c1d;
  --red-400:#e35c3f; --red-500:#d6432a; --red-600:#b5341f; --red-700:#8f2717;

  --cream:#f4ecd8; --cream-muted:rgba(244,236,216,.66);
  --stone-400:#a89c8a; --stone-600:#6b6055;
  --leather:#5c3a22; --rope:#c9a66b; --cactus:#5c7a52;

  --font-display:'Rye', serif; --font-impact:'Bebas Neue', sans-serif;
  --font-body:'DM Sans', sans-serif; --font-accent:'Instrument Serif', serif; --font-mono:'JetBrains Mono', monospace;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
html{ background:var(--bg); scroll-behavior:smooth; }
body{
  font-family:var(--font-body); background:var(--bg); color:var(--cream);
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
h1,h2,p{ margin:0; }
img{ display:block; max-width:100%; }
a{ color:inherit; }
::selection{ background:var(--gold-600); color:#1a1310; }
:focus-visible{ outline:2px solid var(--gold-400); outline-offset:3px; border-radius:2px; }

.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* ---- nav ---- */
.hero-nav{ position:relative; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:clamp(.85rem,2vw,1.3rem) clamp(1rem,4vw,2.5rem); }
.brand{ display:flex; align-items:center; gap:.65rem; text-decoration:none; }
.brand img{ width:38px; height:38px; border-radius:50%; object-fit:cover; border:1px solid rgba(224,168,63,.5); }
.brand span{ font-family:var(--font-display); font-size:clamp(1.05rem,2vw,1.35rem); letter-spacing:.01em; color:var(--cream); line-height:1; }
.brand span b{ font-weight:400; color:var(--gold-500); }
.brand span i{ font-style:normal; color:var(--red-500); }

.nav-links{ display:flex; align-items:center; gap:1.75rem; font-family:var(--font-mono); font-size:.68rem;
  text-transform:uppercase; letter-spacing:.2em; color:rgba(244,236,216,.7); }
.nav-links a{ text-decoration:none; position:relative; padding-bottom:.2rem; transition:color .25s ease; }
.nav-links a svg{ position:absolute; left:0; bottom:-4px; width:100%; height:6px; overflow:visible; }
.nav-links a svg path{ stroke:var(--gold-500); stroke-width:2; fill:none; stroke-linecap:round; stroke-dasharray:120; stroke-dashoffset:120; transition:stroke-dashoffset .4s ease; }
.nav-links a:hover{ color:var(--cream); }
.nav-links a:hover svg path{ stroke-dashoffset:0; }

.btn-shine{ position:relative; overflow:hidden; isolation:isolate; }
.btn-shine::after{ content:""; position:absolute; top:0; left:-60%; width:40%; height:100%;
  background:linear-gradient(115deg, transparent, rgba(255,255,255,.5), transparent); transform:skewX(-20deg);
  transition:left .65s ease; z-index:1; }
.btn-shine:hover::after, .btn-shine:focus-visible::after{ left:130%; }

@keyframes glow-pulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(224,168,63,.45), 0 6px 24px -6px rgba(224,168,63,.5); } 50%{ box-shadow:0 0 0 8px rgba(224,168,63,0), 0 10px 30px -4px rgba(224,168,63,.65); } }

.nav-cta{ display:inline-flex; align-items:center; gap:.4rem; padding:.6rem 1.1rem; border-radius:.7rem;
  font-family:var(--font-mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.15em; font-weight:500;
  color:#1a1310; text-decoration:none; background:linear-gradient(135deg,var(--gold-400),var(--gold-600));
  animation:glow-pulse 2.8s ease-in-out infinite; white-space:nowrap; }

.eyebrow-pill{ align-self:flex-start; display:inline-flex; align-items:center; gap:.55rem;
  padding:.4rem 1rem; border-radius:999px; border:1px solid rgba(224,168,63,.4); background:rgba(0,0,0,.4);
  color:var(--gold-400); font-family:var(--font-mono); font-size:.66rem; text-transform:uppercase; letter-spacing:.22em; }
.eyebrow-pill.back-link{ text-decoration:none; transition:border-color .25s ease, color .25s ease; }
.eyebrow-pill.back-link:hover{ border-color:var(--gold-500); color:var(--gold-300); }
.dot{ width:6px; height:6px; border-radius:50%; background:var(--red-500); }
@keyframes flicker{ 0%,100%{ opacity:.85; transform:scale(1); } 50%{ opacity:1; transform:scale(1.15); } }
.dot{ animation:flicker 2.2s ease-in-out infinite; }

.btn{ display:inline-flex; align-items:center; gap:.55rem; padding:.9rem 1.5rem; border-radius:.85rem;
  font-family:var(--font-body); font-weight:700; font-size:.82rem; text-transform:uppercase; letter-spacing:.08em;
  text-decoration:none; min-height:44px; transition:transform .25s cubic-bezier(.2,.8,.2,1), border-color .25s ease, background .25s ease; }
.btn:active{ transform:translateY(1px); }
.btn-primary{ color:#1a1310; background:linear-gradient(135deg,var(--gold-400),var(--gold-600)); animation:glow-pulse 2.8s ease-in-out infinite; }
.btn-primary:hover{ transform:translateY(-2px); }
.btn-secondary{ color:var(--cream); background:transparent; border:1px solid rgba(255,255,255,.2); }
.btn-secondary:hover{ border-color:var(--gold-500); color:var(--gold-300); background:rgba(224,168,63,.06); }

@media (max-width:1023px){
  .nav-links{ display:none; }
}

/* ============================================================ */
/* 7. ACESSIBILIDADE / 8. ANIMAÇÕES DE ENTRADA                    */
/* ============================================================ */
@keyframes rise{ from{ opacity:0; transform:translateY(22px); } to{ opacity:1; transform:translateY(0); } }
@keyframes stamp-in{ 0%{ opacity:0; transform:scale(1.2) rotate(-3deg); filter:blur(2px); } 60%{ opacity:1; transform:scale(.98) rotate(.5deg); filter:blur(0); } 100%{ opacity:1; transform:scale(1) rotate(0); } }
.rise{ opacity:0; animation:rise .4s cubic-bezier(.16,.8,.3,1) both; }
.stamp{ opacity:0; animation:stamp-in .35s cubic-bezier(.2,.8,.3,1.1) both; }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.01ms !important; animation-delay:0s !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .reveal{ opacity:1 !important; }
}

/* ============================================================ */
/* CARDÁPIO                                                       */
/* ============================================================ */
.reveal{ opacity:0; }
.reveal.is-visible{ animation:rise .8s cubic-bezier(.16,.8,.3,1) both; }
.reveal.stamp.is-visible{ animation:stamp-in .7s cubic-bezier(.2,.8,.3,1.1) both; }

/* padding, border-top e contain-intrinsic-size ficam em cada pagina (valores diferentes) */
.menu-section{ position:relative; overflow:hidden; background:var(--bg-alt); }
.menu-bgfx{ position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
/* font-family serif, e nao a Rye, de proposito: o glifo aqui e' a estrela
   U+2605, que nao existe no subset da Rye — ela sempre caiu no fallback do
   sistema. Declarar a Rye so prendia a pintura deste elemento ao download
   dela, e o Lighthouse identificou justamente esta estrela como elemento
   de LCP. A renderizacao e' identica (largura medida: 83,30px nos dois). */
.watermark{ position:absolute; font-family:serif; font-size:min(38vw,520px); color:rgba(224,168,63,.045);
  user-select:none; line-height:.8; white-space:nowrap; left:50%; top:52%; transform:translate(-50%,-50%); }
.menu-watermark{ top:8%; left:50%; transform:translateX(-50%); font-size:min(30vw,380px); }
.glow-blob{ position:absolute; border-radius:999px; filter:blur(90px); }
@keyframes drift{ 0%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(3%,-4%) scale(1.08); } 100%{ transform:translate(0,0) scale(1); } }
@keyframes drift-rev{ 0%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(-4%,3%) scale(1.06); } 100%{ transform:translate(0,0) scale(1); } }
.glow-gold{ background:radial-gradient(circle, rgba(224,168,63,.30), transparent 70%); animation:drift 14s ease-in-out infinite; }
.glow-red{ background:radial-gradient(circle, rgba(214,67,42,.22), transparent 70%); animation:drift-rev 18s ease-in-out infinite; }

.menu-container{ position:relative; z-index:1; max-width:1200px; margin:0 auto; padding:0 clamp(1.1rem,4vw,2.5rem); }

.menu-header{ text-align:center; max-width:44rem; display:flex; flex-direction:column; align-items:center; gap:.9rem; }
.menu-title{ font-family:var(--font-display); text-transform:uppercase; color:var(--cream); line-height:.9; font-size:clamp(2.4rem,6vw,4.2rem); }
.menu-support{ color:var(--cream-muted); font-size:clamp(.9rem,1.2vw,1.05rem); line-height:1.6; max-width:40ch; }

.price-cta{ display:inline-flex; align-items:center; gap:.35rem; padding:.4rem .75rem; border-radius:999px;
  border:1px solid var(--border); font-family:var(--font-mono); font-size:.64rem; text-transform:uppercase;
  letter-spacing:.08em; color:var(--gold-400); text-decoration:none; white-space:nowrap; flex-shrink:0;
  transition:color .25s ease, border-color .25s ease, background .25s ease; }
.price-cta:hover{ color:var(--gold-300); border-color:var(--border-strong); background:rgba(224,168,63,.06); }
.price-cta iconify-icon{ font-size:.85rem; }

/* categorias e cards de prato */
.menu-category{ margin-bottom:clamp(2.5rem,6vh,3.5rem); }
.menu-category-head{ display:flex; align-items:center; gap:.75rem; margin-bottom:1.4rem; }
.menu-category-head iconify-icon{ color:var(--gold-500); font-size:1.3rem; flex-shrink:0; }
.menu-category-head h2{ font-family:var(--font-display); text-transform:uppercase; color:var(--cream);
  font-size:clamp(1.4rem,2.6vw,1.9rem); line-height:1; white-space:nowrap; margin:0; }
.menu-category-head .line{ flex:1; height:1px; background:linear-gradient(90deg, var(--border-strong), transparent); }

.dish-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(13.5rem,1fr)); gap:1.1rem; }

/* flip card: frente = foto, verso = ingredientes. Hover vira no mouse, toque/Enter vira via .is-flipped */
.dish-card{ position:relative; aspect-ratio:3/4; border-radius:.9rem; cursor:pointer; perspective:1400px; }
.dish-card:focus-visible{ outline:2px solid var(--gold-400); outline-offset:4px; border-radius:1rem; }
.dish-card-inner{ position:relative; width:100%; height:100%; transform-style:preserve-3d;
  transition:transform .7s cubic-bezier(.4,.2,.2,1); }
.dish-card:hover .dish-card-inner, .dish-card.is-flipped .dish-card-inner{ transform:rotateY(180deg); }

.dish-card-face{ position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden;
  overflow:hidden; border:1px solid var(--border); border-radius:.9rem; transition:border-color .3s ease; }
.dish-card:hover .dish-card-face{ border-color:var(--border-strong); }

.dish-card-front{ background:var(--surface); }
.dish-card-front img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.dish-card:hover .dish-card-front img{ transform:scale(1.06); }
.dish-card-front-overlay{ position:absolute; inset:0; z-index:1; display:flex; align-items:flex-end;
  padding:.9rem; background:linear-gradient(0deg, rgba(11,8,7,.92) 8%, rgba(11,8,7,.1) 55%, transparent 78%); }
.dish-card-front-overlay h3{ font-family:var(--font-display); text-transform:uppercase; color:var(--cream);
  font-size:1.1rem; line-height:1; margin:0; }

.flip-hint{ position:absolute; top:.65rem; right:.65rem; z-index:2; display:inline-flex; align-items:center; gap:.3rem;
  padding:.32rem .6rem; border-radius:999px; background:rgba(11,8,7,.6); border:1px solid rgba(224,168,63,.35);
  font-family:var(--font-mono); font-size:.56rem; text-transform:uppercase; letter-spacing:.1em; color:var(--gold-300); }
.flip-hint iconify-icon{ font-size:.78rem; }

.dish-card-back{ transform:rotateY(180deg); background:var(--surface-2); padding:1rem 1.1rem;
  display:flex; flex-direction:column; justify-content:space-between; }
.dish-card-back h3{ font-family:var(--font-body); font-weight:700; font-size:.98rem; color:var(--cream); margin:0 0 .4rem; }
.dish-card-back p{ color:var(--cream-muted); font-size:.8rem; line-height:1.5; margin:0; }
.dish-card-back .price-cta{ align-self:flex-end; margin-top:.7rem; }

@media (max-width:720px){
  .menu-category-head h2{ white-space:normal; }
}

/* ============================================================ */
/* RODAPÉ                                                         */
/* ============================================================ */
.site-footer{ position:relative; overflow:hidden; background:var(--bg);
  border-top:1px solid var(--border-strong); padding:clamp(3rem,7vh,4.5rem) 0 clamp(1.5rem,4vh,2rem); }
.footer-bgfx{ position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.footer-watermark{ bottom:-8%; left:50%; transform:translateX(-50%); font-size:min(26vw,340px); }

.footer-container{ position:relative; z-index:1; max-width:1200px; margin:0 auto; padding:0 clamp(1.1rem,4vw,2.5rem); }

.footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:clamp(2rem,5vw,3rem);
  padding-bottom:clamp(2.5rem,6vh,3.5rem); border-bottom:1px solid var(--border); }

.footer-brand{ display:flex; flex-direction:column; gap:1rem; }
.footer-tagline{ color:var(--cream-muted); font-size:.85rem; line-height:1.6; max-width:26rem; }
.footer-social{ display:flex; gap:.6rem; }
.footer-social a{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px;
  border-radius:.6rem; border:1px solid var(--border); color:rgba(244,236,216,.6); text-decoration:none;
  transition:border-color .25s ease, color .25s ease, transform .25s ease; }
.footer-social a:hover{ border-color:var(--gold-500); color:var(--gold-400); transform:translateY(-2px); }
.footer-social iconify-icon{ font-size:1.05rem; }

.footer-col h6{ font-family:var(--font-mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.18em;
  color:var(--gold-500); margin:0 0 1.1rem; font-weight:500; }
.footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.65rem; }
.footer-col li{ display:flex; align-items:center; gap:.5rem; font-size:.86rem; color:rgba(244,236,216,.7); }
.footer-col a{ color:inherit; text-decoration:none; transition:color .25s ease; }
.footer-col a:hover{ color:var(--gold-400); }
.footer-col iconify-icon{ color:var(--gold-600); font-size:.95rem; flex-shrink:0; }
.footer-note{ margin-top:.75rem; font-size:.74rem; line-height:1.5; color:rgba(244,236,216,.4); }

.footer-delivery{ flex-direction:column !important; align-items:stretch !important; gap:.7rem !important; }
.footer-delivery li{ width:100%; }
.delivery-btn{ display:flex; align-items:center; gap:.9rem; padding:.85rem 1.1rem; border-radius:.85rem;
  border:1px solid var(--border); background:rgba(255,255,255,.03); text-decoration:none;
  font-family:var(--font-body); font-weight:700; font-size:.92rem; color:var(--cream);
  transition:transform .3s cubic-bezier(.2,.8,.2,1), border-color .3s ease, background .3s ease; }
.delivery-btn:hover{ transform:translateX(4px); border-color:var(--border-strong); background:rgba(224,168,63,.07); }
.delivery-btn-logo{ height:2.3rem; width:auto; max-width:4.2rem; flex-shrink:0; border-radius:.4rem; object-fit:contain; }
.delivery-btn iconify-icon{ margin-left:auto; font-size:1.1rem; color:rgba(244,236,216,.4);
  transition:color .25s ease, transform .25s ease; }
.delivery-btn:hover iconify-icon{ color:var(--gold-400); transform:translate(2px,-2px); }

.footer-bottom{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.2rem;
  padding-top:clamp(1.5rem,4vh,2rem); }
.footer-bottom p{ font-family:var(--font-mono); font-size:.64rem; letter-spacing:.05em; color:rgba(244,236,216,.35); }
.footer-cta{ padding:.7rem 1.3rem; font-size:.7rem; }

@media (max-width:900px){
  .footer-top{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .footer-top{ grid-template-columns:1fr; text-align:center; }
  .footer-brand{ align-items:center; }
  .footer-social{ justify-content:center; }
  .footer-col ul{ align-items:center; }
  .footer-bottom{ flex-direction:column; text-align:center; }
}

/* ============================================================ */
/* ABA FLUTUANTE — pedido no WhatsApp com 5% de desconto          */
/* ============================================================ */
.whatsapp-fab{ position:fixed; right:clamp(.9rem,3vw,1.5rem); bottom:clamp(.9rem,3vw,1.5rem); z-index:200;
  display:inline-flex; align-items:center; gap:.75rem; padding:.6rem 1.2rem .6rem .6rem; border-radius:999px;
  text-decoration:none; background:linear-gradient(135deg,#2fe077,#128c4a);
  box-shadow:0 14px 34px -10px rgba(0,0,0,.7); animation:fab-pulse 2.6s ease-in-out infinite;
  transition:opacity .3s ease, transform .3s ease; }
.whatsapp-fab.is-hidden{ opacity:0; transform:translateY(12px) scale(.94); pointer-events:none; }
.whatsapp-fab-icon{ width:2.6rem; height:2.6rem; border-radius:50%; background:rgba(255,255,255,.18);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.whatsapp-fab-icon iconify-icon{ font-size:1.5rem; color:#fff; }
.whatsapp-fab-text{ display:flex; flex-direction:column; line-height:1.2; }
.whatsapp-fab-text strong{ font-family:var(--font-body); font-weight:800; font-size:.82rem; color:#fff;
  text-transform:uppercase; letter-spacing:.01em; white-space:nowrap; }
.whatsapp-fab-text span{ font-family:var(--font-mono); font-size:.66rem; text-transform:uppercase; letter-spacing:.04em;
  color:#1a1310; background:var(--gold-400); padding:.05rem .4rem; border-radius:999px; margin-top:.2rem;
  align-self:flex-start; font-weight:700; white-space:nowrap; }

@keyframes fab-pulse{
  0%,100%{ box-shadow:0 14px 34px -10px rgba(0,0,0,.7), 0 0 0 0 rgba(47,224,119,.55); }
  50%{ box-shadow:0 14px 34px -10px rgba(0,0,0,.7), 0 0 0 12px rgba(47,224,119,0); }
}

@media (max-width:480px){
  .whatsapp-fab-text strong{ font-size:.74rem; }
  .whatsapp-fab-text span{ font-size:.6rem; }
}
