/* ================================
   Typografie-Basis
   ================================ */

/* Fließtext: Georgia */
body, p, li, span, input, textarea {
  font-family: Georgia, serif;
  font-size: 1rem;
  line-height: 1.7;
}

/* Buttons: neutral & modern */
button, .button, input[type="submit"] {
  font-family: "Segoe UI", sans-serif;
  font-weight: 500;
  text-transform: none;
}

/* ================================
   Überschriften: Segoe UI + Farb-Hierarchie
   ================================ */
:root {
  --kw-h1-h2: #5a4a3f; /* warmes Grau-Braun */
  --kw-h3-h4: #7a6a5d; /* etwas heller */
  --kw-h5-h6: #9a8f87; /* sehr dezent */
}

/* H1 / H2 */
h1, h2,
.ast-site-identity .site-title,
.ast-site-identity .site-title a,
.ast-archive-title, .entry-title, .entry-title a {
  font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-weight: 600 !important;
  color: var(--kw-h1-h2) !important;
}

/* H3 / H4 */
h3, h4,
.elementor-widget-heading .elementor-heading-title.elementor-size-medium,
.elementor-widget-heading .elementor-heading-title.elementor-size-small {
  font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-weight: 600 !important;
  color: var(--kw-h3-h4) !important;
}

/* H5 / H6 */
h5, h6 {
  font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-weight: 600 !important;
  color: var(--kw-h5-h6) !important;
}

/* Elementor Überschriften */
.elementor-heading-title {
  font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-weight: 600 !important;
}

/* ================================
   Links: einheitlich
   ================================ */
a { color:#8B5E3C; text-decoration:none; }
a:hover { text-decoration:underline; }
a:focus-visible {
  outline:2px solid #8B5E3C;
  outline-offset:2px;
  border-radius:2px;
}

/* ================================
   Mobile Anpassungen
   ================================ */
@media (max-width: 767px) {
  h1 { font-size:1.35em; line-height:1.25; }
  h2 { font-size:1.15em; margin-bottom:0.3em; }
  h3 { font-size:1.05em; margin-bottom:0.25em; }
  section[id] { padding-top:16px !important; padding-bottom:16px !important; }
  #start .inner, #start .inner * { line-height:1.4; }
}

/* ================================
   Sticky Header Offset für Anker
   ================================ */
:target::before {
  content:"";
  display:block;
  height:80px;           /* Header-Höhe anpassen */
  margin-top:-80px;
}
@media (max-width: 767px) {
  :target::before { height:64px; margin-top:-64px; }
}
/* Einheitliches Styling für Impressum & Datenschutz */
section.impressum,
section.datenschutz {
  max-width: 750px;      /* Lesefreundliche Breite */
  margin: 3rem auto;     /* Abstand nach oben/unten und zentriert */
  padding: 0 1rem;       /* etwas Luft links/rechts */
  font-family: "Helvetica Neue", Arial, sans-serif;
  line-height: 1.6;
  color: #333;
}

section.impressum h3,
section.datenschutz h3 {
  font-size: 1.4rem;
  font-weight: 600;
  margin: 2rem 0 1rem;
  color: #222;
}

section.impressum h4,
section.datenschutz h4 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 1.5rem 0 0.5rem;
  color: #444;
}

section.impressum p,
section.datenschutz p,
section.impressum li,
section.datenschutz li {
  font-size: 0.95rem;
  margin: 0.4rem 0;
}

section.impressum ul,
section.datenschutz ul {
  margin: 0.5rem 0 1rem 1.2rem;
  padding: 0;
  list-style: disc;
}

section.impressum a,
section.datenschutz a {
  color: #444;
  text-decoration: underline;
}

section.impressum a:hover,
section.datenschutz a:hover {
  color: #000;
  text-decoration: none;
}
.btn-erstgespraech {
  background-color: #556b2f;
  color: #fff !important;
  padding: 0.7rem 1.4rem;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.3s ease;
}

.btn-erstgespraech:hover {
  background-color: #445523;
}

