/* ─────────────────────────────────────────────────────────────────────────
   biodanza-cockpit — css/mod-blocks.css

   Geschichtserzaehlung: Stile des Bau-Pakets "blocks+participants" — Block-Dashboard und -Detail, Teilnehmer-Listen und -Detail. Praefixe .blocks-, .participants-.
   Gehoert NUR diesem Paket (Parallel-Bau-Schutz, DECISION in modules.css).

   Regeln fuer alle Modul-Stile:
     - Farben nur als var(--color-...), Abstaende als var(--space-...) —
       sonst bleibt der Screen im Dunkel- und Ruhig-Modus hell
     - Klassen mit Modul-Praefix, damit nichts in fremde Screens wirkt
     - Ruhiger Modus: :root[data-quiet="true"] .mein-element { ... }
     - Touch-Ziele mindestens 44 px; 360 px Breite ohne horizontales Scrollen
   ───────────────────────────────────────────────────────────────────────── */

/* ── Editor-/Listen-Screens: Abschnitte stehen dicht (Kern .section + .section hat
   Aussenabstand UND .stack hat gap → Doppel-Luecke) ── */
.blocks-detail > .section + .section,
.blocks-dashboard > .section + .section,
.participants-detail > .section + .section,
.participants-roster > .section + .section {
  margin-top: 0;
}

.blocks-group + .blocks-group {
  margin-top: 0;
}

/* ── Block-Dashboard ── */
.blocks-entries {
  display: grid;
  gap: var(--space-2);
}

.blocks-group__list {
  gap: var(--space-3);
}

/* Vier Icon-Knoepfe in der Fusszeile: gleichmaessig verteilt, nie umgebrochen */
.blocks-card .card__actions {
  justify-content: space-between;
}

/* ── Block-Detail ── */
.blocks-dates {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3);
}

.blocks-nav {
  display: grid;
  gap: var(--space-2);
}

.blocks-vivencias__empty {
  margin: 0;
}

/* ── Teilnehmer: Zeile = Karte + Status-Chips ── */
.participants-add {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2);
}

.participants-row,
.participants-blockrow {
  display: grid;
  gap: var(--space-2);
  /* Abstand zwischen Zeilen groesser als Karte→Status-Chips, sonst wirken die
     Chips wie die der NAECHSTEN Karte (Sichtpruefung 2026-10-08). */
  margin-bottom: var(--space-5);
}

.participants-status {
  padding-inline: var(--space-1);
}

/* Abgemeldete treten optisch zurueck (bleiben aber lesbar: Kontrast bleibt) */
.participants-row[data-status="abgemeldet"] .card__title {
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}

/* Kontakt-Knoepfe im Detail: drei Links nebeneinander, ohne Daten ausgegraut */
.participants-contact {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-2);
  margin-top: var(--space-3);
}

.participants-contact__button {
  justify-content: center;
  min-height: var(--touch-min);
  padding-inline: var(--space-2);
  text-decoration: none;
  white-space: nowrap;
}

.participants-contact__button.is-disabled {
  background: var(--color-disabled-bg);
  color: var(--color-disabled-text);
}

.participants-privacy {
  margin: var(--space-2) 0;
}

.participants-payments__line {
  margin: 0;
  font-weight: var(--font-weight-semibold);
}

.participants-payments__open {
  margin: var(--space-1) 0 0;
}

.participants-blocks__empty,
.participants-history__empty {
  margin: 0;
}

.participants-new {
  padding-bottom: var(--space-2);
}

.participants-contact-list {
  display: grid;
  gap: var(--space-2);
}


/* Titel/Name als mitwachsendes Feld: kein Zieh-Griff, fett wie ein Titel */
.blocks-title,
.participants-name {
  min-height: var(--input-h);
  resize: none;
  font-weight: var(--font-weight-semibold);
}
