.game-detail-hero { position: relative; isolation: isolate; overflow: hidden; }
.game-hero-cover { position: absolute; z-index: -3; inset: -28px; width: calc(100% + 56px); height: calc(100% + 56px); object-fit: cover; object-position: center; filter: blur(15px); transform: scale(1.05); }
.game-hero-overlay { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(13, 8, 29, .95), rgba(39, 22, 77, .76), rgba(13, 8, 29, .92)); }
.game-detail-hero:not(.has-cover) .game-hero-overlay { background: radial-gradient(circle at 84% 0, var(--primary-soft), transparent 32%), var(--bg); }
.game-hero-content { position: relative; z-index: 1; }
.game-detail-icon { display: grid; width: clamp(96px, 10vw, 138px); aspect-ratio: 1 / 1; height: auto; flex: 0 0 auto; place-items: center; overflow: hidden; border: 1px solid rgba(255, 255, 255, .24); border-radius: 24px; background: rgba(255, 255, 255, .11); box-shadow: var(--shadow-md); }
.game-detail-icon img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.game-detail-icon .game-icon-fallback { display: grid; width: 100%; height: 100%; place-items: center; color: #fff; font-size: 36px; font-weight: 900; }
.game-detail-icon:has(img) .game-icon-fallback { display: none; }
@media (max-width: 575.98px) { .game-detail-icon { width: 84px; border-radius: 21px; }.game-detail-icon .game-icon-fallback { font-size: 24px; }.game-hero-cover { inset: -20px; width: calc(100% + 40px); height: calc(100% + 40px); } }
