/* =============================================================================
   Legal Pages (Impressum, Datenschutz) — schlicht, lesbar, gleiche CI
   ============================================================================= */

:root {
  --bg-1:        #ffffff;
  --bg-2:        #f7f9fb;
  --ink-1:       #2a2a29;
  --ink-2:       #575756;
  --ink-3:       #8a8a89;
  --accent:      #EC6608;
  --line:        rgba(87,87,86,0.12);
  --container:   780px;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {
  font-family:'Open Sans', -apple-system, 'Segoe UI', sans-serif;
  background:var(--bg-1);
  color:var(--ink-1);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }

.lg-topbar {
  position:sticky; top:0; z-index:10;
  background:rgba(255,255,255,0.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.lg-topbar-inner {
  max-width:var(--container); margin:0 auto;
  padding:16px clamp(20px, 4vw, 32px);
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.lg-topbar-logo {
  display:inline-flex; align-items:center;
}
.lg-topbar-logo img {
  height:32px; width:auto; display:block;
}
.lg-topbar-back {
  font-size:13px; font-weight:600; color:var(--ink-2);
  display:inline-flex; align-items:center; gap:6px;
}
.lg-topbar-back:hover { color:var(--accent); text-decoration:none; }

.lg-page {
  max-width:var(--container); margin:0 auto;
  padding:48px clamp(20px, 4vw, 32px) 80px;
}

.lg-eyebrow {
  display:inline-block; font-size:11px; font-weight:700;
  letter-spacing:0.18em; text-transform:uppercase;
  color:var(--accent); margin-bottom:12px;
}

h1 {
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:clamp(36px, 5vw, 56px); font-weight:600; line-height:1.05;
  letter-spacing:-0.02em; color:var(--ink-1);
  margin-bottom:28px;
}

h2 {
  font-size:clamp(18px, 2vw, 22px); font-weight:700;
  color:var(--ink-1); margin:36px 0 12px;
  padding-top:24px; border-top:1px solid var(--line);
}
h2:first-of-type { border-top:none; padding-top:0; margin-top:32px; }

h3 {
  font-size:15px; font-weight:700; color:var(--ink-1);
  margin:20px 0 6px;
}

p, ul, ol {
  font-size:15px; color:var(--ink-2); margin-bottom:14px;
}
ul, ol { padding-left:22px; }
li { margin-bottom:4px; }

strong { color:var(--ink-1); font-weight:700; }

.lg-meta {
  background:var(--bg-2);
  border:1px solid var(--line);
  border-radius:10px;
  padding:18px 22px;
  margin:24px 0;
  font-size:14px; color:var(--ink-1);
}
.lg-meta strong { display:block; margin-bottom:4px; }
.lg-meta + .lg-meta { margin-top:-6px; }

.lg-footer {
  border-top:1px solid var(--line);
  margin-top:48px; padding-top:24px;
  font-size:13px; color:var(--ink-3);
  display:flex; flex-wrap:wrap; gap:8px 18px;
}
.lg-footer a { color:var(--ink-3); }
.lg-footer a:hover { color:var(--accent); }
.lg-footer .lg-sep { opacity:0.4; }

@media (max-width:600px) {
  .lg-page { padding:32px 20px 60px; }
  h1 { font-size:32px; }
  h2 { font-size:17px; }
}
