/* Fixed/Sticky navbar body offset */
body.has-fixed-navbar,
body.has-sticky-navbar {
    padding-top: var(--bs-navbar-height, 56px);
}

/* Sidebar mode hides the top navbar on desktop (d-lg-none on <nav>),
   so the fixed/sticky body padding must be suppressed at that breakpoint. */
@media (min-width: 992px) {
    body.has-sidebar.has-fixed-navbar,
    body.has-sidebar.has-sticky-navbar {
        padding-top: 0;
    }
}

#breadcrumbs {
    font-size: small;
    color: white;
}

/* Comments: Remove bullets from nested replies and add spacing */
#comments .children {
    list-style: none;
    padding-inline-start: 0;
    margin-top: 1rem;
}

#offcanvasNavAccordion .accordion-button.bg-transparent::after {
    content: none;
}

/* Offcanvas menu items inherit the sidebar/offcanvas background color
   instead of rendering with the accordion's default opaque surface. */
#offcanvasNavbar .accordion-item,
#offcanvasNavbar .accordion-button {
    background-color: transparent;
    color: inherit;
}
#offcanvasNavbar .accordion-button:not(.collapsed) {
    background-color: transparent;
    box-shadow: none;
}

/* Offcanvas: Hide on desktop when NOT in sidebar mode */
@media (min-width: 992px) {
    body:not(.has-sidebar) #offcanvasNavbar {
        display: none !important;
    }
}

/* Desktop sidebar styles when sidebar mode enabled */
@media (min-width: 992px) {
    body.has-sidebar #offcanvasNavbar {
        visibility: visible !important;
        transform: none !important;
        display: flex !important;
        flex-direction: column;
        width: var(--bs-sidebar-width, 300px);
        position: sticky;
        top: 0;
        height: 100vh;
        border-inline-end: 1px solid var(--bs-border-color);
        flex-shrink: 0;
    }

    body.has-sidebar #offcanvasNavbar .offcanvas-header {
        display: flex !important;
    }

    body.has-sidebar .site-content-wrapper {
        flex-grow: 1;
        min-width: 0;
    }
}
