/*======================================
EIVOX SIDEBAR CSS
Version: 1.0
======================================*/


/*======================================
SIDEBAR
======================================*/

.sidebar{

    position:fixed;

    top:0;

    left:0;

    width:280px;

    height:100vh;

    background:var(--card);

    border-right:1px solid var(--border);

    display:flex;

    flex-direction:column;

    z-index:var(--z-fixed);

    transition:.35s ease;

    overflow-y:auto;

}


/*======================================
SIDEBAR HEADER
======================================*/

/*======================================
SIDEBAR LOGO
======================================*/

.sidebar-header img{

    width:auto;

    max-width:140px;

    height:42px;

    object-fit:contain;

    display:block;

}

.sidebar-logo{

    width:48px;

    height:48px;

    object-fit:contain;

}

.sidebar-title{

    font-size:1.2rem;

    font-weight:700;

    color:var(--text);

}


/*======================================
USER
======================================*/

.sidebar-user{

    display:flex;

    align-items:center;

    gap:15px;

    padding:20px;

    border-bottom:1px solid var(--border);

}

.sidebar-user img{

    width:60px;

    height:60px;

    border-radius:50%;

    object-fit:cover;

}

.sidebar-user-info{

    flex:1;

}

.sidebar-user-info h4{

    margin:0;

    color:var(--text);

}

.sidebar-user-info span{

    color:var(--text-muted);

    font-size:.9rem;

}


/*======================================
MENU
======================================*/

.sidebar-menu{

    flex:1;

    padding:20px 12px;

}

.sidebar-menu ul{

    display:flex;

    flex-direction:column;

    gap:6px;

}

.sidebar-menu li{

    list-style:none;

}

.sidebar-menu a{

    display:flex;

    align-items:center;

    gap:14px;

    padding:14px 16px;

    border-radius:var(--radius);

    color:var(--text-light);

    transition:var(--transition);

}

.sidebar-menu a:hover{

    background:var(--surface);

    color:var(--text);

}

.sidebar-menu a.active{

    background:var(--primary);

    color:#fff;

}

.sidebar-menu a svg,
.sidebar-menu a i{

    width:22px;

    height:22px;

    flex-shrink:0;

}


/*======================================
MENU TITLE
======================================*/

.sidebar-heading{

    margin:24px 16px 10px;

    font-size:.75rem;

    font-weight:700;

    color:var(--text-muted);

    text-transform:uppercase;

    letter-spacing:1px;

}


/*======================================
BADGE
======================================*/

.sidebar-badge{

    margin-left:auto;

    min-width:22px;

    height:22px;

    padding:0 6px;

    border-radius:999px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:var(--danger);

    color:#fff;

    font-size:11px;

    font-weight:700;

}


/*======================================
FOOTER
======================================*/

.sidebar-footer{

    padding:20px;

    border-top:1px solid var(--border);

}


/*======================================
OVERLAY
======================================*/

.sidebar-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.6);

    backdrop-filter:blur(4px);

    -webkit-backdrop-filter:blur(4px);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:calc(var(--z-fixed) - 1);

}

.sidebar-overlay.active{

    opacity:1;

    visibility:visible;

}


/*======================================
MOBILE
======================================*/

@media(max-width:991px){

    .sidebar{

        transform:translateX(-100%);

        width:300px;

        max-width:90%;

    }

    .sidebar.active{

        transform:translateX(0);

    }

}


/*======================================
DESKTOP
======================================*/

@media(min-width:992px){

    .sidebar{

        transform:none;

    }

}


/*======================================
VISITOR SIDEBAR
======================================*/

.sidebar{

    position:fixed;

    top:0;

    left:-340px;

    width:320px;

    max-width:90%;

    height:100vh;

    background:var(--card);

    border-right:1px solid var(--border);

    display:flex;

    flex-direction:column;

    z-index:1200;

    transition:.35s ease;

    overflow:hidden;

    box-shadow:var(--shadow-xl);

}

.sidebar.active{

    left:0;

}


/*======================================
OVERLAY
======================================*/

.sidebar-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.65);

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:1199;

}

.sidebar-overlay.active{

    opacity:1;

    visibility:visible;

}


/*======================================
HEADER
======================================*/

.sidebar-header{

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:20px;

    border-bottom:1px solid var(--border);

    background:var(--surface);

}

.sidebar-header img{

    width:50px;

    height:50px;

    object-fit:contain;

}

.sidebar-header button{

    width:42px;

    height:42px;

    border:none;

    outline:none;

    cursor:pointer;

    border-radius:50%;

    background:var(--surface);

    color:var(--text);

    transition:var(--transition);

}

.sidebar-header button:hover{

    background:var(--primary);

    color:#fff;

}

.sidebar-header button svg{

    width:20px;

    height:20px;

}


/*======================================
USER
======================================*/

.sidebar-user{

    padding:25px 20px;

    text-align:center;

    border-bottom:1px solid var(--border);

}

.avatar{

    width:80px;

    height:80px;

    margin:0 auto 15px;

    border-radius:50%;

    background:var(--surface);

    display:flex;

    align-items:center;

    justify-content:center;

}

.avatar svg{

    width:36px;

    height:36px;

    color:var(--primary);

}

.sidebar-user h3{

    color:var(--text);

    font-size:1.15rem;

    margin-bottom:8px;

}

.sidebar-user p{

    color:var(--text-muted);

    font-size:.9rem;

    line-height:1.6;

}


/*======================================
MENU
======================================*/

.sidebar-menu{

    flex:1;

    overflow-y:auto;

    padding:15px;

}

.sidebar-menu a{

    display:flex;

    align-items:center;

    gap:14px;

    padding:14px 16px;

    margin-bottom:8px;

    border-radius:14px;

    text-decoration:none;

    color:var(--text);

    transition:var(--transition);

    font-weight:500;

}

.sidebar-menu a svg{

    width:20px;

    height:20px;

    color:var(--primary);

}

.sidebar-menu a:hover{

    background:var(--surface);

    transform:translateX(6px);

}

.sidebar-menu a.active{

    background:var(--primary);

    color:#fff;

}

.sidebar-menu a.active svg{

    color:#fff;

}

.sidebar-menu hr{

    border:none;

    border-top:1px solid var(--border);

    margin:18px 0;

}


/*======================================
FOOTER
======================================*/

.sidebar-footer{

    padding:20px;

    border-top:1px solid var(--border);

    background:var(--surface);

}

.sidebar-footer small{

    display:block;

    color:var(--text-muted);

    font-size:.82rem;

    line-height:1.7;

}


/*======================================
SCROLLBAR
======================================*/

.sidebar-menu::-webkit-scrollbar{

    width:6px;

}

.sidebar-menu::-webkit-scrollbar-thumb{

    background:var(--border);

    border-radius:20px;

}

.sidebar-menu::-webkit-scrollbar-thumb:hover{

    background:var(--primary);

}


/*======================================
RESPONSIVE
======================================*/

@media(max-width:767px){

    .sidebar{

        width:290px;

    }

    .sidebar-header{

        padding:16px;

    }

    .sidebar-user{

        padding:20px 16px;

    }

    .sidebar-menu{

        padding:12px;

    }

    .sidebar-footer{

        padding:16px;

    }

}

@media(max-width:480px){

    .sidebar{

        width:270px;

    }

    .avatar{

        width:70px;

        height:70px;

    }

    .avatar svg{

        width:30px;

        height:30px;

    }

}


/*======================================
MEMBER SIDEBAR HEADER
======================================*/

.member-header{

    display:flex;

    justify-content:flex-end;

    align-items:center;

    padding:20px;

    border-bottom:1px solid var(--border);

    background:var(--surface);

}

.sidebar-close{

    width:42px;

    height:42px;

    border:none;

    border-radius:50%;

    background:var(--surface);

    color:var(--text);

    display:flex;

    align-items:center;

    justify-content:center;

    cursor:pointer;

    transition:var(--transition);

}

.sidebar-close:hover{

    background:var(--primary);

    color:#fff;

    transform:rotate(90deg);

}

.sidebar-close svg{

    width:22px;

    height:22px;

}


/*======================================
MEMBER PROFILE
======================================*/

.member-top{

    padding:30px 20px;

    text-align:center;

    border-bottom:1px solid var(--border);

}

.member-avatar{

    width:90px;

    height:90px;

    margin:0 auto 18px;

    border-radius:50%;

    overflow:hidden;

    border:4px solid var(--primary);

    background:var(--surface);

    box-shadow:var(--shadow);

}

.member-avatar img{

    width:100%;

    height:100%;

    object-fit:cover;

}

.member-top h3{

    color:var(--text);

    font-size:1.1rem;

    font-weight:700;

    margin-bottom:6px;

}

.member-top p{

    color:var(--text-muted);

    font-size:.9rem;

    margin-bottom:14px;

    word-break:break-word;

}

.member-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:7px 16px;

    border-radius:999px;

    background:rgba(255,193,7,.12);

    color:#FFC107;

    font-size:.8rem;

    font-weight:600;

}


/*======================================
MEMBER MENU
======================================*/

.member-menu{

    flex:1;

    overflow-y:auto;

    padding:18px 15px;

}

.member-menu::-webkit-scrollbar{

    width:6px;

}

.member-menu::-webkit-scrollbar-thumb{

    background:var(--border);

    border-radius:30px;

}

.member-menu::-webkit-scrollbar-thumb:hover{

    background:var(--primary);

}


/*======================================
MENU TITLE
======================================*/

.menu-title{

    display:block;

    padding:12px 12px 8px;

    color:var(--text-muted);

    font-size:.72rem;

    font-weight:700;

    letter-spacing:1.5px;

    text-transform:uppercase;

}


/*======================================
MEMBER LINKS
======================================*/

.member-menu a{

    display:flex;

    align-items:center;

    gap:14px;

    padding:14px 14px;

    margin-bottom:8px;

    border-radius:14px;

    text-decoration:none;

    color:var(--text);

    transition:var(--transition);

    font-weight:500;

}

.member-menu a svg{

    width:20px;

    height:20px;

    color:var(--primary);

}

.member-menu a:hover{

    background:var(--surface);

    transform:translateX(6px);

}

.member-menu a.active{

    background:var(--primary);

    color:#fff;

    box-shadow:var(--shadow);

}

.member-menu a.active svg{

    color:#fff;

}

.member-menu hr{

    border:none;

    border-top:1px solid var(--border);

    margin:20px 0;

}


/*======================================
BOTTOM
======================================*/

.sidebar-bottom{

    padding:20px;

    border-top:1px solid var(--border);

    background:var(--surface);

}


/*======================================
LOGOUT
======================================*/

.logout-btn{

    width:100%;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:14px;

    border-radius:14px;

    text-decoration:none;

    background:#dc3545;

    color:#fff;

    font-weight:600;

    transition:var(--transition);

}

.logout-btn:hover{

    background:#bb2d3b;

    transform:translateY(-2px);

}

.logout-btn svg{

    width:20px;

    height:20px;

}


/*======================================
MOBILE
======================================*/

@media(max-width:767px){

    .member-top{

        padding:24px 16px;

    }

    .member-avatar{

        width:80px;

        height:80px;

    }

    .member-menu{

        padding:12px;

    }

    .sidebar-bottom{

        padding:16px;

    }

}

@media(max-width:480px){

    .member-avatar{

        width:72px;

        height:72px;

    }

    .member-top h3{

        font-size:1rem;

    }

    .member-top p{

        font-size:.82rem;

    }

}