/* Thingware Corporate Design – Rich-Text: Eingabe und Anzeige
   VERBINDLICH. Unveraendert in die App kopieren (wie tokens.css/app-shell.css) und nach
   app-shell.css, vor der app-eigenen app.css einbinden.
   Siehe components/ai-composer.md, Abschnitt „Speichern und Anzeigen".

   Zwei Klassen, mehr braucht es nicht:
     .rt-editor   das contenteditable-Eingabefeld (traegt zusaetzlich .form-control)
     .rt-content  die Anzeige des gespeicherten Textes

   Beide muessen dieselben Abstaende erzeugen — sonst springt der Text beim Absenden
   sichtbar um. */

/* ── Eingabe ───────────────────────────────────────────────────────── */
.rt-editor {
  min-height: 8rem;
  max-height: 22rem;
  height: auto;
  overflow-y: auto;
  background: var(--tw-surface);
}

.rt-editor.rt-sm { min-height: 4.5rem; }

.rt-editor:focus {
  outline: none;
  border-color: var(--tw-accent);
  box-shadow: 0 0 0 .25rem var(--tw-accent-soft);
}

.rt-editor.is-busy { opacity: .6; pointer-events: none; }

/* Platzhalter ueber eine Klasse, NICHT ueber :empty — nach execCommand steht oft
   <p><br></p> im Feld, und das ist fuer CSS nicht leer. Die Klasse setzt die
   ai-composer-Library (bzw. mountRichText). */
.rt-editor.is-empty::before {
  content: attr(data-ph);
  color: #9aa5b1;
  pointer-events: none;
  display: block;
}

/* ── Anzeige ───────────────────────────────────────────────────────── */
.rt-content {
  overflow-wrap: anywhere;   /* eingefuegte URLs sprengen sonst schmale Karten */
}

/* ── Gemeinsam: Blockabstaende ─────────────────────────────────────── */
.rt-editor p,
.rt-content p { margin: 0 0 .5rem; }

.rt-editor ul, .rt-editor ol,
.rt-content ul, .rt-content ol { margin: 0 0 .5rem; padding-left: 1.4rem; }

.rt-editor blockquote,
.rt-content blockquote {
  margin: 0 0 .5rem;
  padding-left: .75rem;
  border-left: 3px solid var(--tw-accent-soft);
  color: var(--tw-neutral);
}

/* Kein Leerraum unter dem letzten Element — sonst sitzt jede Karte zu tief. */
.rt-editor > :last-child,
.rt-content > :last-child { margin-bottom: 0; }

/* Der Sanitizer setzt an jedem Link target=_blank rel=noopener. */
.rt-content a { text-decoration: underline; }
