/* Shared media transition styles */
.media-slot {
  background: rgba(0, 0, 0, 0.06);
}

.media-slot img {
  opacity: 0;
  transition: opacity 280ms ease;
}

.media-slot.is-loaded img {
  opacity: 1;
}

.dc-card__media {
  background: rgba(0, 0, 0, 0.06);
}

/* Catalog cards: visible while loading (native progressive paint) */
.dc-card__media .media-fade-img {
  opacity: 1;
  transition: opacity 280ms ease, transform 0.8s var(--ease-out, ease);
}

.dc-card__media .media-fade-img.is-visible {
  opacity: 1;
}
