/* Core Styling & Transition Controls */

.theme-blob {
    transition: background-color 2.5s ease-in-out, transform 5s ease-in-out;
}

/* Smooth text & icon swapping transitions */
#merchant-name, 
#merchant-address,
#merchant-logo, 
#toast-reward-text, 
#next-reward-text, 
.stamp-item {
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

/* Ambient Floating Animations */
@keyframes float {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-12px) rotate(2.5deg);
    }
}

@keyframes float-delayed {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(12px) rotate(-2.5deg);
    }
}

@keyframes scanner {
    0% {
        top: 15%;
        opacity: 0.85;
    }
    50% {
        top: 85%;
        opacity: 1;
    }
    100% {
        top: 15%;
        opacity: 0.85;
    }
}

/* Animations Bindings */
.animate-float {
    animation: float 4.5s ease-in-out infinite;
}

.animate-float-delayed {
    animation: float-delayed 5.5s ease-in-out infinite;
}

.animate-scanner {
    animation: scanner 2.2s ease-in-out infinite;
}

/* Mobile Hamburger Menu Cross-transformation states */
#mobile-menu-btn.active span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

#mobile-menu-btn.active span:nth-child(2) {
    opacity: 0;
    width: 0;
}

#mobile-menu-btn.active span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

/* Tailored Webkit Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #0B0B14;
}

::-webkit-scrollbar-thumb {
    background: rgba(99, 102, 241, 0.22);
    border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(99, 102, 241, 0.42);
}