.elementor-29911 .elementor-element.elementor-element-722e8a4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:3%;--padding-left:10%;--padding-right:10%;}.elementor-29911 .elementor-element.elementor-element-1a31e60 .elementor-heading-title{font-family:"Hanken Grotesk", Sans-serif;font-size:30px;font-weight:500;}#elementor-popup-modal-29911{background-color:#0000007A;justify-content:flex-start;align-items:center;pointer-events:all;}#elementor-popup-modal-29911 .dialog-message{width:500px;height:100vh;align-items:flex-start;padding:40px 0px 0px 0px;}#elementor-popup-modal-29911 .dialog-close-button{display:flex;top:6%;font-size:20px;}#elementor-popup-modal-29911 .dialog-widget-content{border-radius:015px 015px 015px 015px;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);margin:0px 0px 0px 0px;}@media(max-width:765px){#elementor-popup-modal-29911 .dialog-message{width:400px;padding:40px 0px 200px 0px;}#elementor-popup-modal-29911{justify-content:flex-start;align-items:flex-start;}#elementor-popup-modal-29911 .dialog-widget-content{margin:40% 0% 0% 0%;}}/* Start custom CSS for shortcode, class: .elementor-element-1f38b74 *//* ==========================================
   CUSTOM PRODUCT FILTER
========================================== */

.cpf-wrapper {
    width: 100%;
    background: #fff;
    font-family: inherit;
    color: #202020;
}


/* SECTION */

.cpf-section {
    padding: 0 0 25px;
    margin-bottom: 28px;
    border-bottom: 1px solid #eeeeee;
}


/* ROW */

.cpf-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cpf-label,
.cpf-title {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0;
}


/* SECTION HEADER */

.cpf-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}

.cpf-collapse {
    border: 0;
    background: transparent;
    padding: 0;
    width: 25px;
    height: 25px;
    cursor: pointer;
    font-size: 19px;
    color: #222;
}

.cpf-collapse span {
    display: block;
    transition: transform .25s ease;
}

.cpf-collapse.is-collapsed span {
    transform: rotate(180deg);
}


/* ==========================================
   SWITCH
========================================== */

.cpf-switch {
    position: relative;
    width: 34px;
    height: 20px;
    display: inline-block;
}

.cpf-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.cpf-switch-slider {
    position: absolute;
    inset: 0;
    cursor: pointer;

    background: #fff;
    border: 1px solid #999;
    border-radius: 20px;

    transition: .2s;
}

.cpf-switch-slider:before {
    content: "";

    position: absolute;

    width: 14px;
    height: 14px;

    left: 2px;
    top: 2px;

    background: #999;
    border-radius: 50%;

    transition: .2s;
}

.cpf-switch input:checked + .cpf-switch-slider {
    background: #171717;
    border-color: #171717;
}

.cpf-switch input:checked + .cpf-switch-slider:before {
    transform: translateX(14px);
    background: #fff;
}


/* ==========================================
   PRICE RANGE
========================================== */

.cpf-range {
    position: relative;
    height: 30px;
    margin: 5px 0 14px;
}

.cpf-range-track {
    position: absolute;

    left: 7px;
    right: 7px;
    top: 13px;

    height: 3px;

    background: #191919;
    border-radius: 3px;
}


/* RANGE INPUT */

.cpf-range input[type="range"] {
    position: absolute;

    width: 100%;
    height: 30px;

    top: 0;
    left: 0;

    margin: 0;

    background: transparent;

    pointer-events: none;

    appearance: none;
    -webkit-appearance: none;
}


/* Chrome */

.cpf-range input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    -webkit-appearance: none;

    width: 14px;
    height: 14px;

    background: #fff;

    border: 1px solid #222;
    border-radius: 50%;

    cursor: pointer;

    pointer-events: auto;
}


/* Firefox */

.cpf-range input[type="range"]::-moz-range-thumb {
    width: 14px;
    height: 14px;

    background: #fff;

    border: 1px solid #222;
    border-radius: 50%;

    cursor: pointer;

    pointer-events: auto;
}


/* ==========================================
   PRICE INPUTS
========================================== */

.cpf-price-inputs {
    display: flex;
    align-items: center;
    gap: 18px;
}

.cpf-price-box {
    flex: 1;

    height: 49px;

    display: flex;
    align-items: center;

    background: #fafafa;
    border-radius: 25px;

    padding: 0 18px;
}

.cpf-price-box span {
    color: #555;
    font-size: 14px;
}

.cpf-price-box input {
    width: 100%;

    border: 0 !important;
    outline: none !important;

    background: transparent !important;

    box-shadow: none !important;

    padding: 0 0 0 8px !important;

    font-size: 15px;

    color: #222;
}

.cpf-price-box input::-webkit-inner-spin-button,
.cpf-price-box input::-webkit-outer-spin-button {
    appearance: none;
    margin: 0;
}

.cpf-price-box input {
    -moz-appearance: textfield;
}

.cpf-to {
    font-size: 14px;
    color: #444;
}


/* ==========================================
   CATEGORY / SORT
========================================== */

/* ==========================================
   CATEGORY CHECKBOXES
========================================== */

.cpf-category-content {
    display: flex;
    flex-direction: column;
    gap: 14px;
}


.cpf-category-item {
    position: relative;

    display: flex;
    align-items: center;

    gap: 10px;

    cursor: pointer;

    font-size: 14px;

    color: #333;

    margin: 0;
}


/* Hide actual checkbox */

.cpf-category-checkbox {
    position: absolute;

    opacity: 0;

    width: 0;
    height: 0;
}


/* Custom checkbox */

.cpf-custom-checkbox {
    width: 18px;
    height: 18px;

    flex: 0 0 18px;

    border: 1px solid #999;

    border-radius: 3px;

    background: #fff;

    position: relative;

    transition: all .2s ease;
}


/* Checked */

.cpf-category-checkbox:checked + .cpf-custom-checkbox {
    background: #171717;

    border-color: #171717;
}


/* Check mark */

.cpf-category-checkbox:checked + .cpf-custom-checkbox::after {
    content: "";

    position: absolute;

    left: 5px;
    top: 2px;

    width: 5px;
    height: 9px;

    border: solid #fff;

    border-width: 0 2px 2px 0;

    transform: rotate(45deg);
}


/* Category name */

.cpf-category-name {
    flex: 1;
}


/* Product count */

.cpf-category-count {
    color: #999;

    font-size: 13px;
}


/* Hover */

.cpf-category-item:hover .cpf-custom-checkbox {
    border-color: #222;
}


/* Keyboard accessibility */

.cpf-category-checkbox:focus-visible + .cpf-custom-checkbox {
    outline: 2px solid #222;
    outline-offset: 2px;
}

/* ==========================================
   APPLY BUTTON
========================================== */

.cpf-apply-wrapper {
    padding-top: 4px;
}

.cpf-apply {
    width: 100%;

    height: 53px;

    border: 0;
    border-radius: 28px;

    background: #171717;
    color: #fff;

    font-family: inherit;
    font-size: 14px;
    font-weight: 500;

    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease;
}

.cpf-apply:hover {
    background: #2b2b2b;
}

.cpf-apply:active {
    transform: scale(.98);
}


/* ==========================================
   COLLAPSE
========================================== */

.cpf-section.is-collapsed .cpf-price-content,
.cpf-section.is-collapsed .cpf-category-content,
.cpf-section.is-collapsed .cpf-sort-content {
    display: none;
}


/* ==========================================
   DESKTOP
========================================== */

@media (min-width: 769px) {

    .cpf-sort-section {
        display: none;
    }

}


/* ==========================================
   MOBILE
========================================== */

@media (max-width: 768px) {

    .cpf-wrapper {
        padding: 0;
    }

    .cpf-section {
        margin-bottom: 24px;
    }

    .cpf-price-inputs {
        gap: 12px;
    }

    .cpf-price-box {
        padding: 0 14px;
    }
    

}
body.cpf-filter-loading .wd-products-element {
    opacity: 0.5;
    pointer-events: none;
    transition: opacity 0.2s ease;
}/* End custom CSS */