/* Zuordnung von WordPress-Blockwrappern zu den Folgeseiten-Sektionen (Teil A). */

/* Flow-Layout setzt Kind-Margins auf 0; Quell-Abstände wieder herstellen. */
.headline-section .headline-container > .headline-subtitle {
  margin: 0 0 12px;
}

.headline-section .headline-container > .headline-title {
  margin: 0 0 22px;
}

.headline-section .headline-container > .headline-description {
  margin: 0;
}

/* Folgeseiten-Vorlage: Titel und Seiteninhalt im Abstand der Headline-Sektion. */
.page-content-section {
  width: 100%;
  padding: 80px 0 50px;
  display: flex;
  justify-content: center;
}

.page-content-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.page-content-container > .wp-block-post-content {
  width: 100%;
}

/* Seitentitel im unteren Bereich des Heros; ein- und ausblendbar über kjp_show_title. */
.subpage-hero-wrapper > .subpage-hero-title {
  margin-top: auto;
  padding: 0 20px 40px;
  text-align: center;
  color: #ffffff;
  font-size: 2.8em;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.5px;
}

/* Core-Bildrahmen (margin 0 0 1em, img-Defaults) an die Quelle angleichen. */
.goal-section .goal-image-box .wp-block-image,
.parents-section .parents-image-box .wp-block-image {
  margin: 0;
}

.goal-section .goal-image-box img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: cover;
  border-radius: 8px;
}

.goal-section .goal-content-box > .chipcard-notice {
  margin-top: 8px;
}

.parents-section .parents-image-box img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 360px;
  object-fit: cover;
  object-position: center center;
  border-radius: 8px;
}

/* Button-Wrapper im CTA-Banner: nur Layout, die Optik kommt aus theme.json (Variation is-style-cta). */
.cta-banner-section .wp-block-buttons {
  display: block;
  gap: 0;
  margin: 0;
}

.cta-banner-section .wp-block-buttons > .wp-block-button {
  display: block;
  margin: 0;
  padding: 0;
  background: none;
  border-radius: 0;
  box-shadow: none;
}

.cta-banner-section .wp-block-button.is-style-cta .wp-block-button__link {
  white-space: nowrap;
  text-align: center;
}

@media (max-width: 991px) {
  .subpage-hero-wrapper > .subpage-hero-title {
    font-size: 2em;
    padding-bottom: 28px;
  }

  .parents-section .parents-image-box img {
    height: 280px;
  }

  .cta-banner-section .wp-block-button.is-style-cta .wp-block-button__link {
    width: 100%;
    white-space: normal;
  }
}
