/* Refined site motion: lively accents without harsh disappearing flashes. */
@keyframes sitePrimaryPulse {
    0%, 100% { transform: translateX(-50%) scale(1); filter: brightness(1); }
    50% { transform: translateX(-50%) scale(1.045); filter: brightness(1.08); }
}

@keyframes sitePrimaryHalo {
    0%, 100% { transform: translateX(-50%) scale(1); box-shadow: 0 -5px 14px rgba(0, 0, 0, .28); }
    50% { transform: translateX(-50%) scale(1.06); box-shadow: 0 -5px 20px color-mix(in srgb, var(--nav-accent) 38%, transparent); }
}

@keyframes siteBrandGlow {
    0%, 100% { transform: translateY(0); filter: drop-shadow(0 0 0 transparent); }
    50% { transform: translateY(-1px); filter: drop-shadow(0 0 7px rgba(255, 214, 120, .5)); }
}

@keyframes siteBadgePulse {
    0%, 100% { transform: scale(1); filter: brightness(1); }
    50% { transform: scale(1.08); filter: brightness(1.16); }
}

@keyframes siteCategoryFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}

@keyframes siteOutlineGlow {
    0%, 100% { filter: brightness(1); box-shadow: 0 0 0 transparent; }
    50% { filter: brightness(1.16); box-shadow: 0 0 15px rgba(255, 205, 73, .28); }
}

@keyframes siteProgressShimmer {
    from { background-position: 100% 0; }
    to { background-position: -100% 0; }
}

@keyframes siteButtonGlow {
    0%, 100% { filter: brightness(1); box-shadow: 0 0 0 transparent; }
    50% { filter: brightness(1.08); box-shadow: 0 0 10px rgba(255, 211, 91, .34); }
}

@keyframes walletRefreshSpin {
    to { transform: rotate(360deg); }
}

.mobile-balance-refresh {
    width: 34px;
    height: 34px;
    min-width: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 5px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    background: rgba(255, 255, 255, .13);
    color: var(--header-text, #fff);
    box-shadow: 0 2px 7px rgba(0, 0, 0, .25);
    cursor: pointer;
    line-height: 1;
}

.mobile-balance-refresh:hover,
.mobile-balance-refresh:focus-visible {
    background: rgba(255, 255, 255, .24);
    color: var(--header-text, #fff);
    outline: 2px solid rgba(255, 255, 255, .8);
    outline-offset: 2px;
}

.mobile-balance-refresh:disabled {
    cursor: wait;
    opacity: .72;
}

.mobile-balance-refresh.is-loading i,
.wallet-balance-refresh.is-loading i {
    animation: walletRefreshSpin .7s linear infinite;
}

.wallet-balance-refresh {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 5px;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
}

.wallet-balance-refresh:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.wallet-balance-refresh:disabled {
    cursor: wait;
    opacity: .72;
}

@media (max-width: 380px) {
    .mobile-balance-refresh {
        width: 30px;
        height: 30px;
        min-width: 30px;
        flex-basis: 30px;
        margin-left: 3px;
    }
}

.footer-mobile.footer-mobile--standard .footer-item--primary::before {
    animation: sitePrimaryHalo 2.9s ease-in-out infinite !important;
}

.footer-mobile.footer-mobile--standard .footer-item--primary .footer-icon {
    animation: sitePrimaryPulse 2.9s ease-in-out infinite !important;
}

.header .header__mid .header-logo img {
    transform-origin: center;
    animation: siteBrandGlow 4.2s ease-in-out infinite !important;
}

.header-nav .navbar .navbar-nav .nav-item__game img[alt="Hot"],
.header-nav .navbar .navbar-nav .nav-item__game .game-item.game-item-new,
.home .mobile__category .category-hot,
.game-item-new,
.new-provider {
    transform-origin: center;
    animation: siteBadgePulse 2.1s ease-in-out infinite !important;
}

.home .mobile__category .category-container .category-item .category-art img,
.home-category-grid .home-category-art img,
.home .home__menu .menu-container .menu-right .menu-games .games-item img {
    animation: siteCategoryFloat 3.6s ease-in-out infinite !important;
}

.home .mobile__category .category-container > a:nth-child(2n) img,
.home-category-grid > .home-category-link:nth-child(2n) img {
    animation-delay: -.9s !important;
}

.home .mobile__category .category-container > a:nth-child(3n) img,
.home-category-grid > .home-category-link:nth-child(3n) img {
    animation-delay: -1.8s !important;
}

.home .home__menu .menu-container .download-border::before {
    animation: siteOutlineGlow 3.2s ease-in-out infinite !important;
}

.home .home__payment .payment-border .payment-content .payment-service .service-average .progress .progress-bar::before,
.bonus-list .bonus-item .bonus-progress-outer .progress-bar.active {
    background-size: 200% 100% !important;
    animation: siteProgressShimmer 3.4s linear infinite !important;
}

.header .header__top .header-icons .btn-freebet,
button.btn-affiliate.affiliate-button,
li .green {
    animation: siteButtonGlow 3s ease-in-out infinite !important;
}

/* Large content blocks must never blink or vanish. */
.game .game__slider,
.footer-mobile .footer-item.footer-login .footer-icon,
.floating-contact__button .static,
.floating-contact__button .icons,
.floating-contact__button .icons .icons-line {
    animation: none !important;
    -webkit-animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        transition-delay: 0s !important;
    }
}
