/* Keep the mobile menu vertically scrollable while the page behind it is locked. */
.c-menu-mobile {
    touch-action: pan-y;
    overscroll-behavior: contain;
}

/* The navigation panels are absolutely positioned; make the active panel's
 * viewport the touch scroll container instead of allowing the document below
 * the fixed menu to consume the gesture. */
.c-menu-mobile__navs {
    overflow-y: hidden;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.c-menu-mobile__nav-submenus {
    overflow: visible;
}

/* The translated main panel must not contribute its height while a submenu
 * is open; otherwise the scroll range becomes much larger than the visible
 * submenu and its last items disappear behind the footer. */
.c-menu-mobile__navs.is-open .c-menu-mobile__nav-main {
    height: 0;
    overflow: hidden;
}
