/* ============================================================
   Impressum, Datenschutz, Danke — schlichte Textseiten
   ============================================================ */

.ts-text {
  position: relative;
  padding: 140px 0 90px;
  background:
    radial-gradient(820px 480px at 82% -10%, rgba(237, 30, 38, .13), transparent 62%),
    linear-gradient(180deg, #08090b 0%, #050506 100%);
}
.ts-text-shell { width: min(820px, 92%); margin: 0 auto; }

.ts-text small {
  display: inline-block; letter-spacing: .28em; text-transform: uppercase;
  font-size: 12px; font-weight: 700; color: var(--ts-rot); margin-bottom: 14px;
}
.ts-text h1 {
  margin: 0 0 30px; font-size: clamp(34px, 5.4vw, 58px); line-height: 1;
  letter-spacing: -.03em; font-weight: 800;
}
.ts-text h2 {
  margin: 44px 0 14px; font-size: clamp(21px, 2.8vw, 26px);
  font-weight: 800; letter-spacing: -.01em; color: #fff;
}
.ts-text h3 { margin: 28px 0 10px; font-size: 18px; font-weight: 700; color: #fff; }
.ts-text p, .ts-text li { color: #d6d9df; font-size: 16.5px; line-height: 1.75; }
.ts-text p { margin: 0 0 16px; }
.ts-text ul, .ts-text ol { margin: 0 0 18px; padding-left: 22px; }
.ts-text li { margin-bottom: 7px; }
.ts-text a { color: var(--ts-rot); text-underline-offset: 3px; }
.ts-text strong { color: #fff; }

.ts-text-block {
  background: rgba(255, 255, 255, .035);
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 16px; padding: 26px 28px; margin: 0 0 26px;
}
.ts-text-block p:last-child { margin-bottom: 0; }

.ts-text-hinweis {
  border-left: 3px solid var(--ts-rot);
  background: rgba(237, 30, 38, .08);
  border-radius: 0 12px 12px 0; padding: 18px 22px; margin: 26px 0;
}
.ts-text-hinweis p:last-child { margin-bottom: 0; }

/* Danke-Seite */
.ts-danke { min-height: 68vh; display: flex; align-items: center; }
.ts-danke-box { text-align: center; }
.ts-danke-box .ts-beitrag-fuss { justify-content: center; border-top: 0; }

@media (max-width: 780px) {
  .ts-text { padding-top: 122px; }
}
