/* Impressum und Datenschutz in Daniels Optik. Ergänzt beim Livegang 21.10.2026, seine Grundstile bleiben. */
.recht { padding-block: 56px 96px; }
.legal-grid { display: grid; gap: 28px; }
.legal-head { display: grid; gap: 10px; }
.legal-head .stand { color: var(--soft); }
.toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.toc a { color: var(--soft); text-decoration: none; font-size: 16px; }
.toc a:hover { color: var(--ink); text-decoration: underline; }
.doc { display: grid; gap: 36px; max-width: 46em; min-width: 0; }
.doc section { padding-block: 0; display: grid; gap: 10px; }
.doc h2 { font-size: clamp(21px, 2.2vw, 25px); }
.doc p { color: var(--soft); overflow-wrap: break-word; }
.doc .anschrift { color: var(--ink); }
.doc a:not(.back) { text-decoration-color: var(--sun); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.back { display: inline-flex; align-items: center; gap: 8px; justify-self: start; min-height: 44px; font-family: var(--display); font-weight: 600; text-decoration: none; }
.back svg { width: 18px; height: 18px; }
.back:hover { color: var(--amber); }
.foot-links a[aria-current="page"] { color: var(--ink); }
@media (min-width: 960px) {
  .legal-grid:not(.ohne-toc) { grid-template-columns: 240px minmax(0, 1fr); column-gap: 72px; align-items: start; }
  .legal-grid:not(.ohne-toc) .legal-head { grid-column: 1 / -1; }
  .toc { position: sticky; top: 104px; }
}
