/* TWS Anfragewege (Relaunch P7). Schlicht nach Gestaltungsleitbild „Planunterlage“: Haarlinien, kleine Radien,
   ein Akzent. Farben über Variablen, damit das neue Theme (P2) sie setzen kann. Abschaltbar mit dem Filter tws_anfrage_css. */
.tws-anfrage {
  --taf-akzent: var(--tws-akzent, #2460a8);
  --taf-tief: var(--tws-tiefblau, #0c3c78);
  --taf-linie: var(--tws-linie, #6c7884);
  --taf-text: var(--tws-text, #1b1d21);
  --taf-leise: var(--tws-text-leise, #4a5361);
  --taf-grund: var(--tws-feld, #fff);
  --taf-fehler: #9b1c1c;
  color: var(--taf-text);
  max-width: 42rem;
  font-size: 1rem;
  line-height: 1.5;
}
.tws-anfrage *, .tws-anfrage *::before, .tws-anfrage *::after { box-sizing: border-box; }
.tws-anfrage__titel { margin: 0 0 .75rem; }
.tws-anfrage__hinweis, .tws-anfrage__hilfe, .tws-anfrage__datenschutz { color: var(--taf-leise); font-size: .95rem; margin: 0 0 1rem; }
.tws-anfrage__hilfe { margin: -.15rem 0 .35rem; }
.tws-anfrage__feld { margin: 0 0 1.1rem; min-width: 0; }
.tws-anfrage__feld > label, .tws-anfrage__gruppe > legend { display: block; font-weight: 700; margin: 0 0 .3rem; padding: 0; }
.tws-anfrage__pflicht, .tws-anfrage__optional { font-weight: 400; color: var(--taf-leise); }
.tws-anfrage input[type="text"], .tws-anfrage input[type="email"], .tws-anfrage input[type="tel"],
.tws-anfrage input[type="url"], .tws-anfrage textarea {
  display: block; width: 100%; max-width: 100%;
  font: inherit; color: inherit; background: var(--taf-grund);
  border: 1px solid var(--taf-linie); border-radius: 2px;
  padding: .6rem .7rem; min-height: 2.75rem;
}
.tws-anfrage textarea { resize: vertical; min-height: 7rem; }
.tws-anfrage__gruppe { border: 0; padding: 0; }
.tws-anfrage__wahl { display: flex; align-items: center; gap: .55rem; min-height: 2.75rem; }
.tws-anfrage__wahl input { width: 1.25rem; height: 1.25rem; margin: 0; accent-color: var(--taf-akzent); flex: none; }
.tws-anfrage__wahl label { cursor: pointer; }
.tws-anfrage input:focus-visible, .tws-anfrage textarea:focus-visible, .tws-anfrage button:focus-visible,
.tws-anfrage a:focus-visible, .tws-anfrage summary:focus-visible, .tws-anfrage [tabindex="-1"]:focus {
  outline: 3px solid var(--taf-tief); outline-offset: 2px;
}
.tws-anfrage [aria-invalid="true"] { border-color: var(--taf-fehler); border-width: 2px; }
.tws-anfrage__feldfehler { color: var(--taf-fehler); font-weight: 700; margin: .3rem 0 0; }
.tws-anfrage__feldfehler:empty { display: none; }
.tws-anfrage__fehlerliste { border: 2px solid var(--taf-fehler); padding: .75rem 1rem; margin: 0 0 1.25rem; }
.tws-anfrage__fehlerliste p { margin: 0 0 .4rem; font-weight: 700; color: var(--taf-fehler); }
.tws-anfrage__fehlerliste ul { margin: 0; padding-left: 1.2rem; }
.tws-anfrage__fehlerliste a { color: var(--taf-fehler); }
.tws-anfrage__knopf {
  font: inherit; font-weight: 700; color: #fff; background: var(--taf-tief);
  border: 2px solid var(--taf-tief); border-radius: 2px; padding: .7rem 1.4rem; min-height: 2.75rem; cursor: pointer;
}
.tws-anfrage__knopf:hover { background: var(--taf-akzent); border-color: var(--taf-akzent); }
.tws-anfrage__knopf[disabled] { opacity: .7; cursor: progress; }
.tws-anfrage__status:empty { display: none; }
.tws-anfrage__status { margin: .6rem 0 0; color: var(--taf-leise); }
.tws-anfrage__danke { border-left: 3px solid var(--taf-akzent); padding: .25rem 0 .25rem 1rem; margin: 0 0 1.25rem; }
.tws-anfrage__danke-titel { font-weight: 700; margin: 0 0 .4rem; }
.tws-anfrage__erstgespraech { border-top: 1px solid var(--taf-linie); margin-top: 1.5rem; padding-top: 1rem; }
.tws-anfrage__erstgespraech-titel { font-weight: 700; margin: 0 0 .4rem; }
.tws-anfrage__erstgespraech ul { margin: 0 0 .75rem; padding-left: 1.2rem; }
.tws-anfrage a { color: var(--taf-tief); }
.tws-anfrage__hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
/* Quick-Check */
.tws-quickcheck__frage { border-top: 1px solid var(--taf-linie); padding-top: .9rem; }
.tws-quickcheck__nr { font-variant-numeric: tabular-nums; color: var(--taf-leise); margin-right: .35rem; }
.tws-quickcheck__hilfe { margin: 0 0 .4rem; }
.tws-quickcheck__hilfe summary { cursor: pointer; color: var(--taf-tief); text-decoration: underline; min-height: 2rem; }
.tws-quickcheck__hilfe p { margin: .4rem 0; color: var(--taf-leise); }
.tws-quickcheck__antworten { display: flex; flex-wrap: wrap; gap: 0 1.5rem; }
.tws-quickcheck__ergebnis { border: 1px solid var(--taf-linie); padding: 1rem; margin: 0 0 1.5rem; }
.tws-quickcheck__ergebnis p { margin: 0 0 .35rem; }
.tws-quickcheck__wert { font-size: 1.35rem; font-weight: 700; }
.tws-quickcheck__kontakt { border-top: 1px solid var(--taf-linie); padding-top: 1rem; }
/* Prüfmodus (nur Administratoren, bis P9) */
.tws-anfrage-probe { background: #f6f4ef; border-top: 3px solid #0c3c78; padding: 1.5rem 16px 2rem; color: #1b1d21; }
.tws-anfrage-probe > .tws-anfrage { margin: 0 auto; }
.tws-anfrage-probe__kopf { max-width: 42rem; margin: 0 auto 1rem; font-weight: 700; }
@media (prefers-reduced-motion: reduce) { .tws-anfrage * { transition: none !important; animation: none !important; } }
@media print { .tws-anfrage__form, .tws-anfrage-probe { display: none; } }
