/* =========================================================
   Página de inscripción
   ========================================================= */
[hidden] { display: none !important; }
.ins-hero { position: relative; overflow: hidden; padding: 44px 0 52px; color: #fff; background: linear-gradient(135deg, #002a55 0%, #003366 60%, #0a5aa8 140%); }
.ins-hero::after { content: ""; position: absolute; right: -120px; top: -160px; width: 480px; height: 480px; border-radius: 50%; background: rgba(125, 194, 66, .16); filter: blur(70px); pointer-events: none; }
.ins-hero .container { position: relative; z-index: 1; }
.ins-hero h1 { margin: 0 0 10px; color: #fff; text-align: left; font-family: var(--font-heading); font-size: clamp(1.8rem, 3.6vw, 2.6rem); line-height: 1.15; }
.ins-hero-sub { margin: 0; max-width: 70ch; font-size: 1.08rem; line-height: 1.6; color: #dbe5f0; }
.ins-hero-facts { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 20px 0 0; padding: 0; font-size: var(--fs-sm); font-weight: 600; color: #dbe5f0; }
.ins-hero-facts i { margin-right: 6px; color: #9fd97a; }

.ins-section { padding: 44px 0 72px; }
.ins-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; align-items: start; }
.ins-card { background: #fff; border: 1px solid var(--site-borde); border-radius: 16px; padding: 32px; box-shadow: 0 4px 18px rgba(0, 51, 102, .06); }
.ins-indicator { display: none; }

/* Pasos del formulario */
.ins-step { border: 0; margin: 0 0 30px; padding: 0; min-width: 0; }
.ins-step legend { display: flex; align-items: center; gap: 12px; width: 100%; margin: 0 0 6px; padding: 0; font-family: var(--font-heading); font-size: 1.2rem; font-weight: 700; color: var(--site-azul-marino); }
.ins-step-n { flex: 0 0 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--site-azul-marino); color: #fff; font-size: .95rem; }
.ins-step-help { margin: 0 0 14px 44px; font-size: var(--fs-sm); color: var(--site-gris-texto); }
.ins-step > .form-row, .ins-step > .form-group { margin-top: 14px; }
.ins-opt { font-family: var(--font-body); font-weight: 400; font-size: var(--fs-sm); color: var(--site-gris-texto); }
.ins-step-note { margin: 12px 0 0; font-size: var(--fs-sm); color: var(--site-gris-texto); }
.ins-step-note i { margin-right: 6px; color: #0e9aa0; }
.ins-step-note a { color: var(--site-azul-marino); text-decoration: underline; }

/* Grupos de cursos */
.ins-groups { display: grid; gap: 10px; }
.ins-groups.is-invalid .ins-group { border-color: #c62828; }
.ins-group { border: 1px solid var(--site-borde); border-radius: 12px; background: #fff; overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease; }
.ins-group[open] { border-color: #b9c8da; box-shadow: 0 6px 18px rgba(0, 51, 102, .07); }
.ins-group.has-selection { border-color: var(--site-azul-acento); }
.ins-group summary { display: flex; align-items: center; gap: 12px; padding: 12px 16px; cursor: pointer; list-style: none; }
.ins-group summary::-webkit-details-marker { display: none; }
.ins-group summary::after { content: "\f078"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: .8rem; color: var(--site-azul-marino); transition: transform .2s ease; }
.ins-group[open] summary::after { transform: rotate(180deg); }
.ins-group-ic { flex: 0 0 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: #e4effb; color: var(--site-azul-marino); }
.ins-group[data-grupo="programas"] .ins-group-ic { background: #fdf0dc; color: #8a4d06; }
.ins-group-t { flex: 1; min-width: 0; }
.ins-group-t strong { display: block; font-family: var(--font-heading); color: var(--site-azul-marino); line-height: 1.25; }
.ins-group-t small { display: block; font-size: var(--fs-xs); color: var(--site-gris-texto); line-height: 1.35; }
.ins-group-n { font-size: var(--fs-xs); font-weight: 700; color: #fff; background: var(--site-azul-acento); border-radius: 999px; padding: 2px 10px; white-space: nowrap; }
.ins-group-n:empty { display: none; }
.ins-group-items { display: grid; gap: 6px; padding: 4px 12px 12px; }
.ins-item { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid transparent; border-radius: 10px; background: var(--site-gris-claro); cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.ins-item:hover { border-color: #b9c8da; }
.ins-item.is-checked { background: #e9f1fa; border-color: var(--site-azul-acento); }
.ins-item input { width: 18px; height: 18px; margin: 0; accent-color: var(--site-azul-marino); }
.ins-item-name { display: block; font-weight: 600; color: var(--site-negro-texto); line-height: 1.3; }
.ins-item-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-top: 3px; font-size: var(--fs-xs); color: var(--site-gris-texto); }
.ins-item-meta .course-level { font-size: .68rem; padding: 1px 8px; }
.ins-pre { font-weight: 700; color: #8a4d06; }
.ins-item-price { text-align: right; white-space: nowrap; }
.ins-item-price b { display: block; font-family: var(--font-heading); color: var(--site-azul-marino); }
.ins-item-price s { display: block; font-size: var(--fs-xs); color: var(--site-gris-oscuro); }
.ins-plazos { margin-top: 14px; padding: 12px 14px; border-radius: 10px; background: #fdf0dc; color: #6b3b05; font-weight: 600; }

/* Envío */
.ins-submit { padding: 14px 20px; font-size: 1.05rem; }
.ins-submit-note { margin: 10px 0 0; text-align: center; font-size: var(--fs-sm); color: var(--site-gris-texto); }
.ins-submit-note i { margin-right: 6px; color: #1f6b30; }

/* Columna derecha */
.ins-side { position: sticky; top: 20px; display: grid; gap: 16px; }
.ins-summary, .ins-box { background: #fff; border: 1px solid var(--site-borde); border-radius: 16px; padding: 22px; }
.ins-summary { border-top: 4px solid var(--color-naranja); box-shadow: 0 8px 24px rgba(0, 51, 102, .1); }
.ins-side h2 { margin: 0 0 12px; text-align: left; font-size: 1.05rem; color: var(--site-azul-marino); }
.ins-summary h2 i { margin-right: 6px; color: var(--color-naranja); }
.ins-summary-empty { margin: 0 0 12px; font-size: var(--fs-sm); color: var(--site-gris-texto); }
.ins-summary-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ins-summary-list li { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto 22px; gap: 10px; align-items: center; font-size: var(--fs-sm); line-height: 1.3; }
.ins-summary-list img { width: 64px; height: auto; border-radius: 5px; }
.ins-summary-list span { font-weight: 600; color: var(--site-negro-texto); }
.ins-summary-list b { color: var(--site-azul-marino); white-space: nowrap; }
.ins-summary-list button { width: 22px; height: 22px; padding: 0; border: 0; border-radius: 50%; background: var(--site-gris-claro); color: var(--site-gris-oscuro); cursor: pointer; font-size: .7rem; }
.ins-summary-list button:hover { background: #f6d6d6; color: #c62828; }
.ins-summary-total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--site-borde); font-weight: 700; color: var(--site-negro-texto); }
.ins-summary-total strong { font-family: var(--font-heading); font-size: 1.6rem; color: var(--site-azul-marino); }
.ins-summary-save { margin: 4px 0 0; text-align: right; font-size: var(--fs-sm); font-weight: 700; color: #1f6b30; }
.ins-summary-note { margin: 12px 0 0; font-size: var(--fs-xs); color: var(--site-gris-texto); }
.ins-summary-note i { margin-right: 5px; color: #1f6b30; }
.ins-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ins-steps li { display: flex; gap: 12px; align-items: flex-start; }
.ins-steps li > span { flex: 0 0 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: #e4effb; color: var(--site-azul-marino); font-weight: 700; font-size: var(--fs-sm); }
.ins-steps p { margin: 0; font-size: var(--fs-sm); line-height: 1.5; color: var(--site-gris-texto); }
.ins-steps strong { color: var(--site-negro-texto); }
.ins-quote { margin: 0; padding: 18px 20px; border-left: 4px solid var(--site-azul-acento); border-radius: 0 14px 14px 0; background: #e9f1fa; }
.ins-quote p { margin: 0 0 8px; font-size: var(--fs-sm); line-height: 1.55; font-style: italic; color: var(--site-negro-texto); }
.ins-quote footer { font-size: var(--fs-xs); color: var(--site-gris-texto); }
.ins-quote footer strong { color: var(--site-azul-marino); }
.ins-contact .btn { display: flex; justify-content: center; margin: 0 0 12px; }
.ins-contact p { margin: 6px 0 0; font-size: var(--fs-sm); }
.ins-contact p i { width: 18px; margin-right: 6px; color: var(--site-azul-marino); }
.ins-contact a:not(.btn) { color: var(--site-azul-marino); text-decoration: underline; }

@media (max-width: 980px) {
  .ins-wrap { grid-template-columns: 1fr; }
  .ins-side { position: static; }
  #ins-summary-movil .ins-summary { margin: 0 0 30px; }
  #ins-summary-movil:empty { display: none; }
  .ins-indicator:not([hidden]) { display: flex; position: sticky; top: 0; z-index: 30; margin: -8px -8px 22px; border-radius: 12px; }
  .ins-indicator span { font-size: var(--fs-sm); line-height: 1.35; }
}
@media (max-width: 760px) {
  .ins-hero { padding: 30px 0 36px; }
  .ins-section { padding: 24px 0 48px; }
  .ins-card { padding: 20px 16px; }
  .ins-step legend { font-size: 1.05rem; }
  .ins-step-help { margin-left: 0; }
  .ins-item { grid-template-columns: 20px minmax(0, 1fr); }
  .ins-item-price { grid-column: 2; text-align: left; display: flex; gap: 8px; align-items: baseline; }
  .ins-item-price b, .ins-item-price s { display: inline; }
}

/* ---------- Selección dinámica: precio de programa, avisos y resumen ---------- */
.ins-ahorro { color: #1f6b30; }
.ins-item-price s { display: block; font-size: var(--fs-xs); color: var(--site-gris-oscuro); }
.ins-item.is-programa { background: #edf7ef; border-color: #9fd3ac; }
.ins-item.is-programa .ins-item-price b { color: #1f6b30; }
.ins-desc { display: inline-flex; align-items: center; gap: 6px; margin-top: 5px; padding: 2px 10px; border-radius: 999px; background: #d7efdc; color: #1f6b30; font-size: var(--fs-xs); font-weight: 700; line-height: 1.4; }
.ins-desc::before { content: "\f02b"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: .9em; }
.ins-aviso { margin-top: 12px; padding: 12px 14px; border-radius: 10px; background: #fff4e0; border: 1px solid #f1d6a6; color: #6b3b05; font-size: var(--fs-sm); line-height: 1.5; }
.ins-hint { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-top: 12px; padding: 12px 14px; border-radius: 10px; background: #e9f1fa; border: 1px solid #c5d8ee; }
.ins-hint p { flex: 1 1 260px; margin: 0; font-size: var(--fs-sm); line-height: 1.5; color: var(--site-negro-texto); }
.ins-hint .btn { margin: 0; padding: 8px 16px; font-size: var(--fs-sm); white-space: nowrap; }
.ins-summary-list li { grid-template-columns: 64px minmax(0, 1fr) auto 22px; }
.ins-summary-list li.ins-sum-sub { grid-template-columns: minmax(0, 1fr) auto; padding-left: 14px; border-left: 3px solid #9fd3ac; font-size: var(--fs-xs); }
.ins-summary-list li.ins-sum-sub span { font-weight: 400; }
.ins-summary-list li.ins-sum-sub b { color: #1f6b30; }
.ins-summary-list span small { display: block; margin-top: 2px; font-size: var(--fs-xs); font-weight: 700; color: #1f6b30; }
.ins-summary-list b { text-align: right; }
.ins-summary-list b s { display: block; font-size: var(--fs-xs); font-weight: 400; color: var(--site-gris-oscuro); }
@media (max-width: 760px) { .ins-item-price s { display: inline; } }
.ins-item.is-checked.is-programa { background: #edf7ef; border-color: #9fd3ac; }

/* ---------- Programa marcado: cursos que incluye y descuento ---------- */
.ins-aviso--ok { background: #edf7ef; border-color: #9fd3ac; color: #1f5a2b; font-weight: 600; }
.ins-prog-detail { margin: -2px 0 6px; padding: 14px 16px; border: 1px solid #9fd3ac; border-top: 0; border-radius: 0 0 10px 10px; background: #f6fbf7; }
.ins-prog-detail-t { margin: 0 0 8px; font-size: var(--fs-sm); font-weight: 700; color: var(--site-azul-marino); }
.ins-prog-detail ul { list-style: none; margin: 0; padding: 0; }
.ins-prog-detail li { display: flex; justify-content: space-between; gap: 14px; padding: 6px 0; border-bottom: 1px solid #dcebdf; font-size: var(--fs-sm); }
.ins-prog-detail li span { position: relative; padding-left: 20px; color: var(--site-negro-texto); }
.ins-prog-detail li span::before { content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; top: 2px; font-size: .75rem; color: #1f9d55; }
.ins-prog-detail li b { white-space: nowrap; color: #1f6b30; }
.ins-prog-detail s { font-weight: 400; color: var(--site-gris-oscuro); }
.ins-prog-detail dl { margin: 10px 0 0; }
.ins-prog-detail dl div { display: flex; justify-content: space-between; gap: 14px; padding: 3px 0; font-size: var(--fs-sm); }
.ins-prog-detail dt { color: var(--site-gris-texto); }
.ins-prog-detail dd { margin: 0; white-space: nowrap; font-weight: 700; color: var(--site-negro-texto); }
.ins-prog-detail .is-desc dt, .ins-prog-detail .is-desc dd { color: #1f6b30; font-weight: 700; }
.ins-prog-detail .is-total { margin-top: 4px; padding-top: 8px; border-top: 1px solid #9fd3ac; }
.ins-prog-detail .is-total dt { color: var(--site-azul-marino); font-weight: 700; }
.ins-prog-detail .is-total dd { font-family: var(--font-heading); font-size: 1.15rem; color: var(--site-azul-marino); }

/* Columna "Tu inscripción" más ancha: "Descuento de programa: −X €" cabe en una fila */
@media (min-width: 981px) {
  .ins-wrap { grid-template-columns: minmax(0, 1fr) 430px; gap: 28px; }
  .ins-summary-list span small { white-space: nowrap; }
}
@media (min-width: 981px) and (max-width: 1180px) { .ins-wrap { grid-template-columns: minmax(0, 1fr) 400px; gap: 22px; } .ins-summary-list li { grid-template-columns: 52px minmax(0, 1fr) auto 22px; } .ins-summary-list img { width: 52px; } }

/* ---------- Curso compartido entre dos programas elegidos ---------- */
.ins-summary-list span small.ins-sum-ajuste { white-space: normal; color: #8a4d06; font-weight: 600; }
.ins-summary-list li.ins-sum-rep { border-left-color: #c9d3de; }
.ins-summary-list li.ins-sum-rep span { color: var(--site-gris-texto); }
.ins-summary-list li.ins-sum-rep span small { white-space: normal; font-weight: 400; color: var(--site-gris-texto); }
.ins-summary-list li.ins-sum-rep b { color: var(--site-gris-oscuro); font-weight: 600; }
.ins-prog-detail li.is-rep span { color: var(--site-gris-texto); }
.ins-prog-detail li.is-rep span::before { content: "\f0c1"; color: var(--site-gris-oscuro); }
.ins-prog-detail li span small { display: block; font-size: var(--fs-xs); color: var(--site-gris-texto); }
.ins-prog-detail li.is-rep b { color: var(--site-gris-oscuro); }
.ins-prog-detail-n { margin: 10px 0 0; padding: 10px 12px; border-radius: 8px; background: #fff4e0; color: #6b3b05; font-size: var(--fs-xs); line-height: 1.5; }
.ins-prog-detail-n i { margin-right: 5px; }

/* ---------- Tipo de inscripción, facturación y FUNDAE ---------- */
.ins-tipos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 8px; }
.ins-tipo { position: relative; cursor: pointer; }
.ins-tipo input { position: absolute; opacity: 0; pointer-events: none; }
.ins-tipo > span { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 0 10px; align-items: center; height: 100%; padding: 12px 14px; border: 1px solid var(--site-borde); border-radius: 12px; background: #fff; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.ins-tipo i { grid-row: 1 / span 2; width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: #e4effb; color: var(--site-azul-marino); }
.ins-tipo strong { font-family: var(--font-heading); color: var(--site-azul-marino); line-height: 1.2; }
.ins-tipo small { font-size: var(--fs-xs); color: var(--site-gris-texto); line-height: 1.3; }
.ins-tipo:hover > span { border-color: #b9c8da; }
.ins-tipo.is-checked > span { border-color: var(--site-azul-acento); background: #e9f1fa; box-shadow: 0 0 0 2px rgba(11, 107, 203, .18); }
.ins-tipo.is-checked i { background: var(--site-azul-marino); color: #fff; }
.ins-tipo input:focus-visible + span { outline: 2px solid var(--site-azul-acento); outline-offset: 2px; }
.ins-sub { margin: 22px 0 0; padding-bottom: 6px; border-bottom: 1px solid var(--site-borde); font-family: var(--font-heading); font-size: var(--fs-sm); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--site-azul-marino); }
.ins-step [data-tipo-solo] > .form-row, .ins-step [data-tipo-solo] > .form-group { margin-top: 14px; }
.ins-step-n i { font-size: .8rem; }
.ins-fundae { display: grid; gap: 8px; }
.ins-radio { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 12px; align-items: start; padding: 12px 14px; border: 1px solid var(--site-borde); border-radius: 10px; background: #fff; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.ins-radio input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--site-azul-marino); }
.ins-radio strong { display: block; color: var(--site-negro-texto); line-height: 1.3; }
.ins-radio small { display: block; margin-top: 2px; font-size: var(--fs-sm); color: var(--site-gris-texto); line-height: 1.45; }
.ins-radio:hover { border-color: #b9c8da; }
.ins-radio.is-checked { border-color: var(--site-azul-acento); background: #e9f1fa; }
.ins-fundae-calc { margin: 12px 0 0; padding: 12px 14px; border-radius: 10px; background: #fdf0dc; color: #6b3b05; font-size: var(--fs-sm); font-weight: 600; line-height: 1.5; }
.ins-tipo-nota { margin: -14px 0 28px; font-size: var(--fs-sm); color: var(--site-gris-texto); }
.ins-tipo-nota i { margin-right: 6px; color: var(--site-azul-marino); }
.ins-summary-lines { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--site-borde); display: grid; gap: 6px; }
.ins-summary-lines div { display: flex; justify-content: space-between; gap: 12px; font-size: var(--fs-sm); }
.ins-summary-lines dt { color: var(--site-gris-texto); line-height: 1.35; }
.ins-summary-lines dd { margin: 0; font-weight: 700; white-space: nowrap; color: var(--site-negro-texto); }
.ins-summary-lines:not([hidden]) + .ins-summary-total { margin-top: 10px; }
@media (max-width: 760px) { .ins-tipos { grid-template-columns: 1fr; } }

/* ---------- Cabecera con imagen ---------- */
.ins-hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 48px; align-items: center; }
.ins-hero-media { position: relative; margin: 0; }
.ins-hero-media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; border: 4px solid rgba(255, 255, 255, .92); box-shadow: 0 24px 50px rgba(0, 0, 0, .38); transform: rotate(2deg); }
.ins-hero-chip { position: absolute; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 12px; background: #fff; color: var(--site-azul-marino); font-size: var(--fs-sm); font-weight: 700; box-shadow: 0 12px 26px rgba(0, 0, 0, .25); white-space: nowrap; }
.ins-hero-chip i { color: var(--color-naranja); }
.ins-hero-chip--a { left: -22px; top: 18px; }
.ins-hero-chip--b { right: -10px; bottom: 16px; }
.ins-hero-chip--b i { color: #1f9d55; }
@media (max-width: 980px) { .ins-hero-grid { grid-template-columns: 1fr; } .ins-hero-media { display: none; } }

/* ---------- ¿Tienes dudas?: tres botones ---------- */
.ins-contact-sub { margin: -6px 0 14px !important; font-size: var(--fs-sm); color: var(--site-gris-texto); }
.ins-cbtn { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border: 1px solid var(--site-borde); border-radius: 12px; background: #fff; color: var(--site-azul-marino); text-decoration: none !important; transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease; }
.ins-cbtn:hover { border-color: var(--site-azul-acento); background: #f3f8fe; transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0, 51, 102, .1); }
.ins-cbtn i { flex: 0 0 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: #e4effb; color: var(--site-azul-marino); font-size: 1rem; }
.ins-cbtn span { min-width: 0; }
.ins-cbtn strong { display: block; font-family: var(--font-heading); line-height: 1.2; }
.ins-cbtn small { display: block; font-size: var(--fs-xs); color: var(--site-gris-texto); line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ins-cbtn--wa { background: #1f8f4e; border-color: #1f8f4e; color: #fff; }
.ins-cbtn--wa i { background: rgba(255, 255, 255, .18); color: #fff; font-size: 1.25rem; }
.ins-cbtn--wa small { color: rgba(255, 255, 255, .85); }
.ins-cbtn--wa:hover { background: #17733e; border-color: #17733e; }
.ins-cbtn-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.ins-cbtn strong { color: var(--site-azul-marino); }
.ins-cbtn--wa strong { color: #fff; }

/* ---------- Ajuste del programa: cursos ya realizados o convalidados ---------- */
.ins-conv-toggle { display: flex; align-items: center; gap: 8px; width: 100%; margin: 10px 0 0; padding: 10px 12px; border: 1px dashed #9fb6cf; border-radius: 10px; background: #fff; color: var(--site-azul-marino); font: inherit; font-size: var(--fs-sm); font-weight: 600; text-align: left; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.ins-conv-toggle:hover { background: #f3f8fe; border-color: var(--site-azul-acento); }
.ins-conv-toggle i { color: var(--site-azul-acento); }
.ins-conv-sel { display: block; max-width: 100%; margin-top: 6px; padding: 5px 28px 5px 10px; border: 1px solid #c5d3e2; border-radius: 8px; background-color: #fff; color: var(--site-azul-marino); font: inherit; font-size: var(--fs-xs); font-weight: 600; cursor: pointer; }
.ins-conv-sel:focus-visible { outline: 2px solid var(--site-azul-acento); outline-offset: 1px; }
.ins-prog-detail li { align-items: flex-start; }
.ins-prog-detail li.is-hecho span, .ins-prog-detail li.is-nivel span { color: var(--site-gris-texto); }
.ins-prog-detail li.is-hecho span::before { content: "\f058"; color: #1f9d55; }
.ins-prog-detail li.is-nivel span::before { content: "\f46c"; color: #b06c14; }
.ins-prog-detail li.is-hecho b { color: var(--site-gris-oscuro); }
.ins-prog-detail li.is-nivel b { color: #8a4d06; }
.ins-prog-detail-n.is-ok { background: #edf7ef; color: #1f5a2b; }
.ins-summary-list li.ins-sum-niv { border-left-color: #e3b877; }
.ins-summary-list li.ins-sum-niv b { color: #8a4d06; }
.ins-summary-list li.ins-sum-niv span small { white-space: normal; font-weight: 400; color: #8a4d06; }

/* ---------- Planificación del programa ---------- */
.ins-prog-detail li span small.ins-plan { color: var(--site-azul-marino); font-weight: 600; }
.ins-prog-detail li span small.ins-plan i { margin-right: 4px; color: var(--site-azul-acento); }
.ins-prog-detail-n.is-plan { background: #e9f1fa; color: var(--site-azul-marino); }
.ins-summary-list li.ins-sum-plan span small { white-space: normal; font-weight: 600; color: var(--site-azul-marino); }

/* Condiciones de pago y de participación (columna derecha) */
.ins-condiciones h2 { font-size: 1.05rem; margin-bottom: 10px; }
.ins-condiciones ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; font-size: .9rem; line-height: 1.5; }
.ins-condiciones li { padding-left: 16px; position: relative; }
.ins-condiciones li::before { content: ""; position: absolute; left: 0; top: .6em; width: 6px; height: 6px; border-radius: 50%; background: var(--site-naranja, #d9741a); }
.ins-condiciones-more { margin: 12px 0 0; font-size: .85rem; color: var(--site-gris-texto); }
.ins-condiciones a { color: var(--site-azul-acento, #0b6bcb); text-decoration: underline; }

/* Móvil: nada del formulario debe ser más ancho que la pantalla (evita el recorte a la derecha) */
.ins-card, .ins-side, .ins-card fieldset, .ins-group, .ins-group-items, .ins-item, .ins-item-body, .ins-prog-detail { min-width: 0; max-width: 100%; }
.ins-card fieldset { margin-inline: 0; }
@media (max-width: 980px) {
  .ins-wrap { grid-template-columns: minmax(0, 1fr); }
  .ins-card { padding: 20px 14px; }
  .ins-item-name, .ins-prog-detail li span, .ins-summary-list li { overflow-wrap: anywhere; }
}
.ins-side { grid-template-columns: minmax(0, 1fr); }
.ins-box, .ins-summary, .ins-box * { min-width: 0; }
.ins-conv-sel { max-width: 100%; width: 100%; }
@media (max-width: 600px) {
  .ins-prog-detail ul > li { grid-template-columns: minmax(0, 1fr) auto; column-gap: 8px; }
  .ins-prog-detail ul > li > span { min-width: 0; }
  .ins-prog-detail b, .ins-prog-detail s { white-space: nowrap; }
}

.ins-fundae-aviso { display: flex; gap: 10px; align-items: flex-start; margin: 12px 0 0; padding: 12px 14px; border-radius: 10px; background: #fdecea; border: 1px solid #f3b9b3; color: #7a1f16; font-size: var(--fs-sm); line-height: 1.5; }
.ins-fundae-aviso[hidden] { display: none; }
.ins-fundae-aviso i { margin-top: 3px; color: #c0392b; }
.ins-fundae-aviso a { color: inherit; font-weight: 700; text-decoration: underline; }
