/* Products boot stage 15-16: lock first-paint geometry and prevent boot scroll drift. */
html.products-boot-pending,
html.products-boot-pending body {
  scroll-behavior: auto !important;
  overflow-anchor: none !important;
}

body[data-page='products'] [data-catalog-hero] {
  box-sizing: border-box;
  width: 100%;
  aspect-ratio: 21 / 3;
  contain: layout paint;
}

body[data-page='products'] [data-catalog-hero] > .catalog-hero__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
}

body[data-page='products'] [data-catalog-grid] {
  min-width: 0;
  max-width: 100%;
}

body[data-page='products'] [data-catalog-grid] > .product-card {
  min-width: 0;
  max-width: 100%;
}

body[data-page='products'] [data-catalog-grid] .product-card__media {
  position: relative;
  width: 100%;
  height: auto;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 3 / 4;
  contain: layout paint;
}

body[data-page='products'] [data-catalog-grid] .product-card__media > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
}

body[data-page='products'] [data-catalog-grid] .product-card__placeholder {
  min-height: 0;
}
