/* =====================================================================
   Funil de captação — contato.8bac.com.br
   Mobile-first (foco no celular), congruente com o design system 8BAC.
   ===================================================================== */

.funil{
  min-height:100dvh; display:flex; flex-direction:column;
  max-width:480px; margin:0 auto; padding:0 18px;
}

/* Topo: marca + barra de progresso */
.funil-top{padding:18px 2px 6px; display:flex; align-items:center; gap:12px}
.funil-top .brand{font-size:24px}
.progress{flex:1; height:8px; background:#E7EAF0; border-radius:var(--r-full); overflow:hidden}
.progress > i{display:block; height:100%; width:0;
  background:linear-gradient(90deg,var(--azul),var(--cobalto));
  border-radius:var(--r-full); transition:width .45s cubic-bezier(.2,.8,.2,1)}
.progress.hidden{visibility:hidden}

/* Área central onde as telas trocam */
.funil-body{flex:1; display:flex; flex-direction:column; justify-content:center; padding:14px 0 8px}

/* Cada tela */
.tela{display:none}
.tela.ativa{display:block; animation:rise .38s ease both}

/* Voltar */
.voltar{background:none;border:none;color:var(--muted);font-weight:600;font-size:14px;
  cursor:pointer;padding:6px 0;margin-bottom:6px;display:inline-flex;align-items:center;gap:6px}
.voltar:hover{color:var(--texto)}

/* Título e apoio */
.tela h1{font-size:27px;line-height:1.15;margin-bottom:6px}
.tela .sub{color:var(--muted);font-size:15.5px;margin-bottom:20px}
.tela h1 .hl{color:var(--azul)}

/* Lista de benefícios (tela 1) */
.beneficios{list-style:none;display:flex;flex-direction:column;gap:12px;margin:18px 0}
.beneficios li{display:flex;gap:12px;align-items:flex-start;font-size:16px;font-weight:600}
.beneficios li .bi{font-size:22px;line-height:1.2;flex:none}

/* Chip de disclaimer / exclusividade */
.chip-excl{display:flex;gap:10px;align-items:center;background:var(--azul-claro);
  color:var(--cobalto);border-radius:var(--r);padding:12px 14px;font-size:13.5px;font-weight:600;
  margin:6px 0 18px}
.chip-excl .bi{font-size:18px}

/* Rodapé fixo de cada tela (botão + segurança) */
.tela-cta{margin-top:8px}
.seguro{color:var(--suave);font-size:12.5px;text-align:center;margin-top:12px;display:flex;
  gap:6px;align-items:center;justify-content:center}

/* Erro inline do campo */
.erro-campo{color:var(--erro);font-size:13px;font-weight:600;margin-top:-8px;margin-bottom:12px;display:none}
.erro-campo.show{display:block}

/* Bloco de investimento (tela 5) */
.invest{background:var(--surface);border:1px solid var(--linha);border-radius:var(--r-lg);
  padding:18px;box-shadow:var(--sombra);margin:16px 0}
.invest .linha{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px dashed var(--linha)}
.invest .linha:last-child{border-bottom:none}
.invest .num{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:var(--azul-claro);color:var(--cobalto);font-weight:800;font-size:14px}
.invest .num.gold{background:#FDECC0;color:#7a5a00}
.invest b{color:var(--texto)}
.invest .total{background:linear-gradient(150deg,var(--cobalto),var(--azul));color:#fff;
  border-radius:var(--r);padding:14px 16px;margin-top:14px;font-weight:700;font-size:15.5px;text-align:center}
.invest .total .v{font-size:22px;font-weight:900;display:block;margin-top:2px}
.honesto{font-size:14px;color:var(--muted);margin:6px 2px 18px;line-height:1.5}

/* Botões de escolha A/B */
.escolha{display:flex;flex-direction:column;gap:12px}
.escolha .btn{justify-content:flex-start;text-align:left;padding:16px 18px;line-height:1.3;
  border-radius:16px;font-size:16px}
.btn-sim{background:var(--azul);color:#fff;box-shadow:0 8px 18px rgba(0,102,255,.28)}
.btn-sim:hover{background:var(--azul-escuro)}
.btn-nao{background:var(--surface);color:var(--texto);border:1.5px solid var(--linha)}

/* Telas de obrigado */
.obg{text-align:center}
.obg .emoji{font-size:56px;margin-bottom:8px}
.obg h1{font-size:25px}
.obg p{color:var(--muted);font-size:16px;margin:10px 0 22px;line-height:1.5}
.btn-wa{background:#25D366;color:#fff;box-shadow:0 8px 18px rgba(37,211,102,.35);font-size:17px}
.btn-wa:hover{background:#1FB855}

/* Consentimento LGPD */
.consent{font-size:12px;color:var(--suave);text-align:center;line-height:1.5;margin-top:14px}
.consent a{color:var(--muted);text-decoration:underline}

/* Rodapé do site (identidade + legal) */
.funil-footer{border-top:1px solid var(--linha);margin-top:22px;padding:18px 2px 26px;
  text-align:center;color:var(--suave);font-size:12px;line-height:1.6}
.funil-footer a{color:var(--muted)}
.funil-footer .sep{margin:0 6px;opacity:.5}

/* Loader do botão */
.btn .spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;
  border-radius:50%;animation:girar .7s linear infinite;display:none}
.btn.loading .spin{display:inline-block}
@keyframes girar{to{transform:rotate(360deg)}}

@media (min-width:480px){
  .funil{padding:0 0}
  .funil-top,.funil-body,.funil-footer{padding-left:6px;padding-right:6px}
}
