.khm-product-filters {
    margin: 1em 0;
}

.khm-product-filters > button {
    background: #f2f2f2;
    border: none;
    border-radius: 2em;
    padding: .7em 1.4em;
    font-weight: 600;
    color: inherit;
    cursor: pointer;
    transition: background-color .4s;
}

.khm-product-filters > button:hover {
    background: #d6d6d6;
}

.khm-product-filters .filters-wrap {
    position: fixed;
    top: var(--wp-admin--admin-bar--height, 0px);
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    transition: visibility 0s .4s;
    overflow: hidden;
}

html:not(.khm-product-filters-active) .khm-product-filters .filters-wrap {
    visibility: hidden;
}

html.khm-product-filters-active .khm-product-filters .filters-wrap {
    transition-delay: 0s;
}

html.khm-product-filters-active {
    overflow: hidden;
}

html.khm-product-filters-active #main_content {
    z-index: 9999;
}

.khm-product-filters .filters-wrap .filters,
.khm-product-filters .filters-wrap .overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
}

.khm-product-filters .filters-wrap .filters {
    width: 340px;
    background: #fff;
    padding: 1em;
    transition: transform .4s;
}

.khm-product-filters .filters-wrap .overlay {
    background: rgba(0,0,0,.6);
    left: 0;
    transition: opacity .4s;
}

html:not(.khm-product-filters-active) .khm-product-filters .filters-wrap .overlay {
    opacity: 0;
}

html:not(.khm-product-filters-active) .khm-product-filters .filters-wrap .filters {
    transform: translate(100%);
}

.khm-product-filters .filters-wrap .filters > header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #d6d6d6;
    margin: 0 -1em 2em;
    padding: 0 1em;
}

.khm-product-filters .filters-wrap .filters > header h4 {
    font-size: 1.2em;
    font-weight: 500;
}

.khm-product-filters .filters-wrap .filters > header button {
    border: none;
    background: none;
    padding: 0;
    cursor: pointer;
    font-size: 2em;
    line-height: 0;
}

.khm-product-filters .filters-wrap .filters > header button::after {
    content: "\f335";
    font-family: 'dashicons';
}