.elementor-kit-708{--e-global-color-primary:#403F2B;--e-global-color-secondary:#F3F1C4;--e-global-color-text:#F3F1C4;--e-global-color-accent:#FFFFFF;--e-global-color-ae4e33e:#280D41;--e-global-color-9bb7e6d:#A36DFF;--e-global-color-051d905:#333333;--e-global-color-9f5db56:#9CAF88;--e-global-color-498ce7e:#E8D5D0;--e-global-color-078b13a:#000000;--e-global-color-c374ced:#83515100;--e-global-color-a06afda:#FEFAF1;--e-global-color-c7ebdde:#36B01A;--e-global-color-3b704a2:#8964A6;--e-global-color-1078e70:#D1C7B1;--e-global-color-db5a85e:#FFFFFF;--e-global-color-bc013ec:#885DFF;--e-global-color-4b349b6:#6A07A4;--e-global-color-c8f3191:#FAF9F7;--e-global-color-f63a81d:#876F6F;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Fraunces";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Lato";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:22px;--e-global-typography-accent-font-family:"Helvetica";--e-global-typography-accent-font-weight:500;--e-global-typography-012b77b-font-family:"Fraunces";--e-global-typography-012b77b-font-size:30px;--e-global-typography-012b77b-font-weight:600;}.elementor-kit-708 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1685px;}.e-con{--container-max-width:1685px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.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 *//* Timeline robuste basée sur classes (timeline-points / timeline-step / timeline-content) */
:root{
  --line-color:#5C7B60;
  --dot-size:14px;
  --center-col-width:84px;
  --card-radius:10px;
  --card-shadow:0 8px 22px rgba(20,30,20,0.06);
  --gap-vertical:48px;
}

/* conteneur parent */
.timeline-points{
  position:relative;
  max-width:1100px;
  margin:40px auto;
  padding:40px 20px;
  box-sizing:border-box;
}

/* ligne verticale (toujours au centre du conteneur) */
.timeline-points::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:4px;
  background:var(--line-color);
  border-radius:2px;
  z-index:1;
}

/* chaque étape = conteneur en grille 3 colonnes (gauche - centre - droite) */
.timeline-points > .timeline-step{
  display:grid;
  grid-template-columns: 1fr var(--center-col-width) 1fr;
  gap:20px;
  align-items:start;
  padding:8px 0;
  box-sizing:border-box;
  min-height:110px;
  position:relative;
}

/* espacement vertical entre étapes */
.timeline-step + .timeline-step { margin-top: var(--gap-vertical); }

/* le contenu de la carte (à placer dans la colonne choisie via la classe timeline-content) */
.timeline-step .timeline-content{
  max-width:520px;
  width:100%;
  background:#fff;
  border-radius:var(--card-radius);
  padding:18px 20px;
  box-shadow:var(--card-shadow);
  z-index:2;
  box-sizing:border-box;
}

/* alternance gauche / droite automatiquement */
.timeline-step:nth-child(odd) .timeline-content{
  grid-column: 1 / 2;      /* colonne gauche */
  justify-self: end;
  text-align: right;
}
.timeline-step:nth-child(even) .timeline-content{
  grid-column: 3 / 4;      /* colonne droite */
  justify-self: start;
  text-align: left;
}

/* point centré pour chaque étape (sur la ligne) */
.timeline-step::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  top:22px; /* ajuster si besoin pour aligner verticalement */
  width:var(--dot-size);
  height:var(--dot-size);
  border-radius:50%;
  background:var(--line-color);
  border:3px solid #ffffff;
  box-shadow:0 2px 6px rgba(0,0,0,0.08);
  z-index:3;
}

/* petit trait visuel entre carte et point (optionnel) */
.timeline-step:nth-child(odd) .timeline-content::after,
.timeline-step:nth-child(even) .timeline-content::after{
  content:"";
  position:absolute;
  top:28px;
  width:24px;
  height:2px;
  background:rgba(0,0,0,0.06);
}
.timeline-step:nth-child(odd) .timeline-content::after{ right:-28px; }
.timeline-step:nth-child(even) .timeline-content::after{ left:-28px; }

/* styles texte de base (adapter si besoin) */
.timeline-step .eyebrow{ color:#c0955f; font-size:0.9rem; margin-bottom:6px; }
.timeline-step h3{ margin:0 0 8px; font-size:1.05rem; color:#0f1720; }
.timeline-step p{ margin:0; color:#54606b; line-height:1.6; font-size:0.95rem; }

/* Responsive mobile : empiler les cartes à droite de la ligne (ligne décalée à gauche) */
@media (max-width:768px){
  :root{ --center-col-width:56px; }
  .timeline-points{ padding-left:16px; padding-right:16px; }
  .timeline-points::before{ left:40px; transform:translateX(0); width:3px; }
  .timeline-step{ grid-template-columns: var(--center-col-width) 1fr; gap:12px; padding:14px 0; }
  .timeline-step .timeline-content{ grid-column: 2 / 3; justify-self:start; margin-left:8px; text-align:left; }
  .timeline-step::after{ left:40px; transform:translateX(-50%); }
  .timeline-step .timeline-content::after{ display:none; }
}/* End custom CSS */