/* ISS Valencia – Online Application. Colores alineados con las webs WordPress (amarillo + rojo). */
:root {
  --iss-yellow: #FFDB46;
  --iss-yellow-soft: #FFF6CF;
  --iss-red: #C8102E;
  --iss-red-dark: #A00D25;
  --iss-ink: #222;
  --iss-bg: #F6F5F1;
  --bs-link-color: var(--iss-red);
  --bs-link-hover-color: var(--iss-red-dark);
  --bs-link-color-rgb: 200, 16, 46;
  --bs-link-hover-color-rgb: 160, 13, 37;
}

body { background: var(--iss-bg); color: var(--iss-ink); }

/* Cabecera y pie */
.site-header { background: var(--iss-yellow); box-shadow: 0 2px 6px rgba(0,0,0,.08); }
.site-logo { max-height: 56px; width: auto; }
.header-kicker { color: var(--iss-red); letter-spacing: .06em; }
.site-footer { background: var(--iss-yellow); }

/* Marca */
.text-brand { color: var(--iss-red) !important; }
.btn-brand {
  --bs-btn-color: #fff; --bs-btn-bg: var(--iss-red); --bs-btn-border-color: var(--iss-red);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--iss-red-dark); --bs-btn-hover-border-color: var(--iss-red-dark);
  --bs-btn-active-bg: var(--iss-red-dark); --bs-btn-active-border-color: var(--iss-red-dark);
  --bs-btn-disabled-bg: var(--iss-red); --bs-btn-disabled-border-color: var(--iss-red);
  --bs-btn-focus-shadow-rgb: 200, 16, 46;
}
.form-control:focus, .form-select:focus, .form-check-input:focus {
  border-color: #e7a3ae; box-shadow: 0 0 0 .2rem rgba(200,16,46,.15);
}
.form-check-input:checked { background-color: var(--iss-red); border-color: var(--iss-red); }

/* Secciones del formulario */
.section-head {
  background: var(--iss-yellow); font-weight: 700; padding: .7rem 1.5rem;
  border-radius: var(--bs-card-border-radius) var(--bs-card-border-radius) 0 0;
}
.section-head .bi { margin-right: .35rem; }
.subhead {
  font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  color: #6b6b6b; margin: 1.75rem 0 .75rem; padding-top: 1.25rem; border-top: 1px solid #eee;
}
section[id^="sec-"] { scroll-margin-top: 90px; }
.form-label { font-weight: 500; margin-bottom: .3rem; }
legend.form-label { font-size: 1rem; }

/* Errores también en grupos de radios */
.field-wrap.has-error .invalid-feedback { display: block; }
.field-wrap.has-error legend { color: var(--bs-form-invalid-color); }

/* Pasos del registro */
.steps li { display: flex; gap: .75rem; align-items: flex-start; margin-bottom: .75rem; color: #555; }
.steps li span {
  flex: 0 0 1.8rem; height: 1.8rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: #fff; border: 2px solid #ccc; font-weight: 700; font-size: .85rem;
}
.steps li.active { color: var(--iss-ink); font-weight: 600; }
.steps li.active span { background: var(--iss-yellow); border-color: var(--iss-yellow); }

/* Barra lateral */
@media (min-width: 992px) { .sidebar-sticky { position: sticky; top: 92px; } }
.section-nav .list-group-item { position: relative; }
.section-nav .list-group-item:hover { background: var(--iss-yellow-soft); }

/* Barra de acciones fija abajo */
.action-bar {
  position: sticky; bottom: 0; z-index: 10; display: flex; align-items: center; gap: 1rem;
  background: rgba(255,255,255,.96); backdrop-filter: blur(4px);
  padding: .85rem 1.25rem; border-radius: .5rem; box-shadow: 0 -2px 12px rgba(0,0,0,.08); margin-bottom: 1rem;
}
@media (max-width: 575.98px) {
  .action-bar { flex-direction: column; align-items: stretch; }
  .action-bar .d-flex { flex-direction: column; margin-left: 0 !important; }
  .action-bar .btn { width: 100%; }
}

/* Resumen */
.summary-list dt { font-weight: 400; color: #6b6b6b; }
.summary-list dd { font-weight: 500; }
.next-step { border-left: 4px solid var(--iss-yellow) !important; }

/* Anti-bots */
.hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* Listas de las tarjetas informativas */
.card ul { padding-left: 1.15rem; }

/* Descripción de cursos */
.course-desc {
  font-size: .8rem; line-height: 1.4; margin-top: .4rem; padding: .5rem .65rem;
  background: var(--iss-yellow-soft); border-left: 3px solid var(--iss-yellow); border-radius: .25rem;
}
.course-item { padding: .75rem 0; border-bottom: 1px solid #eee; }
.course-item:last-child { border-bottom: 0; }
