/* ============================================
   Alamo Crafting Forge — Local @font-face declarations
   All fonts self-hosted as woff2.
   ============================================ */

/* ---- Site UI fonts (loaded immediately) ---- */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('./fonts/inter.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('./fonts/playfair-display.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  /* Uses the same file — browser synthesizes italic. Replace with a dedicated
     italic woff2 (e.g. playfair-display-italic.woff2) for best rendering. */
  src: url('./fonts/playfair-display.woff2') format('woff2');
}

/* ---- Dice preview fonts (loaded on demand via JS) ----
   These are declared here so the browser knows the font-family name
   and file location. Loading is triggered by the JS FontFace API when
   the user selects a font. Using font-display: optional avoids
   layout shifts — if the font isn't cached, fallback is shown.
   ------------------------------------------------------------ */

/* Sans Serif */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/bebas-neue.woff2') format('woff2');
}

@font-face {
  font-family: 'Orbitron';
  font-style: normal;
  font-weight: 400 900;
  font-display: optional;
  src: url('./fonts/orbitron.woff2') format('woff2');
}

@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/rajdhani.woff2') format('woff2');
}

@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 200 700;
  font-display: optional;
  src: url('./fonts/oswald.woff2') format('woff2');
}

@font-face {
  font-family: 'Chakra Petch';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/chakra-petch.woff2') format('woff2');
}

@font-face {
  font-family: 'Black Ops One';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/black-ops-one.woff2') format('woff2');
}

@font-face {
  font-family: 'Russo One';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/russo-one.woff2') format('woff2');
}

/* Serif & Elegant */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400 900;
  font-display: optional;
  src: url('./fonts/cinzel.woff2') format('woff2');
}

@font-face {
  font-family: 'IM Fell English SC';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/im-fell-english-sc.woff2') format('woff2');
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300 700;
  font-display: optional;
  src: url('./fonts/cormorant-garamond.woff2') format('woff2');
}

@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 400 700;
  font-display: optional;
  src: url('./fonts/libre-baskerville.woff2') format('woff2');
}

@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/spectral.woff2') format('woff2');
}

/* Fantasy & Medieval */
@font-face {
  font-family: 'MedievalSharp';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/medieval-sharp.woff2') format('woff2');
}

@font-face {
  font-family: 'Uncial Antiqua';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/uncial-antiqua.woff2') format('woff2');
}

@font-face {
  font-family: 'Pirata One';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/pirata-one.woff2') format('woff2');
}

@font-face {
  font-family: 'Eagle Lake';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/eagle-lake.woff2') format('woff2');
}

@font-face {
  font-family: 'Almendra';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/almendra.woff2') format('woff2');
}

@font-face {
  font-family: 'Jim Nightshade';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/jim-nightshade.woff2') format('woff2');
}

@font-face {
  font-family: 'Metamorphous';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/metamorphous.woff2') format('woff2');
}

@font-face {
  font-family: 'Grenze Gotisch';
  font-style: normal;
  font-weight: 100 900;
  font-display: optional;
  src: url('./fonts/grenze-gotisch.woff2') format('woff2');
}

/* Display & Fun */
@font-face {
  font-family: 'Bungee';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/bungee.woff2') format('woff2');
}

@font-face {
  font-family: 'Righteous';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/righteous.woff2') format('woff2');
}

@font-face {
  font-family: 'Permanent Marker';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/permanent-marker.woff2') format('woff2');
}

@font-face {
  font-family: 'Creepster';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/creepster.woff2') format('woff2');
}

@font-face {
  font-family: 'Press Start 2P';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/press-start-2p.woff2') format('woff2');
}

@font-face {
  font-family: 'Silkscreen';
  font-style: normal;
  font-weight: 400 700;
  font-display: optional;
  src: url('./fonts/silkscreen.woff2') format('woff2');
}

@font-face {
  font-family: 'Rubik Mono One';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/rubik-mono-one.woff2') format('woff2');
}

/* Monospace & Minimal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: optional;
  src: url('./fonts/jetbrains-mono.woff2') format('woff2');
}

@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/space-mono.woff2') format('woff2');
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('./fonts/ibm-plex-mono.woff2') format('woff2');
}
