/* Magic Flow — Rechtsseiten (Impressum / Datenschutz / AGB)
   Selbsttragend: Tokens und Layout aus css/main.css uebernommen, damit die
   Seiten unabhaengig von /neue-seite/ ausgeliefert werden koennen. */
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700;
  font-display: swap; src: url('/neue-seite/assets/fonts/montserrat-v31-latin_latin-ext-700.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 800;
  font-display: swap; src: url('/neue-seite/assets/fonts/montserrat-v31-latin_latin-ext-800.woff2') format('woff2'); }
@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 400;
  font-display: swap; src: url('/neue-seite/assets/fonts/figtree-v9-latin_latin-ext-regular.woff2') format('woff2'); }
@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 600;
  font-display: swap; src: url('/neue-seite/assets/fonts/figtree-v9-latin_latin-ext-600.woff2') format('woff2'); }

:root {
  --mf-gold: rgb(201, 168, 76);
  --mf-gold-bright: rgb(251, 194, 1);
  --mf-gold-border: rgba(201, 168, 76, 0.45);
  --mf-bg: #150d2e;
  --mf-bg-deep: #0d0820;
  --mf-text: rgba(255, 255, 255, 0.92);
  --mf-text-dim: rgba(255, 255, 255, 0.7);
  --mf-font-head: 'Montserrat', Arial, Helvetica, sans-serif;
  --mf-font-body: 'Figtree', Arial, Helvetica, sans-serif;
  --mf-pad: clamp(1rem, 4vw, 2rem);
}

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

body {
  margin: 0;
  background: radial-gradient(120% 80% at 50% 0%, #241546 0%, var(--mf-bg) 45%, var(--mf-bg-deep) 100%);
  background-attachment: fixed;
  color: var(--mf-text);
  font-family: var(--mf-font-body);
  font-size: 1.0625rem;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

.mf-legal-page {
  max-width: 820px;
  margin-inline: auto;
  padding: clamp(2.5rem, 6vw, 4.5rem) var(--mf-pad);
}

.mf-legal-page h1 {
  font-family: var(--mf-font-head);
  font-weight: 800;
  color: var(--mf-gold-bright);
  font-size: clamp(1.75rem, 1.3rem + 2vw, 2.75rem);
  line-height: 1.15;
  margin: 0 0 1.5rem;
}

.mf-legal-page h2 {
  font-family: var(--mf-font-head);
  font-weight: 800;
  font-size: clamp(1.375rem, 1.1rem + 1.2vw, 1.875rem);
  margin: 2.5rem 0 0.75rem;
  color: #fff;
}

.mf-legal-page h3 {
  font-family: var(--mf-font-head);
  font-weight: 700;
  font-size: 1.25rem;
  margin: 1.75rem 0 0.5rem;
  color: var(--mf-gold);
}

.mf-legal-page p { margin: 0 0 1rem; color: var(--mf-text-dim); }
.mf-legal-page a { color: var(--mf-gold-bright); text-decoration: underline; text-underline-offset: 3px; }
.mf-legal-page a:hover { color: #fff; }
.mf-legal-page ul { color: var(--mf-text-dim); padding-left: 1.25rem; }

.mf-legal-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--mf-font-head);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.75rem;
  color: var(--mf-gold);
  text-decoration: none;
  margin-bottom: 2rem;
}
.mf-legal-brand:hover { color: var(--mf-gold-bright); }

.mf-legal-nav {
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--mf-gold-border);
  font-size: 0.9375rem;
}
.mf-legal-nav a { margin-right: 0.5rem; }
.mf-legal-nav span[aria-hidden] { color: rgba(255,255,255,0.35); margin-right: 0.5rem; }
