/* ===========================================================================
   SEITE: SPRECHER-VERZEICHNIS (S09) — Design-v5-Fassung (E3, NACHTRAG-EIN-KATALOG §9).
   Destilliert aus uebergabe-claude-design-4/EXTRAS/prototyp/css/seite-sprecher.css
   (Abgabe-Stand 2026-07-28, Quell-md5 f6c77aa9bda91f791e14837963a91105) — unveraendert uebernommen;
   OP-Ergaenzungen stehen, falls noetig, in einem markierten Block am Ende.
   =========================================================================== */
/* ===========================================================================
   ONLINE-PREDIGT · SCHICHT 4/4 — SEITE: SPRECHER
   =========================================================================== */

@layer seite {

  .sprecher__kopf { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--raum-3); padding-block: var(--raum-6) var(--raum-5); }
  .sprecher__pfad { color: var(--text-3); font-size: var(--txt-etikett); }
  .sprecher__pfad a { color: inherit; }
  /* 90ch statt 56ch (PO 2026-08-04, gleiche Breite wie /neu und /themen): admin-editierbar
     (Länge unbekannt) ⇒ gedeckelt, nie frei. */
  .sprecher__unter { color: var(--text-2); font-size: var(--txt-gross); max-inline-size: min(90ch, 100%); }

  .sprecher__werkzeug {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--raum-3);
    padding-block-end: var(--raum-4);
    border-block-end: var(--linie-breit) solid var(--linie);
  }
  .sprecher__werkzeug form { flex: 1 1 18rem; max-inline-size: min(26rem, 100%); }

  /* A–Z-BAND (PO 2026-08-31): seit PO 2026-09-05 KOMPONENTE — die .alphabet*-Regeln wohnen in
     komponenten.css (zweiter Nutzer: /admin/sprecher). Hier bleibt nur die Zufalls-Hinweiszeile. */
  /* OP-Ergänzung (PO 2026-09-02): Hinweiszeile der Zufalls-Sicht — leise wie der Reset-Link. */
  .sprecher__zufall { margin: 0 0 var(--raum-3); color: var(--text-2); font-size: var(--txt-klein); }


  .sprecher__gitter {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
    gap: var(--raum-4);
    padding-block-end: var(--raum-6);
  }

  .sprecherkarte {
    display: grid;
    grid-template-columns: 3.5rem 1fr; /* fix statt auto — Avatar (3.5rem) darf nie kollabieren (PO-Befund 2026-09-05) */
    gap: var(--raum-2) var(--raum-4);
    align-items: center;
    padding: var(--raum-4);
    background: var(--flaeche-2);
    border: var(--linie-breit) solid var(--linie);
    border-radius: var(--radius-m);
    color: var(--text);
    text-decoration: none;
  }
  .sprecherkarte:hover { border-color: var(--marke); background: var(--flaeche-3); color: var(--text); }

  /* Nur die Rasterlage ist seitenspezifisch — Aussehen kommt aus .initialen */
  .sprecherkarte .initialen { grid-row: span 2; }
  .sprecherkarte__name { font-size: var(--txt-gross); font-weight: var(--gewicht-fett); line-height: var(--zeile-titel); }
  .sprecherkarte__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--raum-1) var(--raum-3);
    color: var(--text-3);
    font-size: var(--txt-etikett);
  }
}

/* OP-Ergänzung (PO 2026-09-05, Punkt 3): roter Admin-Link je S09-Karte — GESCHWISTER der Karte in einer
   Hülle (die Karte ist selbst ein Link). Die Hülle ist das Raster-Kind und trägt die Karte auf volle Höhe;
   der Link sitzt oben rechts über der Karte (44er-Tastzone per ::before, GF88-Muster). Rot kommt aus der
   komponenten-Regel `a.nur-admin` (PO-Regel 2026-08-01) — hier KEINE Farbe setzen. */
@layer seite {
  .sprecherkarte-huelle { position: relative; display: grid; }
  .sprecherkarte-huelle > .sprecherkarte { min-block-size: 100%; padding-inline-end: calc(var(--raum-4) + 5.5rem); }
  .sprecherkarte__admin {
    position: absolute; inset-block-start: var(--raum-2); inset-inline-end: var(--raum-2); z-index: 1;
    padding: 2px 8px; border-radius: var(--radius-s); border: 1px solid currentColor;
    font-size: var(--txt-klein); font-weight: var(--gewicht-halb); text-decoration: none; background: var(--flaeche-2);
  }
  .sprecherkarte__admin::before { content: ""; position: absolute; inset: calc((100% - var(--tastfeld)) / 2) calc((100% - var(--tastfeld)) / 2); }
  .sprecherkarte__admin:hover { text-decoration: underline; }
}
