/* ============ CASINO BACKGROUND ============ */
.casino-bg{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(26,140,58,.08) 0%,transparent 55%),
             radial-gradient(ellipse 60% 50% at 80% 100%,rgba(212,160,23,.06) 0%,transparent 50%),
             var(--bg-primary);
}
#casinoBgCanvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.casino-bg-rays{
  position:absolute;
  inset:-50%;
  background:conic-gradient(from 0deg at 50% 50%,
    transparent 0deg,
    rgba(212,160,23,.03) 30deg,
    transparent 60deg,
    rgba(40,201,79,.04) 120deg,
    transparent 150deg,
    rgba(212,160,23,.03) 210deg,
    transparent 240deg,
    rgba(40,201,79,.03) 300deg,
    transparent 360deg);
  animation:casinoRaysSpin 60s linear infinite;
}
.casino-bg-vignette{
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.45) 100%);
}
@keyframes casinoRaysSpin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

[data-theme="light"] .casino-bg{
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(26,140,58,.06) 0%,transparent 55%),
             var(--bg-primary);
}
[data-theme="light"] .casino-bg-vignette{
  background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.08) 100%);
}

/* ============ LOADING SCREEN ============ */
.loading-screen{position:fixed;inset:0;z-index:9999;background:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .6s,visibility .6s}
.loading-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}
.loading-crown{width:80px;height:60px;animation:crownPulse 1.5s ease-in-out infinite}
.loading-crown svg{width:100%;height:100%;filter:drop-shadow(0 0 20px rgba(212,160,23,.6))}
.loading-text{font-family:var(--font-display);font-size:28px;color:var(--gold);margin:20px 0;letter-spacing:4px;animation:textGlow 2s ease-in-out infinite}
.loading-bar{width:200px;height:3px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.loading-bar-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--green-bright));animation:loadBar 2s ease-in-out forwards;border-radius:2px}
@keyframes crownPulse{0%,100%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.1) rotate(3deg)}}
@keyframes textGlow{0%,100%{text-shadow:0 0 10px rgba(212,160,23,.3)}50%{text-shadow:0 0 30px rgba(212,160,23,.8)}}
@keyframes loadBar{0%{width:0}100%{width:100%}}

/* ============ LIVE WINS TICKER ============ */
.live-wins-bar{display:flex;align-items:center;background:linear-gradient(90deg,var(--green-darker),var(--bg-secondary));border-bottom:1px solid var(--border-green);height:32px;overflow:hidden}
.live-wins-label{font-size:11px;font-weight:800;color:var(--green-neon);padding:0 12px;white-space:nowrap;animation:blink 1.5s infinite;flex-shrink:0}
.live-wins-track{display:flex;gap:40px;animation:liveScroll 25s linear infinite;white-space:nowrap}
.live-win-item{font-size:12px;color:var(--text-secondary)}
.live-win-item strong{color:var(--gold)}
.live-win-item .win-amount{color:var(--green-bright);font-weight:700}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes liveScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ============ THEME TOGGLE ============ */
.theme-toggle{background:var(--bg-card);border:1px solid var(--border-green);border-radius:50%;width:36px;height:36px;font-size:16px;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}
.theme-toggle:hover{border-color:var(--gold);transform:rotate(20deg)}

/* ============ HAMBURGER & MOBILE ============ */
.hamburger{display:none;flex-direction:column;gap:5px;background:none;padding:8px;z-index:110}
.hamburger span{display:block;width:24px;height:2px;background:var(--gold);transition:all .3s;border-radius:2px}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.mobile-drawer{position:fixed;inset:0;z-index:150}
.drawer-overlay{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}
.drawer-content{position:absolute;left:0;top:0;bottom:0;width:280px;background:var(--bg-secondary);border-right:1px solid var(--border-gold);transform:translateX(0);transition:transform .3s;padding:0;overflow-y:auto}
.mobile-drawer.hidden .drawer-content{transform:translateX(-100%)}
.mobile-drawer.hidden .drawer-overlay{opacity:0;pointer-events:none}
.drawer-header{padding:20px;font-weight:800;color:var(--gold);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-green)}
.drawer-close{background:none;color:var(--text-secondary);font-size:24px}
.drawer-nav{display:flex;flex-direction:column}
.drawer-nav a{padding:14px 20px;color:var(--text-secondary);font-size:14px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.05);transition:all .2s}
.drawer-nav a:hover{background:var(--bg-card);color:var(--green-bright);padding-left:28px}

/* ============ HERO ENHANCED ============ */
.hero-slider{position:relative;height:420px;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25;z-index:0}
.particles-canvas{position:absolute;inset:0;z-index:1;pointer-events:none}
.slider-container{position:relative;height:100%;z-index:2}
.slide-visual{background-size:cover!important;background-position:center!important}
.slide-visual::after{background:linear-gradient(to right,var(--bg-secondary) 0%,rgba(10,15,10,.4) 50%,transparent 100%)!important}

/* ============ JACKPOT ANIMATED ============ */
.jackpot-ticker{background:var(--bg-primary);padding:12px 0;border-bottom:1px solid var(--border-green);overflow:hidden}
.ticker-track{display:flex;gap:12px;padding:0 24px;animation:tickerScroll 30s linear infinite;width:max-content}
.ticker-item{display:flex;align-items:center;gap:10px;background:var(--bg-card);padding:10px 16px;border-radius:var(--radius);border:1px solid var(--border-green);min-width:220px;flex-shrink:0;transition:all .3s}
.ticker-item:hover{border-color:var(--gold);box-shadow:var(--shadow-gold)}
.ticker-label{font-size:10px;color:var(--green-bright);font-weight:700;text-transform:uppercase}
.ticker-amount{font-size:18px;font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums;min-width:120px;text-align:right}
.ticker-amount.spinning{color:var(--gold);animation:jackpotGlow .3s infinite alternate}
.ticker-play{width:28px;height:28px;border-radius:50%;background:var(--green-bright);color:#000;font-size:10px;display:flex;align-items:center;justify-content:center;border:none;transition:transform .2s}
.ticker-play:hover{transform:scale(1.15)}
@keyframes jackpotGlow{from{text-shadow:0 0 5px var(--gold)}to{text-shadow:0 0 15px var(--gold-light)}}

/* ============ 3D ROULETTE ============ */
.roulette-section{padding:0 24px 24px;max-width:1400px;margin:0 auto}
.roulette-container{display:flex;align-items:center;gap:40px;background:var(--bg-secondary);border:1px solid var(--border-gold);border-radius:var(--radius-lg);padding:32px;margin-top:0;border-top:none}
.roulette-wheel-wrap{position:relative;width:220px;height:220px;flex-shrink:0}
.roulette-wheel{width:100%;height:100%;border-radius:50%;position:relative;border:4px solid var(--gold);box-shadow:0 0 30px rgba(212,160,23,.3),inset 0 0 20px rgba(0,0,0,.5);transition:transform 4s cubic-bezier(.17,.67,.12,.99);background:conic-gradient(#c0392b 0deg 10deg,#2c3e50 10deg 20deg,#c0392b 20deg 30deg,#27ae60 30deg 40deg,#c0392b 40deg 50deg,#2c3e50 50deg 60deg,#c0392b 60deg 70deg,#27ae60 70deg 80deg,#c0392b 80deg 90deg,#2c3e50 90deg 100deg,#c0392b 100deg 110deg,#27ae60 110deg 120deg,#c0392b 120deg 130deg,#2c3e50 130deg 140deg,#c0392b 140deg 150deg,#27ae60 150deg 160deg,#c0392b 160deg 170deg,#2c3e50 170deg 180deg,#c0392b 180deg 190deg,#27ae60 190deg 200deg,#c0392b 200deg 210deg,#2c3e50 210deg 220deg,#c0392b 220deg 230deg,#27ae60 230deg 240deg,#c0392b 240deg 250deg,#2c3e50 250deg 260deg,#c0392b 260deg 270deg,#27ae60 270deg 280deg,#c0392b 280deg 290deg,#2c3e50 290deg 300deg,#c0392b 300deg 310deg,#27ae60 310deg 320deg,#c0392b 320deg 330deg,#2c3e50 330deg 340deg,#c0392b 340deg 350deg,#27ae60 350deg 360deg)}
.roulette-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-dark));display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;color:#000;border:3px solid var(--gold-light);z-index:2;box-shadow:0 0 15px rgba(212,160,23,.5)}
.roulette-pointer{position:absolute;top:-8px;left:50%;transform:translateX(-50%);font-size:24px;color:var(--gold);z-index:3;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}
.roulette-info h3{font-family:var(--font-display);color:var(--gold);font-size:22px;margin-bottom:8px}
.roulette-info p{color:var(--text-secondary);margin-bottom:16px}
.roulette-result{background:rgba(40,201,79,.1);border:1px solid var(--green-bright);padding:12px 20px;border-radius:var(--radius);margin-bottom:16px;color:var(--green-bright);font-weight:700;font-size:16px;animation:resultPop .5s ease}

/* ============ PROMO PARALLAX ============ */
.promo-card{background-size:cover!important;background-position:center!important}
.promo-card::before{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.3) 60%,transparent 100%)}
.parallax-banner{will-change:transform}

/* ============ GAME CARDS — POP-OUT EFFECT ============ */
.game-section{overflow:visible}
.game-card{position:relative;overflow:visible!important}
.game-card::before{display:none}
.game-card:hover{transform:translateY(-6px);filter:drop-shadow(0 12px 20px rgba(0,0,0,.5))}
.game-card:hover .game-thumb img{transform:translateX(-50%) scale(1.05) translateY(-8px);filter:drop-shadow(0 14px 22px rgba(0,0,0,.7)) drop-shadow(0 0 12px rgba(212,160,23,.2)}
.game-thumb{overflow:visible!important}
.game-overlay{position:absolute;inset:0;border-radius:10px;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;z-index:5}
.game-card:hover .game-overlay{opacity:1}
.play-btn{background:var(--green-bright);color:#000;padding:8px 20px;border-radius:20px;font-weight:700;font-size:12px;transform:translateY(8px);transition:transform .3s;box-shadow:0 4px 12px rgba(40,201,79,.4)}
.game-card:hover .play-btn{transform:translateY(0)}

/* Убираем старые slot overlays — мешают pop-out */
.slot-thumb::after{display:none!important}

/* ============ PUSH NOTIFICATION ============ */
.push-toast{position:fixed;top:80px;right:24px;z-index:300;background:var(--bg-secondary);border:1px solid var(--gold);border-radius:var(--radius-lg);padding:16px 20px;display:flex;align-items:center;gap:12px;max-width:360px;box-shadow:0 8px 30px rgba(212,160,23,.2);animation:toastIn .5s ease,toastOut .5s ease 4.5s forwards}
.push-toast.hidden{display:none!important}
.push-icon{font-size:28px}
.push-toast strong{color:var(--gold);font-size:14px;display:block}
.push-toast p{color:var(--text-secondary);font-size:12px;margin-top:2px}
.push-close{background:none;color:var(--text-secondary);font-size:18px;margin-left:auto}
@keyframes toastIn{from{transform:translateX(120%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes toastOut{from{opacity:1}to{opacity:0;transform:translateY(-20px)}}
@keyframes resultPop{0%{transform:scale(.5);opacity:0}100%{transform:scale(1);opacity:1}}

/* ============ LIGHT THEME ============ */
[data-theme="light"]{
  --bg-primary:#f0f2ee;--bg-secondary:#ffffff;--bg-card:#e8ebe4;--bg-card-hover:#dde0d8;
  --text-primary:#1a1a1a;--text-secondary:#555;--green-dark:#1a8c3a;
  --border-green:rgba(26,140,58,.2);--border-gold:rgba(212,160,23,.4);
}
[data-theme="light"] .header{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08)}
[data-theme="light"] .hero-video{opacity:.15}
[data-theme="light"] .game-card,[data-theme="light"] .ticker-item,[data-theme="light"] .roulette-container{background:#fff}
[data-theme="light"] .modal{background:#fff}
[data-theme="light"] .loading-screen{background:#f0f2ee}

/* ============ CONFETTI ============ */
.confetti-piece{position:fixed;z-index:9998;pointer-events:none;animation:confettiFall linear forwards}
@keyframes confettiFall{0%{transform:translateY(-10px) rotate(0deg);opacity:1}100%{transform:translateY(100vh) rotate(720deg);opacity:0}}

/* ============ RESPONSIVE ENHANCED ============ */
@media(max-width:768px){
  .casino-bg-rays{animation-duration:90s;opacity:.6}
  #casinoBgCanvas{opacity:.7}
  .hamburger{display:flex}
  .header-actions .social-icons,.header-actions .btn-outline-gold,.lang-selector{display:none}
  .header-top{padding:8px 16px}
  .hero-slider{height:300px}
  .slide-content{padding:20px;max-width:100%}
  .slide-content h2{font-size:22px}
  .slide-visual{width:100%;opacity:.3}
  .promo-banners{grid-template-columns:1fr;padding:16px}
  .roulette-container{flex-direction:column;text-align:center;padding:24px}
  .roulette-wheel-wrap{width:180px;height:180px}
  .game-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px 8px;padding:24px 10px 12px}
  .game-thumb{height:115px}
  .game-thumb img{min-height:138px;max-height:155px}
  .game-card{padding-top:14px}
  .sport-row{grid-template-columns:1fr;gap:4px}
  .footer-links{grid-template-columns:1fr}
  .modal-auth,.modal-support,.modal-warning{width:95%;max-width:420px}
  .live-wins-bar{height:28px}
  .push-toast{right:12px;left:12px;max-width:none}
  .support-fab{bottom:16px;right:16px;width:56px;height:56px}
}

@media(max-width:480px){
  .header-actions .btn-outline-gold{display:none}
  .header-actions .btn-sm#btnDeposit{font-size:10px;padding:6px 10px}
  .logo-sub{display:none}
  .hero-slider{height:220px}
  .btn-lg{padding:10px 16px;font-size:13px}
  .roulette-wheel-wrap{width:150px;height:150px}
  .support-text{display:none}
  .support-fab{width:52px;height:52px;border-radius:50%}
}
