/* WonderRivet 1.1.16: one banner shape for every catalog card. */
.catalog-grid.catalog-all > .product-card > .product-card-art,
.catalog-grid.catalog-games > .product-card > .product-card-art,
.catalog-grid.catalog-apps > .product-card > .product-card-art {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: 1024 / 500;
  flex: 0 0 auto;
  overflow: hidden;
  padding: 0;
}

.catalog-grid .product-card > .product-card-art > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center;
}

/* Preserve Maisie's whole figure and all title artwork. */
.catalog-grid .product-card-maisie > .product-card-art > img {
  object-fit: contain;
}
.catalog-grid .product-card-joe > .product-card-art > img {
  object-fit: cover;
  object-position: 50% 48%;
}
.catalog-grid .product-card-fire > .product-card-art { background: #064438; }
.catalog-grid .product-card-puff-pact > .product-card-art { background: #e9e1fc; }
.catalog-grid .product-card-gap > .product-card-art { background: #092137; }
.catalog-grid .product-card-maisie > .product-card-art { background: #355f3b; }

/* These three banners are composed from the existing artwork and live text. */
.catalog-grid .product-card .blot-card-art,
.catalog-grid .product-card .traitor-card-art,
.catalog-grid .product-card .calendar-card-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
}
.catalog-grid .product-card .blot-card-art {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 4%;
  padding: 5% 7%;
}
.catalog-grid .blot-card-art img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.catalog-grid .blot-card-art > span {
  min-width: 0;
  font-size: clamp(.95rem, 2.2vw, 1.65rem);
  line-height: 1.3;
}
.catalog-grid .product-card .traitor-card-art {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: center;
  justify-items: center;
  gap: .35rem;
  padding: 4% 6%;
}
.catalog-grid .traitor-card-art img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.catalog-grid .traitor-card-art > span {
  font-size: clamp(.7rem, 1.5vw, .9rem);
  line-height: 1.35;
  padding: .2rem .65rem;
  max-width: 100%;
}
.catalog-grid .product-card .calendar-card-art {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 7%;
  padding: 7% 9%;
}
.catalog-grid .calendar-card-art > img {
  display: block;
  width: 100%;
  height: auto;
  min-width: 0;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.catalog-grid .calendar-card-art > p {
  min-width: 0;
  margin: 0;
  font-size: clamp(.95rem, 2.3vw, 1.8rem);
  line-height: 1.3;
  overflow-wrap: normal;
}

.launch-home .home-feature-image,
.homepage-gap .featured-image {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 1024 / 500;
  align-self: center;
  padding: 0;
  overflow: hidden;
}
.launch-home .home-feature-image > img,
.homepage-gap .featured-image > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
