/* COHÉRENCE VISUELLE GLOBALE - Dimensions et Marges Uniformes */

/* Container principal avec marges latérales */
.page-container,
.hero-content,
.services-content,
.about-container,
.contact-container,
.projects-section,
.testimonials-section,
.why-choose,
.cta-section,
.newsletter-cta-section {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 50px;
    padding-right: 50px;
}

/* Grilles 3 colonnes pour cartes de services */
.services-grid-3col,
.service-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

/* Responsive - Tablette */
@media (max-width: 1024px) {
    .page-container,
    .hero-content,
    .services-content,
    .about-container,
    .contact-container,
    .projects-section,
    .testimonials-section,
    .why-choose,
    .cta-section,
    .newsletter-cta-section {
        padding-left: 40px;
        padding-right: 40px;
    }

    .services-grid-3col,
    .service-features {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }
}

/* Responsive - Mobile */
@media (max-width: 768px) {
    .page-container,
    .hero-content,
    .services-content,
    .about-container,
    .contact-container,
    .projects-section,
    .testimonials-section,
    .why-choose,
    .cta-section,
    .newsletter-cta-section {
        padding-left: 20px;
        padding-right: 20px;
    }

    .services-grid-3col,
    .service-features {
        grid-template-columns: 1fr !important;
        gap: 20px;
    }
}

@media (max-width: 480px) {
    .page-container,
    .hero-content,
    .services-content,
    .about-container,
    .contact-container,
    .projects-section,
    .testimonials-section,
    .why-choose,
    .cta-section,
    .newsletter-cta-section {
        padding-left: 15px;
        padding-right: 15px;
    }
}
