/**
 * games-slider.css
 * Eine Reihe von Spielkarten mit nativem horizontalem Scroll + Scroll-Snap.
 * Kein JS/CDN erforderlich, funktioniert auf allen Geräten identisch.
 */
.games-slider {
  margin-top: var(--space-md);
  padding-bottom: var(--space-sm-md);
}

.games-slider__track {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: var(--space-lg);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: var(--space-sm);
  scrollbar-width: thin;
  scrollbar-color: var(--color-accent-gold) var(--color-surface);
}

.games-slider__track::-webkit-scrollbar {
  height: 6px;
}

.games-slider__track::-webkit-scrollbar-track {
  background: var(--color-surface);
  border-radius: var(--radius-pill);
}

.games-slider__track::-webkit-scrollbar-thumb {
  background: var(--color-accent-gold);
  border-radius: var(--radius-pill);
}

.game-card {
  flex: 0 0 auto;
  width: var(--game-card-width);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.game-card__media {
  aspect-ratio: 1 / 1;
  border-radius: var(--radius-card);
  overflow: hidden;
  background: var(--color-surface);
}

.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__name {
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  text-align: center;
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.game-card__play {
  padding: 0.5rem 1rem;
  font-size: var(--fs-small);
}
