/* style.css */

/* Background em Gradiente Móvel */
body {
    background: linear-gradient(-45deg, #ffffff, #f0f0f0, #e6e6e6, #f9f9f9);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
}

@keyframes gradientBG {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Animações de Entrada */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 0.6s ease-out forwards;
}

.animate-fade-in-down {
    animation: fadeInDown 0.6s ease-out forwards;
}

/* Efeito Hover nos Cards da Lista */
.link-card {
    will-change: transform, box-shadow;
}

.link-card:active {
    transform: scale(0.98);
}

/* Animações de Atenção para os Botões Novos */
@keyframes pulseGlow {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7); }
    50% { transform: scale(1.03); box-shadow: 0 0 0 15px rgba(34, 197, 94, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

.attention-button {
    animation: pulseGlow 2.5s infinite;
}

@keyframes wiggle {
    0%, 7% { transform: rotateZ(0); }
    15% { transform: rotateZ(-5deg); }
    20% { transform: rotateZ(3deg); }
    25% { transform: rotateZ(-5deg); }
    30% { transform: rotateZ(2deg); }
    35%, 100% { transform: rotateZ(0); }
}

.wiggle-cta {
    animation: wiggle 2s infinite;
}
