.elementor-7 .elementor-element.elementor-element-5e238f4d{--display:flex;}.elementor-7 .elementor-element.elementor-element-566c3de{--spacer-size:50px;}.elementor-7 .elementor-element.elementor-element-3371b05{--display:flex;border-style:solid;--border-style:solid;--border-radius:20px 20px 20px 20px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-7 .elementor-element.elementor-element-3371b05:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-3371b05 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-3371b05.e-con{--align-self:center;}.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-7 .elementor-element.elementor-element-c16b171{text-align:center;font-family:"Roboto", Sans-serif;font-weight:400;color:#000000;}.elementor-7 .elementor-element.elementor-element-e17d96d{--spacer-size:50px;}.elementor-7 .elementor-element.elementor-element-b0bdde2{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-7 .elementor-element.elementor-element-b0bdde2:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-b0bdde2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-0d9c94b );}.elementor-7 .elementor-element.elementor-element-71b0ac8{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-7 .elementor-element.elementor-element-71b0ac8:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-71b0ac8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FF903C;}.elementor-7 .elementor-element.elementor-element-71b0ac8.e-con{--align-self:center;}.elementor-7 .elementor-element.elementor-element-07591f8{--spacer-size:15px;}.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-7 .elementor-element.elementor-element-eec4113{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 30px) 0px;text-align:center;}.elementor-7 .elementor-element.elementor-element-eec4113 .elementor-heading-title{font-size:32px;color:#000000;}.elementor-7 .elementor-element.elementor-element-9802fee{text-align:center;font-size:18px;color:#000000;}.elementor-7 .elementor-element.elementor-element-9802fee p{margin-block-end:10px;}.elementor-7 .elementor-element.elementor-element-e144b32{text-align:center;font-size:20px;font-weight:700;text-transform:none;color:#000000;}.elementor-7 .elementor-element.elementor-element-e144b32 p{margin-block-end:10px;}.elementor-7 .elementor-element.elementor-element-83b211f{--spacer-size:5px;}.elementor-7 .elementor-element.elementor-element-19fdb6f{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:30px 30px;--row-gap:30px;--column-gap:30px;--grid-auto-flow:row;--justify-items:center;--overlay-opacity:1;--border-radius:20px 20px 20px 20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:05px;--padding-left:30px;--padding-right:30px;}.elementor-7 .elementor-element.elementor-element-19fdb6f::before, .elementor-7 .elementor-element.elementor-element-19fdb6f > .elementor-background-video-container::before, .elementor-7 .elementor-element.elementor-element-19fdb6f > .e-con-inner > .elementor-background-video-container::before, .elementor-7 .elementor-element.elementor-element-19fdb6f > .elementor-background-slideshow::before, .elementor-7 .elementor-element.elementor-element-19fdb6f > .e-con-inner > .elementor-background-slideshow::before, .elementor-7 .elementor-element.elementor-element-19fdb6f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#FFFFFF;--background-overlay:'';}.elementor-7 .elementor-element.elementor-element-19fdb6f.e-con{--align-self:center;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{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-7 .elementor-element.elementor-element-4078d1b .elementor-icon-box-wrapper{text-align:center;}.elementor-7 .elementor-element.elementor-element-4078d1b{--icon-box-icon-margin:15px;}.elementor-7 .elementor-element.elementor-element-4078d1b .elementor-icon-box-title{margin-block-end:0px;color:#000000;}.elementor-7 .elementor-element.elementor-element-4078d1b.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-4078d1b.elementor-view-framed .elementor-icon, .elementor-7 .elementor-element.elementor-element-4078d1b.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-4078d1b .elementor-icon-box-title, .elementor-7 .elementor-element.elementor-element-4078d1b .elementor-icon-box-title a{font-size:20px;}.elementor-7 .elementor-element.elementor-element-4078d1b:has(:hover) .elementor-icon-box-title,
					 .elementor-7 .elementor-element.elementor-element-4078d1b:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-0d9c94b );}.elementor-7 .elementor-element.elementor-element-e278ab7{--icon-box-icon-margin:15px;}.elementor-7 .elementor-element.elementor-element-e278ab7.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-e278ab7.elementor-view-framed .elementor-icon, .elementor-7 .elementor-element.elementor-element-e278ab7.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-e278ab7 .elementor-icon-box-title, .elementor-7 .elementor-element.elementor-element-e278ab7 .elementor-icon-box-title a{font-size:20px;}.elementor-7 .elementor-element.elementor-element-e278ab7 .elementor-icon-box-title{color:#000000;}.elementor-7 .elementor-element.elementor-element-e278ab7:has(:hover) .elementor-icon-box-title,
					 .elementor-7 .elementor-element.elementor-element-e278ab7:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-0d9c94b );}.elementor-7 .elementor-element.elementor-element-33addb2{--icon-box-icon-margin:15px;}.elementor-7 .elementor-element.elementor-element-33addb2.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-33addb2.elementor-view-framed .elementor-icon, .elementor-7 .elementor-element.elementor-element-33addb2.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-33addb2 .elementor-icon-box-title, .elementor-7 .elementor-element.elementor-element-33addb2 .elementor-icon-box-title a{font-size:20px;}.elementor-7 .elementor-element.elementor-element-33addb2 .elementor-icon-box-title{color:#000000;}.elementor-7 .elementor-element.elementor-element-33addb2:has(:hover) .elementor-icon-box-title,
					 .elementor-7 .elementor-element.elementor-element-33addb2:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-0d9c94b );}.elementor-7 .elementor-element.elementor-element-7ddc1f5{--icon-box-icon-margin:15px;}.elementor-7 .elementor-element.elementor-element-7ddc1f5.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-7ddc1f5.elementor-view-framed .elementor-icon, .elementor-7 .elementor-element.elementor-element-7ddc1f5.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-7ddc1f5 .elementor-icon-box-title, .elementor-7 .elementor-element.elementor-element-7ddc1f5 .elementor-icon-box-title a{font-size:20px;}.elementor-7 .elementor-element.elementor-element-7ddc1f5 .elementor-icon-box-title{color:#000000;}.elementor-7 .elementor-element.elementor-element-7ddc1f5:has(:hover) .elementor-icon-box-title,
					 .elementor-7 .elementor-element.elementor-element-7ddc1f5:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-0d9c94b );}.elementor-7 .elementor-element.elementor-element-1537c0b{--spacer-size:80px;}.elementor-7 .elementor-element.elementor-element-1cec8b8{--display:flex;}.elementor-7 .elementor-element.elementor-element-d3cb72e{--spacer-size:30px;}.elementor-7 .elementor-element.elementor-element-ce918d4{text-align:center;}.elementor-7 .elementor-element.elementor-element-ce918d4 .elementor-heading-title{color:#000000;}.elementor-7 .elementor-element.elementor-element-6ac44a2{--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;}.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-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-e8a5d2c .swiper-slide-bg{background-color:#833ca3;background-image:url(https://hdf-france.com/wp-content/uploads/2024/07/IMG_0574.jpg);background-size:cover;}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-e8a5d2c .elementor-background-overlay{background-color:#000000AA;}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-e8a5d2c .swiper-slide-inner{text-align:center;}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-e8a5d2c .swiper-slide-inner .elementor-slide-heading{color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-e8a5d2c .swiper-slide-inner .elementor-slide-description{color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-e8a5d2c .swiper-slide-inner .elementor-slide-button{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-d676386 .swiper-slide-bg{background-color:#4054b2;background-image:url(https://hdf-france.com/wp-content/uploads/2024/01/Val-Cenis-Italie.png);background-size:cover;}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-d676386 .elementor-background-overlay{background-color:#000000AB;}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-d676386 .swiper-slide-inner .elementor-slide-heading{color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-d676386 .swiper-slide-inner .elementor-slide-description{color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-d676386 .swiper-slide-inner .elementor-slide-button{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-0b1a966 .swiper-slide-bg{background-color:#1abc9c;background-image:url(https://hdf-france.com/wp-content/uploads/2024/01/Pont-en-Royans.png);background-size:cover;}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-0b1a966 .elementor-background-overlay{background-color:#000000AB;}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-0b1a966 .swiper-slide-inner .elementor-slide-heading{color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-0b1a966 .swiper-slide-inner .elementor-slide-description{color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-0b1a966 .swiper-slide-inner .elementor-slide-button{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-ba7a7b5 .swiper-slide-bg{background-color:#bbbbbb;background-image:url(https://hdf-france.com/wp-content/uploads/2024/01/image-3-1.png);background-size:cover;}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-ba7a7b5 .elementor-background-overlay{background-color:rgba(0,0,0,0.5);}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-ba7a7b5 .swiper-slide-inner .elementor-slide-heading{color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-ba7a7b5 .swiper-slide-inner .elementor-slide-description{color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-repeater-item-ba7a7b5 .swiper-slide-inner .elementor-slide-button{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-0c5ccda .swiper-slide{height:400px;}.elementor-7 .elementor-element.elementor-element-0c5ccda .swiper-slide-contents{max-width:66%;}.elementor-7 .elementor-element.elementor-element-0c5ccda .swiper-slide-inner{text-align:center;}.elementor-7 .elementor-element.elementor-element-0c5ccda .elementor-slide-button{font-family:"Roboto", Sans-serif;font-size:18px;font-weight:500;border-width:0px;}.elementor-7 .elementor-element.elementor-element-e2559f6{--display:flex;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-7 .elementor-element.elementor-element-0fd8907 .elementor-button{font-family:"Roboto", Sans-serif;font-size:20px;font-weight:600;border-radius:20px 20px 20px 20px;}.elementor-7 .elementor-element.elementor-element-0b10cd5{--spacer-size:50px;}@media(max-width:1024px){.elementor-7 .elementor-element.elementor-element-19fdb6f{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-7 .elementor-element.elementor-element-3371b05{--width:90%;}.elementor-7 .elementor-element.elementor-element-19fdb6f{--width:70%;}}@media(max-width:767px){.elementor-7 .elementor-element.elementor-element-19fdb6f{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}}/* Start custom CSS *//* Variables & scope */
.itinerary {
  --accent: #2563eb;
  --brand: #0ea5e9;
  --track: #e6e9ef;
  --ink: #111827;
  --card: #ffffff;
  --shadow: 0 12px 30px rgba(0,0,0,.12);
  --progress: 0; /* sera mis à jour par le JS */
  position: relative;
}

/* Piste */
.itinerary-track {
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: 24px auto 12px;
  padding: 24px 12px;
}

.itinerary-line {
  position: relative;
  height: 12px;
  background: var(--track);
  border-radius: 999px;
  overflow: hidden;
}

.itinerary-fill {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: calc(var(--progress) * 100%);
  background: linear-gradient(90deg, var(--brand), var(--accent));
}

/* Curseur (moto) */
.itinerary-handle {
  position: absolute;
  top: calc(50% + 6px);
  left: calc(var(--progress) * 100%);
  transform: translate(-50%, -50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: none;
  background: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.25);
  cursor: grab;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}
.itinerary-handle:active { cursor: grabbing; }

.itinerary-handle svg {
  width: 40px;
  height: 40px;
  /* on utilise currentColor pour éviter l’avertissement sur fill */
  color: var(--accent);
  fill: currentColor;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.2));
}

.itinerary-handle .handle-badge {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  background: #0f172a;
  color: #fff;
  font-size: 12px;
  padding: 6px 8px;
  border-radius: 8px;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
}

/* Points d’étapes */
.itinerary-dots {
  position: absolute;
  left: 12px;
  right: 12px;
  top: calc(50% + 6px);
  height: 0;
  transform: translateY(-50%);
}

.itinerary-dots .dot {
  position: absolute;
  top: -9px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #1f2937;
  box-shadow: 0 4px 10px rgba(0,0,0,.15);
  transform: translateX(-50%);
}
.itinerary-dots .dot::after {
  content: "";
  position: absolute;
  top: 5px; right: 5px; bottom: 5px; left: 5px;
  border-radius: 50%;
  background: #fff;
}
.itinerary-dots .dot.active { background: var(--accent); }

/* Cartes d'étapes */
.itinerary-stages {
  margin-top: 18px;
  display: flex;           /* au lieu de grid pour éviter des warnings */
  flex-direction: column;
  row-gap: 16px;           /* évite 'gap' si lint trop strict */
}

.stage-card {
  display: none;
  background: var(--card);
  border-radius: 16px;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.stage-card.active { display: block; }

.stage-card .inner {
  display: flex;
  align-items: stretch;
  /* pas de gap → on utilise column-gap pour compat max */
  column-gap: 18px;
  padding: 16px;
}

.stage-card .thumb {
  width: 140px;
  height: auto;
  min-height: 120px;
  object-fit: cover;
  border-radius: 12px;
  flex: 0 0 140px;
}

.stage-card .meta { flex: 1; }

@media (max-width: 768px) {
  .stage-card .inner { flex-direction: column; }
  .stage-card .thumb {
    width: 100%;
    min-height: 180px;
    flex: 0 0 auto;
  }
}/* End custom CSS */