/* Only content mounted in the responsive navigation drawer receives this design. */
.wol-mobile-navigation { display: none; padding: 1rem; padding-bottom: max(1rem, env(safe-area-inset-bottom)); color: #253746; background: #fff; font-size: 1rem; }
.wol-mobile-navigation .mobile-navigation-section { margin: 0 0 1rem; padding: .5rem; border: 1px solid #dfe5eb; border-radius: .75rem; }
.wol-mobile-navigation .mobile-navigation-section:last-child { margin-bottom: 0; }
.wol-mobile-navigation h2 { margin: 0; font-size: 1rem; line-height: 1.5; }
#wolLeftPushDrawer .wol-mobile-navigation .mobile-navigation-category {
    display: flex; align-items: center; justify-content: space-between; gap: .75rem;
    width: 100%; min-height: 48px; padding: .75rem; margin: 0; border: 0; border-radius: .5rem;
    background: transparent; color: #253746; font-size: 1rem; font-weight: 600;
    line-height: 1.4; text-align: left; white-space: normal; box-shadow: none;
}
#wolLeftPushDrawer .wol-mobile-navigation button.mobile-navigation-category:hover { background: #f3f6f8; }
#wolLeftPushDrawer .wol-mobile-navigation span.mobile-navigation-category { cursor: default; }
#wolLeftPushDrawer .wol-mobile-navigation .mobile-navigation-category[aria-expanded="true"] { color: #175a85; }
#wolLeftPushDrawer .wol-mobile-navigation .mobile-navigation-chevron { flex: 0 0 auto; width: auto; font-size: .75rem; transition: transform .15s ease; }
#wolLeftPushDrawer .wol-mobile-navigation .mobile-navigation-category[aria-expanded="true"] .mobile-navigation-chevron { transform: rotate(180deg); }
.wol-mobile-navigation .mobile-navigation-links { padding-top: .25rem; }
.wol-mobile-navigation .mobile-navigation-links[hidden] { display: none !important; }
.wol-mobile-navigation .QuickMenu { display: block; margin: 0; padding: 0; width: auto; list-style: none; background: transparent; }
#wolLeftPushDrawer .wol-mobile-navigation a,
#wolLeftPushDrawer .wol-mobile-navigation .mobile-navigation-action,
#wolLeftPushDrawer .wol-mobile-navigation .MobileMenuHelp > button {
    display: flex !important; align-items: center; gap: .75rem; min-height: 48px; width: 100%;
    margin: 0; padding: .75rem; border: 0; border-radius: .5rem; background: transparent;
    color: #253746; font-size: 1rem; font-weight: 400; line-height: 1.4; text-align: left;
    text-decoration: none; white-space: normal; box-shadow: none; box-sizing: border-box;
}
#wolLeftPushDrawer .wol-mobile-navigation a.hide { display: none !important; }
#wolLeftPushDrawer .wol-mobile-navigation a > li { display: flex; align-items: center; gap: .75rem; width: 100%; padding: 0; margin: 0; min-height: 0; background: transparent; color: inherit; border: 0; font-size: inherit; }
#wolLeftPushDrawer .wol-mobile-navigation i:not(.childMenus) { display: inline-block; flex: 0 0 1.25rem; width: 1.25rem; margin: 0; color: #647481; font-size: 1.125rem; text-align: center; }
#wolLeftPushDrawer .wol-mobile-navigation .FunctionDesc { display: block; flex: 1; min-width: 0; white-space: normal; }
#wolLeftPushDrawer .wol-mobile-navigation .childMenus { margin-left: auto; font-size: .75rem; }
#wolLeftPushDrawer .wol-mobile-navigation a.IsChild_1 { padding-left: 2.75rem; }
#wolLeftPushDrawer .wol-mobile-navigation :is(a, .mobile-navigation-action)[aria-current="page"] { color: #175a85; background: #edf5fa !important; box-shadow: inset 3px 0 #2475a6; }
#wolLeftPushDrawer .wol-mobile-navigation a:hover,
#wolLeftPushDrawer .wol-mobile-navigation .mobile-navigation-action:hover,
#wolLeftPushDrawer .wol-mobile-navigation .MobileMenuHelp > button:hover { background: #f3f6f8; }
#wolLeftPushDrawer .wol-mobile-navigation a:focus-visible,
#wolLeftPushDrawer .wol-mobile-navigation button:focus-visible { outline: 2px solid #2475a6; outline-offset: -2px; }
#wolLeftPushDrawer.wol-mobile-navigation-drawer .wol-left-push-drawer-body { display: block; flex: 1 1 auto; min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; padding: 0; background: #fff; }
@media (max-width: 980px) {
    /* Admin buttons need their natural width, unlike the adjacent 24px icons. */
    .main-header-section .mb-options .BasicFunctions > .group-admin-menu {
        flex: 0 0 auto; width: auto; position: static !important;
    }
    .main-header-section .group-admin-menu > .dropdown-menu {
        top: 100%; left: auto !important; right: .75rem !important;
        width: min(600px, calc(100vw - 1.5rem)) !important;
        max-height: calc(100dvh - 70px) !important; overflow-y: auto; overscroll-behavior: contain;
    }
    /* The responsive drawer owns these destinations; keep the source links for composition. */
    .residency-functional-context-menu .page-menu-options,
    .residency-context-link,
    .group-functional-context-menu,
    .group-today-navigation-bar,
    .group-today-navigation { display: none !important; }
    #wolLeftPushDrawer.wol-mobile-navigation-drawer { width: min(23.75rem, 90vw); max-width: 90vw; }
    body.wol-left-drawer-open:has(.wol-mobile-navigation) :is(.main-header-section, .mini-header-section, .MainMenu, .IMAnchor, #community-help, .BasicCollaboration, .std-drawer-body, .miniOCContainer, footer) { transform: none !important; }
    .page-context-menu-control { display: none !important; }
    .StdPublicMenu > .MenuToggle { align-items: center; justify-content: center; min-width: 44px; min-height: 44px; cursor: pointer; }
    .StdPublicMenu > .MenuToggle:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
    .main-header-section .main-banner-container div.mb-menus:has([data-page-context-menu-toggle]),
    .main-header-section .menu-links.mobile:has([data-page-context-menu-toggle]) { min-width: 44px; }
}
@media (max-width: 520px) {
    .main-header-section .group-admin-menu > .dropdown-menu > .flex-container { flex-direction: column; }
    .main-header-section .group-admin-menu > .dropdown-menu > .flex-container > div { width: 100% !important; }
}
@media (prefers-reduced-motion: reduce) {
    #wolLeftPushDrawer.wol-mobile-navigation-drawer,
    #wolLeftPushDrawer .wol-mobile-navigation .mobile-navigation-chevron { transition: none; }
}

.mobile-function-icon { display: none; }

#wolLeftPushDrawer .wol-mobile-navigation { display: block; }
