/* ==================================================
   VALBOOSTING — SELF-HOSTED F3 FONTS (latin woff2)
   Replaces the Google Fonts css2 links. On live, LiteSpeed's "Load Google Fonts
   Asynchronously" rewrote those css2 links into a legacy WebFont.load call that
   couldn't parse them, so Rajdhani / Geist / Geist Mono never loaded and the F3
   display headings + body + mono UI fell back to a system sans site-wide (the F1
   bug). Serving the fonts from the theme means there is no external request for
   LiteSpeed to rewrite — they always load. Latin subset only (English site; the
   € sign is in this subset). font-display:swap. Weights match the prior enqueue:
   Rajdhani 400/500/600/700, Geist 400/500/600/700, Geist Mono 400/500/600.

   The src URLs are ABSOLUTE (/wp-content/themes/valboosting/assets/fonts/…), NOT
   relative (../fonts/): LiteSpeed's CSS-combine moves this sheet into a hashed
   /wp-content/litespeed/css/<hash>.css file, and a relative ../fonts/ URL would
   then resolve against THAT path and 404 — so the fonts silently fell back even
   after self-hosting. Absolute URLs survive the combine unchanged.
   ================================================== */
@font-face { font-family: 'Rajdhani'; font-style: normal; font-weight: 400; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/rajdhani-400.woff2') format('woff2'); }
@font-face { font-family: 'Rajdhani'; font-style: normal; font-weight: 500; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/rajdhani-500.woff2') format('woff2'); }
@font-face { font-family: 'Rajdhani'; font-style: normal; font-weight: 600; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/rajdhani-600.woff2') format('woff2'); }
@font-face { font-family: 'Rajdhani'; font-style: normal; font-weight: 700; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/rajdhani-700.woff2') format('woff2'); }

@font-face { font-family: 'Geist'; font-style: normal; font-weight: 400; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/geist-400.woff2') format('woff2'); }
@font-face { font-family: 'Geist'; font-style: normal; font-weight: 500; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/geist-500.woff2') format('woff2'); }
@font-face { font-family: 'Geist'; font-style: normal; font-weight: 600; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/geist-600.woff2') format('woff2'); }
@font-face { font-family: 'Geist'; font-style: normal; font-weight: 700; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/geist-700.woff2') format('woff2'); }

@font-face { font-family: 'Geist Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/geistmono-400.woff2') format('woff2'); }
@font-face { font-family: 'Geist Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/geistmono-500.woff2') format('woff2'); }
@font-face { font-family: 'Geist Mono'; font-style: normal; font-weight: 600; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/geistmono-600.woff2') format('woff2'); }

/* League — custom display face (handoff). One master mapped to both display
   weights. Absolute URL (combine-safe). Barlow (body) + Oxanium (UI) load from
   Google Fonts in the page <head>; they have no self-hosted faces here yet. */
@font-face { font-family: 'League'; font-style: normal; font-weight: 700; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/League.otf') format('opentype'); }
@font-face { font-family: 'League'; font-style: normal; font-weight: 800; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/League.otf') format('opentype'); }

/* Barlow (body) + Oxanium (UI) — self-hosted latin woff2 for the "Cream compact"
   re-skin. Without these, the .vb-rd --font-body / --font-ui tokens point at fonts
   that aren't loaded on live (LiteSpeed mangles Google css2 links — see top), so
   body + UI text fell back to system sans. Absolute URLs (combine-safe). Barlow is
   static (one file per weight); Oxanium is a variable face (one file spans 500-700). */
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 400; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/barlow-400.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 500; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/barlow-500.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 600; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/barlow-600.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 700; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/barlow-700.woff2') format('woff2'); }
@font-face { font-family: 'Oxanium'; font-style: normal; font-weight: 500 700; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/oxanium.woff2') format('woff2'); }
