/* legal.css — Unterseiten (Impressum, Datenschutz) im Froitzheim-Stil */
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Archivo:wght@400;500;600;700&display=swap');

:root{
  --gold:#FFBC0D; --red:#DB0007; --ink:#141414; --bg:#ffffff;
  --bg-soft:#f4f3ef; --muted:#6c6c72; --line:#e6e4dd;
  --accent:#FFBC0D; --accent-ink:#141414; --radius:4px;
  --font-display:'Anton'; --font-body:'Archivo';
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--font-body),system-ui,sans-serif; color:var(--ink);
  background:var(--bg); -webkit-font-smoothing:antialiased; line-height:1.65;
}
.wrap{ width:min(820px,92vw); margin:0 auto; }
a{ color:inherit; }

/* Header */
.lnav{
  position:sticky; top:0; z-index:30; background:var(--bg);
  border-bottom:1px solid var(--line);
}
.lnav .wrap{ display:flex; align-items:center; justify-content:space-between; padding:14px 0; }
.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); }
.brand .mark{
  width:42px; height:42px; border-radius:var(--radius); background:var(--accent);
  display:grid; place-items:center; font-family:var(--font-display); font-size:25px; color:var(--accent-ink); flex:none;
}
.brand .bt b{ font-family:var(--font-display); font-size:21px; letter-spacing:1px; display:block; text-transform:uppercase; line-height:1; }
.brand .bt span{ font-size:10.5px; letter-spacing:2px; text-transform:uppercase; opacity:.7; }
.back{
  font-weight:700; font-size:13px; letter-spacing:1px; text-transform:uppercase;
  text-decoration:none; color:var(--ink); display:inline-flex; align-items:center; gap:8px;
  border:2px solid var(--ink); padding:10px 18px; border-radius:var(--radius);
  transition:background .2s, color .2s;
}
.back:hover{ background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }

/* Hero strip */
.lhead{ background:var(--ink); color:#fff; padding:64px 0 56px; }
.lhead .kick{ display:inline-flex; align-items:center; gap:10px; font-weight:700; font-size:13px; letter-spacing:3px; text-transform:uppercase; color:var(--accent); margin-bottom:16px; }
.lhead .kick::before{ content:""; width:30px; height:3px; background:var(--accent); }
.lhead h1{ font-family:var(--font-display); text-transform:uppercase; line-height:.92; font-size:clamp(40px,7vw,76px); color:var(--accent); }

/* Body */
.doc{ padding:56px 0 80px; }
.doc h2{
  font-family:var(--font-display); text-transform:uppercase; letter-spacing:.5px;
  font-size:26px; margin:42px 0 14px; line-height:1.1;
}
.doc h2:first-child{ margin-top:0; }
.doc h3{ font-weight:700; font-size:17px; margin:26px 0 8px; }
.doc p{ margin:0 0 14px; color:#2f2f34; }
.doc ul{ margin:0 0 16px; padding-left:22px; color:#2f2f34; }
.doc li{ margin:0 0 7px; }
.doc a{ color:var(--ink); text-decoration:underline; text-underline-offset:2px; }
.doc a:hover{ color:var(--accent); }
.doc strong{ font-weight:700; }
.doc .lead{ font-size:18px; color:#3a3a3f; }
.placeholder{
  background:#fffaf0; border:1px solid var(--gold);
  border-left:4px solid var(--gold); padding:14px 16px; border-radius:var(--radius);
  font-size:14px; color:#5a4a14; margin:0 0 14px;
}
.placeholder b{ color:#3a2f08; }
.muted{ color:var(--muted); font-size:14px; }
.updated{ margin-top:40px; padding-top:20px; border-top:1px solid var(--line); font-size:13px; color:var(--muted); }

/* Footer */
.lfoot{ background:var(--ink); color:rgba(255,255,255,.6); padding:30px 0; font-size:13px; }
.lfoot .wrap{ display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.lfoot a{ color:rgba(255,255,255,.8); text-decoration:none; }
.lfoot a:hover{ color:#fff; }
.lfoot .links{ display:flex; gap:20px; }
