.form-main{padding:50px 0 90px}.form-container{max-width:980px}.form-intro h1{font-size:clamp(2.2rem,5vw,4rem);margin:8px 0}.form-intro p{color:var(--muted)}.form-card{margin:18px 0;padding:26px;border-radius:24px;background:linear-gradient(145deg,rgba(13,41,72,.9),rgba(5,22,39,.95));border:1px solid var(--border)}.form-card h2{font-size:1.35rem}.form-grid{display:grid;gap:16px;margin-bottom:16px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}label{display:flex;flex-direction:column;gap:7px;font-weight:700}label small{color:var(--muted);font-weight:400}input,select,textarea{padding:12px 13px;border-radius:12px;border:1px solid rgba(111,191,255,.28);background:#06172a;color:#fff;font:inherit}
input[type="time"]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}.plan-selector{display:grid;grid-template-columns:1fr 1fr;gap:14px}.select-card{position:relative;padding:20px;border:1px solid var(--border);border-radius:17px;background:rgba(4,168,255,.04)}.select-card input{width:auto;position:absolute;right:18px;top:18px}.select-card span{display:flex;flex-direction:column;padding-right:30px}.select-card:has(input:checked){border-color:var(--green);background:rgba(120,217,0,.08)}fieldset{margin:20px 0;padding:18px;border:1px solid var(--border);border-radius:16px}
.select-all-btn{display:block;margin:10px 0 14px;padding:7px 14px;font-size:.78rem;font-weight:800;border-radius:999px;border:1px solid var(--border);background:rgba(4,168,255,.1);color:#8fd6ff;cursor:pointer}
.select-all-btn:hover{background:rgba(4,168,255,.2)}
#estadoFamiliarWrap label,#provinciaFamiliarWrap label{margin:0}
.label-row{display:flex;flex-direction:row;align-items:baseline;gap:6px}
.optional-tag{color:var(--muted);font-weight:500;font-size:.82em}
.app-check-label{display:inline-flex;align-items:center;gap:7px}
.app-mini-ico{width:20px;height:20px;flex:none;background:#fff;border-radius:5px;padding:2px;object-fit:contain}
.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.check-grid.compact{grid-template-columns:repeat(6,1fr)}.check-grid label,.legal-checks label{display:flex;flex-direction:row;gap:8px;align-items:flex-start;padding:9px 10px;background:rgba(255,255,255,.035);border-radius:10px;font-weight:600}.check-grid input,.legal-checks input,.switch-question input{width:auto;margin-top:3px}.apps-grid-form{max-height:330px;overflow:auto}.switch-question{display:flex;flex-direction:row;gap:10px;padding:16px;background:rgba(120,217,0,.08);border:1px solid rgba(120,217,0,.25);border-radius:15px}.switch-question span{display:flex;flex-direction:column}.schedule-table{margin-top:18px;border:1px solid var(--border);border-radius:15px;overflow:hidden}.schedule-header,.schedule-row{display:grid;grid-template-columns:1.2fr .7fr 1fr 1fr;gap:10px;padding:11px 14px;align-items:center}.schedule-header{background:rgba(4,168,255,.1);font-weight:800}.schedule-row{border-top:1px solid var(--border)}.schedule-row label{display:block}.schedule-row input[type=checkbox]{width:auto}.business-notice{padding:14px;border-left:4px solid var(--green);background:rgba(120,217,0,.08);border-radius:9px;margin-bottom:16px}.legal-checks{display:grid;gap:8px}.form-submit-area{text-align:center;padding:20px}.success-panel{text-align:center;padding:45px;border:1px solid rgba(120,217,0,.35);border-radius:24px;background:rgba(120,217,0,.07)}.success-icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#061321;font-size:2rem;font-weight:900;margin:auto}.success-panel p{color:var(--muted)}
.check-grid.pair{grid-template-columns:repeat(2,1fr)}
.opt-disabled{opacity:.5;cursor:not-allowed}
.opt-text-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.soon-tag{padding:2px 9px;border-radius:999px;background:rgba(4,168,255,.16);color:var(--blue);font-size:.7rem;font-weight:800;letter-spacing:.02em;white-space:nowrap}
input.field-invalid,select.field-invalid,textarea.field-invalid{border-color:#f14343 !important;box-shadow:0 0 0 3px rgba(241,67,67,.18);background:rgba(241,67,67,.06)}
label.field-invalid{outline:2px solid #f14343;outline-offset:1px;background:rgba(241,67,67,.08) !important}
.validation-toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:999;background:#f14343;color:#fff;padding:13px 22px;border-radius:12px;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.35);max-width:min(92vw,520px);text-align:center}
.payment-grid{grid-template-columns:3fr 2fr;align-items:start}
.payment-grid fieldset{margin:0;height:auto}
@media(max-width:760px){.form-grid.two,.form-grid.three,.plan-selector,.payment-grid{grid-template-columns:1fr}.check-grid,.check-grid.compact,.check-grid.pair{grid-template-columns:repeat(2,1fr)}.schedule-header{display:none}.schedule-row{grid-template-columns:1fr 1fr}.schedule-row .day-name{grid-column:1/-1;font-weight:800}}@media(max-width:480px){.check-grid,.check-grid.compact,.check-grid.pair{grid-template-columns:1fr}.form-card{padding:19px}}

/* Barra de progreso pegajosa: muestra en qué sección del formulario está el usuario */
.form-stepper{position:sticky;top:70px;z-index:15;background:rgba(3,16,31,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:12px 0}
.form-stepper-track{display:flex;gap:0;max-width:820px;margin:0 auto;padding:0 20px;overflow-x:auto}
.step-item{flex:1;min-width:66px;display:flex;flex-direction:column;align-items:center;position:relative;font-family:var(--mono);font-size:.6rem;letter-spacing:.03em;color:var(--muted);text-align:center;white-space:nowrap;cursor:pointer}
.step-item::before{content:"";position:absolute;top:11px;left:-50%;width:100%;height:2px;background:rgba(255,255,255,.1);z-index:-1}
.step-item:first-child::before{display:none}
.step-item.done::before{background:var(--green-2)}
.step-num{width:22px;height:22px;border-radius:50%;background:var(--panel-2);border:2px solid var(--border);display:grid;place-items:center;font-weight:800;margin-bottom:5px;color:#fff;font-size:.68rem}
.step-item.done .step-num{background:var(--green-2);border-color:var(--green-2);color:#062100}
.step-item.cur .step-num{border-color:var(--blue);box-shadow:0 0 0 4px rgba(4,168,255,.18)}
.step-item.cur{color:#fff}

/* Resalta con un pulso suave los enlaces legales para que se noten como interactivos */
.legal-highlight{position:relative;border-radius:4px;animation:legalPulse 2.6s ease-in-out infinite}
@keyframes legalPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(4,168,255,.4);color:var(--blue)}
  50%{box-shadow:0 0 0 5px rgba(4,168,255,0);color:var(--lime)}
}
@media(prefers-reduced-motion:reduce){.legal-highlight{animation:none}}
