        html, body { overflow-x: hidden !important; max-width: 100vw !important; }

        /* Zone de contenu principale */
        .single-product .site-content,
        .single-product #content,
        .single-product .content-area,
        .single-product #primary,
        .single-product .main-content,
        .single-product main,
        .woocommerce-cart .site-content,
        .woocommerce-cart #content,
        .woocommerce-cart #primary,
        .woocommerce-cart main,
        .woocommerce-checkout .site-content,
        .woocommerce-checkout #content,
        .woocommerce-checkout #primary,
        .woocommerce-checkout main,
        .woocommerce-order-received .site-content,
        .woocommerce-order-received #content,
        .woocommerce-order-received #primary,
        .woocommerce-order-received main {
            width: 100% !important;
            max-width: 100% !important;
            padding: 0 !important;
            margin: 0 !important;
        }

        /* Containers thème */
        .single-product .ast-container,
        .single-product #content-wrap,
        .single-product .col-full,
        .woocommerce-cart .ast-container,
        .woocommerce-cart #content-wrap,
        .woocommerce-checkout .ast-container,
        .woocommerce-checkout #content-wrap,
        .woocommerce-order-received .ast-container,
        .woocommerce-order-received #content-wrap {
            width: 100% !important;
            max-width: 100% !important;
            padding: 0 !important;
            margin: 0 !important;
        }

        /* Supprimer breadcrumb */
        .single-product .woocommerce-breadcrumb,
        .single-product nav.woocommerce-breadcrumb { display: none !important; }

        /* Sidebars */
        .single-product .sidebar.widget-area,
        .single-product #secondary.widget-area,
        .single-product aside.sidebar,
        .woocommerce-cart .sidebar.widget-area,
        .woocommerce-cart #secondary.widget-area,
        .woocommerce-checkout .sidebar.widget-area,
        .woocommerce-checkout #secondary.widget-area { display: none !important; }

        /* Wrapper JoyStore */
        .single-product .joystore-product-wrapper {
            width: 100% !important;
            max-width: 100vw !important;
            margin: 0 !important;
            padding: 0 !important;
            overflow-x: hidden !important;
            background: transparent !important;
        }

        .single-product .joystore-product-summary {
            box-sizing: border-box !important;
            max-width: none !important;
            width: 100% !important;
            margin: 0 auto !important;
            padding: 20px 15px !important;
        }
        @media (min-width: 769px) {
            .single-product .joystore-product-summary { padding: 30px 20px !important; }
        }

        /* Onglets et produits similaires : la largeur est réglée par la fiche
           produit (600px mobile, 1100px dès 769px). Cette règle les forçait à
           « none » avec une spécificité supérieure, ce qui annulait le 1100px. */
        .single-product .joystore-tabs-section,
        .single-product .joystore-related-section {
            width: calc(100% - 30px) !important;
            max-width: 600px !important;
            margin: 0 auto !important;
            box-sizing: border-box !important;
        }
        @media (min-width: 769px) {
            .single-product .joystore-tabs-section,
            .single-product .joystore-related-section { width: calc(100% - 48px) !important; max-width: 1200px !important; }
        }

        /* Notices WooCommerce */
        .single-product .woocommerce-notices-wrapper {
            max-width: 600px;
            margin: 20px auto;
            padding: 0 15px;
        }

        /* Astra spécifique */
        .single-product .ast-separate-container .ast-article-single,
        .single-product .ast-separate-container .ast-article-post {
            padding: 0 !important;
            margin: 0 !important;
        }
        .single-product .site-content > .ast-container { padding-top: 0 !important; padding-bottom: 0 !important; }

        /* Woocommerce cart/checkout/order fullwidth */
        .woocommerce-cart .woocommerce,
        .woocommerce-checkout .woocommerce,
        .woocommerce-order-received .woocommerce {
            width: 100% !important;
            max-width: 100% !important;
        }
