/* Shared styles for the legal pages (Impressum, Datenschutz). */

* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: var(--font-body);
  background: var(--color-bg);
  color: var(--color-text);
  line-height: 1.65;
}
.wrap { max-width: 760px; margin: 0 auto; padding: 0 var(--space-4); }

nav {
  background: var(--nav-bg);
  border-bottom: 2px solid var(--color-text);
}
.nav-inner {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  max-width: 760px; margin: 0 auto;
}
.logo {
  font-family: var(--font-pixel); font-size: 0.9rem;
  color: var(--color-text); text-decoration: none;
}
.lang { display: flex; gap: var(--space-2); font-size: 0.95rem; }
.lang a { color: var(--color-text); }

main { padding: var(--space-6) 0 var(--space-7); }
h1 { font-size: clamp(1.9rem, 5vw, 2.6rem); font-weight: 800; line-height: 1.15; margin-bottom: var(--space-2); }
h2 {
  font-size: 1.35rem; font-weight: 800; line-height: 1.3;
  margin: var(--space-5) 0 var(--space-2);
  padding-top: var(--space-4);
  border-top: 2px solid var(--color-text);
}
h3 { font-size: 1.05rem; font-weight: 700; margin: var(--space-4) 0 var(--space-1); }
p, ul, ol, table { margin-bottom: var(--space-3); }
ul, ol { padding-left: 1.4em; }
li { margin-bottom: 0.3em; }
address { font-style: normal; }
a { color: var(--color-primary-darker); }
a:focus-visible { outline: 3px solid var(--color-highlight); outline-offset: 2px; }
strong { font-weight: 700; }
.meta { color: var(--color-text-soft); font-size: 0.95rem; }

/* Wide tables must scroll inside themselves, never the page. */
.table-scroll { overflow-x: auto; margin-bottom: var(--space-3); }
table { border-collapse: collapse; width: 100%; min-width: 560px; font-size: 0.95rem; }
th, td { border: 1px solid var(--color-text); padding: var(--space-2); text-align: left; vertical-align: top; }
th { background: var(--color-bg-alt); font-weight: 700; }

.lang-section { scroll-margin-top: var(--space-4); }

footer {
  background: var(--footer-bg); color: var(--footer-fg);
  padding: var(--space-5) 0; text-align: center;
}
footer a { color: var(--footer-fg); }
footer p { font-size: 0.9rem; margin-bottom: var(--space-2); }
