/*==================================================
BENEFITS — "Pourquoi choisir ce produit ?"
==================================================*/

.ps-benefits{
    padding:90px 0;
    background:#faf9f7;
}

.ps-benefits .container{
    max-width:1320px;
    margin:auto;
    padding:0 20px;
}

.ps-section-title{
    text-align:center;
    margin-bottom:60px;
}

.ps-section-title span{
    display:inline-block;
    color:#b58a52;
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:10px;
}

.ps-section-title h2{
    margin:0;
    font-size:32px;
    font-weight:700;
    color:#111;
}

.ps-benefits-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
    margin-top:60px;
}

.ps-benefit{
    background:#fff;
    border:1px solid #ece7df;
    border-radius:22px;
    padding:38px 30px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    height:100%;
    transition:.35s;
}

.ps-benefit:hover{
    transform:translateY(-8px);
    border-color:#b58a52;
    box-shadow:0 20px 45px rgba(0,0,0,.08);
}

.ps-benefit-icon{
    width:78px;
    height:78px;
    border-radius:50%;
    background:#f8f6f2;
    color:#b58a52;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    margin-bottom:25px;
    transition:.3s;
}

.ps-benefit:hover .ps-benefit-icon{
    background:#b58a52;
    color:#fff;
}

.ps-benefit h3{
    margin:0 0 15px;
    font-size:22px;
    font-weight:700;
    line-height:1.3;
    color:#111;
}

.ps-benefit p{
    margin:0;
    color:#6d6d6d;
    font-size:15px;
    line-height:1.8;
}

@media (max-width:1024px){

    .ps-benefits-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media (max-width:767px){

    .ps-section-title h2{
        font-size:32px;
    }

    .ps-benefits-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .ps-benefit{
        padding:30px 24px;
    }

    .ps-benefit-icon{
        width:70px;
        height:70px;
        font-size:26px;
    }

}

/*==================================================
INGRÉDIENTS
==================================================*/

.ps-ingredients{
    padding:90px 0;
    background:#faf9f7;
}

.ps-ingredients-list{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    max-width:1100px;
    margin:50px auto 0;
    justify-content:center;
}

.ps-ingredient{
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:50px;
    padding:12px 20px;
    font-size:15px;
    line-height:1.5;
    transition:.3s;
}

.ps-ingredient:hover{
    background:#111;
    color:#fff;
    border-color:#111;
}

/*==================================================
MODE D'UTILISATION
==================================================*/

.ps-how-to-use{
    padding:90px 0;
    background:#ffffff;
}

.ps-steps{
    max-width:900px;
    margin:50px auto 0;
    position:relative;
}

.ps-steps::before{
    content:"";
    position:absolute;
    left:24px;
    top:0;
    bottom:0;
    width:2px;
    background:#e5e5e5;
}

.ps-step{
    display:flex;
    gap:30px;
    align-items:flex-start;
    position:relative;
    margin-bottom:40px;
}

.ps-step:last-child{
    margin-bottom:0;
}

.ps-step-number{
    width:50px;
    height:50px;
    border-radius:50%;
    background:#111;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    flex-shrink:0;
    position:relative;
    z-index:2;
}

.ps-step-content{
    flex:1;
    background:#fafafa;
    border-radius:14px;
    padding:20px 25px;
    line-height:1.8;
    border:1px solid #ececec;
}

@media(max-width:768px){

    .ps-step{
        gap:15px;
    }

    .ps-step-content{
        padding:18px;
    }

}

/*==================================================
DESCRIPTION
==================================================*/

.ps-description{
    padding:90px 0;
    background:#fff;
}

.ps-description .container{
    max-width:1200px;
    margin:auto;
    padding:0 20px;
}

.ps-description-content{
    font-size:17px;
    line-height:2;
    color:#555;
}

.ps-description-content p{
    margin-bottom:20px;
}

.ps-description-content h2,
.ps-description-content h3,
.ps-description-content h4{
    color:#111;
    margin:40px 0 20px;
}

.ps-description-content ul{
    margin:25px 0;
    padding-left:20px;
}

.ps-description-content li{
    margin-bottom:10px;
}

/*==================================================
FEATURES (livraison / stock / authenticité)
==================================================*/

.ps-features{
    margin-top:35px;
    display:flex;
    flex-direction:column;
    gap:14px;
}

.ps-feature{
    display:flex;
    align-items:center;
    gap:18px;
    padding:18px 22px;
    background:#faf9f7;
    border:1px solid #ece7df;
    border-radius:16px;
    transition:.3s;
}

.ps-feature:hover{
    border-color:#b58a52;
    background:#fff;
}

.ps-feature i{
    width:52px;
    height:52px;
    border-radius:14px;
    background:#fff;
    color:#b58a52;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    flex-shrink:0;
    box-shadow:0 5px 15px rgba(0,0,0,.05);
}

.ps-feature strong{
    display:block;
    margin-bottom:4px;
    font-size:15px;
    color:#111;
}

.ps-feature span{
    font-size:14px;
    color:#777;
}

/*==================================================
TRUST (moyens de paiement)
==================================================*/

.ps-trust{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:25px;
}

.ps-trust img{
    width: 50px;
   
   object-fit: cover;
    opacity:.9;
    transition:.3s;
}

.ps-trust img:hover{
    opacity:1;
    transform:translateY(-2px);
}

/*==================================================
HIGHLIGHTS (badges / tags produit)
==================================================*/

.ps-highlights{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:25px 0 35px;
}

.ps-highlight{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 18px;
    background:#f8f6f2;
    border:1px solid #ece3d3;
    border-radius:999px;
    transition:.25s;
}

.ps-highlight:hover{
    background:#b58a52;
    border-color:#b58a52;
    transform:translateY(-2px);
}

.ps-highlight i{
    color:#b58a52;
    font-size:14px;
    transition:.25s;
}

.ps-highlight span{
    color:#111;
    font-size:14px;
    font-weight:600;
    line-height:1;
    transition:.25s;
}

.ps-highlight:hover i,
.ps-highlight:hover span{
    color:#fff;
}

/*==================================================
PRODUCT GALLERY
==================================================*/

.single-product .product-images{
    border-radius:18px;
    overflow:hidden;
}

.single-product .woocommerce-product-gallery{
    position:sticky;
    top:100px;
    align-self:flex-start;
}

@media(max-width:1024px){
    .single-product .woocommerce-product-gallery{
        position:static;
    }
}

/*==================================================
PREMIUM THUMBNAILS
==================================================*/

.single-product .wd-gallery-thumb{
    margin-top:22px !important;
}

.single-product .wd-gallery-thumb .wd-carousel-item{
    padding:8px !important;
}

.single-product .wd-gallery-thumb .wd-carousel-item img{
    width:100%;
    border-radius:18px !important;
    border:2px solid #ececec !important;
    background:#fff;
    padding:8px;
    transition:.3s;
    box-shadow:0 8px 25px rgba(0,0,0,.05);
}

.single-product .wd-gallery-thumb .wd-thumb-active img{
    border-color:#b58a52 !important;
    box-shadow:0 15px 35px rgba(181,138,82,.22);
}

.single-product .wd-gallery-thumb .wd-carousel-item:hover img{
    transform:translateY(-4px);
    border-color:#d5b27b !important;
}

/*==================================================
PREMIUM MAIN IMAGE
==================================================*/

.single-product .wd-gallery-images{
    background:#f7f5f2 !important;
    border-radius:22px !important;
    padding:20px !important;
}

.single-product .woocommerce-product-gallery .wd-carousel-wrap{
    background:#f7f5f2 !important;
    border-radius:22px !important;
}

.single-product .woocommerce-product-gallery__wrapper{
    background:transparent !important;
}

.single-product .woocommerce-product-gallery__image{
    background:#fff !important;
    border-radius:18px !important;
    overflow:hidden !important;
    box-shadow:0 20px 50px rgba(0,0,0,.08) !important;
}

.single-product .woocommerce-product-gallery__image img{
    display:block !important;
    width:100% !important;
    border-radius:18px !important;
    transition:transform .4s ease !important;
}

.single-product .woocommerce-product-gallery__image:hover img{
    transform:scale(1.05) !important;
}

/*==================================================
GALLERY ARROWS
==================================================*/

.single-product .wd-gallery-images .wd-btn-arrow{
    width:52px !important;
    height:52px !important;
    border-radius:50% !important;
    background:#fff !important;
    box-shadow:0 12px 30px rgba(0,0,0,.12) !important;
    transition:.3s;
}

.single-product .wd-gallery-images .wd-btn-arrow:hover{
    background:#b58a52 !important;
    transform:translateY(-2px);
}

.single-product .wd-gallery-images .wd-btn-arrow:hover:before,
.single-product .wd-gallery-images .wd-btn-arrow:hover:after,
.single-product .wd-gallery-images .wd-arrow-inner:before,
.single-product .wd-gallery-images .wd-arrow-inner:after{
    border-color:#fff !important;
}

.single-product .wd-gallery-images .wd-prev{
    left:18px !important;
}

.single-product .wd-gallery-images .wd-next{
    right:18px !important;
}

/*==================================================
CTA — QUANTITÉ + AJOUTER AU PANIER (base générale)
==================================================*/

.single-product form.cart{
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    gap:16px;
    margin:35px 0;
}

.single-product .quantity{
    display:flex !important;
    align-items:center;
    justify-content:center;
    height:56px;
    border:1px solid #e7e7e7;
    border-radius:12px;
    overflow:hidden;
    background:#fff;
    margin:0 !important;
}

.single-product .quantity button{
    width:48px;
    height:56px;
    border:0;
    background:#fff;
    font-size:22px;
    font-weight:500;
    cursor:pointer;
    transition:.25s;
}

.single-product .quantity button:hover{
    background:#f6f6f6;
}

.single-product .quantity input.qty{
    width:60px !important;
    height:56px !important;
    border:0 !important;
    box-shadow:none !important;
    text-align:center;
    font-size:18px;
    font-weight:700;
    color:#111;
    padding:0;
    background:transparent;
}

.single-product .single_add_to_cart_button{
    flex:1;
    min-width:200px;
    height:56px;
    border:0 !important;
    border-radius:14px !important;
    background:#111 !important;
    color:#fff !important;
    font-size:16px;
    font-weight:700;
    letter-spacing:.3px;
    transition:.3s;
}

.single-product .single_add_to_cart_button:hover{
    background:#b58a52 !important;
    transform:translateY(-2px);
}

.single-product .wd-buy-now-btn{
    width:100%;
    margin:0;
}

.single-product .wd-buy-now-btn a{
    width:100%;
    height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #111;
    border-radius:14px;
    background:#fff;
    color:#111;
    font-size:16px;
    font-weight:700;
    transition:.3s;
}

.single-product .wd-buy-now-btn a:hover{
    background:#111;
    color:#fff;
}

/*==================================================
RELATED PRODUCTS
==================================================*/

.single-product .related{
    padding:90px 0;
}

.single-product .related > h2{
    text-align:center;
    font-size:42px;
    margin-bottom:55px;
    color:#111;
}

.single-product .related .product-grid-item{
    transition:.35s;
}

.single-product .related .product-grid-item:hover{
    transform:translateY(-8px);
}

.single-product .related .product-wrapper{
    background:#fff;
    border:1px solid #ece7df;
    border-radius:22px;
    overflow:hidden;
    transition:.35s;
}

.single-product .related .product-wrapper:hover{
    border-color:#b58a52;
    box-shadow:0 20px 45px rgba(0,0,0,.08);
}

.single-product .related .product-element-top{
    background:#faf9f7;
}

.single-product .related .price{
    color:#111;
    font-weight:700;
}

.single-product .related .wd-entities-title{
    font-size:17px;
    font-weight:600;
}

.single-product .related .button,
.single-product .related .add_to_cart_button{
    border-radius:12px;
}

/*==================================================
PRODUCT HERO — 3 COLONNES (grille Woodmart réelle)
==================================================*/

.single-product .product-image-summary-inner{
    display:grid !important;
    grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(320px,1fr) !important;
    gap:45px !important;
    align-items:start !important;
    max-width:100%;
    margin:0 auto;
    padding:50px 40px 90px;
}

@media(min-width:1600px){
    .single-product .product-image-summary-inner{
        padding-left:60px;
        padding-right:60px;
    }
}

.single-product .product-image-summary-inner > .product-images{
    grid-column:1 !important;
    width:100%;
}

.single-product .product-image-summary-inner > .summary{
    grid-column:2 !important;
    width:100%;
}

.single-product .product-image-summary-inner > .ps-purchase-box{
    grid-column:3 !important;
    width:100%;
}

/* TABLETTE */
@media(max-width:1100px){

    .single-product .product-image-summary-inner{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
        gap:30px;
        padding:40px 25px 70px;
    }

    .single-product .product-image-summary-inner > .product-images{
        grid-column:1 !important;
    }

    .single-product .product-image-summary-inner > .summary{
        grid-column:2 !important;
    }

    .single-product .product-image-summary-inner > .ps-purchase-box{
        grid-column:1 / -1 !important;
    }

}

/* MOBILE */
@media(max-width:767px){

    .single-product .product-image-summary-inner{
        display:flex !important;
        flex-direction:column;
        gap:30px;
        padding:30px 15px 50px;
    }

    .single-product .product-image-summary-inner > .product-images,
    .single-product .product-image-summary-inner > .summary,
    .single-product .product-image-summary-inner > .ps-purchase-box{
        width:100%;
    }

}

/*==================================================
COLONNE CENTRALE — TITRE + DESCRIPTION
==================================================*/

.single-product .summary.entry-summary{
    text-align:left;
    padding-left:20px;
}

.single-product .summary.entry-summary .product_title{
    text-align:left;
    font-size:30px;
    line-height:1.25;
    font-weight:700;
    margin:0 0 14px;
    color:#111;
}

.single-product .summary.entry-summary .ps-full-description{
    text-align:left;
    margin:0 0 20px;
    color:#666;
    font-size:16px;
    line-height:1.75;
}

.single-product .summary.entry-summary .ps-highlights{
    justify-content:flex-start;
    margin:0 0 22px;
}

@media(max-width:1100px){

    .single-product .summary.entry-summary{
        padding-left:0;
    }

    .single-product .summary.entry-summary .product_title{
        font-size:26px;
    }

}

/*==================================================
BOX PRODUIT — OFFRE, PRIX, STOCK, COUNTDOWN, PANIER, WISHLIST
==================================================*/

/* Neutralise le badge natif WooCommerce, remplacé par .ps-offer-badge */
.single-product .onsale{
    display:none !important;
}

.ps-purchase-box{
    position:relative;
    background:#fff;
    border:1px solid #ece7df;
    border-radius:18px;
    padding:26px 24px;
    display:flex;
    flex-direction:column;
    box-shadow:0 12px 35px rgba(0,0,0,.04);
}

@media(min-width:1101px){
    .ps-purchase-box{
        position:sticky;
        top:30px;
    }
}

/* Offre limitée */
.ps-offer-badge{
    display:inline-flex;
    align-items:center;
    padding:5px 12px;
    background:#f8f6f2;
    border:1px solid #ece3d3;
    border-radius:999px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.5px;
    text-transform:uppercase;
    color:#b58a52;
    margin-bottom:8px;
    align-self:flex-start;
}

.ps-offer-percent{
    display:block;
    color:#e0703c;
    font-weight:700;
    font-size:14px;
    margin-bottom:6px;
}

/* Prix */
.ps-purchase-box p.price{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 10px !important;
}

.ps-purchase-box p.price ins{
    text-decoration:none;
}

.ps-purchase-box p.price .woocommerce-Price-amount,
.ps-purchase-box p.price .woocommerce-Price-amount bdi,
.ps-purchase-box p.price .woocommerce-Price-currencySymbol{
    font-size:20px;
    font-weight:700;
    color:#111;
    line-height:1;
}

.ps-purchase-box p.price del .woocommerce-Price-amount,
.ps-purchase-box p.price del .woocommerce-Price-amount bdi,
.ps-purchase-box p.price del .woocommerce-Price-currencySymbol{
    font-size:11px !important;
    font-weight:500 !important;
    color:#999 !important;
}

/* TTC + stock */
.ps-price-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:0 0 18px;
}

.ps-ttc{
    font-size:12px;
    color:#999;
}

/* Point 21 : Contenance */
.ps-contenance{
    font-size:12px;
    font-weight:600;
    color:#111;
    padding:3px 10px;
    background:#f8f6f2;
    border:1px solid #ece3d3;
    border-radius:999px;
}

.ps-stock{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:12px;
    font-weight:600;
    color:#2e7d32;
}

.ps-stock-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#2e7d32;
}

.ps-stock.out-of-stock{
    color:#c0392b;
}

.ps-stock.out-of-stock .ps-stock-dot{
    background:#c0392b;
}

/* Countdown */
.ps-countdown{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:6px;
    margin:0 0 20px;
}

.ps-cd-unit{
    background:#111;
    border-radius:8px;
    padding:8px 2px;
    text-align:center;
}

.ps-cd-value{
    display:block;
    color:#fff;
    font-size:16px;
    font-weight:700;
    line-height:1;
}

.ps-cd-label{
    display:block;
    color:#999;
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.4px;
    margin-top:3px;
}

/* Quantité + panier empilés (plus adapté à la largeur de la box) */
.ps-purchase-box form.cart{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin:0 !important;
}

.ps-purchase-box .quantity{
    width:auto;
    max-width:140px;
    height:48px;
}

.ps-purchase-box .quantity button,
.ps-purchase-box .quantity input.qty{
    height:48px;
}

.ps-purchase-box .single_add_to_cart_button{
    height:52px;
    min-width:0;
}

/* Wishlist native Woodmart */
.ps-purchase-box .wd-wishlist-btn,
.ps-purchase-box .add_to_wishlist,
.ps-purchase-box .woodmart-wishlist-btn,
.ps-purchase-box .wd-action-btn.wishlist{
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    height:48px;
    border:2px solid #111 !important;
    border-radius:12px !important;
    background:#fff !important;
    color:#111 !important;
    font-size:14px;
    font-weight:700;
    margin-top:12px;
    transition:.3s;
}

.ps-purchase-box .wd-wishlist-btn:hover,
.ps-purchase-box .add_to_wishlist:hover,
.ps-purchase-box .woodmart-wishlist-btn:hover,
.ps-purchase-box .wd-action-btn.wishlist:hover{
    background:#111 !important;
    color:#fff !important;
}

/* MOBILE */
@media(max-width:767px){

    .ps-purchase-box{
        padding:22px 20px;
    }

    .ps-purchase-box p.price .woocommerce-Price-amount,
    .ps-purchase-box p.price .woocommerce-Price-amount bdi,
    .ps-purchase-box p.price .woocommerce-Price-currencySymbol{
        font-size:24px;
    }

}

/*==================================================
BOX PRODUIT — STOCK NATIF / COMPARER / VISITES / FEATURES
==================================================*/

.ps-purchase-box .stock{
    margin:14px 0 0 !important;
    padding:8px 14px;
    font-size:13px;
    border-radius:10px;
    width:fit-content;
}

.ps-purchase-box .wd-compare-btn{
    margin-top:10px;
}

.ps-purchase-box .wd-compare-btn a{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    color:#666;
}

.ps-purchase-box .wd-visits-count{
    margin-top:14px;
    padding:10px 14px;
    background:#f8f6f2;
    border-radius:10px;
    font-size:12px;
    color:#b58a52;
    display:flex;
    align-items:center;
    gap:8px;
}

.ps-purchase-box .variations_form-linked{
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid #ece7df;
    text-align:left;
    order:7;
}

/*
 * Produit variable réel (client a généré ses variations) : le
 * formulaire de variations WooCommerce contient à la fois le
 * sélecteur "Couleur" (table.variations) ET le bloc quantité/bouton
 * Ajouter au panier (.single_variation_wrap). On veut le bouton en
 * haut (comme avant) mais le sélecteur de couleur plus bas, sous le
 * compteur de vues - sans sortir la table du <form> (ça casserait le
 * matching JS natif WooCommerce, qui écoute les évènements délégués
 * sur le <form>). display:contents laisse le form dans le DOM tel
 * quel (JS/évènements intacts) mais fait participer ses enfants
 * directement à la grille flex de .ps-purchase-box, qu'on peut alors
 * réordonner librement avec `order` comme n'importe quel autre bloc.
 */
.ps-purchase-box form.variations_form.cart{
    display:contents;
}

.ps-purchase-box form.variations_form.cart .single_variation_wrap{
    order:3;
}

.ps-purchase-box form.variations_form.cart table.variations{
    order:7;
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid #ece7df;
}

.ps-purchase-box > p.price{
    order:1;
}

.ps-purchase-box > .ps-price-meta{
    order:2;
}

.ps-purchase-box > .wd-wishlist-btn{
    order:4;
}

.ps-purchase-box > .wd-compare-btn{
    order:5;
}

.ps-purchase-box > .wd-visits-count{
    order:6;
}

.ps-purchase-box > .ps-fbt-wrapper{
    order:8;
}

/*
 * Le bloc "Fréquemment achetés ensemble" garde ses marges/padding
 * même quand il est vide (aucun produit lié configuré) - ça créait un
 * grand espace vide visible entre Couleur et les features. On le
 * masque simplement quand il n'a aucun contenu.
 */
.ps-purchase-box > .ps-fbt-wrapper:empty{
    display:none;
}

.ps-purchase-box .ps-features{
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid #ece7df;
    order:9;
}

.ps-purchase-box > .ps-trust{
    order:10;
}

.ps-purchase-box .ps-trust {
    margin-top: 20px;
    justify-content: space-evenly;
    align-items: center;
}


.single-product .container:has(> .product-image-summary-wrap){
    max-width:1600px !important;
    width:100% !important;
    padding-left:30px;
    padding-right:30px;
}

@media (min-width: 1200px){
  .single-product .container:has(> .product-image-summary-wrap){
    max-width:1600px !important;
   
}
}

/* =========================================================
   PRIX PROFESSIONNEL — PROSALON B2B
   ========================================================= */

.ps-purchase-box p.price .psb2b-pro-price {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    width: 100%;
}

.ps-purchase-box p.price .psb2b-pro-price-label {
    display: block;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 600;
    color: #777;
}

.ps-purchase-box p.price .psb2b-pro-price-value {
    display: block;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    color: #111;
}

.ps-purchase-box p.price .psb2b-pro-price-value .woocommerce-Price-amount,
.ps-purchase-box p.price .psb2b-pro-price-value .woocommerce-Price-amount bdi {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

.psb2b-cart-pro-price,
.psb2b-cart-pro-subtotal {
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
}

.psb2b-cart-pro-price small,
.psb2b-cart-pro-subtotal small {
    font-size: 11px;
    color: #777;
}

.psb2b-cart-pro-price strong,
.psb2b-cart-pro-subtotal strong {
    font-weight: 600;
}

/* =========================================================
   FREQUEMMENT ACHETÉS ENSEMBLE
   ========================================================= */

.ps-fbt-wrapper {
    width: 100%;
    margin: 25px 0 0;
    padding-top: 22px;
    border-top: 1px solid #e8e8e8;
}

.ps-fbt-wrapper .wd-fbt-form {
    margin: 0;
}

.ps-fbt-wrapper .wd-fbt-products {
    width: 100%;
}

.ps-fbt-wrapper .wd-fbt-product {
    margin-bottom: 12px;
}

.ps-fbt-wrapper .wd-fbt-product-heading {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ps-fbt-wrapper .wd-fbt-product-heading .title {
    flex: 1;
}

.ps-fbt-wrapper .wd-fbt-product-variation {
    margin-top: 8px;
    padding-left: 28px;
}

.ps-fbt-wrapper .wd-fbt-purchase {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #e8e8e8;
}

.ps-fbt-wrapper .wd-fbt-purchase .price {
    margin-bottom: 5px;
}

.ps-fbt-wrapper .wd-fbt-desc {
    margin-bottom: 15px;
    color: #777;
    font-size: 13px;
}

.ps-fbt-wrapper .wd-fbt-purchase-btn {
    width: 100%;
}

/* =========================================================
   PROSALON - FBT
   ========================================================= */

.ps-fbt-wrapper {
    width: 100%;
    margin: 25px 0;
    padding-top: 20px;
    border-top: 1px solid #e8e8e8;
}

/*
 * Le FBT natif qui reste dans la zone centrale
 * doit être masqué.
 */
.product-tabs-wrapper .wd-fbt-form,
.product-tabs-wrapper .wd-fbt-products,
.product-tabs-wrapper .wd-fbt-purchase {
    display: none !important;
}

/*
 * FBT dans la box produit
 */
.ps-fbt-wrapper .wd-fbt-form {
    display: block !important;
}

.ps-fbt-wrapper .wd-fbt-products {
    display: block !important;
}

.ps-fbt-wrapper .wd-fbt-product {
    margin-bottom: 12px;
}

.ps-fbt-wrapper .wd-fbt-product-heading {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ps-fbt-wrapper .wd-fbt-product-heading .title {
    flex: 1;
}

.ps-fbt-wrapper .wd-fbt-product-variation {
    margin-top: 8px;
    padding-left: 28px;
}

.ps-fbt-wrapper .wd-fbt-purchase {
    display: block !important;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #e8e8e8;
}

.ps-fbt-wrapper .wd-fbt-purchase-btn {
    width: 100%;
}

/* =========================================================
   FBT - SUPPRIMER LE CAROUSEL
   ========================================================= */

.ps-fbt-wrapper .wd-fbt-products {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    overflow: visible !important;
    transform: none !important;
}

.ps-fbt-wrapper .wd-fbt-product {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    margin-right: 0 !important;
}

.ps-fbt-wrapper .wd-fbt-products .owl-stage,
.ps-fbt-wrapper .wd-fbt-products .owl-stage-outer,
.ps-fbt-wrapper .wd-fbt-products .swiper-wrapper,
.ps-fbt-wrapper .wd-fbt-products .swiper-container {
    width: 100% !important;
    transform: none !important;
}

.ps-fbt-wrapper .owl-nav,
.ps-fbt-wrapper .owl-dots,
.ps-fbt-wrapper .swiper-button-prev,
.ps-fbt-wrapper .swiper-button-next,
.ps-fbt-wrapper .swiper-pagination {
    display: none !important;
}

/* =========================================================
   POINT 21 - CTA AVIS PRODUIT
   ========================================================= */

.ps-review-cta{
    margin:0 0 40px;
    padding:36px 30px;
    background:#faf9f7;
    border:1px solid #ece7df;
    border-radius:22px;
    text-align:center;
}

.ps-review-cta-stars{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin-bottom:14px;
}

.ps-review-cta-stars i{
    color:#b58a52;
    font-size:20px;
}

.ps-review-cta h3{
    margin:0 0 20px;
    font-size:22px;
    font-weight:700;
    color:#111;
}

.ps-review-cta-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:52px;
    padding:0 32px;
    border:0;
    border-radius:14px;
    background:#111;
    color:#fff;
    font-size:15px;
    font-weight:700;
    letter-spacing:.3px;
    cursor:pointer;
    transition:.3s;
}

.ps-review-cta-btn:hover{
    background:#b58a52;
    transform:translateY(-2px);
}

@media(max-width:600px){
    .ps-review-cta{
        padding:28px 20px;
    }

    .ps-review-cta h3{
        font-size:19px;
    }
}

/* =========================================================
   VENTES CROISÉES — remonter "Vous aimerez peut-être aussi"
   au-dessus de "Pourquoi choisir ce produit ?"

   WoodMart affiche .related-and-upsells en dehors du hook
   woocommerce_after_single_product_summary (donc impossible à
   réordonner via priorité PHP) : c'est un bloc frère séparé,
   après tout .product-tabs-wrapper (Comment utiliser /
   Ingrédients / Pourquoi choisir). On les réordonne en CSS.
   Le sélecteur combine .single-product-content.product (le
   wrapper racine de la fiche produit) pour ne jamais toucher
   les cartes .product des carrousels/boutique.
   ========================================================= */

.single-product-content.product{
    display:flex;
    flex-direction:column;
}

.single-product-content.product > .container-fluid{
    order:0;
}

.single-product-content.product > .related-and-upsells{
    order:1;
}

.single-product-content.product > .product-tabs-wrapper{
    order:2;
}