/* === ZaDeteto 2.0 — Self-hosted fonts ===
 *
 * Replaces Google Fonts CDN with locally-hosted woff2 files.
 * Why self-host:
 *   1. GDPR — Google Fonts CDN sends visitor IPs to Google. A 2022 German
 *      court ruling found this violates GDPR for sites without explicit
 *      consent. Self-hosting eliminates the risk for our EU audience.
 *   2. Performance — one fewer DNS lookup + cross-origin handshake per
 *      page load. Lower TTFB and faster first-paint on slow networks.
 *   3. Reliability — site renders correctly even if Google Fonts is down.
 *   4. Privacy — no third-party tracking of which fonts our visitors load.
 *
 * Body font: Inter (replaces DM Sans) — full Cyrillic + Latin coverage.
 *   DM Sans has NO Cyrillic glyphs, so the previous setup silently fell
 *   back to system fonts (Segoe UI / San Francisco / Roboto) for ~95% of
 *   our content. Inter has the same modern geometric-sans aesthetic AND
 *   ships Cyrillic glyphs, so Bulgarian text now actually renders in our
 *   chosen typeface.
 *
 * Display font: PT Serif (replaces DM Serif Display) — full Latin + Cyrillic.
 *   DM Serif Display had no Cyrillic, so Bulgarian headings were rendering
 *   in the system serif fallback. PT Serif is a more readable, editorial-style
 *   serif (less dramatic than DM Serif Display, but consistent across both
 *   scripts). Registered under both 'PT Serif' AND 'DM Serif Display' as an
 *   alias so existing CSS like `font-family: 'DM Serif Display', serif`
 *   transparently picks up PT Serif without rewriting.
 *
 * font-display: swap — show fallback text immediately while font loads,
 * then swap once ready. Eliminates FOIT (flash of invisible text).
 *
 * unicode-range — browser only downloads the subset that contains the
 * characters used on the current page. Cyrillic users skip Latin-Ext,
 * Latin users skip Cyrillic, etc. Subset coverage matches Google Fonts'
 * v20 encoding.
 */

/* ─────────────── Inter (body font) ─────────────── */
/* These are variable fonts containing all weights 100-900 in one file
   per subset. We expose them via 4 separate @font-face rules so legacy
   CSS like `font-weight: 600` keeps working without needing
   font-variation-settings. */

/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('inter-cyrillic-ext.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('inter-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('inter-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ─────────── BACK-COMPAT: Existing CSS uses 'DM Sans' ───────────
 * Lots of inline styles and class definitions across the site still
 * say `font-family: 'DM Sans', sans-serif`. Rather than rewrite every
 * occurrence, we register Inter under the alias 'DM Sans' too — so
 * those rules transparently start using Inter. New code should use
 * 'Inter' directly, but legacy 'DM Sans' references keep working. */

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('inter-cyrillic-ext.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('inter-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('inter-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ─────────────── PT Serif (display headings) ─────────────── */
/* Full Latin + Latin-Ext + Cyrillic + Cyrillic-Ext, weights 400 + 700.
   8 woff2 files total, served via unicode-range so each visitor only
   downloads the subsets they need. */

/* cyrillic-ext */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('ptserif-400-cyrillic-ext.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('ptserif-400-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('ptserif-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('ptserif-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* PT Serif Bold (700) — used by h1/h2/h3 by default */
/* cyrillic-ext */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('ptserif-700-cyrillic-ext.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('ptserif-700-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('ptserif-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('ptserif-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ─────────── BACK-COMPAT: alias 'DM Serif Display' → PT Serif ───────────
 * Lots of inline styles and class definitions across the site still say
 * `font-family: 'DM Serif Display', serif`. Rather than rewrite every
 * occurrence, we register PT Serif under the alias 'DM Serif Display' too —
 * so those rules transparently start using PT Serif. New code should use
 * 'PT Serif' directly, but legacy 'DM Serif Display' references keep working.
 *
 * Note: only the bold (700) weight is aliased because DM Serif Display
 * is a single-weight display font and all existing usages assume bold. */

/* cyrillic-ext */
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('ptserif-700-cyrillic-ext.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('ptserif-700-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('ptserif-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('ptserif-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
