/* Match the Photo Packs catalog: natural image proportions and responsive cards. */
body[data-page="collections"] .collections-groups,
body[data-page="birthday"] .birthday-grid,
body[data-page="maternity"] .birthday-grid,
body[data-page="travel"] .travel-pack-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  gap: 32px 24px;
}

body[data-page="collections"] .collection-group-photo,
body[data-page="birthday"] .birthday-card-image,
body[data-page="maternity"] .birthday-card-image,
body[data-page="travel"] .travel-pack-grid .card-image {
  display: block;
  height: auto;
  min-height: 0;
  aspect-ratio: auto;
  overflow: hidden;
  background: #e7e4da;
}

body[data-page="collections"] .collection-group-photo img,
body[data-page="birthday"] .birthday-card-image img,
body[data-page="maternity"] .birthday-card-image img,
body[data-page="travel"] .travel-pack-grid .card-image img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: none;
  aspect-ratio: auto 2 / 3;
  object-fit: contain;
  object-position: 50% 35%;
  transform: none;
}

body[data-page="travel"] .travel-pack-grid .card-info h3 {
  font-size: 28px;
}

@media (max-width: 1199px) {
  body[data-page="collections"] .collections-groups,
  body[data-page="birthday"] .birthday-grid,
  body[data-page="maternity"] .birthday-grid,
  body[data-page="travel"] .travel-pack-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 899px) {
  body[data-page="collections"] .collections-groups,
  body[data-page="birthday"] .birthday-grid,
  body[data-page="maternity"] .birthday-grid,
  body[data-page="travel"] .travel-pack-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 559px) {
  body[data-page="collections"] .collections-groups,
  body[data-page="birthday"] .birthday-grid,
  body[data-page="maternity"] .birthday-grid,
  body[data-page="travel"] .travel-pack-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Related pack covers keep their full portrait composition at every breakpoint. */
.related-packs .card-image {
  height: auto;
  min-height: 0;
  aspect-ratio: auto;
}

.related-packs .card-image img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: none;
  aspect-ratio: auto 2 / 3;
  object-fit: contain;
  transform: none;
}
