.elementor-32 .elementor-element.elementor-element-91d7717{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--margin-top:0px;--margin-bottom:-100px;--margin-left:0px;--margin-right:0px;--z-index:10;overflow:visible;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );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 );}.elementor-32 .elementor-element.elementor-element-8c33819{width:var( --container-widget-width, 8% );max-width:8%;--container-widget-width:8%;--container-widget-flex-grow:0;text-align:left;}.elementor-32 .elementor-element.elementor-element-8c33819.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{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 );}.elementor-32 .elementor-element.elementor-element-ba6009b.elementor-element{--align-self:center;}.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu .elementor-item{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 );}.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;}.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--main .elementor-item:hover,
					.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--main .elementor-item:focus{color:#CC1954;fill:#CC1954;}.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#F14925;}.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--dropdown a, .elementor-32 .elementor-element.elementor-element-ba6009b .elementor-menu-toggle{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--dropdown{background-color:#02010100;}.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--dropdown a:hover,
					.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--dropdown a:focus,
					.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--dropdown a.highlighted,
					.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-menu-toggle:hover,
					.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-menu-toggle:focus{color:#CC1954;}.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--dropdown a:hover,
					.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--dropdown a:focus,
					.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--dropdown a.highlighted{background-color:#0000001F;}.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--dropdown a.elementor-item-active{color:#F14925;background-color:#FFFFFF1F;}.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--dropdown .elementor-item, .elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Jost", Sans-serif;font-size:0.7vw;font-weight:300;text-transform:none;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );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 );}.elementor-32 .elementor-element.elementor-element-2ddca96 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Jost", Sans-serif;font-weight:500;text-transform:uppercase;box-shadow:0px 0px 10px -1px rgba(200.6, 200.6, 200.6, 0.25) inset;border-radius:10px 10px 10px 10px;}.elementor-32 .elementor-element.elementor-element-2ddca96 .elementor-button:hover, .elementor-32 .elementor-element.elementor-element-2ddca96 .elementor-button:focus{background-color:var( --e-global-color-primary );box-shadow:0px 0px 10px -1px rgba(108.8, 108.8, 108.8, 0.25) inset;}.elementor-32 .elementor-element.elementor-element-2ddca96.elementor-element{--align-self:center;}.elementor-32 .elementor-element.elementor-element-2ddca96 .elementor-button-content-wrapper{flex-direction:row;}.elementor-32 .elementor-element.elementor-element-2ddca96 .elementor-button .elementor-button-content-wrapper{gap:15px;}.elementor-32 .elementor-element.elementor-element-433e393{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--margin-top:0px;--margin-bottom:-100px;--margin-left:0px;--margin-right:0px;--z-index:10;overflow:visible;}.elementor-32 .elementor-element.elementor-element-ba2e32c{width:var( --container-widget-width, 8% );max-width:8%;--container-widget-width:8%;--container-widget-flex-grow:0;text-align:left;}.elementor-32 .elementor-element.elementor-element-ba2e32c.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-32 .elementor-element.elementor-element-deb9ea0{z-index:999999;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );}.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-32 .elementor-element.elementor-element-ba2e32c{margin:15px 0px calc(var(--kit-widget-spacing, 0px) + 15px) 5px;--container-widget-width:15%;--container-widget-flex-grow:0;width:var( --container-widget-width, 15% );max-width:15%;}}@media(min-width:768px){.elementor-32 .elementor-element.elementor-element-91d7717{--content-width:1600px;}.elementor-32 .elementor-element.elementor-element-433e393{--content-width:1600px;}}@media(max-width:767px){.elementor-32 .elementor-element.elementor-element-91d7717{--z-index:5;}.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-32 .elementor-element.elementor-element-8c33819{--container-widget-width:25%;--container-widget-flex-grow:0;width:var( --container-widget-width, 25% );max-width:25%;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );}.elementor-32 .elementor-element.elementor-element-ba6009b .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-32 .elementor-element.elementor-element-433e393{--z-index:99999999999;}.elementor-32 .elementor-element.elementor-element-ba2e32c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 5px;--container-widget-width:25%;--container-widget-flex-grow:0;width:var( --container-widget-width, 25% );max-width:25%;}.elementor-32 .elementor-element.elementor-element-deb9ea0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;z-index:99999999999;}.elementor-32 .elementor-element.elementor-element-deb9ea0.elementor-element{--order:99999 /* order end hack */;}}/* Start custom CSS for button, class: .elementor-element-2ddca96 *//* === Bouton 2ddca96 : Sweep R→L (violet -> orange), texte toujours visible === */
.elementor-element-2ddca96 .elementor-button{
  --violet: #cc1954;   /* couleur de départ */
  --orange: #F14925;   /* couleur finale */
  --dur: 900ms;        /* durée transition */
  --band: 80px;        /* largeur bord adouci */

  position: relative;
  z-index: 0;
  overflow: hidden; /* pour clipper la couche animée aux bords du bouton */
  background: linear-gradient(90deg, var(--violet) 0%, var(--orange) 100%) !important;
  /* conserve tes paddings/radius/typo existants d’Elementor */
}

/* Assure que le contenu du bouton passe au-dessus de la couche animée */
.elementor-element-2ddca96 .elementor-button-content-wrapper,
.elementor-element-2ddca96 .elementor-button-text,
.elementor-element-2ddca96 .elementor-button-icon,
.elementor-element-2ddca96 .elementor-button svg{
  position: relative;
  z-index: 1;
}

/* Couche animée : se rétracte de DROITE → GAUCHE en révélant l’orange à droite */
.elementor-element-2ddca96 .elementor-button::before{
  content:"";
  position:absolute; inset:0;
  z-index: 0;                      /* sous le texte, au-dessus du fond */
  background: var(--violet);       /* couche violette qui masque au départ */
  border-radius: inherit;          /* suit le rayon du bouton */
  /* Bord droit progressif (faible opacité) */
  -webkit-mask-image: linear-gradient(to left, transparent 0, #000 var(--band));
          mask-image: linear-gradient(to left, transparent 0, #000 var(--band));
  clip-path: inset(0 0 0 0);       /* recouvre tout au départ */
  transition: clip-path var(--dur) ease;
  pointer-events: none;
}

/* Déclenchement : survol du bouton OU classe .is-active */
.elementor-element-2ddca96 .elementor-button:hover::before,
.elementor-element-2ddca96.is-active .elementor-button::before,
.elementor-element-2ddca96 .elementor-button.is-active::before{
  clip-path: inset(0 100% 0 0);    /* la couche se rétracte R→L */
}

/* Accessibilité : réduit l’animation si préférences utilisateur */
@media (prefers-reduced-motion: reduce){
  .elementor-element-2ddca96 .elementor-button::before{ transition-duration: 0.01ms; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-91d7717 */.elementor-32 .elementor-element.elementor-element-91d7717 {
  position: relative;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.2) 0%,
    rgba(0,0,0,0.1) 100%
  );

  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-deb9ea0 *//* ── 1) Wrapper hidden only when NOT open AND NOT closing ── */
html:not(.popup-open):not(.closing) 
  #elementor-popup-modal-393.dialog-lightbox-widget {
  visibility: hidden;
  pointer-events: none;
}

/* ── 2) Open state: fully visible & interactive ── */
html.popup-open 
  #elementor-popup-modal-393.dialog-lightbox-widget {
  visibility: visible !important;
  pointer-events: auto !important;
}

/* ── 3) Closing state: keep visible but block clicks ── */
html.closing 
  #elementor-popup-modal-393.dialog-lightbox-widget {
  visibility: visible !important;
  pointer-events: none !important;
}

/* ── 4) Content transitions ── */
#elementor-popup-modal-393.dialog-lightbox-widget .dialog-widget-content {
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity 0.5s ease, transform 0.4s ease-in;
  pointer-events: none;
}

/* ── 5) Fade-in & slide-down on open ── */
html.popup-open 
  #elementor-popup-modal-393.dialog-lightbox-widget .dialog-widget-content {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

/* ── 6) Slide-up & fade-out on close ── */
html.closing 
  #elementor-popup-modal-393.dialog-lightbox-widget .dialog-widget-content {
  opacity: 0 !important;
  transform: translateY(-100%) !important;
  pointer-events: none !important;
}


  /* — Votre toggle button (idem avant) — */
  .menu-toggle {
    width: 30px; height: 15px;
    position: relative; cursor: pointer;
    display: inline-block;
  }
  .menu-toggle .bar {
    position: absolute; left: 0; width: 100%; height: 4px;
    background-color: #FFFFFF;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  .menu-toggle .bar:nth-child(1){ top: 0; }
  .menu-toggle .bar:nth-child(2){ top:10px; }
  .menu-toggle .bar:nth-child(3){ top:20px; }
  .menu-toggle.open .bar:nth-child(1){
    transform: rotate(45deg) translate(5px,5px);
  }
  .menu-toggle.open .bar:nth-child(2){
    opacity: 0;
  }
  .menu-toggle.open .bar:nth-child(3){
    transform: rotate(-45deg) translate(5px,-5px);
  }
  html.popup-open .menu-toggle {
    position: fixed!important; top:18px!important; right:10px!important;
    margin:0!important; z-index:100010!important;
  }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-433e393 */.elementor-32 .elementor-element.elementor-element-433e393 {
  position: relative;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.2) 0%,
    rgba(0,0,0,0.1) 100%
  );

  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}/* End custom CSS */