.elementor-19131 .elementor-element.elementor-element-6e62c02{--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;--padding-top:56px;--padding-bottom:36px;--padding-left:0px;--padding-right:0px;}.elementor-19131 .elementor-element.elementor-element-6e62c02:not(.elementor-motion-effects-element-type-background), .elementor-19131 .elementor-element.elementor-element-6e62c02 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4EFE6;}.elementor-19131 .elementor-element.elementor-element-665e4eb{--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:flex-start;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--padding-top:32px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-19131 .elementor-element.elementor-element-c77f656{--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:28px 28px;--row-gap:28px;--column-gap:28px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-19131 .elementor-element.elementor-element-c77f656.e-con{--align-self:flex-start;}.elementor-19131 .elementor-element.elementor-element-87d170c{--display:flex;}.elementor-widget-jet-smart-filters-checkboxes .jet-filter-items-moreless__toggle{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-jet-smart-filters-checkboxes .apply-filters__button, .elementor-widget-jet-smart-filters-checkboxes .jet-filter-items-dropdown__apply-button{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-19131 .elementor-element.elementor-element-3f572ca .jet-checkboxes-list__row{display:block;margin-right:calc(5px/2);margin-left:calc(5px/2);padding-top:calc(10px/2);margin-bottom:calc(10px/2);}.elementor-19131 .elementor-element.elementor-element-3f572ca .jet-list-tree__children{display:block;margin-right:calc(5px/2);margin-left:calc(5px/2);padding-left:10px;}.elementor-19131 .elementor-element.elementor-element-3f572ca .jet-checkboxes-list-wrapper{margin-left:calc(-5px/2);margin-right:calc(-5px/2);margin-top:calc(-10px/2);margin-bottom:calc(-10px/2);}.elementor-19131 .elementor-element.elementor-element-3f572ca .jet-checkboxes-list__decorator{width:16px;height:16px;min-width:16px;min-height:16px;margin-right:5px;}.rtl .elementor-19131 .elementor-element.elementor-element-3f572ca .jet-checkboxes-list__decorator{margin-left:5px;}.elementor-19131 .elementor-element.elementor-element-3f572ca .jet-checkboxes-list__checked-icon{font-size:12px;}.elementor-19131 .elementor-element.elementor-element-3f572ca .jet-collapse-icon{width:20px;height:20px;}.elementor-19131 .elementor-element.elementor-element-3f572ca .jet-collapse-none{width:20px;height:20px;}.elementor-19131 .elementor-element.elementor-element-3f572ca .jet-filters-counter{margin-left:initial;padding-left:5px;}.rtl .elementor-19131 .elementor-element.elementor-element-3f572ca .jet-filters-counter{margin-right:initial;padding-right:5px;}.elementor-19131 .elementor-element.elementor-element-3f572ca .jet-filter+.jet-filter{margin-top:10px;}.elementor-19131 .elementor-element.elementor-element-3f572ca .jet-select[data-hierarchical="1"] + .jet-select[data-hierarchical="1"]{margin-top:10px;}.elementor-19131 .elementor-element.elementor-element-c7de66e{--display:flex;}.elementor-19131 .elementor-element.elementor-element-c72b2bd .jet-checkboxes-list__row{display:block;margin-right:calc(5px/2);margin-left:calc(5px/2);padding-top:calc(10px/2);margin-bottom:calc(10px/2);}.elementor-19131 .elementor-element.elementor-element-c72b2bd .jet-list-tree__children{display:block;margin-right:calc(5px/2);margin-left:calc(5px/2);padding-left:10px;}.elementor-19131 .elementor-element.elementor-element-c72b2bd .jet-checkboxes-list-wrapper{margin-left:calc(-5px/2);margin-right:calc(-5px/2);margin-top:calc(-10px/2);margin-bottom:calc(-10px/2);}.elementor-19131 .elementor-element.elementor-element-c72b2bd .jet-checkboxes-list__decorator{width:16px;height:16px;min-width:16px;min-height:16px;margin-right:5px;}.rtl .elementor-19131 .elementor-element.elementor-element-c72b2bd .jet-checkboxes-list__decorator{margin-left:5px;}.elementor-19131 .elementor-element.elementor-element-c72b2bd .jet-checkboxes-list__checked-icon{font-size:12px;}.elementor-19131 .elementor-element.elementor-element-c72b2bd .jet-collapse-icon{width:20px;height:20px;}.elementor-19131 .elementor-element.elementor-element-c72b2bd .jet-collapse-none{width:20px;height:20px;}.elementor-19131 .elementor-element.elementor-element-c72b2bd .jet-filters-counter{margin-left:initial;padding-left:5px;}.rtl .elementor-19131 .elementor-element.elementor-element-c72b2bd .jet-filters-counter{margin-right:initial;padding-right:5px;}.elementor-19131 .elementor-element.elementor-element-c72b2bd .jet-filter+.jet-filter{margin-top:10px;}.elementor-19131 .elementor-element.elementor-element-c72b2bd .jet-select[data-hierarchical="1"] + .jet-select[data-hierarchical="1"]{margin-top:10px;}.elementor-19131 .elementor-element.elementor-element-cf2a890{--display:flex;}.elementor-widget-jet-smart-filters-range .apply-filters__button, .elementor-widget-jet-smart-filters-range .jet-filter-items-dropdown__apply-button{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-19131 .elementor-element.elementor-element-36a659d .jet-range__slider__track{height:4px;}.elementor-19131 .elementor-element.elementor-element-36a659d .jet-range__slider__input::-webkit-slider-thumb{width:16px;height:16px;}.elementor-19131 .elementor-element.elementor-element-36a659d .jet-range__slider__input::-moz-range-thumb{width:16px;height:16px;}.elementor-19131 .elementor-element.elementor-element-36a659d .jet-range__slider__input::-ms-thumb{width:16px;height:16px;}.elementor-19131 .elementor-element.elementor-element-36a659d .jet-range__slider__input{height:16px;}.elementor-19131 .elementor-element.elementor-element-36a659d .jet-range__values{text-align:center;}.elementor-19131 .elementor-element.elementor-element-36a659d .jet-range__inputs__container{margin-left:auto;margin-right:auto;}.elementor-19131 .elementor-element.elementor-element-36a659d .jet-filters-group .jet-filter{width:100%;max-width:100%;}.elementor-19131 .elementor-element.elementor-element-36a659d .jet-filters-group .jet-filter+.jet-filter{margin-top:10px;}.elementor-19131 .elementor-element.elementor-element-36a659d .jet-select[data-hierarchical="1"] + .jet-select[data-hierarchical="1"]{margin-top:10px;}.elementor-19131 .elementor-element.elementor-element-f41dd59{--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:28px 28px;--row-gap:28px;--column-gap:28px;}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products{--products-title-color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.products-heading-show .related-products > h2, .elementor-widget-wc-archive-products.products-heading-show .upsells > h2, .elementor-widget-wc-archive-products.products-heading-show .cross-sells > h2{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price del {font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-wc-archive-products.elementor-wc-products .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-wc-archive-products .elementor-products-nothing-found{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-19131 .elementor-element.elementor-element-01ab393.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-19131 .elementor-element.elementor-element-01ab393.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-19131 .elementor-element.elementor-element-de4814d{--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;--padding-top:40px;--padding-bottom:32px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-19131 .elementor-element.elementor-element-665e4eb{--content-width:1280px;}.elementor-19131 .elementor-element.elementor-element-c77f656{--width:280px;}.elementor-19131 .elementor-element.elementor-element-de4814d{--content-width:1280px;}}@media(max-width:1024px){.elementor-19131 .elementor-element.elementor-element-01ab393.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-19131 .elementor-element.elementor-element-01ab393.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}/* Start custom CSS for container, class: .elementor-element-c7de66e */@media (max-width:10000px) {
    .elementor-19131 .elementor-element.elementor-element-c7de66e {
        display: none!important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cf2a890 */@media (max-width:10000px) {
    .elementor-19131 .elementor-element.elementor-element-cf2a890 {
        display: none!important;
    }
}/* End custom CSS */
/* Start custom CSS *//* ==========================================================
   MORTUARY SUPPLIES — PRODUCT ARCHIVE
   Drop into WPCode site-wide CSS snippet
   ========================================================== */

/* ── Tokens ── */
:root {
  --rh-cream:    #F4EFE6;
  --rh-bone:     #ede7da;
  --rh-white:    #ffffff;
  --rh-sage:     #3a4a3b;
  --rh-sage-dk:  #2a3730;
  --rh-gold:     #a68a5f;
  --rh-gold-lt:  #c9b48a;
  --rh-ink:      #2a2a26;
  --rh-ink-mid:  #5a5a54;
  --rh-border:   #d8d2c4;
  --rh-shadow-sm: 0 2px 8px rgba(42,55,48,.06);
  --rh-shadow-md: 0 12px 32px -16px rgba(42,55,48,.18);
  --rh-sans:     'Inter', system-ui, -apple-system, sans-serif;
  --rh-serif:    'Cormorant Garamond', Georgia, serif;
}

/* ==========================================================
   1. HERO
   ========================================================== */
.rh-archive-hero { font-family: var(--rh-sans); }
.rh-hero-wrap { max-width: 1180px; margin: 0 auto; }

.rh-crumbs,
.rh-crumbs * {
  font-family: var(--rh-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--rh-ink-mid) !important;
}
.rh-crumbs a {
  text-decoration: none !important;
  border-bottom: 1px solid var(--rh-gold-lt);
  padding-bottom: 1px;
  transition: color .2s ease, border-color .2s ease;
}
.rh-crumbs a:hover {
  color: var(--rh-sage) !important;
  border-bottom-color: var(--rh-sage);
}
.rh-crumbs .separator,
.rh-crumbs .rank-math-breadcrumb-separator { margin: 0 8px; opacity: .5; }

.rh-hero-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  margin: 18px 0 0;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--rh-border);
}
.rh-hero-title {
  font-family: var(--rh-serif) !important;
  font-size: clamp(34px, 5vw, 52px);
  font-weight: 500;
  color: var(--rh-sage);
  margin: 0;
  letter-spacing: -.01em;
  line-height: 1.1;
}
.rh-hero-count {
  font-family: var(--rh-sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--rh-ink-mid);
  margin: 0;
  white-space: nowrap;
}

.rh-hero-details { margin: 18px 0 0; max-width: 760px; }
.rh-hero-summary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.rh-hero-summary::-webkit-details-marker { display: none; }
.rh-hero-summary-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--rh-gold);
}
.rh-hero-summary-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--rh-gold);
  transition: transform .25s ease;
}
.rh-hero-details[open] .rh-hero-summary-icon { transform: rotate(180deg); }

.rh-hero-description {
  margin: 14px 0 0;
  font-family: var(--rh-serif);
  font-size: 17px;
  font-style: italic;
  line-height: 1.7;
  color: var(--rh-ink-mid);
  font-weight: 400;
}
.rh-hero-description p { margin: 0 0 10px; }
.rh-hero-description p:last-child { margin-bottom: 0; }

/* ==========================================================
   2. TWO-COLUMN BODY
   ========================================================== */
.rh-archive-body { font-family: var(--rh-sans); }

/* ── 2a. Sidebar shell ── */
.rh-archive-sidebar {
  position: sticky;
  top: 100px;
  align-self: flex-start;
}

.rh-sb-block {
  background: var(--rh-white);
  border: 1px solid var(--rh-border);
  border-top: 2px solid var(--rh-gold);
  border-radius: 2px;
  padding: 22px 22px 18px !important;
  box-shadow: var(--rh-shadow-sm);
}
.rh-sb-heading {
  font-family: var(--rh-sans) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--rh-sage) !important;
  margin: 0 0 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--rh-border) !important;
}

/* ==========================================================
   JETSMARTFILTERS — STYLE INTERNALS TO MATCH PREVIEW
   ========================================================== */

/* ── Force brand fonts onto every JSF element ── */
.rh-archive-sidebar .jet-smart-filters-checkboxes,
.rh-archive-sidebar .jet-smart-filters-checkboxes *,
.rh-archive-sidebar .jet-smart-filters-range,
.rh-archive-sidebar .jet-smart-filters-range *,
.rh-filter-dialog-body .jet-smart-filters-checkboxes,
.rh-filter-dialog-body .jet-smart-filters-checkboxes *,
.rh-filter-dialog-body .jet-smart-filters-range,
.rh-filter-dialog-body .jet-smart-filters-range * {
  font-family: var(--rh-sans) !important;
}

/* ── Strip JSF's own labels (we use our own .rh-sb-heading) ── */
.rh-archive-sidebar .jet-filter-label,
.rh-filter-dialog-body .jet-filter-label {
  display: none !important;
}

/* ── Reset JSF wrappers so they sit cleanly inside .rh-sb-block ── */
.rh-archive-sidebar .jet-smart-filters-checkboxes,
.rh-archive-sidebar .jet-smart-filters-range,
.rh-archive-sidebar .jet-filter-items-dropdown,
.rh-archive-sidebar .jet-filter-items-dropdown__body,
.rh-filter-dialog-body .jet-smart-filters-checkboxes,
.rh-filter-dialog-body .jet-smart-filters-range,
.rh-filter-dialog-body .jet-filter-items-dropdown,
.rh-filter-dialog-body .jet-filter-items-dropdown__body {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
.rh-archive-sidebar .jet-filter-items-dropdown__label,
.rh-filter-dialog-body .jet-filter-items-dropdown__label {
  display: none !important;
}

/* ============================================================
   CHECKBOXES
   ============================================================ */

/* Scrollable list wrapper */
.rh-archive-sidebar .jet-filter-items-scroll,
.rh-archive-sidebar .jet-filter-items-scroll-container,
.rh-archive-sidebar .jet-checkboxes-list-wrapper,
.rh-archive-sidebar .jet-checkboxes-list__wrapper,
.rh-filter-dialog-body .jet-filter-items-scroll,
.rh-filter-dialog-body .jet-filter-items-scroll-container,
.rh-filter-dialog-body .jet-checkboxes-list-wrapper,
.rh-filter-dialog-body .jet-checkboxes-list__wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  max-height: 260px !important;
  overflow-y: auto !important;
  padding: 0 4px 0 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
}
.rh-archive-sidebar .jet-checkboxes-list-wrapper::-webkit-scrollbar,
.rh-filter-dialog-body .jet-checkboxes-list-wrapper::-webkit-scrollbar {
  width: 4px;
}
.rh-archive-sidebar .jet-checkboxes-list-wrapper::-webkit-scrollbar-thumb,
.rh-filter-dialog-body .jet-checkboxes-list-wrapper::-webkit-scrollbar-thumb {
  background: var(--rh-border);
  border-radius: 2px;
}

/* Each row */
.rh-archive-sidebar .jet-checkboxes-list__row,
.rh-filter-dialog-body .jet-checkboxes-list__row {
  margin: 0 !important;
  padding: 0 !important;
}

/* The label that wraps everything — make it a flex container */
.rh-archive-sidebar .jet-checkboxes-list__item,
.rh-filter-dialog-body .jet-checkboxes-list__item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 3px 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  background: transparent !important;
  border: none !important;
}

/* Hide the actual native input */
.rh-archive-sidebar .jet-checkboxes-list__input,
.rh-filter-dialog-body .jet-checkboxes-list__input {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

/* The button div holds decorator + label */
.rh-archive-sidebar .jet-checkboxes-list__button,
.rh-filter-dialog-body .jet-checkboxes-list__button {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  font-family: var(--rh-sans) !important;
}

/* The decorator span — visual checkbox */
.rh-archive-sidebar .jet-checkboxes-list__decorator,
.rh-filter-dialog-body .jet-checkboxes-list__decorator {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 15px !important;
  height: 15px !important;
  flex-shrink: 0 !important;
  background: var(--rh-white) !important;
  border: 1.5px solid var(--rh-ink-mid) !important;
  border-radius: 2px !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: background .2s ease, border-color .2s ease !important;
}
.rh-archive-sidebar .jet-checkboxes-list__item:hover .jet-checkboxes-list__decorator,
.rh-filter-dialog-body .jet-checkboxes-list__item:hover .jet-checkboxes-list__decorator {
  border-color: var(--rh-sage) !important;
}

/* Hide JSF's SVG check icon — we use our own ::after */
.rh-archive-sidebar .jet-checkboxes-list__checked-icon,
.rh-archive-sidebar .jet-checkboxes-list__checked-icon svg,
.rh-filter-dialog-body .jet-checkboxes-list__checked-icon,
.rh-filter-dialog-body .jet-checkboxes-list__checked-icon svg {
  display: none !important;
}

/* Checked state */
.rh-archive-sidebar .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button .jet-checkboxes-list__decorator,
.rh-filter-dialog-body .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button .jet-checkboxes-list__decorator {
  background: var(--rh-sage) !important;
  border-color: var(--rh-sage) !important;
  position: relative;
}
.rh-archive-sidebar .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button .jet-checkboxes-list__decorator::after,
.rh-filter-dialog-body .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button .jet-checkboxes-list__decorator::after {
  content: '';
  position: absolute;
  top: 1px;
  left: 4px;
  width: 4px;
  height: 8px;
  border: solid var(--rh-white);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Label text */
.rh-archive-sidebar .jet-checkboxes-list__label,
.rh-filter-dialog-body .jet-checkboxes-list__label {
  flex: 1 !important;
  font-family: var(--rh-sans) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--rh-ink) !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Count badge */
.rh-archive-sidebar .jet-checkboxes-list__decorator-count,
.rh-filter-dialog-body .jet-checkboxes-list__decorator-count {
  font-family: var(--rh-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: var(--rh-ink-mid) !important;
  margin-left: 4px !important;
}

/* ============================================================
   PRICE RANGE SLIDER
   Uses dots-on-fill approach — visible dots are pseudo-elements
   anchored to the fill div's edges (which JSF positions in JS)
   ============================================================ */

/* Track wrapper */
.rh-archive-sidebar .jet-range,
.rh-filter-dialog-body .jet-range {
  margin: 8px 4px 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Fieldset reset */
.rh-archive-sidebar .jet-range__slider,
.rh-filter-dialog-body .jet-range__slider {
  position: relative !important;
  display: block !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  min-width: 0 !important;
}
.rh-archive-sidebar .jet-range__slider legend,
.rh-filter-dialog-body .jet-range__slider legend {
  display: none !important;
}

/* The grey track line (allow dots to overflow) */
.rh-archive-sidebar .jet-range__slider__track,
.rh-filter-dialog-body .jet-range__slider__track {
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  margin-top: -1.5px !important;
  background: var(--rh-border) !important;
  border-radius: 2px !important;
  overflow: visible !important;
}

/* The gold fill — also the anchor for the visible dots */
.rh-archive-sidebar .jet-range__slider__track__range,
.rh-filter-dialog-body .jet-range__slider__track__range {
  position: relative !important;
  height: 100% !important;
  background: var(--rh-gold) !important;
  border-radius: 2px !important;
}

/* Visible dots — positioned via CSS vars set by JS, anchored to the slider parent */
.rh-archive-sidebar .jet-range__slider::before,
.rh-archive-sidebar .jet-range__slider::after,
.rh-filter-dialog-body .jet-range__slider::before,
.rh-filter-dialog-body .jet-range__slider::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  width: 16px !important;
  height: 16px !important;
  background: var(--rh-sage) !important;
  border: 2px solid var(--rh-white) !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 4px rgba(42,55,48,.2) !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}
.rh-archive-sidebar .jet-range__slider::before,
.rh-filter-dialog-body .jet-range__slider::before {
  left: var(--rh-min-pct, 0%) !important;
}
.rh-archive-sidebar .jet-range__slider::after,
.rh-filter-dialog-body .jet-range__slider::after {
  left: var(--rh-max-pct, 100%) !important;
}

/* Native range inputs — stacked, transparent, drag layer */
.rh-archive-sidebar .jet-range__slider__input[type="range"],
.rh-filter-dialog-body .jet-range__slider__input[type="range"] {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  pointer-events: none !important;
  outline: none !important;
  border: 0 !important;
}

/* WebKit track — transparent, full height */
.rh-archive-sidebar .jet-range__slider__input[type="range"]::-webkit-slider-runnable-track,
.rh-filter-dialog-body .jet-range__slider__input[type="range"]::-webkit-slider-runnable-track {
  -webkit-appearance: none !important;
  height: 16px !important;
  background: transparent !important;
  border: 0 !important;
}

/* WebKit thumb — invisible but draggable (visible dot is the ::before/::after on fill) */
.rh-archive-sidebar .jet-range__slider__input[type="range"]::-webkit-slider-thumb,
.rh-filter-dialog-body .jet-range__slider__input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  background: transparent !important;
  border: none !important;
  cursor: grab !important;
  pointer-events: auto !important;
}
.rh-archive-sidebar .jet-range__slider__input[type="range"]::-webkit-slider-thumb:active,
.rh-filter-dialog-body .jet-range__slider__input[type="range"]::-webkit-slider-thumb:active {
  cursor: grabbing !important;
}

/* Firefox track + thumb */
.rh-archive-sidebar .jet-range__slider__input[type="range"]::-moz-range-track,
.rh-filter-dialog-body .jet-range__slider__input[type="range"]::-moz-range-track {
  height: 16px !important;
  background: transparent !important;
  border: 0 !important;
}
.rh-archive-sidebar .jet-range__slider__input[type="range"]::-moz-range-thumb,
.rh-filter-dialog-body .jet-range__slider__input[type="range"]::-moz-range-thumb {
  -moz-appearance: none !important;
  appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  background: transparent !important;
  border: none !important;
  cursor: grab !important;
  pointer-events: auto !important;
}

/* Values row */
.rh-archive-sidebar .jet-range__values,
.rh-filter-dialog-body .jet-range__values {
  position: relative;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  font-family: var(--rh-sans) !important;
  font-size: 13px !important;
  color: var(--rh-ink) !important;
}

/* Min/max value pills */
.rh-archive-sidebar .jet-range__values-min,
.rh-archive-sidebar .jet-range__values-max,
.rh-filter-dialog-body .jet-range__values-min,
.rh-filter-dialog-body .jet-range__values-max {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 56px !important;
  padding: 4px 8px !important;
  background: var(--rh-bone) !important;
  border: 1px solid var(--rh-border) !important;
  border-radius: 2px !important;
  font-weight: 600 !important;
  color: var(--rh-sage) !important;
  font-family: var(--rh-sans) !important;
  font-size: 13px !important;
}

/* Hide loose £ prefix/suffix spans (set prefix in JSF Format settings instead) */
.rh-archive-sidebar .jet-range__values > .jet-range__values-prefix,
.rh-archive-sidebar .jet-range__values > .jet-range__values-suffix,
.rh-filter-dialog-body .jet-range__values > .jet-range__values-prefix,
.rh-filter-dialog-body .jet-range__values > .jet-range__values-suffix {
  display: none !important;
}

/* The dash separator */
.rh-archive-sidebar .jet-range__values::before,
.rh-filter-dialog-body .jet-range__values::before {
  content: '—';
  color: var(--rh-ink-mid);
  font-size: 11px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

/* ==========================================================
   HELP CARD (sidebar aside)
   ========================================================== */
.rh-help-card {
  background: var(--rh-sage);
  color: var(--rh-cream);
  padding: 22px 22px 24px;
  border-radius: 2px;
}
.rh-help-eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--rh-gold-lt);
  margin: 0 0 8px;
  line-height: 1;
}
.rh-help-title {
  font-family: var(--rh-serif);
  font-size: 22px;
  font-weight: 500;
  color: var(--rh-cream);
  margin: 0 0 8px;
  line-height: 1.2;
}
.rh-help-body {
  font-size: 13px;
  font-weight: 300;
  line-height: 1.6;
  color: rgba(244,239,230,.78);
  margin: 0 0 16px;
}
.rh-help-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rh-help-btn {
  display: inline-block;
  padding: 10px 16px;
  background: var(--rh-gold);
  color: var(--rh-sage-dk) !important;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none !important;
  border-radius: 2px;
  transition: background .2s ease;
}
.rh-help-btn:hover { background: var(--rh-gold-lt); }
.rh-help-link {
  font-size: 12px;
  color: var(--rh-gold-lt) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(201,180,138,.4);
  padding-bottom: 1px;
  align-self: flex-start;
  transition: color .2s ease, border-color .2s ease;
}
.rh-help-link:hover { color: var(--rh-cream) !important; border-bottom-color: var(--rh-cream); }

/* ==========================================================
   2b. MAIN COLUMN
   ========================================================== */
.rh-archive-main { min-width: 0; }

.rh-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  background: var(--rh-white);
  border: 1px solid var(--rh-border);
  border-radius: 2px;
}
.rh-toolbar-meta,
.rh-toolbar .woocommerce-result-count {
  margin: 0 !important;
  font-family: var(--rh-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
  color: var(--rh-ink-mid) !important;
}
.rh-toolbar-sort .woocommerce-ordering { margin: 0 !important; }
.rh-toolbar-sort .orderby {
  font-family: var(--rh-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  padding: 8px 32px 8px 12px !important;
  background: var(--rh-bone) !important;
  border: 1px solid var(--rh-border) !important;
  border-radius: 2px !important;
  color: var(--rh-ink) !important;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235a5a54' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
}

/* Mobile filter trigger */
.rh-filter-trigger {
  display: none;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  background: var(--rh-white);
  color: var(--rh-sage);
  border: 1.5px solid var(--rh-sage);
  border-radius: 2px;
  font-family: var(--rh-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
}
.rh-filter-trigger:hover { background: var(--rh-sage); color: var(--rh-white); }
.rh-filter-trigger svg { width: 14px; height: 14px; }
.rh-filter-trigger-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  margin-left: 2px;
  background: var(--rh-gold);
  color: var(--rh-sage-dk);
  border-radius: 9px;
  font-size: 10px;
  font-weight: 700;
}
.rh-filter-trigger-count[data-count="0"] { display: none; }

/* ==========================================================
   3. PRODUCT GRID
   ========================================================== */
.woocommerce ul.products,
.elementor-widget-woocommerce-archive-products ul.products,
ul.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
  clear: both;
}

.woocommerce ul.products li.product,
.elementor-widget-woocommerce-archive-products ul.products li.product,
ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--rh-white) !important;
  border: 1px solid var(--rh-border) !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  position: relative !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  transition: border-color .35s ease, transform .35s ease, box-shadow .35s ease !important;
}
.woocommerce ul.products li.product:hover {
  border-color: var(--rh-gold) !important;
  transform: translateY(-3px) !important;
  box-shadow: var(--rh-shadow-md) !important;
}
.woocommerce ul.products li.product a { text-decoration: none !important; color: inherit !important; }

.woocommerce ul.products li.product img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--rh-white) !important;
  transition: transform .6s cubic-bezier(.16,1,.3,1) !important;
}
.woocommerce ul.products li.product:hover img { transform: scale(1.04) !important; }

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
  display: block !important;
  padding: 18px 14px 6px !important;
  margin: 0 !important;
  font-family: var(--rh-serif) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  color: var(--rh-sage) !important;
  line-height: 1.3 !important;
  background: transparent !important;
  letter-spacing: -.005em !important;
}

.woocommerce ul.products li.product .price {
  display: block !important;
  padding: 0 14px 4px !important;
  margin: 0 !important;
  font-family: var(--rh-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--rh-ink) !important;
}
.woocommerce ul.products li.product .price del {
  color: var(--rh-ink-mid) !important;
  opacity: .7;
  font-size: 12px !important;
  margin-right: 6px !important;
}
.woocommerce ul.products li.product .price ins {
  background: transparent !important;
  color: var(--rh-sage) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product a.add_to_cart_button {
  display: block !important;
  width: auto !important;
  margin: auto 14px 14px !important;
  padding: 10px 14px !important;
  background: transparent !important;
  border: 1px solid var(--rh-sage) !important;
  color: var(--rh-sage) !important;
  font-family: var(--rh-sans) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: background .25s ease, color .25s ease !important;
  box-shadow: none !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover {
  background: var(--rh-sage) !important;
  color: var(--rh-white) !important;
}

.woocommerce ul.products li.product .onsale {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  margin: 0 !important;
  padding: 4px 9px !important;
  background: var(--rh-gold) !important;
  color: var(--rh-sage-dk) !important;
  font-family: var(--rh-sans) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  line-height: 1 !important;
  min-height: auto !important;
  min-width: auto !important;
}

/* Out of stock */
.woocommerce ul.products li.product .stock.out-of-stock { display: none !important; }
.woocommerce ul.products li.product.outofstock img { opacity: .55 !important; }
.woocommerce ul.products li.product.outofstock .button {
  font-size: 0 !important;
  border-color: rgba(58,74,59,.3) !important;
  color: var(--rh-ink-mid) !important;
}
.woocommerce ul.products li.product.outofstock .button::after {
  content: 'Out of Stock';
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--rh-ink-mid);
  font-family: var(--rh-sans);
}

/* ==========================================================
   4. PAGINATION
   ========================================================== */
.woocommerce-pagination { margin-top: 32px !important; padding-top: 28px !important; border-top: 1px solid var(--rh-border); }
.woocommerce-pagination ul.page-numbers {
  display: flex !important;
  justify-content: center;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
  border: none !important;
}
.woocommerce-pagination ul.page-numbers li { border: none !important; }
.woocommerce-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px !important;
  font-family: var(--rh-sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--rh-ink) !important;
  background: transparent !important;
  border: 1px solid var(--rh-border) !important;
  border-radius: 2px !important;
  text-decoration: none !important;
  transition: all .2s ease;
}
.woocommerce-pagination .page-numbers:hover {
  border-color: var(--rh-gold) !important;
  color: var(--rh-sage) !important;
}
.woocommerce-pagination .page-numbers.current {
  background: var(--rh-sage) !important;
  border-color: var(--rh-sage) !important;
  color: var(--rh-white) !important;
}

/* ==========================================================
   5. OUTRO
   ========================================================== */
.rh-archive-outro { font-family: var(--rh-sans); }
.rh-outro-details {
  border-top: 1px solid var(--rh-border);
  border-bottom: 1px solid var(--rh-border);
}
.rh-outro-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 4px;
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: color .2s ease;
}
.rh-outro-summary::-webkit-details-marker { display: none; }
.rh-outro-summary:hover { color: var(--rh-sage); }
.rh-outro-summary-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--rh-ink-mid);
}
.rh-outro-summary-icon {
  width: 20px; height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--rh-gold);
  transition: transform .25s ease;
}
.rh-outro-details[open] .rh-outro-summary-icon { transform: rotate(180deg); }
.rh-outro-details[open] .rh-outro-summary-label { color: var(--rh-sage); }

.rh-outro-content {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 40px;
  padding: 8px 4px 28px;
}
.rh-outro-eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--rh-gold);
  margin: 0 0 12px;
}
.rh-outro-body {
  font-size: 14px;
  line-height: 1.7;
  font-weight: 300;
  color: var(--rh-ink-mid);
  margin: 0 0 12px;
}
.rh-outro-body:last-child { margin-bottom: 0; }
.rh-outro-usps {
  list-style: none;
  margin: 0;
  padding: 22px 24px;
  background: var(--rh-bone);
  border: 1px solid var(--rh-border);
  border-top: 2px solid var(--rh-gold);
  border-radius: 2px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 20px;
}
.rh-outro-usps li {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.rh-outro-usp-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--rh-sage);
  line-height: 1.3;
}
.rh-outro-usp-detail {
  font-size: 11px;
  font-weight: 300;
  color: var(--rh-ink-mid);
  line-height: 1.4;
}

/* ==========================================================
   6. RESPONSIVE
   ========================================================== */
@media (max-width: 1024px) {
  .rh-archive-body { flex-direction: column !important; gap: 24px !important; }
  .rh-archive-sidebar { width: 100% !important; max-width: none !important; position: static !important; display: none !important; }
  .rh-filter-trigger { display: inline-flex; }
  .woocommerce ul.products,
  ul.products.columns-4 { grid-template-columns: repeat(3, 1fr) !important; gap: 18px !important; }
  .rh-outro-content { grid-template-columns: 1fr !important; gap: 24px !important; }
}
@media (max-width: 767px) {
  .rh-hero-head { flex-direction: column; align-items: flex-start; gap: 10px; }
  .rh-toolbar { flex-wrap: wrap; gap: 10px 14px; padding: 12px 14px; }
  .woocommerce ul.products,
  ul.products.columns-4 { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 14px 10px 4px !important; font-size: 15px !important; }
  .woocommerce ul.products li.product .price { padding: 0 10px 4px !important; font-size: 13px !important; }
  .woocommerce ul.products li.product .button { margin: auto 10px 12px !important; padding: 8px 12px !important; }
  .rh-outro-usps { grid-template-columns: 1fr !important; gap: 12px !important; }
}
@media (max-width: 480px) {
  .woocommerce ul.products,
  ul.products.columns-4 { grid-template-columns: 1fr !important; }
}

.woocommerce-no-products-found,
.woocommerce-info {
  background: var(--rh-white) !important;
  border: 1px solid var(--rh-border) !important;
  border-top: 2px solid var(--rh-gold) !important;
  border-radius: 2px !important;
  padding: 32px 28px !important;
  margin: 0 !important;
  font-family: var(--rh-sans) !important;
  font-size: 14px !important;
  color: var(--rh-ink-mid) !important;
  text-align: center !important;
}
.woocommerce-no-products-found::before,
.woocommerce-info::before {
  display: none !important;
}

/* Hide product category counts (e.g. "Special offers (45)") */
.woocommerce mark.count,
.product-category mark.count,
.product-category .count,
.wc-block-product-categories-list-item-count,
.cat-item .count {
  display: none !important;
}

/* Force price colours regardless of link wrapping (Hello theme link override) */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price *,
.woocommerce ul.products li.product a .price,
.woocommerce ul.products li.product a .price * {
  color: var(--rh-ink) !important;
}

/* Strikethrough (old price) */
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del *,
.woocommerce ul.products li.product a .price del,
.woocommerce ul.products li.product a .price del * {
  color: var(--rh-ink-mid) !important;
  opacity: .7 !important;
  font-size: 12px !important;
  margin-right: 6px !important;
  text-decoration: line-through !important;
}

/* Sale price (new price) */
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins *,
.woocommerce ul.products li.product a .price ins,
.woocommerce ul.products li.product a .price ins * {
  color: var(--rh-sage) !important;
  background: transparent !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}/* End custom CSS */