/* Display-/Headline-Schrift: Oswald (selbst gehostet → DSGVO-konform & offline; variabel) */
@font-face{font-family:'Oswald';font-style:normal;font-weight:200 700;font-display:swap;
  src:url('/static/fonts/oswald-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Oswald';font-style:normal;font-weight:200 700;font-display:swap;
  src:url('/static/fonts/oswald-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  /* Branding: Petrol/Teal · Himbeerrot · Off-White */
  --bg:#ffffff; --card:#ffffff; --ink:#15333d; --muted:#5b6f76; --line:#e6ecee;
  --navy:#0c3f54; --navy-d:#072c3c; --navy-soft:#e3eef1;     /* "navy" = Petrol */
  --red:#cc2b4a; --red-d:#a81f3c; --red-soft:#fbe7ec;
  --hot:#cc2b4a; --cold:#0c3f54;                /* Voting: heiß (rot) / kalt (petrol) */
  --grau:#9aa3ad; --gelb:#ff9932; --gruen:#075056;
  --display:'Oswald',"Segoe UI",system-ui,Arial,sans-serif;
  --shadow:0 1px 2px rgba(12,63,84,.05),0 10px 30px rgba(12,63,84,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",system-ui,Arial,sans-serif;background:#fff;color:var(--ink);font-size:14px;overflow-x:clip}
/* Lucide-Icons (Inline-Sprite): erben Farbe via currentColor, einheitlicher Strich */
.ic{width:1.15em;height:1.15em;flex:0 0 auto;display:inline-block;vertical-align:-0.18em;
    fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.ic-sm{width:1em;height:1em;stroke-width:2.1}
.ic-lg{width:1.4em;height:1.4em}
/* Icon + Text in Buttons sauber ausrichten; Icon-only Buttons zentrieren */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.modal-close,.mini-vote button,.image-remove,.confirm-btn,.btn-upload,.btn-ai{display:inline-flex;align-items:center;justify-content:center;gap:6px}
/* Status-Punkt (grau/gelb/grün) – einheitlich, ersetzt frühere ⬤/🟢-Emoji */
.sdot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle;background:var(--grau)}
.geo-status.on{color:var(--gruen);font-weight:700}
/* Wetter-Widget (DWD) */
.panel.weather-panel{background:var(--card)}
.wx{display:flex;align-items:flex-start;gap:13px}
.wx-ic{width:40px;height:40px;flex:none;color:var(--navy);stroke-width:1.8;margin-top:4px}
.wx-main{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.wx-temp{font-size:25px;font-weight:800;line-height:1;color:var(--ink)}
.wx-temp span{font-size:13px;font-weight:600;color:var(--muted);margin-left:1px}
.wx-cond{font-size:12.5px;color:var(--muted);margin-top:3px;font-weight:600}
.wx-extra{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);margin-top:5px}
.wx-loading{font-size:12px;color:var(--muted)}
/* Badegewässer (LAGeSo – Wasserqualität & -temperatur) */
.bade-row{display:flex;gap:9px;padding:8px 0;border-top:1px solid var(--line)}
.bade-row:first-child{border-top:0;padding-top:2px}
.bade-dot{width:9px;height:9px;border-radius:50%;flex:none;margin-top:4px}
.bade-main{flex:1;min-width:0}
.bade-name{display:flex;justify-content:space-between;gap:8px;align-items:baseline;font-size:12.5px;font-weight:700;color:var(--ink)}
.bade-name>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bade-temp{flex:none;font-weight:800;color:var(--navy)}
.bade-sub{font-size:11px;color:var(--muted);margin-top:2px}
.bade-warn{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--red);margin-top:3px}
.bade-src{font-size:10px;color:var(--muted);margin-top:9px;border-top:1px solid var(--line);padding-top:8px}
/* Bezirksamt-Pressefeed (berlin.de) */
.bz-row{display:flex;gap:10px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line);color:inherit}
.bz-row:first-child{border-top:0;padding-top:2px}
.bz-date{flex:0 0 36px;font-family:var(--display);font-weight:600;font-size:12px;color:var(--muted)}
.bz-main{min-width:0}
.bz-title{font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bz-row:hover .bz-title{color:var(--red)}
.bz-tag{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#fff;background:var(--navy);border-radius:3px;padding:1px 6px;margin-bottom:3px}
.bz-src{font-size:10px;color:var(--muted);margin-top:9px;border-top:1px solid var(--line);padding-top:8px}
/* Melde-Formular: Checkboxen */
.report-checks{display:flex;flex-direction:column;gap:8px;margin:2px 0}
.chk{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--muted);font-weight:600;cursor:pointer;line-height:1.35}
.chk input{margin-top:1px;accent-color:var(--red);flex:none}
/* So prüfen wir Meldungen */
.steps{margin:10px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:9px;color:var(--ink)}
.steps li{line-height:1.5}
.status-legend{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.status-legend li{display:flex;align-items:center;gap:9px;line-height:1.4}
.status-legend .sdot{width:11px;height:11px}
/* Quellenlage (Artikelseite) */
.quellenlage-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.quellenlage-title{font-size:15px;margin:0;display:inline-flex;align-items:center;gap:7px;text-transform:none;letter-spacing:0;border:0;padding:0;color:var(--ink)}
.quellenlage-info{font-size:11.5px;font-weight:700;color:var(--red);white-space:nowrap}
.quellenlage-info:hover{text-decoration:underline}
.quellenlage-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:var(--muted);margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
/* Kartenfilter */
.map-filter{display:flex;align-items:flex-start;gap:7px;font-size:11.5px;color:var(--muted);font-weight:600;cursor:pointer;margin-top:10px;line-height:1.3}
.map-filter input{margin-top:1px;accent-color:var(--gruen);flex:none}
/* Veranstaltungen */
.events-list{display:flex;flex-direction:column;gap:26px;margin-top:8px}
.ev-date{font-size:15px;font-weight:800;color:var(--ink);text-transform:capitalize;margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid var(--line)}
.ev-items{display:flex;flex-direction:column;gap:8px}
.ev-card{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:11px 14px;box-shadow:0 1px 2px rgba(12,63,84,.04)}
.ev-time{flex:0 0 64px;font-size:13px;font-weight:800;color:var(--navy)}
.ev-main{flex:1;min-width:0}
.ev-title{font-weight:700;color:var(--ink);font-size:14px;line-height:1.3}
.ev-venue{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin-top:3px}
.ev-free{flex:none;font-size:10.5px;font-weight:800;color:var(--gruen);background:#e9f6f0;border:1px solid #cfe9df;padding:4px 9px;border-radius:20px;white-space:nowrap}
.events-credit{font-size:12px;color:var(--muted);margin-top:30px;line-height:1.5}
.events-credit a{color:var(--red);font-weight:700}
/* ÖPNV-Kachel (VBB Echtzeit) */
#transit-box{display:flex;flex-direction:column;gap:7px}
.tr-row{display:flex;align-items:center;gap:8px;font-size:12.5px}
.tr-row.off{opacity:.6}
.tr-line{flex:0 0 auto;min-width:30px;text-align:center;font-weight:800;font-size:10.5px;color:#fff;background:var(--navy);padding:3px 6px;border-radius:5px;white-space:nowrap}
.tr-suburban{background:#0a7a3f} .tr-subway{background:#1357a6} .tr-tram{background:#cc2b4a} .tr-bus{background:#7a3a8c} .tr-ferry{background:#0a6ea8}
.tr-dir{flex:1;min-width:0;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr-when{flex:none;font-weight:700;color:var(--muted);white-space:nowrap}
.tr-late{color:#e0691a;font-weight:800}
.tr-canc{color:var(--red);font-weight:800}
.tr-src{font-size:10px;color:var(--muted);margin-top:9px}
.tr-dis-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--navy);margin-bottom:7px}
.tr-dis{font-size:11.5px;color:var(--ink);line-height:1.4;padding:7px 10px;background:#eef1f3;border-left:3px solid var(--navy);border-radius:0 7px 7px 0;margin-bottom:5px}
.tr-dis-lines{font-weight:800;color:var(--navy)}
.tr-dis-more{font-size:11px;color:var(--muted);margin-bottom:4px}
.tr-ok{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--gruen)}
.tr-board-h{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin:12px 0 8px;border-top:1px solid var(--line);padding-top:10px}
/* Karten-Popup mit Artikel-Link */
.map-pop{min-width:210px}
.map-pop-head{display:flex;gap:9px;align-items:flex-start;margin-bottom:7px}
.map-pop-thumb{flex:none;width:46px;height:46px;object-fit:cover;border-radius:3px;background:var(--navy-soft)}
.map-pop-title{font-weight:800;font-size:13px;color:var(--ink);line-height:1.22;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.map-pop-head:hover .map-pop-title{color:var(--red)}
.map-pop-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:11.5px;color:var(--muted);margin-bottom:9px}
.map-pop-link{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;color:var(--red)}
.map-pop-link:hover{text-decoration:underline}
/* Moderation */
.mod-list{display:grid;gap:14px;margin-bottom:40px}
.mod-card{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px;box-shadow:var(--shadow)}
.mod-thumb{flex:0 0 140px;height:104px;border-radius:8px;overflow:hidden;background:var(--navy-soft)}
.mod-thumb img{width:100%;height:100%;object-fit:cover}
.mod-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.mod-title{font-weight:800;color:var(--ink)}
.mod-meta{font-size:12px;color:var(--muted)}
.mod-actions{display:flex;gap:8px;margin-top:auto;flex-wrap:wrap}
/* Medium in Quarantäne */
.media-pending-note{display:flex;align-items:center;gap:8px;background:#fef6e0;border:1px solid #f0d27a;color:#7a5a12;
  font-size:12px;font-weight:600;padding:8px 12px;border-radius:9px;margin:8px 0}
.card-pending{background:rgba(122,90,18,.94);color:#fff;font-size:10px;font-weight:800;
  padding:5px 10px;border-radius:30px;display:inline-flex;align-items:center;gap:5px}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

/* ===== Breaking-Bar ===== */
.breaking-bar{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,#06222f,#0c3f54);color:#fff;height:34px;padding:0 16px;overflow:hidden}
.breaking-tag{background:#fff;color:var(--red);font-weight:800;font-size:11px;letter-spacing:.5px;padding:4px 9px;border-radius:4px;white-space:nowrap;flex:none;transition:background .2s}
.breaking-tag.calm{background:#fff;color:var(--red)}
.ticker{flex:1;overflow:hidden;white-space:nowrap}
.ticker-track{display:inline-block;white-space:nowrap;animation:ticker-loop 20s linear infinite;font-size:13px;color:#dfe6ee;will-change:transform}
.breaking-bar:hover .ticker-track{animation-play-state:paused}
.ticker-track a{color:inherit;text-decoration:none}
.ticker-track a:hover{text-decoration:underline;text-underline-offset:2px}
.ticker-track span{margin-right:46px;opacity:.92}
.ticker-track b{color:#fff}
.ticker-track .tk b{margin-right:7px;letter-spacing:.4px}
.ticker-track .tk-eil b{color:#ff6b8a}
.ticker-track .tk-live b{color:#ffb347}
.ticker-track .tk-neu b{color:#9fc0cc}
.card-status[title]{cursor:help}
/* Ticker: nahtloser Endlos-Loop – Track enthält Inhalt 2× (JS), Animation verschiebt -50% */
@keyframes ticker-loop{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===== Sticky Kopfbereich ===== */
.site-top{position:sticky;top:0;z-index:500;background:var(--card);box-shadow:0 1px 0 var(--line)}
.topbar{display:flex;align-items:center;gap:18px;max-width:1600px;margin:0 auto;padding:12px 26px}
.brand{display:flex;align-items:center;gap:9px}
.brand-dot{width:12px;height:12px;border-radius:50%;background:var(--red);
  animation:brandPulse 1.9s ease-in-out infinite;will-change:transform}
/* „Live"-Puls: Punkt atmet (größer/kleiner) + Ring pulst nach außen */
@keyframes brandPulse{
  0%   {transform:scale(.9); box-shadow:0 0 0 0 rgba(204,43,74,.5)}
  60%  {transform:scale(1.18);box-shadow:0 0 0 8px rgba(204,43,74,0)}
  100% {transform:scale(.9); box-shadow:0 0 0 0 rgba(204,43,74,0)}
}
@media (prefers-reduced-motion:reduce){
  .brand-dot{animation:none;box-shadow:0 0 0 4px rgba(204,43,74,.18)}
}
.brand-name{font-weight:800;font-size:20px;letter-spacing:-.3px}
.brand-name span{color:var(--red)}
.brand-claim{font-size:11px;color:var(--muted);border-left:1px solid var(--line);padding-left:10px;margin-left:2px}
.search{flex:1;max-width:520px;position:relative}
.search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;width:15px;height:15px;stroke-width:2.2;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;display:inline-block;overflow:visible}
.search input{width:100%;padding:9px 14px 9px 34px;border:1px solid var(--line);border-radius:9px;background:#f4f6fb;font-size:14px;outline:none;transition:.15s}
.search input:focus{border-color:var(--navy);background:#fff;box-shadow:0 0 0 3px rgba(12,63,84,.13)}
.top-actions{display:flex;gap:9px;margin-left:auto}
.btn{border:0;border-radius:9px;padding:9px 15px;font-size:13px;font-weight:700;cursor:pointer;transition:.15s;white-space:nowrap}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 4px 12px rgba(204,43,74,.26)}
.btn-primary:hover{background:var(--red-d);box-shadow:0 6px 16px rgba(204,43,74,.34)}
.btn-ghost{background:#eef1f6;color:var(--ink)}
.auth-chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--ink);padding:4px 10px;border-radius:30px;background:var(--navy-soft)}
.auth-ava{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:10px;font-weight:800}
.btn-ghost:hover{background:#e2e7f0}

/* ===== Kategorie-Navigation ===== */
.catbar{display:flex;gap:4px;max-width:1600px;margin:0 auto;padding:0 20px 0;border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.catbar::-webkit-scrollbar{display:none}
.cat{display:inline-flex;align-items:center;gap:7px;padding:12px 14px;font-weight:700;font-size:13px;color:var(--muted);white-space:nowrap;border-bottom:3px solid transparent;cursor:pointer}
.cat svg{width:16px;height:16px;flex:none;opacity:.85}
.cat:hover{color:var(--ink)}
.cat.active{color:var(--red);border-bottom-color:var(--red)}
.cat.active svg{opacity:1}

/* ===== Layout ===== */
.layout{display:grid;grid-template-columns:170px minmax(0,1fr) 340px;gap:24px;max-width:1600px;margin:22px auto;padding:0 26px;align-items:start;background:#fff}
/* Linke Spalte: Orte */
.leftbar{position:sticky;top:118px;display:flex;flex-direction:column;gap:16px;background:#ffffff;padding:0 4px}
.places-nav{display:flex;flex-direction:column;gap:1px}
.places-nav a{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 10px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink);transition:.12s}
.places-nav a:hover{background:var(--navy-soft)}
.places-nav a.active{background:var(--navy);color:#fff}
.places-nav a .cnt{font-size:11px;font-weight:700;opacity:.55}
.places-nav a.active .cnt{opacity:.85}
.places-follow{margin-top:9px;width:100%;font-size:12px;padding:8px}
.places-follow.on{background:var(--navy);color:#fff}
/* Rubriken (Platzhalter) */
.formats-nav{display:flex;flex-direction:column;gap:1px}
.formats-nav a{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 10px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink);transition:.12s}
.formats-nav a:hover{background:var(--navy-soft)}
.formats-nav .soon{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);background:var(--navy-soft);padding:2px 7px;border-radius:20px;flex:none}
/* Orte als Chips (Mobile) */
.place-chips{display:none;gap:7px;overflow-x:auto;scrollbar-width:none;padding:2px 0 6px}
.place-chips::-webkit-scrollbar{display:none}
.place-chips button{flex:none;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:12.5px;font-weight:700;padding:7px 13px;border-radius:30px;cursor:pointer;white-space:nowrap}
.place-chips button.active{background:var(--navy);border-color:var(--navy);color:#fff}

/* ===== Hero / Leitmeldung ===== */
.hero{position:relative;border-radius:18px;overflow:hidden;min-height:440px;cursor:pointer;box-shadow:0 10px 34px rgba(12,63,84,.20);background:#0c3f54}
.hero img{transition:transform .6s ease}
.hero:hover img{transform:scale(1.04)}
/* Header-Hero (Bild mit Overlay-Schlagzeile) – sitzt in der Content-Spalte, bündig mit den Meldungs-Kacheln */
.hero-banner{width:100%;min-height:0;height:clamp(280px,38vh,440px);border-radius:10px;box-shadow:0 8px 24px rgba(12,63,84,.14);margin:0 0 18px}
/* dezentere Abdunklung: Bild bleibt gut sichtbar, nur unten genug Kontrast für den Text */
.hero-banner .hero-shade{background:linear-gradient(180deg,rgba(4,26,36,.34) 0%,rgba(4,26,36,.22) 42%,rgba(4,26,36,.5) 100%);transition:opacity .45s ease}
.hero-banner:hover .hero-shade{opacity:.34}
.hero-banner .hero-top{top:16px;left:18px;right:auto}
/* Schlagzeile auf einem abgedunkelten Rechteck (auf dem abgedunkelten Bild) */
.hero-banner .hero-body{left:0;right:auto;bottom:0;max-width:min(560px,82%);
  background:rgba(204,43,74,.94);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  border-radius:0 12px 0 0;padding:13px 18px 13px 19px;box-shadow:0 -2px 22px rgba(0,0,0,.22)}
.hero-banner .hero-body h2{font-size:clamp(16px,1.4vw,20px);line-height:1.22;max-width:none;margin-bottom:6px}
.hero-banner .hero-meta{font-size:12px;gap:14px}
/* Teaser: klappt beim Hovern der Schlagzeilen-Box nach oben auf */
.hero-banner .hero-teaser{margin:0;max-height:0;opacity:0;overflow:hidden;color:#eef4f6;font-size:13.5px;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  transition:max-height .4s ease,opacity .32s ease,margin .4s ease}
.hero-banner .hero-body:hover .hero-teaser{max-height:5.4em;opacity:1;margin:0 0 11px}
/* Hierarchie: sekundäre Sidebar-Module ruhiger (Vertrauensbarometer bleibt stark) */
.rightbar .panel:not(.trust-panel):not(.map-panel){box-shadow:0 1px 2px rgba(12,63,84,.05)}
.rightbar .panel:not(.trust-panel) .panel-title{color:var(--muted)}
.hero-link{position:absolute;inset:0;display:block;color:#fff}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,34,47,0) 28%,rgba(6,34,47,.5) 62%,rgba(4,26,36,.94) 100%)}
.hero-top{position:absolute;top:14px;left:14px;right:14px;display:flex;justify-content:space-between;gap:8px;z-index:2}
.hero-body{position:absolute;left:0;right:0;bottom:0;padding:22px;z-index:2;color:#fff}
.hero-body .cat-tag{position:static;display:inline-block;margin-bottom:10px}
.hero-body h2{margin:0 0 10px;font-size:31px;line-height:1.16;font-weight:800;max-width:760px;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.hero-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:12.5px;opacity:.95}
.hero-meta .role{color:#fff}

/* ===== Aufmacher-Block: Leitmeldung + Liste „Weitere Topmeldungen" (Magazin-Look) ===== */
.lead-block{display:grid;grid-template-columns:1fr calc((100% - 44px) / 3);gap:22px;align-items:start;margin:0 0 24px}
.lead-block.solo{grid-template-columns:1fr}
.lead-block .hero-banner{margin:0;height:clamp(360px,40vh,440px)}
.lead-side{display:flex;flex-direction:column;min-width:0;padding-top:0}
.lead-side-title{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--ink);margin:0 0 6px;padding-left:11px;border-left:4px solid var(--red)}
.lead-list{list-style:none;margin:0;padding:0}
.lead-item{border-top:1px solid var(--line)}
.lead-item:first-child{border-top:0}
.lead-item>a{display:flex;gap:12px;align-items:center;padding:13px 0;min-width:0;color:inherit}
.lead-thumb{flex:none;width:86px;height:62px;border-radius:8px;overflow:hidden;background:var(--navy-soft);position:relative}
.lead-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,26,36,.26),rgba(4,26,36,.12))}
.lead-thumb img{width:100%;height:100%;object-fit:cover}
.lead-text{min-width:0;display:flex;flex-direction:column;gap:3px}
.lead-head{font-size:13.5px;font-weight:800;line-height:1.28;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s}
.lead-item:hover .lead-head{color:var(--red)}
.lead-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}
.lead-meta .sdot{width:8px;height:8px;border-radius:50%;flex:none}
/* Ort-/Rubrik-Kicker: rote Mini-Headline über der Schlagzeile (Newsportal-Look) */
.kicker{font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--red);line-height:1.2}
.news-body .kicker{margin:0 0 5px}
.lead-text .kicker{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ===== Section-Head ===== */
.section-head{display:flex;align-items:center;justify-content:space-between;margin:0 2px 14px}
.section-head h2{font-size:16px;margin:0;text-transform:uppercase;letter-spacing:.6px;padding-left:12px;border-left:4px solid var(--red)}
.tabs{display:flex;gap:4px;background:#e9edf4;border-radius:9px;padding:4px}
.tab{border:0;background:transparent;padding:6px 12px;border-radius:7px;font-weight:700;color:var(--muted);cursor:pointer;font-size:12.5px}
.tab.active{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}

/* ===== News-Raster (Bild oben · aufgeräumter Body darunter) ===== */
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:22px;grid-auto-flow:dense}
.news-card{display:flex;flex-direction:column;background:var(--card);border-radius:10px;overflow:hidden;cursor:pointer;box-shadow:0 1px 2px rgba(12,63,84,.04),0 8px 22px rgba(12,63,84,.07);transition:transform .22s ease,box-shadow .22s ease}
.news-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(12,63,84,.15)}
.news-link{display:flex;flex-direction:column;flex:1;color:inherit}
.news-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--navy-soft)}
/* dezente Abdunklung über allen Bildern – lässt das Rot edler wirken, Pills bleiben darüber */
.news-thumb::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(4,26,36,.44) 0%,rgba(4,26,36,.16) 42%,rgba(4,26,36,.26) 100%)}
.card-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.news-card:hover .card-img{transform:scale(1.05)}
.cat-tag{position:absolute;top:11px;left:11px;background:var(--red);color:#fff;font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:5px 11px;border-radius:30px;z-index:2;box-shadow:0 2px 10px rgba(6,34,47,.28)}
.cat-tag-static{position:static;display:inline-block;margin-bottom:10px}
.news-thumb .card-pending{position:absolute;top:11px;right:11px;z-index:2}
.news-body{padding:14px 16px 10px;display:flex;flex-direction:column;flex:1}
.news-body h3{margin:0 0 9px;font-size:15.5px;line-height:1.3;font-weight:800;color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s}
.news-card:hover .news-body h3{color:var(--red)}
.card-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:11.5px;color:var(--muted);margin-top:auto}
.card-meta span{display:inline-flex;align-items:center;gap:5px}
/* Footer: Status links · Vote rechts · feine Trennlinie */
.news-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 16px 12px;border-top:1px solid var(--line)}
.card-status{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:var(--ink)}
.card-status i{width:9px;height:9px;border-radius:50%;background:var(--c);flex:none;box-shadow:0 0 0 3px rgba(12,63,84,.06)}
.mini-vote{display:inline-flex;align-items:center;gap:3px}
.mini-vote .deg{font-size:11px;font-weight:800;color:var(--ink);padding:0 2px;min-width:30px;text-align:center}
.mini-vote button{width:26px;height:26px;border:1px solid var(--line);background:#fff;border-radius:8px;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.15s}
.mini-vote .up:hover{border-color:var(--red);color:var(--red);background:var(--red-soft)}
.mini-vote .down:hover{border-color:var(--cold);color:var(--cold);background:var(--navy-soft)}
.mini-vote .up.active{background:var(--red);border-color:var(--red);color:#fff}
.mini-vote .down.active{background:var(--cold);border-color:var(--cold);color:#fff}
/* Feature: volle Breite, Bild links + Body rechts (Desktop) – Layout-Variation */
.news-card.feature{grid-column:1/-1}
.feature .news-link{flex-direction:row;align-items:stretch}
.feature .news-thumb{flex:0 0 42%;aspect-ratio:auto;min-height:210px}
.feature .news-body{justify-content:center;padding:20px 24px 12px}
.feature .news-body h3{font-size:21px;line-height:1.2;-webkit-line-clamp:3}
.feature .card-meta{font-size:12.5px}
/* Status-Pill (Hero) */
.vstatus{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.2px;padding:4px 10px;border-radius:30px;background:rgba(255,255,255,.96);color:var(--ink);white-space:nowrap;box-shadow:0 2px 8px rgba(6,34,47,.2)}
.vstatus::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c);flex:none}
.temp-chip{font-size:11px;font-weight:700;color:#fff;background:rgba(6,34,47,.5);padding:3px 9px;border-radius:20px;align-self:flex-start;backdrop-filter:blur(2px)}

/* gemeinsame Badges */
.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;color:#fff}
.status-pill::before{content:"⬤";font-size:8px}
.chip{font-size:11px;color:var(--muted);background:#eef1f6;padding:3px 9px;border-radius:20px;font-weight:600}
.role{font-size:10px;font-weight:800;padding:2px 7px;border-radius:20px;color:#fff;white-space:nowrap}

/* Mini-Voting */
.mini-vote{display:inline-flex;align-items:center;gap:4px;flex:none}
.mini-vote button{width:26px;height:24px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer;font-size:11px;line-height:1}
.mini-vote .up:hover{background:var(--red-soft);border-color:var(--red);color:var(--red)}
.mini-vote .down:hover{background:var(--navy-soft);border-color:var(--cold);color:var(--cold)}
.mini-vote .up.active{background:var(--red);border-color:var(--red);color:#fff}
.mini-vote .down.active{background:var(--cold);border-color:var(--cold);color:#fff}
.mini-vote .deg{font-weight:800;font-size:12px;min-width:34px;text-align:center}
.mini-vote .deg.hot{color:var(--red)}

/* ===== Rechte Sidebar ===== */
.rightbar{position:sticky;top:118px;display:flex;flex-direction:column;gap:16px;background:#fff;border-radius:12px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:14px 16px}
.panel-title,.map-panel h3{font-size:13px;margin:0 0 11px;text-transform:uppercase;letter-spacing:.5px;padding-left:10px;border-left:4px solid var(--red)}
.panel-sub{margin:-4px 0 10px;font-size:12px;color:var(--muted)}

/* Karte kompakt */
.map-panel{padding-bottom:12px}
#leaflet-map{height:190px;width:100%;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
/* dezente Abdunklung der Kartenkacheln (Marker/Bedienelemente bleiben klar) */
#leaflet-map .leaflet-tile-pane{filter:brightness(.8) saturate(.92)}
.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--muted);margin-top:9px}
.legend i.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:middle}
.dot.grau{background:var(--grau)} .dot.gelb{background:var(--gelb)} .dot.gruen{background:var(--gruen)}

.hot-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px}
.hot-list li{font-size:13px}
.hot-list a{color:inherit;display:block}
.hot-list li:hover .t{color:var(--red)}
.hot-list .t{font-weight:600}
.hot-list .deg{color:var(--red);font-weight:800;font-size:12px}

.bounty-list{display:flex;flex-direction:column;gap:10px}
.bounty{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 13px 11px 15px;box-shadow:0 1px 2px rgba(12,63,84,.05);transition:transform .15s,box-shadow .15s}
.bounty::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--navy),var(--red))}
.bounty:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(12,63,84,.12)}
.bounty .reward{display:inline-block;font-weight:800;color:var(--navy);font-size:14px;background:var(--navy-soft);padding:2px 10px;border-radius:999px;margin-bottom:6px;letter-spacing:.2px}
.bounty .b-title{font-size:13px;margin:2px 0 4px;font-weight:700;color:var(--ink)}
.bounty .b-meta{font-size:11px;color:var(--muted)}

.profile-card{display:flex;flex-direction:column;gap:8px}
.profile-top{display:flex;align-items:center;gap:11px}
.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#0c3f54,#072c3c);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px}
.profile-name{font-weight:800}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.stat{background:#f3f5fa;border-radius:10px;padding:9px 11px}

/* Vertrauensbarometer */
.trust-panel{background:var(--card)}
.trust-panel .panel-title{color:var(--ink)}
.trust-rate{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.trust-rate-num{font-size:32px;font-weight:800;line-height:1;color:var(--gruen)}
.trust-rate-lbl{font-size:12px;font-weight:700;color:var(--ink);line-height:1.3}
.trust-rate-lbl small{font-weight:500;color:var(--muted)}
.trust-mini{height:6px;border-radius:6px;background:var(--navy-soft);overflow:hidden;margin:0 0 13px}
.trust-mini i{display:block;height:100%;background:var(--gruen);border-radius:6px}
.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.trust-stat{background:var(--navy-soft);border:1px solid var(--line);border-radius:10px;padding:9px 11px}
.trust-stat b{display:block;font-size:18px;font-weight:800;color:var(--navy)}
.trust-stat small{font-size:10.5px;color:var(--muted)}

/* Vertrauensbalken auf der Artikelseite */
.trust-bar{background:#f6f8fc;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:6px 0 18px}
.trust-bar-head{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.trust-score{font-size:36px;font-weight:800;line-height:1}
.trust-score small{font-size:15px;font-weight:700;color:var(--muted)}
.trust-bar-main{flex:1;min-width:0}
.trust-score-lbl{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:6px}
.trust-track{height:9px;border-radius:6px;background:#e4e8f0;overflow:hidden}
.trust-track i{display:block;height:100%;border-radius:6px;transition:width .4s}
.trust-factors{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}
.trust-factors .tf{font-size:13px;display:flex;align-items:center;gap:8px;color:#334155}
.trust-factors .tf::before{content:"";width:9px;height:9px;border-radius:50%;flex:none}
.tf-good::before{background:var(--gruen)}
.tf-pending::before{background:var(--gelb)}
.tf-neutral::before{background:var(--grau)}
.trust-note{font-size:11.5px;color:var(--muted);margin:10px 0 0;font-style:italic}

/* Vertrauens-Mini-Balken auf den Feed-Kacheln */
.card-trust{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:4px}
.ct-bar{flex:1;height:5px;border-radius:4px;background:#e4e8f0;overflow:hidden}
.ct-bar i{display:block;height:100%;border-radius:4px}
.ct-num{font-size:11px;font-weight:800;color:var(--ink)}
.hot-list .sdot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}
.stat b{display:block;font-size:18px}
.stat small{color:var(--muted);font-size:11px}
.abo{font-size:12px;color:var(--gruen);background:#e9f7ee;border-radius:8px;padding:8px 10px;margin-top:4px;font-weight:600}
.rating-bar{height:8px;background:#eef2f7;border-radius:6px;overflow:hidden;margin-top:4px}
.rating-bar i{display:block;height:100%;background:linear-gradient(90deg,#0c3f54,#cc2b4a)}

/* ===== Footer ===== */
.site-foot{background:var(--navy);color:#cdd5e6;margin-top:40px}
.foot-inner{max-width:1600px;margin:0 auto;padding:30px 26px;display:flex;flex-wrap:wrap;gap:26px;align-items:flex-start;justify-content:space-between}
.foot-brand{max-width:340px}
.fb-name{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:17px;color:#fff}
.fb-name span{color:var(--red)}
.foot-claim{margin:10px 0 0;font-size:12.5px;line-height:1.55;color:#9fa9c2}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 20px}
.foot-links a{font-size:13.5px;font-weight:600;color:#cdd5e6}
.foot-links a:hover{color:#fff}
.foot-social{display:flex;gap:10px}
.foot-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#cdd5e6;transition:.15s}
.foot-social a:hover{background:var(--red);color:#fff;transform:translateY(-2px)}
.foot-social svg{width:18px;height:18px}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding:14px 20px;text-align:center;font-size:12px;color:#8f99b4}
@media(max-width:560px){
  .foot-inner{flex-direction:column;gap:20px;padding:24px 16px}
}

/* ===== Empty State ===== */
.empty{grid-column:1/-1;text-align:center;color:var(--muted);background:var(--card);border:1px dashed var(--line);border-radius:13px;padding:34px}

/* ===== Map Marker ===== */
.map-dot{display:block;width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(6,34,47,.45)}

/* ===== Modals ===== */
.modal-overlay{position:fixed;inset:0;background:rgba(6,34,47,.6);display:none;align-items:flex-start;justify-content:center;padding:6vh 16px;z-index:1000;overflow-y:auto;-webkit-overflow-scrolling:touch}
.modal-overlay.open{display:flex}
.modal{background:#fff;border-radius:16px;width:100%;max-width:520px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal-head{display:flex;justify-content:space-between;align-items:center}
.modal-head h3{margin:0;font-size:18px}
.modal-close{border:0;background:#eef1f6;width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:14px}
.modal-hint{font-size:12px;color:var(--muted);background:#f3f5fa;border-radius:10px;padding:10px 12px;margin:12px 0 14px;line-height:1.5}
#report-form{display:flex;flex-direction:column;gap:11px}
#report-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:var(--muted)}
#report-form input,#report-form textarea,#report-form select{padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit;color:var(--ink)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.btn-block{width:100%;margin-top:6px;padding:11px}

/* KI-Text aus Stichpunkten */
.ai-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-4px 0 2px}
.btn-ai{font-size:12px;padding:7px 12px}
.btn-ai:disabled{opacity:.6;cursor:progress}
.ai-hint{font-size:11px;color:var(--muted)}

/* Bild-Upload im Melde-Formular */
.upload-field{display:flex;flex-direction:column;gap:6px}
.upload-title{font-size:12px;font-weight:700;color:var(--muted)}
.upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.btn-upload{font-size:12px;padding:8px 13px}
.upload-name{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55%}
.image-preview{position:relative;margin-top:2px;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#f3f5fa}
.image-preview img{width:100%;max-height:210px;object-fit:cover;display:block}
.image-preview video{width:100%;max-height:230px;display:block;background:#000}
.image-remove{position:absolute;top:8px;right:8px;border:0;border-radius:8px;background:rgba(12,63,84,.78);color:#fff;font-size:12px;font-weight:700;padding:5px 10px;cursor:pointer;backdrop-filter:blur(2px)}
.image-remove:hover{background:var(--red)}

/* Faktizitäts-Gate: Live-Feedback */
.claim-feedback{display:none;flex-direction:column;gap:3px;border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.45}
.claim-feedback.show{display:flex}
.claim-feedback b{font-size:12.5px}
.claim-feedback .sig{opacity:.85;font-style:italic}
.claim-feedback.ok{background:#e9f7ee;color:#0f7a42}
.claim-feedback.warn{background:#eef1f6;color:#475569}
.claim-feedback.danger{background:var(--red-soft);color:var(--red-d)}
/* Hinweis auf Artikelseite bei nicht-verifizierbaren Beiträgen */
.claim-note{margin:14px 0 0;font-size:13px;border-radius:10px;padding:11px 13px;line-height:1.5;background:#eef1f6;color:#475569}
.claim-note.danger{background:var(--red-soft);color:var(--red-d)}

/* Artikelansicht */
.modal.article{max-width:660px;max-height:88vh;overflow-y:auto}
.article-media-wrap{position:relative;margin:6px 0 14px}
.article-media{width:100%;height:280px;object-fit:cover;border-radius:9px;background:#eef2f7}
.article-media-wrap::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:9px;background:linear-gradient(180deg,rgba(4,26,36,.34),rgba(4,26,36,.12) 45%,rgba(4,26,36,.24))}
.article-video-wrap{position:relative;margin:14px 0 4px}
.article-video{width:100%;max-height:460px;border-radius:12px;background:#000;display:block}
.legal-note{background:#fef6e0;border:1px solid #f3dca0;border-radius:10px;padding:10px 13px;font-size:12.5px;color:#7a5b13;margin:0 0 18px}
.legal-note code{background:#fff;padding:1px 5px;border-radius:4px}
.media-tag{position:absolute;left:9px;bottom:9px;z-index:2;background:rgba(6,34,47,.72);color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px}
.article-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.article-byline{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:12px;color:var(--muted);padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.article-byline > span{display:inline-flex;align-items:center;gap:6px}
.article-byline .bi{width:15px;height:15px;flex:none;opacity:.85}
.article-text{color:#2a3340;line-height:1.65;font-size:14.5px}
.article-text p{margin:0 0 12px}
.no-article{margin-top:12px;font-size:13px;color:var(--muted);background:var(--navy-soft);border-radius:10px;padding:11px 13px;line-height:1.5}
.article-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.confirm-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 13px;cursor:pointer;font-weight:700;color:var(--ink);font-size:13px}
.confirm-btn:hover{background:#f1f5fa}

/* ===== Eigene Artikelseite ===== */
.article-page{max-width:760px;margin:24px auto 0;padding:0 20px}
.back-link{display:inline-block;color:var(--red);font-weight:700;font-size:13px;margin-bottom:8px}
.back-link:hover{text-decoration:underline}
.article-page h1{font-size:30px;line-height:1.22;margin:6px 0 14px}
.article-page .article-byline{margin-top:0}
.article-page .article-media{height:380px}

/* ===== Toast ===== */
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#0c3f54;color:#fff;padding:11px 18px;border-radius:10px;font-size:13px;box-shadow:var(--shadow);opacity:0;transition:.3s;z-index:1200}
.toast.show{opacity:1}

/* ===== Kommentare (Artikelseite) ===== */
.comments{max-width:760px;margin:34px auto 0;padding:24px 20px 0;border-top:1px solid var(--line)}
.comments-head{font-size:20px;font-weight:800;color:var(--ink);margin:0 0 4px}
.comment-count{color:var(--muted);font-weight:700;font-size:15px}
.comments-hint{font-size:12.5px;color:var(--muted);margin:0 0 16px}
.comment-form{display:flex;flex-direction:column;gap:9px;margin-bottom:24px}
.comment-form input,.comment-form textarea{padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px;font-family:inherit;color:var(--ink)}
.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(12,63,84,.12)}
.comment-form textarea{resize:vertical;min-height:64px}
.comment-form .btn{align-self:flex-start}
.comment-as{font-size:12px;color:#0f7a42;background:#e9f7ee;border:1px solid #c7e8d3;border-radius:8px;padding:6px 10px;font-weight:700;align-self:flex-start}
.comment-auth{background:#f6f8fc;border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:13.5px;color:var(--muted);margin-bottom:18px}
.comment-auth a{color:var(--red);font-weight:700}
.comment-auth a:hover{text-decoration:underline}
.comment-list{display:flex;flex-direction:column;gap:14px}
.comment{display:flex;gap:11px}
.comment-avatar{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-d))}
.comment-main{flex:1;min-width:0;background:#f6f8fc;border:1px solid var(--line);border-radius:12px;padding:10px 13px}
.comment-top{display:flex;align-items:baseline;gap:10px;margin-bottom:3px;flex-wrap:wrap}
.comment-author{font-weight:800;font-size:13px;color:var(--ink)}
.comment-time{font-size:11.5px;color:var(--muted)}
.comment-body{margin:0;font-size:13.5px;line-height:1.55;color:#2a3340;white-space:pre-wrap;overflow-wrap:anywhere}
.comment-actions{margin-top:8px}
.cmt-like{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:#fff;border-radius:20px;padding:4px 11px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;transition:.15s}
.cmt-like:hover{border-color:var(--red);color:var(--red)}
.cmt-like.on{background:var(--red-soft);border-color:var(--red);color:var(--red)}
.cmt-like.on .ic{fill:var(--red)}
.cmt-like-n{min-width:5px}
.comment-empty{color:var(--muted);font-size:13.5px;padding:4px 0}

/* ===== Artverwandte Artikel (Artikelseite) ===== */
.related{max-width:760px;margin:30px auto 0;padding:22px 20px 0;border-top:1px solid var(--line)}
.related-head{font-size:19px;font-weight:800;color:var(--ink);margin:0 0 14px}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.related-card{display:flex;gap:11px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(12,63,84,.05);transition:transform .15s,box-shadow .15s}
.related-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(12,63,84,.12)}
.related-card:hover h3{color:var(--red)}
.related-thumb{flex:none;width:88px;background:#eef1f6;position:relative}
.related-thumb img{width:88px;height:100%;object-fit:cover;display:block}
.related-thumb::after{content:"";position:absolute;inset:0;pointer-events:none;background:rgba(4,26,36,.26)}
.related-body{padding:9px 11px 9px 0;min-width:0}
.related-cat{font-size:10px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--red)}
.related-body h3{font-size:13.5px;line-height:1.3;margin:3px 0 5px;color:var(--ink);transition:color .15s;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.related-meta{font-size:11px;color:var(--muted)}

/* ===== Auth / Accounts ===== */
.auth-area{display:flex;align-items:center;gap:9px}
#btn-push.on{background:var(--navy);color:#fff}
#btn-push.on:hover{background:var(--navy-d)}
.user-chip{display:inline-flex;align-items:center;gap:7px;background:#eef1f6;border-radius:999px;padding:3px 11px 3px 4px;font-weight:700;font-size:13px;color:var(--ink)}
.user-ava{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-d))}
.user-name{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.modal-narrow{max-width:380px}
#auth-form [hidden]{display:none !important}   /* ausgeblendete Felder je Modus zuverlässig verstecken */
.auth-tabs{display:flex;gap:6px;background:#eef1f6;border-radius:10px;padding:4px;margin:12px 0 16px}
.auth-tab{flex:1;border:0;background:transparent;padding:9px;border-radius:8px;font-weight:700;font-size:13px;color:var(--muted);cursor:pointer;transition:.15s}
.auth-tab.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(12,63,84,.12)}
.modal-overlay{overflow-y:auto}
#auth-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:11px}
#auth-form input,#auth-form select{padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit;color:var(--ink);background:#fff}
#auth-form input:focus,#auth-form select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(12,63,84,.12)}
.auth-row{display:flex;gap:10px}
.auth-row > label{flex:1;min-width:0}
#plz-slot{display:block}
#plz-slot input,#plz-slot select{width:100%}
.pw-wrap{position:relative;display:block}
#auth-form .pw-wrap input,.auth-form-page .pw-wrap input{width:100%;padding-right:40px}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:30px;height:30px;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0}
.pw-toggle:hover{color:var(--ink)}
.pw-toggle svg{width:18px;height:18px}
.pw-toggle .eye-off{display:none}
.pw-toggle.on .eye{display:none}
.pw-toggle.on .eye-off{display:block}
.auth-forgot{display:inline-block;font-size:12px;color:var(--muted);font-weight:600;margin:-3px 0 12px}
.auth-forgot:hover{color:var(--red);text-decoration:underline}
.auth-error{background:var(--red-soft);color:var(--red-d);border-radius:9px;padding:9px 12px;font-size:12.5px;font-weight:600;margin-bottom:11px}
.auth-info{background:var(--navy-soft);color:var(--navy-d);border:1px solid #cde0e4;border-radius:9px;padding:10px 12px;font-size:12.5px;line-height:1.5;margin-bottom:11px}
.auth-info a{color:var(--red);font-weight:700}
.auth-info a:hover{text-decoration:underline}
.dev-note{font-weight:800;color:var(--red-d)}
/* Bearbeiten-Modal + Suggest-Modal + „Überarbeitet"-Kennzeichnung */
#edit-form label,#suggest-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:11px}
#edit-form input,#edit-form textarea,#suggest-form input,#suggest-form textarea{padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit;color:var(--ink)}
#edit-form textarea,#suggest-form textarea{resize:vertical}
#edit-form input:focus,#edit-form textarea:focus,#suggest-form input:focus,#suggest-form textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(12,63,84,.12)}
.edited-tag{font-style:italic}
.edit-btn,.suggest-btn{font-size:12px}

/* „Überarbeitet"-Badge in der Byline */
.edited-badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;
  color:var(--navy);background:var(--navy-soft);border:1px solid #cfe2e6;
  border-radius:20px;padding:3px 10px 3px 8px;white-space:nowrap}
.edited-badge .bi{width:1em;height:1em;flex:none;stroke-width:2}
.edit-count-badge{font-size:10px;font-weight:800;color:#fff;background:var(--navy);border-radius:10px;padding:1px 6px}
.revision-toggle{border:0;background:none;color:var(--red);font-size:11.5px;font-weight:700;cursor:pointer;padding:0;text-decoration:underline}
.revision-toggle:hover{color:var(--red-d)}

/* Versionshistorie-Panel */
.revision-panel{border:1px solid var(--line);border-radius:12px;padding:16px;margin:0 auto 20px;max-width:720px}
.revision-panel-head{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--navy);margin-bottom:14px}
.revision-list{display:flex;flex-direction:column;gap:12px}
.revision-empty,.revision-loading{font-size:12.5px;color:var(--muted)}
.revision-entry{background:#f7f9fb;border-radius:9px;padding:12px 14px}
.revision-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}
.revision-type{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;border-radius:4px;padding:2px 7px;color:#fff}
.revision-type-author{background:var(--navy)}
.revision-type-community{background:var(--gruen)}
.revision-who{font-size:12px;font-weight:700;color:var(--ink)}
.revision-when{font-size:11.5px;color:var(--muted)}
.revision-reason{font-size:13px;color:var(--ink);font-style:italic;margin-bottom:6px}
.revision-title-change{display:flex;align-items:center;gap:8px;font-size:12px;flex-wrap:wrap;margin-top:6px}
.revision-old{color:var(--muted);text-decoration:line-through}
.revision-new{color:var(--gruen);font-weight:700}
.revision-title-change .ic{color:var(--muted);flex:none}

/* Hinweis auf offene Vorschläge (Autor) */
.suggestion-notice{display:flex;align-items:center;gap:10px;background:#fef9ec;border:1px solid #ffe0a0;
  border-radius:10px;padding:10px 14px;margin:0 auto 18px;max-width:720px;font-size:13px;color:#7a5500}
.suggestion-notice .ic{color:#e0a020;flex:none}

/* Bearbeitungsvorschlag-Karte im Modal */
.sug-card{padding:14px 0}
.sug-meta{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.sug-who{font-size:12.5px;font-weight:700;color:var(--ink)}
.sug-when{font-size:11.5px;color:var(--muted)}
.sug-reason{font-size:13px;color:var(--ink);margin-bottom:10px;background:#f3f5fa;border-radius:8px;padding:8px 10px}
.sug-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.sug-label{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);display:block;margin-bottom:3px}
.sug-val{font-size:13px;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.sug-body{white-space:pre-wrap;max-height:120px;overflow-y:auto}
.sug-actions{display:flex;gap:8px}
.sug-divider{border:0;border-top:1px solid var(--line);margin:4px 0}
.auth-switch{text-align:center;font-size:12.5px;color:var(--muted);margin:12px 0 0}
.auth-switch a{color:var(--red);font-weight:700}
.auth-switch a:hover{text-decoration:underline}

/* ===== Petrol-Branding für Modals (Anmelden & Jetzt berichten) ===== */
/* Gemeinsamer Marken-Header mit Petrol-Verlauf */
.modal-brand{padding:0;overflow:hidden}
.brandhead{position:relative;display:block;color:#fff;padding:22px 22px 19px;
  background:linear-gradient(150deg,var(--navy) 0%,var(--navy-d) 100%)}
.brandhead .bh-brand{display:inline-flex;align-items:center;gap:8px;
  font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.6px;font-size:14px;color:#fff}
.brandhead .bh-brand>span{color:var(--red)}        /* „Live" in Himbeerrot */
.brandhead .brand-dot{box-shadow:0 0 0 4px rgba(255,255,255,.12)}
.brandhead h3{margin:15px 0 3px;color:#fff;font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:.3px;display:flex;align-items:center;gap:9px}
.brandhead h3 .ic{opacity:.92}
.brandhead .bh-sub{margin:0;font-size:12.5px;line-height:1.45;color:#bfe0e8}
.brandhead .modal-close{position:absolute;top:15px;right:15px;background:rgba(255,255,255,.16);color:#fff}
.brandhead .modal-close:hover{background:rgba(255,255,255,.28)}

/* Auth: Formularbereich behält Innenabstand (Modal-Padding ist jetzt 0) */
#auth-modal .auth-tabs{margin:16px 20px}
#auth-modal #auth-form{margin:0 20px 20px}
#auth-modal .auth-tab.active{background:var(--navy);color:#fff;box-shadow:0 2px 7px rgba(12,63,84,.3)}
#auth-modal #auth-submit{background:var(--navy);box-shadow:0 4px 12px rgba(12,63,84,.26)}
#auth-modal #auth-submit:hover{background:var(--navy-d);box-shadow:0 6px 16px rgba(12,63,84,.34)}

/* „Jetzt berichten": Innenabstand + mehr Petrol-Akzente */
#modal .modal-hint{margin:16px 20px 14px;background:var(--navy-soft);border-left:3px solid var(--navy);color:var(--ink)}
#modal #report-form{margin:0 20px 20px}
/* Abschnitts-Überschriften der Upload-Felder in Petrol */
#modal .upload-title{color:var(--navy);text-transform:uppercase;letter-spacing:.5px;font-size:11px}
/* Upload-Felder als dezent petrolfarbene Karten gruppieren */
#modal .upload-field{background:#f4f9fa;border:1px solid var(--line);border-radius:11px;padding:12px 13px}
#modal .geo-field{background:#f4f9fa}
/* KI-Button petrol getönt (statt neutralem Grau) */
#modal .btn-ai{background:var(--navy-soft);color:var(--navy-d);box-shadow:inset 0 0 0 1px #cfe2e6}
#modal .btn-ai:hover{background:#d7e8eb}
/* „Meldung absenden" in Petrol – konsistent mit dem Header */
#modal #report-form button[type=submit]{background:var(--navy);box-shadow:0 4px 12px rgba(12,63,84,.26)}
#modal #report-form button[type=submit]:hover{background:var(--navy-d);box-shadow:0 6px 16px rgba(12,63,84,.34)}

/* ===== Profilbilder (Avatare) ===== */
.avatar img,.user-ava img,.comment-avatar img,.avatar-prev img,.byline-ava{
  width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.byline-ava{width:24px;height:24px;border-radius:50%;flex:none}
.article-byline .author{display:inline-flex;align-items:center;gap:7px}
/* Avatar-Auswahl (Registrierung & Profil) */
.avatar-field{margin-bottom:12px}
.avatar-field-label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px}
.avatar-pick{display:flex;align-items:center;gap:13px}
.avatar-prev{flex:none;width:60px;height:60px;border-radius:50%;overflow:hidden;display:grid;place-items:center;
  background:var(--navy-soft);color:var(--navy);border:2px solid var(--line)}
.avatar-prev .ic{width:26px;height:26px}
.avatar-pick-actions{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.avatar-pick-btn{padding:8px 13px;font-size:12.5px}
.avatar-clear{border:0;background:none;color:var(--red);font-size:11.5px;font-weight:700;cursor:pointer;padding:0}
.avatar-clear:hover{text-decoration:underline}
.avatar-hint{font-size:11px;color:var(--muted)}
.avatar-hint.err{color:var(--red-d)}
/* Profil-Bearbeiten-Formular */
#profile-modal #profile-form{margin:16px 20px 20px}
#profile-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:11px}
#profile-form input,#profile-form select{padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit;color:var(--ink);background:#fff}
#profile-form input:focus,#profile-form select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(12,63,84,.12)}
#profile-modal #profile-submit{background:var(--navy);box-shadow:0 4px 12px rgba(12,63,84,.26)}
#profile-modal #profile-submit:hover{background:var(--navy-d);box-shadow:0 6px 16px rgba(12,63,84,.34)}
.post-as{font-size:12px;color:#0f7a42;background:#e9f7ee;border:1px solid #c7e8d3;border-radius:9px;padding:8px 11px;margin:0;font-weight:700}
.post-as:empty{display:none}
.profile-guest{text-align:center}
.profile-guest .profile-name{margin-bottom:6px}
.guest-text{font-size:12.5px;color:var(--muted);line-height:1.5;margin:0 0 12px}
.reset-wrap{max-width:420px;margin:48px auto;padding:0 20px}
.reset-wrap h1{font-size:25px;color:var(--ink);margin:0 0 8px}
.reset-intro{font-size:14px;color:var(--muted);margin:0 0 18px}
.auth-form-page{display:flex;flex-direction:column;gap:4px}
.auth-form-page label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:11px}
.auth-form-page input{padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit;color:var(--ink)}
.auth-form-page input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(12,63,84,.12)}
.reset-done{text-align:center}
.reset-done p{font-size:15px;color:var(--ink);line-height:1.5;margin:0 0 16px}

/* ===== Responsive ===== */
/* ===== Tablet (bis 980px): Inhalt einspaltig, rechte Panels als flexibles Raster ===== */
@media(max-width:980px){
  .layout{grid-template-columns:1fr;padding:0 18px;gap:20px}
  .leftbar{display:none}
  .place-chips{display:flex}
  .rightbar{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
  .brand-claim{display:none}
  .hero-banner{height:clamp(280px,36vh,420px)}
  .lead-block{grid-template-columns:1fr;gap:16px}
  .lead-block .hero-banner{height:clamp(280px,36vh,420px)}
  .lead-side{padding-top:0}
}

/* ===== Tablet-Orte-Dropdown im Header ===== */
.orte-hdr-btn{display:none;align-items:center;gap:5px;border:1px solid var(--line);
  border-radius:9px;padding:7px 12px;font-size:13px;font-weight:700;color:var(--ink);
  background:#fff;cursor:pointer;white-space:nowrap;flex:none;transition:.12s}
.orte-hdr-btn:hover{background:var(--navy-soft)}
.orte-hdr-chev{transition:transform .2s;opacity:.55}
.orte-hdr-btn[aria-expanded="true"] .orte-hdr-chev{transform:rotate(180deg)}
.orte-hdr-btn[aria-expanded="true"]{border-color:var(--navy);color:var(--navy)}
.orte-hdr-panel{display:none;position:absolute;top:100%;left:0;right:0;z-index:490;
  background:#fff;border-bottom:1px solid var(--line);
  box-shadow:0 6px 18px rgba(12,63,84,.12);padding:14px 26px}
.orte-hdr-panel.open{display:block}
.orte-hdr-panel .places-nav{flex-direction:row;flex-wrap:wrap;gap:6px}
.orte-hdr-panel .places-nav a{padding:6px 14px;border-radius:20px;border:1px solid var(--line);
  font-size:12.5px;border-bottom:0}
.orte-hdr-panel .places-nav a.active{background:var(--navy);border-color:var(--navy);color:#fff}
.orte-hdr-panel .places-nav a:hover{background:var(--navy-soft);border-color:var(--line)}
.orte-hdr-panel .places-nav a.active:hover{background:var(--navy-d)}
.orte-hdr-panel .places-follow{display:none}

/* ===== Tablet-Landscape / iPad (981px–1400px): 2-Spalten statt gequetschtem Desktop ===== */
/* Trifft: iPad mini/Air/Pro (1024–1366px CSS-Breite in Landscape) */
@media(min-width:981px) and (max-width:1400px){
  /* Linke Ort-Spalte weg, Rightbar schmaler → viel mehr Platz für den Inhalt */
  .layout{grid-template-columns:minmax(0,1fr) 286px;padding:0 22px;gap:18px}
  .leftbar{display:none}
  .place-chips{display:none}   /* Chips im Content weg – stattdessen Header-Dropdown */
  .places-mobile{display:none} /* Burger-Menü im Content auch weg */
  .orte-hdr-btn{display:flex}  /* Orte-Button im Header einblenden */
  .rightbar{position:static;display:flex;flex-direction:column;gap:14px;align-self:auto}
  .brand-claim{display:none}
  /* News-Raster: 2 statt 3+ Spalten */
  .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-banner .hero-body h2{font-size:clamp(16px,1.8vw,22px)}
}

/* ===== Smartphone (bis 560px) ===== */
@media(max-width:560px){
  body{font-size:14px}
  .topbar{flex-wrap:wrap;gap:10px;padding:10px 14px}
  .search{order:5;flex-basis:100%;max-width:none}
  .top-actions{margin-left:auto;flex-wrap:wrap;justify-content:flex-end;gap:8px}
  .top-actions .btn{padding:8px 12px;font-size:12.5px}
  /* Eilmeldungen/Installieren auf dem Handy ausblenden (brauchen HTTPS, sparen Platz) */
  #btn-login,#btn-push,#btn-install{display:none}
  .layout{padding:0 12px;margin:16px auto;gap:18px}
  .hero-banner{height:clamp(240px,40vh,360px)}
  .lead-block{margin-bottom:18px}
  .lead-block .hero-banner{height:clamp(240px,40vh,360px)}
  .hero{min-height:300px}
  .hero-banner .hero-body h2{font-size:16px;line-height:1.2}
  .news-grid{grid-template-columns:1fr;gap:16px}
  .feature .news-link{flex-direction:column}
  .feature .news-thumb{flex-basis:auto;aspect-ratio:16/9;min-height:0}
  .feature .news-body{padding:14px 16px 10px}
  .feature .news-body h3{font-size:17px}
  .news-body h3{font-size:16.5px}
  .brand-name{font-size:18px}
  .mini-vote button{width:38px;height:38px}
  .rightbar{grid-template-columns:1fr}
  .article-media{height:190px}
  .article-page{padding:0 14px}
  .comments{padding-left:14px;padding-right:14px}
  .related{padding-left:14px;padding-right:14px}
  .related-grid{grid-template-columns:1fr}
  .article-page h1{font-size:23px}
  .form-row{grid-template-columns:1fr}
  /* iOS-Auto-Zoom verhindern: Formularfelder >= 16px */
  .modal input,.modal textarea,.modal select,.auth-form-page input{font-size:16px}
  /* Touch-freundlichere Bedienelemente (Ziel ~44px) */
  .tab{padding:10px 14px;font-size:13px}
  .places-nav a,.formats-nav a{padding:11px 12px;font-size:14px}
  .cat{padding:13px 15px}
  .modal-close{width:38px;height:38px}
  /* Modal auf dem Handy: mehr Fläche, scrollbar bei langen Formularen */
  .modal-overlay{padding:4vh 10px}
  .modal{padding:18px 16px}
  /* Breaking-Ticker kompakter, damit der Text mehr Platz hat */
  .breaking-bar{padding:0 12px;gap:9px}
  .breaking-tag{font-size:10px;padding:4px 7px}
}

/* ===== Über-uns-Seite ===== */
.about-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#06222f 0%,#0c3f54 55%,#0f4a60 100%);color:#fff}
.about-hero::after{content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(204,43,74,.45),transparent 70%);pointer-events:none}
.about-hero-inner{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:56px 24px 60px}
.about-kicker{display:inline-block;font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#ffd0db;background:rgba(204,43,74,.28);border:1px solid rgba(255,255,255,.18);padding:5px 12px;border-radius:999px}
.about-hero h1{margin:16px 0 14px;font-size:34px;line-height:1.18;font-weight:800;letter-spacing:-.4px}
.about-lead{font-size:16px;line-height:1.65;color:#d7deec;max-width:680px;margin:0}

.about-wrap{max-width:900px;margin:0 auto;padding:8px 24px 16px}
.about-section{margin:40px 0}
.about-section h2{font-size:23px;font-weight:800;color:var(--ink);margin:0 0 14px;padding-bottom:10px;position:relative}
.about-section h2::after{content:"";position:absolute;left:0;bottom:0;width:54px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--navy),var(--red))}
.about-section p{font-size:15px;line-height:1.75;color:#334155;margin:0 0 14px;max-width:760px}
.section-sub{color:var(--muted);font-size:14px;margin:-6px 0 18px}

/* Werte-Kacheln */
.values{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.value-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px;box-shadow:0 1px 2px rgba(12,63,84,.05),0 6px 16px rgba(12,63,84,.06);transition:transform .15s,box-shadow .15s}
.value-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(12,63,84,.12)}
.value-icon{display:inline-grid;place-items:center;width:42px;height:42px;font-size:21px;border-radius:11px;background:var(--navy-soft);margin-bottom:10px}
.value-card h3{margin:0 0 6px;font-size:16px;font-weight:800;color:var(--ink)}
.value-card p{font-size:13.5px;line-height:1.6;color:#475569;margin:0;max-width:none}

/* Gründer */
.founders{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.founder{margin:0;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(12,63,84,.05),0 6px 16px rgba(12,63,84,.06)}
.founder-photo{position:relative;aspect-ratio:4/3;display:grid;place-items:center;background:linear-gradient(135deg,#eef1f7,#e2e7f2);color:#a9b4cb}
.founder-photo svg{width:70px;height:70px}
.founder-img{width:100%;height:100%;object-fit:cover}
.photo-tag{position:absolute;left:10px;bottom:10px;font-size:11px;font-weight:700;color:var(--navy);background:rgba(255,255,255,.85);border:1px solid var(--line);padding:3px 9px;border-radius:999px;backdrop-filter:blur(2px)}
.founder figcaption{padding:16px 18px 18px}
.founder figcaption h3{margin:0;font-size:18px;font-weight:800;color:var(--ink)}
.founder-role{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--red);background:var(--red-soft);padding:3px 9px;border-radius:999px;margin:7px 0 9px}
.founder figcaption p{font-size:13.5px;line-height:1.6;color:#475569;margin:0}

/* Abschluss-CTA */
.about-cta{text-align:center;background:linear-gradient(135deg,#06222f,#0c3f54);color:#fff;border-radius:18px;padding:38px 24px 40px;margin:46px 0 56px}
.about-cta h2{font-size:24px;font-weight:800;margin:0 0 8px}
.about-cta p{color:#cdd6e8;font-size:15px;line-height:1.6;max-width:560px;margin:0 auto 20px}
.btn-lg{padding:13px 26px;font-size:15px;border-radius:11px}

@media (max-width:720px){
  .about-hero h1{font-size:26px}
  .about-hero-inner{padding:40px 18px 44px}
  .about-wrap{padding:8px 16px}
  .values,.founders{grid-template-columns:1fr}
}

/* =========================================================
   Responsive-Feinschliff (Smartphone & Tablet)
   Ziel: kein seitliches Wegschieben, touch-tauglich, kein Hover-Zwang.
   Bewusst KEIN overflow-x:hidden auf html/body (würde position:sticky brechen) –
   overflow-x:clip ist die korrekte, sticky-sichere Variante.
   ========================================================= */
html{overflow-x:clip}
/* Lange Wörter/URLs in Überschriften umbrechen statt überlaufen lassen */
.hero-body h2,.news-body h3,.lead-head,.article-page h1,.about-hero h1,.panel-title{overflow-wrap:anywhere}
/* Flex-/Grid-Kinder dürfen schrumpfen → verhindert Überlauf durch langen Inhalt */
.topbar,.search,.top-actions,.auth-area,.news-card,.news-link,.news-body,.card-meta,
.hero-meta,.lead-item>a,.lead-text,.panel,.foot-inner{min-width:0}

/* Hero-Teaser ohne Hover: Touch-Geräte zeigen die ersten 2 Zeilen dauerhaft */
@media (hover:none){
  .hero-banner .hero-teaser{max-height:none;opacity:1;margin:8px 0 0;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .hero-banner:hover .hero-shade{opacity:1}
}

/* ===== Smartphone-Feinschliff (<=560px) ===== */
@media(max-width:560px){
  /* Hauptaktion als kompakter Icon-Button; „Anmelden" bleibt sichtbar */
  #btn-share-top{display:inline-flex;align-items:center;justify-content:center;gap:0;
    width:36px;min-width:36px;height:36px;padding:0;border-radius:10px;font-size:0;line-height:0}
  #btn-share-top svg{width:18px;height:18px;margin:0;transform:none}
  .auth-chip{max-width:38vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  /* Hero-Textbox die volle Kachelbreite nutzen */
  .hero-banner .hero-body{left:0;right:0;bottom:0;max-width:none;border-radius:0;padding:13px 16px}
  /* Touch-Flächen >=44px */
  .mini-vote button,.modal-close,.confirm-btn,.cmt-like{min-width:44px;min-height:44px}
  .place-chips button{min-height:40px}
  /* Formularfelder 16px → kein iOS-Auto-Zoom */
  .modal input,.modal textarea,.modal select,
  .comment-form input,.comment-form textarea,.auth-form-page input{font-size:16px}
  /* Live-Karte etwas höher */
  #leaflet-map{height:220px}
  /* Veranstaltungs-/Moderationskarten stapeln statt quetschen */
  .ev-card,.mod-card{flex-direction:column;align-items:flex-start}
  .mod-thumb{width:100%;height:auto;aspect-ratio:16/9;flex:none}
}

/* Breaking-Ticker: klarer Abstand zwischen den (wiederholten) Meldungen */
.ticker-track .tk{margin-right:50px}

/* Themen-Leiste & Ort-Chips auf Tablet/Handy UMBRECHEN statt scrollen:
   → alle Einträge sind sichtbar, nichts wird abgeschnitten oder ausgeblendet. */
@media(max-width:980px){
  .catbar,.place-chips{
    flex-wrap:wrap;
    overflow-x:visible;
    -webkit-mask-image:none;mask-image:none;
  }
  .catbar{padding:2px 16px 0;row-gap:0}
  .cat{padding:10px 12px}
  .place-chips{row-gap:8px}
  /* Hero-Text nutzt die volle Breite (keine abgeschnittene Schlagzeile/Meta) */
  .hero-banner .hero-body{left:0;right:0;bottom:0;max-width:none;border-radius:0;padding:13px 16px}
}

/* =========================================================
   MODERNISIERUNG – Newsroom-Look
   Display-Typografie (Oswald), flacher & kantiger, entkastete linke
   Sidebar, reine Text-Navigation, einheitliche Kicker statt bunter Badges.
   ========================================================= */

/* Redaktionelle Display-Typografie auf Überschriften & Navigation */
.hero-banner .hero-body h2,.news-body h3,.lead-head,.lead-side-title,.section-head h2,
.article-page h1,.panel-title,.cat,.about-section h2,.about-hero h1,.about-cta h2{
  font-family:var(--display)}

/* Hero-Headline: dominant */
.hero-banner .hero-body h2{font-weight:700;font-size:clamp(17px,1.6vw,24px);line-height:1.1;letter-spacing:.2px;margin-bottom:6px}
.hero-banner .hero-body .kicker{color:#fff}   /* Ort·Rubrik weiß – lesbar auf dem roten Overlay */
@media(max-width:560px){.hero-banner .hero-body h2{font-size:clamp(14px,4vw,17px);line-height:1.15;margin-bottom:5px}
  .hero-banner .hero-body{padding:11px 14px}}   /* Mobile: kleinere Headline + knapperes Padding → mehr Bild sichtbar */

/* Karten-/Listen-Headlines: kräftig, kompakt – klare Hierarchie zur Top-Story */
.news-body h3{font-weight:600;font-size:18px;line-height:1.12;letter-spacing:.2px}
.lead-head{font-weight:600;font-size:15px;line-height:1.14;letter-spacing:.2px}

/* Sektions- & Widget-Titel: redaktionell statt UI-klein */
.section-head h2,.lead-side-title{font-weight:700;font-size:19px;letter-spacing:.5px;text-transform:uppercase}
.panel-title{font-weight:700;font-size:13.5px;letter-spacing:.7px;text-transform:uppercase;color:var(--ink)!important}

/* Themen-Navigation: nur Text (keine Icons), Oswald, Versalien */
.cat{font-weight:600;text-transform:uppercase;letter-spacing:.7px;font-size:15px;color:var(--ink)}
.cat svg{display:none}
.cat.active,.cat:hover{color:var(--red)}

/* Einheitlicher Kicker (Ort · Rubrik) – ersetzt die bunten Badges */
.kicker{color:var(--red);font-weight:700;font-size:11px;letter-spacing:1px}

/* Flacher & kantiger: weniger Radius, Linien statt Schatten */
.news-card{border-radius:3px;box-shadow:none;border:1px solid var(--line);transition:border-color .15s,box-shadow .15s}
.news-card:hover{transform:none;box-shadow:0 6px 18px rgba(12,63,84,.10);border-color:#cdd8db}
.hero-banner{border-radius:3px;box-shadow:none}
.lead-thumb,.related-thumb img,.article-media,.mod-thumb{border-radius:2px}
.btn{border-radius:4px}
.tabs{border-radius:5px}
.tab{border-radius:3px}
.place-chips button{border-radius:4px}

/* Sidebar-Panels: volle weiße Karte mit Elevation */
.leftbar .panel,.rightbar .panel{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 8px rgba(12,63,84,.07);padding:14px 16px;margin-bottom:14px}
.leftbar .panel-title{display:block;padding-bottom:9px;margin-bottom:10px;border-left:4px solid var(--red);padding-left:10px;border-bottom:2px solid var(--navy)}
.rightbar .panel-title,.rightbar .map-panel h3{border-bottom:2px solid var(--navy);padding-bottom:9px;margin-bottom:12px}
.places-nav a,.formats-nav a{padding:8px 8px;border-radius:6px;border-bottom:1px solid var(--line)}
.places-nav a:last-child,.formats-nav a:last-child{border-bottom:0}
.places-nav a:hover,.formats-nav a:hover{background:var(--navy-soft);color:var(--ink)}
#leaflet-map{border-radius:6px}

/* „Verifiziert" dezent in der Hero-Meta (statt Badge oben links) */
.hero-vmark{display:inline-flex;align-items:center;gap:6px}
.hero-vmark .sdot{width:8px;height:8px;border-radius:50%;flex:none}

/* =========================================================
   ARTIKELSEITE – redaktioneller & klarer (Reihenfolge: Text → Quellenlage)
   ========================================================= */
.article-page h1{font-size:clamp(28px,3.4vw,38px);line-height:1.08;font-weight:700;letter-spacing:.2px;margin:4px 0 14px}
.article-kicker{display:inline-block;margin-bottom:2px;font-size:12px}
/* Lesetypo: größer, Lead-Absatz hervorgehoben */
.article-text{font-size:16px;line-height:1.72;color:#243038}
.article-text p{margin:0 0 16px}
.article-text p:first-of-type{font-size:18.5px;line-height:1.6;color:var(--ink)}
/* Bild gestochener: kantig, weniger „Schleier" */
.article-page .article-media{height:clamp(240px,42vw,420px);border-radius:3px}
.article-media-wrap::after{border-radius:3px;background:linear-gradient(180deg,transparent 56%,rgba(4,26,36,.34))}
/* Quellenlage als klare Fakten-Box (Petrol-Akzent) – jetzt NACH dem Text */
.trust-bar{background:#f7f9fb;border:1px solid var(--line);border-left:3px solid var(--navy);border-radius:4px;padding:16px 18px;margin:26px 0 6px}
.quellenlage-title{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:15px}
/* Verwandte Artikel & Kommentare: flacher, Display-Überschriften */
.related-head,.comments-head{font-family:var(--display);text-transform:uppercase;letter-spacing:.5px;font-weight:700}
.related-card{border-radius:3px;box-shadow:none;border:1px solid var(--line)}
.related-card:hover{transform:none;box-shadow:0 6px 18px rgba(12,63,84,.10)}
.related-thumb{border-radius:0}
.comment-main,.comment-auth{border-radius:4px}
.comment-form input,.comment-form textarea{border-radius:4px}

/* =========================================================
   VERANSTALTUNGSKALENDER – modern & entkastet
   ========================================================= */
.events-page h1{font-family:var(--display);font-weight:700;font-size:clamp(28px,3.4vw,38px);letter-spacing:.3px;line-height:1.1;color:var(--ink);margin:24px 0 4px}
.events-sub{margin-bottom:22px;font-size:13px}
.events-list{gap:30px}
.ev-date{font-family:var(--display);font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:.4px;color:var(--ink);padding:0 0 7px 11px;border-left:4px solid var(--red);border-bottom:2px solid var(--ink);margin:0 0 6px;line-height:1.25}
.ev-items{gap:0}
.ev-card{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:13px 4px;gap:16px}
.ev-card:last-child{border-bottom:0}
.ev-time{flex:0 0 72px;font-family:var(--display);font-weight:600;font-size:16px;color:var(--navy)}
.ev-title{font-size:16px;font-weight:700;line-height:1.25}
.ev-venue{font-size:12.5px;margin-top:4px}
.ev-free{border-radius:4px;font-size:11px}
@media(max-width:560px){.ev-time{flex:none;font-size:15px}}

/* =========================================================
   ARCHIV – chronologische, filterbare Gesamtübersicht
   ========================================================= */
.archive-page h1{font-family:var(--display);font-weight:700;font-size:clamp(28px,3.4vw,38px);letter-spacing:.3px;line-height:1.1;color:var(--ink);margin:24px 0 4px}
.archive-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin:6px 0 22px;padding-bottom:16px;border-bottom:2px solid var(--ink)}
.af-field{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.af-field select{font-size:14px;font-family:inherit;color:var(--ink);padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:#fff;min-width:170px}
.af-search{flex:1 1 260px}
.af-search input{width:100%;font-size:14px;font-family:inherit;color:var(--ink);padding:8px 11px;border:1px solid var(--line);border-radius:4px;background:#fff}
.af-search input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(12,63,84,.12)}
.af-check{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer}
.archive-count{margin-left:auto;font-size:12px;color:var(--muted);font-weight:700;align-self:center}
.arch-group{margin:0 0 26px}
.arch-month{font-family:var(--display);font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:.5px;color:var(--red);margin:0 0 6px;padding-left:11px;border-left:4px solid var(--red)}
.arch-row{display:flex;align-items:baseline;gap:14px;padding:11px 4px;border-bottom:1px solid var(--line);color:inherit}
.arch-row:hover .arch-title{color:var(--red)}
.arch-date{flex:0 0 48px;font-family:var(--display);font-weight:600;font-size:14px;color:var(--muted)}
.arch-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.arch-title{font-size:15.5px;font-weight:700;color:var(--ink);line-height:1.25}
.arch-status{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);white-space:nowrap}
.arch-status .sdot{width:8px;height:8px;border-radius:50%;flex:none}
@media(max-width:560px){
  .arch-status{display:none}
  .af-field select{min-width:140px}
  .af-search{flex:1 1 100%}
  .archive-count{margin-left:0;width:100%}
}

/* „Warum hier?"-Labels (Konzept §9) + Ortsseiten-Archiv-Hinweis (§7) */
.why{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;display:inline-flex;align-items:center}
.why::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:5px}
.why-eil{color:var(--red)}
.why-hot{color:#e0691a}
.why-neu{color:var(--navy)}
.place-archive{display:inline-block;font-family:var(--display);font-weight:600;letter-spacing:.3px;font-size:13px;color:var(--red);margin:2px 0 14px}
.place-archive:hover{text-decoration:underline}

/* Rubrik-Sektionen auf der Startseite – je 2 Zeilen × 3 Spalten; Navi springt hierher */
.rubrik{scroll-margin-top:112px;margin:0 0 54px}
.rubrik-more{font-family:var(--display);font-weight:600;letter-spacing:.3px;font-size:13px;color:var(--red);white-space:nowrap}
.rubrik-more:hover{text-decoration:underline}
.rubrik-grid{grid-template-columns:2fr 1fr 1fr;grid-template-rows:170px 170px;grid-auto-flow:row}
.rubrik-grid .news-card.feature{grid-column:1;grid-row:span 2}
.rubrik-grid .news-card.feature .news-link{flex-direction:column}
.rubrik-grid .news-card.feature .news-thumb{flex:none;height:205px;aspect-ratio:unset}
.rubrik-grid .news-card.feature .news-body{flex:1;padding:8px 13px;justify-content:flex-start}
.rubrik-grid .news-card.feature .news-body h3{font-size:15px;line-height:1.2;-webkit-line-clamp:2}
.rubrik-grid .news-card.feature .news-body .card-meta{font-size:10.5px}
.rubrik-grid .news-card:not(.feature) .news-foot{display:none}
.rubrik-grid .news-card:not(.feature) .news-thumb{aspect-ratio:unset;height:98px;flex:none}
.rubrik-grid .news-card:not(.feature) .news-body{padding:6px 10px;gap:3px}
.rubrik-grid .news-card:not(.feature) .news-body .kicker{display:none}
.rubrik-grid .news-card:not(.feature) .news-body h3{font-size:12px;line-height:1.2;-webkit-line-clamp:2}
.rubrik-grid .news-card:not(.feature) .news-body .card-meta{font-size:10px}
@media(max-width:980px){.rubrik-grid{grid-template-columns:2fr 1fr 1fr}}
@media(max-width:560px){.rubrik-grid{grid-template-columns:1fr;grid-template-rows:auto}.rubrik-grid .news-card.feature{grid-column:auto;grid-row:auto}}

/* =========================================================
   INLINE-BILDER IM ARTIKELTEXT (Anzeige + Editor)
   ========================================================= */
.article-fig{margin:20px 0}
.article-fig img{width:100%;border-radius:3px;display:block}
.article-fig figcaption{font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.45}
.fig-credit{font-style:italic}
.inline-pending{margin:20px 0;font-size:13px;color:var(--muted);background:var(--navy-soft);border-radius:6px;padding:11px 13px;display:flex;align-items:center;gap:8px}
/* Editor im Melde-Modal */
.btn-sm{padding:7px 12px;font-size:12.5px}
.inline-list{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}
.inline-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#f7f9fb;border:1px solid var(--line);border-radius:8px;padding:8px}
.inline-item .inline-pick{white-space:nowrap}
.inline-item .inline-thumb{width:72px;height:46px;object-fit:cover;border-radius:4px}
.inline-pos{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:6px;font-weight:700;white-space:nowrap}
.inline-position{width:54px;padding:5px 7px;border:1px solid var(--line);border-radius:6px;font-size:13px;font-family:inherit}
.inline-caption,.inline-credit{flex:1 1 100%;padding:7px 9px;border:1px solid var(--line);border-radius:6px;font-size:13px;font-family:inherit;color:var(--ink)}
.inline-remove{margin-left:auto;border:0;background:#eef1f6;width:30px;height:30px;border-radius:6px;cursor:pointer;color:var(--muted);display:inline-grid;place-items:center}
.inline-remove:hover{background:var(--red-soft);color:var(--red)}

/* Button-Icon optisch mittig zum Text (Flex zentriert die Box, Text sitzt optisch tiefer) */
.btn .ic{transform:translateY(1px)}
/* Datum rechts in der Navi-Zeile */
.header-date{margin-left:auto;align-self:center;color:var(--ink);font-size:13px;font-weight:600;white-space:nowrap;padding-left:18px;text-transform:capitalize}
@media(max-width:980px){.header-date{display:none}}

/* Video-Headliner: laufender geplanter Livestream */
.hero-live{position:absolute;inset:0;background:#000;border-radius:inherit;overflow:hidden}
.hero-embed{position:absolute;inset:0;width:100%;height:100%;border:0}
.hero-live-bar{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(180deg,rgba(4,26,36,.85),transparent);color:#fff;pointer-events:none}
.live-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:1px;background:var(--red);padding:3px 9px;border-radius:3px;flex:none}
.live-dot{width:8px;height:8px;border-radius:50%;background:#fff;animation:brandPulse 1.6s ease-in-out infinite}
.hero-live-title{font-family:var(--display);font-weight:600;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-live-src{margin-left:auto;font-size:11px;opacity:.9;white-space:nowrap;flex:none}

/* „Demnächst live"-Teaser-Leiste (unter dem Header) */
.live-teaser{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:9px 16px;background:linear-gradient(90deg,#06222f,#0c3f54);color:#fff;font-size:13.5px}
.live-teaser[hidden]{display:none}   /* nur sichtbar, wenn ein Stream wirklich bald startet */
.live-teaser .lt-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-weight:700;letter-spacing:.6px;text-transform:uppercase;font-size:12px;background:var(--red);padding:3px 10px;border-radius:3px}
.live-teaser .lt-title{font-weight:700}
.live-teaser .lt-when{opacity:.85}
/* Animierter 10-Sekunden-Countdown (Hero-Übernahme, Portalfarben) */
.hero-countdown{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:#fff;border-radius:inherit;background:radial-gradient(circle at 50% 38%,#0e4860,#06222f 75%)}
.cd-label{font-family:var(--display);text-transform:uppercase;letter-spacing:4px;font-size:13px;color:#bfe0e8}
.cd-num{font-family:var(--display);font-weight:700;font-size:clamp(72px,15vw,150px);line-height:.9;color:#fff;text-shadow:0 0 30px rgba(204,43,74,.55);animation:cdPop .9s cubic-bezier(.2,.8,.2,1)}
@keyframes cdPop{0%{transform:scale(.45);opacity:0}45%{transform:scale(1.14);opacity:1}100%{transform:scale(1)}}
.cd-title{font-family:var(--display);font-weight:600;font-size:clamp(14px,1.6vw,17px);max-width:80%;color:#eaf3f5}
@media(max-width:560px){.cd-num{font-size:88px}.live-teaser{font-size:12.5px;gap:8px}}

/* ===========================================================
   MOBILE-FEINSCHLIFF (<=560px): Headliner schlank, Rubriken-Swipe,
   Ortsteile als Burger-Menü, „+"-Icon exakt mittig
   =========================================================== */
.places-mobile{position:relative}
.places-burger{display:none}            /* Desktop/Tablet: Burger aus – Chip-Reihe/Sidebar bleibt */

@media(max-width:560px){
  /* (a) Headliner-Vorschautext (2–3 Zeilen) komplett ausblenden → mehr Bild sichtbar */
  .hero-banner .hero-teaser{display:none}

  /* (b) Rubriken in EINER Zeile, horizontal wischbar (kein Umbruch) */
  .catbar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;padding:0 14px}
  .catbar .cat{scroll-snap-align:start}

  /* (c) Ortsteile im Header-Dropdown – wie Tablet/iPad */
  .places-mobile{display:none}           /* Burger-Menü im Content weg */
  .orte-hdr-btn{display:flex}            /* Orte-Button im Header einblenden */
  .orte-hdr-panel{padding:12px 14px}     /* Panel seitlich ans Handy-Padding anpassen */

  /* (d) „+"-Icon-Button (Jetzt berichten) exakt mittig – globalen 1px-Versatz aufheben */
  #btn-share-top .ic{transform:none}
}

/* Livestream-Planung (Moderation) */
.ls-admin{margin-top:30px;border-top:1px solid var(--line);padding-top:20px}
.ls-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 18px}
.ls-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.ls-form .ls-wide{grid-column:1/-1}
.ls-form input{padding:8px 10px;border:1px solid var(--line);border-radius:5px;font-size:14px;font-family:inherit;color:var(--ink)}
.ls-list{display:flex;flex-direction:column;gap:8px}
.ls-item{display:flex;align-items:center;gap:10px;background:#f7f9fb;border:1px solid var(--line);border-radius:6px;padding:9px 12px}
.ls-item .ls-when{font-size:11.5px;color:var(--muted);white-space:nowrap}
.ls-item .ls-title{flex:1;min-width:0;font-weight:700;font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ls-item.ls-now{border-color:var(--red);background:var(--red-soft)}
.ls-del{border:0;background:#eef1f6;border-radius:6px;width:30px;height:30px;cursor:pointer;color:var(--muted)}
.ls-del:hover{background:var(--red-soft);color:var(--red)}

/* === Alles weiß – durchgehende weiße Fläche === */
/* 1. Seitenhintergrund einheitlich weiß */
html,body{background:#fff}
/* 2. Layout-Container transparent → Seitenhintergrund scheint durch */
.layout{background:transparent}
.leftbar{background:transparent}
.rightbar{background:transparent;border-radius:0}
/* 3. Panels und Cards weiß, Schatten + Rahmen entfernt → keine optische Graufläche */
.panel,.leftbar .panel,.rightbar .panel{background:#fff!important;box-shadow:none!important;border:none!important}
.news-card{background:#fff!important;box-shadow:none!important}
/* 3a. Trennlinien in der linken Sidebar-Navigation entfernen */
.places-nav a,.formats-nav a{border-bottom:none!important}
/* 4. Inhalts-Elemente weiß */
.tr-dis,.stat,.trust-stat,.comment-main,.revision-entry,.inline-item,.ls-item{background:#fff!important}
.ls-form select{padding:8px 10px;border:1px solid var(--line);border-radius:5px;font-size:14px;font-family:inherit;color:var(--ink);background:#fff}

/* Mediathek (Aufzeichnungen) – nach Rubrik gruppiert */
.recordings-page h1{font-family:var(--display);font-weight:700;font-size:clamp(28px,3.4vw,38px);letter-spacing:.3px;line-height:1.1;color:var(--ink);margin:24px 0 4px}
.rec-group{margin:0 0 28px}
.rec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.rec-card{border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#fff}
.rec-play{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;background:none;cursor:pointer;padding:12px 14px;font-family:inherit}
.rec-play:hover{background:#f7f9fb}
.rec-play-ic{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--red)}
.rec-play-ic .ic{width:18px;height:18px;fill:#fff;stroke:none;transform:translateX(1px)}
.rec-card-text{min-width:0;display:flex;flex-direction:column;gap:2px}
.rec-title{font-weight:700;font-size:14px;color:var(--ink);line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.rec-meta{font-size:11.5px;color:var(--muted)}
.rec-player{position:relative;aspect-ratio:16/9;background:#000}
.rec-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* === Profil-Modal: Accordion-Sektionen (Passwort ändern / Konto löschen) === */
.acc-section{border-top:1px solid var(--line);margin-top:4px}
.acc-toggle{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;padding:12px 0;font-size:13.5px;font-weight:700;color:var(--ink);cursor:pointer;text-align:left}
.acc-toggle:hover{color:var(--red)}
.acc-toggle .acc-arrow{margin-left:auto;transition:transform .2s}
.acc-toggle[aria-expanded="true"] .acc-arrow{transform:rotate(180deg)}
.acc-toggle-danger{color:var(--red)}
.acc-toggle-danger:hover{color:var(--red-d)}
.acc-body{padding-bottom:12px;display:flex;flex-direction:column;gap:10px}
.acc-body label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--ink)}
.acc-body input[type="password"],.acc-body input[type="text"]{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:7px;font-size:13.5px;font-family:inherit;color:var(--ink)}
.danger-warn{font-size:12.5px;color:var(--red-d);background:var(--red-soft);border-radius:8px;padding:9px 12px;margin:0;line-height:1.45}
.check-label{flex-direction:row!important;align-items:flex-start;gap:8px;font-weight:400!important;font-size:13px;color:var(--ink);cursor:pointer}
.check-label input[type="checkbox"]{flex:none;margin-top:2px;width:15px;height:15px;cursor:pointer}
.btn-danger{background:#a31530;color:#fff;box-shadow:0 4px 12px rgba(163,21,48,.3)}
.btn-danger:hover{background:#8b1228;box-shadow:0 6px 16px rgba(163,21,48,.4)}

/* === Moderation: Nutzertabelle === */
.users-list{overflow-x:auto}
.users-table{width:100%;border-collapse:collapse;font-size:13px}
.users-table th{text-align:left;padding:7px 10px;border-bottom:2px solid var(--line);font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
.users-table td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.users-table tr:last-child td{border-bottom:0}
.users-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:6px}
.users-avatar-placeholder{display:inline-block;width:28px;height:28px;border-radius:50%;background:#eef1f6;vertical-align:middle;margin-right:6px}
.users-name{font-weight:700;color:var(--ink)}
.users-username{font-size:12px;color:var(--muted);margin-left:4px}
.users-place{color:var(--muted);font-size:12.5px}
.users-reports{color:var(--muted);font-size:12.5px;text-align:center}
.users-role-sel{border:1px solid var(--line);border-radius:6px;padding:5px 8px;font-size:12.5px;font-family:inherit;color:var(--ink);background:#fff;cursor:pointer}
.users-msg{font-size:11.5px;color:var(--gruen);white-space:nowrap}

/* === Moderation: Inhalts-Prüfqueue (Vorwürfe / R3-R4) === */
.mod-section-title{font-family:var(--display);text-transform:uppercase;letter-spacing:.5px;font-size:19px;color:var(--ink);margin:0 0 4px;display:flex;align-items:center;gap:8px}
.mod-count-badge{background:var(--red);color:#fff;border-radius:20px;padding:2px 9px;font-size:11px;font-weight:700;font-family:inherit;text-transform:none;letter-spacing:0}
.mod-text-section{margin-bottom:28px}
.text-queue{display:flex;flex-direction:column;gap:14px}
.tq-card{border:1px solid var(--red-soft);border-left:4px solid var(--red);border-radius:8px;padding:14px 16px;background:#fff}
.tq-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.tq-claim-badge{background:var(--red-soft);color:var(--red-d);border-radius:5px;padding:2px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.tq-meta{font-size:12px;color:var(--muted)}
.tq-time{font-size:12px;color:var(--muted);margin-left:auto}
.tq-title{margin:0 0 6px;font-size:15px;font-weight:700;color:var(--ink)}
.tq-title a{color:inherit;text-decoration:none}
.tq-title a:hover{color:var(--red)}
.tq-body{margin:0 0 12px;font-size:13px;color:var(--muted);line-height:1.5}
.tq-actions{display:flex;gap:8px}
/* ---- Melden-Button (DSA Art. 16) ---- */
.melden-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;background:none;border:1px solid transparent;border-radius:5px;color:var(--muted);font-size:11px;font-family:inherit;cursor:pointer;line-height:1;transition:color .15s,border-color .15s,background .15s}
.melden-btn:hover{color:var(--red);border-color:var(--red-soft);background:var(--red-soft)}
.melden-btn .ic{width:13px;height:13px;flex-shrink:0}
.melden-btn-article{font-size:13px;padding:5px 11px;border:1px solid var(--border)}
.melden-btn-article:hover{color:var(--red);border-color:var(--red);background:var(--red-soft)}
/* ---- Flag-Modal ---- */
.flag-modal-inner{max-width:480px;width:100%}
.flag-hint{margin:0 0 16px;font-size:14px;color:var(--muted);line-height:1.5}
.flag-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.flag-success{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 0 4px;text-align:center}
.flag-success-icon{width:44px;height:44px;color:var(--green)}
.flag-success h4{margin:0;font-size:17px;color:var(--ink)}
.flag-success p{margin:0;font-size:14px;color:var(--muted)}
.req{color:var(--red);font-size:12px;font-weight:700}
