/* Styles pour le responsive design */
@media (max-width: 1200px) {
    .container {
        max-width: 960px;
    }
}

@media (max-width: 992px) {
    .container {
        max-width: 720px;
    }
    
    .advantages {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-content {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-lg);
    }
    
    .gallery {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .contact-methods {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    html {
        font-size: 14px;
    }
    
    h1 {
        font-size: 2.5rem;
    }
    
    h2 {
        font-size: 2rem;
    }
    
    h3 {
        font-size: 1.75rem;
    }
    
    .mobile-menu-toggle {
        display: block;
    }
    
    nav ul {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        flex-direction: column;
        background-color: var(--blanc-pur);
        box-shadow: var(--shadow-light);
        padding: var(--spacing-md) 0;
    }
    
    nav ul.show {
        display: flex;
    }
    
    nav ul li {
        margin: 0;
        text-align: center;
    }
    
    nav ul li a {
        display: block;
        padding: var(--spacing-sm) 0;
    }
    
    .advantages {
        grid-template-columns: 1fr;
    }
    
    .step {
        flex-direction: column;
    }
    
    .step-number {
        margin-bottom: var(--spacing-sm);
    }
    
    .step:not(:last-child)::after {
        left: 40px;
        top: 80px;
        height: calc(100% - 80px);
    }
    
    .contact-methods {
        grid-template-columns: 1fr;
    }
    
    .gallery {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .container {
        padding: 0 var(--spacing-sm);
    }
    
    .hero {
        height: 80vh;
    }
    
    .footer-content {
        grid-template-columns: 1fr;
    }
    
    .section {
        padding: var(--spacing-md) 0;
    }
}
