:root{--bg:#080b14;--panel:#101522;--panel2:#151c2c;--text:#f5f7ff;--muted:#9ba6bd;--line:#263047;--cyan:#58e6d9;--violet:#8c6cff;--pink:#ff64b0;--radius:20px}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}.container{width:min(1180px,calc(100% - 36px));margin:auto}.hero{min-height:70vh;position:relative;overflow:hidden;background:radial-gradient(circle at 70% 25%,rgba(140,108,255,.25),transparent 35%),linear-gradient(150deg,#080b14,#10162a)}.nav{display:flex;align-items:center;justify-content:space-between;padding:26px 0;position:relative;z-index:2}.brand{font-size:1.15rem;font-weight:800;color:#fff;text-decoration:none}.brand span,.nav-link,.footer-links a,.legal-card a{color:var(--cyan)}.nav-link,.footer-links a{text-decoration:none;font-weight:700}.hero-content{position:relative;z-index:2;padding:10vh 0 12vh;max-width:980px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--cyan);font-size:.75rem;font-weight:800}.hero h1{font-size:clamp(3rem,8vw,7rem);line-height:.92;letter-spacing:-.06em;margin:.2em 0}.hero h1 span{background:linear-gradient(90deg,var(--cyan),var(--violet),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}.lead{font-size:clamp(1.05rem,2vw,1.35rem);max-width:700px;color:#c3cadd}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.primary-button,.secondary-button{padding:14px 20px;border-radius:999px;text-decoration:none;font-weight:800}.primary-button{background:#fff;color:#080b14}.secondary-button{border:1px solid var(--line);color:#fff;background:rgba(255,255,255,.04)}.glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.3}.glow-one{width:340px;height:340px;background:var(--pink);right:-100px;bottom:-80px}.glow-two{width:280px;height:280px;background:var(--cyan);left:-120px;top:30%}.events-section{padding:80px 0}.section-heading{display:flex;gap:20px;justify-content:space-between;align-items:end;margin-bottom:26px}.section-heading h2{font-size:clamp(2rem,5vw,3.5rem);margin:0;letter-spacing:-.04em}.result-count,.location-status{color:var(--muted)}.filters{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:12px;align-items:end;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.field span{display:block;color:var(--muted);font-size:.75rem;font-weight:700;margin:0 0 7px 4px}.field input,.field select{width:100%;border:1px solid var(--line);background:#0b101c;color:#fff;border-radius:12px;padding:13px;font:inherit}.checkbox-field{display:flex;align-items:center;gap:8px;min-height:49px}.location-button{min-height:49px;padding:0 16px;border:1px solid rgba(88,230,217,.45);border-radius:12px;background:rgba(88,230,217,.1);color:var(--cyan);font:inherit;font-weight:800;cursor:pointer}.location-status{font-size:.85rem;margin:12px 4px 24px}.event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.event-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,var(--panel),#0c111d);transition:.2s}.event-card:hover{transform:translateY(-2px);border-color:#3a4967}.event-card.highlight{border-color:#7861ce;box-shadow:0 0 0 1px rgba(140,108,255,.14) inset}.event-card.cancelled{opacity:.65}.event-card.linked{outline:2px solid var(--cyan);outline-offset:3px}.emoji{font-size:2rem}.topline{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#cbd3e3;font-size:.85rem;font-weight:700}.highlight-badge,.live-badge,.status{padding:4px 8px;border-radius:999px;font-size:.72rem}.highlight-badge{background:rgba(140,108,255,.17);color:#c8bbff}.live-badge{background:rgba(88,230,217,.12);color:#8ef6ec}.status-cancelled{background:#6b253b;color:#ffd1df}.status-soldout{background:#664815;color:#ffdf9e}.status-postponed{background:#263b6b;color:#bed2ff}.event-card h3{font-size:1.35rem;line-height:1.18;margin:11px 0 12px}.badges{display:flex;flex-wrap:wrap;gap:7px}.category-badge{border:1px solid rgba(88,230,217,.35);background:rgba(88,230,217,.08);color:#9df8ef;padding:5px 9px;border-radius:999px;font-size:.75rem;font-weight:800}.meta{display:flex;flex-direction:column;gap:5px;margin:14px 0;color:#c6cede}.actions{display:flex;flex-wrap:wrap;gap:8px}.action{border:1px solid var(--line);background:#0b101c;color:#eaf0ff;border-radius:10px;padding:8px 10px;text-decoration:none;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.action:hover{border-color:var(--cyan)}.route-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}.route-links a{color:var(--cyan);font-size:.84rem}.notice,.import-errors{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--muted)}footer{border-top:1px solid var(--line);padding:38px 0;background:#060810}.footer-inner{display:flex;justify-content:space-between;gap:25px}.footer-inner p{color:var(--muted);margin:.35rem 0}.footer-links{display:flex;flex-wrap:wrap;align-content:start;gap:12px 22px}.copyright{font-size:.78rem}.legal-page{min-height:70vh;padding:60px 0}.legal-card{max-width:850px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
@media(max-width:1050px){.filters{grid-template-columns:repeat(3,1fr)}.search-field{grid-column:span 2}}
@media(max-width:760px){.filters{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.event-list{grid-template-columns:1fr}.event-card{grid-template-columns:50px minmax(0,1fr)}.footer-inner{flex-direction:column}.section-heading{align-items:start;flex-direction:column}}
@media(max-width:520px){.container{width:min(100% - 24px,1180px)}.filters{grid-template-columns:1fr}.search-field{grid-column:auto}.hero h1{font-size:clamp(2.7rem,15vw,4.5rem)}.event-card{grid-template-columns:42px minmax(0,1fr);padding:17px;gap:10px}.emoji{font-size:1.7rem}.actions{display:grid;grid-template-columns:1fr 1fr}.action{text-align:center}.route-links{flex-direction:column;gap:7px}}

/* Version 6: Filterlayout, Detailseiten und Standortaktion */
.filters{grid-template-columns:minmax(260px,2fr) repeat(4,minmax(145px,1fr));}
.checkbox-field{grid-column:1 / span 2;white-space:nowrap}.location-button{grid-column:3 / span 2;white-space:nowrap;width:max-content;min-width:190px;padding-inline:22px}.detail-page{min-height:70vh;padding:60px 0}.detail-card{max-width:900px;margin:auto;padding:clamp(24px,5vw,52px);border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,var(--panel),#0c111d)}.detail-card h1{font-size:clamp(2.2rem,6vw,4.8rem);line-height:1;letter-spacing:-.04em;margin:.25em 0}.detail-emoji{font-size:4rem;float:right}.detail-date{font-size:1.25rem;font-weight:800;color:#cbd3e3}.detail-facts{margin:24px 0}.share-detail{border:0;cursor:pointer;margin-top:18px}.detail-link{border-color:rgba(88,230,217,.45)}
@media(max-width:1050px){.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.search-field{grid-column:span 2}.checkbox-field{grid-column:1 / span 2}.location-button{grid-column:3;width:100%;min-width:0}}
@media(max-width:760px){.filters{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.checkbox-field{grid-column:1}.location-button{grid-column:2;width:100%}}
@media(max-width:520px){.filters{grid-template-columns:1fr}.search-field,.checkbox-field,.location-button{grid-column:1}.location-button{width:100%}.detail-emoji{float:none}.detail-card .actions{grid-template-columns:1fr}}

/* Version 7: kreative 404-Seite */
.lost-page{min-height:72vh;display:grid;align-items:center;padding:60px 0}.lost-card{position:relative;overflow:hidden;max-width:900px;margin:auto;padding:clamp(30px,7vw,72px);border:1px solid var(--line);border-radius:32px;background:radial-gradient(circle at 90% 0,rgba(140,108,255,.22),transparent 35%),linear-gradient(145deg,var(--panel),#0b101c)}.lost-card h1{font-size:clamp(2.4rem,7vw,5.8rem);line-height:.95;letter-spacing:-.055em;max-width:760px;margin:.25em 0}.lost-code{position:absolute;right:-10px;top:-45px;font-size:clamp(8rem,22vw,18rem);font-weight:900;line-height:1;color:rgba(255,255,255,.035);letter-spacing:-.08em}.lost-emoji{font-size:3rem}.lost-path{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;margin:18px 0;padding:8px 12px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem}

/* Version 8: optionale Eventbilder, Beschreibungen und Kategorien */
.event-hero-image{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;border-radius:18px;margin-bottom:28px}.event-description{max-width:75ch;margin:28px 0;padding:22px;border-left:3px solid var(--cyan);background:rgba(88,230,217,.045);border-radius:0 14px 14px 0;color:#d7deeb;line-height:1.75}.category-badge{text-decoration:none}.category-badge:hover{border-color:var(--cyan);background:rgba(88,230,217,.14)}.category-title{font-size:clamp(2.5rem,7vw,5.5rem);line-height:.95;letter-spacing:-.05em;margin:.2em 0}.category-list{margin-top:38px}.category-list .event-card h2{font-size:1.35rem;margin:10px 0 12px}

/* Version 13: professionelle Markenfarben sowie automatischer Hell-/Dunkelmodus */
:root{color-scheme:light dark;--brand:#2B5C89;--brand-hover:#21496E;--brand-soft:#E7EEF5;--bg:#F5F7FA;--panel:#FFFFFF;--panel2:#F0F4F8;--text:#172534;--muted:#607386;--line:#D5DFE8;--cyan:#2B5C89;--violet:#527CA3;--pink:#7797B5;--shadow:0 14px 38px rgba(31,67,99,.10)}
body{background:var(--bg);color:var(--text)}.hero{background:linear-gradient(145deg,#F8FAFC 0%,#EDF3F8 58%,#E4EDF5 100%)}.hero::after{content:"";position:absolute;inset:auto -12% -45% 45%;height:520px;background:radial-gradient(circle,rgba(43,92,137,.14),transparent 66%);pointer-events:none}.hero h1 span{background:none;color:var(--brand)}.lead{color:#53687A}.eyebrow,.nav-link,.footer-links a,.legal-card a{color:var(--brand)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text)}.brand-logo{width:42px;height:42px;object-fit:contain}.brand-text{line-height:1.12}.glow{display:none}.primary-button{background:var(--brand);color:#fff}.primary-button:hover{background:var(--brand-hover)}.secondary-button{border-color:var(--line);color:var(--brand);background:var(--panel)}.filters,.event-card,.notice,.import-errors,.detail-card,.legal-card{background:var(--panel);border-color:var(--line);box-shadow:var(--shadow)}.field input,.field select,.action{background:var(--panel2);color:var(--text);border-color:var(--line)}.field input:focus,.field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(43,92,137,.14)}.location-button{border-color:rgba(43,92,137,.45);background:var(--brand-soft);color:var(--brand)}.location-button:hover{background:#DCE8F2}.event-card:hover{border-color:#A9BDD0}.event-card.highlight{border-color:var(--brand);box-shadow:0 0 0 1px rgba(43,92,137,.12),var(--shadow)}.category-badge{border-color:rgba(43,92,137,.32);background:var(--brand-soft);color:var(--brand)}.category-badge:hover{border-color:var(--brand);background:#DCE8F2}.meta,.topline,.detail-date{color:#526A7E}.event-description{background:rgba(43,92,137,.055);border-left-color:var(--brand);color:var(--text)}footer{background:#E9EFF5;border-top-color:var(--line)}.footer-inner p{color:var(--muted)}.lost-card{background:linear-gradient(145deg,var(--panel),var(--panel2));border-color:var(--line);box-shadow:var(--shadow);isolation:isolate}.lost-card>*{position:relative;z-index:1}.lost-code{z-index:0;right:22px;top:8px;font-size:clamp(7rem,18vw,13rem);color:rgba(43,92,137,.055);line-height:.8}.lost-emoji{margin-top:30px}.event-hero-image{box-shadow:var(--shadow)}
@media(prefers-color-scheme:dark){:root{--brand:#6E9BC4;--brand-hover:#8BB2D5;--brand-soft:#152B3E;--bg:#0E1620;--panel:#17222E;--panel2:#101A24;--text:#EDF3F8;--muted:#9BAFC0;--line:#2A3A49;--cyan:#78A6CE;--violet:#8DAFCB;--pink:#A8C0D5;--shadow:0 18px 42px rgba(0,0,0,.24)}.hero{background:linear-gradient(145deg,#101A24 0%,#142331 60%,#162A3B 100%)}.hero::after{background:radial-gradient(circle,rgba(110,155,196,.15),transparent 66%)}.hero h1 span{color:#8BB2D5}.lead{color:#AFC0CF}.primary-button{background:#6E9BC4;color:#08121A}.primary-button:hover{background:#8BB2D5}.secondary-button{color:#B4D0E7;background:#17222E}.location-button{background:#152B3E;color:#9DC0DD}.location-button:hover{background:#1B354B}.category-badge{background:#152B3E;color:#9FC3E0}.category-badge:hover{background:#1B354B}.meta,.topline,.detail-date{color:#B4C4D1}footer{background:#0A1118}.lost-code{color:rgba(139,178,213,.07)}}
@media(max-width:620px){.brand-text{max-width:185px}.brand-logo{width:38px;height:38px}.lost-code{right:10px;top:12px;font-size:7rem}.lost-card{padding-top:90px}.lost-emoji{margin-top:0}}

/* Version 14: manueller Theme-Schalter und bereinigte 404-Dekoration */
.nav{gap:18px}.nav-link{margin-left:auto}.theme-control{flex:0 0 auto}.theme-select{appearance:auto;min-height:40px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}.theme-select:focus-visible{outline:3px solid rgba(43,92,137,.25);outline-offset:2px}
.lost-card::before{content:"404";position:absolute;z-index:0;right:38px;top:38px;font-size:clamp(6rem,15vw,10rem);font-weight:900;line-height:.72;letter-spacing:-.07em;color:rgba(43,92,137,.055);pointer-events:none;user-select:none}.lost-card .lost-code{display:none!important}
/* Explicit light mode overrides system dark mode. */
html[data-theme="light"]{color-scheme:light;--brand:#2B5C89;--brand-hover:#21496E;--brand-soft:#E7EEF5;--bg:#F5F7FA;--panel:#FFFFFF;--panel2:#F0F4F8;--text:#172534;--muted:#607386;--line:#D5DFE8;--cyan:#2B5C89;--violet:#527CA3;--pink:#7797B5;--shadow:0 14px 38px rgba(31,67,99,.10)}
html[data-theme="light"] .hero{background:linear-gradient(145deg,#F8FAFC 0%,#EDF3F8 58%,#E4EDF5 100%)}html[data-theme="light"] .hero::after{background:radial-gradient(circle,rgba(43,92,137,.14),transparent 66%)}html[data-theme="light"] .hero h1 span{color:#2B5C89}html[data-theme="light"] .lead{color:#53687A}html[data-theme="light"] .primary-button{background:#2B5C89;color:#fff}html[data-theme="light"] .secondary-button{color:#2B5C89;background:#fff}html[data-theme="light"] .location-button{background:#E7EEF5;color:#2B5C89}html[data-theme="light"] .category-badge{background:#E7EEF5;color:#2B5C89}html[data-theme="light"] .meta,html[data-theme="light"] .topline,html[data-theme="light"] .detail-date{color:#526A7E}html[data-theme="light"] footer{background:#E9EFF5}html[data-theme="light"] .lost-card::before{color:rgba(43,92,137,.055)}
/* Explicit dark mode works irrespective of system setting. */
html[data-theme="dark"]{color-scheme:dark;--brand:#6E9BC4;--brand-hover:#8BB2D5;--brand-soft:#152B3E;--bg:#0E1620;--panel:#17222E;--panel2:#101A24;--text:#EDF3F8;--muted:#9BAFC0;--line:#2A3A49;--cyan:#78A6CE;--violet:#8DAFCB;--pink:#A8C0D5;--shadow:0 18px 42px rgba(0,0,0,.24)}
html[data-theme="dark"] .hero{background:linear-gradient(145deg,#101A24 0%,#142331 60%,#162A3B 100%)}html[data-theme="dark"] .hero::after{background:radial-gradient(circle,rgba(110,155,196,.15),transparent 66%)}html[data-theme="dark"] .hero h1 span{color:#8BB2D5}html[data-theme="dark"] .lead{color:#AFC0CF}html[data-theme="dark"] .primary-button{background:#6E9BC4;color:#08121A}html[data-theme="dark"] .secondary-button{color:#B4D0E7;background:#17222E}html[data-theme="dark"] .location-button{background:#152B3E;color:#9DC0DD}html[data-theme="dark"] .category-badge{background:#152B3E;color:#9FC3E0}html[data-theme="dark"] .meta,html[data-theme="dark"] .topline,html[data-theme="dark"] .detail-date{color:#B4C4D1}html[data-theme="dark"] footer{background:#0A1118}html[data-theme="dark"] .lost-card::before{color:rgba(139,178,213,.07)}
@media(max-width:760px){.nav{flex-wrap:wrap}.nav-link{margin-left:auto}.theme-control{order:3;margin-left:auto}.theme-select{min-height:38px}.lost-card::before{right:24px;top:28px;font-size:8rem}}
@media(max-width:520px){.nav-link{display:none}.theme-control{order:initial;margin-left:auto}.theme-select{max-width:126px}.lost-card{padding-top:105px}.lost-card::before{right:16px;top:28px;font-size:6.2rem}}

/* Version 15: kompakter Theme-Schalter und finale 404-Bereinigung */
.theme-control{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 4px 14px rgba(31,67,99,.06)}.theme-button{display:grid;place-items:center;width:36px;height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:1rem;line-height:1;cursor:pointer}.theme-button:hover{background:var(--panel2);color:var(--brand)}.theme-button.is-active{background:var(--brand);color:#fff}.theme-button:focus-visible{outline:3px solid rgba(43,92,137,.24);outline-offset:2px}.theme-select{display:none!important}
/* Earlier .lost-code rules are neutralized; only one subdued pseudo-element remains. */
.lost-code{display:none!important}.lost-card::before{content:"404"!important;right:34px!important;top:28px!important;font-size:clamp(5.5rem,12vw,8.5rem)!important;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-weight:800!important;font-kerning:none!important;font-variant-ligatures:none!important;font-feature-settings:"kern" 0,"liga" 0!important;letter-spacing:.02em!important;line-height:1!important;color:rgba(43,92,137,.045)!important;text-shadow:none!important;white-space:nowrap!important;transform:none!important}
html[data-theme="dark"] .lost-card::before{color:rgba(139,178,213,.055)!important}
@media(prefers-color-scheme:dark){html:not([data-theme]) .lost-card::before{color:rgba(139,178,213,.055)!important}}
@media(max-width:760px){.theme-control{margin-left:auto;order:initial}.lost-card::before{right:20px!important;top:22px!important;font-size:6.5rem!important}}
@media(max-width:520px){.theme-button{width:34px;height:32px}.lost-card{padding-top:92px}.lost-card::before{right:14px!important;top:20px!important;font-size:5.3rem!important}}

/* Version 16: WCAG-orientierte Kontraste, Fokus, Bewegung und Bedienbarkeit */
:root{--muted:#435B70;--footer-text:#314A60;--focus:#173F63}
.footer-inner p,.copyright{color:var(--footer-text)!important}.footer-links a{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}.location-status,.result-count,.field span{color:var(--muted)}
.skip-link{position:fixed;z-index:9999;left:12px;top:12px;transform:translateY(-160%);padding:12px 16px;border-radius:8px;background:#fff;color:#173F63;font-weight:800;text-decoration:none;box-shadow:0 4px 18px rgba(0,0,0,.22)}.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px!important}
.action,.theme-button,.location-button,.primary-button,.secondary-button{min-height:44px}.event-link,.footer-links a,.nav-link{min-height:44px;display:inline-flex;align-items:center}.field input,.field select{min-height:46px}
@media(prefers-color-scheme:dark){html:not([data-theme]){--muted:#B3C5D4;--footer-text:#C8D5DF;--focus:#9FC8E8}html:not([data-theme]) .footer-inner p,html:not([data-theme]) .copyright{color:var(--footer-text)!important}}
html[data-theme="light"]{--muted:#435B70;--footer-text:#314A60;--focus:#173F63}html[data-theme="dark"]{--muted:#B3C5D4;--footer-text:#C8D5DF;--focus:#9FC8E8}
html[data-theme="dark"] .footer-inner p,html[data-theme="dark"] .copyright{color:var(--footer-text)!important}html[data-theme="light"] .footer-inner p,html[data-theme="light"] .copyright{color:var(--footer-text)!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.event-card:hover{transform:none}}
@media(forced-colors:active){.theme-button.is-active,.primary-button,.category-badge{forced-color-adjust:auto}.event-card,.filters,.detail-card,.lost-card{border:1px solid CanvasText}.skip-link{border:2px solid CanvasText}}

/* Version 17: konsistente Controls und responsive Navigation */
/* Einheitliche vertikale Ausrichtung aller Link- und Button-Controls */
.primary-button,.secondary-button,.action,.location-button,.theme-button,.event-link,.nav-link,.footer-links a{
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
  line-height:1.2;
}
.primary-button,.secondary-button,.action,.location-button,.theme-button{display:inline-flex}
.action{min-height:44px;padding:10px 12px}
.actions{align-items:stretch}
.actions .action{height:auto}
.primary-button,.secondary-button{min-height:48px}
.location-button{min-height:46px}
.theme-button{min-height:34px;height:34px}
.footer-links a,.nav-link{padding-block:6px}

/* Desktop: Marke links, Navigation rechts in einer sauberen Zeile */
.nav{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px 18px}
.nav .brand{min-width:0;justify-self:start}.nav .nav-link{margin:0;justify-self:end;white-space:nowrap}.nav .theme-control{justify-self:end;margin:0;order:initial}
.brand-text{max-width:none}

/* Tablets und kleine Laptops */
@media(max-width:900px){
  .nav{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand theme" "link link";row-gap:10px}
  .nav .brand{grid-area:brand}.nav .theme-control{grid-area:theme}.nav .nav-link{grid-area:link;justify-self:end;min-height:36px;padding:2px 0}
}

/* Smartphones: kein loses 'Events entdecken' im Header. Der Hero-CTA übernimmt diese Funktion. */
@media(max-width:620px){
  .nav{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand theme";gap:10px;padding:18px 0}
  .nav .nav-link{display:none!important}.nav .brand{grid-area:brand}.nav .theme-control{grid-area:theme;justify-self:end}
  .brand-text{max-width:210px;font-size:1rem}.brand-logo{width:40px;height:40px;flex:0 0 40px}
  .theme-control{gap:1px;padding:3px}.theme-button{width:34px;min-width:34px;height:34px;min-height:34px}
  .hero-content{padding-top:7vh}.hero-actions{align-items:stretch}.hero-actions .primary-button,.hero-actions .secondary-button{width:100%;text-align:center}
  .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.actions .action{width:100%;min-width:0;white-space:normal;text-align:center;padding:10px 8px}
}
@media(max-width:390px){
  .brand-text{max-width:150px;font-size:.92rem}.brand-logo{width:36px;height:36px;flex-basis:36px}.theme-button{width:32px;min-width:32px}.actions{grid-template-columns:1fr 1fr}
}

/* Version 18: Footer immer am unteren Fensterrand bei kurzen Seiten */
html,body{min-height:100%}body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}body>main{flex:1 0 auto;width:100%}body>footer{flex:0 0 auto;width:100%;margin-top:auto}
/* Footer-Typografie mit hohem Kontrast und konsistenter Hierarchie */
footer{color:var(--text)}.footer-inner strong{display:block;color:var(--text);font-weight:800}.footer-inner p,.footer-inner .copyright{color:var(--footer-text)!important}.footer-inner .copyright{font-size:.82rem;line-height:1.5}.footer-links{align-items:center}.footer-links a{color:var(--brand);font-weight:700}
/* Detailseiten dürfen den Footer nicht künstlich durch feste Inhalts-Höhen wegdrücken. */
.detail-page,.legal-page,.lost-page{min-height:0}
@media(max-width:620px){.footer-inner{gap:20px}.footer-links{gap:8px 18px}}

/* Version 19: kompakte Routenwahl auch auf der Detailseite */
.detail-card .actions{align-items:flex-start}.route-menu{position:relative;display:inline-flex;flex-direction:column}.detail-route-links{margin-top:8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow);gap:8px;min-width:170px;z-index:3}.detail-route-links a{display:block;min-height:36px;padding:6px 8px;border-radius:7px;color:var(--brand);font-weight:700;text-decoration:none}.detail-route-links a:hover{background:var(--panel2)}.detail-route-links a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
@media(max-width:620px){.route-menu{width:100%}.detail-route-links{width:100%;grid-column:1/-1}.detail-card .actions .route-button{width:100%}}
