/**
 * vertraege-agb.css - Editor eines AGB-Moduls (agb-modul.php, apps-v2 #2147)
 *
 * Nur, was das Modul hat: Raster der Klausel-Liste, Kopf-Raster, die Pille
 * „Bezug zum Kern“. Zeilen, Baum, Griff und Zellen kommen aus den
 * Shared-Bausteinen (grid-css, tree, sortable, form-cell).
 */

/* ---- Kopf: Ebene, Fassung, Gültig ab, Geprüft am; Notiz darunter ---- */
.agb-kopf {
  padding-top: var(--space-4);
  padding-bottom: var(--space-2);
}
.agb-kopf-fields.idf-form {
  grid-template-columns: minmax(160px, 1.2fr) minmax(180px, 1.2fr) minmax(110px, 1fr) minmax(130px, 1fr) minmax(130px, 1fr);
  align-items: start;
}
.agb-kopf-fields.idf-form > [data-cell="notiz"] { grid-column: 1 / -1; }
/* Gilt für (#2218): je eine halbe Zeile über der Notiz. */
.agb-kopf-fields.idf-form > [data-cell="gilt_geschaeftsfelder"] { grid-column: 1 / span 2; }
.agb-kopf-fields.idf-form > [data-cell="gilt_leistungen"] { grid-column: 3 / -1; }
@media (max-width: 900px) {
  .agb-kopf-fields.idf-form { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .agb-kopf-fields.idf-form { grid-template-columns: 1fr; }
}

/* ---- Raster: Griff · Status · Nr. · Klausel · Bezug zum Kern · Optionen ----
   „Optionen“ Nicht im Druck, Datenschutz, Kommentare, Kopieren (Issue 1993)
   und Löschen: 5 x 28 + 4 x 4 + 16 = 172 px. */
.agb-grid {
  display: grid;
  grid-template-columns: var(--agb-cols,
    var(--idf-list-col-griff) 44px 64px minmax(280px, 1fr) 220px 172px);
  align-items: stretch;
  gap: 0;
}

.agb-rows .agb-row .agb-cell-nr {
  font-variant-numeric: tabular-nums;
  color: var(--ink-75);
}
/* Ein Paragraf ist die Überschrift seiner Absätze: Nummer und Titel halbfett. */
.agb-rows .agb-row.agb-paragraf .agb-cell-nr,
.agb-rows .agb-row.agb-paragraf .agb-titel-text {
  font-weight: var(--weight-semi);
  color: var(--ink);
}
.agb-rows .agb-row .agb-cell-klausel { min-width: 0; display: flex; align-items: center; }
.agb-rows .agb-row .agb-titel-group { max-width: 100%; }
.agb-rows .agb-row .agb-text {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.agb-rows .agb-row:hover .idf-list-drag-handle { opacity: 0.6; }

/* Kern-AGB haben keinen Bezug zum Kern: die Spalte bleibt leer und ohne Kopf. */
.agb-thead .agb-cell-bezug.is-leer { visibility: hidden; }

/* ---- Pille „ergänzt / ersetzt Kern 6.2“ ---- */
.agb-bezug-pill {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Ergänzen ist der Normalfall (grau), Ersetzen weicht vom Kern ab (Petrol,
   Information). Rot nur für einen Bezug ins Leere: IDF Rot heißt Widerspruch. */
.agb-bezug-pill.is-ergaenzt { background: var(--ink-4);        color: var(--ink-75); }
.agb-bezug-pill.is-ersetzt  { background: var(--accent-10-a);  color: var(--accent); }
/* Zeigt auf eine Kern-Klausel, die es in der gültigen Kern-Fassung nicht gibt. */
.agb-bezug-pill.is-fehlt    { background: var(--primary-10-a); color: var(--primary); }

/* ---- Stand der Fassung im Kopf (#2182): Status-Pille, daneben ihr Wort ---- */
.agb-stand .agb-stand-wert {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 28px;
}

/* Vorfassung: nur lesen, kein Platz für den Griff nötig, aber das Raster bleibt. */
body.agb-nur-lesen .agb-thead .agb-cell-drag i { visibility: hidden; }

/* ---- AGB-Prüfung (agb-pruefung.php, #2224) ---- */
/* Karten aus blocks/befund-liste, Kennzahlen aus blocks/stat-card. Hier steht
   nur der Abstand im Seitenrahmen, wie bei der Klärung der Lebensmittel. */
.agbp-seite {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  padding-top: var(--space-4);
  padding-bottom: var(--space-10);
}
/* Pias Vorschläge (#2229): Titel der Klausel und der Weg in den Editor in
   einer Zeile. Die Kästen stehen in .idf-vs-liste (domain/vorschlaege). */
.agbp-pia-titel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

