/* ============================================================
   Florian Haacks — Rechtstexte (Impressum, Datenschutz, AGB)
   Baut auf fh-blog.css auf (.fh-crumb, .fh-narrow, .fh-prose).
   ============================================================ */

/* ---------- Kopf ---------- */
.fh-legal-head{
  padding:160px 0 var(--s-6); border-bottom:1px solid var(--line);
  margin-bottom:var(--s-7);
}
.fh-legal-head h6{ margin:0 0 var(--s-3); }
.fh-legal-head h1{ margin:var(--s-3) 0 var(--s-4); }
.fh-updated{ font-size:0.82rem; color:var(--muted); margin:0; }

/* ---------- Sprungverzeichnis, zweispaltig ---------- */
.fh-toc{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md);
  padding:var(--s-5); margin-bottom:var(--s-7);
}
.fh-toc h4{
  font-family:var(--font-head); font-size:0.82rem; text-transform:uppercase;
  letter-spacing:0.1em; color:var(--muted); margin:0 0 var(--s-4);
}
.fh-toc ol{
  list-style:none; counter-reset:toc; columns:2; column-gap:var(--s-6); margin:0; padding:0;
}
.fh-toc li{
  counter-increment:toc; margin:0 0 10px; padding-left:28px; position:relative;
  font-size:0.88rem; break-inside:avoid;
}
.fh-toc li::before{
  content:counter(toc,decimal-leading-zero); position:absolute; left:0; top:2px;
  font-family:var(--font-head); font-size:0.74rem; color:var(--accent);
}
.fh-toc a{ color:var(--muted); text-decoration:none; }
.fh-toc a:hover{ color:var(--text); }

/* ---------- Text ---------- */
/* Abschnittsüberschriften (h2, bei den AGB h3) sehen einheitlich aus */
.fh-prose .fh-legal-sec{
  font-size:clamp(1.5rem,2.4vw,1.85rem); font-weight:600;
  margin:var(--s-8) 0 var(--s-4); scroll-margin-top:100px;
}
.fh-prose > .fh-legal-sec:first-child{ margin-top:0; }
.fh-prose h3:not(.fh-legal-sec),
.fh-prose h4{ margin:var(--s-6) 0 var(--s-3); }
.fh-prose address{ font-style:normal; color:var(--muted); margin-bottom:var(--s-5); }
/* Lange Adressen und Links in Rechtstexten sollen nicht aus der Spalte laufen */
.fh-prose{ overflow-wrap:anywhere; }

/* ---------- Infobox mit Definitionsliste ---------- */
.fh-infobox{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md);
  padding:var(--s-5); margin:0 0 var(--s-6);
}
.fh-infobox dl{
  display:grid; grid-template-columns:170px 1fr; gap:var(--s-3) var(--s-4);
  font-size:0.9rem; margin:0;
}
.fh-infobox dt{ color:var(--muted); margin:0; }
.fh-infobox dd{ color:var(--text); margin:0; }
.fh-infobox a{ color:var(--accent-soft); }

/* ---------- Zurück nach oben ---------- */
.fh-backtop{
  margin:var(--s-8) 0 var(--s-9); padding-top:var(--s-5);
  border-top:1px solid var(--line); font-size:0.85rem; color:var(--muted);
}
.fh-backtop a{ color:var(--muted); text-decoration:none; }
.fh-backtop a:hover{ color:var(--text); }

@media (max-width:760px){
  .fh-legal-head{ padding-top:130px; }
  .fh-toc ol{ columns:1; }
  .fh-infobox dl{ grid-template-columns:1fr; gap:2px var(--s-4); }
  .fh-infobox dd{ margin-bottom:var(--s-3); }
}
