/* =====================================================================
   assets/css/fonts-bg.css — Bulgarian (loaded only on the bg locale)

   WHY THIS FILE EXISTS. I assumed at the outset that Bulgarian would need
   no font work because "Cyrillic is already on the server". That was wrong,
   and the check is worth recording so nobody repeats it:

     Libre Franklin  latin, latin-ext        — NO Cyrillic
     Sora            latin, latin-ext        — NO Cyrillic
     Fraunces        latin, latin-ext        — NO Cyrillic

   The only Cyrillic already on the server sits inside the Noto Sans SC and
   Noto Sans JP packages, and those load exclusively on /zh/ and /ja/. On a
   Bulgarian page every Cyrillic character would have fallen through to
   whatever the operating system supplies — the same silent collapse that
   Greek nearly shipped with.

   WHAT THIS FILE PROVIDES, and the one happy accident in it:

     Libre Franklin DOES publish a Cyrillic subset upstream. Libre Franklin
     is --mono and --label, which carry every uppercase tracked-out label on
     the site, so those keep their real typeface in Bulgarian rather than a
     substitute. That is why no override is needed for --mono/--label below:
     the family name is the same, so the new @font-face rules simply extend
     the family that main.css already asks for.

     Sora and Fraunces have no Cyrillic at any weight, so --sans, --head and
     --serif fall through to Noto Sans. Sora stays FIRST in each stack on
     purpose: Latin runs inside Bulgarian text — DTS, Turkon, FCL, B/L,
     vessel names, ETAs — then keep rendering in Sora, and only the Cyrillic
     falls through. That is what stops a page reading as two typefaces
     bolted together.

   SUBSET: cyrillic only, NOT cyrillic-ext. Bulgarian uses U+0410-044F plus
   № (U+2116), all of which sit in the `cyrillic` range below. The
   cyrillic-ext subset carries Church Slavonic, Abkhaz, Bashkir and similar,
   none of which this site will ever render — so it is 11 files and 112 KB
   instead of 22 and 230 KB. The unicode-range values are load-bearing: they
   are what stops the browser downloading these files on an English page.

   The Bulgarian quotation marks „ “ and the en/em dashes come from the Latin
   subsets already shipped (verified), so they match the surrounding text.
   № comes from the Cyrillic subset here, as the Latin fonts lack it.

   NOTE FOR THE REVIEWER: Bulgarian renders here in the standard Cyrillic
   letterforms. Neither family carries a BGR language system for the OpenType
   `locl` feature — Libre Franklin has only BSH (Bashkir), Noto Sans only MKD
   and SRB — so the Bulgarian cursive-influenced forms of д ж з и й к л п т
   ц ш щ are not substituted. This is the ordinary baseline for Bulgarian on
   the web, not a defect; practically all Bulgarian web text looks like this.

   The font-stack override lives in THIS file rather than in main.css on
   purpose, so adding Bulgarian touches no shared stylesheet. It still wins
   over main.css's own :root block despite loading earlier, because
   html[lang^="bg"] is the more specific selector.

   SIL Open Font License 1.1. Self-hosted; no third-party request, so the
   Content-Security-Policy stays first-party only.
   ===================================================================== */

/* ---- Libre Franklin — Cyrillic (--mono and --label) ------------------ */
@font-face{font-family:'Libre Franklin';font-style:normal;font-display:swap;font-weight:400;src:url('/assets/fonts/libre-franklin-cyrillic-400-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Libre Franklin';font-style:normal;font-display:swap;font-weight:500;src:url('/assets/fonts/libre-franklin-cyrillic-500-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Libre Franklin';font-style:normal;font-display:swap;font-weight:600;src:url('/assets/fonts/libre-franklin-cyrillic-600-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Libre Franklin';font-style:normal;font-display:swap;font-weight:700;src:url('/assets/fonts/libre-franklin-cyrillic-700-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}

/* ---- Noto Sans — Cyrillic (fallback for Sora and Fraunces) ----------- */
@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:300;src:url('/assets/fonts/noto-sans-cyrillic-300-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:400;src:url('/assets/fonts/noto-sans-cyrillic-400-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:500;src:url('/assets/fonts/noto-sans-cyrillic-500-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:600;src:url('/assets/fonts/noto-sans-cyrillic-600-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:700;src:url('/assets/fonts/noto-sans-cyrillic-700-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:800;src:url('/assets/fonts/noto-sans-cyrillic-800-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}

/* A real italic for the display face. --serif is Fraunces italic (the motto
   line and the .tcard headings); Fraunces has no Cyrillic, so without this
   the browser would synthesise a slant from an upright Noto Sans. Greek
   shipped without one — Bulgarian does not have to. */
@font-face{font-family:'Noto Sans';font-style:italic;font-display:swap;font-weight:400;src:url('/assets/fonts/noto-sans-cyrillic-400-italic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}

/* ---- Per-locale font stacks ----------------------------------------- *
   --mono and --label are deliberately absent: Libre Franklin now covers
   Cyrillic itself, so main.css's own values are already correct. Only the
   three faces with no Cyrillic at all need a fallback appended. */
html[lang^="bg"]{
  --sans:'Sora','Noto Sans',system-ui,sans-serif;
  --head:'Sora','Noto Sans',system-ui,sans-serif;
  --serif:'Fraunces','Noto Sans',Georgia,serif;
}
