/* ============================================================
   QMindset 2.0 — Design-Tokens (Plan §3.3, Schritt 0)

   Was hier steht, gilt fuer alle Module: Schriften, Radien, Schatten,
   Abstaende. Was hier NICHT steht, sind die Farben — die Module sollen
   sich farblich unterscheiden, sonst weiss beim Wechsel zwischen Host
   und Survey niemand mehr, wo er ist. Jede Seite bindet deshalb zwei
   Dateien ein: diese hier und genau eine palette-*.css.

   Nichts in dieser Datei setzt Regeln auf Elemente. Wer hier eine
   Klasse ergaenzt, macht aus der Token-Datei ein Stylesheet; die
   Basiskomponenten leben in web/src/components/ui/.
   ============================================================ */

/* ────────────────────────────────────────────────────────────
   Schriften — Q+C Corporate Design

   Poppins (Ueberschriften) und Open Sans (Fliesstext) liegen lokal unter
   fonts/, bewusst nicht ueber Google Fonts: sonst ginge bei jedem
   Seitenaufruf die IP-Adresse der Teilnehmenden an Google (DSGVO).

   Je Schnitt zwei Dateien: die zweite ("-ext") traegt die osteuropaeischen
   Diakritika und wird ueber die unicode-range nur geladen, wenn die Seite
   ein solches Zeichen zeigt. Open Sans ist variabel — eine Datei deckt 400
   bis 700 ab. Fehlen die Dateien, greift der Systemschrift-Fallback in
   --font-head / --font-body. Herkunft und Lizenz: fonts/LIESMICH.txt.
   ──────────────────────────────────────────────────────────── */
@font-face {
  font-family: 'QC Head';
  src: url('fonts/poppins-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304,
    U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'QC Head';
  src: url('fonts/poppins-300-ext.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308,
    U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'QC Head';
  src: url('fonts/poppins-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304,
    U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'QC Head';
  src: url('fonts/poppins-500-ext.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308,
    U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'QC Head';
  src: url('fonts/poppins-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304,
    U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'QC Head';
  src: url('fonts/poppins-600-ext.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308,
    U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'QC Body';
  src: url('fonts/opensans-var.woff2') format('woff2');
  font-weight: 400 700;
  font-style: normal;
  font-stretch: 100%;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304,
    U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'QC Body';
  src: url('fonts/opensans-var-ext.woff2') format('woff2');
  font-weight: 400 700;
  font-style: normal;
  font-stretch: 100%;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308,
    U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  --font-head: 'QC Head', 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-body: 'QC Body', 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* Formen */
  --radius: 12px;
  --radius-sm: 7px;

  /* Hoehe ueber der Flaeche. Die Werte tragen zwar ein Schwarz, sind aber
     keine Palette: sie sagen "wie weit oben liegt das", nicht "welche Farbe
     hat das Modul". Deshalb hier und nicht in den Paletten. */
  --shadow: 0 1px 2px rgba(35,35,35,0.04), 0 4px 16px rgba(35,35,35,0.055);
  --shadow-lg: 0 2px 6px rgba(35,35,35,0.05), 0 14px 34px rgba(35,52,66,0.11);

  /* Abstaende — Vierer-Raster. Die Bestandsseiten setzen noch feste
     Pixelwerte; verbindlich ist die Skala fuer web/src/. */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;

  /* Breite der Textspalte einer migrierten Seite. Kopfzeile, Inhalt und
     Fusszeile lesen denselben Wert; eine Seite mit schmalerer Spalte
     (Intro) ueberschreibt ihn auf dem body. */
  --page-width: 900px;

  /* Hoehe der klebenden Kopfzeile. Hier steht nur die Vorgabe fuer eine
     Seite ohne Kopfzeile; wo es eine gibt, misst SiteHeader.vue sich
     selbst und schreibt den Wert auf das Wurzelelement. Wer etwas unter
     der Kopfzeile platziert (der Toast), rechnet damit. */
  --header-height: 0px;
}

/* Im Dunkelmodus traegt der Schatten weiter, weil er weniger Kontrast hat. */
[data-theme="dark"] {
  --shadow: 0 1px 2px rgba(0,0,0,0.3), 0 4px 16px rgba(0,0,0,0.28);
  --shadow-lg: 0 2px 6px rgba(0,0,0,0.32), 0 14px 34px rgba(0,0,0,0.42);
}
