/* ============================================================
   games.css — Games Lobby
   ============================================================ */
.filter-tabs { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-6); }
.filter-tab {
  font-family: var(--font-display); font-weight: 600; font-size: var(--text-base);
  color: var(--clr-text-muted); padding: var(--space-2) var(--space-5);
  border: 1px solid var(--clr-border); border-radius: var(--radius-pill);
  transition: all var(--duration) var(--ease-out);
}
.filter-tab:hover { color: var(--clr-text-primary); border-color: var(--clr-border-strong); }
.filter-tab[aria-pressed="true"] {
  background: var(--clr-accent-gold); color: var(--clr-text-inverse); border-color: var(--clr-accent-gold);
}

.games-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--space-6); }
.games-grid[hidden] { display: none; }

.game-tile {
  display: flex; flex-direction: column; background: var(--clr-bg-card);
  border: 1px solid var(--clr-border); border-radius: var(--radius-md); overflow: hidden;
  transition: transform var(--duration), border-color var(--duration), box-shadow var(--duration);
}
.game-tile.is-hidden { display: none; }
.game-tile:hover { transform: translateY(-6px); border-color: var(--clr-border-strong); box-shadow: var(--shadow-card), var(--shadow-glow); }
.game-tile__media { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.game-tile__media img, .game-tile__media .img-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.game-tile__cat { position: absolute; top: var(--space-3); left: var(--space-3); z-index: 2; }
.game-tile__body { padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-2); flex: 1; }
.game-tile__body h3 { font-size: var(--text-lg); }
.game-tile__body .desc { color: var(--clr-text-muted); font-size: var(--text-sm); flex: 1; }
.game-tile__foot { display: flex; align-items: center; justify-content: space-between; margin-top: var(--space-2); }
.game-tile__foot .stars { font-size: var(--text-sm); }
.game-tile__foot a { color: var(--clr-accent-gold); font-family: var(--font-display); font-weight: 600; font-size: var(--text-sm); }

.no-results { text-align: center; color: var(--clr-text-muted); padding: var(--space-16) 0; display: none; }
.no-results.show { display: block; }

@media (max-width: 520px) {
  .games-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-4); }
}
@media (max-width: 380px) {
  .games-grid { grid-template-columns: 1fr; }
}
