/* Decorative viewport background: existing type, media and prices stay unchanged. */
body:has(.shop-products),
body:has(.product-shell-real) {
  isolation: isolate;
  background-color: #f3ecdf;
}

body:has(.shop-products)::before,
body:has(.product-shell-real)::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: url("/assets/boutique-black-friday.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Reveal the artwork through the existing large sections, not through cards. */
body:has(.shop-products) :is(
  .shop-universes,
  .shop-products,
  .shop-collections,
  .shop-manifesto
),
body:has(.product-shell-real) :is(
  .nc-shop,
  .product-shell-real,
  .product-cross-sell,
  .product-details
) {
  background: transparent;
}

/* Keep the current cream text readable without changing its typography or box. */
body:has(.shop-products) .shop-manifesto-copy {
  background-color: var(--green, #073f32);
}

body:has(.shop-products) .shop-product-card {
  background-color: #fff;
}

/* With the hero removed, the existing header occupies its own normal-flow space. */
body:has(.shop-products) > .header {
  position: sticky;
}

body:has(.product-shell-real) :is(.product-info, .product-detail-grid article) {
  background-color: rgb(243 236 223 / 96%);
}
