:root{
  --bg0:#020617;
  --card:#0b1220;
  --bdr:#1e293b;
  --txt:#e5e7eb;
  --mut:#9ca3af;
  --p:#4f46e5;
  --p2:#4338ca;
  --g:#22c55e;
  --shadow: 0 18px 60px rgba(0,0,0,.35);

  /* WhatsApp (clássico) */
  --waClassic:#25D366;
  --waClassicHover:#1EBE57;

  /* Ajuste principal de posição do botão flutuante
     - quanto MENOR: mais para baixo
     - quanto MAIOR: sobe
  */
  --waBottom: 12px;

  /* Mayla */
  --g1:#16a34a; --g2:#15803d;
  --bubble:linear-gradient(135deg,#4f46e5,#7c3aed);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--txt);
  background:
    radial-gradient(1200px 650px at 18% 12%, rgba(79,70,229,.35), transparent 60%),
    radial-gradient(900px 520px at 82% 0%, rgba(34,197,94,.20), transparent 55%),
    radial-gradient(circle at top,#111827 0%,#020617 55%,#000 100%);
  padding-top: 72px;
      padding-bottom: 76px; /* espaço para barra fixa */ /* espaço para nav fixa */
}
a{color:inherit;text-decoration:none}
.container{width:min(1120px, calc(100% - 32px)); margin:0 auto;}

/* ===== NAV (FIXA) ===== */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background: rgba(2,6,23,.86);
  border-bottom:1px solid rgba(148,163,184,.14);
  backdrop-filter: blur(10px);
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:12px 0;
}
.brand{
  display:flex; align-items:center; gap:12px; min-width: 240px;
}
.brand img{height:46px; width:auto}
.sim-top{
  border:0; cursor:pointer;
  background: var(--p);
  color:#fff;
  padding:10px 16px;
  border-radius:999px;
  font-weight:900;
  font-size:13px;
  box-shadow: 0 10px 28px rgba(79,70,229,.35);
  -webkit-tap-highlight-color: transparent;
  white-space: nowrap;
}
.sim-top:hover{background:var(--p2)}
.nav-links{ display:flex; align-items:center; gap:8px; }
.nav-links a{
  font-weight:900;
  color: rgba(226,232,240,.92);
  padding:10px 12px;
  border-radius:12px;
  font-size:12px;
}
.nav-links a:hover{background: rgba(148,163,184,.10);}
.nav-toggle{
  display:none;
  border:1px solid rgba(148,163,184,.18);
  background: rgba(15,23,42,.55);
  color: var(--txt);
  height:40px; width:44px;
  border-radius: 12px;
  cursor:pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ===== HERO ===== */
.hero{padding:46px 0 18px;}
.hero-grid{
  display:grid;
  grid-template-columns: 1.25fr .85fr;
  gap: 22px;
  align-items:center;
}
.h-eyebrow{
  display:inline-flex; gap:8px; align-items:center;
  padding: 8px 12px; border-radius: 999px;
  border:1px solid rgba(148,163,184,.18);
  background: rgba(15,23,42,.55);
  color: rgba(226,232,240,.92);
  font-weight: 900; font-size: 12px;
}
.h1{
  margin: 12px 0 10px;
  font-size: clamp(34px, 4.6vw, 60px);
  line-height: 1.02;
  font-weight: 1000;
  letter-spacing: -.8px;
}
.badge40{
  display:inline-block;
  color: var(--g);
  background: rgba(34,197,94,.16);
  border: 1px solid rgba(34,197,94,.22);
  padding: 0 10px;
  border-radius: 12px;
  transform: translateY(-2px);
}
.h2{
  margin: 0 0 16px;
  font-size: clamp(16px, 2vw, 20px);
  color: rgba(226,232,240,.86);
  line-height: 1.35;
}
.pills{
  display:flex; flex-wrap:wrap; gap:10px;
  margin: 10px 0 12px;
}
.pill{
  border-radius: 999px;
  border: 1px solid rgba(148,163,184,.18);
  background: rgba(2,6,23,.55);
  padding: 8px 12px;
  font-weight: 900;
  font-size: 13px;
  color: rgba(226,232,240,.92);
}
.leadline{
  font-weight: 900;
  font-size: 18px;
  color: rgba(226,232,240,.92);
}
.hero-card{
  background: rgba(11,18,32,.72);
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 18px;
  padding: 18px;
  box-shadow: var(--shadow);
}
.big-sim{
  width:100%;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(79,70,229,.95);
  color:#fff;
  cursor:pointer;
  padding: 34px 16px;
  min-height: 180px;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  font-weight: 1000;
  letter-spacing: .6px;
  line-height:1.05;
  font-size: clamp(30px, 3.2vw, 52px);
  box-shadow: 0 18px 55px rgba(79,70,229,.35);
  -webkit-tap-highlight-color: transparent;
}
.big-sim:hover{ background: rgba(67,56,202,.95); }

/* ===== OPS ===== */
.ops{
  background:#fff;
  color:#0f172a;
  padding: 28px 0;
  margin-top: 18px;
  border-top: 1px solid rgba(0,0,0,.06);
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.ops .sh{ text-align:center; }
.ops h2{
  margin:0;
  font-weight: 1000;
  font-size: 30px;
  letter-spacing: -.3px;
}
.ops p{
  margin:10px 0 0;
  color:#64748b;
  font-size: 12px;
}
.ops-marquee{ overflow:hidden; margin-top: 16px; }
.ops-track{
  display:flex; gap:16px; align-items:center; width:max-content;
  padding: 6px 0;
  animation: scroll 42s linear infinite;
  will-change: transform;
}
.ops-track:hover{ animation-play-state: paused; }
.ops-chip{
  height: 48px;
  min-width: 140px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.12);
  background:#fff;
  box-shadow: 0 16px 40px -30px rgba(0,0,0,.45);
  display:flex; align-items:center; justify-content:center;
  font-weight: 1000;
  font-size: 16px;
  white-space: nowrap;
}
@keyframes scroll{ from{ transform: translateX(0);} to{ transform: translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .ops-track{ animation:none; } }

/* ===== SECTIONS ===== */
.section{
  padding: 74px 0;
  background:#fff;
  color:#0f172a;
}
.section.alt{ background: #f8fafc; }
.section .sh{
  text-align:center;
  margin-bottom: 26px;
  padding: 0 10px;
}
.section .sh h2{
  margin:0;
  font-weight: 1000;
  font-size: 32px;
  letter-spacing: -.4px;
}
.section .sh p{
  margin:10px 0 0;
  color:#64748b;
  font-size: 12px;
  line-height: 1.4;
}
.grid-2{ display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.feature{
  background:#fff;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  padding: 16px;
  display:flex; gap: 12px;
  transition: transform .15s ease, box-shadow .15s ease;
}
.feature:hover{ transform: translateY(-2px); box-shadow: 0 18px 60px -40px rgba(0,0,0,.35); }
.fi{
  width: 54px; height: 54px;
  border-radius: 16px;
  background: rgba(79,70,229,.10);
  display:flex; align-items:center; justify-content:center;
  flex: 0 0 auto;
  color: var(--p);
}
.fi svg{ width: 26px; height: 26px; }
.feature h4{ margin: 2px 0 6px; font-size: 18px; font-weight: 1000; }
.feature p{ margin: 0; color:#475569; font-size: 12px; line-height: 1.35; }

/* Contratação (maior e proporcional) */
#contratacao .feature{ padding: 18px; gap: 16px; }
#contratacao .fi{ width:58px; height:58px; border-radius:18px; }
#contratacao .fi svg{ width:28px; height:28px; }
#contratacao .feature h4{ font-size: 20px; line-height:1.15; letter-spacing:-.2px; }
#contratacao .feature p{ font-size: 15px; line-height:1.45; }

/* ===== BENEFÍCIOS ===== */
.benefits{
  padding: 74px 0;
  background: linear-gradient(90deg, rgba(79,70,229,.95), rgba(34,197,94,.65));
  color:#fff;
}
.benefits .sh{ text-align:center; margin-bottom: 26px; padding: 0 10px; }
.benefits .sh h2{
  margin:0;
  font-weight: 1000;
  font-size: 32px;
  letter-spacing: -.4px;
  color:#fff;
}
.benefits .sh p{
  margin:10px 0 0;
  color: rgba(255,255,255,.86);
  font-size: 12px;
  line-height: 1.4;
}
.benefit-card{
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 18px;
  padding: 18px;
  display:flex;
  gap: 12px;
  align-items:flex-start;
  backdrop-filter: blur(6px);
  transition: transform .15s ease, box-shadow .15s ease;
}
.benefit-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 60px -40px rgba(0,0,0,.45);
}
.benefit-ico{
  width: 58px; height: 58px;
  border-radius: 18px;
  background: rgba(255,255,255,.18);
  display:flex; align-items:center; justify-content:center;
  flex: 0 0 auto;
  color:#fff;
}
.benefit-ico svg{ width: 28px; height: 28px; }
.benefit-card h4{
  margin: 2px 0 6px;
  font-size: 20px;
  line-height:1.15;
  letter-spacing:-.2px;
  font-weight: 1000;
  color:#fff;
}
.benefit-card p{
  margin:0;
  color: rgba(255,255,255,.86);
  font-size: 15px;
  line-height: 1.45;
}

/* ===== MAP ===== */
.mapbox{
  background:#fff;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  overflow:hidden;
}
.mapbox iframe{ width:100%; height: 280px; border:0; display:block; }
.mapbox .addr{ padding: 12px 12px; color:#334155; font-weight: 900; font-size:12px; }

/* CONTATOS */
.contacts-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  max-width: 980px;
  margin: 0 auto;
}
.cc{
  background:#fff;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  padding: 16px;
  color:#0f172a;
}
.cc h3{ margin:0 0 8px; font-weight: 1000; font-size:18px; }
.cc p{ margin:0; color:#475569; font-size:12px; }
.contact-links{
  margin-top: 10px;
  display:flex; flex-wrap:wrap;
  gap:10px;
}
.link-pill{
  display:inline-flex; align-items:center; gap:8px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.12);
  background: #fff;
  font-weight: 1000;
  font-size: 13px;
  color: #0f172a;
  box-shadow: 0 16px 40px -34px rgba(0,0,0,.45);
  transition: transform .12s ease;
}
.link-pill:hover{ transform: translateY(-1px); }
.link-pill svg{ width:16px; height:16px; }

/* ===== FOOTER ===== */
.footer{
  padding: 28px 0 70px;
  border-top: 1px solid rgba(148,163,184,.12);
  background: rgba(2,6,23,.86);
}
.footer .foot{
  display:flex; align-items:center; justify-content:space-between;
  gap: 12px; flex-wrap:wrap;
  color: rgba(226,232,240,.74);
  font-size: 12px;
}
.footer img{ height: 40px; width:auto; }

/* ===== FIXED BOTTOM BAR (Counter + WhatsApp) ===== */
    .mini-bar{
      position: fixed; left:0; right:0; bottom:0;
      background:#ffffff;
      color:#0f172a;
      min-height: 54px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 12px;
      z-index: 1100;
      box-shadow: 0 -10px 30px rgba(0,0,0,.18);
      font-weight: 1000;
      font-size: 16px;
      padding: 10px 14px;
      text-align:left;
    }
    .mini-left{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
    .mini-bar span{ color: var(--p); }

    @media (max-width: 520px){
      .mini-bar{ font-size: 14px; padding: 10px 12px; }
      /* fica só o "dot" + cor (mais limpo no mobile) */
    }

/* ===========================
   MAYLA (POPUP)
============================ */
#mayla-popup.popup-wrapper{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; z-index:9999; }
#mayla-popup.popup-wrapper.open{ display:flex; }
.popup-backdrop{ position:absolute; inset:0; background:rgba(15,23,42,.92); backdrop-filter:blur(8px); }

.popup-card{
  position:relative; z-index:1;
  width:min(520px, 92vw);
  background:radial-gradient(circle at top left,#111827 0%,#020617 62%,#020617 100%);
  border:1px solid var(--bdr);
  border-radius:22px;
  padding:18px 18px 16px;
  box-shadow:0 25px 90px rgba(0,0,0,.85);
}
.popup-close{
  position:absolute; top:12px; right:12px;
  width:38px; height:38px; border-radius:999px;
  border:1px solid #334155; background:#020617; color:#94a3b8;
  cursor:pointer; font-size:20px;
  display:flex; align-items:center; justify-content:center;
  transition:transform .2s ease, background .2s ease, color .2s ease;
}
.popup-close:hover{ background:#1e293b; color:#e5e7eb; transform:rotate(90deg); }

.chat-header{ display:flex; gap:12px; align-items:center; margin-bottom:12px; }
.chat-avatar{
  width:54px; height:54px; border-radius:999px; overflow:hidden;
  border:3px solid #22c55e; box-shadow:0 0 0 4px rgba(34,197,94,.18);
  flex:0 0 auto;
}
.chat-avatar img{ width:100%; height:100%; object-fit:cover; }
.chat-header-text{ flex:1; min-width:0; }
.chat-name{ font-weight:1000; font-size:1.05rem; display:flex; gap:8px; align-items:center; }
.chat-badge{ font-size:.75rem; color:var(--mut); font-weight:700; }
.chat-status{ display:inline-flex; gap:6px; align-items:center; font-size:.78rem; color:#a5b4fc; margin-top:2px; }
.dot{ width:9px; height:9px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 4px rgba(34,197,94,.22); }
.chat-subtitle{ font-size:.85rem; color:var(--mut); margin-top:2px; }

.chat-content{
  border:1px solid #1e293b; border-radius:18px;
  background:radial-gradient(circle at top left,#111827 0%,#020617 68%,#020617 100%);
  padding:12px;
}
.chat-bubble{
  background:var(--bubble);
  border-radius:18px 18px 6px 18px;
  padding:12px 12px;
  box-shadow:0 16px 35px rgba(15,23,42,.75);
  font-size:.92rem; line-height:1.45;
  min-height:52px;
}
.bubble-typing{ display:none; margin-top:8px; font-size:.8rem; opacity:.9; }
.typing-dots{ display:inline-flex; gap:4px; margin-left:6px; vertical-align:middle; }
.typing-dots span{ width:5px; height:5px; border-radius:50%; background:#e0e7ff; opacity:.3; animation:blink 1.2s infinite; }
.typing-dots span:nth-child(2){ animation-delay:.2s; }
.typing-dots span:nth-child(3){ animation-delay:.4s; }
@keyframes blink{ 0%,100%{opacity:.3} 50%{opacity:1} }

.chat-step{ margin-top:12px; }
.popup-step{ display:none; }
.popup-step.active{ display:block; }

.row{
  margin-top:12px;
  display:flex; gap:10px; flex-wrap:wrap; align-items:center;
}
.inp{
  flex:1 1 210px;
  height:46px;
  border-radius:12px;
  border:1px solid #1f2937;
  background:#020617;
  color:var(--txt);
  padding:12px 12px;
  font-size:16px;
  box-shadow: inset 0 0 0 1px rgba(15,23,42,.55);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.inp:focus{ outline:none; border-color:#6366f1; box-shadow:0 0 0 4px rgba(99,102,241,.22); }
.inp::placeholder{ color:#6b7280; font-size:12px; }
.inp.error{ border-color:#ef4444; box-shadow:0 0 0 4px rgba(239,68,68,.18); }

.btn{
  height:46px;
  border-radius:12px;
  border:0;
  cursor:pointer;
  padding:12px 18px;
  font-weight:1000;
  font-size:13px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#fff;
  background:var(--p);
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
  -webkit-tap-highlight-color: transparent;
}
.btn:hover{ background:var(--p2); transform:translateY(-1px); box-shadow:0 8px 22px rgba(79,70,229,.45); }
.btn:disabled{ opacity:.65; cursor:not-allowed; transform:none; box-shadow:none; }

.btnRow{ margin-top:12px; display:flex; gap:10px; flex-wrap:wrap; }
.opt{
  flex:1 1 140px;
  height:48px;
  border-radius:12px;
  border:0;
  cursor:pointer;
  font-weight:1000;
  font-size:.92rem;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  color:#fff;
  -webkit-tap-highlight-color: transparent;
}
.opt:hover{ transform:translateY(-1px); box-shadow:0 10px 24px rgba(0,0,0,.35); }
.purple{ background:var(--p); }
.purple:hover{ background:var(--p2); }
.green{ background:var(--g1); }
.green:hover{ background:var(--g2); }

.err{
  margin-top:10px; display:none;
  background:rgba(127,29,29,.38);
  border:1px solid rgba(239,68,68,.35);
  color:#fecaca;
  padding:10px 12px;
  border-radius:12px;
  font-size:.82rem;
}
.steps{ margin-top:8px; text-align:right; color:#64748b; font-size:.78rem; }

.phoneWrap{ display:flex; gap:10px; width:100%; flex-wrap:wrap; align-items:center; }
.ddiSelect{
  flex:0 0 170px;
  height:46px;
  border-radius:12px;
  border:1px solid #1f2937;
  background:#020617;
  color:var(--txt);
  padding:10px 12px;
  font-size:12px;
}
.ddiSelect:focus{ outline:none; border-color:#6366f1; box-shadow:0 0 0 4px rgba(99,102,241,.22); }
.telInput{ flex:1 1 220px; min-width:180px; }

#mayla-final-banner{
  display:none;
  width:min(920px,92vw);
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom: calc(58px + env(safe-area-inset-bottom));
  z-index: 950;
  margin:0;
  padding:18px;
  border-radius:18px;
  border:1px solid #1e293b;
  background:radial-gradient(circle at top left,#1f2937 0%,#020617 60%,#020617 100%);
  box-shadow:0 22px 70px rgba(0,0,0,.85);
}
.final-flex{ display:flex; gap:12px; align-items:flex-start; }
.final-avatar img{ width:64px; height:64px; border-radius:999px; border:3px solid #22c55e; object-fit:cover; box-shadow:0 0 0 5px rgba(34,197,94,.16); }
.final-title{ font-weight:1000; font-size:1.05rem; margin-bottom:6px; color:#e5e7eb; }
.final-text{ color:var(--mut); font-size:.92rem; line-height:1.55; margin-bottom:10px; }
.final-strong{ font-weight:1000; color:#a5b4fc; font-size:.92rem; }

/* ===== MOBILE ===== */
@media (max-width: 920px){
  .hero-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 760px){
  body{ padding-top: 70px; }
  .brand{ min-width: auto; }
  .brand img{ height: 44px; }
  .sim-top{ padding: 10px 12px; }
  .nav-toggle{ display:inline-flex; align-items:center; justify-content:center; }
  .nav-links{
    position:absolute;
    top: 70px; left: 0; right: 0;
    background: rgba(2,6,23,.96);
    border-bottom: 1px solid rgba(148,163,184,.12);
    padding: 10px 16px;
    display:none;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }
  .nav-links.is-open{ display:flex; }
  .grid-2{ grid-template-columns: 1fr; }
  .contacts-grid{ grid-template-columns: 1fr; }
  .ops-chip{ font-size: 15px; height: 46px; min-width: 132px; }
}
@media (max-width:600px){
  .popup-card{ width:92vw; max-width:420px; padding:16px; border-radius:20px; }
  .chat-avatar{ width:50px; height:50px; }
  .chat-bubble{ font-size:.9rem; }
  .ddiSelect{ flex:0 0 160px; }
  .btn, .opt, .inp{ height:48px; }
}


/* Accessibility */
:focus-visible{ outline: 3px solid rgba(99,102,241,.7); outline-offset: 3px; }


/* ===== COUNTER BAR ===== */
.mini-bar{
  position: fixed; left:0; right:0; bottom:0;
  background:#fff;
  color:#0f172a;
  height: 44px; display:flex; align-items:center; justify-content:center;
  z-index: 900;
  box-shadow: 0 -10px 30px rgba(0,0,0,.18);
  font-weight: 1000;
  font-size: 18px;
  padding: 0 12px;
  text-align:center;
}
.mini-bar span{ color: var(--p); }


/* acima da barra do contador */
  right: 20px;

  background-color: var(--waClassic);
  color: #fff;
  border-radius: 50%;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height: 0;

  box-shadow: 0 8px 20px rgba(37, 211, 102, 0.45);
  z-index: 1100;

  animation: wa-bounce 1.2s ease-out 1, wa-pulse 2.4s ease-in-out infinite;
  transform-origin: center;

  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
  -webkit-tap-highlight-color: transparent;
}
.whatsapp-link:hover{
  background-color: var(--waClassicHover);
  transform: scale(1.08);
  box-shadow: 0 12px 28px rgba(37, 211, 102, 0.65);
  color:#fff;
}
.whatsapp-link .wa-ico{ width: 32px; height: 32px; display:block; }

@keyframes wa-bounce{
  0%   { transform: translateY(22px) scale(.85); opacity: 0; }
  60%  { transform: translateY(-6px) scale(1.05); opacity: 1; }
  100% { transform: translateY(0) scale(1); }
}
@keyframes wa-pulse{
  0%   { box-shadow: 0 0 0 0 rgba(37, 211, 102, .55); }
  70%  { box-shadow: 0 0 0 14px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}
@media (prefers-reduced-motion: reduce){
  .whatsapp-link{ animation:none; }
}

/* ===== WhatsApp Floating Button (Font Awesome, redondo + pulso) ===== */
.whatsapp-link{
  position: fixed;
  width: 60px;
  height: 60px;
  bottom: calc(75px + env(safe-area-inset-bottom));
  right: 20px;
  background-color: #25d366;
  color: #fff;
  border-radius: 999px;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size: 30px;
  box-shadow: 0 8px 20px rgba(37, 211, 102, 0.45);
  z-index: 1100;
  -webkit-tap-highlight-color: transparent;

  animation: wa-bounce 1.2s ease-out 1, wa-pulse 2.4s ease-in-out infinite;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.whatsapp-link:hover{
  background-color:#1ebe57;
  transform: scale(1.08);
  box-shadow: 0 12px 28px rgba(37, 211, 102, 0.65);
  color:#fff;
}
.whatsapp-link i{ line-height:1; }

/* Bounce inicial */
@keyframes wa-bounce{
  0%   { transform: translateY(22px) scale(.85); opacity: 0; }
  60%  { transform: translateY(-6px) scale(1.05); opacity: 1; }
  100% { transform: translateY(0) scale(1); }
}
/* Pulse contínuo */
@keyframes wa-pulse{
  0%   { box-shadow: 0 0 0 0 rgba(37, 211, 102, .55); }
  70%  { box-shadow: 0 0 0 14px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}
@media (prefers-reduced-motion: reduce){
  .whatsapp-link{ animation:none; }
}
/* ======================
   Alinhamento rodapé x mini-bar (Sobre/Privacidade)
====================== */
body.has-counterbar{
  padding-bottom: 76px; /* evita que o rodapé encoste no mini-bar */
}
body.has-counterbar footer,
body.has-counterbar .footer{
  padding-bottom: 68px;
}