/*
 * Blog: Uebersicht unter /news/ und Einzelartikel.
 *
 * Fuer Artikel gab es im statischen Stand kein Design — es gab ja keine Artikel. Statt
 * etwas Fremdes danebenzustellen, baut diese Datei ausschliesslich auf dem, was die
 * Firmenseite ohnehin mitbringt: die Design-Tokens aus :root, die Karten-Optik der
 * News-Sektion (blog-karten.css) und Kopf/Fuss (kopf-fuss.css). Hier steht nur, was
 * es dort noch nicht gab: Fliesstext eines Artikels, Kopfzeile, Blaetterleiste.
 *
 * Massvorgaben:
 *   - Zeilenlaenge ~68 Zeichen (--lesebreite). Laenger wird auf Desktop unlesbar.
 *   - Fliesstext 1.125rem/1.75 — dieselbe Familie wie die Seite, nur ruhiger gesetzt.
 */

:root {
  --lesebreite: 44rem;
}

/* ---------- Kopfzeile der Uebersicht und des Artikels ---------- */

.nmg-blog-kopf {
  background: var(--navy);
  color: #fff;
  padding: 88px 0 64px;
}
.nmg-blog-kopf .section-inner { max-width: var(--max); }
.nmg-blog-kopf .section-kicker { color: var(--orange); }
.nmg-blog-kopf h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2.2rem, 4.4vw, 3.4rem);
  line-height: 1.1;
  margin: 8px 0 0;
  color: #fff;
}
.nmg-blog-kopf .lead { color: rgba(255, 255, 255, .78); max-width: 46rem; margin-top: 18px; }

@media (max-width: 760px) {
  .nmg-blog-kopf { padding: 56px 0 40px; }
}

/* ---------- Meta-Zeile ---------- */

.nmg-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  align-items: center;
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
.nmg-blog-kopf .nmg-meta { color: rgba(255, 255, 255, .66); }
.nmg-meta a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Artikel-Fliesstext ---------- */

.nmg-artikel { padding: 64px 0 88px; }
.nmg-artikel .section-inner { max-width: var(--max); }

.nmg-artikel-text {
  max-width: var(--lesebreite);
  margin: 0 auto;
  font-size: 1.125rem;
  line-height: 1.75;
  color: var(--ink);
}
.nmg-artikel-text > * + * { margin-top: 1.25em; }

.nmg-artikel-text h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2rem;
  line-height: 1.2;
  margin-top: 2em;
}
.nmg-artikel-text h3 { font-size: 1.3rem; margin-top: 1.8em; }

.nmg-artikel-text a { color: var(--navy); text-decoration: underline; text-underline-offset: 3px; }
.nmg-artikel-text a:hover { color: var(--orange); }

.nmg-artikel-text ul,
.nmg-artikel-text ol { padding-left: 1.4em; }
.nmg-artikel-text li + li { margin-top: .5em; }

.nmg-artikel-text blockquote {
  margin: 2em 0;
  padding: 4px 0 4px 24px;
  border-left: 3px solid var(--orange);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.5rem;
  line-height: 1.35;
  color: var(--navy);
}
.nmg-artikel-text blockquote p { margin: 0; }

/*
 * Bilder duerfen aus der Lesespalte ausbrechen, aber nie aus der Seite: die
 * negativen Raender sind auf den vorhandenen Platz gedeckelt, sonst entstuende
 * genau der Querscroll, den wir auf den Firmenseiten muehsam beseitigt haben.
 */
.nmg-artikel-text figure,
.nmg-artikel-text img {
  max-width: 100%;
  height: auto;
  border-radius: 14px;
}
.nmg-artikel-text figure { margin: 2em 0; }
.nmg-artikel-text figcaption {
  margin-top: .6em;
  font-size: .88rem;
  color: var(--muted);
  text-align: center;
}

.nmg-artikel-text pre {
  overflow-x: auto;
  padding: 18px;
  border-radius: 12px;
  background: #0d1730;
  color: #e8edf7;
  font-size: .92rem;
}
.nmg-artikel-text table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.nmg-artikel-text th,
.nmg-artikel-text td { border: 1px solid var(--line); padding: 10px 12px; text-align: left; }

.nmg-beitragsbild {
  max-width: 100%;
  height: auto;
  border-radius: 18px;
  margin: 0 auto 40px;
  display: block;
}

/* ---------- Blaetterleiste ---------- */

.nmg-blaettern { margin-top: 56px; }
.nmg-blaettern .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.nmg-blaettern .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--navy);
  text-decoration: none;
  font-weight: 700;
}
.nmg-blaettern .page-numbers:hover { border-color: var(--navy); }
.nmg-blaettern .page-numbers.current { background: var(--navy); border-color: var(--navy); color: #fff; }

/* ---------- Zurueck-Leiste unter dem Artikel ---------- */

.nmg-artikel-fuss {
  max-width: var(--lesebreite);
  margin: 56px auto 0;
  padding-top: 28px;
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
  align-items: center;
}

/* ---------- Leerzustand ---------- */

.nmg-leer {
  max-width: var(--lesebreite);
  margin: 0 auto;
  text-align: center;
  color: var(--muted);
}
