

/* --- 1. CONTENEDOR PRINCIPAL --- */
.timeline {
  position: relative;
  padding: 40px 0;
  list-style: none;
  max-width: 900px;
  margin: 0 auto;
}

/* --- 2. LA LÍNEA CENTRAL --- */
/* Fusionado y corregido: z-index bajo para que no tape nada */
.timeline::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background-color: #162440; /* Usando tu color oscuro */
  border: 1px solid #162440;
  transform: translateX(-50%);
  z-index: 1; /* Nivel bajo */
}

/* --- 3. LOS CÍRCULOS (BADGE) --- */
/* Fusionado: Fondo oscuro, borde azul y corazón blanco */
.timeline .timeline-badge {
  position: absolute;
  top: 20px;
  left: 50%;
  width: 30px; /* Un poquito más grande para asegurar cobertura */
  height: 30px;
  background-color: #162440 !important; /* Tu azul oscuro de fondo */
  border: 2px solid #5d7ba3; /* El borde azul claro */
  border-radius: 50%;
  transform: translateX(-50%);
  z-index: 100 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden; /* Evita que nada se salga del círculo */
}

/* estrella Blanco */
.timeline .timeline-badge::after {
  content: '★';
color: #ffffff !important; /* Corazón blanco */
  font-size: 16px;
  z-index: 101; /* Un nivel por encima del círculo */

  /* TRUCO CLAVE: Sombra de texto del mismo color del fondo
     para ensanchar el corazón y que no se vea la línea atrás */
  text-shadow: 0 0 3px #162440, 0 0 3px #162440;

  background-color: #162440; /* Fondo sólido para el caracter */
  padding: 2px;
}

.timeline::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background-color: #162440;
  transform: translateX(-50%);
  z-index: 0 !important; /* Forzamos a que sea el nivel más bajo */
}

/* --- 4. ESTRUCTURA DE ITEMS --- */
.timeline li {
  position: relative;
  margin-bottom: 80px;
  min-height: 120px;
  width: 100%;
}

.timeline-panel,
.timeline-image-container {
  width: 42%;
  position: absolute;
  top: 0;
}

/* Estilo del Panel (limpio de sombras y bordes innecesarios) */
.timeline-panel {
  background-color: transparent !important;
  border: none;
  box-shadow: none;
}

/* --- 5. LÓGICA DE ESPEJO (ZIGZAG) --- */

/* IMPARES (Ej: Ceremonia) -> Texto IZQ, Imagen DER */
.timeline li:nth-child(odd) .timeline-panel {
  left: 0;
  text-align: right;
}
.timeline li:nth-child(odd) .timeline-image-container {
  right: 0;
  text-align: left;
}
.timeline li:nth-child(odd) .timeline-item-divider {
  margin-left: auto;
}

/* PARES (Ej: Recepción) -> Texto DER, Imagen IZQ */
.timeline li:nth-child(even) .timeline-panel {
  right: 0;
  text-align: left;
}
.timeline li:nth-child(even) .timeline-image-container {
  left: 0;
  text-align: right;
}
.timeline li:nth-child(even) .timeline-item-divider {
  margin-right: auto;
}

/* --- 6. DETALLES VISUALES Y TEXTO --- */
.timeline-item-title {
  margin: 0;
}

.timeline-item-divider {
  border-bottom: 2px dotted #5d7ba3;
  width: 80%;
  margin: 5px 0;
}

.timeline-item-time {
  display: block;
  font-weight: bold;
}

/* Navegación (si la sigues usando) */
li.nav-item:not(:last-child) {
  border-right: 3px solid #93D6FF;
  text-align: center;
}

/* Limpieza de floats */
.timeline li::after {
  content: "";
  display: table;
  clear: both;
}