
.woo-side-menu-button{
    background:#111;
    color:#fff;
    border:none;
    padding:12px 18px;
    cursor:pointer;
    border-radius:6px;
    font-weight:600;
}

.woo-side-menu-overlay{
    position:fixed;
    top:100px;
    left:0;
    width:100%;
    height:calc(100% - 100px);
    background:rgba(0,0,0,.4);
    opacity:0;
    visibility:hidden;
    transition:.3s;
    z-index:9998;
}

.woo-side-menu-overlay.active{
    opacity:1;
    visibility:visible;
}

.woo-side-menu{
    position:fixed;
    top:100px;
    left:-340px;
    width:320px;
    background:#fff;
    z-index:9999;
    transition:.3s ease;
    box-shadow:0 10px 30px rgba(0,0,0,.12);
    overflow:visible;
}

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

.woo-side-menu-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 20px;
    border-bottom:1px solid #eee;
    font-size:18px;
    font-weight:700;
}

.woo-side-menu-close{
    background:none;
    border:none;
    font-size:28px;
    cursor:pointer;
}

.woo-category-item{
    position:static;
}

.woo-category-link{
    display:block;
    padding:16px 22px;
    border-bottom:1px solid #f2f2f2;
    text-decoration:none !important;
    color:#111 !important;
    transition:background .25s ease;
}

.woo-category-inner{
    display:flex;
    align-items:center;
    gap:14px;
    transition:transform .25s ease;
}

.woo-cat-icon{
    width:22px;
    height:22px;
    object-fit:contain;
    transition:.25s ease;
}

.woo-category-text{
    transition:color .25s ease;
}

.woo-category-link:hover .woo-category-inner{
    transform:translateX(6px);
}

.woo-category-link:hover .woo-category-text{
    color:#2196f3 !important;
}

.woo-category-link:hover .woo-cat-icon{
    transform:scale(1.08);
}

.woo-subcategories-panel{
    position:absolute;
    top:0;
    left:320px;
    width:320px;
    background:#fff;
    box-shadow:0 10px 25px rgba(0,0,0,.1);
    opacity:0;
    visibility:hidden;
}

.woo-category-item:hover .woo-subcategories-panel{
    opacity:1;
    visibility:visible;
}

.woo-subcategory-link{
    display:block;
    padding:14px 22px;
    border-bottom:1px solid #f2f2f2;
    text-decoration:none !important;
    color:#444 !important;
    transition:color .25s ease, background .25s ease;
}

.woo-subcategory-link span{
    display:inline-block;
    transition:transform .25s ease;
}

.woo-subcategory-link:hover{
    color:#2196f3 !important;
    background:#fafafa;
}

.woo-subcategory-link:hover span{
    transform:translateX(6px);
}

@media(max-width:767px){

    .woo-side-menu-button{
        position:relative;
        width:48px;
        height:48px;
        padding:0 !important;
        font-size:0 !important;
        color:transparent !important;
        overflow:hidden;
        display:flex;
        align-items:center;
        justify-content:center;
    }

    .woo-side-menu-button::after{
        content:"☰";
        position:absolute;
        left:50%;
        top:50%;
        transform:translate(-50%,-50%);
        font-size:24px;
        color:#fff;
    }

    .woo-side-menu{
        width:90%;
        left:-100%;
        overflow-y:auto;
        -webkit-overflow-scrolling:touch;
        max-height:100vh;
    }

    body.woo-menu-open{
        overflow:hidden;
    }

    .woo-subcategories-panel{
        position:relative;
        left:0;
        width:100%;
        opacity:1;
        visibility:visible;
        display:none;
        box-shadow:none;
    }

    .woo-category-item.active .woo-subcategories-panel{
        display:block;
    }
}
