/* =========================================================================
   PRFactory — Self-hosted web fonts (ZERO CDN, offline-correct)
   Inter (UI sans, --font-sans) + JetBrains Mono (--font-mono), weights
   400/500/600/700. woff2 vendored under wwwroot/fonts/. font-display:swap
   so text paints immediately with the metric-matched fallback and never
   blocks; size-reserved usage in tokens keeps the swap shift ≈ 0.
   ========================================================================= */

/* ---- Inter ----------------------------------------------------------- */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter/inter-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter/inter-latin-500-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter/inter-latin-600-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter/inter-latin-700-normal.woff2") format("woff2");
}

/* ---- JetBrains Mono -------------------------------------------------- */
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/jetbrains-mono/jetbrains-mono-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/jetbrains-mono/jetbrains-mono-latin-500-normal.woff2") format("woff2");
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/jetbrains-mono/jetbrains-mono-latin-600-normal.woff2") format("woff2");
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/jetbrains-mono/jetbrains-mono-latin-700-normal.woff2") format("woff2");
}

/* Reserve a stable glyph box for Bootstrap-Icons so the icon-font swap
   (offline-safe local woff2) cannot reflow surrounding layout — CLS ≈ 0.
   1em square inline-block matches the .bi::before glyph metrics. */
.bi {
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
  text-align: center;
  vertical-align: -.125em;
  flex: none;
}
.bi::before {
  vertical-align: 0;
}
