/* ==========================================================
   Nagpurwala Pro - Premium Mobile Menu
========================================================== */

/* Overlay */

.np-mobile-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    opacity:0;
    visibility:hidden;
    transition:.3s ease;
    z-index:9998;
}

.np-mobile-overlay.active{
    opacity:1;
    visibility:visible;
}

/* Mobile Menu */

.np-mobile-menu{

    position:fixed;

    top:0;

    right:-340px;

    width:320px;

    max-width:100%;

    height:100vh;

    background:#ffffff;

    box-shadow:-10px 0 30px rgba(0,0,0,.15);

    transition:.35s ease;

    z-index:9999;

    display:flex;

    flex-direction:column;

}

.np-mobile-menu.active{

    right:0;

}

/* Header */

.np-mobile-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:20px;

    border-bottom:1px solid #e5e7eb;

}

.np-mobile-logo img{

    max-width:180px;

    height:auto;

    display:block;

}

.np-mobile-close{

    width:40px;

    height:40px;

    border:none;

    background:#f3f4f6;

    border-radius:50%;

    font-size:24px;

    cursor:pointer;

    transition:.3s;

}

.np-mobile-close:hover{

    background:#0d6efd;

    color:#fff;

}

/* Content */

.np-mobile-content{

    flex:1;

    overflow-y:auto;

    padding:20px;

}

/* Menu */

.mobile-nav{

    margin:0;

    padding:0;

    list-style:none;

}

.mobile-nav li{

    margin:0;

    padding:0;

    border-bottom:1px solid #f1f5f9;

}

.mobile-nav li:last-child{

    border-bottom:none;

}

.mobile-nav li a{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:15px 0;

    color:#1f2937;

    text-decoration:none;

    font-size:15px;

    font-weight:500;

    transition:.25s;

}

.mobile-nav li a:hover{

    color:#0d6efd;

    padding-left:8px;

}

/* Sub Menu */

.mobile-nav .sub-menu{

    display:none;

    padding-left:15px;

}

.mobile-nav .menu-item-has-children.active>.sub-menu{

    display:block;

}

.mobile-nav .sub-menu li a{

    font-size:14px;

    color:#6b7280;

    padding:10px 0;

}

/* Footer */

.np-mobile-footer{

    padding:20px;

    border-top:1px solid #e5e7eb;

    display:flex;

    flex-direction:column;

    gap:12px;

}

.np-mobile-btn{

    display:flex;

    justify-content:center;

    align-items:center;

    padding:12px;

    border-radius:8px;

    text-decoration:none;

    font-weight:600;

    background:#f3f4f6;

    color:#1f2937;

    transition:.25s;

}

.np-mobile-btn:hover{

    background:#0d6efd;

    color:#fff;

}

.np-primary-btn{

    background:#0d6efd;

    color:#fff;

}

.np-primary-btn:hover{

    background:#084298;

}

/* Scrollbar */

.np-mobile-content::-webkit-scrollbar{

    width:6px;

}

.np-mobile-content::-webkit-scrollbar-thumb{

    background:#d1d5db;

    border-radius:10px;

}

/* Desktop */

@media(min-width:993px){

    .np-mobile-menu,

    .np-mobile-overlay{

        display:none !important;

    }

}

/* Small Mobile */

@media(max-width:480px){

    .np-mobile-menu{

        width:100%;

    }

}