/* =============================================================
   Tim's Weekly — Zeitungs-Look (v2, Lesbarkeit-Revision 2026-10)
   WCAG-AA: Haupttext >= 4.5:1, Groesse/Headlines >= 3:1.
   Body 16.5px / Zeile 1.6; Dark-Mode-kompatibel (data-theme).
   ============================================================= */

/* Enge Ränder: Weekly-Dokument darf breiter (Wrapper im Template) */
.tw-weekly-doc {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

/* Lokale Farbwerte (Light; Dark unten) */
article.is-weekly {
  --wk-text: #111827;
  --wk-muted: #4b5563;
  --wk-ink: #1e3a5f;
  --wk-red: #a61c1c;
  --wk-line: #d8dee9;
  --wk-line-soft: #e7ebf2;
}
[data-theme="dark"] article.is-weekly {
  --wk-text: #eef2f7;
  --wk-muted: #a9b6cc;
  --wk-ink: #82aed8;
  --wk-red: #ef8c7c;
  --wk-line: #2c3a55;
  --wk-line-soft: #21304a;
}
/* System-Dark ohne explizite Einstellung (Theme-Sync via prefers-color-scheme) */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) article.is-weekly {
    --wk-text: #eef2f7;
    --wk-muted: #a9b6cc;
    --wk-ink: #82aed8;
    --wk-red: #ef8c7c;
    --wk-line: #2c3a55;
    --wk-line-soft: #21304a;
  }
}

/* ---------- Masthead (Mastkopf) ---------- */
.weekly-masthead {
  border-top: 3px solid var(--wk-text);
  border-bottom: 2px solid var(--wk-text);
  padding: 18px 0 12px;
  margin-bottom: 10px;
  text-align: center;
}
.weekly-masthead .wm-name {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: clamp(32px, 6vw, 54px);
  line-height: 1;
  color: var(--wk-text);
  margin: 0 0 12px;
}
.weekly-masthead .wm-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  font-size: 14px;
  color: var(--wk-muted);
  border-top: 1px solid var(--wk-text);
  padding-top: 8px;
}
.weekly-masthead .wm-meta .wm-issue {
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  color: var(--wk-muted);
}
.weekly-masthead .wm-meta .wm-date {
  font-weight: 700;
  color: var(--wk-text);
}

/* Lede / Deck */
.weekly-lede {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  line-height: 1.6;
  color: var(--wk-text);
  font-style: italic;
  text-align: center;
  max-width: 780px;
  margin: 0 auto 24px;
  padding: 0 4px;
}
.weekly-lede::before,
.weekly-lede::after { content: "—"; color: var(--wk-muted); margin: 0 10px; }

/* ---------- Rubrik-Block ---------- */
.weekly-rubric {
  margin: 34px 0;
  border-top: 4px double var(--wk-text);
  padding-top: 16px;
}
.weekly-rubric:first-of-type { margin-top: 8px; }
.rubric-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 6px;
}
.rubric-kicker {
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--wk-red);
}
.rubric-title {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 800;
  font-size: clamp(26px, 4vw, 36px);
  line-height: 1.1;
  color: var(--wk-text);
  margin: 2px 0 16px;
}
.rubric-count {
  font-size: 12px;
  color: var(--wk-muted);
  letter-spacing: .06em;
  white-space: nowrap;
}

/* ---------- Story-Eintrag ---------- */
.weekly-story {
  margin: 0 0 26px;
  padding-top: 16px;
  border-top: 1px solid var(--wk-line-soft);
}
.weekly-story:first-of-type { border-top: 0; padding-top: 0; }
.story-head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 8px;
}
.story-chip {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--wk-red);
  border: 1px solid var(--wk-red);
  border-radius: 2px;
  padding: 1px 6px;
  white-space: nowrap;
}
.story-title {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  font-size: clamp(20px, 2.8vw, 26px);
  line-height: 1.2;
  color: var(--wk-ink);
  margin: 0;
}
.story-text {
  font-size: 16.5px;
  line-height: 1.62;
  color: var(--wk-text);
  margin: 4px 0 10px;
  max-width: 70ch;
}
.story-source {
  font-size: 14px;
  color: var(--wk-muted);
  margin-top: 6px;
}
.story-source a { color: var(--wk-ink); font-weight: 600; }

/* Story-Bild (im Kontext der Story) */
.weekly-figure {
  margin: 16px 0 8px;
}
.weekly-figure img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 3px;
  border: 1px solid var(--wk-line-soft);
}
.weekly-figure figcaption,
.weekly-figure .figcap {
  font-size: 13px;
  color: var(--wk-muted);
  margin-top: 7px;
  line-height: 1.45;
}

/* ---------- Subrubrik (Tech) ---------- */
.weekly-subrubric {
  margin: 22px 0;
  padding-left: 16px;
  border-left: 3px solid var(--wk-ink);
}
.subrubric-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 4px;
}
.subrubric-kicker {
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--wk-ink);
}
.subrubric-title {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  font-size: 21px;
  line-height: 1.2;
  color: var(--wk-ink);
  margin: 2px 0 14px;
}

/* ---------- Trends auf X (kompakt, lesbar) ---------- */
.weekly-trends {
  border-top: 4px double var(--wk-text);
  margin: 34px 0 8px;
  padding-top: 16px;
}
.trends-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0 28px;
  margin-top: 12px;
}
.trend-item {
  flex: 1 1 300px;
  min-width: 260px;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--wk-line-soft);
}
.trend-item .trend-tag {
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--wk-red);
}
.trend-item h4 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17.5px;
  font-weight: 700;
  line-height: 1.25;
  margin: 4px 0 5px;
  color: var(--wk-ink);
}
.trend-item p {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--wk-text);
  margin: 0;
}
.trend-item a { color: var(--wk-ink); font-weight: 600; }

/* ---------- Bildnachweise (fein, aber lesbar) ---------- */
.weekly-credits {
  border-top: 1px solid var(--wk-text);
  margin: 36px 0 8px;
  padding-top: 12px;
  font-size: 13px;
  color: var(--wk-muted);
  line-height: 1.6;
}
.weekly-credits .credits-kicker {
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--wk-muted);
  margin-bottom: 6px;
}

/* ---------- Abschiedszeile ---------- */
.weekly-signoff {
  font-family: Georgia, "Times New Roman", serif;
  text-align: center;
  font-style: italic;
  font-size: 18px;
  color: var(--wk-muted);
  margin: 28px 0 12px;
}

/* ---------- Responsive ---------- */
@media (max-width: 640px) {
  .tw-weekly-doc { max-width: 100%; }
  .weekly-masthead .wm-meta { flex-direction: column; gap: 2px; }
  .rubric-head { flex-wrap: wrap; }
  .story-text { font-size: 16px; max-width: none; }
  .weekly-figure figcaption { font-size: 12px; }
}
