body{background-color:var(--light-color)}.form-container{background:var(--white);max-width:900px;box-shadow:var(--shadow-lg);border-radius:12px;margin:120px auto 60px;padding:40px}.form-section{border-bottom:2px solid var(--border);margin-bottom:40px;padding-bottom:30px}.form-section:last-child{border-bottom:none}.form-section h3{color:var(--primary-color);font-family:var(--font-heading);font-size:var(--t-2xl);align-items:center;gap:10px;margin-bottom:20px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-group{flex-direction:column;margin-bottom:15px;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{color:var(--text-body);margin-bottom:8px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-strong);font-family:var(--font-body);font-size:var(--t-m);border-radius:6px;padding:12px;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);outline:none}#preinscripcion-form fieldset{border:0;min-width:0;margin:0;padding:0}#preinscripcion-form legend{color:var(--text-body);margin-bottom:8px;padding:0;font-weight:600}.radio-group{gap:20px;margin-top:5px;display:flex}.radio-option{cursor:pointer;align-items:center;gap:8px;display:flex}.radio-option input[type=radio]{width:18px;height:18px;accent-color:var(--primary-color)}.hidden-field{margin-top:15px;display:none}.submit-btn-container{text-align:center;margin-top:40px}.submit-btn-container button{font-size:var(--t-l);width:100%;max-width:400px;padding:15px 40px}.stepper-wrapper{margin-bottom:30px}.stepper{justify-content:space-between;align-items:center;gap:6px;margin-bottom:20px;display:flex}.step-item{cursor:pointer;background:0 0;border:none;outline:none;flex-direction:column;flex:1;align-items:center;padding:6px;transition:all .2s;display:flex}.step-number{background:var(--surface-page);width:40px;height:40px;color:var(--text-secondary);font-weight:700;font-size:var(--t-lead);border:2px solid var(--border-strong);border-radius:50%;justify-content:center;align-items:center;margin-bottom:6px;transition:all .25s;display:flex}.step-title{font-size:var(--t-s);color:var(--text-secondary);text-align:center;font-weight:600;transition:color .25s}.step-item.active .step-number{background:var(--primary-color);color:var(--white);border-color:var(--primary-color);box-shadow:0 0 0 4px #4a148c2e}.step-item.active .step-title{color:var(--primary-color);font-weight:700}.step-item.completed .step-number{background:var(--success-text);color:var(--white);border-color:var(--success-text)}.step-item.completed .step-title{color:var(--success-text)}.step-divider{background:var(--border);flex:1;height:3px;margin:0 2px 26px;transition:background .25s}.step-divider.completed{background:var(--success-text)}.step-header-info{background:var(--light-color);border:1px solid var(--border);font-size:var(--t-m);color:var(--primary-color);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:10px 16px;font-weight:600;display:flex}.step-header-info span:last-child{color:var(--text-secondary);font-weight:400;font-size:var(--t-s)}.step-nav-container{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:15px;margin-top:30px;padding-top:20px;display:flex}@media (width<=600px){.step-title{display:none}.step-divider{margin-bottom:6px}.step-number{width:32px;height:32px;font-size:var(--t-m)}.step-header-info{font-size:var(--t-s);padding:8px 12px}.step-nav-container{flex-direction:column-reverse;gap:10px}.step-nav-container button{width:100%}.form-grid{grid-template-columns:1fr}.form-container{margin-top:100px;padding:20px}}.form-step[hidden],#fam_estructura_otra_div[hidden],#btn-prev-step[hidden],#btn-next-step[hidden],#submit-btn[hidden]{display:none}#form-header-area{text-align:center;margin-bottom:40px}#form-header-area h1{color:var(--dark-color);font-family:var(--font-heading);font-size:var(--t-3xl)}#inactive-message{background:var(--danger-bg);border:2px solid var(--danger-border);border-radius:12px;margin-top:30px;padding:40px}.inactivo-icono{color:var(--text-muted);margin-bottom:20px;font-size:3.2rem;line-height:1}#inactive-message h2{color:var(--danger-text);margin-bottom:15px}#inactive-message p{font-size:var(--t-l);color:var(--danger-text);max-width:600px;margin:0 auto}#inactive-message .btn{margin-top:25px;display:inline-block}.form-intro{color:var(--text-secondary);font-size:var(--t-lead);margin-bottom:15px}.borrador-aviso{text-align:left;background:var(--primary-tint);border:1px solid var(--primary-color);border-radius:12px;margin-top:20px;padding:16px 20px}.borrador-aviso[hidden]{display:none}.borrador-aviso p{color:var(--dark-color);margin:0 0 12px;font-weight:600}.borrador-aviso__botones{flex-wrap:wrap;gap:10px;display:flex}.form-advertencia{text-align:left;background-color:var(--warn-bg);border-radius:8px;max-width:700px;padding:16px 18px;display:inline-block}.form-advertencia>strong{color:var(--warn-text);margin-bottom:5px;display:block}.form-advertencia>span{color:var(--warn-text);font-size:var(--t-m)}.tutor-titulo{color:var(--text-body);margin-bottom:10px}.form-grid.tutor-grid{margin-bottom:30px}label.detalle-rotulo{margin-top:10px}:is(input,textarea).detalle-campo{width:100%}.salud-intro{color:var(--text-secondary);font-size:var(--t-m);margin-bottom:20px}.rgpd-caja{background:var(--surface-page);font-size:var(--t-s);color:var(--text-body);border-radius:8px;padding:20px;line-height:1.5}.rgpd-caja ul{margin-top:10px;margin-left:20px}.rgpd-acepto{margin-top:20px}.rgpd-acepto>label{cursor:pointer;align-items:flex-start;gap:10px;display:flex}#gdpr_consent{width:20px;height:20px;margin-top:2px}.rgpd-imagenes{border-top:1px solid var(--border-strong);margin-top:15px;padding-top:15px}.rgpd-imagenes>legend{font-weight:inherit;color:inherit;margin-bottom:10px}.rgpd-imagenes__pregunta{font-size:var(--t-s);color:var(--text-body);margin-top:10px;font-weight:400;display:block}#form-error{color:var(--danger-text);text-align:center;min-height:24px;margin:20px 0 10px;font-weight:700}#btn-prev-step{padding:12px 28px}.paso-hueco{flex:1}#btn-next-step{font-size:var(--t-lead);padding:12px 36px}#submit-btn{font-size:var(--t-lead);background:var(--success-text);color:var(--white);box-shadow:none;padding:14px 36px}.success-message.exito{text-align:center;padding:40px 20px}.exito-caja{background:var(--success-bg);border:1px solid var(--success-text);border-radius:12px;margin-bottom:30px;padding:30px}.exito-icono{color:var(--success-text);margin-bottom:20px;font-size:52px;line-height:1}.exito-titulo{color:var(--text-strong);margin-bottom:10px}.exito-gracias{font-size:var(--t-lead);color:var(--text-body);margin-bottom:20px}.exito-resguardo{background:var(--surface);border:1px dashed var(--success-text);margin-bottom:20px;padding:15px;display:inline-block}.exito-resguardo__rotulo{font-size:var(--t-xs);color:var(--text-secondary);text-transform:uppercase;display:block}.exito-codigo{font-family:monospace;font-size:var(--t-2xl);color:var(--text-strong);font-weight:700}.exito-cita{background:var(--surface);border:2px solid var(--primary-color);text-align:left;border-radius:12px;max-width:600px;margin:25px auto;padding:25px;box-shadow:0 4px 10px #0000000f}.exito-cita__cabecera{align-items:center;gap:15px;margin-bottom:10px;display:flex}.exito-cita__icono{font-size:32px}.exito-cita__titulo{color:var(--primary-color);font-family:var(--font-heading);font-size:var(--t-l);margin:0}.exito-cita__fase{font-size:var(--t-s);color:var(--text-secondary)}.exito-cita__texto{font-size:var(--t-m);color:var(--text-body);margin-bottom:18px;line-height:1.5}.exito #btn-ir-reserva-cita{border-radius:6px;padding:12px 24px;font-weight:600;text-decoration:none;display:inline-block}.exito-acciones{flex-wrap:wrap;justify-content:center;gap:15px;margin-top:20px;display:flex}.exito-acciones__nota{font-size:var(--t-s);color:var(--text-secondary);width:100%;margin-top:15px}.exito #download-pdf-btn{background:var(--primary-color);color:var(--white);cursor:pointer;border:none;border-radius:6px;padding:12px 25px}.exito .exito-nueva{background:var(--surface-hover);cursor:pointer;border:none;border-radius:6px;padding:12px 25px}
