/* ==========================================
   VARIABLES Y ESTILOS GLOBALES UTALCA
   ========================================== */

:root {
  --utalca-red: #c8102e;
  --utalca-grey: #9d9d9c;
  --bg-light-step: #f8f9fa;
}

body {
  font-family: 'Inter', system-ui, sans-serif;
  color: #212529;
}

/* Utilidades corporativas */

.text-primary-utalca {
  color: var(--utalca-red) !important;
}

.bg-light-custom {
  background-color: var(--bg-light-step) !important;
}

/* Botón corporativo */

.btn-primary-utalca {
  background-color: var(--utalca-red);
  color: #fff;
  border-radius: 0;
  font-weight: 600;
  border: 1px solid var(--utalca-red);
  transition: all 0.3s ease;
}

.btn-primary-utalca:hover {
  background-color: #a00d24;
  color: #fff;
}

/* Hero Banner (Asegúrate de que la imagen también esté en la misma carpeta) */

.hero-matricula {
  background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('../../assets/img/hero-bg.jpg') center/cover no-repeat;
  min-height: 280px;
}

/* Ajuste para List Group de fechas */

.info-fechas .list-group-item {
  background-color: transparent;
}

/* Restricción de ancho para igualar los márgenes de la maqueta */

@media (min-width: 1200px) {
  .container {
    max-width: 1050px !important;
  }
}

html {
}

/* ==========================================   3. MICROINTERACCIONES (HOVER)   ========================================== */

a, footer img {
  transition: all 0.3s ease-in-out !important;
}

a:hover {
  color: var(--utalca-red) !important;
}

footer .bg-secondary img, footer div[style*="background-color: #9d9d9c"] img {
  opacity: 0.7;
  cursor: pointer;
}

footer div[style*="background-color: #9d9d9c"] img:hover {
  opacity: 1;
  transform: translateY(-4px);
  filter: drop-shadow(0px 0px 8px rgba(255, 255, 255, 0.8)) brightness(1.2);
}

/* ==========================================   4. ANIMACIONES DE ENTRADA (SEGURAS)   ========================================== */

@keyframes fadeSlideUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Usamos 'both' para no forzar la invisibilidad estática si hay un error */

header, .hero-matricula, main, section, footer {
  animation: fadeSlideUp 0.8s ease-out both;
}

/* Tiempos de entrada escalonados */

header {
  animation-delay: 0.1s;
}

.hero-matricula {
  animation-delay: 0.2s;
}

main {
  animation-delay: 0.3s;
}

section:nth-of-type(1) {
  animation-delay: 0.4s;
}

section:nth-of-type(2) {
  animation-delay: 0.5s;
}

section:nth-of-type(3) {
  animation-delay: 0.6s;
}

footer {
  animation-delay: 0.7s;
}

/* ==========================================   ESTILOS PANTALLA 02 (STEPPER Y BOTONES)   ========================================== */

.stepper-text {
  color: #9d9d9c;
  font-weight: 500;
}

.stepper-text.active {
  color: #c8102e;
  font-weight: 700;
}

.step-circle {
  width: 45px;
  height: 45px;
  border: 1px solid #9d9d9c;
  background-color: #fff;
  color: #9d9d9c;
}

.step-circle.active {
  background-color: #c8102e;
  border-color: #c8102e;
  color: #fff;
}

.step-line {
  flex-grow: 1;
  height: 2px;
  background-color: #dee2e6;
  margin: 0 15px;
}

.btn-outline-utalca:hover {
  background-color: #c8102e;
  color: #fff;
}

/* ==========================================   BOTONES SECUNDARIOS (BLANCO A ROJO)   ========================================== */

.btn-outline-utalca {
  color: #c8102e !important;
  border: 1px solid #c8102e !important;
  background-color: #ffffff !important;
  transition: all 0.3s ease-in-out;
}

.btn-outline-utalca:hover {
  background-color: #c8102e !important;
  color: #ffffff !important;
}

/* ==========================================   ESTILOS STEPPER (BARRA DE PROGRESO)   ========================================== */

.stepper-text {
  color: #9d9d9c;
  font-size: 0.9rem;
}

.stepper-text.active {
  color: #c8102e;
  font-weight: bold;
}

.step-circle {
  width: 40px;
  height: 40px;
  border: 1px solid #9d9d9c;
  background-color: #fff;
  color: #9d9d9c;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.1rem;
}

.step-circle.active {
  background-color: #c8102e;
  border-color: #c8102e;
  color: #fff;
}

.step-line {
  flex-grow: 1;
  height: 1px;
  background-color: #9d9d9c;
  margin: 0 15px;
}

/* ==========================================   ESTILOS FORMULARIO ANTECEDENTES (P3)   ========================================== */

.form-label {
  font-size: 0.85rem;
  color: #333;
  margin-bottom: 0.2rem;
}

.input-red {
  border: 1px solid #c8102e !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: 38px;
}

.input-red:focus {
  outline: 1px solid #c8102e;
}

.title-red {
  color: #c8102e;
  font-weight: 600;
}

.btn-utalca {
  background-color: #c8102e !important;
  color: #fff !important;
  border-radius: 0 !important;
  border: none;
  padding: 0.4rem 2rem;
}

.btn-utalca:hover {
  background-color: #a00d24 !important;
}

.table-header-red {
  background-color: #c8102e !important;
  color: #fff !important;
  font-weight: normal;
  font-size: 0.9rem;
  text-align: center;
}

.table-box {
  border: 1px solid #c8102e;
  min-height: 200px;
  background-color: #fff;
}

/* ==========================================   FORZAR ESTILO DEL BOTÓN P1 DESDE CSS   ========================================== */

.btn-primary-utalca {
  background-color: #c8102e !important;
  color: #ffffff !important;
  border: 1px solid #c8102e !important;
  border-radius: 0 !important;
  transition: all 0.3s ease-in-out !important;
}

/* Efecto al pasar el cursor (dinámica de los otros botones) */

.btn-primary-utalca:hover {
  background-color: #a00d24 !important;
  color: #ffffff !important;
}

/* Asegurar que el ícono (la flecha) sea blanco también */

.btn-primary-utalca svg, .btn-primary-utalca i {
  fill: currentColor !important;
  color: inherit !important;
}

/* Forzar que el texto pequeño debajo del botón sea rojo */

.text-primary-utalca {
  color: #c8102e !important;
}

