/* ==========================================================================
   KIBO ECO-CLIMB: EXPEDICAO MOCAMBIQUE
   Animacoes e Efeitos Visuais Dinamicos (CSS3 Keyframes)
   Sem uso de emojis.
   ========================================================================== */

@keyframes pulseSubtle {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.04);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes pulseGlow {
    0% {
        box-shadow: 0 0 10px rgba(5, 150, 105, 0.4);
    }
    50% {
        box-shadow: 0 0 24px rgba(5, 150, 105, 0.85);
    }
    100% {
        box-shadow: 0 0 10px rgba(5, 150, 105, 0.4);
    }
}

@keyframes floatHero {
    0% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-6px) rotate(0.5deg);
    }
    100% {
        transform: translateY(0px) rotate(0deg);
    }
}

/* Animacao suave de entrada para modais e paineis centralizados em flexbox */
@keyframes slideUpModal {
    0% {
        opacity: 0;
        transform: translateY(18px) scale(0.96);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes bannerSlideDown {
    0% {
        opacity: 0;
        transform: translateY(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes regenWarning {
    0% {
        border-color: rgba(239, 68, 68, 0.3);
    }
    50% {
        border-color: rgba(239, 68, 68, 1);
        box-shadow: 0 0 16px rgba(239, 68, 68, 0.7);
    }
    100% {
        border-color: rgba(239, 68, 68, 0.3);
    }
}

.anim-pulse {
    animation: pulseSubtle 2.2s infinite ease-in-out;
}

.anim-float {
    animation: floatHero 3.5s infinite ease-in-out;
}

.anim-modal-in {
    animation: slideUpModal 0.32s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.anim-banner {
    animation: bannerSlideDown 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
