/* =============================================
   timeline.css - Timeline Vertical Alternado
   Eje central + Cards izquierda/derecha
   ============================================= */

#processes-timeline {
    background: #f8f9fa;
    padding: 110px 20px 100px;
}

.timeline-box {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

.timeline-container {
    max-width: 1100px;
    margin: 60px auto 0;
    position: relative;
}

/* Eje central vertical */
.timeline-container::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 6px;
    background: linear-gradient(to bottom, var(--primary-color), var(--accent-color));
    transform: translateX(-50%);
    border-radius: 6px;
    z-index: 1;
}

.timeline-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 32px 28px;
    padding: 40px 20px;
    justify-content: center;           /* Centra última fila */
    justify-items:  center;             /* Centra cada card individualmente */
    max-width: 1600px;
    margin: 0 auto;
}

/*=============================================================
    TARJETA
=============================================================*/

.flip-card-box {
  --bg-filter-opacity: 0.5;
  --transition-time: 0.3s;
  background-image: linear-gradient(rgba(0,0,0,var(--bg-filter-opacity)),rgba(0,0,0,var(--bg-filter-opacity))), var(--bg-img);
  height: 20em;
  width: 15em;
  color: white;
  border-radius: 1em;
  padding: 1em;
  /*margin: 2em;*/
  
  background-size: cover;
  background-position: center;
  box-shadow: 0 0 1em -1em black;
  
  transition: all, var(--transition-time);
  position: relative;
  overflow: hidden;
  border: 10px solid #ccc;
  text-decoration: none;

  display: grid;
  grid-template-rows: 1fr auto auto;
  grid-template-areas: "placeholder" "title" "descrip";
}

.flip-card-box:hover {
  transform: rotate(0);
}

.flip-card-title {
    grid-area: title;
  margin: 0;
  font-size: 1.5rem;
  
  text-shadow: 
    0 3px 8px rgba(0, 0, 0, 0.95),
    0 8px 16px rgba(0, 0, 0, 0.8),
    0 12px 25px rgba(0, 0, 0, 0.6);
  line-height: 1.2em;
  color: white;
  text-align: left;
}

.flip-card-descrip {
    grid-area: descrip;
    font-size: 1.2rem;
    font-family: var(--base-font-family);
    margin-top: 0.5rem;
    line-height: 1.5rem;
    text-align: left;
  
  display: none;
}
.flip-card-box:hover .flip-card-title {
    color: black;
    text-shadow: none;
}
.flip-card-box:hover .flip-card-descrip {
    display: block;
}
.flip-card-box:before, .flip-card-box:after {
  content: '';
  transform: scale(0);
  transform-origin: top left;
  border-radius: 50%;
  position: absolute;
  left: -50%;
  top: -50%;
  z-index: -5;
  transition: all, var(--transition-time);
  transition-timing-function: ease-in-out;
}

.flip-card-box:before {
  background: #ddd;
  width: 250%;
  height: 250%;
}

.flip-card-box:after {
  background: white;
  width: 200%;
  height: 200%;
}

.flip-card-box:hover {
  color: var(--color);
}

.flip-card-box:hover:before, .flip-card-box:hover:after {
  transform: scale(1);
}




