/* ═══════════════════════════════════════════════════════════════════════════
   Self-hosted WOFF2 — exact same files served by Google Fonts via
   next/font/google in the Next.js project.  Copied from the Next.js build
   output (.next/static/media/) to guarantee identical glyph rendering.

   Sizes: Crimson Text ≈16KB/weight, Playfair Display 38KB (variable),
          Caveat 75KB (variable).  Total: ~163KB — 0 conexiones externas.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Crimson Text (static weights) ── */
@font-face {
  font-family: 'Crimson Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/crimson-text-latin-400.woff2') format('woff2');
}

@font-face {
  font-family: 'Crimson Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/crimson-text-latin-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Crimson Text';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/crimson-text-latin-700.woff2') format('woff2');
}

/* ── Playfair Display (variable font — single file, all weights) ── */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('/fonts/playfair-display-latin.woff2') format('woff2');
}

/* ── Caveat (variable font — single file, all weights) ── */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/caveat-latin.woff2') format('woff2');
}

/* ═══════════════════════════════════════════════════════════════════════════
   Fallback font faces — metric overrides matching next/font/google behaviour.

   These use local system fonts (Times New Roman / Arial) with CSS metric
   overrides that match the corresponding Google Font.  When the web font
   hasn't loaded yet (or can't load), the fallback renders at the exact
   same size, preventing layout shift.
   ═══════════════════════════════════════════════════════════════════════════ */

@font-face {
  font-family: 'Crimson Text Fallback';
  src: local('Times New Roman');
  ascent-override: 97.50%;
  descent-override: 36.01%;
  line-gap-override: 0.00%;
  size-adjust: 97.36%;
}

@font-face {
  font-family: 'Playfair Display Fallback';
  src: local('Times New Roman');
  ascent-override: 97.25%;
  descent-override: 22.56%;
  line-gap-override: 0.00%;
  size-adjust: 111.26%;
}

@font-face {
  font-family: 'Caveat Fallback';
  src: local('Arial');
  ascent-override: 124.77%;
  descent-override: 38.99%;
  line-gap-override: 0.00%;
  size-adjust: 76.94%;
}
