/* Saison-Szenen - automatisch erzeugt von .zcode/saison-szenen-bauen.cjs.
   Nicht direkt bearbeiten; Aenderungen im Generator machen und neu bauen. */
/* ---------------------------------------------------------------- Farben hell */
html[data-saison="weihnachten"] { --sz-sky-1: #e6eeee; --sz-sky-2: #d3e2de; --sz-sky-3: #f6e3c4; --sz-far: #9aacac; --sz-mid: #667c65; --sz-near: #e9f1eb; --sz-light: #fffaf0; --sz-warm: #f6b94a; --sz-accent: #b3261e; --sz-accent-2: #2e6b34; --sz-ink: #24351f; --sz-scrim: rgba(255,250,240,.8); }
html[data-saison="winter"] { --sz-sky-1: #dff1fb; --sz-sky-2: #c6e4f4; --sz-sky-3: #eef8fd; --sz-far: #a9cbdd; --sz-mid: #6e9fb8; --sz-near: #f7fcff; --sz-light: #ffffff; --sz-warm: #f2b544; --sz-accent: #2b6f9e; --sz-accent-2: #7fc4e8; --sz-ink: #1d4a60; --sz-scrim: rgba(245,252,255,.76); }
html[data-saison="fasching"] { --sz-sky-1: #fbe7f7; --sz-sky-2: #f3d1ea; --sz-sky-3: #ead1f6; --sz-far: #c9a2d8; --sz-mid: #9b6bb5; --sz-near: #f7edf9; --sz-light: #fff8fe; --sz-warm: #ffd166; --sz-accent: #c2185b; --sz-accent-2: #6a1b9a; --sz-ink: #3c0a5e; --sz-scrim: rgba(255,248,254,.74); }
html[data-saison="ostern"] { --sz-sky-1: #e3f4ff; --sz-sky-2: #cdeaf7; --sz-sky-3: #f5fbf0; --sz-far: #a9d18e; --sz-mid: #6aa84f; --sz-near: #4b8b3b; --sz-light: #fffdf2; --sz-warm: #f6c445; --sz-accent: #e76f9e; --sz-accent-2: #7fb8de; --sz-ink: #1b4d20; --sz-scrim: rgba(250,255,244,.76); }
html[data-saison="fruehling"] { --sz-sky-1: #e8f4ff; --sz-sky-2: #f8e6f0; --sz-sky-3: #fdf7ef; --sz-far: #b7d7a8; --sz-mid: #7fb069; --sz-near: #4e8a3a; --sz-light: #fffafd; --sz-warm: #f6c445; --sz-accent: #e88bb5; --sz-accent-2: #9fd6ff; --sz-ink: #1d4f22; --sz-scrim: rgba(255,250,252,.76); }
html[data-saison="sommer"] { --sz-sky-1: #dff3ff; --sz-sky-2: #bfe8f8; --sz-sky-3: #eaf8ff; --sz-far: #8fc7d9; --sz-mid: #4a9b8a; --sz-near: #6aa84f; --sz-light: #fffdf2; --sz-warm: #ffd23f; --sz-accent: #f2a900; --sz-accent-2: #2b9eb3; --sz-ink: #014f7a; --sz-scrim: rgba(250,255,250,.74); }
html[data-saison="halloween"] { --sz-sky-1: #f6d6a8; --sz-sky-2: #e8b48f; --sz-sky-3: #c98d9a; --sz-far: #8f5a72; --sz-mid: #5e3a5e; --sz-near: #2b1b33; --sz-light: #fff3d6; --sz-warm: #ffb24a; --sz-accent: #e8751a; --sz-accent-2: #7b2d8e; --sz-ink: #2a1420; --sz-scrim: rgba(255,242,220,.76); }
html[data-saison="herbst"] { --sz-sky-1: #fbe9c6; --sz-sky-2: #f4d29a; --sz-sky-3: #e8b878; --sz-far: #c98f4e; --sz-mid: #9a5a2b; --sz-near: #5a3a1f; --sz-light: #fff6e0; --sz-warm: #ffb347; --sz-accent: #d2691e; --sz-accent-2: #8a9a3b; --sz-ink: #4a2c1a; --sz-scrim: rgba(255,247,230,.76); }
/* ---------------------------------------------------------------- Farben dunkel */
html[data-theme="dark"][data-saison="weihnachten"] { --sz-sky-1: #0b1f2a; --sz-sky-2: #123640; --sz-sky-3: #1d4a4a; --sz-far: #1d4545; --sz-mid: #17352e; --sz-near: #0d221c; --sz-light: #f3e8c8; --sz-warm: #ffc45c; --sz-accent: #e05545; --sz-accent-2: #7fb069; --sz-ink: #06100d; --sz-scrim: rgba(6,16,14,.64); }
html[data-theme="dark"][data-saison="winter"] { --sz-sky-1: #061724; --sz-sky-2: #0d2c40; --sz-sky-3: #17465d; --sz-far: #1a3f52; --sz-mid: #275a70; --sz-near: #d7eaf5; --sz-light: #eaf7ff; --sz-warm: #ffc861; --sz-accent: #7fc4e8; --sz-accent-2: #b9dff2; --sz-ink: #071b26; --sz-scrim: rgba(5,15,23,.62); }
html[data-theme="dark"][data-saison="fasching"] { --sz-sky-1: #1a0b2e; --sz-sky-2: #2e104d; --sz-sky-3: #451a63; --sz-far: #5a2d78; --sz-mid: #7a3699; --sz-near: #3a1850; --sz-light: #ffe9fb; --sz-warm: #ffd166; --sz-accent: #ff4fa3; --sz-accent-2: #b388ff; --sz-ink: #12051f; --sz-scrim: rgba(18,5,31,.64); }
html[data-theme="dark"][data-saison="ostern"] { --sz-sky-1: #0b1f2a; --sz-sky-2: #123640; --sz-sky-3: #1f4a3a; --sz-far: #265c42; --sz-mid: #357a4d; --sz-near: #1c4a32; --sz-light: #f4ffe8; --sz-warm: #ffd166; --sz-accent: #ff8fb3; --sz-accent-2: #9fd6ff; --sz-ink: #071b12; --sz-scrim: rgba(7,20,14,.62); }
html[data-theme="dark"][data-saison="fruehling"] { --sz-sky-1: #101a33; --sz-sky-2: #241a40; --sz-sky-3: #3a2450; --sz-far: #33475a; --sz-mid: #4a6b52; --sz-near: #223a2c; --sz-light: #ffeaf4; --sz-warm: #ffd166; --sz-accent: #ff9ec7; --sz-accent-2: #9fd6ff; --sz-ink: #0b1220; --sz-scrim: rgba(9,10,24,.62); }
html[data-theme="dark"][data-saison="sommer"] { --sz-sky-1: #061826; --sz-sky-2: #0b2a3a; --sz-sky-3: #12445a; --sz-far: #1d526a; --sz-mid: #2a6d5c; --sz-near: #173f36; --sz-light: #fff6d6; --sz-warm: #ffd166; --sz-accent: #ffb703; --sz-accent-2: #6fd6e8; --sz-ink: #04121c; --sz-scrim: rgba(4,14,20,.62); }
html[data-theme="dark"][data-saison="halloween"] { --sz-sky-1: #0f0719; --sz-sky-2: #21102e; --sz-sky-3: #3b1a3f; --sz-far: #341a3b; --sz-mid: #47264a; --sz-near: #1d0d24; --sz-light: #ffeccc; --sz-warm: #ffb24a; --sz-accent: #ff8a1f; --sz-accent-2: #b06ab3; --sz-ink: #07020b; --sz-scrim: rgba(8,3,13,.66); }
html[data-theme="dark"][data-saison="herbst"] { --sz-sky-1: #1a0f0a; --sz-sky-2: #2e1a0f; --sz-sky-3: #4a2a16; --sz-far: #452c1b; --sz-mid: #5c3822; --sz-near: #2e1a10; --sz-light: #ffe8c2; --sz-warm: #ffb347; --sz-accent: #ff8a3d; --sz-accent-2: #a3b35a; --sz-ink: #0d0704; --sz-scrim: rgba(14,8,5,.64); }


:root {
  --sz-snow: #fffdf7;
  --sz-snow-shade: #dbeaf3;
  --sz-snow-deep: #b9d3e2;
  --sz-pine: #2f5c46;
  --sz-pine-dark: #173b2b;
  --sz-pine-light: #527f61;
  --sz-wood: #7b5435;
  --sz-wood-dark: #4c3421;
  --sz-wood-light: #a87a4f;
  --sz-gold: #f2b544;
  --sz-gold-light: #ffd97a;
  --sz-gold-dark: #b97b18;
  --sz-skin: #f2c69e;
  --sz-skin-shade: #d8a077;
  --sz-hair: #8a5a2b;
  --sz-hair-light: #b07c48;
  --sz-pumpkin: #e8751a;
  --sz-pumpkin-dark: #b95310;
  --sz-pumpkin-light: #ff9e3d;
  --sz-ghost: #fff8e8;
  --sz-ghost-shade: #ddcfb6;
  --sz-bunny: #fff7ea;
  --sz-bunny-shade: #e3d5c0;
  --sz-pink: #e8a0a8;
  --sz-pink-dark: #bd6c78;
  --sz-blossom: #e9a8b8;
  --sz-hedgehog: #8a5a33;
  --sz-hedgehog-light: #b58050;
  --sz-spine: #422816;
  --sz-apple: #c94f3d;
  --sz-apple-light: #e87a5f;
  --sz-grape: #6b4a7a;
  --sz-meadow: #5b9a4a;
  --sz-meadow-dark: #3d7033;
  --sz-meadow-light: #82ba63;
  --sz-window: #ffc964;
  --sz-window-light: #fff0b3;
  --sz-shadow: rgba(22, 18, 12, .18);
  --sz-shadow-strong: rgba(14, 10, 6, .34);
  --sz-highlight: rgba(255, 255, 255, .42);
  --sz-line: #2a2118;
  --sz-wolke: rgba(255, 255, 255, .62);
}
html[data-theme="dark"] {
  --sz-snow: #eef8ff;
  --sz-snow-shade: #bdd6e5;
  --sz-snow-deep: #8fb2c7;
  --sz-pine: #244b39;
  --sz-pine-dark: #102b1f;
  --sz-pine-light: #3d6b50;
  --sz-wood: #5c3e27;
  --sz-wood-dark: #352316;
  --sz-wood-light: #825a36;
  --sz-gold: #f7c35e;
  --sz-gold-light: #ffe39a;
  --sz-gold-dark: #b97b18;
  --sz-skin: #e8b890;
  --sz-skin-shade: #c28a62;
  --sz-hair: #6b4322;
  --sz-hair-light: #8a5a2b;
  --sz-pumpkin: #f07a1c;
  --sz-pumpkin-dark: #a7490e;
  --sz-pumpkin-light: #ffa94a;
  --sz-ghost: #fff4dc;
  --sz-ghost-shade: #c9bda8;
  --sz-bunny: #f5ead7;
  --sz-bunny-shade: #cbbda8;
  --sz-pink: #d98a94;
  --sz-pink-dark: #a85e6a;
  --sz-blossom: #d493a6;
  --sz-hedgehog: #6e4528;
  --sz-hedgehog-light: #96643c;
  --sz-spine: #2a180c;
  --sz-apple: #b84332;
  --sz-apple-light: #d66a4f;
  --sz-grape: #5b3d6b;
  --sz-meadow: #3f7a42;
  --sz-meadow-dark: #244c2b;
  --sz-meadow-light: #5f9a55;
  --sz-window: #ffd27a;
  --sz-window-light: #fff0b3;
  --sz-shadow: rgba(0, 0, 0, .3);
  --sz-shadow-strong: rgba(0, 0, 0, .5);
  --sz-highlight: rgba(255, 255, 255, .2);
  --sz-line: #100c08;
  --sz-wolke: rgba(220, 235, 245, .14);
}


/* Datumsabhaengige Motive: Kerzenzahlen und Festtage kommen aus saison-kern.js. */
.sz-adventkranz, .sz-besuch, .sz-christkind-datum { display: none; }
.sz-adventkranz, .sz-besuch { position: absolute; z-index: 2; bottom: 1.8rem; }
.sz-adventkranz { right: .6rem; width: clamp(155px, 21vw, 260px); height: auto; }
.sz-besuch { left: 1rem; height: 145px; width: auto; }
.sz-nikolaus, .sz-koenige { height: 170px; }
html[data-saison="weihnachten"][data-adventkranz="true"] .sz-adventkranz { display: block; }
html[data-saison="weihnachten"][data-nikolaus="true"] .sz-nikolaus,
html[data-saison="weihnachten"][data-koenige="true"] .sz-koenige,
html[data-saison="weihnachten"][data-christkind="true"] .sz-christkind-datum { display: block; }
.sz-advent-flamme { display: none; }
html[data-advent-kerzen="1"] [data-flamme="1"] { display: inline; }
html[data-advent-kerzen="2"] [data-flamme="1"],
html[data-advent-kerzen="2"] [data-flamme="2"] { display: inline; }
html[data-advent-kerzen="3"] [data-flamme="1"],
html[data-advent-kerzen="3"] [data-flamme="2"],
html[data-advent-kerzen="3"] [data-flamme="3"] { display: inline; }
html[data-advent-kerzen="4"] [data-flamme="1"],
html[data-advent-kerzen="4"] [data-flamme="2"],
html[data-advent-kerzen="4"] [data-flamme="3"],
html[data-advent-kerzen="4"] [data-flamme="4"] { display: inline; }
@media (max-width: 40rem) {
  .sz-besuch { left: .3rem; height: 105px; }
  .sz-adventkranz { right: .3rem; }
  .sz-nikolaus, .sz-koenige { height: 120px; }
}

.sz-feuerwerk { display:none; position:absolute; inset:0; z-index:0; pointer-events:none; }
html[data-saison="weihnachten"][data-feuerwerk="true"] .sz-feuerwerk { display:block; }
.sz-feuerwerk > svg { position:absolute; top:1.6rem; width:32%; height:190px; overflow:visible; }
.sz-feuerwerk > svg:first-child { left:0; }
.sz-feuerwerk > svg:last-child { right:0; }
@media (max-width:40rem) {
  .sz-feuerwerk > svg { width:38%; top:6rem; height:140px; }
}
@media (prefers-reduced-motion:no-preference) {
  .sz-feuerwerk-bluete { animation:sz-funken 7s ease-out infinite; animation-delay:var(--fw-delay); }
}
@keyframes sz-funken {
  0%, 8% { opacity:0; transform:scale(.25); }
  18%, 34% { opacity:1; transform:scale(1); }
  63%, 100% { opacity:0; transform:scale(1.08) translateY(8px); }
}


/* ---------------------------------------------------------------- Werkstoff-Klassen */
.sz-snow { fill: var(--sz-snow); }
.sz-snow-shade { fill: var(--sz-snow-shade); }
.sz-snow-deep { fill: var(--sz-snow-deep); }
.sz-pine { fill: var(--sz-pine); }
.sz-pine-dark { fill: var(--sz-pine-dark); }
.sz-pine-light { fill: var(--sz-pine-light); }
.sz-wood { fill: var(--sz-wood); }
.sz-wood-dark { fill: var(--sz-wood-dark); }
.sz-wood-light { fill: var(--sz-wood-light); }
.sz-gold { fill: var(--sz-gold); }
.sz-gold-light { fill: var(--sz-gold-light); }
.sz-gold-dark { fill: var(--sz-gold-dark); }
.sz-skin { fill: var(--sz-skin); }
.sz-skin-shade { fill: var(--sz-skin-shade); }
.sz-hair { fill: var(--sz-hair); }
.sz-hair-light { fill: var(--sz-hair-light); }
.sz-pumpkin { fill: var(--sz-pumpkin); }
.sz-pumpkin-dark { fill: var(--sz-pumpkin-dark); }
.sz-pumpkin-light { fill: var(--sz-pumpkin-light); }
.sz-ghost { fill: var(--sz-ghost); }
.sz-ghost-shade { fill: var(--sz-ghost-shade); }
.sz-bunny { fill: var(--sz-bunny); }
.sz-bunny-shade { fill: var(--sz-bunny-shade); }
.sz-pink { fill: var(--sz-pink); }
.sz-pink-dark { fill: var(--sz-pink-dark); }
.sz-hedgehog { fill: var(--sz-hedgehog); }
.sz-hedgehog-light { fill: var(--sz-hedgehog-light); }
.sz-spine { fill: var(--sz-spine); }
.sz-apple { fill: var(--sz-apple); }
.sz-apple-light { fill: var(--sz-apple-light); }
.sz-grape { fill: var(--sz-grape); }
.sz-meadow { fill: var(--sz-meadow); color: var(--sz-meadow); }
.sz-meadow-dark { fill: var(--sz-meadow-dark); color: var(--sz-meadow-dark); }
.sz-meadow-light { fill: var(--sz-meadow-light); color: var(--sz-meadow-light); }
.sz-window { fill: var(--sz-window); }
.sz-window-light { fill: var(--sz-window-light); }
.sz-shade { fill: var(--sz-shadow); }
.sz-gleam { fill: var(--sz-highlight); }
.sz-wolke { fill: var(--sz-wolke); }

/* ---------------------------------------------------------------- Hero im Intro */
.jupi_intro_start {
  position: relative;
  min-height: 19rem;
  padding: 1.45rem 0 1.1rem;
  align-items: start;
  align-content: start;
  isolation: isolate;
  margin-bottom: 1.35rem;
}
.jupi_saison_hero {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 7%, #000 79%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, #000 7%, #000 79%, transparent 100%);
}
.jupi_saison_hero_defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.jupi_szene { display: none; width: 100%; height: 100%; }
html[data-saison="weihnachten"] .jupi_szene[data-szene="weihnachten"],
html[data-saison="winter"] .jupi_szene[data-szene="winter"],
html[data-saison="fasching"] .jupi_szene[data-szene="fasching"],
html[data-saison="ostern"] .jupi_szene[data-szene="ostern"],
html[data-saison="fruehling"] .jupi_szene[data-szene="fruehling"],
html[data-saison="sommer"] .jupi_szene[data-szene="sommer"],
html[data-saison="halloween"] .jupi_szene[data-szene="halloween"],
html[data-saison="herbst"] .jupi_szene[data-szene="herbst"] { display: block; }
.jupi_saison_schleier {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(ellipse 56% 44% at 50% 32%, var(--sz-scrim), transparent 72%);
}
.jupi_intro_start > h1,
.jupi_intro_start > p,
.jupi_intro_start > .jupi_lab_link { position: relative; z-index: 2; }
@media (max-width: 63.99rem) {
  .jupi_intro.jupi_intro_start {
    display: block;
    min-height: 17.5rem;
    padding: 1.15rem .8rem 1rem;
    margin-bottom: 5.2rem;
  }
  .jupi_intro_start::before { display: none; }
  /* Textbereich freihalten, auch für den höheren Kirchturm und zwei Textzeilen. */
  .jupi_saison_hero .sz-motive {
    transform-origin: 0 0;
    transform: translateY(60px) scaleY(.8);
  }
  .jupi_intro.jupi_intro_start > .jupi_lab_link {
    position: absolute;
    top: calc(100% + .55rem);
    left: 50%;
    margin: 0;
    transform: translateX(-50%);
    z-index: 3;
  }
}

/* ---------------------------------------------------------------- Szene */
.sz-sky { fill: url(#saiSzeneHimmel); }
.sz-sonne { display: inline; }
.sz-mond, .sz-sterne, .sz-gluehwurm { display: none; }
.sz-mond-hell { display: inline; }
html[data-theme="dark"] .sz-sonne, .sz-dark .sz-sonne { display: none; }
html[data-theme="dark"] .sz-mond, html[data-theme="dark"] .sz-sterne, html[data-theme="dark"] .sz-gluehwurm,
.sz-dark .sz-mond, .sz-dark .sz-sterne, .sz-dark .sz-gluehwurm { display: inline; }
.sz-far { fill: var(--sz-far); }
.sz-mid { fill: var(--sz-mid); }
.sz-near { fill: var(--sz-near); }
.sz-light { fill: var(--sz-light); }
.sz-warm { fill: var(--sz-warm); }
.sz-accent { fill: var(--sz-accent); }
.sz-accent-2 { fill: var(--sz-accent-2); }
.sz-ink, .sz-tree { fill: var(--sz-ink); }
.sz-outline { stroke: var(--sz-ink); stroke-width: 2; stroke-linejoin: round; }
.sz-blossom { fill: var(--sz-accent); }
.sz-c-accent { color: var(--sz-accent); }
.sz-c-accent-2 { color: var(--sz-accent-2); }
.sz-c-warm { color: var(--sz-warm); }
@media (prefers-reduced-motion: no-preference) {
  .sz-ghost { animation: sz-schweben 7s ease-in-out infinite alternate; }
  .sz-mond { animation: sz-atmen 9s ease-in-out infinite alternate; }
}
@keyframes sz-schweben { from { transform: translateY(0); } to { transform: translateY(-5px); } }
@keyframes sz-atmen { from { opacity: .92; } to { opacity: 1; } }
@media (max-width: 47.99rem) {
  .jupi_saison_schleier { background: radial-gradient(ellipse 82% 40% at 50% 30%, var(--sz-scrim), transparent 75%); }
}
