/* Página pública de captação — layout comercial (2026-10-04). Mobile-first: a maior parte do
   tráfego vem de Instagram/anúncio no celular. A cor de marca vem do preset do profissional
   (pagina.js grava --primary/--primary-dim/--primary-rgb). Sem preço/venda na página. */
:root { --bg:#F6F8FB; --card:#FFFFFF; --text:#1B2635; --muted:#5F6C7D; --line:#E6EAF0; --danger:#C0392B; --ok:#1E8C64;
  --primary:#2D6BE4; --primary-dim:#1E4FB0; --primary-rgb:45,107,228; --font:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --shadow:0 1px 2px rgba(20,30,45,.05), 0 14px 30px -18px rgba(20,30,45,.28); }
@media (prefers-color-scheme: dark) { :root { --bg:#0E141C; --card:#17202B; --text:#EDF2F8; --muted:#A1AEBF; --line:#26323F; --shadow:0 1px 2px rgba(0,0,0,.4), 0 14px 30px -18px rgba(0,0,0,.7); } }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
body { margin:0; background:var(--bg); color:var(--text); font-family:var(--font); -webkit-font-smoothing:antialiased; line-height:1.5; }
[hidden] { display:none !important; }

/* Estados */
.estado { min-height:70vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:32px 24px; color:var(--muted); }
.estado h1 { color:var(--text); font-size:22px; margin:14px 0 6px; }
.estado p { margin:0; }
.estado-ico { width:64px; height:64px; border-radius:50%; background:rgba(var(--primary-rgb),.1); color:var(--primary); display:flex; align-items:center; justify-content:center; }
.estado-ico svg { width:30px; height:30px; }
.spinner { width:34px; height:34px; border-radius:50%; border:3px solid var(--line); border-top-color:var(--primary); animation:gira .8s linear infinite; margin-bottom:12px; }
@keyframes gira { to { transform:rotate(360deg); } }

/* Herói */
.hero { position:relative; overflow:hidden; color:#fff; min-height:470px; display:flex; align-items:flex-end;
  background:linear-gradient(150deg,var(--primary) 0%,var(--primary-dim) 100%);
  border-radius:0 0 34px 34px; box-shadow:0 18px 40px -22px rgba(var(--primary-rgb),.8); }
.hero-foto { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 22%; }
.hero-veu { position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,12,20,.18) 0%,rgba(8,12,20,.2) 30%,rgba(8,12,20,.82) 100%); display:none; }
.hero.com-foto .hero-veu { display:block; }
.hero.com-foto { min-height:560px; }
.hero-forma { position:absolute; border-radius:50%; background:rgba(255,255,255,.1); pointer-events:none; }
.hero-forma.f1 { width:260px; height:260px; right:-90px; top:-80px; }
.hero-forma.f2 { width:170px; height:170px; left:-60px; bottom:90px; background:rgba(255,255,255,.07); }
.hero.com-foto .hero-forma { display:none; }
.hero-inner { position:relative; z-index:2; width:100%; max-width:560px; margin:0 auto; padding:56px 22px 34px; }
.pro { display:inline-flex; align-items:center; gap:10px; padding:6px 14px 6px 6px; border-radius:999px; background:rgba(255,255,255,.16); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.22); margin-bottom:18px; max-width:100%; }
.avatar { width:34px; height:34px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:#fff; color:var(--primary-dim); font-weight:800; font-size:15px; }
.pro-txt { display:flex; flex-direction:column; line-height:1.15; min-width:0; }
.pro-rot { font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; opacity:.8; }
.pro-nome { font-size:14px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hero h1 { font-size:clamp(30px, 9vw, 42px); line-height:1.1; letter-spacing:-.8px; font-weight:800; margin:0 0 12px; text-wrap:balance; text-shadow:0 2px 18px rgba(0,0,0,.18); }
.frase { font-size:17px; line-height:1.5; margin:0 0 24px; opacity:.94; text-wrap:pretty; }
.cta { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; padding:17px 22px; border-radius:16px; background:#fff; color:var(--primary-dim); font:800 17px/1.2 var(--font); text-decoration:none; box-shadow:0 14px 28px -12px rgba(0,0,0,.45); -webkit-tap-highlight-color:transparent; }
.cta svg { width:20px; height:20px; transition:transform .2s; }
.cta:active { transform:scale(.985); }
@media (hover:hover) { .cta:hover svg { transform:translateX(4px); } }
.hero-nota { display:flex; align-items:center; justify-content:center; gap:7px; margin:13px 0 0; font-size:13px; font-weight:600; opacity:.9; }
.hero-nota svg { width:15px; height:15px; }

/* Corpo */
.miolo { max-width:560px; margin:0 auto; padding:30px 18px 110px; }
.sec { margin-bottom:30px; }
.sec-tit { font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:1.2px; color:var(--muted); margin:0 0 14px 4px; }
.beneficios { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.beneficios li { display:flex; align-items:center; gap:14px; padding:15px 16px; background:var(--card); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); font-size:16px; font-weight:600; line-height:1.35; }
.beneficios li::before { content:''; flex-shrink:0; width:30px; height:30px; border-radius:50%; background:rgba(var(--primary-rgb),.13); }
.beneficios li { position:relative; }
.beneficios li::after { content:''; position:absolute; left:16px; top:50%; width:12px; height:6px; margin:-5px 0 0 5px; border-left:3px solid var(--primary); border-bottom:3px solid var(--primary); transform:rotate(-45deg) translate(1px,-1px); border-radius:1px; }

.passos { list-style:none; margin:0; padding:0; position:relative; display:flex; flex-direction:column; gap:16px; }
.passos li { display:flex; gap:14px; align-items:flex-start; }
.passo-n { flex-shrink:0; width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,var(--primary),var(--primary-dim)); color:#fff; font-weight:800; font-size:15px; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 16px -8px rgba(var(--primary-rgb),.8); }
.passos li div { display:flex; flex-direction:column; padding-top:2px; }
.passos strong { font-size:16px; font-weight:700; }
.passos span:not(.passo-n) { font-size:14px; color:var(--muted); }

/* Formulário */
.form-card { background:var(--card); border:1px solid var(--line); border-radius:24px; padding:26px 20px 22px; box-shadow:var(--shadow); margin-bottom:18px; scroll-margin-top:16px; }
.form-tit { font-size:24px; line-height:1.2; font-weight:800; letter-spacing:-.4px; margin:0 0 6px; }
.form-sub { margin:0 0 20px; color:var(--muted); font-size:15px; }
.campo { display:block; margin-bottom:15px; }
.campo > span { display:block; font-size:13.5px; font-weight:700; margin-bottom:6px; }
.campo em { font-style:normal; font-weight:500; color:var(--muted); }
input[type=text], input[type=tel], input[type=email], textarea { display:block; width:100%; padding:14px 15px; border:1.5px solid var(--line); border-radius:14px; background:var(--bg); color:var(--text); font:inherit; font-size:16px; transition:border-color .15s, box-shadow .15s; }
input::placeholder, textarea::placeholder { color:var(--muted); opacity:.7; }
input:focus, textarea:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 4px rgba(var(--primary-rgb),.16); background:var(--card); }
textarea { resize:vertical; min-height:70px; }
.aceite { display:flex; gap:11px; align-items:flex-start; font-size:13px; line-height:1.5; color:var(--muted); margin:6px 0 14px; }
.aceite input { margin-top:2px; width:20px; height:20px; flex-shrink:0; accent-color:var(--primary); }
.turnstile { display:flex; justify-content:center; min-height:65px; margin-bottom:10px; }
.isca { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.erro { color:var(--danger); font-size:14px; font-weight:600; margin:0 0 12px; padding:10px 12px; background:rgba(192,57,43,.08); border-radius:10px; }
.ok { color:var(--ok); font-size:14px; font-weight:700; }
.btn { display:block; width:100%; border:0; border-radius:16px; padding:17px 18px; font:800 17px/1.2 var(--font); color:#fff; cursor:pointer; background:linear-gradient(135deg,var(--primary),var(--primary-dim)); box-shadow:0 14px 26px -12px rgba(var(--primary-rgb),.75); -webkit-tap-highlight-color:transparent; }
.btn:active { transform:scale(.985); }
.btn:disabled { opacity:.6; cursor:default; }
.btn.sec { background:var(--bg); color:var(--text); border:1.5px solid var(--line); box-shadow:none; }
.seguro { display:flex; align-items:center; justify-content:center; gap:7px; margin:13px 0 0; font-size:12.5px; color:var(--muted); }
.seguro svg { width:14px; height:14px; }

/* Sucesso */
.ok-card { background:var(--card); border:1px solid var(--line); border-radius:24px; padding:34px 22px; text-align:center; box-shadow:var(--shadow); margin-bottom:18px; scroll-margin-top:16px; }
.check { width:68px; height:68px; margin:0 auto 14px; border-radius:50%; background:linear-gradient(135deg,#25b27f,var(--ok)); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 14px 26px -12px rgba(30,140,100,.8); }
.check svg { width:32px; height:32px; }
.ok-card h2 { font-size:24px; margin:0 0 8px; font-weight:800; letter-spacing:-.4px; }
.ok-card p { margin:0; color:var(--muted); font-size:16px; }
.ok-dica { margin-top:14px !important; font-weight:700; color:var(--text) !important; }

/* Rodapé */
.rodape { text-align:center; padding-top:6px; }
.selo { font-size:12.5px; color:var(--muted); margin:0 0 8px; }
.link { background:none; border:0; padding:6px; color:var(--muted); font:inherit; font-size:12.5px; text-decoration:underline; cursor:pointer; }
.priv { margin:2px 0 0; font-size:12.5px; }
.priv a { color:var(--muted); }

/* Barra fixa do botão (aparece depois do topo, some quando o formulário está na tela) */
.barra-cta { position:fixed; left:0; right:0; bottom:0; z-index:40; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:linear-gradient(180deg,rgba(0,0,0,0),rgba(var(--primary-rgb),.0)); pointer-events:none; transform:translateY(120%); transition:transform .25s ease; }
.barra-cta.show { transform:none; }
.cta-barra { max-width:560px; margin:0 auto; pointer-events:auto; background:linear-gradient(135deg,var(--primary),var(--primary-dim)); color:#fff; box-shadow:0 16px 30px -10px rgba(var(--primary-rgb),.85); }

/* Denúncia */
.overlay { position:fixed; inset:0; background:rgba(10,15,22,.6); display:flex; align-items:center; justify-content:center; padding:16px; z-index:60; }
.dlg { width:100%; max-width:440px; background:var(--card); border-radius:22px; padding:22px 18px; box-shadow:var(--shadow); }
.dlg h2 { font-size:19px; margin:0 0 6px; }
.dlg-sub { margin:0 0 12px; font-size:13px; color:var(--muted); }
.acoes { display:flex; gap:10px; margin-top:6px; }
.acoes .btn { flex:1; padding:14px; font-size:15px; }

@media (min-width:640px) {
  .hero { min-height:520px; }
  .hero-inner { padding:80px 22px 48px; }
  .hero.com-foto { min-height:620px; }
}
