*{
    box-sizing:border-box;
}

.aaf-wrapper{
    position:relative;
}

/*
--------------------------------
SIDEBAR
--------------------------------
*/

.aaf-sidebar{
    width:280px;
    background:#fff;
    padding:20px;
    border-radius:0;
    border-right:1px solid #eee;
}

/*
--------------------------------
HEADER
--------------------------------
*/

.aaf-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}

.aaf-header h3{
    font-size:24px;
    margin:0;
    font-weight:700;
}

.aaf-close{
    display:none;
    font-size:28px;
    cursor:pointer;
}

/*
--------------------------------
FILTER GROUP
--------------------------------
*/

.aaf-group{
    border-bottom:1px solid #eee;
    padding:16px 0;
}

.aaf-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
    font-size:16px;
    font-weight:600;
}

.aaf-toggle{
    font-size:22px;
}

.aaf-content{
    display:none;
    padding-top:16px;
}

/*
--------------------------------
LABEL
--------------------------------
*/

.aaf-label{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
    font-size:14px;
    cursor:pointer;
    color:#222;
}

.aaf-label input{
    width:16px;
    height:16px;
}

/*
--------------------------------
PRICE
--------------------------------
*/

#aaf-price{
    width:100%;
}

.aaf-price{
    margin-top:10px;
    font-size:14px;
    font-weight:500;
}

/*
--------------------------------
BUTTONS
--------------------------------
*/

.aaf-buttons{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:20px;
}

.aaf-apply,
.aaf-clear{
    width:100%;
    border:none;
    padding:14px;
    border-radius:6px;
    cursor:pointer;
    font-size:15px;
    font-weight:600;
    transition:.3s;
}

.aaf-apply{
    background:#111;
    color:#fff;
}

.aaf-clear{
    background:#f3f3f3;
    color:#111;
}

.aaf-apply:hover,
.aaf-clear:hover{
    transform:translateY(-2px);
}

/*
--------------------------------
MOBILE BUTTON
--------------------------------
*/

.aaf-mobile-btn{
    display:none;
}

.aaf-overlay{
    display:none;
}

/*
--------------------------------
MOBILE VIEW
--------------------------------
*/

@media(max-width:768px){

    .aaf-mobile-btn{

        display:block;

        position:fixed;

        bottom:20px;
        right:20px;

        z-index:99999;

        border:none;

        background:#111;
        color:#fff;

        padding:14px 24px;

        border-radius:100px;

        font-size:15px;
        font-weight:600;

        cursor:pointer;

        box-shadow:0 4px 20px rgba(0,0,0,.2);
    }

    .aaf-overlay.active{

        display:block;

        position:fixed;

        inset:0;

        background:rgba(0,0,0,.5);

        z-index:9998;
    }

    .aaf-sidebar{

        position:fixed;

        left:-100%;
        top:0;

        width:85%;
        height:100vh;

        overflow:auto;

        background:#fff;

        z-index:99999;

        transition:.4s;
    }

    .aaf-sidebar.active{
        left:0;
    }

    .aaf-close{
        display:block;
    }
}