/**
 * Optimisations CSS pour le SEO
 * Ce fichier contient des optimisations pour améliorer les performances et l'accessibilité
 */

/* Optimisation du chargement des polices */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-display: swap; /* Améliore le CLS (Cumulative Layout Shift) */
    src: local('Montserrat Regular'), local('Montserrat-Regular'),
         url('https://fonts.gstatic.com/s/montserrat/v15/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Optimisation pour les images */
img {
    max-width: 100%;
    height: auto;
}

/* Amélioration de l'accessibilité */
a:focus, button:focus, input:focus, textarea:focus {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* Amélioration du contraste pour l'accessibilité */
.text-muted {
    color: #6c757d !important;
}

/* Optimisation pour les écrans de lecteurs d'écran */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Optimisation pour l'impression */
@media print {
    a[href]:after {
        content: " (" attr(href) ")";
    }
    
    abbr[title]:after {
        content: " (" attr(title) ")";
    }
    
    .no-print, .no-print * {
        display: none !important;
    }
    
    body {
        font-size: 12pt;
    }
    
    header, footer, nav, aside {
        display: none;
    }
    
    main {
        width: 100%;
        margin: 0;
        padding: 0;
    }
}

/* Optimisation pour les performances */
.fade-in {
    will-change: opacity, transform;
}

/* Optimisation pour les animations */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}