/* Font Configuration for Neo Noble: Shattered Souls */

/* Adobe Typekit Font Import - Angie Pro */
@import url('https://use.typekit.net/sgi0jfi.css');

/* Google Fonts Import - Cinzel */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&display=swap');

/* Font Family Definitions */
:root {
  /* Default system fonts (current) */
  --font-system: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  
  /* Angie Pro font family - with serif and system fallbacks */
  --font-angie-pro: "ff-angie-pro", "Georgia", "Times New Roman", serif, var(--font-system);
  --font-angie-open-pro: "ff-angie-open-pro", "ff-angie-pro", "Georgia", "Times New Roman", serif, var(--font-system);
  
  /* Cinzel font family - with serif and system fallbacks */
  --font-cinzel: "Cinzel", "Georgia", "Times New Roman", serif, var(--font-system);
}

/* Font Weight and Style Definitions */
:root {
  /* Angie Pro Regular */
  --font-angie-regular: 400;
  --font-angie-regular-italic: 400;
  
  /* Angie Pro Bold */
  --font-angie-bold: 700;
  --font-angie-bold-italic: 700;
  
  /* Angie Open Pro Black */
  --font-angie-black: 900;
}

/* Utility Classes for Easy Font Application */

/* System Font (current default) */
.font-system {
  font-family: var(--font-system);
}

/* Angie Pro Regular */
.font-angie-regular {
  font-family: var(--font-angie-pro);
  font-weight: var(--font-angie-regular);
  font-style: normal;
}

/* Angie Pro Regular Italic */
.font-angie-regular-italic {
  font-family: var(--font-angie-pro);
  font-weight: var(--font-angie-regular-italic);
  font-style: italic;
}

/* Angie Pro Bold */
.font-angie-bold {
  font-family: var(--font-angie-pro);
  font-weight: var(--font-angie-bold);
  font-style: normal;
}

/* Angie Pro Bold Italic */
.font-angie-bold-italic {
  font-family: var(--font-angie-pro);
  font-weight: var(--font-angie-bold-italic);
  font-style: italic;
}

/* Angie Open Pro Black */
.font-angie-black {
  font-family: var(--font-angie-open-pro);
  font-weight: var(--font-angie-black);
  font-style: normal;
}

/* Cinzel Font Classes */
.font-cinzel {
  font-family: var(--font-cinzel);
}

.font-cinzel-regular {
  font-family: var(--font-cinzel);
  font-weight: 400;
  font-style: normal;
}

.font-cinzel-medium {
  font-family: var(--font-cinzel);
  font-weight: 500;
  font-style: normal;
}

.font-cinzel-semibold {
  font-family: var(--font-cinzel);
  font-weight: 600;
  font-style: normal;
}

.font-cinzel-bold {
  font-family: var(--font-cinzel);
  font-weight: 700;
  font-style: normal;
}

/* Mix and Match Classes for Different Combinations */
.font-angie-pro {
  font-family: var(--font-angie-pro);
}

.font-angie-open-pro {
  font-family: var(--font-angie-open-pro);
}

/* Weight-only classes (assumes normal style) */
.font-weight-400 { font-weight: 400; }
.font-weight-700 { font-weight: 700; }
.font-weight-900 { font-weight: 900; }

/* Style-only classes */
.font-style-normal { font-style: normal; }
.font-style-italic { font-style: italic; }

/* Example Usage Classes (for specific UI elements) */
.font-title {
  font-family: var(--font-angie-pro);
  font-weight: var(--font-angie-bold);
  font-style: normal;
}

.font-subtitle {
  font-family: var(--font-angie-pro);
  font-weight: var(--font-angie-regular);
  font-style: normal;
}

.font-body {
  font-family: var(--font-angie-pro);
  font-weight: var(--font-angie-regular);
  font-style: normal;
}

.font-emphasis {
  font-family: var(--font-angie-pro);
  font-weight: var(--font-angie-bold);
  font-style: italic;
}

.font-display {
  font-family: var(--font-angie-open-pro);
  font-weight: var(--font-angie-black);
  font-style: normal;
}

/* Fallback Font Stacks */
.font-angie-with-fallback {
  font-family: var(--font-angie-pro), var(--font-system);
}

.font-angie-open-with-fallback {
  font-family: var(--font-angie-open-pro), var(--font-angie-pro), var(--font-system);
}

/* Font Loading States (for font-loader.js) */
.font-loading {
  visibility: hidden;
}

.font-loaded {
  visibility: visible;
}

/* Font fallback classes (applied by font-loader.js) */
.fonts-fallback {
  /* All fonts failed - use system fonts */
  font-family: var(--font-system) !important;
}

.fonts-angie-fallback {
  /* Angie Pro failed - use serif fallback */
  --font-angie-pro: "Georgia", "Times New Roman", serif, var(--font-system);
  --font-angie-open-pro: "Georgia", "Times New Roman", serif, var(--font-system);
}

.fonts-cinzel-fallback {
  /* Cinzel failed - use serif fallback */
  --font-cinzel: "Georgia", "Times New Roman", serif, var(--font-system);
}
