/* Gemeinsames Stylesheet der Unterseiten: Profil, Impressum, Datenschutz */
:root {
      --petrol: #004750;
      --petrol-deep: #003038;
      --lachs: #eeb7a5;
      --terrakotta: #9c6757;
      --terrakotta-text: #85503f;
      --sand: #faf7f5;
      --ink: #0f1a1c;
      --ink-soft: #3d4f52;
      --line: rgba(0,71,80,0.12);
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    html { color-scheme: light; }

    body {
      font-family: 'Source Sans 3', sans-serif;
      font-size: 17px;
      line-height: 1.7;
      color: var(--ink);
      background: var(--sand);
      -webkit-font-smoothing: antialiased;
    }

    .skip-link {
      position: absolute; top: -100%; left: 1rem;
      background: var(--petrol); color: white;
      padding: 0.5rem 1rem; border-radius: 4px;
      font-size: 0.9rem; z-index: 9999; text-decoration: none;
      transition: top 0.2s;
    }
    .skip-link:focus { top: 1rem; }
    :focus-visible { outline: 2px solid var(--terrakotta-text); outline-offset: 3px; }

    h1, h2, h3 {
      font-family: 'Fraunces', Georgia, serif;
      letter-spacing: -0.02em;
      line-height: 1.15;
      text-wrap: balance;
      color: var(--petrol);
    }
    h1 { font-size: clamp(1.9rem, 3vw, 2.6rem); font-weight: 700; margin-bottom: 0.5rem; }
    h2 { font-size: clamp(1.3rem, 2vw, 1.6rem); font-weight: 600; margin-bottom: 1rem; }
    h3 { font-size: 1.05rem; font-weight: 600; margin-bottom: 0.5rem; }

    p { max-width: 68ch; }
    p + p { margin-top: 0.9rem; }

    .container { max-width: 860px; margin: 0 auto; padding: 0 2rem; }

    /* Kopf */
    header.seitenkopf {
      background: white;
      border-bottom: 1px solid var(--line);
      padding: 1rem 0;
    }
    .kopf-inner {
      max-width: 860px; margin: 0 auto; padding: 0 2rem;
      display: flex; align-items: center; justify-content: space-between;
      gap: 1rem; flex-wrap: wrap;
    }
    .kopf-logo { display: flex; align-items: center; gap: 0.9rem; text-decoration: none; }
    .kopf-logo img { height: 40px; width: auto; display: block; }
    .kopf-zurueck {
      font-size: 0.88rem; color: var(--petrol); text-decoration: none;
      border-bottom: 1px solid var(--lachs); padding-bottom: 1px;
    }
    .kopf-zurueck:hover { color: var(--terrakotta-text); }

    main { padding: 3.5rem 0 4rem; }

    .einleitung { margin-bottom: 2.5rem; }
    .kennung {
      font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase;
      font-weight: 600; color: var(--terrakotta-text); margin-bottom: 0.6rem;
    }
    .definition {
      font-size: 1.12rem; color: var(--ink); line-height: 1.65;
      border-left: 3px solid var(--lachs); padding-left: 1.4rem;
      margin-top: 1.25rem;
    }

    section.block {
      background: white;
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 2rem 2.2rem;
      margin-bottom: 1.5rem;
    }

    dl.fakten { margin: 0; }
    dl.fakten > div {
      display: grid;
      grid-template-columns: 220px 1fr;
      gap: 1.5rem;
      padding: 0.7rem 0;
      border-bottom: 1px solid var(--line);
    }
    dl.fakten > div:last-child { border-bottom: none; }
    dl.fakten dt {
      font-size: 0.78rem; letter-spacing: 0.06em; text-transform: uppercase;
      font-weight: 600; color: var(--petrol); padding-top: 0.15rem;
    }
    dl.fakten dd { margin: 0; color: var(--ink-soft); font-size: 0.97rem; max-width: 68ch; }

    @media (max-width: 640px) {
      dl.fakten > div { grid-template-columns: 1fr; gap: 0.25rem; }
      .container, .kopf-inner { padding: 0 1.25rem; }
      section.block { padding: 1.5rem 1.35rem; }
    }

    ul.liste { list-style: none; padding: 0; margin: 0; }
    ul.liste li {
      color: var(--ink-soft); font-size: 0.97rem; max-width: 68ch;
      padding: 0.45rem 0 0.45rem 1.4rem;
      border-bottom: 1px solid var(--line);
      position: relative; line-height: 1.5;
    }
    ul.liste li:last-child { border-bottom: none; }
    ul.liste li::before {
      content: '·'; position: absolute; left: 0.25rem;
      color: var(--terrakotta-text); font-weight: 700;
    }

    .abgrenzung-block { background: var(--sand); }
    .abgrenzung-block li::before { content: '–'; font-weight: 400; }

    .quellen a { color: var(--petrol); }
    .quellen a:hover { color: var(--terrakotta-text); }

    .stand {
      font-size: 0.84rem; color: var(--ink-soft);
      margin-top: 2rem; padding-top: 1.25rem;
      border-top: 1px solid var(--line);
    }
    .stand time { font-variant-numeric: tabular-nums; }

    footer {
      background: var(--petrol-deep);
      padding: 2rem 0;
      margin-top: 3rem;
    }
    .fuss-inner {
      max-width: 860px; margin: 0 auto; padding: 0 2rem;
      display: flex; justify-content: space-between; align-items: center;
      flex-wrap: wrap; gap: 1rem;
    }
    footer span, footer a { font-size: 0.83rem; color: rgba(255,255,255,0.62); }
    footer a { text-decoration: none; }
    footer a:hover { color: rgba(255,255,255,0.92); }
    .fuss-links { display: flex; gap: 1.5rem; flex-wrap: wrap; }

/* ── Hinweis auf Entwurfsstand (nur Datenschutz-Vorlage) ── */
.hinweis-entwurf {
  background: #fff8e8;
  border: 1px solid #e3cb92;
  border-left: 4px solid #c79a3c;
  border-radius: 6px;
  padding: 1.1rem 1.4rem;
  margin-bottom: 1.5rem;
  font-size: 0.92rem;
  line-height: 1.6;
  color: #5a4718;
  max-width: none;
}
.hinweis-entwurf strong { display: block; margin-bottom: 0.3rem; color: #4a3a10; }

p.offen {
  background: #fff8e8;
  border-left: 3px solid #c79a3c;
  padding: 0.6rem 1rem;
  font-size: 0.88rem;
  color: #5a4718;
  border-radius: 0 4px 4px 0;
  margin-bottom: 1rem;
  max-width: 72ch;
}
