/* Targets-Seite — #213.
   Eigenes Stylesheet, keine Inline-Styles. Stilistisch an quellen.html
   angelehnt, aber eigenständige Klassen damit nichts kollidiert.
*/

.targets-head {
  padding: 0 0 1rem;
}
.targets-h1 {
  font-family: var(--font-display);
  font-size: 22px;
  color: var(--ecg-teal);
  margin: 0 0 4px;
}
.targets-sub {
  font-size: 12px;
  font-family: var(--font-mono);
  color: var(--ecg-dark);
  opacity: 0.7;
  max-width: 60ch;
  margin: 0;
  line-height: 1.5;
}
.targets-info {
  margin-bottom: 1rem;
}
.targets-info-small {
  font-size: 11px;
  opacity: 0.7;
  margin-top: 6px;
}

/* Filter-Bar */
.targets-filter {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: end;
  padding: 10px 12px;
  margin-bottom: 1rem;
  background: var(--ecg-bg-subtle, #f6f7f8);
  border-radius: 4px;
  border: 1px solid var(--ecg-border);
}
.targets-filter-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 12px;
}
.targets-filter-label {
  font-family: var(--font-mono);
  font-size: 11px;
  opacity: 0.7;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.targets-filter-control {
  font-family: var(--font-mono);
  font-size: 12px;
  padding: 3px 6px;
  border: 1px solid var(--ecg-border);
  border-radius: 3px;
  background: var(--ecg-card-bg, #fff);
  min-width: 14em;
}
.targets-filter-only-aktuell {
  font-family: var(--font-mono);
  font-size: 12px;
  gap: 5px;
  flex-direction: row;
  align-items: center;
  padding-bottom: 5px;
}

.targets-count {
  font-family: var(--font-mono);
  font-size: 11px;
  opacity: 0.7;
  margin-bottom: 10px;
}

/* Target-Cards */
.target-card {
  background: var(--ecg-card-bg, #fff);
  border: 1px solid var(--ecg-border);
  border-radius: 6px;
  padding: 12px 14px;
  margin-bottom: 10px;
}
.target-head {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 4px;
}
.target-pill {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: 3px;
  background: var(--ecg-bg-subtle);
  color: var(--ecg-dark);
  font-weight: 700;
}
.target-pill-koalitionsvertrag { background: #1e6a90; color: #fff; }
.target-pill-regierungserklaerung { background: #009da5; color: #fff; }
.target-pill-staatsziel { background: #7a4ea8; color: #fff; }
.target-pill-klimaziel { background: #46962b; color: #fff; }
.target-pill-sdg { background: #f7941d; color: #fff; }

.target-bl, .target-wp {
  font-family: var(--font-mono);
  font-size: 10px;
  opacity: 0.8;
  padding: 1px 4px;
  border: 1px solid var(--ecg-border);
  border-radius: 3px;
}
.target-status {
  font-family: var(--font-mono);
  font-size: 10px;
  padding: 1px 5px;
  border-radius: 3px;
  font-weight: 700;
}
.target-status-aktuell { background: var(--ecg-green); color: #fff; }
.target-status-historisch { background: var(--ecg-dark); color: #fff; opacity: 0.65; }

.target-title {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 700;
  margin: 4px 0 6px;
  color: var(--ecg-dark);
  line-height: 1.35;
}
.target-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  opacity: 0.75;
  margin: 0 0 6px;
  line-height: 1.5;
}
.target-volltext-wrap {
  margin: 6px 0;
}
.target-volltext-summary {
  font-family: var(--font-mono);
  font-size: 11px;
  cursor: pointer;
  color: var(--ecg-teal);
  user-select: none;
}
.target-volltext {
  font-size: 12.5px;
  line-height: 1.55;
  margin: 6px 0 0;
  padding: 8px 10px;
  background: var(--ecg-bg-subtle, #f6f7f8);
  border-left: 3px solid var(--ecg-teal);
  border-radius: 0 3px 3px 0;
  color: var(--ecg-dark);
}
.target-hinweis {
  font-family: var(--font-mono);
  font-size: 11px;
  opacity: 0.65;
  font-style: italic;
  margin: 6px 0 0;
}
.target-link {
  font-family: var(--font-mono);
  font-size: 11px;
  margin: 6px 0 0;
}
.target-link a {
  color: var(--ecg-teal);
  text-decoration: none;
}
.target-link a:hover { text-decoration: underline; }

.target-card.is-hidden { display: none; }

/* ── Soll-Quellen-Block im Antrag-Detail (v3) ─────────────────────── */
.v3-target-bezuege {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.v3-target-row {
  background: var(--surface, #fff);
  border: 1px solid var(--hairline, #e2e5e8);
  border-left: 3px solid var(--ecg-teal);
  border-radius: 4px;
  padding: 8px 12px;
}
.v3-target-row[data-typ="koalitionsvertrag"] { border-left-color: #1e6a90; }
.v3-target-row[data-typ="regierungserklaerung"] { border-left-color: #009da5; }
.v3-target-row[data-typ="staatsziel"] { border-left-color: #7a4ea8; }
.v3-target-row[data-typ="klimaziel"] { border-left-color: #46962b; }
.v3-target-row[data-typ="sdg"] { border-left-color: #f7941d; }

.v3-target-meta {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 3px;
}
.v3-target-typ {
  font-family: var(--font-mono);
  font-size: 10px;
  text-transform: uppercase;
  padding: 1px 5px;
  border-radius: 2px;
  background: var(--ecg-bg-subtle, #f6f7f8);
  color: var(--ecg-dark);
  letter-spacing: 0.04em;
}
.v3-target-similarity {
  font-family: var(--font-mono);
  font-size: 10px;
  opacity: 0.7;
  margin-left: auto;
}
.v3-target-titel {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--ecg-dark);
  margin: 0 0 3px;
}
.v3-target-snippet {
  font-size: 12.5px;
  line-height: 1.5;
  margin: 4px 0;
  padding: 4px 0;
  color: var(--ecg-dark);
  font-style: italic;
}
.v3-target-source {
  font-family: var(--font-mono);
  font-size: 10.5px;
  opacity: 0.7;
  margin: 2px 0 0;
}
.v3-target-source a {
  color: var(--ecg-teal);
  text-decoration: none;
}
.v3-target-source a:hover { text-decoration: underline; }
