/* ========================================================
   WAXLY - ULTRA-SMOOTH AESTHETIC ANIMATIONS
   Keyframes for rotating badges, floating cards, ripple pulses,
   and fluid transitions replicating the Waxly Elementor theme.
======================================================== */

@keyframes waxlySpin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes waxlyFloat {

    0%,
    100% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-10px) rotate(0.5deg);
    }
}

@keyframes waxlyFloatSlow {

    0%,
    100% {
        transform: translateY(0px) scale(1);
    }

    50% {
        transform: translateY(-14px) scale(1.02);
    }
}

@keyframes waxlyPulseRing {
    0% {
        transform: scale(0.9);
        opacity: 0.9;
    }

    50% {
        transform: scale(1.35);
        opacity: 0.3;
    }

    100% {
        transform: scale(1.6);
        opacity: 0;
    }
}

@keyframes waxlyGlow {

    0%,
    100% {
        box-shadow: 0 0 15px rgba(203, 132, 74, 0.25);
    }

    50% {
        box-shadow: 0 0 30px rgba(203, 132, 74, 0.55);
    }
}

@keyframes waxlyFadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes waxlyFadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes waxlyFadeInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Scroll Trigger Utility Classes */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(25px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.reveal-on-scroll.is-visible,
.studio-perk-card,
.studio-perk-card.reveal-on-scroll,
.studio-perks-grid .reveal-on-scroll,
.popular-service-card,
.popular-service-card.reveal-on-scroll,
.popular-services-grid .reveal-on-scroll,
.studio-detail-hero .reveal-on-scroll,
.sanctuary-plaque-wrap,
.sanctuary-plaque-wrap.is-visible {
    opacity: 1 !important;
    transform: none !important;
}

.sanctuary-plaque-wrap.is-hidden {
    display: none !important;
}

.delay-1 {
    transition-delay: 0.1s;
}

.delay-2 {
    transition-delay: 0.2s;
}

.delay-3 {
    transition-delay: 0.3s;
}

.delay-4 {
    transition-delay: 0.4s;
}

/* Floating & Interactive Animations */
.anim-spin-slow {
    animation: waxlySpin 18s linear infinite;
    transform-origin: center center;
}

.anim-float {
    animation: waxlyFloat 5s ease-in-out infinite;
}

.anim-float-slow {
    animation: waxlyFloatSlow 7s ease-in-out infinite;
}

.anim-pulse-ring {
    animation: waxlyPulseRing 2.2s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
}

.anim-glow {
    animation: waxlyGlow 3s ease-in-out infinite;
}