/* Games Section Styles */
#games.section { padding-top: 32px; }
.games-title { font-family: 'Antonio', sans-serif; font-size: 1.9rem; letter-spacing: .5px; margin: 0 0 1rem; }
.games-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px,1fr)); gap: 14px; position: relative; }
.games-grid.loading::after { content: 'Loading games...'; position: absolute; inset: 0; display:flex; align-items:center; justify-content:center; font-size:.95rem; color:#888; animation: fadePulse 1.6s ease-in-out infinite; }
@keyframes fadePulse { 0%,100% { opacity:.35;} 50% {opacity:1;} }
.game-card { background: linear-gradient(145deg,#1c1f26,#121418); border:1px solid #222a33; border-radius:10px; padding:0; cursor:pointer; position:relative; overflow:hidden; display:flex; flex-direction:column; text-align:left; box-shadow:0 4px 10px -4px rgba(0,0,0,.5); transition:transform .18s ease, box-shadow .18s ease, border-color .3s ease; }
.game-card:hover { transform:translateY(-3px); box-shadow:0 6px 18px -6px rgba(0,0,0,.65); border-color:#2d3944; }
.game-card:active { transform:translateY(-1px) scale(.97); }
.gc-thumb { aspect-ratio: 4/3; width:100%; background:#0d0f12 linear-gradient(120deg,#14181d,#0d1013); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.gc-thumb img { width:100%; height:100%; object-fit:cover; display:block; filter:contrast(1.05) saturate(1.1); transition:transform .8s ease; }
.game-card:hover .gc-thumb img { transform:scale(1.06); }
.gc-placeholder { width:100%; height:100%; background:repeating-linear-gradient(45deg,#1c2127 0 10px,#171c21 10px 20px); }
.gc-meta { padding:8px 9px 10px; display:flex; flex-direction:column; gap:4px; }
.gc-name { font-family:'Exo 2',sans-serif; font-weight:700; font-size:.9rem; line-height:1.1; color:#fff; letter-spacing:.3px; }
.gc-provider { font-size:.66rem; text-transform:uppercase; color:#9aa3ad; letter-spacing:.6px; font-weight:600; }
.game-card:focus-visible { outline:2px solid #ffcc47; outline-offset:2px; }
.games-grid .empty, .games-grid .error { grid-column:1 / -1; padding:24px 0; text-align:center; color:#888; }

/* Overlay */
.game-overlay { position:fixed; inset:0; z-index:620; display:flex; align-items:center; justify-content:center; font-family:'Manrope',sans-serif; }
.game-overlay[hidden] { display:none; }
.go-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.78); backdrop-filter:blur(4px); }
.go-dialog { position:relative; width: min(1400px, 92vw); height: min(82vh, 900px); background:#0d1014; border:1px solid #24313d; border-radius:14px; display:flex; flex-direction:column; box-shadow:0 20px 60px -20px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,0.03) inset; animation: popIn .35s cubic-bezier(.22,1.4,.36,1); }
@keyframes popIn { 0% { transform:translateY(30px) scale(.92); opacity:0;} 60% { transform:translateY(-6px) scale(1.01); opacity:1;} 100% { transform:translateY(0) scale(1);} }
.go-close { position:absolute; top:6px; right:8px; background:linear-gradient(135deg,#2e3946,#1e252c); color:#d5dde5; border:1px solid #374450; width:34px; height:34px; border-radius:8px; cursor:pointer; font-size:20px; line-height:1; display:flex; align-items:center; justify-content:center; font-weight:600; transition:background .25s ease, color .25s ease, transform .25s ease; }
.go-close:hover { background:linear-gradient(135deg,#374556,#232b34); color:#fff; }
.go-close:active { transform:scale(.93); }
.go-title { margin:48px 16px 10px; font-family:'Antonio',sans-serif; font-weight:600; letter-spacing:.5px; font-size:1.25rem; color:#fff; text-shadow:0 2px 4px rgba(0,0,0,.4); }
.go-frame-wrap { flex:1; margin:0 12px 14px; border:1px solid #1e2a33; border-radius:10px; overflow:hidden; background:#000; display:flex; }
.go-frame-wrap iframe { flex:1; width:100%; height:100%; border:0; }
@media (max-width: 900px){ .go-dialog { width:95vw; height:82vh;} .go-title { margin-top:46px;} }

/* Scroll Lock when overlay open */
body.scroll-lock { overflow:hidden; }
/* Load More Button / Actions */
.games-actions { margin-top:34px; display:flex; justify-content:center; }
.games-actions button { 
  font-family:'Exo 2',sans-serif; font-weight:600; letter-spacing:.6px; 
  background:linear-gradient(140deg,#1d2731,#141a20); 
  color:#f1f5f9; border:1px solid #283540; 
  padding:16px 34px; font-size:.9rem; text-transform:uppercase; 
  border-radius:14px; cursor:pointer; position:relative; 
  box-shadow:0 6px 18px -8px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,0.04) inset; 
  transition: background .35s ease, transform .25s ease, box-shadow .35s ease, border-color .35s ease;
}
.games-actions button:hover { background:linear-gradient(140deg,#243140,#161d23); border-color:#314352; box-shadow:0 10px 28px -10px rgba(0,0,0,.75); }
.games-actions button:active { transform:translateY(2px) scale(.97); }
.games-actions button:disabled { opacity:.55; cursor:progress; }
