/* Tokens e componentes copiados de referencia-visual/pagina-principal.html */
:root{--grad:linear-gradient(45deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5);--txt:#111827;--sub:#6b7280;--pink:#d62976}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{min-height:100vh;background:#fff;color:var(--txt);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
[hidden]{display:none!important}
.topbar{height:3px;background:var(--grad)}
.wrap{width:100%;max-width:500px;margin:0 auto;padding:42px 22px 48px}
h1{max-width:420px;margin:0 auto;font-size:32px;line-height:1.15;letter-spacing:-1.1px;font-weight:800;text-align:center;text-wrap:balance}
.gradient{background-image:linear-gradient(100deg,#f17930 10%,#d62976 47%,#7750ce 90%);background-clip:text;-webkit-background-clip:text;color:transparent}
.description{text-align:center;color:#787080;font-size:14px;line-height:1.6;margin:15px 0 26px;text-wrap:balance;overflow-wrap:anywhere}
.card{position:relative;background:#ffffffed;border:1px solid #eee7f2;border-radius:24px;padding:26px;box-shadow:0 20px 55px -18px #653b8a2b,0 4px 14px #50346a05}
.card:before{content:'';position:absolute;top:-1px;left:24%;right:24%;height:2px;background:linear-gradient(90deg,transparent,#e6b2dc,#dbc5f1,transparent)}
label{display:block;font-size:13px;font-weight:650;margin:0 0 10px;color:#332c3d}
input{width:100%;min-height:58px;padding:17px 14px;border:1.5px solid #e9e3ee;border-radius:14px;font:16px/1.35 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;outline:none;background:#fcfaff;color:var(--txt);transition:border-color .15s,box-shadow .15s,background .15s}
input::placeholder{color:#a69bad}
input:focus{background:#fff;border-color:var(--pink);box-shadow:0 0 0 3px #d6297610}
input[aria-invalid=true]{border-color:#dc2626}
.campo-codigo{text-align:center;font-size:26px;font-weight:750;letter-spacing:8px}
.turnstile{margin-top:16px;min-height:65px;width:100%}
.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:22px;padding:18px 12px;border:none;border-radius:14px;background:linear-gradient(105deg,#f28c32 0%,#e44d66 26%,#d62976 48%,#9c3fb8 74%,#6f57d5 100%);color:#fff;font-family:inherit;font-size:14px;letter-spacing:.3px;font-weight:750;cursor:pointer;min-height:57px;box-shadow:0 8px 20px -6px #d6297659;transition:transform .15s,box-shadow .15s}
.btn svg{width:20px;height:20px;flex-shrink:0}
.btn:hover{box-shadow:0 11px 24px -6px #d629766b;transform:translateY(-1px)}
.btn:active{transform:scale(.985)}
.btn:disabled{opacity:.6;cursor:wait}
button:focus-visible,a:focus-visible{outline:3px solid #962fbf;outline-offset:4px}
.err{color:#dc2626;font-size:13px;line-height:1.5;margin-top:12px;text-align:center;font-weight:600}
.return{display:block;background:none;border:0;color:var(--sub);text-align:center;text-decoration:underline;font-family:inherit;font-size:13px;line-height:1.5;font-weight:600;cursor:pointer;margin:20px auto 0}
.aviso-card{margin-top:24px;font-size:14px;line-height:1.6;color:#3b3445;text-align:center}
.privacy{margin-top:26px;text-align:center;font-size:11px}
.privacy a{color:#97899f}
.politica{font-size:14px;line-height:1.65;color:#3b3445}
.politica h1{margin-bottom:20px}
.politica h2{margin:22px 0 6px;font-size:15px;color:var(--txt)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
