
/* =========================================================
   Mobile menu visibility hotfix v3.6.3
   Root cause: overlay stacking context was above the header,
   so the drawer existed but was visually covered.
   ========================================================= */
@media(max-width:1024px){

  /* Header must sit above the overlay because the drawer lives inside it. */
  body.ca-site-v350 .header{
    position:sticky!important;
    z-index:200!important;
    overflow:visible!important;
  }

  /* Overlay is intentionally BELOW header/drawer, but above page content. */
  body.ca-site-v350 .mobile-nav-overlay{
    z-index:180!important;
    background:rgba(7,25,43,.42)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  /* Drawer is inside header stacking context */
  body.ca-site-v350 #mainNav{
    z-index:220!important;
    opacity:1!important;
    visibility:visible!important;
    color:#173f6f!important;
    background:#fff!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  body.ca-site-v350 #mainNav.is-open{
    display:flex!important;
    transform:translate3d(0,0,0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  body.ca-site-v350 #mainNav:not(.is-open){
    display:flex!important;
    transform:translate3d(105%,0,0)!important;
    pointer-events:none!important;
  }

  /* Force all mobile menu content to be visible above any legacy rule. */
  body.ca-site-v350 #mainNav .mobile-nav-head{
    display:flex!important;
    color:#0d315b!important;
    opacity:1!important;
    visibility:visible!important;
  }

  body.ca-site-v350 #mainNav > a{
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
    color:#173f6f!important;
    background:transparent!important;
  }

  body.ca-site-v350 #mainNav > a:hover,
  body.ca-site-v350 #mainNav > a:focus{
    color:#086bce!important;
    background:#eef7ff!important;
  }

  body.ca-site-v350 #mainNav .mobile-nav-footer{
    display:grid!important;
    opacity:1!important;
    visibility:visible!important;
  }

  body.ca-site-v350 #mainNav .mobile-nav-devis{
    color:#fff!important;
    background:linear-gradient(135deg,#0876e8,#0b5dcc)!important;
  }

  body.ca-site-v350 #mainNav .mobile-nav-phone{
    color:#125ba8!important;
    background:#f7fbff!important;
  }

  body.ca-site-v350 #mainNav .mobile-nav-close{
    display:grid!important;
    opacity:1!important;
    visibility:visible!important;
  }

  body.ca-site-v350 .menu-btn{
    z-index:230!important;
  }
}
