/* Overrides: Header/Telefon, Willkommen-Logo, Footer, Headings */
header .header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 10px 20px;
  width: 100%;
  box-sizing: border-box;
}
/* gleiche Max-Breite wie Inhalt */
header .header-container.container {
  max-width: 1200px;
  margin: 0 auto;
}
header .logo-left {
  height: 60px;
  max-width: 100%;
}
header .logo-tel {
  height: 30px;
  vertical-align: middle;
  max-width: 100%;
}
header .phone-link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: 1.1em;
  font-weight: 700;
  text-decoration: none;
  color: #000;
}
header .phone-link:hover { opacity: .85; }

/* Willkommen-Logo */
.welcome-logo { text-align: center; margin: 20px 0; }
.welcome-logo img { max-height: 120px; width: auto; }

/* Sticky Footer */
html, body { height: 100%; }
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  margin: 0;
}
main { flex: 1; }
footer {
  margin-top: auto;
  padding: 20px;
  text-align: center;
  background: #f2f2f2;
}

/* Impressum/Datenschutz Headings: 2 Nummern größer als Text */
body.impressum main h1,
body.impressum main h2,
body.datenschutz main h1,
body.datenschutz main h2 { font-size: 1.25em; }

/* Basis-Textgröße belassen (1em) */
body.impressum main, body.datenschutz main { font-size: 1em; }


/* --- Fixes 2025-09-01: Header mobile/Desktop + Footer-Overlap --- */

/* Erzwinge eine einzeilige Kopfzeile mit Platz zwischen Logo und Tel */
header .header-container {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}

/* Logo links bleibt kompakt */
header .logo-left { height: 56px; max-width: 100%; }

/* Telefonnummer rechts nicht umbrechen; schiebt sich nach rechts */
header .phone-link { white-space: nowrap; margin-left: auto; }
header .logo-tel { height: 28px; }

/* Sehr kleine Displays: ggf. Nummer leicht verkleinern */
@media (max-width: 380px) {
  header .phone-link { font-size: 1em; }
  header .logo-left { height: 48px; }
  header .logo-tel { height: 24px; }
}

/* Footer-Klasse .footer überschreibt alte absolute-Positionierungen */
.footer {
  position: static !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100%;
}

/* Sicherstellen, dass Sticky-Footer-Layout greift */
html, body { height: 100%; }
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  margin: 0;
}
main { flex: 1 0 auto; }
footer, .footer { margin-top: auto; }
