/* =========================================================
   Alfa Park V35 — mobile navigation interaction hardening.
   ========================================================= */
.apv-header:before{pointer-events:none!important}
.apv-header-inner{z-index:2!important}

@media(max-width:1180px){
  .apv-mobile-menu{
    display:flex!important;
    flex-direction:column!important;
    visibility:hidden!important;
    pointer-events:none!important;
    opacity:0!important;
    z-index:2147483000!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
  }
  .apv-mobile-menu.is-open{
    visibility:visible!important;
    pointer-events:auto!important;
    opacity:1!important;
    transform:translateX(0)!important;
  }
  .apv-mobile-menu.is-open *,
  .apv-mobile-menu.is-open a,
  .apv-mobile-menu.is-open button{
    pointer-events:auto!important;
  }
  .apv-mobile-head{
    position:relative!important;
    z-index:3!important;
    flex:0 0 auto!important;
  }
  .apv-mobile-head button{
    position:relative!important;
    z-index:4!important;
    width:46px!important;
    height:46px!important;
    display:grid!important;
    place-items:center!important;
    margin:-8px -8px -8px 0!important;
    padding:8px!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
  }
  .apv-mobile-links{
    position:relative!important;
    z-index:2!important;
    flex:0 0 auto!important;
  }
  .apv-mobile-links a{
    position:relative!important;
    z-index:2!important;
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    touch-action:manipulation!important;
  }
  body.menu-open{
    overflow:hidden!important;
    touch-action:none!important;
  }
  body.menu-open .apv-header{
    z-index:2147482900!important;
  }
  body.menu-open .apv-mobile-dock{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.menu-open .apv-seo-fab{
    pointer-events:none!important;
    opacity:0!important;
  }
}

@media(max-width:780px){
  .apv-mobile-menu{
    top:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:100dvh!important;
    padding:calc(20px + env(safe-area-inset-top)) 22px calc(24px + env(safe-area-inset-bottom))!important;
  }
  .admin-bar .apv-mobile-menu{
    /* WP admin bar lives outside the site header; keep the menu usable beneath it. */
    padding-top:calc(54px + env(safe-area-inset-top))!important;
  }
  .apv-mobile-contact{flex:0 0 auto!important}
  .apv-mobile-menu>.apv-btn{flex:0 0 auto!important;margin-top:auto!important}
}
