/* Responsive */
@media (max-width: 768px) {
    /* Ajouter du padding-top pour éviter que le menu fixe cache le contenu */
    .hero-section {
        padding-top: 80px;
    }
    
    section {
        scroll-margin-top: 80px;
    }
    
    .hero-title {
        font-size: 2.5rem;
    }
    
    .hero-subtitle {
        font-size: 1.2rem;
    }
    
    .hero-description {
        font-size: 1rem;
    }
    
    /* Ajuster l'image hero sur mobile */
    .hero-image {
        margin-top: 3rem;
    }
    
    .hero-image img {
        max-width: 300px;
        height: 300px;
    }
    
    /* Réduire l'animation float sur mobile */
    @keyframes float {
        0%, 100% {
            transform: translateY(0);
        }
        50% {
            transform: translateY(-15px);
        }
    }
    
    .section-title {
        font-size: 2rem;
    }
    
    .navbar-brand {
        font-size: 1.5rem;
    }
    
    .nav-link {
        margin: 0.5rem 0;
    }
    
    .timeline::before {
        left: 10px;
    }
    
    .timeline-item {
        padding-left: 40px;
    }
    
    .timeline-dot {
        left: 1px;
    }
    
    .contact-info,
    .contact-form {
        padding: 2rem;
    }
    
    .about-card {
        margin-bottom: 2rem;
    }
}

@media (max-width: 576px) {
    /* Ajouter plus de padding pour les très petits écrans */
    .hero-section {
        padding-top: 100px;
    }
    
    section {
        scroll-margin-top: 100px;
    }
    
    .hero-title {
        font-size: 2rem;
    }
    
    .hero-subtitle {
        font-size: 1rem;
    }
    
    /* Ajuster encore plus l'image sur petits écrans */
    .hero-image {
        margin-top: 2rem;
    }
    
    .hero-image img {
        max-width: 250px;
        height: 250px;
    }
    
    .btn-custom {
        padding: 10px 25px;
        font-size: 0.9rem;
    }
    
    .section-title {
        font-size: 1.8rem;
    }
    
    .portfolio-item img {
        height: 200px;
    }
}
