/* ==========================================================================
   Games slider block (Swiper-based)
   ========================================================================== */

.games-slider {
  position: relative;
  margin-top: var(--space-lg);
}

.games-slider__swiper {
  overflow: hidden;
}

/* Baseline (pre-Swiper) layout: a native horizontal-scroll row, so the
   slider still works if the Swiper CDN script is slow or unavailable.
   Swiper.js takes over this markup once it initializes. */
.games-slider__swiper:not(.swiper-initialized) .swiper-wrapper {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.25rem;
}

.games-slider__swiper:not(.swiper-initialized) .swiper-slide {
  flex: 0 0 auto;
  width: 44vw;
  max-width: 200px;
  scroll-snap-align: start;
}

.game-card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  background: var(--color-surface);
  border-radius: var(--radius-card);
  padding: 0.75rem;
  height: 100%;
}

.game-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1; /* matches source images exactly: nothing is cropped */
  border-radius: var(--radius-card-sm);
  overflow: hidden;
  background: var(--color-bg-dark);
}

.game-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.game-card__name {
  color: var(--color-white);
  font-weight: var(--fw-semibold);
  font-size: 0.9375rem;
  text-align: center;
  padding: 0 0.25rem;
}

.game-card__cta {
  margin-top: auto;
}

.games-slider__nav {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: var(--space-lg);
}

.games-slider__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-pill);
  background: var(--color-neutral-btn);
  color: var(--color-gold);
  transition: background var(--transition-fast);
}

.games-slider__arrow:hover,
.games-slider__arrow:focus-visible {
  background: var(--color-neutral-btn-hover);
}

.games-slider__arrow svg {
  width: 20px;
  height: 20px;
}

.games-slider__arrow.swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}

@media (min-width: 768px) {
  .game-card {
    padding: 1rem;
  }

  .game-card__name {
    font-size: 1rem;
  }
}
