/* ==========================================
   PREMIUM HAMBURGER MENU
   Madarasatu Abu-Huraiara
========================================== */

/* Sidebar */

.side-menu{
    position:fixed;
    top:0;
    left:-360px;
    width:340px;
    max-width:90%;
    height:100vh;
    background:#ffffff;
    box-shadow:8px 0 35px rgba(0,0,0,.18);
    transition:left .45s ease;
    z-index:9999;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}

.side-menu.active{
    left:0;
}

/* Header */

.menu-header{
    background:linear-gradient(135deg,#0B7A3B,#14532D);
    color:#fff;
    padding:22px;
    position:relative;
}

.menu-logo{
    display:flex;
    align-items:center;
    gap:15px;
}

.menu-logo img{
    width:70px;
    height:70px;
    border-radius:50%;
    background:#fff;
    padding:6px;
    object-fit:cover;
}

.menu-logo h2{
    margin:0;
    font-size:22px;
    font-weight:700;
}

.menu-logo p{
    margin-top:4px;
    font-size:13px;
    color:#FDE68A;
}

/* Close Button */

#closeMenu{
    position:absolute;
    right:18px;
    top:18px;
    width:42px;
    height:42px;
    border:none;
    border-radius:50%;
    background:#fff;
    color:#0B7A3B;
    cursor:pointer;
    font-size:18px;
    transition:.3s;
}

#closeMenu:hover{
    transform:rotate(90deg);
    background:#F3F4F6;
}

/* Scroll Area */

.menu-scroll{
    flex:1;
    overflow-y:auto;
    padding:20px 16px;
    background:#FAFAFA;
}

/* Scrollbar */

.menu-scroll::-webkit-scrollbar{
    width:6px;
}

.menu-scroll::-webkit-scrollbar-thumb{
    background:#C9A227;
    border-radius:20px;
}

/* Groups */

.menu-group{
    margin-bottom:28px;
}

.menu-title{
    font-size:15px;
    font-weight:700;
    color:#0B7A3B;
    margin-bottom:12px;
    text-transform:uppercase;
    letter-spacing:.5px;
    display:flex;
    align-items:center;
    gap:8px;
}

/* Links */

.menu-item{
    display:flex;
    align-items:center;
    gap:15px;
    padding:14px 16px;
    border-radius:12px;
    margin-bottom:8px;
    text-decoration:none;
    color:#333;
    background:#fff;
    transition:all .3s ease;
    box-shadow:0 2px 8px rgba(0,0,0,.04);
    font-weight:500;
}

.menu-item i{
    width:24px;
    text-align:center;
    color:#0B7A3B;
    font-size:18px;
}

.menu-item span{
    flex:1;
}

.menu-item:hover{
    background:#0B7A3B;
    color:#fff;
    transform:translateX(8px);
}

.menu-item:hover i{
    color:#FFD54A;
}

.menu-item.active{
    background:#0B7A3B;
    color:#fff;
}

.menu-item.active i{
    color:#FFD54A;
}

/* Overlay */

#overlay{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.45);
    opacity:0;
    visibility:hidden;
    transition:.35s;
    z-index:9998;
}

#overlay.active{
    opacity:1;
    visibility:visible;
}

/* Hamburger Button */

.menu-btn{
    width:48px;
    height:48px;
    border:none;
    border-radius:12px;
    background:#0B7A3B;
    color:#fff;
    cursor:pointer;
    font-size:20px;
    transition:.3s;
}

.menu-btn:hover{
    background:#14532D;
    transform:scale(1.05);
}

/* Mobile */

@media (max-width:768px){

    .side-menu{
        width:320px;
    }

    .menu-logo h2{
        font-size:19px;
    }

    .menu-item{
        padding:13px 14px;
    }

}