/* Jahreszeiten-Animation: leicht, klickdurchlässig, Text bleibt lesbar */
#season-fx-layer {
    position: fixed;
    inset: 0;
    z-index: 40;
    pointer-events: none;
    overflow: hidden;
    display: none;
}
.season-fx-item {
    position: absolute;
    top: -40px;
    line-height: 1;
    user-select: none;
    animation-name: seasonFxFall;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.55));
}
.season-fx-item.season-fx-drift {
    animation-name: seasonFxFallDrift;
}
.season-fx-cross {
    position: absolute;
    left: -12vw;
    line-height: 1;
    user-select: none;
    white-space: nowrap;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.65));
}
.season-fx-cross.season-fx-ltr {
    animation-name: seasonFxCrossLtr;
}
.season-fx-cross.season-fx-rtl {
    left: auto;
    right: -12vw;
    animation-name: seasonFxCrossRtl;
}
@keyframes seasonFxFall {
    0% { transform: translate3d(0, -10vh, 0) rotate(0deg); }
    100% { transform: translate3d(0, 110vh, 0) rotate(360deg); }
}
@keyframes seasonFxFallDrift {
    0% { transform: translate3d(0, -10vh, 0) rotate(0deg); }
    50% { transform: translate3d(40px, 50vh, 0) rotate(180deg); }
    100% { transform: translate3d(-30px, 110vh, 0) rotate(360deg); }
}
@keyframes seasonFxCrossLtr {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(120vw, 8px, 0); }
}
@keyframes seasonFxCrossRtl {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-120vw, -6px, 0); }
}
