/* Button animations */
.wftmc-pulse { animation: wftmc-pulse 0.7s ease; }
@keyframes wftmc-pulse { 0% { transform: scale(1) } 50% { transform: scale(1.15) } 100% { transform: scale(1) } }

.wftmc-bounce { animation: wftmc-bounce 0.7s ease; transform-origin: center bottom; }
@keyframes wftmc-bounce { 0%,100% { transform: translateY(0) } 30% { transform: translateY(-8px) } 60% { transform: translateY(-4px) } }

.wftmc-shake { animation: wftmc-shake 0.5s ease; }
@keyframes wftmc-shake { 0%,100% { transform: translateX(0) } 20% { transform: translateX(-6px) } 40% { transform: translateX(6px) } 60% { transform: translateX(-4px) } 80% { transform: translateX(4px) } }

/* Flying clone styling */
.wftmc-flying { transition: filter .2s; filter: saturate(1.05); border-radius: 8px; }

/* Star particle (uses radial gradient for glow) */
.wftmc-star { will-change: transform, opacity, top, left; }

/* Continuous Animation Classes */
.wftmc-continuous-pulse { animation: wftmc-continuous-pulse infinite; }
.wftmc-continuous-bounce { animation: wftmc-continuous-bounce infinite; }
.wftmc-continuous-shake { animation: wftmc-continuous-shake infinite; }
.wftmc-continuous-rotate { animation: wftmc-continuous-rotate infinite; }
.wftmc-continuous-glow { animation: wftmc-continuous-glow infinite; }
.wftmc-continuous-wave { animation: wftmc-continuous-wave infinite; }

/* Speed variations - Điều chỉnh tốc độ hiệu ứng */
.wftmc-speed-slow { animation-duration: 2s; }
.wftmc-speed-normal { animation-duration: 1.5s; }
.wftmc-speed-fast { animation-duration: 1s; }

/* Intensity variations - Điều chỉnh cường độ hiệu ứng */
.wftmc-intensity-low { animation-timing-function: ease-in-out; }
.wftmc-intensity-medium { animation-timing-function: ease; }
.wftmc-intensity-high { animation-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }

/* Continuous Animation Keyframes - Định nghĩa các hiệu ứng */
@keyframes wftmc-continuous-pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.1); opacity: 0.9; }
}

@keyframes wftmc-continuous-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

@keyframes wftmc-continuous-shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-3px); }
    75% { transform: translateX(3px); }
}

@keyframes wftmc-continuous-rotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes wftmc-continuous-glow {
    0%, 100% { 
        box-shadow: 0 0 5px rgba(255, 106, 0, 0.3);
        filter: brightness(1);
    }
    50% { 
        box-shadow: 0 0 20px rgba(255, 106, 0, 0.8);
        filter: brightness(1.2);
    }
}

@keyframes wftmc-continuous-wave {
    0%, 100% { transform: translateY(0) scale(1); }
    25% { transform: translateY(-2px) scale(1.02); }
    50% { transform: translateY(-4px) scale(1.05); }
    75% { transform: translateY(-2px) scale(1.02); }
}
