/* ==========================================================================
   Games-Slider-Block
   ========================================================================== */

.games-slider {
  position: relative;
  min-width: 0;
  margin-block-start: var(--space-h2-text);
  padding-block: 0.25rem;
  padding-inline: 0.1rem;
  --gs-slide-w: clamp(140px, 30vw, 190px);
  --gs-pad: 0.6rem;
  /* Bildhoehe = (Kartenbreite - beidseitiges Padding) * echtes Verhaeltnis 236/315 */
  --gs-img-h: calc((var(--gs-slide-w) - (2 * var(--gs-pad))) * 236 / 315);
}

.games-slider__slide {
  width: var(--gs-slide-w);
  height: auto;
  min-width: 0;
}

.game-card {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  background-color: var(--color-bg-dark);
  border-radius: var(--radius-card);
  padding: var(--gs-pad);
  height: 100%;
  min-width: 0;
}

.game-card__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 315 / 236;
  object-fit: contain;
  border-radius: calc(var(--radius-card) - 2px);
  background-color: var(--color-bg-primary);
}

.game-card__name {
  margin: 0;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
  color: var(--color-white);
  text-align: center;
}

/* "Jetzt Spielen"-Button unter dem Spielnamen — bleibt immer einzeilig
   (white-space:nowrap, reduziertes Padding), damit er in der schmalen
   Kartenbreite nicht umbricht. margin-block-start:auto haelt die Buttons
   quer durch den Slider auf gleicher Hoehe ausgerichtet. */
.game-card__cta {
  margin-block-start: auto;
  width: 100%;
  padding: 0.45rem 0.5rem;
  font-size: var(--font-size-small);
  white-space: nowrap;
}

/* Pfeile sitzen direkt auf den Bildkanten der Karten, vertikal auf die
   Bildmitte zentriert (nicht auf die ganze Karte inkl. Titelzeile) */
.games-slider__prev,
.games-slider__next {
  position: absolute;
  top: calc(var(--gs-pad) + (var(--gs-img-h) / 2));
  transform: translateY(-50%);
  z-index: 3;
  width: 32px;
  height: 32px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: rgba(7, 11, 29, 0.75);
  color: var(--color-accent-light);
}

.games-slider__prev {
  left: 0.35rem;
}

.games-slider__next {
  right: 0.35rem;
}

.games-slider__prev::after,
.games-slider__next::after {
  font-size: 0.95rem;
}

@media (min-width: 768px) {
  .games-slider__prev,
  .games-slider__next {
    width: 38px;
    height: 38px;
  }

  .games-slider__prev::after,
  .games-slider__next::after {
    font-size: 1.1rem;
  }
}
