.toggle-menu-mobile{
    display:flex!important;
    align-items:center;
    gap:10px;
}

.toggle-menu-mobile span{
    width:20px!important;
    height:14px!important;
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    background:transparent!important;
}

.toggle-menu-mobile span:before,
.toggle-menu-mobile span:after{
    content:"";
    position:absolute;
    left:0;
    width:20px;
    height:2px;
    background:#1d1d1b!important;
    transition:transform .2s ease, top .2s ease;
}

.toggle-menu-mobile span:before{top:3px!important;}
.toggle-menu-mobile span:after{top:11px!important;}

.toggle-menu-mobile.on span:before{
    top:7px!important;
    transform:rotate(45deg);
}

.toggle-menu-mobile.on span:after{
    top:7px!important;
    transform:rotate(-45deg);
}

.menu-mobile{
    display:none!important;
}

.menu-mobile.active{
    display:block!important;
}

/* Compact dropdown menu */
.menu-mobile,
.menu-mobile.active,
.menu-mobile:not(.active){
    transform:none!important;
}

.menu-mobile.active{
    display:block!important;
    position:fixed!important;
    top:118px!important;
    right:130px!important;
    left:auto!important;
    width:320px!important;
    height:auto!important;
    max-height:calc(100vh - 140px)!important;
    padding:18px 22px!important;
    background:#fff!important;
    border-radius:10px!important;
    box-shadow:0 12px 35px rgba(0,0,0,.18)!important;
    overflow:auto!important;
    z-index:99999!important;
}

.menu-mobile__inner{
    height:auto!important;
    margin-top:0!important;
    max-height:none!important;
    overflow:visible!important;
    opacity:1!important;
}

.menu-mobile__container{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
}

.menu-mobile .menu{
    margin:0!important;
    padding:0!important;
}

.menu-mobile .menu li{
    list-style:none!important;
    margin:0!important;
}

.menu-mobile .menu a{
    display:block!important;
    padding:9px 4px!important;
    line-height:1.25!important;
}

@media (max-width:991.98px){
    .menu-mobile.active{
        top:150px!important;
        left:12px!important;
        right:12px!important;
        width:auto!important;
        max-height:calc(100vh - 165px)!important;
    }

    .menu-mobile__wrap{
        height:auto!important;
    }
}


/* layout fix */
.menu-mobile.active{
    right:16px!important;
    left:auto!important;
    width:280px!important;
    max-width:calc(100vw - 32px)!important;
}

.menu-mobile__container,
.menu-mobile__container.container{
    padding:0!important;
    margin:0!important;
    width:100%!important;
    max-width:none!important;
}

.menu-mobile .menu,
.menu-mobile__wrap .menu,
.menu-mobile__container .menu{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
}

.menu-mobile .menu li,
.menu-mobile__wrap .menu li,
.menu-mobile__container .menu li{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
}

.menu-mobile .menu a,
.menu-mobile__wrap .menu a,
.menu-mobile__container .menu a{
    display:block!important;
    width:100%!important;
    padding:10px 4px!important;
    white-space:normal!important;
    line-height:1.25!important;
}

@media (max-width:991.98px){
    .menu-mobile.active{
        right:12px!important;
        left:auto!important;
        width:260px!important;
        max-width:calc(100vw - 24px)!important;
    }
}

/* Final vertical menu layout */
.menu-mobile .menu,
.menu-mobile__container .menu,
.menu-mobile__wrap .menu{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
}

.menu-mobile .menu li,
.menu-mobile__container .menu li,
.menu-mobile__wrap .menu li{
    float:none!important;
    clear:both!important;
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    flex:none!important;
    text-align:left!important;
    white-space:normal!important;
    display:block;
}

.menu-mobile .menu li[style*="display: none"],
.menu-mobile .menu li[style*="display:none"]{
    display:none!important;
}

.menu-mobile .menu a,
.menu-mobile__container .menu a,
.menu-mobile__wrap .menu a{
    display:block!important;
    float:none!important;
    width:100%!important;
    box-sizing:border-box!important;
    padding:10px 8px!important;
    margin:0!important;
    white-space:normal!important;
    overflow:visible!important;
    line-height:1.3!important;
    text-align:left!important;
}

.menu-mobile.active{
    overflow-x:hidden!important;
}
