.snow-container {
    pointer-events: none;
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 9999;
}

/* Da stelline a briciole di panatura */
.snowflake {
    position: absolute;
    top: -10%;

    width: var(--size, 8px);
    height: var(--size, 8px);

    border-radius: 999px;
    transform: scaleX(var(--squash, 1)) rotate(var(--angle, 0deg));

    background: rgba(243, 234, 215, var(--opacity, 0.4)); /* beige chiaro */
    box-shadow:
        0 0 4px rgba(243, 234, 215, 0.5),
        0 0 10px rgba(212, 187, 145, 0.35);

    opacity: var(--opacity, 0.4);

    will-change: transform;
    animation-name: snowfall;
    animation-duration: var(--duration, 16s);
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-delay: var(--delay, 0s);
}

/* Animazione: briciola che cade con leggero drift */
@keyframes snowfall {
    0% {
        transform:
            translate3d(var(--x-start, 0vw), -100%, 0)
            scaleX(var(--squash, 1))
            rotate(var(--angle, 0deg));
    }
    100% {
        transform:
            translate3d(var(--x-end, 0vw), 110vh, 0)
            scaleX(var(--squash, 1))
            rotate(calc(var(--angle, 0deg) + 25deg));
    }
}
