/* ==========================================================================
   ROOSH catalogue filters + product search — v1.8.0
   ========================================================================== */

.rw-catalog-layout {
  align-items: start;
  display: grid;
  gap: clamp(32px, 3.2vw, 52px);
  grid-template-columns: 238px minmax(0, 1fr);
  position: relative;
}

.rw-catalog-results {
  min-width: 0;
}

.rw-catalog-filters {
  min-width: 0;
  position: sticky;
  top: calc(var(--rw-announcement-height) + var(--rw-header-height) + 26px);
}

body.rw-site.rw-has-scrolled .rw-catalog-filters {
  top: calc(var(--rw-header-height) + 26px);
}

.rw-catalog-filters__mobile-header,
.rw-filter-backdrop {
  display: none;
}

.rw-filter-section {
  border-bottom: 1px solid var(--rw-color-border);
  margin: 0;
  padding: 0;
}

.rw-filter-section:first-of-type {
  border-top: 1px solid var(--rw-color-border);
}

.rw-filter-section > summary {
  align-items: center;
  color: var(--rw-color-text);
  cursor: pointer;
  display: flex;
  font-size: 11px;
  font-weight: 650;
  justify-content: space-between;
  letter-spacing: 0.07em;
  list-style: none;
  padding: 18px 0;
  text-transform: uppercase;
}

.rw-filter-section > summary::-webkit-details-marker {
  display: none;
}

.rw-filter-section > summary::after {
  content: "+";
  font-size: 16px;
  font-weight: 350;
  line-height: 1;
}

.rw-filter-section[open] > summary::after {
  content: "−";
}

.rw-filter-section__body {
  padding: 0 0 20px;
}

.rw-filter-categories,
.rw-filter-colors {
  display: grid;
  gap: 3px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.rw-filter-categories a {
  align-items: center;
  color: var(--rw-color-muted);
  display: flex;
  font-size: 12px;
  justify-content: space-between;
  padding: 6px 0;
  text-decoration: none;
  transition: color var(--rw-transition);
}

.rw-filter-categories a small {
  color: var(--rw-color-subtle);
  font-size: 10px;
  font-weight: 400;
}

.rw-filter-categories a:hover,
.rw-filter-categories a:focus-visible,
.rw-filter-categories a.is-active {
  color: var(--rw-color-text);
}

.rw-filter-categories a.is-active span:first-child {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.rw-filter-sizes {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rw-filter-size {
  cursor: pointer;
  display: block;
  position: relative;
}

.rw-filter-size input,
.rw-filter-color input {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.rw-filter-size span {
  align-items: center;
  background: var(--rw-color-white);
  border: 1px solid var(--rw-color-border);
  display: flex;
  font-size: 11px;
  height: 36px;
  justify-content: center;
  line-height: 1;
  padding: 0 5px;
  transition: border-color var(--rw-transition), background-color var(--rw-transition);
}

.rw-filter-size:hover span,
.rw-filter-size input:focus-visible + span,
.rw-filter-size.is-selected span,
.rw-filter-size input:checked + span {
  border-color: var(--rw-color-text);
}

.rw-filter-size.is-selected span,
.rw-filter-size input:checked + span {
  background: var(--rw-color-text);
  color: var(--rw-color-white);
}

.rw-filter-color {
  align-items: center;
  color: var(--rw-color-muted);
  cursor: pointer;
  display: flex;
  font-size: 12px;
  gap: 10px;
  min-height: 32px;
  padding: 4px 14px 4px 0;
  position: relative;
}

.rw-filter-color::after {
  border: 1px solid var(--rw-color-border-strong);
  content: "";
  height: 14px;
  margin-left: auto;
  width: 14px;
}

.rw-filter-color.is-selected,
.rw-filter-color:has(input:checked) {
  color: var(--rw-color-text);
}

.rw-filter-color.is-selected::after,
.rw-filter-color:has(input:checked)::after {
  background: var(--rw-color-text);
  box-shadow: inset 0 0 0 3px var(--rw-color-white);
}

.rw-filter-color__dot {
  background: var(--rw-filter-color, #d5d1ca);
  border: 1px solid rgb(17 17 15 / 16%);
  border-radius: 50%;
  flex: 0 0 16px;
  height: 16px;
  width: 16px;
}

.rw-filter-price {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rw-filter-price label > span {
  color: var(--rw-color-subtle);
  display: block;
  font-size: 10px;
  margin-bottom: 6px;
}

.rw-filter-price__control {
  align-items: center;
  border: 1px solid var(--rw-color-border);
  display: flex;
  height: 42px;
  padding: 0 10px;
}

.rw-filter-price__control:focus-within {
  border-color: var(--rw-color-text);
}

body.rw-site .rw-filter-price__control input {
  appearance: textfield;
  background: transparent;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--rw-color-text);
  font-size: 12px;
  height: 40px;
  min-width: 0;
  padding: 0 !important;
  width: 100%;
}

.rw-filter-price__control input::-webkit-inner-spin-button,
.rw-filter-price__control input::-webkit-outer-spin-button {
  appearance: none;
  margin: 0;
}

.rw-filter-price__control > span {
  color: var(--rw-color-subtle);
  font-size: 11px;
}

.rw-catalog-filter-form__actions {
  display: grid;
  gap: 10px;
  padding-top: 20px;
}

body.rw-site .rw-filter-apply {
  background: var(--rw-color-text) !important;
  border: 1px solid var(--rw-color-text) !important;
  color: var(--rw-color-white) !important;
  font-size: 10px;
  font-weight: 650;
  height: 44px;
  letter-spacing: 0.07em;
  padding: 0 16px !important;
  text-transform: uppercase;
  width: 100%;
}

body.rw-site .rw-filter-apply:hover,
body.rw-site .rw-filter-apply:focus-visible {
  background: var(--rw-color-white) !important;
  color: var(--rw-color-text) !important;
}

.rw-filter-reset {
  color: var(--rw-color-muted);
  font-size: 11px;
  justify-self: center;
  text-underline-offset: 3px;
}

.rw-filter-toggle {
  align-items: center;
  background: var(--rw-color-white);
  border: 1px solid var(--rw-color-border);
  color: var(--rw-color-text);
  display: none;
  font-size: 11px;
  gap: 8px;
  height: 44px;
  padding: 0 14px;
}

.rw-filter-toggle__count {
  align-items: center;
  background: var(--rw-color-text);
  border-radius: 50%;
  color: var(--rw-color-white);
  display: inline-flex;
  font-size: 9px;
  height: 18px;
  justify-content: center;
  min-width: 18px;
  padding: 0 4px;
}

.rw-active-filters {
  align-items: center;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  margin: -16px 0 30px;
}

.rw-active-filters__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.rw-active-filter {
  align-items: center;
  background: var(--rw-color-surface-soft);
  color: var(--rw-color-text);
  display: inline-flex;
  font-size: 10px;
  gap: 8px;
  min-height: 30px;
  padding: 6px 9px;
  text-decoration: none;
}

.rw-active-filter .woocommerce-Price-amount {
  font-size: inherit;
}

.rw-active-filters__clear {
  color: var(--rw-color-muted);
  flex: 0 0 auto;
  font-size: 10px;
  text-underline-offset: 3px;
}

/* Product search results reuse the exact catalogue card system. */
.rw-product-search-header {
  border-bottom: 1px solid var(--rw-color-border);
  padding: clamp(48px, 6vw, 80px) 0 26px;
}

.rw-product-search-header__eyebrow {
  color: var(--rw-color-subtle);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.11em;
  margin: 0 0 15px;
  text-transform: uppercase;
}

.rw-product-search-header h1 {
  font-size: clamp(2rem, 3.2vw, 3.45rem);
  font-weight: 400;
  letter-spacing: var(--rw-letter-tight);
  line-height: 1.05;
  margin: 0;
  max-width: 18ch;
}

.rw-product-search-inline {
  display: grid;
  grid-template-columns: minmax(0, 520px) auto;
  margin-top: 28px;
  max-width: 660px;
}

body.rw-site .rw-product-search-inline input[type="search"] {
  border: 1px solid var(--rw-color-border);
  border-right: 0;
  border-radius: 0;
  font-size: 13px;
  height: 48px;
  min-width: 0;
  padding: 0 15px;
}

body.rw-site .rw-product-search-inline button {
  background: var(--rw-color-text) !important;
  border: 1px solid var(--rw-color-text) !important;
  color: var(--rw-color-white) !important;
  font-size: 10px;
  font-weight: 650;
  height: 48px;
  letter-spacing: 0.07em;
  padding: 0 22px !important;
  text-transform: uppercase;
}

.rw-product-search-page .rw-catalog-header {
  padding-top: 24px;
}

/* Header live search. */
.rw-search-live {
  border-top: 1px solid var(--rw-color-border);
  margin-top: 18px;
  padding-top: 10px;
}

.rw-search-live[hidden] {
  display: none !important;
}

.rw-search-live__status {
  color: var(--rw-color-subtle);
  font-size: 11px;
  padding: 10px 0;
}

.rw-search-live__list {
  display: grid;
  gap: 0;
}

.rw-search-live__item {
  align-items: center;
  border-bottom: 1px solid var(--rw-color-border);
  color: var(--rw-color-text);
  display: grid;
  gap: 12px;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  padding: 10px 0;
  text-decoration: none;
}

.rw-search-live__item img {
  aspect-ratio: 4 / 5;
  background: var(--rw-color-image);
  object-fit: cover;
  width: 54px;
}

.rw-search-live__name {
  font-size: 12px;
  line-height: 1.35;
}

.rw-search-live__price {
  font-size: 11px;
  white-space: nowrap;
}

.rw-search-live__all {
  color: var(--rw-color-text);
  display: inline-flex;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.06em;
  margin-top: 13px;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 1180px) {
  .rw-catalog-layout {
    display: block;
  }

  .rw-filter-toggle {
    display: inline-flex;
  }

  .rw-filter-backdrop {
    background: rgb(15 15 14 / 42%);
    border: 0;
    display: block;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity var(--rw-transition);
    width: 100%;
    z-index: 699;
  }

  .rw-catalog-filters {
    background: var(--rw-color-white);
    bottom: 0;
    box-shadow: -20px 0 60px rgb(17 17 15 / 10%);
    max-width: 390px;
    overflow-y: auto;
    padding: 0 24px 28px;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(102%);
    transition: transform var(--rw-duration-slow) var(--rw-ease);
    width: min(90vw, 390px);
    z-index: 700;
  }

  .rw-catalog-filters__mobile-header {
    align-items: center;
    background: var(--rw-color-white);
    border-bottom: 1px solid var(--rw-color-border);
    display: flex;
    justify-content: space-between;
    margin: 0 -24px 4px;
    padding: 20px 24px;
    position: sticky;
    top: 0;
    z-index: 2;
  }

  .rw-catalog-filters__mobile-header > div {
    display: grid;
    gap: 2px;
  }

  .rw-catalog-filters__eyebrow {
    color: var(--rw-color-subtle);
    font-size: 9px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .rw-catalog-filters__mobile-header strong {
    font-size: 18px;
    font-weight: 450;
  }

  body.rw-site .rw-catalog-filters__close {
    align-items: center;
    background: transparent !important;
    border: 0 !important;
    color: var(--rw-color-text) !important;
    display: inline-flex;
    font-size: 26px;
    font-weight: 300;
    height: 40px;
    justify-content: center;
    padding: 0 !important;
    width: 40px;
  }

  body.rw-filters-open {
    overflow: hidden;
  }

  body.rw-filters-open .rw-filter-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  body.rw-filters-open .rw-catalog-filters {
    transform: translateX(0);
  }
}

@media (max-width: 767px) {
  .rw-catalog-toolbar {
    align-items: stretch;
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
  }

  .rw-catalog-count {
    align-self: center;
    grid-column: 1 / -1;
  }

  .rw-filter-toggle {
    justify-content: center;
    width: 100%;
  }

  .rw-catalog-ordering {
    display: block;
  }

  .rw-catalog-ordering__label {
    display: none;
  }

  body.rw-site.rw-catalog-archive .rw-catalog-ordering .woocommerce-ordering select {
    min-width: 0;
    width: 100%;
  }

  .rw-active-filters {
    align-items: flex-start;
    flex-direction: column;
    margin-top: -8px;
  }

  .rw-product-search-inline {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .rw-search-live__item {
    grid-template-columns: 46px minmax(0, 1fr);
  }

  .rw-search-live__item img {
    width: 46px;
  }

  .rw-search-live__price {
    grid-column: 2;
  }
}

@media (max-width: 479px) {
  .rw-catalog-filters {
    max-width: none;
    padding-inline: 20px;
    width: min(94vw, 380px);
  }

  .rw-catalog-filters__mobile-header {
    margin-inline: -20px;
    padding-inline: 20px;
  }

  .rw-filter-sizes {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .rw-product-search-header h1 {
    max-width: none;
  }

  .rw-product-search-inline {
    display: flex;
  }

  body.rw-site .rw-product-search-inline input[type="search"] {
    flex: 1 1 auto;
    width: 1%;
  }

  body.rw-site .rw-product-search-inline button {
    padding-inline: 16px !important;
  }
}


/* ==========================================================================
   v1.8.1 — search/catalog layout polish
   Search results now use the same structural wrapper as the catalogue,
   with a calmer toolbar and cleaner filter/sidebar proportions.
   ========================================================================== */
.rw-product-search-page .woocommerce {
  display: block;
}

.rw-product-search-page .rw-catalog-header {
  padding-top: 24px;
}

.rw-product-search-page .rw-catalog-layout {
  margin-top: 4px;
}

.rw-product-search-page .rw-catalog-toolbar {
  align-items: end;
  margin-bottom: 28px;
}

.rw-product-search-page .rw-active-filters {
  margin-top: -6px;
}

.rw-catalog-filters {
  width: 100%;
}

@media (min-width: 1181px) {
  .rw-catalog-layout {
    gap: clamp(28px, 3vw, 44px);
    grid-template-columns: minmax(250px, 280px) minmax(0, 1fr);
  }

  .rw-product-search-page .rw-catalog-filters,
  .rw-site.rw-catalog-archive .rw-catalog-filters {
    padding-right: 6px;
  }
}

@media (max-width: 1180px) {
  .rw-product-search-page .rw-catalog-toolbar {
    margin-bottom: 22px;
  }
}

@media (max-width: 767px) {
  .rw-product-search-header {
    padding: 34px 0 22px;
  }

  .rw-product-search-page .rw-catalog-header {
    padding-top: 18px;
  }

  .rw-product-search-page .rw-catalog-toolbar {
    margin-bottom: 18px;
  }
}


/* ==========================================================================
   v1.8.2 — premium off-canvas filters on every viewport
   The catalogue/search grid always keeps the full content width. Filters never
   consume a permanent desktop column; they open as a proper side drawer.
   ========================================================================== */
body.rw-site.rw-catalog-archive .rw-catalog-layout,
body.rw-site .rw-product-search-page .rw-catalog-layout {
  display: block !important;
  margin-top: 0;
  width: 100%;
}

body.rw-site.rw-catalog-archive .rw-catalog-results,
body.rw-site .rw-product-search-page .rw-catalog-results {
  min-width: 0;
  width: 100%;
}

/* One calm toolbar: count on the left, controls on the right. */
body.rw-site.rw-catalog-archive .rw-catalog-toolbar,
body.rw-site .rw-product-search-page .rw-catalog-toolbar {
  align-items: center;
  display: grid !important;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto auto;
  margin-bottom: clamp(26px, 3vw, 38px);
  padding-block: 18px;
  width: 100%;
}

body.rw-site .rw-filter-toggle {
  align-items: center;
  background: transparent !important;
  border: 1px solid var(--rw-color-border-strong) !important;
  border-radius: 0 !important;
  color: var(--rw-color-text) !important;
  display: inline-flex !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  gap: 9px;
  height: 44px !important;
  justify-content: center;
  letter-spacing: 0.075em;
  min-width: 112px;
  padding: 0 16px !important;
  text-transform: uppercase;
  width: auto !important;
}

body.rw-site .rw-filter-toggle::before {
  background:
    linear-gradient(var(--rw-color-text), var(--rw-color-text)) 0 2px / 14px 1px no-repeat,
    linear-gradient(var(--rw-color-text), var(--rw-color-text)) 0 8px / 10px 1px no-repeat;
  content: "";
  flex: 0 0 14px;
  height: 11px;
  width: 14px;
}

body.rw-site .rw-filter-toggle:hover,
body.rw-site .rw-filter-toggle:focus-visible {
  background: var(--rw-color-text) !important;
  border-color: var(--rw-color-text) !important;
  color: var(--rw-color-white) !important;
}

body.rw-site .rw-filter-toggle:hover::before,
body.rw-site .rw-filter-toggle:focus-visible::before {
  background:
    linear-gradient(var(--rw-color-white), var(--rw-color-white)) 0 2px / 14px 1px no-repeat,
    linear-gradient(var(--rw-color-white), var(--rw-color-white)) 0 8px / 10px 1px no-repeat;
}

body.rw-site .rw-catalog-ordering {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

body.rw-site.rw-catalog-archive .rw-catalog-ordering .woocommerce-ordering,
body.rw-site .rw-product-search-page .rw-catalog-ordering .woocommerce-ordering {
  float: none;
  margin: 0;
}

/* Full-width product grid on search results too, matching the catalogue. */
body.rw-site .rw-product-search-page .woocommerce ul.products,
body.rw-site.rw-catalog-archive .woocommerce ul.products,
body.rw-site.rw-catalog-archive ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: 100% !important;
}

body.rw-site .rw-product-search-page .woocommerce ul.products > li.product,
body.rw-site.rw-catalog-archive .woocommerce ul.products > li.product,
body.rw-site.rw-catalog-archive ul.products > li.product {
  clear: none !important;
  float: none !important;
  margin: 0 !important;
  min-width: 0 !important;
  width: auto !important;
}

/* Backdrop + drawer exist on desktop too. */
body.rw-site .rw-filter-backdrop {
  background: rgb(17 17 15 / 36%);
  border: 0 !important;
  display: block !important;
  inset: 0;
  margin: 0 !important;
  opacity: 0;
  padding: 0 !important;
  pointer-events: none;
  position: fixed;
  transition: opacity 220ms ease;
  width: 100% !important;
  z-index: 8998;
}

body.rw-site .rw-catalog-filters {
  background: var(--rw-color-white);
  bottom: 0;
  box-shadow: -24px 0 70px rgb(17 17 15 / 12%);
  display: flex;
  flex-direction: column;
  left: auto;
  max-width: 430px;
  min-width: 0;
  overflow: hidden;
  padding: 0 30px;
  position: fixed !important;
  right: 0;
  top: 0;
  transform: translateX(104%);
  transition: transform 320ms var(--rw-ease);
  width: min(92vw, 430px) !important;
  z-index: 8999;
}

body.rw-site .rw-catalog-filters__mobile-header {
  align-items: center;
  background: var(--rw-color-white);
  border-bottom: 1px solid var(--rw-color-border);
  display: flex !important;
  flex: 0 0 auto;
  justify-content: space-between;
  margin: 0 -30px;
  padding: 21px 30px 18px;
  position: relative;
  top: auto;
  z-index: 3;
}

body.rw-site .rw-catalog-filter-form {
  display: block;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-bottom: 0;
  scrollbar-width: thin;
}

body.rw-site .rw-catalog-filter-form__actions {
  background: var(--rw-color-white);
  border-top: 1px solid var(--rw-color-border);
  bottom: 0;
  margin-top: 4px;
  padding: 16px 0 22px;
  position: sticky;
  z-index: 4;
}

body.rw-site.rw-filters-open {
  overflow: hidden !important;
}

body.rw-site.rw-filters-open .rw-filter-backdrop {
  opacity: 1;
  pointer-events: auto;
}

body.rw-site.rw-filters-open .rw-catalog-filters {
  transform: translateX(0);
}

/* Search page: compact header, then full-width results. */
body.rw-site .rw-product-search-page .rw-product-search-header {
  max-width: none;
}

body.rw-site .rw-product-search-page .rw-product-search-inline {
  max-width: 660px;
}

@media (max-width: 1180px) {
  body.rw-site .rw-product-search-page .woocommerce ul.products,
  body.rw-site.rw-catalog-archive .woocommerce ul.products,
  body.rw-site.rw-catalog-archive ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.rw-site.rw-catalog-archive .rw-catalog-toolbar,
  body.rw-site .rw-product-search-page .rw-catalog-toolbar {
    align-items: stretch;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 22px;
    padding-block: 14px;
  }

  body.rw-site .rw-catalog-count {
    align-self: center;
    grid-column: 1 / -1;
  }

  body.rw-site .rw-filter-toggle {
    min-width: 0;
    width: 100% !important;
  }

  body.rw-site .rw-catalog-ordering {
    display: block;
  }

  body.rw-site .rw-catalog-ordering__label {
    display: none;
  }

  body.rw-site .rw-product-search-page .woocommerce ul.products,
  body.rw-site.rw-catalog-archive .woocommerce ul.products,
  body.rw-site.rw-catalog-archive ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.rw-site .rw-catalog-filters {
    max-width: 390px;
    padding-inline: 22px;
    width: min(94vw, 390px) !important;
  }

  body.rw-site .rw-catalog-filters__mobile-header {
    margin-inline: -22px;
    padding-inline: 22px;
  }
}

@media (max-width: 479px) {
  body.rw-site .rw-catalog-filters {
    max-width: none;
    padding-inline: 20px;
    width: min(96vw, 380px) !important;
  }

  body.rw-site .rw-catalog-filters__mobile-header {
    margin-inline: -20px;
    padding-inline: 20px;
  }
}


/* v1.8.3 — stable off-canvas overlay. The backdrop is no longer a button, so
   global button hover rules can never turn it into an opaque black screen. */
.rw-filter-backdrop,
.rw-filter-backdrop:hover,
.rw-filter-backdrop:focus,
.rw-filter-backdrop:active {
  background: rgb(15 15 14 / 42%) !important;
  border: 0 !important;
  box-shadow: none !important;
  cursor: default;
  outline: 0 !important;
}

/* v1.19.6 — keep colour checkboxes clear of overlay scrollbars in the
   off-canvas filter drawer (Safari/Chrome mobile included). */
@media (max-width: 1180px) {
  .rw-filter-color {
    padding-right: 18px;
  }
}

/* v1.19.7 — one consistent safe gutter between every filter control and the
   drawer scrollbar. Colour checkboxes, size tiles, price fields, section
   controls and action buttons now share the same right edge. */
body.rw-site .rw-catalog-filter-form {
  box-sizing: border-box;
  padding-right: 18px;
}

body.rw-site .rw-catalog-filter-form .rw-filter-color {
  padding-right: 0;
}

@media (max-width: 767px) {
  body.rw-site .rw-catalog-filter-form {
    padding-right: 16px;
  }
}

/* ==========================================================================
   v1.19.10 — unified right safe gutter inside the filter drawer
   The scroll container itself now stays flush to the drawer edge, while every
   interactive/content row gets the same inset from the overlay scrollbar.
   This keeps accordion +/- controls, category counts, size tiles, colour
   checkboxes, price fields and footer actions on one professional right line.
   ========================================================================== */
body.rw-site .rw-catalog-filters {
  --rw-filter-safe-right: 18px;
}

/* Do not use padding on the scrolling form itself: Safari's overlay scrollbar
   can visually sit inside that padding. Apply the safe inset to the content
   rows instead so every right-side control shares the exact same edge. */
body.rw-site .rw-catalog-filter-form {
  padding-right: 0;
}

body.rw-site .rw-catalog-filter-form .rw-filter-section > summary {
  box-sizing: border-box;
  padding-right: var(--rw-filter-safe-right);
}

body.rw-site .rw-catalog-filter-form .rw-filter-section__body {
  box-sizing: border-box;
  padding-right: var(--rw-filter-safe-right);
}

body.rw-site .rw-catalog-filter-form .rw-catalog-filter-form__actions {
  box-sizing: border-box;
  padding-right: var(--rw-filter-safe-right);
}

/* The colour rows already receive the shared inset from the section body;
   keep their own right padding at zero to avoid a double gutter. */
body.rw-site .rw-catalog-filter-form .rw-filter-color {
  padding-right: 0;
}

@media (max-width: 767px) {
  body.rw-site .rw-catalog-filters {
    --rw-filter-safe-right: 18px;
  }
}

/* ==========================================================================
   v1.19.11 — exact right-line alignment + single separators
   The accordion +/- markers and colour checkboxes now use the same physical
   right edge. All filter grids/rows share that edge, and duplicate divider
   lines around the drawer header/footer are removed.
   ========================================================================== */
body.rw-site .rw-catalog-filters {
  --rw-filter-safe-right: 18px;
}

/* Keep only one divider between adjacent areas. The mobile drawer header
   already has its own bottom border, and the last filter section already has
   a bottom border, so extra top borders create visible double grey lines. */
body.rw-site .rw-catalog-filter-form .rw-filter-section:first-of-type {
  border-top: 0 !important;
}

body.rw-site .rw-catalog-filter-form__actions {
  border-top: 0 !important;
}

/* Accordion marker: lock it to the exact safe-right coordinate instead of
   relying on flex spacing, which can differ from pseudo-checkbox geometry. */
body.rw-site .rw-catalog-filter-form .rw-filter-section > summary {
  box-sizing: border-box;
  padding-right: calc(var(--rw-filter-safe-right) + 28px) !important;
  position: relative;
}

body.rw-site .rw-catalog-filter-form .rw-filter-section > summary::after {
  margin: 0 !important;
  position: absolute;
  right: var(--rw-filter-safe-right);
  top: 50%;
  transform: translateY(-50%);
}

/* The section body itself stays full width. Each real control group receives
   one identical right inset, so size tiles, category counts, colour rows and
   price fields all finish on the same vertical line. */
body.rw-site .rw-catalog-filter-form .rw-filter-section__body {
  padding-right: 0 !important;
}

body.rw-site .rw-catalog-filter-form .rw-filter-categories,
body.rw-site .rw-catalog-filter-form .rw-filter-sizes,
body.rw-site .rw-catalog-filter-form .rw-filter-colors,
body.rw-site .rw-catalog-filter-form .rw-filter-price {
  box-sizing: border-box;
  margin-right: var(--rw-filter-safe-right) !important;
}

/* Colour checkbox: position absolutely at the group's right edge. This makes
   its right edge mathematically identical to the accordion marker above. */
body.rw-site .rw-catalog-filter-form .rw-filter-color {
  box-sizing: border-box;
  padding-right: 30px !important;
  position: relative;
}

body.rw-site .rw-catalog-filter-form .rw-filter-color::after {
  margin-left: 0 !important;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

/* Sticky actions use the same right edge as the controls above. */
body.rw-site .rw-catalog-filter-form .rw-catalog-filter-form__actions {
  box-sizing: border-box;
  margin-right: var(--rw-filter-safe-right) !important;
  padding-right: 0 !important;
}

@media (max-width: 767px) {
  body.rw-site .rw-catalog-filters {
    --rw-filter-safe-right: 18px;
  }
}
