/* ==========================================================================
   POUSADA POLYMAR - ANIMATIONS & EFFECTS
   ========================================================================== */

/* Radar / Pulse do Botão Flutuante do WhatsApp */
@keyframes whatsappRadar {
    0% {
        transform: scale(0.95);
        opacity: 0.9;
    }
    70% {
        transform: scale(1.45);
        opacity: 0;
    }
    100% {
        transform: scale(1.5);
        opacity: 0;
    }
}

/* Pulso suave para botões de CTA */
@keyframes ctaPulse {
    0% {
        box-shadow: 0 8px 20px rgba(255, 122, 0, 0.35);
    }
    50% {
        box-shadow: 0 8px 28px rgba(255, 122, 0, 0.65);
    }
    100% {
        box-shadow: 0 8px 20px rgba(255, 122, 0, 0.35);
    }
}

.pulse-orange {
    animation: ctaPulse 2.8s infinite ease-in-out;
}

/* Animações de Scroll Reveal (Nativas e Leves via IntersectionObserver) */
.polymar-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.polymar-reveal.is-revealed {
    opacity: 1;
    transform: translateY(0);
}

.polymar-reveal-fade {
    opacity: 0;
    transition: opacity 0.8s ease-out;
}

.polymar-reveal-fade.is-revealed {
    opacity: 1;
}

.polymar-reveal-left {
    opacity: 0;
    transform: translateX(-35px);
    transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.polymar-reveal-left.is-revealed {
    opacity: 1;
    transform: translateX(0);
}

.polymar-reveal-right {
    opacity: 0;
    transform: translateX(35px);
    transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.polymar-reveal-right.is-revealed {
    opacity: 1;
    transform: translateX(0);
}

.polymar-reveal-zoom {
    opacity: 0;
    transform: scale(0.92);
    transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.polymar-reveal-zoom.is-revealed {
    opacity: 1;
    transform: scale(1);
}

/* Atrasos em cascata para grids */
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }

/* Efeito de Ondulação suave para SVG de divisores */
@keyframes waveMotion {
    0% {
        transform: translateX(0) translateZ(0) scaleY(1);
    }
    50% {
        transform: translateX(-25%) translateZ(0) scaleY(1.05);
    }
    100% {
        transform: translateX(-50%) translateZ(0) scaleY(1);
    }
}

.animated-wave-path {
    animation: waveMotion 18s cubic-bezier(0.36, 0.45, 0.63, 0.53) infinite;
    transform-origin: bottom;
}

/* Suporte a usuários com preferência de movimento reduzido */
@media (prefers-reduced-motion: reduce) {
    .polymar-reveal,
    .polymar-reveal-left,
    .polymar-reveal-right,
    .polymar-reveal-zoom,
    .floating-whatsapp-pulse,
    .pulse-orange,
    .animated-wave-path {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}
