/* one.immo Website - geteiltes Design-System.
   Tokens + Reset + Hover-Helfer (ersetzen das dc-runtime style-hover-Attribut).
   Fonts kommen aus /assets/fonts/fonts.css (selbst gehostet, kein Google-CDN -> DSGVO). */

@import url("/assets/fonts/fonts.css");

:root {
  --bg: #191c1f;
  --fg: #f4f4f4;
  --accent: #00a87e;
  --accent-hover: #009470;
  --muted: #8d969e;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--bg); }
body {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  color: var(--fg);
}
img { max-width: 100%; }

/* Hover-Helfer: die Basis-Styles bleiben inline im Markup, hier nur der :hover-Zustand. */
.lnk { transition: color .2s cubic-bezier(.4,0,.2,1); }
.lnk:hover { color: #f4f4f4 !important; }
.btn { transition: all .2s cubic-bezier(.4,0,.2,1); }
.btn-white:hover { opacity: .9; }
.btn-primary:hover { background: var(--accent-hover) !important; border-color: var(--accent-hover) !important; }
.btn-secondary:hover { background: rgba(255,255,255,0.12) !important; border-color: rgba(255,255,255,0.3) !important; }
.navchip { transition: all .2s cubic-bezier(.4,0,.2,1); }
.navchip:hover { background: rgba(255,255,255,0.12) !important; border-color: rgba(255,255,255,0.24) !important; color: #f4f4f4 !important; }

/* Geteilte Responsive-Regeln (Nav + Footer). Seiten-spezifische Breakpoints stehen je Seite. */
@media (max-width: 880px) {
  .hide-sm { display: none !important; }
  .foot-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 560px) {
  .foot-grid { grid-template-columns: 1fr !important; }
}

/* prefers-reduced-motion: alle Deko-Animationen still. Scroll-Story bleibt scrollgesteuert. */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; }
}
