@keyframes slideInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes countUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes spinWheel{from{transform:rotate(0deg)}to{transform:rotate(var(--wheel-deg,1440deg))}}
@keyframes bounceIn{0%{transform:scale(0.6);opacity:0}60%{transform:scale(1.08)}80%{transform:scale(.97)}100%{transform:scale(1);opacity:1}}
@keyframes glowPulse{0%,100%{box-shadow:0 0 12px rgba(0,192,112,.3)}50%{box-shadow:0 0 28px rgba(0,192,112,.6)}}

.hero-block .hero-title{animation:slideInLeft .7s ease both}
.hero-block .hero-subtitle{animation:slideInLeft .7s .1s ease both}
.hero-block .hero-cta-group{animation:slideInLeft .7s .2s ease both}
.hero-block .hero-badge{animation:slideInLeft .5s ease both}

.jackpot-card:nth-child(1){animation:scaleIn .5s .05s ease both}
.jackpot-card:nth-child(2){animation:scaleIn .5s .12s ease both}
.jackpot-card:nth-child(3){animation:scaleIn .5s .18s ease both}

.btn-primary:focus,.btn-primary:active{outline:2px solid var(--c-primary);outline-offset:2px}
.btn-secondary:focus,.btn-secondary:active{outline:2px solid var(--c-secondary);outline-offset:2px}

.btn-primary.glow-anim{animation:glowPulse 2.5s infinite}

.js-observe{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
.js-observe.visible{opacity:1;transform:translateY(0)}

.jackpot-amount.updating{animation:countUp .3s ease}

.shimmer-text{background:linear-gradient(90deg,var(--c-secondary) 25%,#fff 50%,var(--c-secondary) 75%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 3s linear infinite}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

.wp-block-group-alt{display:block;clear:both}
.elementor-section-empty{height:1px;width:100%;overflow:hidden}
.wpcf7-not-valid-tip-alt{display:none}
.wp-emoji-alt{display:none !important}
