/* ZenNews24 — Mobile-First, v42 */
:root {
  --red:        #e3000b;
  --dark:       #111111;
  --text:       #111111;
  --muted:      #555555;
  --bg:         #f2f2f2;
  --white:      #ffffff;
  --gap:        8px;
  --font:       -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --max:        1264px;
  --hd-h:       50px;
  --text-light: #999999;
  --text-muted: #666666;
  --bg-soft:    #f5f5f5;
  --accent:     #e3000b;
  --border:     #e5e5e5;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; overflow-x: hidden; }
body { font-family: var(--font); background: var(--bg); color: var(--text); overflow-x: hidden; }
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; object-fit: cover; }

/* ═══════════════════════════════
   HEADER SYSTEM
═══════════════════════════════ */

.site-header-wrap {
  position: sticky;
  top: 0;
  z-index: 300;
}

/* Breaking bar (top of header wrap) */
.hd-breaking {
  background: var(--red);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}
.hd-breaking .hd-inner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 14px;
  min-height: 0;
}
.hd-breaking-label {
  background: #fff;
  color: var(--red);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 3px 7px;
  flex-shrink: 0;
}
.hd-breaking a { color: #fff; }
.hd-breaking a:hover { text-decoration: underline; }

/* Main header bar */
.hd-bar {
  background: var(--white);
  border-bottom: 1px solid #e8e8e8;
  box-shadow: 0 2px 8px rgba(0,0,0,.10);
}
.hd-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 14px;
  height: var(--hd-h);
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Logo */
.hd-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
  margin-right: 6px;
}
.hd-logo img {
  height: 44px;
  width: 44px;
  display: block;
  border-radius: 3px;
}

/* Desktop Nav */
.hd-nav {
  display: flex;
  align-items: center;
  flex: 1;
  overflow-x: auto;
  scrollbar-width: none;
  gap: 0;
}
.hd-nav::-webkit-scrollbar { display: none; }
.hd-nav-item {
  padding: 6px 11px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  color: #333;
  border-radius: 2px;
  transition: color .12s;
  flex-shrink: 0;
}
.hd-nav-item:hover { color: var(--red); }
.hd-nav-item.active { color: var(--red); border-bottom: 2px solid var(--red); }

/* Action buttons */
.hd-actions {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
  margin-left: auto;
}
.hd-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: #333;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .12s, color .12s;
}
.hd-btn:hover { background: #f5f5f5; color: var(--red); }
.hd-menu-btn { display: none; }

/* Search bar */
.hd-search {
  display: none;
  background: #fff;
  border-top: 1px solid #ebebeb;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.hd-search.open { display: block; }
.hd-search .hd-inner { height: auto; padding: 10px 14px; }
.hd-search-form {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  background: #f6f6f6;
  border: 1px solid #e8e8e8;
  border-radius: 24px;
  padding: 0 14px;
}
.hd-search-form svg { flex-shrink: 0; }
.hd-search-form input {
  flex: 1;
  padding: 9px 4px;
  border: none;
  outline: none;
  font-size: 14px;
  background: transparent;
}
.hd-search-form button {
  background: var(--red);
  color: #fff;
  border: none;
  padding: 7px 14px;
  border-radius: 3px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}

/* Mobile overlay */
.hd-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 290;
}
.hd-overlay.open { display: block; }

/* Mobile nav drawer */
.hd-mobile-nav {
  position: fixed;
  top: 0;
  left: -280px;
  bottom: 0;
  width: 280px;
  background: var(--white);
  z-index: 295;
  transition: left .25s ease;
  overflow-y: auto;
  box-shadow: 4px 0 20px rgba(0,0,0,.2);
}
.hd-mobile-nav.open { left: 0; }
.hd-mobile-nav-inner { padding: 16px 0 40px; }
.hd-mnav-item {
  display: block;
  padding: 14px 20px;
  font-size: 15px;
  font-weight: 600;
  color: var(--dark);
  border-bottom: 1px solid #f0f0f0;
  transition: color .12s, background .12s;
}
.hd-mnav-item:hover { color: var(--red); background: #fafafa; }
.hd-mnav-item.active { color: var(--red); }
.hd-mnav-home {
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--red);
  padding-bottom: 16px;
  margin-bottom: 4px;
}

/* Mobile: hide desktop nav, show menu button */
@media (max-width: 899px) {
  .hd-nav { display: none; }
  .hd-menu-btn { display: flex; }
  --hd-h: 48px;
  .hd-inner { height: 48px; }
  .hd-logo-text { display: none; }
}
/* Very small screens */
@media (max-width: 399px) {
  .hd-inner { padding: 0 10px; gap: 6px; }
}

/* ── TICKER ── */
.ticker-wrap {
  background: var(--dark);
  color: #fff;
  padding: 7px 0;
  overflow: hidden;
}
.ticker-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.ticker-label {
  background: var(--red);
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  flex-shrink: 0;
  text-transform: uppercase;
}
.ticker-text { font-size: 12px; white-space: nowrap; overflow: hidden; flex: 1; }
.ticker-text a { color: rgba(255,255,255,.85); margin-right: 18px; }
.ticker-text a:hover { color: #fff; }

/* ── PAGE WRAP ── */
.page-wrap {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 0 48px;
  background: var(--bg);
}

/* ── CATEGORY BANNER ── */
.cat-banner {
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #fff;
  background: var(--dark);
  margin: 10px 0 0;
}
.cat-banner.politik      { background: #1a3a5c; }
.cat-banner.wirtschaft   { background: #0d6e3a; }
.cat-banner.sport        { background: #006e2e; }
.cat-banner.unterhaltung { background: #8b1a6e; }
.cat-banner.gesellschaft { background: #5c2d91; }
.cat-banner.gesundheit   { background: #0a6e6e; }
.cat-banner.auto         { background: #2d4a8a; }
.cat-banner.technologie  { background: #1a4a7a; }
.cat-banner.international{ background: #b8450a; }
.cat-banner.regional     { background: #2d6b3a; }
.cat-banner.breaking     { background: var(--red); }

/* ── GRID SYSTEM ── */
.bild-grid {
  display: grid;
  gap: var(--gap);
  background: var(--bg);
}
.grid-hero { grid-template-columns: 2fr 1fr; }
.grid-3    { grid-template-columns: repeat(3, 1fr); }
.grid-4    { grid-template-columns: repeat(4, 1fr); }
.grid-2    { grid-template-columns: repeat(2, 1fr); }
.grid-2-1  { grid-template-columns: 2fr 1fr; }
.grid-1-2  { grid-template-columns: 1fr 2fr; }
.grid-full { grid-template-columns: 1fr; }

/* ── Bild-Box: Text über Bild ── */
.bild-box {
  position: relative;
  overflow: hidden;
  background: #d8d8d8;
  display: block;
}
.bild-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s ease;
}
.bild-box:hover img { transform: scale(1.03); }

.bild-box .overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 50px 10px 10px;
  background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.5) 55%, rgba(0,0,0,.1) 80%, transparent 100%);
}

.bild-box .cat-tag {
  display: inline-block;
  background: var(--red);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  padding: 2px 6px;
  letter-spacing: .07em;
  text-transform: uppercase;
  margin-bottom: 5px;
}
.bild-box .cat-tag.politik      { background: #1a3a5c; }
.bild-box .cat-tag.wirtschaft   { background: #0d6e3a; }
.bild-box .cat-tag.sport        { background: #006e2e; }
.bild-box .cat-tag.unterhaltung { background: #8b1a6e; }
.bild-box .cat-tag.gesellschaft { background: #5c2d91; }
.bild-box .cat-tag.gesundheit   { background: #0a6e6e; }
.bild-box .cat-tag.auto         { background: #2d4a8a; }
.bild-box .cat-tag.technologie  { background: #1a4a7a; }
.bild-box .cat-tag.international{ background: #b8450a; }
.bild-box .cat-tag.regional     { background: #2d6b3a; }

.bild-box .hl {
  color: #fff;
  font-weight: 800;
  line-height: 1.2;
  text-shadow: 0 1px 3px rgba(0,0,0,.7);
  display: block;
}
.bild-box .hl-xl { font-size: 26px; }
.bild-box .hl-lg { font-size: 19px; }
.bild-box .hl-md { font-size: 15px; }
.bild-box .hl-sm { font-size: 13px; }

.bild-box .sub {
  color: rgba(255,255,255,.85);
  font-size: 12px;
  margin-top: 4px;
  line-height: 1.35;
  display: block;
}
.bild-box .meta {
  color: rgba(255,255,255,.55);
  font-size: 12px;
  margin-top: 5px;
  display: block;
}

/* Box-Höhen */
.h-hero { height: 500px; }
.h-lg   { height: 290px; }
.h-md   { height: 240px; }
.h-sm   { height: 195px; }
.h-xs   { height: 130px; }

/* ── WHITE CARD ── */
.white-box {
  background: var(--white);
  overflow: hidden;
  display: block;
}
.white-box .img-wrap {
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #e0e0e0;
}
.white-box .img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.white-box:hover .img-wrap img { transform: scale(1.04); }
.white-box .body { padding: 10px 12px 14px; }
.white-box .cat-tag {
  display: inline-block;
  background: var(--red);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  padding: 2px 5px;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 5px;
}
.white-box .hl {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--text);
}
.white-box:hover .hl { color: var(--red); }
.white-box .sub {
  font-size: 12px;
  color: var(--muted);
  margin-top: 4px;
  line-height: 1.4;
}
.white-box .meta { font-size: 12px; color: #999; margin-top: 6px; }

/* ── LIST BOX ── */
.list-box {
  background: var(--white);
  padding: 10px 12px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  border-bottom: 1px solid #e8e8e8;
}
.list-box-img {
  width: 88px; height: 58px;
  flex-shrink: 0; overflow: hidden; background: #e0e0e0;
}
.list-box-img img { width: 100%; height: 100%; object-fit: cover; }
.list-box-body { flex: 1; min-width: 0; }
.list-box .cat-tag {
  display: inline-block; background: var(--red); color: #fff;
  font-size: 11px; font-weight: 800; padding: 1px 5px;
  letter-spacing: .06em; text-transform: uppercase; margin-bottom: 4px;
}
.list-box .hl { font-size: 13px; font-weight: 700; line-height: 1.25; color: var(--text); }
.list-box .hl:hover { color: var(--red); }
.list-box .meta { font-size: 12px; color: var(--muted); margin-top: 3px; }

/* ── FOOTER ── */
.site-footer {
  background: var(--dark);
  color: rgba(255,255,255,.65);
  padding: 32px 16px 20px;
  margin-top: 0;
  overflow-x: hidden;
}
.footer-inner {
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 40px;
}
.footer-logo { font-size: 20px; font-weight: 900; margin-bottom: 6px; color: #fff; }
.footer-logo span { color: var(--red); }
.footer-tagline { font-size: 12px; color: rgba(255,255,255,.35); }
.footer-links {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px 16px;
}
.footer-col h4 { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: rgba(255,255,255,.4); margin-bottom: 8px; }
.footer-links a { font-size: 12px; color: rgba(255,255,255,.55); padding: 2px 0; display: block; }
.footer-links a:hover { color: #fff; }
.footer-bottom {
  max-width: var(--max);
  margin: 20px auto 0;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
  font-size: 11px;
  color: rgba(255,255,255,.25);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px;
}

/* ── ARTIKEL-SEITE ── */
.article-wrap {
  max-width: 800px;
  margin: 0 auto;
  padding: 24px 14px 56px;
  background: var(--white);
}
.article-cat {
  display: inline-block;
  background: var(--red);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 8px;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.article-title {
  font-size: clamp(22px, 4vw, 34px);
  font-weight: 900;
  line-height: 1.15;
  color: var(--dark);
  margin-bottom: 10px;
}
.article-subtitle {
  font-size: 18px;
  font-weight: 500;
  color: var(--muted);
  margin-bottom: 16px;
  line-height: 1.45;
}
.article-meta {
  display: flex;
  gap: 16px;
  font-size: 12px;
  color: var(--muted);
  padding: 10px 0;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.article-hero { margin-bottom: 24px; aspect-ratio: 16/9; overflow: hidden; background: #e0e0e0; }
.article-body {
  font-size: 17px;
  line-height: 1.72;
  color: #1a1a1a;
}
.article-body p  { margin-bottom: 20px; }
.article-body h2 { font-size: 22px; font-weight: 800; margin: 32px 0 12px; color: var(--dark); border-left: 4px solid var(--red); padding-left: 10px; }
.article-body h3 { font-size: 18px; font-weight: 700; margin: 24px 0 8px; color: var(--dark); }
.article-body ul, .article-body ol { margin: 0 0 20px 20px; }
.article-body li { margin-bottom: 6px; line-height: 1.6; }
.article-body strong { color: var(--dark); font-weight: 700; }
.article-body blockquote {
  border-left: 4px solid var(--red);
  padding: 12px 16px;
  background: #fff5f5;
  margin: 24px 0;
  font-style: italic;
  color: #444;
}
.article-body .quellen {
  background: #f8f8f8;
  border: 1px solid #e0e0e0;
  padding: 12px 14px;
  font-size: 13px;
  color: var(--muted);
  margin-top: 32px;
}
.article-body .source-link { font-size: 12px; color: var(--muted); margin-top: 8px; }

/* ── MOBILE (< 600px) ── */
@media (max-width: 599px) {
  .header-inner { height: 48px; padding: 0 10px; gap: 8px; }
  .site-logo img { height: 38px; width: 38px; }
  .main-nav { display: none; }
  .main-nav.open {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 48px; left: 0; right: 0; bottom: 0;
    background: var(--white);
    border-top: 2px solid var(--red);
    padding: 12px;
    z-index: 999;
    overflow-y: auto;
    box-shadow: 0 4px 20px rgba(0,0,0,.15);
  }
  .main-nav.open .nav-item {
    padding: 13px 10px;
    font-size: 15px;
    border-bottom: 1px solid #f0f0f0;
    border-radius: 0;
  }
  .nav-toggle { display: flex; }
  .ticker-wrap { display: none; }
  .breaking-bar { font-size: 11px; padding: 6px 10px; }
  .grid-hero, .grid-3, .grid-4, .grid-2, .grid-2-1, .grid-1-2 { grid-template-columns: 1fr; }
  .h-hero { height: 320px; }
  .h-lg   { height: 265px; }
  .h-md   { height: 245px; }
  .h-sm   { height: 225px; }
  .h-xs   { height: 185px; }
  .bild-box .hl-xl { font-size: 18px; }
  .bild-box .hl-lg { font-size: 15px; }
  .bild-box .hl-md { font-size: 13px; }
  .footer-inner { grid-template-columns: 1fr; gap: 20px; }
  .footer-links { grid-template-columns: repeat(2, 1fr); }
  .article-wrap { padding: 16px 12px 40px; }
  .article-body { font-size: 16px; }
}

/* ── TABLET (600–900px) ── */
@media (min-width: 600px) and (max-width: 899px) {
  .main-nav { display: none; }
  .main-nav.open {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 52px; left: 0; right: 0; bottom: 0;
    background: var(--white);
    border-top: 2px solid var(--red);
    padding: 16px 12px;
    z-index: 999;
    overflow-y: auto;
  }
  .nav-toggle { display: flex; }
  .grid-4  { grid-template-columns: repeat(2, 1fr); }
  .grid-3  { grid-template-columns: repeat(2, 1fr); }
  .grid-hero { grid-template-columns: 3fr 2fr; }
  .h-hero { height: 340px; }
  .footer-links { grid-template-columns: repeat(2, 1fr); }
}

/* ── DESKTOP (900–1280px) ── */
@media (min-width: 900px) and (max-width: 1279px) {
  .page-wrap { padding: 0 8px 48px; }
}

/* ══════════════════════════════════════
   ARTIKEL-SEITE — komplett neu, v4
══════════════════════════════════════ */

/* Seitenrahmen */
.art-page {
  background: #f0f0f0;
  min-height: 60vh;
}

/* 2-Spalten-Grid */
.art-grid {
  max-width: 1180px;
  margin: 0 auto;
  padding: 18px 14px 64px;
  display: grid;
  grid-template-columns: 1fr 288px;
  gap: 18px;
  align-items: start;
}

/* ── Hauptspalte ── */
.art-col {
  background: #fff;
  padding: 26px 30px 36px;
  min-width: 0;
}

/* Breadcrumb */
.bc {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
  font-size: 12px;
  color: #aaa;
  margin-bottom: 18px;
}
.bc a { color: #aaa; }
.bc a:hover { color: var(--red); }
.bc span { margin: 0 4px; color: #ccc; }

/* Badges */
.art-badges {
  display: flex;
  gap: 6px;
  margin-bottom: 10px;
}
.art-cat {
  display: inline-block;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  padding: 3px 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: var(--red);
  border-radius: 1px;
}
.art-cat.cat-politik       { background: #1a3a5c; }
.art-cat.cat-wirtschaft    { background: #0d6e3a; }
.art-cat.cat-sport         { background: #006e2e; }
.art-cat.cat-unterhaltung  { background: #8b1a6e; }
.art-cat.cat-gesellschaft  { background: #5c2d91; }
.art-cat.cat-gesundheit    { background: #0a6e6e; }
.art-cat.cat-auto          { background: #2d4a8a; }
.art-cat.cat-technologie   { background: #1a4a7a; }
.art-cat.cat-international { background: #b8450a; }
.art-cat.cat-regional      { background: #2d6b3a; }
.art-cat.cat-breaking      { background: var(--red); }

/* Überschrift */
.art-title {
  font-size: clamp(24px, 3.2vw, 36px);
  font-weight: 900;
  line-height: 1.13;
  color: #111;
  letter-spacing: -.01em;
  margin-bottom: 12px;
}

/* Dachzeile */
.art-sub {
  font-size: 18px;
  font-weight: 400;
  color: #555;
  line-height: 1.5;
  margin-bottom: 14px;
  border-left: 3px solid var(--red);
  padding-left: 12px;
}

/* Meta */
.art-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  font-size: 12px;
  color: #999;
  padding: 10px 0;
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
  margin-bottom: 0;
}
.art-meta strong { color: #444; }
.art-updated { color: #bbb; }

/* Hero-Bild */
.art-hero {
  margin: 20px -30px 26px;
  overflow: hidden;
  background: #e8e8e8;
  aspect-ratio: 16/9;
}
.art-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Artikeltext */
.art-body {
  font-size: 17.5px;
  line-height: 1.78;
  color: #1c1c1c;
  margin-top: 22px;
}
.art-body p { margin-bottom: 22px; }
.art-body h2 {
  font-size: 22px;
  font-weight: 800;
  margin: 34px 0 12px;
  color: #111;
  border-left: 4px solid var(--red);
  padding-left: 11px;
  line-height: 1.2;
}
.art-body h3 {
  font-size: 18px;
  font-weight: 700;
  margin: 26px 0 9px;
  color: #222;
}
.art-body ul,
.art-body ol { margin: 0 0 20px 22px; }
.art-body li { margin-bottom: 7px; line-height: 1.65; }
.art-body strong { font-weight: 700; color: #111; }
.art-body a { color: var(--red); text-decoration: underline; }
.art-body a:hover { text-decoration: none; }
.art-body blockquote {
  border-left: 4px solid var(--red);
  background: #fafafa;
  padding: 14px 18px;
  margin: 26px 0;
  color: #444;
  font-style: italic;
  font-size: 17px;
}

/* ── Share ── */
.share-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  padding: 16px 0;
  border-top: 2px solid #f0f0f0;
  border-bottom: 1px solid #efefef;
  margin: 30px 0 20px;
}
.share-lbl {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #bbb;
  margin-right: 2px;
}
.sh-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 14px;
  border-radius: 2px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  border: none;
  text-decoration: none;
  line-height: 1;
  letter-spacing: .02em;
}
.sh-x    { background: #111; }
.sh-fb   { background: #1877f2; }
.sh-wa   { background: #25d366; }
.sh-copy { background: #eee; color: #555; font-size: 12px; }
.sh-copy:hover { background: #e0e0e0; }

/* ── Tags ── */
.art-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 18px;
}
.art-tag {
  font-size: 12px;
  color: #666;
  background: #f3f3f3;
  padding: 4px 10px;
  border-radius: 2px;
  transition: background .12s, color .12s;
}
.art-tag:hover { background: var(--red); color: #fff; }

/* ── Quelle ── */
.art-source {
  font-size: 12px;
  color: #aaa;
  background: #f9f9f9;
  border-left: 3px solid #e0e0e0;
  padding: 9px 14px;
  margin-bottom: 20px;
}
.art-source strong { color: #888; }
.art-source a { color: var(--red); }

/* ── Verwandte Artikel ── */
.art-related { margin-top: 44px; }

.art-rel-hd {
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #111;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--red);
  margin-bottom: 14px;
}

.art-rel-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.rel-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #eee;
  overflow: hidden;
  transition: box-shadow .15s;
}
.rel-card:hover { box-shadow: 0 2px 12px rgba(0,0,0,.1); }

.rel-img {
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #e8e8e8;
  flex-shrink: 0;
}
.rel-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s;
}
.rel-card:hover .rel-img img { transform: scale(1.04); }

.rel-body {
  padding: 10px 11px 12px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.rel-cat {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #fff;
  background: var(--red);
  padding: 2px 6px;
  border-radius: 1px;
  align-self: flex-start;
}
.rel-cat.cat-politik       { background: #1a3a5c; }
.rel-cat.cat-wirtschaft    { background: #0d6e3a; }
.rel-cat.cat-sport         { background: #006e2e; }
.rel-cat.cat-unterhaltung  { background: #8b1a6e; }
.rel-cat.cat-gesellschaft  { background: #5c2d91; }
.rel-cat.cat-gesundheit    { background: #0a6e6e; }
.rel-cat.cat-auto          { background: #2d4a8a; }
.rel-cat.cat-technologie   { background: #1a4a7a; }
.rel-cat.cat-international { background: #b8450a; }
.rel-cat.cat-regional      { background: #2d6b3a; }

.rel-title {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  color: #111;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rel-card:hover .rel-title { color: var(--red); }

.rel-meta { font-size: 11px; color: #aaa; }

/* ── Universeller Bild-Platzhalter ── */
.img-ph {
  width: 100%;
  height: 100%;
  background: linear-gradient(160deg, #e8e8e8 0%, #d8d8d8 100%);
  position: relative;
}
.img-ph::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 28px; height: 28px;
  border-radius: 50%;
  background: rgba(0,0,0,.07);
}

/* ── Sidebar ── */
.art-side {
  position: sticky;
  top: 62px;
  min-width: 0;
}

.side-widget {
  background: #fff;
}

.side-hd {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #111;
  padding: 13px 14px 11px;
  border-bottom: 2px solid var(--red);
}

.side-item {
  display: flex;
  gap: 9px;
  padding: 9px 12px;
  border-bottom: 1px solid #f5f5f5;
  align-items: flex-start;
  transition: background .1s;
}
.side-item:hover { background: #fafafa; }
.side-item:last-child { border-bottom: none; }

.side-img {
  width: 68px;
  height: 46px;
  flex-shrink: 0;
  overflow: hidden;
  background: #e8e8e8;
}
.side-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.side-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.side-title {
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.3;
  color: #111;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.side-item:hover .side-title { color: var(--red); }

.side-meta { font-size: 10.5px; color: #bbb; }

/* ── cat-tag Kategorie-Farben (white-box + list-box) ── */
.cat-tag.cat-politik       { background: #1a3a5c !important; }
.cat-tag.cat-wirtschaft    { background: #0d6e3a !important; }
.cat-tag.cat-sport         { background: #006e2e !important; }
.cat-tag.cat-unterhaltung  { background: #8b1a6e !important; }
.cat-tag.cat-gesellschaft  { background: #5c2d91 !important; }
.cat-tag.cat-gesundheit    { background: #0a6e6e !important; }
.cat-tag.cat-auto          { background: #2d4a8a !important; }
.cat-tag.cat-technologie   { background: #1a4a7a !important; }
.cat-tag.cat-international { background: #b8450a !important; }
.cat-tag.cat-regional      { background: #2d6b3a !important; }
.cat-tag.cat-breaking      { background: var(--red) !important; }

/* ── Responsive ── */
@media (max-width: 899px) {
  .art-grid {
    grid-template-columns: 1fr;
    padding: 0 0 40px;
    gap: 0;
  }
  .art-col {
    padding: 16px 14px 28px;
  }
  .art-hero {
    margin: 16px -14px 20px;
  }
  .art-side { display: none; }
  .art-rel-grid { grid-template-columns: 1fr; gap: 10px; }
  .art-body { font-size: 16px; }
  .art-title { letter-spacing: -.005em; }
}
@media (min-width: 600px) and (max-width: 899px) {
  .art-rel-grid { grid-template-columns: repeat(2, 1fr); }
  .art-col { padding: 20px 18px 32px; }
  .art-hero { margin: 18px -18px 22px; }
}

/* ── Footer CSS-Fix ── */
.footer-brand { display: flex; flex-direction: column; }
.footer-brand .footer-logo {
  font-size: 20px;
  font-weight: 900;
  color: #fff;
  margin-bottom: 6px;
}
.logo-zen  { color: #fff; }
.logo-news { color: var(--red); }
.logo-24   { color: rgba(255,255,255,.5); }
.footer-brand p { font-size: 12px; color: rgba(255,255,255,.35); }
.footer-cat-nav { display: flex; flex-wrap: wrap; gap: 6px 10px; margin-top: 8px; }
.footer-cat-nav a { font-size: 11px; color: rgba(255,255,255,.5); padding: 2px 8px; border: 1px solid rgba(255,255,255,.15); border-radius: 20px; }
.footer-cat-nav a:hover { color: #fff; border-color: rgba(255,255,255,.4); }
.footer-col h4 a { color: rgba(255,255,255,.35); text-decoration: none; }
.footer-col h4 a:hover { color: rgba(255,255,255,.7); }
.footer-cols {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px 16px;
}
.footer-col h4 {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: rgba(255,255,255,.35);
  margin-bottom: 9px;
}
.footer-col a {
  display: block;
  font-size: 12px;
  color: rgba(255,255,255,.55);
  padding: 2px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.footer-col a:hover { color: #fff; }
@media (max-width: 599px) {
  .footer-inner { grid-template-columns: 1fr !important; gap: 20px !important; }
  .footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 600px) and (max-width: 899px) {
  .footer-inner { grid-template-columns: 180px 1fr; }
  .footer-cols { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* ══════════════════════════════
   KATEGORIE-SEITE
══════════════════════════════ */
.cat-page-hd {
  background: #fff;
  padding: 20px 16px 18px 20px;
  margin-bottom: 0;
  border-bottom: 1px solid #eee;
}
.cat-page-hd-inner { max-width: var(--max); margin: 0 auto; }
.cat-page-title {
  font-size: 32px;
  font-weight: 900;
  color: #111;
  line-height: 1;
  letter-spacing: -.02em;
}
.cat-page-meta { font-size: 13px; color: #999; margin-top: 5px; }
.cat-feature { display: block; }

/* Pagination */
.cat-pagination {
  background: #fff;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 3px;
}
.cat-pagination a,
.cat-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  font-size: 13px;
  font-weight: 600;
  border: 1px solid #e0e0e0;
  color: #333;
  border-radius: 2px;
  transition: all .12s;
}
.cat-pagination a:hover { background: var(--red); color: #fff; border-color: var(--red); }
.cat-pagination span.active { background: var(--red); color: #fff; border-color: var(--red); }

/* ── NEU-Badge ── */
.bb { display:inline-block; font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; padding:2px 6px; border-radius:2px; margin-bottom:5px; }
.bb-new { background:#e60; color:#fff; }
.bb-top { background:#cc0000; color:#fff; }

/* ── Cat-Banner Klimaschutz ── */
.cat-banner.klimaschutz { background:#1a6e2d; }
.bild-box .cat-tag.klimaschutz { background:#1a6e2d; }

/* ── Art-related header ── */
.art-rel-hd { padding:8px 0 6px; font-size:15px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--red); border-bottom:2px solid var(--red); margin-bottom:3px; }

/* ── Art-related grid inside article ── */
.art-related { margin-top:32px; }

/* ── Artikel: Tabelle ── */
.art-table { width:100%; border-collapse:collapse; margin:24px 0; font-size:14px; }
.art-table thead { background:var(--red); color:#fff; }
.art-table thead th { padding:10px 14px; text-align:left; font-weight:700; font-size:13px; }
.art-table tbody tr { border-bottom:1px solid var(--border); }
.art-table tbody tr:nth-child(even) { background:var(--bg-soft); }
.art-table tbody td { padding:9px 14px; vertical-align:top; line-height:1.4; }
.art-table tbody tr:hover { background:#f0f0f0; }
@media(max-width:600px) { .art-table { font-size:12px; } .art-table thead th, .art-table tbody td { padding:7px 9px; } }

/* ── Artikel: Faktenbox ── */
.yt-embed { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; margin:24px 0; border-radius:6px; }
.yt-embed iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:0; border-radius:6px; }
.fact-box { background:var(--bg-soft); border-left:4px solid var(--red); border-radius:0 6px 6px 0; padding:18px 20px; margin:24px 0; }
.fact-box p { margin:0 0 10px; font-size:14px; line-height:1.55; }
.fact-box p:last-child { margin-bottom:0; }
.fact-box strong { color:var(--red); }

/* ── Artikel: Timeline ── */
.timeline { margin:28px 0; border-left:3px solid var(--red); padding-left:0; position:relative; }
.tl-item { display:flex; gap:12px; align-items:flex-start; padding:12px 0 12px 22px; border-bottom:1px solid var(--border); position:relative; }
.tl-item:last-child { border-bottom:none; }
.tl-item::before { content:''; position:absolute; left:-7px; top:16px; width:12px; height:12px; background:var(--red); border-radius:50%; border:2px solid #fff; box-shadow:0 0 0 2px var(--red); }
.tl-date { font-size:11px; font-weight:800; color:var(--red); background:#fff5f5; border:1px solid rgba(227,0,11,.15); border-radius:4px; padding:2px 8px; flex-shrink:0; white-space:nowrap; letter-spacing:.04em; text-transform:uppercase; line-height:1.8; }
.tl-text { font-size:14px; line-height:1.55; color:var(--text); padding-top:1px; }
@media(max-width:600px) { .tl-item { flex-direction:column; gap:4px; } .tl-date { font-size:10px; } .tl-text { font-size:13px; } }

/* ── Artikel: Highlight/Zitat ── */
.art-highlight { background:linear-gradient(135deg,#fff8f8,#fff); border:1px solid #f0d0d0; border-radius:8px; padding:18px 22px; margin:24px 0; font-size:15px; font-style:italic; color:var(--text); line-height:1.6; }
.art-highlight::before { content:'\201E'; font-size:48px; color:var(--red); line-height:1; display:block; margin-bottom:-10px; opacity:.3; }

/* ═══════════════════════════════════════════════════════════
   CATEGORY GRID v2 — Featured + Compact List
═══════════════════════════════════════════════════════════ */

/* Cat-Banner mit Alle-Link */
.cat-banner { display: flex; align-items: center; justify-content: space-between; }
.cat-banner > span { flex: 1; }
.cat-banner-all {
  font-size: 11px; font-weight: 700; color: rgba(255,255,255,.8);
  text-decoration: none; padding: 0 14px; letter-spacing: .03em; white-space: nowrap;
}
.cat-banner-all:hover { color: #fff; }

/* Haupt-Layout: 1 großes Featured + rechte Liste */
.grid-cat {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--gap);
  background: var(--bg);
}

/* Rechte Spalte: 3 gestapelte List-Items */
.list-stack {
  display: flex;
  flex-direction: column;
  background: var(--white);
}
.list-item {
  display: flex;
  gap: 10px;
  padding: 10px 12px;
  text-decoration: none;
  border-bottom: 1px solid var(--border);
  align-items: flex-start;
  flex: 1;
  transition: background .12s;
}
.list-item:last-child { border-bottom: none; }
.list-item:hover { background: #f5f5f5; }
.list-item img {
  width: 90px; height: 64px;
  object-fit: cover; flex-shrink: 0;
}
.list-item .li-body {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; gap: 4px;
}
.list-item .li-tag {
  font-size: 11px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .06em;
  color: #fff; padding: 2px 6px; border-radius: 2px;
  display: inline-block; align-self: flex-start;
}
.list-item .li-title {
  font-size: 13px; font-weight: 700;
  color: var(--text); line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.list-item:hover .li-title { color: var(--red); }
.list-item .li-meta { font-size: 12px; color: var(--text-light); margin-top: auto; }

/* Meist Gelesen */
.meist-section { margin: 6px 0; }
.meist-hd {
  background: var(--red); color: #fff;
  padding: 8px 14px; font-size: 13px; font-weight: 800;
  letter-spacing: .08em; text-transform: uppercase;
}
.meist-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2px; background: #e8e8e8;
}
.meist-item {
  display: flex; flex-direction: column;
  background: var(--white); text-decoration: none; overflow: hidden;
  transition: background .12s;
}
.meist-item:hover { background: var(--bg-soft); }
.meist-item img { width: 100%; height: 110px; object-fit: cover; }
.meist-item .mi-body {
  padding: 8px 10px 10px;
  display: flex; flex-direction: column; gap: 4px; flex: 1;
}
.meist-item .mi-num {
  font-size: 32px; font-weight: 900; color: var(--red);
  line-height: 1; opacity: .2; align-self: flex-start;
}
.meist-item .mi-cat {
  font-size: 11px; font-weight: 800; text-transform: uppercase;
  letter-spacing: .06em; color: #fff; padding: 2px 6px;
  border-radius: 2px; display: inline-block; align-self: flex-start;
}
.meist-item .mi-title {
  font-size: 13px; font-weight: 700; color: var(--text); line-height: 1.3;
  display: -webkit-box; -webkit-line-clamp: 3;
  -webkit-box-orient: vertical; overflow: hidden;
}
.meist-item:hover .mi-title { color: var(--red); }
.meist-item .mi-meta { font-size: 12px; color: var(--text-light); margin-top: auto; }

/* Responsive grid-cat */
@media (max-width: 599px) {
  .grid-cat { grid-template-columns: 1fr; }
  .list-stack { flex-direction: row; flex-wrap: wrap; }
  .list-item { width: 50%; flex: none; box-sizing: border-box; }
  .list-item img { width: 72px; height: 50px; }
  .meist-grid { grid-template-columns: repeat(2, 1fr); }
  .meist-item img { height: 120px; }
}
@media (min-width: 600px) and (max-width: 899px) {
  .grid-cat { grid-template-columns: 1fr 1fr; }
  .list-item img { width: 80px; height: 55px; }
  .meist-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ══════════════════════════════════════════════════
   GRID v3 — XL/XXL Editorial System
══════════════════════════════════════════════════ */

/* Neue Höhenklassen */
.h-xl  { height: 380px; }
.h-xxl { height: 520px; }

/* Rechte Spalte: gestapelte pure Bild-Boxes */
.cat-side {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  height: 380px; /* sync mit h-xl */
}
.cat-side > .bild-box {
  flex: 1;
  min-height: 0;
}

/* Alternativ-Grid: Featured RECHTS */
.grid-cat-r {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: var(--gap);
  background: var(--bg);
}

/* 3-Spalten Sektion (Triple) */
.grid-triple {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap);
  background: var(--bg);
}

/* Große Überschriften in Boxen */
.bild-box .hl-xl  { font-size: 30px; }
.bild-box .hl-lg  { font-size: 21px; }
.bild-box .hl-md  { font-size: 16px; }
.bild-box .hl-sm  { font-size: 13px; }
.bild-box .hl-xs  { font-size: 11px; line-height: 1.3; }

/* Overlay stärker für bessere Lesbarkeit */
.bild-box .overlay {
  background: linear-gradient(to top,
    rgba(0,0,0,.96) 0%,
    rgba(0,0,0,.7) 40%,
    rgba(0,0,0,.2) 70%,
    transparent 100%
  );
}

/* Featured Box: Subtitle sichtbar */
.bild-box .sub-md {
  color: rgba(255,255,255,.9);
  font-size: 13px;
  margin-top: 5px;
  line-height: 1.4;
  display: block;
}

/* Responsive Overrides */
@media (max-width: 599px) {
  .grid-cat, .grid-cat-r { grid-template-columns: 1fr; }
  .cat-side { height: auto; flex-direction: row; flex-wrap: wrap; }
  .cat-side > .bild-box { flex: 0 0 calc(50% - 2px); height: 190px; }
  .grid-triple { grid-template-columns: 1fr; }
  .h-xl { height: 270px; }
  .h-xxl { height: 310px; }
}
@media (min-width: 600px) and (max-width: 899px) {
  .grid-cat, .grid-cat-r { grid-template-columns: 1fr 1fr; }
  .cat-side { height: 260px; }
  .grid-triple { grid-template-columns: repeat(2, 1fr); }
  .h-xl { height: 260px; }
}

/* ── Kategorie: Finanzen ── */
.cat-banner.finanzen      { background: #8b6a00; }
.bild-box .cat-tag.finanzen { background: #8b6a00; }
.list-item .li-tag.finanzen { background: #8b6a00; }

/* ══════════════════════════════════════════════════
   GRID v4 — Editorial System
══════════════════════════════════════════════════ */

/* ── QUICK-NAV ── */
.quick-nav {
  background: #1a1a1a;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  border-bottom: 2px solid var(--red);
  width: 100%;
  max-width: 100%;
}
.quick-nav::-webkit-scrollbar { display: none; }
.quick-nav-inner {
  display: flex;
  gap: 3px;
  padding: 6px 8px;
  max-width: var(--max);
  margin: 0 auto;
  width: max-content;
  min-width: 100%;
}
.qn-pill {
  display: inline-flex;
  align-items: center;
  padding: 5px 13px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #fff !important;
  white-space: nowrap;
  border-radius: 2px;
  flex-shrink: 0;
  opacity: .92;
  transition: opacity .1s, transform .1s;
}
.qn-pill:hover { opacity: 1; transform: translateY(-1px); }

/* ── SECTION HEADER ── */
.sec-hd {
  display: flex;
  align-items: stretch;
  border-left: 6px solid #c00;
  margin: 12px 0 0;
  background: #fff;
}
.sec-lbl {
  display: inline-flex;
  align-items: center;
  padding: 8px 18px;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #fff;
  flex: 1;
}
.sec-all {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  font-size: 11px;
  font-weight: 700;
  color: #666;
  white-space: nowrap;
  letter-spacing: .03em;
  transition: color .12s;
  margin-left: auto;
}
.sec-all:hover { color: var(--red); }

/* ── GRID: Featured + Side-Stack ── */
.grid-feat-r {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--gap);
  background: var(--bg);
}
.grid-feat-l {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: var(--gap);
  background: var(--bg);
}
.feat-side {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  height: 460px;
}
.feat-side > .bild-box {
  flex: 1;
  min-height: 0;
}

/* ── BOX-HÖHEN v4 ── */
.h-hero      { height: 540px; }
.h-hero-side { height: 268px; }
.h-feat      { height: 460px; }
.h-aufmacher { height: 500px; }
.h-asym-big  { height: 300px; }
.h-asym-sm   { height: 300px; }
.h-md        { height: 240px; }
.h-sm        { height: 190px; }
.h-pano      { height: 210px; }

/* ── TYPOGRAFIE v4 ── */
.bild-box .hl-hero  { font-size: 42px; line-height: 1.07; }
.bild-box .hl-aufm  { font-size: 44px; line-height: 1.07; }
.bild-box .hl-feat  { font-size: 24px; line-height: 1.15; }
.bild-box .hl-lg    { font-size: 19px; line-height: 1.2;  }
.bild-box .hl-md    { font-size: 15px; line-height: 1.25; }
.bild-box .hl-side  { font-size: 14px; line-height: 1.25; }
.bild-box .hl-sm    { font-size: 13px; line-height: 1.3;  }
.bild-box .hl-pano  { font-size: 13px; line-height: 1.3;  }

/* Subtitles */
.bild-box .ov-sub {
  color: rgba(255,255,255,.88);
  font-size: 13px;
  margin-top: 6px;
  line-height: 1.4;
  display: block;
}
.bild-box .ov-sub-lg {
  color: rgba(255,255,255,.9);
  font-size: 16px;
  font-weight: 400;
  margin-top: 8px;
  line-height: 1.45;
  display: block;
}

/* ── GRID: Asymmetrisch ── */
.grid-asym {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--gap);
  background: var(--bg);
}

/* ── GRID: Panorama 5-Streifen ── */
.grid-pano {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--gap);
  background: var(--bg);
}

/* ── GRID: Triple ── */
.grid-triple {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap);
  background: var(--bg);
}

/* ── MEIST GELESEN v4 ── */
.meist-wrap { margin: 16px 0 0; }
.meist-hd-bar {
  background: var(--red);
  color: #fff;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.meist-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2px;
  background: #e0e0e0;
}
.meist-card {
  display: block;
  position: relative;
  height: 190px;
  overflow: hidden;
  text-decoration: none;
  background: #111;
}
.meist-card:hover .meist-title { color: #ffd; }
.meist-img-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.meist-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.meist-card:hover .meist-img-wrap img { transform: scale(1.04); }
.meist-n {
  position: absolute;
  top: 8px;
  left: 10px;
  font-size: 36px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  text-shadow: 0 2px 8px rgba(0,0,0,.7);
  opacity: .85;
  z-index: 2;
}
.meist-body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,.4) 55%, transparent 100%);
  padding: 40px 10px 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  z-index: 2;
}
.meist-cat {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #fff;
  background: #e8001e;
  padding: 2px 6px;
  border-radius: 2px;
  align-self: flex-start;
  line-height: 1.4;
}
.meist-title {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.meist-meta { font-size: 11px; color: rgba(255,255,255,.6); }

/* ── LIVE Badge ── */
.bb-live { background: var(--red); animation: zlive 1.5s infinite; }
@keyframes zlive { 0%,100% { opacity:1; } 50% { opacity:.55; } }

/* ── Overlay stark ── */
.bild-box .overlay {
  padding: 60px 12px 12px;
  background: linear-gradient(to top,
    rgba(0,0,0,.97) 0%,
    rgba(0,0,0,.75) 35%,
    rgba(0,0,0,.18) 65%,
    transparent     100%
  );
}

/* ── Fehlende Kategorie-Farben ── */
.bild-box .cat-tag.finanzen    { background: #8b6a00; }
.bild-box .cat-tag.klimaschutz { background: #1a6e2d; }

/* ══════ RESPONSIVE v4 ══════ */

@media (min-width: 600px) and (max-width: 899px) {
  .grid-feat-r, .grid-feat-l { grid-template-columns: 1fr 1fr; }
  .feat-side    { height: 300px; }
  .h-hero       { height: 360px; }
  .h-hero-side  { height: 178px; }
  .h-feat       { height: 300px; }
  .h-aufmacher  { height: 330px; }
  .h-asym-big   { height: 230px; }
  .h-asym-sm    { height: 230px; }
  .grid-asym    { grid-template-columns: 2fr 1fr 1fr; }
  .grid-pano    { grid-template-columns: repeat(3, 1fr); }
  .h-pano       { height: 175px; }
  .grid-triple  { grid-template-columns: repeat(2, 1fr); }
  .grid-4       { grid-template-columns: repeat(2, 1fr); }
  .bild-box .hl-hero { font-size: 26px; }
  .bild-box .hl-aufm { font-size: 26px; }
  .bild-box .hl-feat { font-size: 19px; }
  .bild-box .ov-sub-lg { font-size: 14px; }
  .meist-row    { grid-template-columns: repeat(3, 1fr); }
  .meist-card:nth-child(n+7) { display: none; }
}

@media (max-width: 599px) {
  .grid-feat-r, .grid-feat-l { grid-template-columns: 1fr; }
  .feat-side    { height: auto; flex-direction: row; flex-wrap: wrap; }
  .feat-side > .bild-box { flex: 0 0 calc(50% - 2px); height: 180px; }
  .h-hero       { height: 315px; }
  .h-hero-side  { height: 195px; }
  .h-feat       { height: 290px; }
  .h-aufmacher  { height: 315px; }
  .h-asym-big   { height: 220px; }
  .h-asym-sm    { height: 175px; }
  .grid-asym    { grid-template-columns: 1fr 1fr; }
  .grid-pano    { grid-template-columns: repeat(2, 1fr); }
  .h-pano       { height: 178px; }
  .grid-triple  { grid-template-columns: 1fr; }
  .grid-4       { grid-template-columns: 1fr 1fr; }
  .grid-2       { grid-template-columns: 1fr 1fr; }
  .bild-box .hl-hero { font-size: 20px; }
  .bild-box .hl-aufm { font-size: 20px; }
  .bild-box .hl-feat { font-size: 16px; }
  .bild-box .hl-lg   { font-size: 14px; }
  .bild-box .hl-md   { font-size: 13px; }
  .bild-box .ov-sub-lg { font-size: 13px; }
  .meist-row    { grid-template-columns: repeat(2, 1fr); }
  .meist-card:nth-child(n+3) { display: none; }
  .meist-img-wrap { height: 100px; }
  .quick-nav-inner { padding: 5px 6px; }
  .qn-pill      { padding: 4px 10px; font-size: 12px; }
  .sec-lbl      { font-size: 12px; padding: 7px 12px; }
}

/* ══════════════════════════════════════════════════
   GRID v5 — Style (Timeline + Highlight)
══════════════════════════════════════════════════ */

/* ── TICKER v5: TAG24-Timeline ── */
.ticker-wrap {
  background: #fff;
  border-bottom: 2px solid #e8e8e8;
  overflow: hidden;
}
.ticker-inner {
  display: flex;
  align-items: stretch;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  max-width: var(--max);
  margin: 0 auto;
}
.ticker-inner::-webkit-scrollbar { display: none; }
.ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px 9px 0;
  margin-right: 18px;
  border-right: 1px solid #eee;
  white-space: nowrap;
  text-decoration: none;
  flex-shrink: 0;
  transition: opacity .12s;
}
.ticker-item:last-child { border-right: none; margin-right: 0; }
.ticker-item:first-child { padding-left: 12px; }
.ticker-item:hover { opacity: .8; }
.ticker-neu {
  background: var(--red);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  padding: 2px 7px;
  border-radius: 20px;
  text-transform: uppercase;
  flex-shrink: 0;
}
.ticker-time {
  font-size: 11px;
  font-weight: 800;
  color: var(--red);
  flex-shrink: 0;
}
.ticker-hl {
  font-size: 12px;
  font-weight: 500;
  color: #111;
  max-width: 280px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ticker-item:hover .ticker-hl { color: var(--red); }

/* ── HERO v5: 2fr + 1fr ── */
.grid-hero5 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--gap);
  background: var(--bg);
}
.hero5-stack {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  height: 100%;
}
.hero5-stack > .bild-box {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

/* ── HIGHLIGHT GRIDS ── */
.grid-hl {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--gap);
  background: var(--bg);
}
.grid-hr {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: var(--gap);
  background: var(--bg);
}

/* ── HL-STACK: vertikaler Stapel (2 Karten) ── */
.hl-stack {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.hl-stack > .bild-box {
  flex: 1;
  min-height: 0;
}

/* ── HÖHEN v5 ── */
.h-hero5     { height: 560px; }
.h-hl        { height: 390px; }
.h-card      { height: 245px; }
.h-side5     { height: 278px; }

/* ── TYPO v5 ── */
.bild-box .hl-hero5 {
  font-size: 44px;
  line-height: 1.05;
  font-weight: 900;
}
.bild-box .hl-side5 {
  font-size: 15px;
  line-height: 1.25;
  font-weight: 700;
}
.bild-box .hl-hl {
  font-size: 26px;
  line-height: 1.1;
  font-weight: 900;
}
.bild-box .hl-stack {
  font-size: 14px;
  line-height: 1.28;
  font-weight: 700;
}
.bild-box .hl-card {
  font-size: 14px;
  line-height: 1.3;
  font-weight: 700;
}

/* ── TAG-FEAT: Roter Großbuchstaben-Headline ── */
.tag-feat .hl-hl {
  color: #e8001e !important;
  text-transform: uppercase;
  letter-spacing: -.01em;
}
.tag-feat .overlay {
  background: linear-gradient(to top,
    rgba(255,255,255,.98) 0%,
    rgba(255,255,255,.92) 30%,
    rgba(255,255,255,.5)  60%,
    transparent           100%
  );
}
.tag-feat .cat-tag { opacity: 0; }

/* ── TOP-BADGES ── */
.top-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  padding: 3px 8px;
  border-radius: 2px;
  z-index: 3;
  text-transform: uppercase;
}
.tb-live {
  background: var(--red);
  color: #fff;
  animation: zlive 1.5s infinite;
}
.tb-new {
  background: #e85d00;
  color: #fff;
}
.tb-top {
  background: rgba(0,0,0,.55);
  color: #fff;
}

/* ── TAG-FEAT: dunkle Schrift ── */
.tag-feat .hl-hl,
.tag-feat .meta { color: #333; }
.tag-feat .ov-sub { color: #444; }
.tag-feat .meta { color: #888 !important; }

/* ══════ RESPONSIVE v5 ══════ */

@media (min-width: 600px) and (max-width: 899px) {
  .grid-hero5  { grid-template-columns: 3fr 2fr; }
  .grid-hl     { grid-template-columns: 3fr 2fr; }
  .grid-hr     { grid-template-columns: 2fr 3fr; }
  .h-hero5     { height: 360px; }
  .h-hl        { height: 270px; }
  .h-card      { height: 200px; }
  .h-side5     { height: 178px; }
  .bild-box .hl-hero5 { font-size: 28px; }
  .bild-box .hl-hl    { font-size: 20px; }
}

@media (max-width: 599px) {
  .grid-hero5  { grid-template-columns: 1fr; }
  .hero5-stack { flex-direction: row; flex-wrap: wrap; }
  .hero5-stack > .bild-box { flex: 0 0 calc(50% - 2px); height: 190px; }
  .grid-hl     { grid-template-columns: 1fr; }
  .grid-hr     { grid-template-columns: 1fr; }
  .hl-stack    { flex-direction: row; flex-wrap: wrap; }
  .hl-stack > .bild-box { flex: 0 0 calc(50% - 2px); height: 180px; }
  .h-hero5     { height: 255px; }
  .h-hl        { height: 210px; }
  .h-card      { height: 170px; }
  .h-side5     { height: 150px; }
  .bild-box .hl-hero5 { font-size: 20px; }
  .bild-box .hl-hl    { font-size: 16px; }
  .bild-box .hl-card  { font-size: 13px; }
  .ticker-item { padding: 7px 14px 7px 0; margin-right: 14px; }
  .ticker-hl   { max-width: 200px; }
}

/* ══════════════════════════════════════════════════
   CARD SYSTEM v5 — 2 Varianten, kein Overhead
   .bild-box        = Standard  (dunkles Overlay)
   .bild-box.hl-box = Highlight (weißes Overlay, roter Text)
══════════════════════════════════════════════════ */

/* ── BEIDE: Bild füllt Container, Hover-Scale ── */
.bild-box {
  position: relative;
  overflow: hidden;
  display: block;
  text-decoration: none;
}
.bild-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
}
.bild-box:hover img { transform: scale(1.05); }

/* ── OVERLAY: deckt volle Card, Gradient unten ── */
.bild-box .overlay {
  position: absolute;
  inset: 0;
  padding: 10px 12px 12px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 5px;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.93) 0%,
    rgba(0,0,0,.62) 32%,
    rgba(0,0,0,.12) 62%,
    transparent     100%
  );
}

/* ── CAT-BADGE: absolut oben links ── */
.bild-box .cat-tag {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 5;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #fff;
  padding: 3px 8px;
  border-radius: 2px;
}

/* ── STATUS-BADGE: absolut oben rechts (LIVE/NEU/TOP) ── */
.top-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 5;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 2px;
}
.tb-breaking { background: #e8001e; color: #fff; font-weight:700; letter-spacing:.03em; }
.tb-live { background: #e8001e; color: #fff; animation: pulse-live 1.5s infinite; }
.tb-new  { background: #e06000; color: #fff; }
.tb-top  { background: rgba(0,0,0,.5); color: #fff; }
@keyframes pulse-live { 0%,100%{opacity:1} 50%{opacity:.5} }

/* ── TEXT: Standard-Card ── */
.bild-box .hl {
  color: #fff;
  font-weight: 800;
  line-height: 1.25;
  display: block;
}
.bild-box .sub,
.bild-box .ov-sub {
  color: rgba(255,255,255,.82);
  font-size: 13px;
  line-height: 1.4;
  display: block;
}
.bild-box .ov-sub-lg {
  color: rgba(255,255,255,.88);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.45;
  display: block;
}
.bild-box .meta {
  font-size: 12px;
  color: rgba(255,255,255,.55);
  display: block;
}

/* ── HIGHLIGHT-CARD: weißes Overlay + roter Text ── */
.bild-box.hl-box .overlay {
  background: linear-gradient(
    to top,
    rgba(255,255,255,.99) 0%,
    rgba(255,255,255,.92) 38%,
    rgba(255,255,255,.25) 68%,
    transparent           100%
  );
}
.bild-box.hl-box .hl {
  color: #e8001e;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: -.01em;
}
.bild-box.hl-box .ov-sub,
.bild-box.hl-box .sub { color: #333; }
.bild-box.hl-box .meta { color: #777; }

/* tag-feat = Alias für hl-box (Rückwärtscompat.) */
.bild-box.tag-feat .overlay {
  background: linear-gradient(
    to top,
    rgba(255,255,255,.99) 0%,
    rgba(255,255,255,.92) 38%,
    rgba(255,255,255,.25) 68%,
    transparent           100%
  );
}
.bild-box.tag-feat .hl-hl,
.bild-box.tag-feat .hl-hero5 {
  color: #e8001e !important;
  text-transform: uppercase;
  font-weight: 900;
}
.bild-box.tag-feat .ov-sub,
.bild-box.tag-feat .sub { color: #333 !important; }
.bild-box.tag-feat .meta { color: #777 !important; }

/* ── HOVER: leichte Aufhellung des Overlays ── */
.bild-box:hover .overlay {
  background: linear-gradient(
    to top,
    rgba(0,0,0,.97) 0%,
    rgba(0,0,0,.7)  32%,
    rgba(0,0,0,.2)  62%,
    transparent     100%
  );
}
.bild-box.tag-feat:hover .overlay,
.bild-box.hl-box:hover .overlay {
  background: linear-gradient(
    to top,
    rgba(255,255,255,.99) 0%,
    rgba(255,255,255,.95) 38%,
    rgba(255,255,255,.35) 68%,
    transparent           100%
  );
}

/* v5 Breaking Bar + Ticker AKTUELL Label */
.ticker-wrap {
  border-top: 3px solid #e8001e;
}
.ticker-aktuell {
  background: #e8001e;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin-right: 6px;
  align-self: stretch;
}

/* ══════════════════════════════════════════════════
   GRID v5 — 4-Spalten-System
   grid-4    = 1-1-1-1 (gleich)
   grid-hl4  = 2-1-1   (Highlight Links)
   grid-hr4  = 1-1-2   (Highlight Rechts)
   grid-hero5= 2-1     (Hero + Stack)
══════════════════════════════════════════════════ */

.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gap);
  background: var(--bg);
}
.grid-hl4 {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: var(--gap);
  background: var(--bg);
}
.grid-hr4 {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap: var(--gap);
  background: var(--bg);
}
.grid-hero5 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--gap);
  background: var(--bg);
}
.hero5-stack {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  height: 100%;
}
.hero5-stack > .bild-box {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

/* ── HÖHEN ── */
.h-hero5 { height: 540px; }  /* XL: Hero */
.h-hl4   { height: 310px; }  /* L:  Aufmacher-Reihe (alle Cards gleich!) */
.h-4     { height: 220px; }  /* M:  4er-Reihe */

/* ── TYPO ── */
.bild-box .hl-hero5 { font-size: 40px; line-height: 1.06; font-weight: 900; }
.bild-box .hl-side5 { font-size: 15px; line-height: 1.28; font-weight: 700; }
.bild-box .hl-hl    { font-size: 24px; line-height: 1.1;  font-weight: 900; }
.bild-box .hl-4     { font-size: 14px; line-height: 1.28; font-weight: 700; }

/* ── Bild-Box: Basis ── */
.bild-box {
  position: relative;
  overflow: hidden;
  display: block;
  text-decoration: none;
}
.bild-box img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.bild-box:hover img { transform: scale(1.05); }

/* ── OVERLAY: volle Card, Gradient unten ── */
.bild-box .overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 8px 10px 10px;
  gap: 4px;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.93) 0%,
    rgba(0,0,0,.58) 35%,
    rgba(0,0,0,.1)  62%,
    transparent     100%
  );
}
.bild-box:hover .overlay {
  background: linear-gradient(
    to top,
    rgba(0,0,0,.97) 0%,
    rgba(0,0,0,.68) 35%,
    rgba(0,0,0,.15) 62%,
    transparent     100%
  );
}

/* ── CAT-BADGE: oben links ── */
.bild-box .cat-tag {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 5;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #fff;
  padding: 3px 8px;
  border-radius: 2px;
}

/* ── STATUS-BADGE: oben rechts ── */
.top-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 5;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 2px;
}
.tb-breaking { background: #e8001e; color: #fff; font-weight:700; letter-spacing:.03em; }
.tb-live { background: #e8001e; color: #fff; animation: pulse-live 1.5s infinite; }
.tb-new  { background: #e06000; color: #fff; }
.tb-top  { background: rgba(0,0,0,.5); color: #fff; }
@keyframes pulse-live { 0%,100%{opacity:1} 50%{opacity:.5} }

/* ── TEXT: Standard ── */
.bild-box .hl         { color: #fff; font-weight: 800; line-height: 1.2; display: inline; }
.bild-box .ov-sub     { color: rgba(255,255,255,.82); font-size: 13px; line-height: 1.4; display: block; }
.bild-box .ov-sub-lg  { color: rgba(255,255,255,.9); font-size: 15px; font-weight: 400; line-height: 1.45; display: block; }
.bild-box .meta       { font-size: 12px; color: rgba(255,255,255,.5); display: block; }

/* ── HIGHLIGHT-CARD (tag-feat): weißes Overlay + roter Text ── */
.bild-box.tag-feat .overlay {
  background: linear-gradient(
    to top,
    rgba(255,255,255,.99) 0%,
    rgba(255,255,255,.93) 38%,
    rgba(255,255,255,.2)  68%,
    transparent           100%
  );
}
.bild-box.tag-feat:hover .overlay {
  background: linear-gradient(
    to top,
    rgba(255,255,255,.99) 0%,
    rgba(255,255,255,.96) 42%,
    rgba(255,255,255,.3)  72%,
    transparent           100%
  );
}
.bild-box.tag-feat .hl-hl,
.bild-box.tag-feat .hl-hero5 {
  color: #e8001e !important;
  text-transform: uppercase;
  font-weight: 900;
}
.bild-box.tag-feat .ov-sub  { color: #333 !important; }
.bild-box.tag-feat .meta    { color: #888 !important; }
.bild-box.tag-feat .cat-tag { opacity: 0; }

/* ── TICKER ── */
.ticker-wrap {
  background: #fff;
  border-top: 3px solid #e8001e;
  border-bottom: 1px solid #e8e8e8;
  overflow: hidden;
}
.ticker-inner {
  display: flex;
  align-items: stretch;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  max-width: var(--max);
  margin: 0 auto;
}
.ticker-inner::-webkit-scrollbar { display: none; }
.ticker-aktuell {
  background: #e8001e;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin-right: 4px;
}
.ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px 9px 0;
  margin-right: 16px;
  border-right: 1px solid #eee;
  white-space: nowrap;
  text-decoration: none;
  flex-shrink: 0;
}
.ticker-item:last-child { border-right: none; }
.ticker-item:first-child { padding-left: 12px; }
.ticker-neu {
  background: #e8001e;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  padding: 2px 7px;
  border-radius: 20px;
  text-transform: uppercase;
  flex-shrink: 0;
}
.ticker-time {
  font-size: 11px;
  font-weight: 800;
  color: #e8001e;
  flex-shrink: 0;
}
.ticker-hl {
  font-size: 12px;
  font-weight: 500;
  color: #111;
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ticker-item:hover .ticker-hl { color: #e8001e; }

/* ══════ RESPONSIVE ══════ */

@media (min-width: 600px) and (max-width: 1024px) {
  .grid-4   { grid-template-columns: repeat(2, 1fr); }
  .grid-hl4 { grid-template-columns: 1fr 1fr; }
  .grid-hr4 { grid-template-columns: 1fr 1fr; }
  .grid-hero5 { grid-template-columns: 3fr 2fr; }
  .grid-hl4 > .bild-box:first-child { grid-column: 1 / -1; }
  .grid-hr4 > .bild-box:last-child  { grid-column: 1 / -1; }
  .h-hero5 { height: 380px; }
  .h-hl4   { height: 240px; }
  .h-4     { height: 200px; }
  .bild-box .hl-hero5 { font-size: 26px; }
  .bild-box .hl-hl    { font-size: 20px; }
}

@media (max-width: 599px) {
  .grid-4   { grid-template-columns: 1fr; }
  .grid-hl4 { grid-template-columns: 1fr; }
  .grid-hr4 { grid-template-columns: 1fr; }
  .grid-hero5 { grid-template-columns: 1fr; }
  .grid-hl4 > .bild-box:first-child { grid-column: auto; }
  .grid-hr4 > .bild-box:last-child  { grid-column: auto; }
  .hero5-stack { flex-direction: column; }
  .hero5-stack > .bild-box { flex: 0 0 auto; height: 185px; width: 100%; }
  .h-hero5 { height: 335px; }
  .h-hl4   { height: 265px; }
  .h-4     { height: 245px; }
  .bild-box .hl-hero5 { font-size: 18px; }
  .bild-box .hl-hl    { font-size: 15px; }
  .bild-box .hl-4     { font-size: 13px; }
  .grid-4, .grid-hl4, .grid-hr4, .grid-hero5, .meist-row4 { gap: 10px !important; }
  .hero5-stack { gap: 10px; }
  .hero5-stack > .bild-box { flex: 0 0 auto; height: 185px; width: 100%; }
  .ticker-item { padding: 7px 12px 7px 0; margin-right: 12px; }
  .ticker-hl   { max-width: 180px; }
  .ticker-aktuell { padding: 0 12px; font-size: 12px; }
}

/* ═══════════════════════════════════════════
   ROUND 1 FIX — Felix (Webdesigner)
   - Kategorie-Badges: einheitlich dunkel
   - Quick-Nav: weißer Hintergrund
   - Overlay: NUR eine Definition
   - Card-Typo: größer
═══════════════════════════════════════════ */

/* Cat-Tag: einheitlich schwarz-transluzent, KEINE 12 Farben mehr auf Cards */
.bild-box .cat-tag {
  background: rgba(0,0,0,.72) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  padding: 3px 8px !important;
  border-radius: 2px !important;
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  z-index: 5 !important;
}

/* Quick-Nav: weiß, kein Kontrabruch */
.quick-nav {
  background: #fff !important;
  border-bottom: none !important;
  border-top: none !important;
}
.qn-pill {
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 5px 14px !important;
  opacity: 1 !important;
  border-radius: 0 !important;
}

/* Overlay: EINE saubere Definition */
.bild-box .overlay {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: 8px 10px 10px !important;
  gap: 4px !important;
  background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.5) 38%, transparent 68%) !important;
}
.bild-box:hover .overlay {
  background: linear-gradient(to top, rgba(0,0,0,.97) 0%, rgba(0,0,0,.62) 40%, transparent 70%) !important;
}

/* Card-Typo: lesbar */
.bild-box .hl-4 { font-size: 15px !important; line-height: 1.25 !important; font-weight: 700 !important; }
.bild-box .hl-hl { font-size: 26px !important; line-height: 1.1 !important; font-weight: 900 !important; }
.bild-box .hl-hero5 { font-size: 42px !important; line-height: 1.06 !important; font-weight: 900 !important; }
.bild-box .hl-side5 { font-size: 16px !important; line-height: 1.28 !important; font-weight: 700 !important; }

/* ═══════════════════════════════════════════
   FARB-RESET — NUR ROT (#e8001e) + SW
   Alle Kategorie-Farben raus
═══════════════════════════════════════════ */

/* Quick-Nav Pills: alle rot */
.qn-pill { background: #e8001e !important; color: #fff !important; }
.qn-pill:hover { background: #c40018 !important; opacity: 1 !important; }

/* Cat-Tags auf Cards: alle dunkel-neutral */
.bild-box .cat-tag,
.bild-box .cat-tag.politik,
.bild-box .cat-tag.wirtschaft,
.bild-box .cat-tag.sport,
.bild-box .cat-tag.unterhaltung,
.bild-box .cat-tag.gesellschaft,
.bild-box .cat-tag.gesundheit,
.bild-box .cat-tag.auto,
.bild-box .cat-tag.technologie,
.bild-box .cat-tag.international,
.bild-box .cat-tag.regional,
.bild-box .cat-tag.klimaschutz,
.bild-box .cat-tag.finanzen {
  background: rgba(0,0,0,.72) !important;
  color: #fff !important;
}

/* Meist-Card Kategorie: rot */
.meist-cat { background: #e8001e !important; }

/* Section Header Label: rot */
.sec-lbl { background: #e8001e !important; color: #fff !important; }
.sec-hd { border-left-color: #e8001e !important; }

/* Ticker AKTUELL: rot */
.ticker-aktuell { background: #e8001e !important; }
.ticker-time { color: #e8001e !important; }
.ticker-neu { background: #e8001e !important; }

/* Live Badge: rot, Rest: schwarz */
.tb-breaking { background: #e8001e !important; font-weight:700 !important; }
.tb-live { background: #e8001e !important; }
.tb-new  { background: #111 !important; color: #fff !important; }
.tb-top  { background: rgba(0,0,0,.55) !important; }

/* ═══════════════════════════════════════════
   ROUND 2 FIX — Sara (Marketing Manager)
   - Sektionen: Abstand + klare Trennung
   - Sec-Header: größer, mehr Gewicht
   - Hero: Subtitle immer sichtbar
═══════════════════════════════════════════ */

/* Sektion-Abstand */
.sec-hd { margin-top: 28px !important; }

/* Sec-Header größer */
.sec-lbl {
  font-size: 16px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  padding: 10px 20px !important;
}
.sec-all {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #e8001e !important;
  padding: 10px 18px !important;
}
.sec-all:hover { text-decoration: underline !important; }

/* Subtitle auf Hero-Card immer zeigen */
.bild-box .ov-sub-lg {
  display: block !important;
  font-size: 15px !important;
  color: rgba(255,255,255,.88) !important;
  margin-top: 2px !important;
}

/* Page-Wrap: weißer Hintergrund, kein Grau */
.page-wrap { background: #fff !important; }

/* Grid-Gaps: background kommt aus --bg via Hauptdefinition */

/* ═══════════════════════════════════════════
   ROUND 3 FIX — Christine (Chefredakteurin)
   - Meta/Timestamps: prominenter
   - LIVE-Card: volle rote Top-Border
   - Hero Headline: max. ausreizen
   - Highlight: mehr Zeilen erlauben
═══════════════════════════════════════════ */

/* Meta sichtbarer */
.bild-box .meta {
  font-size: 11px !important;
  color: rgba(255,255,255,.72) !important;
  font-weight: 600 !important;
}
.bild-box.tag-feat .meta {
  color: #888 !important;
}

/* LIVE: rote Border oben an der Card */
.bild-box:has(.tb-live) {
  box-shadow: inset 0 3px 0 #e8001e !important;
}

/* Hero: Headline volle Kraft */
.bild-box .hl-hero5 {
  font-size: 46px !important;
  line-height: 1.04 !important;
  font-weight: 900 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.5) !important;
}

/* Highlight-Card: mehr Zeilenhöhe, kein Clip */
.bild-box.tag-feat .hl-hl {
  font-size: 28px !important;
  line-height: 1.1 !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
  overflow: visible !important;
}

/* Meist-Gelesen: mehr Abstand oben */
.meist-wrap { margin-top: 32px !important; }
.meist-hd-bar {
  font-size: 16px !important;
  padding: 12px 18px !important;
}

/* ══════════════════════════════════════════════════
   TICKER + MOBILE HEADER v5
══════════════════════════════════════════════════ */

/* ── ROTATING TICKER STRIPE ── */
.hd-ticker {
  background: #e8001e;
  height: 38px;
  overflow: hidden;
}
.hd-ticker-inner {
  display: flex;
  align-items: center;
  height: 100%;
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 14px;
  gap: 0;
}
.hd-ticker-label {
  background: #fff;
  color: #e8001e;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 3px 9px;
  flex-shrink: 0;
  margin-right: 14px;
  border-radius: 1px;
}
.hd-ticker-stage {
  flex: 1;
  position: relative;
  height: 100%;
  overflow: hidden;
}
.hd-ticker-item {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .4s ease, transform .4s ease;
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
}
.hd-ticker-item.is-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.hd-tneu {
  background: #fff;
  color: #e8001e;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: 10px;
  flex-shrink: 0;
}
.hd-ttime {
  color: rgba(255,255,255,.75);
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}
.hd-ttitle {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hd-ttitle:hover { text-decoration: underline; }

/* Alt hd-breaking ausblenden (ersetzt durch hd-ticker) */
.hd-breaking { display: none !important; }

/* Ticker auf Index-Seite (white) ausblenden — nur Header-Ticker */
.ticker-wrap { display: none !important; }

/* ── MOBILE SEARCH BAR ── */
.hd-mobile-bar {
  display: none; /* nur mobile */
  background: #fff;
  border-bottom: 1px solid #e8e8e8;
  padding: 8px 12px;
}
.hd-mobile-bar-form {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f4f4f4;
  border-radius: 6px;
  padding: 7px 10px;
}
.hd-mb-badge {
  background: #e8001e;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  padding: 3px 8px;
  border-radius: 3px;
  flex-shrink: 0;
  text-transform: uppercase;
}
.hd-mobile-bar-form input {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 13px;
  color: #111;
  outline: none;
  min-width: 0;
}
.hd-mobile-bar-form input::placeholder { color: #999; }
.hd-mb-send,
.hd-mb-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 2px 4px;
  color: #888;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.hd-mb-send { color: #e8001e; }
.hd-mb-send:hover,
.hd-mb-close:hover { color: #111; }

@media (max-width: 767px) {
  .hd-mobile-bar { display: block; }
}

/* ══════════════════════════════════════════════════
   DESIGN FINAL PASS
   Ziel: clean, tight, red only
══════════════════════════════════════════════════ */

/* ── 1. DESIGN TOKENS ── */
/* :root vars in globalem Block oben definiert */

/* ── 2. PAGE: weißer Content-Block in Grau-Umfeld ── */
body { background: #f2f2f2; }
.page-wrap {
  max-width: var(--max);
  margin: 0 auto;
  background: #f2f2f2;
}

/* ── 3. GRID: Grau-Gaps = Trennlinien ── */
.grid-4,
.grid-hl4,
.grid-hr4,
.grid-hero5 {
  max-width: var(--max);
  margin-left: auto;
  margin-right: auto;
}

/* ── 4. CARDS: neutraler Hintergrund ── */
.bild-box {
  background: var(--bg);
}

/* ── 5. OVERLAY — stark unten, transparent oben ── */
.bild-box .overlay {
  background: linear-gradient(
    to top,
    rgba(0,0,0,.94) 0%,
    rgba(0,0,0,.7)  28%,
    rgba(0,0,0,.22) 55%,
    transparent     78%
  ) !important;
}
.bild-box:hover .overlay {
  background: linear-gradient(
    to top,
    rgba(0,0,0,.97) 0%,
    rgba(0,0,0,.75) 30%,
    rgba(0,0,0,.3)  58%,
    transparent     80%
  ) !important;
}

/* ── 6. TYPO — condensed/bold, tight tracking ── */
.bild-box .hl {
  letter-spacing: -.02em !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.bild-box .hl-hero5 {
  font-size: 48px !important;
  line-height: 1.03 !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
  -webkit-line-clamp: 4 !important;
}
.bild-box .hl-side5 {
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  -webkit-line-clamp: 3 !important;
}
.bild-box .hl-hl {
  font-size: 30px !important;
  line-height: 1.07 !important;
  font-weight: 900 !important;
  letter-spacing: -.02em !important;
  -webkit-line-clamp: 5 !important;
}
.bild-box .hl-4 {
  font-size: 15px !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  -webkit-line-clamp: 3 !important;
}

/* ── 7. HIGHLIGHT-CARD (roter Text) ── */
.bild-box.tag-feat .hl-hl {
  font-size: 32px !important;
  line-height: 1.07 !important;
  color: #e3000b !important;
  text-transform: uppercase !important;
  letter-spacing: -.02em !important;
  -webkit-line-clamp: 6 !important;
}
.bild-box.tag-feat .overlay {
  background: linear-gradient(
    to top,
    rgba(255,255,255,1)   0%,
    rgba(255,255,255,.96) 42%,
    rgba(255,255,255,.22) 70%,
    transparent           100%
  ) !important;
  padding-bottom: 14px !important;
}
.bild-box.tag-feat .ov-sub {
  font-size: 14px !important;
  color: #333 !important;
  -webkit-line-clamp: 2 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.bild-box.tag-feat .meta  { color: #999 !important; }

/* ── 8. CAT-TAG: minimal, top-left ── */
.bild-box .cat-tag {
  font-size: 11px !important;
  padding: 2px 7px !important;
  letter-spacing: .09em !important;
  background: rgba(0,0,0,.65) !important;
}
.bild-box.tag-feat .cat-tag { display: none !important; }

/* ── 9. META: sichtbar ── */
.bild-box .meta {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.62) !important;
  letter-spacing: .01em !important;
}

/* ── 10. SECTION HEADER ── */
.sec-hd {
  margin: 24px 0 0 !important;
  border-left: 5px solid #e3000b !important;
  background: #fff !important;
  display: flex !important;
  align-items: stretch !important;
}
.sec-lbl {
  background: #e3000b !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: 9px 18px !important;
}
.sec-all {
  color: #555 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 9px 16px !important;
  margin-left: auto !important;
}
.sec-all:hover { color: #e3000b !important; }

/* ── 11. HEIGHTS — neu kalibriert ── */
.h-hero5 { height: 560px !important; }
.h-hl4   { height: 320px !important; }
.h-4     { height: 230px !important; }

/* ── 12. MEIST-GELESEN ── */
.meist-wrap { margin: 28px 0 0 !important; }
.meist-hd-bar {
  background: #e3000b !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: 10px 18px !important;
}
.meist-n {
  font-size: 44px !important;
  font-weight: 900 !important;
  opacity: .85 !important;
  text-shadow: 0 2px 6px rgba(0,0,0,.5) !important;
}
.meist-title { font-size: 13px !important; font-weight: 700 !important; }
.meist-card:hover { box-shadow: inset 0 3px 0 #e3000b !important; }
.meist-cat { background: #e3000b !important; }

/* ── 13. QUICK-NAV ── */
.quick-nav {
  background: #fff !important;
  border-bottom: 2px solid #e3000b !important;
}
.qn-pill {
  background: #e3000b !important;
  border-radius: 2px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  padding: 5px 12px !important;
}

/* ── 14. TICKER — final ── */
.hd-ticker  { background: #e3000b !important; }
.ticker-aktuell { background: #e3000b !important; }

/* ── 15. RESPONSIVE ── */
@media (max-width: 767px) {
  .h-hero5 { height: 330px !important; }
  .h-hl4   { height: 250px !important; }
  .h-4     { height: 240px !important; }
  .bild-box .hl-hero5 { font-size: 21px !important; letter-spacing: -.01em !important; }
  .bild-box .hl-hl    { font-size: 19px !important; }
  .bild-box.tag-feat .hl-hl { font-size: 20px !important; }
  .bild-box .hl-4     { font-size: 16px !important; line-height: 1.17 !important; }
  .sec-hd { margin-top: 16px !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .h-hero5 { height: 380px !important; }
  .h-hl4   { height: 255px !important; }
  .h-4     { height: 200px !important; }
  .bild-box .hl-hero5 { font-size: 30px !important; }
  .bild-box .hl-hl    { font-size: 22px !important; }
  .bild-box.tag-feat .hl-hl { font-size: 22px !important; }
}

/* ══════════════════════════════════════════════════
   MOBILE FIX — 100% responsive content elements
   Tables, Videos, Images, Boxes, Share, Tags
══════════════════════════════════════════════════ */

/* ── 1. IFRAMES / YOUTUBE — aspect-ratio responsive ── */
.art-body .yt-short-frame,
.art-body .yt-short-container { width: 100% !important; max-width: 350px !important; margin: 0 auto !important; }
.art-body .yt-short-frame iframe,
.art-body .yt-short-container iframe { aspect-ratio: 9 / 16 !important; width: 100% !important; height: auto !important; border-radius: 10px !important; display: block !important; border: none !important; }
.art-body iframe:not(.yt-short-iframe),
.art-body embed,
.art-body object {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  display: block;
  margin: 24px 0;
  border: none;
}
.art-body .yt-short-iframe {
  aspect-ratio: 9 / 16 !important;
  width: 315px !important;
  max-width: 100% !important;
  height: auto !important;
  border-radius: 10px;
  display: block;
  margin: 0 auto;
}

/* ── 2. TABLES — horizontal scroll, nicht overflow ── */
.art-body table,
.art-body .art-table {
  display: block !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  max-width: 100% !important;
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin: 24px 0;
  /* subtiler Hinweis dass scrollbar */
  background:
    linear-gradient(to right, #fff 30%, rgba(255,255,255,0)),
    linear-gradient(to right, rgba(255,255,255,0), #fff 70%) 0 100%,
    radial-gradient(farthest-side at 0% 50%, rgba(0,0,0,.12), transparent),
    radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.12), transparent) 0 100%;
  background-repeat: no-repeat;
  background-color: #fff;
  background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
  background-position: 0 0, 100%, 0 0, 100%;
  background-attachment: local, local, scroll, scroll;
}
.art-body table thead { background: #e3000b; color: #fff; }
.art-body table thead th {
  padding: 9px 13px;
  text-align: left;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .03em;
  white-space: nowrap;
}
.art-body table tbody td {
  padding: 8px 13px;
  vertical-align: top;
  line-height: 1.45;
  border-bottom: 1px solid #e8e8e8;
  white-space: nowrap;
}
.art-body table tbody tr:nth-child(even) { background: #fafafa; }
.art-body table tbody tr:hover { background: #f5f5f5; }

/* ── 3. BILDER im Content — immer fluid ── */
.art-body img {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
  display: block;
  border-radius: 2px;
  margin: 20px 0;
}
.art-body figure {
  margin: 24px 0;
  max-width: 100%;
}
.art-body figure img { margin: 0; }
.art-body figcaption {
  font-size: 12px;
  color: #888;
  margin-top: 6px;
  line-height: 1.4;
}

/* ── 4. FACT-BOX ── */
.fact-box {
  background: #fafafa !important;
  border-left: 4px solid #e3000b !important;
  border-radius: 0 4px 4px 0 !important;
  padding: 16px 18px !important;
  margin: 24px 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.fact-box p {
  margin: 0 0 9px !important;
  font-size: 14px !important;
  line-height: 1.58 !important;
}
.fact-box p:last-child { margin-bottom: 0 !important; }
.fact-box strong { color: #e3000b !important; }

/* ── 5. TIMELINE ── */
.timeline { margin:28px 0 !important; border-left:3px solid #e3000b !important; padding-left:0 !important; position:relative !important; }
.tl-item { display:flex !important; gap:12px !important; align-items:flex-start !important; padding:12px 0 12px 22px !important; border-bottom:1px solid #eee !important; position:relative !important; }
.tl-item:last-child { border-bottom:none !important; }
.tl-item::before { content:'' !important; position:absolute !important; left:-7px !important; top:16px !important; width:12px !important; height:12px !important; background:#e3000b !important; border-radius:50% !important; border:2px solid #fff !important; box-shadow:0 0 0 2px #e3000b !important; }
.tl-date { font-size:11px !important; font-weight:800 !important; color:#e3000b !important; background:#fff5f5 !important; border:1px solid rgba(227,0,11,.15) !important; border-radius:4px !important; padding:2px 8px !important; flex-shrink:0 !important; white-space:nowrap !important; letter-spacing:.04em !important; text-transform:uppercase !important; line-height:1.8 !important; }
.tl-text { font-size:14px !important; line-height:1.55 !important; color:#222 !important; padding-top:1px !important; }
@media(max-width:600px) { .tl-item { flex-direction:column !important; gap:4px !important; } .tl-date { font-size:10px !important; } .tl-text { font-size:13px !important; } }

/* ── 6. BLOCKQUOTE ── */
.art-body blockquote {
  border-left: 4px solid #e3000b !important;
  background: #fafafa !important;
  padding: 14px 18px !important;
  margin: 24px 0 !important;
  color: #444 !important;
  font-style: italic !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  max-width: 100% !important;
}

/* ── 7. CODE / PRE ── */
.art-body pre,
.art-body code {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.art-body pre {
  background: #f4f4f4;
  padding: 14px 16px;
  font-size: 13px;
  line-height: 1.5;
  border-radius: 4px;
  margin: 20px 0;
}

/* ── 8. SHARE BAR — mobile wrap ── */
.share-bar {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  padding: 14px 0 !important;
}
.sh-btn {
  padding: 8px 14px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  border-radius: 3px !important;
  white-space: nowrap !important;
}

/* ── 9. TAGS ── */
.art-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 16px 0 !important;
}
.art-tag {
  padding: 5px 11px !important;
  font-size: 11px !important;
  background: #f2f2f2 !important;
  color: #555 !important;
  border-radius: 2px !important;
  border: 1px solid #e0e0e0 !important;
}
.art-tag:hover {
  background: #e3000b !important;
  color: #fff !important;
  border-color: #e3000b !important;
}

/* ── 10. ART-HERO IMAGE ── */
.art-hero {
  overflow: hidden !important;
}
.art-hero img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  display: block !important;
}

/* ── 11. ART-META wrap ── */
.art-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px 12px !important;
  font-size: 12px !important;
  color: #888 !important;
  margin-top: 10px !important;
}

/* ── 12. BREADCRUMB truncate ── */
.bc {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 11px !important;
}
.bc span:last-child {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 200px !important;
  display: inline-block !important;
  vertical-align: bottom !important;
}

/* ── MOBILE SPECIFIC ── */
@media (max-width: 599px) {
  /* Art-Körper enger */
  .art-body {
    font-size: 15px !important;
    line-height: 1.72 !important;
  }
  .art-body h2 {
    font-size: 19px !important;
    margin: 26px 0 10px !important;
  }
  .art-body h3 {
    font-size: 16px !important;
    margin: 20px 0 8px !important;
  }
  /* Table: force smaller text */
  .art-body table thead th,
  .art-body table tbody td {
    padding: 7px 10px !important;
    font-size: 12px !important;
  }
  /* Timeline kompakter */
  .tl-date { min-width: 70px !important; font-size: 12px !important; }
  .tl-text  { font-size: 12px !important; }
  /* Share kompakter */
  .sh-btn { padding: 7px 11px !important; font-size: 11px !important; }
  /* ArtCol: kein seitliches Padding overflow */
  .art-col {
    padding: 14px 14px 24px !important;
    overflow-x: hidden !important;
  }
  /* Hero: full bleed auf Mobile */
  .art-hero {
    margin: 12px -14px 18px !important;
    max-width: calc(100% + 28px) !important;
    border-radius: 0 !important;
  }
  /* Breadcrumb kürzer */
  .bc span:last-child { max-width: 140px !important; }
  /* Fact-box */
  .fact-box { padding: 13px 14px !important; }
  .fact-box p { font-size: 13px !important; }
}

/* ══════════════════════════════════════════════════
   UNIFIED BOX STYLE — ein Style, alle Layouts
   2026-05-06: tag-feat = kein weißer Overlay mehr
══════════════════════════════════════════════════ */

/* Alle Cards: gleicher dunkler Overlay */
.bild-box .overlay,
.bild-box.tag-feat .overlay {
  background: linear-gradient(
    to top,
    rgba(0,0,0,.93) 0%,
    rgba(0,0,0,.68) 30%,
    rgba(0,0,0,.18) 62%,
    transparent     82%
  ) !important;
  padding-bottom: 0 !important;
}
.bild-box:hover .overlay,
.bild-box.tag-feat:hover .overlay {
  background: linear-gradient(
    to top,
    rgba(0,0,0,.97) 0%,
    rgba(0,0,0,.74) 32%,
    rgba(0,0,0,.25) 65%,
    transparent     84%
  ) !important;
}

/* Alle Titel: immer weiß, kein uppercase auf feat */
.bild-box .hl,
.bild-box.tag-feat .hl-hl {
  color: #fff !important;
  text-transform: none !important;
}

/* Subtitle auf feat-Cards: weißlich */
.bild-box.tag-feat .ov-sub {
  color: rgba(255,255,255,.75) !important;
  font-size: 13px !important;
}

/* Cat-tag überall sichtbar */
.bild-box .cat-tag,
.bild-box.tag-feat .cat-tag {
  display: inline-block !important;
  opacity: 1 !important;
  background: rgba(0,0,0,.65) !important;
  color: #fff !important;
}

/* Meta überall gleich */
.bild-box .meta,
.bild-box.tag-feat .meta {
  color: rgba(255,255,255,.6) !important;
}

/* ══════════════════════════════════════════════════
   GRID BREAKPOINTS — Unified
══════════════════════════════════════════════════ */

/* Tablet 600–899px: 2 Spalten */
@media (min-width: 600px) and (max-width: 899px) {
  .grid-4, .grid-hl4, .grid-hr4 {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .grid-hero5 {
    grid-template-columns: 3fr 2fr !important;
  }
}

/* Mobile < 600px: 1 Spalte */
@media (max-width: 599px) {
  .grid-4, .grid-hl4, .grid-hr4 {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }
  .grid-hero5 {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }
  .hero5-stack { display: none !important; }
  .h-hero5 { height: 320px !important; }
  .h-hl4   { height: 245px !important; }
  .h-4     { height: 235px !important; }
}

/* ══════════════════════════════════════════════════
   PWA INSTALL BANNER + PUSH BANNER
══════════════════════════════════════════════════ */

/* Install Banner */
#zn-install-banner {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 9999;
  transform: translateY(100%);
  transition: transform .35s cubic-bezier(.25,.8,.25,1);
  padding: 0 0 env(safe-area-inset-bottom);
}
#zn-install-banner.zn-ib-show { transform: translateY(0); }
.zn-ib-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #111;
  color: #fff;
  padding: 14px 16px;
  border-top: 3px solid #e3000b;
}
.zn-ib-icon { width: 40px; height: 40px; border-radius: 8px; flex-shrink: 0; }
.zn-ib-text { flex: 1; min-width: 0; }
.zn-ib-text strong { display: block; font-size: 14px; font-weight: 800; }
.zn-ib-text span { display: block; font-size: 12px; color: rgba(255,255,255,.65); margin-top: 2px; }
.zn-ib-text svg { vertical-align: middle; display: inline-block; }
.btn-install {
  background: #e3000b; color: #fff;
  border: none; border-radius: 5px;
  padding: 9px 16px; font-size: 13px; font-weight: 700;
  cursor: pointer; flex-shrink: 0;
}
@media (max-width: 400px) {
  .zn-ib-inner { flex-wrap: wrap; gap: 8px 10px; padding: 10px 12px; }
  .zn-ib-text { width: calc(100% - 50px); }
  .btn-install { flex: 1; font-size: 12px; padding: 8px 10px; }
  .zn-ib-close { margin-left: auto; }
}
.zn-ib-close {
  background: none; border: none; color: rgba(255,255,255,.5);
  font-size: 18px; cursor: pointer; padding: 4px 8px; flex-shrink: 0;
  line-height: 1;
}
.zn-ib-close:hover { color: #fff; }

/* Push Banner */
#zn-push-banner {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 9998;
  transform: translateY(100%);
  transition: transform .35s cubic-bezier(.25,.8,.25,1);
  padding: 0 0 env(safe-area-inset-bottom);
}
#zn-push-banner.zn-pb-show { transform: translateY(0); }
.zn-pb-inner {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #111;
  color: #fff;
  padding: 14px 16px;
  border-top: 3px solid #e3000b;
}
.zn-pb-icon { font-size: 24px; flex-shrink: 0; }
.zn-pb-text { flex: 1; min-width: 0; }
.zn-pb-text strong { display: block; font-size: 14px; font-weight: 800; letter-spacing:-.01em; }
.zn-pb-text span { display: block; font-size: 12px; color: rgba(255,255,255,.55); margin-top: 2px; }
.zn-pb-btn-ok {
  background: #e3000b; color: #fff;
  border: none; border-radius: 6px;
  padding: 9px 18px; font-size: 13px; font-weight: 800;
  cursor: pointer; flex-shrink: 0; white-space: nowrap;
  letter-spacing: .01em;
  order: 2;
}
.zn-pb-btn-no {
  background: transparent; color: rgba(255,255,255,.5);
  border: none; border-radius: 5px;
  padding: 9px 8px; font-size: 12px;
  cursor: pointer; flex-shrink: 0;
  order: 1;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ══════════════════════════════════════════════════
   LIEBLINGS-ARTIKEL — Heart Button + Tab
══════════════════════════════════════════════════ */

/* Heart Button auf Card */
.fav-btn {
  position: absolute;
  bottom: 9px;
  right: 9px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.45);
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  transition: background .2s, transform .15s;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  flex-shrink: 0;
}
.fav-btn:hover { background: rgba(0,0,0,.7); transform: scale(1.12); }
.fav-btn.fav-on { background: rgba(255,255,255,.9); }
.fav-btn.fav-pop { transform: scale(1.4); }

/* Lieblings-Tab Grid */
#favGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.fav-empty {
  text-align: center;
  padding: 60px 20px;
  color: #aaa;
}
.fav-empty span { font-size: 52px; display: block; margin-bottom: 12px; }
.fav-empty p { font-size: 16px; font-weight: 600; color: #888; margin-bottom: 6px; }
.fav-empty small { font-size: 13px; color: #bbb; }

.fav-item {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 7px;
  padding: 10px 12px;
  text-decoration: none;
  transition: box-shadow .15s;
  position: relative;
}
.fav-item:hover { box-shadow: 0 2px 12px rgba(0,0,0,.08); }
.fav-item img {
  width: 72px;
  height: 54px;
  object-fit: cover;
  border-radius: 4px;
  flex-shrink: 0;
}
.fav-item-body { flex: 1; min-width: 0; }
.fav-item-cat {
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #e3000b;
  margin-bottom: 3px;
}
.fav-item-title {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #111;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fav-item-meta { display: block; font-size: 11px; color: #999; margin-top: 3px; }
.fav-item-del {
  background: none;
  border: none;
  color: #ccc;
  font-size: 14px;
  cursor: pointer;
  padding: 4px 6px;
  flex-shrink: 0;
  border-radius: 4px;
}
.fav-item-del:hover { background: #fff0f0; color: #e3000b; }

@media(max-width:600px){
  .fav-btn { width: 28px; height: 28px; bottom: 7px; right: 7px; }
  .fav-item img { width: 56px; height: 42px; }
}

/* ============================================================
   DESKTOP SEARCH IN HEADER
   ============================================================ */
.hd-desktop-search {
  display: flex;
  align-items: center;
  gap: 7px;
  background: #f4f4f4;
  border: 1.5px solid #e0e0e0;
  border-radius: 20px;
  padding: 5px 13px;
  flex-shrink: 0;
  width: 190px;
  transition: border-color .15s, box-shadow .15s;
}
.hd-desktop-search:focus-within {
  border-color: #e8001e;
  box-shadow: 0 0 0 2px rgba(232,0,30,.1);
  background: #fff;
}
.hd-desktop-search input {
  border: none;
  background: transparent;
  outline: none;
  font-size: 13px;
  color: #222;
  width: 100%;
  font-family: inherit;
}
.hd-desktop-search input::placeholder { color: #999; }
.hd-desktop-search svg { flex-shrink: 0; }

@media (max-width: 768px) {
  .hd-desktop-search { display: none; }
}

/* ============================================================
   FINALIZE: Search immer sichtbar (Desktop + Mobile)
   ============================================================ */
.hd-mobile-bar {
  display: block !important;
  background: #fff;
  border-bottom: 2px solid #f0f0f0;
  padding: 8px 14px;
}
/* X-Button nur auf Mobile */
.hd-mb-close-mobile { display: none; }
@media (max-width: 767px) {
  .hd-mb-close-mobile { display: flex; }
}

/* Desktop: etwas kompakter + max-width */
@media (min-width: 768px) {
  .hd-mobile-bar { padding: 7px 14px; }
  .hd-mobile-bar-form {
    max-width: var(--max);
    margin: 0 auto;
    border-radius: 6px;
  }
  .hd-mb-badge { font-size: 11px; padding: 4px 10px; }
  .hd-mobile-bar-form input { font-size: 14px; }
}

/* Desktop-Search-Form: deaktiviert */
.hd-desktop-search { display: none !important; }
@media (min-width: 900px) {
  .hd-mobile-bar { background: #fff !important; border-bottom: 2px solid #f0f0f0 !important; padding: 0 16px !important; }
  .hd-mobile-bar-form { max-width: var(--max) !important; margin: 0 auto !important; background: #f4f4f4 !important; border-radius: 8px !important; padding: 8px 14px !important; }
}

/* ============================================================
   FOOTER OPTIMIERUNGEN
   ============================================================ */
.footer-sitename {
  font-size: 15px;
  font-weight: 800;
  color: var(--primary);
  letter-spacing: -.01em;
  margin-top: 2px;
}

.footer-social {
  display: flex;
  gap: 10px;
  align-items: center;
}
.footer-social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  color: rgba(255,255,255,.8);
  transition: background .15s, color .15s;
}
.footer-social-link:hover {
  background: #e8001e;
  color: #fff;
}

/* ============================================================
   TICKER LOGIN ICON
   ============================================================ */
.hd-ticker-login {
  flex-shrink: 0;
  margin-left: auto;
  padding: 0 10px;
  color: rgba(255,255,255,.7);
  display: flex;
  align-items: center;
  transition: color .15s;
}
.hd-ticker-login:hover {
  color: #fff;
}

/* ============================================================
   SEC-HD FULL-WIDTH RED BAR
   ============================================================ */
.sec-hd {
  background: #e8001e !important;
  border-left: none !important;
}
.sec-lbl {
  background: transparent !important;
}
.sec-all {
  color: rgba(255,255,255,.85) !important;
}
.sec-all:hover {
  color: #fff !important;
  text-decoration: underline !important;
}

/* ============================================================
   SHARE BAR — CORPORATE RED
   ============================================================ */
.sh-btn {
  background: #e8001e !important;
  color: #fff !important;
}
.sh-btn:hover {
  background: #c5001a !important;
  color: #fff !important;
}
.sh-copy {
  background: #e8001e !important;
  color: #fff !important;
  font-size: 12px;
}

/* ============================================================
   SIDEBAR PROMO BLOCKS
   ============================================================ */
.side-promo {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #e8001e;
  color: #fff;
  border-radius: 6px;
  padding: 12px 14px;
  margin-bottom: 8px;
}
.sp-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,.18);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sp-icon-pulse {
  animation: sp-pulse 1.4s ease-in-out infinite;
}
@keyframes sp-pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(255,255,255,.5); }
  50% { box-shadow: 0 0 0 7px rgba(255,255,255,0); }
}
.sp-body {
  flex: 1;
  min-width: 0;
}
.sp-body strong {
  display: block;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.2;
}
.sp-body span {
  display: block;
  font-size: 11px;
  opacity: .85;
  margin-top: 2px;
  line-height: 1.3;
}
.sp-btn {
  flex-shrink: 0;
  background: #fff;
  color: #e8001e;
  font-size: 11px;
  font-weight: 800;
  padding: 6px 11px;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: background .12s;
}
.sp-btn:hover {
  background: #ffe8e8;
}

/* ============================================================
   FOOTER LOGO TEXT FIX
   ============================================================ */
.footer-logo-text {
  display: inline-block;
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -.02em;
  text-decoration: none;
  margin-bottom: 8px;
  line-height: 1;
}
.flt-zen  { color: #fff; }
.flt-news { color: #fff; }
.flt-24   { color: #e8001e; }
.footer-tagline {
  font-size: 13px;
  color: rgba(255,255,255,.55);
  margin: 0 0 6px;
}
.footer-about {
  font-size: 12px;
  color: rgba(255,255,255,.35);
  line-height: 1.5;
  max-width: 220px;
  margin: 0;
}

/* ============================================================
   LOGIN DROPDOWN
   ============================================================ */
.hd-ticker-login-wrap {
  position: relative;
  flex-shrink: 0;
  margin-left: auto;
}
.ticker-login-drop {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0,0,0,.18);
  padding: 16px;
  z-index: 9999;
  min-width: 220px;
}
.ticker-login-drop.active { display: block; }
.tlf { display: flex; flex-direction: column; gap: 8px; }
.tlf input {
  padding: 9px 12px;
  border: 1.5px solid #e5e7eb;
  border-radius: 5px;
  font-size: 13px;
  outline: none;
  color: #111;
  width: 100%;
  box-sizing: border-box;
}
.tlf input:focus { border-color: #e8001e; }
.tlf button {
  padding: 9px;
  background: #e8001e;
  color: #fff;
  border: none;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.tlf button:hover { background: #c5001a; }

/* ============================================================
   MOBILE NAV — Trump + Live
   ============================================================ */
.hd-mnav-trump {
  color: #cc0000 !important;
  font-weight: 700 !important;
}
.hd-mnav-live {
  font-weight: 700 !important;
  display: flex !important;
  align-items: center;
  gap: 6px;
}
.mnav-live-dot {
  width: 8px;
  height: 8px;
  background: #e8001e;
  border-radius: 50%;
  display: inline-block;
  animation: sp-pulse 1.2s ease-in-out infinite;
}

/* ============================================================
   RELATED SECTIONS — gleiche Breite wie Startseite
   ============================================================ */
.art-related { margin: 32px 0 0; }
.art-rel-hd {
  font-size: 16px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #fff;
  background: #e8001e;
  padding: 9px 16px;
  margin-bottom: 3px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.art-related .grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gap);
}
@media (max-width: 767px) {
  .art-related .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ============================================================
   READING PROGRESS BAR
   ============================================================ */
#read-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 0%;
  height: 3px;
  background: #e8001e;
  z-index: 99999;
  transition: width .1s linear;
  pointer-events: none;
}

/* ============================================================
   STICKY SCROLL HEADER (Artikel)
   ============================================================ */
.art-sticky-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: #fff;
  border-bottom: 2px solid #e8001e;
  z-index: 8888;
  padding: 0 20px;
  height: 44px;
  display: flex;
  align-items: center;
  gap: 12px;
  transform: translateY(-100%);
  transition: transform .22s ease;
  box-shadow: 0 2px 12px rgba(0,0,0,.1);
}
.art-sticky-bar.visible { transform: translateY(0); }
.art-sticky-bar-cat {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #fff;
  background: #e8001e;
  padding: 3px 8px;
  border-radius: 3px;
  white-space: nowrap;
  flex-shrink: 0;
}
.art-sticky-bar-title {
  font-size: 13px;
  font-weight: 700;
  color: #111;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}
.art-sticky-bar-share {
  flex-shrink: 0;
  display: flex;
  gap: 6px;
}
.art-sticky-bar-share a, .art-sticky-bar-share button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f3f4f6;
  border: none;
  cursor: pointer;
  color: #555;
  text-decoration: none;
  font-size: 11px;
  transition: background .12s;
}
.art-sticky-bar-share a:hover, .art-sticky-bar-share button:hover {
  background: #e8001e;
  color: #fff;
}

/* ============================================================
   ARTICLE BODY TYPOGRAPHY — Premium Lesequalität
   ============================================================ */
.art-body {
  font-size: 17px;
  line-height: 1.75;
  color: #1a1a1a;
  font-family: Georgia, 'Times New Roman', serif;
}
.art-body p { margin: 0 0 1.3em; }
.art-body h2 {
  font-family: var(--font), sans-serif;
  font-size: 22px;
  font-weight: 800;
  margin: 2em 0 .6em;
  color: #111;
  border-left: 4px solid #e8001e;
  padding-left: 12px;
}
.art-body h3 {
  font-family: var(--font), sans-serif;
  font-size: 18px;
  font-weight: 700;
  margin: 1.5em 0 .5em;
  color: #111;
}
.art-body ul, .art-body ol {
  padding-left: 1.4em;
  margin: 0 0 1.2em;
}
.art-body li { margin-bottom: .4em; }
.art-body blockquote {
  border-left: 4px solid #e8001e;
  margin: 1.5em 0;
  padding: .8em 1.2em;
  background: #fafafa;
  font-style: italic;
  color: #444;
}
.art-body strong { color: #111; }
@media (max-width: 767px) {
  .art-body { font-size: 16px; line-height: 1.7; }
  .art-body h2 { font-size: 19px; }
}

/* ============================================================
   MOBILE BOTTOM NAVIGATION BAR
   ============================================================ */
.mob-bottom-nav {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 58px;
  background: #fff;
  border-top: 1px solid #e5e7eb;
  box-shadow: 0 -2px 12px rgba(0,0,0,.08);
  z-index: 8000;
  padding: 0;
  flex-direction: row;
  align-items: stretch;
  justify-content: space-around;
}
@media (max-width: 767px) {
  .mob-bottom-nav { display: flex; }
  body { padding-bottom: 58px; }
}
.mbn-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  color: #888;
  text-decoration: none;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .02em;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px 4px;
  transition: color .12s;
  -webkit-tap-highlight-color: transparent;
  position: relative;
}
.mbn-item:hover, .mbn-item.active { color: #e8001e; }
.mbn-item.active svg { stroke: #e8001e; }
.mbn-live { color: #e8001e !important; }
.mbn-live-dot {
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(4px);
  width: 7px;
  height: 7px;
  background: #e8001e;
  border-radius: 50%;
  animation: sp-pulse 1.2s ease-in-out infinite;
}

/* Genug Platz oben damit sticky bar nicht hinter header klebt */
@media (max-width: 767px) {
  .art-sticky-bar { top: 0; }
}

/* ============================================================
   FANCY MOBILE MENU
   ============================================================ */
.hd-mobile-nav {
  position: fixed;
  top: 0;
  right: -100%;
  width: min(360px, 92vw);
  height: 100dvh;
  background: #fff;
  z-index: 9000;
  transition: right .28s cubic-bezier(.4,0,.2,1);
  box-shadow: -4px 0 32px rgba(0,0,0,.15);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.hd-mobile-nav.open { right: 0; }
.hmn-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Head */
.hmn-head {
  display: flex;
  align-items: center;
  padding: 16px 16px 14px;
  border-bottom: 1px solid #f0f0f0;
  flex-shrink: 0;
}
.hmn-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
}
.hmn-brand img { border-radius: 8px; }
.hmn-brand-name {
  font-size: 18px;
  font-weight: 700;
  color: #111;
  letter-spacing: -.01em;
}
.hmn-brand-name strong { color: #e8001e; }
.hmn-close {
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  background: #f3f4f6;
  border: none; border-radius: 50%;
  cursor: pointer; color: #555;
  flex-shrink: 0;
  transition: background .12s;
}
.hmn-close:hover { background: #e5e7eb; }

/* Breaking */
.hmn-breaking {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: #fff5f5;
  border-bottom: 1px solid #fecaca;
  text-decoration: none;
  flex-shrink: 0;
}
.hmn-breaking-badge {
  font-size: 11px; font-weight: 900;
  letter-spacing: .08em;
  background: #e8001e; color: #fff;
  padding: 2px 6px; border-radius: 3px;
  flex-shrink: 0;
}
.hmn-breaking-title {
  font-size: 12px; font-weight: 600; color: #111;
  line-height: 1.3;
}

/* Search */
.hmn-search {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 12px 16px;
  padding: 10px 14px;
  background: #f5f6f7;
  border-radius: 24px;
  border: 1.5px solid transparent;
  flex-shrink: 0;
  transition: border-color .15s;
}
.hmn-search:focus-within { border-color: #e8001e; background: #fff; }
.hmn-search input {
  border: none; background: none;
  font-size: 14px; color: #111;
  flex: 1; outline: none;
}

/* Section label */
.hmn-section-label {
  font-size: 12px; font-weight: 800;
  letter-spacing: .1em; color: #999;
  padding: 6px 16px 4px;
  flex-shrink: 0;
}

/* Category list */
.hmn-cats { flex: 1; overflow-y: auto; }
.hmn-cat-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 16px;
  text-decoration: none;
  border-bottom: 1px solid #f5f5f5;
  transition: background .1s;
  -webkit-tap-highlight-color: transparent;
}
.hmn-cat-item:active { background: #f9f9f9; }
.hmn-cat-thumb {
  width: 48px; height: 48px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
  background: #f0f0f0;
}
.hmn-cat-thumb-icon,
.hmn-trump-icon,
.hmn-live-icon {
  width: 48px; height: 48px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-size: 22px; font-weight: 900;
}
.hmn-trump-icon { background: #cc0000; color: #fff; }
.hmn-live-icon { background: #e8001e; position: relative; }
.hmn-live-pulse {
  width: 14px; height: 14px;
  background: #fff; border-radius: 50%;
  animation: sp-pulse 1.2s ease-in-out infinite;
}
.hmn-cat-info { flex: 1; min-width: 0; }
.hmn-cat-name {
  display: block;
  font-size: 15px; font-weight: 700; color: #111;
  line-height: 1.2;
}
.hmn-cat-trump .hmn-cat-name { color: #cc0000; }
.hmn-cat-count {
  display: block;
  font-size: 12px; color: #999;
  margin-top: 2px;
}
.hmn-cat-arrow { flex-shrink: 0; }

/* CTAs */
.hmn-ctas {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 16px 24px;
  flex-shrink: 0;
  border-top: 1px solid #f0f0f0;
}
.hmn-cta {
  display: block;
  text-align: center;
  padding: 13px;
  border-radius: 8px;
  font-size: 14px; font-weight: 700;
  text-decoration: none;
  transition: opacity .12s;
}
.hmn-cta:active { opacity: .8; }
.hmn-cta-outline {
  border: 2px solid #e8001e;
  color: #e8001e;
  background: #fff;
}
.hmn-cta-dark {
  background: #111;
  color: #fff;
}

/* Web Share API Button */
.sh-native { display: none; }
@media (max-width: 767px) {
  .sh-native { display: inline-flex !important; }
}

/* ============================================================
   MOBILE NAV — CONFLICT FIX (überschreibt alte left-Regel)
   ============================================================ */
.hd-mobile-nav {
  position: fixed !important;
  top: 0 !important;
  left: auto !important;
  right: -100% !important;
  bottom: 0 !important;
  width: min(360px, 88vw) !important;
  height: 100dvh !important;
  background: #fff !important;
  z-index: 9000 !important;
  transition: right .28s cubic-bezier(.4,0,.2,1) !important;
  box-shadow: -4px 0 32px rgba(0,0,0,.18) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
.hd-mobile-nav.open {
  right: 0 !important;
  left: auto !important;
}
.hd-overlay {
  z-index: 8999 !important;
}

/* Mobile Search Bar — kein weißer Kasten, integriert */
.hd-mobile-bar {
  background: transparent !important;
  border-bottom: none !important;
  padding: 0 !important;
}
.hd-mobile-bar-form {
  background: #f5f6f8 !important;
  border-radius: 0 !important;
  border: none !important;
  border-bottom: none !important;
  margin: 0 !important;
  padding: 10px 16px !important;
}

/* Mobile Header — kein ZenNews24 Text, nur Logo */
.hmn-brand-name { display: none !important; }

/* Ticker + Header mobile — kein weißer Kasten ums Logo */
@media (max-width: 767px) {
  .hd-logo { background: none !important; box-shadow: none !important; }
}

/* FOOTER MOBILE FIX */
@media (max-width: 767px) {
  .footer-inner { grid-template-columns: 1fr !important; padding: 28px 16px !important; gap: 24px !important; }
  .footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px 16px !important; }
  .footer-col a { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .footer-bottom { flex-direction: column !important; gap: 10px !important; text-align: center !important; }
  .site-footer { padding-bottom: 70px !important; }
}

/* PUSH BANNER — oben, nie gleichzeitig mit App-Banner */
#zn-push-banner {
  bottom: auto !important;
  top: 0 !important;
  transform: translateY(-100%) !important;
  border-top: none !important;
  border-bottom: none !important;
  padding: 0 !important;
  padding-top: env(safe-area-inset-top) !important;
}
#zn-push-banner.zn-pb-show { transform: translateY(0) !important; }

/* ============================================================
   MOBILE HEADER: Gesamter Header (Ticker + Nav) bleibt oben
   ============================================================ */
@media (max-width: 767px) {
  /* Gesamter Header-Wrap fixed — Ticker + Nav bleiben beide sichtbar */
  .site-header-wrap {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 500 !important;
    padding-top: 0 !important;
    overflow: hidden !important;
  }
  /* Ticker zurück im normalen Flow (wrap ist jetzt selbst fixed) */
  .hd-ticker {
    position: static !important;
  }
  /* Body-Offset: Ticker 38px + Nav 50px + Search ~40px = 128px */
  body { padding-top: 128px !important; }

  /* Login in Ticker auf Mobile ausblenden */
  .hd-ticker .hd-ticker-login { display: none !important; }

  /* Login in Nav-Bar auf Mobile anzeigen */
  .hd-login-mobile {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: #555;
    text-decoration: none;
    width: 36px;
    height: 36px;
  }
}

/* Desktop: Login-Icon in Nav verstecken */
@media (min-width: 768px) {
  .hd-login-mobile { display: none !important; }
  /* Desktop: Login im Ticker sichtbar */
  .hd-ticker .hd-ticker-login { display: flex !important; }
}

/* ── Card padding fix + Login wrap ── */
.bild-box .overlay { padding: 50px 14px 12px !important; }
.bild-box .hl { padding: 0 !important; }
.page-wrap { padding-left: 10px !important; padding-right: 10px !important; }
@media (min-width: 768px) { .page-wrap { padding-left: 0 !important; padding-right: 0 !important; } }

/* ── Homepage H1 + H2 Heading-Hierarchie ── */
.hp-h1 {
  font-size: 13px;
  font-weight: 700;
  color: #888;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 8px 0 4px;
  padding: 0;
  line-height: 1.3;
}
@media (min-width: 768px) { .hp-h1 { margin: 10px 0 6px; } }
h2.sec-hd {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

/* ── Kategorie-Seite: Ressort-Beschreibung ── */
.cat-page-desc {
  font-size: 15px;
  line-height: 1.65;
  color: #444;
  margin: 10px 0 0;
  max-width: 780px;
  padding: 0;
}
@media (max-width: 767px) {
  .cat-page-desc { font-size: 14px; margin-top: 8px; }
}

/* Author Block — E-E-A-T signal */
.author-block{display:flex;align-items:flex-start;gap:16px;background:#f8f9fa;border:1px solid #eee;border-radius:10px;padding:20px 22px;margin:32px 0 24px}
.author-avatar{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:#e8001e;color:#fff;font-size:22px;font-weight:900;display:flex;align-items:center;justify-content:center;letter-spacing:0}
.author-name{font-size:15px;font-weight:800;color:#111;margin-bottom:2px}
.author-role{font-size:11px;font-weight:700;color:#e8001e;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}
.author-bio{font-size:13px;line-height:1.6;color:#555;margin:0}
@media(max-width:600px){.author-block{padding:16px 14px;gap:12px}.author-avatar{width:44px;height:44px;font-size:18px}}

/* Mobile Menu: Logo-Größe fix + Newsletter Button */
.hmn-brand img { width: 36px !important; height: 36px !important; object-fit: cover; flex-shrink: 0; }
.hmn-ctas { padding: 16px; }
.hmn-cta-full { display: block; width: 100%; text-align: center; padding: 13px 16px; background: #e8001e; color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; border-radius: 6px; text-decoration: none; box-sizing: border-box; }
.hmn-cta-full:hover { background: #c5001a; }


/* Category Pagination */
.cat-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:20px 16px 32px;flex-wrap:wrap}
.cpag-numbers{display:flex;gap:4px;flex-wrap:wrap}
.cpag-num{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:1.5px solid #e5e5e5;font-size:14px;font-weight:600;color:#333;text-decoration:none;transition:all .12s}
.cpag-num:hover{border-color:#e8001e;color:#e8001e}
.cpag-active{background:#e8001e!important;border-color:#e8001e!important;color:#fff!important;font-weight:800}
.cpag-btn{display:inline-flex;align-items:center;padding:0 16px;height:36px;border-radius:6px;background:#111;color:#fff!important;font-size:13px;font-weight:700;text-decoration:none;transition:background .12s;white-space:nowrap}
.cpag-btn:hover{background:#e8001e}
@media(max-width:600px){.cat-pagination{justify-content:center}.cpag-btn{font-size:12px;padding:0 12px}}

/* ═══════════════════════════════════════════════════
   MOBILE FIX PACK — iPhone/iOS 100% (2026-05-07)
   ═══════════════════════════════════════════════════ */

/* 1. Ticker-Offset: jetzt im site-header-wrap block geregelt */

/* 2. Touch Targets: Apple HIG min 44pt */
@media (max-width: 767px) {
  .sh-btn {
    min-height: 44px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .share-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    padding: 16px 0 !important;
  }
  .art-tag {
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
  }
  .cpag-num { width: 40px !important; height: 44px !important; }
  .cpag-btn { height: 44px !important; }
  .hmn-cta-full { min-height: 48px !important; padding: 14px 16px !important; }
  .nav-toggle { min-height: 44px !important; min-width: 44px !important; }
}

/* 3. Safe Area Bottom: iPhone Home-Indicator */
@media (max-width: 767px) {
  .site-footer {
    padding-bottom: calc(70px + env(safe-area-inset-bottom)) !important;
  }
  #zn-install-banner {
    padding-bottom: env(safe-area-inset-bottom) !important;
  }
}

/* 4. Art body: keine horizontale Überlappung auf kleinen Screens */
@media (max-width: 767px) {
  .art-body img  { max-width: 100% !important; height: auto !important; }
  .art-body table { max-width: 100% !important; overflow-x: auto; display: block; }
  .art-body pre   { overflow-x: auto !important; }
  .art-body .fact-box { margin-left: 0 !important; margin-right: 0 !important; }
  figure { margin-left: 0 !important; margin-right: 0 !important; }
}

/* 5. Article meta: wrap graceful auf kleinen Screens */
@media (max-width: 480px) {
  .art-meta { flex-wrap: wrap !important; gap: 4px 12px !important; row-gap: 4px !important; }
  .art-title { font-size: clamp(20px, 5vw, 28px) !important; }
  .art-sub { font-size: 15px !important; }
}

/* 6. Kategorie-Header mobile */
@media (max-width: 480px) {
  .cat-page-title { font-size: clamp(24px, 6vw, 32px) !important; }
  .cat-page-desc { font-size: 14px !important; }
}

/* 7. Grid-4 auf 2 Spalten (Artikel-Related-Blocks) */
@media (max-width: 480px) {
  .bild-grid.grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
  .bild-box.h-md    { height: 140px !important; }
}

/* ===== SEARCH PAGE ===== */
.srch-bar-wrap{background:#fff;padding:14px 18px;margin-bottom:3px}
.srch-form{display:flex;gap:8px;max-width:640px}
.srch-field{flex:1;display:flex;align-items:center;gap:10px;padding:0 14px;border:1.5px solid #ddd;border-radius:6px;background:#fafafa}
.srch-field:focus-within{border-color:var(--red);background:#fff}
.srch-field input{flex:1;border:none;background:none;padding:11px 0;font-size:15px;color:#111;outline:none}
.srch-submit{padding:11px 22px;background:var(--red);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:800;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.srch-submit:hover{background:#c5001a}
.srch-count{font-size:14px;font-weight:400;color:#999;margin-left:10px}

.srch-filters{display:flex;gap:8px;flex-wrap:wrap;padding:10px 18px;background:#fff;margin-bottom:3px;border-bottom:1px solid #f0f0f0}
.srch-fil{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;border:1.5px solid #e5e5e5;font-size:13px;font-weight:600;color:#555;text-decoration:none;transition:all .15s}
.srch-fil:hover{border-color:#e8001e;color:#e8001e}
.srch-fil-active{background:#e8001e;border-color:#e8001e;color:#fff!important}
.srch-fil-n{font-weight:400;font-size:12px;opacity:.8}

.srch-results{display:flex;flex-direction:column;gap:0}
.srch-item{display:flex;gap:14px;padding:14px 18px;background:#fff;border-bottom:1px solid #f3f3f3;text-decoration:none;color:inherit;transition:background .12s}
.srch-item:hover{background:#fafafa}
.srch-item-img{flex-shrink:0;width:120px;height:80px;border-radius:6px;overflow:hidden;background:#f0f0f0}
.srch-item-img img{width:100%;height:100%;object-fit:cover}
.srch-item-body{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}
.srch-item-meta{display:flex;align-items:center;gap:8px}
.srch-item-date{font-size:12px;color:#999}
.srch-item-title{font-size:16px;font-weight:800;color:#111;line-height:1.35;letter-spacing:-.02em}
.srch-item-title mark{background:#fff3cd;color:#111;border-radius:2px;padding:0 1px}
.srch-item-sub{font-size:13px;color:#666;line-height:1.4}
.srch-item-sub mark{background:#fff3cd;color:#111;border-radius:2px;padding:0 1px}

.srch-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;background:#fff;text-align:center;color:#bbb;margin-top:3px}
.srch-empty p{font-size:16px;color:#999;margin:0}
.srch-empty-hint{font-size:14px!important;color:#bbb!important}
.srch-empty-hint a{color:#e8001e;text-decoration:underline}

@media (max-width:600px) {
  .srch-form{flex-direction:column}
  .srch-submit{width:100%}
  .srch-item-img{width:88px;height:60px}
  .srch-item-title{font-size:14px}
}

/* ===== TRENDING DIESE WOCHE — Scroll-Karussell (Mobile) ===== */
.meist-row { grid-template-columns: repeat(4, 1fr) !important; }
.meist-img-wrap { height: 100% !important; inset: 0 !important; }
@media (max-width: 1024px) {
  .meist-row { grid-template-columns: repeat(4, 1fr) !important; }
  .meist-card:nth-child(n+4) { display: flex !important; }
  .meist-card:nth-child(n+5) { display: flex !important; }
}
@media (max-width: 767px) {
  .meist-row {
    display: flex !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    grid-template-columns: unset !important;
    gap: 3px !important;
    background: transparent !important;
    scrollbar-width: none;
  }
  .meist-row::-webkit-scrollbar { display: none; }
  .meist-card {
    min-width: 158px !important;
    max-width: 158px !important;
    flex-shrink: 0 !important;
    scroll-snap-align: start !important;
  }
  .meist-card:nth-child(n+3) { display: flex !important; }
  .meist-card:nth-child(n+7) { display: none !important; }
  .meist-img-wrap { height: 100% !important; }
}

/* ===== LESEN SIE AUCH ===== */
.lsa-box{background:#f7f9fc;border-left:3px solid var(--red);padding:12px 16px;margin:20px 0;border-radius:0 6px 6px 0}
.lsa-label{display:block;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#e8001e;margin-bottom:8px}
.lsa-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.lsa-list li::before{content:'›';color:#e8001e;font-weight:700;margin-right:6px}
.lsa-list a{font-size:14px;font-weight:600;color:#111;text-decoration:none;line-height:1.35}
.lsa-list a:hover{color:#e8001e;text-decoration:underline}


/* ── Prev / Next Article Navigation ── */
.art-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:28px 0 4px;border-top:3px solid var(--border)}
.apn-item{display:flex;align-items:center;gap:12px;padding:16px 14px;background:#fff;text-decoration:none;color:var(--primary);transition:background .15s;min-height:80px}
.apn-item:hover{background:var(--bg-soft)}
.apn-next{flex-direction:row-reverse;text-align:right}
.apn-empty{background:var(--bg-soft)}
.apn-thumb{flex-shrink:0;width:72px;height:52px;border-radius:3px;overflow:hidden}
.apn-thumb img{width:72px;height:52px;object-fit:cover}
.apn-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.apn-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--red);white-space:nowrap}
.apn-title{font-size:14px;font-weight:600;line-height:1.35;color:var(--primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.apn-next .apn-body{align-items:flex-end}
@media(max-width:600px){
  .art-prevnext{grid-template-columns:1fr}
  .apn-next{flex-direction:row;text-align:left}
  .apn-next .apn-body{align-items:flex-start}
  .apn-empty{display:none}
}

/* ============================================================
   SIDEBAR TABS (Aktuell / Meistgelesen)
   ============================================================ */
.side-widget-tabs { padding: 0; }
.side-tabs {
  display: flex;
  border-bottom: 2px solid #f0f0f0;
  background: #fafafa;
}
.side-tab {
  flex: 1;
  background: none;
  border: none;
  cursor: pointer;
  padding: 11px 8px 9px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #999;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color .15s, border-color .15s;
}
.side-tab.active {
  color: var(--red);
  border-bottom-color: var(--red);
}
.side-tab:hover { color: var(--dark); }
.side-tab-panel { display: none; }
.side-tab-panel.active { display: block; }
.side-item-rank { position: relative; }
.side-rank {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  font-weight: 900;
  color: #ebebeb;
  line-height: 1;
  z-index: 0;
  pointer-events: none;
  width: 20px;
  text-align: center;
}
.side-item-rank .side-img {
  margin-left: 28px;
  position: relative;
  z-index: 1;
}
.side-item-rank .side-body {
  position: relative;
  z-index: 1;
}

/* ============================================================
   NOCH NICHT ENTDECKT — Zero-View Artikel Crawl-Sektion
   ============================================================ */
.art-undiscovered {
  border-top: 1px solid #f0f0f0;
  padding: 18px 0 4px;
  margin: 28px 0 0;
}
.aud-hd {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #bbb;
  margin-bottom: 10px;
}
.aud-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.aud-list li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 0;
  border-bottom: 1px solid #f5f5f5;
}
.aud-list li:last-child { border-bottom: none; }
.aud-list a {
  font-size: 13px;
  font-weight: 600;
  color: #444;
  text-decoration: none;
  line-height: 1.35;
  flex: 1;
}
.aud-list a:hover { color: var(--red); }
.aud-meta {
  font-size: 11px;
  color: #bbb;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── Glossar Tooltips ── */
.zn-glossar {
  border-bottom: 1px dotted #e8001e;
  cursor: help;
  color: inherit;
}
.zn-glossar:hover { color: #e8001e; }

/* ── Kategorie-Karten Subtitle ── */
.card-sub {
  display: block;
  font-size: 12px;
  color: #666;
  font-weight: 400;
  line-height: 1.4;
  margin: 2px 0 3px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* ============================================================
   DESKTOP MENU FORCE-HIDE (v20 fix)
   ============================================================ */
@media (min-width: 900px) {
  .hd-mobile-nav,
  .hd-mobile-nav.open {
    right: -100% !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .hd-overlay,
  .hd-overlay.open {
    display: none !important;
  }
}

/* ============================================================
   DESKTOP NAV NUKE (v20b) — niemals sichtbar auf >=900px
   ============================================================ */
@media (min-width: 900px) {
  .hd-mobile-nav { display: none !important; }
  .hd-overlay { display: none !important; }
}

/* ============================================================
   MOBILE MENU — KOMPAKT (tag24-Style, v20c)
   ============================================================ */
.hmn-cat-thumb,
.hmn-trump-icon,
.hmn-live-icon { display: none !important; }

.hmn-cat-count { display: none !important; }

.hmn-cat-item {
  padding: 12px 16px !important;
  gap: 0 !important;
  border-bottom: 1px solid #efefef !important;
}

.hmn-cat-name {
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  color: #111 !important;
}

.hmn-cat-trump .hmn-cat-name { color: #cc0000 !important; }
.hmn-cat-live .hmn-cat-name  { color: #e8001e !important; }

.hmn-section-label { display: none !important; }

.hmn-search {
  margin: 10px 14px !important;
  padding: 8px 12px !important;
}

.hmn-head {
  padding: 12px 14px 10px !important;
}

.hmn-brand img { width: 28px !important; height: 28px !important; }
.hmn-brand-name { font-size: 16px !important; }

.hmn-ctas { padding: 12px 14px 20px !important; }

/* ══════════════════════════════════════════════════
   HEADLINE STYLE — weißer Text, leichter Fade, Hero-Boxen
══════════════════════════════════════════════════ */

.hl-wrap { display: block; }

.bild-box .hl {
  display: inline !important;
  background: none !important;
  color: #fff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.55) !important;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.bild-box .ov-sub,
.bild-box .ov-sub-lg,
.bild-box .sub {
  display: inline !important;
  background: none !important;
  color: rgba(255,255,255,.88) !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.5) !important;
}
.bild-box.h-hero5 .hl,
.bild-box.h-aufmacher .hl,
.bild-box.h-feat .hl,
.bild-box.h-hl4:not(.tag-feat) .hl,
.bild-box.h-hl .hl {
  background: #e8001e !important;
  text-shadow: none !important;
  padding: 2px 8px 3px !important;
  line-height: 1.22 !important;
}
/* tag-feat = GLEICHER STIL wie alle anderen bild-box (dunkles Gradient, weißer Text) */
.bild-box.tag-feat .overlay {
  background: linear-gradient(to top,
    rgba(0,0,0,.78) 0%,
    rgba(0,0,0,.38) 42%,
    rgba(0,0,0,.06) 68%,
    transparent 100%
  ) !important;
  padding: 48px 10px 11px !important;
}
.bild-box.tag-feat .hl-hl,
.bild-box.tag-feat .hl {
  color: #fff !important;
  background: transparent !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.55) !important;
}
.bild-box.tag-feat .ov-sub {
  color: rgba(255,255,255,.88) !important;
  background: transparent !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.5) !important;
}
.bild-box.tag-feat .meta { color: rgba(255,255,255,.8) !important; }
.bild-box.tag-feat .cat-tag { opacity: 1 !important; }
.bild-box.h-hero5 .ov-sub-lg,
.bild-box.h-aufmacher .ov-sub,
.bild-box.h-feat .ov-sub,
.bild-box.h-hl4 .ov-sub {
  background: rgba(0,0,0,.72) !important;
  text-shadow: none !important;
  padding: 2px 8px 3px !important;
  line-height: 1.38 !important;
}
.bild-box .overlay {
  background: linear-gradient(to top,
    rgba(0,0,0,.78) 0%,
    rgba(0,0,0,.38) 42%,
    rgba(0,0,0,.06) 68%,
    transparent 100%
  ) !important;
  padding: 48px 10px 11px !important;
}

/* ── MEIST GELESEN — identisch grid-4 bild-box ── */
.meist-row4 { gap: 3px !important; }
.meist-num {
  position: absolute;
  top: 8px;
  left: 10px;
  font-size: 32px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  text-shadow: 0 2px 6px rgba(0,0,0,.65);
  z-index: 5;
}

/* ── Related Posts ── */
.art-rel-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
@media (max-width: 599px) {
  .art-rel-grid { grid-template-columns: 1fr !important; }
}
.rel-card { border-radius: 0 !important; border: none !important; border-bottom: 1px solid #f0f0f0 !important; text-decoration: none; display: flex; flex-direction: column; }
.rel-img { aspect-ratio: 16/9; border-radius: 0 !important; overflow: hidden; }
.rel-img img { width: 100%; height: 100%; object-fit: cover; }
.rel-body { padding: 9px 0 11px !important; display: flex; flex-direction: column; gap: 6px; }
.rel-cat { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: #fff; padding: 2px 7px; border-radius: 2px; align-self: flex-start; }
.rel-title { font-size: 14px !important; font-weight: 700 !important; line-height: 1.35 !important; color: #111 !important; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.rel-meta { font-size: 12px !important; color: #aaa !important; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }


/* ── Table of Contents ── */
.toc-box {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-left: 4px solid #e3000b;
  border-radius: 0 8px 8px 0;
  padding: 16px 20px;
  margin: 24px 0;
}
.toc-title {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #e3000b;
  margin-bottom: 10px;
}
.toc-list {
  margin: 0;
  padding-left: 20px;
  list-style: decimal;
}
.toc-list li { margin: 6px 0; font-size: 14px; line-height: 1.4; }
.toc-list a { color: #222; text-decoration: none; font-weight: 500; }
.toc-list a:hover { color: #e3000b; text-decoration: underline; }
@media (max-width: 599px) {
  .toc-box { padding: 12px 14px; }
  .toc-list li { font-size: 13px; }
}



/* ── Glossar-Tooltip ────────────────────────────────────────────── */
.gl-mark{
  border-bottom:1px dotted #c0392b;cursor:help;color:inherit;
  transition:background .15s;
}
.gl-mark:hover{background:rgba(192,57,43,.07);}
.gl-tooltip{
  position:fixed;z-index:10000;max-width:300px;
  background:#1a1a2e;color:#f0f0f0;border-radius:8px;
  padding:10px 14px;font-size:13px;line-height:1.5;
  box-shadow:0 6px 24px rgba(0,0,0,.25);
  opacity:0;transform:translateY(4px);
  transition:opacity .15s,transform .15s;pointer-events:none;
}
.gl-tooltip.gl-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
.gl-term{color:#e74c3c;font-weight:700;font-size:13px;}
.gl-def{font-size:12.5px;color:#ddd;}

/* Reading Progress Bar */
#readProgress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;z-index:9999;transition:transform .1s linear;pointer-events:none}

.cat-quick-nav{display:flex;gap:6px;overflow-x:auto;padding:10px clamp(12px,3vw,24px);background:#fff;border-bottom:1px solid var(--border);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cat-quick-nav::-webkit-scrollbar{display:none}
.cqn-item{flex-shrink:0;padding:5px 13px;border-radius:20px;font-size:13px;font-weight:600;color:var(--muted);background:var(--bg-soft);text-decoration:none;white-space:nowrap;transition:all .15s}
.cqn-item:hover{background:var(--red);color:#fff}
.cqn-active{background:var(--red);color:#fff}
.rel-time{font-size:11px;color:var(--text-light);display:block;margin-top:3px}

/* ── Full-bleed: Boxen innerhalb page-wrap die edge-to-edge sein sollen ── */
@media (max-width: 767px) {
  .full-bleed {
    margin-left: -10px;
    margin-right: -10px;
    max-width: calc(100% + 20px);
  }
}

/* ── Ort-Badge (top-right, wie Tag24) ── */
.tb-ort {
  background: rgba(0,0,0,.72);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  max-width: 90px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ══════════════════════════════════════════════════
   TRUMP TRUTH SOCIAL TRACKER WIDGET
══════════════════════════════════════════════════ */
.trump-tracker-widget {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-top: 3px solid #e3000b;
  border-radius: 0 0 8px 8px;
  margin: 28px 0;
  overflow: hidden;
}
.ttw-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px 10px;
  background: #111;
  color: #fff;
}
.ttw-header-label {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #fff;
}
.ttw-live {
  font-size: 12px;
  font-weight: 800;
  color: #e3000b;
  letter-spacing: .06em;
  animation: ttw-blink 1.5s ease-in-out infinite;
}
@keyframes ttw-blink { 0%,100%{opacity:1} 50%{opacity:.4} }
.ttw-rage-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px 6px;
  flex-wrap: wrap;
  gap: 8px;
}
.ttw-rage-label {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #999;
}
.ttw-rage-badge {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  padding: 4px 14px;
  border-radius: 20px;
  color: #fff;
  text-transform: uppercase;
}
.ttw-bar-wrap {
  margin: 4px 16px 2px;
  height: 6px;
  background: #f0f0f0;
  border-radius: 3px;
  overflow: hidden;
}
.ttw-bar {
  height: 100%;
  border-radius: 3px;
  transition: width .6s ease;
  width: 0%;
}
.ttw-stats {
  display: flex;
  gap: 16px;
  padding: 6px 16px 10px;
  font-size: 12px;
  color: #666;
  font-weight: 600;
}
.ttw-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 16px 14px;
}
.ttw-tag {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  padding: 3px 10px;
  border-radius: 3px;
  background: #f5f5f5;
  color: #333;
  border: 1px solid #e0e0e0;
  text-transform: uppercase;
}
.ttw-posts {
  border-top: 1px solid #f0f0f0;
}
.ttw-post {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px 16px;
  border-bottom: 1px solid #f5f5f5;
}
.ttw-post:last-child { border-bottom: none; }
.ttw-post-topic {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #e3000b;
}
.ttw-post a {
  font-size: 13px;
  line-height: 1.45;
  color: #111;
  font-weight: 500;
}
.ttw-post a:hover { color: #e3000b; }
.ttw-post-meta {
  font-size: 12px;
  color: #bbb;
  font-weight: 600;
}
.ttw-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  background: #fafafa;
  border-top: 1px solid #f0f0f0;
}
.ttw-source {
  font-size: 12px;
  color: #bbb;
  font-weight: 600;
}
.ttw-more {
  font-size: 11px;
  font-weight: 800;
  color: #e3000b;
  text-decoration: none;
  letter-spacing: .02em;
}
.ttw-more:hover { text-decoration: underline; }
.ttw-loading {
  padding: 28px 16px;
  text-align: center;
  color: #bbb;
  font-size: 13px;
}

/* YouTube Short Embed */
.yt-short-wrap {
  margin: 20px 0 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.yt-short-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #e8001e;
  margin-bottom: 8px;
}
.yt-short-container {
  width: 100%;
  max-width: 350px;
  margin: 0 auto;
}
.yt-short-container iframe {
  width: 100%;
  aspect-ratio: 9 / 16;
  height: auto;
  border-radius: 10px;
  display: block;
  border: none;
}

/* ── YouTube Shorts Grid 9:16 ── */
.yt-shorts-grid .bild-box {
  aspect-ratio: 9 / 16 !important;
  height: auto !important;
}

/* ── Emoji Reactions ── */
.art-reactions {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  border-top: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
  margin: 20px 0;
  flex-wrap: wrap;
}
.art-react-label {
  font-size: 0.82em;
  font-weight: 700;
  color: #666;
  white-space: nowrap;
}
.art-react-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.art-react-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 13px;
  background: #f5f5f5;
  border: 1px solid #e8e8e8;
  border-radius: 24px;
  font-size: 1em;
  cursor: pointer;
  transition: background .15s, transform .1s;
  line-height: 1;
}
.art-react-btn:hover:not(:disabled) { background: #efefef; transform: scale(1.08); }
.art-react-btn.arc-voted { background: #fff3cd; border-color: #f0c040; font-weight: 700; }
.art-react-btn:disabled { cursor: default; }
.arc-count { font-size: 0.78em; font-weight: 700; color: #555; min-width: 12px; }

/* ── Sticky Share Bar ── */
#zn-sticky-share {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 1px solid #e5e7eb;
  box-shadow: 0 -2px 12px rgba(0,0,0,.1);
  z-index: 7500;
  transform: translateY(100%);
  transition: transform .22s ease;
}
#zn-sticky-share.zn-ss-visible { transform: translateY(0); }
@media (max-width: 767px) { #zn-sticky-share { bottom: 58px; } }
.zn-ss-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 9px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.zn-ss-title {
  flex: 1;
  font-size: 0.8em;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #1a2332;
}
@media (max-width: 480px) { .zn-ss-title { display: none; } }
.zn-ss-btns { display: flex; gap: 7px; flex-shrink: 0; }
.zn-ss-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 12px;
  border-radius: 6px;
  font-size: 0.78em;
  font-weight: 600;
  cursor: pointer;
  border: none;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
}
.zn-ss-btn:hover { opacity: .82; }
.zn-ss-wa   { background: #25d366; color: #fff; }
.zn-ss-x    { background: #000;    color: #fff; }
.zn-ss-copy { background: #f0f2f5; color: #1a2332; }

/* ── Auto-Load Next Article ── */
.zn-al-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 48px 0 28px;
}
.zn-al-divider::before,
.zn-al-divider::after {
  content: '';
  flex: 1;
  height: 2px;
  background: #e5e7eb;
}
.zn-al-divider span {
  font-size: 0.72em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #e3000b;
  white-space: nowrap;
}
.zn-al-img { margin: 0 0 18px; }
.zn-al-thumb {
  width: 100%;
  height: 280px;
  object-fit: cover;
  border-radius: 10px;
  display: block;
}
@media (max-width: 767px) { .zn-al-thumb { height: 200px; } }

/* ── YouTube inline embed (art-yt-wrap) ─────────────────────────── */
.art-yt-wrap { margin: 28px 0; }
.art-yt-wrap iframe { width:100%; border-radius:8px; display:block; }
.art-yt-caption { font-size:0.78em; color:#6b7280; margin-top:7px; text-align:center; }

/* ── Sidebar YouTube Shorts Slider ── */
.side-yt-wrap { margin-bottom: 20px; }
.side-yt-hd { display:flex; align-items:center; gap:8px; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#e8001e; margin-bottom:10px; }
.side-yt-dots { display:flex; gap:5px; margin-left:auto; }
.syd-dot { width:6px; height:6px; border-radius:50%; background:#ddd; transition:background .2s; }
.syd-dot-active { background:#e8001e; }
.side-yt-viewport { overflow:hidden; border-radius:10px; }
.side-yt-track { display:flex; transition:transform .32s ease; will-change:transform; }
.side-yt-item { flex:0 0 100%; min-width:0; display:flex; flex-direction:column; gap:8px; }
.side-yt-title { font-size:12px; font-weight:700; line-height:1.35; color:var(--text); margin:0; }
/* h-4 Karten: Subtitle ausblenden (zu lang für kleine Cards) */
.bild-box.h-4 .ov-sub,
.bild-box.h-4 .card-sub { display:none !important; }
/* meist-card responsive */
@media (max-width:599px) { .meist-card { height:140px !important; } .meist-n { font-size:26px !important; } .meist-title { font-size:11px !important; } }
@media (min-width:600px) and (max-width:899px) { .meist-card { height:160px !important; } }
/* footer orphan fix — last col spans 2 on mobile */
@media (max-width:599px) { .footer-col:last-child { grid-column: span 2; } }
