/* ==========================================================================
   Saison-Schmuck: St. Martin (08.11. bis 11.11.; Plan „alle Saisons",
   Betreiber 25.10.2026)

   Laternenlicht: Papierlaternen schwingen und leuchten warm, Funken steigen
   auf, die Kinder ziehen mit Laternen zum Martinsfeuer, Martinsgänse fliegen
   im Rand, und manchmal reitet Sankt Martin mit rotem Mantel durchs Bild.
   Gerüst, Bremsen und gemeinsame Abläufe: public/css/saison.css.
   ========================================================================== */

.jt-saison--stmartin {
    --saison-akzent-rgb: 240, 178, 74;
    --saison-akzent-hell-rgb: 255, 214, 140;
    --saison-glut-rgb: 255, 140, 40;
    --saison-glimmen-rgb: 255, 190, 90;
    --saison-glanz-a: #fff6e0;
    --saison-glanz-b: #ffc65c;
    --saison-glanz-c: #ff9a3d;
    --saison-knopf-bild: url("/images/saison/stmartin-knopf.svg?v=1");
    /* Eine kleine Laterne hängt an der Karten-Kante und pendelt. */
    --saison-ecke-bild: url("/images/saison/stmartin-laterne.svg?v=1");
    --saison-ecke-lage: right 12px top 0;
    --saison-ecke-groesse: 26px 60px;
    --saison-ecke-ablauf: saisonMartinEcke 6s ease-in-out infinite;
}

/* Warmes Laternenlicht hinter dem Titel — läuft zu allen Seiten weich aus. */
.saison-martin-licht {
    left: 50%;
    top: 16%;
    width: min(680px, 92%);
    height: 76%;
    transform: translateX(-50%);
    border-radius: 50%;
    background: radial-gradient(closest-side, rgba(255, 170, 70, 0.26), transparent);
}

.saison-funke { transform-box: fill-box; transform-origin: center; }

.saison-martin-ecke--rechts { transform: scaleX(-1); }

/* Die Gänse etwas größer als die Plätze im Gerüst (44 px) — sonst sind sie nur weiße Flecken. */
.saison-rahmen .saison-martin-gans { width: 58px; }
.saison-rahmen .saison-martin-gans.saison-rahmen__flug--3 { width: 44px; }

/* Glut, die im freien Rand aufsteigt — fünf Funken je Seite, versetzt. */
.saison-martin-glut {
    position: absolute;
    bottom: -12px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: radial-gradient(circle, #ffe2a0 0%, #ffb454 45%, rgba(255, 140, 40, 0) 72%);
    box-shadow: 0 0 8px 2px rgba(255, 160, 60, 0.45);
    opacity: 0;
}

.saison-martin-glut--1 { left: 22%; }
.saison-martin-glut--2 { left: 54%; width: 4px; height: 4px; }
.saison-martin-glut--3 { left: 76%; }
.saison-martin-glut--4 { left: 36%; width: 3px; height: 3px; }
.saison-martin-glut--5 { left: 64%; width: 4px; height: 4px; }

/* ── Episch ── */

.jt-saison--episch .saison-martin-licht { animation: saisonLicht 5s ease-in-out infinite; }
.jt-saison--episch .saison-funke { animation: saisonMartinFunke 3.6s ease-out infinite; }
.jt-saison--episch .saison-funke--2 { animation-delay: 1.2s; animation-duration: 4.2s; }
.jt-saison--episch .saison-funke--3 { animation-delay: 2.4s; animation-duration: 3.9s; }
.jt-saison--episch .saison-martin-glut--1 { animation: saisonMartinAufstieg 11s linear infinite; }
.jt-saison--episch .saison-martin-glut--2 { animation: saisonMartinAufstieg 13s linear infinite -3s; }
.jt-saison--episch .saison-martin-glut--3 { animation: saisonMartinAufstieg 12s linear infinite -6.5s; }
.jt-saison--episch .saison-martin-glut--4 { animation: saisonMartinAufstieg 15s linear infinite -9s; }
.jt-saison--episch .saison-martin-glut--5 { animation: saisonMartinAufstieg 10s linear infinite -1.5s; }
.saison-rahmen__streifen--rechts .saison-martin-glut { animation-delay: -5s; }

/* ── Die Momente (Kopien aus saison.js auf .saison-buehne) ── */

.saison-buehne .saison-martin-reiter {
    position: absolute;
    left: 0;
    bottom: 5vh;
    width: 170px;
    filter: drop-shadow(0 0 16px rgba(255, 190, 110, 0.35));
    animation: saisonMartinReiten 8.6s linear forwards;
}

.saison-buehne .saison-martin-reiter svg { animation: saisonMartinWippen 0.5s ease-in-out infinite alternate; }
.saison-buehne .saison-martin-bein { transform-box: fill-box; transform-origin: 50% 0; animation: saisonMartinTrab 0.5s ease-in-out infinite alternate; }
.saison-buehne .saison-martin-bein--spaet { animation-delay: -0.25s; }
.saison-buehne .saison-wehen { animation: saisonWehen 1.4s ease-in-out infinite; }

.saison-buehne .saison-martin-zug {
    position: absolute;
    left: 0;
    top: var(--saison-y, 30vh);
    width: 220px;
    animation: saisonMartinSchweben 8s ease-in-out forwards;
}

.saison-buehne .saison-martin-zug .saison-pendeln { animation: saisonPendeln 2.4s ease-in-out infinite; }

/* ── Abläufe ── */

@keyframes saisonMartinEcke {
    0%, 100% { background-position: right 12px top 0; }
    30% { background-position: right 9px top 2px; }
    65% { background-position: right 15px top 1px; }
}

@keyframes saisonMartinFunke {
    0% { transform: translate(0, 0); opacity: 0; }
    15% { opacity: 0.95; }
    100% { transform: translate(4px, -34px); opacity: 0; }
}

@keyframes saisonMartinAufstieg {
    0% { transform: translate(0, 0); opacity: 0; }
    10% { opacity: 0.9; }
    50% { transform: translate(7px, -55vh); }
    88% { opacity: 0.55; }
    100% { transform: translate(-5px, -110vh); opacity: 0; }
}

@keyframes saisonMartinReiten {
    0% { transform: translateX(-210px); }
    100% { transform: translateX(calc(100vw + 40px)); }
}

@keyframes saisonMartinWippen {
    0% { transform: translateY(0); }
    100% { transform: translateY(-3px); }
}

@keyframes saisonMartinTrab {
    0% { transform: rotate(-14deg); }
    100% { transform: rotate(14deg); }
}

@keyframes saisonMartinSchweben {
    0% { transform: translate(-240px, 0); opacity: 0; }
    10% { opacity: 1; }
    50% { transform: translate(48vw, -18px); }
    90% { opacity: 1; }
    100% { transform: translate(calc(100vw + 40px), 0); opacity: 0; }
}
