.sidebar-nav {
    padding: calc(var(--item-gap) * 0.7);
    border-radius: var(--radius-sm);

    @media (min-width: 1024px) {
        padding: var(--item-gap);
    }
}

.sidebar-nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--item-gap) * 0.5);
}

.sidebar-nav-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    gap: calc(var(--item-gap) * 0.5);

    &:focus-visible {
        outline: var(--focus-ring);
        outline-offset: 2px;
        border-radius: var(--radius-sm);
    }

    &[aria-expanded="true"] .sidebar-nav-icon--open {
        display: none;
    }

    &[aria-expanded="false"] .sidebar-nav-icon--close {
        display: none;
    }

    @media (min-width: 1024px) {
        cursor: default;
    }
}

.sidebar-nav-title {
    font-size: var(--text-xl);
    margin-bottom: 0;
    color: var(--dark);
    flex: 1;
    font-weight: 700;

    a {
        text-decoration: none;
        color: inherit;

        &:hover {
            text-decoration: underline;
        }
    }
}

.sidebar-nav-icon {
    font-size: var(--text-sm);
    color: var(--dark);
    transition: transform var(--trans-fast);

    @media (min-width: 1024px) {
        display: none;
    }
}

.sidebar-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;

    a {
        display: block;
        text-decoration: none;
        color: var(--dark);
        font-size: var(--text-sm);
        font-weight: 600;
        transition:
            color var(--trans-fast),
            background-color var(--trans-fast),
            border-color var(--trans-fast);

        &:focus-visible {
            outline: var(--focus-ring);
            outline-offset: 2px;
            border-radius: var(--radius-sm);
        }
    }

    @media (max-width: 1023px) {
        overflow: hidden;
        max-height: 0;
        transition:
            max-height var(--trans-normal),
            margin var(--trans-normal);
    }

    @media (min-width: 1024px) {
        margin-top: var(--item-gap);
    }
}
.sidebar-nav-toggle i {
    display: none;
}
@media (max-width: 1023px) {
    .sidebar-nav-toggle i {
        display: block;
    }
    .sidebar-nav:has(.sidebar-nav-toggle[aria-expanded="true"]) .sidebar-nav-list {
        max-height: 500px;
        /* margin-top: var(--item-gap); */
    }
}
