
        /* Modernized Styles for Product Page */

        /* Header Section */
        .product-hero {
            background-color: var(--color-white);
            padding: 4rem 0 2rem;
            text-align: left;
            border-bottom: 1px solid var(--color-light-gray);
            margin-bottom: 2rem;
        }

        .product-title-large {
            font-size: var(--font-size-4xl);
            font-weight: 800;
            color: var(--color-white);
            /* Will be overridden in wrapper */
            margin-bottom: 0.5rem;
            background: var(--gradient-hero);
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            display: inline-block;
        }

        .product-ref-badge {
            display: inline-block;
            background-color: var(--color-light-gray);
            color: var(--color-dark-gray);
            padding: 4px 12px;
            border-radius: 4px;
            font-weight: 600;
            font-size: 0.9rem;
            margin-top: 0.5rem;
        }

        /* 2-Column Layout */
        .product-layout {
            display: grid;
            grid-template-columns: 1fr 1.2fr;
            gap: 4rem;
            margin-bottom: 4rem;
            align-items: center;
        }

        /* Image Side */
        .product-gallery {
            background: white;
            border-radius: var(--radius-xl);
            padding: 2rem;
            box-shadow: var(--shadow-lg);
            border: 1px solid #f0f0f0;
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
            overflow: hidden;
            transition: transform 0.3s ease;
        }

        .product-gallery:hover {
            transform: scale(1.01);
        }

        .product-gallery img {
            max-height: 400px;
            object-fit: contain;
        }

        /* Aperçu agrandi de l'image produit (clic sur #productMainImage) */
        .image-lightbox {
            display: none;
            position: fixed;
            inset: 0;
            z-index: var(--z-modal);
            background: rgba(15, 23, 42, 0.85);
            align-items: center;
            justify-content: center;
            padding: 2rem;
            box-sizing: border-box;
            cursor: zoom-out;
            opacity: 0;
            transition: opacity 0.25s ease;
        }

        .image-lightbox.active {
            display: flex;
            opacity: 1;
        }

        .image-lightbox-img {
            max-width: min(90vw, 1000px);
            max-height: 85vh;
            width: auto;
            height: auto;
            object-fit: contain;
            background: var(--color-white);
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow-xl);
            padding: 1.5rem;
            cursor: default;
            transform: scale(0.96);
            transition: transform 0.25s ease;
        }

        .image-lightbox.active .image-lightbox-img {
            transform: scale(1);
        }

        .image-lightbox-close {
            position: fixed;
            top: 1.5rem;
            right: 1.5rem;
            width: 48px;
            height: 48px;
            border-radius: 50%;
            border: none;
            background: var(--color-white);
            color: var(--color-anthracite);
            font-size: 1.8rem;
            line-height: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            box-shadow: var(--shadow-md);
            transition: all 0.2s ease;
        }

        .image-lightbox-close:hover {
            background: var(--color-industrial-red);
            color: var(--color-white);
            transform: rotate(90deg);
        }

        @media (max-width: 768px) {
            .image-lightbox {
                padding: 1rem;
            }

            .image-lightbox-img {
                max-width: 92vw;
                padding: 1rem;
            }

            .image-lightbox-close {
                top: 1rem;
                right: 1rem;
                width: 40px;
                height: 40px;
                font-size: 1.5rem;
            }
        }

        /* Info Side */
        .product-info-panel h3 {
            font-size: var(--font-size-xl);
            color: var(--color-primary-blue-dark);
            margin-bottom: 1rem;
            border-left: 4px solid var(--color-industrial-red);
            padding-left: 1rem;
        }

        .specs-grid {
            display: grid;
            gap: 1.5rem;
            margin-bottom: 2rem;
        }

        .spec-item {
            display: flex;
            align-items: flex-start;
            gap: 1rem;
        }

        .spec-icon {
            flex-shrink: 0;
            width: 32px;
            height: 32px;
            background: rgba(30, 58, 95, 0.1);
            color: var(--color-primary-blue);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .spec-content strong {
            display: block;
            color: var(--color-anthracite);
            font-size: 0.9rem;
            margin-bottom: 2px;
        }

        .spec-content span {
            color: var(--color-dark-gray);
            line-height: 1.4;
        }

        /* Section spécifications : surface d'affichage élargie */
        .specs-wide {
            width: 96vw;
            max-width: min(1600px, 96vw);
            margin-left: 50%;
            transform: translateX(-50%);
        }

        /* Modern Table */
        .modern-table-container {
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow-md);
            /* défilement horizontal quand le tableau dépasse (au lieu de tronquer) */
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            border: 1px solid #e2e8f0;
            /* pleine largeur : le tableau remplit le conteneur */
            width: 100%;
            margin: 0 0 4rem;
        }

        .modern-table {
            /* le tableau occupe au minimum toute la largeur du conteneur
               (colonnes élargies s'il y a peu de colonnes) et s'étend au-delà
               avec défilement horizontal quand il y a beaucoup de colonnes */
            min-width: 100%;
            width: auto;
            margin: 0;
            border-collapse: collapse;
            font-family: var(--font-secondary);
        }

        .modern-table th {
            background: var(--color-primary-blue-dark);
            color: white;
            padding: 1rem;
            text-align: center;
            font-weight: 600;
            text-transform: uppercase;
            font-size: 0.85rem;
            letter-spacing: 0.5px;
        }

        .modern-table td {
            padding: 1rem;
            text-align: center;
            border-bottom: 1px solid #e2e8f0;
            color: var(--color-anthracite);
            font-size: 0.9rem;
        }

        .modern-table tr:last-child td {
            border-bottom: none;
        }

        .modern-table tr:nth-child(even) {
            background-color: #f8fafc;
        }

        .modern-table tr:hover {
            background-color: #f1f5f9;
        }

        .table-section-header th {
            background: var(--color-industrial-red);
            color: white;
            font-size: 1rem;
            padding: 0.75rem;
        }

        /* Modern Related Section */
        .related-card-modern {
            background: white;
            border-radius: var(--radius-lg);
            padding: 2rem;
            text-align: center;
            box-shadow: var(--shadow-md);
            transition: all 0.3s ease;
            cursor: pointer;
            border: 1px solid transparent;
        }

        .related-card-modern:hover {
            transform: translateY(-5px);
            box-shadow: var(--shadow-xl);
            border-color: var(--color-primary-blue-light);
        }

        .related-card-modern h4 {
            margin-top: 1rem;
            color: var(--color-primary-blue-dark);
            font-weight: 600;
        }

        /* Responsive */
        @media (max-width: 992px) {
            .product-layout {
                grid-template-columns: 1fr;
                gap: 2rem;
            }

            .product-gallery img {
                max-height: 300px;
            }

            .product-title-large {
                font-size: 2rem;
            }
        }

        @media (max-width: 768px) {
            .product-hero {
                padding: 2rem 0;
            }

            .modern-table-container {
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
            }

            .modern-table {
                min-width: 800px;
                /* Force scroll */
            }

            .section-title-wrapper {
                flex-direction: column;
                align-items: flex-start !important;
                gap: 0.5rem;
            }

            .btn-primary {
                font-size: 0.9rem;
                padding: 1rem !important;
            }
        }

        @media (max-width: 580px) {
            .product-title-large {
                font-size: 1.75rem;
            }

            .product-gallery {
                padding: 1rem;
            }

            .product-gallery img {
                max-height: 250px;
            }

            .specs-grid {
                grid-template-columns: 1fr;
            }

            .suggestion-card {
                margin-bottom: 2rem;
            }
        }
.suggestion-card-vertical {
                        display: flex;
                        flex-direction: column;
                        background: white;
                        border-radius: 16px;
                        overflow: hidden;
                        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
                        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
                        border: 1px solid rgba(0, 0, 0, 0.05);
                        height: 100%;
                    }

                    .suggestion-card-vertical:hover {
                        transform: translateY(-10px);
                        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
                        border-color: var(--color-industrial-red);
                    }

                    .suggestion-image-v {
                        width: 100%;
                        height: 200px;
                        background: #f8fafc;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        padding: 1.5rem;
                        position: relative;
                        overflow: hidden;
                        border-bottom: 1px solid #f1f5f9;
                    }

                    .suggestion-image-v img {
                        max-width: 100%;
                        max-height: 100%;
                        object-fit: contain;
                        transition: transform 0.3s ease;
                    }

                    .suggestion-card-vertical:hover .suggestion-image-v img {
                        transform: scale(1.1);
                    }

                    .suggestion-tag {
                        position: absolute;
                        top: 10px;
                        left: 10px;
                        background: var(--color-industrial-red);
                        color: white;
                        font-size: 0.65rem;
                        font-weight: 800;
                        padding: 4px 10px;
                        border-radius: 100px;
                        text-transform: uppercase;
                        letter-spacing: 0.5px;
                        box-shadow: 0 4px 10px rgba(220, 38, 38, 0.3);
                        z-index: 2;
                    }

                    .suggestion-info-v {
                        padding: 1.5rem;
                        display: flex;
                        flex-direction: column;
                        flex-grow: 1;
                        text-align: center;
                    }

                    .suggestion-info-v h4 {
                        font-size: 1.15rem;
                        color: #1a365d;
                        margin-bottom: 0.5rem;
                        font-weight: 700;
                    }

                    .suggestion-info-v p {
                        color: #64748b;
                        font-size: 0.9rem;
                        margin-bottom: 1.5rem;
                        line-height: 1.5;
                        flex-grow: 1;
                    }

                    .suggestion-link {
                        color: var(--color-industrial-red);
                        font-weight: 700;
                        font-size: 0.85rem;
                        text-transform: uppercase;
                        letter-spacing: 0.5px;
                        transition: all 0.2s ease;
                        margin-top: auto;
                    }

                    .suggestion-card-vertical:hover .suggestion-link {
                        letter-spacing: 1px;
                    }

                    @media (max-width: 1024px) {
                        .related-grid {
                            grid-template-columns: repeat(2, 1fr) !important;
                        }
                    }

                    @media (max-width: 640px) {
                        .related-grid {
                            grid-template-columns: 1fr !important;
                        }
                    }
