/**
 * STARFRUIT STUDIO – SITEWIDE FINISH PASS
 * 2026-11-12
 *
 * Dieser Layer korrigiert nur Inkonsistenzen aus älteren Ausbaustufen.
 * Er ersetzt keine Seitenlogik und keine Inhalte.
 */

/* =========================================================
   1. GRUNDRHYTHMUS
   ========================================================= */

:root {
  --sfs-space-section: clamp(72px, 8vw, 104px);
  --sfs-space-section-mobile: 56px;
  --sfs-space-head: clamp(32px, 4.5vw, 48px);
}

/* Überschrift + Lead: überall ähnlich viel Luft */
.section-header .lead {
  margin-top: 16px;
}

.section-header > :last-child {
  margin-bottom: 0;
}

/* Karten und Inhaltsboxen sollen unten nicht zufällig extra Luft haben */
.card > :last-child,
.cta-block > :last-child {
  margin-bottom: 0;
}

/* Home: Aktionen in den drei Einstiegs-Karten sauber auf einer Linie */
.page-home .grid > .card {
  display: flex;
  flex-direction: column;
}

.page-home .grid > .card > .act {
  margin-top: auto;
  padding-top: 24px;
}

/* =========================================================
   2. LEISTUNGSÜBERSICHT
   ========================================================= */

/* Der grünstichige Verlauf war ein Einzelstück. */
.sfs-services-v4 .sfsv4-hero,
.sfsv4-hero {
  background: transparent !important;
}

/* Kundenstimme: keine einzelne grüne Seitenkante. */
.sfs-services-v4 .sfsv4-quote,
.sfsv4-quote {
  border-left: 0 !important;
  border: 1px solid var(--line) !important;
  background: var(--surface) !important;
  clip-path: var(--clip-path-cut);
}

/* Übergänge zwischen den großen Bereichen etwas eindeutiger. */
.sfs-services-v4 .sfsv4-services,
.sfs-services-v4 .sfsv4-proof,
.sfs-services-v4 .sfsv4-process {
  padding-top: var(--sfs-space-section);
  padding-bottom: var(--sfs-space-section);
}

.sfs-services-v4 .sfsv4-handover-inner {
  padding-top: clamp(34px, 4vw, 46px);
  padding-bottom: clamp(34px, 4vw, 46px);
}

/* =========================================================
   3. WISSEN – ALTEN INLINE-RHYTHMUS NEUTRALISIEREN
   ========================================================= */

body.page-id-282 .entry-content > .section {
  margin-top: 0 !important;
  padding-top: var(--sfs-space-section) !important;
  padding-bottom: var(--sfs-space-section) !important;
  background: transparent !important;
  clip-path: none !important;
}

body.page-id-282 .entry-content > .section + .section {
  border-top: 1px solid var(--line);
}

body.page-id-282 .section-header {
  max-width: 70ch !important;
  margin: 0 auto var(--sfs-space-head) !important;
}

body.page-id-282 .section-header .lead {
  margin: 16px auto 0 !important;
  color: var(--muted) !important;
}

/* Glossar: etwas weniger "Button-Wolke", mehr Ruhe */
body.page-id-282 .sf-glossar-filter {
  gap: 8px;
  margin-bottom: clamp(34px, 5vw, 48px);
}

body.page-id-282 .sf-glossar-filter-btn {
  padding: 9px 15px;
  border-width: 1px;
}

body.page-id-282 .sf-glossar-card {
  padding: 28px;
}

/* FAQ-Raster nicht unnötig auseinanderziehen */
body.page-id-282 .faq-grid {
  gap: 14px 24px;
}

/* =========================================================
   4. KONTAKT – VERALTETE INLINE-ABSTÄNDE GLÄTTEN
   ========================================================= */

body.page-id-250 .hero {
  padding-top: clamp(60px, 8vw, 92px) !important;
  padding-bottom: clamp(60px, 8vw, 92px) !important;
}

body.page-id-250 .hero .lead {
  margin-top: 18px;
}

body.page-id-250 .entry-content > .section {
  padding-top: var(--sfs-space-section) !important;
  padding-bottom: var(--sfs-space-section) !important;
}

body.page-id-250 .hero + .section {
  padding-top: clamp(28px, 4vw, 46px) !important;
}

body.page-id-250 .form-container > h2 {
  margin-bottom: 16px;
}

body.page-id-250 .form-container > p {
  margin: 0;
  line-height: 1.7;
}

body.page-id-250 .form-wrapper {
  padding-top: 28px !important;
}

/* Direkter Draht: saubere ruhige Box */
body.page-id-250 .sfs-contact-grid > .card {
  border: 1px solid var(--line);
  background: var(--surface);
  clip-path: var(--clip-path-cut);
}

/* Prozesskarten auf der Kontaktseite ebenfalls in das Formsystem ziehen */
body.page-id-250 .grid.grid-3 > div[style*="border"] {
  background: var(--surface);
  clip-path: var(--clip-path-cut);
  border-color: var(--line) !important;
}

/* =========================================================
   5. ALTE GRÜNSTICHIGE FLÄCHEN -> NEUTRALES STARFRUIT-GRAU
   ========================================================= */

.sfa-together,
.sfa-cta,
.sfc-care-scope,
.sfc-care-models,
.sfc-care-cta,
.sfs-service-proof,
.sfc3-logo,
.sfc3-quote,
.sfc2-quote {
  background: var(--bg) !important;
}

/* Keine farbigen Einzelbalken an Zitaten/Logoflächen */
.sfc3-logo,
.sfc3-quote,
.sfc2-logo,
.sfc2-quote,
.sfr3-feature-grid,
.sfr3-feature-modern,
.sfr3-feature-copy blockquote {
  border-color: var(--line) !important;
}

.sfc3-logo,
.sfc2-logo {
  border-top-width: 1px !important;
}

.sfc3-quote,
.sfc2-quote,
.sfr3-feature-copy blockquote {
  border-left: 0 !important;
}

.sfc3-quote,
.sfc2-quote {
  border: 1px solid var(--line) !important;
  clip-path: var(--clip-path-cut);
}

.sfr3-feature-modern {
  border-top-width: 1px !important;
}

/* =========================================================
   6. SERVICE-PROOF / CASE-PROOF
   ========================================================= */

/* Statt leicht grün: neutrale Trennung, weiterhin klarer Abschnitt */
.sfs-service-proof {
  background: var(--bg) !important;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

/* Bilder/Logoflächen in den gleichen kantigen Rahmen bringen */
.sfs-proof-media img,
.sfs-proof-media--logo {
  clip-path: var(--clip-path-cut);
}

/* =========================================================
   7. LEGACY CTA-BLÖCKE RUHIGER MACHEN
   ========================================================= */

/*
 * Ältere Leistungsseiten verwenden noch einen grünen Vollflächen-CTA.
 * Auf den Leistungsseiten wird er jetzt wie die neueren CTA-Container behandelt.
 */
body.page-id-46 .cta-block,
body.page-id-109 .cta-block,
body.page-id-111 .cta-block,
body.page-id-121 .cta-block,
body.page-id-123 .cta-block,
body.page-id-129 .cta-block,
body.page-id-136 .cta-block,
body.page-id-690 .cta-block {
  background: var(--surface) !important;
  border: 1px solid var(--line);
  color: var(--ink);
  clip-path: var(--clip-path-cut);
  box-shadow: 0 14px 34px rgba(0,0,0,.035);
}

body.page-id-46 .cta-block h2,
body.page-id-109 .cta-block h2,
body.page-id-111 .cta-block h2,
body.page-id-121 .cta-block h2,
body.page-id-123 .cta-block h2,
body.page-id-129 .cta-block h2,
body.page-id-136 .cta-block h2,
body.page-id-690 .cta-block h2 {
  color: var(--ink) !important;
}

body.page-id-46 .cta-block .lead,
body.page-id-109 .cta-block .lead,
body.page-id-111 .cta-block .lead,
body.page-id-121 .cta-block .lead,
body.page-id-123 .cta-block .lead,
body.page-id-129 .cta-block .lead,
body.page-id-136 .cta-block .lead,
body.page-id-690 .cta-block .lead {
  color: var(--muted) !important;
  opacity: 1 !important;
}

body.page-id-46 .cta-block .btn,
body.page-id-109 .cta-block .btn,
body.page-id-111 .cta-block .btn,
body.page-id-121 .cta-block .btn,
body.page-id-123 .cta-block .btn,
body.page-id-129 .cta-block .btn,
body.page-id-136 .cta-block .btn,
body.page-id-690 .cta-block .btn {
  background: var(--accent) !important;
  color: var(--ink) !important;
}

/* =========================================================
   8. REFERENZEN / CASES – CUT EDGE KONSEQUENTER
   ========================================================= */

.sfr3-cta-inner,
.sfc3-cta-inner,
.sfc2-cta-inner {
  clip-path: var(--clip-path-cut);
}

.sfr3-project img,
.sfr3-feature-logo,
.sfc3-logo,
.sfc2-logo {
  clip-path: var(--clip-path-cut);
}

/* =========================================================
   9. MOBILE RHYTHMUS
   ========================================================= */

@media (max-width: 759px) {
  :root {
    --sfs-space-head: 30px;
  }

  body.page-id-282 .entry-content > .section,
  body.page-id-250 .entry-content > .section {
    padding-top: var(--sfs-space-section-mobile) !important;
    padding-bottom: var(--sfs-space-section-mobile) !important;
  }

  body.page-id-250 .hero {
    padding-top: 44px !important;
    padding-bottom: 50px !important;
  }

  body.page-id-250 .hero + .section {
    padding-top: 34px !important;
  }

  body.page-id-282 .sf-glossar-filter {
    justify-content: flex-start;
  }

  body.page-id-282 .sf-glossar-card {
    padding: 22px;
  }

  .sfs-service-proof {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .sfc3-quote,
  .sfc2-quote {
    padding: 28px 22px !important;
  }

  body.page-id-46 .cta-block,
  body.page-id-109 .cta-block,
  body.page-id-111 .cta-block,
  body.page-id-121 .cta-block,
  body.page-id-123 .cta-block,
  body.page-id-129 .cta-block,
  body.page-id-136 .cta-block,
  body.page-id-690 .cta-block {
    padding: 32px 22px !important;
  }
}

/* =========================================================
   10. REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .page-home .grid > .card,
  .sf-glossar-filter-btn {
    transition: none !important;
  }
}