/* Ganamos uses a denser rail than the other rooms: retain logo circles for
   bundled brands and turn unknown providers into readable wordmark tiles. */
.hero-carousel .hero-slides {
  /* Keep the campaign canvas stable and show the complete source artwork. */
  aspect-ratio: 2820 / 729;
  background: #1a082b;
}
.hero-carousel .hero-slide img {
  object-fit: contain;
  object-position: center;
  background: #1a082b;
}
.game-card {
  position: relative;
  display: block;
  min-width: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 1.25rem;
  isolation: isolate;
}
.game-card > img,
.game-card > .game-image {
  width: 100%;
  height: 100% !important;
  aspect-ratio: auto;
  padding: 2px;
  border-radius: inherit;
  object-fit: contain;
  object-position: center;
  background: #270a3d;
}
.game-card-info {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  min-height: 2.7rem;
  padding: 1.45rem .65rem .45rem;
  background: linear-gradient(180deg, transparent, rgba(20, 3, 38, .96) 68%);
  pointer-events: none;
}
.game-card-info strong { font-size: .9rem; }
.game-card .play-overlay {
  inset: 0;
  z-index: 3;
  width: 3rem;
  height: 3rem;
  margin: auto;
  transform: scale(.75);
}
.game-card:hover .play-overlay,
.game-card:focus-visible .play-overlay { transform: scale(1); }
.provider-tab .provider-logo {
  width: min(5.55rem, 100%);
  height: 3.6rem;
  min-height: 3.6rem;
  padding: .35rem .45rem;
  border-radius: .6rem;
  background: linear-gradient(145deg, #4f216d, #19052c);
}
.provider-tab .provider-logo img { width: 100%; height: 100%; object-fit: contain; }
.provider-tab .provider-logo-identity { display: grid; grid-template-columns: 1.55rem minmax(0, 1fr); align-items: center; gap: .28rem; text-align: left; }
.provider-tab .provider-monogram { display: grid; place-items: center; width: 1.55rem; height: 1.55rem; border: 1px solid currentColor; border-radius: .42rem; background: #ffffff12; font-size: .56rem; font-weight: 950; letter-spacing: -.04em; }
.provider-tab .provider-wordmark {
  display: block;
  max-width: 100%;
  max-height: 3.3em;
  overflow: hidden;
  color: currentColor;
  font-size: .72rem;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -.01em;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}
@media (max-width: 950px) {
  .mobile-hero .hero-slides { aspect-ratio: 7 / 3; }
  .mobile-hero .hero-slide img {
    object-fit: contain;
    object-position: center;
    background: #1a082b;
  }
  .provider-tab .provider-logo-fallback {
    width: min(5.1rem, 100%);
    height: 3.45rem;
    min-height: 3.45rem;
  }
  .provider-tab .provider-logo { width: min(5.1rem, 100%); height: 3.45rem; min-height: 3.45rem; }
  .provider-tab .provider-logo-identity { grid-template-columns: 1.45rem minmax(0, 1fr); }
  .provider-tab .provider-monogram { width: 1.45rem; height: 1.45rem; }
  .provider-tab .provider-wordmark { font-size: .78rem; }
}
