/* Each grid row shares its height; title text is never clipped or measured in JS. */
@media (max-width: 767px) {
  /* The parent container already supplies the phone's 16px page gutter. */
  html body .rcs-container .rcs-product-results > ul.products.rcs-product-grid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
html body ul.products.rcs-product-grid { align-items: stretch !important; }
html body ul.products li.rcs-product-card {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  height: auto !important;
  min-width: 0;
}
html body ul.products li.rcs-product-card .rcs-product-card__link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0;
}
html body ul.products li.rcs-product-card .rcs-product-card__media { flex: 0 0 auto !important; }
html body ul.products li.rcs-product-card .rcs-product-card__info {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0;
}
html body ul.products li.rcs-product-card .rcs-product-card__title { margin-bottom: 0 !important; }
html body ul.products li.rcs-product-card .rcs-product-card__colour {
  margin-top: auto !important;
  padding-top: 13px !important;
  flex: 0 0 auto !important;
}
html body ul.products li.rcs-product-card .rcs-product-card__price {
  flex: 0 0 auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
html body ul.products li.rcs-product-card .rcs-product-card__title + .rcs-product-card__price { margin-top: auto !important; padding-top: 13px; }
html body ul.products li.rcs-product-card > .rcx-card-buy { flex: 0 0 auto !important; }

/* One visibility state controls the fixed purchase replica. Only composited
 * opacity/transform animate; neither the page nor the bottom nav changes size. */
html body.single-product [data-rcs-pdp-sticky] {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translate3d(0, 12px, 0) !important;
  transition: opacity 170ms ease-out, transform 200ms cubic-bezier(.2,.75,.25,1), visibility 0s linear 200ms !important;
  will-change: opacity, transform;
}
html body.single-product [data-rcs-pdp-sticky].is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: 0s !important;
}
html body.single-product [data-rcs-pdp-sticky].is-inline-visible {
  visibility: hidden !important;
  transition: none !important;
}
@media (max-width: 1023px) {
  html body.single-product,
  html body.single-product.rcs-has-sticky-bar {
    padding-bottom: calc(var(--rcs-purchase-nav-offset, 71px) + 80px + var(--rcs-safe-bottom, 0px)) !important;
  }
  html body.single-product [data-rcs-pdp-sticky] {
    display: flex !important;
    position: fixed !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    bottom: var(--rcs-purchase-nav-offset, 71px) !important;
    border: 0 !important;
    border-top: 1px solid rgba(91,51,63,.14) !important;
  }
}
@media (min-width: 1024px) {
  html body.single-product [data-rcs-pdp-sticky] { display: none !important; }
}
html body.single-product:is(.rcs-minicart-open, .rcs-zoom-open) [data-rcs-pdp-sticky] {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
@media (prefers-reduced-motion: reduce) {
  html body.single-product [data-rcs-pdp-sticky] { transition: none !important; transform: none !important; }
}
