
/* FINAL SINGLE MOBILE MENU — isolated from all legacy navigation rules */
@media (max-width: 980px) {
  html.el-menu-open, body.el-menu-open { overflow: hidden !important; }
  #header.header {
    overflow: visible !important;
    z-index: 2147483000 !important;
  }
  #header .nav {
    position: relative !important;
    overflow: visible !important;
  }
  #header #elDesktopNav {
    display: none !important;
  }
  #elMenuButton {
    display: flex !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    margin-left: auto !important;
    padding: 0 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    border: 1px solid #d5dfe9 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 4px 14px rgba(6,23,47,.05) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    position: relative !important;
    z-index: 2147483002 !important;
    cursor: pointer !important;
  }
  #elMenuButton span {
    display: block !important;
    width: 24px !important;
    height: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #10243c !important;
    opacity: 1 !important;
    transform: none !important;
    transition: transform .2s ease, opacity .2s ease !important;
  }
  #elMenuButton[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg) !important; }
  #elMenuButton[aria-expanded="true"] span:nth-child(2) { opacity: 0 !important; }
  #elMenuButton[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg) !important; }

  #elMobileMenu {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 76px) !important;
    max-height: calc(100dvh - 76px) !important;
    margin: 0 !important;
    padding: 8px 22px 16px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    background: #fff !important;
    border-top: 1px solid #e7edf3 !important;
    border-bottom: 1px solid #e7edf3 !important;
    box-shadow: 0 18px 34px rgba(6,23,47,.14) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-8px) !important;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease !important;
    z-index: 2147483001 !important;
  }
  #elMobileMenu.el-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
  #elMobileMenu .el-menu-inner {
    display: flex !important;
    width: min(100%, 1180px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }
  #elMobileMenu a {
    display: flex !important;
    min-height: 48px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 8px !important;
    align-items: center !important;
    justify-content: space-between !important;
    color: #1a3048 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #edf2f6 !important;
    border-radius: 0 !important;
    font-family: Manrope, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  #elMobileMenu a:last-child { border-bottom: 0 !important; }
  #elMobileMenu a.active { color: #1268d8 !important; }
  #elMobileMenu a .el-arrow {
    color: #1268d8 !important;
    font-size: 23px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
  }
}
@media (max-width: 480px) {
  #elMenuButton { width: 46px !important; height: 46px !important; min-width: 46px !important; }
  #elMobileMenu { max-height: calc(100vh - 72px) !important; max-height: calc(100dvh - 72px) !important; padding-left: 18px !important; padding-right: 18px !important; }
  #elMobileMenu a { min-height: 46px !important; padding: 11px 6px !important; font-size: 15px !important; }
}
@media (min-width: 981px) {
  #elMenuButton { display: none !important; }
  #elMobileMenu { display: none !important; }
  #header #elDesktopNav { display: flex !important; }
}
