/* Marketing Sections — shared base */

:root {
  --section-icon-col: 3rem;
}

/* Alle Typen full-bleed; Inhalt per Inner-Wrapper zentriert (parallax eigen). */
.services,
.stats,
.testimonials,
.partners,
.contact-cta,
.callback,
.local-area,
.team,
.process,
.faq,
.video,
.timeline,
.image-gallery,
.about,
.benefits {
  grid-column: full;
}

/* Halbes Gap oben+unten je Section -> zwischen zweien addiert sich das volle Gap. */
main > section:not(.parallax),
main > article {
  padding-block: calc(var(--gap-section) / 2);
}

/* Getoentes Band — opt-in, volles Innen-Padding. */
.about,
.testimonials,
.callback,
.local-area,
.timeline,
.faq {
  background: var(--color-bg-alt);
  padding-block: var(--gap-section);
}

/* Inner-Wrapper: Inhalt auf content-width zentrieren. */
.services > *,
.stats > *,
.testimonials > *,
.partners > *,
.contact-cta > *,
.callback > *,
.local-area > *,
.team > *,
.process > *,
.faq > *,
.video > *,
.timeline > *,
.image-gallery > *,
.about > *,
.benefits > * {
  max-width: var(--content-width);
  margin-inline: auto;
  padding-inline: var(--padding-page);
}

/* Datenbank-Modul (Produkt-Grid): Sections content-breit statt full-bleed. */
main:has(> .products.grid) > section:not(.parallax) {
  grid-column: content;
}

/* Divider zwischen aufeinanderfolgenden Sections. */
main > section:not(.parallax):has(+ section:not(.parallax)),
main > article:has(+ section:not(.parallax)) {
  border-bottom: 0.0625rem solid var(--color-border);
}


/* --- Section headers (label + title) --- */

.services > header,
.testimonials > header,
.local-area > header,
.team > header,
.process > header,
.faq > header,
.video > header,
.timeline > header,
.benefits > header,
.stats > header,
.partners > header,
.contact-cta > header,
.image-gallery > header {
  text-align: center;
  margin-block-end: var(--gap-section);
}

/* Header-Eyebrow/Label <span>. */
.services > header span,
.testimonials > header span,
.local-area > header span,
.team > header span,
.process > header span,
.faq > header span,
.video > header span,
.timeline > header span,
.benefits > header span,
.stats > header span,
.partners > header span,
.contact-cta > header span,
.callback > header span,
.image-gallery > header span {
  display: block;
  font-size: var(--text-xs);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  color: var(--color-primary);
  margin-block-end: var(--space-3);
}
