Stadionzeitung Ausgabe 2 (TSV Ködnitz, 15.08.): Entwurf + neue Aufruf-Seite

- Neue generische Live-Seite `aufruf` (erste Nutzung: Sportfest-Helferaufruf):
  Komponente, Dispatcher, Skript-Einbindung (Planung im Aufschlag, QR aus
  aufruf.link, Feld-Carryover), CSS, optionales kleines Poster rechts.
- Ausgabe 2026-08-15-tsv-koednitz als ENTWURF: Vorwort (Benedikt, Revanche
  dezent), Interview (Ali, 3 Fragen), Sportfest-Helferseite mit Kontakten aus
  ansprechpartner.json; Rückseite/Cover wie Hutschdorf wiederverwendet.
- Interview-Frage größer/prominenter gesetzt.
- Sportfest-Plakat-Anzeige deaktiviert (redundant zur Helferseite) -> 40 Seiten.

Sync-Dateien (instagram/matchcenter) bleiben gitignored, Snapshot wird beim
Veröffentlichen auf dem Server eingefroren.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AFnFYLm2MoBskyk9mc84ZW
This commit is contained in:
2026-08-13 17:27:41 +02:00
parent 1839632b66
commit c688d155cc
17 changed files with 771 additions and 9 deletions

View File

@@ -5836,7 +5836,8 @@ a.match-row__link:hover {
.stadionzeitung-kontakt,
.stadionzeitung-partner,
.stadionzeitung-momente,
.stadionzeitung-historie {
.stadionzeitung-historie,
.stadionzeitung-aufruf {
display: flex;
flex-direction: column;
min-height: 100%;
@@ -5847,7 +5848,8 @@ a.match-row__link:hover {
.stadionzeitung-kontakt .stadionzeitung-page__cta,
.stadionzeitung-partner .stadionzeitung-page__cta,
.stadionzeitung-momente .stadionzeitung-page__cta,
.stadionzeitung-historie .stadionzeitung-page__cta {
.stadionzeitung-historie .stadionzeitung-page__cta,
.stadionzeitung-aufruf .stadionzeitung-page__cta {
margin-top: auto;
}
@@ -7189,12 +7191,16 @@ a.news-feature__link:hover .news-feature__more {
margin-bottom: 0;
}
/* Frage deutlich größer als die Antwort, damit sie klar als Frage vorne steht
(vorher gleich groß wie die Antwort, dadurch zu leise — Felix). Abel hat nur
einen fetten Schnitt, die Auszeichnung trägt also die GRÖSSE, nicht ein
stärkeres Bold. Rot scheidet als Textfarbe aus (Kontrast auf Weiß < 4,5:1). */
.stadionzeitung-interview__frage {
margin-bottom: 0.8cqi;
margin-bottom: 1.4cqi;
font-family: var(--ff-body);
font-weight: var(--fw-bold);
font-size: 3.4cqi;
line-height: 1.3;
font-size: 4.6cqi;
line-height: 1.2;
}
.stadionzeitung-interview__antwort {
@@ -7203,6 +7209,131 @@ a.news-feature__link:hover .news-feature__more {
line-height: var(--lh-body);
}
/* === stadionzeitung-aufruf (Live-Seite) === */
/* Redaktioneller Handlungsaufruf (zuerst der Sportfest-Helferaufruf): Kopf-
Muster + Trennlinie wie die Geschwister-Seiten, Vorspann in der Lese-Serif
(wie Vorwort/Interview), darunter die Aufgaben-Liste und die Ansprechpartner
(Namen + Nummern aus der geteilten Quelle), unten der geteilte CTA-Fuß mit
QR aufs Ziel. Inhalt chat-gepflegt (aufruf-Feld der Ausgabe). */
/* Intro + Aufgaben stehen normalerweise gestapelt (ohne Poster ist __cols ein
schlichter Block, keine Layout-Änderung). Trägt die Ausgabe ein Poster,
wird __cols zur Reihe: Text links, kleines Plakat rechts. */
.stadionzeitung-aufruf__cols--poster {
display: flex;
align-items: flex-start;
gap: 4.2cqi;
}
.stadionzeitung-aufruf__cols--poster .stadionzeitung-aufruf__col-main {
flex: 1;
min-width: 0;
}
/* Kleines Plakat rechts — Hochformat-Flyer, bewusst klein („weißt du was ich
meine"): ein visueller Anker fürs Fest neben dem Aufruf, keine zweite große
Anzeige. Feiner Rahmen wie ein aufgehängter Zettel, kein Schatten (druckt
zuverlässiger, siehe Cover-Kommentar). */
.stadionzeitung-aufruf__poster {
flex: none;
width: 30cqi;
height: auto;
border: 1px solid var(--clr-glass-border);
}
.stadionzeitung-aufruf__intro {
margin-bottom: 4.2cqi;
font-family: var(--ff-serif);
font-size: 3.6cqi;
line-height: var(--lh-body);
}
/* Im Zweispalter trägt die Aufgabenliste die Unterkante der linken Spalte —
kein Abstand mehr darunter, sonst steht das Plakat höher als der Text endet. */
.stadionzeitung-aufruf__cols--poster .stadionzeitung-aufruf__task-list {
margin-bottom: 0;
}
.stadionzeitung-aufruf__tasks-title,
.stadionzeitung-aufruf__contacts-intro {
margin-bottom: 1.6cqi;
font-family: var(--ff-body);
font-weight: var(--fw-bold);
font-size: 2.9cqi;
text-transform: uppercase;
letter-spacing: var(--ls-caps);
color: var(--clr-text-muted);
}
.stadionzeitung-aufruf__task-list {
margin: 0 0 4.2cqi;
padding: 0;
list-style: none;
}
.stadionzeitung-aufruf__task {
display: flex;
align-items: baseline;
gap: 2.2cqi;
padding-block: 1.9cqi;
font-size: 3.8cqi;
line-height: 1.3;
border-bottom: 1px solid var(--clr-glass-border);
}
.stadionzeitung-aufruf__task:last-child {
border-bottom: 0;
}
/* Icon in Akzentrot als Fläche/Glyph (nie roter Fließtext, Kontrastregel):
das Häkchen trägt Farbe, der Text bleibt schwarz. */
.stadionzeitung-aufruf__task-icon {
flex: none;
font-size: 3.4cqi;
color: var(--clr-accent);
transform: translateY(0.3cqi);
}
.stadionzeitung-aufruf__contact-list {
margin: 0;
padding: 0;
list-style: none;
}
.stadionzeitung-aufruf__contact {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 3.3cqi;
padding-block: 2.2cqi;
border-bottom: 1px solid var(--clr-glass-border);
}
.stadionzeitung-aufruf__contact:last-child {
border-bottom: 0;
}
.stadionzeitung-aufruf__contact-name {
font-family: var(--ff-body);
font-weight: var(--fw-bold);
font-size: 3.8cqi;
line-height: 1.25;
}
.stadionzeitung-aufruf__contact-phone {
display: inline-flex;
align-items: center;
gap: 1.4cqi;
flex: none;
font-size: 3.1cqi;
color: var(--clr-text-muted);
white-space: nowrap;
}
.stadionzeitung-aufruf__contact-icon {
font-size: 2.9cqi;
color: var(--clr-accent);
}
/* === stadionzeitung-news (Live-Seite) === */
/* Eigene Liste statt des geteilten news-feed von /news: feste Medienspalte
(Wappen/Foto/Icon-Badge in EINER Größe), damit alle Titel bündig stehen —