/* Full-screen banners gerenciados pelo painel admin */
#game-banner-overlay{
  position:fixed;inset:0;z-index:10050;display:grid;place-items:center;
  background:#02050a;overflow:hidden;pointer-events:auto;opacity:0;
  transition:opacity .18s ease;
}
#game-banner-overlay[hidden]{display:none!important}
#game-banner-overlay.show{opacity:1}
#game-banner-overlay .game-banner-backdrop{
  position:absolute;inset:-6%;background:center/cover no-repeat;
  filter:blur(34px) brightness(.32) saturate(1.2);transform:scale(1.08);
  opacity:.9;
}
#game-banner-overlay .game-banner-backdrop::after{
  content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,transparent 20%,rgba(0,0,0,.48) 100%);
}
.game-banner-stage{
  position:relative;z-index:2;width:100vw;height:100vh;display:grid;place-items:center;
  background:rgba(1,4,10,.12);overflow:hidden;
}
.game-banner-image{
  width:100%;height:100%;object-fit:contain;object-position:center;display:block;
  image-rendering:auto;filter:none;backface-visibility:hidden;
}
#game-banner-overlay .game-banner-close{
  position:absolute;z-index:6;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));
  width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.42);
  background:rgba(5,8,14,.68);backdrop-filter:blur(12px);color:#fff;font:900 20px/1 Arial,sans-serif;
  display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,.35);
  transition:transform .14s ease,background .14s ease,border-color .14s ease;
}
#game-banner-overlay .game-banner-close:hover{transform:scale(1.06);background:rgba(30,12,13,.86);border-color:#ff8c8c}
.game-banner-cta{
  position:absolute;z-index:5;left:50%;bottom:max(28px,calc(env(safe-area-inset-bottom) + 18px));
  transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-width:220px;min-height:48px;padding:0 22px;border-radius:14px;
  border:1px solid rgba(136,154,255,.72);background:linear-gradient(180deg,rgba(99,113,255,.96),rgba(73,84,211,.96));
  color:#fff;text-decoration:none;font:900 14px/1.1 Verdana,Tahoma,sans-serif;
  box-shadow:0 12px 34px rgba(40,48,170,.44),0 0 18px rgba(103,121,255,.34);
  transition:transform .14s ease,filter .14s ease;
}
.game-banner-cta:hover{transform:translateX(-50%) translateY(-2px);filter:brightness(1.1)}
.game-banner-discord{font-size:19px}
.game-banner-loading{
  position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);
  display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:12px;
  background:rgba(4,8,15,.72);color:#cdd9ee;font:700 12px Verdana,Tahoma,sans-serif;
}
.game-banner-loading[hidden]{display:none}
.game-banner-loading i{width:14px;height:14px;border:2px solid rgba(255,255,255,.28);border-top-color:#fff;border-radius:50%;animation:bannerSpin .75s linear infinite}
@keyframes bannerSpin{to{transform:rotate(360deg)}}
body.game-banner-open{overflow:hidden}
@media(max-width:720px){
  #game-banner-overlay .game-banner-close{
    width:40px;height:40px;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));font-size:17px
  }
  .game-banner-image{width:100%;height:100%;object-fit:contain}
  .game-banner-cta{
    bottom:max(18px,calc(env(safe-area-inset-bottom) + 10px));min-width:190px;min-height:44px;padding:0 18px;font-size:12px
  }
}
@media(prefers-reduced-motion:reduce){
  #game-banner-overlay,.game-banner-cta,#game-banner-overlay .game-banner-close{transition:none!important}
}
