/* app.css — minimales Basis-CSS (Reset + Wrap).
   Komponenten und Theme-Variablen kommen aus themes/<theme>.css via base.html. */

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
html, body { margin: 0; padding: 0; }
.wrap { max-width: 1040px; margin: 0 auto; padding: 20px clamp(18px, 4.5vw, 44px) 40px; }

/* Formular-Spalte: Buchungs-/Einverständnisformular laufen schmaler als die
   1040px-Seite — nur Header, Hero, Stepper und Footer nutzen die volle Breite. */
.wrap .content-narrow { max-width: 760px; margin-inline: auto; }
/* (Spezifität 0,2,0: gewinnt gegen die margin-Shorthands der
   Theme-Komponenten, die NACH app.css laden.) */
