/* Scoped to the nine homepage collections; product/project galleries unchanged. */
.home-collection-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.home-collection-grid .home-collection-visual { aspect-ratio: 4 / 3; background: #f4f3ef; }
.home-collection-grid .home-collection-visual > img { width: 100%; height: 100%; object-fit: contain; }
.home-collection-grid .home-collection-visual > .home-collection-project-photo { object-fit: cover; object-position: right center; }
.home-collection-grid .home-product-overlay { background: rgba(0, 0, 0, .18); }
.home-collection-grid .home-collection-touch-label { display: none; }
.home-collection-grid .home-collection-card--pending .home-product-overlay { opacity: 1; background: none; color: #292a24; }
.home-collection-grid .home-collection-card--pending .home-product-overlay strong { font-size: clamp(20px, 2.2vw, 29px); }
@media (hover: none), (max-width: 820px) {
  .home-collection-grid .home-product-overlay { display: none; }
  .home-collection-grid .home-collection-visual { aspect-ratio: auto; }
  .home-collection-grid .home-collection-touch-label { display: flex; position: static; inset: auto; align-items: center; justify-content: center; min-width: 0; max-width: none; min-height: 48px; height: auto; margin: 0; padding: 10px 8px; background: rgba(32, 32, 29, .82); color: #fff; font-size: 12px; line-height: 1.3; text-align: center; }
  .home-collection-grid .home-collection-visual > img { height: auto; aspect-ratio: 4 / 3; padding: 0; }
  .home-collection-grid .home-product-card:hover img { filter: none; }
  .home-collection-grid .home-collection-card--pending .home-collection-touch-label { inset: 0; display: flex; align-items: center; justify-content: center; padding: 15px; background: transparent; color: #292a24; }
}
@media (max-width: 820px) {
  .home-collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-collection-grid .home-product-overlay, .home-collection-grid img { transition: none; }
}

/* Customer catalogue: retain the complete photographed product across batches. */
.catalogue-grid.product-grid .product-card.catalogue-piece .catalogue-piece-media {
  background: #fff;
}
.catalogue-grid.product-grid .product-card.catalogue-piece .catalogue-piece-media > img:not(.catalogue-product-scene),
.catalogue-grid.product-grid .product-card.catalogue-piece .catalogue-piece-media > picture > img {
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  object-fit: contain;
  object-position: center;
  padding: 8px;
  transform: none;
}

/* A single photograph needs neither a duplicate thumbnail nor inert arrows. */
.product-detail .product-thumbnail-strip:has(.product-thumbnail-grid > .product-thumbnail:only-child),
.product-detail .product-gallery:has(.product-thumbnail-grid > .product-thumbnail:only-child) .product-gallery-arrow {
  display: none;
}

/* Reviewed product copy only; ordinary product pages retain their existing layout. */
.product-detail--edited .product-editorial { min-width: 0; }
.product-detail--edited .product-editorial h2 { margin: 24px 0 10px; font: inherit; font-size: 15px; font-weight: 600; line-height: 1.5; }
.product-detail--edited .product-editorial ul { padding-left: 19px; margin: 0 0 22px; font-size: 14px; line-height: 1.7; }
.product-detail--edited .product-editorial li + li { margin-top: 5px; }
.product-detail--edited .product-editorial .product-selection-note { margin: 0; padding: 16px 0; border-top: 1px solid #d6d5ce; font-size: 13px; line-height: 1.65; }
.product-detail--edited .product-selection-note strong { display: block; margin-bottom: 6px; color: #292a24; font-weight: 600; }
.product-detail--edited .product-detail-list dd { min-width: 0; overflow-wrap: anywhere; }
