/* The GRID — On Board Air / Catalogue GRID v0.2.25
   Clean catalogue stylesheet: native WooCommerce loop, deterministic CSS Grid,
   guide-inspired fast gradient, compact commercial footer, no Rey Metro JS. */

body.the-grid-catalog-active {
  --grid-cat-gap: 14px;
  --grid-cat-accent: #bf7c00;
  --grid-cat-ink: #3f4340;
  --grid-cat-copy: #3f4340;
  --grid-cat-surface: #f3f4f2;
  --grid-cat-line: rgba(255,255,255,.30);
  --grid-cat-pad: clamp(14px, 1.2cqw, 18px);
}

body.the-grid-catalog-active .rey-siteMain {
  container-name: gridcatalog;
  container-type: inline-size;
}

/* -------------------------------------------------------------------------
   GRID-owned catalogue heading. Rey remains functional but not visual here.
   ------------------------------------------------------------------------- */
body.the-grid-catalog-active :is(
  .woocommerce-products-header,
  .rey-pageHead,
  .rey-pageTitle,
  .page-header,
  .archive-header,
  nav.rey-breadcrumbs,
  .rey-breadcrumbs,
  .rey-breadcrumbsWrapper,
  .rey-breadcrumbs-wrapper,
  .woocommerce-breadcrumb
) {
  display: none !important;
}

/* Remove only the space associated with hidden archive chrome. */
body.the-grid-catalog-active :is(
  .rey-pageCover,
  .rey-pageCover-content,
  .rey-pageCover-inner
) {
  display: none !important;
  min-height: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Header/content seam. Elementor containers default to 10px vertical padding;
   when the OBA mega-menu shortcode is the header content that bottom padding
   becomes the visible white strip below the category rail. Own that seam here
   instead of compensating with a negative catalogue margin. */
body.the-grid-catalog-active .rey-siteHeader .e-con:has(.lbmm-combined-header),
body.the-grid-catalog-active .rey-siteHeader .e-con:has(.lbmm),
body.the-grid-catalog-active .rey-siteHeader .elementor-widget-shortcode:has(.lbmm-combined-header),
body.the-grid-catalog-active .rey-siteHeader .elementor-widget-shortcode:has(.lbmm),
body.the-grid-catalog-active .rey-siteHeader .elementor-widget-shortcode:has(.lbmm-combined-header) > .elementor-widget-container,
body.the-grid-catalog-active .rey-siteHeader .elementor-widget-shortcode:has(.lbmm) > .elementor-widget-container {
  --padding-bottom: 0px !important;
  --margin-bottom: 0px !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
body.the-grid-catalog-active .rey-siteHeader :is(.lbmm-combined-header,.lbmm,.lbmm__rail-wrap,.lbmm__rail) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.the-grid-catalog-active #content,
body.the-grid-catalog-active .rey-siteContainer,
body.the-grid-catalog-active .rey-siteMain,
body.the-grid-catalog-active .rey-siteContent,
body.the-grid-catalog-active .woocommerce {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.the-grid-catalog-active #content > .rey-siteContainer,
body.the-grid-catalog-active #content > .rey-siteContainer > .rey-siteRow,
body.the-grid-catalog-active .rey-siteContent > .rey-siteContainer {
  margin-block-start: 0 !important;
  padding-block-start: 0 !important;
}

/* Rey reserves vertical space for archive chrome even when breadcrumbs are hidden.
   Catalogue GRID owns this region, so collapse that reservation completely. */
body.the-grid-catalog-active :is(
  .rey-siteContainer,
  .rey-siteContent,
  .rey-siteMain,
  .rey-contentWrapper,
  .site-content,
  #content
) {
  --content-padding-top: 0px !important;
  --page-padding-top: 0px !important;
}
body.the-grid-catalog-active .rey-siteContainer {
  padding-block-start: 0 !important;
}
body.the-grid-catalog-active .the-grid-catalog-head:first-child {
  margin-top: 0 !important;
}
body.the-grid-catalog-active :is(.rey-siteRow,.rey-mainContent,.rey-contentWrapper,.rey-siteContent) > .rey-siteContainer:first-child,
body.the-grid-catalog-active .rey-siteMain > .woocommerce:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.the-grid-catalog-active .the-grid-catalog-head {
  display: grid !important;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  grid-template-areas: "crumbs crumbs" "intro nav";
  align-items: end;
  column-gap: clamp(28px, 4vw, 64px);
  row-gap: 10px;
  width: 100%;
  min-height: 118px;
  margin: 0 0 18px !important;
  padding: 24px 28px 20px !important;
  border: 0 !important;
  background: #f1f2f0;
  box-sizing: border-box;
}

body.the-grid-catalog-active .the-grid-catalog-head__intro { grid-area: intro; min-width: 0; }
body.the-grid-catalog-active .the-grid-catalog-head__nav { grid-area: nav; }
body.the-grid-catalog-active .the-grid-catalog-breadcrumbs {
  grid-area: crumbs;
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: #7a7f7b;
  font-size: 10.5px;
  font-weight: 520;
  line-height: 1.2;
}
body.the-grid-catalog-active .the-grid-catalog-breadcrumbs a {
  color: #666c67 !important;
  text-decoration: none !important;
}
body.the-grid-catalog-active .the-grid-catalog-breadcrumbs a:hover { color: var(--grid-cat-accent) !important; }
body.the-grid-catalog-active .the-grid-catalog-breadcrumbs__sep { opacity: .45; }

body.the-grid-catalog-active .the-grid-catalog-head__eyebrow {
  display: block;
  margin: 0 0 8px;
  color: #747a75;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.the-grid-catalog-active .the-grid-catalog-head__title {
  margin: 0 !important;
  padding: 0 !important;
  color: #222522 !important;
  font-size: clamp(31px, 3vw, 50px) !important;
  font-weight: 500 !important;
  line-height: .98 !important;
  letter-spacing: -.035em !important;
}

body.the-grid-catalog-active .the-grid-catalog-head__nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px 22px;
  min-width: 0;
  overflow-x: auto;
  padding: 0;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
body.the-grid-catalog-active .the-grid-catalog-head__nav::-webkit-scrollbar { display: none; }

body.the-grid-catalog-active .the-grid-catalog-head__link {
  position: relative;
  flex: 0 0 auto;
  padding: 8px 0 9px;
  color: #686e69 !important;
  font-size: 11.5px;
  font-weight: 550;
  line-height: 1.2;
  text-decoration: none !important;
  white-space: nowrap;
}
body.the-grid-catalog-active .the-grid-catalog-head__link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 2px;
  height: 2px;
  background: var(--grid-cat-accent);
  transition: right .18s ease;
}
body.the-grid-catalog-active .the-grid-catalog-head__link:hover,
body.the-grid-catalog-active .the-grid-catalog-head__link.is-current { color: #171917 !important; }
body.the-grid-catalog-active .the-grid-catalog-head__link:hover::after,
body.the-grid-catalog-active .the-grid-catalog-head__link.is-current::after { right: 0; }

body.the-grid-catalog-active .rey-siteMain :is(.rey-loopHeader,.rey-productLoop-header,.woocommerce-before-shop-loop) {
  margin: 0 0 20px !important;
  padding: 0 2px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.the-grid-catalog-active .rey-siteMain :is(.woocommerce-result-count,.woocommerce-ordering) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* -------------------------------------------------------------------------
   Deterministic GRID geometry.
   Default is square. Wide/tall spans are only applied from persisted product
   image-shape metadata; no live image evaluation occurs on catalogue requests.
   ------------------------------------------------------------------------- */
body.the-grid-catalog-active .rey-siteMain ul.products,
body.the-grid-catalog-active .rey-siteMain .products.the-grid-catalog-products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-flow: dense !important;
  grid-auto-rows: clamp(230px, calc((100cqw - (3 * var(--grid-cat-gap))) / 4), 340px) !important;
  gap: var(--grid-cat-gap) !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  align-items: stretch !important;
}

/* Regular products remain 1x1. One exact-in-stock product per 12-item block is explicitly promoted to 2x2 by GRID JS. */
body.the-grid-catalog-active .rey-siteMain ul.products > li.product {
  grid-column: span 1 !important;
  grid-row: span 1 !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 {
  grid-column: span 2 !important;
  grid-row: span 2 !important;
}
/* Explicit persisted image geometry may override a normal 1x1 tile. */
body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-shape-wide:not(.the-grid-feature-2x2) {
  grid-column: span 2 !important;
  grid-row: span 1 !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-shape-tall:not(.the-grid-feature-2x2) {
  grid-column: span 1 !important;
  grid-row: span 2 !important;
}

body.the-grid-catalog-active .rey-siteMain ul.products > li.product {
  float: none !important;
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  translate: none !important;
  opacity: 1 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
  isolation: isolate;
  animation: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product:hover {
  box-shadow: 0 12px 32px rgba(20,24,21,.10) !important;
}

body.the-grid-catalog-active .rey-siteMain ul.products > li.product > .rey-protoShadowHolder,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product > .rey-productEditLink {
  display: none !important;
}

body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productInner {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

/* -------------------------------------------------------------------------
   Product media.
   ------------------------------------------------------------------------- */
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > a.woocommerce-loop-product__link,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > a.woocommerce-loop-product__link > div {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: #fff !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail { z-index: 1 !important; }
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > a.woocommerce-loop-product__link > div:first-child { z-index: 1 !important; }
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > a.woocommerce-loop-product__link > div:nth-child(n+2) { z-index: 2 !important; }

body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail img,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail .rey-thumbImg,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail img[data-lazy-hidden] {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(12px, 1.45cqw, 22px) !important;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  clip: auto !important;
  transform: scale(1) !important;
  transition: transform .28s ease !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product:hover .rey-productThumbnail img {
  transform: scale(1.022) !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail img.the-grid-placeholder-image {
  object-fit: contain !important;
  object-position: center !important;
  opacity: 1 !important;
  background: #fff !important;
}

/* -------------------------------------------------------------------------
   Catalogue content stack — exact brief.
   Title is its own row. Stock stays untouched below it, with price on the
   same row at the right. SKU/OE then shares the final action row with Quick
   View and Add to Basket. The gradient is deliberately short and light.
   ------------------------------------------------------------------------- */
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopDetails {
  position: absolute !important;
  z-index: 5 !important;
  inset: auto 0 0 0 !important;
  display: block !important;
  width: 100% !important;
  height: 138px !important;
  min-height: 138px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  text-align: left !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: none !important;
  isolation: isolate;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopDetails::before {
  content: none !important;
  display: none !important;
  background: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopDetails > * { pointer-events: auto; }
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productCategories { display: none !important; }

/* 1. Title: always its own band ABOVE stock/price. */
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .woocommerce-loop-product__title,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .woocommerce-loop-product__title,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product:nth-child(12n + 6) .woocommerce-loop-product__title,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product:nth-child(12n + 10) .woocommerce-loop-product__title {
  position: absolute !important;
  z-index: 7 !important;
  left: 16px !important;
  right: 16px !important;
  bottom: 78px !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  width: auto !important;
  max-width: none !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 0 8px !important;
  border-bottom: 1px solid rgba(63,67,64,.18) !important;
  color: var(--grid-cat-copy) !important;
  font-size: clamp(16px, 1.12cqw, 20px) !important;
  font-weight: 560 !important;
  line-height: 1.24 !important;
  letter-spacing: -.012em !important;
  text-align: left !important;
  text-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .rey-loopDetails {
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .woocommerce-loop-product__title {
  top: 16px !important;
  left: 16px !important;
  right: 54px !important;
  bottom: auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #3f4544 !important;
  font-size: clamp(19px, 1.42cqw, 25px) !important;
  line-height: 1.16 !important;
  -webkit-line-clamp: 2 !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .woocommerce-loop-product__title a {
  color: #3f4544 !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .woocommerce-loop-product__title a {
  color: inherit !important;
  text-decoration: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .woocommerce-loop-product__title::after {
  display: none !important;
  content: none !important;
}

/* 2. Stock stays as-is; price simply joins the same row at right. */
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopStock {
  position: absolute !important;
  z-index: 7 !important;
  left: 16px !important;
  bottom: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopStock .stock-c {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--grid-cat-copy) !important;
  font-size: 10px !important;
  font-weight: 550 !important;
  line-height: 1.2 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopStock.in-stock .stock-c::before,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopStock.available-on-backorder .stock-c::before,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopStock.out-of-stock .stock-c::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 6px;
  border-radius: 50%;
  background: #9fca39;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopStock.available-on-backorder .stock-c::before { background: #d5a33c; }
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopStock.out-of-stock .stock-c::before { background: #df6b62; }

body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopPrice,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .price,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .rey-loopPrice,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .price {
  position: absolute !important;
  z-index: 7 !important;
  right: 16px !important;
  bottom: 50px !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--grid-cat-copy) !important;
  font-size: clamp(20px, 1.36cqw, 24px) !important;
  font-weight: 720 !important;
  line-height: 1 !important;
  text-align: right !important;
  white-space: nowrap !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .rey-loopPrice,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .price {
  font-size: clamp(23px, 1.6cqw, 29px) !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .rey-loopStock {
  left: 16px !important;
  bottom: 39px !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .rey-loopStock .stock-c {
  min-height: 14px !important;
}

body.the-grid-catalog-active .rey-siteMain ul.products > li.product :is(.rey-loopPrice,.price),
body.the-grid-catalog-active .rey-siteMain ul.products > li.product :is(.rey-loopPrice,.price) *,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopStock,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopStock .stock-c {
  color: var(--grid-cat-copy) !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopPrice .price-suffix,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .price .price-suffix {
  font-size: .56em !important;
  font-weight: 520 !important;
  opacity: .88 !important;
}

/* 4/5. SKU and OE stay visible and readable on the left of the action row. */
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .sku_oe2 {
  position: absolute !important;
  z-index: 8 !important;
  left: 16px !important;
  bottom: 10px !important;
  display: block !important;
  width: 30% !important;
  min-width: 0 !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--grid-cat-copy) !important;
  font-size: 11px !important;
  font-weight: 450 !important;
  line-height: 1.32 !important;
  text-align: left !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .sku_oe2 strong {
  color: var(--grid-cat-copy) !important;
  font-weight: 560 !important;
}

/* Add to Basket: right third. */
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopButtons {
  position: absolute !important;
  z-index: 9 !important;
  right: 16px !important;
  bottom: 9px !important;
  display: block !important;
  width: 118px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopButtons > .button,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopButtons > a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 118px !important;
  min-width: 118px !important;
  min-height: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid rgba(47,52,55,.14) !important;
  outline: 0 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #2f3437 !important;
  -webkit-text-fill-color: #2f3437 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .015em !important;
  overflow: hidden !important;
  box-shadow: none !important;
  text-align: center !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  border-bottom: 1px solid rgba(47,52,55,.14) !important;
  background-image: none !important;
  white-space: nowrap !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopButtons > .button:hover,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopButtons > a.button:hover {
  background: #f3f4f4 !important;
  color: #1f2325 !important;
  -webkit-text-fill-color: #1f2325 !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopButtons > .button::before,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopButtons > a.button::before {
  display: none !important;
  content: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopButtons > .button::after,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopButtons > a.button::after {
  display: none !important;
  content: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopButtons .woosq-btn { display: none !important; }

/* 3. Quick View: exactly one button, no parent padding/border, WHITE text. */
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > .rey-thPos--bottom-right {
  position: absolute !important;
  z-index: 12 !important;
  left: 35% !important;
  right: auto !important;
  top: auto !important;
  bottom: 9px !important;
  display: block !important;
  width: 30% !important;
  height: 38px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > .rey-thPos--bottom-right > .rey-thPos-item {
  display: block !important;
  width: 100% !important;
  height: 38px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-quickviewBtn,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-quickviewBtn.button {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 38px !important;
  min-width: 0 !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  font-size: 11.5px !important;
  font-weight: 680 !important;
  line-height: 1 !important;
  letter-spacing: .015em !important;
  text-align: center !important;
  text-shadow: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  backdrop-filter: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-quickviewBtn::before,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-quickviewBtn::after {
  display: none !important;
  content: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-quickviewBtn:hover {
  background: #f2f2f2 !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
}

/* 4. Heart: position the REY wrapper itself at the TRUE top-right. */
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > .rey-thPos--top-right,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail .rey-thPos--top-right,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail .rey-thPos[data-position="top-right"] {
  position: absolute !important;
  z-index: 20 !important;
  inset: 12px 12px auto auto !important;
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > .rey-thPos--top-right > .rey-thPos-item {
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-wishlistBtn,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-wishlistBtn:hover,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-wishlistBtn:focus,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-wishlistBtn:active {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #171917 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 1px 2px rgba(255,255,255,.9)) drop-shadow(0 1px 2px rgba(0,0,0,.18)) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-wishlistBtn svg {
  width: 22px !important;
  height: 22px !important;
  fill: none !important;
  stroke: currentColor !important;
}

/* Square geometry for any remaining badges / non-action UI. */
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-pBadge,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product [class*="productBadge"],
body.the-grid-catalog-active .rey-siteMain ul.products > li.product [class*="badge"] {
  border-radius: 0 !important;
}

/* -------------------------------------------------------------------------
   1x1 compact treatment. Keep the large 2x2 feature card at full scale; only
   true square tiles tighten type and action controls slightly.
   ------------------------------------------------------------------------- */
body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopStock {
  left: 12px !important;
  bottom: 29px !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopStock .stock-c {
  font-size: 9px !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) :is(.rey-loopPrice,.price) {
  right: 12px !important;
  bottom: 49px !important;
  font-size: clamp(17px, 1.16cqw, 20px) !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .sku_oe2 {
  left: 12px !important;
  bottom: 10px !important;
  width: 29% !important;
  min-height: 0 !important;
  font-size: 9.6px !important;
  line-height: 1.18 !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .the-grid-quickview-slot {
  left: auto !important;
  right: 106px !important;
  bottom: 9px !important;
  width: 28px !important;
  height: 34px !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .the-grid-quickview-slot .rey-quickviewBtn,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .the-grid-quickview-slot .rey-quickviewBtn.button {
  width: 28px !important;
  min-width: 28px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  font-size: 0 !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopButtons {
  right: 12px !important;
  bottom: 9px !important;
  width: 86px !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopButtons > .button,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopButtons > a.button {
  width: 86px !important;
  min-width: 86px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 8px !important;
  font-size: 9.4px !important;
  line-height: 1 !important;
  color: #2f3437 !important;
  -webkit-text-fill-color: #2f3437 !important;
  white-space: nowrap !important;
}

/* -------------------------------------------------------------------------
   Responsive: same hierarchy; do not progressively shrink the information.
   ------------------------------------------------------------------------- */
@container gridcatalog (max-width: 900px) {
  body.the-grid-catalog-active .rey-siteMain ul.products,
  body.the-grid-catalog-active .rey-siteMain .products.the-grid-catalog-products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: calc((100cqw - var(--grid-cat-gap)) / 2) !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
  }

  body.the-grid-catalog-active .the-grid-catalog-head {
    grid-template-columns: 1fr;
    grid-template-areas: "crumbs" "intro" "nav";
    gap: 14px;
    min-height: 0;
    padding: 18px 18px 16px !important;
  }
  body.the-grid-catalog-active .the-grid-catalog-head__nav { justify-content: flex-start; }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopDetails {
    height: 126px !important;
    min-height: 126px !important;
    padding: 0 !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .woocommerce-loop-product__title,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .woocommerce-loop-product__title,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:nth-child(12n + 6) .woocommerce-loop-product__title,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:nth-child(12n + 10) .woocommerce-loop-product__title {
    left: 12px !important;
    right: 12px !important;
    bottom: 70px !important;
    padding-bottom: 7px !important;
    font-size: clamp(14.5px, 2.25cqw, 17px) !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopStock {
    left: 12px !important;
    bottom: 44px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopStock {
    bottom: 29px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopStock .stock-c {
    font-size: 9.5px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopPrice,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .price,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .rey-loopPrice,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .price {
    right: 12px !important;
    bottom: 43px !important;
    font-size: 18px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .sku_oe2 {
    left: 12px !important;
    bottom: 7px !important;
    width: 30% !important;
    min-height: 32px !important;
    font-size: 9.8px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > .rey-thPos--bottom-right {
    left: 35% !important;
    bottom: 7px !important;
    width: 30% !important;
    height: 34px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > .rey-thPos--bottom-right > .rey-thPos-item {
    height: 34px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopButtons {
    right: 12px !important;
    bottom: 7px !important;
    width: 34px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopButtons > .button,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopButtons > a.button,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-quickviewBtn,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-quickviewBtn.button {
    min-width: 34px !important;
    width: 34px !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    border-radius: 5px !important;
    font-size: 0 !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > .rey-thPos--top-right,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail .rey-thPos--top-right,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail .rey-thPos[data-position="top-right"] {
    inset: 10px 10px auto auto !important;
  }
}

@media (max-width: 520px) {
  body.the-grid-catalog-active { --grid-cat-gap: 10px; }
  body.the-grid-catalog-active .the-grid-catalog-head {
    margin-bottom: 14px !important;
    padding: 15px 14px 14px !important;
  }
  body.the-grid-catalog-active .the-grid-catalog-head__title {
    font-size: clamp(27px, 9vw, 37px) !important;
  }
  body.the-grid-catalog-active .the-grid-catalog-head__link { font-size: 11px; }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail img,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail .rey-thumbImg {
    padding: 9px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopDetails {
    height: 116px !important;
    min-height: 116px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .woocommerce-loop-product__title,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .woocommerce-loop-product__title,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:nth-child(12n + 6) .woocommerce-loop-product__title,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:nth-child(12n + 10) .woocommerce-loop-product__title {
    left: 10px !important;
    right: 10px !important;
    bottom: 64px !important;
    font-size: 13.5px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopStock {
    left: 10px !important;
    bottom: 40px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopStock .stock-c { font-size: 8.8px !important; }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopPrice,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .price {
    right: 10px !important;
    bottom: 39px !important;
    font-size: 16.5px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .sku_oe2 {
    left: 10px !important;
    bottom: 6px !important;
    width: 31% !important;
    min-height: 30px !important;
    font-size: 9px !important;
    line-height: 1.18 !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > .rey-thPos--bottom-right {
    left: 36% !important;
    bottom: 6px !important;
    width: 28% !important;
    height: 31px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > .rey-thPos--bottom-right > .rey-thPos-item {
    height: 31px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopButtons {
    right: 10px !important;
    bottom: 6px !important;
    width: 31% !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopButtons > .button,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-loopButtons > a.button,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-quickviewBtn,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-quickviewBtn.button {
    min-height: 31px !important;
    height: 31px !important;
    padding: 0 5px !important;
    border-radius: 5px !important;
    font-size: 9.2px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > .rey-thPos--top-right,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail .rey-thPos--top-right,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail .rey-thPos[data-position="top-right"] {
    inset: 8px 8px auto auto !important;
    width: 30px !important;
    height: 30px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-wishlistBtn,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-wishlistBtn:hover,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-wishlistBtn:focus,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-wishlistBtn:active {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product img,
  body.the-grid-catalog-active .the-grid-catalog-head__link::after {
    transition: none !important;
  }
}

/* GRID-owned control slots: v0.2.13. The real Rey buttons are moved here by grid-catalog.js. */

/* GRID-owned control slots: v0.2.13. The real Rey buttons are moved here by grid-catalog.js. */
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > .rey-thPos--top-right,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > .rey-thPos--bottom-right {
  display: none !important;
}

body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-wishlist-slot {
  position: absolute !important;
  z-index: 30 !important;
  top: 12px !important;
  right: 12px !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: auto !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-wishlist-slot .rey-wishlistBtn,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-wishlist-slot .rey-wishlistBtn:hover,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-wishlist-slot .rey-wishlistBtn:focus,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-wishlist-slot .rey-wishlistBtn:active {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #171917 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 1px 2px rgba(255,255,255,.95)) drop-shadow(0 1px 2px rgba(0,0,0,.18)) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-wishlist-slot .rey-wishlistBtn svg {
  width: 23px !important;
  height: 23px !important;
  fill: none !important;
  stroke: currentColor !important;
}

body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-quickview-slot {
  position: absolute !important;
  z-index: 20 !important;
  left: auto !important;
  right: 142px !important;
  bottom: 9px !important;
  width: 24px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: auto !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-quickview-slot .rey-quickviewBtn,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-quickview-slot .rey-quickviewBtn.button,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-quickview-slot .rey-quickviewBtn:hover,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-quickview-slot .rey-quickviewBtn:focus {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 38px !important;
  min-width: 24px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-align: center !important;
  text-shadow: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-quickview-slot .rey-quickviewBtn::before {
  content: "" !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  background: #2f3437 !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.5 4a6.5 6.5 0 1 1-3.92 11.68l-4.13 4.13a1 1 0 0 1-1.41-1.42l4.12-4.12A6.5 6.5 0 0 1 10.5 4Zm0 2a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.5 4a6.5 6.5 0 1 1-3.92 11.68l-4.13 4.13a1 1 0 0 1-1.41-1.42l4.12-4.12A6.5 6.5 0 0 1 10.5 4Zm0 2a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-quickview-slot .rey-quickviewBtn::after {
  display: none !important;
  content: none !important;
}

@container gridcatalog (max-width: 900px) {
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-wishlist-slot {
    top: 10px !important;
    right: 10px !important;
    width: 32px !important;
    height: 32px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-wishlist-slot .rey-wishlistBtn {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-quickview-slot {
    left: auto !important;
    right: 54px !important;
    bottom: 7px !important;
    width: 34px !important;
    height: 34px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-quickview-slot .rey-quickviewBtn,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-quickview-slot .rey-quickviewBtn.button {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    border-radius: 5px !important;
    font-size: 0 !important;
  }
}

@media (max-width: 520px) {
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-wishlist-slot {
    top: 8px !important;
    right: 8px !important;
    width: 20px !important;
    height: 20px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-wishlist-slot .rey-wishlistBtn {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-wishlist-slot .rey-wishlistBtn svg {
    width: 15px !important;
    height: 15px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-quickview-slot {
    left: 36% !important;
    bottom: 6px !important;
    width: 28% !important;
    height: 31px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-quickview-slot .rey-quickviewBtn,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-quickview-slot .rey-quickviewBtn.button {
    height: 31px !important;
    min-height: 31px !important;
    padding: 0 5px !important;
    border-radius: 5px !important;
    font-size: 9.2px !important;
  }
}


/* v0.2.15: physically re-home 1x1 titles into the image layer. */
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > .the-grid-title-slot {
  position: absolute !important;
  z-index: 24 !important;
  top: 14px !important;
  left: 14px !important;
  right: 54px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-title-slot .woocommerce-loop-product__title {
  position: static !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #3f4544 !important;
  font-size: clamp(13.5px, 1.0cqw, 16px) !important;
  font-weight: 560 !important;
  line-height: 1.18 !important;
  letter-spacing: -.01em !important;
  text-align: left !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-title-slot .woocommerce-loop-product__title a {
  color: #3f4544 !important;
  text-decoration: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-title-slot .woocommerce-loop-product__title::after {
  display: none !important;
  content: none !important;
}
@container gridcatalog (max-width: 900px) {
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > .the-grid-title-slot {
    top: 11px !important;
    left: 11px !important;
    right: 48px !important;
  }
}
@media (max-width: 520px) {
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > .the-grid-title-slot {
    top: 6px !important;
    left: 9px !important;
    right: 43px !important;
  }
}

/* v0.2.21 — catalogue visual precision pass. */
/* Close the final ~5px archive gap under the mega-menu rail. */
body.the-grid-catalog-active .the-grid-catalog-head {
  margin-top: -5px !important;
}

/* Large 2x2 feature titles use black ink against the lighter lower fade. */
body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .woocommerce-loop-product__title,
body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .woocommerce-loop-product__title a {
  color: #111 !important;
  text-shadow: none !important;
}
body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .woocommerce-loop-product__title {
  border-bottom-color: rgba(17,17,17,.20) !important;
}



/* v0.2.42 — canonical mobile catalogue controls and metadata rhythm.
   Uses GRID-owned slots so price, basket and featured stock cannot drift. */
@media (max-width: 520px) {
  body.the-grid-catalog-active { --grid-mobile-action: 38px; --grid-mobile-edge: 10px; }

  /* v0.2.48 — soften mobile tile perimeter slightly on both 2x2 and 1x1 cards. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productInner {
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  body.the-grid-catalog-active .the-grid-catalog-head {
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
    padding-left: max(22px, env(safe-area-inset-left)) !important;
    padding-right: max(22px, env(safe-area-inset-right)) !important;
    box-sizing: border-box !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-quickview-slot,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail > .rey-thPos--bottom-right,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail .rey-thPos--bottom-right,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-productThumbnail .rey-thPos[data-position="bottom-right"],
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-quickviewBtn,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .rey-quickviewBtn.button {
    display: none !important;
  }

  /* Dedicated commerce dock: price immediately left, basket hard against lower-right. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-mobile-buy-dock {
    position: absolute !important;
    z-index: 30 !important;
    right: var(--grid-mobile-edge) !important;
    bottom: 8px !important;
    left: auto !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: auto !important;
    height: var(--grid-mobile-action) !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: auto !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-mobile-buy-dock :is(.rey-loopPrice,.price) {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
    width: auto !important;
    max-width: none !important;
    height: var(--grid-mobile-action) !important;
    margin: 0 !important;
    padding: 0 0 2px !important;
    color: var(--grid-cat-copy) !important;
    font-size: 17px !important;
    font-weight: 720 !important;
    line-height: .98 !important;
    text-align: right !important;
    white-space: nowrap !important;
    transform: none !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .the-grid-mobile-buy-dock :is(.rey-loopPrice,.price) {
    font-size: 22px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-mobile-buy-dock :is(.rey-loopPrice,.price) .price-suffix {
    display: block !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    margin: 3px 0 0 !important;
    font-size: 8px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    opacity: .78 !important;
    text-align: right !important;
    white-space: nowrap !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .the-grid-mobile-buy-dock :is(.rey-loopPrice,.price) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: end !important;
    align-content: end !important;
    row-gap: 1px !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-mobile-buy-dock .rey-loopButtons {
    position: static !important;
    display: block !important;
    flex: 0 0 var(--grid-mobile-action) !important;
    width: var(--grid-mobile-action) !important;
    height: var(--grid-mobile-action) !important;
    min-width: var(--grid-mobile-action) !important;
    min-height: var(--grid-mobile-action) !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-mobile-buy-dock .rey-loopButtons > .button,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-mobile-buy-dock .rey-loopButtons > a.button,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-mobile-buy-dock .rey-loopButtons .add_to_cart_button,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-mobile-buy-dock .rey-loopButtons .product_type_simple {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--grid-mobile-action) !important;
    height: var(--grid-mobile-action) !important;
    min-width: var(--grid-mobile-action) !important;
    min-height: var(--grid-mobile-action) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(47,52,55,.14) !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #2f3437 !important;
    -webkit-text-fill-color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    box-shadow: none !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-mobile-buy-dock .rey-loopButtons > .button::before,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-mobile-buy-dock .rey-loopButtons > a.button::before,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-mobile-buy-dock .rey-loopButtons .add_to_cart_button::before,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-mobile-buy-dock .rey-loopButtons .product_type_simple::before {
    content: "" !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    background: #2f3437 !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7.2 8 10 3.8a1 1 0 0 1 1.66 1.1L9.6 8h4.8l-2.06-3.1A1 1 0 1 1 14 3.8L16.8 8H20a1 1 0 0 1 .97 1.24l-2.25 9A2.3 2.3 0 0 1 16.49 20H7.51a2.3 2.3 0 0 1-2.23-1.76l-2.25-9A1 1 0 0 1 4 8h3.2Zm-1.92 2 1.94 7.76c.03.14.15.24.29.24h8.98c.14 0 .26-.1.29-.24L18.72 10H5.28ZM9 12a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1Zm6 0a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7.2 8 10 3.8a1 1 0 0 1 1.66 1.1L9.6 8h4.8l-2.06-3.1A1 1 0 1 1 14 3.8L16.8 8H20a1 1 0 0 1 .97 1.24l-2.25 9A2.3 2.3 0 0 1 16.49 20H7.51a2.3 2.3 0 0 1-2.23-1.76l-2.25-9A1 1 0 0 1 4 8h3.2Zm-1.92 2 1.94 7.76c.03.14.15.24.29.24h8.98c.14 0 .26-.1.29-.24L18.72 10H5.28ZM9 12a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1Zm6 0a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
    text-indent: 0 !important;
  }

  /* 1x1: stock is a dot only. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopStock {
    left: 10px !important;
    bottom: 29px !important;
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    overflow: visible !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopStock .stock-c {
    display: block !important;
    width: 8px !important;
    min-width: 8px !important;
    height: 8px !important;
    min-height: 8px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    overflow: visible !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopStock .stock-c::before {
    width: 7px !important;
    height: 7px !important;
    margin: 0 !important;
  }

  /* Featured 2x2: the details layer spans the full tile so the title can
     truly anchor to the square's top-left while commerce remains bottom-docked. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .rey-loopDetails {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
  }

  /* Featured 2x2: title top-left; separator / stock / commerce stay at bottom. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .woocommerce-loop-product__title {
    top: 14px !important;
    left: 14px !important;
    right: 54px !important;
    bottom: auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: #3f4544 !important;
    font-size: 18px !important;
    line-height: 1.16 !important;
    -webkit-line-clamp: 2 !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .woocommerce-loop-product__title a {
    color: #3f4544 !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .the-grid-feature-separator {
    position: absolute !important;
    z-index: 8 !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 67px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(63,67,64,.20) !important;
    pointer-events: none !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .the-grid-feature-stock-slot {
    position: absolute !important;
    z-index: 9 !important;
    left: 14px !important;
    bottom: 50px !important;
    width: auto !important;
    height: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .the-grid-feature-stock-slot .rey-loopStock {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    height: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .the-grid-feature-stock-slot .rey-loopStock .stock-c {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    height: 14px !important;
    min-height: 14px !important;
    color: var(--grid-cat-copy) !important;
    font-size: 9px !important;
    line-height: 1 !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .sku_oe2 {
    left: 10px !important;
    bottom: 7px !important;
    width: 37% !important;
    max-width: 37% !important;
    min-height: 0 !important;
    font-size: 8.8px !important;
    line-height: 1.15 !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .sku_oe2.the-grid-meta-compact {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    row-gap: 2px !important;
    width: 42% !important;
    max-width: 42% !important;
    font-size: 9px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .sku_oe2.the-grid-meta-compact > span {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-feature-2x2 .sku_oe2 {
    left: 14px !important;
    width: 34% !important;
    max-width: 34% !important;
  }

  /* v0.2.73 — canonical 1x1 mobile commerce dock.
     Keep the basket control structurally identical to the featured tile:
     fixed 38px action cell, fully inside the card, with price flexing beside it. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .the-grid-mobile-buy-dock {
    position: absolute !important;
    left: 42% !important;
    right: 10px !important;
    bottom: 8px !important;
    width: auto !important;
    height: var(--grid-mobile-action) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) var(--grid-mobile-action) !important;
    align-items: end !important;
    column-gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .the-grid-mobile-buy-dock :is(.rey-loopPrice,.price) {
    position: static !important;
    inset: auto !important;
    grid-column: 1 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: end !important;
    align-content: end !important;
    row-gap: 1px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: var(--grid-mobile-action) !important;
    margin: 0 !important;
    padding: 0 0 2px !important;
    color: var(--grid-cat-copy) !important;
    font-size: 16px !important;
    font-weight: 720 !important;
    line-height: .98 !important;
    text-align: right !important;
    white-space: nowrap !important;
    overflow: visible !important;
    transform: none !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .the-grid-mobile-buy-dock :is(.rey-loopPrice,.price) .price-suffix {
    display: block !important;
    width: 100% !important;
    margin: 3px 0 0 !important;
    font-size: 8px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    opacity: .78 !important;
    text-align: right !important;
    white-space: nowrap !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .the-grid-mobile-buy-dock .rey-loopButtons {
    position: static !important;
    inset: auto !important;
    grid-column: 2 !important;
    justify-self: end !important;
    align-self: end !important;
    width: var(--grid-mobile-action) !important;
    height: var(--grid-mobile-action) !important;
    min-width: var(--grid-mobile-action) !important;
    min-height: var(--grid-mobile-action) !important;
    max-width: var(--grid-mobile-action) !important;
    max-height: var(--grid-mobile-action) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .the-grid-mobile-buy-dock .rey-loopButtons > .button,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .the-grid-mobile-buy-dock .rey-loopButtons > a.button,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .the-grid-mobile-buy-dock .rey-loopButtons .add_to_cart_button,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .the-grid-mobile-buy-dock .rey-loopButtons .product_type_simple {
    position: relative !important;
    inset: auto !important;
    width: var(--grid-mobile-action) !important;
    height: var(--grid-mobile-action) !important;
    min-width: var(--grid-mobile-action) !important;
    min-height: var(--grid-mobile-action) !important;
    max-width: var(--grid-mobile-action) !important;
    max-height: var(--grid-mobile-action) !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
}

/* v0.2.77 — catalogue heading background full-bleed.
   Keep the heading/link content aligned to the existing catalogue container,
   but let the light-grey section background bleed to both viewport edges. */
body.the-grid-catalog-active .the-grid-catalog-head {
  position: relative !important;
  isolation: isolate;
  background: transparent !important;
}
body.the-grid-catalog-active .the-grid-catalog-head::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #f1f2f0;
  pointer-events: none;
  z-index: -1;
}



/* v0.2.79 — collapsed catalogue View control.
   Mixed is the default on every device. Desktop shows the word "View";
   mobile shows the grid icon immediately before WooCommerce sorting. */
.the-grid-view-control {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 10px 0 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
}
body.the-grid-catalog-active .the-grid-view-control__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 11px !important;
  border: 1px solid rgba(63,67,64,.15) !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #414642 !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 620 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
body.the-grid-catalog-active .the-grid-view-control__icon {
  display: none !important;
  width: 17px !important;
  height: 17px !important;
}
body.the-grid-catalog-active .the-grid-view-control__icon svg {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.6 !important;
}
body.the-grid-catalog-active .the-grid-view-control__menu {
  position: absolute !important;
  z-index: 80 !important;
  top: calc(100% + 7px) !important;
  left: 0 !important;
  display: grid !important;
  min-width: 138px !important;
  margin: 0 !important;
  padding: 5px !important;
  border: 1px solid rgba(63,67,64,.14) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(31,35,33,.12) !important;
}
body.the-grid-catalog-active .the-grid-view-control__menu[hidden] { display: none !important; }
body.the-grid-catalog-active .the-grid-view-control__menu button {
  width: 100% !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: transparent !important;
  color: #4c524e !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 560 !important;
  line-height: 1 !important;
  text-align: left !important;
  cursor: pointer !important;
}
body.the-grid-catalog-active .the-grid-view-control__menu button:hover,
body.the-grid-catalog-active .the-grid-view-control__menu button.is-active {
  background: #f1f2f0 !important;
  color: #171917 !important;
}

/* View modes are device-agnostic: Mixed = approved adaptive GRID, Large =
   every tile 2x2, Compact = every tile 1x1. */
body.the-grid-catalog-active[data-grid-view="compact"] .rey-siteMain ul.products > li.product {
  grid-column: span 1 !important;
  grid-row: span 1 !important;
}

/* Rey's NEW badge belongs beside commerce data, never over SKU/OE. */
body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-new-badge {
  position: absolute !important;
  z-index: 31 !important;
  right: var(--grid-new-right, 116px) !important;
  bottom: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #686e69 !important;
  box-shadow: none !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

@media (max-width:520px) {
  /* Mobile toolbar: icon-only View control, immediately left of sorting. */
  body.the-grid-catalog-active .the-grid-view-control {
    flex: 0 0 auto !important;
    margin-right: 7px !important;
  }
  body.the-grid-catalog-active .the-grid-view-control__button {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
  }
  body.the-grid-catalog-active .the-grid-view-control__text { display: none !important; }
  body.the-grid-catalog-active .the-grid-view-control__icon { display: block !important; }
  body.the-grid-catalog-active .the-grid-view-control__menu {
    right: 0 !important;
    left: auto !important;
  }

  /* In the mobile buy dock, NEW sits directly before price. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product .the-grid-mobile-buy-dock .the-grid-new-badge {
    position: static !important;
    align-self: end !important;
    flex: 0 0 auto !important;
    margin: 0 1px 5px 0 !important;
    color: #686e69 !important;
    font-size: 8px !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .the-grid-mobile-buy-dock {
    grid-template-columns: auto minmax(0, 1fr) var(--grid-mobile-action) !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .the-grid-mobile-buy-dock .the-grid-new-badge {
    grid-column: 1 !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .the-grid-mobile-buy-dock :is(.rey-loopPrice,.price) {
    grid-column: 2 !important;
  }
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .the-grid-mobile-buy-dock .rey-loopButtons {
    grid-column: 3 !important;
  }
}
