/* Página de inscripción (templates/pages/inscripciones.php + js/inscripcion.js). Agente Inscripciones.
   Formulario con el markup/clases de src/inscripciones.html (estilos de style.css: .form-card naranja, .form-control-lg,
   .form-select-lg, .btn-light) en formato por pasos. Aquí solo: información editable, tabla de tarifas, honeypot,
   indicador de pasos, mensajes de error legibles sobre el naranja y el resumen de precio.
   Paleta de src/sass/_variables.scss: negro #000, rojo #e4403c, naranja #f99c2f, crema #fffbeb. */
.section-pages--inscripciones .insc-info ul { margin-bottom: 1.5rem; margin-top: 3em; padding-left: 1.5rem; }
.section-pages--inscripciones .insc-info ul li { display: block; margin-bottom: .6rem; padding-left: 2rem; position: relative; text-align: left; }
.section-pages--inscripciones .insc-info ul li::before { color: #e4403c; content: "✓"; font-size: 2rem; font-weight: 600; left: 0; position: absolute; top: .3rem; width: 1.2rem; text-align: center; }

.insc-prices__title { font-weight: 700; font-size: 1.35rem; margin: 1rem 0 .75rem; }
.insc-prices__table { background: #fff; border-radius: .75rem; overflow: hidden; }
.insc-prices__table thead th { background: #000; color: #fff; font-weight: 600; }
.insc-prices__table th[scope="row"] { font-weight: 500; }

/* Honeypot (fuera de pantalla, no display:none para no delatarlo) */
.insc-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Asistente por pasos ---------- */
.insc-steps { counter-reset: none; display: flex; gap: .5rem; list-style: none; margin: 0 0 2rem; padding: 0; }
.insc-steps__item { align-items: center; color: rgba(0, 0, 0, .55); display: flex; flex: 1 1 0; flex-direction: column; font-size: .85rem; font-weight: 600; gap: .35rem; position: relative; text-align: center; }
.insc-steps__item:not(:last-child)::after { background: rgba(0, 0, 0, .2); content: ""; height: 3px; left: calc(50% + 1.4rem); position: absolute; right: calc(-50% + 1.4rem + .5rem); top: 1.1rem; border-radius: 2px; }
.insc-steps__item.is-done:not(:last-child)::after { background: #000; }
.insc-steps__num { align-items: center; background: #fff; border: 3px solid rgba(0, 0, 0, .2); border-radius: 50%; color: #000; display: inline-flex; font-size: 1rem; font-weight: 700; height: 2.5rem; justify-content: center; width: 2.5rem; transition: background-color .2s, border-color .2s, color .2s; }
.insc-steps__item.is-current { color: #000; }
.insc-steps__item.is-current .insc-steps__num { background: #000; border-color: #000; color: #fff; }
.insc-steps__item.is-done { color: #000; cursor: pointer; }
.insc-steps__item.is-done .insc-steps__num { background: #fff; border-color: #000; }
.insc-steps__label { color: inherit; display: block; font-weight: 600; line-height: 1.2; text-transform: none; } /* style.css pone span {rojo, mayúsculas} */
@media (max-width: 575.98px) {
  .insc-steps__label { font-size: .72rem; }
  .insc-steps__num { height: 2.1rem; width: 2.1rem; font-size: .9rem; }
  .insc-steps__item:not(:last-child)::after { top: .95rem; left: calc(50% + 1.2rem); right: calc(-50% + 1.2rem + .5rem); }
}

.insc-step { border: 0; margin: 0; min-width: 0; padding: 0; }
.insc-step + .insc-step { margin-top: 2.5rem; }
.insc-step__title { color: #fff; float: none; font-size: 1.35rem; font-weight: 700; margin-bottom: 1.25rem; width: 100%; }
.insc-step__title:focus { outline: none; }
/* Con JS: solo el paso actual */
.is-wizard .insc-step { display: none; }
.is-wizard .insc-step.is-current { display: block; }
.is-wizard .insc-step + .insc-step { margin-top: 0; }

.insc-nav { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: space-between; }
.insc-nav [data-next], .insc-nav [data-submit] { margin-left: auto; }
.form-card .btn-outline-dark { border-width: 2px; font-weight: 600; }
@media (max-width: 575.98px) {
  .insc-nav .btn { flex: 1 1 100%; }
  .insc-nav [data-next], .insc-nav [data-submit] { order: -1; }
}

/* Errores legibles sobre el fondo naranja */
.form-card .invalid-feedback { background: #fff; border-left: 4px solid #e4403c; border-radius: .4rem; color: #000; font-size: .9rem; font-weight: 600; margin-top: .4rem; padding: .35rem .6rem; }
.form-card .form-control.is-invalid, .form-card .form-select.is-invalid { border: 2px solid #e4403c; }
.form-card .form-check-input.is-invalid { border-color: #e4403c; }
.form-card .form-check-input.is-invalid ~ .form-check-label { color: #fff; }
.form-card .form-check .invalid-feedback { margin-left: -1.5em; }
.form-card #clases-feedback.d-block { display: block; }

/* LM obligatorio: casilla marcada y bloqueada, se sigue leyendo bien */
.form-card .form-check-input[data-locked] { opacity: .85; cursor: not-allowed; }
.form-card .form-check-input[data-locked] ~ .form-check-label { opacity: 1; }
.form-card .insc-lm-note { background: rgba(0, 0, 0, .12); border-radius: .4rem; font-size: .875rem; padding: .4rem .6rem; }

/* Resumen de precio (estimación) */
.form-card .insc-summary { background: #fff; border-radius: .6rem; color: #000; font-size: .95rem; padding: .9rem 1rem; }
.insc-summary__title { font-weight: 700; margin-bottom: .5rem; }
.insc-summary__table { width: 100%; }
.insc-summary__table td { border-bottom: 1px solid #eee; padding: .3rem 0; vertical-align: top; }
.insc-summary__table td + td { padding-left: 1rem; white-space: nowrap; }
.insc-summary__total td { border-bottom: 2px solid #000; font-weight: 700; }
.insc-summary__month td { border-bottom: 0; color: #e4403c; font-size: 1.1rem; font-weight: 700; }
.insc-summary__note { color: #444; font-size: .85rem; margin: .5rem 0 0; }
.alert-success .insc-summary { background: #fff; border-radius: .6rem; color: #000; padding: .9rem 1rem; }
