/* Complete the photographic family without changing the approved hero. */
.catalogue-photo {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: var(--cream);
  aspect-ratio: var(--cell-w) / var(--cell-h);
}
.catalogue-photo > img {
  position: absolute;
  max-width: none;
  width: calc(var(--sheet-w) / var(--cell-w) * 100%);
  height: auto;
  left: calc(var(--cell-x) / var(--cell-w) * -100%);
  top: calc(var(--cell-y) / var(--cell-h) * -100%);
}
/* Only the blank margins blend. The reviewed product bounds stay clear. */
.catalogue-photo::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, var(--cream), transparent 2%, transparent 98%, var(--cream)),
    linear-gradient(0deg, var(--cream), transparent 2%, transparent 98%, var(--cream));
}
.single-grid .product-photo {
  padding: 0;
  background: var(--cream);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.favourite-art.catalogue-art {
  overflow: visible;
  border-radius: 0;
  background: var(--cream);
}
.studio-section .product-photo { border-radius: 0; }
.studio-section .product-card h3 { margin-top: 14px; }
.studio-section .shake-flavours h3,
.studio-section .drink-list h3 { margin-top: 0; }
.studio-section .sherbet-pair { gap: 6px; }
@media (max-width: 700px) {
  .single-grid { gap: 22px 10px; }
  .studio-section .single-grid .product-card h3 { font-size: 14px; }
}
