.elementor-14 .elementor-element.elementor-element-20f9a3d{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14 .elementor-element.elementor-element-20f9a3d > .elementor-shape-bottom .elementor-shape-fill, .elementor-14 .elementor-element.elementor-element-20f9a3d > .e-con-inner > .elementor-shape-bottom .elementor-shape-fill{fill:var( --e-global-color-9f78014 );}.elementor-14 .elementor-element.elementor-element-20f9a3d > .elementor-shape-bottom svg, .elementor-14 .elementor-element.elementor-element-20f9a3d > .e-con-inner > .elementor-shape-bottom svg{width:calc(108% + 1.3px);height:98px;}.elementor-14 .elementor-element.elementor-element-20f9a3d > .elementor-shape-bottom, .elementor-14 .elementor-element.elementor-element-20f9a3d > .e-con-inner > .elementor-shape-bottom{z-index:2;pointer-events:none;}.elementor-widget-slides .elementor-slide-heading{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-slides .elementor-slide-description{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-slides .elementor-slide-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-14 .elementor-element.elementor-element-97c11f9 .elementor-repeater-item-76012e7 .swiper-slide-bg{background-color:#833ca3;}.elementor-14 .elementor-element.elementor-element-97c11f9 .elementor-repeater-item-76012e7 .elementor-background-overlay{background-color:rgba(0,0,0,0.5);}.elementor-14 .elementor-element.elementor-element-97c11f9 .swiper-slide{transition-duration:calc(5000ms*1.2);height:400px;}.elementor-14 .elementor-element.elementor-element-97c11f9 .elementor-slide-button{background-color:var( --e-global-color-9e3cc06 );font-family:"Poppins", Sans-serif;font-weight:300;border-width:0px;color:#FFFFFF;}.elementor-14 .elementor-element.elementor-element-97c11f9 .elementor-slide-button:hover{background-color:var( --e-global-color-9f78014 );}.elementor-14 .elementor-element.elementor-element-97c11f9 .swiper-slide-contents{max-width:66%;}.elementor-14 .elementor-element.elementor-element-97c11f9 .swiper-slide-inner{text-align:center;}.elementor-14 .elementor-element.elementor-element-97c11f9 .swiper-slide-inner .elementor-slide-heading:not(:last-child){margin-bottom:16px;}.elementor-14 .elementor-element.elementor-element-97c11f9 .elementor-slide-heading{font-family:"Poppins", Sans-serif;font-weight:600;}.elementor-14 .elementor-element.elementor-element-97c11f9 .elementor-slide-description{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-14 .elementor-element.elementor-element-97c11f9 .swiper-pagination-bullet:not(.swiper-pagination-bullet-active){background-color:var( --e-global-color-7ca9c8f );opacity:var( --e-global-color-7ca9c8f );}.elementor-14 .elementor-element.elementor-element-7cd7e32{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:50px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-5d5ffc7{text-align:center;}.elementor-14 .elementor-element.elementor-element-5d5ffc7 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:25px;font-weight:400;color:var( --e-global-color-9f78014 );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-a65a5d0{text-align:center;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:300;color:#2A2929;}.elementor-14 .elementor-element.elementor-element-9bd8f5a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-14 .elementor-element.elementor-element-22f04f0{text-align:center;}.elementor-14 .elementor-element.elementor-element-22f04f0 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-weight:300;color:#000000;}.elementor-14 .elementor-element.elementor-element-062492b{--e-image-carousel-slides-to-show:8;}.elementor-14 .elementor-element.elementor-element-062492b .swiper-pagination-bullet{--swiper-pagination-bullet-horizontal-gap:1px;--swiper-pagination-bullet-vertical-gap:1px;}.elementor-14 .elementor-element.elementor-element-062492b .elementor-image-carousel-wrapper .elementor-image-carousel .swiper-slide-image{border-style:solid;border-width:1px 1px 1px 1px;border-color:#E6E6E6;}.elementor-14 .elementor-element.elementor-element-aaa3955{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-14 .elementor-element.elementor-element-97c11f9 .swiper-slide-contents{max-width:100%;}.elementor-14 .elementor-element.elementor-element-97c11f9 .elementor-slide-heading{font-size:29px;}.elementor-14 .elementor-element.elementor-element-97c11f9 .elementor-slide-description{font-size:16px;}.elementor-14 .elementor-element.elementor-element-5d5ffc7 .elementor-heading-title{font-size:18px;}.elementor-14 .elementor-element.elementor-element-062492b{--e-image-carousel-slides-to-show:2;}}/* Start custom CSS for html, class: .elementor-element-d1b813d *//* === Police === */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400&display=swap');

/* === Base commune === */
.chrono{
  --accent-1:#A6CE39;
  --accent-2:#02B9AD;
  --line:#e5e7eb;
  --gap-center:56px;   /* PC: écart carte ↔ ligne */
  --dot:58px;          /* PC: diamètre du rond */
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial;
  color:#111827; max-width:1100px; margin:40px auto; padding:0 16px;
}
.chrono-title{font-weight:400;font-size:clamp(22px,3vw,28px);margin:0 0 18px}
.chrono .timeline{position:relative;list-style:none!important;margin:0!important;padding:0!important}
.chrono .timeline>li{list-style:none!important}

/* Pastille (style visuel) */
.chrono .dot{
  width:var(--dot); height:var(--dot); border-radius:50%;
  display:grid; place-items:center;
  background:conic-gradient(from 225deg,var(--accent-1) 0 50%,var(--accent-2) 50% 100%);
  border:3px solid #fff; box-shadow:0 10px 26px rgba(0,0,0,.18);
  color:#111827; font-weight:400; font-size:19px; z-index:3;
}

/* Carte (typo demandée) */
.chrono .card{
  background:#fff; border:1px solid var(--line); border-radius:16px;
  padding:22px 24px; box-shadow:0 10px 32px rgba(0,0,0,.12);
  transition:transform .28s ease, box-shadow .28s ease, opacity .25s ease;
  will-change:transform,opacity;
}
.chrono .card h3{margin:0 0 8px; font-weight:400; font-size:18px}
.chrono .card p{margin:0; font-weight:300; color:#6b7280; line-height:1.55}

/* ============================ PC / TABLETTE (≥768px) ============================ */
@media (min-width:768px){
  .chrono .timeline-item{position:relative; margin:44px 0}

  /* Ligne centrale */
  .chrono .timeline::before{
    content:""; position:absolute; top:0; bottom:0; left:50%;
    width:3px; transform:translateX(-1.5px);
    background:linear-gradient(180deg,var(--accent-1),var(--accent-2));
    border-radius:2px; z-index:1;
  }

  /* Pastille posée sur la ligne */
  .chrono .timeline-item .dot{position:absolute; top:-6px; left:50%; transform:translateX(-50%)}

  /* Cartes + connecteurs */
  .chrono .timeline-item .card{width:calc(50% - var(--gap-center)); opacity:0}

  /* Gauche */
  .chrono .timeline>li:nth-of-type(odd) .card{
    margin-left:0; margin-right:auto; transform-origin:right center;
    animation:pcInLeft .85s cubic-bezier(.18,.9,.2,1.1) .05s both;
  }
  .chrono .timeline>li:nth-of-type(odd) .card::before{
    content:""; position:absolute; top:28px;
    right:calc(-1 * (var(--gap-center) - 1.5px));
    width:calc(var(--gap-center) - 1.5px); height:3px; border-radius:2px;
    background:linear-gradient(90deg,var(--accent-1),var(--accent-2)); opacity:.9;
  }

  /* Droite */
  .chrono .timeline>li:nth-of-type(even) .card{
    margin-left:auto; margin-right:0; transform-origin:left center;
    animation:pcInRight .85s cubic-bezier(.18,.9,.2,1.1) .05s both;
  }
  .chrono .timeline>li:nth-of-type(even) .card::before{
    content:""; position:absolute; top:28px;
    left:calc(-1 * (var(--gap-center) - 1.5px));
    width:calc(var(--gap-center) - 1.5px); height:3px; border-radius:2px;
    background:linear-gradient(90deg,var(--accent-1),var(--accent-2)); opacity:.9;
  }

  /* Décalage progressif */
  .chrono .timeline>li:nth-of-type(1) .card{animation-delay:.05s}
  .chrono .timeline>li:nth-of-type(2) .card{animation-delay:.18s}
  .chrono .timeline>li:nth-of-type(3) .card{animation-delay:.31s}
  .chrono .timeline>li:nth-of-type(4) .card{animation-delay:.44s}

  /* Hover zoom */
  .chrono .card:hover{transform:translateY(-4px) scale(1.03); box-shadow:0 20px 52px rgba(0,0,0,.2)}

  @keyframes pcInLeft{
    0%{opacity:0;transform:translateX(-42px) translateY(12px) scale(.94) rotate(-1.6deg)}
    55%{opacity:1;transform:translateX(5px) translateY(0) scale(1.02) rotate(.2deg)}
    100%{opacity:1;transform:translateX(0) translateY(0) scale(1) rotate(0)}
  }
  @keyframes pcInRight{
    0%{opacity:0;transform:translateX(42px) translateY(12px) scale(.94) rotate(1.6deg)}
    55%{opacity:1;transform:translateX(-5px) translateY(0) scale(1.02) rotate(-.2deg)}
    100%{opacity:1;transform:translateX(0) translateY(0) scale(1) rotate(0)}
  }
}

/* ============================ MOBILE (≤767px) — 1 COLONNE ============================ */
/* ===== MOBILE (≤ 767px) — fix final : traits collés + pas de trait sur le 1er ===== */
@media (max-width:767px){
  /* on coupe la grande ligne & les connecteurs desktop */
  .chrono .timeline::before,
  .chrono .timeline-item .card::before { display:none !important; }

  /* variables mobile (ajuste si besoin) */
  .chrono{
    --dot:52px;           /* diamètre du rond */
    --stem-top:22px;      /* segment au-dessus du dot (vers la card précédente) */
    --stem-bottom:14px;   /* segment sous le dot (vers la card courante) */
    --gap:14px;           /* petit espace “tampon” entre segment et card */
    --item-gap:28px;      /* espacement vertical ENTRE deux cards */
  }

  /* chaque item réserve l’espace du dot + segment bas + gap */
  .chrono .timeline-item{
    position:relative;
    margin:0 0 var(--item-gap) !important;
    padding-top:calc(var(--dot) + var(--stem-bottom) + var(--gap));
  }

  /* rond centré */
  .chrono .timeline-item .dot{
    position:absolute; top:0; left:50%; transform:translateX(-50%);
    width:var(--dot); height:var(--dot); border-radius:50%;
    display:grid; place-items:center; z-index:3;
    background:conic-gradient(from 225deg,#A6CE39 0 50%, #02B9AD 50% 100%);
    border:2px solid #fff; box-shadow:0 8px 22px rgba(0,0,0,.16);
    color:#111827; font:400 16px/1 'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial;
  }
  /* on ne dessine rien sur le dot */
  .chrono .timeline-item .dot::before,
  .chrono .timeline-item .dot::after{ content:none !important; }

  /* —— TRAIT SOUS le dot (jusqu’au bord supérieur de la card) —— */
  .chrono .timeline-item::after{
    content:""; position:absolute; left:50%; transform:translateX(-50%);
    top:var(--dot);
    width:3px;
    height:calc(var(--stem-bottom) + var(--gap) + 1px); /* +1px anti-jour */
    background:linear-gradient(180deg,#A6CE39,#02B9AD);
    border-radius:2px; opacity:.95; z-index:2;
  }

  /* —— TRAIT AU-DESSUS du dot (depuis la card précédente) —— */
  .chrono .timeline-item::before{
    content:""; position:absolute; left:50%; transform:translateX(-50%);
    top:calc(-1 * (var(--item-gap) + var(--stem-top)));
    width:3px; height:0; /* par défaut */
    background:linear-gradient(180deg,#A6CE39,#02B9AD);
    border-radius:2px; opacity:.95; z-index:2;
  }
  /* on l’active seulement à partir du 2e item, et on couvre l’item-gap */
  .chrono .timeline > li.timeline-item:not(:first-of-type)::before{
    height:calc(var(--item-gap) + var(--stem-top) + 1px); /* +1px anti-jour */
  }

  /* card centrée + animations */
  .chrono .timeline-item .card{
    position:relative; z-index:1; width:min(560px,92%); margin:0 auto;
    padding:16px 16px 18px; border-radius:14px; border:1px solid #e5e7eb; background:#fff;
    box-shadow:0 10px 32px rgba(0,0,0,.12);
    opacity:0; transform:translateY(12px) scale(.965);
    animation:mIn .6s cubic-bezier(.2,.7,.2,1) forwards;
  }
  .chrono .timeline-item .card h3{font-weight:400; font-size:16px}
  .chrono .timeline-item .card p{font-weight:300; font-size:14.5px}

  .chrono .timeline>li:nth-of-type(1) .card{animation-delay:.05s}
  .chrono .timeline>li:nth-of-type(2) .card{animation-delay:.12s}
  .chrono .timeline>li:nth-of-type(3) .card{animation-delay:.19s}
  .chrono .timeline>li:nth-of-type(4) .card{animation-delay:.26s}

  .chrono .timeline-item .card:active{ transform:scale(1.03); box-shadow:0 20px 52px rgba(0,0,0,.2); }

  @keyframes mIn{
    0%{opacity:0;transform:translateY(18px) scale(.94);filter:blur(.4px)}
    60%{opacity:1;transform:translateY(2px) scale(1.02);filter:blur(0)}
    100%{opacity:1;transform:translateY(0) scale(1)}
  }
}
/* === MOBILE : traits collés aux cards (overdraw derrière la card) === */
@media (max-width:767px){
  /* quantité de dépassement des traits sous la card (pour cacher tout jour) */
  .chrono{ --touch-fix: 8px; } /* augmente à 10–12px si besoin */

  /* les traits passent DERRIÈRE les cards */
  .chrono .timeline-item::before,
  .chrono .timeline-item::after{ z-index:0 !important; }
  .chrono .timeline-item .card{ position:relative; z-index:1; } /* card au-dessus */
  .chrono .timeline-item .dot{ z-index:2; }                    /* dot au-dessus de tout */

  /* TRAIT BAS : on le prolonge sous la card */
  .chrono .timeline-item::after{
    height: calc(var(--stem-bottom) + var(--gap) + var(--touch-fix)) !important;
  }

  /* TRAIT HAUT (items 2+) : on couvre aussi l’espacement entre items + on “entre” sous la card du dessus */
  .chrono .timeline > li.timeline-item:not(:first-of-type)::before{
    top: calc(-1 * (var(--item-gap) + var(--stem-top) + var(--touch-fix))) !important;
    height: calc(var(--item-gap) + var(--stem-top) + var(--touch-fix)) !important;
  }
}/* End custom CSS */