nav,
nav ul {
    flex-direction: column;
}

/* Reduce spacing in mobile navigation - more specific selectors */
@media (max-width: 767px) {
    main .container nav ul {
        gap: 0.125rem !important; /* Further reduce gap between navigation items on mobile */
    }

    main .container nav ul li {
        margin: 0.125rem 0 !important; /* Further reduce vertical spacing of list items */
        padding: calc(var(--pico-nav-element-spacing-vertical) * 0.25)
            var(--pico-nav-element-spacing-horizontal) !important;
    }
}

@media (min-width: 768px) {
    nav,
    nav ul {
        flex-direction: row;
    }
}

.content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

@media (min-width: 1024px) {
    .container {
        max-width: 1200px;
    }

    .content-wrapper {
        flex-direction: row;
    }

    .main-content {
        flex: 1;
        min-width: 0; /* Allows flex item to shrink below content size */
    }

    .sidebar {
        flex: 0 0 250px;
        position: sticky;
        top: 2rem;
        align-self: flex-start;
    }
}

#scrollToTop {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    display: none;
    z-index: 1000;
}

/* Table of Contents Styles */
.sidebar {
    padding: 1rem;
    border-radius: var(--pico-border-radius);
}

/* Container for main content and TOC */
.main-content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

/* Mobile: TOC appears after navigation, before content */
@media (max-width: 767px) {
    .main-content-wrapper {
        order: 2; /* Place content wrapper after TOC on mobile */
    }

    .sidebar {
        order: 1; /* Place sidebar before content on mobile */
        margin: 1rem 0;
    }

    .main-content {
        order: 2;
    }
}

/* Desktop: TOC appears as sidebar next to content */
@media (min-width: 768px) {
    .main-content-wrapper {
        flex-direction: row;
        gap: 2rem;
    }

    .sidebar {
        display: block;
        flex: 0 0 250px;
        position: sticky;
        top: 2rem;
        align-self: flex-start;
        order: 2; /* Show sidebar after content in flex order on desktop */
        max-height: calc(100vh - 4rem); /* Account for top spacing */
        overflow-y: auto; /* Make sidebar scrollable */
    }

    .main-content {
        flex: 1;
        min-width: 0;
        order: 1;
    }
}

.sidebar .toc-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
}

.sidebar .toc-item {
    margin-bottom: 0.25rem !important;
}

.sidebar .toc-level-1 {
    font-weight: bold !important;
    margin-top: 0.5rem !important;
    margin-left: 0 !important;
}

.sidebar .toc-level-2 {
    margin-left: 0.75rem !important;
    font-size: 0.9em !important;
}

.sidebar .toc-level-3 {
    margin-left: 1.5rem !important;
    font-size: 0.85em !important;
}

.sidebar .toc-item a {
    text-decoration: none !important;
    display: block !important;
    padding: 0.1rem 0 !important;
}

.sidebar .toc-item a:hover {
    text-decoration: underline !important;
}

/* Override Pico CSS defaults for sidebar */
.sidebar ul,
.sidebar ol,
.sidebar li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
