.elementor-kit-27{--e-global-color-primary:#ABB194;--e-global-color-secondary:#3F543B;--e-global-color-text:#0A0B0B;--e-global-color-accent:#EFBDC6;--e-global-color-98f60da:#FAF3DD;--e-global-color-f0b93a0:#D7C5BB;--e-global-typography-primary-font-family:"Abril Fatface";--e-global-typography-primary-font-size:49px;--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Quicksand";--e-global-typography-secondary-font-size:32px;--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Quicksand";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Abril Fatface";--e-global-typography-accent-font-weight:500;background-color:var( --e-global-color-98f60da );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-27 e-page-transition{background-color:#FFBC7D;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */<style>

.timeline {
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: auto;
  padding: 120px 0;
}

/* Ligne */
.timeline-line {
  position: absolute;
  left: 50%;
  top: 0;
  width: 2px;
  height: 100%;
  background: #ddd;
  transform: translateX(-50%);
}

.timeline-progress {
  position: absolute;
  left: 50%;
  top: 0;
  width: 2px;
  height: 0;
  background: #000;
  transform: translateX(-50%);
  transition: height 0.2s ease;
}

/* Icônes début/fin */
.timeline-start,
.timeline-end {
  position: relative;
  text-align: center;
  margin: 40px 0;
}

.timeline-icon {
  width: 45px;
  height: 45px;
  background: white;
  border: 2px solid black;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  z-index: 2;
  position: relative;
}

/* Items */
.timeline-item {
  position: relative;
  width: 50%;
  padding: 50px 60px;
  box-sizing: border-box;
}

.timeline-item.left {
  left: 0;
  text-align: right;
}

.timeline-item.right {
  left: 50%;
  text-align: left;
}

.timeline-dot {
  position: absolute;
  top: 60px;
  left: 100%;
  width: 18px;
  height: 18px;
  background: white;
  border: 2px solid black;
  border-radius: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.timeline-item.right .timeline-dot {
  left: 0;
}

.timeline-date {
  font-weight: 600;
  color: #4a5cff;
  margin-bottom: 15px;
}

.timeline-card {
  background: #fff;
  padding: 25px;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.06);
}

.timeline-card img {
  width: 100%;
  border-radius: 8px;
  margin-bottom: 15px;
}

/* Responsive */
@media(max-width: 768px) {
  .timeline-item,
  .timeline-item.left,
  .timeline-item.right {
    width: 100%;
    left: 0;
    text-align: left;
    padding-left: 70px;
  }

  .timeline-dot {
    left: 30px;
  }

  .timeline-line,
  .timeline-progress {
    left: 30px;
  }
}

</style>/* End custom CSS */