/* Start custom CSS *//* shop-filters:start */
.elementor-563 .widget_wpc_filters_widget { margin: 0; }
.elementor-563 .wpc-filters-main-wrap { font-family: var(--font-body); color: var(--color-ink-2); }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-section { margin: 0 0 var(--sp-6); padding: 0; border: 0; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-section:last-of-type { margin-bottom: 0; }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-header { margin: 0 0 var(--sp-3); padding: 0; border: 0; }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-title { margin: 0; padding: 0; font-family: var(--font-body) !important; font-size: var(--fs-12) !important; font-weight: 400 !important; line-height: var(--lh-snug) !important; letter-spacing: var(--ls-wide); text-transform: uppercase; color: var(--color-ink) !important; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-ul-list { margin: 0; padding: 0; list-style: none; }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-link { color: inherit !important; text-decoration: none !important; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-section ul.wpc-filters-labels { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item { width: auto; margin: 0; padding: 0; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item .wpc-term-item-content-wrapper { margin: 0; padding: 0; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item .wpc-label-input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item label { display: inline-flex; align-items: center; margin: 0; padding: var(--sp-2) var(--sp-4); border: var(--bd) solid var(--color-line-2); border-radius: var(--r-pill); background: var(--color-panel); font-family: var(--font-body); font-size: var(--fs-13); font-weight: 400; line-height: 1.2; color: var(--color-ink-2); cursor: pointer; transition: border-color 220ms, color 220ms, background-color 220ms; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item label:hover { border-color: var(--color-ink); color: var(--color-ink); }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item.wpc-term-selected label { background: var(--color-ink); border-color: var(--color-ink); color: var(--color-inverse); }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item .wpc-label-input:focus-visible + label { outline: var(--bd-2) solid var(--color-accent); outline-offset: 2px; }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-pa_size .wpc-filters-labels li.wpc-term-item label { padding: var(--sp-2) var(--sp-3); border-radius: var(--r-sm); background: var(--color-canvas); font-size: var(--fs-12); }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-pa_size .wpc-filters-labels li.wpc-term-item.wpc-term-count-0:not(.wpc-term-selected) label { border-style: dashed; color: var(--color-line-2); cursor: not-allowed; }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-pa_size .wpc-filters-labels li.wpc-term-item.wpc-term-selected label { background: var(--color-ink); border-color: var(--color-ink); color: var(--color-inverse); }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches .wpc-filters-labels li.wpc-term-item label { padding: 3px; border-radius: var(--r-pill); background: transparent; }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches .wpc-filters-labels li.wpc-term-item label:hover { background: transparent; }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches li.wpc-term-item .wpc-filter-label-wrapper,
.elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches li.wpc-term-item .wpc-filter-link { display: block; line-height: 0; }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches li.wpc-term-item label span.wpc-term-swatch-wrapper { display: block; width: 24px !important; min-width: 24px; height: 24px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: var(--r-pill) !important; }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches li.wpc-term-item label span.wpc-term-swatch { display: block; width: 24px !important; min-width: 24px; height: 24px !important; margin: 0 !important; border: 0 !important; border-radius: var(--r-pill) !important; box-shadow: inset 0 0 0 1px var(--color-shadow); }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches li.wpc-term-item .wpc-term-name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches .wpc-filters-labels li.wpc-term-item.wpc-term-selected label { background: transparent; border-color: var(--color-ink); box-shadow: 0 0 0 1px var(--color-ink); }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-checkboxes li.wpc-term-item { margin: 0 0 var(--sp-3); padding: 0; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-checkboxes li.wpc-term-item:last-child { margin-bottom: 0; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-checkboxes li.wpc-term-item .wpc-term-item-content-wrapper { display: flex; align-items: center; gap: var(--sp-3); margin: 0; padding: 0; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-checkboxes li.wpc-term-item input[type=checkbox] { flex: 0 0 auto; width: 16px; height: 16px; margin: 0; accent-color: var(--color-ink); cursor: pointer; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-checkboxes li.wpc-term-item label { margin: 0; padding: 0; font-family: var(--font-body); font-size: var(--fs-13); font-weight: 400; line-height: var(--lh-snug); color: var(--color-ink-2); cursor: pointer; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-checkboxes li.wpc-term-item.wpc-term-selected label { color: var(--color-ink); }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-open-button-container { margin: 0; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-open-button-container a.wpc-open-close-filters-button { display: flex; align-items: center; justify-content: center; gap: var(--sp-2); width: 100%; min-height: 48px; margin: 0; padding: 0 var(--sp-5); border: var(--bd) solid var(--color-line-2); border-radius: var(--r-pill); background: var(--color-panel); color: var(--color-ink) !important; font-family: var(--font-body); font-size: var(--fs-13); letter-spacing: var(--ls-mid); text-transform: uppercase; text-decoration: none !important; box-shadow: none; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-open-button-container a.wpc-open-close-filters-button:hover { border-color: var(--color-ink); }
@media (max-width: 767px) {
  .elementor-563 .wpc-filters-main-wrap .wpc-filters-widget-content { margin-top: var(--sp-3); padding: var(--sp-5); border: var(--bd) solid var(--color-line); border-radius: var(--r-lg); background: var(--color-panel); }
}
/* shop-filters:end */
/* shop-filters-fix:start */
.elementor-563 .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item label span.wpc-filter-label-wrapper { padding: 0 !important; border-radius: inherit; background: transparent !important; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item label .wpc-filter-link { margin: 0 !important; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item label:hover { background: var(--color-surface-2); border-color: var(--color-ink); color: var(--color-ink); }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item.wpc-term-selected label:hover { background: var(--color-ink); color: var(--color-inverse); }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-layout-labels.wpc-filter-visible-term-names.wpc-filter-has-swatches ul.wpc-filters-labels { flex-direction: row !important; flex-wrap: wrap !important; gap: var(--sp-2); }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-layout-labels.wpc-filter-visible-term-names.wpc-filter-has-swatches .wpc-filters-labels li.wpc-term-item { width: auto !important; flex: 0 0 auto; }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches .wpc-filters-labels li.wpc-term-item label { padding: 2px; }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches .wpc-filters-labels li.wpc-term-item label:hover { background: transparent; border-color: var(--color-ink); }
/* shop-filters-fix:end */
/* shop-filters-2:start */
/* Labels (size): the inner text always follows the pill colour, so hover never turns it white */
.elementor-563 .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item label:hover span.wpc-filter-label-wrapper,
.elementor-563 .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item label:hover .wpc-filter-link,
.elementor-563 .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item input:checked + label span.wpc-filter-label-wrapper { color: inherit !important; background: transparent !important; }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-pa_size .wpc-filters-labels li.wpc-term-item:not(.wpc-term-selected) label:hover { background: var(--color-surface-2); border-color: var(--color-ink); color: var(--color-ink); }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-pa_size .wpc-filters-labels li.wpc-term-item.wpc-term-selected label:hover { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-inverse); }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-pa_size .wpc-filters-labels li.wpc-term-item.wpc-term-count-0:not(.wpc-term-selected) label:hover { background: var(--color-canvas); border-color: var(--color-line-2); color: var(--color-line-2); }

/* Colour swatches: the colour name shows as a tooltip below the swatch on hover or keyboard focus */
.elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches li.wpc-term-item label { position: relative; }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches li.wpc-term-item .wpc-term-name { position: absolute; top: calc(100% + 12px); left: 50%; z-index: 30; width: auto; height: auto; margin: 0; padding: var(--sp-1) var(--sp-2); overflow: visible; clip: auto; font-family: var(--font-body); font-size: var(--fs-12); font-weight: 400; line-height: var(--lh-snug); color: var(--color-inverse); white-space: nowrap; background: var(--color-ink); border-radius: var(--r-sm); opacity: 0; pointer-events: none; translate: -50% 0; transition: opacity 220ms ease, top 220ms ease; }
.elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches li.wpc-term-item .wpc-term-name::before { content: ""; position: absolute; bottom: 100%; left: 50%; translate: -50% 0; border: 4px solid transparent; border-bottom-color: var(--color-ink); }
@media (hover: hover) {
  .elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches li.wpc-term-item label:hover .wpc-term-name { opacity: 1; top: calc(100% + 8px); }
}
.elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches li.wpc-term-item .wpc-label-input:focus-visible + label .wpc-term-name { opacity: 1; top: calc(100% + 8px); }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-section.wpc-filter-has-swatches,
.elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches .wpc-filter-content { overflow: visible; }
@media (prefers-reduced-motion: reduce) {
  .elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches li.wpc-term-item .wpc-term-name { transition: none; }
}

/* Collection (single choice): the shop page uses the collection pills instead; elsewhere it is a styled radio list */
body.woocommerce-shop .elementor-563 .wpc-filters-main-wrap .wpc-filters-section.wpc-filter-product_cat { display: none; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-radio li.wpc-term-item { margin: 0 0 var(--sp-3); padding: 0; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-radio li.wpc-term-item:last-child { margin-bottom: 0; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-radio li.wpc-term-item .wpc-term-item-content-wrapper { display: flex; align-items: center; gap: var(--sp-3); margin: 0; padding: 0; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-radio li.wpc-term-item input[type=radio] { flex: 0 0 auto; width: 16px; height: 16px; margin: 0; accent-color: var(--color-ink); cursor: pointer; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-radio li.wpc-term-item label { margin: 0; padding: 0; font-family: var(--font-body); font-size: var(--fs-13); font-weight: 400; line-height: var(--lh-snug); color: var(--color-ink-2); cursor: pointer; }
.elementor-563 .wpc-filters-main-wrap .wpc-filters-radio li.wpc-term-item.wpc-term-selected label { color: var(--color-ink); }
/* shop-filters-2:end */
/* swatch-list-height:start */
/* The colour list shows every swatch without its own scroll area, so the name tooltips are never cut off */
.elementor-563 .wpc-filters-main-wrap .wpc-filter-has-swatches .wpc-filter-content ul.wpc-filters-ul-list { max-height: none !important; overflow: visible !important; }
/* swatch-list-height:end *//* End custom CSS */