.games-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 45%, rgba(130, 67, 255, .10), transparent 24%),
    radial-gradient(circle at 88% 20%, rgba(172, 255, 0, .055), transparent 20%),
    #0d0b16;
}

.game-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }

.game-card {
  display: block;
  color: inherit;
  position: relative;
  border-radius: 22px;
  border-color: rgba(255, 255, 255, .11);
  background: linear-gradient(155deg, rgba(27, 23, 41, .98), rgba(16, 14, 26, .98));
  box-shadow: 0 18px 45px rgba(0, 0, 0, .18);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.game-card:hover {
  transform: translateY(-7px);
  border-color: rgba(190, 148, 255, .36);
  box-shadow: 0 28px 60px rgba(0, 0, 0, .38), 0 0 35px rgba(137, 78, 255, .08);
}

.game-art,
.game-card.blue .game-art,
.game-card.green .game-art,
.game-card.pink .game-art {
  height: 226px;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 53%, rgba(255, 255, 255, .13), transparent 32%),
    radial-gradient(circle at 50% 50%, var(--card-glow), transparent 67%),
    linear-gradient(145deg, var(--card-from), var(--card-to));
}

.game-card.violet { --card-from: #5221b8; --card-to: #21133f; --card-glow: rgba(190, 92, 255, .42); }
.game-card.blue { --card-from: #174eaa; --card-to: #161d4b; --card-glow: rgba(62, 144, 255, .4); }
.game-card.green { --card-from: #146a5b; --card-to: #102f35; --card-glow: rgba(54, 219, 160, .31); }
.game-card.pink { --card-from: #8d286e; --card-to: #3c193f; --card-glow: rgba(235, 75, 176, .32); }
.game-card.esports { --card-from: #3f465e; --card-to: #181b29; --card-glow: rgba(174, 255, 0, .20); }

.game-art::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 165px;
  height: 165px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .09);
  box-shadow: 0 0 0 34px rgba(255, 255, 255, .025), 0 0 0 68px rgba(255, 255, 255, .015);
}

.game-art span {
  display: block;
  width: 88%;
  height: 92%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  filter: drop-shadow(0 23px 20px rgba(0, 0, 0, .42));
  transition: transform .35s ease, filter .35s ease;
}

.game-card:nth-child(1) .game-art span { background-image: url("../images/game-sports-3d.png"); }
.game-card:nth-child(2) .game-art span { background-image: url("../images/game-slots-3d.png"); width: 96%; }
.game-card:nth-child(3) .game-art span { background-image: url("../images/game-casino-3d.png"); width: 96%; }
.game-card:nth-child(4) .game-art span { background-image: url("../images/game-live-3d.png"); }
.game-card:nth-child(5) .game-art span { background-image: url("../images/game-esports-3d.png"); width: 100%; background-size: cover; }
.game-art span svg { display: none; }

.game-card:hover .game-art span {
  transform: translateY(-5px) scale(1.055) rotate(-1deg);
  filter: drop-shadow(0 29px 25px rgba(0, 0, 0, .5));
}

.game-art i {
  bottom: 14px;
  right: 14px;
  z-index: 3;
  padding: 7px 11px;
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(8, 7, 17, .72);
  backdrop-filter: blur(8px);
}

.game-card > div:last-child {
  min-height: 91px;
  padding: 18px 19px;
  border-top: 1px solid rgba(255, 255, 255, .06);
}

.game-card h3 { font-size: 17px; }
.game-card-action {
  margin-left: auto;
  width: 39px;
  height: 39px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #9c66ff, #7438f2);
  box-shadow: 0 9px 24px rgba(125, 65, 244, .3);
  transition: transform .2s ease, filter .2s ease;
}
.game-card-action svg { width: 17px; height: 17px; fill: currentColor; stroke: none; }
.game-card:hover .game-card-action { transform: scale(1.08); filter: brightness(1.13); }

@media (max-width: 980px) {
  .game-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .game-card:last-child { grid-column: 1 / -1; }
  .game-card:last-child .game-art span { width: min(360px, 90%); background-size: cover; }
}

@media (max-width: 640px) {
  .game-grid { gap: 10px; }
  .game-art,
  .game-card.blue .game-art,
  .game-card.green .game-art,
  .game-card.pink .game-art { height: 165px; }
  .game-art span { width: 96%; height: 93%; }
  .game-card > div:last-child { min-height: 86px; padding: 13px; }
  .game-card h3 { font-size: 14px; }
  .game-card small { font-size: 9px; line-height: 1.35; }
  .game-card-action { width: 34px; height: 34px; }
}
