/* ===== Formulario "Monte seu site": uma pergunta por tela, no mesmo clima escuro do site ===== */
.monte{--l1:rgba(46,107,255,.22);--l2:rgba(162,75,255,.18);--l1x:78%;--l1y:20%;--l2x:8%;--l2y:92%;
  min-height:100svh;padding:clamp(92px,13svh,128px) var(--gutter) 40px;position:relative;display:flex;flex-direction:column;
  background:radial-gradient(60% 55% at var(--l1x) var(--l1y),var(--l1),transparent 70%),radial-gradient(55% 50% at var(--l2x) var(--l2y),var(--l2),transparent 72%),var(--bg)}
.monte[data-passo="monte"]{--l1x:85%;--l1y:35%;--l2x:15%;--l2y:70%}
.monte[data-passo="contato"],.monte[data-passo="obrigado"]{--l1x:50%;--l1y:100%;--l2x:50%;--l2y:0%}
.monte-in{width:min(100%,1180px);margin-inline:auto;flex:1;display:flex;flex-direction:column}
.monte-topo{display:flex;align-items:center;gap:16px}
.trilha{flex:1;height:4px;border-radius:2px;background:rgba(244,242,238,.12);overflow:hidden}
.trilha i{display:block;height:100%;background:linear-gradient(90deg,var(--azul),var(--violeta));transform-origin:left;transform:scaleX(var(--prog,0));transition:transform .7s var(--ease)}
.passo-txt{font-size:.9rem;font-weight:700;color:var(--mut);white-space:nowrap}

.passo{display:none;flex-direction:column;gap:clamp(18px,3vw,30px);margin-top:clamp(26px,5svh,52px);flex:1}
.passo.ativo{display:flex;animation:passo .75s var(--ease) backwards}
@keyframes passo{from{opacity:0;transform:translateX(34px)}}
.passo.volta.ativo{animation-name:passo-volta}
@keyframes passo-volta{from{opacity:0;transform:translateX(-34px)}}
.passo h1,.passo h2{font-size:clamp(2rem,5vw,4rem);line-height:1.02;letter-spacing:-.04em;max-width:20ch;outline:none}
.passo h1 em,.passo h2 em{color:var(--violeta)}
.passo .lead{color:var(--suave-no-escuro);max-width:56ch;font-size:clamp(1.05rem,1.5vw,1.25rem)}
.dica{color:var(--mut);font-size:.95rem}

/* opcoes grandes e chips (radio e checkbox de verdade, com visual proprio) */
.opcoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px}
.opcao{position:relative;display:block}
.opcao input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.opcao .cartao{display:grid;gap:6px;height:100%;padding:22px 24px;background:var(--card);border:2px solid var(--linha);border-radius:24px;transition:border-color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease)}
.opcao .cartao b{font-size:1.25rem;letter-spacing:-.02em;line-height:1.15}
.opcao .cartao span{color:var(--mut);font-size:1rem}
.opcao:hover .cartao{border-color:rgba(244,242,238,.3);transform:translateY(-3px)}
.opcao input:checked + .cartao{border-color:var(--violeta);background:#191631}
.opcao input:focus-visible + .cartao{outline:3px solid var(--off);outline-offset:3px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.chip span{display:block;padding:12px 20px;border-radius:999px;border:2px solid var(--linha);background:var(--card);font-weight:700;font-size:1rem;transition:border-color .25s var(--ease),background .25s var(--ease)}
.chip:hover span{border-color:rgba(244,242,238,.3)}
.chip input:checked + span{border-color:var(--violeta);background:#191631}
.chip input:focus-visible + span{outline:3px solid var(--off);outline-offset:3px}

/* campos */
.campos{display:grid;gap:18px;max-width:640px}
.campo{display:grid;gap:8px}
.campo label,.campo .rotulo{font-weight:800;font-size:1.05rem}
.campo small{color:var(--mut);font-weight:500}
.campo input[type=text],.campo input[type=email],.campo input[type=tel],.campo textarea{width:100%;background:#0A0B10;border:2px solid var(--linha);border-radius:16px;color:var(--off);padding:15px 18px;font:inherit;font-size:1.05rem;transition:border-color .25s var(--ease)}
.campo textarea{min-height:120px;resize:vertical}
.campo input:focus,.campo textarea:focus{outline:none;border-color:var(--violeta)}
.campo [aria-invalid="true"]{border-color:#FF7A8A}
.erro{color:#FF9AA6;font-weight:700;font-size:.95rem;min-height:0}
.erro:empty{display:none}
.aceite{display:flex;gap:12px;align-items:flex-start;font-size:1rem}
.aceite input{width:22px;height:22px;margin-top:2px;accent-color:var(--violeta);flex:none}
.aceite a{text-underline-offset:4px}
.isca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* navegacao entre passos */
.nav-passos{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:clamp(24px,4svh,40px);position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 38%);padding-bottom:14px}
.nav-passos .btn{cursor:pointer;border:0;font-family:inherit}
.nav-passos .btn.contorno{background:none;border:2px solid rgba(244,242,238,.55);color:var(--off)}
.nav-passos .btn[disabled]{opacity:.6;cursor:wait}
.nav-passos .oculto{visibility:hidden}

/* ===== monte seu site: biblioteca de blocos + janela de pre-visualizacao ===== */
.monte-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(20px,3vw,44px);align-items:start}
.biblioteca{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.lib{display:grid;gap:8px;text-align:left;background:var(--card);border:2px solid var(--linha);border-radius:18px;padding:10px;color:inherit;font:inherit;cursor:pointer;transition:border-color .25s var(--ease),background .25s var(--ease),transform .25s var(--ease)}
.lib:hover{transform:translateY(-3px);border-color:rgba(244,242,238,.3)}
.lib[aria-pressed="true"]{border-color:var(--violeta);background:#191631}
.lib svg{width:100%;height:auto;border-radius:10px;background:#10121A}
.lib b{font-size:.95rem;line-height:1.2;letter-spacing:-.01em}
.lib em{font-size:.85rem;color:var(--mut);font-weight:700}
.lib[aria-pressed="true"] em{color:#CFA9FF}
.previa{position:sticky;top:84px}
.janela{background:#10121A;border:1px solid rgba(244,242,238,.16);border-radius:22px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}
.janela-barra{display:flex;align-items:center;gap:7px;padding:13px 16px;background:#171A25}
.janela-barra i{width:10px;height:10px;border-radius:50%;background:#3A3E4D}
.janela-barra span{margin-left:10px;flex:1;max-width:260px;background:#0A0B10;border-radius:12px;padding:3px 12px;font-size:.8rem;color:var(--mut);font-weight:700}
.janela-corpo{max-height:min(62svh,560px);overflow:auto;padding:14px;display:grid;gap:10px;align-content:start;scrollbar-width:thin;min-height:220px}
.vazio{color:var(--mut);text-align:center;padding:48px 16px;font-weight:700}
.mini{position:relative;background:#171A25;border-radius:16px;padding:8px 12px 12px;animation:mini-entra .7s var(--ease) backwards}
@keyframes mini-entra{from{opacity:0;transform:translateX(-34px) scale(.97)}}
.mini.saindo{animation:mini-sai .28s var(--ease) forwards}
@keyframes mini-sai{to{opacity:0;transform:translateX(34px) scale(.96)}}
.mini-topo{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.mini-topo b{font-size:.85rem;color:var(--suave-no-escuro)}
.mini-ctl{display:flex;gap:6px}
.mini-ctl button{width:32px;height:32px;border-radius:10px;border:1px solid var(--linha);background:#10121A;color:var(--off);cursor:pointer;display:grid;place-items:center;font:inherit;transition:background .2s var(--ease)}
.mini-ctl button:hover{background:#232638}
.mini-ctl button[disabled]{opacity:.35;cursor:default}
.mini-ctl svg{width:16px;height:16px}
.mini>svg{width:100%;height:auto;border-radius:10px;background:#10121A}
.previa-info{margin-top:12px;color:var(--mut);font-size:.95rem}

/* obrigado */
.resumo-final{display:grid;gap:10px;max-width:560px}
.aviso{background:#2A1B22;border:1px solid #6B3A48;color:#FFD1D8;border-radius:16px;padding:14px 18px;max-width:640px}
.ok-envio{color:#9FE7B4;font-weight:700}

@media (max-width:900px){
  .monte-grid{grid-template-columns:1fr}
  .previa{position:static;order:-1}
  .janela-corpo{max-height:42svh}
}
@media (prefers-reduced-motion:reduce){.passo.ativo,.mini{animation:none!important}}

/* ===== pagina de texto (privacidade) ===== */
.legal{max-width:760px}
.legal h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.02;letter-spacing:-.04em;margin-bottom:12px}
.legal h1 em{color:var(--violeta)}
.legal h2{font-size:1.35rem;letter-spacing:-.02em;margin:30px 0 8px}
.legal p{color:var(--suave-no-escuro)}
.legal a{text-underline-offset:4px}

/* o atributo hidden precisa vencer qualquer display */
.monte [hidden]{display:none!important}
