/* Legal and status pages (Impressum, Datenschutz, Danke, Fehler). Tokens and components: styles.css */

.legal-bar {
  display: flex; align-items: center; justify-content: space-between; gap: var(--s-4);
  height: var(--nav-h); border-bottom: 2px solid var(--rule);
}
.legal-bar svg { height: 50px; width: auto; }
.legal-bar a:first-child { text-decoration: none; }

.legal { padding-block: clamp(3rem, 2rem + 4vw, 6rem) clamp(4rem, 3rem + 4vw, 7rem); }
.legal__inner { max-width: 46rem; display: grid; gap: var(--s-6); }
.legal__head { display: grid; gap: var(--s-3); }
.legal__title { font-family: var(--f-marker); text-transform: uppercase; font-size: clamp(2.6rem, 1.6rem + 4vw, 4.5rem); line-height: .9; }
.legal__stand { color: var(--ink-3); font-size: var(--t-sm); }

.legal section { display: grid; gap: var(--s-3); scroll-margin-top: var(--s-5); }
.legal h2 {
  font-family: var(--f-marker); text-transform: uppercase; font-size: 1.6rem; line-height: 1.02;
  border-top: 2px solid var(--rule); padding-top: var(--s-4);
}
.legal h3 { font-family: var(--f-strike); text-transform: uppercase; letter-spacing: .06em; font-size: 1rem; margin-top: var(--s-2); }
.legal p, .legal li, .legal dd { color: var(--ink-2); line-height: 1.65; }
.legal ul { display: grid; gap: var(--s-2); }
.legal ul li { position: relative; padding-left: 1.4em; }
.legal ul li::before { content: ""; position: absolute; left: 0; top: .78em; width: .8em; height: 2px; background: var(--ink); }
.legal strong { color: var(--ink); }
.legal address { font-style: normal; color: var(--ink-2); line-height: 1.7; }

.legal__facts { display: grid; grid-template-columns: 12rem 1fr; gap: var(--s-3) var(--s-5); margin: 0; }
.legal__facts dt { font-family: var(--f-strike); text-transform: uppercase; letter-spacing: .06em; font-size: .95rem; padding-top: .15em; }
.legal__facts dd { margin: 0; }

.legal__toc { display: grid; gap: var(--s-1); counter-reset: none; }
.legal__toc a { display: inline-block; padding-block: .25rem; }

/* the right-to-object notice must stand out (Art. 21 (4) GDPR) */
.legal__notice { border: 2px solid var(--ink); padding: var(--s-5); display: grid; gap: var(--s-3); background: var(--paper); }
.legal__notice h3 { margin: 0; }

/* placeholders stay impossible to miss until the real data is in */
.ph { background: var(--acid); color: var(--press); padding: 0 .25em; font-weight: 700; -webkit-box-decoration-break: clone; box-decoration-break: clone; }

.legal__foot { border-top: 2px solid var(--rule); padding-block: var(--s-5); }
.legal__foot ul { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); }
.legal__foot a { display: inline-block; padding-block: .5rem; }

/* status pages (Danke / Fehler) */
.status { min-height: calc(100dvh - var(--nav-h)); display: grid; align-content: center; justify-items: start; gap: var(--s-5); padding-block: var(--s-8); }
.status .burst { --size: 8rem; font-size: 1.05rem; }

@media (max-width: 560px) {
  .legal__facts { grid-template-columns: 1fr; gap: 0 0; }
  .legal__facts dd { margin-bottom: var(--s-4); }
  .legal-bar svg { height: 40px; }
}
.legal .legal__toc li { padding-left: 0; }
.legal .legal__toc li::before { display: none; }
