/* Kit LP da /ogab: estilos da página de vendas.
   Carregado DEPOIS de css/tokens.css. Toda cor, fonte e raio vem de var(--...); nada de cor solta aqui.
   Funciona com tema escuro ou claro (os tokens mandam). Breakpoint principal: 860px. */

/* Tokens locais do kit (derivados dos tokens da marca) */
:root{
  --whatsapp:#25D366; --sobre-whatsapp:#FFFFFF; /* cor oficial do WhatsApp: única exceção de marca de terceiros */
  --vidro:color-mix(in srgb,var(--fundo) 92%,transparent);
  --veu:color-mix(in srgb,var(--fundo) 86%,transparent);
  --acao-suave:color-mix(in srgb,var(--acao) 12%,transparent);
  --acao-fundo:color-mix(in srgb,var(--acao) 7%,var(--card));
  --grad-acao:linear-gradient(135deg,var(--acao),var(--acao2));
  --reflexo:rgba(255,255,255,.42); /* brilho que passa no botão */
  /* Texto na cor de ação: puxa a cor 22% para o --texto. No escuro clareia, no claro escurece: AA nos dois temas */
  --acao-texto:color-mix(in srgb,var(--acao) 78%,var(--texto));
  /* Sombra de elevação neutra (nada de brilho colorido) */
  --sombra-elev:0 1px 2px rgb(0 0 0 / .18),0 10px 24px -10px rgb(0 0 0 / .5);
  --sombra-elev2:0 2px 4px rgb(0 0 0 / .2),0 16px 32px -12px rgb(0 0 0 / .55);
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip;-webkit-text-size-adjust:100%}
body{background:var(--fundo);color:var(--texto);font-family:var(--f-texto);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg,video{max-width:100%;display:block}
img{height:auto}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3,.disp{font-family:var(--f-titulo);text-transform:var(--caixa-titulo);letter-spacing:-.01em;line-height:1.08;font-weight:800}
h1{font-size:clamp(32px,5.4vw,62px);font-weight:900}
h2{font-size:clamp(26px,4.4vw,46px)}
h3{font-size:clamp(18px,2.2vw,22px);line-height:1.2}
h1,h2,h3,.virada,.faixa-cta p{text-wrap:balance}
p,li,blockquote{text-wrap:pretty}
p+p{margin-top:14px}
:focus-visible{outline:2px solid var(--acao);outline-offset:3px;border-radius:4px}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:12px;top:-60px;z-index:99;background:var(--acao);color:var(--texto-acao);padding:10px 14px;border-radius:var(--raio-p);text-decoration:none;font-weight:700}
.pular:focus{top:12px}

/* ---------- layout ---------- */
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.estreito{max-width:var(--estreito);margin-left:auto;margin-right:auto}
section{position:relative;padding:var(--secao) 0}
.centro{text-align:center}
.alt{background:var(--fundo2)}
.cabeca{max-width:var(--estreito);margin:0 auto 44px;text-align:center}
.rotulo{display:block;font-family:var(--f-texto);font-size:16px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--acao-texto);margin-bottom:10px}
.traco{display:block;width:56px;height:4px;border-radius:9px;background:var(--grad-acao);margin:0 auto 18px}
.lead{max-width:min(640px,68ch);margin:18px auto 0;color:var(--texto2);font-size:18px}
.lead b,.lead strong{color:var(--texto);font-weight:600}
.dest{color:var(--acao-texto)}
.grade{display:grid;gap:18px}
@media (min-width:700px){.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}}
@media (min-width:700px) and (max-width:979px){.g3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.g4{grid-template-columns:repeat(4,1fr)}}
@media (min-width:600px) and (max-width:979px){.g4{grid-template-columns:repeat(2,1fr)}}
.card{background:var(--card);border:1px solid var(--borda);border-radius:var(--raio-g);padding:26px 24px}
.card h3{margin-bottom:8px}
.card p{color:var(--texto2);font-size:16px}
.icone{width:46px;height:46px;border-radius:var(--raio);display:grid;place-items:center;background:var(--acao-suave);color:var(--acao-texto);margin-bottom:16px}
.icone svg{width:24px;height:24px}
.card.centro .icone{margin-left:auto;margin-right:auto}

/* ---------- botões ---------- */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-family:var(--f-titulo);font-weight:800;font-size:15px;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;text-align:center;color:var(--texto-acao);padding:20px 32px;border:0;border-radius:var(--raio);background:var(--acao);box-shadow:var(--sombra-elev);cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,var(--reflexo),transparent);transform:skewX(-20deg);animation:brilho 3.4s ease-in-out infinite;pointer-events:none}
@keyframes brilho{0%,55%{left:-60%}100%{left:130%}}
.btn:hover{transform:translateY(-2px);box-shadow:var(--sombra-elev2)}
.btn svg{width:20px;height:20px;flex:none}
.btn.grande{font-size:16px;padding:22px 36px}
.btn.cheio{width:100%}
.btn.sec{background:transparent;color:var(--texto);border:1px solid var(--borda2);box-shadow:none}
.btn.sec::after{display:none}
.micro{margin-top:14px;font-size:14px;color:var(--texto2)}
.micro b{color:var(--texto);font-weight:600}
@media (max-width:520px){.btn{width:100%;padding:19px 22px;font-size:14px}}

/* ---------- topo / hero ---------- */
.hero{position:relative;overflow:hidden;padding:28px 0 calc(var(--secao) * .8);text-align:center;background:radial-gradient(ellipse 70% 55% at 50% 0%,var(--acao-suave),transparent 70%)}
.hero .logo{display:flex;justify-content:center;margin-bottom:clamp(28px,6vw,56px)}
.hero .logo img{height:36px;width:auto}
.selo{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-texto);font-size:16px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--acao-texto);margin-bottom:18px}
.selo i{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.hero h1{max-width:960px;margin:0 auto}
.hero h1 span{display:block}
.hero .sub{max-width:640px;margin:22px auto 0;font-size:clamp(17px,2vw,20px);color:var(--texto2)}
.hero .sub b{color:var(--texto)}
.hero .acao{margin-top:32px}

/* contador */
.contador{display:flex;justify-content:center;gap:10px;margin:30px auto 0}
.contador div{min-width:72px;background:var(--card);border:1px solid var(--borda2);border-radius:var(--raio);padding:10px 6px 8px;text-align:center}
.contador b{display:block;font-family:var(--f-titulo);font-weight:800;font-size:26px;line-height:1.15;font-variant-numeric:tabular-nums}
.contador span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--texto2)}
.contador-rot{margin-top:28px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--texto2)}
.contador-rot+.contador{margin-top:10px}
[data-prazo-fim]{display:none}
.prazo-encerrado [data-prazo-fim]{display:block}
.prazo-encerrado .contador{display:none}
@media (max-width:420px){.contador{gap:6px}.contador div{min-width:62px}.contador b{font-size:22px}}

/* VSL (fachada leve: só carrega o player no clique) */
.vsl{position:relative;max-width:860px;margin:44px auto 0;aspect-ratio:16/9;border-radius:var(--raio-g);overflow:hidden;border:1px solid var(--borda2);background:var(--card);box-shadow:var(--sombra-elev2);cursor:pointer}
.vsl img,.vsl iframe,.vsl video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;border:0;display:grid;place-items:center;background:var(--acao);color:var(--texto-acao);box-shadow:var(--sombra-elev2);cursor:pointer;transition:transform .2s var(--ease)}
.play svg{width:32px;height:32px;margin-left:4px}
.vsl:hover .play{transform:scale(1.06)}
.vsl .leg-vsl{position:absolute;left:0;right:0;bottom:16px;text-align:center;font-size:13px;color:var(--texto2)}

/* ---------- prova: depoimentos em vídeo 9:16 ---------- */
.depos{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.depo{position:relative;flex:0 1 260px;aspect-ratio:9/16;border-radius:var(--raio-g);overflow:hidden;border:1px solid var(--borda2);background:var(--card);cursor:pointer;padding:0}
.depo img,.depo video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.depo .play{width:62px;height:62px}
.depo .play svg{width:24px;height:24px}
.depo .leg{position:absolute;left:12px;right:12px;bottom:12px;font-size:13px;font-weight:600;text-align:left;background:var(--vidro);border:1px solid var(--borda);border-radius:var(--raio-p);padding:8px 10px}
.depo .leg small{display:block;font-size:12px;font-weight:400;color:var(--texto2)}
@media (max-width:620px){.depos{gap:12px}.depo{flex:0 0 calc(50% - 6px)}.depo .leg{font-size:12.5px;padding:6px 8px}}
.modal-video{border:0;padding:0;background:transparent;margin:auto;max-width:none;max-height:none;overflow:visible}
.modal-video::backdrop{background:var(--veu);backdrop-filter:blur(8px)}
.modal-video .tela{position:relative;height:min(86svh,calc((100vw - 32px) * 16 / 9));aspect-ratio:9/16;border-radius:var(--raio-g);overflow:hidden;border:1px solid var(--borda2);background:var(--card);display:grid;place-items:center}
.modal-video.largo .tela{height:auto;width:min(92vw,1000px);aspect-ratio:16/9}
.modal-video video,.modal-video iframe{width:100%;height:100%;object-fit:contain;border:0}
.modal-video .vazio{padding:24px;text-align:center;color:var(--texto2);font-size:14px}
.fechar{position:absolute;top:10px;right:10px;z-index:2;width:42px;height:42px;border-radius:50%;border:1px solid var(--borda2);background:var(--vidro);color:var(--texto);font-size:20px;line-height:1;cursor:pointer}

/* faixa de logos */
.logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 40px;margin-top:48px;color:var(--texto2)}
.logos .rot-logos{width:100%;text-align:center;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.logo-ph{font-family:var(--f-titulo);font-weight:700;font-size:15px;letter-spacing:.06em}
.logos img{height:28px;width:auto;opacity:.75;filter:grayscale(1)}

/* ---------- dor ---------- */
.dores{display:grid;gap:12px;max-width:var(--estreito);margin:0 auto;list-style:none}
.dores li{display:flex;gap:14px;align-items:flex-start;text-align:left;background:var(--card);border:1px solid var(--borda);border-radius:var(--raio);padding:18px 20px}
.dores li::before{content:"";flex:none;width:22px;height:22px;margin-top:2px;border-radius:50%;background:var(--erro);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm4.2 12.8l-1.4 1.4L12 13.4l-2.8 2.8-1.4-1.4 2.8-2.8-2.8-2.8 1.4-1.4 2.8 2.8 2.8-2.8 1.4 1.4-2.8 2.8z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm4.2 12.8l-1.4 1.4L12 13.4l-2.8 2.8-1.4-1.4 2.8-2.8-2.8-2.8 1.4-1.4 2.8 2.8 2.8-2.8 1.4 1.4-2.8 2.8z'/%3E%3C/svg%3E") center/contain no-repeat}
.virada{max-width:var(--estreito);margin:40px auto 0;font-family:var(--f-titulo);text-transform:var(--caixa-titulo);font-weight:700;font-size:clamp(20px,2.8vw,28px);line-height:1.2}

/* ---------- método ---------- */
.passos{counter-reset:passo;display:grid;gap:18px}
.passo{position:relative;background:var(--card);border:1px solid var(--borda);border-radius:var(--raio-g);padding:30px 24px 26px;text-align:center}
.passo::before{counter-increment:passo;content:counter(passo,decimal-leading-zero);display:block;font-family:var(--f-mono);font-weight:700;font-size:14px;letter-spacing:.08em;color:var(--acao-texto);margin-bottom:12px}
.passo p{color:var(--texto2);font-size:16px;margin-top:8px}
.faixa-cta{margin-top:48px;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;background:var(--acao-fundo);border:1px solid var(--borda2);border-radius:var(--raio-g);padding:30px 24px}
.faixa-cta p{font-family:var(--f-titulo);text-transform:var(--caixa-titulo);font-weight:700;font-size:clamp(18px,2.4vw,24px);line-height:1.2}
.faixa-cta small{display:block;font-family:var(--f-texto);text-transform:none;font-weight:400;font-size:14px;color:var(--texto2);margin-top:6px}
@media (min-width:860px){.faixa-cta{flex-direction:row;justify-content:space-between;text-align:left;padding:30px 36px}}

/* ---------- produto / entregáveis ---------- */
.produto{display:grid;gap:36px;align-items:center}
.produto .mock{max-width:520px;margin:0 auto;border-radius:var(--raio-g);overflow:hidden;border:1px solid var(--borda)}
@media (min-width:900px){.produto{grid-template-columns:1fr 1fr}}
.modulos{list-style:none;display:grid;gap:10px}
.modulos li{display:flex;gap:14px;align-items:flex-start;background:var(--card);border:1px solid var(--borda);border-radius:var(--raio);padding:16px 18px}
.modulos li b{display:block}
.modulos li span{color:var(--texto2);font-size:15px}
.modulos .num{flex:none;font-family:var(--f-mono);font-size:12px;font-weight:700;color:var(--acao-texto);background:var(--acao-suave);border-radius:var(--raio-p);padding:5px 8px;margin-top:2px}
.bonus-titulo{margin:56px 0 22px;text-align:center}
.bonus{position:relative;text-align:center}
.bonus .tag{display:inline-block;font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--texto-acao);background:var(--acao);border-radius:var(--raio-p);padding:4px 8px;margin-bottom:12px}
.bonus .valor{display:block;margin-top:12px;font-size:14px;color:var(--texto2)}
.bonus .valor s{text-decoration-color:var(--acao)}

/* ---------- especialista ---------- */
.especialista{display:grid;gap:36px;align-items:center}
.especialista .foto{max-width:420px;width:100%;margin:0 auto;border-radius:var(--raio-g);overflow:hidden;border:1px solid var(--borda2);background:var(--card)}
.especialista .texto{text-align:center}
.especialista .texto p{color:var(--texto2)}
.numeros{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:26px}
.numeros div{min-width:120px;background:var(--card);border:1px solid var(--borda);border-radius:var(--raio);padding:14px 16px;text-align:center}
.numeros b{display:block;font-family:var(--f-titulo);font-size:24px;color:var(--acao-texto)}
.numeros span{font-size:13px;color:var(--texto2)}
@media (min-width:900px){.especialista{grid-template-columns:5fr 7fr}.especialista .texto{text-align:left}.numeros{justify-content:flex-start}}

/* ---------- oferta ---------- */
.oferta{background:radial-gradient(ellipse 70% 50% at 50% 45%,var(--acao-suave),transparent 75%)}
.tabela{max-width:var(--oferta);margin:0 auto;background:var(--card);border:1px solid var(--borda2);border-radius:var(--raio-g);overflow:hidden;text-align:left;box-shadow:var(--sombra-elev2)}
.tabela .topo{font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-align:center;padding:16px;background:var(--acao-suave);color:var(--acao-texto);border-bottom:1px solid var(--borda)}
.item{display:flex;align-items:center;gap:14px;padding:16px 24px;border-bottom:1px solid var(--borda)}
.item .nome{flex:1;font-weight:700;min-width:0}
.item .nome small{display:block;font-weight:400;font-size:14px;color:var(--texto2)}
.item .nome em{font-style:normal;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;background:var(--acao);color:var(--texto-acao);border-radius:5px;padding:2px 6px;margin-left:8px;vertical-align:2px}
.item .val{font-family:var(--f-mono);font-size:14px;color:var(--texto2);white-space:nowrap}
.total{display:flex;justify-content:space-between;gap:14px;padding:16px 24px;color:var(--texto2)}
.total .val{font-family:var(--f-mono);text-decoration:line-through;text-decoration-color:var(--acao);text-decoration-thickness:2px}
.preco{text-align:center;padding:12px 24px 32px}
.preco .rot{font-family:var(--f-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--texto2)}
.preco-grande{font-family:var(--f-titulo);font-weight:900;font-size:clamp(58px,13vw,92px);line-height:1;margin:10px 0 6px;letter-spacing:-.02em}
.preco-grande small{font-size:.3em;vertical-align:1em;margin-right:6px;letter-spacing:0}
.preco .parc{color:var(--texto2)}
.preco .parc b{color:var(--texto)}
.eco{display:inline-block;margin:16px 0 22px;font-weight:700;color:var(--acao-texto);background:var(--acao-suave);border:1px solid var(--borda2);border-radius:var(--pilula);padding:8px 16px;font-size:15px}
.pagamento{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 16px;margin-top:14px;font-size:13px;color:var(--texto2)}
.pagamento span{display:inline-flex;align-items:center;gap:6px}
.pagamento svg{width:15px;height:15px;color:var(--sucesso)}
.nota{max-width:min(var(--oferta),68ch);margin:16px auto 0;font-size:13px;color:var(--texto2);text-align:center}

/* ---------- garantia ---------- */
.garantia{max-width:820px;margin:0 auto;display:grid;gap:26px;justify-items:center;text-align:center;background:var(--card);border:1px solid var(--borda);border-radius:var(--raio-g);padding:36px 26px}
.selo-garantia{position:relative;width:140px;height:140px;border-radius:50%;border:3px solid var(--acao);display:grid;place-items:center;text-align:center;padding:12px}
.selo-garantia::before{content:"";position:absolute;inset:8px;border-radius:50%;border:1px dashed var(--borda2);animation:gira 18s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.selo-garantia b{display:block;font-family:var(--f-titulo);font-size:50px;font-weight:900;line-height:.9}
.selo-garantia span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--texto2)}
.garantia p{color:var(--texto2);margin-top:10px}
@media (min-width:760px){.garantia{grid-template-columns:150px 1fr;text-align:left;padding:38px 40px}}

/* ---------- prazo + pra quem é ---------- */
.prazo h2{font-size:clamp(28px,5.6vw,58px);font-weight:900}
.quem{display:grid;gap:18px;margin-top:52px;text-align:left}
@media (min-width:760px){.quem{grid-template-columns:1fr 1fr}}
.quem .card h3{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.quem ul{list-style:none;display:grid;gap:10px}
.quem li{display:flex;gap:10px;color:var(--texto2);font-size:16px}
.quem li::before{flex:none;font-weight:900}
.quem .sim li::before{content:"✓";color:var(--sucesso)}
.quem .nao li::before{content:"✕";color:var(--erro)}
.quem .sim{border-color:color-mix(in srgb,var(--sucesso) 35%,transparent)}
.quem .nao{border-color:color-mix(in srgb,var(--erro) 30%,transparent)}

/* ---------- FAQ ---------- */
.faq{max-width:var(--estreito);margin:0 auto;display:grid;gap:10px}
.faq details{background:var(--card);border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden}
.faq details[open]{border-color:var(--borda2)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-weight:700;font-size:17px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--acao-suave);color:var(--acao-texto);font-size:20px;font-weight:400;transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .resp{padding:0 22px 20px;color:var(--texto2)}

/* ---------- CTA final ---------- */
.final{text-align:center;background:radial-gradient(ellipse 60% 70% at 50% 100%,var(--acao-suave),transparent 75%)}
.final h2{max-width:900px;margin:0 auto}

/* ---------- rodapé ---------- */
.rodape{padding:44px 0 36px;border-top:1px solid var(--borda);text-align:center;font-size:13px;color:var(--texto2)}
.rodape .logo-rod{display:flex;justify-content:center;margin-bottom:18px}
.rodape .logo-rod img{height:28px;width:auto;opacity:.85}
.rodape nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin:14px 0}
.rodape nav a{text-decoration:none}
.rodape nav a:hover{color:var(--texto)}
.rodape .legal{max-width:46ch;margin:0 auto;font-size:12px;line-height:1.55}
@media (max-width:859px){.rodape{padding-bottom:110px}}

/* ---------- barra CTA fixa (celular) ---------- */
.barra{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--vidro);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--borda2);transform:translateY(110%);transition:transform .35s var(--ease);visibility:hidden}
.barra.on{transform:none;visibility:visible}
.barra .info{font-size:12.5px;line-height:1.3;color:var(--texto2);min-width:0}
.barra .info b{display:block;color:var(--texto);font-family:var(--f-titulo);font-size:15px;white-space:nowrap}
.barra .btn{width:auto;flex:none;font-size:13px;padding:14px 18px;box-shadow:none}
@media (min-width:860px){.barra{display:none}}

/* ---------- WhatsApp flutuante ---------- */
.zap{position:fixed;right:18px;bottom:22px;z-index:41;width:56px;height:56px;border-radius:50%;background:var(--whatsapp);color:var(--sobre-whatsapp);display:grid;place-items:center;box-shadow:var(--sombra);opacity:0;pointer-events:none;transition:opacity .25s,bottom .35s var(--ease)}
.zap svg{width:28px;height:28px}
.zap.on{opacity:1;pointer-events:auto}
.zap[hidden]{display:none}
@media (max-width:859px){body.barra-on .zap{bottom:calc(84px + env(safe-area-inset-bottom))}}

/* ---------- popup de lead (dialog) ---------- */
.cad{margin:auto;width:min(480px,calc(100vw - 24px));max-height:calc(100svh - 24px);border:1px solid var(--borda2);border-radius:var(--raio-g);padding:0;background:var(--fundo2);color:var(--texto);box-shadow:var(--sombra)}
.cad::backdrop{background:var(--veu);backdrop-filter:blur(4px)}
.cad form{position:relative;padding:28px 22px 22px;display:grid;gap:13px}
.cad h3{font-size:22px;padding-right:40px}
.cad .intro{color:var(--texto2);font-size:14px}
.campo{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--texto)}
.campo input,.campo select{font:inherit;font-size:16px;font-weight:500;color:var(--texto);background:var(--fundo);border:1px solid var(--borda);border-radius:var(--raio-p);min-height:50px;padding:0 14px;width:100%}
.campo input::placeholder{color:var(--texto2);opacity:.7}
.campo input:focus,.campo select:focus{outline:2px solid var(--acao);outline-offset:0;border-color:transparent}
.campo input[aria-invalid="true"]{border-color:var(--erro)}
.tel{display:grid;grid-template-columns:120px 1fr;gap:8px}
.tel select{padding:0 8px}
.isca{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.erro-msg{color:var(--erro);font-size:14px;font-weight:600}
.aceite{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;font-weight:400;color:var(--texto2);line-height:1.45;cursor:pointer}
.aceite input{flex:none;width:18px;height:18px;margin-top:1px;accent-color:var(--acao)}
.cad .btn,.form-lead .btn{width:100%}
.btn[disabled]{opacity:.6;pointer-events:none}
.seguro{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--texto2)}
.cad .fechar{top:12px;right:12px;width:36px;height:36px;font-size:18px}

/* ---------- revelar ao rolar ---------- */
.js .rev{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .rev.vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rev{opacity:1;transform:none;transition:none}
  .btn::after,.selo-garantia::before{animation:none}
  .barra,.zap,.btn,.play{transition:none}
}
