.elementor-324 .elementor-element.elementor-element-baf4320{--display:flex;}.elementor-324 .elementor-element.elementor-element-9b72aad{z-index:999999;}.elementor-324 .elementor-element.elementor-element-27e2c93{--display:flex;}.elementor-324 .elementor-element.elementor-element-60fa140{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;--z-index:10;}.elementor-324 .elementor-element.elementor-element-861b8f3{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;box-shadow:0px 0px 11px -2px rgba(0,0,0,0.5);--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:12px;--padding-right:12px;}.elementor-324 .elementor-element.elementor-element-861b8f3:not(.elementor-motion-effects-element-type-background), .elementor-324 .elementor-element.elementor-element-861b8f3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-eec0cd7 );}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-324 .elementor-element.elementor-element-42faa34 .elementor-icon-wrapper{text-align:center;}.elementor-widget-heading .elementor-heading-title{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 );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-324 .elementor-element.elementor-element-25df8c7 .elementor-icon-wrapper{text-align:center;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-324 .elementor-element.elementor-element-861b8f3{--content-width:1200px;}}@media(min-width:1200px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );letter-spacing:var( --e-global-typography-primary-letter-spacing );}}@media(max-width:1024px){.elementor-324 .elementor-element.elementor-element-861b8f3{--padding-top:20px;--padding-bottom:20px;--padding-left:15px;--padding-right:15px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );letter-spacing:var( --e-global-typography-primary-letter-spacing );}}@media(max-width:767px){.elementor-324 .elementor-element.elementor-element-60fa140{--min-height:0vh;}.elementor-324 .elementor-element.elementor-element-861b8f3{--min-height:0px;}.elementor-324 .elementor-element.elementor-element-42faa34{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-324 .elementor-element.elementor-element-42faa34.elementor-element{--align-self:center;}.elementor-324 .elementor-element.elementor-element-42faa34 .elementor-icon{font-size:56px;}.elementor-324 .elementor-element.elementor-element-42faa34 .elementor-icon svg{height:56px;}.elementor-324 .elementor-element.elementor-element-42faa34 .elementor-icon i, .elementor-324 .elementor-element.elementor-element-42faa34 .elementor-icon svg{transform:rotate(0deg);}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-324 .elementor-element.elementor-element-25df8c7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-324 .elementor-element.elementor-element-25df8c7.elementor-element{--align-self:center;}.elementor-324 .elementor-element.elementor-element-25df8c7 .elementor-icon{font-size:63px;}.elementor-324 .elementor-element.elementor-element-25df8c7 .elementor-icon svg{height:63px;}.elementor-324 .elementor-element.elementor-element-25df8c7 .elementor-icon i, .elementor-324 .elementor-element.elementor-element-25df8c7 .elementor-icon svg{transform:rotate(0deg);}}/* Start custom CSS for html, class: .elementor-element-9b72aad *//* Bouton flottant */
.menu-float{
  position: fixed;
  right: 32px;
  top: 32px;
  width: 120px;
  height: 120px;
  z-index: 999999;
  cursor: pointer;

  /* couleur par défaut */
  --btn-fill: #000;
}

/* Quand on est sur fond foncé -> bouton blanc */
.menu-float.on-dark{
  --btn-fill: #fff;
}

/* Ton SVG */
.menu-float svg{
  width: 100%;
  height: 100%;
  display: block;
}

/* Force la couleur sur TOUT le contenu du SVG */
.menu-float svg *{
  fill: var(--btn-fill) !important;
  stroke: var(--btn-fill) !important;
}


/* ===== SVG TOUJOURS BLANC DANS LA POPUP ===== */
body.popup-333-open .menu-float{
  --btn-fill: #fff !important;
}

/* (optionnel) on coupe la transition pour éviter un effet bizarre à l’ouverture */
body.popup-333-open .menu-float svg *{
  transition: none !important;
}







/* ===== Ring ===== */
.menu-float-svg #ring-pivot{
  opacity: 1;
  transform: rotate(0deg) scale(1);
  transform-origin: 500px 500px; /* viewBox 1000x1000 */
  transition: opacity .25s ease, transform .45s ease;
  will-change: transform, opacity;
}

/* Hover (uniquement si fermé) : ring tourne */
.menu-float:not(.is-open):hover #ring-pivot{
  transform: rotate(180deg) scale(1);
}

/* Ouvert : ring disparaît */
.menu-float.is-open #ring-pivot{
  opacity: 0;
  transform: scale(0.92);
  pointer-events: none;
}

/* ===== Barres : base ===== */
.menu-float-svg #bar-1,
.menu-float-svg #bar-2,
.menu-float-svg #bar-3{
  transform-box: fill-box;
  transform-origin: 50% 50%;
  transition: transform .4s ease, opacity .25s ease;
  will-change: transform, opacity;
  backface-visibility: hidden;
  opacity: 1;
  transform: none; /* base CLEAN */
}

/* ===== Hover (uniquement si fermé) : micro animation "vivante" ===== */
/* (petit mouvement + légère rotation, mais on reste hamburger) */
.menu-float:not(.is-open):hover #bar-1{
  transform: translateY(-6px) rotate(-2deg);
}

.menu-float:not(.is-open):hover #bar-2{
  transform: scaleX(0.92);
}

.menu-float:not(.is-open):hover #bar-3{
  transform: translateY(6px) rotate(2deg);
}

/* ===== Ouvert : croix (basée sur bar-2 et bar-3) ===== */
.menu-float.is-open #bar-1{
  opacity: 0; /* la petite barre disparaît */
}

/* bar-2 et bar-3 font la croix avec tes variables calculées */
.menu-float.is-open #bar-2{
  transform: translate(var(--b2dx, 0px), var(--b2dy, 0px)) rotate(45deg);
}

.menu-float.is-open #bar-3{
  transform: translate(var(--b3dx, 0px), var(--b3dy, -150px)) rotate(-45deg);
}

/* ===== Accessibilité ===== */
@media (prefers-reduced-motion: reduce){
  .menu-float-svg #ring-pivot,
  .menu-float-svg #bar-1,
  .menu-float-svg #bar-2,
  .menu-float-svg #bar-3{
    transition: none !important;
  }
}


/* état caché (piloté par JS) */
.menu-float.is-hidden{
  opacity: 0;
  pointer-events: none;
  transform: translateY(16px) scale(.96);
  transition: opacity .25s ease, transform .25s ease;
}

/* état normal */
.menu-float{
  transition: opacity .25s ease, transform .25s ease;
}

/* ===== Cacher le bouton flottant sur mobile & tablette ===== */
@media (max-width: 1024px){
  .menu-float{
    display: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-baf4320 */.html-hidden{
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-47d45e2 */.menu-float-label-wrap{
  position: fixed;
  right: 90px;
  bottom: 50%;
  z-index: 999998;

  transform: translateY(150px); /* distance sous le bouton */
  
  /* auto contraste indépendant */
  mix-blend-mode: difference;
  isolation: isolate;
}

.menu-float-label{
  display: inline-block;

  writing-mode: sideways-lr;
  transform: rotate(180deg);

  color: #fff!important;                /* requis pour mix-blend-mode */
  font-size: 10px!important;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  font-family: outfit-light!important;

  text-decoration: none;       /* pas de soulignement */
  cursor: pointer;


  transition: opacity .25s ease, transform .25s ease;
}

/* petit feedback hover */
.menu-float-label:hover{
  opacity: 1;
  transform: rotate(180deg) translateY(-4px);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-861b8f3 *//* ===== Menu mobile caché au scroll ===== */
.menu-mobile.is-hidden{
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
  transition: transform .35s ease, opacity .25s ease;
}

/* état normal */
.menu-mobile{
  transition: transform .35s ease, opacity .25s ease;
  will-change: transform;
}


/* ===== Suppression totale de l’ombre quand le menu est caché ===== */
.menu-mobile.is-hidden{
  box-shadow: none !important;
  filter: none !important;
}/* End custom CSS */