.elementor-kit-6{--e-global-color-primary:#121826;--e-global-color-secondary:#333333;--e-global-color-text:#F7F9F8;--e-global-color-accent:#28A745;--e-global-color-c9bffe2:#E9F3EC;--e-global-color-0f9ff21:#FFFFFF;--e-global-color-d1d879b:#D3D0CB;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:36px;--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.3px;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6px;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-decoration:none;color:var( --e-global-color-secondary );font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:400;line-height:1.6em;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#E9F3EC;color:#121826;box-shadow:0px 4px 10px 0px rgba(0, 0, 0, 0.25);border-style:solid;border-color:#28A745;border-radius:8px 8px 8px 8px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#28A745;font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:400;}.elementor-kit-6 a:hover{color:#121826;text-decoration:underline;}.elementor-kit-6 h1{color:#121826;font-family:"Montserrat", Sans-serif;font-size:36px;font-weight:700;line-height:1.2em;}.elementor-kit-6 h2{color:#121826;font-family:"Montserrat", Sans-serif;font-size:28px;font-weight:600;}.elementor-kit-6 h3{color:#121826;font-family:"Montserrat", Sans-serif;font-size:22px;}.elementor-kit-6 h4{color:#333333;font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:600;}.elementor-kit-6 h5{color:#333333;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:600;}.elementor-kit-6 h6{color:#333333;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-family:"Montserrat", Sans-serif;font-weight:600;font-style:normal;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:#FFFFFF;border-style:solid;border-color:#28A745;border-radius:8px 8px 8px 8px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--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){--kit-widget-spacing:00px;}.elementor-element{--widgets-spacing:00px 00px;--widgets-spacing-row:00px;--widgets-spacing-column:00px;}{}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-kit-6{--e-global-typography-primary-font-size:24px;--e-global-typography-primary-line-height:1.2em;--e-global-typography-primary-letter-spacing:0.5px;--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-text-font-size:16px;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-size:16px;font-size:16px;}.elementor-kit-6 a{font-size:16px;}.elementor-kit-6 h1{font-size:24px;}.elementor-kit-6 h2{font-size:22px;}.elementor-kit-6 h3{font-size:18px;line-height:1.3em;}.elementor-kit-6 h4{font-size:16px;}.elementor-kit-6 h5{font-size:15px;}.elementor-kit-6 h6{font-size:13px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:16px;border-width:15px 30px 15px 30px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{border-width:15px 30px 15px 30px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================================
   HEADER BREEZ — structure allégée et flexible
   ========================================================= */

/* Neutralisation des paddings Elementor */
.header-breez.elementor-section.elementor-top-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.header-breez .elementor-container,
.header-breez .elementor-widget-wrap {
  padding: 0 !important;
}

/* Structure de base : pas de height forcée */
.header-breez {
  position: sticky;
  top: 0;
  z-index: 10000;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  transition: padding .3s ease, box-shadow .3s ease;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
}

/* Logo texte */
.header-breez .logo-breez { color: #28A745; font-weight: 800; line-height: 1; }
.header-breez .logo-bike  { color: #121826; font-weight: 600; line-height: 1; }

/* Mobile */
@media (max-width: 1024px) {
  .header-breez { align-items: flex-start; padding: 0 16px; }
}

/* Effet shrink */
.header-breez.shrink {
  padding: 0 16px;
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
}

/* =========================================================
   BOUTONS GLOBAUX (Breez, Elementor, Fluent Forms)
   ========================================================= */
.breez-btn,
.ff-btn.breez-btn,
.ff-btn-submit.breez-btn {
  background-color: #28A745 !important;
  color: #FFFFFF !important;
  border: 2px solid #28A745 !important;
  border-radius: 9999px;
  padding: 12px 22px !important;
  font-weight: 600;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all .2s ease;
}
.breez-btn:hover,
.breez-btn:focus {
  background-color: #FFFFFF !important;
  color: #28A745 !important;
  border-color: #28A745 !important;
}
.breez-btn--full { width: 100%; }
.breez-btn--outline {
  background: transparent !important;
  color: #28A745 !important;
  border: 2px solid #28A745 !important;
}
.breez-btn--outline:hover,
.breez-btn--outline:focus {
  background: #28A745 !important;
  color: #FFFFFF !important;
}

/* =========================================================
   TUNNEL DE CONFIGURATION — structure principale
   ========================================================= */
#breez-tunnel {
  max-width: 960px;
  margin: 100px auto 0;
  padding: 24px;
  font-family: system-ui, sans-serif;
}

/* Étapes */
.tunnel-step { display: none; }
.tunnel-step.active { display: block; }

/* =========================================================
   BARRE DE PROGRESSION
   ========================================================= */
.progress-bar {
  height: 6px;
  background: #ddd;
  border-radius: 3px;
  position: relative;
  margin-bottom: 8px;
}
.progress-fill {
  background: #28A745;
  height: 6px;
  width: 0%;
  border-radius: 3px;
  transition: width .4s ease;
}
.progress-steps {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  font-size: .9rem;
}
.progress-steps .step.active {
  color: #28A745;
  font-weight: 600;
}

/* =========================================================
   BOUTONS DE NAVIGATION (haut et bas)
   ========================================================= */

/* Conteneurs des boutons */
.progress-controls,
.tunnel-controls {
  display: flex;
  justify-content: flex-start; /* alignés à gauche */
  align-items: center;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

/* Espacement vertical */
.progress-controls {
  margin-top: 24px;  /* entre barre et bouton */
  margin-bottom: 56px; /* avant le titre Étape */
}
.tunnel-controls {
  margin-top: 56px;  /* avant le bouton du bas */
}

/* Boutons verts (Suivant) */
#btn-top-next,
.next-btn {
  background: #28A745;
  color: #fff;
  font-weight: 600;
  border: none;
  border-radius: 6px;
  padding: 10px 40px;
  cursor: pointer;
  min-width: 160px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08);
}
#btn-top-next:hover,
.next-btn:hover { background: #2ecb50; }
#btn-top-next[disabled],
.next-btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Bouton gris (Précédent) */
.prev-btn {
  background: #888;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 10px 24px;
  cursor: pointer;
  transition: background 0.2s ease;
}
.prev-btn:hover { background: #666; }

/* =========================================================
   TITRES D’ÉTAPE & STRUCTURE VERTICALE
   ========================================================= */
#breez-tunnel h3 {
  margin: 0 0 32px 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  color: #111;
  border-bottom: 1px solid #e5e5e5;
  padding-bottom: 12px;
}

/* =========================================================
   BLOCS, CARTES ET GRILLES
   ========================================================= */

/* Grilles principales */
.regions-grid,
.cyclist-grid,
.objectif-grid {
  margin-top: 24px;
  margin-bottom: 32px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}

/* Blocs région / cartes */
.region-block,
.cyclist-card,
.objectif-card {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 10px;
  background: #fff;
  transition: .2s;
}
.cyclist-card,
.objectif-card {
  cursor: pointer;
  text-align: center;
}
.cyclist-card.selected,
.objectif-card.selected {
  border: 2px solid #28A745;
  background: #eaf7ec;
}

/* =========================================================
   FORMULAIRE & RÉCAPITULATIF
   ========================================================= */
.field input,
.field textarea {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 6px;
}
.full { grid-column: 1/-1; }

.recap-box {
  background: #fafafa;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 16px;
}
.recap-box h4 {
  color: #28A745;
  margin: 8px 0 4px;
}



/* =========================================================
   TUNNEL BREEZ — STRUCTURE VISUELLE DU HAUT VERS LE BAS
   ========================================================= */

/* Conteneur principal */
#breez-tunnel {
  max-width: 960px;
  margin: 100px auto 0;
  padding: 24px;
  font-family: system-ui, sans-serif;
}

/* Étapes visibles/inactives */
.tunnel-step { display: none; }
.tunnel-step.active { display: block; }

/* =========================================================
   1️⃣ BARRE DE PROGRESSION
   ========================================================= */
.progress-bar {
  height: 6px;
  background: #ddd;
  border-radius: 3px;
  position: relative;
  margin-bottom: 8px;
}
.progress-fill {
  background: #28A745;
  height: 6px;
  width: 0%;
  border-radius: 3px;
  transition: width .4s ease;
}
.progress-steps {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  font-size: .9rem;
}
.progress-steps .step.active {
  color: #28A745;
  font-weight: 600;
}

/* =========================================================
   2️⃣ BOUTON “SUIVANT” SOUS LA BARRE (Haut du tunnel)
   ========================================================= */
.progress-controls {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 32px;   /* espace après la barre */
  margin-bottom: 48px; /* espace avant le titre Étape */
}

#btn-top-next {
  background: #28A745;
  color: #fff;
  font-weight: 600;
  border: none;
  border-radius: 6px;
  padding: 10px 28px;
  cursor: pointer;
  min-width: 160px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08);
}
#btn-top-next:hover { background: #2ecb50; }
#btn-top-next[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

/* =========================================================
   3️⃣ TITRE / SOUS-TITRE D'ÉTAPE
   ========================================================= */
#breez-tunnel h3 {
  margin-top: 0;
  margin-bottom: 40px; /* espace avant les zones */
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  color: #111;
  border-bottom: 1px solid #f0f0f0;;
  padding-bottom: 12px;
}

/* =========================================================
   4️⃣ ZONES DE SAISIE / BLOCS DE CONTENU
   ========================================================= */
.regions-grid,
.cyclist-grid,
.objectif-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 16px;
  margin-bottom: 48px;
}

.region-block,
.cyclist-card,
.objectif-card {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 10px;
  background: #fff;
  transition: .2s;
}

.cyclist-card,
.objectif-card {
  cursor: pointer;
  text-align: center;
}
.cyclist-card.selected,
.objectif-card.selected {
  border: 2px solid #28A745;
  background: #eaf7ec;
}

/* =========================================================
   5️⃣ BOUTON INFÉRIEUR (“SUIVANT” / “PRÉCÉDENT”)
   ========================================================= */
.tunnel-controls {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 56px; /* espace après le contenu */
}

/* Boutons */
.next-btn,
.prev-btn {
  border: none;
  border-radius: 6px;
  font-weight: 600;
  padding: 10px 28px;
  min-width: 160px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08);
}

/* Vert : suivant */
.next-btn {
  background: #28A745;
  color: #fff;
}
.next-btn:hover { background: #2ecb50; }
.next-btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Gris : précédent */
.prev-btn {
  background: #888;
  color: #fff;
  margin-right: 16px;
}
.prev-btn:hover { background: #666; }

/* =========================================================
   AUTRES ÉLÉMENTS (formulaire, recap)
   ========================================================= */
.field input,
.field textarea {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 6px;
}
.full { grid-column: 1/-1; }

.recap-box {
  background: #fafafa;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 16px;
}
.recap-box h4 {
  color: #28A745;
  margin: 8px 0 4px;
}

/* =========================================================
   FIN - FIN- FIN- FIN- FIN- FIN- FIN- FIN- FIN- FIN- FIN- FIN
   ========================================================= */






/* === BREEZ — Bouton loupe stable haut-droit === */
.breez-card {
  position: relative;
  overflow: hidden;
}

.breez-card .elementor-button {
  position: absolute;
  top: 10px;
  right: 10px;              /* plus de valeur négative */
  z-index: 5;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(46,139,87,0.9);
  color: #fff;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  transition: all 0.25s ease;
  border: 2px solid rgba(255,255,255,0.8);
  backdrop-filter: blur(3px);
}

.breez-card .elementor-button:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 14px rgba(0,0,0,0.25);
}

/* cache le texte et garde seulement l’icône */
.breez-card .elementor-button-text {
  display: none !important;
}

.breez-card .elementor-button-icon i,
.breez-card .elementor-button-icon svg {
  font-size: 18px !important;
}

/* === Ajustements responsives === */
@media (min-width: 1201px) {
  .breez-card .elementor-button {
    top: 12px;
    right: 40px;
    width: 46px;
    height: 46px;
    font-size: 19px;
  }
}

@media (max-width: 1024px) {
  .breez-card .elementor-button {
    top: 8px;
    right: 30px;
    width: 38px;
    height: 38px;
    font-size: 16px;
  }
}

@media (max-width: 767px) {
  .breez-card .elementor-button {
    top: 6px;
    right: 28px;
    width: 32px;
    height: 32px;
    font-size: 15px;
  }
}

/* =========================================================
   FIN - FIN- FIN- FIN- FIN- FIN- FIN- FIN- FIN- FIN- FIN- FIN
   ========================================================= *//* End custom CSS */