/**
 * ZÖLLNER corporate-CD theme for the TH-BÜP e-learning engine.
 * The engine (engine.css) is colour/font-free and reads ONLY these tokens.
 * A new client = a new theme file; no engine change (ADR-0003, ADR-0009).
 *
 * Source palette: brand/tokens.css © ZÖLLNER Signal GmbH.
 * Fonts bundled locally (no CDN at runtime): Saira (display), Roboto (body,
 * OFL), UniversBQ (logo).
 */

/* ── Fonts (bundled locally, no CDN) ─────────────────── */
@font-face { font-family:"Saira"; font-style:normal; font-weight:400; font-display:swap; src:url("./fonts/Saira-400-normal.ttf") format("truetype"); }
@font-face { font-family:"Saira"; font-style:normal; font-weight:500; font-display:swap; src:url("./fonts/Saira-500-normal.ttf") format("truetype"); }
@font-face { font-family:"Saira"; font-style:normal; font-weight:600; font-display:swap; src:url("./fonts/Saira-600-normal.ttf") format("truetype"); }
@font-face { font-family:"Saira"; font-style:normal; font-weight:700; font-display:swap; src:url("./fonts/Saira-700-normal.ttf") format("truetype"); }
@font-face { font-family:"Saira"; font-style:normal; font-weight:800; font-display:swap; src:url("./fonts/Saira-800-normal.ttf") format("truetype"); }
@font-face { font-family:"UniversBQ"; font-style:normal; font-weight:400; font-display:swap; src:url("./fonts/UniversBQ-400-normal.otf") format("opentype"); }
@font-face { font-family:"Roboto"; font-style:normal; font-weight:400; font-display:swap; src:url("./fonts/Roboto-400-normal.woff2") format("woff2"); }
@font-face { font-family:"Roboto"; font-style:normal; font-weight:500; font-display:swap; src:url("./fonts/Roboto-500-normal.woff2") format("woff2"); }
@font-face { font-family:"Roboto"; font-style:normal; font-weight:700; font-display:swap; src:url("./fonts/Roboto-700-normal.woff2") format("woff2"); }

:root{
  /* fonts */
  --font-display:"Saira","Helvetica Neue",Arial,sans-serif;   /* headings, buttons, stepper */
  --font-body:"Roboto","Helvetica Neue",Arial,sans-serif;     /* body (corporate CD) */

  /* surfaces */
  --app:#eaf0f5;            /* page background */
  --card:#ffffff;
  --line:#dbe4ea;           /* hairline borders */
  --line2:#cbd8e1;          /* stronger borders */

  /* text */
  --ink:#2a3744;            /* headings / strong text */
  --ink-soft:#596c80;       /* schriftblau — body */
  --muted:#8a98a5;
  --faint:#aab8c2;

  /* brand accents (corporate CD) */
  --brand:#003973;          /* zoellner-blau — primary accent, button text */
  --accent:#33aaff;         /* cyan — interaction / squiggle */
  --orange:#e98a2b;         /* functional: cable routing */
  --yellow:#ffd633;         /* gelb — hints / step accent */
  --yellow-deep:#cc9d00;    /* darker gelb for active step / fill */
  --green:#3aa655;          /* ok */
  --green-soft:#eafaef;
  --red:#d64545;            /* error / boom */

  /* scene illustration neutrals (hardware greys) */
  --slide:#cdd9e2; --slide2:#bfccd6; --road:#3c4147;

  /* radius + shadow (CD) */
  --r:14px;
  --shadow:0 14px 34px -18px rgba(0,57,115,.30);
  --shadow-sm:0 4px 14px -8px rgba(0,57,115,.28);

  /* signature squiggle underline — colour owned by the theme (cyan) */
  --squiggle:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='9' viewBox='0 0 24 9'><path d='M0 5 C 3 1.5, 5 1.5, 8 5 S 13 8.5, 16 5 S 21 1.5, 24 5' fill='none' stroke='%2333AAFF' stroke-width='1.7' stroke-linecap='round'/></svg>");
  --squiggle-grey:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='9' viewBox='0 0 24 9'><path d='M0 5 C 3 1.5, 5 1.5, 8 5 S 13 8.5, 16 5 S 21 1.5, 24 5' fill='none' stroke='%238a98a5' stroke-width='1.7' stroke-linecap='round'/></svg>");
}
