/* ============================================================================
   Bauteil: Weiches Scrollen — v1.0
   Diese Datei wird NACH lenis/lenis.css geladen. Sie enthaelt nur das, was am
   Verhalten der Bibliothek geradegerueckt werden muss.
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. Eingebettete Karten bleiben bedienbar.

   lenis.css setzt `.lenis.lenis-smooth iframe { pointer-events: none }`. Der
   Grund ist nachvollziehbar: ein iframe reicht Rad-Ereignisse nicht nach
   aussen, also wuerde die Seite ueber der Einbettung haengenbleiben. Die
   Nebenwirkung ist es nicht: Eine eingebettete Karte laesst sich dann weder
   anklicken noch verschieben — auf jeder Kontaktseite ist das ein toter
   Bereich mitten im Wichtigsten.

   Wir drehen es um: Das iframe bleibt bedienbar, und das Rad daroeber
   uebernimmt die Einbettung (dafuer sorgt `nichtLenis()` im Skript). Eine
   Karte, die man nicht anfassen kann, ist schlimmer als eine Karte, ueber der
   das Rad etwas anderes tut als daneben.
   --------------------------------------------------------------------------- */
html.lenis.lenis-smooth iframe { pointer-events: auto; }

/* ---------------------------------------------------------------------------
   2. Overlays fangen ihren eigenen Bildlauf ein.

   Auf iOS haelt sich der Browser nicht zuverlaessig an `overflow: hidden` am
   Hintergrund — der Dialog scrollt, und die Seite darunter scrollt mit
   (belegt in Lenis-Discussion #326, geloest mit genau dieser Zeile).
   `overscroll-behavior: contain` gehoert an JEDES Overlay, mit oder ohne
   weiches Scrollen.
   --------------------------------------------------------------------------- */
.modal, .dialog, [role="dialog"], [data-lenis-prevent] {
  overscroll-behavior: contain;
}

/* ---------------------------------------------------------------------------
   3. Zwei Glaettungen gleichzeitig sind eine zu viel.

   Steht im Stylesheet `scroll-behavior: smooth`, glaetten Browser und Lenis
   denselben Sprung nacheinander — Ankerspruenge werden dadurch zaeh und
   ungenau. Solange Lenis laeuft, gilt deshalb `auto`; faellt Lenis aus, bleibt
   die CSS-Glaettung der Seite unangetastet.
   --------------------------------------------------------------------------- */
html.lenis { scroll-behavior: auto; }

/* ---------------------------------------------------------------------------
   4. Wer Bewegung abbestellt hat, sieht hier nichts.

   Das Skript startet Lenis in diesem Fall gar nicht erst. Diese Regel ist die
   zweite Sicherung fuer den Fall, dass jemand das Skript umgeht und die
   Bibliothek von Hand startet.
   --------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html.lenis, html.lenis body { scroll-behavior: auto; }
}
