/*!
 * KPT Sans 1.1 – Hausschrift der KurpfalzTEL GmbH
 * Angepasste Inter-Familie, SIL Open Font License 1.1 (siehe OFL.txt)
 * Copyright 2016 The Inter Project Authors; Modifications Copyright 2026 KurpfalzTEL GmbH
 *
 * Einbinden:  <link rel="stylesheet" href="/pfad/kpt-sans/kpt-sans.css">
 * Die WOFF2-Dateien liegen im selben Ordner wie diese CSS-Datei.
 *
 * Zwei Familien:
 *   "KPT Sans Text"     Fließtext, Bedienelemente, Tabellen – alles unter etwa 24 px
 *   "KPT Sans Display"  Überschriften und große Zahlen ab etwa 24 px
 * Je Familie 400 / 500 / 600 / 700, jeweils aufrecht und echt kursiv.
 * Satzzeichen vor Großbuchstaben (z. B. „(IPTV)“) passen sich automatisch an –
 * dafür nichts abschalten (font-feature-settings / font-variant-ligatures nicht auf "none").
 */

@font-face {
  font-family: "KPT Sans Text";
  src: url("KPTSansText-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-024F, U+0259, U+02BB-02DD, U+0300-030C, U+0326-0328, U+1E9E, U+2000-206F, U+20A0-20C0, U+2113, U+2116, U+2122, U+2190-2199, U+21A9, U+21B5, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "KPT Sans Text";
  src: url("KPTSansText-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-024F, U+0259, U+02BB-02DD, U+0300-030C, U+0326-0328, U+1E9E, U+2000-206F, U+20A0-20C0, U+2113, U+2116, U+2122, U+2190-2199, U+21A9, U+21B5, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "KPT Sans Text";
  src: url("KPTSansText-Semibold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-024F, U+0259, U+02BB-02DD, U+0300-030C, U+0326-0328, U+1E9E, U+2000-206F, U+20A0-20C0, U+2113, U+2116, U+2122, U+2190-2199, U+21A9, U+21B5, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "KPT Sans Text";
  src: url("KPTSansText-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-024F, U+0259, U+02BB-02DD, U+0300-030C, U+0326-0328, U+1E9E, U+2000-206F, U+20A0-20C0, U+2113, U+2116, U+2122, U+2190-2199, U+21A9, U+21B5, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "KPT Sans Text";
  src: url("KPTSansText-Italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-024F, U+0259, U+02BB-02DD, U+0300-030C, U+0326-0328, U+1E9E, U+2000-206F, U+20A0-20C0, U+2113, U+2116, U+2122, U+2190-2199, U+21A9, U+21B5, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "KPT Sans Text";
  src: url("KPTSansText-MediumItalic.woff2") format("woff2");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-024F, U+0259, U+02BB-02DD, U+0300-030C, U+0326-0328, U+1E9E, U+2000-206F, U+20A0-20C0, U+2113, U+2116, U+2122, U+2190-2199, U+21A9, U+21B5, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "KPT Sans Text";
  src: url("KPTSansText-SemiboldItalic.woff2") format("woff2");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-024F, U+0259, U+02BB-02DD, U+0300-030C, U+0326-0328, U+1E9E, U+2000-206F, U+20A0-20C0, U+2113, U+2116, U+2122, U+2190-2199, U+21A9, U+21B5, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "KPT Sans Text";
  src: url("KPTSansText-BoldItalic.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-024F, U+0259, U+02BB-02DD, U+0300-030C, U+0326-0328, U+1E9E, U+2000-206F, U+20A0-20C0, U+2113, U+2116, U+2122, U+2190-2199, U+21A9, U+21B5, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "KPT Sans Display";
  src: url("KPTSansDisplay-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-024F, U+0259, U+02BB-02DD, U+0300-030C, U+0326-0328, U+1E9E, U+2000-206F, U+20A0-20C0, U+2113, U+2116, U+2122, U+2190-2199, U+21A9, U+21B5, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "KPT Sans Display";
  src: url("KPTSansDisplay-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-024F, U+0259, U+02BB-02DD, U+0300-030C, U+0326-0328, U+1E9E, U+2000-206F, U+20A0-20C0, U+2113, U+2116, U+2122, U+2190-2199, U+21A9, U+21B5, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "KPT Sans Display";
  src: url("KPTSansDisplay-Semibold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-024F, U+0259, U+02BB-02DD, U+0300-030C, U+0326-0328, U+1E9E, U+2000-206F, U+20A0-20C0, U+2113, U+2116, U+2122, U+2190-2199, U+21A9, U+21B5, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "KPT Sans Display";
  src: url("KPTSansDisplay-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-024F, U+0259, U+02BB-02DD, U+0300-030C, U+0326-0328, U+1E9E, U+2000-206F, U+20A0-20C0, U+2113, U+2116, U+2122, U+2190-2199, U+21A9, U+21B5, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "KPT Sans Display";
  src: url("KPTSansDisplay-Italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-024F, U+0259, U+02BB-02DD, U+0300-030C, U+0326-0328, U+1E9E, U+2000-206F, U+20A0-20C0, U+2113, U+2116, U+2122, U+2190-2199, U+21A9, U+21B5, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "KPT Sans Display";
  src: url("KPTSansDisplay-MediumItalic.woff2") format("woff2");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-024F, U+0259, U+02BB-02DD, U+0300-030C, U+0326-0328, U+1E9E, U+2000-206F, U+20A0-20C0, U+2113, U+2116, U+2122, U+2190-2199, U+21A9, U+21B5, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "KPT Sans Display";
  src: url("KPTSansDisplay-SemiboldItalic.woff2") format("woff2");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-024F, U+0259, U+02BB-02DD, U+0300-030C, U+0326-0328, U+1E9E, U+2000-206F, U+20A0-20C0, U+2113, U+2116, U+2122, U+2190-2199, U+21A9, U+21B5, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "KPT Sans Display";
  src: url("KPTSansDisplay-BoldItalic.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-024F, U+0259, U+02BB-02DD, U+0300-030C, U+0326-0328, U+1E9E, U+2000-206F, U+20A0-20C0, U+2113, U+2116, U+2122, U+2190-2199, U+21A9, U+21B5, U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}

/* Ersatzschrift bis die Webfont geladen ist: Arial, auf Breite und Zeilenhöhe von
   KPT Sans abgestimmt – so springt das Layout beim Laden nicht. */
@font-face {
  font-family: "KPT Sans Text Ersatz";
  src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("Arimo");
  font-weight: 100 549;
  size-adjust: 105.8%;
  ascent-override: 91.56%;
  descent-override: 22.80%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "KPT Sans Text Ersatz";
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("Arimo Bold");
  font-weight: 550 900;
  size-adjust: 102.8%;
  ascent-override: 94.24%;
  descent-override: 23.46%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "KPT Sans Display Ersatz";
  src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("Arimo");
  font-weight: 100 549;
  size-adjust: 97.2%;
  ascent-override: 99.67%;
  descent-override: 24.82%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "KPT Sans Display Ersatz";
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("Arimo Bold");
  font-weight: 550 900;
  size-adjust: 96.7%;
  ascent-override: 100.18%;
  descent-override: 24.94%;
  line-gap-override: 0%;
}

:root {
  --kpt-schrift-text: "KPT Sans Text", "KPT Sans Text Ersatz", Arial, sans-serif;
  --kpt-schrift-display: "KPT Sans Display", "KPT Sans Display Ersatz", Arial, sans-serif;
  /* Zugangsdaten, Passwörter, Kundennummern: eigene Schrift mit eindeutigen Zeichen (0/O, 1/l/I) */
  --kpt-schrift-zugangsdaten: Consolas, "Cascadia Mono", "DejaVu Sans Mono", "Liberation Mono", monospace;
}

/* Hilfsklassen (optional) */
.kpt-text { font-family: var(--kpt-schrift-text); }
.kpt-display { font-family: var(--kpt-schrift-display); }
.kpt-zugangsdaten {
  font-family: var(--kpt-schrift-zugangsdaten);
  font-variant-ligatures: none;
  letter-spacing: 0.02em;
}
.kpt-zahlen { font-variant-numeric: tabular-nums; }  /* Tabellen, Preise, Beträge untereinander */
