.elementor-1898 .elementor-element.elementor-element-9142d53{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--flex-wrap:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1898 .elementor-element.elementor-element-7378b93{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-1898 .elementor-element.elementor-element-7378b93.elementor-element{--align-self:flex-start;}.elementor-1898 .elementor-element.elementor-element-7378b93 .elementor-heading-title{font-family:"Saira", Sans-serif;font-size:25px;font-weight:600;color:var( --e-global-color-text );}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-1898 .elementor-element.elementor-element-ebde194{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:2px 10px 10px 10px;}.elementor-1898 .elementor-element.elementor-element-ebde194 .elementor-icon-wrapper{text-align:center;}.elementor-1898 .elementor-element.elementor-element-ebde194 .elementor-icon{font-size:25px;}.elementor-1898 .elementor-element.elementor-element-ebde194 .elementor-icon svg{height:25px;}.elementor-1898 .elementor-element.elementor-element-c11dab8 .e-off-canvas__overlay{background-color:rgba(0,0,0,.8);}.elementor-1898 .elementor-element.elementor-element-c11dab8{--e-off-canvas-justify-content:flex-end;--e-off-canvas-width:100vw;--e-off-canvas-height:100vh;--e-off-canvas-content-overflow:auto;--e-off-canvas-animation-duration:1.5s;--e-off-canvas-overlay-opacity:1;}.elementor-1898 .elementor-element.elementor-element-f0ffde7{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1898 .elementor-element.elementor-element-48fb182{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-1898 .elementor-element.elementor-element-48fb182.e-con{--flex-grow:0;--flex-shrink:0;}body:not(.rtl) .elementor-1898 .elementor-element.elementor-element-67cf326{right:20px;}body.rtl .elementor-1898 .elementor-element.elementor-element-67cf326{left:20px;}.elementor-1898 .elementor-element.elementor-element-67cf326{top:20px;}.elementor-1898 .elementor-element.elementor-element-67cf326 .elementor-icon-wrapper{text-align:center;}.elementor-1898 .elementor-element.elementor-element-67cf326 .elementor-icon{font-size:22px;}.elementor-1898 .elementor-element.elementor-element-67cf326 .elementor-icon svg{height:22px;}.elementor-1898 .elementor-element.elementor-element-501b918{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 10px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-59daac4 );border-radius:0px 0px 1px 0px;}.elementor-1898 .elementor-element.elementor-element-d215286{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 10px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-59daac4 );border-radius:0px 0px 0px 0px;}.elementor-1898 .elementor-element.elementor-element-cb9b524{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 10px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-59daac4 );}.elementor-1898 .elementor-element.elementor-element-a82fd37{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 10px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-59daac4 );}.elementor-1898 .elementor-element.elementor-element-f6c31ee{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 10px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-59daac4 );}.elementor-1898 .elementor-element.elementor-element-8eff291{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 10px 0px;}.elementor-1898 .elementor-element.elementor-element-1e759f5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 0px 0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1898 .elementor-element.elementor-element-1760ed5{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-1898 .elementor-element.elementor-element-1b9fe5e{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-1898 .elementor-element.elementor-element-9114442{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1898 .elementor-element.elementor-element-493de5f{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:25px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-1898 .elementor-element.elementor-element-493de5f.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1898 .elementor-element.elementor-element-9ef57ca{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 10px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-59daac4 );border-radius:0px 0px 1px 0px;}.elementor-1898 .elementor-element.elementor-element-bd80185{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 10px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-59daac4 );border-radius:0px 0px 0px 0px;}.elementor-1898 .elementor-element.elementor-element-e5f0496{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 10px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-59daac4 );}.elementor-1898 .elementor-element.elementor-element-af6dbe7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 10px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-59daac4 );}.elementor-1898 .elementor-element.elementor-element-8a37218{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 10px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-59daac4 );}.elementor-1898 .elementor-element.elementor-element-bbdfdd1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 10px 0px;}.elementor-1898 .elementor-element.elementor-element-2b61f8e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 0px 0px;}.elementor-1898 .elementor-element.elementor-element-e249129{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-1898 .elementor-element.elementor-element-d45e95f{--grid-columns:4;--grid-row-gap:15px;--grid-column-gap:15px;}.elementor-1898 .elementor-element.elementor-element-d45e95f > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1898 .elementor-element.elementor-element-d45e95f .elementor-loop-container{grid-auto-rows:1fr;}.elementor-1898 .elementor-element.elementor-element-d45e95f .e-loop-item > .elementor-section, .elementor-1898 .elementor-element.elementor-element-d45e95f .e-loop-item > .elementor-section > .elementor-container, .elementor-1898 .elementor-element.elementor-element-d45e95f .e-loop-item > .e-con, .elementor-1898 .elementor-element.elementor-element-d45e95f .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}@media(min-width:768px){.elementor-1898 .elementor-element.elementor-element-48fb182{--width:100%;}.elementor-1898 .elementor-element.elementor-element-9114442{--width:100%;}.elementor-1898 .elementor-element.elementor-element-493de5f{--width:20%;}.elementor-1898 .elementor-element.elementor-element-e249129{--width:80%;}}@media(max-width:1024px){.elementor-1898 .elementor-element.elementor-element-d45e95f{--grid-columns:2;}}@media(max-width:767px){.elementor-1898 .elementor-element.elementor-element-d45e95f{--grid-columns:1;}}/* Start custom CSS for container, class: .elementor-element-48fb182 *//* ======================================================
WS WooCommerce Filter Builder — Global Skin
========================================================= */

/* 1. Root variables for the whole filter skin (GLOBAL) */
:root {
    /* Typography */
    --ws-filter-font-family: "Roboto", sans-serif;
    --ws-filter-font-size: clamp(0.94rem, 0.90517rem + 0.13793vw, 1.00rem);
    --ws-filter-text-color: #1e1e1e;
    --ws-filter-text-weight: 400;

    /* Label */
    --ws-filter-label-color: #1e1e1e;
    --ws-filter-label-bg: #f4f4f4; /* transparent */
    --ws-filter-label-weight: 500;
    --ws-filter-label-font-size: clamp(0.94rem, 0.90517rem + 0.13793vw, 1.00rem);
    --ws-filter-label-padding: 5px 10px 5px 10px;
    --ws-filter-label-radius: 5px;
    --ws-filter-label-hover-bg: #f4f4f4;
    /*--ws-filter-label-active-bg: transparent;*/

    /* Wrapper & spacing */
    --ws-filter-gap-between-filters-row: 5px;
    --ws-filter-gap-between-filters-col: 5px;
    --ws-filter-gap-between-pills: 8px;
    --ws-filter-checkbox-gap-row: 8px;
    --ws-filter-checkbox-gap-col: 8px;

    /* Dropdown field width */
    --ws-filter-input-min-width: auto; /* 150px */

    /* Pills */
    --ws-filter-pill-bg: #ffffff;
    --ws-filter-pill-bg-hover: #1e1e1e;
    --ws-filter-pill-bg-active: #1e1e1e;
    --ws-filter-pill-border: 1px solid #e2e8f0;
    --ws-filter-pill-border-active: #e2e8f0;
    --ws-filter-pill-text: #1e1e1e;
    --ws-filter-pill-text-hover: #ffffff;
    --ws-filter-pill-text-active: #ffffff;
    --ws-filter-pill-radius: 5px;
    --ws-filter-pill-padding: 5px 15px 5px 15px;
    --ws-filter-pill-font-size: clamp(0.94rem, 0.90517rem + 0.13793vw, 1.00rem);

    /* Dropdown (custom select) */
    --ws-filter-dropdown-bg: #fff;
    --ws-filter-dropdown-border: 1px solid #e2e8f0;
    --ws-filter-dropdown-radius: 5px;
    --ws-filter-dropdown-padding: 0px 15px 0px 15px;
    --ws-filter-dropdown-font-size: clamp(0.94rem, 0.90517rem + 0.13793vw, 1.00rem);
    --ws-filter-dropdown-text-color: #1e1e1e;
    --ws-filter-dropdown-text-hover: #ffffff;
    --ws-filter-dropdown-text-active: #ffffff;
    --ws-filter-dropdown-hover-bg: #1e1e1e;
    --ws-filter-dropdown-panel-bg: #ffffff;
    --ws-filter-dropdown-panel-border: #e2e8f0;
    --ws-filter-dropdown-caret-color: #0f172a;

    /* Price slider inputs (the little number fields) */
    --ws-filter-price-input-width: 70px;
    --ws-filter-price-input-padding: 4px 6px 4px 6px;
    --ws-filter-price-input-font-size: clamp(0.94rem, 0.90517rem + 0.13793vw, 1.00rem);
    --ws-filter-price-input-text-color: #1e1e1e;
    --ws-filter-input-border-radius: 5px;
    --ws-filter-input-border: 1px solid #e2e8f0;
    --ws-filter-input-bg: #ffffff;

    /* Price slider track & thumb */
    --ws-filter-slider-track-color: #007E9A;
    --ws-filter-slider-track-height: 4px;
    --ws-filter-slider-thumb-color: #007E9A;
    --ws-filter-slider-thumb-size: 16px;
    --ws-filter-slider-thumb-margin-top: -6px;
    --ws-filter-slider-wrapper-width: 100px;

    /* Reset icon / per-filter reset button */
    --ws-filter-reset-icon-size: 23px;
    --ws-filter-reset-icon-color: #aaaaaa;
    --ws-filter-reset-icon-color-hover: #000000;
    --ws-filter-reset-btn-bg: transparent;
    --ws-filter-reset-btn-bg-hover: transparent;
    --ws-filter-reset-btn-radius: 5px;
    --ws-filter-reset-btn-padding: 0px 0px 0px 0px;

    /* Reset All button (global reset shortcode) */
    --ws-filter-reset-all-bg: #D0D0CE;
    --ws-filter-reset-all-bg-hover: #1e1e1e;
    --ws-filter-reset-all-color: #1e1e1e;
    --ws-filter-reset-all-color-hover: #fff;
    --ws-filter-reset-all-border: 1px solid #e2e8f0;
    --ws-filter-reset-all-radius: 5px;
    --ws-filter-reset-all-padding: 0px 10px 0px 10px;
    --ws-filter-reset-all-weight: 500;

    /* Checkboxes */
    --ws-filter-checkbox-size: 20px;
    --ws-filter-checkbox-color: #ff0050;
    --ws-filter-checkbox-border-color: #d0d0ce;
    --ws-filter-checkbox-bg: #ffffff;
    --ws-filter-checkbox-hover-bg: #d0d0ce;
    --ws-filter-checkbox-check-color: #fff;

    /* Sort / filter shared label spacing */
    --ws-filter-header-gap: 5px;

    /* Colour swatch states */
    --ws-filter-swatch-bg-hover: #ffffff;
    --ws-filter-swatch-bg-active: #ffffff;
    --ws-filter-swatch-border-active: 2px solid #000000;
}

    /* Colour swatch */
    .ws-colour-swatch {
      width: 15px;
      height: 15px;
      border-radius: 50%;
      background: var(--ws-swatch);
      border: 1px solid rgba(0,0,0,.25);
      display: inline-block;
      margin-right: 6px;
      box-sizing: border-box;
    }

    .ws-wc-filters-skin .ws-wc-filter-multiselect-option:has(.ws-colour-swatch){font-size: clamp(0.94rem, 0.90517rem + 0.13793vw, 1.00rem);}

    .ws-wc-filters-skin .ws-wc-filter-multiselect-option:has(.ws-colour-swatch){padding: 5px 15px;}


    .ws-wc-filters-skin .ws-wc-filter-multiselect-option:has(.ws-colour-swatch){border: 1px solid #e2e8f0;}

    .ws-wc-filters-skin .ws-wc-filter-multiselect-option.is-active:has(.ws-colour-swatch){border: 2px solid #000;}

    /* Show Colour swatch dots only – hide label text
    .ws-wc-filter-multiselect-option span:not(.ws-colour-swatch) {display: none;}
    */

    /* Show Colour swatch text only – hide colour dot
    .ws-colour-swatch {display: none;}
    */




/* ========================================================
Additional Refinement ONLY IF NEEDED -Use ChatGPT if unsure
========================================================= */
/* 2. Base layout & typography (filters) */
.ws-wc-filters-skin.ws-wc-filter-wrapper {
    margin-bottom: var(--ws-filter-wrapper-margin-bottom);
    font-family: var(--ws-filter-font-family);
    font-size: var(--ws-filter-font-size);
    color: var(--ws-filter-text-color);
    font-weight: var(--ws-filter-text-weight); /* NEW: base text weight */
}


/* Sort wrapper should also inherit typography */
.ws-wc-sort-wrapper {
    font-family: var(--ws-filter-font-family);
    font-size: var(--ws-filter-font-size);
    color: var(--ws-filter-text-color);
    font-weight: var(--ws-filter-text-weight); /* NEW: match filter text weight */
}

.ws-wc-filters-skin .ws-wc-filter-form,
.ws-wc-sort-wrapper .ws-wc-sort-form.ws-wc-filter-form {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ws-filter-gap-between-filters-row) var(--ws-filter-gap-between-filters-col);
    align-items: center;
    justify-content: flex-start;
}

/* 3. Header (Label + Reset) */
.ws-wc-filters-skin .ws-wc-filter-header {
    display: inline-flex;
    align-items: center;
    gap: var(--ws-filter-header-gap);
}

/* Label for both filter + sort */
.ws-wc-filters-skin .ws-wc-filter-label,
.ws-wc-sort-wrapper .ws-wc-filter-label {
    font-weight: var(--ws-filter-label-weight);
    font-size: var(--ws-filter-label-font-size); /* NEW */
    color: var(--ws-filter-label-color);
    background: var(--ws-filter-label-bg);
    padding: var(--ws-filter-label-padding);
    border-radius: var(--ws-filter-label-radius);
    margin-right: 0;
}

.ws-wc-filters-skin .ws-wc-filter-label:hover,
.ws-wc-sort-wrapper .ws-wc-filter-label:hover {
    background: var(--ws-filter-label-hover-bg);
}

/* 4. Generic text input / basic field (e.g. price min/max) */
.ws-wc-filters-skin .ws-wc-filter-control input[type="text"],
.ws-wc-filters-skin .ws-wc-filter-control input[type="number"] {
    min-width: var(--ws-filter-input-min-width);
    padding: var(--ws-filter-price-input-padding);
    border-radius: var(--ws-filter-input-border-radius);
    border: var(--ws-filter-input-border) !important;
    background: var(--ws-filter-input-bg);
    color: var(--ws-filter-price-input-text-color);
    font-weight: var(--ws-filter-text-weight);
}

/* 5. Checkbox groups (non-pill) */
.ws-wc-filters-skin .ws-wc-filter-checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ws-filter-checkbox-gap-row) var(--ws-filter-checkbox-gap-col);
}

.ws-wc-filters-skin .ws-wc-filter-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-weight: var(--ws-filter-text-weight);
}

/* Checkbox input itself — fully custom, no system UI */
.ws-wc-filters-skin .ws-wc-filter-checkbox input[type="checkbox"] {
    width: var(--ws-filter-checkbox-size);
    height: var(--ws-filter-checkbox-size);

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    background-color: var(--ws-filter-checkbox-bg);
    border-radius: 3px;
    border: 1px solid var(--ws-filter-checkbox-border-color) !important;
    cursor: pointer;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    transition:
        background-color 0.15s ease,
        border-color 0.15s ease;
}

/* The tick mark */
.ws-wc-filters-skin .ws-wc-filter-checkbox input[type="checkbox"]::before {
    content: "";
    position: absolute;
    /* size & position tuned for a 20px box */
    top: 3px;
    left: 6px;
    width: 6px;
    height: 10px;
    border-right: 2px solid transparent;
    border-bottom: 2px solid transparent;
    transform: rotate(45deg) scale(0);
    transform-origin: center;
    transition: border-color 0.15s ease, transform 0.15s ease;
}

/* Checked state */
.ws-wc-filters-skin .ws-wc-filter-checkbox input[type="checkbox"]:checked {
    background-color: var(--ws-filter-checkbox-color);
    border-color: var(--ws-filter-checkbox-border-color);
}

/* Tick visible when checked */
.ws-wc-filters-skin .ws-wc-filter-checkbox input[type="checkbox"]:checked::before {
    border-right-color: var(--ws-filter-checkbox-check-color);
    border-bottom-color: var(--ws-filter-checkbox-check-color);
    transform: rotate(45deg) scale(1);
}

/* Hover state for checkbox (unchecked OR checked) */
.ws-wc-filters-skin .ws-wc-filter-checkbox input[type="checkbox"]:hover {
    background-color: var(--ws-filter-checkbox-hover-bg);
    border-color: var(--ws-filter-checkbox-border-color);
}

/* 6. Reset button (icon button for each filter) */
.ws-wc-filters-skin .ws-wc-filter-reset {
    border: none;
    background: var(--ws-filter-reset-btn-bg);
    padding: var(--ws-filter-reset-btn-padding);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--ws-filter-reset-btn-radius);
}

/* Kill ONLY mouse focus ring, keep keyboard focus */
.ws-wc-filters-skin .ws-wc-filter-reset:focus {
  outline: none;
  box-shadow: none;
}

/* Visible keyboard focus for reset icon (STAYS) */
.ws-wc-filters-skin .ws-wc-filter-reset:focus-visible {
  outline: 2px solid #000;      /* or currentColor if you prefer */
  outline-offset: 3px;
  height: auto;
  border-radius: var(--ws-filter-reset-btn-radius);
}



.ws-wc-filters-skin .ws-wc-filter-reset span[aria-hidden="true"] {
    font-size: var(--ws-filter-reset-icon-size);
    color: var(--ws-filter-reset-icon-color);
}

.ws-wc-filters-skin .ws-wc-filter-reset:hover {
    background: var(--ws-filter-reset-btn-bg-hover);
}

.ws-wc-filters-skin .ws-wc-filter-reset:hover span[aria-hidden="true"] {
    color: var(--ws-filter-reset-icon-color-hover); /* NEW: icon colour on hover */
}

/* Screen-reader only helper */
.ws-wc-filters-skin .ws-wc-sr-only {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* 7. Custom single-select dropdown (filters + sort) */
.ws-wc-filters-skin .ws-custom-select,
.ws-wc-sort-wrapper .ws-custom-select {
    position: relative;
    min-width: var(--ws-filter-input-min-width);
}

.ws-wc-filters-skin .ws-custom-select-toggle,
.ws-wc-sort-wrapper .ws-custom-select-toggle {
    width: 100%;
    padding: var(--ws-filter-dropdown-padding);
    border-radius: var(--ws-filter-dropdown-radius);
    border: var(--ws-filter-dropdown-border);
    background: var(--ws-filter-dropdown-bg);
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font-size: var(--ws-filter-dropdown-font-size);
    color: var(--ws-filter-dropdown-text-color);   /* text colour before open */
    font-weight: var(--ws-filter-text-weight);
}

.ws-wc-filters-skin .ws-custom-select-label,
.ws-wc-sort-wrapper .ws-custom-select-label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ws-wc-filters-skin .ws-custom-select-caret,
.ws-wc-sort-wrapper .ws-custom-select-caret {
    margin-left: 0.5rem;
    color: var(--ws-filter-dropdown-caret-color);
}

.ws-wc-filters-skin .ws-custom-select-panel,
.ws-wc-sort-wrapper .ws-custom-select-panel {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    z-index: 99;
    min-width: 100%;
    max-height: 220px;
    overflow: auto;
    background: var(--ws-filter-dropdown-panel-bg);
    border: 1px solid var(--ws-filter-dropdown-panel-border);
    border-radius: var(--ws-filter-dropdown-radius);
    padding: 0.25rem 0;
    display: none;
}

.ws-wc-filters-skin .ws-custom-select-option,
.ws-wc-sort-wrapper .ws-custom-select-option {
    width: 100%;
    padding: 0.3rem 0.6rem;
    border: none;
    background: transparent;
    text-align: left;
    cursor: pointer;
    font-size: var(--ws-filter-dropdown-font-size);
    color: var(--ws-filter-dropdown-text-color); /* option text colour */
    font-weight: var(--ws-filter-text-weight);
}

.ws-wc-filters-skin .ws-custom-select-option:hover,
.ws-wc-sort-wrapper .ws-custom-select-option:hover {
    background: var(--ws-filter-dropdown-hover-bg);
    color: var(--ws-filter-dropdown-text-hover); /* option text hover colour */
}

.ws-wc-filters-skin .ws-custom-select.is-open .ws-custom-select-panel,
.ws-wc-sort-wrapper .ws-custom-select.is-open .ws-custom-select-panel {
    display: block;
}

/* 8. Multiselect as inline chips (pills) */
.ws-wc-filters-skin .ws-wc-filter-multiselect-inline {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ws-filter-gap-between-pills);
    min-width: var(--ws-filter-input-min-width);
}

.ws-wc-filters-skin .ws-wc-filter-multiselect-option {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    border-radius: var(--ws-filter-pill-radius);
    border: var(--ws-filter-pill-border);
    background: var(--ws-filter-pill-bg);
    padding: var(--ws-filter-pill-padding);
    font-size: var(--ws-filter-pill-font-size);
    color: var(--ws-filter-pill-text);
    font-weight: var(--ws-filter-text-weight);
    transition:
        background 0.15s ease,
        color 0.15s ease,
        border-color 0.15s ease;
}

/* Hide the actual inputs inside pills */
.ws-wc-filters-skin .ws-wc-filter-multiselect-option input[type="checkbox"],
.ws-wc-filters-skin .ws-wc-filter-multiselect-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

/*  Keyboard focus ring for pills (checkbox + radio) */
.ws-wc-filters-skin .ws-wc-filter-multiselect-option:focus-within {
  outline: 2px solid #000;
  outline-offset: 3px;
}

/* Text inside the chip */
.ws-wc-filters-skin .ws-wc-filter-multiselect-option span {
    white-space: nowrap;
    color: inherit; /* inherit from parent (normal/hover/active) */
}

/* Hover state (including text hover colour) */
.ws-wc-filters-skin .ws-wc-filter-multiselect-option:hover {
    background: var(--ws-filter-pill-bg-hover);
    border-color: var(--ws-filter-pill-border-active);
    color: var(--ws-filter-pill-text-hover);
}

.ws-wc-filters-skin .ws-wc-filter-multiselect-option:hover span {
    color: var(--ws-filter-pill-text-hover);
}

/* Selected chip */
.ws-wc-filters-skin .ws-wc-filter-multiselect-option.is-active {
    background: var(--ws-filter-pill-bg-active);
    border-color: var(--ws-filter-pill-border-active);
    color: var(--ws-filter-pill-text-active);
}

.ws-wc-filters-skin .ws-wc-filter-multiselect-option.is-active span {
    color: inherit;
}

/* ======================================================
Colour swatch pill overrides (FINAL, FINAL)
========================================================= */

/* Hover: swatch pills only */
.ws-wc-filters-skin
.ws-wc-filter-multiselect-option:hover:has(.ws-colour-swatch) {
    background: var(--ws-filter-swatch-bg-hover) !important;
    color: var(--ws-filter-pill-text) !important; /* keep text normal */
}

/* Hover: FORCE label text to stay normal (prevents 'invisible' white text) */
.ws-wc-filters-skin
.ws-wc-filter-multiselect-option:hover:has(.ws-colour-swatch) span:not(.ws-colour-swatch) {
    color: var(--ws-filter-pill-text) !important;
}

/* Hover: colour dot border */
.ws-wc-filters-skin
.ws-wc-filter-multiselect-option:hover .ws-colour-swatch {
    border: var(--ws-filter-swatch-border-active) !important;
}

/* Active: swatch pills only */
.ws-wc-filters-skin
.ws-wc-filter-multiselect-option.is-active:has(.ws-colour-swatch) {
    background: var(--ws-filter-swatch-bg-active) !important;
    color: var(--ws-filter-pill-text) !important; /* keep text normal */
}

/* Active: FORCE label text to stay normal */
.ws-wc-filters-skin
.ws-wc-filter-multiselect-option.is-active:has(.ws-colour-swatch) span:not(.ws-colour-swatch) {
    color: var(--ws-filter-pill-text) !important;
}

/* Active colour dot border */
.ws-wc-filters-skin
.ws-wc-filter-multiselect-option.is-active .ws-colour-swatch {
    border: var(--ws-filter-swatch-border-active) !important;
}

/* 9. Price range layout */
.ws-wc-filters-skin .ws-price-range-wrapper {
    display: inline-flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 260px;
}

.ws-wc-filters-skin .ws-price-range-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: nowrap; /* all left-justified with consistent gaps */
}

/* Number inputs for min/max price */
.ws-wc-filters-skin .ws-price-range-input {
    width: var(--ws-filter-price-input-width) !important;
    min-width: var(--ws-filter-price-input-width) !important;
    max-width: var(--ws-filter-price-input-width) !important;
    flex: 0 0 var(--ws-filter-price-input-width) !important;

    padding: var(--ws-filter-price-input-padding) !important;
    border-radius: var(--ws-filter-input-border-radius);
    border: var(--ws-filter-input-border) !important;
    font-size: var(--ws-filter-price-input-font-size) !important;
    color: var(--ws-filter-price-input-text-color);
    text-align: center !important;

    display: inline-block !important;
    box-sizing: border-box !important;
}

.ws-wc-filters-skin .ws-price-range-separator {
    font-size: 1rem;
    display: none; /* never show the "-" separator */
}

/* Slider wrapper */
.ws-wc-filters-skin .ws-price-range-slider-wrapper {
    position: relative;
    flex: 0 0 var(--ws-filter-slider-wrapper-width);      /* track length control */
    width: var(--ws-filter-slider-wrapper-width);
    min-width: var(--ws-filter-slider-wrapper-width);     /* was 140px */
    height: 30px; /* slightly taller wrapper for true centering */
}

/* Both range inputs stacked */
.ws-wc-filters-skin .ws-price-range-slider-wrapper .ws-price-range {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;

    transform: translateY(-50%);
    width: 100%;
    margin: 0;
    background: transparent;
    pointer-events: none;

    -webkit-appearance: none;
    appearance: none;
    z-index: 1; /* track layer baseline */
}

/* Make the max handle sit above the min handle when they overlap */
.ws-wc-filters-skin .ws-price-range-slider-wrapper .ws-price-range.ws-price-range-max {
    z-index: 2; /* ensure topmost thumb */
}

/* WebKit track & thumb */
.ws-wc-filters-skin .ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-runnable-track {
    height: var(--ws-filter-slider-track-height);
    background-color: var(--ws-filter-slider-track-color) !important;
}

.ws-wc-filters-skin .ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: var(--ws-filter-slider-thumb-size);
    height: var(--ws-filter-slider-thumb-size);
    border-radius: 50%;
    background-color: var(--ws-filter-slider-thumb-color) !important;
    pointer-events: auto;
    margin-top: var(--ws-filter-slider-thumb-margin-top) !important;
    position: relative;
}

/* Firefox track & thumb */
.ws-wc-filters-skin .ws-price-range-slider-wrapper .ws-price-range::-moz-range-track {
    height: var(--ws-filter-slider-track-height);
    background-color: var(--ws-filter-slider-track-color) !important;
}

.ws-wc-filters-skin .ws-price-range-slider-wrapper .ws-price-range::-moz-range-thumb {
    width: var(--ws-filter-slider-thumb-size);
    height: var(--ws-filter-slider-thumb-size);
    border-radius: 50%;
    background-color: var(--ws-filter-slider-thumb-color) !important;
    margin-top: 0 !important;
    position: relative;
}

/* 10. Orientation handling (desktop) */
@media (min-width: 769px) {
    .ws-wc-filters-skin[data-desktop-orientation="horizontal"] .ws-wc-filter-form {
        flex-direction: row;
        align-items: center;
    }
    .ws-wc-filters-skin[data-desktop-orientation="horizontal"] .ws-wc-filter-control,
    .ws-wc-filters-skin[data-desktop-orientation="horizontal"] .ws-wc-filter-checkbox-group {
        flex-direction: row;
    }

    .ws-wc-filters-skin[data-desktop-orientation="vertical"] .ws-wc-filter-form {
        flex-direction: column;
        align-items: flex-start;
    }
    .ws-wc-filters-skin[data-desktop-orientation="vertical"] .ws-wc-filter-label {
        margin-right: 0;
        margin-bottom: 0.35rem;
    }
    .ws-wc-filters-skin[data-desktop-orientation="vertical"] .ws-wc-filter-control,
    .ws-wc-filters-skin[data-desktop-orientation="vertical"] .ws-wc-filter-checkbox-group {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* 11. Orientation handling (mobile) */
@media (max-width: 768px) {
    .ws-wc-filters-skin[data-mobile-orientation="horizontal"] .ws-wc-filter-form {
        flex-direction: row;
        align-items: center;
    }
    .ws-wc-filters-skin[data-mobile-orientation="horizontal"] .ws-wc-filter-control,
    .ws-wc-filters-skin[data-mobile-orientation="horizontal"] .ws-wc-filter-checkbox-group {
        flex-direction: row;
    }

    .ws-wc-filters-skin[data-mobile-orientation="vertical"] .ws-wc-filter-form {
        flex-direction: column;
        align-items: flex-start;
    }
    .ws-wc-filters-skin[data-mobile-orientation="vertical"] .ws-wc-filter-label {
        margin-right: 0;
        margin-bottom: 0.35rem;
    }
    .ws-wc-filters-skin[data-mobile-orientation="vertical"] .ws-wc-filter-control,
    .ws-wc-filters-skin[data-mobile-orientation="vertical"] .ws-wc-filter-checkbox-group {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* 12. Reset All button (from [wc_filter_reset_all]) */
.ws-wc-filter-reset-all {
    padding: var(--ws-filter-reset-all-padding);
    border-radius: var(--ws-filter-reset-all-radius);
    border: var(--ws-filter-reset-all-border);
    background: var(--ws-filter-reset-all-bg);
    color: var(--ws-filter-reset-all-color);
    font-family: var(--ws-filter-font-family);
    font-size: var(--ws-filter-font-size);
    font-weight: var(--ws-filter-reset-all-weight); /* NEW */
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;       /* kill tap highlight */
    transition:
        background 0.15s ease,
        color 0.15s ease,
        border-color 0.15s ease;
}

.ws-wc-filter-reset-all:hover {
    background: var(--ws-filter-reset-all-bg-hover);
    color: var(--ws-filter-reset-all-color-hover);
}

/* Kill system focus/active colours on Reset All */
.ws-wc-filter-reset-all:focus,
.ws-wc-filter-reset-all:active {
    outline: none;
    box-shadow: none;
    background: var(--ws-filter-reset-all-bg-hover);
    color: var(--ws-filter-reset-all-color-hover);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-493de5f *//* ======================================================
WS WooCommerce Filter Builder — Global Skin
========================================================= */

/* 1. Root variables for the whole filter skin (GLOBAL) */
:root {
    /* Typography */
    --ws-filter-font-family: "Roboto", sans-serif;
    --ws-filter-font-size: clamp(0.94rem, 0.90517rem + 0.13793vw, 1.00rem);
    --ws-filter-text-color: #1e1e1e;
    --ws-filter-text-weight: 400;

    /* Label */
    --ws-filter-label-color: #1e1e1e;
    --ws-filter-label-bg: #f4f4f4; /* transparent */
    --ws-filter-label-weight: 500;
    --ws-filter-label-font-size: clamp(0.94rem, 0.90517rem + 0.13793vw, 1.00rem);
    --ws-filter-label-padding: 5px 10px 5px 10px;
    --ws-filter-label-radius: 5px;
    --ws-filter-label-hover-bg: #f4f4f4;
    /*--ws-filter-label-active-bg: transparent;*/

    /* Wrapper & spacing */
    --ws-filter-gap-between-filters-row: 5px;
    --ws-filter-gap-between-filters-col: 5px;
    --ws-filter-gap-between-pills: 8px;
    --ws-filter-checkbox-gap-row: 8px;
    --ws-filter-checkbox-gap-col: 8px;

    /* Dropdown field width */
    --ws-filter-input-min-width: auto; /* 150px */

    /* Pills */
    --ws-filter-pill-bg: #ffffff;
    --ws-filter-pill-bg-hover: #1e1e1e;
    --ws-filter-pill-bg-active: #1e1e1e;
    --ws-filter-pill-border: 1px solid #e2e8f0;
    --ws-filter-pill-border-active: #e2e8f0;
    --ws-filter-pill-text: #1e1e1e;
    --ws-filter-pill-text-hover: #ffffff;
    --ws-filter-pill-text-active: #ffffff;
    --ws-filter-pill-radius: 5px;
    --ws-filter-pill-padding: 5px 15px 5px 15px;
    --ws-filter-pill-font-size: clamp(0.94rem, 0.90517rem + 0.13793vw, 1.00rem);

    /* Dropdown (custom select) */
    --ws-filter-dropdown-bg: #fff;
    --ws-filter-dropdown-border: 1px solid #e2e8f0;
    --ws-filter-dropdown-radius: 5px;
    --ws-filter-dropdown-padding: 0px 15px 0px 15px;
    --ws-filter-dropdown-font-size: clamp(0.94rem, 0.90517rem + 0.13793vw, 1.00rem);
    --ws-filter-dropdown-text-color: #1e1e1e;
    --ws-filter-dropdown-text-hover: #ffffff;
    --ws-filter-dropdown-text-active: #ffffff;
    --ws-filter-dropdown-hover-bg: #1e1e1e;
    --ws-filter-dropdown-panel-bg: #ffffff;
    --ws-filter-dropdown-panel-border: #e2e8f0;
    --ws-filter-dropdown-caret-color: #0f172a;

    /* Price slider inputs (the little number fields) */
    --ws-filter-price-input-width: 70px;
    --ws-filter-price-input-padding: 4px 6px 4px 6px;
    --ws-filter-price-input-font-size: clamp(0.94rem, 0.90517rem + 0.13793vw, 1.00rem);
    --ws-filter-price-input-text-color: #1e1e1e;
    --ws-filter-input-border-radius: 5px;
    --ws-filter-input-border: 1px solid #e2e8f0;
    --ws-filter-input-bg: #ffffff;

    /* Price slider track & thumb */
    --ws-filter-slider-track-color: #007E9A;
    --ws-filter-slider-track-height: 4px;
    --ws-filter-slider-thumb-color: #007E9A;
    --ws-filter-slider-thumb-size: 16px;
    --ws-filter-slider-thumb-margin-top: -6px;
    --ws-filter-slider-wrapper-width: 100px;

    /* Reset icon / per-filter reset button */
    --ws-filter-reset-icon-size: 23px;
    --ws-filter-reset-icon-color: #aaaaaa;
    --ws-filter-reset-icon-color-hover: #000000;
    --ws-filter-reset-btn-bg: transparent;
    --ws-filter-reset-btn-bg-hover: transparent;
    --ws-filter-reset-btn-radius: 5px;
    --ws-filter-reset-btn-padding: 0px 0px 0px 0px;

    /* Reset All button (global reset shortcode) */
    --ws-filter-reset-all-bg: #D0D0CE;
    --ws-filter-reset-all-bg-hover: #1e1e1e;
    --ws-filter-reset-all-color: #1e1e1e;
    --ws-filter-reset-all-color-hover: #fff;
    --ws-filter-reset-all-border: 1px solid #e2e8f0;
    --ws-filter-reset-all-radius: 5px;
    --ws-filter-reset-all-padding: 0px 10px 0px 10px;
    --ws-filter-reset-all-weight: 500;

    /* Checkboxes */
    --ws-filter-checkbox-size: 20px;
    --ws-filter-checkbox-color: #ff0050;
    --ws-filter-checkbox-border-color: #d0d0ce;
    --ws-filter-checkbox-bg: #ffffff;
    --ws-filter-checkbox-hover-bg: #d0d0ce;
    --ws-filter-checkbox-check-color: #fff;

    /* Sort / filter shared label spacing */
    --ws-filter-header-gap: 5px;

    /* Colour swatch states */
    --ws-filter-swatch-bg-hover: #ffffff;
    --ws-filter-swatch-bg-active: #ffffff;
    --ws-filter-swatch-border-active: 2px solid #000000;
}

    /* Colour swatch */
    .ws-colour-swatch {
      width: 15px;
      height: 15px;
      border-radius: 50%;
      background: var(--ws-swatch);
      border: 1px solid rgba(0,0,0,.25);
      display: inline-block;
      margin-right: 6px;
      box-sizing: border-box;
    }

    .ws-wc-filters-skin .ws-wc-filter-multiselect-option:has(.ws-colour-swatch){font-size: clamp(0.94rem, 0.90517rem + 0.13793vw, 1.00rem);}

    .ws-wc-filters-skin .ws-wc-filter-multiselect-option:has(.ws-colour-swatch){padding: 5px 15px;}


    .ws-wc-filters-skin .ws-wc-filter-multiselect-option:has(.ws-colour-swatch){border: 1px solid #e2e8f0;}

    .ws-wc-filters-skin .ws-wc-filter-multiselect-option.is-active:has(.ws-colour-swatch){border: 2px solid #000;}

    /* Show Colour swatch dots only – hide label text
    .ws-wc-filter-multiselect-option span:not(.ws-colour-swatch) {display: none;}
    */

    /* Show Colour swatch text only – hide colour dot
    .ws-colour-swatch {display: none;}
    */




/* ========================================================
Additional Refinement ONLY IF NEEDED -Use ChatGPT if unsure
========================================================= */
/* 2. Base layout & typography (filters) */
.ws-wc-filters-skin.ws-wc-filter-wrapper {
    margin-bottom: var(--ws-filter-wrapper-margin-bottom);
    font-family: var(--ws-filter-font-family);
    font-size: var(--ws-filter-font-size);
    color: var(--ws-filter-text-color);
    font-weight: var(--ws-filter-text-weight); /* NEW: base text weight */
}


/* Sort wrapper should also inherit typography */
.ws-wc-sort-wrapper {
    font-family: var(--ws-filter-font-family);
    font-size: var(--ws-filter-font-size);
    color: var(--ws-filter-text-color);
    font-weight: var(--ws-filter-text-weight); /* NEW: match filter text weight */
}

.ws-wc-filters-skin .ws-wc-filter-form,
.ws-wc-sort-wrapper .ws-wc-sort-form.ws-wc-filter-form {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ws-filter-gap-between-filters-row) var(--ws-filter-gap-between-filters-col);
    align-items: center;
    justify-content: flex-start;
}

/* 3. Header (Label + Reset) */
.ws-wc-filters-skin .ws-wc-filter-header {
    display: inline-flex;
    align-items: center;
    gap: var(--ws-filter-header-gap);
}

/* Label for both filter + sort */
.ws-wc-filters-skin .ws-wc-filter-label,
.ws-wc-sort-wrapper .ws-wc-filter-label {
    font-weight: var(--ws-filter-label-weight);
    font-size: var(--ws-filter-label-font-size); /* NEW */
    color: var(--ws-filter-label-color);
    background: var(--ws-filter-label-bg);
    padding: var(--ws-filter-label-padding);
    border-radius: var(--ws-filter-label-radius);
    margin-right: 0;
}

.ws-wc-filters-skin .ws-wc-filter-label:hover,
.ws-wc-sort-wrapper .ws-wc-filter-label:hover {
    background: var(--ws-filter-label-hover-bg);
}

/* 4. Generic text input / basic field (e.g. price min/max) */
.ws-wc-filters-skin .ws-wc-filter-control input[type="text"],
.ws-wc-filters-skin .ws-wc-filter-control input[type="number"] {
    min-width: var(--ws-filter-input-min-width);
    padding: var(--ws-filter-price-input-padding);
    border-radius: var(--ws-filter-input-border-radius);
    border: var(--ws-filter-input-border) !important;
    background: var(--ws-filter-input-bg);
    color: var(--ws-filter-price-input-text-color);
    font-weight: var(--ws-filter-text-weight);
}

/* 5. Checkbox groups (non-pill) */
.ws-wc-filters-skin .ws-wc-filter-checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ws-filter-checkbox-gap-row) var(--ws-filter-checkbox-gap-col);
}

.ws-wc-filters-skin .ws-wc-filter-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-weight: var(--ws-filter-text-weight);
}

/* Checkbox input itself — fully custom, no system UI */
.ws-wc-filters-skin .ws-wc-filter-checkbox input[type="checkbox"] {
    width: var(--ws-filter-checkbox-size);
    height: var(--ws-filter-checkbox-size);

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    background-color: var(--ws-filter-checkbox-bg);
    border-radius: 3px;
    border: 1px solid var(--ws-filter-checkbox-border-color) !important;
    cursor: pointer;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    transition:
        background-color 0.15s ease,
        border-color 0.15s ease;
}

/* The tick mark */
.ws-wc-filters-skin .ws-wc-filter-checkbox input[type="checkbox"]::before {
    content: "";
    position: absolute;
    /* size & position tuned for a 20px box */
    top: 3px;
    left: 6px;
    width: 6px;
    height: 10px;
    border-right: 2px solid transparent;
    border-bottom: 2px solid transparent;
    transform: rotate(45deg) scale(0);
    transform-origin: center;
    transition: border-color 0.15s ease, transform 0.15s ease;
}

/* Checked state */
.ws-wc-filters-skin .ws-wc-filter-checkbox input[type="checkbox"]:checked {
    background-color: var(--ws-filter-checkbox-color);
    border-color: var(--ws-filter-checkbox-border-color);
}

/* Tick visible when checked */
.ws-wc-filters-skin .ws-wc-filter-checkbox input[type="checkbox"]:checked::before {
    border-right-color: var(--ws-filter-checkbox-check-color);
    border-bottom-color: var(--ws-filter-checkbox-check-color);
    transform: rotate(45deg) scale(1);
}

/* Hover state for checkbox (unchecked OR checked) */
.ws-wc-filters-skin .ws-wc-filter-checkbox input[type="checkbox"]:hover {
    background-color: var(--ws-filter-checkbox-hover-bg);
    border-color: var(--ws-filter-checkbox-border-color);
}

/* 6. Reset button (icon button for each filter) */
.ws-wc-filters-skin .ws-wc-filter-reset {
    border: none;
    background: var(--ws-filter-reset-btn-bg);
    padding: var(--ws-filter-reset-btn-padding);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--ws-filter-reset-btn-radius);
}

/* Kill ONLY mouse focus ring, keep keyboard focus */
.ws-wc-filters-skin .ws-wc-filter-reset:focus {
  outline: none;
  box-shadow: none;
}

/* Visible keyboard focus for reset icon (STAYS) */
.ws-wc-filters-skin .ws-wc-filter-reset:focus-visible {
  outline: 2px solid #000;      /* or currentColor if you prefer */
  outline-offset: 3px;
  height: auto;
  border-radius: var(--ws-filter-reset-btn-radius);
}



.ws-wc-filters-skin .ws-wc-filter-reset span[aria-hidden="true"] {
    font-size: var(--ws-filter-reset-icon-size);
    color: var(--ws-filter-reset-icon-color);
}

.ws-wc-filters-skin .ws-wc-filter-reset:hover {
    background: var(--ws-filter-reset-btn-bg-hover);
}

.ws-wc-filters-skin .ws-wc-filter-reset:hover span[aria-hidden="true"] {
    color: var(--ws-filter-reset-icon-color-hover); /* NEW: icon colour on hover */
}

/* Screen-reader only helper */
.ws-wc-filters-skin .ws-wc-sr-only {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* 7. Custom single-select dropdown (filters + sort) */
.ws-wc-filters-skin .ws-custom-select,
.ws-wc-sort-wrapper .ws-custom-select {
    position: relative;
    min-width: var(--ws-filter-input-min-width);
}

.ws-wc-filters-skin .ws-custom-select-toggle,
.ws-wc-sort-wrapper .ws-custom-select-toggle {
    width: 100%;
    padding: var(--ws-filter-dropdown-padding);
    border-radius: var(--ws-filter-dropdown-radius);
    border: var(--ws-filter-dropdown-border);
    background: var(--ws-filter-dropdown-bg);
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font-size: var(--ws-filter-dropdown-font-size);
    color: var(--ws-filter-dropdown-text-color);   /* text colour before open */
    font-weight: var(--ws-filter-text-weight);
}

.ws-wc-filters-skin .ws-custom-select-label,
.ws-wc-sort-wrapper .ws-custom-select-label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ws-wc-filters-skin .ws-custom-select-caret,
.ws-wc-sort-wrapper .ws-custom-select-caret {
    margin-left: 0.5rem;
    color: var(--ws-filter-dropdown-caret-color);
}

.ws-wc-filters-skin .ws-custom-select-panel,
.ws-wc-sort-wrapper .ws-custom-select-panel {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    z-index: 99;
    min-width: 100%;
    max-height: 220px;
    overflow: auto;
    background: var(--ws-filter-dropdown-panel-bg);
    border: 1px solid var(--ws-filter-dropdown-panel-border);
    border-radius: var(--ws-filter-dropdown-radius);
    padding: 0.25rem 0;
    display: none;
}

.ws-wc-filters-skin .ws-custom-select-option,
.ws-wc-sort-wrapper .ws-custom-select-option {
    width: 100%;
    padding: 0.3rem 0.6rem;
    border: none;
    background: transparent;
    text-align: left;
    cursor: pointer;
    font-size: var(--ws-filter-dropdown-font-size);
    color: var(--ws-filter-dropdown-text-color); /* option text colour */
    font-weight: var(--ws-filter-text-weight);
}

.ws-wc-filters-skin .ws-custom-select-option:hover,
.ws-wc-sort-wrapper .ws-custom-select-option:hover {
    background: var(--ws-filter-dropdown-hover-bg);
    color: var(--ws-filter-dropdown-text-hover); /* option text hover colour */
}

.ws-wc-filters-skin .ws-custom-select.is-open .ws-custom-select-panel,
.ws-wc-sort-wrapper .ws-custom-select.is-open .ws-custom-select-panel {
    display: block;
}

/* 8. Multiselect as inline chips (pills) */
.ws-wc-filters-skin .ws-wc-filter-multiselect-inline {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ws-filter-gap-between-pills);
    min-width: var(--ws-filter-input-min-width);
}

.ws-wc-filters-skin .ws-wc-filter-multiselect-option {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    border-radius: var(--ws-filter-pill-radius);
    border: var(--ws-filter-pill-border);
    background: var(--ws-filter-pill-bg);
    padding: var(--ws-filter-pill-padding);
    font-size: var(--ws-filter-pill-font-size);
    color: var(--ws-filter-pill-text);
    font-weight: var(--ws-filter-text-weight);
    transition:
        background 0.15s ease,
        color 0.15s ease,
        border-color 0.15s ease;
}

/* Hide the actual inputs inside pills */
.ws-wc-filters-skin .ws-wc-filter-multiselect-option input[type="checkbox"],
.ws-wc-filters-skin .ws-wc-filter-multiselect-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

/*  Keyboard focus ring for pills (checkbox + radio) */
.ws-wc-filters-skin .ws-wc-filter-multiselect-option:focus-within {
  outline: 2px solid #000;
  outline-offset: 3px;
}

/* Text inside the chip */
.ws-wc-filters-skin .ws-wc-filter-multiselect-option span {
    white-space: nowrap;
    color: inherit; /* inherit from parent (normal/hover/active) */
}

/* Hover state (including text hover colour) */
.ws-wc-filters-skin .ws-wc-filter-multiselect-option:hover {
    background: var(--ws-filter-pill-bg-hover);
    border-color: var(--ws-filter-pill-border-active);
    color: var(--ws-filter-pill-text-hover);
}

.ws-wc-filters-skin .ws-wc-filter-multiselect-option:hover span {
    color: var(--ws-filter-pill-text-hover);
}

/* Selected chip */
.ws-wc-filters-skin .ws-wc-filter-multiselect-option.is-active {
    background: var(--ws-filter-pill-bg-active);
    border-color: var(--ws-filter-pill-border-active);
    color: var(--ws-filter-pill-text-active);
}

.ws-wc-filters-skin .ws-wc-filter-multiselect-option.is-active span {
    color: inherit;
}

/* ======================================================
Colour swatch pill overrides (FINAL, FINAL)
========================================================= */

/* Hover: swatch pills only */
.ws-wc-filters-skin
.ws-wc-filter-multiselect-option:hover:has(.ws-colour-swatch) {
    background: var(--ws-filter-swatch-bg-hover) !important;
    color: var(--ws-filter-pill-text) !important; /* keep text normal */
}

/* Hover: FORCE label text to stay normal (prevents 'invisible' white text) */
.ws-wc-filters-skin
.ws-wc-filter-multiselect-option:hover:has(.ws-colour-swatch) span:not(.ws-colour-swatch) {
    color: var(--ws-filter-pill-text) !important;
}

/* Hover: colour dot border */
.ws-wc-filters-skin
.ws-wc-filter-multiselect-option:hover .ws-colour-swatch {
    border: var(--ws-filter-swatch-border-active) !important;
}

/* Active: swatch pills only */
.ws-wc-filters-skin
.ws-wc-filter-multiselect-option.is-active:has(.ws-colour-swatch) {
    background: var(--ws-filter-swatch-bg-active) !important;
    color: var(--ws-filter-pill-text) !important; /* keep text normal */
}

/* Active: FORCE label text to stay normal */
.ws-wc-filters-skin
.ws-wc-filter-multiselect-option.is-active:has(.ws-colour-swatch) span:not(.ws-colour-swatch) {
    color: var(--ws-filter-pill-text) !important;
}

/* Active colour dot border */
.ws-wc-filters-skin
.ws-wc-filter-multiselect-option.is-active .ws-colour-swatch {
    border: var(--ws-filter-swatch-border-active) !important;
}

/* 9. Price range layout */
.ws-wc-filters-skin .ws-price-range-wrapper {
    display: inline-flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 260px;
}

.ws-wc-filters-skin .ws-price-range-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: nowrap; /* all left-justified with consistent gaps */
}

/* Number inputs for min/max price */
.ws-wc-filters-skin .ws-price-range-input {
    width: var(--ws-filter-price-input-width) !important;
    min-width: var(--ws-filter-price-input-width) !important;
    max-width: var(--ws-filter-price-input-width) !important;
    flex: 0 0 var(--ws-filter-price-input-width) !important;

    padding: var(--ws-filter-price-input-padding) !important;
    border-radius: var(--ws-filter-input-border-radius);
    border: var(--ws-filter-input-border) !important;
    font-size: var(--ws-filter-price-input-font-size) !important;
    color: var(--ws-filter-price-input-text-color);
    text-align: center !important;

    display: inline-block !important;
    box-sizing: border-box !important;
}

.ws-wc-filters-skin .ws-price-range-separator {
    font-size: 1rem;
    display: none; /* never show the "-" separator */
}

/* Slider wrapper */
.ws-wc-filters-skin .ws-price-range-slider-wrapper {
    position: relative;
    flex: 0 0 var(--ws-filter-slider-wrapper-width);      /* track length control */
    width: var(--ws-filter-slider-wrapper-width);
    min-width: var(--ws-filter-slider-wrapper-width);     /* was 140px */
    height: 30px; /* slightly taller wrapper for true centering */
}

/* Both range inputs stacked */
.ws-wc-filters-skin .ws-price-range-slider-wrapper .ws-price-range {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;

    transform: translateY(-50%);
    width: 100%;
    margin: 0;
    background: transparent;
    pointer-events: none;

    -webkit-appearance: none;
    appearance: none;
    z-index: 1; /* track layer baseline */
}

/* Make the max handle sit above the min handle when they overlap */
.ws-wc-filters-skin .ws-price-range-slider-wrapper .ws-price-range.ws-price-range-max {
    z-index: 2; /* ensure topmost thumb */
}

/* WebKit track & thumb */
.ws-wc-filters-skin .ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-runnable-track {
    height: var(--ws-filter-slider-track-height);
    background-color: var(--ws-filter-slider-track-color) !important;
}

.ws-wc-filters-skin .ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: var(--ws-filter-slider-thumb-size);
    height: var(--ws-filter-slider-thumb-size);
    border-radius: 50%;
    background-color: var(--ws-filter-slider-thumb-color) !important;
    pointer-events: auto;
    margin-top: var(--ws-filter-slider-thumb-margin-top) !important;
    position: relative;
}

/* Firefox track & thumb */
.ws-wc-filters-skin .ws-price-range-slider-wrapper .ws-price-range::-moz-range-track {
    height: var(--ws-filter-slider-track-height);
    background-color: var(--ws-filter-slider-track-color) !important;
}

.ws-wc-filters-skin .ws-price-range-slider-wrapper .ws-price-range::-moz-range-thumb {
    width: var(--ws-filter-slider-thumb-size);
    height: var(--ws-filter-slider-thumb-size);
    border-radius: 50%;
    background-color: var(--ws-filter-slider-thumb-color) !important;
    margin-top: 0 !important;
    position: relative;
}

/* 10. Orientation handling (desktop) */
@media (min-width: 769px) {
    .ws-wc-filters-skin[data-desktop-orientation="horizontal"] .ws-wc-filter-form {
        flex-direction: row;
        align-items: center;
    }
    .ws-wc-filters-skin[data-desktop-orientation="horizontal"] .ws-wc-filter-control,
    .ws-wc-filters-skin[data-desktop-orientation="horizontal"] .ws-wc-filter-checkbox-group {
        flex-direction: row;
    }

    .ws-wc-filters-skin[data-desktop-orientation="vertical"] .ws-wc-filter-form {
        flex-direction: column;
        align-items: flex-start;
    }
    .ws-wc-filters-skin[data-desktop-orientation="vertical"] .ws-wc-filter-label {
        margin-right: 0;
        margin-bottom: 0.35rem;
    }
    .ws-wc-filters-skin[data-desktop-orientation="vertical"] .ws-wc-filter-control,
    .ws-wc-filters-skin[data-desktop-orientation="vertical"] .ws-wc-filter-checkbox-group {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* 11. Orientation handling (mobile) */
@media (max-width: 768px) {
    .ws-wc-filters-skin[data-mobile-orientation="horizontal"] .ws-wc-filter-form {
        flex-direction: row;
        align-items: center;
    }
    .ws-wc-filters-skin[data-mobile-orientation="horizontal"] .ws-wc-filter-control,
    .ws-wc-filters-skin[data-mobile-orientation="horizontal"] .ws-wc-filter-checkbox-group {
        flex-direction: row;
    }

    .ws-wc-filters-skin[data-mobile-orientation="vertical"] .ws-wc-filter-form {
        flex-direction: column;
        align-items: flex-start;
    }
    .ws-wc-filters-skin[data-mobile-orientation="vertical"] .ws-wc-filter-label {
        margin-right: 0;
        margin-bottom: 0.35rem;
    }
    .ws-wc-filters-skin[data-mobile-orientation="vertical"] .ws-wc-filter-control,
    .ws-wc-filters-skin[data-mobile-orientation="vertical"] .ws-wc-filter-checkbox-group {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* 12. Reset All button (from [wc_filter_reset_all]) */
.ws-wc-filter-reset-all {
    padding: var(--ws-filter-reset-all-padding);
    border-radius: var(--ws-filter-reset-all-radius);
    border: var(--ws-filter-reset-all-border);
    background: var(--ws-filter-reset-all-bg);
    color: var(--ws-filter-reset-all-color);
    font-family: var(--ws-filter-font-family);
    font-size: var(--ws-filter-font-size);
    font-weight: var(--ws-filter-reset-all-weight); /* NEW */
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;       /* kill tap highlight */
    transition:
        background 0.15s ease,
        color 0.15s ease,
        border-color 0.15s ease;
}

.ws-wc-filter-reset-all:hover {
    background: var(--ws-filter-reset-all-bg-hover);
    color: var(--ws-filter-reset-all-color-hover);
}

/* Kill system focus/active colours on Reset All */
.ws-wc-filter-reset-all:focus,
.ws-wc-filter-reset-all:active {
    outline: none;
    box-shadow: none;
    background: var(--ws-filter-reset-all-bg-hover);
    color: var(--ws-filter-reset-all-color-hover);
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Saira';
	font-style: normal;
	font-weight: 100;
	font-display: swap;
	src: url('https://uwtrapopmaat.nl/wp-content/uploads/saira-v23-latin-100.woff2') format('woff2');
}
@font-face {
	font-family: 'Saira';
	font-style: normal;
	font-weight: 200;
	font-display: swap;
	src: url('https://uwtrapopmaat.nl/wp-content/uploads/saira-v23-latin-200.woff2') format('woff2');
}
@font-face {
	font-family: 'Saira';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('https://uwtrapopmaat.nl/wp-content/uploads/saira-v23-latin-300.woff2') format('woff2');
}
@font-face {
	font-family: 'Saira';
	font-style: normal;
	font-weight: normal;
	font-display: swap;
	src: url('https://uwtrapopmaat.nl/wp-content/uploads/saira-v23-latin-regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Saira';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('https://uwtrapopmaat.nl/wp-content/uploads/saira-v23-latin-500.woff2') format('woff2');
}
@font-face {
	font-family: 'Saira';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('https://uwtrapopmaat.nl/wp-content/uploads/saira-v23-latin-600.woff2') format('woff2');
}
@font-face {
	font-family: 'Saira';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('https://uwtrapopmaat.nl/wp-content/uploads/saira-v23-latin-700.woff2') format('woff2');
}
@font-face {
	font-family: 'Saira';
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url('https://uwtrapopmaat.nl/wp-content/uploads/saira-v23-latin-800.woff2') format('woff2');
}
@font-face {
	font-family: 'Saira';
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	src: url('https://uwtrapopmaat.nl/wp-content/uploads/saira-v23-latin-900.woff2') format('woff2');
}
@font-face {
	font-family: 'Saira';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('https://uwtrapopmaat.nl/wp-content/uploads/saira-v23-latin-regular.woff2') format('woff2');
}
/* End Custom Fonts CSS */