/* Optimisation font-display pour améliorer le FCP (First Contentful Paint) */

/* Google Fonts - Polices principales du site */
@font-face {
    font-family: 'Outfit';
    font-display: swap;
    /* La police sera chargée via Google Fonts mais cette déclaration assure que font-display: swap est appliqué */
}

@font-face {
    font-family: 'Dancing Script';
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    font-display: swap;
}

@font-face {
    font-family: 'Space Grotesk';
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    font-display: swap;
}

/* Font Awesome - Optimisation pour les icônes */
@font-face {
    font-family: 'Font Awesome 5 Free';
    font-display: swap;
}

@font-face {
    font-family: 'Font Awesome 6 Free';
    font-display: swap;
}

@font-face {
    font-family: 'FontAwesome';
    font-display: swap;
}

/* Fallback pour les polices système - assurer une visibilité immédiate du texte */
body {
    font-display: swap;
}

/* Classe utilitaire pour forcer font-display: swap sur les éléments personnalisés */
.font-display-swap {
    font-display: swap;
}

/* Optimisation pour les polices critiques - prévenution du FOIT (Flash of Invisible Text) */
* {
    font-display: swap;
}

/* Amélioration de la performance avec des polices fallback optimisées */
:root {
    --font-fallback-system: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    --font-fallback-serif: Georgia, 'Times New Roman', Times, serif;
    --font-fallback-mono: 'Courier New', Courier, monospace;
}

/* Classes utilitaires pour un chargement optimisé */
.font-loading {
    font-family: var(--font-fallback-system);
}

.font-loading-serif {
    font-family: var(--font-fallback-serif);
}

/* Amélioration du rendu des polices */
body, * {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
} 