/**
 * Mobile Split Menu (Elementor N-Menu)
 * By Agence 312
 */

/* ===== Mobile Split Menu (Elementor N-Menu) ===== */
@media (max-width: 1024px){

    .e-n-menu-toggle:hover, .e-n-menu-toggle:focus, .e-n-menu-toggle{background-color:transparent !important;}
    .e-n-menu-toggle-icon.e-open, .e-n-menu-toggle-icon.e-close {cursor:pointer;}

  .mobile-split-menu{
    --msm-sub-w: 80vw;
    --msm-anim: 350ms;
  }

  /* Force Elementor stretch */
  .mobile-split-menu .e-n-menu-wrapper{
    --stretch-width: 100vw !important;
    --stretch-left: 0px !important;
  }

  #menubar-179 {top:76px !important;}

  /* ===== 1) MENU PRINCIPAL : overlay plein écran ===== */
  .mobile-split-menu .e-n-menu-wrapper{
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    max-width: 100vw !important;

    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;

    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;

    background: #E6F4FF !important;
    z-index: 10000 !important;

    transform: translateY(-120%);
    transition: transform 350ms ease !important;
  }
  .mobile-split-menu .e-n-menu-toggle[aria-expanded="true"] ~ .e-n-menu-wrapper{
    transform: translateX(0);
  }

  /* ===== 2) Toggle au-dessus ===== */
  .mobile-split-menu .e-n-menu-toggle{
    right: 18px !important;
    z-index: 10003 !important;
  }

  /* ===== 3) Liste principale ===== */
  .mobile-split-menu .e-n-menu-heading{
    position: relative;
    z-index: 10001;
    width: 100% !important;

    padding: 50px 20px 30px !important;
    box-sizing: border-box;

    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
    box-shadow: none !important;
  }
   .mobile-split-menu .e-n-menu-heading .e-n-menu-title-text{color:#2382C8 !important;font-weight: 600 !important;font-size: 18px;}
   .mobile-split-menu .e-n-menu-heading .e-n-menu-title:hover .e-n-menu-title-text, .mobile-split-menu .e-n-menu-heading .e-n-menu-title:hover .e-n-menu-dropdown-icon svg,
   .mobile-split-menu .e-n-menu-heading .e-n-menu-title:active .e-n-menu-title-text,
   .mobile-split-menu .e-n-menu-heading .e-n-menu-title:focus .e-n-menu-title-text
   {color:#003d6a !important;fill:#003d6a !important;}

  /* Déboxage Elementor (sans toucher au drawer) */
  .mobile-split-menu .e-n-menu-heading > *,
  .mobile-split-menu .e-n-menu-heading .e-con-boxed,
  .mobile-split-menu .e-n-menu-heading .e-con-inner,
  .mobile-split-menu .e-n-menu-heading .elementor-element{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .mobile-split-menu .e-n-menu-heading .elementor-element.sous-menu{width: 80% !important; padding-top:50px !important;}
  .elementor-element.sous-menu > .e-con-inner {height:90%}

  /* ===== 4) Drawer sous-menu ===== */
  .mobile-split-menu .sous-menu{
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: var(--msm-sub-w) !important;
    max-width: var(--msm-sub-w) !important;
    height: 100vh !important;

    background: #fff !important;
    z-index: 10002 !important;

    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;

    display: block !important;

    transform: translateX(105%);
    transition: transform var(--msm-anim) ease;

    box-shadow: -12px 0 30px rgba(0,0,0,.12);
    border-radius: 0 !important;
  }

  .mobile-split-menu .e-n-menu-item.msm-open > .e-n-menu-content .sous-menu{
    transform: translateX(0);
  }

  /* ===== 5) Bouton Retour : version "identique" à ton rendu ===== */
  .mobile-split-menu .msm-back{
    position: sticky;
    top: 0;
    z-index: 10;

    display: flex;
    align-items: center;
    gap: 10px;

    width: 100%;
    padding: 18px 22px;

    background: #fff;
    border: 0;
    cursor: pointer;

    font-weight: 500;
    font-size: 14px;
    color: #2382C8;
    text-align: left;

    line-height: 1;
  }
  .mobile-split-menu .msm-back:hover, .mobile-split-menu .msm-back:hover svg{background-color:#FFF !important;color: #003d6a !important; fill: #003d6a !important}

  .mobile-split-menu .msm-back svg{
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    display: block;
    fill :#2382C8;
    color:#2382C8;
  }

  .mobile-split-menu .msm-back span{
    white-space: nowrap;
  }

  /* Liens dans le drawer */
  .mobile-split-menu .sous-menu a.elementor-item{
    display: inline-block !important;
    text-align: left !important;
    padding: 13px 20px !important;
    box-sizing: border-box;
  }

  /* ===== 6) Voile (dim) ===== */
  .mobile-split-menu .e-n-menu-wrapper.msm-dim::before{
    content:"";
    position: fixed;
    inset: 0;
    z-index: 10001;

    /* découpe la zone droite (drawer) */
    clip-path: inset(0 var(--msm-sub-w) 0 0);
    /* background: rgba(0,0,0,.25); */

    pointer-events: auto;
  }

  /* ===== 7) Ligne titre + chevron ===== */
  .mobile-split-menu .e-n-menu-title{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0px !important;
    width: 100% !important;
    padding: 0em 10px !important;
  }

  .mobile-split-menu .e-n-menu-title-container:not(.e-link), .mobile-split-menu .e-n-menu-title-container:not(.e-link) *,
     .mobile-split-menu .e-n-menu-title {cursor:pointer !important;}

  .mobile-split-menu .e-n-menu-title-container{
    flex: 1 1 auto !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
  }

  .mobile-split-menu .e-n-menu-dropdown-icon{
    flex: 0 0 auto !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px 0 !important;
    pointer-events: none;
  }

  .mobile-split-menu .e-n-menu-dropdown-icon svg{
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    fill: #2382C8 !important;
    color: #2382C8 !important;
  }

  #btn-mob-adherer, #btn-mob-connect {width: 50% !important;margin: 0 auto;}
  #btn-mob-adherer {margin-top:200px}
  #btn-mob-adherer .btn, #btn-mob-connect .btn 
  {display: flex !important; justify-content: center;border-radius: 16px 16px 16px 16px;padding: 14px 25px 14px 25px !important; margin-bottom:0;}

  #btn-mob-adherer .btn {background-color: transparent !important ;border: 2px solid #003D6A !important;}
  #btn-mob-adherer .btn span {color:#003d6a !important; font-size:16px;font-weight:600 !important;}
  #btn-mob-adherer .btn span svg {fill:#003d6a !important;width: 22px;height: 22px;}
  #btn-mob-adherer .btn:hover {color: #0662A5 !important ;border: 2px solid #0662A5 !important;}
  #btn-mob-adherer .btn:hover span, #btn-mob-adherer .btn:hover span svg {color: #0662A5 !important;fill: #0662A5 !important;}

  #btn-mob-connect .btn span {color:#EDF1FF !important; font-size:16px;font-weight:600 !important;}
  #btn-mob-connect .btn span svg {fill:#EDF1FF !important;width: 22px;height: 22px;}

}

@media (max-width: 767px){
  #btn-mob-adherer, #btn-mob-connect {width: 100% !important;margin: 0 auto;}
  #btn-mob-adherer .btn, #btn-mob-connect .btn {margin-top: 0 !important;}
  #btn-mob-adherer {padding-top: clamp(20px, 3dvh, 100px) !important;}

  .mobile-split-menu .e-n-menu-heading{
    padding-top: clamp(20px, 5dvh, 50px) !important;
    padding-bottom: clamp(20px, 4dvh, 40px) !important;
    padding-left: 20px !important;
    padding-right: 20px !important;}
}

