/* FinM Consult mobile menu emergency fix */
.finm-menu-button {
  display: none;
}

@media screen and (max-width: 1100px) {
  .site-header .nav-wrap {
    min-height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
  }

  .site-header .site-brand {
    margin: 0 !important;
    text-align: left !important;
  }

  .site-header .menu-toggle,
  .site-header .finm-menu-button {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    inset: auto !important;
    z-index: 10003 !important;
    border: 1px solid rgba(255,255,255,.55) !important;
    border-radius: 10px !important;
    background-color: rgba(255,255,255,.07) !important;
    color: transparent !important;
    font-size: 0 !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }

  .site-header .menu-toggle::before,
  .site-header .menu-toggle::after,
  .site-header .finm-menu-button::before,
  .site-header .finm-menu-button::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 12px !important;
    width: 22px !important;
    height: 2px !important;
    border-radius: 3px !important;
    background: #fff !important;
    transition: transform .22s ease, top .22s ease !important;
  }

  .site-header .menu-toggle::before,
  .site-header .finm-menu-button::before {
    top: 15px !important;
    box-shadow: 0 8px 0 #fff !important;
  }

  .site-header .menu-toggle::after,
  .site-header .finm-menu-button::after {
    top: 31px !important;
  }

  .site-header .menu-toggle[aria-expanded="true"]::before,
  .site-header .finm-menu-button[aria-expanded="true"]::before {
    top: 23px !important;
    transform: rotate(45deg) !important;
    box-shadow: none !important;
  }

  .site-header .menu-toggle[aria-expanded="true"]::after,
  .site-header .finm-menu-button[aria-expanded="true"]::after {
    top: 23px !important;
    transform: rotate(-45deg) !important;
  }

  .site-header .primary-nav {
    display: flex !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: fixed !important;
    top: 72px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(88vw, 390px) !important;
    height: calc(100dvh - 72px) !important;
    padding: 28px 24px !important;
    margin: 0 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    overflow-y: auto !important;
    background: #071a2f !important;
    box-shadow: -18px 0 45px rgba(0,0,0,.3) !important;
    transform: translateX(105%) !important;
    transition: transform .25s ease, opacity .25s ease, visibility .25s ease !important;
    z-index: 10002 !important;
  }

  .admin-bar .site-header .primary-nav {
    top: 104px !important;
    height: calc(100dvh - 104px) !important;
  }

  .site-header .primary-nav.finm-is-open,
  .site-header .primary-nav.is-open {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateX(0) !important;
  }

  .site-header .primary-nav a {
    display: block !important;
    width: 100% !important;
    padding: 14px 12px !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 1.05rem !important;
    text-align: left !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
  }

  .site-header .primary-nav .nav-cta {
    margin-top: 14px !important;
    color: #fff !important;
    text-align: center !important;
    border: 1px solid #d4a017 !important;
  }

  body.finm-nav-open {
    overflow: hidden !important;
  }

  body.finm-nav-open::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(2,12,24,.52);
  }

  .site-header { z-index: 10001 !important; }
}

@media screen and (max-width: 782px) {
  .admin-bar .site-header .primary-nav {
    top: 118px !important;
    height: calc(100dvh - 118px) !important;
  }
}
