/*
Template Name: Velzon - Admin & Dashboard Template
Author: Themesbrand
Website: https://themesbrand.com/
Contact: support@themesbrand.com
File: Custom Css File
*/

/*
 * Sidebar : scroll natif visible de bout en bout (menu),
 * indépendant du scroll de la page principale.
 * SimpleBar est volontairement désactivé ici (peu fiable sur mobile).
 */
:is([data-layout=vertical], [data-layout=semibox]) .navbar-menu {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    /* Annule le padding bas du thème qui coupe le bas du menu */
    padding-bottom: 0 !important;
}

:is([data-layout=vertical], [data-layout=semibox]) .navbar-menu .navbar-brand-box,
:is([data-layout=vertical], [data-layout=semibox]) .navbar-menu .sidebar-user {
    flex-shrink: 0;
}

:is([data-layout=vertical], [data-layout=semibox]) .navbar-menu:has(.sidebar-context-panel) {
    padding-bottom: 0 !important;
}

/* Zone de navigation : seul élément scrollable */
:is([data-layout=vertical], [data-layout=semibox]) .navbar-menu > #scrollbar.sidebar-nav-scroll {
    flex: 1 1 0;
    min-height: 0;
    height: auto !important;
    max-height: none;
    overflow-x: hidden;
    overflow-y: scroll; /* barre toujours visible quand le contenu dépasse */
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    scrollbar-gutter: stable;
    /* Marge basse pour que « Changer de module » ne soit jamais coupé */
    padding-bottom: 1.5rem;
}

/* Si selects org en bas (panel absolu), laisser la place dans le scroll */
:is([data-layout=vertical], [data-layout=semibox]) .navbar-menu:has(.sidebar-context-panel) > #scrollbar.sidebar-nav-scroll {
    padding-bottom: 10rem;
}

/* Barre de scroll visible (WebKit / Chromium / Safari / Android) */
:is([data-layout=vertical], [data-layout=semibox]) .navbar-menu > #scrollbar.sidebar-nav-scroll::-webkit-scrollbar {
    width: 10px;
}

:is([data-layout=vertical], [data-layout=semibox]) .navbar-menu > #scrollbar.sidebar-nav-scroll::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.2);
}

:is([data-layout=vertical], [data-layout=semibox]) .navbar-menu > #scrollbar.sidebar-nav-scroll::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.45);
    border-radius: 6px;
    border: 2px solid transparent;
    background-clip: padding-box;
}

:is([data-layout=vertical], [data-layout=semibox]) .navbar-menu > #scrollbar.sidebar-nav-scroll::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.65);
    background-clip: padding-box;
}

/* Firefox */
:is([data-layout=vertical], [data-layout=semibox]) .navbar-menu > #scrollbar.sidebar-nav-scroll {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.5) rgba(0, 0, 0, 0.2);
}

:is([data-layout=vertical], [data-layout=semibox]) .navbar-menu .sidebar-context-panel {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    flex-shrink: 0;
    background: var(--vz-vertical-menu-bg);
}

:is([data-layout=vertical], [data-layout=semibox]) .navbar-menu .sidebar-context-bar {
    display: block;
    height: 1.25rem;
    margin: 0;
    position: relative;
}

:is([data-layout=vertical], [data-layout=semibox]) .navbar-menu .sidebar-context-bar::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-color: #3a4354;
}

@media (max-width: 767.98px) {
    :is([data-layout=vertical], [data-layout=semibox]) .navbar-menu {
        height: 100vh;
        height: 100dvh;
        max-height: 100vh;
        max-height: 100dvh;
        padding-top: 10px !important;
        padding-bottom: 0 !important;
    }

    :is([data-layout=vertical], [data-layout=semibox]) .navbar-menu > #scrollbar.sidebar-nav-scroll {
        flex: 1 1 0;
        min-height: 0;
        overflow-y: scroll;
        padding-bottom: 2rem;
    }

    :is([data-layout=vertical], [data-layout=semibox]) .navbar-menu:has(.sidebar-context-panel) > #scrollbar.sidebar-nav-scroll {
        padding-bottom: 11rem;
    }
}

/* Contexte org / entrepôt : selects */
.sidebar-context-selects .select2-container {
    width: 100% !important;
}

.sidebar-context-selects #active_org + .select2-container {
    margin-bottom: 0.5rem;
}

.sidebar-context-selects .select2-container--default .select2-selection--single {
    min-height: calc(1.5em + 0.5rem + calc(var(--vz-border-width) * 2));
    border-radius: var(--vz-border-radius-sm);
}

.sidebar-context-selects .select2-container--default .select2-selection--single .select2-selection__rendered {
    font-size: calc(var(--vz-font-base) * 0.875);
    padding: 0.25rem 2rem 0.25rem 0.5rem;
}

.sidebar-context-selects .select2-container--default .select2-selection--single .select2-selection__arrow {
    right: 0.5rem;
}

/* Logos INERA (plus hauts que Velzon) */
.navbar-brand-box .logo img {
    max-width: 100%;
    object-fit: contain;
}

.navbar-brand-box {
    padding-top: 0.85rem !important;
    padding-bottom: 0.85rem !important;
}

.navbar-brand-box .logo .logo-lg img {
    height: 36px;
}

.navbar-brand-box .logo .logo-sm img {
    height: 28px;
}
