/* Impressum · Datenschutz · AGB — nutzt die Komponenten der Startseite
   (hero, chap-Typo, Hairlines, contact-freier Footer). Nur Ergänzungen. */

/* ---------- Brotkrume ---------- */
.lp-breadcrumb{display:flex;gap:12px;font-size:11px;color:var(--mut);margin-bottom:26px}
.lp-breadcrumb a:hover{color:var(--acc)}

/* ---------- Kopf ---------- */
.hero.lp-hero.legal-hero{padding:150px 0 44px}
.legal-hero .lp-hero-grid{grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}
.legal-hero h1{font-size:clamp(46px,5vw,74px);line-height:1.04;letter-spacing:-3.5px;font-weight:700;
  color:var(--ink);margin:24px 0 24px;hyphens:manual}
.legal-hero h1 em{font-family:var(--f-serif);font-weight:450;color:var(--acc);letter-spacing:-3px}
.legal-hero .lp-intro{max-width:430px}
.legal-meta{border-top:1px solid var(--line)}
.legal-meta div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:11px;color:var(--mut)}
.legal-meta b{font-weight:600;color:var(--ink);text-align:right}

/* ---------- Rumpf ---------- */
#text{padding:56px 0 90px}
.legal-body{display:grid;grid-template-columns:230px minmax(0,1fr);gap:70px;align-items:start}
.legal-body.no-toc{grid-template-columns:minmax(0,1fr);max-width:1000px}

/* Inhaltsverzeichnis, läuft beim Scrollen mit */
.legal-toc{position:sticky;top:118px}
.legal-toc>span{display:block;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--mut);
  padding-bottom:14px;border-bottom:1px solid var(--line)}
.legal-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.legal-toc a{display:flex;gap:10px;padding:9px 0;font-size:12px;line-height:1.5;color:var(--mut);
  border-bottom:1px solid var(--line);transition:color .2s}
.legal-toc a::before{counter-increment:toc;content:counter(toc,decimal-leading-zero);
  font-size:9px;color:var(--dim);padding-top:2px;flex:none}
.legal-toc a:hover,.legal-toc a.active{color:var(--acc)}
.legal-toc a.active::before{color:var(--acc)}

/* Abschnitte: Überschrift links, Text rechts — wie die Kapitelköpfe der Startseite */
.legal-block{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:50px;
  padding:34px 0;border-top:1px solid var(--line);scroll-margin-top:120px}
.legal-block:first-child{border-top:0;padding-top:0}
.legal-block>h2{font-size:22px;font-weight:600;letter-spacing:-.8px;line-height:1.25;color:var(--ink);
  align-self:start;position:sticky;top:118px}
.legal-body.no-toc .legal-block>h2{position:static}
.legal-prose{font-size:14px;line-height:1.9;color:var(--mut);max-width:68ch}
.legal-prose>*+*{margin-top:16px}
.legal-prose h3{font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.2px;margin-top:26px}
.legal-prose strong{color:var(--ink);font-weight:600}
.legal-prose a{color:var(--acc);border-bottom:1px solid var(--line2);padding-bottom:1px;word-break:break-word}
.legal-prose a:hover{border-color:var(--acc)}
.legal-prose address{font-style:normal;line-height:1.9}
.legal-prose ul,.legal-prose ol{padding-left:20px}
.legal-prose li+li{margin-top:8px}
.legal-prose em{font-family:var(--f-serif);font-style:italic;color:var(--ink)}
.legal-updated{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);
  font-size:11px;color:var(--dim)}

@media(max-width:1100px){
  .legal-hero h1{font-size:54px}
  .legal-body{grid-template-columns:200px minmax(0,1fr);gap:44px}
  .legal-block{gap:34px}
}
@media(max-width:900px){
  .legal-hero .lp-hero-grid{gap:38px}
  .legal-body{grid-template-columns:minmax(0,1fr)}
  /* Ohne Seitenspalte wird das Verzeichnis zur normalen Liste über dem Text. */
  .legal-toc{position:static;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:8px}
  .legal-toc ol{columns:2;column-gap:30px}
  .legal-block>h2{position:static}
}
@media(max-width:640px){
  .hero.lp-hero.legal-hero{padding:112px 0 34px}
  .legal-hero .lp-hero-grid{grid-template-columns:1fr;gap:30px}
  .lp-breadcrumb{font-size:10px;margin-bottom:18px}
  .legal-hero h1{font-size:clamp(40px,11vw,60px);letter-spacing:-2.5px;margin:20px 0}
  .legal-hero h1 em{letter-spacing:-2px}
  .legal-toc ol{columns:1}
  .legal-block{grid-template-columns:1fr;gap:14px;padding:26px 0}
  .legal-block>h2{font-size:19px;letter-spacing:-.5px}
  .legal-prose{font-size:13px}
  .legal-updated{margin-top:30px}
}
