/**
 * MENU MOBILE
 */

 /* =============================================================================
   GLOBAL
   ============================================================================= */
#page-container #mobile_menu3.et_mobile_menu,
.single #page-container .et-l .et_pb_menu #mobile_menu3.et_mobile_menu {
  position: fixed;
  left: 0px;
  right: 0px;
  bottom: 0;
  top: 75px;
  padding: 0;
  padding-top: 35px;
  border: none;
  background: var(--main-color) !important;
}
#page-container #mobile_menu3.et_mobile_menu #mobile_menu3::-webkit-scrollbar,
.single #page-container .et-l .et_pb_menu #mobile_menu3.et_mobile_menu #mobile_menu3::-webkit-scrollbar {
  width: 0px;
  background: transparent; /* make scrollbar transparent */
}
.mobile_nav.opened .mobile_menu_bar:before,
.single #page-container .mobile_nav.opened .mobile_menu_bar:before {
    content: "\4d";
}
#page-container .mobile_nav li ul.hide,
.single #page-container .mobile_nav li ul.hide{
    display: none !important;
}

#page-container .et_mobile_menu li.sub-levelMenu > ul.sub-menu.show li a{
  border: none !important;
}

#et-boc .et-l .et_pb_fullwidth_menu #mobile_menu3.et_mobile_menu li > ul.sub-menu{
    display: none !important;
}

#page-container .et_mobile_menu li.sub-levelMenu > span.menu-closed:before,
.single #page-container .et_mobile_menu li.sub-levelMenu > span.menu-closed:before {
  display: none !important;
}

.et-db #page-container #et-boc .et-l .et_pb_fullwidth_menu .et_mobile_menu li.sub-levelMenu > ul.sub-menu.show {
  display: block !important;
  position: fixed;
  top: 81px !important;
  bottom: 0;
  z-index: 50;
  left: 70.5px;
  right: 0;
  overflow-x: auto;
}

#page-container #mobile_menu3 a::after {
  display: none;
}

#page-container .et_mobile_menu li.sub-levelMenu > span.menu-closed.menu-open:before,
.single #page-container .et_mobile_menu li.sub-levelMenu > span.menu-closed.menu-open:before {
  font-family: 'ETMODULES';
  content: '\4a';
  position: fixed;
  left: 0;
  right: inherit;
  padding-top: 17px;
  padding-bottom: 17px;
  top: 102px !important;
  color: #fff;
  font-weight: 300;
  width: 70px;
  height: 2rem;
  display: flex !important;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 6000;
  font-size: 3rem;
}
#page-container .et_mobile_menu li.sub-levelMenu > span.menu-closed.menu-open::before:hover,
.single #page-container .et_mobile_menu li.sub-levelMenu > span.menu-closed.menu-open::before:hover {
  cursor: pointer;
}

#page-container .mobile_menu_bar:before,
.single #page-container .et-l .et_pb_menu .mobile_menu_bar:before {
    font-size: 3rem;
}
@media (min-width: 750px) {
  #page-container .mobile_nav .mobile_menu_bar::before {
    color: var(--main-color)  !important;
  }
  #page-container .sticky .mobile_nav .mobile_menu_bar::before {
    color: var(--main-color)  !important;
  }
  .single #page-container .mobile_nav .mobile_menu_bar::before,
  .single #page-container .sticky  .mobile_nav .mobile_menu_bar::before,
  .page-template-template-nohero #page-container   .mobile_nav .mobile_menu_bar::before {
    color: var(--main-color) !important;
  }
}
@media (max-width: 751px) {
  #page-container .mobile_nav .mobile_menu_bar::before,
  .single #page-container .mobile_nav .mobile_menu_bar::before {
    color: var(--main-color) !important;
  }
}

/* LI DU MENU PRINCIPAL */
#mobile_menu3.et_mobile_menu li:not(ul.sub-menu li) {
  background-repeat: no-repeat;
  background-position: right 20px center;
  padding: 20px;
  margin-bottom: 0;
  position: relative;
}
#page-container #sy_header:not(.no-sticky) #mobile_menu3.et_mobile_menu li a:not(ul.sub-menu li a),
#page-container .sticky:not(.no-sticky) #mobile_menu3.et_mobile_menu li a:not(ul.sub-menu li a),
.single #page-container .et-l #sy_header:not(.no-sticky) #mobile_menu3.et_mobile_menu li a:not(ul.sub-menu li a),
.single #page-container .et-l .sticky:not(.no-sticky)  #mobile_menu3.et_mobile_menu li a:not(ul.sub-menu li a) {
  color: #fff;
}

#page-container #mobile_menu3.et_mobile_menu:has(.liopen) li a:not(ul.sub-menu li a),
#page-container #sy_header:not(.no-sticky) #mobile_menu3.et_mobile_menu.subItemOpen li a:not(ul.sub-menu li a),
#page-container .sticky:not(.no-sticky) #mobile_menu3.et_mobile_menu.subItemOpen li a:not(ul.sub-menu li a),
.single #page-container .et-l #sy_header:not(.no-sticky) #mobile_menu3.et_mobile_menu.subItemOpen li a:not(ul.sub-menu li a),
.single #page-container .et-l .sticky:not(.no-sticky)  #mobile_menu3.et_mobile_menu.subItemOpen li a:not(ul.sub-menu li a) {
  padding: 0 20px 0 20px !important;
  font-weight: 500;
  color: #fff;
  position: relative;
  font-size: 30px;
  background: transparent;
  left: 3rem !important;
}

#page-container #mobile_menu3.et_mobile_menu.subItemOpen li span{
  display: none;
}

#page-container #mobile_menu3.et_mobile_menu li.liopen span{
  display: flex !important;
}

#page-container #mobile_menu3.et_mobile_menu li:nth-last-child(-n+4) a:not(ul.sub-menu li a) {
  font-size: 24px;
  font-weight: 300;
}


#page-container #mobile_menu3.et_mobile_menu li:not(ul.sub-menu li) {
  padding: 10px 25px;
}


#page-container .mobile_nav .menu-item-has-children > a + span.menu-closed,
.single #page-container .mobile_nav .menu-item-has-children > a + span.menu-closed {
    position: absolute !important;
    right: 0;
    top: 0;
    left: 0;
    bottom: 0;
    padding: 10px 20px;
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;
    z-index: 100;
}

#page-container .mobile_nav .et_mobile_menu.subItemOpen .menu-item-has-children > a + span.menu-closed,
.single #page-container .mobile_nav .et_mobile_menu.subItemOpen .menu-item-has-children > a + span.menu-closed {
  position: absolute !important;
  right: 0;
  top: 0;
  left: 5rem;
  bottom: 0;
  padding: 10px 20px;
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
  z-index: 100;
}


/* SUB-MENU  */
#page-container #mobile_menu3.et_mobile_menu li > ul.sub-menu {
  position: fixed;
  top: 81px !important;
  bottom: 0;
  z-index: 50;
  left: 47px;
  right: 0;

}

/* LI DU SUB-MENU */
#page-container #mobile_menu3.et_mobile_menu li > ul.sub-menu li {
    background-color: #fff;
    width: 95%;
    border-bottom: 1px solid;
    margin-left: 28px;
    margin-right: 0;
    padding-left: 0;
    margin-left: 0;
    border-bottom-color: var(--main-color);
}

#page-container #mobile_menu3.et_mobile_menu li > ul.sub-menu li:not(:first-child){
  border: none;
}

#mobile_menu3.et_mobile_menu ul.sub-menu li::before,
#page-container #mobile_menu3.et_mobile_menu .sub-menu li:hover a::after {
  display: none;
}
#page-container #mobile_menu3.et_mobile_menu .sub-menu li::after {
    content: " ";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    background: #fff;
    margin-left: 28px;
    margin-right: auto;
    width: 80%;
}


#page-container #mobile_menu3.et_mobile_menu ul.sub-menu li a,
#page-container .sticky  #mobile_menu3.et_mobile_menu ul.sub-menu li a,
.single #page-container .et-l #mobile_menu3.et_mobile_menu  ul.sub-menu li a,
.single #page-container .et-l .sticky  #mobile_menu3.et_mobile_menu  ul.sub-menu li a,
#page-container #mobile_menu3.et_mobile_menu .sub-menu li:first-child a,
#page-container .sticky  #mobile_menu3.et_mobile_menu .sub-menu li:first-child a {
  padding: 30px 0 0 0 !important;
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 24px !important;
  padding-left: 0;
  color: var(--text-color) !important;
  width: 100% !important;
  align-items: center;
  flex-direction: row;
  top: inherit;
}

#page-container #mobile_menu3.et_mobile_menu ul.sub-menu li a:has(span),
#page-container .sticky  #mobile_menu3.et_mobile_menu ul.sub-menu li a:has(span),
.single #page-container .et-l #mobile_menu3.et_mobile_menu  ul.sub-menu li a:has(span),
.single #page-container .et-l .sticky  #mobile_menu3.et_mobile_menu  ul.sub-menu li a:has(span),
#page-container #mobile_menu3.et_mobile_menu .sub-menu li:first-child a:has(span),
#page-container .sticky  #mobile_menu3.et_mobile_menu .sub-menu li:first-child a:has(span) {
  padding: 50px 0 0 0 !important;
}

#mobile_menu3.et_mobile_menu li.liopen {
  position: absolute;
  top: 0;
  left: 0;
  padding-left: 80px !important;
  z-index: 20;
}
  #mobile_menu3.et_mobile_menu li.liopen a {
  font-size: 1.2rem;
}

@media(max-width: 980px) {

  .et-db #page-container #et-boc header.et-l .et_pb_row:has(.hreflang-language-menu) .et_pb_module:has(#menu-menu_contact){
    display: none;
  }

    #page-container #mobile_menu3.et_mobile_menu ul.sub-menu li a,
    #page-container .sticky  #mobile_menu3.et_mobile_menu ul.sub-menu li a,
    .single #page-container .et-l #mobile_menu3.et_mobile_menu  ul.sub-menu li a,
    .single #page-container .et-l .sticky  #mobile_menu3.et_mobile_menu  ul.sub-menu li a,
    #page-container #mobile_menu3.et_mobile_menu .sub-menu li:first-child a,
    #page-container .sticky  #mobile_menu3.et_mobile_menu .sub-menu li:first-child a {
        font-size: 18px !important;
    }

  #page-container #mobile_menu3 .menu-homepage {
    display: none;
  }

  #mobile_menu3.et_mobile_menu li:nth-last-child(4)::before {
    display: none;
  }
  #page-container #mobile_menu3.et_mobile_menu:has(.liopen) li.menu-item-has-children:not(.liopen){
    position: relative;
    left: 3rem !important;
  }

  #page-container #mobile_menu3.et_mobile_menu li.sub-levelMenu span.spanNoLink:not(ul.sub-menu li a){
    gap: 1rem;
  }

  #page-container #mobile_menu3.et_mobile_menu li.sub-levelMenu span.spanNoLink:not(ul.sub-menu li a)::after{
    font-family: 'ETMODULES';
    content: '\35';
    text-align: center;
    color: #fff;
  }

  #page-container #mobile_menu3.et_mobile_menu li:nth-last-child(-n+4) span:not(ul.sub-menu li a),
  #page-container #mobile_menu3.et_mobile_menu li span:not(ul.sub-menu li a),
  #page-container #mobile_menu3.et_mobile_menu li:nth-last-child(-n+4) a:not(ul.sub-menu li a),
  #page-container #mobile_menu3.et_mobile_menu li a:not(ul.sub-menu li a) {
    font-size: 1.6rem;
    font-weight: 300;
    border-bottom: 1px solid rgba(0, 0, 0, .03);
    color: #fff !important;
    padding: 10px 5%;
    display: flex;
    align-items: center;
  }

  .et-db #page-container #et-boc header.et-l span.remove {
    padding-left: 0.3em !important;
  }

  #page-container #mobile_menu3.et_mobile_menu:has(.menu-open) li:nth-last-child(-n+4) span:not(ul.sub-menu li a),
  #page-container #mobile_menu3.et_mobile_menu:has(.menu-open) li span:not(ul.sub-menu li a){
    color: var(--text-color) !important;
  }

  #page-container #mobile_menu3.et_mobile_menu:not(:has(.menu-open)) .menu-closed{
    padding: 0;
  }

  #page-container #mobile_menu.et_mobile_menu.subItemOpen li:not(.liopen) li a,
  #page-container #mobile_menu.et_mobile_menu.subItemOpen li:not(.liopen){
    left: 3rem !important;
  }

  #page-container #mobile_menu .sub-levelMenu {
    position: relative;
    width: max-content;
  }

  #page-container #mobile_menu .sub-levelMenu::after {
    font-family: 'ETModules';
    content: '\43';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    margin-right: 1rem;
  }

  #page-container #mobile_menu .sub-levelMenu a {
    font-weight: 400 !important;
  }

  .menu-media-wrap,
  .home.et-db #et-boc header.et-l .sub-menu.show li.menu-item-object-secteur span,
  .et-db #page-container:has(.banner-hero) #et-boc header.et-l .sub-menu.show li.menu-item-object-secteur span {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: inline-flex !important;
    background: var(--menu-accent, #f2f2f2);
    padding: 6px !important;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
  }

  .et-db #page-container #et-boc header.et-l #head-top.et_pb_row:has(.hreflang-language-menu) .et_pb_column,
  .home.et-db #page-container #et-boc header.et-l:not(.sticky) .et_pb_row:has(.hreflang-language-menu) .et_pb_column{
    justify-content: flex-start;
  }

  .et-db #page-container #et-boc header.et-l #head-top.et_pb_row:has(.hreflang-language-menu) .et_pb_module.et_pb_image{
    position: absolute;
    left: calc((50vw - 80%) / 2);
    top: 50%;
    transform: translateY(-50%);
  }

  .et-db #page-container #et-boc header.et-l .et_pb_row:has(.hreflang-language-menu) .et_pb_module.et_pb_image a{
    display: block;
    height: 100%;
  }

  .et-db #page-container #et-boc header.et-l .et_pb_row:has(.hreflang-language-menu) .et_pb_module.et_pb_image a img{
    width: 100%;
  }

  .home.et-db #page-container #et-boc header.et-l #head-bottom .et_pb_menu__wrap:has(#menu-menu-principal){
    margin-right: 0 !important;
  }

  .et-db #page-container #et-boc header.et-l.sticky #head-bottom{
    margin: 0 auto !important;
  }
}

@media(max-width: 490px){
    #page-container #mobile_menu.et_mobile_menu ul.sub-menu li a,
    #page-container .sticky  #mobile_menu.et_mobile_menu ul.sub-menu li a,
    .single #page-container .et-l #mobile_menu.et_mobile_menu  ul.sub-menu li a,
    .single #page-container .et-l .sticky  #mobile_menu.et_mobile_menu  ul.sub-menu li a,
    #page-container #mobile_menu.et_mobile_menu .sub-menu li:first-child a,
    #page-container .sticky  #mobile_menu.et_mobile_menu .sub-menu li:first-child a {
        font-size: 18px !important;
    }
  #page-container #mobile_menu3.et_mobile_menu li:not(ul.sub-menu li) {
    padding: 0.5rem;
  }
  #page-container #mobile_menu3.et_mobile_menu li:nth-last-child(-n+4) span:not(ul.sub-menu li a), #page-container #mobile_menu3.et_mobile_menu li span:not(ul.sub-menu li a), #page-container #mobile_menu3.et_mobile_menu li:nth-last-child(-n+4) a:not(ul.sub-menu li a), #page-container #mobile_menu3.et_mobile_menu li a:not(ul.sub-menu li a){
    padding: 0.4rem 5%;
  }
  .et-db #page-container #et-boc header.et-l span.remove{
    margin: 0;
    padding: 0;
  }
}

.section_header-mobile{
	position: fixed!important;
	z-index: 100;
	margin: 0 !important;
	padding:0;
	background: var(--main-color)  !important;

}

.section_header-mobile .et_pb_menu__logo{
	width: 240px ;
}

.section_header-mobile .et_pb_fullwidth_menu__tb_header .mobile_nav .mobile_menu_bar:before{
	color: #FFFFFF!important;
}

.section_header-mobile .et_mobile_menu li a{
	color: var(--text-color);
}

.et-menu .menu-item-has-children>a:first-child:after {
  right: -16px;
  top: 45%;
  transform: translateY(-50%);
}

/******************** span nolink **********************/
/* Texte non cliquable, non interactif */
li.menu-label .spanNoLink {
    cursor: default;
    pointer-events: none;
    opacity: 1;
}
@media(max-width: 980px) {
  #sy_head-container-bottom li.sub-levelMenu:has(.spanNoLink) {
    width: 100% !important;
  }

  #sy_head-container-bottom span.spanNoLink {
    font-size: 22px;
    font-weight: 300;
    color: #FFFFFF;
    width: 100%;
    padding: 10px 5%;
  }

  #page-container #mobile_menu3.et_mobile_menu li.liopen span.menu-item-description,
  #page-container #mobile_menu3.et_mobile_menu li.liopen span.silo-desktop,
  #page-container #mobile_menu3.et_mobile_menu li.liopen button.my-button-class,
  #sy_head-container-bottom span.menu-item-description,
  #sy_head-container-bottom span.silo-desktop,
  #sy_head-container-bottom button.my-button-class {
    display: none !important;
  }
}

/* =============================================================================
   CTA
   ============================================================================= */
.et-db #page-container #et-boc .et-l #sy_header .et_mobile_menu li.sticky-mail a {
  font-weight: 600;
}

.et-db #page-container #et-boc .et-l #sy_header .et_mobile_menu li.sticky-mail a::before,
.et-db #page-container #et-boc .et-l #sy_header .et_mobile_menu li.sticky-tel a::before {
  margin-right: 8px;
  font-family: 'ETMODULES';
  color: var(--text-color);
  background-color: var(--main-color);
  border-radius: 50%;
  padding: 9px;
  font-size: 16px;
  top: -2px;
  position: relative;
}

.et-db #page-container #et-boc .et-l #sy_header .et_mobile_menu li.sticky-tel a::before {
  content: '\e090';

}
.et-db #page-container #et-boc .et-l #sy_header .et_mobile_menu li.sticky-mail a::before {
  content: '\e076';
}


@media(max-width: 980px){
  #page-container #mobile_menu3.et_mobile_menu li > ul.sub-menu li.submenu-side-illu{
    display: none;
  }

  #page-container #mobile_menu3.et_mobile_menu li > ul.sub-menu li span.menu-item-description{
    display: none;
  }

  .et-db #page-container #et-boc header.et-l.sticky .et_pb_section #head-top{
    display: none;
  }

}

/* =============================================================================
   STICKY NATIF EN MOBILE
   ============================================================================= */
@media (max-width: 980px) {
  /* Sticky natif pour meilleures performances en mobile */
  .et-db #page-container #et-boc header.et-l {
    position: fixed;
    max-height: 75px;
    height: 75px;
    width: 100%;
    padding: 0;
    z-index: 9999;
    top: 0;
  }

    .et-db #page-container #et-boc header.et-l .et_builder_inner_content{
      width: 100%;
      margin: 0;
    }

  /* Force le fond blanc en sticky mobile */
  .et-db #page-container #et-boc header.et-l .et_pb_section {
    background: #fff !important;
  }

  /* Couleurs texte/icônes en sticky mobile */
  .et-db #page-container #et-boc header.et-l a,
  .et-db #page-container #et-boc header.et-l span {
    color: var(--text-color) !important;
  }

  .et-db #page-container #et-boc header.et-l span.search-icon:after {
    color: var(--text-color) !important;
  }

  /* =============================================================================
   LOCK SCROLL QUAND MENU MOBILE OUVERT
   ============================================================================= */
  body:has(.mobile_nav.opened) {
    overflow: hidden;
    /* Bloque le scroll tactile iOS (Safari) */
    touch-action: none;
  }

  /* Le menu lui-même garde son scroll interne */
  body:has(.mobile_nav.opened) #mobile_menu3.et_mobile_menu {
    touch-action: pan-y;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* =============================================================================
 CTA
 ============================================================================= */
 .et-db #page-container #et-boc .et-l #head-bottom .et_mobile_nav_menu .tel {
   background: rgba(0, 0, 0, .1) !important; /* couleur souhaitée */
   padding-top: 30px;
   display: block;
 }
 .et-db #page-container #et-boc .et-l #head-bottom .et_mobile_nav_menu .contact {
   background: rgba(0, 0, 0, .1) !important; /* couleur souhaitée */
   box-shadow: 0 100vh 0 100vh rgba(0, 0, 0, .1) !important;
   display: block;
 }
