/* Scroll the category list without showing a scrollbar. */
@media (min-width: 768px) {
    body .ty-cat-nav {
        height: 100vh; height: 100dvh; overflow-x: hidden; overflow-y: auto;
        overscroll-behavior-y: contain; scrollbar-width: none; transform: none;
    }
    body .ty-cat-nav::-webkit-scrollbar { display: none; }
}
body .ty-cat-nav .ty-cat-nav-list > ul > li.has-sub-cat > a { width: 100%; padding-right: 44px; }
body .ty-cat-nav .ty-cat-nav-list > ul > li.has-sub-cat > ul {
    position: static; width: 100%; max-height: none;
    opacity: 1; visibility: visible; box-shadow: none; border: 0;
    padding: 0 0 6px 16px; background: transparent;
}
body .ty-cat-nav .ty-cat-nav-list > ul > li.has-sub-cat > ul[hidden] { display: none !important; }
body .ty-cat-nav .ty-cat-nav-list > ul > li.has-sub-cat > ul li a { width: 100%; padding: 8px 12px; }
body .ty-cat-nav .ty-category-toggle {
    position: absolute; right: 0; top: 0; width: 40px; height: 36px;
    display: flex; align-items: center; justify-content: center;
    border: 0; border-radius: 18px; padding: 0; color: #fff;
    background: transparent; cursor: pointer;
}
body .ty-cat-nav .ty-category-toggle::before {
    content: ''; width: 8px; height: 8px; border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor; transform: rotate(45deg) translate(-2px, -2px);
}
body .ty-cat-nav .ty-category-toggle[aria-expanded="true"]::before { transform: rotate(225deg) translate(-1px, -1px); }
body .ty-cat-nav .ty-category-toggle:hover { background: #333; }
@media (min-width: 768px) {
    body:not(.open-cat-nav):not(.open-cat-nav-search) .ty-cat-nav .ty-category-toggle { visibility: hidden; }
    body:not(.open-cat-nav):not(.open-cat-nav-search) .ty-cat-nav .ty-cat-nav-list > ul > li.has-sub-cat > ul { display: none; }
}

/* Expanded lists must remain reachable on touch screens as well. */
body .ty-cat-nav {
    height: 100vh; height: 100dvh; overflow-x: hidden; overflow-y: auto;
    overscroll-behavior-y: contain; scrollbar-width: none;
}
body .ty-cat-nav::-webkit-scrollbar { display: none; }

/* Keep parent category icons visible in the collapsed desktop rail. */
body .ty-cat-nav .ty-cat-nav-list > ul > li.has-sub-cat > a > i { flex: 0 0 20px; }
@media (min-width: 768px) {
    body .ty-cat-nav .ty-cat-nav-list > ul > li.has-sub-cat > a { width: 300px; }
}
