.elementor-5925 .elementor-element.elementor-element-ba916a5{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-5925 .elementor-element.elementor-element-40da2a4.elementor-element{--align-self:center;}@media(min-width:768px){.elementor-5925 .elementor-element.elementor-element-ba916a5{--content-width:1140px;}}/* Start custom CSS for html, class: .elementor-element-40da2a4 *//* TITRES GÉNÉRAUX */
.esa-timeline h1 {
  font-size: 4rem;
  margin: 0 0 10px 0;
  line-height: 1.2;
  color: #0A95CA !important; /* BLEU pour les dates */
}

.esa-timeline h2 {
  background: #83BA28; /* VERT secondaire */
  font-size: 1.8rem;
  color: #ffffff;
  padding: 8px 14px;
  border-radius: 4px;
  display: inline-block;
  margin: 0 0 10px 0;
  line-height: 1.3;
}

/* LIGNE BLEUE */
.esa-timeline__inner {
  position: relative;
  margin-left: 40px;
  padding-left: 40px;
  border-left: 4px solid #0A95CA; /* BLEU */
}

/* POINTS BLEUS */
.esa-timeline__row::before {
  content: "";
  width: 16px;
  height: 16px;
  background: #0A95CA; /* BLEU */
  border-radius: 50%;
  position: absolute;
  left: -48px;
  top: 6px;
  transform: scale(0);
  transition: transform 0.4s ease-out 0.2s;
}

/* ANIMATION */
.esa-timeline__row {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s ease-out;
}

.esa-timeline__row.visible {
  opacity: 1;
  transform: translateY(0);
}

.esa-timeline__row.visible::before {
  transform: scale(1);
}

/* TABLETTE (768px → 1024px) */
@media (max-width: 1024px) {
  .esa-timeline h1 {
    font-size: 1.8rem;
  }
  .esa-timeline h2 {
    font-size: 1.2rem;
    padding: 7px 12px;
  }
  .esa-timeline__inner {
    margin-left: 30px;
    padding-left: 30px;
  }
  .esa-timeline__row::before {
    left: -38px;
  }
}

/* MOBILE (≤ 768px) */
@media (max-width: 768px) {
  .esa-timeline h1 {
    font-size: 3rem;
  }
  .esa-timeline h2 {
    font-size: 1.4rem;
    padding: 6px 12px;
  }
  .esa-timeline__inner {
    margin-left: 20px;
    padding-left: 25px;
  }
  .esa-timeline__row::before {
    left: -33px;
  }
}/* End custom CSS */