/* IDRA Preinscripción 2027 — estilos del wizard.
   Todas las clases llevan el prefijo idra-pre- para no chocar con el theme. */

.idra-pre-app, .idra-pre-app *{ box-sizing:border-box; }
.idra-pre-app{
  --idra-navy:#103A75;
  --idra-navy-deep:#0A2750;
  --idra-orange:#F2701D;
  --idra-orange-soft:#FCE0CB;
  --idra-teal:#3FB8BC;
  --idra-lime:#A6C93C;
  --idra-magenta:#D6166F;
  --idra-bg:#F5F6F2;
  --idra-paper:#FFFFFF;
  --idra-ink:#103A75;
  --idra-ink-soft:#6B7686;
  --idra-line:#E3E5DF;
  --idra-radius:18px;
  --idra-shadow:0 18px 40px -22px rgba(16,35,71,0.35);

  font-family:'Poppins',sans-serif;
  color:var(--idra-ink);
  background:var(--idra-paper);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 24px 60px -30px rgba(16,35,71,0.3);
}
.idra-pre-app h1,.idra-pre-app h2,.idra-pre-app h3{
  font-family:'Poppins',sans-serif;
  font-weight:800;
  letter-spacing:-0.01em;
  margin:0;
}

/* -------- BARRA DE PROGRESO HORIZONTAL -------- */
.idra-pre-steps-bar{
  display:flex;
  border-bottom:1.5px solid var(--idra-line);
  background:var(--idra-paper);
}
.idra-pre-step-dot{
  flex:1;
  padding:16px 8px;
  text-align:center;
  font-size:11.5px;
  font-weight:700;
  color:var(--idra-ink-soft);
  letter-spacing:0.06em;
  text-transform:uppercase;
  position:relative;
  transition:color .2s;
}
.idra-pre-step-dot::after{
  content:'';
  position:absolute;
  bottom:-1.5px;
  left:0; right:0;
  height:3px;
  background:transparent;
  transition:background .25s;
  border-radius:3px 3px 0 0;
}
.idra-pre-step-dot.idra-pre-active{ color:var(--idra-navy); }
.idra-pre-step-dot.idra-pre-active::after{ background:var(--idra-orange); }
.idra-pre-step-dot.idra-pre-done{ color:var(--idra-lime); }
.idra-pre-step-dot.idra-pre-done::after{ background:var(--idra-lime); }
.idra-pre-step-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px; height:20px;
  border-radius:50%;
  background:var(--idra-line);
  color:var(--idra-ink-soft);
  font-size:10px;
  margin-right:6px;
  transition:background .2s, color .2s;
  vertical-align:middle;
}
.idra-pre-step-dot.idra-pre-active .idra-pre-step-num{
  background:var(--idra-orange); color:#fff;
}
.idra-pre-step-dot.idra-pre-done .idra-pre-step-num{
  background:var(--idra-lime); color:#fff;
}
@media (max-width:480px){
  .idra-pre-step-dot{ font-size:10px; padding:14px 4px; }
  .idra-pre-step-num{ display:none; }
}

/* -------- PANEL PRINCIPAL -------- */
.idra-pre-main{ background:var(--idra-paper); }
.idra-pre-formcard{ max-width:560px; margin:0 auto; width:100%; padding:36px 40px 40px; }
@media (max-width:600px){ .idra-pre-formcard{ padding:28px 20px 36px; } }

.idra-pre-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--idra-orange); margin-bottom:10px;
}
.idra-pre-eyebrow .bar{ width:18px; height:3px; border-radius:2px; background:var(--idra-orange); }
.idra-pre-step-title{ font-size:26px; color:var(--idra-navy); margin-bottom:6px; }
.idra-pre-step-desc{ color:var(--idra-ink-soft); font-size:14px; line-height:1.6; margin-bottom:28px; font-weight:400; }

/* -------- CAMPOS -------- */
.idra-pre-field{ margin-bottom:18px; }
.idra-pre-field label{ display:block; font-size:12.5px; font-weight:700; color:var(--idra-navy); margin-bottom:6px; }
.idra-pre-field input[type=text],
.idra-pre-field input[type=email],
.idra-pre-field input[type=tel],
.idra-pre-field select{
  width:100%; padding:12px 14px; border-radius:12px;
  border:1.5px solid var(--idra-line);
  background:var(--idra-paper);
  font-family:'Poppins',sans-serif; font-weight:400; font-size:14px;
  color:var(--idra-ink); outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.idra-pre-field input:focus, .idra-pre-field select:focus{
  border-color:var(--idra-orange);
  box-shadow:0 0 0 4px rgba(242,112,29,0.12);
}
.idra-pre-phone-row{ display:flex; gap:8px; }
.idra-pre-phone-prefix{
  flex:none; width:64px; padding:12px 8px; border-radius:12px;
  border:1.5px solid var(--idra-line); background:var(--idra-bg);
  color:var(--idra-ink-soft); font-weight:700; font-size:14px; text-align:center;
}
.idra-pre-phone-row input{ flex:1; }
.idra-pre-field-hint{ font-size:11.5px; color:var(--idra-ink-soft); margin-top:5px; font-weight:400; }

/* -------- VALIDACIÓN -------- */
.idra-pre-field .idra-pre-err{ color:var(--idra-magenta); font-size:12px; margin-top:5px; display:none !important; font-weight:600; }
.idra-pre-field.idra-pre-invalid input,
.idra-pre-field.idra-pre-invalid select{ border-color:var(--idra-magenta); }
.idra-pre-field.idra-pre-invalid .idra-pre-err{ display:block !important; }
.idra-pre-field.idra-pre-invalid .idra-pre-phone-prefix{ border-color:var(--idra-magenta); }

/* -------- NIVEL (tarjetas) -------- */
.idra-pre-level-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
@media (max-width:480px){ .idra-pre-level-grid{ grid-template-columns:1fr; } }
.idra-pre-level-card{
  border:1.5px solid var(--idra-line); background:var(--idra-paper);
  border-radius:12px; padding:14px 12px; cursor:pointer; text-align:left;
  transition:border-color .15s, transform .1s, background .15s;
  font-family:'Poppins',sans-serif;
}
.idra-pre-level-card:hover{ transform:translateY(-2px); border-color:#C9CFD6; }
.idra-pre-level-card .lc-dot{ width:22px; height:22px; border-radius:7px; margin-bottom:8px; }
.idra-pre-level-card[data-level="inicial"] .lc-dot{ background:var(--idra-teal); }
.idra-pre-level-card[data-level="primaria"] .lc-dot{ background:var(--idra-magenta); }
.idra-pre-level-card[data-level="secundaria"] .lc-dot{ background:var(--idra-navy); }
.idra-pre-level-card .lc-name{ font-weight:700; font-size:13.5px; color:var(--idra-navy); display:block; }
.idra-pre-level-card .lc-range{ font-size:11px; color:var(--idra-ink-soft); font-weight:400; }
.idra-pre-level-card.idra-pre-selected{
  border-color:var(--idra-orange); background:var(--idra-orange-soft);
  box-shadow:var(--idra-shadow);
}

/* -------- HIJO/A CARD -------- */
.idra-pre-kid-card{
  border:1.5px solid var(--idra-line); border-radius:var(--idra-radius);
  background:var(--idra-bg); padding:20px; margin-bottom:14px; position:relative;
}
.idra-pre-kid-card .kid-tag{
  position:absolute; top:-10px; left:16px;
  background:var(--idra-navy); color:#fff;
  font-size:10.5px; font-weight:700; padding:3px 11px; border-radius:20px;
}
.idra-pre-kid-remove{
  position:absolute; top:12px; right:12px;
  background:none; border:none; color:var(--idra-ink-soft);
  font-size:12px; cursor:pointer; font-weight:600; font-family:'Poppins',sans-serif;
}
.idra-pre-kid-remove:hover{ color:var(--idra-magenta); }
.idra-pre-add-kid{
  width:100%; padding:13px; border-radius:12px;
  border:1.5px dashed #C9CFD6; background:transparent;
  color:var(--idra-navy); font-weight:700; font-size:13px;
  cursor:pointer; font-family:'Poppins',sans-serif;
  transition:border-color .2s, background .2s; margin-bottom:4px;
}
.idra-pre-add-kid:hover{ border-color:var(--idra-orange); background:var(--idra-orange-soft); }

/* -------- NAVEGACIÓN -------- */
.idra-pre-nav-row{ display:flex; justify-content:space-between; align-items:center; margin-top:28px; gap:10px; }
.idra-pre-btn{ font-family:'Poppins',sans-serif; font-weight:700; font-size:14px; padding:12px 24px; border-radius:12px; border:none; cursor:pointer; transition:transform .1s, box-shadow .2s, opacity .2s; }
.idra-pre-btn:active{ transform:scale(0.98); }
.idra-pre-btn-primary{ background:var(--idra-orange); color:#fff; box-shadow:0 10px 22px -10px rgba(242,112,29,0.6); }
.idra-pre-btn-primary:disabled{ opacity:.45; cursor:not-allowed; box-shadow:none; }
.idra-pre-btn-ghost{ background:transparent; color:var(--idra-ink-soft); }
.idra-pre-btn-ghost:hover{ color:var(--idra-navy); }

/* -------- RESUMEN -------- */
.idra-pre-summary-block{ background:var(--idra-bg); border:1.5px solid var(--idra-line); border-radius:var(--idra-radius); padding:20px; margin-bottom:12px; }
.idra-pre-summary-block h3{ font-size:11.5px; color:var(--idra-ink-soft); text-transform:uppercase; letter-spacing:0.07em; margin-bottom:10px; font-weight:700; }
.idra-pre-summary-row{ display:flex; justify-content:space-between; padding:7px 0; border-bottom:1px solid var(--idra-line); font-size:13.5px; }
.idra-pre-summary-row:last-child{ border-bottom:none; }
.idra-pre-summary-row .k{ color:var(--idra-ink-soft); font-weight:400; }
.idra-pre-summary-row .v{ font-weight:600; color:var(--idra-navy); text-align:right; }
.idra-pre-kid-pill{ display:inline-block; font-size:10px; font-weight:700; padding:2px 8px; border-radius:20px; margin-left:6px; background:var(--idra-orange-soft); color:var(--idra-orange); }

/* -------- ERROR DE ENVÍO -------- */
.idra-pre-form-error{ display:none !important; background:#FCE3EE; color:var(--idra-magenta); border-radius:10px; padding:12px 14px; font-size:13px; font-weight:600; margin-bottom:10px; }
.idra-pre-form-error.idra-pre-show{ display:block !important; }

/* -------- ÉXITO -------- */
.idra-pre-success{ text-align:center; padding:44px 24px; }
.idra-pre-success .check{ width:68px; height:68px; border-radius:50%; background:var(--idra-lime); color:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-size:30px; font-weight:800; }
.idra-pre-success h2{ font-size:22px; margin-bottom:10px; color:var(--idra-navy); }
.idra-pre-success p{ color:var(--idra-ink-soft); font-size:14px; line-height:1.65; max-width:40ch; margin:0 auto; font-weight:400; }
.idra-pre-success a{ color:var(--idra-orange); font-weight:700; }

/* -------- SWITCH DE PASOS -------- */
.idra-pre-step-panel{ display:none !important; }
.idra-pre-step-panel.idra-pre-active{ display:block !important; animation:idraFadein .3s ease; }
@keyframes idraFadein{ from{opacity:0;transform:translateY(5px);}to{opacity:1;transform:translateY(0);} }
.idra-pre-app .idra-pre-hidden{ display:none !important; }
