/* Mobile hamburger menu polish: content-sized panel + Book Now CTA */
.mobile-menu-book-button {
  display: none;
}

@media (max-width: 920px) {
  .mobile-menu-book-button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin: 14px 18px 18px;
    padding: 0 22px;
    border-radius: 999px;
    background: var(--aim-navy, #042249);
    color: #ffffff !important;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 14px 34px rgba(4, 34, 73, 0.18);
  }

  .mobile-menu-book-button:hover,
  .mobile-menu-book-button:focus-visible {
    background: #0d3366;
    outline: 3px solid rgba(79, 163, 217, 0.32);
    outline-offset: 3px;
  }

  .mobile-nav,
  .mobile-menu,
  .nav-drawer,
  .site-menu,
  .main-nav.mobile-active,
  .main-nav.is-open,
  .main-nav.open,
  nav[aria-hidden="false"],
  [data-mobile-menu],
  #mobile-menu {
    max-height: calc(100vh - 92px);
    height: auto;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: max(18px, env(safe-area-inset-bottom));
    box-sizing: border-box;
  }

  .mobile-nav.is-open,
  .mobile-menu.is-open,
  .nav-drawer.is-open,
  .site-menu.is-open,
  #mobile-menu.is-open,
  .mobile-nav.active,
  .mobile-menu.active,
  .nav-drawer.active,
  .site-menu.active,
  #mobile-menu.active {
    height: auto;
    min-height: 0;
  }

  /* If the opened menu is absolutely positioned, keep it content-sized but never taller than viewport. */
  .mobile-nav[style*="display: block"],
  .mobile-menu[style*="display: block"],
  #mobile-menu[style*="display: block"] {
    height: auto !important;
    max-height: calc(100vh - 92px) !important;
    padding-bottom: max(18px, env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 520px) {
  .mobile-menu-book-button {
    margin-left: 16px;
    margin-right: 16px;
    margin-bottom: 20px;
  }
}
