/* The GRID — Limebug mobile catalogue v2.2 (0.2.117.2)
   Clean mobile presentation layer. One predictable card flow:
   media -> title -> stock -> meta -> price/action. */
@media (max-width: 520px) {
  body.the-grid-catalog-active {
    --grid-m2-gap: 12px;
    --grid-m2-radius: 14px;
    --grid-m2-line: #e4e7e4;
    --grid-m2-muted: #626964;
    --grid-m2-copy: #242824;
    --grid-m2-accent: #82c341;
  }

  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(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row dense !important;
    grid-auto-rows: auto !important;
    gap: var(--grid-m2-gap) !important;
    align-items: stretch !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 {
    position: relative !important;
    inset: auto !important;
    grid-column: span 1 !important;
    grid-row: auto !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #eef0ee !important;
    border-radius: var(--grid-m2-radius) !important;
    background: #fff !important;
    box-shadow: none !important;
    transform: none !important;
    float: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productInner {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: inherit !important;
    background: #fff !important;
    transform: none !important;
  }

  /* MEDIA */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail > a.woocommerce-loop-product__link,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail > a.woocommerce-loop-product__link > div {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    transform: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail {
    flex: 0 0 164px !important;
    height: 164px !important;
    min-height: 164px !important;
    border-bottom: 1px solid var(--grid-m2-line) !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-productThumbnail {
    flex-basis: min(72vw, 390px) !important;
    height: min(72vw, 390px) !important;
    min-height: min(72vw, 390px) !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail img,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail .rey-thumbImg,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail img[data-lazy-hidden] {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 8px !important;
    object-fit: contain !important;
    object-position: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-productThumbnail img,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-productThumbnail .rey-thumbImg {
    padding: 10px !important;
  }

  /* DETAILS */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails {
    position: relative !important;
    inset: auto !important;
    z-index: 3 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 38px !important;
    grid-template-rows: auto auto 1fr auto !important;
    grid-template-areas:
      "title title"
      "stock stock"
      "meta price"
      "meta action" !important;
    column-gap: 8px !important;
    row-gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 132px !important;
    margin: 0 !important;
    padding: 10px 10px 11px !important;
    overflow: hidden !important;
    border: 0 !important;
    background: #fff !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-loopDetails {
    min-height: 146px !important;
    padding: 12px 14px 13px !important;
  }

  /* TITLE: explicitly neutralise all old absolute/title-slot geometry. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .woocommerce-loop-product__title,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .woocommerce-loop-product__title > a {
    position: static !important;
    inset: auto !important;
    float: none !important;
    transform: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .woocommerce-loop-product__title {
    grid-area: title !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: var(--grid-m2-copy) !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 19px !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .woocommerce-loop-product__title > a {
    display: inline !important;
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
    text-decoration: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .woocommerce-loop-product__title {
    height: 50px !important;
    max-height: 50px !important;
    font-size: 20px !important;
    line-height: 25px !important;
  }

  /* STOCK */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopStock {
    grid-area: stock !important;
    position: static !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #4f5651 !important;
    font-size: 9.5px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    transform: none !important;
  }

  /* SKU / OE */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .sku_oe2 {
    grid-area: meta !important;
    position: static !important;
    inset: auto !important;
    align-self: end !important;
    justify-self: start !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: #4f5550 !important;
    font-size: 9.5px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    transform: none !important;
  }

  /* PRICE */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 :is(.rey-loopPrice,.price) {
    grid-area: price !important;
    position: static !important;
    inset: auto !important;
    justify-self: end !important;
    align-self: end !important;
    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 3px !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--grid-m2-copy) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1 !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-mobile-v2 :is(.rey-loopPrice,.price) .price-suffix {
    font-size: 7px !important;
    font-weight: 500 !important;
    color: #666d68 !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 :is(.rey-loopPrice,.price) del {
    order: 1 !important;
    font-size: .68em !important;
    color: #929792 !important;
    white-space: nowrap !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 :is(.rey-loopPrice,.price) ins {
    order: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: inherit !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  /* ACTION: exactly one 42px basket control. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons {
    grid-area: action !important;
    position: static !important;
    inset: auto !important;
    justify-self: end !important;
    align-self: end !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    transform: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > * {
    display: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > :is(.add_to_cart_button,.product_type_simple,.product_type_variable,.product_type_composite,.product_type_grouped,.product_type_external):not(.the-grid-quick-buy) {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    max-width: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d9ddda !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > :is(.add_to_cart_button,.product_type_simple,.product_type_variable,.product_type_composite,.product_type_grouped,.product_type_external):not(.the-grid-quick-buy)::before {
    content: "" !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    background: #202420 !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M4 8h16l-1.3 11H5.3L4 8Zm3 0 2-4h6l2 4M9 12v3m6-3v3'/%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='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M4 8h16l-1.3 11H5.3L4 8Zm3 0 2-4h6l2 4M9 12v3m6-3v3'/%3E%3C/svg%3E") center / contain no-repeat !important;
  }

  /* Never show Quick Buy on mobile. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .the-grid-quick-buy,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-quickviewBtn,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .the-grid-quickview-slot {
    display: none !important;
  }

  /* Wishlist is anchored to the media corner and never participates in details layout. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 :is(.rey-wishlistBtn,.rey-wishlistAdd,.tinvwl_add_to_wishlist_button,[class*="wishlist"]) {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 12 !important;
    margin: 0 !important;
    transform: none !important;
  }

  /* Neutralise any stale legacy wrappers from cached DOM. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 :is(
    .the-grid-mobile-buy-dock,
    .the-grid-feature-stock-slot,
    .the-grid-feature-separator,
    .the-grid-title-slot
  ) {
    all: unset !important;
    display: contents !important;
  }

  /* v2.2: product-type agnostic mobile action fallback. Some Rey cards render
     a generic .button rather than Woo product_type_* classes; force the one
     surviving action to the same basket icon treatment. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > :is(a,button):not(.the-grid-quick-buy):not(.rey-quickviewBtn) {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    max-width: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d9ddda !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -999px !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > :is(a,button):not(.the-grid-quick-buy):not(.rey-quickviewBtn)::before {
    content: "" !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    background: #202420 !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M4 8h16l-1.3 11H5.3L4 8Zm3 0 2-4h6l2 4M9 12v3m6-3v3'/%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='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M4 8h16l-1.3 11H5.3L4 8Zm3 0 2-4h6l2 4M9 12v3m6-3v3'/%3E%3C/svg%3E") center / contain no-repeat !important;
  }

}

/* v2.3 / 0.2.118.0 — MOBILE ONLY density + action hardening.
   Deliberately appended after the v2.2 rules so no desktop/tablet selector is touched. */
@media (max-width: 520px) {
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail {
    flex-basis: 148px !important;
    height: 148px !important;
    min-height: 148px !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-productThumbnail {
    flex-basis: min(62vw, 330px) !important;
    height: min(62vw, 330px) !important;
    min-height: min(62vw, 330px) !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail img,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail .rey-thumbImg,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail img[data-lazy-hidden] {
    padding: 4px !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails {
    grid-template-columns: minmax(0, 1fr) 36px !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
      "title title"
      "meta commerce" !important;
    column-gap: 7px !important;
    row-gap: 7px !important;
    min-height: 0 !important;
    padding: 8px 9px 9px !important;
    align-content: start !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-loopDetails {
    min-height: 0 !important;
    padding: 10px 12px 11px !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .woocommerce-loop-product__title {
    height: 36px !important;
    max-height: 36px !important;
    font-size: 13.5px !important;
    line-height: 18px !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .woocommerce-loop-product__title {
    height: 46px !important;
    max-height: 46px !important;
    font-size: 19px !important;
    line-height: 23px !important;
  }

  /* Stock is now an image overlay. Keep only the coloured status dot visible. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail > .rey-loopStock.the-grid-mobile-stock-status {
    position: absolute !important;
    inset: 9px auto auto 9px !important;
    z-index: 14 !important;
    display: flex !important;
    width: 10px !important;
    min-width: 10px !important;
    height: 10px !important;
    min-height: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 50% !important;
    background: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    pointer-events: none !important;
    transform: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail > .rey-loopStock.the-grid-mobile-stock-status .stock-c {
    display: block !important;
    width: 10px !important;
    min-width: 10px !important;
    height: 10px !important;
    min-height: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail > .rey-loopStock.the-grid-mobile-stock-status .stock-c::before {
    display: block !important;
    width: 8px !important;
    height: 8px !important;
    margin: 1px !important;
    border-radius: 50% !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .sku_oe2 {
    grid-area: meta !important;
    align-self: end !important;
    font-size: 9px !important;
    line-height: 1.28 !important;
  }

  /* Compact commerce stack: price immediately above the real Woo action. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 :is(.rey-loopPrice,.price) {
    grid-area: commerce !important;
    align-self: start !important;
    justify-self: end !important;
    transform: translateY(-1px) !important;
    font-size: 16px !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons {
    grid-area: commerce !important;
    align-self: end !important;
    justify-self: end !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    margin-top: 24px !important;
    overflow: visible !important;
  }

  /* Hide every loop action by default; JS marks only the genuine Woo product action. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > * {
    display: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > .the-grid-mobile-primary-action {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d9ddda !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -999px !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > .the-grid-mobile-primary-action::before {
    content: "" !important;
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    background: #202420 !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M4 8h16l-1.3 11H5.3L4 8Zm3 0 2-4h6l2 4M9 12v3m6-3v3'/%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='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M4 8h16l-1.3 11H5.3L4 8Zm3 0 2-4h6l2 4M9 12v3m6-3v3'/%3E%3C/svg%3E") center / contain no-repeat !important;
  }
}

/* v2.4 / 0.2.118.1 — MOBILE ONLY: consistent square cart + protected price row.
   Price/tax presentation is intentionally unchanged; only its grid position is moved
   so the commerce action can never overlap it. */
@media (max-width: 520px) {
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails {
    grid-template-columns: minmax(0, 1fr) 34px !important;
    grid-template-rows: auto auto auto !important;
    grid-template-areas:
      "title title"
      "price price"
      "meta action" !important;
    column-gap: 7px !important;
    row-gap: 5px !important;
  }

  /* Keep the current price and tax-status appearance, but give them a clear,
     full-width row of their own above SKU/OE + basket. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 :is(.rey-loopPrice,.price) {
    grid-area: price !important;
    position: static !important;
    justify-self: end !important;
    align-self: end !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    z-index: 1 !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .sku_oe2 {
    grid-area: meta !important;
    align-self: end !important;
    min-width: 0 !important;
    padding-right: 4px !important;
  }

  /* One basket geometry for every mobile card type. Inline/block sizing and
     aspect-ratio are included to beat Rey/product-type width rules. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons {
    grid-area: action !important;
    justify-self: end !important;
    align-self: end !important;
    display: flex !important;
    flex: 0 0 34px !important;
    inline-size: 34px !important;
    block-size: 34px !important;
    width: 34px !important;
    height: 34px !important;
    min-inline-size: 34px !important;
    min-block-size: 34px !important;
    max-inline-size: 34px !important;
    max-block-size: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    aspect-ratio: 1 / 1 !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > .the-grid-mobile-primary-action,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons .the-grid-mobile-primary-action {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 34px !important;
    inline-size: 34px !important;
    block-size: 34px !important;
    width: 34px !important;
    height: 34px !important;
    min-inline-size: 34px !important;
    min-block-size: 34px !important;
    max-inline-size: 34px !important;
    max-block-size: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    border: 1px solid #d9ddda !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -999px !important;
    box-shadow: none !important;
    transform: none !important;
  }

  /* Feature tile uses exactly the same action footprint as normal tiles. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-loopButtons,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-loopButtons > .the-grid-mobile-primary-action {
    inline-size: 34px !important;
    block-size: 34px !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !important;
    aspect-ratio: 1 / 1 !important;
  }
}


/* v2.5 / 0.2.118.2 — MOBILE ONLY: replace cart visuals with one clean grey square icon.
   This does not place a decorative box over an old control; it fully owns the
   rendered add-to-cart button appearance for both 1x1 and 2x2 cards. */
@media (max-width: 520px) {
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > * {
    display: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > .the-grid-mobile-primary-action,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons .the-grid-mobile-primary-action {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 34px !important;
    inline-size: 34px !important;
    block-size: 34px !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border: 1px solid #d6dbd7 !important;
    border-radius: 9px !important;
    background: #f5f6f5 !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    text-decoration: none !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > .the-grid-mobile-primary-action::before,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons .the-grid-mobile-primary-action::before {
    content: "" !important;
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    background-color: #7a817b !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M5 7.75h14l-1.2 10.5H6.2L5 7.75Zm2 0 2.1-3.4h5.8L17 7.75M9.4 11.2v2.8m5.2-2.8v2.8'/%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='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M5 7.75h14l-1.2 10.5H6.2L5 7.75Zm2 0 2.1-3.4h5.8L17 7.75M9.4 11.2v2.8m5.2-2.8v2.8'/%3E%3C/svg%3E") center / contain no-repeat !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > .the-grid-mobile-primary-action :is(svg,i,span,em),
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons .the-grid-mobile-primary-action :is(svg,i,span,em) {
    display: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > .the-grid-mobile-primary-action:hover,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > .the-grid-mobile-primary-action:focus,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > .the-grid-mobile-primary-action:active {
    background: #eef0ee !important;
    border-color: #cdd3ce !important;
    box-shadow: none !important;
    outline: none !important;
  }
}


/* v2.6 / 0.2.118.3 — MOBILE ONLY: defeat legacy 86px normal-card action geometry.
   The old catalogue stylesheet has a higher-specificity selector for ordinary
   tiles. Mirror that selector here with .the-grid-mobile-v2 so the complete
   action shell is genuinely square, not merely a square icon inside a wide box. */
@media (max-width: 520px) {
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopButtons {
    position: static !important;
    inset: auto !important;
    grid-area: action !important;
    justify-self: end !important;
    align-self: end !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 34px !important;
    inline-size: 34px !important;
    block-size: 34px !important;
    width: 34px !important;
    height: 34px !important;
    min-inline-size: 34px !important;
    min-block-size: 34px !important;
    max-inline-size: 34px !important;
    max-block-size: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    aspect-ratio: 1 / 1 !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopButtons > .the-grid-mobile-primary-action,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopButtons > a.button.the-grid-mobile-primary-action,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopButtons > button.the-grid-mobile-primary-action {
    position: relative !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 34px !important;
    inline-size: 34px !important;
    block-size: 34px !important;
    width: 34px !important;
    height: 34px !important;
    min-inline-size: 34px !important;
    min-block-size: 34px !important;
    max-inline-size: 34px !important;
    max-block-size: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid #d6dbd7 !important;
    border-radius: 9px !important;
    background: #f5f6f5 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    white-space: normal !important;
    overflow: hidden !important;
    box-shadow: none !important;
    transform: none !important;
    aspect-ratio: 1 / 1 !important;
  }
}


/* v2.7 / 0.2.119.0 — MOBILE ONLY visual consistency pass. */
@media (max-width: 520px) {
  /* Dark grey copy across mobile catalogue cards. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 a,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .woocommerce-loop-product__title,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .woocommerce-loop-product__title > a,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .sku_oe2,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 :is(.rey-loopPrice,.price) {
    color: #343936 !important;
  }

  /* Mobile wishlist temporarily disabled. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 :is(
    .rey-wishlistBtn,
    .rey-wishlistAdd,
    .tinvwl_add_to_wishlist_button,
    .the-grid-wishlist-slot,
    [class*="wishlist"]
  ) {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* Remove the grey separator/border around the image region. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail > a.woocommerce-loop-product__link,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail > a.woocommerce-loop-product__link > div {
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }

  /* One footer structure for both card sizes: title, price, then meta + action. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-loopDetails {
    grid-template-columns: minmax(0,1fr) 44px !important;
    grid-template-rows: auto auto auto !important;
    grid-template-areas:
      "title title"
      "price price"
      "meta action" !important;
    column-gap: 8px !important;
    row-gap: 8px !important;
    min-height: 0 !important;
    align-content: start !important;
    overflow: visible !important;
  }

  /* Same title size on 1x1 and 2x2, with a little more breathing room before the lower rule/content. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .woocommerce-loop-product__title,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .woocommerce-loop-product__title {
    height: auto !important;
    max-height: 40px !important;
    min-height: 36px !important;
    margin: 0 0 3px !important;
    padding: 0 0 4px !important;
    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 650 !important;
    border-bottom: 0 !important;
    color: #343936 !important;
  }

  /* Same price size on all mobile cards and always left aligned. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 :is(.rey-loopPrice,.price),
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 :is(.rey-loopPrice,.price) {
    grid-area: price !important;
    position: static !important;
    justify-self: start !important;
    align-self: start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    text-align: left !important;
    font-size: 17px !important;
    line-height: 1.05 !important;
    color: #343936 !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 :is(.rey-loopPrice,.price) .price-suffix {
    color: #737a75 !important;
  }

  /* Keep metadata clear of the action shell and allow all SKU/OE lines to show. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .sku_oe2 {
    grid-area: meta !important;
    position: relative !important;
    z-index: 2 !important;
    align-self: center !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 6px 0 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    background: transparent !important;
    color: #505651 !important;
  }

  /* Single mobile action geometry, with no inherited white/wide shell. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopButtons,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-loopButtons {
    grid-area: action !important;
    position: static !important;
    justify-self: end !important;
    align-self: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 40px !important;
    inline-size: 40px !important;
    block-size: 40px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > .the-grid-mobile-primary-action,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > a.button.the-grid-mobile-primary-action,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > button.the-grid-mobile-primary-action,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopButtons > .the-grid-mobile-primary-action,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-loopButtons > .the-grid-mobile-primary-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 40px !important;
    inline-size: 40px !important;
    block-size: 40px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border: 1px solid #cfd4d0 !important;
    border-radius: 9px !important;
    background: #ecefed !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transform: none !important;
  }

  /* 1.3x larger basket glyph: 17px -> 22px. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > .the-grid-mobile-primary-action::before,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons .the-grid-mobile-primary-action::before,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopButtons > .the-grid-mobile-primary-action::before {
    content: "" !important;
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    background-color: #777e79 !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M5 7.75h14l-1.2 10.5H6.2L5 7.75Zm2 0 2.1-3.4h5.8L17 7.75M9.4 11.2v2.8m5.2-2.8v2.8'/%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='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M5 7.75h14l-1.2 10.5H6.2L5 7.75Zm2 0 2.1-3.4h5.8L17 7.75M9.4 11.2v2.8m5.2-2.8v2.8'/%3E%3C/svg%3E") center / contain no-repeat !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopButtons > .the-grid-mobile-primary-action :is(svg,i,span,em) {
    display: none !important;
  }
}


/* v2.7 / 0.2.119.1 — MOBILE ONLY: larger, clearer product imagery with tighter media padding. */
@media (max-width: 520px) {
  /* Give standard 1x1 tiles a little more media height so the larger product
     image still has clean breathing room rather than feeling cropped. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-productThumbnail {
    flex-basis: 156px !important;
    height: 156px !important;
    min-height: 156px !important;
  }

  /* Feature tile gets a modest increase rather than returning to the old oversized block. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-productThumbnail {
    flex-basis: min(66vw, 350px) !important;
    height: min(66vw, 350px) !important;
    min-height: min(66vw, 350px) !important;
  }

  /* Reduce the image inset itself. Keep 2px so white-background product shots
     do not visually crash into the rounded card edge. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail img,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail .rey-thumbImg,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail img[data-lazy-hidden],
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-productThumbnail img,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-productThumbnail .rey-thumbImg {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 2px !important;
    object-fit: contain !important;
    object-position: center !important;
  }
}


/* v2.8 / 0.2.119.2 — MOBILE ONLY: disciplined information stack + fixed cart column.
   Both feature and standard tiles use Title -> SKU/OE -> Price on the left,
   while the cart occupies one fixed square column on the right spanning meta+price. */
@media (max-width: 520px) {
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-loopDetails,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopDetails {
    grid-template-columns: minmax(0,1fr) 42px !important;
    grid-template-rows: auto auto auto !important;
    grid-template-areas:
      "title title"
      "meta action"
      "price action" !important;
    column-gap: 10px !important;
    row-gap: 5px !important;
    align-content: start !important;
    align-items: start !important;
    min-height: 0 !important;
    padding: 10px 11px 11px !important;
    overflow: visible !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .woocommerce-loop-product__title,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .woocommerce-loop-product__title {
    grid-area: title !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 0 5px !important;
    justify-self: stretch !important;
    text-align: left !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .sku_oe2,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .sku_oe2 {
    grid-area: meta !important;
    justify-self: start !important;
    align-self: start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    text-align: left !important;
    background: transparent !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .sku_oe2 > *,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .sku_oe2 > * {
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-align: left !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 :is(.rey-loopPrice,.price),
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 :is(.rey-loopPrice,.price) {
    grid-area: price !important;
    justify-self: start !important;
    align-self: start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 1px 0 0 !important;
    text-align: left !important;
  }

  /* Own the entire action shell at the strongest mobile-card specificity.
     The cart spans the meta + price rows and sits at their top-right edge. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails > .rey-loopButtons,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-loopDetails > .rey-loopButtons,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopDetails > .rey-loopButtons {
    grid-area: action !important;
    position: static !important;
    inset: auto !important;
    justify-self: end !important;
    align-self: start !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    flex: 0 0 40px !important;
    inline-size: 40px !important;
    block-size: 40px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails > .rey-loopButtons > * {
    display: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails > .rey-loopButtons > .the-grid-mobile-primary-action,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails > .rey-loopButtons > a.button.the-grid-mobile-primary-action,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails > .rey-loopButtons > button.the-grid-mobile-primary-action,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-loopDetails > .rey-loopButtons > .the-grid-mobile-primary-action,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopDetails > .rey-loopButtons > .the-grid-mobile-primary-action {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 40px !important;
    inline-size: 40px !important;
    block-size: 40px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid #cfd4d0 !important;
    border-radius: 9px !important;
    background: #ecefed !important;
    box-shadow: none !important;
    transform: none !important;
  }
}


/* v2.9 / 0.2.119.3 — MOBILE ONLY: 5px image inset + small-card metadata alignment. */
@media (max-width: 520px) {
  /* Requested consistent image breathing room on both standard and feature tiles. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail img,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail .rey-thumbImg,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-productThumbnail img[data-lazy-hidden],
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-productThumbnail img,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-productThumbnail .rey-thumbImg {
    box-sizing: border-box !important;
    padding: 5px !important;
  }

  /* Small tiles only: keep SKU and OE together horizontally, drop them slightly,
     and cancel the inherited inner inset so the metadata keys to the same visual
     left edge as title and price. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .sku_oe2 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    column-gap: 7px !important;
    row-gap: 1px !important;
    width: calc(100% + 15px) !important;
    max-width: calc(100% + 15px) !important;
    margin: 3px 0 0 -15px !important;
    padding: 0 !important;
    text-align: left !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .sku_oe2 > * {
    display: inline-flex !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    text-align: left !important;
  }
}


/* v3.0 / 0.2.119.4 — MOBILE ONLY: 4px small-meta nudge + one canonical cart build.
   The feature (2x2) cart is the reference; standard small tiles now use exactly
   the same action shell and basket glyph rather than maintaining a parallel variant. */
@media (max-width: 520px) {
  /* Small tile only: move current SKU/OE position 4px back to the right. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .sku_oe2 {
    width: calc(100% + 11px) !important;
    max-width: calc(100% + 11px) !important;
    margin-left: -11px !important;
  }

  /* Canonical mobile cart shell — identical on small and feature tiles. */
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails > .rey-loopButtons,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-loopDetails > .rey-loopButtons,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopDetails > .rey-loopButtons {
    position: static !important;
    inset: auto !important;
    justify-self: end !important;
    align-self: start !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 40px !important;
    inline-size: 40px !important;
    block-size: 40px !important;
    width: 40px !important;
    height: 40px !important;
    min-inline-size: 40px !important;
    min-block-size: 40px !important;
    max-inline-size: 40px !important;
    max-block-size: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails > .rey-loopButtons > * {
    display: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails > .rey-loopButtons > .the-grid-mobile-primary-action,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails > .rey-loopButtons > a.button.the-grid-mobile-primary-action,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails > .rey-loopButtons > button.the-grid-mobile-primary-action,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-loopDetails > .rey-loopButtons > .the-grid-mobile-primary-action,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopDetails > .rey-loopButtons > .the-grid-mobile-primary-action {
    position: static !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 40px !important;
    inline-size: 40px !important;
    block-size: 40px !important;
    width: 40px !important;
    height: 40px !important;
    min-inline-size: 40px !important;
    min-block-size: 40px !important;
    max-inline-size: 40px !important;
    max-block-size: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border: 1px solid #cfd4d0 !important;
    border-radius: 9px !important;
    background: #ecefed !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    text-decoration: none !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transform: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails > .rey-loopButtons > .the-grid-mobile-primary-action::before,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2.the-grid-feature-2x2 .rey-loopDetails > .rey-loopButtons > .the-grid-mobile-primary-action::before,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopDetails > .rey-loopButtons > .the-grid-mobile-primary-action::before {
    content: "" !important;
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
    background-color: #777e79 !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M5 7.75h14l-1.2 10.5H6.2L5 7.75Zm2 0 2.1-3.4h5.8L17 7.75M9.4 11.2v2.8m5.2-2.8v2.8'/%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='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M5 7.75h14l-1.2 10.5H6.2L5 7.75Zm2 0 2.1-3.4h5.8L17 7.75M9.4 11.2v2.8m5.2-2.8v2.8'/%3E%3C/svg%3E") center / contain no-repeat !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails > .rey-loopButtons > .the-grid-mobile-primary-action::after {
    content: none !important;
    display: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .rey-loopDetails > .rey-loopButtons > .the-grid-mobile-primary-action :is(svg,i,span,em) {
    display: none !important;
  }
}


/* v3.1 / 0.2.119.5 — MOBILE ONLY: catalogue controls cleanup.
   GRID marks only the live toolbar containing Woo ordering + its View control,
   preventing this presentation layer from leaking into desktop/tablet. */
@media (max-width: 520px) {
  body.the-grid-catalog-active .rey-siteMain .the-grid-mobile-toolbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 34px minmax(132px, auto) !important;
    grid-auto-flow: row !important;
    align-items: center !important;
    column-gap: 8px !important;
    row-gap: 7px !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 9px 2px 10px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(63,67,64,.08) !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain .the-grid-mobile-toolbar > .woocommerce-result-count {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    width: auto !important;
    margin: 0 0 1px !important;
    padding: 0 !important;
    color: #7a817b !important;
    font-size: 10px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
  }

  /* Any remaining direct toolbar control is the filter control. */
  body.the-grid-catalog-active .rey-siteMain .the-grid-mobile-toolbar > :not(.woocommerce-result-count):not(.the-grid-view-control):not(.woocommerce-ordering) {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    align-self: center !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.the-grid-catalog-active .rey-siteMain .the-grid-mobile-toolbar > :not(.woocommerce-result-count):not(.the-grid-view-control):not(.woocommerce-ordering) :is(button,a),
  body.the-grid-catalog-active .rey-siteMain .the-grid-mobile-toolbar > :is(button,a):not(.the-grid-view-control__button) {
    min-height: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #424744 !important;
    font-size: 11px !important;
    font-weight: 680 !important;
    line-height: 1 !important;
  }

  body.the-grid-catalog-active .rey-siteMain .the-grid-mobile-toolbar > .the-grid-view-control {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    align-self: center !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
  }

  body.the-grid-catalog-active .rey-siteMain .the-grid-mobile-toolbar > .the-grid-view-control .the-grid-view-control__button {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(63,67,64,.13) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #68706a !important;
  }

  body.the-grid-catalog-active .rey-siteMain .the-grid-mobile-toolbar > .woocommerce-ordering {
    grid-column: 3 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    align-self: center !important;
    width: auto !important;
    min-width: 132px !important;
    max-width: 100% !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.the-grid-catalog-active .rey-siteMain .the-grid-mobile-toolbar > .woocommerce-ordering select {
    width: 100% !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 25px 0 10px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(63,67,64,.13) !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    color: #424744 !important;
    box-shadow: none !important;
    font-size: 10px !important;
    font-weight: 680 !important;
    line-height: 32px !important;
    text-transform: uppercase !important;
  }
}


/* v3.2 / 0.2.119.6 — MOBILE ONLY: one GRID-owned cart slot + stray action-text purge.
   The 2x2 cart is the visual reference and every mobile card now renders through
   the same slot/wrapper/button geometry, independent of Rey's native nesting. */
@media (max-width: 520px) {
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .the-grid-mobile-cart-slot {
    grid-area: action !important;
    position: static !important;
    justify-self: end !important;
    align-self: start !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .the-grid-mobile-cart-slot > .rey-loopButtons {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .the-grid-mobile-cart-slot > .rey-loopButtons > * {
    display: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .the-grid-mobile-cart-slot > .rey-loopButtons > .the-grid-mobile-primary-action {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border: 1px solid #cfd4d0 !important;
    border-radius: 9px !important;
    background: #ecefed !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transform: none !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .the-grid-mobile-cart-slot > .rey-loopButtons > .the-grid-mobile-primary-action::before {
    content: "" !important;
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
    background-color: #777e79 !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M5 7.75h14l-1.2 10.5H6.2L5 7.75Zm2 0 2.1-3.4h5.8L17 7.75M9.4 11.2v2.8m5.2-2.8v2.8'/%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='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M5 7.75h14l-1.2 10.5H6.2L5 7.75Zm2 0 2.1-3.4h5.8L17 7.75M9.4 11.2v2.8m5.2-2.8v2.8'/%3E%3C/svg%3E") center / contain no-repeat !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .the-grid-mobile-cart-slot > .rey-loopButtons > .the-grid-mobile-primary-action::after,
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2 .the-grid-mobile-cart-slot > .rey-loopButtons > .the-grid-mobile-primary-action :is(svg,i,span,em) {
    content: none !important;
    display: none !important;
  }
}


/* v3.3 / 0.2.119.7 — MOBILE ONLY: lock small-tile metadata row height so
   optional OE content cannot push the price lower than cards without OE. */
@media (max-width: 520px) {
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .rey-loopDetails {
    grid-template-rows: auto 27px auto !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) .sku_oe2 {
    min-height: 27px !important;
    height: 27px !important;
    max-height: 27px !important;
    align-self: start !important;
    align-content: start !important;
    overflow: visible !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2):not(.the-grid-shape-wide):not(.the-grid-shape-tall) :is(.rey-loopPrice,.price) {
    align-self: start !important;
    margin-top: 0 !important;
  }
}


/* v2.15 / 0.2.119.9 — MOBILE ONLY: hard two-line title clip on small tiles.
   Prevents any pixels from a third title line bleeding beneath the ellipsis. */
@media (max-width: 520px) {
  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2) .woocommerce-loop-product__title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    box-sizing: border-box !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    overflow: hidden !important;
    overflow-y: hidden !important;
    line-height: 18px !important;
    clip-path: inset(0) !important;
    contain: paint !important;
  }

  body.the-grid-catalog-active .rey-siteMain ul.products > li.product.the-grid-mobile-v2:not(.the-grid-feature-2x2) .woocommerce-loop-product__title > a {
    display: inline !important;
    max-height: 36px !important;
    line-height: 18px !important;
    overflow: hidden !important;
  }
}
