/* Animações para o site domain.com */

/* Fade In */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.fade-in {
    animation: fadeIn 1s ease forwards;
}

/* Slide In */
@keyframes slideIn {
    from {
        transform: translateY(50px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.slide-in {
    animation: slideIn 0.8s ease forwards;
}

/* Stagger Entry for Multiple Items */
.stagger-item {
    opacity: 0;
}

.stagger-item:nth-child(1) { animation: slideIn 0.8s ease forwards 0.1s; }
.stagger-item:nth-child(2) { animation: slideIn 0.8s ease forwards 0.3s; }
.stagger-item:nth-child(3) { animation: slideIn 0.8s ease forwards 0.5s; }
.stagger-item:nth-child(4) { animation: slideIn 0.8s ease forwards 0.7s; }
.stagger-item:nth-child(5) { animation: slideIn 0.8s ease forwards 0.9s; }

/* Pulse Effect */
@keyframes pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(230, 182, 85, 0.7);
    }
    70% {
        transform: scale(1.05);
        box-shadow: 0 0 0 10px rgba(230, 182, 85, 0);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(230, 182, 85, 0);
    }
}

.pulse-btn {
    animation: pulse 2s infinite;
}

/* Background Gradient Animation */
@keyframes gradientAnimation {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.animated-gradient {
    background: linear-gradient(135deg, var(--midnight-plum), var(--ocean-teal));
    background-size: 200% 200%;
    animation: gradientAnimation 10s ease infinite;
}

/* Text Shimmer Effect */
@keyframes textShimmer {
    0% {
        background-position: -500px 0;
    }
    100% {
        background-position: 500px 0;
    }
}

.shimmer-text {
    color: transparent;
    background: linear-gradient(to right, var(--golden-sand) 0%, var(--coral-ember) 30%, var(--golden-sand) 70%, var(--golden-sand) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    background-size: 500px 100%;
    animation: textShimmer 4s infinite linear;
}

/* Bounce Effect */
@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

.bounce {
    animation: bounce 2s ease infinite;
}

/* Rotate Effect */
@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.rotate {
    animation: rotate 8s linear infinite;
}

/* Scale In */
@keyframes scaleIn {
    from {
        transform: scale(0.8);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

.scale-in {
    animation: scaleIn 0.8s ease forwards;
}

/* Shake Animation (for error validation) */
@keyframes shake {
    0%, 100% {
        transform: translateX(0);
    }
    10%, 30%, 50%, 70%, 90% {
        transform: translateX(-5px);
    }
    20%, 40%, 60%, 80% {
        transform: translateX(5px);
    }
}

.shake {
    animation: shake 0.5s;
}
