/* =========================================================
   SHK Schlösser – gemeinsame Gestaltung (gilt auf allen Seiten,
   wird nach den seiteneigenen Styles geladen)
   Schriften: Source Sans 3 (Text), Barlow (Überschriften)
   beide SIL Open Font License, lokal eingebunden
   ========================================================= */
@font-face { font-family: "Source Sans 3"; src: url("/assets/fonts/source-sans-3.woff2") format("woff2"); font-weight: 200 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow"; src: url("/assets/fonts/barlow-600.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow"; src: url("/assets/fonts/barlow-700.woff2") format("woff2"); font-weight: 700 800; font-style: normal; font-display: swap; }

body { font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
h1, h2, h3, .section-title, .faq-frage, .nav-cta, .btn-primary, .btn-outline, .nd-btn, .btn-solid { font-family: "Barlow", "Source Sans 3", Arial, sans-serif; }
h1 { font-weight: 700 !important; letter-spacing: -0.01em; }
h2, .section-title { font-weight: 700 !important; letter-spacing: -0.005em; }
h3 { font-weight: 600 !important; }
.faq-frage { font-weight: 600 !important; font-size: 17px !important; }

/* Abschnitte: mehr Luft, Überschriften linksbündig */
section.block { padding: 96px 0; }
.section-label { text-align: left !important; letter-spacing: 1.6px; font-size: 12.5px; }
.section-title { text-align: left !important; margin-bottom: 14px; }
.section-intro { text-align: left !important; margin-left: 0 !important; margin-right: auto !important; max-width: 640px; }
.faq-list { margin-left: 0 !important; }

/* Karten ruhiger: keine farbigen Oberkanten, kein Hüpfen */
.d-card, .leistung-card, .ort-card, .why-item { box-shadow: none !important; transform: none !important; }
.d-card { border: 1px solid rgba(0,0,0,0.08) !important; border-top: 1px solid rgba(0,0,0,0.08) !important; border-radius: 12px !important; }
.d-card:hover, .leistung-card:hover, .ort-card:hover { transform: none !important; box-shadow: 0 6px 20px rgba(0,0,0,0.06) !important; }
.d-card-ic { display: none !important; }

/* Ruhige Abschlüsse */
.cta-final .wrap { text-align: left !important; }
.cta-final h2, .cta-final p { text-align: left; }

/* Mobile: feste Leiste mit Anrufen / Anfrage */
.mobil-leiste { display: none; }
@media (max-width: 700px) {
  section.block { padding: 56px 0; }
  .mobil-leiste { display: grid; grid-template-columns: 1fr 1fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; background: #fff; border-top: 1px solid rgba(0,0,0,0.12); box-shadow: 0 -4px 16px rgba(0,0,0,0.08); padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); gap: 10px; }
  .mobil-leiste a { display: flex; align-items: center; justify-content: center; height: 48px; border-radius: 10px; font-family: "Barlow", sans-serif; font-weight: 700; font-size: 16px; text-decoration: none; }
  .mobil-leiste .ml-anrufen { background: #0c447c; color: #fff; }
  .mobil-leiste .ml-anfrage { background: #d32f2f; color: #fff; }
  body { padding-bottom: 76px; }
  #back-to-top { display: none !important; }
}

/* Linksbündig statt zentriert */
.gebiet-intro { text-align: left !important; margin-left: 0 !important; }
.gebiet-chips, .gebiet-links { justify-content: flex-start !important; margin-left: 0 !important; }
.wrap[style*="text-align:center"] { text-align: left !important; }
.ablauf-step { text-align: left !important; }
.ablauf-step .num { margin-left: 0 !important; }
.leistdetail, .why-grid, .prose, .split { margin-left: 0 !important; }
