:root{
      --bg1:#050a1a;
      --bg2:#071b2a;
      --card:rgba(255,255,255,.06);
      --stroke:rgba(255,255,255,.12);
      --txt:#fff;
      --muted:rgba(255,255,255,.78);
      --accent:#4c4cff;
      --accent2:#6b6bff;
      --ok:#2ee59d;
      --radius:18px;
      --max:1100px;
      --barH:56px;
      --shadow: 0 18px 45px rgba(0,0,0,.45);

      /* (site principal) */
      --p:#4f46e5;
      --p2:#4338ca;
      --waClassic:#25D366;
      --waClassicHover:#1EBE57;

      /* Mayla (site principal) */
      --bdr:#1e293b;
      --mut:#9ca3af;
      --g1:#16a34a; --g2:#15803d;
      --bubble:linear-gradient(135deg,#4f46e5,#7c3aed);
    }
    
html{scroll-behavior:smooth;scroll-padding-top:90px;}
[id]{scroll-margin-top:90px;}
@media (max-width: 900px){html{scroll-padding-top:72px;}[id]{scroll-margin-top:72px;}}

*{box-sizing:border-box;margin:0;padding:0}
    body{
      font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      color:var(--txt);
      background:
        radial-gradient(900px 500px at 15% 25%, rgba(76,76,255,.35), transparent 55%),
        radial-gradient(900px 500px at 75% 35%, rgba(0,255,170,.14), transparent 60%),
        linear-gradient(180deg,var(--bg1),var(--bg2));
      padding-bottom: 76px; /* igual site principal (mini-bar) */
      padding-top: 74px; /* espaço para header fixo */
    }
    a{color:inherit;text-decoration:none}
    .container{max-width:var(--max);margin:0 auto;padding:0 18px}

    /* Topo */
    header{
      position:fixed;top:0;left:0;right:0;z-index:9999;
      background:rgba(0,0,0,.35);
      backdrop-filter:blur(10px);
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .topbar{
      display:flex;align-items:center;justify-content:space-between;
      padding:14px 0; gap:14px;
    }
    .brand-left{display:flex;align-items:center;gap:12px}
    .op-logo{
      width:150px; height:44px; object-fit:contain;
      /* Logo limpa: sem caixa/contorno atrás */
      background:transparent;
      border:0;
      border-radius:0;
      padding:0;
    }
    nav{
      display:flex;
      flex-wrap:wrap;
      gap:22px; /* mais espaçamento entre âncoras */
      align-items:center;
      justify-content:flex-end;
    }
    nav a{
      color:var(--muted);
      font-weight:700;
      font-size:14px;
      padding:8px 2px;
    }
    nav a:hover{color:#fff}

    /* Hero */
    .hero{
      padding:40px 0 20px;
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:24px;
      align-items:start;
    }
    @media(max-width:900px){.hero{grid-template-columns:1fr}}
    .kicker{
      display:inline-block;
      padding:8px 14px;
      border-radius:999px;
      background:rgba(255,255,255,.08);
      font-size:13px;
      margin-bottom:14px;
      color:var(--muted);
    }
    h1{font-size:42px;line-height:1.1;margin-bottom:12px}
    .sub{color:var(--muted);line-height:1.6;margin-bottom:14px;max-width:620px}
    .bullets{margin-left:18px;margin-bottom:18px;color:var(--muted)}
    .bullets li{margin:6px 0}

    .cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;margin-bottom:14px}
    .btn{ /* BOTÕES DO SITE (não confundir com os do popup da Mayla) */
      border:none;cursor:pointer;
      padding:14px 18px;
      border-radius:14px;
      font-weight:900;
      font-size:14px;
      transition:transform .08s ease, filter .12s ease;
      letter-spacing:.2px;
    }
    .btn:active{transform:scale(.98)}
    .btn:hover{filter:brightness(1.06)}
    .btn-primary{
      background:linear-gradient(135deg,var(--accent),var(--accent2));
      color:#fff;
    }
    .btn-ghost{
      background:rgba(255,255,255,.10);
      color:#fff;
      border:1px solid rgba(255,255,255,.12);
    }
    .hint{margin-top:10px;color:var(--muted);font-size:13px}

    /* Card/Form */
    .card{
      background:var(--card);
      border:1px solid var(--stroke);
      border-radius:var(--radius);
      padding:22px;
      box-shadow: var(--shadow);
    }
    .card h2{font-size:18px;margin-bottom:10px}
    .small{color:var(--muted);font-size:13px;line-height:1.5;margin-bottom:14px}
    .form{display:grid;gap:10px}
    .field{
      width:100%;
      background:rgba(0,0,0,.22);
      border:1px solid rgba(255,255,255,.12);
      border-radius:14px;
      padding:12px 12px;
      color:#fff;
      outline:none;
      font-size:14px;
    }
    .field::placeholder{color:rgba(255,255,255,.55)}
    .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    @media(max-width:520px){.row2{grid-template-columns:1fr}}

    .submit{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
    .btn-submit{
      flex:1;min-width:180px;
      background:linear-gradient(135deg,var(--ok),#00c3ff);
      color:#062018;
    }

    /* Sections */
   /*
      O CSS do site BOW original também possui a classe .section com fundo branco.
      Para manter o visual do modelo padrão (dark), precisamos sobrescrever aqui.
    */
    .section{
      padding:26px 0;
      background:transparent;
      color:var(--txt);
    }
    .section h3{font-size:22px;margin-bottom:12px}


    /* FAQ (premium / harmonizado) */
#faq{padding:40px 0;}
#faq h3{
  text-align:left;
  margin-bottom:10px;
  font-size:28px;
  letter-spacing:.2px;
}
#faq .sub{
  margin:0 0 22px;
  max-width:900px;
  color:var(--muted);
}
#faq .faq-card{
  max-width:1100px;
  margin:0;
  padding:0;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.16));
  box-shadow:0 18px 50px rgba(0,0,0,.45);
}

/* “gramado” (2 tonalidades alternadas) */
#faq .faq-item{
  position:relative;
  border:0;
  border-radius:0;
  padding:0;
  margin:0;
  background:rgba(255,255,255,.035);
}
#faq .faq-item:nth-child(even){
  background:rgba(255,255,255,.055);
}
#faq .faq-item + .faq-item{
  border-top:1px solid rgba(255,255,255,.10);
}

/* Cabeçalho clicável */
#faq .faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:18px 18px 18px 22px;
  font-weight:900;
  color:#fff;
  display:flex;
  align-items:center;
  gap:12px;
  outline:none;
  user-select:none;
}
#faq .faq-item summary::-webkit-details-marker{display:none;}

/* Chevron esquerda */
#faq .faq-item summary:before{
  content:"▸";
  font-weight:900;
  color:var(--accent2);
  transform:translateY(-1px);
  transition:transform .2s ease, filter .2s ease;
  filter:drop-shadow(0 0 10px rgba(107,107,255,.25));
}
#faq .faq-item[open] summary:before{transform:rotate(90deg);}

/* Chevron direita */
#faq .faq-item summary:after{
  content:"▾";
  margin-left:auto;
  color:var(--accent2);
  opacity:.9;
  transition:transform .2s ease, opacity .2s ease;
}
#faq .faq-item[open] summary:after{transform:rotate(180deg); opacity:1;}

/* Destaque “premium” do item aberto */
#faq .faq-item[open]{
  background:rgba(0,0,0,.30);
}
#faq .faq-item[open] summary{
  background:linear-gradient(180deg, rgba(107,107,255,.10), rgba(0,0,0,0));
}
#faq .faq-item[open]::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:54px;
  height:2px;
  background:linear-gradient(90deg, rgba(107,107,255,0), rgba(107,107,255,.85), rgba(107,107,255,0));
  box-shadow:0 0 18px rgba(107,107,255,.35);
  pointer-events:none;
}

/* Corpo com fundo mais preto p/ leitura */
#faq .faq-body{
  padding:16px 22px 20px;
  color:rgba(255,255,255,.78);
  line-height:1.7;
  background:rgba(0,0,0,.44);
}
#faq .faq-body strong{color:#fff;}
#faq .faq-item:not([open]) .faq-body{display:none;}

/* Motion leve (sem JS) */
@media (prefers-reduced-motion:no-preference){
  #faq .faq-item[open] .faq-body{
    animation:faqFade .18s ease-out both;
  }
}
@keyframes faqFade{
  from{opacity:0; transform:translateY(-4px);}
  to{opacity:1; transform:translateY(0);}
}


.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
    @media(max-width:980px){.grid4{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:520px){.grid4{grid-template-columns:1fr}}
    .mini{
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.12);
      border-radius:16px;
      padding:16px;
      color:var(--muted);
    }
    .mini strong{color:#fff;display:block;margin-bottom:6px}

    /* Rede (imagens fictícias) */
    .logos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:10px}
    @media(max-width:980px){.logos{grid-template-columns:repeat(2,1fr)}}
    .hosp{
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.12);
      border-radius:16px;
      overflow:hidden;
    }
    .hosp img{width:100%;height:110px;object-fit:cover;display:block}
    .hosp .cap{
      padding:10px 12px;
      color:rgba(255,255,255,.78);
      font-weight:800;
      font-size:12px;
      line-height:1.2;
      border-top:1px solid rgba(255,255,255,.08);
    }

    /* Footer */
    footer{
      border-top:1px solid rgba(255,255,255,.12);
      padding:28px 0 68px; /* respiro por causa da mini-bar */
      margin-top:22px;
      background: rgba(2,6,23,.86); /* fundo de ponta a ponta */
    }
    /* evita que o .footer do CSS global (site BOW) limite o fundo ao container */
    footer .footer{ background: transparent !important; padding: 0 !important; border-top: 0 !important; }
    .footer{
      display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
      color:var(--muted);font-size:13px;
    }
    .bow-logo{
      width:140px;height:auto;opacity:.95;
      display:block;margin-bottom:6px;
    }
    .footer a{color:var(--muted);text-decoration:underline}

    /* ======================
       MINI-BAR (igual site principal)
    ====================== */
    .mini-bar{
      position: fixed; left:0; right:0; bottom:0;
      background:#ffffff;
      color:#0f172a;
      min-height: 54px;
      display:flex;
      align-items:center;
      justify-content:center;
      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:center;
      border-top:1px solid rgba(0,0,0,.08);
    }
    .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; }
    }

    /* ======================
       WhatsApp flutuante (igual site principal)
    ====================== */
    .whatsapp-link{
      position: fixed;
      width: 60px;
      height: 60px;
      bottom: calc(75px + env(safe-area-inset-bottom));
      right: 20px;
      background-color: var(--waClassic);
      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: var(--waClassicHover);
      transform: scale(1.08);
      box-shadow: 0 12px 28px rgba(37, 211, 102, 0.65);
      color:#fff;
    }
    .whatsapp-link i{ line-height:1; }
    @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; }
    }

    .divider{height:1px;background:rgba(255,255,255,.12);margin:18px 0}
    .sr-only{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

    /* ===========================
       MAYLA (POPUP) — do site principal (CSS isolado no #mayla-popup)
    ============================ */
/* ===========================
   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; }
#mayla-popup .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; }

#mayla-popup .row{
  margin-top:12px;
  display:flex; gap:10px; flex-wrap:wrap; align-items:center;
}
#mayla-popup .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;
}
#mayla-popup .inp:focus{ outline:none; border-color:#6366f1; box-shadow:0 0 0 4px rgba(99,102,241,.22); }
#mayla-popup .inp::placeholder{ color:#6b7280; font-size:12px; }
#mayla-popup .inp.error{ border-color:#ef4444; box-shadow:0 0 0 4px rgba(239,68,68,.18); }

#mayla-popup .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;
}
#mayla-popup .btn:hover{ background:var(--p2); transform:translateY(-1px); box-shadow:0 8px 22px rgba(79,70,229,.45); }
#mayla-popup .btn:disabled{ opacity:.65; cursor:not-allowed; transform:none; box-shadow:none; }

#mayla-popup .btnRow{ margin-top:12px; display:flex; gap:10px; flex-wrap:wrap; }
#mayla-popup .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;
}
#mayla-popup .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); }

#mayla-popup .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;
}
#mayla-popup .steps{ margin-top:8px; text-align:right; color:#64748b; font-size:.78rem; }

#mayla-popup .phoneWrap{ display:flex; gap:10px; width:100%; flex-wrap:wrap; align-items:center; }
#mayla-popup .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;
}
#mayla-popup .ddiSelect:focus{ outline:none; border-color:#6366f1; box-shadow:0 0 0 4px rgba(99,102,241,.22); }
#mayla-popup .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; }

/* ======================
   Lead form alert (card)
====================== */
.lead-alert{
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  font-weight: 900;
  line-height: 1.35;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  color: #fff;
  display:none;
}
.lead-alert.is-success{
  border-color: rgba(46,229,157,.35);
  background: rgba(46,229,157,.12);
}
.lead-alert.is-error{
  border-color: rgba(239,68,68,.40);
  background: rgba(239,68,68,.12);
}

.telrow{display:grid;grid-template-columns:160px 1fr;gap:10px}
.field.select{appearance:none}
.lead-loading{margin-top:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;display:flex;align-items:center;gap:10px;font-weight:800}
.spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:rgba(255,255,255,.9);animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== Lead phone inline (1 linha: país + telefone) ===== */
.phoneInline{
  display:flex;
  align-items:center;
  width:100%;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  overflow:hidden;
}
.phoneInline:focus-within{
  border-color: rgba(99,102,241,.65);
  box-shadow: 0 0 0 4px rgba(99,102,241,.22);
}
.phoneCountry{
  flex:0 0 180px;
  max-width: 52%;
  border:0;
  outline:none;
  background:transparent;
  color:#fff;
  padding:12px 12px;
  font-size:14px;
  font-weight:800;
  appearance:auto;
}
/* Corrige dropdown de opções em alguns navegadores (texto ficava invisível) */
.phoneCountry option{
  color:#e5e7eb;
  background:#0b1220;
}
.phoneNumber{
  flex:1;
  min-width:160px;
  border:0;
  outline:none;
  background:transparent;
  color:#fff;
  padding:12px 12px;
  font-size:14px;
}
.phoneNumber::placeholder{color:rgba(255,255,255,.55)}
@media(max-width:520px){
  .phoneCountry{ flex:0 0 150px; }
}


/* Lead form country dropdown */
#lead_ddiSelect{
  color:#e5e7eb;
  background: rgba(11,18,32,.55);
  border:1px solid rgba(255,255,255,.14);
}
#lead_ddiSelect option{
  color:#e5e7eb;
  background:#0b1220;
}

/* =====================
   CONVERSÃO (v18)
===================== */

/* Micro animação no botão principal */
.btn-primary, .btn-submit{
  position: relative;
  overflow: hidden;
}
.btn-primary::after, .btn-submit::after{
  content:"";
  position:absolute;
  top:-60%; left:-60%;
  width:120%; height:120%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.22), transparent 55%);
  transform: rotate(12deg);
  opacity:0;
  transition: opacity .18s ease;
  pointer-events:none;
}
.btn-primary:hover::after, .btn-submit:hover::after{ opacity:1; }

/* Bloco de confiança */
.conversion-stack{ margin-top: 10px; display:grid; gap:10px; }
.limited-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.88);
  font-weight:900;
  font-size:12px;
}
/* CTA fixo mobile */
.sticky-cta{
  position: fixed;
  left: 0; right: 0;
  bottom: 56px; /* acima da mini-bar */
  z-index: 9998;
  display: none;
  gap: 10px;
  padding: 10px 12px;
  background: rgba(0,0,0,.28);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(255,255,255,.10);
}
.sticky-btn{
  flex:1;
  border:0;
  border-radius: 14px;
  padding: 12px 10px;
  font-weight: 1000;
  letter-spacing:.2px;
  cursor:pointer;
}
.sticky-primary{
  background: linear-gradient(135deg,var(--accent),var(--accent2));
  color:#fff;
}
.sticky-ghost{
  background: rgba(255,255,255,.10);
  color:#fff;
  border: 1px solid rgba(255,255,255,.14);
}
@media(max-width: 900px){
  .sticky-cta{ display:flex; }
}


/* ===== v19 tweaks ===== */

.phoneCountry{
  background: rgba(12, 27, 38, .65) !important;
  color: rgba(255,255,255,.92) !important;
}
.phoneCountry option{
  background: rgba(12, 27, 38, .98);
  color: rgba(255,255,255,.92);
}


.rede {
    padding-top: 60px;
    padding-bottom: 60px;
}


/* ===== Ajuste Mobile: não deixar barra fixa cobrir o WhatsApp ===== */
@media (max-width: 900px){
  :root{
    /* altura aproximada: mini-bar (~54px) + sticky-cta (~64px) + respiro */
    --bottom-stack: 140px;
  }
  body{
    padding-bottom: calc(var(--bottom-stack) + env(safe-area-inset-bottom));
  }
  .whatsapp-link{
    bottom: calc(var(--bottom-stack) + env(safe-area-inset-bottom));
  }
}


@media (max-width: 700px){
  footer .footer{flex-direction:column;align-items:flex-start;}
  footer .footer > div{width:100%;}
}



/* ===== Logo clean (remove background/box behind logo) ===== */
header .logo,
header .brand,
header .site-logo,
header .logo-wrap,
header .logo-container,
header .brand-logo{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
header .logo img,
header .brand img,
header .site-logo img,
header .logo-wrap img,
header .logo-container img,
header .brand-logo img{
  display: block;
  height: 34px;
  width: auto;
}
@media (max-width: 768px){
  header .logo img,
  header .brand img,
  header .site-logo img,
  header .logo-wrap img,
  header .logo-container img,
  header .brand-logo img{
    height: 30px;
  }
}




/* ===== Anchor offset (sticky header + mini bar) ===== */
:root { --anchor-offset: 92px; }
@media (max-width: 768px){ :root { --anchor-offset: 102px; } }

#cotacao, #rede, #planos, #inicio { scroll-margin-top: var(--anchor-offset); }
html { scroll-padding-top: var(--anchor-offset); }



/* Sending state */
[data-final].is-sending{opacity:.85;cursor:wait;}



/* ======================
   FAQ PREMIUM (v47)
   - accordion em harmonia com paleta
   - destaque ao abrir (fundo mais escuro + glow roxo)
   - listras suaves (2 tonalidades)
====================== */
#faq .faq-card{
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
}

/* “gramado” sutil (duas tonalidades), com divisórias suaves */
#faq .faq-item{
  margin: 0;
  border: 0;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}
#faq .faq-item:first-child{ border-top: 0; }
#faq .faq-item:nth-of-type(even){ background: rgba(255,255,255,.055); }

#faq summary{
  cursor: pointer;
  list-style: none;
  padding: 16px 18px;
  font-weight: 950;
  color: rgba(255,255,255,.92);
  display:flex;
  align-items:center;
  gap: 12px;
  user-select: none;
}
#faq summary::-webkit-details-marker{ display:none; }

/* chevron esquerdo */
#faq summary::before{
  content:"▾";
  color: var(--accent2);
  font-weight: 900;
  transform: rotate(-90deg) translateY(-1px);
  transition: transform .18s ease;
}
/* chevron direito */
#faq summary::after{
  content:"▾";
  margin-left:auto;
  color: rgba(167,139,250,.95);
  font-weight: 900;
  transform: rotate(-90deg);
  transition: transform .18s ease, opacity .18s ease;
  opacity: .9;
}

#faq details[open] summary::before{ transform: rotate(0deg) translateY(-1px); }
#faq details[open] summary::after{ transform: rotate(180deg); opacity: 1; }

/* estado aberto: mais escuro + glow */
#faq details[open]{
  background: radial-gradient(1200px 220px at 50% 0%, rgba(124,58,237,.18), rgba(0,0,0,.70) 55%, rgba(0,0,0,.78) 100%) !important;
}
#faq details[open] summary{
  position: relative;
  border-bottom: 1px solid rgba(255,255,255,.10);
  color: rgba(226,232,240,.98);
  /* glow line + leve gradiente no topo (efeito premium) */
  background-image:
    linear-gradient(90deg, rgba(124,58,237,.08), rgba(124,58,237,.03)),
    radial-gradient(420px 18px at 35% 100%, rgba(167,139,250,.55), rgba(167,139,250,0));
  background-blend-mode: screen;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.10);
}

#faq .faq-body{
  padding: 16px 18px 18px;
  color: rgba(226,232,240,.82);
  line-height: 1.7;
  font-size: 16px;
}
#faq .faq-body strong{ color: rgba(255,255,255,.96); }

/* animação suave */
#faq details[open] .faq-body{
  animation: faqIn .22s ease-out;
}
@keyframes faqIn{
  from{ opacity: 0; transform: translateY(-6px); }
  to{ opacity: 1; transform: translateY(0); }
}

@media (hover:hover){
  #faq summary:hover{
    background: rgba(124,58,237,.08);
  }
}
@media (max-width: 520px){
  #faq summary{ padding: 14px 14px; font-size: 15px; }
  #faq .faq-body{ padding: 14px 14px 16px; font-size: 15px; }
}


/* ======================
   CONTADOR (mini-bar) – igual bowcorretora.com.br
====================== */

/* mini-bar (contador) – igual ao site principal (centralizado) */
.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: 1100;
  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); }

@media (max-width: 520px){
  .mini-bar{ font-size: 14px; padding: 0 12px; }
}


/* v50 qtd color */
.mini-bar #qtd{ color:#4f46e5 !important; }
.mini-bar{ background:#ffffff !important; }
