/* ===== Mandarunde – gemeinsames Stylesheet mit 5 Design-Varianten =====
   Jede Variante setzt nur Variablen (und wenige Sonderregeln am Dateiende). */

:root,
[data-theme="klassisch"]{
  --bg: radial-gradient(1200px 600px at 50% -10%, #b3303a55, transparent 60%),
        radial-gradient(900px 500px at 100% 100%, #e9b44c33, transparent 60%),
        linear-gradient(180deg,#5a0c17 0%, #4a0a12 100%);
  --text:#fbf1dc; --muted:#fbf1dccc; --accent:#e9b44c; --heading:#fbf1dc;
  --card-bg:linear-gradient(180deg,#ffffff14,#ffffff08); --card-border:1px solid #ffffff2b; --card-shadow:0 20px 50px #0004;
  --tile-bg:#fbf1dc; --tile-text:#8c1423; --tile-sub:#3a0c12; --tile-border:0;
  --pill-bg:#fbf1dc; --pill-text:#8c1423;
  --btn-bg:#e9b44c; --btn-text:#4a0a12; --ghost:#ffffff66;
  --bar-bg:#2c060bee; --bar-text:#fbf1dc;
  --font-head:"Playfair Display",Georgia,serif; --font-kicker:"Pacifico","Brush Script MT",cursive; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:none; --kicker-spacing:0; --head-weight:800;
  --radius:24px; --tile-radius:16px; --snow:rgba(255,255,255,.8); --theme-color:#6b0f1a;
}

[data-theme="winternacht"]{
  --bg: radial-gradient(900px 500px at 80% -10%, #3b5bb855, transparent 60%),
        radial-gradient(700px 400px at 0% 100%, #6a4bd033, transparent 60%),
        linear-gradient(180deg,#0b1530 0%, #050a1a 100%);
  --text:#e8eefc; --muted:#e8eefcbb; --accent:#9fd0ff; --heading:#ffffff;
  --card-bg:#0f1c40cc; --card-border:1px solid #9fd0ff33; --card-shadow:0 0 0 1px #0000, 0 24px 60px #0008;
  --tile-bg:#13224a; --tile-text:#ffffff; --tile-sub:#c9d8f5; --tile-border:1px solid #9fd0ff55;
  --pill-bg:transparent; --pill-text:#9fd0ff;
  --btn-bg:#9fd0ff; --btn-text:#07102a; --ghost:#9fd0ff77;
  --bar-bg:#07102aee; --bar-text:#e8eefc;
  --font-head:"Cinzel",Georgia,serif; --font-kicker:"Cinzel",Georgia,serif; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:uppercase; --kicker-spacing:.3em; --head-weight:700;
  --radius:10px; --tile-radius:6px; --snow:rgba(200,225,255,.85); --theme-color:#0b1530;
}

[data-theme="tanne"]{
  --bg: radial-gradient(1000px 500px at 50% -10%, #2f7a5b66, transparent 60%),
        linear-gradient(180deg,#0f3d2e 0%, #082319 100%);
  --text:#f7efdc; --muted:#f7efdccc; --accent:#e2b659; --heading:#f7efdc;
  --card-bg:#ffffff10; --card-border:1px solid #e2b65944; --card-shadow:0 20px 50px #0005;
  --tile-bg:#f7efdc; --tile-text:#14503c; --tile-sub:#0b2e22; --tile-border:0;
  --pill-bg:#b3202c; --pill-text:#fff4e0;
  --btn-bg:#b3202c; --btn-text:#fff4e0; --ghost:#f7efdc66;
  --bar-bg:#061a13ee; --bar-text:#f7efdc;
  --font-head:"Playfair Display",Georgia,serif; --font-kicker:"Pacifico","Brush Script MT",cursive; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:none; --kicker-spacing:0; --head-weight:800;
  --radius:32px; --tile-radius:20px; --snow:rgba(255,255,255,.75); --theme-color:#0f3d2e;
}

[data-theme="lebkuchen"]{
  --bg: radial-gradient(#e7cfa6 1.5px, transparent 1.6px) 0 0/22px 22px, #f3e3c7;
  --text:#4b2a16; --muted:#4b2a16cc; --accent:#b3202c; --heading:#6b3a1e;
  --card-bg:#fff8e8; --card-border:2px dashed #c79a63; --card-shadow:0 10px 0 #d9bd8f;
  --tile-bg:#6b3a1e; --tile-text:#fff3dc; --tile-sub:#f3e3c7; --tile-border:2px dashed #fff3dc88;
  --pill-bg:#b3202c; --pill-text:#fff3dc;
  --btn-bg:#6b3a1e; --btn-text:#fff3dc; --ghost:#6b3a1e88;
  --bar-bg:#4b2a16f2; --bar-text:#fff3dc;
  --font-head:"Mountains of Christmas","Playfair Display",Georgia,serif; --font-kicker:"Mountains of Christmas",Georgia,serif; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:none; --kicker-spacing:.02em; --head-weight:700;
  --radius:28px; --tile-radius:18px; --snow:rgba(255,255,255,.95); --theme-color:#f3e3c7;
}

[data-theme="schnee"]{
  --bg:#f6f8fb;
  --text:#1b2430; --muted:#1b2430aa; --accent:#d0202f; --heading:#1b2430;
  --card-bg:#ffffff; --card-border:1px solid #dde3ec; --card-shadow:0 1px 2px #1b243010;
  --tile-bg:#f6f8fb; --tile-text:#1b2430; --tile-sub:#1b2430; --tile-border:1px solid #dde3ec;
  --pill-bg:#1b2430; --pill-text:#ffffff;
  --btn-bg:#d0202f; --btn-text:#ffffff; --ghost:#1b243055;
  --bar-bg:#1b2430f2; --bar-text:#ffffff;
  --font-head:"Space Grotesk",system-ui,sans-serif; --font-kicker:"Space Grotesk",system-ui,sans-serif; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:uppercase; --kicker-spacing:.25em; --head-weight:700;
  --radius:8px; --tile-radius:6px; --snow:rgba(150,170,195,.55); --theme-color:#f6f8fb;
}


/* ===== Fünf weitere Design-Varianten (6–10) ===== */
[data-theme="schwoich"]{
  --bg: radial-gradient(1000px 520px at 50% -10%, #5b8be066, transparent 60%), linear-gradient(180deg,#234f9c 0%, #14306a 100%);
  --text:#eef3fb; --muted:#eef3fbcc; --accent:#e9b44c; --heading:#ffffff;
  --card-bg:#ffffff12; --card-border:1px solid #dfe3e855; --card-shadow:0 20px 50px #0005;
  --tile-bg:#dfe3e8; --tile-text:#14306a; --tile-sub:#14213a; --tile-border:0;
  --pill-bg:#e9b44c; --pill-text:#14213a;
  --btn-bg:#e9b44c; --btn-text:#14213a; --ghost:#dfe3e888;
  --bar-bg:#0d1f47f2; --bar-text:#eef3fb;
  --font-head:"Playfair Display",Georgia,serif; --font-kicker:"Cinzel",Georgia,serif; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:uppercase; --kicker-spacing:.22em; --head-weight:800;
  --radius:6px; --tile-radius:4px; --snow:rgba(255,255,255,.8); --theme-color:#1b3f85;
}
[data-theme="gluehwein"]{
  --bg: radial-gradient(900px 500px at 15% -10%, #ff7a3d44, transparent 60%), radial-gradient(800px 500px at 100% 100%, #c2185b44, transparent 60%), linear-gradient(180deg,#3a0f2e 0%, #1f0719 100%);
  --text:#fde9dc; --muted:#fde9dccc; --accent:#ff9a4d; --heading:#fff2e6;
  --card-bg:linear-gradient(180deg,#ffffff16,#ffffff08); --card-border:1px solid #ff9a4d44; --card-shadow:0 20px 60px #0007;
  --tile-bg:#5a1740; --tile-text:#ffd9b8; --tile-sub:#fde9dc; --tile-border:1px solid #ff9a4d66;
  --pill-bg:#ff9a4d; --pill-text:#2a0a20;
  --btn-bg:#ff9a4d; --btn-text:#2a0a20; --ghost:#fde9dc66;
  --bar-bg:#1a0614f2; --bar-text:#fde9dc;
  --font-head:"Playfair Display",Georgia,serif; --font-kicker:"Pacifico","Brush Script MT",cursive; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:none; --kicker-spacing:0; --head-weight:800;
  --radius:36px; --tile-radius:22px; --snow:rgba(255,220,190,.7); --theme-color:#3a0f2e;
}
[data-theme="almhuette"]{
  --bg: repeating-linear-gradient(90deg,#00000014 0 2px,transparent 2px 120px), radial-gradient(900px 480px at 50% 0%, #f2a54a44, transparent 65%), linear-gradient(180deg,#4a2f1c 0%, #2a1a0f 100%);
  --text:#f6e7cf; --muted:#f6e7cfcc; --accent:#f2a54a; --heading:#fff3dc;
  --card-bg:#00000033; --card-border:2px solid #7a5232; --card-shadow:inset 0 1px 0 #ffffff14, 0 16px 40px #0006;
  --tile-bg:#f6e7cf; --tile-text:#5a3317; --tile-sub:#3a2212; --tile-border:2px solid #c79a63;
  --pill-bg:#9c2b2b; --pill-text:#fff3dc;
  --btn-bg:#f2a54a; --btn-text:#2a1a0f; --ghost:#f6e7cf66;
  --bar-bg:#1c110af2; --bar-text:#f6e7cf;
  --font-head:"Mountains of Christmas","Playfair Display",Georgia,serif; --font-kicker:"Pacifico",cursive; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:none; --kicker-spacing:0; --head-weight:700;
  --radius:14px; --tile-radius:8px; --snow:rgba(255,240,215,.7); --theme-color:#4a2f1c;
}
[data-theme="polarlicht"]{
  --bg: radial-gradient(900px 420px at 20% 0%, #2ee6a644, transparent 60%), radial-gradient(800px 420px at 85% 10%, #c84bff33, transparent 60%), linear-gradient(180deg,#061a1f 0%, #020a0d 100%);
  --text:#e3fbf4; --muted:#e3fbf4b3; --accent:#2ee6a6; --heading:#ffffff;
  --card-bg:#0b2a30b3; --card-border:1px solid #2ee6a640; --card-shadow:0 0 40px #2ee6a61a;
  --tile-bg:#031114; --tile-text:#2ee6a6; --tile-sub:#e3fbf4; --tile-border:1px solid #2ee6a666;
  --pill-bg:transparent; --pill-text:#e58bff;
  --btn-bg:#2ee6a6; --btn-text:#03181c; --ghost:#2ee6a677;
  --bar-bg:#020d10f2; --bar-text:#e3fbf4;
  --font-head:"Space Grotesk",system-ui,sans-serif; --font-kicker:"Space Grotesk",system-ui,sans-serif; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:uppercase; --kicker-spacing:.35em; --head-weight:700;
  --radius:18px; --tile-radius:12px; --snow:rgba(170,255,225,.6); --theme-color:#061a1f;
}
[data-theme="zuckerstange"]{
  --bg: repeating-linear-gradient(135deg,#d0202f12 0 18px,transparent 18px 36px,#1e7a4a10 36px 54px,transparent 54px 72px), #fffaf6;
  --text:#2a2a2a; --muted:#2a2a2ab3; --accent:#d0202f; --heading:#1e7a4a;
  --card-bg:#ffffff; --card-border:3px solid #d0202f; --card-shadow:8px 8px 0 #1e7a4a;
  --tile-bg:#d0202f; --tile-text:#ffffff; --tile-sub:#fff2f0; --tile-border:0;
  --pill-bg:#1e7a4a; --pill-text:#ffffff;
  --btn-bg:#1e7a4a; --btn-text:#ffffff; --ghost:#2a2a2a66;
  --bar-bg:#1e7a4af2; --bar-text:#ffffff;
  --font-head:"Pacifico","Brush Script MT",cursive; --font-kicker:"Space Grotesk",system-ui,sans-serif; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:uppercase; --kicker-spacing:.3em; --head-weight:400;
  --radius:22px; --tile-radius:14px; --snow:rgba(208,32,47,.25); --theme-color:#fffaf6;
}

/* ===== Basis ===== */
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--text);min-height:100vh;background:var(--bg);background-attachment:fixed;overflow-x:hidden;transition:color .3s}
#snow{position:fixed;inset:0;pointer-events:none;z-index:0}
main{position:relative;z-index:1;max-width:960px;margin:0 auto;padding:0 16px 120px}
a{color:inherit}

nav.top{position:relative;z-index:2;display:flex;justify-content:center;gap:8px;padding:18px 16px 0}
nav.top a{text-decoration:none;font-weight:600;font-size:.95rem;padding:8px 18px;border-radius:999px;border:1.5px solid transparent;color:var(--muted)}
nav.top a[aria-current="page"]{border-color:var(--ghost);color:var(--text)}
nav.top a:hover{color:var(--text)}

header{text-align:center;padding:40px 0 8px}
.kicker{font-family:var(--font-kicker);font-size:clamp(1.6rem,6vw,3rem);color:var(--accent);text-transform:var(--kicker-transform);letter-spacing:var(--kicker-spacing)}
.sub{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;margin-top:6px}
h1{font-family:var(--font-head);font-weight:var(--head-weight);color:var(--heading);font-size:clamp(2.2rem,9vw,5rem);line-height:1.05;margin:18px 0 14px;overflow-wrap:anywhere}
h1.small{font-size:clamp(2rem,7vw,3.6rem)}
.route{display:inline-flex;gap:12px;align-items:center;font-family:var(--font-head);font-size:clamp(1.05rem,3.5vw,1.5rem);
  background:var(--pill-bg);color:var(--pill-text);padding:10px 22px;border-radius:999px;font-weight:600;border:1.5px solid var(--pill-text)}
.date{margin-top:18px;font-family:var(--font-head);font-size:clamp(1.2rem,4vw,1.8rem);color:var(--accent)}

.card{background:var(--card-bg);border:var(--card-border);border-radius:var(--radius);padding:28px 20px;margin-top:36px;box-shadow:var(--card-shadow)}
.card h2{font-family:var(--font-head);text-align:center;font-size:1.05rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}

/* Countdown */
.count{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:640px;margin:0 auto}
.unit{background:var(--tile-bg);color:var(--tile-text);border:var(--tile-border);border-radius:var(--tile-radius);padding:16px 4px 12px;text-align:center}
.unit b{display:block;font-family:var(--font-head);font-size:clamp(2rem,9vw,3.8rem);line-height:1;font-variant-numeric:tabular-nums}
.unit span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;opacity:.75}
.state{display:none;text-align:center;font-family:var(--font-kicker);font-size:clamp(1.5rem,6vw,2.4rem);padding:12px 0}
.state small{display:block;font-family:var(--font-body);font-size:1rem;color:var(--muted);margin-top:6px}
.note{text-align:center;margin-top:16px;color:var(--muted);font-size:.9rem}

.tagline{text-align:center;font-family:var(--font-kicker);font-size:clamp(1.4rem,5vw,2.3rem);line-height:1.5;margin:44px 0 8px}
.tagline span{color:var(--accent)}
.cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px}
.btn{appearance:none;border:0;cursor:pointer;font:600 1rem var(--font-body);padding:14px 24px;border-radius:999px;background:var(--btn-bg);color:var(--btn-text);text-decoration:none;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--text);border:1.5px solid var(--ghost)}

.flyer{margin:40px auto 0;max-width:420px}
.flyer img{width:100%;border-radius:var(--tile-radius);display:block;box-shadow:0 20px 50px #0005}
footer{text-align:center;color:var(--muted);font-size:.85rem;margin-top:48px}

/* ===== Fahrplan ===== */
.plan{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.plan{grid-template-columns:1fr}}
.leg{background:var(--tile-bg);color:var(--tile-sub);border:var(--tile-border);border-radius:var(--tile-radius);padding:22px}
.leg .tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--tile-text);font-weight:600;opacity:.85}
.leg .time{font-family:var(--font-head);font-weight:var(--head-weight);font-size:clamp(1.7rem,6vw,2.1rem);margin:6px 0;color:var(--tile-text)}
.leg .time i{font-style:normal;opacity:.5;margin:0 6px}
.leg .train{font-weight:600}
.leg .where{opacity:.75;font-size:.9rem;margin-top:2px}
.leg .dur{margin-top:10px;font-size:.85rem;opacity:.75}

.timeline{list-style:none;padding:0;max-width:560px;margin:0 auto;position:relative}
.timeline::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:var(--ghost)}
.timeline li{position:relative;padding:0 0 26px 40px}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;background:var(--theme-color);border:2px solid var(--accent)}
.timeline li.done{opacity:.55}
.timeline li.done::before{background:var(--accent)}
.timeline li.next::before{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 30%,transparent)}
.timeline time{font-family:var(--font-head);font-weight:var(--head-weight);font-size:1.4rem;color:var(--accent);font-variant-numeric:tabular-nums}
.timeline strong{display:block;font-size:1.05rem;margin-top:2px}
.timeline span{color:var(--muted);font-size:.92rem}
.timeline .badge{display:none;margin-left:8px;font:600 .7rem var(--font-body);text-transform:uppercase;letter-spacing:.1em;background:var(--btn-bg);color:var(--btn-text);padding:3px 8px;border-radius:999px;vertical-align:middle}
.timeline li.next .badge{display:inline-block}

/* ===== Design-Umschalter ===== */
.switcher{position:fixed;z-index:10;left:50%;bottom:14px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;
  background:var(--bar-bg);color:var(--bar-text);padding:6px;border-radius:999px;box-shadow:0 8px 30px #0006;max-width:calc(100vw - 24px)}
.switcher button{appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;font:600 1.1rem var(--font-body);width:40px;height:40px;border-radius:50%}
.switcher button:hover{background:#ffffff22}
.switcher .label{font-size:.85rem;font-weight:600;text-align:center;min-width:150px;white-space:nowrap}
.switcher .label small{display:block;font-weight:400;opacity:.7;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}

@media (prefers-reduced-motion:reduce){#snow{display:none}html{scroll-behavior:auto}}

/* ===== Impressum ===== */
.prose{text-align:center;line-height:1.7}
.prose p{margin:0 auto 14px;max-width:560px}
.prose p:last-child{margin-bottom:0}
.prose a{color:var(--accent)}
.prose .lead{color:var(--muted)}
.partners{list-style:none;padding:0;margin:6px 0 14px;font-family:var(--font-head);font-weight:var(--head-weight);font-size:clamp(1.3rem,5vw,1.9rem);line-height:1.6}
.partners a{color:inherit;text-decoration:none;border-bottom:2px solid var(--accent)}
footer a{color:inherit}

/* ===== Bilder ===== */
nav.top{flex-wrap:wrap}
.media{margin:36px 0 0;border-radius:var(--radius);overflow:hidden;border:var(--card-border);box-shadow:var(--card-shadow);position:relative}
.media img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.media figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 18px 12px;color:#fff;font-weight:600;background:linear-gradient(transparent,#000a)}
.kenburns{animation:kenburns 24s ease-in-out infinite alternate;transform-origin:50% 60%}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.12) translateY(-1.5%)}}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.gallery{grid-template-columns:1fr}}
.gallery figure{margin:0;position:relative;border-radius:var(--tile-radius);overflow:hidden;border:var(--tile-border)}
.gallery img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform .5s}
.gallery figure:hover img{transform:scale(1.05)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 10px;color:#fff;font-weight:600;font-size:.92rem;background:linear-gradient(transparent,#000b)}
.note a{color:var(--accent);font-weight:600}
.ainote{text-align:center;color:var(--muted);font-size:.78rem;margin-top:40px}
.ainote + footer{margin-top:10px}
@media (prefers-reduced-motion:reduce){.kenburns{animation:none}}

/* ===== Partner ===== */
.partner-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0;text-align:center}
@media(max-width:760px){.partner-list{grid-template-columns:1fr}}
.partner{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border-radius:var(--tile-radius);border:var(--card-border);text-decoration:none;color:var(--text);line-height:1.5;transition:transform .15s}
a.partner:hover{transform:translateY(-3px)}
.prose a.partner{color:var(--text)}
.partner .logo{display:flex;align-items:center;justify-content:center;width:100%;height:110px;padding:14px;background:#fff;border-radius:calc(var(--tile-radius) - 4px)}
.partner .logo img{max-width:100%;max-height:100%;width:auto;height:auto}
.partner .logo.wordmark{font-family:var(--font-head);font-weight:var(--head-weight);font-size:1.35rem;line-height:1.15;color:#3a2a1a}
.partner strong{font-family:var(--font-head);font-size:1.15rem;margin-top:4px}
.partner .desc{font-size:.9rem;color:var(--muted)}
.partner .more{margin-top:auto;padding-top:4px;font-size:.85rem;font-weight:600;color:var(--accent)}

/* ===== Logo ===== */
.logo-mark{display:block;width:clamp(84px,18vw,116px);margin:0 auto 10px;transition:transform .2s}
.logo-mark:hover{transform:rotate(-6deg) scale(1.04)}
.logo-mark svg{display:block;width:100%;height:auto}
.lg-ring{fill:none;stroke:var(--accent);stroke-width:2}
.lg-accent{fill:var(--accent)}
.lg-main{fill:var(--heading);stroke:var(--theme-color);stroke-width:1.6;stroke-linejoin:round}
.lg-open{fill:var(--theme-color)}
.lg-flame{fill:var(--accent)}

/* Logo-Animation: die Flamme im Ofen flackert, die Mitglieder-Punkte glimmen reihum */
.lg-flame,.lg-core{transform-box:fill-box;transform-origin:50% 100%;animation:lg-flicker 1.6s ease-in-out infinite}
.lg-core{fill:var(--theme-color);opacity:.55;animation-duration:1.1s;animation-direction:reverse}
.lg-accent circle{animation:lg-glow 3.5s ease-in-out infinite}
@keyframes lg-flicker{0%,100%{transform:scale(1,1) skewX(0)}20%{transform:scale(.94,1.1) skewX(-4deg)}45%{transform:scale(1.05,.93) skewX(3deg)}70%{transform:scale(.97,1.07) skewX(-2deg)}}
@keyframes lg-glow{0%,100%{opacity:1}50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.lg-flame,.lg-core,.lg-accent circle{animation:none}}

/* ===== Video (YouTube erst nach Klick) ===== */
.video{position:relative;aspect-ratio:16/9;border-radius:var(--tile-radius);overflow:hidden;background:#0d0d12}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-play{position:absolute;inset:0;width:100%;border:0;cursor:pointer;color:#fff;font-family:var(--font-body);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;text-align:center;
  background:linear-gradient(#0006,#000a),url(assets/img/dorf.jpg) center/cover}
.video-play .play{width:72px;height:72px;border-radius:50%;background:var(--btn-bg);color:var(--btn-text);display:grid;place-items:center;font-size:1.6rem;padding-left:5px;transition:transform .15s}
.video-play:hover .play{transform:scale(1.08)}
.video-play strong{font-size:1.15rem}
.video-play small{max-width:420px;opacity:.85;font-size:.8rem;line-height:1.4}

/* ===== Kalender-Menü ===== */
.cal{position:relative;display:inline-block}
.cal-menu{position:absolute;z-index:5;left:50%;top:calc(100% + 8px);transform:translateX(-50%);min-width:240px;padding:6px;
  background:var(--bar-bg);border-radius:14px;box-shadow:0 12px 34px #0007;text-align:left}
.cal-menu[hidden]{display:none}
.cal-menu a{display:block;padding:12px 14px;border-radius:10px;color:var(--bar-text);text-decoration:none;font-weight:600;font-size:.95rem;white-space:nowrap}
.cal-menu a:hover,.cal-menu a:focus-visible{background:#ffffff22;outline:none}

/* Angus-Hof Gratz: Schriftzug, bis das Original-Logo als Datei vorliegt */
.partner .logo.wordmark.angus{flex-direction:column;gap:2px;background:#f3e6cf;color:#2a1c12;font-family:var(--font-body)}
.partner .logo.angus em{font-style:normal;font-weight:700;font-size:.7rem;letter-spacing:.12em;color:#fff;background:#3f7d54;padding:2px 12px;border-radius:999px}
.partner .logo.angus b{font-family:"Playfair Display",Georgia,serif;font-weight:800;font-size:1.25rem;text-transform:uppercase;letter-spacing:.03em;line-height:1.15}
.partner .logo.angus i{font-style:normal;font-weight:600;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}
