/* ==========================================================================
   form-widget / form.css — FONTE UNICA do miolo do form nativo (repo ws-50-100)
   Tudo escopado sob #ws-form: nao vaza pra pagina, nao e sobrescrito por ela,
   e roda portatil (carrega os proprios tokens + .cta). Markup e injetado por form.js.
   Mantem 1:1 o visual do modal original (#modal). Input >=16px = anti-zoom iOS.
   ========================================================================== */
#ws-form{
  --gold:#D4AF37;--orange:#FF9900;--card:rgba(24,24,28,.55);--line:rgba(212,175,55,.22);
  --off:#F5F5F0;--mut:#a9a9a6;--red:#e0563f;--glow:0 0 22px rgba(255,153,0,.45);
  /* z-index alto: a landing tem sticky/banner em z-index 10000 e o modal ficava ATRAS
     (escondia o X de fechar). O modal inline antigo usava 99999 — manter acima de tudo. */
  position:fixed;inset:0;z-index:999999;display:none;place-items:center;padding:20px;
  font-family:'Poppins',system-ui,-apple-system,sans-serif;
}
#ws-form.open{display:grid}
#ws-form *,#ws-form *::before,#ws-form *::after{box-sizing:border-box}

#ws-form .modal-bg{position:absolute;inset:0;background:rgba(5,5,7,.78);backdrop-filter:blur(6px);overscroll-behavior:contain;touch-action:none}
/* overscroll-behavior:contain = o scroll do card NAO encadeia pro fundo ao chegar no fim */
#ws-form .modal-card{position:relative;width:100%;max-width:520px;max-height:92vh;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  background:var(--card);border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(10px);
  padding:24px;color:var(--off);animation:wsf-pop .3s cubic-bezier(.2,.8,.2,1)}
#ws-form .modal-x{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--mut);
  font-size:28px;line-height:1;cursor:pointer;padding:0}

#ws-form .cta{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:15.5px;color:#1a1205;
  background:linear-gradient(100deg,var(--gold),var(--orange));border:none;border-radius:14px;padding:15px 26px;
  cursor:pointer;box-shadow:var(--glow);transition:transform .16s,box-shadow .16s;text-decoration:none;font-family:inherit}
#ws-form .cta:hover{box-shadow:0 0 34px rgba(255,153,0,.7)}
#ws-form .cta:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
#ws-form .cta.big{padding:17px 22px;font-size:15px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
#ws-form .cta.danger{background:linear-gradient(100deg,#ff7a45,var(--red));color:#fff;box-shadow:0 0 22px rgba(224,86,63,.4)}
#ws-form .cta.danger:hover{box-shadow:0 0 30px rgba(224,86,63,.6)}
#ws-form .cta-ghost{background:none;border:1px solid var(--line);color:var(--off);box-shadow:none}

#ws-form .tag{display:inline-block;color:var(--gold);font-size:13px;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;padding:7px 15px;border:1px solid rgba(212,175,55,.4);border-radius:999px;
  background:rgba(212,175,55,.1);box-shadow:0 0 20px rgba(212,175,55,.14)}

#ws-form label{display:block;font-size:13px;color:var(--mut);margin-bottom:5px}
#ws-form input,#ws-form select{width:100%;background:rgba(10,10,12,.7);border:1px solid var(--line);
  border-radius:12px;padding:14px 16px;color:var(--off);font-family:inherit;font-size:16px;outline:none;transition:border-color .15s}
#ws-form input:focus,#ws-form select:focus{border-color:var(--gold)}
#ws-form .field{margin-bottom:13px}
#ws-form .fine{color:var(--mut);font-size:12px;text-align:center;margin-top:12px}

#ws-form .fprog{height:5px;border-radius:3px;margin:0 0 16px;background:rgba(255,255,255,.12);overflow:hidden}
#ws-form .fprog i{display:block;height:100%;width:0;border-radius:3px;
  background:linear-gradient(90deg,var(--gold),var(--orange));box-shadow:0 0 10px rgba(255,153,0,.5);
  transition:width .35s cubic-bezier(.2,.8,.2,1)}

#ws-form .fresume{text-align:center;padding:6px 2px}
#ws-form .fresume .ricon{width:60px;height:60px;border-radius:16px;margin:4px auto 14px;display:grid;place-items:center;
  font-size:28px;background:linear-gradient(135deg,rgba(255,153,0,.2),rgba(212,175,55,.08));border:1px solid var(--line);
  box-shadow:inset 0 0 18px rgba(255,153,0,.2)}
#ws-form .fresume h3{font-size:20px;margin-bottom:6px}
#ws-form .fresume p{color:var(--mut);font-size:14px;margin-bottom:18px}

#ws-form .fstep{display:none}
#ws-form .fstep.active{display:block;animation:wsf-fadein .25s ease}
#ws-form .fback{background:none;border:none;color:var(--mut);font-size:24px;line-height:1;cursor:pointer;margin-bottom:4px}
#ws-form h3{font-weight:800;line-height:1.16;color:var(--off);margin:0}
#ws-form .mt-s{margin-top:12px}
#ws-form .fsub{color:var(--mut);font-size:14px;margin:6px 0 16px}
#ws-form .flabel{font-size:13px;color:var(--mut);margin:0 0 8px}

/* sem scroll proprio: o .modal-card ja rola. Evita barra de rolagem dupla no desktop. */
#ws-form .opts{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}
#ws-form .opt{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.04);border:1px solid var(--line);
  border-radius:10px;padding:11px 13px;cursor:pointer;transition:border-color .15s,background .15s;position:relative}
#ws-form .opt:hover{border-color:rgba(212,175,55,.5)}
#ws-form .opt input{position:absolute;opacity:0;width:0;height:0}
#ws-form .opt .dot{flex:0 0 auto;width:18px;height:18px;border-radius:50%;border:2px solid var(--mut);position:relative;transition:border-color .15s}
#ws-form .opt .otxt{font-size:14px;color:var(--off)}
#ws-form .opt.sel{border-color:var(--gold);background:rgba(212,175,55,.08)}
#ws-form .opt.sel .dot{border-color:var(--gold)}
#ws-form .opt.sel .dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--gold)}

#ws-form .ferr{display:none;color:var(--red);font-size:12px;margin-top:5px}
#ws-form .field.bad input{border-color:var(--red)}
#ws-form .field.bad .ferr{display:block}

#ws-form .fdone{text-align:center}
#ws-form .fdone .warnband{font-size:clamp(22px,5.5vw,28px);font-weight:900;color:var(--off);letter-spacing:.01em;
  margin-bottom:10px;text-shadow:0 0 18px rgba(255,153,0,.25)}
#ws-form .warnband{text-align:center;color:var(--gold);font-weight:800;font-size:14px;letter-spacing:.04em}
#ws-form .fdone h3{font-size:clamp(20px,4.6vw,26px);font-weight:900;line-height:1.16;margin:0 0 10px}
#ws-form .fdone .dsub{color:var(--mut);font-size:14.5px;line-height:1.5;margin:0 auto 16px;max-width:42ch}
#ws-form .fdone .dlabel{color:var(--off);font-weight:700;font-size:15px;margin:2px 0 10px}
#ws-form .fdone .dsep{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);margin:26px 0 18px}
#ws-form .fdone .dchoose{color:var(--mut);font-size:14px;margin:0 0 12px}
#ws-form .grad{background:linear-gradient(100deg,var(--gold),var(--orange) 55%,#ffd27a);-webkit-background-clip:text;background-clip:text;color:transparent}
#ws-form .wa-img{width:100%;max-width:430px;height:auto;display:block;margin:0 auto;border-radius:14px}

/* == tela de perfil reprovado (.fblock): herda o visual da .fdone, banda NEUTRA (nao a de alerta) == */
#ws-form .fblock .warnband{font-size:14px;font-weight:800;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;text-shadow:none;margin-bottom:12px}
#ws-form .fblock h3{margin-bottom:12px}
#ws-form .fblock .dsub{max-width:46ch;margin-bottom:14px}
#ws-form .fblock .js-block-ok{margin-top:8px}

@keyframes wsf-pop{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
@keyframes wsf-fadein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* == UX: destaque da proxima acao (auto-avanco + glow no botao pronto + cue no label). Respeita reduced-motion. == */
#ws-form .flabel.flabel-cue{color:var(--gold)} /* fallback estatico */
@media (prefers-reduced-motion:no-preference){
  #ws-form .cta.cta-ready{animation:wsf-cta-pulse 1.5s ease-in-out infinite}
  @keyframes wsf-cta-pulse{0%,100%{box-shadow:0 0 16px rgba(255,153,0,.45)}50%{box-shadow:0 0 30px 5px rgba(255,153,0,.8)}}
  #ws-form .flabel.flabel-cue{animation:wsf-label-cue 1.1s ease-in-out 2}
  @keyframes wsf-label-cue{0%,100%{color:var(--mut);text-shadow:none}50%{color:var(--gold);text-shadow:0 0 12px rgba(212,175,55,.55)}}
}
