/* Sidebar desktop: o catálogo ocupa apenas o espaço entre a busca e a marca. */
.category-scroll-wrapper {
    display: contents;
}

.category-scroll-control {
    display: none;
}

@media screen and (min-width: 1025px) {
    #sidebar {
        display: flex;
        flex-direction: column;
        height: 100vh;
        box-sizing: border-box;
        overflow: hidden;
    }

    #sidebar > #shortcut-logo,
    #sidebar > .ha-gradient-heading {
        flex: 0 0 auto;
    }

    #sidebar > #search-panel {
        display: flex !important;
        flex: 1 1 auto;
        flex-direction: column !important;
        min-height: 0;
        gap: 20px !important;
        overflow: hidden;
    }

    #sidebar > #search-panel > #search-area {
        flex: 0 0 auto;
    }

    #sidebar > #search-panel > .category-scroll-wrapper {
        display: flex !important;
        flex: 1 1 auto;
        flex-direction: column;
        min-height: 0;
        position: relative;
        overflow: hidden;
    }

    #sidebar > #search-panel > .category-scroll-wrapper > #category-bar {
        flex: 1 1 auto;
        min-height: 0;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        padding-right: 8px;
        scrollbar-gutter: stable;
        scroll-behavior: smooth;
    }

    #sidebar > #search-panel > .category-scroll-wrapper.has-overflow > .category-scroll-control {
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 30px;
        margin: 0;
        padding: 3px;
        border: 0;
        border-radius: 9px;
        background: transparent;
        color: inherit;
        cursor: pointer;
        opacity: 0.72;
    }

    #sidebar > #search-panel > .category-scroll-wrapper.has-overflow > .category-scroll-control:hover:not(:disabled),
    #sidebar > #search-panel > .category-scroll-wrapper.has-overflow > .category-scroll-control:focus-visible {
        background: #8883;
        opacity: 1;
        outline: none;
    }

    #sidebar > #search-panel > .category-scroll-wrapper.has-overflow > .category-scroll-control:disabled {
        cursor: default;
        opacity: 0.22;
    }

    @media (prefers-color-scheme: light) {
        #sidebar > #search-panel > .category-scroll-wrapper.has-overflow > .category-scroll-control {
            color: #303038;
        }
    }

    @media (prefers-color-scheme: dark) {
        #sidebar > #search-panel > .category-scroll-wrapper.has-overflow > .category-scroll-control {
            color: #f5f5f7;
        }
    }

    #sidebar > #logopdip {
        display: flex !important;
        position: static;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        margin: 18px auto 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #sidebar > #search-panel > .category-scroll-wrapper > #category-bar {
        scroll-behavior: auto;
    }

    #sidebar > #search-panel > .category-scroll-wrapper > .category-scroll-control {
        transition: none;
    }
}
