.elementor-kit-4990{--e-global-color-primary:#E42621;--e-global-color-secondary:#F1DFC5;--e-global-color-text:#2E2E2E;--e-global-color-accent:#2E2E2E;--e-global-color-1f0db93:#CA867A;--e-global-color-9247b71:#FFFFFF;--e-global-color-1873a88:#F0F0F0;--e-global-color-2b89ccd:#A42D3099;--e-global-typography-primary-font-family:"Khand";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-text-transform:none;--e-global-typography-secondary-font-family:"Khand";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:none;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-size:clamp(1.6rem, 1.55rem + 0.2vw, 1.7rem);--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-size:18px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:none;--e-global-typography-cbcc5077-font-family:"Khand";--e-global-typography-cbcc5077-font-size:clamp(5rem, 3.33rem + 8.33vw, 10rem);--e-global-typography-cbcc5077-font-weight:600;--e-global-typography-cbcc5077-text-transform:none;--e-global-typography-cbcc5077-line-height:1.05em;--e-global-typography-22057265-font-family:"Khand";--e-global-typography-22057265-font-size:clamp(5rem, 3.33rem + 8.33vw, 10rem);--e-global-typography-22057265-font-weight:600;--e-global-typography-22057265-text-transform:none;--e-global-typography-22057265-line-height:1.05em;--e-global-typography-ccaa834e-font-family:"Khand";--e-global-typography-ccaa834e-font-size:clamp(3rem, 2.53rem + 2.33vw, 4.4rem);--e-global-typography-ccaa834e-font-weight:600;--e-global-typography-ccaa834e-text-transform:none;--e-global-typography-ccaa834e-line-height:1.12em;--e-global-typography-4f0c26f0-font-family:"Khand";--e-global-typography-4f0c26f0-font-size:clamp(2.5rem, 2.03rem + 2.33vw, 3.9rem);--e-global-typography-4f0c26f0-font-weight:600;--e-global-typography-4f0c26f0-text-transform:none;--e-global-typography-4f0c26f0-line-height:1.13em;--e-global-typography-83d08d8b-font-family:"Khand";--e-global-typography-83d08d8b-font-size:clamp(1.8rem, 1.4rem + 2vw, 3rem);--e-global-typography-83d08d8b-font-weight:600;--e-global-typography-83d08d8b-text-transform:none;--e-global-typography-83d08d8b-line-height:1.2em;--e-global-typography-6bda7509-font-family:"Khand";--e-global-typography-6bda7509-font-size:clamp(1.6rem, 1.3rem + 1.5vw, 2.5rem);--e-global-typography-6bda7509-font-weight:600;--e-global-typography-6bda7509-text-transform:none;--e-global-typography-6bda7509-line-height:1.12em;--e-global-typography-67a9554c-font-family:"Khand";--e-global-typography-67a9554c-font-size:16px;--e-global-typography-67a9554c-font-weight:600;--e-global-typography-67a9554c-text-transform:none;--e-global-typography-67a9554c-line-height:1.3em;--e-global-typography-8d4c153d-font-family:"Khand";--e-global-typography-8d4c153d-font-size:clamp(1.1rem, 1rem + 0.5vw, 1.25rem);--e-global-typography-8d4c153d-font-weight:600;--e-global-typography-8d4c153d-text-transform:none;--e-global-typography-8d4c153d-line-height:1.2em;background-color:#FFFFFF;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-4990 button,.elementor-kit-4990 input[type="button"],.elementor-kit-4990 input[type="submit"],.elementor-kit-4990 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );color:#FFFFFF;border-style:solid;border-width:3px 3px 3px 3px;border-color:#E42621;border-radius:8px 8px 8px 8px;padding:12px 24px 12px 24px;}.elementor-kit-4990 button:hover,.elementor-kit-4990 button:focus,.elementor-kit-4990 input[type="button"]:hover,.elementor-kit-4990 input[type="button"]:focus,.elementor-kit-4990 input[type="submit"]:hover,.elementor-kit-4990 input[type="submit"]:focus,.elementor-kit-4990 .elementor-button:hover,.elementor-kit-4990 .elementor-button:focus{background-color:#2E2E2E;color:#FFFFFF;}.elementor-kit-4990 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4990 h1{color:#2E2E2E;font-family:var( --e-global-typography-cbcc5077-font-family ), Sans-serif;font-size:var( --e-global-typography-cbcc5077-font-size );font-weight:var( --e-global-typography-cbcc5077-font-weight );text-transform:var( --e-global-typography-cbcc5077-text-transform );line-height:var( --e-global-typography-cbcc5077-line-height );letter-spacing:var( --e-global-typography-cbcc5077-letter-spacing );word-spacing:var( --e-global-typography-cbcc5077-word-spacing );}.elementor-kit-4990 h2{color:#2E2E2E;font-family:var( --e-global-typography-ccaa834e-font-family ), Sans-serif;font-size:var( --e-global-typography-ccaa834e-font-size );font-weight:var( --e-global-typography-ccaa834e-font-weight );text-transform:var( --e-global-typography-ccaa834e-text-transform );line-height:var( --e-global-typography-ccaa834e-line-height );letter-spacing:var( --e-global-typography-ccaa834e-letter-spacing );word-spacing:var( --e-global-typography-ccaa834e-word-spacing );}.elementor-kit-4990 h3{color:#2E2E2E;font-family:var( --e-global-typography-4f0c26f0-font-family ), Sans-serif;font-size:var( --e-global-typography-4f0c26f0-font-size );font-weight:var( --e-global-typography-4f0c26f0-font-weight );text-transform:var( --e-global-typography-4f0c26f0-text-transform );line-height:var( --e-global-typography-4f0c26f0-line-height );letter-spacing:var( --e-global-typography-4f0c26f0-letter-spacing );word-spacing:var( --e-global-typography-4f0c26f0-word-spacing );}.elementor-kit-4990 h4{color:#2E2E2E;font-family:var( --e-global-typography-83d08d8b-font-family ), Sans-serif;font-size:var( --e-global-typography-83d08d8b-font-size );font-weight:var( --e-global-typography-83d08d8b-font-weight );text-transform:var( --e-global-typography-83d08d8b-text-transform );line-height:var( --e-global-typography-83d08d8b-line-height );letter-spacing:var( --e-global-typography-83d08d8b-letter-spacing );word-spacing:var( --e-global-typography-83d08d8b-word-spacing );}.elementor-kit-4990 h5{color:#2E2E2E;font-family:var( --e-global-typography-6bda7509-font-family ), Sans-serif;font-size:var( --e-global-typography-6bda7509-font-size );font-weight:var( --e-global-typography-6bda7509-font-weight );text-transform:var( --e-global-typography-6bda7509-text-transform );line-height:var( --e-global-typography-6bda7509-line-height );letter-spacing:var( --e-global-typography-6bda7509-letter-spacing );word-spacing:var( --e-global-typography-6bda7509-word-spacing );}.elementor-kit-4990 h6{color:#2E2E2E;font-family:var( --e-global-typography-8d4c153d-font-family ), Sans-serif;font-size:var( --e-global-typography-8d4c153d-font-size );font-weight:var( --e-global-typography-8d4c153d-font-weight );text-transform:var( --e-global-typography-8d4c153d-text-transform );line-height:var( --e-global-typography-8d4c153d-line-height );letter-spacing:var( --e-global-typography-8d4c153d-letter-spacing );word-spacing:var( --e-global-typography-8d4c153d-word-spacing );}.elementor-kit-4990 input:not([type="button"]):not([type="submit"]),.elementor-kit-4990 textarea,.elementor-kit-4990 .elementor-field-textual{font-family:"Roboto", Sans-serif;font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--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:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-4990{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-4990 h1{font-size:var( --e-global-typography-cbcc5077-font-size );line-height:var( --e-global-typography-cbcc5077-line-height );letter-spacing:var( --e-global-typography-cbcc5077-letter-spacing );word-spacing:var( --e-global-typography-cbcc5077-word-spacing );}.elementor-kit-4990 h2{font-size:var( --e-global-typography-ccaa834e-font-size );line-height:var( --e-global-typography-ccaa834e-line-height );letter-spacing:var( --e-global-typography-ccaa834e-letter-spacing );word-spacing:var( --e-global-typography-ccaa834e-word-spacing );}.elementor-kit-4990 h3{font-size:var( --e-global-typography-4f0c26f0-font-size );line-height:var( --e-global-typography-4f0c26f0-line-height );letter-spacing:var( --e-global-typography-4f0c26f0-letter-spacing );word-spacing:var( --e-global-typography-4f0c26f0-word-spacing );}.elementor-kit-4990 h4{font-size:var( --e-global-typography-83d08d8b-font-size );line-height:var( --e-global-typography-83d08d8b-line-height );letter-spacing:var( --e-global-typography-83d08d8b-letter-spacing );word-spacing:var( --e-global-typography-83d08d8b-word-spacing );}.elementor-kit-4990 h5{font-size:var( --e-global-typography-6bda7509-font-size );line-height:var( --e-global-typography-6bda7509-line-height );letter-spacing:var( --e-global-typography-6bda7509-letter-spacing );word-spacing:var( --e-global-typography-6bda7509-word-spacing );}.elementor-kit-4990 h6{font-size:var( --e-global-typography-8d4c153d-font-size );line-height:var( --e-global-typography-8d4c153d-line-height );letter-spacing:var( --e-global-typography-8d4c153d-letter-spacing );word-spacing:var( --e-global-typography-8d4c153d-word-spacing );}.elementor-kit-4990 button,.elementor-kit-4990 input[type="button"],.elementor-kit-4990 input[type="submit"],.elementor-kit-4990 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-4990{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-4990 h1{font-size:var( --e-global-typography-cbcc5077-font-size );line-height:var( --e-global-typography-cbcc5077-line-height );letter-spacing:var( --e-global-typography-cbcc5077-letter-spacing );word-spacing:var( --e-global-typography-cbcc5077-word-spacing );}.elementor-kit-4990 h2{font-size:var( --e-global-typography-ccaa834e-font-size );line-height:var( --e-global-typography-ccaa834e-line-height );letter-spacing:var( --e-global-typography-ccaa834e-letter-spacing );word-spacing:var( --e-global-typography-ccaa834e-word-spacing );}.elementor-kit-4990 h3{font-size:var( --e-global-typography-4f0c26f0-font-size );line-height:var( --e-global-typography-4f0c26f0-line-height );letter-spacing:var( --e-global-typography-4f0c26f0-letter-spacing );word-spacing:var( --e-global-typography-4f0c26f0-word-spacing );}.elementor-kit-4990 h4{font-size:var( --e-global-typography-83d08d8b-font-size );line-height:var( --e-global-typography-83d08d8b-line-height );letter-spacing:var( --e-global-typography-83d08d8b-letter-spacing );word-spacing:var( --e-global-typography-83d08d8b-word-spacing );}.elementor-kit-4990 h5{font-size:var( --e-global-typography-6bda7509-font-size );line-height:var( --e-global-typography-6bda7509-line-height );letter-spacing:var( --e-global-typography-6bda7509-letter-spacing );word-spacing:var( --e-global-typography-6bda7509-word-spacing );}.elementor-kit-4990 h6{font-size:var( --e-global-typography-8d4c153d-font-size );line-height:var( --e-global-typography-8d4c153d-line-height );letter-spacing:var( --e-global-typography-8d4c153d-letter-spacing );word-spacing:var( --e-global-typography-8d4c153d-word-spacing );}.elementor-kit-4990 button,.elementor-kit-4990 input[type="button"],.elementor-kit-4990 input[type="submit"],.elementor-kit-4990 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.rs-card{border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(46,46,46,.12);transition:box-shadow .25s ease,transform .25s ease;}
.rs-card:hover{box-shadow:0 16px 36px rgba(46,46,46,.18);transform:translateY(-4px);}
.rs-card img{display:block;width:100%;height:100%;object-fit:cover;}
.rs-split-media{flex:0 0 40%;max-width:40%;box-sizing:border-box;}
.rs-split-content{flex:0 0 60%;max-width:60%;box-sizing:border-box;padding:0 32px;}
@media (max-width:1024px){.rs-split-media,.rs-split-content{flex:0 0 100%;max-width:100%;}}
/* Carrousel offset : image centrale pleine largeur, apercu des images voisines sur les cotes (mobile uniquement) */
@media (max-width:767px){
  .carrousel-offset .swiper{overflow:visible !important;}
  .carrousel-offset .swiper-wrapper{padding:0 12% 0 12%;box-sizing:border-box;}
  .carrousel-offset .swiper-slide{width:76% !important;opacity:1 !important;transition:transform .3s ease;transform:scale(.92);}
  .carrousel-offset .swiper-slide-active{opacity:1 !important;transform:scale(1);z-index:2;}
  .carrousel-offset .swiper-slide-prev,.carrousel-offset .swiper-slide-next{opacity:1 !important;transform:scale(.92);}
}

/* Fleches carrousel-offset : blanches par defaut sur mobile, #2c2c2c au survol/focus partout */
@media (max-width:767px){
  .carrousel-offset .elementor-swiper-button,
  .carrousel-offset .swiper-button-prev,
  .carrousel-offset .swiper-button-next{
    color:#FFFFFF !important;
  }
  .carrousel-offset .elementor-swiper-button svg,
  .carrousel-offset .swiper-button-prev svg,
  .carrousel-offset .swiper-button-next svg{
    fill:#FFFFFF !important;
  }
}
.carrousel-offset .elementor-swiper-button:hover,
.carrousel-offset .elementor-swiper-button:focus,
.carrousel-offset .swiper-button-prev:hover,
.carrousel-offset .swiper-button-prev:focus,
.carrousel-offset .swiper-button-next:hover,
.carrousel-offset .swiper-button-next:focus{
  color:#2c2c2c !important;
}
.carrousel-offset .elementor-swiper-button:hover svg,
.carrousel-offset .elementor-swiper-button:focus svg,
.carrousel-offset .swiper-button-prev:hover svg,
.carrousel-offset .swiper-button-prev:focus svg,
.carrousel-offset .swiper-button-next:hover svg,
.carrousel-offset .swiper-button-next:focus svg{
  fill:#2c2c2c !important;
}
/* Alias : meme design applique a la faute de frappe carroussel-offset (double s) */
.rs-card{border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(46,46,46,.12);transition:box-shadow .25s ease,transform .25s ease;}
.rs-card:hover{box-shadow:0 16px 36px rgba(46,46,46,.18);transform:translateY(-4px);}
.rs-card img{display:block;width:100%;height:100%;object-fit:cover;}
.rs-split-media{flex:0 0 40%;max-width:40%;box-sizing:border-box;}
.rs-split-content{flex:0 0 60%;max-width:60%;box-sizing:border-box;padding:0 32px;}
@media (max-width:1024px){.rs-split-media,.rs-split-content{flex:0 0 100%;max-width:100%;}}

@media (max-width:767px){
  .carroussel-offset .swiper{overflow:visible !important;}
  .carroussel-offset .swiper-wrapper{padding:0 12% 0 12%;box-sizing:border-box;}
  .carroussel-offset .swiper-slide{width:76% !important;opacity:1 !important;transition:transform .3s ease;transform:scale(.92);}
  .carroussel-offset .swiper-slide-active{opacity:1 !important;transform:scale(1);z-index:2;}
  .carroussel-offset .swiper-slide-prev,.carroussel-offset .swiper-slide-next{opacity:1 !important;transform:scale(.92);}
}


@media (max-width:767px){
  .carroussel-offset .elementor-swiper-button,
  .carroussel-offset .swiper-button-prev,
  .carroussel-offset .swiper-button-next{
    color:#FFFFFF !important;
  }
  .carroussel-offset .elementor-swiper-button svg,
  .carroussel-offset .swiper-button-prev svg,
  .carroussel-offset .swiper-button-next svg{
    fill:#FFFFFF !important;
  }
}
.carroussel-offset .elementor-swiper-button:hover,
.carroussel-offset .elementor-swiper-button:focus,
.carroussel-offset .swiper-button-prev:hover,
.carroussel-offset .swiper-button-prev:focus,
.carroussel-offset .swiper-button-next:hover,
.carroussel-offset .swiper-button-next:focus{
  color:#2c2c2c !important;
}
.carroussel-offset .elementor-swiper-button:hover svg,
.carroussel-offset .elementor-swiper-button:focus svg,
.carroussel-offset .swiper-button-prev:hover svg,
.carroussel-offset .swiper-button-prev:focus svg,
.carroussel-offset .swiper-button-next:hover svg,
.carroussel-offset .swiper-button-next:focus svg{
  fill:#2c2c2c !important;
}
/* Mobile : les fleches restent blanches en permanence, meme au survol/focus (override de la regle globale #2c2c2c) */
@media (max-width:767px){
  .carrousel-offset .elementor-swiper-button:hover,
  .carrousel-offset .elementor-swiper-button:focus,
  .carrousel-offset .swiper-button-prev:hover,
  .carrousel-offset .swiper-button-prev:focus,
  .carrousel-offset .swiper-button-next:hover,
  .carrousel-offset .swiper-button-next:focus,
  .carroussel-offset .elementor-swiper-button:hover,
  .carroussel-offset .elementor-swiper-button:focus,
  .carroussel-offset .swiper-button-prev:hover,
  .carroussel-offset .swiper-button-prev:focus,
  .carroussel-offset .swiper-button-next:hover,
  .carroussel-offset .swiper-button-next:focus{
    color:#FFFFFF !important;
  }
  .carrousel-offset .elementor-swiper-button:hover svg,
  .carrousel-offset .elementor-swiper-button:focus svg,
  .carrousel-offset .swiper-button-prev:hover svg,
  .carrousel-offset .swiper-button-prev:focus svg,
  .carrousel-offset .swiper-button-next:hover svg,
  .carrousel-offset .swiper-button-next:focus svg,
  .carroussel-offset .elementor-swiper-button:hover svg,
  .carroussel-offset .elementor-swiper-button:focus svg,
  .carroussel-offset .swiper-button-prev:hover svg,
  .carroussel-offset .swiper-button-prev:focus svg,
  .carroussel-offset .swiper-button-next:hover svg,
  .carroussel-offset .swiper-button-next:focus svg{
    fill:#FFFFFF !important;
  }
}
/* Icone menu mobile (.header__trigger) : suppression du fond gris et de la bordure rouge */
.header__trigger{
  background-color:transparent !important;
  border:none !important;
  box-shadow:none !important;
}



/* Icone menu mobile (.header__trigger) : reconstruction complete et coherente des 3 barres.
   span devient lui-meme position:absolute -> ses pseudo-elements :before/:after se positionnent
   alors PAR RAPPORT A SPAN (et non plus par rapport a .header__trigger), d'ou le recalcul des "top". */
.header__trigger{ position:relative !important; }
.header__trigger span,
.header__trigger span:before,
.header__trigger span:after{
  display:block !important;
  position:absolute !important;
  left:0 !important;
  width:20px !important;
  height:3px !important;
  margin:0 !important;
}
.header__trigger span{ top:8.5px !important; }
.header__trigger span:before{ top:-7.5px !important; }
.header__trigger span:after{ top:7.5px !important; }

/* Etat ouvert (icone en croix X) : avant/apres se rejoignent au meme niveau avec rotation opposee */
.header__trigger.active span:before{ top:3.5px !important; }
.header__trigger.active span:after{ top:3.5px !important; }
/* Footer : couleur de fond fixee en dur en #2e2e2e */
.footer{
  background-color:#2e2e2e !important;
}

/* Footer : couleur de fond fixee en dur en #2e2e2e, forcee sur tous les devices (aucun media query, specificite renforcee) */
body .footer,
html body .footer,
.footer.footer{
  background-color:#2e2e2e !important;
}
/* Header sidebar sticky (desktop) : le vrai bug etait un flex-item (.main) sans min-width:0,
   qui se faisait pousser sous le header (flex-wrap) des qu'un widget etait plus large que l'espace dispo. */
@media screen and (min-width: 1024px){
  .main{
    min-width:0 !important;
    flex:1 1 auto !important;
  }
  .header{
    flex-shrink:0 !important;
    flex-basis:300px !important;
  }
  .header__inner{
    position:sticky !important;
    top:0 !important;
  }
}
/* Suppression de la regle du theme "p, li { color: #2c2c2c; }" (fichier non editable directement) */
p, li{
  color: unset !important;
}
/* Suppression du margin-top par defaut sur les paragraphes */
p{
  margin-top: 0 !important;
}
/* Accordeon FAQ (.e-n-accordion) : le "saut" de taille a l'ouverture vient du collapse de marge
   entre le paragraphe et son conteneur, qui perturbe la mesure de hauteur au moment de l'animation.
   overflow:hidden cree un nouveau contexte de formatage qui empeche ce collapse. */
.e-n-accordion-item [role="region"]{
  overflow:hidden !important;
}
.e-n-accordion-item [role="region"] p{
  margin:0 !important;
}


/* Formulaire Elementor : neutraliser precisement les proprietes du theme, sans toucher
   au style natif d'Elementor (bordures, couleurs de champs, etc. restent intacts). */
.elementor-form{
  padding: 0 !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.elementor-form label{
  font-weight: normal !important;
}
.elementor-form textarea{
  padding: 12px !important;
  max-height: none !important;
  margin-bottom: 0 !important;
}
.elementor-form .elementor-field-type-submit input[type=submit],
.elementor-form button[type=submit]{
  width: auto !important;
  font-size: inherit !important;
  padding: 12px 24px !important;
}
/* Formulaire Elementor : filet de securite pour que la police soit toujours coherente
   avec le reste du site, meme si les liaisons globales du widget sont resaisies. */
.elementor-form .elementor-field,
.elementor-form .elementor-field-subgroup label,
.elementor-form textarea{
  font-family: var(--e-global-typography-text-font-family), Roboto, sans-serif !important;
}
.elementor-form .elementor-button,
.elementor-form button[type=submit]{
  font-family: var(--e-global-typography-primary-font-family), Khand, sans-serif !important;
}

/* === HEADER STICKY/FIXED : version consolidee unique === */
@media screen and (max-width: 1023px){
  .header{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 999 !important;
  }
  .header__container{
    position: relative !important;
  }
  .main{
    padding-top: 60px !important;
  }
}
@media screen and (min-width: 1024px){
  .main{
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }
  .header{
    flex-shrink: 0 !important;
    flex-basis: 300px !important;
  }
  .header__inner{
    position: sticky !important;
    top: 0 !important;
  }
}

/* Le theme ajoute un point rouge (:before) sur TOUS les <li> dans .main, y compris dans les widgets
   Elementor (listes d'icones, etc.). On le desactive partout dans les widgets Elementor, puis on le
   reactive uniquement pour les listes de texte libre (paragraphes, .elementor-widget-text-editor). */
.main .elementor-widget ul li:before{
  content: none !important;
  display: none !important;
}
.main .elementor-widget-text-editor ul li:before{
  content: "" !important;
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  background-repeat: no-repeat !important;
  position: absolute !important;
  left: 4px !important;
  top: 6px !important;
  background-color: var(--color-1) !important;
  border-radius: 100% !important;
}
/* Ancres : decalage responsive au moment du scroll (aucun impact sur la mise en page normale) */
[id]{
  scroll-margin-top: 69px;
}
@media screen and (max-width: 1023px){
  [id]{
    scroll-margin-top: 97px;
  }
}
/* Empeche le decalage horizontal (~20px) au scroll du a l'apparition/disparition de la scrollbar,
   qui affectait le header en position:fixed (width:100vw/100%). On reserve l'espace en permanence. */
html{
  scrollbar-gutter: stable !important;
}
/* La case a cocher d'acceptation heritait d'une regle prevue pour les champs texte (width:100%;height:40px),
   ce qui la rendait enorme (ex: 981x40px au lieu d'un carre ~16px). On la reinitialise proprement. */
.elementor-form input[type=checkbox].elementor-field,
.elementor-form input[type=radio].elementor-field{
  width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  flex: none !important;
}
/* La zone de texte avait une height:40px fixe (venant du style "petit" d'Elementor) qui ecrasait
   l'effet du rows="4". On force une hauteur calculee pour afficher reellement 4 lignes. */
.elementor-form textarea.elementor-field{
  height: 130px !important;
  min-height: 130px !important;
}
/* Corps de texte : Elementor n'emet aucune regle body{} pour le Theme Style "Corps de texte",
   meme si la variable existe. On applique la valeur directement, de facon large mais sure. */
body,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-widget-text-editor,
p, li {
  font-family: var(--e-global-typography-text-font-family), Roboto, sans-serif !important;
  font-size: clamp(1.6rem, 1.55rem + 0.2vw, 1.7rem) !important;
  font-weight: var(--e-global-typography-text-font-weight) !important;
}

/* Suppression de la classe .title du theme (width:100%; text-align:center;) */
.title{
  width: unset !important;
  text-align: unset !important;
}
/* Le theme centre tous les h2/h3 via display:flex;justify-content:center. Sur les pages en contenu
   classique (Mentions legales, CGV, etc.), ca centre les titres alors qu'ils doivent rester alignes a gauche. */
h2.wp-block-heading,
h3.wp-block-heading{
  display: block !important;
  justify-content: flex-start !important;
  text-align: left !important;
}
/* .footer__bottom a avait width:100% (theme), ce qui cassait la mise en page des liens
   separes par "|" sur mobile. On les remet en ligne avec un espacement propre. */
.footer__bottom a{
  width: auto !important;
  display: inline !important;
}
.footer__bottom p{
  line-height: 2.2 !important;
  word-spacing: 2px;
}
@media screen and (max-width: 767px){
  .footer__bottom p{
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 4px 10px !important;
    line-height: 1.6 !important;
  }
}
/* .footer__bottom a avait width:100% (theme), ce qui cassait la mise en page des liens
   separes par "|" sur mobile (chaque lien essayait de prendre toute la largeur). */
.footer__bottom a{
  width: auto !important;
  display: inline !important;
  margin: 0 2px !important;
}
.footer__bottom p{
  line-height: 2 !important;
}
@media screen and (max-width: 767px){
  .footer__bottom p{
    line-height: 2.2 !important;
    padding: 0 8px;
  }
}
/* Le Theme Style a bien button_hover_border_color=#2E2E2E en reglage, mais Elementor n'emet
   pas la bordure dans la regle :hover generee (seul le background sort). On la force. */
.elementor-button:hover,
.elementor-button:focus{
  border-color: #2E2E2E !important;
  background-color: #2E2E2E !important;
  color: #FFFFFF !important;
}
/* Carrousel burgers (widget d7074f5) : au survol d'une slide, degrade sombre + legende en blanc */
.elementor-1861 .elementor-element.elementor-element-d7074f5 .swiper-slide-inner{
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}
.elementor-1861 .elementor-element.elementor-element-d7074f5 .elementor-image-carousel-caption{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 16px;
  margin: 0;
  color: transparent;
  background-color: transparent;
  transition: color .3s ease, background-image .3s ease;
}
.elementor-1861 .elementor-element.elementor-element-d7074f5 .swiper-slide:hover .elementor-image-carousel-caption{
  color: #FFFFFF !important;
  background-color: transparent;
  background-image: linear-gradient(180deg, #00000000 0%, var(--e-global-color-text) 100%);
  font-family: var(--e-global-typography-6bda7509-font-family), Sans-serif;
  font-size: var(--e-global-typography-6bda7509-font-size);
  font-weight: var(--e-global-typography-6bda7509-font-weight);
  text-transform: var(--e-global-typography-6bda7509-text-transform);
  line-height: var(--e-global-typography-6bda7509-line-height);
  letter-spacing: var(--e-global-typography-6bda7509-letter-spacing);
  word-spacing: var(--e-global-typography-6bda7509-word-spacing);
}
/* Bouton .reloop-icon (hero) : pas de fond */
.reloop-icon,
.reloop-icon .elementor-button{
  background-color: transparent !important;
  background-image: none !important;
}
/* Bouton .reloop-icon (hero) : bordure blanche garantie sur mobile */
@media screen and (max-width: 767px){
  .reloop-icon .elementor-button,
  .reloop-icon{
    border-color: #FFFFFF !important;
  }
}
/* Bouton .reloop-icon (hero) : Elementor n'emettait aucune bordure malgre le reglage
   (border:0 partout sauf bas:4px). On la force directement, blanche sur toutes tailles. */
.reloop-icon .elementor-button,
.reloop-icon{
  border-style: solid !important;
  border-width: 0 0 2px 0 !important;
  border-color: #FFFFFF !important;
}

/* Effet de survol carrousels (legende + degrade), meme design que le carrousel burgers de l'accueil */
.elementor-1974 .elementor-element.elementor-element-f7b8371 .swiper-slide-inner{
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}
.elementor-1974 .elementor-element.elementor-element-f7b8371 .elementor-image-carousel-caption{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 16px;
  margin: 0;
  color: transparent;
  background-color: transparent;
  transition: color .3s ease, background-image .3s ease;
  font-family: var(--e-global-typography-6bda7509-font-family), Sans-serif;
  font-size: var(--e-global-typography-6bda7509-font-size);
  font-weight: var(--e-global-typography-6bda7509-font-weight);
  text-transform: var(--e-global-typography-6bda7509-text-transform);
  line-height: var(--e-global-typography-6bda7509-line-height);
  letter-spacing: var(--e-global-typography-6bda7509-letter-spacing);
  word-spacing: var(--e-global-typography-6bda7509-word-spacing);
}
.elementor-1974 .elementor-element.elementor-element-f7b8371 .swiper-slide:hover .elementor-image-carousel-caption{
  color: #FFFFFF !important;
  background-image: linear-gradient(180deg, #00000000 0%, var(--e-global-color-text) 100%);
}
.elementor-1995 .elementor-element.elementor-element-87b2854 .swiper-slide-inner{
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}
.elementor-1995 .elementor-element.elementor-element-87b2854 .elementor-image-carousel-caption{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 16px;
  margin: 0;
  color: transparent;
  background-color: transparent;
  transition: color .3s ease, background-image .3s ease;
  font-family: var(--e-global-typography-6bda7509-font-family), Sans-serif;
  font-size: var(--e-global-typography-6bda7509-font-size);
  font-weight: var(--e-global-typography-6bda7509-font-weight);
  text-transform: var(--e-global-typography-6bda7509-text-transform);
  line-height: var(--e-global-typography-6bda7509-line-height);
  letter-spacing: var(--e-global-typography-6bda7509-letter-spacing);
  word-spacing: var(--e-global-typography-6bda7509-word-spacing);
}
.elementor-1995 .elementor-element.elementor-element-87b2854 .swiper-slide:hover .elementor-image-carousel-caption{
  color: #FFFFFF !important;
  background-image: linear-gradient(180deg, #00000000 0%, var(--e-global-color-text) 100%);
}
.elementor-2709 .elementor-element.elementor-element-8ad705e .swiper-slide-inner{
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}
.elementor-2709 .elementor-element.elementor-element-8ad705e .elementor-image-carousel-caption{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 16px;
  margin: 0;
  color: transparent;
  background-color: transparent;
  transition: color .3s ease, background-image .3s ease;
  font-family: var(--e-global-typography-6bda7509-font-family), Sans-serif;
  font-size: var(--e-global-typography-6bda7509-font-size);
  font-weight: var(--e-global-typography-6bda7509-font-weight);
  text-transform: var(--e-global-typography-6bda7509-text-transform);
  line-height: var(--e-global-typography-6bda7509-line-height);
  letter-spacing: var(--e-global-typography-6bda7509-letter-spacing);
  word-spacing: var(--e-global-typography-6bda7509-word-spacing);
}
.elementor-2709 .elementor-element.elementor-element-8ad705e .swiper-slide:hover .elementor-image-carousel-caption{
  color: #FFFFFF !important;
  background-image: linear-gradient(180deg, #00000000 0%, var(--e-global-color-text) 100%);
}





/* Frise "Parcours d'un franchisee" (bas de la page d'accueil) : ligne horizontale + fleche finale.
   Les classes CSS personnalisees (_css_classes) n'etaient pas appliquees par Elementor, on cible
   donc directement les IDs d'elements auto-generes (.elementor-element-XXXXXXX). */
.elementor-element-88c8db6{
  position: relative;
}
.elementor-element-88c8db6:before{
  content: '';
  position: absolute;
  top: 9px;
  left: 20px;
  right: 36px;
  height: 2px;
  background: #FFFFFF;
  z-index: 0;
}
.elementor-element-88c8db6:after{
  content: '';
  position: absolute;
  top: 3px;
  right: 16px;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid #FFFFFF;
  z-index: 0;
}
.elementor-element-c5e2657,
.elementor-element-180926d,
.elementor-element-9129fca,
.elementor-element-f7ba09c,
.elementor-element-40e75d8{
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px){
  .elementor-element-88c8db6:before,
  .elementor-element-88c8db6:after{
    display: none;
  }
  .elementor-element-c5e2657,
.elementor-element-180926d,
.elementor-element-9129fca,
.elementor-element-f7ba09c,
.elementor-element-40e75d8{
    padding-left: 24px !important;
    text-align: left !important;
  }
}/* End custom CSS */