/* ===== Navbar Language Switcher (Student theme) ===== */
.language-dropdown-nav .btn-outline-primary {
    border-color: rgba(var(--bs-primary-rgb), 0.5);
    color: var(--bs-primary);
}
.language-dropdown-nav .btn-outline-primary:hover {
    background: rgba(var(--bs-primary-rgb), 0.1);
    border-color: var(--bs-primary);
    color: var(--bs-primary);
}
.language-dropdown-nav .dropdown-menu {
    border-radius: 0.5rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
}
.language-dropdown-nav .dropdown-item:hover {
    background: rgba(var(--bs-primary-rgb), 0.08);
}
.language-dropdown-nav .language-flag {
    font-size: 1.1rem;
    line-height: 1;
}
@media (max-width: 575.98px) {
    .language-dropdown-nav .btn {
        padding: 0.35rem 0.5rem;
    }
    .language-dropdown-nav .dropdown-menu {
        min-width: 10rem;
    }
}

.pr-25 {
    padding-right: 25px;
}

/* ===== Admin Sidebar: full viewport height + vertical scroll ===== */
/* XL and up: sidebar fills viewport, menu area scrolls */
@media (min-width: 1200px) {
    .sidebar.navbar-expand-xl .offcanvas {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }
    .sidebar.navbar-expand-xl .sidebar-content {
        min-height: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
    }
    .sidebar.navbar-expand-xl .sidebar-content #navbar-sidebar,
    .sidebar.navbar-expand-xl .sidebar-content .sidebar-nav-scroll {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
    }
}
/* Mobile/tablet: offcanvas overlay — ensure scroll inside */
@media (max-width: 1199.98px) {
    .sidebar.navbar-expand-xl .offcanvas.show {
        max-height: 100vh;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }
    .sidebar.navbar-expand-xl .offcanvas .offcanvas-body.sidebar-content {
        min-height: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
    }
    .sidebar.navbar-expand-xl .sidebar-content #navbar-sidebar,
    .sidebar.navbar-expand-xl .sidebar-content .sidebar-nav-scroll {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
    }
}

/* ===== Sidebar scrollbar: slim, dark, unobtrusive ===== */
.sidebar .sidebar-nav-scroll {
    --sidebar-scrollbar-width: 6px;
    --sidebar-scrollbar-thumb: rgba(255, 255, 255, 0.12);
    --sidebar-scrollbar-thumb-hover: rgba(255, 255, 255, 0.22);
    --sidebar-scrollbar-track: transparent;
}
/* Firefox */
.sidebar .sidebar-nav-scroll {
    scrollbar-width: thin;
    scrollbar-color: var(--sidebar-scrollbar-thumb) var(--sidebar-scrollbar-track);
}
/* WebKit (Chrome, Edge, Safari) */
.sidebar .sidebar-nav-scroll::-webkit-scrollbar {
    width: var(--sidebar-scrollbar-width);
}
.sidebar .sidebar-nav-scroll::-webkit-scrollbar-track {
    background: var(--sidebar-scrollbar-track);
}
.sidebar .sidebar-nav-scroll::-webkit-scrollbar-thumb {
    background: var(--sidebar-scrollbar-thumb);
    border-radius: calc(var(--sidebar-scrollbar-width) / 2);
}
.sidebar .sidebar-nav-scroll::-webkit-scrollbar-thumb:hover {
    background: var(--sidebar-scrollbar-thumb-hover);
}
.sidebar .sidebar-nav-scroll::-webkit-scrollbar-thumb:active {
    background: rgba(255, 255, 255, 0.28);
}
.sidebar .sidebar-nav-scroll::-webkit-scrollbar-corner {
    background: transparent;
}
