/*
 * Die Rechtsseiten.
 *
 * Dieselben Farben und dieselbe Schrift wie die Startseite, aber ein eigenes Blatt:
 * Impressum und Datenschutz sind Text zum Lesen, kein Aufmacher. Alles, was die
 * Startseite an Aufbau mitbringt, waere hier nur Ballast.
 */

:root {
  --puder: #F8F4FC;
  --puder-rose: #FCF3FA;
  --schleier: #F2E9FB;
  --kante: #E3D2F5;
  --flaeche: #FFFFFF;

  --tinte: #2E0B4D;
  --tinte-weich: #6A5586;

  --iris: #6600CC;
  --lavendel: #CC99FF;
  --lavendel-weich: #E5CCFF;
  --rose-weich: #FFCCFF;
  --rubin: #C22E4E;

  --r-md: 16px;
  --r-lg: 24px;
  --r-pill: 999px;

  --display: 'Outfit', 'Segoe UI', system-ui, sans-serif;
  --body: 'Nunito Sans', 'Segoe UI', system-ui, sans-serif;
}

@media (prefers-color-scheme: dark) {
  :root {
    --puder: #150A22;
    --puder-rose: #1A0C24;
    --schleier: #2A1940;
    --kante: #3A2555;
    --flaeche: #1F1230;

    --tinte: #F4EAFC;
    --tinte-weich: #B9A3D2;

    --iris: #C79BFF;
    --lavendel: #C79BFF;
    --lavendel-weich: #33204D;
    --rose-weich: #3C1E3A;
    --rubin: #E24A78;
  }
}

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

body {
  margin: 0;
  background:
    radial-gradient(110% 50% at 10% -6%, var(--rose-weich) 0%, transparent 52%),
    linear-gradient(170deg, var(--puder-rose) 0%, var(--puder) 40%, var(--puder) 100%);
  background-attachment: fixed;
  color: var(--tinte);
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

.huelle { width: min(720px, 100% - clamp(32px, 8vw, 80px)); margin-inline: auto; }

header { border-bottom: 1px solid var(--kante); }
header .huelle { display: flex; align-items: center; gap: 11px; padding-block: 14px; }
header img { width: 36px; height: 36px; display: block; }
header a { display: flex; align-items: center; gap: 11px; text-decoration: none; color: inherit; }
header b { font-family: var(--display); font-weight: 400; font-size: 20px; letter-spacing: -0.01em; }

main { padding-block: clamp(40px, 7vw, 80px) clamp(56px, 9vw, 104px); }

h1 {
  font-family: var(--display); font-weight: 300;
  font-size: clamp(34px, 6vw, 52px); line-height: 1.05; letter-spacing: -0.03em;
  margin: 0 0 10px;
}
h2 {
  font-family: var(--display); font-weight: 400;
  font-size: 22px; line-height: 1.3; letter-spacing: -0.01em;
  margin: 40px 0 10px;
}
h3 { font-size: 16px; font-weight: 700; margin: 24px 0 6px; }
p, ul { margin: 0 0 14px; }
ul { padding-left: 22px; }
li { margin-bottom: 6px; }
a { color: var(--iris); text-underline-offset: 3px; }

.stand { font-size: 14px; color: var(--tinte-weich); margin-bottom: 32px; }

dl { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; }
@media (min-width: 620px) { dl { grid-template-columns: 180px minmax(0, 1fr); gap: 0; } }
dt { font-weight: 700; padding: 10px 0 0; }
dd { margin: 0; padding: 10px 0; color: var(--tinte-weich); border-bottom: 1px solid var(--kante); }
@media (min-width: 620px) { dt { border-bottom: 1px solid var(--kante); padding: 10px 0; } }

/* Was noch fehlt, steht sichtbar da und nicht in einem Kommentar im Quelltext. */
.offen {
  display: block;
  padding: 18px 20px;
  margin: 0 0 24px;
  border-radius: var(--r-lg);
  border: 1px solid var(--rubin);
  background: var(--flaeche);
  font-size: 15px;
}
.offen b { color: var(--rubin); }
.luecke {
  display: inline-block;
  padding: 1px 8px;
  border-radius: var(--r-pill);
  background: var(--lavendel-weich);
  color: var(--tinte);
  font-weight: 700;
  font-size: 14px;
}

footer { border-top: 1px solid var(--kante); padding-block: 28px 40px; font-size: 14px; }
footer .huelle { display: flex; flex-wrap: wrap; gap: 18px; justify-content: space-between; }
footer nav { display: flex; gap: 18px; }
footer a { color: var(--tinte-weich); }
