/* mobile-fixes.css – gezielte Verbesserungen für Mobile */
html, body {
  /* Nie Scroll global sperren */
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

/* Viewport-Höhe robust behandeln */
.hero, .fullscreen, .vh-100 {
  min-height: 100svh;
  min-height: 100dvh;
}

/* Fix für body 100vh Problem */
body {
  min-height: 100svh !important;
  min-height: 100dvh !important;
}

/* Fixierte Header berücksichtigen */
:root { --header-h: 64px; }
header[role="banner"], .site-header, .navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  backdrop-filter: saturate(120%) blur(6px);
}
main, .page-content {
  padding-top: var(--header-h);
}
section, [id] {
  scroll-margin-top: var(--header-h);
}

/* Bessere Lesbarkeit auf hero */
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.15));
}
.hero h1, .hero p, .hero .lead {
  text-shadow: 0 1px 2px rgba(0,0,0,.6);
}

/* Typografie flüssig skalieren */
:root {
  --fs-h1: clamp(1.6rem, 2vw + 1rem, 2.4rem);
  --fs-h2: clamp(1.3rem, 1.6vw + 0.9rem, 2rem);
  --fs-body: clamp(1rem, 0.5vw + 0.9rem, 1.125rem);
}
h1 { font-size: var(--fs-h1); line-height: 1.2; }
h2 { font-size: var(--fs-h2); line-height: 1.25; }
body, p, li { font-size: var(--fs-body); line-height: 1.55; }

/* Lange Wörter umbrechen, horizontales Scrollen vermeiden */
body { overflow-wrap: anywhere; word-break: normal; }
.no-wrap { white-space: normal; }

/* Touch-Ziele */
a, button { min-height: 44px; min-width: 44px; }

/* iOS Safari Safe Areas */
main { padding-bottom: env(safe-area-inset-bottom); }
header, .navbar { padding-top: env(safe-area-inset-top); }
