/* ============================================================================
   Manifest Tier 1 — Self-hosted fonts (default pair)
   ----------------------------------------------------------------------------
   Stack:
     --font-display → "Playfair Display"  (display headings, hero, h1..h6)
     --font-body    → "Crimson Pro"       (body text, UI, forms)

   These woff2 files are Google Fonts variable-font subsets (font-weight ranges
   in a single file) so we get every weight + italic without shipping a dozen
   files. Subsets included: latin (U+0000–00FF, default WC content) and
   latin-ext (U+0100–024F, Indonesian-safe). Cyrillic + Vietnamese DROPPED to
   save ~50 KB — Indonesian uses standard Latin alphabet.

   File budget: 8 files × ~25-50 KB = ~300 KB on disk, but the browser only
   pulls subsets it actually needs (latin for 99% of Indonesian copy, latin-ext
   only if a page uses extended diacritics). Effective per-page download ≈
   2 files × ~45 KB ≈ ~90 KB woff2 — well under the 90 KB target.

   License: SIL Open Font License (OFL) 1.1
     Playfair Display © 2017 by Claus Eggers Sørensen / Google Fonts
     Crimson Pro      © 2018 by Jacques Le Bailly / Google Fonts
     https://scripts.sil.org/OFL

   Per-template variants (template-02..10):
     Override --font-display / --font-body in your theme.css OR redeclare
     @font-face below for a Style Pack pair (e.g. Inter, DM Sans, Lora).
     See fonts/README.md for the override workflow.
   ============================================================================ */


/* ----------------------------------------------------------------------------
   PLAYFAIR DISPLAY — display / headings
   Variable font: font-weight range 400–900.
   .hero-title, h1..h6, .price-current, .site-header__logo, .quote, .empty-state-title
   ---------------------------------------------------------------------------- */

/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: local('Playfair Display'),
       url('./playfair-display-latin-normal.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;
}

/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: local('Playfair Display'),
       url('./playfair-display-latin-ext-normal.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 — italic */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: local('Playfair Display Italic'),
       url('./playfair-display-latin-italic.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;
}

/* latin-ext — italic */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: local('Playfair Display Italic'),
       url('./playfair-display-latin-ext-italic.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;
}


/* ----------------------------------------------------------------------------
   CRIMSON PRO — body / UI
   Variable font: font-weight range 300–700.
   body, p, .field, .input, .btn (UI text), .toast, .card-body, .breadcrumb
   ---------------------------------------------------------------------------- */

/* latin */
@font-face {
  font-family: 'Crimson Pro';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: local('Crimson Pro'),
       url('./crimson-pro-latin-normal.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;
}

/* latin-ext */
@font-face {
  font-family: 'Crimson Pro';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: local('Crimson Pro'),
       url('./crimson-pro-latin-ext-normal.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 — italic */
@font-face {
  font-family: 'Crimson Pro';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: local('Crimson Pro Italic'),
       url('./crimson-pro-latin-italic.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;
}

/* latin-ext — italic */
@font-face {
  font-family: 'Crimson Pro';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: local('Crimson Pro Italic'),
       url('./crimson-pro-latin-ext-italic.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;
}

/* ----------------------------------------------------------------------------
   DM SERIF DISPLAY — template-03+ display/heading pair (added 2026-06-03 for
   T03 Lumina Skincare — editorial-clinical serif). Static (non-variable),
   single weight 400, normal + italic. Per-template theme.css opts in via
   `--font-display: 'DM Serif Display', ...;`.
   ---------------------------------------------------------------------------- */

/* latin */
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('DM Serif Display'),
       url('./dm-serif-display-latin-normal.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;
}

/* latin-ext */
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('DM Serif Display'),
       url('./dm-serif-display-latin-ext-normal.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 — italic */
@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: local('DM Serif Display Italic'),
       url('./dm-serif-display-latin-italic.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;
}

/* latin-ext — italic */
@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: local('DM Serif Display Italic'),
       url('./dm-serif-display-latin-ext-italic.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;
}


/* ----------------------------------------------------------------------------
   DM SANS — template-03+ body/UI pair (added 2026-06-03 for T03 Lumina).
   Variable font: font-weight 300-1000. Pairs cleanly with DM Serif Display.
   ---------------------------------------------------------------------------- */

/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300 1000;
  font-display: swap;
  src: local('DM Sans'),
       url('./dm-sans-latin-normal.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;
}

/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300 1000;
  font-display: swap;
  src: local('DM Sans'),
       url('./dm-sans-latin-ext-normal.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 — italic */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 300 1000;
  font-display: swap;
  src: local('DM Sans Italic'),
       url('./dm-sans-latin-italic.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;
}

/* latin-ext — italic */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 300 1000;
  font-display: swap;
  src: local('DM Sans Italic'),
       url('./dm-sans-latin-ext-italic.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;
}

/* ============================================================================
   END fonts.css
   ============================================================================ */
