/* Kassunio – Typografie mit Inter (Auftrag „Einheitliche Typografie mit Inter“, 14.11.2026).

   Die eine Stelle für Schrift im Web: Schriftdateien, Schriftfamilie, Gewichte, Grade. Verwaltung, Plattformkonsole,
   Registrierung und Anmeldung binden diese Datei nach kassunio-tokens.css ein; die App hat dieselben Festlegungen in
   android/core/.../theme/Typografie.kt.

   Inter 4.1, variable Fassung, unverändert aus https://github.com/rsms/inter – lokal ausgeliefert (schrift/), keine
   Anfrage an fremde Rechner. SIL Open Font License 1.1, Lizenztext: schrift/LICENSE.txt.
   Das Kassunio-Logo ist ein SVG mit eigenen Schriftzügen und bleibt davon unberührt. */

@font-face {
  font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("schrift/InterVariable.woff2") format("woff2");
}
@font-face {
  font-family: "Inter"; font-style: italic; font-weight: 100 900; font-display: swap;
  src: url("schrift/InterVariable-Italic.woff2") format("woff2");
}

:root {
  /* Fällt Inter aus, zeichnet der Browser die Systemschrift des Geräts. */
  --ks-schrift: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  /* Schnitte nach Verwendung */
  --ks-gewicht-text: 400;        /* Fließtext, Eingabefelder */
  --ks-gewicht-bedienung: 500;   /* Navigation, Schaltflächen */
  --ks-gewicht-titel: 600;       /* Überschriften, Artikelbezeichnungen */
  --ks-gewicht-zahl: 700;        /* Preise, Kennzahlen */

  /* Grade: wachsen zwischen Telefon (390 px) und Schreibtisch (1440 px) mit der Breite */
  --ks-grad-h1: clamp(1.75rem, 1.31rem + 1.8vw, 2.5rem);     /* 28 → 40 px */
  --ks-grad-h2: clamp(1.3125rem, 1.2rem + 0.48vw, 1.625rem); /* 21 → 26 px */
  --ks-grad-kennzahl: clamp(2.25rem, 1.88rem + 1.52vw, 3.25rem); /* 36 → 52 px */
  --ks-zeile-text: 1.55;
  --ks-zeile-titel: 1.12;

  /* Die bestehende Verwaltung liest Schrift und Überschriftengewicht aus diesen beiden Namen. */
  --font-heading: var(--ks-schrift);
  --font-body: var(--ks-schrift);
  --font-heading-weight: var(--ks-gewicht-titel);
}

body {
  font-family: var(--ks-schrift); font-weight: var(--ks-gewicht-text); line-height: var(--ks-zeile-text);
  font-optical-sizing: auto;
  /* Tabellenziffern nur dort, wo Zahlen stehen (unten): Inter stellt mit „tnum“ auch Bindestrich, Punkt und Doppelpunkt
     auf Ziffernbreite – im Fließtext stünde „Gemüse - Risotto“ mit Lücken. */
  font-variant-numeric: normal;
  -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
}
input, select, textarea { font-family: var(--ks-schrift); font-weight: var(--ks-gewicht-text); }

/* Kassunio setzt nichts kursiv – Nebentext unterscheidet sich über die Farbe (wie in der App). Ausdrücklich
   Hervorgehobenes (<em>, <i>, <cite>) behält seine Auszeichnung; die Symbolschrift setzt ihre Form selbst.
   Nur am Bildschirm und nicht in Druckstücken (Bogen, Aushang, Aufsteller, Schnipsel): Deren Kursive gehört zum Blatt
   (Codex K6, Befund 10). */
@media screen {
  *:not(em):not(i):not(cite):not(dfn):not(.bogen, .bogen *, .afs, .afs *, .schnipsel, .schnipsel *) { font-style: normal !important; }
}

/* Überschriften */
h1, h2, h3, h4, h5, h6 { font-weight: var(--ks-gewicht-titel); line-height: var(--ks-zeile-titel); letter-spacing: -0.011em; }
h1 { font-size: var(--ks-grad-h1); letter-spacing: -0.02em; }
h2 { font-size: var(--ks-grad-h2); }

/* Navigation und Schaltflächen */
nav a, button, .knopf, button.primaer, .ks-reiter button,
.schalter .schalterwort, .schalter .schalterwort.an { font-weight: var(--ks-gewicht-bedienung); }

/* Artikelbezeichnungen: die Hauptzelle einer Zeile; ihre Zweitzeile bleibt Fließtext */
td.haupt { font-weight: var(--ks-gewicht-titel); }
td.haupt .zweitzeile, td.haupt .gedimmt { font-weight: var(--ks-gewicht-text); }

/* Preise und Kennzahlen */
td.zahl, th.zahl, .summe, .wefuss .summe, .bogen.einkauf .summe, .riesig, .pin, .pin-gross, .ks-kennzahl { font-weight: var(--ks-gewicht-zahl); }
/* Tabellenziffern: Preise, Mengen, Uhrzeiten und Zahlenfelder stehen untereinander */
.zahl, .summe, .riesig, .pin, .pin-gross, .preisfeld, .ks-kennzahl, .ks-tabular, time,
input[type="number"], input[inputmode="decimal"], input[inputmode="numeric"] { font-variant-numeric: tabular-nums; }
.riesig { font-size: var(--ks-grad-kennzahl); }
/* Zähler in der Navigation und in Schaltern sind Beiwerk, keine Kennzahl */
#nav_unter .zahl, .schalter .schalterwort .zahl { font-weight: var(--ks-gewicht-text); }
