.elementor-14168 .elementor-element.elementor-element-d424a68{--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;--padding-top:1rem;--padding-bottom:1rem;--padding-left:1rem;--padding-right:1rem;}.elementor-14168 .elementor-element.elementor-element-24684595{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .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-14168 .elementor-element.elementor-element-477d15f3 img{width:100%;max-width:80px;}.elementor-14168 .elementor-element.elementor-element-275c06e8 img{width:100%;max-width:80px;}.elementor-14168 .elementor-element.elementor-element-61e50c38{width:var( --container-widget-width, calc(100% - 400px) );max-width:calc(100% - 400px);--container-widget-width:calc(100% - 400px);--container-widget-flex-grow:0;}.elementor-14168 .elementor-element.elementor-element-59cf8fe0{width:var( --container-widget-width, calc(100% - 400px) );max-width:calc(100% - 400px);--container-widget-width:calc(100% - 400px);--container-widget-flex-grow:0;}.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-14168 .elementor-element.elementor-element-d424a68{--content-width:1280px;}.elementor-14168 .elementor-element.elementor-element-24684595{--width:auto;}}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}}/* Start custom CSS for container, class: .elementor-element-24684595 */@media only screen and (max-width: 1024px) and (min-width: 0px) {
    
    .elementor-14168 .elementor-element.elementor-element-24684595 {
        display: none !important;
    }
    
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-61e50c38 *//* ===========================
   SAM MEGA MENU
   =========================== */

.sam-mega-menu{
  width:100%;
}

.sam-mega-menu__top{
  display:flex;
  align-items:center;
  gap:28px;
  margin:0;
  padding:0;
  list-style:none;
}

.sam-mega-menu__item{
  position:relative;
  list-style:none;
}

.sam-mega-menu__top-link{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  text-decoration:none;
  font-family:"Kodchasan", sans-serif;
  font-size:16px;
  font-weight:600;
  color:#fff;
  line-height:1;
  transition:color .2s ease;
}

/* Hover niveau 1 */
.sam-mega-menu__top-link:hover{
  color:#EE7917;
}

/* Mode clair + scroll = liens bleu foncé */
.eco-header.is-scrolled .sam-mega-menu__top-link{
  color:#003561;
}

.eco-header.is-scrolled .sam-mega-menu__top-link:hover{
  color:#EE7917;
}

/* Mode sombre = liens blancs même au scroll */
body.dark .sam-mega-menu__top-link{
  color:#fff;
}

body.dark .sam-mega-menu__top-link:hover{
  color:#EE7917;
}

body.dark .eco-header.is-scrolled .sam-mega-menu__top-link{
  color:#fff;
}

/* pont hover */
.sam-mega-menu__item.has-mega::after{
  content:"";
  position:absolute;
  left:-20px;
  right:-20px;
  top:100%;
  height:30px;
  background:transparent;
}

/* panneau */
.sam-mega-menu__panel{
  position:absolute;
  left:0;
  top:100%;
  width:min(1080px, 92vw);
  min-width:920px;
  transform:translateY(50px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease, visibility .16s ease;
  z-index:99999;
}

/* pont exact 50px */
.sam-mega-menu__panel::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-50px;
  height:50px;
  background:transparent;
  pointer-events:auto;
}

.sam-mega-menu__item.has-mega:hover > .sam-mega-menu__panel,
.sam-mega-menu__item.has-mega:focus-within > .sam-mega-menu__panel,
.sam-mega-menu__panel:hover{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.sam-mega-menu__panel-inner{
  background:#fff;
  box-shadow:0 20px 45px rgba(0,0,0,.12);
  padding:38px 42px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:34px 54px;
  align-items:start;
}

.sam-mega-menu__col{
  min-width:0;
}

.sam-mega-menu__col-title{
  display:block;
  margin:0 0 16px;
  text-decoration:none;
  font-family:"IBM Plex Sans Condensed", sans-serif;
  font-size:19px;
  line-height:1.05;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.02em;
  color:#003561;
}

.sam-mega-menu__col-title:hover{
  color:#0058A2;
}

.sam-mega-menu__sublist{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.sam-mega-menu__subitem{
  margin:0;
  padding:0;
  list-style:none;
}

.sam-mega-menu__sublink{
  display:flex;
  align-items:flex-start;
  gap:10px;
  text-decoration:none;
  font-family:"IBM Plex Sans Condensed", sans-serif;
  font-size:15px;
  line-height:1.35;
  font-weight:400;
  color:#003561;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
}

.sam-mega-menu__sublink:hover{
  color:#EE7917;
}

.sam-mega-menu__arrow{
  flex:0 0 14px;
  width:14px;
  height:14px;
  margin-top:3px;
  background:url("https://marcoussis.fr/wp-content/uploads/2025/01/solar_map-arrow-up-bold.svg") center / contain no-repeat;
  transform:rotate(180deg);
}

/* Dark mode */
body.dark .sam-mega-menu__panel-inner{
  background:#003561;
}

body.dark .sam-mega-menu__col-title,
body.dark .sam-mega-menu__sublink{
  color:#fff;
}

body.dark .sam-mega-menu__col-title:hover,
body.dark .sam-mega-menu__sublink:hover{
  opacity:.82;
  color:#fff;
}

/* tablette / mobile */
@media (max-width:1024px){
  .sam-mega-menu__top{
    flex-direction:column;
    align-items:flex-start;
    gap:0;
  }

  .sam-mega-menu__item{
    width:100%;
  }

  .sam-mega-menu__top-link{
    width:100%;
    min-height:44px;
  }

  .sam-mega-menu__item.has-mega::after{
    display:none;
  }

  .sam-mega-menu__panel{
    position:static;
    width:100%;
    min-width:0;
    transform:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    display:none;
  }

  .sam-mega-menu__item.has-mega:hover > .sam-mega-menu__panel,
  .sam-mega-menu__item.has-mega:focus-within > .sam-mega-menu__panel{
    display:block;
  }

  .sam-mega-menu__panel::before{
    display:none;
  }

  .sam-mega-menu__panel-inner{
    padding:18px 0 8px 16px;
    background:transparent;
    box-shadow:none;
    display:block;
  }

  .sam-mega-menu__col{
    margin-bottom:18px;
  }

  .sam-mega-menu__col-title{
    margin-bottom:8px;
    font-size:16px;
  }

  .sam-mega-menu__sublink{
    font-size:14px;
  }

  /* mobile dark */
  body.dark .sam-mega-menu__panel-inner{
    background:transparent;
  }
}

@media only screen and (max-width: 1024px) and (min-width: 0px) {
    
    .elementor-14168 .elementor-element.elementor-element-61e50c38 {
        display: none !important;
    }
    
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-59cf8fe0 */@media only screen and (max-width: 9999px) and (min-width: 1024px) {
    
    .elementor-14168 .elementor-element.elementor-element-59cf8fe0 {
        display: none !important;
    }
    
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5ab1d1cb */@media only screen and (max-width: 1024px) and (min-width: 0px) {
    
    .elementor-14168 .elementor-element.elementor-element-5ab1d1cb {
        display: none !important;
    }
    
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d424a68 *//* A11y */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.elementor-14168 .elementor-element.elementor-element-d424a68.elementor-sticky--effect .sam-mega-menu__top-link {
    color: #336 !important;
}

/* HEADER (met ta classe eco-header sur le container header Elementor) */
.eco-header{
  position: fixed;
  top:0; left:0; right:0;
  z-index: 9999;
  background: transparent;
  color: #fff;
  transition: background-color .25s ease, color .25s ease;
  padding: 0 2rem !important;
}

/* Mode dark par défaut : fond bleu, tout blanc */

/* ===== HEADER : comportement transparent puis fond au scroll (light + dark) ===== */

/* Base : transparent pour tout le monde */
.eco-header{
  background: transparent !important;
}

/* Light mode : au scroll -> blanc */
body:not(.dark) .eco-header.is-scrolled{
  background: #fff !important;
  color: #003561;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}

/* Dark mode : au scroll -> bleu */
body.dark .eco-header.is-scrolled{
  background: #003561 !important;
  color: #fff;
}

body.dark .eco-header{
  color:#fff;
}

/* Mode clair : au scroll fond blanc + texte bleu */
body:not(.dark) .eco-header.is-scrolled{
  background:#fff;
  color:#003561;
}

/* Icônes = couleur texte */
.hdr-ico svg{width:18px;height:18px;fill:currentColor;}
.hdr-ico{display:inline-flex;align-items:center;justify-content:center;color:inherit;text-decoration:none;}

/* Boutons */
.hdr-btn{
  border:0;
  background: transparent;
  color: inherit;
  font-size: 18px;
  line-height: 1;
  cursor:pointer;
  padding:8px;
  border-radius:10px;
}
.hdr-btn:hover{background: rgba(255,255,255,.15);}
body:not(.dark) .eco-header.is-scrolled .hdr-btn:hover{background: rgba(0,53,97,.10);}

.hdr-tools{display:flex;align-items:center;gap:10px;}
.hdr-social{display:flex;align-items:center;gap:8px;}
.hdr-ico{width:32px;height:32px;border-radius:999px;background: rgba(255,255,255,.15);}
body:not(.dark) .eco-header.is-scrolled .hdr-ico{background: rgba(0,53,97,.10);}
.hdr-ico:hover{background:#EE7917;color:#fff;}

/* Overlay recherche */
.hdr-search[hidden]{display:none;}
.hdr-search{position:fixed;inset:0;z-index:10000;}
.hdr-search__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);}
.hdr-search__panel{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(620px, calc(100% - 32px));
  background:#fff;
  border-radius:16px;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
  padding:16px;
}
.hdr-search__form{display:flex;gap:10px;align-items:center;}
.hdr-search__form input{
  flex:1;
  height:44px;
  border:1px solid rgba(0,0,0,.15);
  border-radius:12px;
  padding:0 12px;
  font: inherit;
}
.hdr-search__form button{
  height:44px;
  border:0;
  border-radius:12px;
  padding:0 12px;
  cursor:pointer;
  background:#003561;
  color:#fff;
}
.hdr-search__form button[type="button"]{background:rgba(0,0,0,.08); color:#111;}

.hdr-search__panel input[type=search]:focus {
    outline: none !important;
}

.hdr-search__panel,
.hdr-search__panel *{
  font-family: "IBM Plex Sans Condensed", sans-serif !important;
}

.hdr-search__form input{
  font-size:18px;
}
.hdr-search__form button{
  font-size:16px;
  font-weight:600;
}

/* default: logo blanc */
.eco-logo .logo-white{display:block;}
.eco-logo .logo-color{display:none;}

/* en mode clair + scrolled => logo couleur */
body:not(.dark) .eco-header.is-scrolled .eco-logo .logo-white{display:none;}
body:not(.dark) .eco-header.is-scrolled .eco-logo .logo-color{display:block;}

/* en mode dark => toujours logo blanc */
body.dark .eco-logo .logo-white{display:block;}
body.dark .eco-logo .logo-color{display:none;}

[type=button]:focus,
button:focus{
    background-color: #FFFFFF50 !important;
  outline: none !important;
  box-shadow: none !important;
  color: inherit !important;
}

[type=button]:hover,
button:hover{
    background-color: #EE7917 !important;
}

body.dark .elementor-nav-menu--main .elementor-item {
    color: white !important;
}

.elementor-nav-menu--main .elementor-item {
    color: inherit !important;
}

/* ===== MOBILE MENU ===== */
@media (max-width:1024px){

  /* on neutralise le mega-panel desktop */
  .eco-navmenu .elementor-nav-menu > li > .sub-menu{
    position: static;
    transform: none;
    width: 100%;
    min-width: 0;
    padding: 8px 0 12px;
    margin: 0;
    column-count: 1;
    box-shadow: none;
    border-radius: 0;
    background: transparent;
    display: none; /* accordéon via JS */
  }

  /* titres colonnes deviennent des "groupes" */
  .eco-navmenu .elementor-nav-menu > li > .sub-menu > li.menu-item-has-children > a{
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .02em;
    margin: 14px 0 6px;
  }

  /* liste niveau 2 */
  .eco-navmenu .elementor-nav-menu > li > .sub-menu > li > .sub-menu{
    margin: 0 0 10px 0;
  }
}

.eco-subtoggle{
  border:0;
  background: transparent;
  color: inherit;
  font-size: 18px;
  padding: 6px 10px;
  cursor:pointer;
}

@media (max-width:1024px){
  body.dark .eco-navmenu .elementor-nav-menu > li > .sub-menu{
    background: transparent;
  }
}/* End custom CSS */