.elementor-10 .elementor-element.elementor-element-32a4df4{--display:flex;--padding-top:56px;--padding-bottom:96px;--padding-left:24px;--padding-right:24px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-10 .elementor-element.elementor-element-d4bc345{text-align:center;}.elementor-10 .elementor-element.elementor-element-d4bc345 .elementor-heading-title{font-family:var( --e-global-typography-a8f9950-font-family ), Sans-serif;font-size:var( --e-global-typography-a8f9950-font-size );font-weight:var( --e-global-typography-a8f9950-font-weight );line-height:var( --e-global-typography-a8f9950-line-height );}.elementor-10 .elementor-element.elementor-element-92f1df2 .woocommerce-breadcrumb > a{color:var( --e-global-color-text );}.elementor-10 .elementor-element.elementor-element-92f1df2 .woocommerce-breadcrumb{font-family:var( --e-global-typography-46049e6-font-family ), Sans-serif;font-size:var( --e-global-typography-46049e6-font-size );font-weight:var( --e-global-typography-46049e6-font-weight );text-transform:var( --e-global-typography-46049e6-text-transform );font-style:var( --e-global-typography-46049e6-font-style );text-decoration:var( --e-global-typography-46049e6-text-decoration );line-height:var( --e-global-typography-46049e6-line-height );}.elementor-10 .elementor-element.elementor-element-1b9aab7{--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;--justify-content:space-between;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-0913690{--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:17px 17px;--row-gap:17px;--column-gap:17px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-3119fee{width:100%;max-width:100%;}.elementor-10 .elementor-element.elementor-element-3119fee.elementor-element{--align-self:stretch;}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );--n-menu-title-line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-mega-menu{--n-menu-title-font-size:var( --e-global-typography-accent-font-size );--n-menu-divider-color:var( --e-global-color-text );}.elementor-10 .elementor-element.elementor-element-5ac114e{--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;--border-radius:30px 30px 30px 30px;box-shadow:0px 14px 12px 0px rgba(196.00000000000003, 168.00000000000003, 141.00000000000003, 0.25);--margin-top:12px;--margin-bottom:24px;--margin-left:0px;--margin-right:0px;--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-10 .elementor-element.elementor-element-143d9e9{--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;--justify-content:center;--border-radius:20px 20px 20px 20px;--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-10 .elementor-element.elementor-element-143d9e9:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-143d9e9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-77f48c2 );}.elementor-10 .elementor-element.elementor-element-81d6e6f{width:100%;max-width:100%;}.elementor-10 .elementor-element.elementor-element-4783e3d{width:100%;max-width:100%;}.elementor-10 .elementor-element.elementor-element-f9ad2eb{--n-menu-dropdown-content-max-width:fit-content;--n-menu-heading-justify-content:flex-end;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:flex-end;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-title-distance-from-content:0px;width:var( --container-widget-width, 9% );max-width:9%;--container-widget-width:9%;--container-widget-flex-grow:0;--n-menu-toggle-align:flex-end;--n-menu-toggle-icon-wrapper-animation-duration:500ms;--n-menu-title-space-between:12px;--n-menu-title-font-size:14px;--n-menu-title-color-normal:var( --e-global-color-text );--n-menu-title-transition:300ms;--n-menu-icon-size:16px;--n-menu-dropdown-indicator-color-normal:var( --e-global-color-accent );--n-menu-dropdown-indicator-color-hover:var( --e-global-color-secondary );--n-menu-dropdown-indicator-color-active:var( --e-global-color-secondary );--n-menu-toggle-icon-size:20px;--n-menu-toggle-icon-color:var( --e-global-color-fa5dd1c );--n-menu-toggle-icon-color-hover:var( --e-global-color-fa5dd1c );--n-menu-toggle-icon-hover-duration:500ms;--n-menu-toggle-icon-color-active:var( --e-global-color-fa5dd1c );--n-menu-toggle-icon-distance-from-dropdown:4px;}.elementor-10 .elementor-element.elementor-element-f9ad2eb > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title:hover:not( .e-current ){background-color:var( --e-global-color-fa5dd1c );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );}.elementor-10 .elementor-element.elementor-element-f9ad2eb > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title.e-current{background-color:var( --e-global-color-fa5dd1c );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );}.elementor-10 .elementor-element.elementor-element-f9ad2eb > .e-n-menu > .e-n-menu-toggle[aria-expanded="false"]:not( :hover ) > .e-n-menu-toggle-icon{background:var( --e-global-color-accent );}.elementor-10 .elementor-element.elementor-element-f9ad2eb > .e-n-menu > .e-n-menu-toggle:hover:is( [aria-expanded="true"], [aria-expanded="false"] ) > .e-n-menu-toggle-icon{background:var( --e-global-color-text );}.elementor-10 .elementor-element.elementor-element-f9ad2eb > .e-n-menu > .e-n-menu-toggle[aria-expanded="true"] > .e-n-menu-toggle-icon{background:var( --e-global-color-text );}.elementor-10 .elementor-element.elementor-element-f9ad2eb > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-10 .elementor-element.elementor-element-f9ad2eb > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-10 .elementor-element.elementor-element-f9ad2eb > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:"Inter", Sans-serif;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;--n-menu-title-line-height:1.6;}.elementor-10 .elementor-element.elementor-element-f9ad2eb > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title:not( .e-current ):not( :hover ){border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-94256e2 );}.elementor-10 .elementor-element.elementor-element-f9ad2eb {--n-menu-title-color-hover:var( --e-global-color-primary );--n-menu-title-color-active:var( --e-global-color-primary );}.elementor-10 .elementor-element.elementor-element-f9ad2eb > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title{border-radius:20px 20px 20px 20px;}.elementor-10 .elementor-element.elementor-element-8a4ab82{width:100%;max-width:100%;}.elementor-10 .elementor-element.elementor-element-8a42df1{width:100%;max-width:100%;}.elementor-10 .elementor-element.elementor-element-5f64c89{--e-filter-direction:column;--e-filter-white-space:initial;--e-filter-align-items:center;--e-filter-item-width:100%;--e-filter-item-max-width:100%;--e-filter-item-flex-grow:1;--e-filter-item-box-sizing:border-box;--e-filter-item-align-text:center;--e-filter-normal-text-color:var( --e-global-color-text );--e-filter-hover-text-color:var( --e-global-color-text );--e-filter-active-text-color:var( --e-global-color-text );--e-filter-item-border-radius:65px 65px 65px 65px;}.elementor-10 .elementor-element.elementor-element-5f64c89 .e-filter-item:hover:not( [aria-pressed=true] ){background-color:var( --e-global-color-7e91067 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );}.elementor-10 .elementor-element.elementor-element-5f64c89 .e-filter-item[aria-pressed="true"]{background-color:var( --e-global-color-7e91067 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );}.elementor-10 .elementor-element.elementor-element-5f64c89 .e-filter-item{font-family:var( --e-global-typography-46049e6-font-family ), Sans-serif;font-size:var( --e-global-typography-46049e6-font-size );font-weight:var( --e-global-typography-46049e6-font-weight );text-transform:var( --e-global-typography-46049e6-text-transform );font-style:var( --e-global-typography-46049e6-font-style );text-decoration:var( --e-global-typography-46049e6-text-decoration );line-height:var( --e-global-typography-46049e6-line-height );}.elementor-10 .elementor-element.elementor-element-5f64c89 .e-filter-item:not( [aria-pressed=true] ):not( :hover ){border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );}.elementor-10 .elementor-element.elementor-element-132f8ec{--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;--justify-content:space-between;--gap:17px 17px;--row-gap:17px;--column-gap:17px;--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-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-10 .elementor-element.elementor-element-4768a42{--grid-columns:4;width:100%;max-width:100%;--grid-column-gap:24px;}.elementor-10 .elementor-element.elementor-element-4768a42 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-10 .elementor-element.elementor-element-4768a42 .e-loop-item > .elementor-section, .elementor-10 .elementor-element.elementor-element-4768a42 .e-loop-item > .elementor-section > .elementor-container, .elementor-10 .elementor-element.elementor-element-4768a42 .e-loop-item > .e-con, .elementor-10 .elementor-element.elementor-element-4768a42 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-10 .elementor-element.elementor-element-4768a42 .elementor-pagination{text-align:center;font-family:var( --e-global-typography-46049e6-font-family ), Sans-serif;font-size:var( --e-global-typography-46049e6-font-size );font-weight:var( --e-global-typography-46049e6-font-weight );text-transform:var( --e-global-typography-46049e6-text-transform );font-style:var( --e-global-typography-46049e6-font-style );text-decoration:var( --e-global-typography-46049e6-text-decoration );line-height:var( --e-global-typography-46049e6-line-height );margin-top:56px;}.elementor-10 .elementor-element.elementor-element-4768a42 .elementor-pagination .page-numbers:not(.dots){color:var( --e-global-color-0480c44 );}.elementor-10 .elementor-element.elementor-element-4768a42 .elementor-pagination a.page-numbers:hover{color:var( --e-global-color-accent );}.elementor-10 .elementor-element.elementor-element-4768a42 .elementor-pagination .page-numbers.current{color:var( --e-global-color-accent );}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-4768a42 .elementor-pagination .page-numbers:not(:first-child){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-10 .elementor-element.elementor-element-4768a42 .elementor-pagination .page-numbers:not(:last-child){margin-right:calc( 10px/2 );}body.rtl .elementor-10 .elementor-element.elementor-element-4768a42 .elementor-pagination .page-numbers:not(:first-child){margin-right:calc( 10px/2 );}body.rtl .elementor-10 .elementor-element.elementor-element-4768a42 .elementor-pagination .page-numbers:not(:last-child){margin-left:calc( 10px/2 );}:root{--page-title-display:none;}@media(max-width:1366px){.elementor-10 .elementor-element.elementor-element-32a4df4{--padding-top:56px;--padding-bottom:96px;--padding-left:16px;--padding-right:16px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-10 .elementor-element.elementor-element-d4bc345 .elementor-heading-title{font-size:var( --e-global-typography-a8f9950-font-size );line-height:var( --e-global-typography-a8f9950-line-height );}.elementor-10 .elementor-element.elementor-element-92f1df2 .woocommerce-breadcrumb{font-size:var( --e-global-typography-46049e6-font-size );line-height:var( --e-global-typography-46049e6-line-height );}.elementor-10 .elementor-element.elementor-element-1b9aab7{--gap:17px 17px;--row-gap:17px;--column-gap:17px;}.elementor-widget-mega-menu{--n-menu-title-font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{--n-menu-title-line-height:var( --e-global-typography-accent-line-height );}.elementor-10 .elementor-element.elementor-element-f9ad2eb{--container-widget-width:159px;--container-widget-flex-grow:0;width:var( --container-widget-width, 159px );max-width:159px;--n-menu-title-space-between:0px;--n-menu-title-font-size:14px;}.elementor-10 .elementor-element.elementor-element-5f64c89 .e-filter-item{font-size:var( --e-global-typography-46049e6-font-size );line-height:var( --e-global-typography-46049e6-line-height );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-10 .elementor-element.elementor-element-4768a42{--grid-columns:3;width:100%;max-width:100%;--grid-column-gap:17px;}.elementor-10 .elementor-element.elementor-element-4768a42 .elementor-pagination{font-size:var( --e-global-typography-46049e6-font-size );line-height:var( --e-global-typography-46049e6-line-height );margin-top:22px;}}@media(max-width:1024px){.elementor-10 .elementor-element.elementor-element-32a4df4{--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;--flex-wrap:wrap;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-10 .elementor-element.elementor-element-d4bc345 .elementor-heading-title{font-size:var( --e-global-typography-a8f9950-font-size );line-height:var( --e-global-typography-a8f9950-line-height );}.elementor-10 .elementor-element.elementor-element-92f1df2{width:100%;max-width:100%;}.elementor-10 .elementor-element.elementor-element-92f1df2 .woocommerce-breadcrumb{font-size:var( --e-global-typography-46049e6-font-size );line-height:var( --e-global-typography-46049e6-line-height );}.elementor-10 .elementor-element.elementor-element-1b9aab7{--flex-wrap:wrap;}.elementor-widget-mega-menu{--n-menu-title-font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{--n-menu-title-line-height:var( --e-global-typography-accent-line-height );}.elementor-10 .elementor-element.elementor-element-5ac114e{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10 .elementor-element.elementor-element-f9ad2eb{--n-menu-heading-justify-content:initial;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:initial;--n-menu-title-distance-from-content:0px;--n-menu-toggle-align:center;--n-menu-title-space-between:0px;--n-menu-title-font-size:14px;--n-menu-dropdown-indicator-size:15px;--n-menu-toggle-icon-size:36px;--n-menu-toggle-icon-padding:4px 4px 4px 4px;--n-menu-toggle-icon-distance-from-dropdown:12px;}.elementor-10 .elementor-element.elementor-element-5f64c89{--e-filter-direction:row;--e-filter-white-space:nowrap;--e-filter-wrap:nowrap;--e-filter-overflow-x:scroll;}.elementor-10 .elementor-element.elementor-element-5f64c89 .e-filter-item{font-size:var( --e-global-typography-46049e6-font-size );line-height:var( --e-global-typography-46049e6-line-height );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-10 .elementor-element.elementor-element-4768a42{--grid-columns:2;}.elementor-10 .elementor-element.elementor-element-4768a42 .elementor-pagination{font-size:var( --e-global-typography-46049e6-font-size );line-height:var( --e-global-typography-46049e6-line-height );}}@media(max-width:767px){.elementor-10 .elementor-element.elementor-element-32a4df4{--padding-top:16px;--padding-bottom:16px;--padding-left:25px;--padding-right:25px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-10 .elementor-element.elementor-element-d4bc345 .elementor-heading-title{font-size:var( --e-global-typography-a8f9950-font-size );line-height:var( --e-global-typography-a8f9950-line-height );}.elementor-10 .elementor-element.elementor-element-92f1df2 .woocommerce-breadcrumb{font-size:var( --e-global-typography-46049e6-font-size );line-height:var( --e-global-typography-46049e6-line-height );}.elementor-10 .elementor-element.elementor-element-3119fee{width:100%;max-width:100%;}.elementor-10 .elementor-element.elementor-element-3119fee.elementor-element{--align-self:flex-end;}.elementor-widget-mega-menu{--n-menu-title-font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{--n-menu-title-line-height:var( --e-global-typography-accent-line-height );}.elementor-10 .elementor-element.elementor-element-5ac114e{--width:90%;--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;--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-10 .elementor-element.elementor-element-f9ad2eb{--n-menu-heading-justify-content:space-between;--n-menu-title-flex-grow:1;--n-menu-title-justify-content:center;--n-menu-title-justify-content-mobile:center;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;width:100%;max-width:100%;z-index:999;--n-menu-title-font-size:15px;--n-menu-title-padding:4px 12px 4px 12px;--n-menu-dropdown-indicator-size:18px;--n-menu-dropdown-indicator-space:0px;--n-menu-toggle-icon-size:31px;}.elementor-10 .elementor-element.elementor-element-f9ad2eb.elementor-element{--align-self:stretch;}:where( .elementor-10 .elementor-element.elementor-element-f9ad2eb > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-content ) > .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;}:where( [data-core-v316-plus='true'] .elementor-element.elementor-widget-n-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-content ) > .e-con{--padding-block-start:0px;--padding-inline-end:0px;--padding-block-end:0px;--padding-inline-start:0px;}.elementor-10 .elementor-element.elementor-element-5f64c89 .e-filter-item{font-size:var( --e-global-typography-46049e6-font-size );line-height:var( --e-global-typography-46049e6-line-height );}.elementor-10 .elementor-element.elementor-element-132f8ec{--width:100%;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-10 .elementor-element.elementor-element-4768a42{--grid-columns:1;}.elementor-10 .elementor-element.elementor-element-4768a42 .elementor-pagination{font-size:var( --e-global-typography-46049e6-font-size );line-height:var( --e-global-typography-46049e6-line-height );}}@media(min-width:768px){.elementor-10 .elementor-element.elementor-element-32a4df4{--content-width:1600px;}.elementor-10 .elementor-element.elementor-element-0913690{--width:271px;}.elementor-10 .elementor-element.elementor-element-5ac114e{--width:300px;}.elementor-10 .elementor-element.elementor-element-132f8ec{--width:1230px;}}@media(max-width:1366px) and (min-width:768px){.elementor-10 .elementor-element.elementor-element-5ac114e{--width:300px;}.elementor-10 .elementor-element.elementor-element-132f8ec{--width:842px;}}@media(max-width:1024px) and (min-width:768px){.elementor-10 .elementor-element.elementor-element-0913690{--width:100%;}.elementor-10 .elementor-element.elementor-element-5ac114e{--width:100%;}}@media(min-width:2400px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-10 .elementor-element.elementor-element-d4bc345 .elementor-heading-title{font-size:var( --e-global-typography-a8f9950-font-size );line-height:var( --e-global-typography-a8f9950-line-height );}.elementor-10 .elementor-element.elementor-element-92f1df2 .woocommerce-breadcrumb{font-size:var( --e-global-typography-46049e6-font-size );line-height:var( --e-global-typography-46049e6-line-height );}.elementor-widget-mega-menu{--n-menu-title-font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{--n-menu-title-line-height:var( --e-global-typography-accent-line-height );}.elementor-10 .elementor-element.elementor-element-5ac114e{--width:300px;}.elementor-10 .elementor-element.elementor-element-5f64c89 .e-filter-item{font-size:var( --e-global-typography-46049e6-font-size );line-height:var( --e-global-typography-46049e6-line-height );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-10 .elementor-element.elementor-element-4768a42 .elementor-pagination{font-size:var( --e-global-typography-46049e6-font-size );line-height:var( --e-global-typography-46049e6-line-height );}}/* Start custom CSS for shortcode, class: .elementor-element-81d6e6f *//* ======================================================
WS WooCommerce Filter Builder — Global Skin
========================================================= */

/* 1. Root variables for the whole filter skin (GLOBAL) */
:root {
    /* Typography */
    --ws-filter-font-family: "Inter", 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: #E82590;
    --ws-filter-label-bg: #f4f4f4; /* transparent */
    --ws-filter-label-weight: 700;
    --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: #FFD1E4;
    --ws-filter-pill-bg-active: #FFD1E4;
    --ws-filter-pill-border: 1px solid #e2e8f0;
    --ws-filter-pill-border-active: #e2e8f0;
    --ws-filter-pill-text: #1e1e1e;
    --ws-filter-pill-text-hover: #000;
    --ws-filter-pill-text-active: #ffffff;
    --ws-filter-pill-radius: 20px;
    --ws-filter-pill-padding: 8px 15px 8px 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.84rem, 0.80517rem + 0.13793vw, 0.80rem);
    --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: #E82590;
    --ws-filter-slider-track-height: 4px;
    --ws-filter-slider-thumb-color: #E82590;
    --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: #E82590;
    --ws-filter-reset-btn-bg: transparent;
    --ws-filter-reset-btn-bg-hover: transparent;
    --ws-filter-reset-btn-radius: 25px;
    --ws-filter-reset-btn-padding: 0px 0px 0px 0px;

    /* Reset All button (global reset shortcode) */
    --ws-filter-reset-all-bg: #E82590;
    --ws-filter-reset-all-bg-hover: #FFD1E4;
    --ws-filter-reset-all-color: #ffffff;
    --ws-filter-reset-all-color-hover: #000;
    --ws-filter-reset-all-border: 1px solid #e2e8f0;
    --ws-filter-reset-all-radius: 25px;
    --ws-filter-reset-all-padding: 8px 10px 8px 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 shortcode, class: .elementor-element-81d6e6f *//* ======================================================
WS WooCommerce Filter Builder — Global Skin
========================================================= */

/* 1. Root variables for the whole filter skin (GLOBAL) */
:root {
    /* Typography */
    --ws-filter-font-family: "Inter", 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: #E82590;
    --ws-filter-label-bg: #f4f4f4; /* transparent */
    --ws-filter-label-weight: 700;
    --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: #FFD1E4;
    --ws-filter-pill-bg-active: #FFD1E4;
    --ws-filter-pill-border: 1px solid #e2e8f0;
    --ws-filter-pill-border-active: #e2e8f0;
    --ws-filter-pill-text: #1e1e1e;
    --ws-filter-pill-text-hover: #000;
    --ws-filter-pill-text-active: #ffffff;
    --ws-filter-pill-radius: 20px;
    --ws-filter-pill-padding: 8px 15px 8px 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.84rem, 0.80517rem + 0.13793vw, 0.80rem);
    --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: #E82590;
    --ws-filter-slider-track-height: 4px;
    --ws-filter-slider-thumb-color: #E82590;
    --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: #E82590;
    --ws-filter-reset-btn-bg: transparent;
    --ws-filter-reset-btn-bg-hover: transparent;
    --ws-filter-reset-btn-radius: 25px;
    --ws-filter-reset-btn-padding: 0px 0px 0px 0px;

    /* Reset All button (global reset shortcode) */
    --ws-filter-reset-all-bg: #E82590;
    --ws-filter-reset-all-bg-hover: #FFD1E4;
    --ws-filter-reset-all-color: #ffffff;
    --ws-filter-reset-all-color-hover: #000;
    --ws-filter-reset-all-border: 1px solid #e2e8f0;
    --ws-filter-reset-all-radius: 25px;
    --ws-filter-reset-all-padding: 8px 10px 8px 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 shortcode, class: .elementor-element-8a42df1 *//* ======================================================
WS WooCommerce Filter Builder — Global Skin
========================================================= */

/* 1. Root variables for the whole filter skin (GLOBAL) */
:root {
    /* Typography */
    --ws-filter-font-family: "Inter", 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: #E82590;
    --ws-filter-label-bg: #f4f4f4; /* transparent */
    --ws-filter-label-weight: 700;
    --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: #FFD1E4;
    --ws-filter-pill-bg-active: #FFD1E4;
    --ws-filter-pill-border: 1px solid #e2e8f0;
    --ws-filter-pill-border-active: #e2e8f0;
    --ws-filter-pill-text: #1e1e1e;
    --ws-filter-pill-text-hover: #000;
    --ws-filter-pill-text-active: #ffffff;
    --ws-filter-pill-radius: 20px;
    --ws-filter-pill-padding: 8px 15px 8px 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.84rem, 0.80517rem + 0.13793vw, 0.80rem);
    --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: #E82590;
    --ws-filter-slider-track-height: 4px;
    --ws-filter-slider-thumb-color: #E82590;
    --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: #E82590;
    --ws-filter-reset-btn-bg: transparent;
    --ws-filter-reset-btn-bg-hover: transparent;
    --ws-filter-reset-btn-radius: 25px;
    --ws-filter-reset-btn-padding: 0px 0px 0px 0px;

    /* Reset All button (global reset shortcode) */
    --ws-filter-reset-all-bg: #E82590;
    --ws-filter-reset-all-bg-hover: #FFD1E4;
    --ws-filter-reset-all-color: #ffffff;
    --ws-filter-reset-all-color-hover: #000;
    --ws-filter-reset-all-border: 1px solid #e2e8f0;
    --ws-filter-reset-all-radius: 25px;
    --ws-filter-reset-all-padding: 8px 10px 8px 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: 'Inter';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://dev2.linie4life.com/wp-content/uploads/2025/06/Inter-VariableFont_opszwght-1.woff2') format('woff2');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://dev2.linie4life.com/wp-content/uploads/2025/03/Inter_18pt-Bold.ttf') format('truetype');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('https://dev2.linie4life.com/wp-content/uploads/2025/03/Inter_18pt-ExtraBold.ttf') format('truetype');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 100;
	font-display: auto;
	src: url('https://dev2.linie4life.com/wp-content/uploads/2025/03/Inter_18pt-Light.ttf') format('truetype');
}
/* End Custom Fonts CSS */