/* Lead Signal — estilo base. As cores e fontes vêm do config.js. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--fundo);color:var(--texto);font-family:var(--fonte-corpo),system-ui,sans-serif;line-height:1.5;min-height:100dvh;-webkit-tap-highlight-color:transparent}
button,input{font:inherit;color:inherit}
img{display:block;max-width:100%}
#app{min-height:100dvh;display:flex;flex-direction:column}

.topo{position:sticky;top:0;z-index:5;background:var(--topo,var(--fundo));color:var(--topo-texto,var(--texto))}
.topo-linha{max-width:520px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px 12px}
.logo{height:46px;width:auto}
.logo-texto{font-family:var(--fonte-display),serif;font-weight:700;font-size:20px}
.lado{font-family:var(--fonte-corpo),sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.85;text-align:right}
.voltar{background:none;border:0;cursor:pointer;font-size:12px;opacity:1}
.trilha{height:4px;background:color-mix(in srgb,var(--topo-texto,var(--texto)) 18%,transparent)}
.trilha-cheia{height:100%;width:0;background:var(--selo,var(--acao));transition:width .35s ease}

.palco{flex:1;width:100%;max-width:520px;margin:0 auto;padding:28px 20px 36px;display:flex;flex-direction:column;justify-content:center}
.entra{display:flex;flex-direction:column;gap:22px;animation:entra .32s ease both}
.eh-capa{gap:18px}
@keyframes entra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.entra{animation:none}.trilha-cheia{transition:none}}

.capa-foto{margin:-28px -20px 4px;overflow:hidden;aspect-ratio:3/1.25;background:var(--superficie2)}
.capa-foto img{width:100%;height:100%;object-fit:cover}
.titulo-capa{font-family:var(--fonte-display),serif;font-weight:800;font-size:clamp(2rem,8.4vw,2.6rem);line-height:1.02;letter-spacing:-.01em;white-space:pre-line}
.titulo{font-family:var(--fonte-display),serif;font-weight:800;font-size:clamp(1.55rem,6.4vw,1.95rem);line-height:1.1;letter-spacing:-.005em;white-space:pre-line}
.titulo-menor{font-family:var(--fonte-display),serif;font-weight:700;font-size:1.25rem}
.texto-suave{color:var(--texto-suave);font-size:15px;line-height:1.55}
.texto-suave.grande{font-size:17px}
.pre{white-space:pre-line}
.realce{color:var(--destaque);font-weight:700}
.realce-leve{color:var(--destaque)}
.cab{display:flex;flex-direction:column;gap:8px}

.selos{list-style:none;display:flex;flex-direction:column;gap:9px}
.selos li{display:flex;align-items:center;gap:10px;font-size:15.5px;font-weight:500}
.check{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--selo,var(--acao));color:var(--acao-texto);font-size:12px;font-weight:900}

.botao{display:block;width:100%;border:0;cursor:pointer;border-radius:14px;background:var(--acao);color:var(--acao-texto);padding:17px 20px;text-align:center;text-decoration:none;font-family:var(--fonte-corpo),sans-serif;font-weight:800;font-size:17px;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 6px 18px -8px color-mix(in srgb,var(--acao) 70%,transparent);transition:transform .12s ease,filter .12s ease}
.botao:hover{filter:brightness(1.07)}
.botao:active{transform:scale(.99)}
.rodape{margin-top:-8px;text-align:center;font-size:13px;color:var(--texto-suave)}

.opcoes{display:flex;flex-direction:column;gap:10px}
.opcao{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;border:1.5px solid var(--borda);background:var(--superficie);border-radius:14px;padding:15px 16px;transition:border-color .12s ease,background .12s ease,transform .12s ease}
.opcao:hover{border-color:var(--acao);background:var(--superficie2)}
.opcao:active{transform:scale(.99)}
.opcao-texto{flex:1;display:flex;flex-direction:column;gap:2px}
.opcao-label{font-family:var(--fonte-corpo),sans-serif;font-size:17px;font-weight:600;line-height:1.35}
.opcao-nota{font-size:13px;color:var(--texto-suave)}
.seta{font-size:26px;line-height:1;color:var(--texto-suave)}

.form{display:flex;flex-direction:column;gap:14px}
.campo{display:flex;flex-direction:column;gap:6px}
.rotulo{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--texto-suave)}
.campo input{width:100%;border:1.5px solid var(--borda);background:var(--superficie);border-radius:12px;padding:14px 16px;font-size:16px;outline:none}
.campo input:focus{border-color:var(--acao)}
.tel{display:flex;border:1.5px solid var(--borda);background:var(--superficie);border-radius:12px;overflow:hidden}
.tel:focus-within{border-color:var(--acao)}
.tel input{border:0;border-radius:0}
.ddi{display:flex;align-items:center;padding:0 12px;border-right:1.5px solid var(--borda);font-size:15px;color:var(--texto-suave);white-space:nowrap}
.erro{min-height:0;font-size:13.5px;color:#b3261e;font-weight:600}
.erro:empty{display:none}

.carregando{display:flex;flex-direction:column;align-items:center;gap:18px;padding:60px 0;text-align:center}
.pontos{display:flex;gap:7px}
.pontos span{width:11px;height:11px;border-radius:50%;background:var(--acao);animation:pula 1s infinite ease-in-out}
.pontos span:nth-child(2){animation-delay:.16s}.pontos span:nth-child(3){animation-delay:.32s}
@keyframes pula{0%,80%,100%{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}

.card{border:1.5px solid var(--borda);background:var(--superficie);border-radius:18px;padding:22px 20px;display:flex;flex-direction:column;gap:10px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--eyebrow,var(--destaque))}
.selos-linha{list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px;color:var(--texto-suave)}

.obs{text-align:center;font-size:14px;line-height:1.6;color:var(--texto-suave);white-space:pre-line}
.encerrado{display:flex;flex-direction:column;gap:14px;text-align:center;padding:40px 0}
.nota-rodape{font-size:13px;color:var(--texto-suave);margin-top:-8px}
.cab-capa{margin-top:6px;padding-top:18px;border-top:1.5px solid var(--borda)}
.cab-capa .titulo{font-size:clamp(1.3rem,5.4vw,1.6rem)}
.eh-capa .rodape{margin-top:-6px}
.nota-acima{font-size:13px;color:var(--texto-suave);margin-top:2px}
.eh-capa .titulo-capa{font-size:clamp(1.7rem,7.1vw,2.3rem)}
.botao-whats{background:var(--botao-final,var(--acao));color:var(--botao-final-texto,var(--acao-texto));box-shadow:0 6px 18px -8px color-mix(in srgb,var(--botao-final,var(--acao)) 70%,transparent)}
.obs .realce,.obs .realce-leve{color:var(--obs-final,var(--destaque))}
