/* Independent Particle Dots */
.particles-effect {
    position: relative;
    overflow: hidden;
}

/* Ensure no pseudo-elements interfere */
.particles-effect::before,
.particles-effect::after {
    display: none !important;
    content: none !important;
}

.dot-particle {
    position: absolute;
    border-radius: 50%;
    background-color: var(--dots-color-light, rgba(255, 255, 255, 0.9));
    /* Use theme color */
    pointer-events: none;
    z-index: 15;
    /* Above background (z-0/z-10), below text (z-20) */
    opacity: 0;
    box-shadow: 0 0 4px rgba(255, 255, 255, 0.5);
    /* Glow effect */
}

@keyframes floatParticle {
    0% {
        transform: translateY(0) scale(0);
        opacity: 0;
    }

    10% {
        opacity: var(--max-opacity, 0.8);
        transform: translateY(-10px) scale(1);
    }

    100% {
        transform: translateY(-120px) scale(0.2);
        /* Float up further */
        opacity: 0;
    }
}