.elementor-1647 .elementor-element.elementor-element-3e8face > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-1647 .elementor-element.elementor-element-3e8face > .elementor-container{max-width:1171px;min-height:90px;text-align:left;}.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-1647 .elementor-element.elementor-element-3e8face{color:var( --e-global-color-primary );margin-top:0px;margin-bottom:-80px;padding:1% 5% 1% 5%;z-index:2;}.elementor-1647 .elementor-element.elementor-element-3e8face a{color:var( --e-global-color-primary );}.elementor-1647 .elementor-element.elementor-element-3e8face a:hover{color:var( --e-global-color-primary );}.elementor-widget-image .widget-image-caption{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-1647 .elementor-element.elementor-element-6870b2d5{width:var( --container-widget-width, 226.448% );max-width:226.448%;--container-widget-width:226.448%;--container-widget-flex-grow:0;text-align:left;}.elementor-1647 .elementor-element.elementor-element-6870b2d5 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-1647 .elementor-element.elementor-element-6870b2d5 img{width:100%;}.elementor-1647 .elementor-element.elementor-element-54c3215d.elementor-column > .elementor-widget-wrap{justify-content:flex-end;}.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 );text-transform:var( --e-global-typography-primary-text-transform );}.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-weight:var( --e-global-typography-accent-font-weight );}.elementor-1647 .elementor-element.elementor-element-60b4f6f{width:var( --container-widget-width, 79.591% );max-width:79.591%;--container-widget-width:79.591%;--container-widget-flex-grow:0;--e-nav-menu-divider-content:"";--e-nav-menu-divider-style:solid;--e-nav-menu-divider-width:1px;--e-nav-menu-divider-height:15px;--e-nav-menu-divider-color:#3EAACC;--e-nav-menu-horizontal-menu-item-margin:calc( 40px / 2 );}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-menu-toggle{margin:0 auto;background-color:#FFFFFF00;border-width:0px;border-radius:0px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu .elementor-item{font-family:"Lato", Sans-serif;font-size:20px;font-weight:400;text-transform:none;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;padding-left:10px;padding-right:10px;padding-top:13px;padding-bottom:13px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--main .elementor-item:hover,
					.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--main .elementor-item:focus{color:#FFFFFF;fill:#FFFFFF;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-secondary );}.elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-framed .elementor-item:before,
					.elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-secondary );}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#FFFFFF;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:before,
					.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:after{background-color:#F8F3EF;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-framed .elementor-item.elementor-item-active:before,
					.elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-framed .elementor-item.elementor-item-active:after{border-color:#F8F3EF;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-framed .elementor-item:before{border-width:3px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-framed.e--animation-draw .elementor-item:before{border-width:0 0 3px 3px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-framed.e--animation-draw .elementor-item:after{border-width:3px 3px 0 0;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-framed.e--animation-corners .elementor-item:before{border-width:3px 0 0 3px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-framed.e--animation-corners .elementor-item:after{border-width:0 3px 3px 0;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-underline .elementor-item:after,
					 .elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-overline .elementor-item:before,
					 .elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-double-line .elementor-item:before,
					 .elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-double-line .elementor-item:after{height:3px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:40px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown a, .elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-menu-toggle{color:#271D67;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown{background-color:#ECF9FF;border-style:none;border-radius:0px 0px 0px 0px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown a:hover,
					.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown a.highlighted,
					.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-menu-toggle:hover{color:#ECF9FF;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown a:hover,
					.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown a.highlighted{background-color:#3EAACC;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown .elementor-item, .elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Lato", Sans-serif;font-size:18px;font-weight:400;text-transform:none;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown li:first-child a{border-top-left-radius:0px;border-top-right-radius:0px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown li:last-child a{border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--main .elementor-nav-menu--dropdown, .elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu__container.elementor-nav-menu--dropdown{box-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0.25);}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown a{padding-top:10px;padding-bottom:10px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown li:not(:last-child){border-style:dotted;border-color:var( --e-global-color-secondary );border-bottom-width:0px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:0px !important;}.elementor-1647 .elementor-element.elementor-element-60b4f6f div.elementor-menu-toggle{color:#FFFFFF;}.elementor-1647 .elementor-element.elementor-element-60b4f6f div.elementor-menu-toggle svg{fill:#FFFFFF;}.elementor-1647 .elementor-element.elementor-element-60b4f6f div.elementor-menu-toggle:hover{color:#000000;}.elementor-1647 .elementor-element.elementor-element-60b4f6f div.elementor-menu-toggle:hover svg{fill:#000000;}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1647 .elementor-element.elementor-element-79e70908 .elementor-button{background-color:#3EAACC;font-family:"Lato", Sans-serif;font-size:20px;font-weight:400;text-transform:none;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:0px 0px 0px 0px;border-color:#000000;border-radius:30px 30px 30px 30px;padding:15px 20px 15px 20px;}.elementor-1647 .elementor-element.elementor-element-79e70908 .elementor-button:hover, .elementor-1647 .elementor-element.elementor-element-79e70908 .elementor-button:focus{background-color:#2E85A0;color:#FFFFFF;}.elementor-1647 .elementor-element.elementor-element-79e70908{width:var( --container-widget-width, 18.76% );max-width:18.76%;--container-widget-width:18.76%;--container-widget-flex-grow:0;}.elementor-1647 .elementor-element.elementor-element-79e70908 > .elementor-widget-container{margin:0px 0px 0px 40px;}.elementor-1647 .elementor-element.elementor-element-79e70908 .elementor-button:hover svg, .elementor-1647 .elementor-element.elementor-element-79e70908 .elementor-button:focus svg{fill:#FFFFFF;}.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-image .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-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:22px !important;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-menu-toggle{border-width:1px;border-radius:0px;}}@media(max-width:767px){.elementor-1647 .elementor-element.elementor-element-3e8face > .elementor-container{min-height:72px;}.elementor-1647 .elementor-element.elementor-element-3445108b{width:30%;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-1647 .elementor-element.elementor-element-6870b2d5 > .elementor-widget-container{margin:15px 0px 0px 16px;padding:0px 0px 0px 0px;}.elementor-1647 .elementor-element.elementor-element-6870b2d5{--container-widget-width:145px;--container-widget-flex-grow:0;width:var( --container-widget-width, 145px );max-width:145px;align-self:center;}.elementor-1647 .elementor-element.elementor-element-6870b2d5 img{width:66%;}.elementor-1647 .elementor-element.elementor-element-54c3215d{width:70%;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );}.elementor-1647 .elementor-element.elementor-element-60b4f6f{width:var( --container-widget-width, 71.582px );max-width:71.582px;--container-widget-width:71.582px;--container-widget-flex-grow:0;--nav-menu-icon-size:28px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f > .elementor-widget-container{margin:17px 0px 0px 5px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-framed .elementor-item:before{border-width:3px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-framed.e--animation-draw .elementor-item:before{border-width:0 0 3px 3px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-framed.e--animation-draw .elementor-item:after{border-width:3px 3px 0 0;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-framed.e--animation-corners .elementor-item:before{border-width:3px 0 0 3px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-framed.e--animation-corners .elementor-item:after{border-width:0 3px 3px 0;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-underline .elementor-item:after,
					 .elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-overline .elementor-item:before,
					 .elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-double-line .elementor-item:before,
					 .elementor-1647 .elementor-element.elementor-element-60b4f6f .e--pointer-double-line .elementor-item:after{height:3px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--main .elementor-item{padding-top:45px;padding-bottom:45px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown .elementor-item, .elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:16px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--dropdown a{padding-top:20px;padding-bottom:20px;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:26px !important;}.elementor-1647 .elementor-element.elementor-element-60b4f6f .elementor-menu-toggle{border-width:0px;border-radius:10px;}.elementor-1647 .elementor-element.elementor-element-79e70908{width:var( --container-widget-width, 95.332px );max-width:95.332px;--container-widget-width:95.332px;--container-widget-flex-grow:0;}.elementor-1647 .elementor-element.elementor-element-79e70908 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-1647 .elementor-element.elementor-element-79e70908 .elementor-button{padding:10px 10px 10px 10px;}}@media(min-width:768px){.elementor-1647 .elementor-element.elementor-element-3445108b{width:7.839%;}.elementor-1647 .elementor-element.elementor-element-54c3215d{width:92.039%;}}/* Start custom CSS for button, class: .elementor-element-79e70908 */.btn-account .elementor-button {
  padding: 15px 20px;
  transition: padding .3s ease, font-size .3s ease, line-height .3s ease;
}
.btn-account .elementor-button-text {
  font-size: 20px;
  line-height: 1.2;
  transition: font-size .5s ease, line-height .3s ease;
}

/* État sticky */
.elementor-sticky--effects .btn-account .elementor-button {
  padding: px 18px;
}
.elementor-sticky--effects .btn-account .elementor-button-text {
  font-size: 19px !important;     /* <- force si Elementor a un style interne */
  line-height: 1.2 !important;
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-3e8face *//************ BASE EXISTANTE (conservée) ************/
.elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects{
  background-color: rgba(39,29,103,1)!important;
}
.elementor-1647 .elementor-element.elementor-element-3e8face{
  transition: background-color 0.5s ease !important;
}
.elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects > .elementor-container{
  min-height: 100px;
}
.elementor-1647 .elementor-element.elementor-element-3e8face > .elementor-container{
  transition: min-height 0.5s ease !important;
}

.logo img { max-width: 140px; height: auto; transition: all 0.5s ease; }
.elementor-sticky--effects .logo img { max-width: 100px; height: auto; }

/* Texte menu en sticky (si tu utilises une classe .menutextcolours) */
.elementor-sticky--effects .menutextcolours ul li a {
  color: #FFFFFF!important;
  font-size: 19px !important;
  line-height: 20px !important;
  transition: color 0.5s ease-in-out, font-size 0.5s ease-in-out, line-height 0.5s ease-in-out;
}

/* Chevron suit la couleur du texte */
.sub-arrow svg path { fill: currentColor; transition: fill .5s ease; }
.elementor-1647 .elementor-element.elementor-element-3e8face .sub-arrow { color: #FFFFFF; }
.elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects .sub-arrow { color: #FFFFFF !important; }

/* Hamburger */
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-menu-toggle { color: #0F172A; transition: color .5s ease; }
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-menu-toggle svg path { fill: currentColor; transition: fill .5s ease; }
.elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects .elementor-menu-toggle { color: #FFFFFF !important; }

/************ ⚠️ SUPPRIMÉ : bloquait les couleurs des sous-menus ************/
/* .sticky-header.scrolled .elementor-nav-menu .sub-menu a { color: inherit !important; } */


/************ CONFIG COULEURS (variables) ************/
/* Desktop & Mobile partagent ces variables (facile à ajuster) */
.elementor-1647 .elementor-element.elementor-element-3e8face {
  /* Principaux (niveau 1) */
  --main-bg:           transparent;
  --main-txt:          #FFFFFF;
  --main-bg-hover:     #3EAACC;
  --main-txt-hover:    #E6EEFF;
  --main-bg-active:    #3EAACC;
  --main-txt-active:   #E6EEFF;

  /* Sous-menus */
  --sub-panel-bg:      #271D67; /* fond du panneau dropdown */
  --sub-item-bg:       #FFFFFF; /* fond ligne */
  --sub-item-txt:      #271D67;
  --sub-item-bg-hover: #3EAACC;
  --sub-item-txt-hover:#FFFFFF;
  --sub-item-bg-active:#E6EEFF;
  --sub-item-txt-active:#FFFFFF;

  /* Mobile dropdown */
  --mob-panel-bg:      #FFFFFF;
  --mob-link:          #271D67;
  --mob-link-hover:    #1D4ED8;
}

/* Overrides en STICKY */
.elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects {
  --main-bg:           transparent;
  --main-txt:          #271D67;
  --main-bg-hover:     rgba(230,238,255,0.5);
  --main-txt-hover:    #FFFFFF;
  --main-bg-active:    rgba(62,170,204,1);
  --main-txt-active:   #FFFFFF;

  --sub-panel-bg:      #271D67;
  --sub-item-bg:       #271D67;
  --sub-item-txt:      #FFFFFF;
  --sub-item-bg-hover: rgba(62,170,204,1);
  --sub-item-txt-hover:#FFFFFF;
  --sub-item-bg-active:rgba(255,255,255,0.06);
  --sub-item-txt-active:#FFFFFF;

  --mob-panel-bg:      #271D67;
  --mob-link:          #ECF9FF;
  --mob-link-hover:    #93C5FD;
}


/************ MENUS PRINCIPAUX (niveau 1) ************/
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu > li > a.elementor-item {
  background: var(--main-bg);
  color: var(--main-txt);
  display: block; /* zone cliquable homogène */
  transition: background .3s ease, color .3s ease;
}

.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu > li:hover > a.elementor-item,
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu > li > a.elementor-item:focus {
  background: var(--main-bg-hover);
  color: var(--main-txt-hover);
}

.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu > li.current-menu-item > a.elementor-item,
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu > li.current_page_item > a.elementor-item,
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu > li.current-menu-ancestor > a.elementor-item {
  background: var(--main-bg-active);
  color: var(--main-txt-active);
}


/************ SOUS-MENUS (panneau + lignes) ************/
/* Fond du panneau des sous-menus (desktop) */
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu .sub-menu {
  background: var(--sub-panel-bg);
}

/* Lignes (liens) de sous-menu */
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu .sub-menu a.elementor-sub-item {
  background: var(--sub-item-bg);
  color: var(--sub-item-txt);
  display: block;
  transition: background .25s ease, color .25s ease;
}

.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu .sub-menu li:hover > a.elementor-sub-item,
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu .sub-menu a.elementor-sub-item:focus {
  background: var(--sub-item-bg-hover);
  color: var(--sub-item-txt-hover);
}

.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu .sub-menu li.current-menu-item > a.elementor-sub-item,
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu .sub-menu li.current_page_item > a.elementor-sub-item,
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu .sub-menu li.current-menu-ancestor > a.elementor-sub-item {
  background: var(--sub-item-bg-active);
  color: var(--sub-item-txt-active);
}


/************ MOBILE / BURGER (dropdown panel) ************/
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown {
  background-color: var(--mob-panel-bg);
  transition: background-color .5s ease;
}

/* Liens + chevrons dans le panneau mobile */
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown a,
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown .sub-arrow {
  color: var(--mob-link);
  transition: color .3s ease;
}

.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown a:hover {
  color: var(--mob-link-hover);
}

/* Sous-menus dans le panneau mobile (héritent des vars sub) */
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown .sub-menu { background: var(--sub-panel-bg); }
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item {
  background: var(--sub-item-bg);
  color: var(--sub-item-txt);
}
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown .sub-menu li:hover > a.elementor-sub-item {
  background: var(--sub-item-bg-hover);
  color: var(--sub-item-txt-hover);
}
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown .sub-menu li.current-menu-item > a.elementor-sub-item,
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown .sub-menu li.current_page_item > a.elementor-sub-item,
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown .sub-menu li.current-menu-ancestor > a.elementor-sub-item {
  background: var(--sub-item-bg-active);
  color: var(--sub-item-txt-active);
}


.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu > li > a.elementor-item,
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu .sub-menu a.elementor-sub-item,
.elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown a {
  display: flex;
  align-items: center;
  line-height: normal;
}

/* ▼ Desktop only : supprimer le cadre/fond des items principaux ▼ */
@media (min-width: 1025px) {
  /* 1) Neutraliser les fonds via variables */
  .elementor-1647 .elementor-element.elementor-element-3e8face {
    --main-bg: transparent !important;
    --main-bg-hover: transparent !important;
    --main-bg-active: transparent !important;
  }

  /* 2) Neutraliser le pointer Elementor (Framed / Background) */
  .elementor-1647 .elementor-element.elementor-element-3e8face .e--pointer-framed .elementor-item:before,
  .elementor-1647 .elementor-element.elementor-element-3e8face .e--pointer-framed .elementor-item:after,
  .elementor-1647 .elementor-element.elementor-element-3e8face .e--pointer-background .elementor-item:before,
  .elementor-1647 .elementor-element.elementor-element-3e8face .e--pointer-background .elementor-item:after {
    content: none !important;
    background: none !important;
    box-shadow: none !important;
  }

  /* 3) Par sécurité, aucune déco sur le <a> ou le <li> */
  .elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu > li > a.elementor-item {
    background: none !important;
    box-shadow: none !important;
  }
  .elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu > li,
  .elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu > li:before,
  .elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu > li:after {
    background: none !important;
    box-shadow: none !important;
  }
}

/* Desktop : activer le noir UNIQUEMENT quand le header n'est PAS sticky */
@media (min-width: 1025px) {
  .elementor-1647 .elementor-element.elementor-element-3e8face:not(.elementor-sticky--effects) .elementor-nav-menu > li.current-menu-item > a.elementor-item,
  .elementor-1647 .elementor-element.elementor-element-3e8face:not(.elementor-sticky--effects) .elementor-nav-menu > li.current_page_item > a.elementor-item,
  .elementor-1647 .elementor-element.elementor-element-3e8face:not(.elementor-sticky--effects) .elementor-nav-menu > li.current-menu-ancestor > a.elementor-item {
    color: #000 !important;
    background: transparent !important;
  }
}

/* (optionnel) Si besoin de re-forcer la couleur sticky d'origine */
@media (min-width: 1025px) {
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects .elementor-nav-menu > li.current-menu-item > a.elementor-item,
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects .elementor-nav-menu > li.current_page_item > a.elementor-item,
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects .elementor-nav-menu > li.current-menu-ancestor > a.elementor-item {
    color: var(--main-txt-active) !important; /* ex: #93C5FD selon tes vars */
    background: var(--main-bg-active, transparent) !important;
  }
}



/* CACHER l’onglet bouton sur desktop/tablette */
@media (min-width: 1025px) {
  .elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu .menu-item.only-mobile { 
    display: none !important; 
  }
}

/* AFFICHER & STYLER le bouton dans le panneau mobile */
@media (max-width: 1024px) {
  /* Assure l’affichage */
  .elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown .menu-item.only-mobile { 
    display: list-item !important; 
  }

  /* Style bouton (dans le menu mobile déroulant) */
  .elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown .menu-item.cta-mobile > a {
    display: block;
    text-align: center;
    background: #271D67;        /* fond bouton */
    color: #FFFFFF !important;   /* texte */
    padding: 12px 16px;
    border-radius: 8px;
    font-weight: 600;
    line-height: 1.25;
    margin: 8px 12px;            /* espace autour dans la liste */
    transition: background .25s ease, transform .1s ease;
  }
  /* Hover/active mobile */
  .elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown .menu-item.cta-mobile > a:hover {
    background: #3EAACC;
  }
  .elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown .menu-item.cta-mobile > a:active {
    transform: scale(0.98);
  }

  /* (Optionnel) le mettre tout en bas de la liste */
  /* Si la liste est en flex, ceci fonctionne : */
  .elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown .elementor-nav-menu { display: flex; flex-direction: column; }
  .elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown .menu-item.cta-mobile { order: 999; }
}





/* === OVERRIDES MOBILE EN MODE STICKY === */
@media (max-width: 1024px) {
  /* Couleurs / padding / radius spécifiques en sticky */
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects 
  .elementor-nav-menu--dropdown .menu-item.cta-mobile > a {
    background: #F5FCFF;             /* fond sticky */
    color: #271D67 !important;       /* texte sticky */
    padding: 12px 16px;              /* ex: un peu plus gros en sticky */
    border-radius: 8px;             /* radius sticky */
    font-weight: 600;                /* ex: plus accentué en sticky */
  }
  
  
  /* Hover en sticky */
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects 
  .elementor-nav-menu--dropdown .menu-item.cta-mobile > a:hover {
    background: #3EAACC;             /* hover sticky */
    color: #FFFFFF !important;
  }

  /* (Optionnel) placer le CTA en bas aussi en sticky */
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects 
  .elementor-nav-menu--dropdown .elementor-nav-menu { 
    display: flex; 
    flex-direction: column; 
  }
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects 
  .elementor-nav-menu--dropdown .menu-item.cta-mobile { 
    order: 999; 
  }
}



/* === FORCE CACHÉ SUR DESKTOP (menu normal ET sticky) === */
@media (min-width: 1025px) {
  /* Classe mise sur <li> */
  .elementor-nav-menu .menu-item.only-mobile { 
    display: none !important; 
  }
  /* Classe mise par erreur sur <a> */
  .elementor-nav-menu a.only-mobile { 
    display: none !important; 
  }
  /* Si le header sticky utilise un autre widget/menu */
  .elementor-sticky--effects .elementor-nav-menu .menu-item.only-mobile,
  .elementor-sticky--effects .elementor-nav-menu a.only-mobile {
    display: none !important;
  }
}



/* === CENTRER LE BOUTON DANS LE DROPDOWN MOBILE (normal + sticky) === */
@media (max-width: 1024px) {
  /* 1) S'assurer que la liste du dropdown est en flex colonne */
  .elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown .elementor-nav-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch; /* on garde les autres items pleine largeur */
  }

  /* 2) Centrer uniquement l'item CTA sur l'axe horizontal */
  .elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown .menu-item.cta-mobile {
    align-self: center !important;  /* <-- clé : centre le <li> */
    text-align: center;             /* fallback si jamais pas en flex */
    width: auto !important;
  }

  /* 3) Le lien devient compact (pas 100% largeur) et centré */
  .elementor-1647 .elementor-element.elementor-element-3e8face .elementor-nav-menu--dropdown .menu-item.cta-mobile > a {
    display: inline-flex !important;  /* shrink-to-fit + centrage interne */
    align-items: center;
    justify-content: center;
    width: auto !important;           /* casse le width:100% hérité */
    min-width: 140px;                 /* optionnel : largeur mini */
    margin: 8px auto !important;      /* fallback centrage */
    text-align: center;
  }

  /* Variante sticky (les mêmes règles s'appliquent aussi en sticky) */
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects 
  .elementor-nav-menu--dropdown .menu-item.cta-mobile {
    align-self: center !important;
  }
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects 
  .elementor-nav-menu--dropdown .menu-item.cta-mobile > a {
    display: inline-flex !important;
    width: auto !important;
    margin: 8px auto !important;
  }
}





/* === Mobile (<=1024px) : couleurs quand le header n'est PAS sticky === */
@media (max-width: 1024px) {
  .elementor-1647 .elementor-element.elementor-element-3e8face:not(.elementor-sticky--effects) {
    /* Liens principaux (icônes/éléments visibles hors dropdown) */
    --main-bg:           transparent;
    --main-txt:          #FFFFFF;   /* texte foncé = lisible sur fond clair */
    --main-bg-hover:     rgba(62,170,204,1);
    --main-txt-hover:    #FFFFFF;
    --main-bg-active:    rgba(62,170,204,1);
    --main-txt-active:   #FFFFFF;

    /* Panneau du menu mobile (dropdown) */
    --mob-panel-bg:      #F5FCFF;   /* fond clair */
    --mob-link:          #0F172A;   /* liens foncés */
    --mob-link-hover:    #1D4ED8;   /* survol lisible */
    
    /* Sous-menus (dans le dropdown) */
    --sub-panel-bg:      #FFFFFF;
    --sub-item-bg:       #FFFFFF;
    --sub-item-txt:      #1F2937;
    --sub-item-bg-hover: #F7FAFF;
    --sub-item-txt-hover:#111827;
    --sub-item-bg-active:#F5FCFF;
    --sub-item-txt-active:#0F172A;
  }

  /* Sécurités contre styles Elementor (forçage doux) */
  .elementor-1647 .elementor-element.elementor-element-3e8face:not(.elementor-sticky--effects) .elementor-nav-menu--dropdown {
    background-color: var(--mob-panel-bg) !important;
  }
  .elementor-1647 .elementor-element.elementor-element-3e8face:not(.elementor-sticky--effects) .elementor-nav-menu--dropdown a,
  .elementor-1647 .elementor-element.elementor-element-3e8face:not(.elementor-sticky--effects) .elementor-nav-menu--dropdown .sub-arrow {
    color: var(--mob-link) !important;
  }
  .elementor-1647 .elementor-element.elementor-element-3e8face:not(.elementor-sticky--effects) .elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item {
    background: var(--sub-item-bg) !important;
    color: var(--sub-item-txt) !important;
  }
}


/* Mobile sticky : taille de police du menu (dropdown) */
@media (max-width: 1024px) {
  /* Liens de 1er niveau et sous-menus dans le panneau mobile */
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects .elementor-nav-menu--dropdown a,
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects .elementor-nav-menu--dropdown .elementor-item,
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects .elementor-nav-menu--dropdown .elementor-sub-item {
    font-size: 16px !important;   /* ← ta taille souhaitée */
    line-height: 20px !important; /* ← ta LH souhaitée */
    transition: font-size .3s ease, line-height .3s ease;
  }

  /* (Optionnel) CTA mobile : taille spécifique en sticky */
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects .elementor-nav-menu--dropdown .menu-item.cta-mobile > a {
    font-size: 16px !important;
    line-height: 1.25 !important;
    padding: 10px 16px; /* ajuste si besoin */
  }
}




/* === Mobile (<=1024px) : couleurs quand le header EST sticky === */
@media (max-width: 1024px) {
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects {
    /* Liens principaux visibles */
    --main-bg:           #271D67;
    --main-txt:          #FFFFFF;   /* texte clair sur fond foncé */
    --main-bg-hover:     rgba(62,170,204,1);
    --main-txt-hover:    #FFFFFF;
    --main-bg-active:    rgba(62,170,204,1);
    --main-txt-active:   #FFFFFF;

    /* Panneau du menu mobile (dropdown) */
    --mob-panel-bg:      #271D67;   /* fond foncé */
    --mob-link:          #271D67;   /* liens clairs */
    --mob-link-hover:    #271D67;   /* survol lisible */

    /* Sous-menus (dans le dropdown) */
    --sub-panel-bg:      #271D67;
    --sub-item-bg:       #FFFFFF;
    --sub-item-txt:      #271D67;
    --sub-item-bg-hover: rgba(62,170,204,1);
    --sub-item-txt-hover:#FFFFFF;
    --sub-item-bg-active:rgba(62,170,204,1);
    --sub-item-txt-active:#FFFFFF;
  }
}





/* === 1) Mobile NON-STICKY : texte blanc sur l’item principal "hover/ouvert" === */
@media (max-width:1024px){
  .elementor-1647 .elementor-element.elementor-element-3e8face:not(.elementor-sticky--effects)
  .elementor-nav-menu--dropdown > .menu-item:not(.cta-mobile):hover > a.elementor-item,
  .elementor-1647 .elementor-element.elementor-element-3e8face:not(.elementor-sticky--effects)
  .elementor-nav-menu--dropdown > .menu-item:not(.cta-mobile) > a.elementor-item:focus,
  .elementor-1647 .elementor-element.elementor-element-3e8face:not(.elementor-sticky--effects)
  .elementor-nav-menu--dropdown > .menu-item:not(.cta-mobile).current-menu-item > a.elementor-item,
  .elementor-1647 .elementor-element.elementor-element-3e8face:not(.elementor-sticky--effects)
  .elementor-nav-menu--dropdown > .menu-item:not(.cta-mobile).current-menu-ancestor > a.elementor-item,
  .elementor-1647 .elementor-element.elementor-element-3e8face:not(.elementor-sticky--effects)
  .elementor-nav-menu--dropdown > .menu-item:not(.cta-mobile) > a.elementor-item.elementor-item-active{
    color:#FFFFFF !important;
    -webkit-text-fill-color:#FFFFFF !important; /* iOS */
  }
  /* chevron de cet item */
  .elementor-1647 .elementor-element.elementor-element-3e8face:not(.elementor-sticky--effects)
  .elementor-nav-menu--dropdown > .menu-item:not(.cta-mobile):hover > .sub-arrow{
    color:#FFFFFF !important;
  }
  .elementor-1647 .elementor-element.elementor-element-3e8face:not(.elementor-sticky--effects)
  .elementor-nav-menu--dropdown > .menu-item:not(.cta-mobile):hover > .sub-arrow svg path{
    fill:#FFFFFF !important;
  }
}

/* === 2) Mobile STICKY : RE-FORCE la couleur du texte des SOUS-MENUS === */
@media (max-width:1024px){
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects 
  .elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item{
    color: var(--sub-item-txt, #271D67) !important;
    -webkit-text-fill-color: var(--sub-item-txt, #271D67) !important; /* annule l’effet blanc d’iOS */
  }

  /* état hover des sous-menus en sticky : reste ton blanc prévu */
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects 
  .elementor-nav-menu--dropdown .sub-menu li:hover > a.elementor-sub-item,
  .elementor-1647 .elementor-element.elementor-element-3e8face.elementor-sticky--effects 
  .elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item:focus{
    color: var(--sub-item-txt-hover, #FFFFFF) !important;
  }
}/* End custom CSS */