/* Legal and support pages: page head from kopf.css, then one column on the stage. Colours and radii come from stil.css. */
.titelkopf + section { border-top: 1px solid var(--linie); padding-top: 36px; }
main > section { padding: 0 0 88px; }
.einleitung { margin: 0 0 6px; color: var(--leise); font-size: 16.5px; line-height: 1.6; }
.privatliste { max-width: 760px; margin: 0; display: grid; gap: 12px; }
.privatzeile { background: var(--bg-tief); border: 1px solid var(--linie); border-radius: var(--radius-gross); padding: 18px 22px; font-size: 14.5px; line-height: 1.6; color: var(--leise); }
.privatzeile b { color: var(--text); font-weight: 600; }
.privatzeile a { color: var(--text); border-bottom: 1px solid var(--linie-stark); }

/* Support form — field tokens of the help and docs pages */
.formular { display: grid; gap: 22px; background: #232320; border: 1px solid var(--linie); border-radius: var(--radius-gross); padding: 28px; }
.formular .feld { display: grid; gap: 9px; min-width: 0; }
.formular .titel { font-size: 10.5px; font-weight: 500; letter-spacing: .09em; text-transform: uppercase; color: var(--still); }
.formular input[type=text], .formular input[type=email], .formular textarea { font: 14px/1.5 var(--schrift); color: var(--text); background: #2a2a27; border: 1px solid var(--linie); border-radius: var(--radius); padding: 12px 14px; width: 100%; transition: border-color .15s; }
.formular input::placeholder, .formular textarea::placeholder { color: var(--still); }
.formular input:focus, .formular textarea:focus { outline: none; border-color: #bebbb4; }
.formular textarea { resize: vertical; min-height: 180px; }
.formular .falle { display: none; }
.feldpaar { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.themen { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.themen label { position: relative; }
.themen input { position: absolute; opacity: 0; pointer-events: none; }
.themen span { display: flex; align-items: center; justify-content: center; text-align: center; height: 100%; padding: 12px 10px; font-size: 13.5px; color: var(--leise); background: #2a2a27; border: 1px solid var(--linie); border-radius: var(--radius); cursor: pointer; transition: color .15s, border-color .15s, background .15s; }
.themen span:hover { color: var(--text); }
.themen input:checked + span { color: var(--text); background: var(--feld-hell); border-color: var(--linie-stark); }
.themen input:focus-visible + span { border-color: #bebbb4; }
.absenden { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding-top: 4px; }
.absenden button:disabled { opacity: .6; cursor: default; }
.ergebnis { font-size: 14px; color: var(--leise); margin: 0; }
.ergebnis.gut { color: var(--text); }
.privatliste .hinweiszeile { background: #232320; border-radius: var(--radius-gross); }
@media (max-width: 640px) { .feldpaar, .themen { grid-template-columns: 1fr 1fr; } .feldpaar { grid-template-columns: 1fr; } .formular { padding: 18px; } }
