/* =====================================================
   CLASSIFIED SMART SIDEBAR
===================================================== */

:root {
    --sidebar-full: 320px;
    --sidebar-mini: 82px;
}


/* -----------------------------------------------------
   NORMAL MOTION
----------------------------------------------------- */

.sidebar {
    transition:
        width .30s cubic-bezier(.22,.8,.25,1),
        transform .30s cubic-bezier(.22,.8,.25,1),
        background .25s ease,
        box-shadow .25s ease !important;
}

.main {
    transition:
        margin-left .30s cubic-bezier(.22,.8,.25,1),
        margin-right .30s cubic-bezier(.22,.8,.25,1) !important;
}


/* -----------------------------------------------------
   COMPACT MODE
----------------------------------------------------- */

@media (min-width: 901px) {

    body.smart-sidebar-compact .sidebar {
        width: var(--sidebar-mini) !important;
    }

    html[dir="rtl"] body.smart-sidebar-compact .main {
        margin-right: var(--sidebar-mini) !important;
        margin-left: 0 !important;
    }

    html[dir="ltr"] body.smart-sidebar-compact .main {
        margin-left: var(--sidebar-mini) !important;
        margin-right: 0 !important;
    }


    /* Hide text while compact */

    body.smart-sidebar-compact .sidebar .nav-title,
    body.smart-sidebar-compact .sidebar .dev,
    body.smart-sidebar-compact .sidebar .sidebar-version,
    body.smart-sidebar-compact .sidebar .language-sidebar-title,
    body.smart-sidebar-compact .sidebar .language-sidebar-options,
    body.smart-sidebar-compact .sidebar .account-user-link strong,
    body.smart-sidebar-compact .sidebar .account-user-link small {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;

        max-width: 0 !important;
        max-height: 0 !important;

        overflow: hidden !important;
    }


    body.smart-sidebar-compact
    .sidebar
    .nav-link
    > span:not(.nav-icon) {
        opacity: 0 !important;
        visibility: hidden !important;

        width: 0 !important;
        max-width: 0 !important;

        overflow: hidden !important;

        pointer-events: none !important;
    }


    /* Center nav icons */

    body.smart-sidebar-compact .sidebar .nav-link {
        justify-content: center !important;

        padding-left: 0 !important;
        padding-right: 0 !important;

        gap: 0 !important;
    }

    body.smart-sidebar-compact .sidebar .nav-icon {
        width: auto !important;
        margin: 0 !important;

        font-size: 14px !important;
    }


    /* Compact logo */

    body.smart-sidebar-compact .sidebar-logo {
        font-size: 0 !important;

        text-align: center !important;

        letter-spacing: 0 !important;
    }

    body.smart-sidebar-compact .sidebar-logo span {
        font-size: 19px !important;
    }


    /* Sidebar gets subtle depth */

    body.smart-sidebar-compact .sidebar {
        box-shadow:
            0 0 35px rgba(0,0,0,.22) !important;
    }


    /* -------------------------------------------------
       HOVER EXPANSION
    ------------------------------------------------- */

    body.smart-sidebar-compact .sidebar:hover,
    body.smart-sidebar-compact .sidebar:focus-within {
        width: var(--sidebar-full) !important;

        box-shadow:
            0 18px 70px rgba(0,0,0,.45) !important;
    }


    /* Restore labels on hover */

    body.smart-sidebar-compact
    .sidebar:hover
    .nav-title,

    body.smart-sidebar-compact
    .sidebar:hover
    .dev,

    body.smart-sidebar-compact
    .sidebar:hover
    .sidebar-version,

    body.smart-sidebar-compact
    .sidebar:hover
    .language-sidebar-title,

    body.smart-sidebar-compact
    .sidebar:hover
    .language-sidebar-options,

    body.smart-sidebar-compact
    .sidebar:hover
    .account-user-link strong,

    body.smart-sidebar-compact
    .sidebar:hover
    .account-user-link small,

    body.smart-sidebar-compact
    .sidebar:focus-within
    .nav-title,

    body.smart-sidebar-compact
    .sidebar:focus-within
    .dev,

    body.smart-sidebar-compact
    .sidebar:focus-within
    .sidebar-version,

    body.smart-sidebar-compact
    .sidebar:focus-within
    .language-sidebar-title,

    body.smart-sidebar-compact
    .sidebar:focus-within
    .language-sidebar-options,

    body.smart-sidebar-compact
    .sidebar:focus-within
    .account-user-link strong,

    body.smart-sidebar-compact
    .sidebar:focus-within
    .account-user-link small {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;

        max-width: none !important;
        max-height: none !important;
    }


    body.smart-sidebar-compact
    .sidebar:hover
    .nav-link
    > span:not(.nav-icon),

    body.smart-sidebar-compact
    .sidebar:focus-within
    .nav-link
    > span:not(.nav-icon) {
        opacity: 1 !important;
        visibility: visible !important;

        width: auto !important;
        max-width: none !important;

        pointer-events: auto !important;
    }


    body.smart-sidebar-compact
    .sidebar:hover
    .nav-link,

    body.smart-sidebar-compact
    .sidebar:focus-within
    .nav-link {
        justify-content: flex-start !important;
        gap: 12px !important;

        padding-left: 13px !important;
        padding-right: 13px !important;
    }


    html[dir="rtl"]
    body.smart-sidebar-compact
    .sidebar:hover
    .nav-link,

    html[dir="rtl"]
    body.smart-sidebar-compact
    .sidebar:focus-within
    .nav-link {
        justify-content: flex-start !important;
    }


    /* Restore logo */

    body.smart-sidebar-compact
    .sidebar:hover
    .sidebar-logo,

    body.smart-sidebar-compact
    .sidebar:focus-within
    .sidebar-logo {
        font-size: 17px !important;

        letter-spacing: 4px !important;
    }

}


/* -----------------------------------------------------
   SMALL POLISH
----------------------------------------------------- */

.sidebar .nav-title,
.sidebar .dev,
.sidebar .sidebar-version,
.sidebar .nav-link span,
.sidebar .account-user-link strong,
.sidebar .account-user-link small {
    transition:
        opacity .18s ease,
        visibility .18s ease !important;
}


/* Mobile stays normal */

@media (max-width: 900px) {

    body.smart-sidebar-compact .sidebar {
        width: 285px !important;
    }

    html[dir="rtl"] body.smart-sidebar-compact .main,
    html[dir="ltr"] body.smart-sidebar-compact .main {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

}


/* Accessibility */

@media (prefers-reduced-motion: reduce) {

    .sidebar,
    .main,
    .sidebar * {
        transition: none !important;
    }

}

/* =====================================================
   COMPACT SIDEBAR - HIDE ALL TEXT SAFELY
===================================================== */

@media (min-width: 901px) {

    body.smart-sidebar-compact .sidebar .nav-link {
        font-size: 0 !important;
        line-height: 1 !important;

        justify-content: center !important;

        padding-left: 0 !important;
        padding-right: 0 !important;

        gap: 0 !important;
    }

    body.smart-sidebar-compact .sidebar .nav-link .nav-icon {
        display: inline-flex !important;

        align-items: center;
        justify-content: center;

        width: 30px !important;

        font-size: 14px !important;
        line-height: 1 !important;

        opacity: 1 !important;
        visibility: visible !important;
    }

    body.smart-sidebar-compact .sidebar .nav-link strong,
    body.smart-sidebar-compact .sidebar .nav-link small,
    body.smart-sidebar-compact .sidebar .nav-link span:not(.nav-icon) {
        display: none !important;
    }


    /* Account */

    body.smart-sidebar-compact .sidebar .logged-account {
        font-size: 0 !important;
    }

    body.smart-sidebar-compact .sidebar .logged-account strong,
    body.smart-sidebar-compact .sidebar .logged-account small {
        display: none !important;
    }


    /* Hide section titles */

    body.smart-sidebar-compact .sidebar .nav-title,
    body.smart-sidebar-compact .sidebar .dev,
    body.smart-sidebar-compact .sidebar .sidebar-version,
    body.smart-sidebar-compact .sidebar .language-sidebar-title,
    body.smart-sidebar-compact .sidebar .language-sidebar-options {
        display: none !important;
    }


    /* Logo compact */

    body.smart-sidebar-compact .sidebar-logo {
        font-size: 0 !important;
        text-align: center !important;
    }

    body.smart-sidebar-compact .sidebar-logo span {
        display: inline-block !important;
        font-size: 18px !important;
    }


    /* Hover = restore full menu */

    body.smart-sidebar-compact .sidebar:hover .nav-link,
    body.smart-sidebar-compact .sidebar:focus-within .nav-link {
        font-size: 13px !important;

        justify-content: flex-start !important;

        padding-left: 13px !important;
        padding-right: 13px !important;

        gap: 12px !important;
    }

    body.smart-sidebar-compact .sidebar:hover .nav-link strong,
    body.smart-sidebar-compact .sidebar:hover .nav-link small,
    body.smart-sidebar-compact .sidebar:hover .nav-link span:not(.nav-icon),
    body.smart-sidebar-compact .sidebar:focus-within .nav-link strong,
    body.smart-sidebar-compact .sidebar:focus-within .nav-link small,
    body.smart-sidebar-compact .sidebar:focus-within .nav-link span:not(.nav-icon) {
        display: inline !important;
    }

    body.smart-sidebar-compact .sidebar:hover .logged-account strong,
    body.smart-sidebar-compact .sidebar:hover .logged-account small,
    body.smart-sidebar-compact .sidebar:focus-within .logged-account strong,
    body.smart-sidebar-compact .sidebar:focus-within .logged-account small {
        display: block !important;
    }

    body.smart-sidebar-compact .sidebar:hover .nav-title,
    body.smart-sidebar-compact .sidebar:hover .dev,
    body.smart-sidebar-compact .sidebar:hover .sidebar-version,
    body.smart-sidebar-compact .sidebar:hover .language-sidebar-title,
    body.smart-sidebar-compact .sidebar:hover .language-sidebar-options,
    body.smart-sidebar-compact .sidebar:focus-within .nav-title,
    body.smart-sidebar-compact .sidebar:focus-within .dev,
    body.smart-sidebar-compact .sidebar:focus-within .sidebar-version,
    body.smart-sidebar-compact .sidebar:focus-within .language-sidebar-title,
    body.smart-sidebar-compact .sidebar:focus-within .language-sidebar-options {
        display: block !important;
    }

}
