/* Background Animations */

/* Waves Animation */
.page-bg-waves {
    position: relative;
    overflow: hidden;
}

.page-bg-waves::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0) 100%);
    background-size: 200% 200%;
    animation: waveAnimation 8s ease-in-out infinite;
    pointer-events: none;
    z-index: 0;
}

@keyframes waveAnimation {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

/* Bubbles Animation */
.page-bg-bubbles {
    position: relative;
    overflow: hidden;
}

.page-bg-bubbles::before,
.page-bg-bubbles::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    animation: bubbleFloat 20s infinite;
    pointer-events: none;
    z-index: 0;
}

.page-bg-bubbles::before {
    width: 200px;
    height: 200px;
    left: 10%;
    bottom: -100px;
    animation-delay: 0s;
}

.page-bg-bubbles::after {
    width: 150px;
    height: 150px;
    right: 10%;
    bottom: -75px;
    animation-delay: 5s;
}

@keyframes bubbleFloat {
    0% {
        transform: translateY(0) scale(1);
        opacity: 0.3;
    }
    50% {
        transform: translateY(-300px) scale(1.2);
        opacity: 0.1;
    }
    100% {
        transform: translateY(-600px) scale(0.8);
        opacity: 0;
    }
}

/* Particles Animation */
.page-bg-particles {
    position: relative;
    overflow: hidden;
}

.page-bg-particles::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%),
        radial-gradient(circle at 40% 20%, rgba(255,255,255,0.1) 0%, transparent 50%);
    background-size: 200% 200%, 150% 150%, 180% 180%;
    animation: particleMove 15s ease-in-out infinite;
    pointer-events: none;
    z-index: 0;
}

@keyframes particleMove {
    0%, 100% {
        background-position: 0% 0%, 100% 100%, 50% 50%;
    }
    33% {
        background-position: 100% 50%, 0% 0%, 100% 100%;
    }
    66% {
        background-position: 50% 100%, 50% 50%, 0% 0%;
    }
}

/* Gradient Shift Animation */
.page-bg-gradient-shift {
    position: relative;
    background-size: 200% 200%;
    animation: gradientShift 10s ease infinite;
}

@keyframes gradientShift {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

/* Mesh Gradient Animation */
.page-bg-mesh {
    position: relative;
    overflow: hidden;
}

.page-bg-mesh::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: 
        radial-gradient(circle at 0% 0%, rgba(120, 119, 198, 0.3), transparent 50%),
        radial-gradient(circle at 100% 0%, rgba(255, 119, 198, 0.3), transparent 50%),
        radial-gradient(circle at 100% 100%, rgba(120, 219, 255, 0.3), transparent 50%),
        radial-gradient(circle at 0% 100%, rgba(120, 255, 198, 0.3), transparent 50%);
    animation: meshRotate 20s linear infinite;
    pointer-events: none;
    z-index: 0;
}

@keyframes meshRotate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Ripple Animation */
.page-bg-ripple {
    position: relative;
    overflow: hidden;
}

.page-bg-ripple::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    transform: translate(-50%, -50%);
    animation: rippleExpand 4s ease-out infinite;
    pointer-events: none;
    z-index: 0;
}

@keyframes rippleExpand {
    0% {
        width: 0;
        height: 0;
        opacity: 1;
    }
    100% {
        width: 2000px;
        height: 2000px;
        opacity: 0;
    }
}

/* Ensure content is above animations */
.page-bg-waves > *,
.page-bg-bubbles > *,
.page-bg-particles > *,
.page-bg-mesh > *,
.page-bg-ripple > * {
    position: relative;
    z-index: 1;
}

