/* DFM Design-Tokens und Schriften (lokal ausgeliefert – keine externen Ressourcen) */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url("../vendor/inter/inter-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 500; font-display: swap; src: url("../vendor/inter/inter-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url("../vendor/inter/inter-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 700; font-display: swap; src: url("../vendor/inter/inter-latin-700-normal.woff2") format("woff2"); }

:root {
  --dfm-navy: #0A1E3F;
  --dfm-navy-800: #102850;
  --dfm-navy-700: #1A3561;
  --dfm-ivory: #F8F8F5;
  --dfm-slate: #4A4E57;
  --dfm-gold: #C9A857;
  --dfm-gold-soft: #EFE5CB;
  --dfm-black: #000000;
  --dfm-surface: #FFFFFF;
  --dfm-line: #E6E3D8;
  --dfm-line-strong: #D5D1C3;
  --dfm-muted: #6B6F78;
  --dfm-success: #2E7D5B;
  --dfm-warning: #A86A12;
  --dfm-danger: #B4232F;
  --dfm-info: #2F5F98;
  --dfm-radius-sm: 4px;
  --dfm-radius: 8px;
  --dfm-radius-lg: 16px;
  --dfm-shadow: 0 1px 2px rgba(10, 30, 63, .06), 0 1px 1px rgba(10, 30, 63, .04);
  --dfm-shadow-lg: 0 10px 30px rgba(10, 30, 63, .12);
  --dfm-sidebar: 248px;

  /* Bootstrap-Variablen auf DFM abbilden */
  --bs-body-font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  --bs-body-font-size: .9rem;
  --bs-body-color: var(--dfm-black);
  --bs-body-bg: var(--dfm-ivory);
  --bs-border-color: var(--dfm-line);
  --bs-border-radius: var(--dfm-radius);
  --bs-border-radius-sm: var(--dfm-radius-sm);
  --bs-border-radius-lg: var(--dfm-radius-lg);
  --bs-link-color: var(--dfm-navy);
  --bs-link-color-rgb: 10, 30, 63;
  --bs-link-hover-color: var(--dfm-navy-700);
  --bs-primary: var(--dfm-navy);
  --bs-primary-rgb: 10, 30, 63;
  --bs-secondary-color: var(--dfm-slate);
  --bs-focus-ring-color: rgba(201, 168, 87, .45);
}

html { font-feature-settings: "cv11", "ss01"; }
body { background: var(--dfm-ivory); color: var(--dfm-black); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5 { color: var(--dfm-navy); font-weight: 600; letter-spacing: -.01em; }
.text-slate { color: var(--dfm-slate) !important; }
.text-muted { color: var(--dfm-muted) !important; }
.text-gold { color: var(--dfm-gold) !important; }
.text-navy { color: var(--dfm-navy) !important; }
.num { font-variant-numeric: tabular-nums; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .85em; }
:focus-visible { outline: 2px solid var(--dfm-gold); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
