/* Saison-Themes: Logo-Overlay + Partikel */
.af-season-logo { position:relative; display:inline-block; line-height:0; max-width:100%; vertical-align:middle; }
.af-season-logo > img { display:block; }
.af-season-overlay { position:absolute; left:0; top:0; width:100%; height:100%; overflow:visible; pointer-events:none; }

/* Partikel nur im obersten Bereich (80px), unten weich ausgeblendet */
.af-season-fx { position:absolute; left:0; top:0; width:100%; height:80px; pointer-events:none; z-index:5;
	-webkit-mask-image:linear-gradient(to bottom, #000 45%, transparent 100%); mask-image:linear-gradient(to bottom, #000 45%, transparent 100%); }
.af-season-fx-fixed { position:fixed; z-index:9990; }

/* kleine SVG-Animationen */
.af-season-overlay .af-sway    { animation:af-sway 4s ease-in-out infinite; transform-origin:410px 20px; }
.af-season-overlay .af-wave    { animation:af-wave 2.4s ease-in-out infinite; transform-origin:3px -85px; }
.af-season-overlay .af-flicker { animation:af-flicker 1.2s ease-in-out infinite; transform-box:fill-box; transform-origin:50% 100%; }
.af-season-overlay .af-sway-ball { animation:af-sway 3.2s ease-in-out infinite; transform-origin:455px 46px; }
.af-season-overlay .af-flutter { animation:af-flutter 2.6s ease-in-out infinite; transform-origin:304px 114px; }
.af-season-overlay .af-glow   { animation:af-glow 2.4s ease-in-out infinite; transform-box:fill-box; transform-origin:50% 50%; }
.af-season-overlay .af-twinkle { animation:af-twinkle 1.8s ease-in-out infinite; }
.af-season-overlay .af-twinkle-1 { animation-delay:-.6s; }
.af-season-overlay .af-twinkle-2 { animation-delay:-1.2s; }

@keyframes af-sway    { 50% { transform:rotate(-4deg); } }
@keyframes af-wave    { 50% { transform:skewY(-6deg) scaleX(.94); } }
@keyframes af-flicker { 50% { transform:scale(.88, 1.08); } }
@keyframes af-twinkle { 50% { opacity:.45; } }
@keyframes af-flutter { 50% { transform:rotate(-7deg) scaleX(1.04); } }@keyframes af-glow    { 50% { transform:scale(1.12); filter:drop-shadow(0 0 6px #ffd54f); } }

@media (prefers-reduced-motion: reduce) {
	.af-season-overlay * { animation:none !important; }
}

/* Vorschau-Hinweis */
.af-season-badge { position:fixed; left:12px; bottom:12px; z-index:99999; background:#1d1d1d; color:#fff; font:13px/1.3 system-ui, sans-serif; padding:8px 12px; border-radius:6px; box-shadow:0 2px 10px rgba(0,0,0,.25); }
.af-season-badge a { color:#ffd54f; margin-left:8px; text-decoration:underline; }
