/* blocks/games-slider/games-slider.css */

.games-slider {
  position: relative;
}

.games-slider__swiper {
  overflow: hidden;
}

/* Fallback grid so the slider still looks correct before Swiper's JS
   upgrades the markup. Scoped to :not(.swiper-initialized) so that once
   Swiper adds that class to the root element, Swiper's own flex-based
   layout (with JS-calculated slide widths) takes over cleanly instead of
   fighting this fallback for control of .swiper-wrapper's display mode. */
.games-slider__swiper:not(.swiper-initialized) .swiper-wrapper {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(140px, 1fr);
  gap: 1rem;
}

.games-slider__swiper:not(.swiper-initialized) .swiper-slide {
  width: auto;
}

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

.game-card__media {
  border-radius: var(--radius-card);
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: var(--color-bg-primary);
}

.game-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-base);
}

.game-card:hover .game-card__media img {
  transform: scale(1.05);
}

.game-card__title {
  color: var(--color-white);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-small);
}

.game-card__play {
  padding-block: 0.6rem;
  font-size: var(--font-size-small);
}

.games-slider__nav {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.games-slider__prev,
.games-slider__next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--color-btn-border);
  color: var(--color-white);
  transition: background var(--transition-base), transform var(--transition-base);
}

.games-slider__prev:hover,
.games-slider__next:hover,
.games-slider__prev:focus-visible,
.games-slider__next:focus-visible {
  background: rgba(255, 179, 117, 0.15);
  transform: translateY(-2px);
}

.games-slider__prev.swiper-button-disabled,
.games-slider__next.swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}
