/* ======================================================
   MAIN.CSS - Peach Wash
   Fichier CSS principal optimisé
   Version: 2.0.0
   Dernière mise à jour: Mai 2025
   ====================================================== */

/**
 * Structure des fichiers CSS
 * 
 * 1. reset-base.css - Fondation du design (reset, variables, typographie)
 * 2. layout.css - Structure et mise en page (header, footer, grilles)
 * 3. components.css - Éléments réutilisables (boutons, cartes, formulaires)
 * 4. sections.css - Blocs de contenu spécifiques (hero, produits, témoignages)
 * 5. pro.css - Styles pour la page professionnels
 * 6. utilities.css - Classes utilitaires (espacement, couleurs, affichage)
 */

/* Base - Fondation du design */
@import 'reset-base.css';

/* Layout - Structure et mise en page */
@import 'layout.css';

/* Composants - Éléments réutilisables */
@import 'components.css';

/* Sections - Blocs de contenu spécifiques */
@import 'sections.css';

/* Page professionnels */
@import 'pro.css';

/* Utilitaires - Classes utilitaires */
@import 'utilities.css';

/* ======================================================
   PREFERS-REDUCED-MOTION
   Support pour les utilisateurs préférant moins d'animations
   ====================================================== */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    
    .reveal, 
    .carousel-slide, 
    .product-main-image img,
    .benefit-card,
    .testimonial-card,
    .installation-card,
    .thumbnail:hover,
    .nav-cta:hover,
    .floating-help-button:hover,
    .primary-cta:hover,
    .secondary-cta:hover,
    .fade-in,
    .carousel-wrapper,
    .faq-question i {
        transform: none !important;
        transition: none !important;
        animation: none !important;
        opacity: 1 !important;
    }
}

/* ======================================================
   PRINT STYLES
   Styles optimisés pour l'impression
   ====================================================== */
@media print {
    /* Éléments à masquer */
    header, 
    footer, 
    .nav-cta,
    .booking-section,
    .contact-section,
    .floating-help-button,
    .no-print {
        display: none !important;
    }
    
    /* Styles généraux */
    body {
        background-color: white;
        font-size: 12pt;
        color: black;
        margin: 0;
        padding: 0;
    }
    
    main {
        margin-top: 0;
    }
    
    /* Liens */
    a {
        text-decoration: none;
        color: black;
    }
    
    a[href]:after {
        content: " (" attr(href) ")";
        font-size: 90%;
        color: #666;
    }
    
    /* Éviter les sauts de page inappropriés */
    h1, h2, h3, 
    .product-details,
    .benefit-card,
    .installation-card,
    .testimonial-card,
    .faq-item {
        page-break-after: avoid;
        page-break-inside: avoid;
    }
    
    img {
        max-width: 100% !important;
        page-break-inside: avoid;
    }
    
    /* Marges de page */
    @page {
        margin: 2cm;
    }
    
    /* Optimisation des sections spécifiques */
    .product-showcase {
        display: block;
    }
    
    .product-thumbnails {
        display: none;
    }
    
    .hero-section {
        min-height: auto;
        background-image: none;
    }
    
    .hero-text {
        color: black;
        max-width: 100%;
        padding: 0;
        background: none;
    }
    
    .sectors-section,
    .benefits-section,
    .testimonials-section {
        background: none;
        padding: 1cm 0;
    }
    
    /* Améliorer les contrastes */
    .text-light {
        color: #444 !important;
    }
    
    .faq-question {
        background: none;
        border-bottom: 1px solid #ccc;
    }
    
    /* Afficher tous les contenus cachés */
    .faq-answer {
        height: auto !important;
        display: block !important;
        visibility: visible !important;
        border-top: none;
    }
}