/* Styles pour la responsivité et les performances */

/* Optimisations pour les appareils mobiles */
@media (max-width: 768px) {
    /* Ajustements généraux */
    h1 {
        font-size: 2rem;
    }
    
    h2 {
        font-size: 1.8rem;
    }
    
    /* Ajustements spécifiques pour le header */
    .navbar {
        padding: 0 15px;
    }
    
    /* Optimisation de la section hero pour mobile */
    .hero-content {
        padding: 80px 20px;
    }
    
    .profile-image {
        width: 150px;
        height: 150px;
    }
    
    /* Optimisation de la timeline pour mobile */
    .timeline-item {
        padding-left: 15px;
    }
    
    .timeline-date {
        position: relative;
        left: 0;
        top: 0;
        margin-bottom: 10px;
        width: auto;
    }
    
    /* Optimisation du formulaire de contact pour mobile */
    .contact-options {
        flex-direction: column;
    }
    
    .contact-form {
        width: 100%;
        margin: 20px 0;
    }
}

/* Optimisations pour les tablettes */
@media (min-width: 769px) and (max-width: 1024px) {
    /* Ajustements pour la section hero */
    .hero-content {
        padding: 100px 40px;
    }
    
    /* Ajustements pour les sections de contenu */
    .about-container, .chatbot-container, .contact-container {
        padding: 60px 40px;
    }
}

/* Optimisations pour les grands écrans */
@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
    }
    
    /* Limiter la largeur du contenu pour une meilleure lisibilité */
    .about-container, .chatbot-container, .contact-container {
        max-width: 1200px;
        margin: 0 auto;
    }
}

/* Optimisations pour l'impression */
@media print {
    .navbar, .cta-button, .chatbot-section, .contact-section, footer {
        display: none;
    }
    
    body {
        color: #000;
        background: #fff;
    }
    
    .about-section {
        page-break-inside: avoid;
    }
}

/* Optimisations de performance */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Optimisations d'accessibilité */
:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
