:root { color-scheme: light; }
.registro-page { min-height: 100vh; background: radial-gradient(circle at 10% 10%, rgba(110,242,194,.14), transparent 30%), #07182d; color: #13233b; }
.registro-header { max-width: 1180px; margin: auto; padding: 24px; display: flex; align-items: center; justify-content: space-between; }
.registro-header .brand { color: #fff; }
.registro-volver { color: #d9e5f3; text-decoration: none; font-weight: 700; }
.registro-main { width: min(1120px, calc(100% - 32px)); margin: 30px auto 70px; display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.registro-intro { color: #d9e5f3; }
.registro-intro h1 { color: #fff; font-size: clamp(2.4rem, 5vw, 4.6rem); line-height: .98; margin: 12px 0 24px; }
.registro-intro > p { font-size: 1.08rem; line-height: 1.7; }
.registro-intro ul { padding-left: 20px; line-height: 1.8; }
.registro-card { background: #fff; border-radius: 24px; padding: clamp(24px, 5vw, 48px); box-shadow: 0 28px 80px rgba(0,0,0,.28); }
.registro-step { color: #14755e; font-size: .78rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.registro-card h2 { margin: 4px 0 28px; font-size: clamp(1.8rem, 3vw, 2.5rem); }
.registro-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.registro-fieldset[hidden] { display: none; }
.registro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.registro-field { margin-bottom: 18px; }
.registro-field label { display: block; font-weight: 800; margin-bottom: 7px; }
.registro-field input, .registro-field select { width: 100%; min-height: 48px; border: 1px solid #bcc9d8; border-radius: 10px; padding: 10px 12px; font: inherit; background: #fff; }
.registro-field input:focus, .registro-field select:focus { outline: 3px solid rgba(24,183,139,.18); border-color: #168c6d; }
.registro-field small, .registro-note { color: #64748b; font-size: .82rem; }
.registro-field .registro-beneficio { display: block; margin-top: 7px; color: #087052; font-weight: 800; }
.registro-field .registro-beneficio[hidden] { display: none; }
.registro-check { display: flex; gap: 10px; align-items: flex-start; margin: 4px 0 20px; font-size: .9rem; line-height: 1.45; }
.registro-check input { margin-top: 3px; }
.registro-question { margin: 24px 0 10px; color: #0f2748; font-weight: 900; line-height: 1.35; }
.registro-options { display: grid; gap: 9px; }
.registro-options label { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 12px; border: 1px solid #bcc9d8; border-radius: 10px; cursor: pointer; font-size: .88rem; font-weight: 700; }
.registro-options label:has(input:checked) { border-color: #20c997; background: #e9fbf5; box-shadow: 0 0 0 1px #20c997; }
.registro-options input { flex: 0 0 auto; accent-color: #0b71e0; }
.registro-query-options label span { flex: 1; }
.registro-query-options label strong { color: #0f2748; font-size: .8rem; white-space: nowrap; }
.registro-price { display: flex; align-items: center; justify-content: space-between; margin: 14px 0; padding: 16px; border: 1px solid #65dfbd; border-radius: 10px; background: #ebfcf7; }
.registro-price strong { color: #087052; font-size: 1.25rem; }
.registro-step-actions { display: grid; grid-template-columns: .7fr 1fr; gap: 12px; }
.registro-step-actions .button { width: 100%; }
.registro-honeypot { position: absolute; left: -10000px; }
.registro-message { padding: 12px; border-radius: 8px; }
.registro-error { color: #8b1e24; background: #fff0f0; border: 1px solid #f0b8bb; }
.registro-note { text-align: center; margin-bottom: 0; }
.registro-success { text-align: center; }
.registro-success-icon { display: grid; place-items: center; width: 68px; height: 68px; margin: 0 auto 18px; border-radius: 50%; background: #d9f8ed; color: #087052; font-size: 2rem; font-weight: 900; }
.registro-success dl { margin: 26px 0; text-align: left; border-top: 1px solid #e2e8f0; }
.registro-success dl div { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid #e2e8f0; }
.registro-success dt { color: #64748b; }
.registro-success dd { margin: 0; font-weight: 800; text-align: right; }
@media (max-width: 760px) { .registro-main { grid-template-columns: 1fr; margin-top: 10px; } .registro-grid { grid-template-columns: 1fr; gap: 0; } .registro-intro h1 { font-size: 2.65rem; } .registro-header { padding-inline: 16px; } }
