/* ===== 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;
}


/* ===== Fünfzehn weitere Design-Varianten (11–25) ===== */
[data-theme="nordkette"]{
  --bg:linear-gradient(180deg,#eef3f8 0%,#cfdbe7 100%); --text:#1c2a38; --muted:#1c2a38cc; --accent:#1f6fb2; --heading:#14212e;
  --card-bg:#ffffffcc; --card-border:1px solid #1f6fb255; --card-shadow:0 6px 20px #0000001a;
  --tile-bg:#ffffff; --tile-text:#1f6fb2; --tile-sub:#1f6fb2; --tile-border:1px solid #1f6fb255;
  --pill-bg:#14212e; --pill-text:#ffffff; --btn-bg:#1f6fb2; --btn-text:#ffffff; --ghost:#1c2a3866;
  --bar-bg:#1c2a38f2; --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:10px; --tile-radius:2px; --snow:rgba(120,150,180,.5); --theme-color:#cfdbe7;
}
[data-theme="goldenesdachl"]{
  --bg:radial-gradient(900px 480px at 50% -10%,#d9a52055,transparent 60%),linear-gradient(180deg,#17130a 0%,#0b0905 100%); --text:#f5ecd2; --muted:#f5ecd2cc; --accent:#d9a520; --heading:#f7dc8a;
  --card-bg:#ffffff10; --card-border:1px solid #d9a52055; --card-shadow:0 20px 50px #0005;
  --tile-bg:#241c0c; --tile-text:#f3d98a; --tile-sub:#f3d98a; --tile-border:1px solid #d9a52055;
  --pill-bg:#d9a520; --pill-text:#17130a; --btn-bg:#d9a520; --btn-text:#17130a; --ghost:#f5ecd266;
  --bar-bg:#000000cc; --bar-text:#ffffff;
  --font-head:"Cinzel",Georgia,serif; --font-kicker:"Cinzel",Georgia,serif; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:uppercase; --kicker-spacing:.25em; --head-weight:700;
  --radius:4px; --tile-radius:0px; --snow:rgba(245,220,150,.6); --theme-color:#0b0905;
}
[data-theme="kaiserblau"]{
  --bg:linear-gradient(180deg,#0f2747 0%,#081629 100%); --text:#f2f6fb; --muted:#f2f6fbcc; --accent:#e23b3b; --heading:#ffffff;
  --card-bg:#ffffff10; --card-border:1px solid #e23b3b55; --card-shadow:0 20px 50px #0005;
  --tile-bg:#ffffff; --tile-text:#0f2747; --tile-sub:#0f2747; --tile-border:1px solid #e23b3b55;
  --pill-bg:#e23b3b; --pill-text:#ffffff; --btn-bg:#ffffff; --btn-text:#0f2747; --ghost:#f2f6fb66;
  --bar-bg:#000000cc; --bar-text:#ffffff;
  --font-head:"Playfair Display",Georgia,serif; --font-kicker:"Space Grotesk",system-ui,sans-serif; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:uppercase; --kicker-spacing:.25em; --head-weight:800;
  --radius:12px; --tile-radius:4px; --snow:rgba(255,255,255,.8); --theme-color:#081629;
}
[data-theme="tannenwald"]{
  --bg:linear-gradient(180deg,#eef2e6 0%,#dbe5cf 100%); --text:#22331f; --muted:#22331fcc; --accent:#2f6b3a; --heading:#1d3a22;
  --card-bg:#ffffffcc; --card-border:1px solid #2f6b3a55; --card-shadow:0 6px 20px #0000001a;
  --tile-bg:#2f6b3a; --tile-text:#f3f7ec; --tile-sub:#f3f7ec; --tile-border:1px solid #2f6b3a55;
  --pill-bg:#b3202c; --pill-text:#ffffff; --btn-bg:#2f6b3a; --btn-text:#ffffff; --ghost:#22331f66;
  --bar-bg:#22331ff2; --bar-text:#ffffff;
  --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:26px; --tile-radius:18px; --snow:rgba(255,255,255,.95); --theme-color:#dbe5cf;
}
[data-theme="bratapfel"]{
  --bg:radial-gradient(#f1d9b8 1.5px,transparent 1.6px) 0 0/24px 24px,#fbf0df; --text:#4a1f1a; --muted:#4a1f1acc; --accent:#c0392b; --heading:#7a1f17;
  --card-bg:#ffffffcc; --card-border:1px solid #c0392b55; --card-shadow:0 6px 20px #0000001a;
  --tile-bg:#c0392b; --tile-text:#fff6e8; --tile-sub:#fff6e8; --tile-border:1px solid #c0392b55;
  --pill-bg:#5c8a3a; --pill-text:#ffffff; --btn-bg:#5c8a3a; --btn-text:#ffffff; --ghost:#4a1f1a66;
  --bar-bg:#4a1f1af2; --bar-text:#ffffff;
  --font-head:"Mountains of Christmas","Playfair Display",Georgia,serif; --font-kicker:"Mountains of Christmas","Playfair Display",Georgia,serif; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:none; --kicker-spacing:0; --head-weight:700;
  --radius:30px; --tile-radius:22px; --snow:rgba(255,255,255,.95); --theme-color:#fbf0df;
}
[data-theme="zimtstern"]{
  --bg:linear-gradient(180deg,#f7ecdc 0%,#ecd9bd 100%); --text:#4a3020; --muted:#4a3020cc; --accent:#b0752e; --heading:#6b3f1d;
  --card-bg:#ffffffcc; --card-border:1px solid #b0752e55; --card-shadow:0 6px 20px #0000001a;
  --tile-bg:#8a5a2b; --tile-text:#fff4e0; --tile-sub:#fff4e0; --tile-border:1px solid #b0752e55;
  --pill-bg:#e2b659; --pill-text:#3a2413; --btn-bg:#8a5a2b; --btn-text:#fff4e0; --ghost:#4a302066;
  --bar-bg:#4a3020f2; --bar-text:#ffffff;
  --font-head:"Playfair Display",Georgia,serif; --font-kicker:"Cinzel",Georgia,serif; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:uppercase; --kicker-spacing:.25em; --head-weight:800;
  --radius:18px; --tile-radius:10px; --snow:rgba(226,182,89,.5); --theme-color:#ecd9bd;
}
[data-theme="schneenacht"]{
  --bg:#0c0c0e; --text:#f2f2f2; --muted:#f2f2f2cc; --accent:#ffffff; --heading:#ffffff;
  --card-bg:#ffffff10; --card-border:1px solid #ffffff55; --card-shadow:0 20px 50px #0005;
  --tile-bg:#18181c; --tile-text:#ffffff; --tile-sub:#ffffff; --tile-border:1px solid #ffffff55;
  --pill-bg:#ffffff; --pill-text:#0c0c0e; --btn-bg:#ffffff; --btn-text:#0c0c0e; --ghost:#f2f2f266;
  --bar-bg:#000000cc; --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:0px; --tile-radius:0px; --snow:rgba(255,255,255,.9); --theme-color:#0c0c0e;
}
[data-theme="inntal"]{
  --bg:linear-gradient(180deg,#0e5a63 0%,#073a41 100%); --text:#eaf7f5; --muted:#eaf7f5cc; --accent:#f0c987; --heading:#ffffff;
  --card-bg:#ffffff10; --card-border:1px solid #f0c98755; --card-shadow:0 20px 50px #0005;
  --tile-bg:#eaf7f5; --tile-text:#0e5a63; --tile-sub:#0e5a63; --tile-border:1px solid #f0c98755;
  --pill-bg:#f0c987; --pill-text:#073a41; --btn-bg:#f0c987; --btn-text:#073a41; --ghost:#eaf7f566;
  --bar-bg:#000000cc; --bar-text:#ffffff;
  --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:22px; --tile-radius:14px; --snow:rgba(255,255,255,.75); --theme-color:#073a41;
}
[data-theme="tracht"]{
  --bg:repeating-linear-gradient(45deg,#ffffff08 0 6px,transparent 6px 12px),linear-gradient(180deg,#2f4a36 0%,#1c2e21 100%); --text:#f4efe4; --muted:#f4efe4cc; --accent:#d23a3a; --heading:#ffffff;
  --card-bg:#ffffff10; --card-border:1px solid #d23a3a55; --card-shadow:0 20px 50px #0005;
  --tile-bg:#f4efe4; --tile-text:#2f4a36; --tile-sub:#2f4a36; --tile-border:1px solid #d23a3a55;
  --pill-bg:#d23a3a; --pill-text:#ffffff; --btn-bg:#d23a3a; --btn-text:#ffffff; --ghost:#f4efe466;
  --bar-bg:#000000cc; --bar-text:#ffffff;
  --font-head:"Mountains of Christmas","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:700;
  --radius:8px; --tile-radius:0px; --snow:rgba(255,255,255,.8); --theme-color:#1c2e21;
}
[data-theme="festung"]{
  --bg:linear-gradient(180deg,#e3e1dc 0%,#c9c5bd 100%); --text:#2b2a28; --muted:#2b2a28cc; --accent:#a3201f; --heading:#1f1e1c;
  --card-bg:#ffffffcc; --card-border:1px solid #a3201f55; --card-shadow:0 6px 20px #0000001a;
  --tile-bg:#3a3835; --tile-text:#f1efea; --tile-sub:#f1efea; --tile-border:1px solid #a3201f55;
  --pill-bg:#a3201f; --pill-text:#ffffff; --btn-bg:#a3201f; --btn-text:#ffffff; --ghost:#2b2a2866;
  --bar-bg:#2b2a28f2; --bar-text:#ffffff;
  --font-head:"Cinzel",Georgia,serif; --font-kicker:"Cinzel",Georgia,serif; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:uppercase; --kicker-spacing:.25em; --head-weight:700;
  --radius:2px; --tile-radius:0px; --snow:rgba(255,255,255,.9); --theme-color:#c9c5bd;
}
[data-theme="punsch"]{
  --bg:linear-gradient(160deg,#b0125c 0%,#e2531f 100%); --text:#fff3ea; --muted:#fff3eacc; --accent:#ffe08a; --heading:#ffffff;
  --card-bg:#ffffff10; --card-border:1px solid #ffe08a55; --card-shadow:0 20px 50px #0005;
  --tile-bg:#ffffff26; --tile-text:#ffffff; --tile-sub:#ffffff; --tile-border:1px solid #ffe08a55;
  --pill-bg:#ffe08a; --pill-text:#7a0d3f; --btn-bg:#ffe08a; --btn-text:#7a0d3f; --ghost:#fff3ea66;
  --bar-bg:#000000cc; --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:.25em; --head-weight:400;
  --radius:40px; --tile-radius:32px; --snow:rgba(255,255,255,.7); --theme-color:#e2531f;
}
[data-theme="eiszapfen"]{
  --bg:linear-gradient(180deg,#f3fbff 0%,#d6f0fa 100%); --text:#0d3344; --muted:#0d3344cc; --accent:#0a93c4; --heading:#0a5a78;
  --card-bg:#ffffffcc; --card-border:1px solid #0a93c455; --card-shadow:0 6px 20px #0000001a;
  --tile-bg:#ffffff; --tile-text:#0a7fa8; --tile-sub:#0a7fa8; --tile-border:1px solid #0a93c455;
  --pill-bg:#0a93c4; --pill-text:#ffffff; --btn-bg:#0a93c4; --btn-text:#ffffff; --ghost:#0d334466;
  --bar-bg:#0d3344f2; --bar-text:#ffffff;
  --font-head:"Space Grotesk",system-ui,sans-serif; --font-kicker:"Pacifico","Brush Script MT",cursive; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:none; --kicker-spacing:0; --head-weight:700;
  --radius:34px; --tile-radius:26px; --snow:rgba(10,147,196,.3); --theme-color:#d6f0fa;
}
[data-theme="kerzenschein"]{
  --bg:radial-gradient(520px 420px at 50% 22%,#ffb84d3d,transparent 70%),linear-gradient(180deg,#1c120a 0%,#0c0704 100%); --text:#f8e9cf; --muted:#f8e9cfcc; --accent:#ffc24d; --heading:#fff3d6;
  --card-bg:#ffffff10; --card-border:1px solid #ffc24d55; --card-shadow:0 20px 50px #0005;
  --tile-bg:#2a1b0e; --tile-text:#ffc24d; --tile-sub:#ffc24d; --tile-border:1px solid #ffc24d55;
  --pill-bg:#ffc24d; --pill-text:#1c120a; --btn-bg:#ffc24d; --btn-text:#1c120a; --ghost:#f8e9cf66;
  --bar-bg:#000000cc; --bar-text:#ffffff;
  --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:20px; --tile-radius:12px; --snow:rgba(255,200,110,.6); --theme-color:#0c0704;
}
[data-theme="retro"]{
  --bg:#f2e4c4; --text:#3b2a1a; --muted:#3b2a1acc; --accent:#d2691e; --heading:#7a3b12;
  --card-bg:#ffffffcc; --card-border:1px solid #d2691e55; --card-shadow:0 6px 20px #0000001a;
  --tile-bg:#3b2a1a; --tile-text:#f2c14e; --tile-sub:#f2c14e; --tile-border:1px solid #d2691e55;
  --pill-bg:#d2691e; --pill-text:#fff7e2; --btn-bg:#3b2a1a; --btn-text:#f2e4c4; --ghost:#3b2a1a66;
  --bar-bg:#3b2a1af2; --bar-text:#ffffff;
  --font-head:"Space Grotesk",system-ui,sans-serif; --font-kicker:"Mountains of Christmas","Playfair Display",Georgia,serif; --font-body:"Inter",system-ui,sans-serif;
  --kicker-transform:none; --kicker-spacing:0; --head-weight:700;
  --radius:32px; --tile-radius:20px; --snow:rgba(210,105,30,.3); --theme-color:#f2e4c4;
}
[data-theme="mitternacht"]{
  --bg:radial-gradient(900px 480px at 80% -10%,#7a5cff55,transparent 60%),linear-gradient(180deg,#1b1440 0%,#0b0820 100%); --text:#ecebff; --muted:#ecebffcc; --accent:#c9c6ff; --heading:#ffffff;
  --card-bg:#ffffff10; --card-border:1px solid #c9c6ff55; --card-shadow:0 20px 50px #0005;
  --tile-bg:#241b55; --tile-text:#ffffff; --tile-sub:#ffffff; --tile-border:1px solid #c9c6ff55;
  --pill-bg:transparent; --pill-text:#c9c6ff; --btn-bg:#c9c6ff; --btn-text:#150f33; --ghost:#ecebff66;
  --bar-bg:#000000cc; --bar-text:#ffffff;
  --font-head:"Cinzel",Georgia,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:16px; --tile-radius:8px; --snow:rgba(210,205,255,.7); --theme-color:#0b0820;
}

/* ===== 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/schwoich.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}

.note.credit{margin-top:8px;font-size:.78rem}

/* ===== Partner-Logos: helle bzw. dunkle Variante je nach Design ===== */
.partner .logo{background:transparent;padding:10px}
.partner .logo .on-dark{display:none}
[data-mode="dark"] .partner .logo .on-dark{display:block}
[data-mode="dark"] .partner .logo .on-light{display:none}
.partner .logo.wordmark.angus{background:transparent;color:var(--heading)}
.partner .logo.angus em{background:#3f7d54;color:#fff}

/* ===== Mitgliederbereich ===== */
nav.top a.login{border-color:var(--accent);color:var(--accent)}
.form{display:grid;gap:14px;max-width:420px;margin:18px auto 0;text-align:left}
.form label{display:grid;gap:6px;font-weight:600;font-size:.95rem}
.form label small{font-weight:400;color:var(--muted);font-size:.8rem}
.form input,.form select,.member input,.member select{font:inherit;padding:12px 14px;border-radius:10px;border:1.5px solid var(--ghost);background:#ffffff;color:#1b2430;width:100%;min-width:0}
.form .btn{justify-self:start}
.msg{max-width:560px;margin:18px auto 0;padding:12px 16px;border-radius:12px;text-align:center;font-weight:600;background:#ffffff22;border:1.5px solid var(--ghost)}
.msg.error{border-color:#e05252;background:#e0525226}
.msg.ok{border-color:#3fa66b;background:#3fa66b26}
.members{display:grid;gap:10px}
.member{display:grid;grid-template-columns:1.1fr 1.4fr .8fr;gap:8px;padding:12px;border-radius:var(--tile-radius);border:var(--card-border)}
.member.off{opacity:.55}
.member .row-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.btn.small{padding:8px 14px;font-size:.85rem}
@media(max-width:640px){.member{grid-template-columns:1fr}}

/* ===== Live-Status am Reisetag ===== */
.tag-status{text-align:center;font-weight:600;margin:0 auto 22px;max-width:520px;padding:10px 16px;border-radius:999px;border:1.5px solid var(--ghost)}
.tag-status.home{display:none;margin:18px auto 0}
.reisetag .tag-status{background:var(--btn-bg);color:var(--btn-text);border-color:transparent}
.reisetag .tag-status.home{display:block}

/* ===== Aktuelle Nachrichten ===== */
.aktuell{max-width:560px;margin:16px auto;padding:12px 16px;border-radius:var(--tile-radius);border:1.5px solid var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}
.aktuell[hidden]{display:none}
.aktuell p{margin:4px 0;line-height:1.5}
.aktuell strong{color:var(--accent)}
.news-row{display:flex;gap:10px;align-items:center;justify-content:space-between;text-align:left;margin-top:10px;padding-top:10px;border-top:1px solid var(--ghost)}

/* Buttons in Textbereichen behalten ihre Button-Schriftfarbe (sonst Akzent auf Akzent = unsichtbar) */
.prose a.btn,.note a.btn{color:var(--btn-text)}
.prose a.btn.ghost{color:var(--text)}

/* ===== Flyer als Plakat im jeweiligen Design ===== */
.poster{container-type:inline-size;position:relative;max-width:440px;aspect-ratio:3/4.15;margin:40px auto 0;padding:0 6% 0;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:var(--bg);background-attachment:scroll;color:var(--text);
  border:3px solid var(--accent);border-radius:var(--radius);box-shadow:0 24px 60px #0007, inset 0 0 0 6px color-mix(in srgb,var(--accent) 22%,transparent)}
.poster::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 60% at 50% 0%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 70%);pointer-events:none}
.poster > *{position:relative}
.p-lights{display:flex;justify-content:space-between;width:112%;margin-top:2cqw;padding:0 2cqw;border-top:1px solid color-mix(in srgb,var(--text) 45%,transparent)}
.p-lights i{width:2.6cqw;height:3.4cqw;margin-top:.6cqw;border-radius:50% 50% 60% 60%;background:var(--accent);box-shadow:0 0 2.5cqw var(--accent);animation:p-twinkle 2.4s ease-in-out infinite}
.p-lights i:nth-child(even){background:var(--heading);box-shadow:0 0 2.5cqw var(--heading);animation-delay:1.2s;margin-top:1.6cqw}
.p-lights i:nth-child(3n){animation-delay:.6s}
@keyframes p-twinkle{0%,100%{opacity:1}50%{opacity:.35}}
.p-banner{margin-top:3cqw;padding:2cqw 8cqw 2.6cqw;border-radius:2.5cqw;background:color-mix(in srgb,var(--accent) 22%,transparent);border:1.5px solid var(--accent);transform:rotate(-2deg);display:flex;flex-direction:column;line-height:1.1}
.p-name{font-family:var(--font-kicker);font-size:11cqw;color:var(--accent);text-transform:var(--kicker-transform);letter-spacing:calc(var(--kicker-spacing) * .4)}
.p-sub{font-family:var(--font-head);font-size:3.8cqw;color:var(--text)}
.p-title{font-family:var(--font-head);font-weight:var(--head-weight);color:var(--heading);font-size:10.5cqw;line-height:1.05;margin:3.5cqw 0 0;letter-spacing:0;text-transform:none}
.p-title span{font-size:.55em;color:var(--accent);vertical-align:middle}
.p-skyline{width:78%;color:var(--accent);margin:1cqw 0 2cqw}
.p-route{font-family:var(--font-head);font-weight:700;font-size:6.6cqw;padding:1.6cqw 7cqw;border-radius:1.6cqw;background:var(--tile-bg);color:var(--tile-text);border:var(--tile-border);width:100%}
.p-route b{color:var(--accent)}
.p-date{font-family:var(--font-head);font-weight:700;font-size:5.4cqw;width:108%;padding:1.8cqw 4cqw;margin-top:-.6cqw;background:var(--btn-bg);color:var(--btn-text);box-shadow:0 1.2cqw 3cqw #0005}
.p-times{width:92%;margin-top:2.4cqw;padding:2.4cqw 3cqw;border-radius:2cqw;background:var(--tile-bg);color:var(--tile-text);border:1.5px solid var(--accent);font-size:4.1cqw;line-height:1.9}
.p-times div + div{border-top:1px solid color-mix(in srgb,var(--tile-text) 35%,transparent)}
.p-times strong{font-family:var(--font-head);font-size:1.25em;margin:0 .3em}
.p-times span{opacity:.85}
.p-tag{font-family:var(--font-kicker);font-size:5.6cqw;line-height:1.3;margin:3.2cqw 0 0;color:var(--text);text-transform:none;letter-spacing:0}
.p-ground{position:absolute;left:0;right:0;bottom:0;width:100%;color:var(--accent)}
.p-train{color:var(--heading)}
.p-win{fill:var(--theme-color)}
@media (prefers-reduced-motion:reduce){.p-lights i{animation:none}}

/* Plakat: Höhe richtet sich nach dem Inhalt, unten bleibt Platz für Zug und Bäume */
.poster{aspect-ratio:auto;padding-bottom:25cqw}
.p-name{font-size:9.5cqw}
.p-title{font-size:8.6cqw;overflow-wrap:normal}
.p-route{font-size:5.6cqw;white-space:nowrap}
.p-date{font-size:5cqw;white-space:nowrap}
.p-times{font-size:3.6cqw;white-space:nowrap;width:100%}
.p-tag{font-size:5cqw}
.p-route b{color:inherit;opacity:.75}

/* ===== Feinschliff nach Durchsicht aller 25 Designs ===== */
/* Versalschrift (Cinzel) läuft breit: Überschrift kleiner, damit „Christkindlmarkt“ nicht umbricht */
[data-theme="winternacht"],[data-theme="goldenesdachl"],[data-theme="festung"],[data-theme="mitternacht"]{--head-scale:.8}
/* Zierschrift mit „o“-artiger Null: Zahlen in gut lesbarer Schrift setzen */
[data-theme="lebkuchen"],[data-theme="almhuette"],[data-theme="bratapfel"],[data-theme="tracht"]{--font-num:"Playfair Display",Georgia,serif}
[data-theme="zuckerstange"],[data-theme="punsch"]{--font-num:"Space Grotesk",system-ui,sans-serif;--head-scale:.92}
h1{font-size:calc(clamp(2.2rem,9vw,5rem) * var(--head-scale,1));overflow-wrap:normal;hyphens:manual}
h1.small{font-size:calc(clamp(2rem,7vw,3.6rem) * var(--head-scale,1))}
.date,.unit b,.leg .time,.timeline time,.p-date,.p-times strong{font-family:var(--font-num,var(--font-head))}
.p-title{font-size:calc(8.6cqw * var(--head-scale,1))}
/* Umschalter verdeckt weniger Inhalt */
.switcher{opacity:.94}

/* ===== Bild-Slider ===== */
.slider{position:relative}
.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--tile-radius);outline-offset:4px}
.slides::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;margin:0;scroll-snap-align:start;position:relative}
.slide img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 12px;color:#fff;background:linear-gradient(transparent,#000c);text-align:left}
.slide figcaption strong{display:block;font-size:1.05rem}
.slide figcaption small{font-size:.72rem;opacity:.9}
.slide figcaption a{color:#fff}
.s-prev,.s-next{position:absolute;top:calc(50% - 34px);width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;background:var(--bar-bg);color:var(--bar-text);font-size:1.5rem;line-height:1}
.s-prev{left:8px}.s-next{right:8px}
.s-dots{display:flex;gap:8px;justify-content:center;margin-top:12px}
.s-dots i{width:10px;height:10px;border-radius:50%;background:var(--ghost);cursor:pointer}
.s-dots i.on{background:var(--accent);transform:scale(1.25)}

/* Slider: Verweis-Folien auf offizielle Seiten */
.slide-link{aspect-ratio:16/9;display:flex}
.slide-link a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8% 16%;text-align:center;text-decoration:none;
  color:var(--tile-text);background:var(--tile-bg);border:var(--tile-border)}
.slide-link small{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;opacity:.8}
.slide-link strong{font-family:var(--font-head);font-weight:var(--head-weight);font-size:clamp(1.3rem,5vw,2rem);line-height:1.15}
.slide-link span{font-size:.92rem;opacity:.9}
.slide-link b{margin-top:6px;padding:8px 18px;border-radius:999px;background:var(--btn-bg);color:var(--btn-text);font-size:.9rem}

/* ===== Abstimmungen und Termine ===== */
.tabs{margin-top:26px}
.badge-n{display:inline-block;min-width:22px;padding:1px 7px;margin-left:6px;border-radius:999px;background:var(--btn-text);color:var(--btn-bg);font-size:.8rem}
.form textarea{font:inherit;padding:12px 14px;border-radius:10px;border:1.5px solid var(--ghost);background:#fff;color:#1b2430;width:100%;resize:vertical}
.form .check{display:flex;align-items:center;gap:10px;font-weight:500}
.form .check input{width:auto}
.whens{display:grid;gap:8px;border:0;padding:0;margin:0}
.whens legend{font-weight:600;font-size:.95rem;margin-bottom:6px;padding:0}
.whens legend small{font-weight:400;color:var(--muted);font-size:.8rem;display:block}
.poll h2{margin-bottom:6px;letter-spacing:.04em;text-transform:none;font-size:1.35rem;color:var(--heading)}
.poll.closed{opacity:.75}
.poll-meta{text-align:center;color:var(--muted);font-size:.85rem;margin-bottom:14px}
.poll-desc{text-align:center;max-width:560px;margin:0 auto 16px;line-height:1.6}
.poll-form{display:grid;gap:10px;max-width:600px;margin:0 auto}
.poll-form .btn{justify-self:start;margin-top:6px}
.poll-form .hint{color:var(--muted)}
.opt,.slot{display:grid;gap:6px;padding:12px 14px;border-radius:var(--tile-radius);border:var(--card-border);margin:0;cursor:pointer}
.opt.lead-opt,.slot.lead-opt{border:2px solid var(--accent)}
.opt-top{display:flex;align-items:center;gap:10px}
.opt-top input{width:20px;height:20px;accent-color:var(--accent);flex:none}
.opt-label{flex:1;font-weight:600}
.opt b{font-family:var(--font-num,var(--font-head));font-size:1.2rem;color:var(--accent)}
.bar{display:block;height:8px;border-radius:999px;background:color-mix(in srgb,var(--text) 14%,transparent);overflow:hidden}
.bar i{display:block;height:100%;background:var(--accent);border-radius:999px}
.opt small,.slot small{color:var(--muted);font-size:.82rem;line-height:1.4}
.slot{cursor:default;min-width:0}
.slot legend{font-weight:700;padding:0 6px}
.slot legend em{font-style:normal;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;background:var(--btn-bg);color:var(--btn-text);padding:2px 8px;border-radius:999px;margin-left:6px}
.choices{display:flex;gap:8px;flex-wrap:wrap}
.choices label{position:relative;cursor:pointer}
.choices input{position:absolute;opacity:0;inset:0;cursor:pointer}
.choices span{display:block;padding:8px 16px;border-radius:999px;border:1.5px solid var(--ghost);font-weight:600;font-size:.9rem}
.choices input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.choices .c-ja input:checked + span{background:#2e8b57;border-color:#2e8b57;color:#fff}
.choices .c-vl input:checked + span{background:#d9a520;border-color:#d9a520;color:#1b1b1b}
.choices .c-nein input:checked + span{background:#c0392b;border-color:#c0392b;color:#fff}
.tally{display:flex;gap:12px;flex-wrap:wrap;font-size:.85rem}
.tally b{font-weight:600}
.t-ja::before,.t-vl::before,.t-nein::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}
.t-ja::before{background:#2e8b57}.t-vl::before{background:#d9a520}.t-nein::before{background:#c0392b}
.poll-admin{display:flex;gap:8px;justify-content:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--ghost)}

/* ===== Handy: Ränder füllen, Platz besser nutzen ===== */
/* Der Hintergrund liegt auf einer festen Ebene über den ganzen Bildschirm, auch hinter Statusleiste und Browserleiste.
   html bekommt die Grundfarbe des Designs, damit beim Überscrollen und in den Randbereichen nichts Weißes durchscheint. */
html{background-color:var(--theme-color)}
body{background:transparent;min-height:100dvh}
body::before{content:"";position:fixed;z-index:-1;left:0;right:0;top:0;height:100lvh;background:var(--bg);pointer-events:none}
nav.top{padding-top:calc(14px + env(safe-area-inset-top));padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right))}
main{padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right));padding-bottom:calc(110px + env(safe-area-inset-bottom))}
.switcher{bottom:calc(12px + env(safe-area-inset-bottom))}
.poster{background-attachment:scroll}
@media (max-width:560px){
  nav.top{gap:2px 4px}
  nav.top a{font-size:.84rem;padding:7px 11px}
  header{padding-top:22px}
  .logo-mark{width:78px;margin-bottom:6px}
  .card{padding:22px 14px;margin-top:26px}
  .media{margin-top:26px}
  .count{gap:7px}
  .unit{padding:14px 2px 10px}
  .unit span{font-size:.62rem;letter-spacing:.08em}
  .cta .btn{flex:1 1 auto;text-align:center}
  /* Umschalter kleiner, damit er weniger Inhalt verdeckt */
  .switcher{padding:4px;gap:2px}
  .switcher button{width:34px;height:34px;font-size:1rem}
  .switcher .label{min-width:118px;font-size:.78rem}
  .switcher .label small{font-size:.62rem}
}
@media (max-width:560px){.media figcaption{font-size:.8rem;padding:22px 12px 9px}.gallery figcaption{font-size:.8rem}}

/* ===== Design-Wahl ===== */
.design-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:26px}
.design-tile{position:relative;display:flex;flex-direction:column;gap:4px;align-items:flex-start;min-height:132px;padding:14px;border-radius:var(--tile-radius);border:3px solid;cursor:pointer;transition:transform .12s}
.design-tile:hover{transform:translateY(-2px)}
.design-tile input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.design-tile strong{font-size:1.05rem;line-height:1.2;margin-top:6px}
.design-tile a{position:relative;z-index:2;font-size:.8rem;font-weight:600;margin-top:auto}
.dt-rank{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px}
.dt-votes{font-size:.8rem;opacity:.85}
.dt-check{display:none;position:absolute;right:8px;top:8px;font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:999px}
.design-tile:has(input:checked){outline:4px solid var(--accent);outline-offset:2px}
.design-tile:has(input:checked) .dt-check{display:block}
.design-tile:has(input:focus-visible){outline:4px dashed var(--accent);outline-offset:2px}
.design-tile.full{opacity:.45;cursor:not-allowed}
.design-bar{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));z-index:6;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:10px 12px 10px 18px;border-radius:999px;background:var(--bar-bg);color:var(--bar-text);font-weight:600;box-shadow:0 8px 30px #0006}

/* ===== Abfahrtstafel im Stil einer Bahnhofsanzeige (feste Farben, unabhängig vom Design) ===== */
.board{--b-blue:#0b3b8c;--b-dark:#072a66;--b-line:#3d66b3;background:var(--b-blue);color:#fff;border-radius:10px;overflow:hidden;
  font-family:"Inter",system-ui,sans-serif;box-shadow:0 0 0 3px #111, 0 0 0 6px #3a3a3a, 0 18px 40px #0007;max-width:680px;margin:6px auto 0}
.b-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--b-dark)}
.b-title{font-weight:700;font-size:clamp(1.15rem,4.6vw,1.6rem);letter-spacing:.01em}
.b-title small{font-weight:400;font-size:.62em;color:#ffd200;margin-left:8px}
.b-clock{font-variant-numeric:tabular-nums;font-weight:700;font-size:clamp(1.05rem,4.2vw,1.45rem);background:#fff;color:var(--b-dark);padding:2px 10px;border-radius:4px}
.b-cols,.b-row{display:grid;grid-template-columns:4.6em 3.6em 1fr 4.4em;gap:8px;align-items:center;padding:0 16px}
.b-cols{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#bcd0f5;padding-top:8px;padding-bottom:6px;border-bottom:1px solid var(--b-line)}
.b-row{padding-top:13px;padding-bottom:13px;border-bottom:1px solid var(--b-line);font-size:clamp(1rem,4vw,1.3rem)}
.b-row:nth-of-type(odd){background:#ffffff0d}
.b-row time,.b-arr{font-variant-numeric:tabular-nums;font-weight:700}
.b-row time{color:#ffd200;font-size:1.12em}
.b-train{display:inline-block;min-width:2.6em;text-align:center;font-size:.78em;font-weight:700;padding:3px 6px;border-radius:4px;background:#fff;color:#c8102e}
.b-dest{font-weight:700;line-height:1.2;min-width:0}
.b-dest small{display:block;font-weight:400;font-size:.62em;color:#d5e1fa;margin-top:3px;line-height:1.35}
.b-arr{text-align:right;color:#fff}
.b-cols span:last-child{text-align:right}
.b-foot{padding:9px 16px;font-size:.78rem;color:#ffd200;background:var(--b-dark)}
@media (max-width:420px){.b-cols,.b-row{grid-template-columns:3.9em 3.1em 1fr 3.7em;gap:6px;padding-left:12px;padding-right:12px}}

/* Randfarbe folgt dem Design: Safari liest die Farbe der Leisten vom body-Hintergrund. */
html{background:none}
body{background-color:var(--theme-color);transition:none}

/* ===== Menü: Landingpage oben, am Handy App-Leiste unten ===== */
nav.top{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:960px;margin:0 auto;flex-wrap:nowrap;
  padding:calc(14px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left))}
nav.top .brand{font-family:var(--font-kicker);font-size:1.35rem;color:var(--accent);padding:0;border:0;text-transform:var(--kicker-transform);letter-spacing:calc(var(--kicker-spacing) * .5)}
nav.top .links{display:flex;gap:6px;align-items:center}
nav.top .ico{display:none}
.cta-main{margin-top:26px}
.tagline{margin-top:30px}
footer{display:grid;gap:12px;justify-items:center;margin-top:56px;padding-top:22px;border-top:1px solid var(--ghost)}
.f-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px}
.f-links a{text-decoration:none;font-weight:600}
.f-links a:hover{text-decoration:underline}
.ainote + footer{margin-top:18px}
@media (max-width:640px){
  nav.top{display:block;padding:0;max-width:none}
  nav.top .brand{display:none}
  nav.top .links{position:fixed;z-index:9;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;
    padding:6px calc(8px + env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));
    background:var(--bar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 -6px 24px #0005}
  nav.top .links a,nav.top .links a.login{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 2px;border:0;border-radius:12px;
    font-size:.68rem;font-weight:600;color:var(--bar-text);opacity:.72}
  nav.top .links a[aria-current="page"]{opacity:1;background:#ffffff26;border:0;color:var(--bar-text)}
  nav.top .ico{display:block;font-size:1.3rem;line-height:1.2}
  header{padding-top:calc(20px + env(safe-area-inset-top))}
  main{padding-bottom:calc(150px + env(safe-area-inset-bottom))}
  .switcher{bottom:calc(70px + env(safe-area-inset-bottom))}
  .design-bar{bottom:calc(122px + env(safe-area-inset-bottom))}
  .cta-main .btn{flex:1 1 100%}
}

/* ===================================================================================
   TYPOGRAFIE – ein System für alle 25 Designs
   Rollen:  Kopf (Titel) · Schriftzug („Mandarunde“, Spruch) · Zahlen (Datum, Zeiten) ·
            Etikett (kleine Versal-Zeilen über Abschnitten) · Fließtext
   Jedes Design wählt nur die Schriften; Größen, Abstände und Rhythmus sind überall gleich.
   =================================================================================== */
body{font-size:1.02rem;line-height:1.62;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-optical-sizing:auto;font-kerning:normal}
h1,h1.small,.p-title{font-family:var(--font-head);font-weight:var(--head-weight);letter-spacing:var(--head-tracking,0);line-height:var(--head-lh,1.05);text-wrap:balance;font-synthesis:none}
h1{font-size:calc(clamp(2.3rem,9.2vw,5rem) * var(--head-scale,1));margin:16px 0 16px}
h1.small{font-size:calc(clamp(2rem,7.4vw,3.6rem) * var(--head-scale,1))}
.kicker,.p-name,nav.top .brand{font-family:var(--font-kicker);font-weight:var(--kicker-weight,400);text-transform:var(--kicker-transform);letter-spacing:var(--kicker-spacing);line-height:1.1}
.kicker{font-size:calc(clamp(1.7rem,6.2vw,3rem) * var(--kicker-scale,1))}
.p-name{font-size:calc(9.5cqw * var(--kicker-scale,1))}
nav.top .brand{font-size:calc(1.35rem * var(--kicker-scale,1));letter-spacing:calc(var(--kicker-spacing) * .45)}
.tagline,.p-tag,.state{font-family:var(--font-kicker);font-weight:var(--kicker-weight,400);text-transform:none;letter-spacing:0;text-wrap:balance}
.tagline{font-size:calc(clamp(1.35rem,4.8vw,2.2rem) * max(1, var(--kicker-scale,1) * .92));line-height:1.35}
.p-tag{font-size:calc(5cqw * max(1, var(--kicker-scale,1) * .92))}
/* Etikett: überall dieselbe ruhige Versal-Zeile, egal welche Zierschrift das Design hat */
.sub,.card h2,.unit span,.leg .tag,.slide-link small,.poll-meta strong{font-family:var(--font-body);font-synthesis:none}
.sub{font-weight:600;font-size:.74rem;letter-spacing:.24em;margin-top:8px}
.card h2{font-weight:700;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:22px}
.unit span{font-weight:600;font-size:.66rem;letter-spacing:.14em}
/* Titel innerhalb des Mitgliederbereichs bleiben Kopf-Schrift */
.poll h2{font-family:var(--font-head);font-weight:var(--head-weight);letter-spacing:var(--head-tracking,0);text-transform:none;font-size:calc(1.5rem * var(--head-scale,1));line-height:1.15;text-wrap:balance}
/* Zahlen: eigene Rolle, immer gleich breite Ziffern */
.date,.unit b,.leg .time,.timeline time,.p-date,.p-times strong,.opt b{font-family:var(--font-num,var(--font-head));font-weight:var(--num-weight,700);font-variant-numeric:lining-nums tabular-nums;letter-spacing:0}
.date{font-size:clamp(1.15rem,4vw,1.7rem);font-weight:600;margin-top:16px}
.unit b{font-size:clamp(2.1rem,9.4vw,3.9rem);line-height:1}
.route,.p-route{font-family:var(--font-head);font-weight:max(600, var(--head-weight));letter-spacing:var(--head-tracking,0)}
.partner strong,.slide-link strong,.design-tile strong,.slide figcaption strong{font-family:var(--font-head);font-weight:var(--head-weight);letter-spacing:var(--head-tracking,0)}
/* Fließtext */
.prose p,.poll-desc{max-width:60ch;text-wrap:pretty}
.prose p{line-height:1.7}
.note,.ainote,.poll-meta,.tally,.opt small,.slot small{line-height:1.5}
.btn{font-family:var(--font-body);font-weight:700;letter-spacing:.005em}
.timeline strong{font-family:var(--font-body);font-weight:700;font-size:1.06rem}
.timeline time{font-size:1.45rem}
strong,b{font-synthesis:none}

/* Schriftpaarungen je Design */
[data-theme="klassisch"]{--font-head:"Playfair Display",Georgia,serif;--font-kicker:"Pacifico","Brush Script MT",cursive;--font-num:"Playfair Display",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--head-weight:800;--head-scale:1.0;--head-tracking:-.01em;--head-lh:1.06;--kicker-scale:1.0;--kicker-transform:none;--kicker-spacing:0;--kicker-weight:400;--num-weight:800}
[data-theme="schwoich"]{--font-head:"Playfair Display",Georgia,serif;--font-kicker:"Cinzel",Georgia,serif;--font-num:"Playfair Display",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--head-weight:800;--head-scale:1.0;--head-tracking:-.01em;--head-lh:1.06;--kicker-scale:0.78;--kicker-transform:uppercase;--kicker-spacing:.26em;--kicker-weight:700;--num-weight:800}
[data-theme="kerzenschein"]{--font-head:"Fraunces","Playfair Display",Georgia,serif;--font-kicker:"Caveat","Pacifico",cursive;--font-num:"Fraunces","Playfair Display",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--head-weight:800;--head-scale:0.97;--head-tracking:-.015em;--head-lh:1.05;--kicker-scale:1.32;--kicker-transform:none;--kicker-spacing:0;--kicker-weight:700;--num-weight:800}
[data-theme="tanne"]{--font-head:"DM Serif Display","Playfair Display",Georgia,serif;--font-kicker:"Pacifico","Brush Script MT",cursive;--font-num:"DM Serif Display","Playfair Display",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--head-weight:400;--head-scale:1.04;--head-tracking:-.005em;--head-lh:1.06;--kicker-scale:1.0;--kicker-transform:none;--kicker-spacing:0;--kicker-weight:400;--num-weight:400}
[data-theme="goldenesdachl"]{--font-head:"Cinzel",Georgia,serif;--font-kicker:"Cinzel",Georgia,serif;--font-num:"Cormorant Garamond","Playfair Display",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--head-weight:700;--head-scale:0.8;--head-tracking:.015em;--head-lh:1.12;--kicker-scale:0.78;--kicker-transform:uppercase;--kicker-spacing:.26em;--kicker-weight:700;--num-weight:700}
[data-theme="winternacht"]{--font-head:"Cormorant Garamond","Playfair Display",Georgia,serif;--font-kicker:"Cinzel",Georgia,serif;--font-num:"Cormorant Garamond","Playfair Display",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--head-weight:700;--head-scale:1.14;--head-tracking:-.01em;--head-lh:1.0;--kicker-scale:0.78;--kicker-transform:uppercase;--kicker-spacing:.26em;--kicker-weight:700;--num-weight:700}
[data-theme="kaiserblau"]{--font-head:"DM Serif Display","Playfair Display",Georgia,serif;--font-kicker:"Manrope","Inter",system-ui,sans-serif;--font-num:"DM Serif Display","Playfair Display",Georgia,serif;--font-body:"Manrope","Inter",system-ui,sans-serif;--head-weight:400;--head-scale:1.04;--head-tracking:-.005em;--head-lh:1.06;--kicker-scale:0.66;--kicker-transform:uppercase;--kicker-spacing:.34em;--kicker-weight:800;--num-weight:400}
[data-theme="gluehwein"]{--font-head:"Fraunces","Playfair Display",Georgia,serif;--font-kicker:"Pacifico","Brush Script MT",cursive;--font-num:"Fraunces","Playfair Display",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--head-weight:800;--head-scale:0.97;--head-tracking:-.015em;--head-lh:1.05;--kicker-scale:1.0;--kicker-transform:none;--kicker-spacing:0;--kicker-weight:400;--num-weight:800}
[data-theme="inntal"]{--font-head:"Fraunces","Playfair Display",Georgia,serif;--font-kicker:"Caveat","Pacifico",cursive;--font-num:"Fraunces","Playfair Display",Georgia,serif;--font-body:"Manrope","Inter",system-ui,sans-serif;--head-weight:800;--head-scale:0.97;--head-tracking:-.015em;--head-lh:1.05;--kicker-scale:1.32;--kicker-transform:none;--kicker-spacing:0;--kicker-weight:700;--num-weight:800}
[data-theme="schnee"]{--font-head:"Manrope","Inter",system-ui,sans-serif;--font-kicker:"Manrope","Inter",system-ui,sans-serif;--font-num:"Manrope","Inter",system-ui,sans-serif;--font-body:"Manrope","Inter",system-ui,sans-serif;--head-weight:800;--head-scale:0.93;--head-tracking:-.035em;--head-lh:1.05;--kicker-scale:0.66;--kicker-transform:uppercase;--kicker-spacing:.34em;--kicker-weight:800;--num-weight:800}
[data-theme="nordkette"]{--font-head:"Space Grotesk",system-ui,sans-serif;--font-kicker:"Space Grotesk",system-ui,sans-serif;--font-num:"Space Grotesk",system-ui,sans-serif;--font-body:"Inter",system-ui,sans-serif;--head-weight:700;--head-scale:0.96;--head-tracking:-.025em;--head-lh:1.04;--kicker-scale:0.7;--kicker-transform:uppercase;--kicker-spacing:.3em;--kicker-weight:700;--num-weight:700}
[data-theme="mitternacht"]{--font-head:"Cormorant Garamond","Playfair Display",Georgia,serif;--font-kicker:"Manrope","Inter",system-ui,sans-serif;--font-num:"Cormorant Garamond","Playfair Display",Georgia,serif;--font-body:"Manrope","Inter",system-ui,sans-serif;--head-weight:700;--head-scale:1.14;--head-tracking:-.01em;--head-lh:1.0;--kicker-scale:0.66;--kicker-transform:uppercase;--kicker-spacing:.34em;--kicker-weight:800;--num-weight:700}
[data-theme="tannenwald"]{--font-head:"DM Serif Display","Playfair Display",Georgia,serif;--font-kicker:"Caveat","Pacifico",cursive;--font-num:"DM Serif Display","Playfair Display",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--head-weight:400;--head-scale:1.04;--head-tracking:-.005em;--head-lh:1.06;--kicker-scale:1.32;--kicker-transform:none;--kicker-spacing:0;--kicker-weight:700;--num-weight:400}
[data-theme="zimtstern"]{--font-head:"Cormorant Garamond","Playfair Display",Georgia,serif;--font-kicker:"Cinzel",Georgia,serif;--font-num:"Cormorant Garamond","Playfair Display",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--head-weight:700;--head-scale:1.14;--head-tracking:-.01em;--head-lh:1.0;--kicker-scale:0.78;--kicker-transform:uppercase;--kicker-spacing:.26em;--kicker-weight:700;--num-weight:700}
[data-theme="almhuette"]{--font-head:"Fraunces","Playfair Display",Georgia,serif;--font-kicker:"Caveat","Pacifico",cursive;--font-num:"Fraunces","Playfair Display",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--head-weight:800;--head-scale:0.97;--head-tracking:-.015em;--head-lh:1.05;--kicker-scale:1.32;--kicker-transform:none;--kicker-spacing:0;--kicker-weight:700;--num-weight:800}
[data-theme="lebkuchen"]{--font-head:"Mountains of Christmas","Fraunces",Georgia,serif;--font-kicker:"Mountains of Christmas","Fraunces",Georgia,serif;--font-num:"Fraunces","Playfair Display",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--head-weight:700;--head-scale:1.05;--head-tracking:0;--head-lh:1.08;--kicker-scale:1.12;--kicker-transform:none;--kicker-spacing:.01em;--kicker-weight:700;--num-weight:800}
[data-theme="festung"]{--font-head:"Cinzel",Georgia,serif;--font-kicker:"Cinzel",Georgia,serif;--font-num:"Cormorant Garamond","Playfair Display",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--head-weight:700;--head-scale:0.8;--head-tracking:.015em;--head-lh:1.12;--kicker-scale:0.78;--kicker-transform:uppercase;--kicker-spacing:.26em;--kicker-weight:700;--num-weight:700}
[data-theme="polarlicht"]{--font-head:"Space Grotesk",system-ui,sans-serif;--font-kicker:"Space Grotesk",system-ui,sans-serif;--font-num:"Space Grotesk",system-ui,sans-serif;--font-body:"Manrope","Inter",system-ui,sans-serif;--head-weight:700;--head-scale:0.96;--head-tracking:-.025em;--head-lh:1.04;--kicker-scale:0.7;--kicker-transform:uppercase;--kicker-spacing:.3em;--kicker-weight:700;--num-weight:700}
[data-theme="tracht"]{--font-head:"DM Serif Display","Playfair Display",Georgia,serif;--font-kicker:"Pacifico","Brush Script MT",cursive;--font-num:"DM Serif Display","Playfair Display",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--head-weight:400;--head-scale:1.04;--head-tracking:-.005em;--head-lh:1.06;--kicker-scale:1.0;--kicker-transform:none;--kicker-spacing:0;--kicker-weight:400;--num-weight:400}
[data-theme="schneenacht"]{--font-head:"Bebas Neue","Space Grotesk",system-ui,sans-serif;--font-kicker:"Bebas Neue","Space Grotesk",system-ui,sans-serif;--font-num:"Bebas Neue","Space Grotesk",system-ui,sans-serif;--font-body:"Manrope","Inter",system-ui,sans-serif;--head-weight:400;--head-scale:1.1;--head-tracking:.015em;--head-lh:1.0;--kicker-scale:0.95;--kicker-transform:uppercase;--kicker-spacing:.22em;--kicker-weight:400;--num-weight:400}
[data-theme="bratapfel"]{--font-head:"Fraunces","Playfair Display",Georgia,serif;--font-kicker:"Caveat","Pacifico",cursive;--font-num:"Fraunces","Playfair Display",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--head-weight:800;--head-scale:0.97;--head-tracking:-.015em;--head-lh:1.05;--kicker-scale:1.32;--kicker-transform:none;--kicker-spacing:0;--kicker-weight:700;--num-weight:800}
[data-theme="eiszapfen"]{--font-head:"Manrope","Inter",system-ui,sans-serif;--font-kicker:"Caveat","Pacifico",cursive;--font-num:"Manrope","Inter",system-ui,sans-serif;--font-body:"Manrope","Inter",system-ui,sans-serif;--head-weight:800;--head-scale:0.93;--head-tracking:-.035em;--head-lh:1.05;--kicker-scale:1.32;--kicker-transform:none;--kicker-spacing:0;--kicker-weight:700;--num-weight:800}
[data-theme="zuckerstange"]{--font-head:"Fraunces","Playfair Display",Georgia,serif;--font-kicker:"Pacifico","Brush Script MT",cursive;--font-num:"Fraunces","Playfair Display",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--head-weight:800;--head-scale:0.97;--head-tracking:-.015em;--head-lh:1.05;--kicker-scale:1.0;--kicker-transform:none;--kicker-spacing:0;--kicker-weight:400;--num-weight:800}
[data-theme="retro"]{--font-head:"Bebas Neue","Space Grotesk",system-ui,sans-serif;--font-kicker:"Pacifico","Brush Script MT",cursive;--font-num:"Bebas Neue","Space Grotesk",system-ui,sans-serif;--font-body:"Manrope","Inter",system-ui,sans-serif;--head-weight:400;--head-scale:1.1;--head-tracking:.015em;--head-lh:1.0;--kicker-scale:1.0;--kicker-transform:none;--kicker-spacing:0;--kicker-weight:400;--num-weight:400}
[data-theme="punsch"]{--font-head:"Manrope","Inter",system-ui,sans-serif;--font-kicker:"Pacifico","Brush Script MT",cursive;--font-num:"Manrope","Inter",system-ui,sans-serif;--font-body:"Manrope","Inter",system-ui,sans-serif;--head-weight:800;--head-scale:0.93;--head-tracking:-.035em;--head-lh:1.05;--kicker-scale:1.0;--kicker-transform:none;--kicker-spacing:0;--kicker-weight:400;--num-weight:800}

/* Menüleiste in der Randfarbe: dieselbe Farbe wie die Browserleiste darunter, damit beides eine Fläche bildet */
@media (max-width:640px){
  nav.top .links{background:var(--theme-color);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 -1px 0 color-mix(in srgb,var(--text) 18%,transparent), 0 -10px 24px #0003}
  nav.top .links a,nav.top .links a.login{color:var(--text);opacity:.7}
  nav.top .links a[aria-current="page"]{opacity:1;color:var(--text);background:color-mix(in srgb,var(--accent) 24%,transparent)}
}

/* ===== Vorschau-Hinweis und Analyse-Tabelle ===== */
.preview-note{position:fixed;z-index:12;left:50%;top:calc(8px + env(safe-area-inset-top));transform:translateX(-50%);max-width:calc(100vw - 24px);padding:8px 14px;border-radius:999px;
  background:#111d;color:#fff;font:600 .78rem "Inter",system-ui,sans-serif;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 6px 20px #0006}
.rank-table{width:100%;border-collapse:collapse;font-size:.88rem}
.rank-table th{font:700 .68rem var(--font-body);letter-spacing:.1em;text-transform:uppercase;text-align:left;padding:8px 6px;color:var(--muted);border-bottom:1px solid var(--ghost)}
.rank-table td{padding:10px 6px;border-bottom:1px solid var(--ghost);vertical-align:top}
.rank-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.rank-table tr.top td{background:color-mix(in srgb,var(--accent) 16%,transparent)}
.rank-table small{display:block;color:var(--muted);line-height:1.4;margin-top:2px}
.swatch{display:inline-block;width:34px;height:22px;border-radius:5px;border:2px solid;vertical-align:middle;margin-right:8px}
.table-wrap{overflow-x:auto}
.list-plain{text-align:left;max-width:60ch;margin:0 auto;padding-left:1.2em;line-height:1.7}
.list-plain li{margin-bottom:8px}

/* ===== Icon-Satz: eigene Linien-Icons statt Emojis, übernehmen die Textfarbe ===== */
.i{display:inline-block;width:1.2em;height:1.2em;vertical-align:-.24em;background-color:currentColor;flex:none;
  -webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.btn .i{margin-right:.15em}
.route .i,.p-route .i,.p-date .i{width:1.05em;height:1.05em;vertical-align:-.16em}
nav.top .ico.i{display:none}
@media (max-width:640px){nav.top .ico.i{display:block;width:1.55rem;height:1.55rem;margin:1px 0 3px}}
.i-home{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 11.2 12 3.6l8.5 7.6'/%3E%3Cpath d='M5.6 9.8V20h4.6v-5.6h3.6V20h4.6V9.8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 11.2 12 3.6l8.5 7.6'/%3E%3Cpath d='M5.6 9.8V20h4.6v-5.6h3.6V20h4.6V9.8'/%3E%3C/svg%3E")}
.i-train{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='14' rx='3.2'/%3E%3Cpath d='M5 11h14M9.5 6.6h5'/%3E%3Cpath d='M8.6 14.2h.01M15.4 14.2h.01' stroke-width='2.6'/%3E%3Cpath d='m8.2 17-2 3.6M15.8 17l2 3.6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='14' rx='3.2'/%3E%3Cpath d='M5 11h14M9.5 6.6h5'/%3E%3Cpath d='M8.6 14.2h.01M15.4 14.2h.01' stroke-width='2.6'/%3E%3Cpath d='m8.2 17-2 3.6M15.8 17l2 3.6'/%3E%3C/svg%3E")}
.i-people{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3 20c0-3.5 2.6-6 6-6s6 2.5 6 6'/%3E%3Cpath d='M15.4 5.3a3 3 0 0 1 0 5.6M17.2 14.4c2.3.7 3.8 2.8 3.8 5.6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3 20c0-3.5 2.6-6 6-6s6 2.5 6 6'/%3E%3Cpath d='M15.4 5.3a3 3 0 0 1 0 5.6M17.2 14.4c2.3.7 3.8 2.8 3.8 5.6'/%3E%3C/svg%3E")}
.i-key{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15.5' r='4.2'/%3E%3Cpath d='m11.1 12.5 8.6-8.6M16.6 7l2.6 2.6M13.9 9.7l2 2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15.5' r='4.2'/%3E%3Cpath d='m11.1 12.5 8.6-8.6M16.6 7l2.6 2.6M13.9 9.7l2 2'/%3E%3C/svg%3E")}
.i-calendar{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2.4'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3Cpath d='M8 14h.01M12 14h.01M16 14h.01M8 17.2h.01M12 17.2h.01' stroke-width='2.4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2.4'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3Cpath d='M8 14h.01M12 14h.01M16 14h.01M8 17.2h.01M12 17.2h.01' stroke-width='2.4'/%3E%3C/svg%3E")}
.i-vote{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='3.4'/%3E%3Cpath d='m8.2 12.3 2.7 2.8 5-6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='3.4'/%3E%3Cpath d='m8.2 12.3 2.7 2.8 5-6'/%3E%3C/svg%3E")}
.i-palette{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18c1.4 0 2-.9 2-1.9 0-.9-.6-1.5-.6-2.4 0-1 .8-1.7 1.8-1.7H17a4 4 0 0 0 4-4c0-4.4-4-8-9-8z'/%3E%3Cpath d='M7.8 11.4h.01M10.6 7.6h.01M15 7.6h.01' stroke-width='2.8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18c1.4 0 2-.9 2-1.9 0-.9-.6-1.5-.6-2.4 0-1 .8-1.7 1.8-1.7H17a4 4 0 0 0 4-4c0-4.4-4-8-9-8z'/%3E%3Cpath d='M7.8 11.4h.01M10.6 7.6h.01M15 7.6h.01' stroke-width='2.8'/%3E%3C/svg%3E")}
.i-chart{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20.5h18M6.5 20.5v-8M12 20.5V4.5M17.5 20.5v-11'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20.5h18M6.5 20.5v-8M12 20.5V4.5M17.5 20.5v-11'/%3E%3C/svg%3E")}
.i-hourglass{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3h11M6.5 21h11'/%3E%3Cpath d='M7.5 3c0 5 4.5 6 4.5 9s-4.5 4-4.5 9M16.5 3c0 5-4.5 6-4.5 9s4.5 4 4.5 9'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3h11M6.5 21h11'/%3E%3Cpath d='M7.5 3c0 5 4.5 6 4.5 9s-4.5 4-4.5 9M16.5 3c0 5-4.5 6-4.5 9s4.5 4 4.5 9'/%3E%3C/svg%3E")}

/* Abfahrtstafel im Plakat: gleiche Tafel, Größen folgen der Plakatbreite */
.board.mini{width:100%;margin-top:2.6cqw;border-radius:1.8cqw;text-align:left;box-shadow:0 0 0 .5cqw #111,0 0 0 1.1cqw #3a3a3a,0 2cqw 5cqw #0006}
.board.mini .b-head{padding:1.8cqw 2.8cqw}
.board.mini .b-title{font-size:4.6cqw}
.board.mini .b-clock{font-size:3.9cqw;padding:.2cqw 1.8cqw;border-radius:.8cqw}
.board.mini .b-cols,.board.mini .b-row{grid-template-columns:13cqw 10.5cqw 1fr 12.5cqw;gap:1.6cqw;padding-left:2.8cqw;padding-right:2.8cqw}
.board.mini .b-cols{font-size:2.2cqw;padding-top:1.4cqw;padding-bottom:1cqw}
.board.mini .b-row{font-size:4.1cqw;padding-top:2cqw;padding-bottom:2cqw}
.board.mini .b-row:last-child{border-bottom:0}
.board.mini .b-train{border-radius:.8cqw;padding:.5cqw 1cqw}

/* ===== Design-Umschalter oben: steht im Seitenfluss über dem Logo, nichts wird mehr verdeckt ===== */
.switcher{position:static;transform:none;left:auto;bottom:auto;opacity:1;width:max-content;max-width:100%;margin:14px auto 0;padding:5px;gap:4px;
  background:color-mix(in srgb,var(--text) 10%,transparent);color:var(--text);border:1px solid var(--ghost);box-shadow:none}
.switcher button{width:38px;height:38px;color:inherit}
.switcher button:hover{background:color-mix(in srgb,var(--text) 14%,transparent)}
.switcher .label{min-width:190px;font-size:.95rem;font-weight:700;line-height:1.25;white-space:nowrap}
.switcher .label small{display:block;font-weight:600;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
main > header{padding-top:22px}
@media (max-width:640px){
  .switcher{margin-top:calc(12px + env(safe-area-inset-top));bottom:auto}
  .switcher button{width:36px;height:36px}
  .switcher .label{min-width:176px;font-size:.9rem}
  main > header{padding-top:16px}
  main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .design-bar{bottom:calc(70px + env(safe-area-inset-bottom))}
}

/* ===== Eingabefelder folgen dem Design: dunkel in dunklen Designs, hell in hellen ===== */
.form input,.form select,.form textarea,.member input,.member select{background:#ffffff;color:#1b2430;border:1.5px solid var(--ghost);transition:border-color .15s,box-shadow .15s}
[data-mode="dark"] .form input,[data-mode="dark"] .form select,[data-mode="dark"] .form textarea,[data-mode="dark"] .member input,[data-mode="dark"] .member select{
  background:color-mix(in srgb,#000 34%,transparent);color:var(--text);border-color:color-mix(in srgb,var(--text) 38%,transparent);color-scheme:dark}
[data-mode="dark"] .form select option,[data-mode="dark"] .member select option{background:#1d1d22;color:#f2f2f2}
.form input::placeholder,.form textarea::placeholder{color:color-mix(in srgb,currentColor 55%,transparent)}
.form input:focus,.form select:focus,.form textarea:focus,.member input:focus,.member select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent)}
.form input:-webkit-autofill,.member input:-webkit-autofill{-webkit-text-fill-color:currentColor;transition:background-color 9999s}

/* Terminfelder am iPhone: Datumsfelder dürfen die Karte nicht sprengen (fieldset und Datumsfeld haben dort eine Mindestbreite) */
.whens,.slot{min-width:0;max-width:100%}
.whens input,.form input[type="datetime-local"]{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;box-sizing:border-box;-webkit-appearance:none;appearance:none;text-align:left}
.form input[type="datetime-local"]::-webkit-date-and-time-value{text-align:left}
.form,.poll-form{min-width:0}
.form > *{min-width:0}

/* ===== Logo im Plakat ===== */
.p-logo{width:24cqw;margin-top:3cqw}
.p-logo svg{display:block;width:100%;height:auto}
.p-logo + .p-banner{margin-top:1.5cqw}

/* ===== Breite Bildschirme: Seiten mit Bild nutzen die Breite zweispaltig, Textseiten bleiben schmal und gut lesbar ===== */
@media (min-width:1180px){
  body:has(main > .media) nav.top{max-width:1240px}
  main:has(> .media){max-width:1240px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:44px;align-items:start}
  main:has(> .media) > *{grid-column:1 / -1;min-width:0}

  /* Unterseiten: Titel links, Bild rechts, danach die ersten zwei Karten nebeneinander */
  main:has(> .media) > header{grid-column:1;align-self:center;padding-bottom:0}
  main > header + .media{grid-column:2;align-self:center}
  main > header + .media + .card{grid-column:1;align-self:stretch}
  main > header + .media + .card + .card{grid-column:2;align-self:stretch}
  main > header + .media + .card:has(> .board){display:flex;flex-direction:column}
  main > header + .media + .card:has(> .board) > .board{margin-top:auto;width:100%}
  main > header + .media + .card:has(> .board) > .board ~ :last-child{margin-bottom:auto}

  /* Startseite: Titel links, Countdown und Knoepfe rechts; unten Bilder links, Plakat rechts */
  main:has(> .cta-main){grid-template-areas:"sw sw" "head card" "head cta" "tag tag" "hero hero" "gal poster" "gal pnote" "ai ai" "foot foot"}
  main:has(> .cta-main) > .switcher{grid-area:sw}
  main:has(> .cta-main) > header{grid-area:head;align-self:center}
  main:has(> .cta-main) > .card[aria-live]{grid-area:card;align-self:end;margin-top:28px}
  main:has(> .cta-main) > .cta-main{grid-area:cta;align-self:start}
  main:has(> .cta-main) > .tagline{grid-area:tag;margin-top:44px}
  main:has(> .cta-main) > .hero{grid-area:hero}
  main:has(> .cta-main) > .hero img{aspect-ratio:21/9}
  main:has(> .cta-main) > .card:not([aria-live]){grid-area:gal;align-self:stretch;margin-top:40px;display:flex;flex-direction:column}
  main:has(> .cta-main) > .card:not([aria-live]) .gallery{flex:1;grid-template-rows:1fr 1fr}
  main:has(> .cta-main) > .card:not([aria-live]) .gallery figure{min-height:170px}
  main:has(> .cta-main) > .card:not([aria-live]) .gallery img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
  main:has(> .cta-main) > .poster{grid-area:poster;width:100%;padding-bottom:112px}
  main:has(> .cta-main) > .poster + .note{grid-area:pnote}
  main:has(> .cta-main) > .ainote{grid-area:ai}
  main:has(> .cta-main) > footer{grid-area:foot}
  main:has(> .media) > header h1{font-size:clamp(3rem,4.6vw,4.6rem)}
}
@media (min-width:1700px){
  html{font-size:106%}
  body:has(main > .media) nav.top,main:has(> .media){max-width:1400px}
  main:has(> .media){column-gap:56px}
  .poster{max-width:480px}
  main:has(> .cta-main) > .poster{padding-bottom:122px}
}

/* ===== Kühle Designs: die Flamme im Ofen bleibt warm (orange statt blau, grün oder weiß) ===== */
[data-theme="eiszapfen"] .lg-flame,[data-theme="winternacht"] .lg-flame,[data-theme="polarlicht"] .lg-flame,[data-theme="nordkette"] .lg-flame,[data-theme="tannenwald"] .lg-flame,[data-theme="schneenacht"] .lg-flame,[data-theme="mitternacht"] .lg-flame{fill:#f2681c}
[data-theme="eiszapfen"] .lg-core,[data-theme="winternacht"] .lg-core,[data-theme="polarlicht"] .lg-core,[data-theme="nordkette"] .lg-core,[data-theme="tannenwald"] .lg-core,[data-theme="schneenacht"] .lg-core,[data-theme="mitternacht"] .lg-core{fill:#ffd45c;opacity:.95}

/* ===== Steckbrief (Adresse, Öffnungszeiten) ===== */
.facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0;max-width:520px;margin:18px auto 6px;text-align:left}
.facts dt,.facts dd{margin:0;padding:10px 4px;border-top:1px solid var(--ghost)}
.facts dt:first-of-type,.facts dt:first-of-type + dd{border-top:0}
.facts dt{font-weight:700;padding-right:20px;color:var(--accent);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;align-self:stretch;display:flex;align-items:center}
.facts dd{overflow-wrap:anywhere}
.facts.hours dd{font-variant-numeric:tabular-nums;text-align:right}
.slide figcaption strong a{color:inherit}
.slide a.slide-img{display:block}
.slide figcaption strong a{text-decoration:underline;text-underline-offset:3px}
.slide-more{position:absolute;top:12px;right:12px;z-index:2;padding:9px 16px;border-radius:999px;background:var(--btn-bg);color:var(--btn-text);font-weight:700;font-size:.92rem;text-decoration:none;box-shadow:0 6px 18px #0006}
.slide-more:hover{transform:translateY(-1px)}
.media.tall img{aspect-ratio:4/3}

/* ===== Kleines Logo neben dem Schriftzug oben links ===== */
@media (min-width:641px){nav.top .brand{display:inline-flex;align-items:center;gap:10px}}
.brand-logo{display:block;width:38px;height:38px;flex:none}
.brand-logo svg{display:block;width:100%;height:100%}
.brand-logo .lg-ring{stroke-width:3}

/* ===== Desktop wie eine App: feste Leiste oben, Menü als Tab-Leiste mit Icons, weiche Seitenwechsel ===== */
@view-transition{navigation:auto}
@media (min-width:641px){
  body{--page-w:960px}
  body:has(main > .media){--page-w:960px}
  nav.top{position:sticky;top:0;z-index:30;max-width:none !important;margin:0;
    padding:10px max(16px,calc((100% - var(--page-w)) / 2 + 16px));
    background:color-mix(in srgb,var(--theme-color) 80%,transparent);
    -webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);
    border-bottom:1px solid var(--ghost);box-shadow:0 6px 24px #0002;user-select:none}
  nav.top .links{gap:4px;padding:4px;border-radius:16px;background:color-mix(in srgb,var(--text) 8%,transparent);border:1px solid var(--ghost)}
  nav.top .links a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;border:0;font-size:.92rem;transition:background .15s,color .15s,transform .15s}
  nav.top .links a:hover{background:color-mix(in srgb,var(--text) 10%,transparent)}
  nav.top .links a:active{transform:scale(.97)}
  nav.top .links a[aria-current="page"]{background:var(--btn-bg);color:var(--btn-text);box-shadow:0 2px 10px #0003}
  nav.top .links a.login{border:0;color:var(--accent)}
  nav.top .links a.login[aria-current="page"]{color:var(--btn-text)}
  nav.top .ico.i{display:block;width:1.15rem;height:1.15rem;margin:0}
  .switcher{margin-top:18px}
  .btn{transition:transform .12s,box-shadow .12s,filter .12s}
  .btn:active{transform:scale(.97)}
  .card,.media,.poster{transition:transform .2s,box-shadow .2s}
}
@media (min-width:1180px){body:has(main > .media){--page-w:1240px}}
@media (min-width:1700px){body:has(main > .media){--page-w:1400px}}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
@media (min-width:900px){.slide-link strong{font-size:clamp(2rem,3.4vw,3rem)}.slide-link span{font-size:1.08rem;max-width:46ch}.slide-link small{font-size:.8rem}.slide-link b{font-size:1rem;padding:10px 22px}}

/* ===== Fotos der Runde: Kennzeichnung "nur für Mitglieder" und Galerie ===== */
.nur-mitglieder{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font:700 .74rem var(--font-body);letter-spacing:.08em;text-transform:uppercase;
  background:color-mix(in srgb,var(--accent) 18%,transparent);border:1.5px solid var(--accent);color:var(--text)}
.nur-mitglieder.auf-bild{position:absolute;top:12px;left:12px;z-index:2;background:#000a;color:#fff;border-color:#fff8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.media.frei img{aspect-ratio:auto;max-height:80vh;object-fit:contain;background:#000}
.foto-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:18px 0 6px;text-align:left}
.foto{margin:0;border-radius:var(--tile-radius);overflow:hidden;border:var(--tile-border);background:color-mix(in srgb,var(--text) 6%,transparent)}
.foto.wartet{outline:2px dashed var(--accent);outline-offset:-2px}
.foto a{display:block}
.foto img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.foto figcaption{padding:8px 10px 10px;font-size:.86rem;line-height:1.35}
.foto figcaption strong{display:block}
.foto figcaption small{color:var(--muted);font-size:.76rem}
.foto figcaption .nur-mitglieder{font-size:.62rem;padding:3px 8px;margin-bottom:6px}
.foto-edit{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.foto-edit input{flex:1 1 100%;min-width:0;padding:7px 9px;border-radius:8px;border:1.5px solid var(--ghost);background:transparent;color:inherit;font:inherit}
.form input[type=file]{padding:10px;border-style:dashed}
@media (min-width:900px){.foto-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}}

/* ===== Schwoich entdecken: Karten zum Durchblättern (am Handy eine Karte mit Anschnitt der nächsten, am Desktop drei nebeneinander) ===== */
.ort-intro{text-align:center;color:var(--muted);margin:-8px auto 16px;max-width:52ch}
.orte-wrap{position:relative}
.orte{display:grid;grid-auto-flow:column;grid-auto-columns:84%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 4px;padding:4px 4px 16px;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;outline-offset:4px}
.ort{scroll-snap-align:start;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:20px 18px 18px;border-radius:var(--tile-radius);
  background:var(--tile-bg);color:var(--tile-text);border:var(--tile-border);box-shadow:0 8px 22px #0002;position:relative;overflow:hidden}
.ort::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--accent)}
.ort small{font:700 .7rem var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--tile-sub,var(--tile-text));opacity:.8;padding-left:4px}
.ort h3{font-family:var(--font-head);font-weight:var(--head-weight);letter-spacing:var(--head-tracking,0);font-size:1.4rem;line-height:1.15;margin:0;padding-left:4px;color:inherit}
.ort p{margin:0;padding-left:4px;font-size:.95rem;line-height:1.55;opacity:.92}
.ort-wo{padding-left:4px;font-size:.82rem;font-weight:600;opacity:.75}
.ort-wo::before{content:"";display:inline-block;width:.55em;height:.55em;margin-right:.5em;border-radius:50%;background:var(--accent);vertical-align:.08em}
.ort .btn{margin-top:auto;align-self:stretch;justify-content:center;text-align:center}
.o-prev,.o-next{display:none}
@media (min-width:700px){.orte{grid-auto-columns:calc((100% - 14px) / 2)}}
@media (min-width:1000px){
  .orte{grid-auto-columns:calc((100% - 28px) / 3);padding-left:4px;padding-right:4px}
  .ort{padding:24px 22px 22px}
  .o-prev,.o-next{display:grid;place-items:center;position:absolute;top:calc(50% - 30px);width:44px;height:44px;border-radius:50%;border:1px solid var(--ghost);cursor:pointer;
    background:var(--theme-color);color:var(--text);font-size:1.5rem;line-height:1;box-shadow:0 6px 18px #0005;z-index:2}
  .o-prev{left:-14px}.o-next{right:-14px}
  .o-prev:hover,.o-next:hover{background:var(--btn-bg);color:var(--btn-text)}
}
@media (min-width:1500px){.orte{grid-auto-columns:calc((100% - 42px) / 4)}}

/* Jedes Foto der Runde trägt sichtbar die Marke "Nur für Mitglieder" */
.foto a{position:relative}
.foto a::after{content:"Nur für Mitglieder";position:absolute;left:8px;top:8px;padding:4px 9px;border-radius:999px;background:#000a;color:#fff;border:1px solid #fff7;
  font:700 .6rem var(--font-body);letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none}

/* ===== Feste Leiste im Mitgliederbereich: bleibt beim Scrollen oben stehen ===== */
.subnav{position:sticky;top:0;z-index:25;display:flex;gap:6px;overflow-x:auto;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;scrollbar-width:none;
  background:color-mix(in srgb,var(--theme-color) 86%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--ghost)}
.subnav::-webkit-scrollbar{display:none}
.subnav a{flex:none;padding:8px 14px;border-radius:999px;border:1.5px solid var(--ghost);color:var(--text);text-decoration:none;font-weight:700;font-size:.9rem;white-space:nowrap}
.subnav a:hover,.subnav a.aktiv{background:var(--btn-bg);color:var(--btn-text);border-color:transparent}
.subnav + main .switcher{margin-top:14px}
@media (min-width:641px){.subnav{top:62px;justify-content:center;padding:8px 16px}}

/* ===== Innsbruck-Slider auf der Startseite (statt Einzelbild) ===== */
.media.ibk{border:0;box-shadow:none;overflow:visible;border-radius:0;background:none}
.media.ibk .slides{border-radius:var(--radius);border:var(--card-border);box-shadow:var(--card-shadow)}
.media.ibk .slide figcaption{padding:44px 20px 14px}
.media.ibk .slide figcaption strong{font-size:1.15rem}
.media.ibk .s-prev,.media.ibk .s-next{top:calc(50% - 40px)}
@media (min-width:1180px){.media.ibk .slide figcaption strong{font-size:1.4rem}.media.ibk .slide figcaption small{font-size:.8rem}}

/* ===== Installierte App am iPhone: Die Seite reicht bis ganz nach unten, damit die untere Leiste am Rand sitzt ===== */
@media (display-mode: standalone){
  html{min-height:calc(100% + env(safe-area-inset-top))}
}

/* ===== Fotos groß ansehen ===== */
.lb{position:fixed;inset:0;z-index:100;display:none;flex-direction:column;align-items:center;justify-content:center;background:#000e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  padding:calc(64px + env(safe-area-inset-top)) 0 calc(24px + env(safe-area-inset-bottom));touch-action:pan-y}
.lb.auf{display:flex}
html.lb-offen{overflow:hidden}
.lb-kopf{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 14px 12px;color:#fff}
.lb-kopf .nur-mitglieder{background:#fff2;border-color:#fff6;color:#fff}
.lb-zahl{flex:1;text-align:center;font-weight:700;font-size:.9rem;font-variant-numeric:tabular-nums}
.lb-zu{width:44px;height:44px;border-radius:50%;border:0;background:#fff2;color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}
.lb-bild{max-width:100%;max-height:100%;min-height:0;flex:1;object-fit:contain;user-select:none;-webkit-user-drag:none}
.lb-text{margin:12px 16px 0;color:#fff;text-align:center;font-size:.95rem;line-height:1.4;max-width:60ch}
.lb-prev,.lb-next{position:absolute;top:50%;width:46px;height:46px;margin-top:-23px;border-radius:50%;border:0;background:#fff2;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer}
.lb-prev{left:10px}.lb-next{right:10px}
.lb.einzeln .lb-prev,.lb.einzeln .lb-next,.lb.einzeln .lb-zahl{visibility:hidden}

/* ===== Bild-Slider am Handy: Bildtext steht unter dem Bild, die Pfeile sitzen mittig auf dem Bild – nichts überlappt mehr ===== */
@media (max-width:640px){
  .slider{container-type:inline-size}
  .slides{border-radius:0}
  .slide img{border-radius:var(--tile-radius)}
  .slide figcaption{position:static;background:none;color:var(--text);padding:10px 2px 0;text-align:left}
  .slide figcaption strong{font-size:1.02rem;line-height:1.3}
  .slide figcaption small{display:block;margin-top:3px;line-height:1.45;opacity:.8}
  .slide figcaption a{color:inherit}
  .s-prev,.s-next,.media.ibk .s-prev,.media.ibk .s-next{top:calc(28.125cqw - 20px);width:40px;height:40px;font-size:1.35rem;background:#0009;color:#fff}
  .media.ibk .slides{border:0;box-shadow:none;border-radius:0}
  .media.ibk .slide img{border-radius:var(--radius);box-shadow:var(--card-shadow)}
  .media.ibk .slide figcaption{padding:12px 4px 0}
  .media.ibk .slide figcaption strong{font-size:1.08rem}
}

/* ===== Foto-Alben ===== */
.album-wahl{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 12px;scrollbar-width:none}
.album-wahl::-webkit-scrollbar{display:none}
.album-wahl a{flex:none;padding:8px 14px;border-radius:999px;border:1.5px solid var(--ghost);color:var(--text);text-decoration:none;font-weight:700;font-size:.9rem;white-space:nowrap}
.album-wahl a.an{background:var(--btn-bg);color:var(--btn-text);border-color:transparent}
.album-neu{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.album-neu input{flex:1 1 220px;min-width:0;padding:9px 12px;border-radius:10px;border:1.5px solid var(--ghost);background:transparent;color:inherit;font:inherit}
.foto-edit select{flex:1 1 100%;min-width:0;padding:7px 9px;border-radius:8px;border:1.5px solid var(--ghost);background:transparent;color:inherit;font:inherit}
[data-mode="dark"] .foto-edit select option,[data-mode="dark"] .form select option{color:#111}
.a-album-zahl{margin-left:8px;opacity:.75}
.a-album .foto-grid:empty{display:none}
