/* Gemeinsame Basis-Styles für alle Unterseiten (Impressum, Datenschutz, Galerie, Rückblicke).
   Bitte hier pflegen statt in den einzelnen Seiten zu duplizieren –
   sonst laufen die Seiten wieder auseinander (siehe Footer-Bug auf der Rückblicke-Seite).
   Die Navbar selbst (auch auf der Startseite) lebt separat in /navbar.css + /navbar.js. */

:root {
  --font-main:   'Fira Sans', -apple-system, sans-serif;
  --font-accent: 'Alegreya', Georgia, serif;
  --accent:      #b03a2e;
  --accent-dark: #8f2f25;
  --text:        #1a1a1a;
  --text-muted:  #555;
  --bg:          #fafafa;
  --bg-alt:      #f4f0eb;
  --border:      rgba(0,0,0,0.07);
  --radius:      10px;
  --max-w:       1100px;
}
/* min-width:0 verhindert, dass Flex-/Grid-Kinder (z.B. lange Wörter oder URLs) über ihre
   eigentliche Breite hinaus wachsen und die Seite horizontal aufsprengen. */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; overflow-wrap: break-word; min-width: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-main); background: var(--bg); color: var(--text); line-height: 1.65; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

/* Nav: siehe navbar.css (gemeinsame Komponente für alle Seiten, inkl. Startseite) */

/* Footer */
footer {
  background: #1a1a1a; color: #aaa;
  padding: 40px 4%; text-align: center; font-size: 14px;
  margin-top: 80px; border-top: 4px solid var(--accent);
}
footer a { color: #fff; margin: 0 10px; }
footer a:hover { color: var(--accent); }

/* Back to top */
.back-to-top {
  position: fixed; bottom: 28px; right: 28px;
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--accent); color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(176,58,46,0.35);
  opacity: 0; pointer-events: none; transform: translateY(16px);
  transition: all 0.3s ease; z-index: 300; border: none; cursor: pointer;
}
.back-to-top.visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.back-to-top:hover { background: var(--accent-dark); transform: translateY(-2px); }
