/* Enhanced Font Loading with Robust Fallbacks */

/* Primary custom fonts with fallbacks - using absolute paths */
@font-face {
    font-family: 'ASHROOT Display';
    src: url('/assets/fonts/ashroot-display.woff2') format('woff2'),
         url('/assets/fonts/ashroot-display.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ASHROOT Display';
    src: url('/assets/fonts/ashroot-display-bold.woff2') format('woff2'),
         url('/assets/fonts/ashroot-display-bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ASHROOT Body';
    src: url('/assets/fonts/ashroot-body.woff2') format('woff2'),
         url('/assets/fonts/ashroot-body.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ASHROOT Body';
    src: url('/assets/fonts/ashroot-body-bold.woff2') format('woff2'),
         url('/assets/fonts/ashroot-body-bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ASHROOT Mono';
    src: url('/assets/fonts/ashroot-mono.woff2') format('woff2'),
         url('/assets/fonts/ashroot-mono.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* CSS Custom Properties for Font Stacks */
:root {
    --font-display: 'ASHROOT Display', 'Quantico', 'Orbitron', 'Arial Black', Impact, 'Helvetica Neue', Arial, sans-serif;
    --font-body: 'ASHROOT Body', 'Rajdhani', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    --font-mono: 'ASHROOT Mono', 'Share Tech Mono', 'JetBrains Mono', 'Fira Code', Consolas, 'Monaco', 'Courier New', monospace;
}

/* Font Loading Detection and Fallback */
.fonts-loading {
    visibility: hidden;
}

.fonts-loaded .fonts-loading {
    visibility: visible;
}

/* Critical text that should always be visible */
.critical-text {
    font-family: var(--font-body);
    visibility: visible !important;
}

/* Optimized font rendering */
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Preload critical fonts */
@media (prefers-reduced-motion: no-preference) {
    body {
        transition: font-family 0.3s ease;
    }
}