/* Course originals are composed at 3:2. Keep the entire image at every size.
   A differently shaped upload is letterboxed, never cropped or stretched. */
body .course-grid .course-card-image,
body.course-experience-page .courses-page .course-card-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: #f5f3eb;
}
body .course-grid .course-card-image img,
body.course-experience-page .courses-page .course-card-image img,
body .course-grid .course-card:hover .course-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}
body.course-experience-page .course-detail-hero > img.course-detail-image {
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: 3 / 2;
  object-fit: contain;
  background: #f5f3eb;
  align-self: center;
}
body.course-experience-page .booking-course-summary > img {
  object-fit: contain;
  background: #f5f3eb;
}
/* Older native-home cards use course-cover instead of course-card-image. */
body .course-grid .course-cover,
body .course-grid.featured .course-cover {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  align-self: center;
  background: #f5f3eb;
}
body .course-grid .course-cover img,
body .course-grid .course-card:hover .course-cover img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}
