/* mutify Neubau - Designschicht (Paket B, doku/DESIGN-VORGABE.md). Wird von design.py hinter die alten Stile gehaengt.
   Hell, ruhig, eine Schrift (Figtree, OFL, selbst gehostet), Orange nur fuer Handlungen. Schalter: bauen.py --altes-design */
@font-face{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial;src:url("/assets/neu/figtree-latin-wght-normal.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial;src:url("/assets/neu/figtree-latin-ext-wght-normal.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root:root{
  --night:#FAF8F5; --night2:#FFFFFF; --ink:#1C1917; --muted:#57534E;
  --glass:#FFFFFF; --stroke:#E7E5E4; --coral:#C2410C; --amber:#C2410C;
  --mint:#57534E; --violet:#57534E; --teal:#57534E; --gold:#9A3412; --bordeaux:#57534E; --forest:#57534E; --green:#57534E;
  --serif:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --n-grund:#FAF8F5; --n-flaeche:#FFFFFF; --n-text:#1C1917; --n-text2:#57534E; --n-blass:#78716C; --n-linie:#E7E5E4;
  --n-orange:#C2410C; --n-orange-dunkel:#9A3412; --n-orange-hell:#FFF1E6; --n-nacht:#1F2A44;
  --n-schatten:0 1px 2px rgba(28,25,23,.06); --n-schatten-hover:0 4px 12px rgba(28,25,23,.08);
  color-scheme:light;
}
html body{background:var(--n-grund)!important;color:var(--n-text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
html body *:not(svg):not(svg *):not(code):not(pre){font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif!important}
html body :is(time,.zeit,.time,.uhr,.datum,.date){font-variant-numeric:tabular-nums}

/* Typo-Skala (Handy zuerst) */
html body h1{font-size:clamp(1.75rem,1.2rem + 2.2vw,2.5rem);font-weight:800;line-height:1.15;letter-spacing:-.01em;color:var(--n-text)}
html body h2{font-size:clamp(1.375rem,1.1rem + 1.1vw,1.75rem);font-weight:700;line-height:1.2;letter-spacing:0;color:var(--n-text)}
html body h3{font-weight:700;line-height:1.3;color:var(--n-text)}
html body h1 span{background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--n-text)!important}
html body p{color:inherit}
@media(min-width:1024px){html body{font-size:1.0625rem}}

/* Links */
html body main a:not([class]),html body article a:not([class]),html body .txt a:not([class]){color:var(--n-orange);text-underline-offset:2px}

/* Kopf: ruhig, weiss, eine Linie */
html body header,html body .hdr,html body .bar{background:transparent;box-shadow:none}
html body .topbar{border-bottom:1px solid var(--n-linie);padding-bottom:12px}
html body .today{color:var(--n-text2)!important;font-weight:600;letter-spacing:0;text-transform:none}
html body .barnav a{font-size:.875rem!important;font-weight:600;color:var(--n-text)!important;background:var(--n-flaeche)!important;border:1px solid var(--n-linie)!important;border-radius:8px!important;padding:.5rem .85rem!important;min-height:40px;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}
html body .barnav a:hover{border-color:var(--n-text2)!important;color:var(--n-text)!important;background:var(--n-grund)!important}
html body .barnav a.cta{background:var(--n-flaeche)!important;color:var(--n-text)!important}
html body .barnav a[href="/fuer-veranstalter"]{background:var(--n-orange)!important;border-color:var(--n-orange)!important;color:#fff!important}
html body .barnav a[href="/fuer-veranstalter"]:hover{background:var(--n-orange-dunkel)!important;border-color:var(--n-orange-dunkel)!important}
html body .barnav a.appinstall{color:var(--n-text)!important;border-color:var(--n-linie)!important}
html body .burger span{background:var(--n-text)!important}
html body .barnav.open{background:var(--n-flaeche)!important;border-color:var(--n-linie)!important;box-shadow:var(--n-schatten-hover)!important}

/* Brotkrumen und Kleinzeilen: grau statt Orange-Grossbuchstaben */
html body :is(.crumbs,.crumb,.breadcrumb,nav.bc,.bc,.eyebrow,.kicker){color:var(--n-text2)!important;letter-spacing:.02em}
html body :is(.crumbs,.crumb,.breadcrumb,.bc) a{color:var(--n-text2)!important}

/* Knoepfe und Chips */
html body :is(.chip,.pill,.filter-chip){border-radius:999px;border:1px solid var(--n-linie);background:var(--n-flaeche);color:var(--n-text)}
html body :is(.chip,.pill).on,html body :is(.chip,.pill).active,html body .chip[aria-pressed="true"]{background:var(--n-orange-hell)!important;border-color:var(--n-orange)!important;color:var(--n-orange-dunkel)!important}

/* Flaechen/Karten: weiss, feine Linie, ruhiger Schatten */
html body :is(.card,.ev,.box,.panel,.tile,.kachel){box-shadow:var(--n-schatten)}

/* Fusszeile: Nachtblau sparsam */
html body footer{background:var(--n-nacht)!important;color:#E7E5E4}
html body footer :is(a,p,li,span,h2,h3,h4,small){color:#E7E5E4}
html body footer a:hover{color:#fff}

/* Keine Effekte */
html body *{text-shadow:none!important}
@media (prefers-reduced-motion:no-preference){html body a,html body button{transition:background-color .15s,border-color .15s,color .15s}}

/* Dunkle Restflaechen des alten Designs hell machen */
html body .glow,html body .hlbanner::before,html body .hlbanner-soon::before{display:none!important}
html body :is(.filters){background:rgba(250,248,245,.97)!important;border-bottom:1px solid var(--n-linie)}
html body :is(.leaflet-popup-content-wrapper,.leaflet-popup-tip){background:#fff!important;color:var(--n-text)!important}
html body .hlbanner{background:var(--n-flaeche)!important;border:1px solid var(--n-linie)!important;color:var(--n-text)!important}
html body :is(.hlbanner .hlb-t,.hlbanner .hlb-s,.antwort .aw-t,.sub-lang h2,.shophead h2,.hero-banner .sub){color:var(--n-text)!important}
html body .morebtn{background:var(--n-flaeche)!important;color:var(--n-text)!important;border:1px solid var(--n-linie)}
html body .morebtn::before{display:none!important}
html body .ev.dauer{background:var(--n-flaeche)!important}

/* Chips, Suchfelder */
html body :is(.chip,.topstats .chip,#suchzone .tdays .chip){color:var(--n-text)!important}
html body :is(.chip:hover){color:var(--n-orange-dunkel)!important;border-color:var(--n-orange)!important}
html body .topstats .chip.on{background:var(--n-orange-hell)!important;color:var(--n-orange-dunkel)!important}
html body :is(.searchbar input,input[type=search],input[type=text]){background:var(--n-flaeche)!important;color:var(--n-text)!important;border:1px solid #D6D3D1!important;box-shadow:none!important;border-radius:12px}
html body :is(.searchbar input,input[type=search],input[type=text]):focus{border-color:var(--n-orange)!important;outline:2px solid var(--n-orange-hell);outline-offset:0}
html body :is(.searchbar input,input[type=search],input[type=text])::placeholder{color:#78716C!important;opacity:1}

/* Bildunterschriften unter Kacheln: dunkel; auf Bildern (Poster mit Verlauf) bleiben sie hell */
html body :is(.themenband .tbtile .cap){color:var(--n-text)!important;font-weight:600}

/* Teilen-Leiste unten: hell statt Nachtblau */
html body :is(.soc-bar,.share-floating){background:rgba(255,255,255,.96)!important;border-top:1px solid var(--n-linie)!important;box-shadow:none!important}

/* Paket C (29.09.): Themenseiten-Kopf ruhig - Ueberschrift + ein Satz, dann Termine; langer Text unten (themenkopf.py) */
html body .pagehead{padding-bottom:8px}
html body .lead.lead-kurz{font-size:1.125rem;line-height:1.5;color:var(--n-text2);max-width:60ch;margin:.5rem 0 0}
html body .hero .lead.lead-kurz{color:#fff}
html body h2.sec#themen{margin-top:20px;margin-bottom:10px}
html body .themen.themen-leiste{display:flex!important;flex-wrap:nowrap;gap:8px;overflow-x:auto;grid-template-columns:none!important;padding:2px 0 6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
html body .themen-leiste .poster{flex:0 0 auto;aspect-ratio:auto!important;height:auto;min-height:40px;display:inline-flex;align-items:center;border:1px solid var(--n-linie);border-radius:999px;background:var(--n-flaeche);padding:.45rem 1rem;box-shadow:none}
html body .themen-leiste .poster:hover{border-color:var(--n-orange)}
html body .themen-leiste .poster img,html body .themen-leiste .poster .soon-tag{display:none!important}
html body .themen-leiste .poster .cap{position:static!important;color:var(--n-text)!important;font-size:.9375rem;font-weight:600;white-space:nowrap;text-shadow:none}
html body .mehr-ueber{margin-top:48px;margin-bottom:8px;padding-top:28px;border-top:1px solid var(--n-linie);color:var(--n-text2)}
html body .mehr-ueber>*,html body .mehr-ueber .seitentext,html body .mehr-ueber p{max-width:none!important}
html body .mehr-ueber h2#mehr-ueber{font-size:1.375rem;margin:0 0 12px;color:var(--n-text)}
html body .mehr-ueber :is(p,.seitentext p,.story p){font-size:1rem;line-height:1.65;margin:0 0 14px;color:var(--n-text2)}
html body .mehr-ueber .kopfdaten{font-size:.9375rem;color:var(--n-blass)}
html body .mehr-ueber .story{margin:20px 0 0;padding:0;background:none;border:0}
html body .mehr-ueber .story h2{font-size:1.125rem;margin:0 0 8px}
/* Bildkopf (hero): Schrift auf dem abgedunkelten Bild weiss, sonst dunkel auf dunkel */
html body .hero :is(h1,.crumb,.crumb a,.crumb span,.lead){color:#fff!important}
/* Handy: Bundesland-Umrisskarte im Filterblock ausblenden - dieselben Laender stehen als Knoepfe daneben; Termine rutschen hoch */
@media(max-width:700px){html body .tmap .mapwrap{display:none}}

/* ===== Apple-Schicht (29.09. abends, Michael: Vorbild apple.com/de) =====
   Wechsel schwarzer und heller Flaechen in voller Breite, grosse Ueberschriften, viel Weissraum.
   Baender: .band-dunkel (#000), .band-hell (#fff), .band-grau (#f5f5f7). Die Baender haengen an den vorhandenen Abschnitten
   (Selektorlisten unten), Volle Breite ueber ::before (100vw). Zurueck zum alten Stand: bauen.py --altes-design. */
:root:root{
  --n-grund:#FFFFFF; --n-flaeche:#F5F5F7; --n-text:#1D1D1F; --n-text2:#6E6E73; --n-blass:#86868B; --n-linie:#D2D2D7;
  --n-schatten:none; --n-schatten-hover:0 8px 28px rgba(0,0,0,.10);
  --night:#FFFFFF; --night2:#F5F5F7; --card:#F5F5F7; --glass:#F5F5F7; --stroke:#D2D2D7; --ink:#1D1D1F; --muted:#6E6E73;
  --band-dunkel:#000000; --band-grau:#F5F5F7; --karte-dunkel:#1D1D1F;
}

/* --- Band-Grundmechanik: Abschnitt bleibt im Raster, der Hintergrund reicht ueber die volle Breite --- */
html body :is(.bar,.pagehead,.wrap>header:first-child,.themenband,.mehr-ueber,.band-dunkel-innen,body>.wrap:has(>.mag),body>.wrap:has(>.ueber-grid),footer){position:relative;isolation:isolate}
html body :is(.pagehead,.wrap>header:first-child,.themenband,.mehr-ueber,.band-dunkel-innen,body>.wrap:has(>.mag),body>.wrap:has(>.ueber-grid),footer)::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:var(--band-bg,#fff)}
html body :is(.bar,.pagehead,.wrap>header:first-child,.band-dunkel-innen,.mehr-ueber,.band-dunkel){--band-bg:#000;--n-text:#F5F5F7;--n-text2:#A1A1A6;--n-blass:#86868B;--n-linie:#424245;--n-flaeche:#1D1D1F;color:#F5F5F7}
html body :is(.themenband,body>.wrap:has(>.mag),body>.wrap:has(>.ueber-grid),footer,.band-grau){--band-bg:#F5F5F7}
html body :is(.themenband,body>.wrap:has(>.mag),body>.wrap:has(>.ueber-grid),.band-grau){--n-flaeche:#FFFFFF}

/* --- Kopfleiste: schmal, halbtransparent, unscharf --- */
html body .bar{position:sticky;top:0;z-index:100;max-width:1180px;height:52px;min-height:52px;padding:0 22px;margin:0 auto -52px}
html body .bar::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:rgba(0,0,0,.78);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}
html body .topbar{border-bottom:0;padding:6px 0;min-height:52px}
html body :is(.bar,.topbar) .logo img{height:28px;width:auto}
html body :is(.bar,.topbar) .barnav{gap:2px}
html body :is(.bar,.topbar) .barnav a{background:transparent!important;border:0!important;border-radius:980px!important;color:#F5F5F7!important;font-size:.8125rem!important;font-weight:400;min-height:32px;padding:.2rem .7rem!important;box-shadow:none;opacity:.86}
html body :is(.bar,.topbar) .barnav a:hover{background:rgba(255,255,255,.14)!important;color:#fff!important;opacity:1}
html body :is(.bar,.topbar) .barnav a[href="/fuer-veranstalter"]{background:var(--n-orange)!important;color:#fff!important;font-weight:600;opacity:1;padding:.2rem .9rem!important}
html body :is(.bar,.topbar) .barnav a[href="/fuer-veranstalter"]:hover{background:var(--n-orange-dunkel)!important}
html body :is(.bar,.topbar) .burger span{background:#F5F5F7!important}
html body :is(.bar,.topbar) .barnav.open{background:#1D1D1F!important;border:0!important;border-radius:22px!important;padding:12px!important;gap:4px;box-shadow:0 20px 50px rgba(0,0,0,.5)!important}
html body :is(.bar,.topbar) .barnav.open a{font-size:1.0625rem!important;min-height:50px;justify-content:center;border-radius:14px!important;opacity:1}
html body :is(.bar,.topbar) .barnav.open a[href="/fuer-veranstalter"]{border-radius:980px!important}

/* --- Hero (dunkel): grosse, fette, zentrierte Ueberschrift, darunter ein grauer Satz --- */
html body .pagehead{text-align:center;padding:124px 22px 88px;margin-bottom:0}
html body .wrap>header:first-child{text-align:center;padding:0 0 96px;margin-bottom:0}
html body .wrap>header:first-child .topbar{text-align:left}
html body :is(.pagehead h1,.wrap>header:first-child h1){font-size:clamp(2.5rem,6vw,5rem);font-weight:700;letter-spacing:-.02em;line-height:1.05;color:#F5F5F7;margin:12px auto 0;max-width:20ch;text-wrap:balance}
html body .pagehead h1{font-size:clamp(2.5rem,5vw,4.25rem);max-width:22ch}
html body :is(.pagehead .lead,.wrap>header:first-child .sub){font-size:clamp(1.125rem,1.6vw,1.5rem);line-height:1.4;font-weight:400;color:#A1A1A6;max-width:52rem;margin:22px auto 0}
html body .pagehead .lead a{color:#F5F5F7;text-decoration:underline;text-underline-offset:3px}
html body .pagehead .lead.lead-kurz{max-width:52rem}
html body .wrap>header:first-child .today{margin:72px 0 0;color:#A1A1A6!important;font-size:.9375rem;font-weight:400}
html body :is(.pagehead .crumb,.pagehead .crumb a,.pagehead .crumb span){color:#A1A1A6!important;font-size:.8125rem;font-weight:500;letter-spacing:.02em;text-transform:none;text-decoration:none}
html body .pagehead .crumb a:hover{color:#F5F5F7!important;text-decoration:underline}

/* --- Ueberschriften der Abschnitte (hell): gross, fett, ruhig --- */
html body :is(.themenband .tbhead .tbt,.tbt,h2.sec,h2.seclabel,h2.bmon,h2.invite-h,.pdz h2){font-size:clamp(1.75rem,3.2vw,2.75rem);font-weight:700;letter-spacing:-.02em;line-height:1.1;text-transform:none;color:var(--n-text);margin:0 0 20px;height:auto}
html body :is(h2.sec,h2.seclabel){margin-top:72px}
html body h2.invite-h{text-align:center;margin-top:0}
html body .invite-sub{text-align:center;font-size:1.25rem;color:#A1A1A6;max-width:44rem;margin:0 auto 40px}
html body p.pdzhint,html body p.nbhint{color:var(--n-text2)}

/* --- Weissraum der Abschnitte --- */
html body .themenband{padding:72px 0 64px;margin:0}
html body .tbhead{margin-bottom:8px}
html body .tsearchrow{margin-top:80px}
html body .pagehead+.wrap{padding-top:72px}
html body .band-dunkel-innen{padding:112px 0 112px;margin-top:96px}
html body .mehr-ueber{margin-top:96px;padding:96px 22px 96px;border-top:0}
html body body>.wrap:has(>.mag),html body>.wrap:has(>.mag){padding-top:88px;padding-bottom:88px}
html body .pdz{margin-top:80px}
html body footer{margin-top:80px;padding:44px 22px 64px;border-top:0;background:transparent!important;color:#6E6E73;font-size:12px;line-height:1.6}
html body footer :is(a,p,li,span,h2,h3,h4,small,div){color:#6E6E73!important}
html body footer :is(h2,h3,h4){font-size:12px;font-weight:600;color:#1D1D1F!important;letter-spacing:0;text-transform:none}
html body footer a{text-decoration:none}
html body footer a:hover{color:#1D1D1F!important;text-decoration:underline}
html body>.wrap>footer,html body footer{margin-top:80px}

/* --- Kacheln: abgerundet, ohne Rahmen, Schatten nur beim Hover --- */
html body :is(.ev,.mblock,.tstat,.tmap,.tdays,.card,.box,.panel,.tile,.kachel,#leerBox,.pdzlist a){background:var(--n-flaeche)!important;border:0!important;border-radius:22px!important;box-shadow:none!important}
html body .ev{transition:box-shadow .25s ease,transform .25s ease}
html body .ev:hover{transform:none;box-shadow:0 10px 32px rgba(0,0,0,.10)!important}
html body .ev.mitbild{overflow:hidden}
html body .ev.mitbild .evbild{background:#E8E8ED}
html body .ev .cat{background:#E8E8ED!important;color:#1D1D1F!important}
html body .ev .spon-badge{background:#1D1D1F!important;color:#fff!important}
html body .ev.spon{background:#FFFFFF!important;box-shadow:0 0 0 1px #D2D2D7!important}
html body .ev.dauer{background:var(--n-flaeche)!important}
html body .ev .meta,html body .ev .desc{color:#6E6E73}
html body .ev .evdatum{color:#6E6E73}
html body .events{gap:16px}
html body .events>.ev{margin-bottom:16px}
/* Filter- und Statistik-Kacheln (grau auf weiss): Knoepfe darin weiss, Pillenform */
html body :is(.tmap,.tdays,.tstat) :is(a,button,.chip,.blchip,.bl){background:#FFFFFF!important;border:0!important;border-radius:980px!important;box-shadow:none}
html body .tdays .filters{background:transparent!important;border:0!important}
html body :is(.tmap,.tdays,.tstat) :is(.on,.active,[aria-pressed="true"]){background:#1D1D1F!important;color:#fff!important}
html body :is(.tmap,.tdays,.tstat) :is(.on,.active,[aria-pressed="true"]) *{color:#fff!important}
html body :is(.tstat) *{color:var(--n-text)}
html body .tstat :is(b,strong,.num,.n){font-weight:700;letter-spacing:-.02em}
html body :is(.mapframe,#map,.leaflet-container){border-radius:22px;overflow:hidden}
html body .mapwrap svg{max-width:100%}

/* --- Knoepfe und Chips: Pillenform (radius 980px), Orange nur fuer Handlung --- */
html body :is(.chip,.pill,.filter-chip,.morebtn,.tball2,.footinstall,.hlb-soon){border-radius:980px!important}
html body :is(.chip,.pill,.filter-chip){background:var(--n-flaeche);border:0}
html body :is(.themen-leiste .poster){background:var(--n-flaeche);border:0}
html body .themen-leiste .poster:hover{background:#E8E8ED}
html body :is(.chip,.pill).on,html body :is(.chip,.pill).active,html body .chip[aria-pressed="true"],html body .topstats .chip.on{background:#1D1D1F!important;border:0!important;color:#fff!important}
html body :is(.chip,.pill).on *{color:#fff!important}
html body :is(.chip:hover){color:var(--n-text)!important;border-color:transparent!important;background:#E8E8ED!important}
html body :is(.searchbar input,input[type=search],input[type=text]){background:#F5F5F7!important;border:1px solid transparent!important;border-radius:980px;padding-left:22px!important}
html body :is(.searchbar input,input[type=search],input[type=text]):focus{background:#fff!important;border-color:var(--n-orange)!important;outline:0}
html body .tball2{background:transparent!important;border:0!important;color:var(--n-orange)!important;font-weight:500;padding-right:0}
html body .tball2:hover{text-decoration:underline}
html body .morebtn{background:#F5F5F7!important;border:0}
/* Themenkacheln (Bilder): Beschriftung dunkel unter dem Bild */
html body .themenband .tbtile{border-radius:22px}
html body .themenband :is(.tbtile,.poster) img{border-radius:18px;border:0!important;box-shadow:none!important}
html body .themenband :is(.tbtile,.poster){border:0!important;box-shadow:none!important;background:transparent!important}
html body p.kicker{font-size:1rem;font-weight:600}
html body .themenband .tbarrow{background:rgba(255,255,255,.9)!important;color:#1D1D1F!important;border:0}

/* --- Text- und Listenabschnitte --- */
html body .mblock{padding:56px 64px!important;background:#fff!important}
html body .mag{gap:24px;margin:0}
html body .mblock h2{font-size:clamp(1.75rem,3.4vw,3rem);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0 0 20px;color:var(--n-text)}
html body .mblock p{font-size:1.125rem;line-height:1.6;opacity:1;color:var(--n-text2)}
html body .mblock .dropcap::first-letter{float:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;padding:0}
html body .mblock ul li{background:#FFFFFF!important;border:0!important;border-radius:16px}
html body .mblock ul li b{color:var(--n-text)}
html body .mblock a.lnk,html body .bev a{color:var(--n-orange);border-bottom:0}
html body .bev{border-bottom:1px solid #E8E8ED;padding:14px 0;font-size:1.0625rem}
html body .bev b{color:var(--n-text);font-weight:600}
html body .bev .bp,html body .bev .bo{color:var(--n-text2)}
html body .bmon{margin-top:64px}
html body .nblist a,html body .pdzlist a{border-radius:980px}
/* Ueber uns (grau): Karten weiss */
html body .ueber-grid{gap:16px}
html body .ueber-grid>*{background:#fff!important;border:0!important;border-radius:22px!important}
html body body>.wrap:has(>.ueber-grid){padding-top:88px;padding-bottom:88px}
html body>.wrap:has(>.ueber-grid){padding-top:88px;padding-bottom:88px}

/* --- Dunkle Baender: Inhalt --- */
html body :is(.mehr-ueber,.band-dunkel-innen){color:#A1A1A6}
html body :is(.mehr-ueber,.band-dunkel-innen) :is(h2,h3,h2#mehr-ueber){color:#F5F5F7}
html body :is(.mehr-ueber,.band-dunkel-innen) :is(p,li,.seitentext p,.story p){color:#A1A1A6}
html body :is(.mehr-ueber,.band-dunkel-innen) a:not([class]){color:#F5F5F7;text-decoration:underline;text-underline-offset:3px}
html body .mehr-ueber h2#mehr-ueber{font-size:clamp(1.75rem,3.2vw,2.75rem);letter-spacing:-.02em;margin:0 0 24px}
html body .mehr-ueber .kopfdaten{color:#86868B}
html body .mehr-ueber :is(p,.seitentext p,.story p){font-size:1.0625rem;line-height:1.7}
html body .mehr-ueber .story h2{font-size:1.5rem}
html body .band-dunkel-innen .themen{margin:0}
html body .band-dunkel-innen .hlbanner{background:#1D1D1F!important;border:0!important;border-radius:22px!important;color:#F5F5F7!important;box-shadow:none}
html body .band-dunkel-innen .hlbanner:hover{background:#2A2A2D!important}
html body .band-dunkel-innen :is(.hlbanner .hlb-t){color:#F5F5F7!important;font-weight:700}
html body .band-dunkel-innen :is(.hlbanner .hlb-s){color:#A1A1A6!important}
html body .band-dunkel-innen :is(.hlbanner .hlb-kick){color:#A1A1A6!important}
html body .band-dunkel-innen .hlb-soon{background:transparent!important;color:#F5F5F7!important;border:0;padding:0;font-weight:500}
html body .band-dunkel-innen .poster{border-radius:22px;overflow:hidden}
/* Fliesstext-Links auf hellem Grund: ruhig, kein Unterstrich-Zirkus */
html body :is(.hlbanner,.hlbanner-soon){transition:background-color .2s}

/* --- Handy: weniger Abstand, gleiche Klarheit --- */
@media(max-width:734px){
  html body .pagehead{padding:92px 20px 56px}
  html body .wrap>header:first-child{padding:0 0 56px}
  html body .wrap>header:first-child .today{margin-top:44px}
  html body :is(.pagehead h1,.wrap>header:first-child h1){font-size:clamp(2.25rem,10.5vw,3rem);max-width:none}
  html body :is(.pagehead .lead,.wrap>header:first-child .sub){font-size:1.125rem;margin-top:16px}
  html body .themenband{padding:48px 0 40px}
  html body .tsearchrow{margin-top:48px}
  html body :is(h2.sec,h2.seclabel){margin-top:48px}
  html body .pagehead+.wrap{padding-top:48px}
  html body .band-dunkel-innen{padding:64px 0;margin-top:56px}
  html body .mehr-ueber{margin-top:56px;padding:56px 20px}
  html body>.wrap:has(>.mag),html body>.wrap:has(>.ueber-grid){padding-top:56px;padding-bottom:56px}
  html body .mag{gap:16px}
  html body .mblock{padding:32px 24px!important}
  html body .mblock p{font-size:1.0625rem}
  html body footer{margin-top:56px;padding:32px 20px 48px}
  html body .pdz{margin-top:56px}
  html body :is(.tstat,.tmap,.tdays){border-radius:18px!important}
}
html body :is(#suchzone,.topstats,.tdays,.tmap) :is(.chip,.pill).on,html body #suchzone .tdays .chip.on{background:#1D1D1F!important;color:#fff!important}
html body .band-dunkel-innen .hlbanner{min-height:0!important;height:auto!important;padding:40px 44px!important}
html body>.wrap:has(>.mag)+.wrap{padding-top:72px}
@media(max-width:734px){html body>.wrap:has(>.mag)+.wrap{padding-top:48px}}

/* ===== Runde 2 (29.09. abends): Typo-Skala fest, EINE Terminkarte, Social in die Fusszeile, Startseite ruhiger ===== */
html body{font-size:1.0625rem;line-height:1.47}
html body :is(h1,h2,h3){letter-spacing:-.015em;line-height:1.07}
html body :is(.pagehead h1,.wrap>header:first-child h1){font-size:clamp(2.5rem,6vw,5rem);font-weight:700;letter-spacing:-.015em;line-height:1.07;max-width:18ch}
html body .pagehead h1{font-size:clamp(2.5rem,6vw,5rem);max-width:20ch}
html body .h1-dp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
html body .h1-rest{display:block;font-size:clamp(1.25rem,2.4vw,1.75rem);font-weight:400;line-height:1.25;letter-spacing:-.005em;color:#A1A1A6;margin:16px auto 0;max-width:30ch}
html body :is(.pagehead .lead,.wrap>header:first-child .sub){font-size:clamp(1.125rem,1.7vw,1.3125rem);line-height:1.47}
/* Abschnittstitel: 40-48px, zentriert, grauer Untertitel */
html body :is(.themenband .tbhead .tbt,.tbt,h2.sec,h2.seclabel,h2.bmon,h2.invite-h,.pdz h2,.mehr-ueber h2#mehr-ueber,.band-titel){font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.015em;line-height:1.07;text-align:center;margin:0 0 16px}
html body :is(h2.sec,h2.seclabel){margin-top:88px}
html body :is(.band-sub,.invite-sub,p.pdzhint,p.nbhint){font-size:clamp(1.125rem,1.7vw,1.3125rem);line-height:1.47;color:#6E6E73;text-align:center;max-width:44rem;margin:0 auto 40px}
html body :is(.band-dunkel-innen .invite-sub){color:#A1A1A6}
html body .pdzlist,html body .nblist{justify-content:center}
html body .tbhead{display:block;text-align:center;margin-bottom:24px}
html body .tbhead .tbt{display:block}
html body .tbhead .tbt::after{content:"Wähle ein Thema und finde, was dich begeistert.";display:block;font-size:clamp(1.125rem,1.7vw,1.3125rem);font-weight:400;letter-spacing:0;color:#6E6E73;margin-top:10px;line-height:1.47}
html body .tball2{display:inline-flex;margin-top:12px;font-size:1.0625rem}
html body :is(.day h2){font-size:1.75rem;font-weight:700;text-align:left;margin:56px 0 20px;letter-spacing:-.015em}
html body :is(.day small){font-size:1rem;color:#6E6E73}
html body .mehr-ueber h2#mehr-ueber{text-align:left}
html body :is(.mblock h2){font-size:clamp(2rem,3.4vw,2.5rem)}
html body :is(.mblock p,.bev,.mehr-ueber p){font-size:1.0625rem;line-height:1.47}
html body :is(.mehr-ueber :is(p,.seitentext p,.story p)){line-height:1.55}

/* Band Startseite: Filter, Karte, Zahlen */
html body .band-grau-innen{position:relative;isolation:isolate;--band-bg:#F5F5F7;--n-flaeche:#FFFFFF;padding:96px 0 88px;margin-top:0}
html body .band-grau-innen::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:#F5F5F7}
html body .band-grau-innen .tsearchrow{margin-top:0}
html body .band-grau-innen :is(.searchbar input,input[type=search],input[type=text]){background:#fff!important}
html body .band-grau-innen :is(.tmap,.tdays,.tstat) :is(a,button,.chip,.blchip,.bl){background:#F5F5F7!important}
html body .band-grau-innen :is(.tmap,.tdays,.tstat) :is(.on,.active,[aria-pressed="true"]){background:#1D1D1F!important}
html body .band-grau-innen h2.seclabel{margin-top:64px}
html body .blflag{display:none!important}
html body :is(.tmap,.tdays) :is(a,button,.chip){font-size:.9375rem;min-height:40px}
html body .tstat *{color:var(--n-text)!important}
html body .tstat :is(b,strong,.num,.n,.big){font-size:2.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.07}
html body .tstat :is(small,span,div){font-size:.9375rem;color:var(--n-text2)!important}

/* EINE Terminkarte */
html body .ev{display:flex!important;flex-direction:column;padding:0!important;gap:0;overflow:hidden;position:relative;align-items:stretch;background:#F5F5F7!important;border-radius:22px!important}
html body .ev.mitbild .evbild{order:-1;background:#E8E8ED;display:block}
html body .ev .evfoto{width:100%;height:auto;display:block}
html body .ev .tx{padding:22px 24px 24px!important;display:flex;flex-direction:column;flex:1;min-width:0}
html body .ev .ev-zeile{font-size:.9375rem;line-height:1.4;color:#6E6E73;font-weight:400;text-transform:none;letter-spacing:0;margin-bottom:6px}
html body .ev:not(.mitbild) .ev-zeile{padding-right:84px}
html body .ev h3{margin:0;font-size:1.3125rem;font-weight:600;line-height:1.2;letter-spacing:-.01em;color:#1D1D1F;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
html body .ev .tx .meta{font-size:1rem;line-height:1.4;color:#6E6E73;margin-top:8px}
html body .ev .price{font-size:.9375rem;font-weight:500;color:#1D1D1F;margin-top:8px}
html body .ev .ev-knoepfe{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:20px}
html body .ev-pill{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 20px;border-radius:980px;font-size:.9375rem;font-weight:600;line-height:1;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s}
html body .ev-pill-voll{background:var(--n-orange);color:#fff;border:1.5px solid var(--n-orange)}
html body .ev-pill-rand{background:transparent;color:#1D1D1F;border:1.5px solid #1D1D1F}
html body a.ev:hover .ev-pill-voll{background:var(--n-orange-dunkel);border-color:var(--n-orange-dunkel)}
html body a.ev:hover .ev-pill-rand{background:#1D1D1F;color:#fff}
html body .ev :is(.merkbtn,.kartebtn){position:absolute!important;top:12px;bottom:auto;width:34px;height:34px;min-height:0;border-radius:50%!important;background:rgba(0,0,0,.06)!important;border:0!important;box-shadow:none!important;display:flex!important;align-items:center;justify-content:center;padding:0;margin:0;color:#1D1D1F;z-index:2;cursor:pointer}
html body .ev.mitbild :is(.merkbtn,.kartebtn){background:rgba(255,255,255,.72)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
html body .ev .merkbtn{right:12px;left:auto}
html body .ev .kartebtn{right:54px;left:auto}
html body .ev :is(.merkbtn,.kartebtn) svg{width:17px;height:17px;fill:none!important;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html body .ev :is(.merkbtn.on,.merkbtn.aktiv,.merkbtn.active,.merkbtn[aria-pressed="true"]) svg{fill:var(--n-orange)!important;stroke:var(--n-orange)}
html body .events{column-gap:20px}
html body .events>.ev{margin-bottom:20px}

/* Social: weg vom schwebenden Balken, klein und grau in die Fusszeile */
html body .soc-bar,html body .share-floating{display:none!important}
html body{padding-bottom:0!important}
html body .fuss-social{display:flex;justify-content:center;gap:6px;margin:28px 0 0}
html body .fuss-social .soc-btn{width:32px;height:32px;border-radius:50%;background:transparent!important;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;color:#6E6E73;transition:background-color .2s}
html body .fuss-social .soc-btn:hover{background:#E8E8ED!important}
html body .fuss-social .soc-btn svg{width:16px;height:16px;fill:#6E6E73!important}
html body .fuss-social .soc-btn img{width:18px;height:18px;border-radius:50%;filter:grayscale(1);opacity:.7}
html body #upBtn{width:36px!important;height:36px!important;padding:0!important;border-radius:50%!important;background:rgba(29,29,31,.55)!important;color:#fff!important;border:0!important;font-size:16px!important;line-height:36px;right:20px!important;bottom:20px!important;box-shadow:none!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
html body footer{font-size:.8125rem}
html body footer :is(h2,h3,h4){font-size:.8125rem}

@media(max-width:734px){
  html body :is(.pagehead h1,.wrap>header:first-child h1){font-size:clamp(2.25rem,10.5vw,2.75rem);max-width:none}
  html body .h1-rest{font-size:1.25rem;max-width:none;margin-top:12px}
  html body :is(.themenband .tbhead .tbt,.tbt,h2.sec,h2.seclabel,h2.bmon,h2.invite-h,.pdz h2,.mehr-ueber h2#mehr-ueber,.band-titel){font-size:2rem}
  html body :is(h2.sec,h2.seclabel){margin-top:56px}
  html body .band-grau-innen{padding:56px 0 56px}
  html body .ev .tx{padding:18px 20px 20px!important}
  html body .events>.ev{margin-bottom:16px}
}
html body .themenband .tbhead{display:block!important;text-align:center}
html body .themenband .tbhead .tbt{display:block!important;text-align:center!important}
html body h2.seclabel{margin-top:72px!important}
html body .themenband{padding-bottom:48px}
html body .band-dunkel-innen a.hlbanner{aspect-ratio:auto!important;min-height:0!important;height:auto!important;display:block;margin-top:20px;padding:36px 40px!important}
html body .band-dunkel-innen a.hlbanner :is(.hlb-t){font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.15}
html body .band-dunkel-innen a.hlbanner :is(.hlb-s){font-size:1.0625rem;line-height:1.47;margin-top:8px}
html body .band-dunkel-innen a.hlbanner .hlb-soon,html body .band-dunkel-innen a.hlbanner .hlb-go{position:static!important;display:inline-flex;margin-top:16px}
html body h2.bmon{margin-top:72px!important;margin-bottom:20px}
html body .bliste-start h2.bmon:first-child,html body .wrap>h2.bmon:first-child{margin-top:0!important}
html body .mblock p{margin:0 0 16px}
html body .band-dunkel-innen a.hlbanner{padding-bottom:28px!important}

/* ===== Runde 3 ===== */
/* Knopfbeschriftung nach Ziel der Kachel (Tickets / Zum Termin) */
html body .ev-pill-voll::after{content:"Zum Termin"}
html body a.ev:not([href^="/"]):not([href^="termin"]):is([href*="ticket" i],[href*="eventim" i],[href*="reservix" i],[href*="go.php"],[href*="/go/"],[href*="okticket" i]) .ev-pill-voll::after{content:"Tickets"}
html body a.ev:not([href]) .ev-knoepfe{display:none}
html body .ev .tx{position:static!important}
html body .ev :is(h3,.meta,.desc){padding-right:0!important}
html body .ev .tx .meta{font-size:1rem;line-height:1.4;color:#6E6E73;margin-top:8px;display:block}
html body .ev .tx .meta .multi{display:none}
html body .ev .ev-badge{align-self:flex-start;font-size:.8125rem;font-weight:600;color:#6E6E73;background:#E8E8ED;border-radius:980px;padding:3px 10px;margin-bottom:10px}
html body .ev .tx .price{font-size:.9375rem;font-weight:500;color:#1D1D1F;margin-top:8px}
html body .ev :is(.merkbtn,.kartebtn){z-index:3}
html body .ev.mitbild .evbild{background:transparent}
/* Themen- und Startseite: Filter ruhig - eine Suchzeile, EINE Zeitleiste, ein Bundeslandfeld, eine kleine Zahlzeile */
html body .topstats{display:flex!important;flex-direction:column;gap:14px;padding:0!important;margin:28px 0 0;grid-template-columns:none!important}
html body .topstats :is(.tdays,.tleft,.tmap,.tstat){background:transparent!important;border-radius:0!important;padding:0!important;min-height:0!important;box-shadow:none!important}
html body .topstats .tdays{order:1;display:block!important;width:auto!important}
html body .topstats .tdays .filters{position:static!important;background:transparent!important;border:0!important;padding:0!important;margin:0!important}
html body .topstats .tdays .chips{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;gap:8px;padding:2px 0 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-direction:row!important}
html body .topstats .tdays .chips::-webkit-scrollbar{display:none}
html body .topstats .tdays .chip{flex:0 0 auto;white-space:nowrap;min-height:40px;display:inline-flex;align-items:center;padding:0 18px;font-size:.9375rem}
html body .topstats .bl-auswahl{order:2}
html body .topstats .tleft{order:3;display:block!important}
html body .topstats .tleft>.tstat:not(#stSel){display:none!important}
html body .topstats #stSel{display:inline-flex!important;align-items:baseline;gap:8px;font-size:1rem;color:#6E6E73;text-decoration:none}
html body .topstats #stSel *{font-size:1rem!important;font-weight:400!important;letter-spacing:0!important;color:#6E6E73!important;display:inline!important;line-height:1.4}
html body .topstats #stSel :is(b,strong,.num,.n,.big){font-weight:600!important;color:#1D1D1F!important}
html body .bl-auswahl summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border-radius:980px;background:#F5F5F7;font-size:1rem;font-weight:500;color:#1D1D1F}
html body .bl-auswahl summary::-webkit-details-marker{display:none}
html body .bl-auswahl summary::after{content:"\25BE";font-size:.85em}
html body .bl-auswahl[open] summary::after{content:"\25B4"}
html body .band-grau-innen .bl-auswahl summary,html body .band-grau-innen .topstats .chip{background:#FFFFFF!important}
html body .bl-auswahl .tmap{display:block!important;margin-top:14px}
html body .bl-auswahl .tmap .mapwrap{display:none!important}
html body .bl-auswahl .tmap .blcol{display:flex!important;flex-wrap:wrap;gap:8px;margin:0 0 8px;padding:0;width:auto!important}
html body .bl-auswahl .tmap .blcol>*{flex:0 0 auto;width:auto!important;min-height:38px;font-size:.9375rem}
html body .blflag{display:none!important}
/* Abstand und Untertitel vor der Terminliste */
html body h2#events.sec{margin-top:104px}
html body .abschnitt-sub{font-size:clamp(1.125rem,1.7vw,1.3125rem);line-height:1.47;color:#6E6E73;text-align:center;max-width:44rem;margin:0 auto 40px}
/* Highlight-Banner (schwarzes Band): niedrig, ruhig, eine Zeile Text */
html body .band-dunkel-innen{padding:80px 0 80px}
html body .band-dunkel-innen a.hlbanner{padding:28px 36px!important;margin-top:16px;display:flex!important;align-items:center;justify-content:space-between;gap:24px;min-height:0!important;height:auto!important}
html body .band-dunkel-innen a.hlbanner>*{position:static!important}
html body .band-dunkel-innen a.hlbanner :is(.hlb-t){font-size:1.375rem;margin:0}
html body .band-dunkel-innen a.hlbanner :is(.hlb-s){display:none}
html body .band-dunkel-innen a.hlbanner :is(.hlb-kick){margin-bottom:4px}
@media(max-width:734px){
  html body h2#events.sec{margin-top:72px}
  html body .band-dunkel-innen a.hlbanner{flex-direction:column;align-items:flex-start;gap:12px;padding:24px 22px!important}
}
html body .topstats .tdays .chip{width:auto!important;flex:0 0 auto!important;max-width:none!important}
html body .topstats .tdays .chips{width:100%;margin:0!important;padding-left:0!important}
html body .topstats .tleft{display:block!important}
html body .topstats a#stSel.tstat,html body .topstats .tleft>a.tstat{display:inline-flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:baseline;gap:6px;background:transparent!important;width:auto!important;min-height:0!important;padding:0!important}
html body .topstats #stSel .gohint{display:none!important}
html body .topstats #stSel :is(b,#stN){font-size:1rem!important}
html body div.topstats>div.tdays{background:transparent!important;padding:0!important;margin:0!important;height:auto!important;min-height:0!important;border:0!important;border-radius:0!important}
html body div.topstats>div.tmap,html body div.topstats>div.tleft{background:transparent!important;height:auto!important;min-height:0!important;padding:0!important}
html body .band-dunkel-innen a.hlbanner .hlb{min-height:0!important;height:auto!important;padding:0!important;flex:1}
html body .band-dunkel-innen a.hlbanner .hlb-cta{flex:0 0 auto;position:static!important;margin:0!important}
html body .topstats :is(.tdays,.tleft,.tmap,.tstat,#kein-id){background:transparent!important;border-radius:0!important;padding:0!important;min-height:0!important;height:auto!important;box-shadow:none!important;border:0!important}
html body .topstats .bl-auswahl :is(.tmap,#kein-id){margin-top:12px}
html body .topstats a#stSel.tstat{display:inline-flex!important}
html body .topstats{height:auto!important;min-height:0!important;max-height:none!important;grid-template-rows:none!important;align-content:flex-start;justify-content:flex-start}
html body .topstats .tdays .chip,html body .topstats .bl-auswahl summary{background:#F5F5F7!important}
html body .topstats .tdays .chip.on{background:#1D1D1F!important}
html body .band-grau-innen .topstats .tdays .chip:not(.on),html body .band-grau-innen .topstats .bl-auswahl summary{background:#FFFFFF!important}
html body .bl-auswahl .tmap .blcol>*{background:#F5F5F7!important}
html body .band-grau-innen .bl-auswahl .tmap .blcol>*{background:#FFFFFF!important}
html body .topstats>*{flex:0 0 auto!important;flex-basis:auto!important;width:auto!important;max-width:100%}
html body .topstats>.tdays{width:100%!important}
