/* =========================================================
   MEISTER Lanzarote v2.1.4
   Mobile language switcher / fullscreen menu isolation fix
   ---------------------------------------------------------
   The multilingual selector belongs to the closed header state.
   When the fullscreen mobile navigation opens, its own menu header
   must be the only top-layer identity. This prevents ES/EN/DE/IT/FR/NL
   from covering the menu title or menu content.
   ========================================================= */

@media (max-width:1180px), (hover:none), (pointer:coarse), (pointer:none){
  /* JS marks the actual external language bar, regardless of plugin/provider. */
  body.mobile-menu-open .j7-external-language-switcher,
  body.mobile-menu-open [data-j7-external-language-switcher="true"]{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  /* Defensive coverage for the most common multilingual plugins. */
  body.mobile-menu-open .trp-language-switcher,
  body.mobile-menu-open .trp-language-switcher-container,
  body.mobile-menu-open .gt_float_switcher,
  body.mobile-menu-open .gtranslate_wrapper,
  body.mobile-menu-open .weglot-container,
  body.mobile-menu-open .wpml-ls,
  body.mobile-menu-open .pll-switcher-select,
  body.mobile-menu-open .lang-switcher,
  body.mobile-menu-open .language-switcher,
  body.mobile-menu-open .language-selector{
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  /* Fullscreen menu is the authoritative layer while open. */
  body.mobile-menu-open .site-header [data-mobile-panel]{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:2147482000!important;
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    isolation:isolate!important;
  }

  /* Keep the panel's own identity/header safely above its scroll content. */
  body.mobile-menu-open [data-mobile-panel] .mobile-panel-inner{
    min-height:100dvh!important;
  }
  body.mobile-menu-open [data-mobile-panel] .mobile-menu-top{
    position:relative!important;
    z-index:3!important;
  }

  /* The original closed header must not remain clickable behind the panel. */
  body.mobile-menu-open .site-header > .nav-wrap{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}
