

/* Scroll Reveal Animations */
[data-animate] {
    opacity: 0;
    transition: all 0.8s ease;
}

[data-animate="fade-up"] {
    transform: translateY(30px);
}

[data-animate="fade-down"] {
    transform: translateY(-30px);
}

[data-animate="fade-left"] {
    transform: translateX(-30px);
}

[data-animate="fade-right"] {
    transform: translateX(30px);
}

[data-animate="zoom-in"] {
    transform: scale(0.9);
}

[data-animate].animated {
    opacity: 1;
    transform: translate(0) scale(1);
}

/* Genie Hover Effects */
.genie-hover {
    position: relative;
    overflow: hidden;
}

.genie-hover::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: all 0.6s ease;
}

.genie-hover:hover::before {
    left: 100%;
}

/* Pulse Animation */
.pulse {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(123, 191, 57, 0.7);
    }
    70% {
        transform: scale(1.05);
        box-shadow: 0 0 0 10px rgba(123, 191, 57, 0);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(123, 191, 57, 0);
    }
}
