/* (c) 2026 by Ing. F. Weijers, weijers@cyberprofis.de
 * Lizenz: MIT
 * Typografie-Kern der IT-Domains (GESTALTUNGSKONVENTION.md, Referenz bytemaschine.de).
 * Wird je Domain als typo.css nach dem vorhandenen Stylesheet geladen; darunter folgt der Domain-Teil. */
@font-face {
  font-family: "Inter";
  src: url("/schrift/inter-latin-wght-normal.woff2") format("woff2-variations"),
       url("/schrift/inter-latin-wght-normal.woff2") format("woff2");
  font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0000, U+0020-007E, U+00A0-00AC, U+00AE-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+2002, U+2009, U+200B, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2032-2033, U+2039-203A, U+2044, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+FEFF;
}
/* Erweiterung (Pfeile, Mathematik, Kyrillisch, Griechisch, Symbole): lädt nur, wenn eine Seite solche Zeichen enthält */
@font-face {
  font-family: "Inter";
  src: url("/schrift/inter-erweitert-wght-normal.woff2") format("woff2-variations"),
       url("/schrift/inter-erweitert-wght-normal.woff2") format("woff2");
  font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0100-0130, U+0132-0148, U+014A-0151, U+0154-01C3, U+01C5-024F, U+0374-0376, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03D7, U+03DC-03DD, U+03F0-03F6, U+03F9-03FA, U+03FC-0479, U+0480-049D, U+04A0-04FF, U+1E00-1E9B, U+1E9D-1EFF, U+2010-2012, U+2015-2017, U+201B, U+201F-2021, U+2023-2025, U+2027, U+202F-2031, U+2034-2038, U+203B-2043, U+2045-2055, U+2057, U+2070-2071, U+2075-208E, U+2090-209C, U+20A0-20AB, U+20AD-20AF, U+20B1-20B5, U+20B8-20BA, U+20BC-20C0, U+2100-2101, U+2103, U+2105-2106, U+2109, U+2113, U+2116-2117, U+211E-2121, U+2126, U+212A-212B, U+212E, U+2132, U+213B, U+214D, U+2150-217F, U+2183-2186, U+2189, U+2190, U+2192, U+2194-2199, U+21A9-21AA, U+21B0-21B1, U+21B3-21B5, U+21BA-21BB, U+21D0, U+21D2, U+21D4, U+21DE-21DF, U+21E4-21E5, U+21E7, U+21EA, U+2202, U+2205-2206, U+220F, U+2211, U+221A, U+221E, U+222B, U+2236, U+2248, U+2260, U+2264-2265, U+2295-2298, U+2303-2305, U+2318, U+2325-2327, U+232B, U+2380, U+2387, U+238B, U+23CE-23CF, U+25A0-25A2, U+25AA, U+25B2-25B3, U+25B6-25B7, U+25BA-25BD, U+25C0-25C1, U+25C4-25C7, U+25CA-25CB, U+25CF, U+25E6, U+25EF, U+2600, U+2605-2606, U+263C, U+2661, U+2665, U+266A-266B, U+26A0, U+2713, U+2717, U+2756, U+2764, U+2780-2788;
}
:root {
  --schrift: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --lesebreite: 42rem;
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  font-family: var(--schrift); font-size: 1.0625rem; line-height: 1.75;
  font-feature-settings: "cv11", "ss01"; font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-wrap: break-word;
}
@media (min-width: 48rem) { body { font-size: 1.125rem; } }
h1, h2, h3, h4 { font-family: var(--schrift); line-height: 1.2; letter-spacing: -.015em; }
h1 { font-weight: 750; }
h2 { font-weight: 700; }
h3 { font-weight: 650; }
button, input, select, textarea { font-family: inherit; }
@media (max-width: 699px) { body { hyphens: auto; } }
/* Keine Trennung in Überschriften, Navigation, Schaltflächen und kurzen Einstiegszeilen */
h1, h2, h3, h4, nav, button, .btn, .knopf, [class*="hero"] p, [class*="hero-"] { hyphens: manual; }
/* Sehr schmale Bildschirme: lange Komposita in Zwischenüberschriften trennen, sonst laufen Karten über */
@media (max-width: 479px) { h1, h2, h3, h4 { hyphens: auto; overflow-wrap: break-word; } }

/* ── Liniensymbole (werkzeuge/ikonen.py): eingebettetes SVG statt Emojis/Sonderzeichen ── */
.ico { display: inline-block; width: 1em; height: 1em; vertical-align: -.14em; flex: none; overflow: visible; }
h1 .ico, h2 .ico, h3 .ico, h4 .ico, li .ico, p .ico, a .ico, .btn .ico { margin-right: .35em; }
.ico-pfeil:last-child { margin: 0 0 0 .25em; }
i > .ico { vertical-align: -.12em; }   /* ersetzte Font-Awesome-Symbole: <i> behält Größe und Farbe */
.ico[class*="ico-punkt-"] { width: .85em; height: .85em; vertical-align: -.08em; }
/* Menüknöpfe: Balken bzw. Kreuz je nach Zustand */
button .ico-schliessen { display: none; }
button[aria-expanded="true"] .ico-menue { display: none; }
button[aria-expanded="true"] .ico-schliessen { display: inline-block; }

/* ── cyberprofis.de: Retro-Identität (C64) mit lesbarem Fließtext, Gestaltungskonvention 11.10.2026 ── */
@font-face { font-family: "Press Start 2P"; src: url("/schrift/press-start-2p-latin.woff2") format("woff2");
  font-weight: 400; 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: "Press Start 2P"; src: url("/schrift/press-start-2p-latin-ext.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* Fließtext in Inter; C64-Farben und Hintergrund bleiben unverändert */
body { font-family: var(--schrift); font-size: 1.0625rem; line-height: 1.75; }
@media (min-width: 48rem) { body { font-size: 1.125rem; } }
/* Pixelschrift für Überschriften, Marke, Navigation, Schaltflächen und Laufband */
h1, h2, h3, h4, h5, .navbar-brand, .accordion-button, .c64-button, .btn, .nav-link, .marquee, .ticker, .badge,
.c64-title, .c64-subtitle, .c64-modal-title, .c64-disclaimer, .column-title, .feature-title, .hero-badge, .cert-banner
  { font-family: "Press Start 2P", ui-monospace, monospace; line-height: 1.5; letter-spacing: 0; }
/* Fließtext: Mindestgröße 1 rem (die alten Regeln waren auf die breite Pixelschrift abgestimmt, 0,6–0,8 rem) */
:where(p, li, dd, dt, td, th, blockquote, label, figcaption, .accordion-body) { font-size: clamp(1rem, 1em, 1.125rem) !important; line-height: 1.7; }
.c64-disclaimer p { font-size: inherit !important; }
/* Pixelschrift hat nur einen Schnitt: keine künstliche Fettung (C64-Stil kennt keine fette Schrift) */
h1, h2, h3, h4, h5, .c64-title, .c64-subtitle { font-weight: 400; letter-spacing: 0; }
/* CyberKids: kurze Etiketten (Kennzahlen, Uhrzeiten, Tage, Abzeichen) bleiben in Pixelschrift wie bisher,
   längere Angaben (Programmpunkte, Preishinweise) in Inter mit Mindestgröße */
.highlight-item > span, .day-date, .time-block .time, .inst-badge
  { font-family: "Press Start 2P", ui-monospace, monospace; line-height: 1.5; }
.time-block .topic, .price-note, .price-limited { font-size: 1rem; line-height: 1.6; }
h1, h2, h3 { hyphens: manual; overflow-wrap: break-word; }
@media (max-width: 479px) { h1 { font-size: 1.35rem; } h2 { font-size: 1.1rem; } h3 { font-size: .95rem; } }
