/* Tipps & Wissen, 404: schlichte Textseiten ohne Karte und ohne Skript.
   Farben wie Impressum und Datenschutz. */
:root { --bg: #fff; --fg: #1c1f23; --dim: #6a7178; --line: rgba(0,0,0,.12);
  --accent: #2f6fb0; --card: #f4f6f9; --cta: #eaf2fb; }
@media (prefers-color-scheme: dark) {
  :root { --bg: #1c1f23; --fg: #e9edf1; --dim: #9aa3ab; --line: rgba(255,255,255,.15);
    --accent: #6fa8dc; --card: #252a30; --cta: #1f2e3e; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg);
  font: 16px/1.65 system-ui, -apple-system, "Segoe UI", sans-serif; }
a { color: var(--accent); }

header.site { display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  max-width: 760px; margin: 0 auto; padding: 14px 20px; border-bottom: 1px solid var(--line); }
header.site .brand { font-weight: 700; text-decoration: none; color: var(--fg); flex: 1; }
header.site .brand span { font-weight: 400; color: var(--dim); }
header.site nav { display: flex; gap: 14px; font-size: 14px; }
header.site nav a { text-decoration: none; }

main { max-width: 760px; margin: 0 auto; padding: 18px 20px 40px; }
.crumbs { font-size: 13px; color: var(--dim); }
.crumbs a { color: var(--dim); }
h1 { font-size: clamp(26px, 5vw, 34px); line-height: 1.2; margin: 12px 0 6px; }
h2 { font-size: 20px; line-height: 1.3; margin: 32px 0 8px; }
.meta { color: var(--dim); font-size: 13px; margin: 0 0 18px; }
.lead { font-size: 18px; color: var(--fg); opacity: .85; }
article li { margin: 4px 0; }

.cta { background: var(--cta); border-radius: 12px; padding: 18px 20px; margin: 36px 0 8px; }
.cta h2 { margin-top: 0; }
.btn { display: inline-block; background: var(--accent); color: #fff; text-decoration: none;
  font-weight: 600; padding: 9px 16px; border-radius: 8px; }
@media (prefers-color-scheme: dark) { .btn { color: #10161c; } }

.cards { list-style: none; padding: 0; margin: 18px 0; display: grid; gap: 12px; }
.cards a { display: block; padding: 14px 16px; border-radius: 12px; background: var(--card);
  text-decoration: none; color: var(--fg); border: 1px solid transparent; }
.cards a:hover { border-color: var(--accent); }
.cards strong { display: block; color: var(--accent); font-size: 17px; line-height: 1.35; }
.cards span { display: block; font-size: 14px; margin-top: 4px; }
.cards em { display: block; font-style: normal; font-size: 12px; color: var(--dim); margin-top: 6px; }
.more { border-top: 1px solid var(--line); margin-top: 28px; }

footer.site { max-width: 760px; margin: 0 auto; padding: 12px 20px 40px;
  border-top: 1px solid var(--line); font-size: 13px; }
.dim { color: var(--dim); }
