/* ===================================================================
 * UCB - Auftritte, Proben und News
 * seiten.css - Gestaltung der Seiten dieses Plugins: Uebersichten und
 * Detailseiten von News, Auftritten und Proben, die Masken, die
 * Handytabelle und die Grossansicht der Bilder.
 *
 * 2.6.62 (24.10.2026): Bis 2.6.61 stand dieses CSS als Zeichenkette in
 * ucb_an_stile() und ging EINGEBETTET in jede Seite der Website - rund 54 KB
 * je Aufruf, auch auf Startseite, Galerien und Impressum (Plugin-Pruefung
 * 23.10.2026, Nr 7). Jetzt eine Datei: Sie laedt weiter auf jeder Seite, aber
 * der Browser holt sie nur einmal und nimmt sie danach aus seinem Speicher.
 * Bewusst KEINE Bedingung "nur auf den Plugin-Seiten": eine Bedingung, die
 * eine Seite vergisst, liesse sie ungestaltet stehen. Fassung (?ver=) ist die
 * Aenderungszeit der Datei (ucb_an_asset_fassung), Reihenfolge und Handle
 * (ucb-an) wie bisher - inhalt.css haengt weiter daran.
 *
 * Die Farbvariablen (--ucb-blue-deep usw.) stehen an .ucb-an-seite und
 * verweisen auf die Palette des Themes (--skl-...), mit dem bisherigen Wert
 * als Ersatz. Regel 3.11: Was das Plugin ausgibt, gestaltet das Plugin.
 * =================================================================== */
.ucb-an-seite{--ucb-blue:var(--skl-hellblau, #679dce);--ucb-blue-deep:var(--skl-vereinsblau, #0876b8);--ucb-navy:var(--skl-vereinsblau-dunkel, #075d91);--ucb-sky:var(--skl-flaeche-3, #dceef9);--ucb-cream:var(--skl-seite, #f5f8fb);--ucb-text:var(--skl-schrift, #203243);--ucb-muted:var(--skl-schrift-leise, #4a5f72);--ucb-line:var(--skl-rand, #d5e2ec);--ucb-radius:14px;--ucb-shadow:0 7px 18px rgb(var(--skl-schatten-rgb, 34 73 106) / .1)}
.ucb-an-seite,.ucb-an-seite *{box-sizing:border-box}
.ucb-an-seite{width:100%;max-width:100%;margin:0;padding:48px 16px 64px;overflow:hidden;color:var(--ucb-text)}
/* 2.6.56: Uebersichten Auftritte und Proben ohne eigenen Abstand oben - es bleiben die 40 px des Themes (Wunsch des Benutzers).
   Zwei Klassen (0,2,0) schlagen auch die Regel .ucb-an-seite im 760er weiter unten. */
.ucb-an-seite.ucb-an-seite--uebersicht{padding-top:0}
.ucb-an-inhalt{width:min(1180px,100%);max-width:100%;min-width:0;margin:0 auto}

/* Kopf */
.ucb-an-kopf{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;margin:0 0 1.5rem}
.ucb-an-kicker{margin:0;color:var(--skl-blau-schrift-dunkel, #075d91);font-size:.88rem;font-weight:800;letter-spacing:.14em;line-height:1.4;text-transform:uppercase}
.ucb-an-seite h1{max-width:100%;margin:0;color:var(--skl-blau-schrift, #0876b8);font-size:clamp(1.9rem,4.5vw,2.8rem);line-height:1.15;overflow-wrap:anywhere}

/* Buttons. 2.6.62: ohne !important bei Farbe und Unterstrich - eine Gegenregel gibt es
   nicht mehr (die Verweisregeln des Themes, a und a:hover, wiegen 0,1,1, diese 0,2,1). */
.ucb-an-seite a.ucb-an-knopf{display:inline-block;padding:.65rem 1.2rem;color:var(--skl-auf-farbe, #fff);background:var(--ucb-blue-deep);border:2px solid var(--ucb-blue-deep);border-radius:999px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:.96rem;font-weight:800;line-height:1.25;text-decoration:none;box-shadow:0 7px 17px rgb(var(--skl-vereinsblau-rgb, 8 118 184) / .2)}
.ucb-an-seite a.ucb-an-knopf:hover{background:var(--ucb-navy);border-color:var(--ucb-navy)}
/* 2.6.57: unten ein Textverweis "Historie ->" wie bei der Stadtkapelle (News und Auftritte 1.8.24, .skl-ar-umschalter) */
.ucb-an-umschalter{margin:1.8rem 0 0;text-align:right}
.ucb-an-seite .ucb-an-umschalter a{color:var(--skl-blau-schrift-dunkel, #075d91);font-weight:600;text-decoration:none}
.ucb-an-seite .ucb-an-umschalter a:hover{text-decoration:underline}

/* Tabelle Auftritte */
.ucb-an-tabelle{max-width:100%;margin-top:2rem;overflow-x:auto;border:1px solid var(--ucb-line);border-radius:12px;background:var(--skl-karte, #fff)}
.ucb-an-tabelle table{width:100%;max-width:100%;margin:0;border:0;border-collapse:collapse}
/* 2.2.3: Listenansicht in der Optik der Repertoire-Seite der Stadtkapelle,
   uebersetzt in die UCB-Palette: Kopfzeile im Verlauf vom mittleren ins
   dunkelste Blau, GROSSBUCHSTABEN mit Sperrung, Zebrastreifen, feine
   Trennlinien, Radius 12 statt 22 - eine Tabelle ist keine Karte. */
.ucb-an-tabelle th{padding:.8rem 1rem;color:var(--skl-auf-farbe, #fff);background:linear-gradient(135deg,var(--ucb-blue-deep),var(--ucb-navy));font-size:.84rem;font-weight:800;letter-spacing:.04em;line-height:1.35;text-align:left;text-transform:uppercase}
.ucb-an-tabelle td{padding:.85rem 1rem;vertical-align:top;border-top:1px solid var(--skl-rand, #d5e2ec);line-height:1.55;overflow-wrap:anywhere}
.ucb-an-tabelle tbody tr:first-child td{border-top:0}.ucb-an-tabelle tbody tr:nth-child(even){background:var(--skl-flaeche-1, #f4f9fc)}
.ucb-an-tabelle td[data-spalte=Datum],.ucb-an-tabelle td[data-spalte=Uhrzeit]{white-space:nowrap;font-variant-numeric:tabular-nums}
.ucb-an-tabelle td p{margin:0 0 .45rem}
.ucb-an-tabelle a{color:var(--skl-blau-schrift, #0876b8);font-weight:700;overflow-wrap:anywhere}
.ucb-an-details{display:inline-block;margin-top:.35rem}
.ucb-an-leer{padding:1.2rem;border-left:5px solid var(--ucb-blue);background:var(--skl-flaeche-2, #eaf4fb);border-radius:8px}
/* 2.6.34: Fehler beim Speichern eines Auftritts, als Liste ueber der Maske (wie bei der Stadtkapelle). */
.ucb-an-fehler{margin:0 0 1.5rem;padding:1rem 1.2rem;border-left:5px solid var(--skl-fehler, #b42318);background:var(--skl-fehler-flaeche, #fff3f2);border-radius:8px;color:var(--skl-schrift, #203243)}
.ucb-an-fehler ul{margin:.5rem 0 0 1.2rem;padding:0}
.ucb-an-erfolg{margin:0 0 1.5rem;padding:1rem 1.2rem;border-left:5px solid var(--skl-erfolg, #2d7d46);background:var(--skl-erfolg-flaeche, #f0f8f2);border-radius:8px}

/* Suche - 2.1.0: dezent in der Kopfzeile statt als eigene Box darunter.
   Vorbild ist .skl-news-suche der Stadtkapelle (dort seit 1.0.26); die Masse
   sind von dort uebernommen, die Farben aus der Palette. Der Fokusring ist
   seit 2.6.61 im ganzen Plugin blau (Wahl des Benutzers; ueber dunklem Grund
   hellblau) - bis dahin teils gelb (--skl-fokus).
   Die Zeilendarstellung haengt an der Zusatzklasse --news, nicht an
   .ucb-an-kopf selbst: dieselbe Kopfzeile tragen auch Auftritte, Proben und
   die Detailseiten, und die bleiben untereinander. */
.ucb-an-kopf--news{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}
.ucb-an-kopf--news>div:first-child{flex:1 1 auto;min-width:0}
/* Abstand ueber den News: nur der eigene Anteil (48 px aus .ucb-an-seite) faellt weg, es bleiben die
   40 px des Themes (.ucb-inhalt, gilt fuer jede Seite). Zwei Klassen, damit die Regel auch die fuer
   schmale Bildschirme weiter unten schlaegt. 2.2.0 noch 16 px, seit 2.6.54 0 (Wunsch des Benutzers). */
.ucb-an-seite.ucb-an-seite--news{padding-top:0}
/* 2.6.62: margin ohne !important hier und bei .ucb-an-suchhinweis - keine Gegenregel (Theme und Plugin geben Formularen und Absaetzen dort keinen Rand) */
.ucb-an-suche{margin:0;flex:0 0 auto;display:inline-block}
.ucb-an-suche input[type=search]{width:12em;max-width:100%;padding:.35em .8em;border:1px solid var(--ucb-blue);border-radius:999px;background:var(--skl-karte, #fff);font:inherit;font-size:.9rem;line-height:1.3;color:var(--ucb-text);box-shadow:none}
.ucb-an-suche input[type=search]::placeholder{color:var(--ucb-muted)}
.ucb-an-suche input[type=search]:focus-visible{outline:3px solid var(--ucb-blue-deep);outline-offset:2px;border-color:var(--ucb-blue-deep)}
.ucb-an-suchhinweis{margin:-.4rem 0 1.2rem;font-size:.9rem;color:var(--ucb-muted)}
.ucb-an-suchhinweis a{color:var(--skl-blau-schrift, #0876b8)}

/* News-Karten */
/* Spalten: Smartphone eine, Tablet zwei, Rechner vier (Bloecke weiter unten). 2.6.62: die alte Regel
   "drei Spalten ab 62rem" ist entfernt - sie griff nur noch bei 1001 bis 1040 px Breite und hoechstens
   500 px Hoehe, und dort ergibt auto-fill ebenfalls drei gleich breite Spalten. */
.ucb-an-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1.5rem;margin-top:2rem}
.ucb-an-karte{display:flex;flex-direction:column;background:var(--skl-karte, #fff);border:1px solid var(--ucb-line);border-radius:var(--ucb-radius);box-shadow:var(--ucb-shadow);overflow:hidden}
.ucb-an-karte-bild{display:block;aspect-ratio:4/3;background:var(--ucb-sky);overflow:hidden} /* 1.3.12: 4/3 statt 16/10 */
.ucb-an-karte-bild img{width:100%;height:100%;object-fit:cover;display:block}
/* 1.3.12: Hochformate ganz zeigen - mittig auf dem hellblauen Grund, mit Rand links und rechts. */
.ucb-an-karte-bild--hoch img{object-fit:contain;object-position:50% 50%}
.ucb-an-platzhalter{display:grid;place-items:center;width:100%;height:100%;color:var(--ucb-blue);font-size:3rem}
.ucb-an-karte-text{display:flex;flex-direction:column;gap:.55rem;padding:1.2rem}
/* 2.6.62: Rand, Farbe und Groesse von Datum und Titel stehen nur noch in den Bloecken KARTEN DER ANSICHT
   KOMPAKT/OFFEN (2.6.47/2.6.48) - die Grundwerte hier wurden dort fuer jede Karte ueberstimmt. */
.ucb-an-datum{font-variant-numeric:tabular-nums}
.ucb-an-karte-text h2 a{text-decoration:none}
.ucb-an-karte-text h2 a:hover{text-decoration:underline}
.ucb-an-karte-text p{margin:0;color:var(--ucb-text);line-height:1.6}
.ucb-an-weiter{margin-top:auto;color:var(--skl-blau-schrift, #0876b8);font-weight:800;text-decoration:none}
.ucb-an-weiter:hover{text-decoration:underline}
/* 2.5.0: Der ganze Beitragstext steht im Markup, ist aber nur am
   Smartphone zu sehen (Block unten bei 620px). Auf breiten Bildschirmen
   bleibt das gewohnte Kartenraster mit Anriss. */
.ucb-an-karte-voll{display:none}
/* 2.6.33: der Hinweis auf Bilder und Videos auf jeder Breite (2.6.21 bis 2.6.32 nur am Smartphone).
   Er traegt die Klasse von "Weiterlesen" (margin-top:auto) und steht so unten; "Weiterlesen" folgt direkt darunter. */
.ucb-an-weiter.ucb-an-medien-hinweis{display:block;align-self:flex-start}
.ucb-an-medien-hinweis+.ucb-an-weiter{margin-top:.25rem}
/* 2.6.10: News ohne Beitragsbild - solange die Karten nebeneinander stehen, schrumpft der Kopf wie am
   Smartphone, und statt des kurzen Anrisses fuellt eine formatierte Vorschau die Karte bis zur Hoehe der
   Nachbarn (flex-basis 0: sie zaehlt nicht zur Hoehe, die Reihe wird nicht hoeher; unten blendet sie aus).
   "Weiterlesen" steht in allen Karten unten auf einer Hoehe. Wie bei der Stadtkapelle (Theme 2.1.16). */
.ucb-an-karte-vorschau{display:none}
.ucb-an-karte-text .ucb-an-karte-vorschau>*{margin:0 0 .55em}
.ucb-an-karte-text .ucb-an-karte-vorschau .ucb-vorschau-zwischentitel{margin:.75em 0 .15em;color:var(--skl-blau-schrift, #0876b8);font-weight:750;line-height:1.3}
.ucb-an-karte-text .ucb-an-karte-vorschau>:first-child{margin-top:0}
.ucb-an-karte-vorschau ul,.ucb-an-karte-vorschau ol{padding-left:1.2em}
.ucb-an-karte-vorschau li{margin:0 0 .2em}
@media(min-width:621px){
.ucb-an-karte-text{flex:1}
/* der schmale Kopf ohne Bild gilt seit 2.6.14 auf jeder Breite (Regel unten; 2.6.62 hier die gleichlautende entfernt) */
.ucb-an-karte--ohne-bild .ucb-an-karte-anriss{display:none}
.ucb-an-karte--ohne-bild .ucb-an-karte-vorschau{display:block;flex:1 1 0;min-height:9.5em;overflow:hidden;color:var(--ucb-text);line-height:1.55;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 3em),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 3em),transparent)}
}
/* 2.6.10: Smartphone im Querformat - eine Karte je Zeile in voller Breite, Bilder 16:9, Karten ohne Bild mit
   dem kurzen Anriss wie im Hochformat. Erkannt an Querformat und hoechstens 500 px Hoehe (Tablets bleiben). */
@media (orientation:landscape) and (max-height:500px) and (max-width:1000px){
.ucb-an-raster{grid-template-columns:1fr}
.ucb-an-karte-bild{aspect-ratio:16/9}
.ucb-an-karte--ohne-bild .ucb-an-karte-anriss{display:block}
.ucb-an-karte--ohne-bild .ucb-an-karte-vorschau{display:none}
}
/* 2.6.14: Karten ohne Bild haben auf JEDER Breite den schmalen Kopf (5rem), auch am Smartphone hoch und quer - bis
   2.6.13 erst ab 621 px, darunter das volle Bildfeld. Wie die Stadtkapelle (Theme 2.1.34), Wunsch des Benutzers
   "alle umstellen". Hinter der Querformat-Regel, die gleich schwer ist. */
.ucb-an-karte--ohne-bild .ucb-an-karte-bild{aspect-ratio:auto;height:5rem;flex:none}

/* Detailseiten */
/* Feldtabelle wie bei der Stadtkapelle: Beschriftung als blaues Band, Wert
   daneben auf Weiss. Kein Innenabstand am Behaelter, die Zellen bringen ihn
   selbst mit - sonst entstehen Luecken zwischen den Baendern. */
.ucb-an-felder{margin:2rem 0;padding:0;background:var(--skl-karte, #fff);border:1px solid var(--ucb-line);border-radius:var(--ucb-radius);overflow:hidden}
.ucb-an-felder>div{display:grid;grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr);border-top:1px solid var(--skl-rand, #d5e2ec)}
.ucb-an-felder>div:first-child{border-top:0}
.ucb-an-felder dt,.ucb-an-felder dd{margin:0;padding:.95rem 1.15rem}
.ucb-an-felder dt{background:var(--skl-flaeche-2, #eaf4fb);color:var(--skl-blau-schrift-dunkel, #075d91);font-weight:800}
.ucb-an-felder dd{color:var(--ucb-text);overflow-wrap:anywhere}
.ucb-an-felder dd>:first-child{margin-top:0}
.ucb-an-felder dd>:last-child{margin-bottom:0}
.ucb-an-feld-text dd img{max-width:100%;height:auto;border-radius:10px}
.ucb-an-feld-text dd p{margin:0 0 .8rem}
/* Einzelansicht einer News: EINE weisse Flaeche.
   Bis 1.2.1 standen Titel, Bild und Text ohne Traeger auf dem Seitenhintergrund.
   Das Titelbild lief dabei ueber die vollen 1180px und rechnete ein stehendes
   Plakat von 724px Breite auf 1180px hoch - unscharf und ueberlebensgross.
   Jetzt traegt der Behaelter die Flaeche, das Bild behaelt seine Groesse.
   Vorbild ist die Detailseite der Stadtkapelle Landau. */
.ucb-an-einzeln{width:min(1040px,100%);margin:0 auto;padding:clamp(1.25rem,3vw,2.5rem);background:var(--skl-karte, #fff);border:1px solid var(--ucb-line);border-radius:18px;box-shadow:0 10px 30px rgb(var(--skl-schatten-rgb, 34 73 106) / .10)}

.ucb-an-titelbild{margin:0 0 1.75rem}
/* Breite automatisch, damit das Seitenverhaeltnis stimmt; die Hoehe begrenzt,
   damit ein Hochformat nicht die halbe Seite fuellt. Kein Hochrechnen mehr. */
.ucb-an-titelbild img{display:block;width:auto;max-width:100%;max-height:min(80vh,780px);height:auto;margin:0 auto;border-radius:var(--ucb-radius)}
/* Ohne display:block misst die Umgebung die Zeilenbox statt das Bild, und
   unter dem Bild entstuende eine Grundlinienluecke. */
.ucb-an-titelbild a{display:block;line-height:0}
.ucb-an-titelbild a:focus-visible{outline:4px solid var(--skl-vereinsblau, #0876b8);outline-offset:3px}

/* Zeiger nur dort, wo die Grossansicht wirklich aufgeht */
.ucb-an-titelbild a,.ucb-an-fliesstext img,.ucb-an-fliesstext a[href$=".jpg"],.ucb-an-fliesstext a[href$=".jpeg"],.ucb-an-fliesstext a[href$=".png"],.ucb-an-fliesstext a[href$=".webp"],.ucb-an-fliesstext a[href$=".gif"]{cursor:zoom-in}

/* Schrift, Farben und Absaetze des Fliesstextes stehen seit 1.3.0 in
   ucb-an-assets/inhalt.css. Grund: Dieselben Regeln sollen ZUGLEICH im Editor
   gelten, und dafuer braucht es eine Datei statt einer Zeichenkette. Hier
   bleibt nur das Raeumliche. */
.ucb-an-fliesstext{max-width:100%}
/* 1.3.12: Artikel 1040 statt 920 px breit, damit das Titelbild groesser wird (80vh/780px statt 68vh/620px,
   Querformat fuellt die Breite, Hochformat bleibt ueber die Hoehe begrenzt). Alles ausser dem Bild sitzt
   mittig in 880 px, damit die Zeilen nicht laenger werden als vorher. */
.ucb-an-einzeln>*:not(.ucb-an-titelbild){max-width:880px;margin-left:auto;margin-right:auto}

/* Grossansicht der Bilder (bildschau.js, nur News-Detailseite): eine gewoehnliche feste Ebene mit
   eigenem Hintergrund und sehr hoher Stapelnummer - bewusst KEIN <dialog> (bis 1.3.1: dort fehlte der
   dunkle Hintergrund, und die Werkzeugleiste fing den Klick auf den Schliess-Button ab).
   Die Buehne hat eine feste Groesse und schneidet ab; das Bild wird darin verschoben und vergroessert,
   nicht die Seite. touch-action:none, damit die Zwei-Finger-Geste nicht als Seitenzoom ankommt. */
.ucb-bildschau{position:fixed;inset:0;z-index:2147483000;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;margin:0;padding:1rem;background:rgba(9,47,91,.92);overscroll-behavior:contain}
.ucb-bildschau[hidden]{display:none}
.ucb-bildschau .ucb-bildschau-buehne{position:relative;width:min(96vw,1400px);max-width:100%;height:82vh;overflow:hidden;border-radius:12px;cursor:zoom-in;touch-action:none;-webkit-user-select:none;user-select:none}
.ucb-bildschau .ucb-bildschau-buehne.gezoomt{cursor:grab}
.ucb-bildschau .ucb-bildschau-buehne.gezoomt:active{cursor:grabbing}
.ucb-bildschau img{position:absolute;left:50%;top:50%;display:block;width:auto;max-width:100%;max-height:82vh;transform:translate(-50%,-50%);transform-origin:center center;border-radius:12px;background:var(--skl-karte, #fff);box-shadow:0 24px 60px rgba(0,0,0,.45);-webkit-user-drag:none}
.ucb-bildschau .ucb-bildschau-hinweis{flex:0 0 auto;margin:.7rem 0 0;color:rgb(var(--skl-auf-farbe-rgb, 255 255 255) / .82);font:400 .85rem/1.4 Arial,Helvetica,sans-serif;text-align:center}
/* Der Schliessknopf sitzt in der Ecke der Ebene, also immer an derselben Stelle
   am Bildschirmrand, und ist reichlich gross fuer den Finger. */
.ucb-bildschau .ucb-bildschau-zu{position:absolute;top:1rem;right:1rem;display:grid;place-items:center;width:3rem;height:3rem;padding:0;color:var(--skl-blau-schrift-dunkel, #075d91);background:var(--skl-karte, #fff);border:0;border-radius:50%;box-shadow:0 6px 18px rgba(0,0,0,.35);font:700 1.6rem/1 Arial,Helvetica,sans-serif;cursor:pointer}
.ucb-bildschau .ucb-bildschau-zu:hover{background:var(--skl-flaeche-3, #dceef9)}
.ucb-bildschau .ucb-bildschau-zu:focus-visible{outline:4px solid var(--skl-hellblau, #679dce);outline-offset:3px}
.ucb-an-zurueck{margin-top:2.5rem}
.ucb-an-zurueck a{color:var(--skl-blau-schrift, #0876b8);font-weight:800}

/* Blaettern (2.6.3, 29.09.2026): dieselbe Form wie bei der Stadtkapelle und in der Suche des Themes (Wahl "C"
   des Benutzers) - rund im Vereinsblau, 44 px, nur die aktuelle Seite gefuellt, Zurueck und Weiter weiss mit
   Rand. Am Smartphone EINE Zeile: Zurueck, "Seite x von y", Weiter; die Zahlen sind dort ausgeblendet, das <ul>
   wird mit display:contents aufgeloest. Bis 2.6.2 eckige weisse Kaestchen. */
.ucb-an-blaettern{margin-top:2.5rem;padding-top:26px;border-top:1px solid var(--skl-rand, #d5e2ec)}
.ucb-an-blaettern ul.page-numbers{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin:0;padding:0;list-style:none}
.ucb-an-blaettern ul.page-numbers>li{display:flex;margin:0;padding:0}
.ucb-an-blaettern li:has(>.prev){margin-right:auto}
.ucb-an-blaettern li:has(>.next){margin-left:auto}
.ucb-an-blaettern .page-numbers:not(ul){display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;box-sizing:border-box;padding:0 14px;border:2px solid transparent;border-radius:999px;background:none;box-shadow:none;color:var(--skl-blau-schrift, #0876b8);font-weight:700;text-decoration:none}
.ucb-an-blaettern a.page-numbers:hover{background:var(--skl-flaeche-2, #eaf4fb);color:var(--skl-blau-schrift-dunkel, #075d91)}
.ucb-an-blaettern a.page-numbers:focus-visible{outline:3px solid var(--skl-vereinsblau, #0876b8);outline-offset:2px}
.ucb-an-blaettern .page-numbers.current{border-color:var(--skl-vereinsblau, #0876b8);background:var(--skl-vereinsblau, #0876b8);color:var(--skl-auf-farbe, #fff);font-weight:800}
.ucb-an-blaettern .page-numbers:is(.prev,.next){padding:0 1.1rem;border-color:var(--skl-vereinsblau, #0876b8);background:var(--skl-karte, #fff);font-size:.96rem;font-weight:800}
.ucb-an-blaettern a.page-numbers:is(.prev,.next):hover{border-color:var(--skl-vereinsblau-dunkel, #075d91);background:var(--skl-flaeche-2, #eaf4fb);color:var(--skl-blau-schrift-dunkel, #075d91)}
.ucb-an-blaettern .page-numbers.dots{min-width:26px;padding:0;border:0;color:var(--skl-schrift-leise, #4a5f72)}
.ucb-an-blaettern .ucb-an-blaettern-stand{display:none}
@media(max-width:560px){
.ucb-an-blaettern{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ucb-an-blaettern ul.page-numbers{display:contents}
.ucb-an-blaettern ul.page-numbers>li{display:none}
.ucb-an-blaettern ul.page-numbers>li:has(>.prev){display:flex;order:1;margin:0}
.ucb-an-blaettern .ucb-an-blaettern-stand{display:block;order:2;flex:1 1 auto;color:var(--skl-schrift, #203243);font-size:.96rem;font-weight:700;text-align:center;white-space:nowrap}
.ucb-an-blaettern ul.page-numbers>li:has(>.next){display:flex;order:3;margin:0}
.ucb-an-blaettern .page-numbers:is(.prev,.next){padding:0 .7rem;font-size:.9rem}
}

/* Formulare - seit 2.6.7 Wert fuer Wert wie die Masken der Stadtkapelle
   (Theme "Stadtkapelle Landau", assets/header-mobile.css, .skl-event-form*;
   Wunsch des Benutzers): Kopf mit "Interner Bereich" und "Zurueck zu ...",
   weisse Box mit Schatten, dunkle Beschriftungen, graue Feldrahmen, zwei
   Spalten bis 620 px, runder blauer Button. Die Schrift dunkel #203243 und
   gedaempft #4a5f72 (die drei Toene, 2.6.5) statt #3b3b3b der Stadtkapelle. */
.ucb-an-seite.ucb-an-maskenseite{padding-top:42px}
.ucb-an-maske{width:min(920px,100%)}
.ucb-an-maske-kopf{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}
.ucb-an-maske .ucb-an-kicker{margin:0 0 5px;font-size:.82rem;letter-spacing:.1em}
.ucb-an-seite .ucb-an-maske h1{margin:0;font-size:2em;line-height:1.6}
.ucb-an-formular{margin:0;padding:clamp(22px,4vw,38px);background:var(--skl-karte, #fff);border:0;border-radius:14px;box-shadow:0 8px 26px rgb(var(--skl-schatten-rgb, 34 73 106) / .12)}
.ucb-an-formular p{margin:0}
.ucb-an-formular label{display:block;margin:0 0 7px;color:var(--skl-schrift, #203243);font-weight:700}
.ucb-an-freiwillig{color:var(--skl-schrift-leise, #4a5f72);font-weight:400}
.ucb-an-formular input[type=text],.ucb-an-formular input[type=date],.ucb-an-formular input[type=time],.ucb-an-formular input[type=datetime-local],.ucb-an-formular input[type=file],.ucb-an-formular select,.ucb-an-formular textarea{box-sizing:border-box;width:100%;margin:0 0 22px;padding:11px 12px;border:1px solid var(--skl-rand-eingabe, #9aa6af);border-radius:6px;background:var(--skl-karte, #fff);color:var(--skl-schrift, #203243);font:inherit}
.ucb-an-formular input[type=text]:focus,.ucb-an-formular input[type=date]:focus,.ucb-an-formular input[type=time]:focus,.ucb-an-formular input[type=datetime-local]:focus,.ucb-an-formular select:focus,.ucb-an-formular textarea:focus{outline:3px solid rgb(var(--skl-kopfblau-rgb, 101 152 203) / .32);border-color:var(--skl-vereinsblau, #0876b8)}
/* Der WordPress-Editor: Rahmen wie die Felder, Luft nach unten. */
.ucb-an-editorfeld{margin:0 0 22px}
.ucb-an-editorfeld .wp-editor-container{overflow:hidden;border:1px solid var(--skl-rand-eingabe, #9aa6af);border-radius:6px}
.ucb-an-editorfeld .wp-editor-tools{margin-bottom:.4rem}
.ucb-an-editorfeld textarea.wp-editor-area{min-height:200px;margin:0;border:0;border-radius:0}
.ucb-an-zeile{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ucb-an-zeile--drei{grid-template-columns:1fr 1fr 1fr} /* 2.6.34: Datum, Uhrzeit, bis */
/* 2.6.35: Haken der Probenmaske (ganzer Tag, abgesagt) wie bei der Stadtkapelle. */
.ucb-an-formular .ucb-an-check{margin:.4rem 0}
.ucb-an-formular .ucb-an-check label{display:flex;align-items:center;gap:.6rem;font-weight:600;cursor:pointer}
.ucb-an-formular .ucb-an-check input[type=checkbox]{width:1.2rem;height:1.2rem;margin:0;flex:0 0 auto}
.ucb-an-zeile p{min-width:0}
.ucb-an-hinweis{display:block;margin:-14px 0 22px;color:var(--skl-schrift-leise, #4a5f72);font-size:.9rem}
.ucb-an-editorfeld .ucb-an-hinweis{margin:.35rem 0 0}
p.ucb-an-hinweis{margin:0 0 1rem}
.ucb-an-aktionen{display:flex;align-items:center;gap:1rem}
.ucb-an-aktionen button{display:inline-block;padding:.65rem 1.2rem;border:2px solid var(--skl-vereinsblau, #0876b8);border-radius:999px;background:var(--skl-vereinsblau, #0876b8);color:var(--skl-auf-farbe, #fff);font:inherit;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:.96rem;font-weight:800;line-height:1.25;box-shadow:0 7px 17px rgb(var(--skl-vereinsblau-rgb, 8 118 184) / .2);cursor:pointer}
.ucb-an-aktionen button:hover,.ucb-an-aktionen button:focus-visible{background:var(--skl-vereinsblau-dunkel, #075d91);border-color:var(--skl-vereinsblau-dunkel, #075d91)}
/* 2.6.23: Beitragsbild aus der Mediathek und Meldung beim Hochladen - Wert fuer Wert
   wie die Maske "News anlegen" der Stadtkapelle (.skl-news-featured-image usw. im
   Theme "Stadtkapelle Landau", assets/header-mobile.css). */
.ucb-an-beitragsbild{margin:0 0 24px;padding:18px;border:1px solid var(--skl-rand-kraeftig, #bcd8ec);border-radius:8px}
.ucb-an-beitragsbild legend{padding:0 7px;color:var(--skl-schrift, #203243);font-weight:700}
.ucb-an-bild-vorschau{display:grid;min-height:120px;margin-bottom:14px;padding:12px;place-items:center;border:1px dashed var(--skl-rand-eingabe, #9aa6af);border-radius:7px;background:var(--skl-flaeche-1, #f4f9fc);color:var(--skl-schrift-leise, #4a5f72)}
.ucb-an-bild-vorschau img{display:block;width:auto;max-width:100%;max-height:280px;border-radius:5px}
.ucb-an-bild-knoepfe{display:flex;flex-wrap:wrap;gap:10px}
.ucb-an-zweitknopf{padding:9px 14px;border:1px solid var(--skl-vereinsblau, #0876b8);border-radius:6px;background:var(--skl-creme, #f6f6f2);color:var(--skl-blau-schrift, #0876b8);font:inherit;font-weight:700;cursor:pointer}
.ucb-an-zweitknopf:hover,.ucb-an-zweitknopf:focus-visible{background:var(--skl-flaeche-2, #eaf4fb)}
.ucb-an-zweitknopf[hidden]{display:none}
.ucb-an-upload-status{min-height:1.5em;margin:8px 0 4px;color:var(--skl-erfolg-schrift, #176b3a);font-weight:700}
.ucb-an-upload-status.ucb-an-upload-fehler{color:var(--skl-fehler, #b42318)}
/* Werkzeuge des Editors zugeklappt (ucb_editor_huelle_auf/zu) */
.ucb-editor-huelle.ucb-werkzeug-zu .wp-editor-tools,.ucb-editor-huelle.ucb-werkzeug-zu .quicktags-toolbar,.ucb-editor-huelle.ucb-werkzeug-zu .mce-top-part{display:none!important}
.ucb-an-formular .ucb-werkzeug-zeile{margin:0 0 .5rem}
.ucb-werkzeug-knopf{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .9rem;border:1px solid var(--skl-rand-eingabe, #9aa6af);border-radius:999px;background:var(--skl-karte, #fff);color:var(--skl-blau-schrift, #0876b8);font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}
.ucb-werkzeug-knopf:hover,.ucb-werkzeug-knopf:focus-visible{border-color:var(--skl-vereinsblau, #0876b8)}
.ucb-werkzeug-knopf[hidden]{display:none}
@media(max-width:620px){
.ucb-an-maske-kopf{display:block}
.ucb-an-maske-kopf>a{display:inline-block;margin-top:12px}
.ucb-an-zeile{grid-template-columns:1fr;gap:0}
}
.ucb-an-seite a:focus-visible,.ucb-an-seite button:focus-visible,.ucb-an-seite input:focus-visible{outline:3px solid var(--ucb-blue);outline-offset:2px}

/* Ansichtswechsel Auftritte (1.3.8): Kompakt ist Vorbelegung, "liste" nur auf
   gemerkte Wahl und nur breit. Karten in Vereinsfarben - die UCB-Startseite hat
   keine Terminkarten, von denen sich etwas uebernehmen liesse. */
.ucb-an-kopf-titel{width:100%}
.ucb-an-titelzeile{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem}
/* 2.6.62: zwei Klassen statt !important - so schlaegt die Regel .ucb-an-seite h1 auch in deren 480er-Fassung unten */
.ucb-an-seite .ucb-an-titelzeile h1{flex:1 1 auto;font-size:1.15rem;line-height:1.3}
/* 2.6.85: Ueberschrift und Umschalter "A ⇄" (nur in der Historie) in einer Huelle - wie die Stadtkapelle. */
.ucb-an-titel{display:flex;align-items:baseline;gap:.6rem;flex:1 1 auto;min-width:0}
.ucb-an-seite .ucb-an-titel h1{flex:0 1 auto}
.ucb-an-titelwechsel{color:var(--skl-schrift-leise, #4a5f72);font-size:.95rem;font-weight:600;line-height:1.3;text-decoration:none;white-space:nowrap}
.ucb-an-titelwechsel:hover{color:var(--skl-blau-schrift, #0876b8);text-decoration:underline}
.ucb-an-titelwechsel:focus-visible{outline:3px solid var(--skl-fokus, #f2cf22);outline-offset:2px}
.ucb-an-ansicht-zeile{margin:0;flex:0 0 auto}
.ucb-an-ansicht-knopf[hidden]{display:none}
.ucb-an-ansicht-knopf{display:inline-block;padding:.65rem 1.2rem;border:2px solid var(--ucb-blue-deep);border-radius:999px;background:var(--skl-karte, #fff);color:var(--skl-blau-schrift, #0876b8);font:inherit;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:.96rem;font-weight:800;line-height:1.25;cursor:pointer}
.ucb-an-ansicht-knopf:hover{background:var(--skl-flaeche-2, #eaf4fb);color:var(--skl-blau-schrift-dunkel, #075d91);border-color:var(--ucb-navy)}
.ucb-an-ansichten[data-ansicht=auto] .ucb-an-ansicht--liste,.ucb-an-ansichten[data-ansicht=kompakt] .ucb-an-ansicht--liste,.ucb-an-ansichten[data-ansicht=liste] .ucb-an-ansicht--kompakt{display:none}
/* 1.3.9: dasselbe Raster wie die Karten der Stadtkapelle (zwei Spalten, 18px) - gleiche Kartenbreite bei gleicher Inhaltsbreite 1180px. */
.ucb-an-termine{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:2rem}
/* 2.6.30: Karte und Datumsbox Wert fuer Wert wie bei der Stadtkapelle
   (Theme assets/header-mobile.css, .skl-home-event und .skl-home-event-date).
   Die Schrift der Box steht in festen Pixeln wie dort - in rem brach
   "OKT. 2026" bei groesserer Grundschrift um. */
.ucb-an-termin{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);gap:20px;align-items:center;padding:20px;background:var(--skl-karte, #fff);border:0;border-left:5px solid var(--skl-hellblau, #679dce);border-radius:10px;box-shadow:0 5px 18px rgb(var(--skl-schatten-rgb, 34 73 106) / .08)}
.ucb-an-termin-datum{display:block;padding:12px 8px;border-radius:9px;background:var(--skl-flaeche-3, #dceef9);color:var(--skl-blau-schrift-dunkel, #075d91);text-align:center}
.ucb-an-termin-datum strong,.ucb-an-termin-datum span{display:block}
.ucb-an-termin-datum strong{font:800 32px/1 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
.ucb-an-termin-datum span{margin-top:5px;font-size:12.5px;font-weight:800;text-transform:uppercase;white-space:nowrap}
/* 2.6.30: der Wochentag unter dem Monat. */
.ucb-an-termin-datum .ucb-an-termin-tag{margin-top:4px;font-size:12px;font-weight:700;text-transform:none}
.ucb-an-termin-text{min-width:0}
.ucb-an-termin-text h3{margin:0 0 7px;font:750 clamp(1.1rem, 1.6vw, 1.2rem)/1.3 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
/* 2.2.6: Name der Veranstaltung im dunklen Blau wie bei der Stadtkapelle (2.6.62: die zweite Regel weiter unten,
   die bis dahin das hellere Blau hier ueberstimmte, ist hierher zusammengefuehrt) */
.ucb-an-termin-text h3 a{color:var(--skl-blau-schrift-dunkel, #075d91);text-decoration:none;overflow-wrap:anywhere}
.ucb-an-termin-text h3 a:hover{text-decoration:underline}
/* 1.3.10: die ganze Karte fuehrt zur Detailseite (gestreckter Link ueber den Titel-Anker). */
.ucb-an-termin h3 a::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}
.ucb-an-termin:hover{box-shadow:0 8px 24px rgb(var(--skl-schatten-rgb, 34 73 106) / .16)}.ucb-an-termin:hover h3 a{text-decoration:underline}
.ucb-an-termin-text p{margin:0;color:var(--ucb-muted);overflow-wrap:anywhere}
/* 2.2.6: Die Karten tragen die Farben der Stadtkapelle - Name dunkles Blau,
   Uhrzeit und Ort Vereinsblau, Beschreibung gedaempft, fett darin dunkel
   (seit 2.6.12 aus der Palette). Die erste Zeile unter dem Namen (Uhrzeit und
   Ort) wiegt mit :first-of-type mehr als die Regel darueber; die Reihenfolge
   entscheidet hier nicht mehr (bis 2.2.4 schon). */
.ucb-an-termin-text>p:first-of-type{margin:0;color:var(--skl-blau-schrift, #0876b8);font-size:.95rem;font-weight:600;line-height:1.5}
.ucb-an-karte-veranstaltung{margin:.45rem 0 0;color:var(--skl-schrift-leise, #4a5f72);font-size:.95rem;line-height:1.5}
.ucb-an-karte-veranstaltung p{margin:0 0 .5em;font-size:inherit;line-height:inherit}
.ucb-an-karte-veranstaltung>*:last-child{margin-bottom:0}
.ucb-an-karte-veranstaltung strong,.ucb-an-karte-veranstaltung b{color:var(--skl-schrift, #203243);font-weight:700}
.ucb-an-karte-veranstaltung ul,.ucb-an-karte-veranstaltung ol{margin:.3em 0 .5em 1.1em;padding:0}
.ucb-an-karte-details{position:relative;z-index:1;display:inline-block;margin-top:.45rem;color:var(--skl-blau-schrift, #0876b8);font-size:.92rem;font-weight:700;text-decoration:none}
.ucb-an-karte-details:hover{text-decoration:underline}
/* 1.3.13: Hinweis einer Probe als zweite Zeile in der Karte. */
.ucb-an-termin-text .ucb-an-termin-hinweis{margin-top:.35rem;color:var(--ucb-text);font-size:.95rem}

/* ------------------------------------------------------------------
   Die Handytabelle (2.4.0) - sichtbar nur unter 760px. Dort ersetzt sie
   Liste UND Karten: fuenf Spalten sind auf dem Smartphone zu viel, die
   Karten brauchen zu viel Hoehe.
   Die Farben sind wieder woertlich die der Stadtkapelle, wie schon bei
   den Karten (2.2.6). Die Tabelle tritt an deren Stelle; ein eigener
   Farbton mitten im Wechsel waere ein sichtbarer Bruch. */
.ucb-an-handytabelle{display:none;overflow:hidden;border:1px solid var(--skl-rand, #d5e2ec);border-radius:12px;background:var(--skl-karte, #fff);box-shadow:0 8px 24px rgb(var(--skl-schatten-rgb, 34 73 106) / .09)}
.ucb-an-handytabelle table{width:100%;margin:0;border:0;border-collapse:collapse;table-layout:auto}
.ucb-an-handytabelle th{padding:.7rem .9rem;border:0;background:linear-gradient(135deg,var(--skl-vereinsblau, #0876b8),var(--skl-vereinsblau-dunkel, #075d91));color:var(--skl-auf-farbe, #fff);font-size:.78rem;font-weight:800;letter-spacing:.06em;line-height:1.25;text-align:left;text-transform:uppercase}
.ucb-an-handytabelle th:first-child{width:1%}
.ucb-an-handytabelle td.ucb-an-handytabelle__wann{white-space:nowrap}
.ucb-an-handytabelle td.ucb-an-handytabelle__was{overflow-wrap:anywhere}
.ucb-an-handytabelle td{padding:.7rem .9rem;border:0;border-top:1px solid var(--skl-rand, #d5e2ec);background:var(--skl-karte, #fff);vertical-align:top;color:var(--skl-schrift, #203243);font-size:.92rem;line-height:1.35;overflow-wrap:break-word}
.ucb-an-handytabelle tbody tr:nth-child(odd) td{background:var(--skl-flaeche-1, #f4f9fc)}
.ucb-an-handytabelle__wann strong{display:block;color:var(--skl-schrift, #203243);font-weight:750}
.ucb-an-handytabelle__wann span{display:block;margin-top:.15rem;color:var(--skl-schrift-leise, #4a5f72)}
.ucb-an-handytabelle__details{display:inline-block;margin-top:.4rem;color:var(--skl-blau-schrift, #0876b8);font-size:.82rem;font-weight:700;text-decoration:none}
.ucb-an-handytabelle__details:hover,.ucb-an-handytabelle__details:focus{text-decoration:underline}
.ucb-an-handytabelle__was>*{display:block}
/* 2.4.3: Der Titel ist KEIN Link mehr - der einzige Weg zur Detailseite ist
   der Verweis "Details" links. Deshalb auch nicht mehr blau: Was aussieht
   wie ein Link und keiner ist, ist schlimmer als gar kein Link. */
.ucb-an-handytabelle__titel{color:var(--skl-schrift, #203243);font-weight:700}
.ucb-an-handytabelle__ort{margin-top:.2rem;color:var(--skl-schrift-leise, #4a5f72)}
.ucb-an-handytabelle__text{margin-top:.25rem;color:var(--skl-schrift-leise, #4a5f72);font-size:.87rem}

/* Schmale Bildschirme - Aufbau wie bei der Stadtkapelle */
@media(max-width:760px){
.ucb-an-seite{padding:32px 13px 48px}
/* 2.6.55 am Smartphone, seit 2.6.56 auf jeder Breite (Regel nach dem 760er, siehe unten) */
/* 2.4.0: Hier gilt weder Liste noch Karte, sondern die Handytabelle - egal
   was gemerkt ist; der Umschalter entfaellt. */
.ucb-an-ansicht-zeile{display:none!important}
.ucb-an-ansichten .ucb-an-ansicht--liste{display:none!important}
.ucb-an-ansichten .ucb-an-ansicht--kompakt{display:none!important}
.ucb-an-ansichten .ucb-an-handytabelle{display:block}
.ucb-an-termine{grid-template-columns:1fr;margin-top:1.5rem}
/* 2.6.30: Karte am Smartphone wie bei der Stadtkapelle. */
.ucb-an-termin{grid-template-columns:80px minmax(0,1fr);gap:14px;padding:16px}
.ucb-an-termin-datum{padding-right:4px;padding-left:4px}
.ucb-an-inhalt{width:100%;max-width:100%;min-width:0;margin:0}
/* Auf dem Smartphone traegt die weisse Flaeche weniger Innenabstand, und die
   Hoehenbegrenzung des Titelbildes entfaellt - dort ist die Seite ohnehin
   schmal, ein Hochformat wird nicht ueberlebensgross. */
.ucb-an-einzeln{width:100%;padding:1.1rem;border-radius:14px}
.ucb-an-titelbild img{max-height:none}
.ucb-bildschau .ucb-bildschau-zu{top:.6rem;right:.6rem;width:2.75rem;height:2.75rem;font-size:1.4rem}
.ucb-bildschau .ucb-bildschau-buehne{height:74vh}
.ucb-bildschau img{max-height:74vh}
.ucb-bildschau .ucb-bildschau-hinweis{font-size:.78rem}
.ucb-an-tabelle{width:100%;max-width:100%;min-width:0;margin-top:1.5rem;border:0;background:transparent;overflow:hidden}
.ucb-an-tabelle thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ucb-an-tabelle table,.ucb-an-tabelle tbody,.ucb-an-tabelle tr,.ucb-an-tabelle td{display:block;width:100%;max-width:100%;min-width:0}
.ucb-an-tabelle tr{margin:0 0 1rem;padding:.45rem 1rem;background:var(--skl-karte, #fff);border:1px solid var(--ucb-line);border-top:6px solid var(--ucb-blue);border-radius:var(--ucb-radius);box-shadow:var(--ucb-shadow);overflow:hidden}.ucb-an-tabelle tbody tr:nth-child(even){background:var(--skl-karte, #fff)}
.ucb-an-tabelle td{display:grid;width:100%;grid-template-columns:minmax(7rem,36%) minmax(0,1fr);gap:.7rem;padding:.65rem 0;border-top:1px solid var(--skl-rand, #d5e2ec)}
.ucb-an-tabelle td:first-child{border-top:0}
.ucb-an-tabelle td::before{content:attr(data-spalte);min-width:0;color:var(--skl-blau-schrift, #0876b8);font-weight:800;overflow-wrap:anywhere}
.ucb-an-seite a.ucb-an-knopf{width:100%;max-width:100%;text-align:center}
/* Auf schmalen Bildschirmen steht die Beschriftung ueber dem Wert, wie bei
   der Stadtkapelle: durchgehendes blaues Band, darunter der weisse Wert. */
.ucb-an-felder>div{display:block}
}
/* ===================================================================
   2.5.0: OFFENE NEWS-KARTEN AM SMARTPHONE

   Unter 620px steht das Raster ohnehin einspaltig. Die ersten drei
   Karten der ersten Seite zeigen dort den ganzen Beitragstext statt des
   Anrisses und das Bild in seinen eigenen Massen statt im 4:3-Rahmen.
   Der Titel bleibt der Weg zur Detailseite.

   Dieser Block steht NACH dem 760er - bei gleicher Gewichtung gewinnt
   die spaetere Regel, und hier soll sie gewinnen.
   =================================================================== */
@media(max-width:620px){
.ucb-an-karte--offen .ucb-an-karte-anriss{display:none}
/* "Weiterlesen" verschwindet nur, wenn wirklich alles dasteht. Wurde nach
   vier Absaetzen geschnitten, bleibt es - und die letzte Zeile bekommt
   drei Punkte, damit der Schnitt zu sehen ist. */
.ucb-an-karte--offen:not(.ucb-an-karte--gekuerzt) .ucb-an-weiter{display:none}
.ucb-an-karte--gekuerzt .ucb-an-karte-voll>p:last-of-type::after{content:" \2026"}
.ucb-an-karte--offen .ucb-an-karte-voll{display:block;color:var(--ucb-text);font-size:.95rem;line-height:1.6}
/* 2.6.21: der Hinweis auf weggelassene Videos und Bilder steht direkt vor "Weiterlesen" in der Karte
   und erbt so dessen Schrift (2.6.20 stand er im Volltext: 16 statt 17 px). Sichtbar nur bei offener Karte. */
.ucb-an-weiter.ucb-an-medien-hinweis{display:block;margin:.9rem 0 .25rem} /* 2.6.22: in jeder Karte, nicht nur in offenen */
.ucb-an-karte--offen .ucb-an-karte-voll>:first-child{margin-top:0}
.ucb-an-karte--offen .ucb-an-karte-voll>:last-child{margin-bottom:0}
.ucb-an-karte--offen .ucb-an-karte-voll img{height:auto;max-width:100%;border-radius:8px}
.ucb-an-karte--offen .ucb-an-karte-bild{aspect-ratio:auto}
.ucb-an-karte--offen .ucb-an-karte-bild img{height:auto;object-fit:contain}
}
/* ===================================================================
   2.6.43: VIER KARTEN JE REIHE UND SCROLLBARER TEXT AM RECHNER
   Ab 1041 px vier Karten nebeneinander (Titel etwas kleiner). Am Rechner mit Maus statt des Anrisses der
   ganze Text in einem Fenster von sechs Zeilen (14 px, 1,5) - mit dem Mausrad scrollen, am Ende scrollt das
   Rad wieder die Seite. Karten ohne Bild fuellen wie bisher bis zur Hoehe der Nachbarn. Smartphone und
   Tablet (ohne feinen Zeiger) unveraendert. Ohne :has() (sehr alte Browser) bleibt der Anriss.
   =================================================================== */
@media(min-width:1041px){
.ucb-an-raster{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:761px) and (hover:hover) and (pointer:fine){
.ucb-an-karte:has(.ucb-an-volltext) .ucb-an-karte-anriss{display:none}
.ucb-an-karte .ucb-an-volltext{display:block;flex:none;height:9em;min-height:0;padding-right:.35rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:auto;color:var(--ucb-text);font-size:.875rem;line-height:1.5;-webkit-mask-image:none;mask-image:none;scrollbar-width:thin;scrollbar-color:var(--skl-rand-kraeftig, #bcd8ec) transparent}
.ucb-an-karte--ohne-bild .ucb-an-volltext{flex:1 1 0;height:auto;min-height:9em}
}
/* ===================================================================
   2.6.46 (15.10.2026): ANSICHT DER NEWS-UEBERSICHT - EIN Button neben der Suche, in Form und Groesse
   wie der Ansicht-Umschalter der Auftritte (.ucb-an-ansicht-knopf); er nennt die Ansicht, in die er
   wechselt. Wie bei der Stadtkapelle (News und Auftritte 1.8.17), aber "Offen" vorbelegt.
   =================================================================== */
.ucb-an-news-ansicht{margin:0;flex:0 0 auto} /* 2.6.62: ohne !important, keine Gegenregel */
/* 2.6.52: klein wie bei der Stadtkapelle (1.8.22) - dieselbe Schriftgroesse, Zeilenhoehe, Innenabstand und Randstaerke wie .ucb-an-suche input, also gleich hoch */
.ucb-an-news-ansicht a{display:inline-block;box-sizing:border-box;padding:.35em .9em;border:1px solid var(--ucb-blue-deep);border-radius:999px;background:var(--skl-karte, #fff);color:var(--skl-blau-schrift, #0876b8);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:.9rem;font-weight:800;line-height:1.3;text-decoration:none;white-space:nowrap}
.ucb-an-news-ansicht a:hover{background:var(--skl-flaeche-2, #eaf4fb);color:var(--skl-blau-schrift-dunkel, #075d91);border-color:var(--ucb-navy)}
.ucb-an-news-ansicht a:focus-visible{outline:3px solid var(--ucb-blue-deep);outline-offset:2px}
/* 2.6.52: Suchfeld und Button in einer Huelle - am Rechner unsichtbar (display:contents), am Smartphone eine Zeile, das Suchfeld gibt Platz ab */
.ucb-an-news-werkzeuge{display:contents}
@media(max-width:760px){.ucb-an-news-werkzeuge{display:flex;align-self:stretch;max-width:100%;align-items:center;gap:.6rem}.ucb-an-news-werkzeuge .ucb-an-suche{flex:0 1 auto;min-width:0}.ucb-an-news-werkzeuge .ucb-an-news-ansicht{flex:0 0 auto}}

/* ===================================================================
   2.6.46: NEWS ZUM WISCHEN - Ansicht "Kompakt" (?ansicht=kompakt). Die News stehen in EINER Reihe zum
   seitlichen Wischen, im Kreis (ucb-an-assets/news-wischen.js haengt dafuer Kopien .ucb-an-news-kopie
   vor und hinter die Reihe). Darueber eine gestrichelte Linie, ein Strich je News, blau die sichtbaren
   (.ist-vorn, setzt das Skript). Rechner (ab 1041 px) vier Karten mit Pfeilen, 901 bis 1040 px drei,
   Tablet zwei, Smartphone eine und ein Stueck der naechsten. Werte von der Stadtkapelle (Theme 2.1.55
   bis 2.1.76, header-mobile.css NEWS ZUM WISCHEN), Namen und Farben der UCB. Rangfolge:
   .ucb-an-seite .ucb-an-wischen (0,2,0) schlaegt das Raster .ucb-an-raster, ohne !important.
   =================================================================== */
.ucb-an-wischlinie{display:flex;gap:5px;margin:1.5rem 0 4px}
.ucb-an-wischlinie>span{position:relative;flex:1 1 0;height:19px;cursor:pointer}
.ucb-an-wischlinie>span::after{content:"";position:absolute;top:8px;right:0;left:0;height:3px;border-radius:2px;background:var(--skl-rand-kraeftig, #bcd8ec);transition:background-color .2s}
.ucb-an-wischlinie>span.ist-vorn::after{background:var(--ucb-blue-deep)}
/* Rand von 6 px rundherum, damit Schatten und Rahmen der Karten nicht abgeschnitten werden */
.ucb-an-seite .ucb-an-wischen{display:flex;gap:20px;margin:-6px -6px 0;padding:6px 6px 14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:6px;scrollbar-width:none}
.ucb-an-seite .ucb-an-wischen::-webkit-scrollbar{display:none}
.ucb-an-seite .ucb-an-wischen>*{flex:0 0 calc((100% - 60px) / 4);min-width:0;scroll-snap-align:start}
@media(max-width:1040px){.ucb-an-seite .ucb-an-wischen>*{flex-basis:calc((100% - 40px) / 3)}}
@media(max-width:900px){.ucb-an-seite .ucb-an-wischen>*{flex-basis:calc((100% - 20px) / 2)}}
.ucb-an-seite .ucb-an-wischen.wird-gezogen{cursor:grabbing;scroll-snap-type:none;user-select:none}
@media (hover:hover) and (pointer:fine){.ucb-an-seite .ucb-an-wischen{cursor:grab}}
/* Pfeile nur am Rechner; halb ueber den Rand der Reihe, aber nie ueber den Bildschirmrand */
.ucb-an-wisch-rahmen{position:relative}
.ucb-an-news-pfeil{display:none}
@media(min-width:1041px){
.ucb-an-news-pfeil{display:flex;position:absolute;z-index:2;top:50%;align-items:center;justify-content:center;width:46px;height:46px;margin-top:-23px;padding:0;border:1px solid var(--ucb-line);border-radius:50%;background:var(--skl-karte, #fff);box-shadow:var(--ucb-shadow);color:var(--skl-blau-schrift, #0876b8);cursor:pointer;transition:background-color .15s,color .15s}
.ucb-an-news-pfeil:hover{background:var(--ucb-blue-deep);color:var(--skl-auf-farbe, #fff)}
.ucb-an-news-pfeil:focus-visible{outline:3px solid var(--ucb-blue-deep);outline-offset:2px}
.ucb-an-news-pfeil svg{width:22px;height:22px}
.ucb-an-news-pfeil--zurueck{left:calc(-1 * clamp(0px, (100vw - 100%) / 2 - 14px, 18px))}
.ucb-an-news-pfeil--vor{right:calc(-1 * clamp(0px, (100vw - 100%) / 2 - 14px, 18px))}
}
/* Karten kompakt: Bild 16:9 (ohne Bild der schmale Kopf), Titel hoechstens zwei, Anriss hoechstens sechs Zeilen */
.ucb-an-wischen .ucb-an-karte-bild{aspect-ratio:16/9;flex:none}
.ucb-an-wischen .ucb-an-karte--ohne-bild .ucb-an-karte-bild{aspect-ratio:auto;height:5rem}
.ucb-an-wischen .ucb-an-karte-text{gap:.4rem;padding:1rem 1.1rem 1.1rem}
.ucb-an-wischen .ucb-an-karte-text h2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.ucb-an-wischen .ucb-an-karte:not(.ucb-an-karte--ohne-bild) .ucb-an-karte-anriss{display:-webkit-box;overflow:hidden;font-size:.875rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:6}
.ucb-an-wischen .ucb-an-karte-vorschau{font-size:.875rem;line-height:1.5}
@media (min-width:761px) and (hover:hover) and (pointer:fine){
.ucb-an-wischen .ucb-an-karte:has(.ucb-an-volltext) .ucb-an-karte-anriss{display:none}
}
/* Smartphone: eine Karte und ein Stueck der naechsten; Titel drei Zeilen, Anriss sechs, keine Vorschau */
@media(max-width:760px){
.ucb-an-seite .ucb-an-wischen{gap:12px}
.ucb-an-seite .ucb-an-wischen>*{flex-basis:min(80%, 20rem)}
.ucb-an-wischen .ucb-an-karte-text h2{-webkit-line-clamp:3}
.ucb-an-wischen .ucb-an-karte .ucb-an-karte-anriss{display:-webkit-box;overflow:hidden;font-size:.9rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:6}
.ucb-an-wischen .ucb-an-karte-vorschau{display:none}
}
/* ===================================================================
   2.6.47 (15.10.2026): KARTEN DER ANSICHT "KOMPAKT" WIE BEI DER STADTKAPELLE - Werte am News-Archiv der
   Stadtkapelle gemessen (Theme 2.1.88, header-mobile.css NEWS ZUM WISCHEN und News-Karten): Datum klein,
   fett und gedaempft; Titel 19,2 px, Strichstaerke 750, dunkles Blau; Text gedaempft; Abstaende mit
   festen Rändern statt gap; "Videos und Bilder" und "Weiterlesen" unten, nur so breit wie ihr Text;
   ohne Bild der Kopf mit Verlauf und weisser Note. Nur in der Reihe zum Wischen - "Offen" bleibt.
   Rangfolge: .ucb-an-seite .ucb-an-wischen ... (0,3,x) schlaegt die Grundregeln der Karten.
   =================================================================== */
.ucb-an-seite .ucb-an-wischen .ucb-an-karte-text{gap:0;padding:16px 18px 18px}
.ucb-an-seite .ucb-an-wischen .ucb-an-karte-text .ucb-an-datum{margin:0 0 4px;color:var(--skl-schrift-leise, #4a5f72);font-size:.86rem;font-weight:700;line-height:1.6}
.ucb-an-seite .ucb-an-wischen .ucb-an-karte-text h2{margin:0 0 8px;color:var(--skl-blau-schrift-dunkel, #075d91);font-size:clamp(1.1rem, 1.6vw, 1.2rem);font-weight:750;line-height:1.3}
.ucb-an-seite .ucb-an-wischen .ucb-an-karte-text h2 a{color:var(--skl-blau-schrift-dunkel, #075d91);font-weight:750}
.ucb-an-seite .ucb-an-wischen .ucb-an-karte-text .ucb-an-karte-anriss,
.ucb-an-seite .ucb-an-wischen .ucb-an-karte-text .ucb-an-karte-vorschau{color:var(--skl-schrift-leise, #4a5f72)}
.ucb-an-seite .ucb-an-wischen .ucb-an-karte-text .ucb-an-karte-vorschau .ucb-vorschau-zwischentitel{color:var(--skl-blau-schrift-dunkel, #075d91)}
.ucb-an-seite .ucb-an-wischen .ucb-an-karte-text>.ucb-an-weiter{align-self:flex-start;margin:auto 0 0;padding-top:.5rem}
.ucb-an-seite .ucb-an-wischen .ucb-an-karte-text>.ucb-an-medien-hinweis+.ucb-an-weiter{margin-top:0;padding-top:.25rem}
.ucb-an-seite .ucb-an-wischen .ucb-an-karte--ohne-bild .ucb-an-karte-bild{background:linear-gradient(135deg, var(--skl-flaeche-3, #dceef9), var(--skl-kopfblau, #6598cb))}
.ucb-an-seite .ucb-an-wischen .ucb-an-karte--ohne-bild .ucb-an-platzhalter{color:rgb(var(--skl-auf-farbe-rgb, 255 255 255) / .9);font:700 4rem/1 Georgia, serif}
@media (min-width:761px) and (hover:hover) and (pointer:fine){
.ucb-an-seite .ucb-an-wischen .ucb-an-karte .ucb-an-volltext{color:var(--skl-schrift-leise, #4a5f72)}
}
@media(max-width:760px){
.ucb-an-seite .ucb-an-wischen .ucb-an-karte-text{padding:14px 16px 16px}
.ucb-an-seite .ucb-an-wischen .ucb-an-karte-text h2{margin:0 0 6px;font-size:1.02rem}
.ucb-an-seite .ucb-an-wischen .ucb-an-karte .ucb-an-karte-anriss{font-size:.9rem}
}
/* ===================================================================
   2.6.48 (15.10.2026): KARTEN DER ANSICHT "OFFEN" WIE BEI DER STADTKAPELLE - Werte am News-Archiv der
   Stadtkapelle gemessen (News und Auftritte 1.8.18, templates/news-archiv.php, und Theme 2.1.88): am Rechner
   und Tablet dieselben Karten wie in "Kompakt" (Bild 16:9, Titel zwei Zeilen, Anriss sechs), am Smartphone
   die Karten der Stadtkapelle (Innenabstand 22 px, Titel 17,6 px, Anriss 16 px). Datum, Titel, Farben und
   der Kopf ohne Bild wie in "Kompakt" (2.6.47). Spalten wie dort: Smartphone eine, Tablet (761 bis 1040 px)
   zwei, Rechner vier. Die offenen Karten am Smartphone (2.5.0) bleiben.
   Rangfolge: .ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) ... (0,3,x) schlaegt die Grundregeln.
   =================================================================== */
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text{gap:0}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text .ucb-an-datum{margin:0 0 8px;color:var(--skl-schrift-leise, #4a5f72);font-size:.86rem;font-weight:700;line-height:1.6}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text h2{margin:0 0 12px;color:var(--skl-blau-schrift-dunkel, #075d91);font-size:1.1rem;font-weight:750;line-height:1.3}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text h2 a{color:var(--skl-blau-schrift-dunkel, #075d91);font-weight:750}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text .ucb-an-karte-anriss,
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text .ucb-an-karte-vorschau,
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text .ucb-an-karte-voll{color:var(--skl-schrift-leise, #4a5f72)}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text .ucb-an-karte-vorschau .ucb-vorschau-zwischentitel{color:var(--skl-blau-schrift-dunkel, #075d91)}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text>.ucb-an-weiter{align-self:flex-start;margin:auto 0 0}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte--ohne-bild .ucb-an-karte-bild{background:linear-gradient(135deg, var(--skl-flaeche-3, #dceef9), var(--skl-kopfblau, #6598cb))}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte--ohne-bild .ucb-an-platzhalter{color:rgb(var(--skl-auf-farbe-rgb, 255 255 255) / .9);font:700 4rem/1 Georgia, serif}
/* Tablet zwei Spalten, wie bei der Stadtkapelle nur bei mindestens 501 px Hoehe (Smartphone quer bleibt einspaltig) */
@media (min-width:761px) and (max-width:1040px) and (min-height:501px){
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen){grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Rechner und Tablet: die Karten wie in "Kompakt" */
@media (min-width:1041px),(min-width:761px) and (min-height:501px){
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte:not(.ucb-an-karte--ohne-bild) .ucb-an-karte-bild{aspect-ratio:16/9}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text{padding:16px 18px 18px}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text .ucb-an-datum{margin-bottom:4px}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text h2{display:-webkit-box;margin-bottom:8px;overflow:hidden;font-size:clamp(1.1rem, 1.6vw, 1.2rem);-webkit-box-orient:vertical;-webkit-line-clamp:2}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte:not(.ucb-an-karte--ohne-bild) .ucb-an-karte-anriss{display:-webkit-box;margin:0;overflow:hidden;font-size:.875rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:6}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-vorschau{font-size:.875rem;line-height:1.5}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text>.ucb-an-weiter{padding-top:.5rem}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text>.ucb-an-medien-hinweis+.ucb-an-weiter{margin-top:0;padding-top:.25rem}
}
@media (min-width:761px) and (hover:hover) and (pointer:fine){
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte:has(.ucb-an-volltext) .ucb-an-karte-anriss{display:none}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte .ucb-an-volltext{color:var(--skl-schrift-leise, #4a5f72)}
}
/* Smartphone: eine Spalte, die Karten der Stadtkapelle; Schrift 16 statt 17 px */
@media(max-width:760px){
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen){grid-template-columns:1fr}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text{padding:22px}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text .ucb-an-karte-anriss{margin:4px 0 16px;font-size:1em;line-height:1.55}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte--ohne-bild:not(.ucb-an-karte--offen) .ucb-an-karte-anriss{display:block}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte--ohne-bild:not(.ucb-an-karte--offen) .ucb-an-karte-vorschau{display:none}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text .ucb-an-karte-voll{margin-bottom:16px;font-size:.95rem;line-height:1.55}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text>.ucb-an-medien-hinweis{margin:0}
.ucb-an-seite .ucb-an-raster:not(.ucb-an-wischen) .ucb-an-karte-text>.ucb-an-medien-hinweis+.ucb-an-weiter{margin-top:.25rem}
}
/* 2.6.50: Schrift der Karten (beide Ansichten) bis 620 px 16 px - dort setzt die Stadtkapelle ihre Grundschrift */
@media(max-width:620px){
.ucb-an-seite .ucb-an-raster .ucb-an-karte-text{font-size:1rem}
}
@media(max-width:480px){
.ucb-an-tabelle td{grid-template-columns:1fr;gap:.2rem}
.ucb-an-tabelle td::before{display:block}
.ucb-an-seite h1{font-size:clamp(1.8rem,9vw,2.5rem)}
}
@media(prefers-reduced-motion:reduce){.ucb-an-seite *{transition:none!important}
/* Das Fenster der Grossansicht haengt am Seitenkoerper, nicht in .ucb-an-seite -
   es braucht deshalb eine eigene Nennung. */
.ucb-bildschau,.ucb-bildschau *{transition:none!important;animation:none!important}}
