/* Mobile navigation stability overrides */
@media (max-width: 991.98px) {
  .site-header {
    z-index: 1050;
  }

  .site-header .offcanvas.offcanvas-end {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(360px, 100vw) !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: #ffffff !important;
    color: var(--heading-color) !important;
    border-left: 1px solid var(--border-color) !important;
    box-shadow: -18px 0 44px rgba(19, 37, 27, 0.22) !important;
    overflow: hidden !important;
    transform: translateX(100%);
  }

  .site-header .offcanvas.offcanvas-end.show,
  .site-header .offcanvas.offcanvas-end.showing {
    transform: none !important;
  }

  .site-header .offcanvas-header {
    position: sticky;
    top: 0;
    z-index: 2;
    min-height: 82px;
    padding: 1rem 1.25rem;
    background: #ffffff !important;
    border-bottom: 1px solid var(--border-color);
  }

  .site-header .offcanvas-header .navbar-brand {
    background: transparent;
    padding: 0;
  }

  .site-header .offcanvas-header .navbar-brand img {
    width: 165px;
    height: auto;
  }

  .site-header .offcanvas-body {
    height: calc(100dvh - 82px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 1.15rem 1.25rem 1.5rem;
    background: #ffffff !important;
  }

  .site-header .offcanvas .navbar-nav {
    gap: 0;
  }

  .site-header .offcanvas .nav-link {
    display: flex;
    align-items: center;
    min-height: 52px;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--border-color);
    color: var(--heading-color) !important;
    font-size: 1.05rem;
    font-weight: 800;
  }

  .site-header .offcanvas .nav-link[aria-current="page"] {
    color: var(--brand-green-dark) !important;
  }

  .site-header .offcanvas .btn {
    margin-top: 1.25rem !important;
  }

  .offcanvas-backdrop.show {
    opacity: 0.48;
  }
}
