/* =============================================================
   Tim's Daily — Zeitungs-Layout (v1, 2026-10)
   Übersicht ("Inhalt") + einspaltige Vollartikel.
   WCAG-AA: Fließtext >= 4.5:1, Headlines >= 3:1.
   Dark-Mode-kompatibel (data-theme + prefers-color-scheme).
   ============================================================= */

/* Anchor-Sprünge: Sticky-Header (72px) freihalten */
article.is-daily {
  scroll-margin-top: 88px;
}
.tw-daily-index a.tw-card {
  scroll-margin-top: 0;
}
.tw-daily-full .tw-article {
  scroll-margin-top: 88px;
}

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

.tw-daily-doc {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  color: var(--dy-text);
  font-family: Georgia, "Times New Roman", "Times", serif;
}

/* ---------- Kopfzeile der Ausgabe ---------- */
.tw-daily-masthead {
  border-top: 3px solid var(--dy-text);
  border-bottom: 2px solid var(--dy-text);
  padding: 16px 0 10px;
  margin-bottom: 14px;
  text-align: center;
}
.tw-daily-masthead .tw-mh-name {
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: clamp(28px, 5vw, 44px);
  line-height: 1;
  color: var(--dy-text);
  margin: 0 0 8px;
}
.tw-daily-masthead .tw-mh-meta {
  display: flex;
  justify-content: center;
  gap: 8px 18px;
  font-size: 13px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: var(--dy-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
}
.tw-daily-masthead .tw-mh-meta .tw-mh-issue {
  font-weight: 700;
  color: var(--dy-red);
}

/* ---------- Inhalts-Überblick ("Inhalt") ---------- */
.tw-daily-index {
  border-top: 1px solid var(--dy-line);
  padding-top: 14px;
  margin-bottom: 26px;
}
.tw-index-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 12px;
}
.tw-index-kicker {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 800;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--dy-red);
}
.tw-index-count {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 12px;
  color: var(--dy-muted);
}

.tw-index-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
@media (max-width: 880px) {
  .tw-index-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .tw-index-grid { grid-template-columns: 1fr; }
}

/* Karte = Zeitungs-Steupe: Foto oben, Rubrik, Titel, highlight Satz */
.tw-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px;
  border: 1px solid var(--dy-line-soft);
  background: transparent;
  text-decoration: none;
  color: var(--dy-text);
  transition: border-color .15s ease, transform .15s ease;
}
.tw-card:hover {
  border-color: var(--dy-line);
  transform: translateY(-1px);
}
.tw-card-thumb {
  display: block;
  width: 100%;
  height: 108px;
  overflow: hidden;
}
.tw-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.tw-card-kicker {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--dy-red);
}
.tw-card-title {
  font-weight: 700;
  font-size: 15.5px;
  line-height: 1.25;
  color: var(--dy-text);
}
.tw-card:hover .tw-card-title {
  color: var(--dy-ink);
}
.tw-card-tease {
  font-size: 13px;
  line-height: 1.45;
  color: var(--dy-muted);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.tw-card-tease .tw-hl {
  color: var(--dy-text);
  font-style: italic;
}
.tw-card:hover .tw-card-tease .tw-hl {
  color: var(--dy-ink);
}

/* ---------- Vollartikel (einspaltig) ---------- */
.tw-daily-full {
  border-top: 2px solid var(--dy-text);
  padding-top: 8px;
}

.tw-rubric {
  margin: 26px 0 8px;
}
.tw-rubric-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 1px solid var(--dy-line);
  padding-bottom: 6px;
  margin-bottom: 4px;
}
.tw-rubric-kicker {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--dy-red);
}
.tw-rubric-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--dy-ink);
  margin: 0;
}
.tw-rubric-count {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 12px;
  color: var(--dy-muted);
}

.tw-article {
  padding: 20px 0 22px;
  border-bottom: 1px solid var(--dy-line-soft);
}
.tw-article:first-of-type {
  border-top: 0;
  padding-top: 8px;
}
.tw-article-title {
  font-size: 24px;
  font-weight: 800;
  line-height: 1.2;
  color: var(--dy-ink);
  margin: 0 0 10px;
}

.tw-article > img {
  width: 100%;
  max-width: 100%;
  border: 1px solid var(--dy-line-soft);
  margin: 0 0 12px;
}
.tw-article p {
  font-size: 16.5px;
  line-height: 1.62;
  max-width: 70ch;
  margin: 0 0 12px;
}
.tw-article a {
  color: var(--dy-ink);
}

.tw-article-source {
  font-size: 13px;
  color: var(--dy-muted);
  border-top: 1px solid var(--dy-line-soft);
  padding-top: 8px;
  margin-top: 4px;
}
.tw-article-source a {
  color: var(--dy-ink);
  font-weight: 600;
}
.tw-article-source p {
  font-size: 13px !important;
  margin: 0 !important;
  max-width: none !important;
}

/* Zurück-Funktion (Anker hoch zur Übersicht) */
.tw-back {
  display: inline-block;
  margin-top: 14px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  color: var(--dy-ink);
  border: 1px solid var(--dy-line);
  padding: 6px 12px;
  transition: border-color .15s ease;
}
.tw-back:hover {
  border-color: var(--dy-text);
}

/* Signoff */
.tw-signoff {
  margin: 22px 0 0;
  font-style: italic;
  color: var(--dy-muted);
  font-size: 15px;
  text-align: center;
}
