/* ==========================================================================
   RESPONSIVE LARGE DESKTOP - > 1200px
   ========================================================================== */

/* CONTAINERS ET LARGEURS MAXIMALES - Large Desktop */
@media (min-width: 1200px) {
    .container {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
        padding: 0 20px;
    }
    
    .container-wide {
        max-width: 1400px;
        margin-left: auto;
        margin-right: auto;
        padding: 0 20px;
    }
    
    .container-full {
        max-width: none;
        width: 100%;
        padding: 0 40px;
    }
}

/* GRILLES OPTIMISÉES - Large Desktop */
@media (min-width: 1200px) {
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
        gap: 30px;
    }
    
    .feature-grid, .device-grid, .advantages-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
    
    .comparison-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
    }
    
    .benefits-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
    
    .tech-vignettes-grid, .budget-vignettes-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
    }
    
    .steps-cards-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
    
    .innovation-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
    }
    
    .photo-gallery, .gallery-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
    
    .model-3d-grid, .project-view-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }
}

/* PRODUITS - Large Desktop */
@media (min-width: 1200px) {
    .product-item {
        min-height: 520px;
    }
    
    .product-item .product-img {
        height: 260px;
    }
    
    .product-item-content {
        height: calc(100% - 260px);
        padding: 30px;
    }
    
    .product-item-content h3 {
        font-size: 1.4rem;
        min-height: 55px;
    }
    
    .product-overview {
        grid-template-columns: 1fr 1fr;
        gap: 50px;
        align-items: start;
    }
    
    .product-container {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        align-items: start;
        max-width: 1200px;
        margin: 0 auto;
    }
}

/* SPÉCIFICATIONS ÉTENDUES - Large Desktop */
@media (min-width: 1200px) {
    .specs-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
    }
    
    .pcb-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
    }
    
    .diagrams-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
    }
    
    .performance-stats {
        grid-template-columns: repeat(5, 1fr);
        gap: 20px;
    }
    
    .warranty-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 25px;
    }
    
    .status-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 25px;
    }
    
    .document-grid {
        grid-template-columns: repeat(5, 1fr);
        gap: 20px;
    }
    
    .connector-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 25px;
    }
}

/* PRICING ÉTENDU - Large Desktop */
@media (min-width: 1200px) {
    .pricing-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
        max-width: 1200px;
        margin: 0 auto;
    }
    
    .discount-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
    
    .examples-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }
}

/* CONTACT OPTIMISÉ - Large Desktop */
@media (min-width: 1200px) {
    .contact-grid {
        grid-template-columns: 1fr 2fr;
        gap: 60px;
        max-width: 1200px;
        margin: 0 auto;
    }
    
    .form-row {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
    
    .checkbox-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
    
    .contact-info, .contact-form {
        padding: 40px;
    }
}

/* NAVIGATION ÉTENDUE - Large Desktop */
@media (min-width: 1200px) {
    .tab-navigation {
        justify-content: center;
        gap: 15px;
        max-width: 1200px;
    }
    
    .tab-btn {
        min-width: 180px;
        padding: 15px 30px;
        font-size: 1.1rem;
    }
    
    .categories-filter {
        justify-content: center;
        gap: 25px;
        max-width: 1000px;
        margin: 0 auto;
    }
    
    .category-btn {
        padding: 12px 30px;
        font-size: 1rem;
    }
}

/* HERO SECTIONS OPTIMISÉES - Large Desktop */
@media (min-width: 1200px) {
    .hero, .energy-hero, .astro-hero, .product-hero, .methodology-hero,
    .vintage-hero, .matrix-hero, .esphome-hero, .domotique-hero, 
    .rpi-hero, .ha-hero, .megohm-hero {
        padding: 100px 0;
        min-height: 500px;
    }
    
    .hero h1, .energy-hero h1, .vintage-hero h1, .matrix-hero h1,
    .esphome-hero h1, .domotique-hero h1, .rpi-hero h1, .ha-hero h1 {
        font-size: 3.2rem;
        line-height: 1.1;
    }
    
    .hero p, .energy-hero p, .vintage-hero p, .matrix-hero p,
    .esphome-hero p, .domotique-hero p, .rpi-hero p, .ha-hero p {
        font-size: 1.4rem;
        max-width: 800px;
        margin: 0 auto;
    }

    .astro-hero {
        min-height: 600px;
    }
    
    .astro-title {
        font-size: 3.8rem;
    }
    
    .astro-subtitle {
        font-size: 1.7rem;
    }
    
    .astro-description {
        font-size: 1.3rem;
        max-width: 900px;
    }
    
    .astro-features-highlight {
        gap: 60px;
    }
    
    .astro-cta-buttons {
        gap: 30px;
    }
}

/* ARCHITECTURE COMPLEXE - Large Desktop */
@media (min-width: 1200px) {
    .architecture-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 25px;
    }
    
    .exploded-view-item {
        grid-template-columns: 1fr 1fr;
        gap: 50px;
        max-width: 1200px;
        margin: 0 auto;
    }
    
    .exploded-view-item.reverse {
        direction: rtl;
    }
    
    .exploded-view-item.reverse .exploded-view-info {
        direction: ltr;
    }
    
    .pcb-features {
        grid-template-columns: 1fr 2fr;
        gap: 50px;
        max-width: 1200px;
        margin: 0 auto;
    }
}

/* PROCESS ET ÉTAPES ÉTENDUS - Large Desktop */
@media (min-width: 1200px) {
    .solution-steps {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
    
    .flow-steps {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
    
    .timeline-item {
        grid-template-columns: auto 1fr;
        gap: 40px;
        align-items: flex-start;
        max-width: 1000px;
        margin: 0 auto;
    }
    
    .timeline-year {
        min-width: 120px;
    }
}

/* GALERIES ÉTENDUES - Large Desktop */
@media (min-width: 1200px) {
    .thumbnail-grid {
        grid-template-columns: repeat(5, 1fr);
        gap: 15px;
    }
    
    .image-zoom-area {
        min-height: 250px;
    }
    
    .gallery-item {
        min-height: 400px;
    }
    
    .gallery-caption {
        padding: 25px;
    }
}



/* DASHBOARD ET INTÉGRATIONS - Large Desktop */
@media (min-width: 1200px) {
    .dashboard-example {
        flex-direction: row;
        max-width: 1200px;
        margin: 0 auto;
    }
    
    .dashboard-image {
        flex: 2;
    }
    
    .dashboard-description {
        flex: 1;
        padding: 40px;
    }
    
    .integration-cta {
        flex-direction: row;
        justify-content: center;
        gap: 30px;
        max-width: 800px;
        margin: 0 auto;
    }
    
    .integration-cta .btn {
        flex: 0 0 auto;
        min-width: 200px;
    }
}

/* TABLEAUX OPTIMISÉS - Large Desktop */
@media (min-width: 1200px) {
    .comparison-table {
        font-size: 1rem;
        max-width: 1200px;
        margin: 0 auto;
    }
    
    .comparison-table th,
    .comparison-table td {
        padding: 15px 20px;
    }
    
    .rpi-comparison-table {
        font-size: 1rem;
        max-width: 1200px;
        margin: 0 auto;
    }
    
    .rpi-comparison-table th,
    .rpi-comparison-table td {
        padding: 18px 15px;
    }
}

/* CTA ÉTENDUS - Large Desktop */
@media (min-width: 1200px) {
    .cta-buttons {
        flex-direction: row;
        justify-content: center;
        gap: 40px;
        max-width: 800px;
        margin: 0 auto;
    }
    
    .hero-buttons {
        flex-direction: row;
        gap: 40px;
        justify-content: center;
    }
    
    .btn-group {
        flex-direction: row;
        gap: 30px;
        justify-content: center;
    }
}

/* SECTIONS SPÉCIALISÉES - Large Desktop */
@media (min-width: 1200px) {
    .tech-pros-cons {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        max-width: 1000px;
        margin: 0 auto;
    }
    
    .tech-recommendation {
        flex-direction: row;
        text-align: left;
        gap: 40px;
        max-width: 1000px;
        margin: 0 auto;
    }
    
    .recommendation-icon {
        font-size: 3.5rem;
        flex-shrink: 0;
    }
    
    .pro-options-tabs {
        margin: 25px 0;
        max-width: 1000px;
        margin-left: auto;
        margin-right: auto;
    }
    
    .pro-option-tab {
        padding: 25px;
    }
    
    .tips-vignettes {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
}

/* BLOG ET ARTICLES - Large Desktop */
@media (min-width: 1200px) {
    .content-grid {
        grid-template-columns: 1fr 350px;
        gap: 50px;
        max-width: 1200px;
        margin: 0 auto;
    }

    .blog-stats {
        flex-direction: row;
        gap: 50px;
        justify-content: center;
    }

    .articles-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }

    .featured-article {
        grid-template-columns: 1fr 1fr;
        max-width: 1200px;
        margin: 0 auto;
    }
    
    .related-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 25px;
    }
    
    .blog-hero, .products-hero, .contact-hero, .about-hero {
        padding: 100px 0;
    }
    
    .blog-hero h1, .products-hero h1, .contact-hero h1, .about-hero h1 {
        font-size: 3rem;
    }
    
    .blog-hero p, .products-hero p, .contact-hero p, .about-hero p {
        font-size: 1.3rem;
        max-width: 800px;
        margin: 0 auto;
    }
}

/* COMMENTAIRES - Large Desktop */
@media (min-width: 1200px) {
    .comments-container {
        max-width: 1000px;
        margin: 0 auto;
        padding: 0 20px;
    }
    
    .comment-form, .comment-item {
        padding: 35px;
    }
    
    .comment-header {
        margin-bottom: 20px;
    }
}

/* OPTIMISATIONS PERFORMANCE - Large Desktop */
@media (min-width: 1200px) {
    /* Animations renforcées pour les grands écrans */
    .card:hover, .product-card:hover, .reliability-card:hover, 
    .app-card:hover, .gallery-item:hover, .model-3d-item:hover, 
    .project-view-item:hover, .discount-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 20px 40px rgba(0,0,0,0.15);
    }
    
    .feature-card:hover, .device-card:hover, .advantage-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 15px 30px rgba(0,0,0,0.12);
    }
    
    /* Espacements optimisés */
    .section {
        padding: 100px 0;
    }
    
    .section-header {
        margin-bottom: 60px;
    }
    
    .section-header h2 {
        font-size: 3rem;
    }
}

/* BOUTON RETOUR FIXE - Large Desktop */
@media (min-width: 1200px) {
    .btn-back {
        position: fixed;
        top: 120px;
        left: 30px;
        z-index: 50;
        padding: 10px 20px;
        font-size: 1rem;
    }
}

/* LARGEURS CONTENUS SPÉCIALISÉS - Large Desktop */
@media (min-width: 1200px) {
    .methodology-step,
    .process-detail,
    .tech-section,
    .installation-info,
    .safety-warning {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }
    
    .yaml-example,
    .code-example,
    .automation-example {
        max-width: 1000px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* ===== LARGE DESKTOP (À ajouter dans large-desktop.css) ===== */
@media (min-width: 1200px) {
    .hero-section {
        padding: 100px 0;
    }
    
    .hero-title {
        font-size: 3.5rem;
    }
    
    .hero-subtitle {
        font-size: 1.4rem;
        max-width: 900px;
    }
    
    .comparison-section,
    .pricing-section,
    .features-included {
        padding: 100px 0;
    }
    
    .pricing-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
        max-width: 1200px;
        margin: 30px auto 0;
    }
    
    .discount-grid {
        grid-template-columns: repeat(4, 1fr);
        max-width: 1000px;
        margin: 30px auto;
    }
    
    .examples-grid {
        grid-template-columns: repeat(2, 1fr);
        max-width: 800px;
        margin: 20px auto;
    }
    
    .feature-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
        max-width: 1200px;
        margin: 30px auto;
    }
    
    .options-grid {
        grid-template-columns: repeat(3, 1fr);
        max-width: 1000px;
        margin: 30px auto;
    }
    
    .comparison-table {
        max-width: 1200px;
        margin: 0 auto;
    }
    
    .cta-highlight {
        max-width: 1200px;
        margin: 40px auto;
    }
    
    .quote-form {
        max-width: 1000px;
        margin: 40px auto;
        padding: 50px;
    }
    
    .form-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 25px;
    }
    
    /* Animations renforcées pour les grands écrans */
    .pricing-card:hover,
    .feature-item:hover,
    .option-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 15px 35px rgba(0,0,0,0.15);
    }
    
    .discount-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 25px rgba(0,0,0,0.12);
    }
}