#header .menu_left ul.menu ul.sub-menu {
    max-height: calc(100vh - 190px);
    overflow-y: auto;
    scrollbar-width: unset;
    scrollbar-color: unset;
}

/* Restaurant template: anchor menu stacked below the fixed header */
.page-template-template-restaurant .anchors.below_header {
    position: fixed;
    top: 100px;
    left: 0;
}

/* Keep keyboard-focused elements clear of the fixed header and anchor menu */
html:has(.page-template-template-restaurant) {
    scroll-padding-top: 170px;
}

@media (max-width: 991px) {
    .page-template-template-restaurant .anchors.below_header {
        top: 70px;
    }

    html:has(.page-template-template-restaurant) {
        scroll-padding-top: 140px;
    }
}

@media (max-width: 767px) {
    html:has(.page-template-template-restaurant) {
        scroll-padding-top: 70px;
    }
}