/* ============================================
   Premium Button Animations
   Reusable animation system
   Add class .anim-{name} to any element
   ============================================ */

/* 1. Soft Pulse - smooth scale pulse */
@keyframes anim-soft-pulse {
    0%, 100% { transform: scale(0.95); }
    50% { transform: scale(1); }
}
.anim-soft-pulse {
    animation: anim-soft-pulse 2s ease-in-out infinite;
}

/* 2. Float Move - gentle up/down floating */
@keyframes anim-float-move {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}
.anim-float-move {
    animation: anim-float-move 2.5s ease-in-out infinite;
}

/* 3. Soft Bounce - light, non-aggressive bounce */
@keyframes anim-soft-bounce {
    0%, 100% { transform: translateY(0); }
    25% { transform: translateY(-2px); }
    50% { transform: translateY(0); }
    75% { transform: translateY(-1px); }
}
.anim-soft-bounce {
    animation: anim-soft-bounce 1.8s ease-in-out infinite;
}

/* 4. Glow Rise - premium ambient aura outside button using pseudo-elements */
.anim-glow-rise {
    position: relative;
}

.anim-glow-rise::before {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 200%;
    height: 280%;
    background: radial-gradient(ellipse at bottom, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0.08) 40%, transparent 65%);
    filter: blur(22px);
    border-radius: 50%;
    opacity: 0;
    animation: anim-glow-rise-up 3.2s ease-in-out infinite;
    pointer-events: none;
}

.anim-glow-rise::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 140%;
    height: 200%;
    background: radial-gradient(ellipse at bottom, rgba(255, 255, 255, 0.2), transparent 55%);
    filter: blur(14px);
    border-radius: 50%;
    opacity: 0;
    animation: anim-glow-rise-up 3.2s ease-in-out infinite 0.6s;
    pointer-events: none;
}

@keyframes anim-glow-rise-up {
    0% {
        opacity: 0;
        transform: translateX(-50%) translateY(0);
    }
    12% {
        opacity: 1;
    }
    40% {
        opacity: 0.45;
        transform: translateX(-50%) translateY(-50px);
    }
    70% {
        opacity: 0.08;
        transform: translateX(-50%) translateY(-100px);
    }
    100% {
        opacity: 0;
        transform: translateX(-50%) translateY(-130px);
    }
}

/* 5. Heartbeat Premium - premium scale pulse */
@keyframes anim-heartbeat {
    0%, 100% { transform: scale(0.98); }
    15% { transform: scale(0.99); }
    30% { transform: scale(0.98); }
    45% { transform: scale(1); }
    60% { transform: scale(0.98); }
}
.anim-heartbeat {
    animation: anim-heartbeat 2.5s ease-in-out infinite;
}

/* 6. Wave Attention - soft wave attraction */
@keyframes anim-wave-attention {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-2px); }
    75% { transform: translateX(2px); }
}
.anim-wave-attention {
    animation: anim-wave-attention 2.2s ease-in-out infinite;
}
