/* TOPFORM Paket 050j – gezielte Korrektur der CMS-Partnerseiten */

/* Der Hero der Bewerbungsseiten bleibt dunkel; sämtliche Texte erhalten
   einen verlässlichen Kontrast unabhängig von älteren globalen Regeln. */
.public-body main.tf-page--application .cms44-hero {
  background-color: #20262a !important;
  color: #fff !important;
}

.public-body main.tf-page--application .cms44-hero h1,
.public-body main.tf-page--application .cms44-hero .tf-page-lead,
.public-body main.tf-page--application .cms44-hero .tf-page-lead p,
.public-body main.tf-page--application .cms44-hero strong {
  color: #fff !important;
}

.public-body main.tf-page--application .cms44-hero .eyebrow {
  color: #e31937 !important;
}

/* Hero und sämtliche Inhaltsblöcke verwenden denselben Seitencontainer.
   Keine Verschiebung oder Zentrierung einzelner Blocktypen. */
.public-body main.tf-page--application .tf-page-hero > .tf-page-container,
.public-body main.tf-page--application .tf-page-section > .tf-page-container {
  width: min(calc(100% - (2 * var(--tf-gutter))), var(--tf-container));
  margin-inline: auto;
}

.public-body main.tf-page--application .cms44-reading {
  max-width: none !important;
  margin-inline: 0 !important;
}

/* Reine Textabschnitte behalten eine gut lesbare Zeilenlänge, beginnen aber
   an derselben linken Kante wie Kacheln, Bildblöcke und Formulare. */
.public-body main.tf-page--application .cms44-reading > * {
  max-width: 960px;
}

/* Keine zusätzliche leere Spalte, solange noch kein Bild ausgewählt ist. */
.public-body main.tf-page--application .cms44-text-image:not(:has(img)) {
  display: block !important;
}

.public-body main.tf-page--application .cms44-text-image:not(:has(img)) > div {
  max-width: 960px;
}

/* Die Inhaltsabstände werden nur auf den Partnerseiten beruhigt. */
.public-body main.tf-page--application .tf-page-section {
  padding-block: clamp(2.75rem, 5vw, 4.75rem);
}

@media (max-width: 720px) {
  .public-body main.tf-page--application .tf-page-section {
    padding-block: 2.5rem;
  }
}
