/* ==========================================================
   DECOENLIGNE - BUREAU DESIGN CONCEPT
   ========================================================== */

body.del-bureau-product{
    --bureau-black:#211f1d;
    --bureau-accent:#a76a2b;
    --bureau-accent-dark:#7f4d1d;
    --bureau-amber:#d88729;
    --bureau-soft:#f7f4ef;
    --bureau-border:#ddd5ca;
    --bureau-text:#574f48;
}

body.del-bureau-product
.entry-summary .product_meta,
body.del-bureau-product
.entry-summary .share-simple-wrapper,
body.del-bureau-product
.entry-summary .share_wrapper,
body.del-bureau-product
.related.products,
body.del-bureau-product
.upsells.products{
    display:none !important;
}


/* DESKTOP */
@media only screen and (min-width:960px){

    body.del-bureau-product
    #Content div.product
    .product_wrapper.del-bureau-product-layout{
        position:relative !important;
        left:50% !important;
        transform:translateX(-50%) !important;

        display:grid !important;
        grid-template-columns:minmax(0,1.08fr) minmax(440px,.92fr) !important;
        gap:42px !important;
        align-items:start !important;

        width:calc(100vw - 80px) !important;
        max-width:1220px !important;

        margin:0 0 28px !important;
        padding:0 !important;
    }

    body.del-bureau-product
    .product_wrapper.del-bureau-product-layout
    > .product_image_wrapper{
        grid-column:1 !important;
        grid-row:1 !important;

        float:none !important;
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
    }

    body.del-bureau-product
    .product_wrapper.del-bureau-product-layout
    > .entry-summary{
        grid-column:2 !important;
        grid-row:1 !important;

        float:none !important;
        width:100% !important;
        max-width:440px !important;
        margin:0 !important;
    }

    body.del-bureau-product
    .del-bureau-top-extra,
    body.del-bureau-product
    .del-bureau-content{
        position:relative !important;
        left:50% !important;
        transform:translateX(-50%) !important;

        width:calc(100vw - 80px) !important;
        max-width:1220px !important;

        margin-left:0 !important;
        margin-right:0 !important;
    }
}


/* GALERIE */
body.del-bureau-product
.del-bureau-frame-target{
    position:relative !important;
    overflow:hidden !important;

    outline:2px solid var(--bureau-accent) !important;
    outline-offset:2px !important;
}

.del-bureau-gallery-overlay{
    position:absolute !important;
    inset:0 !important;
    z-index:30 !important;
    pointer-events:none !important;
}

.del-bureau-gallery-badge{
    position:absolute;
    top:0;
    left:0;

    padding:18px 20px;

    background:rgba(167,106,43,.95);

    color:#fff;

    font-size:12px;
    font-weight:700;
    line-height:1;
}

.del-bureau-gallery-caption{
    position:absolute;
    left:0;
    bottom:4%;

    width:62%;
    min-width:330px;

    padding:23px 27px;

    background:rgba(24,22,20,.86);

    color:#fff;
}

.del-bureau-gallery-title{
    color:#fff !important;

    font-family:Georgia,"Times New Roman",serif;
    font-size:32px;
    line-height:1.05;
}

.del-bureau-gallery-subtitle{
    margin-top:6px;

    color:#e4a65d !important;

    font-size:14px;
    font-weight:700;

    letter-spacing:.4px;
}

.del-bureau-gallery-line{
    height:1px;

    margin:13px 0;

    background:#d68735;
}

.del-bureau-gallery-text{
    color:#fff !important;

    font-size:13px;
    line-height:1.45;
}


/* RESUME */
.del-bureau-summary-main__lead{
    color:var(--bureau-text) !important;

    font-size:13px !important;
    line-height:1.62 !important;

    text-align:left !important;
    hyphens:none !important;
}

.del-bureau-summary-main__grid{
    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:8px 18px;

    margin-top:14px;
}

.del-bureau-summary-main__grid > div{
    position:relative;

    padding-left:20px;

    color:#49413b;

    font-size:11px;
    line-height:1.45;
}

.del-bureau-summary-main__grid > div::before{
    content:"✓";

    position:absolute;
    left:0;

    color:var(--bureau-accent);
}


/* PRIX */
body.del-bureau-product
.entry-summary .price{
    width:100% !important;

    margin:15px 0 17px !important;

    text-align:center !important;
}

.del-bureau-price-from{
    display:block;

    color:var(--bureau-accent-dark) !important;

    font-size:30px;
    font-weight:700;

    text-align:center !important;
}

.del-bureau-price-detail{
    display:block;

    margin-top:4px;

    color:#5e554e !important;

    font-size:11px;
    font-weight:700;

    text-align:center !important;
}


/* CALCULATEUR */
.del-bureau-cart-form{
    display:block !important;

    width:100% !important;

    margin:0 !important;
}

.del-bureau-surface{
    width:100%;

    margin:0 0 13px;
    padding:17px 18px;

    background:#fff;

    border:1px solid var(--bureau-border);

    box-sizing:border-box;
}

.del-bureau-surface__heading{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:12px;

    margin-bottom:9px;
}

.del-bureau-surface__heading label{
    color:#26221f;

    font-size:10px;
    font-weight:700;

    text-transform:uppercase;
}

.del-bureau-surface__heading > span{
    color:var(--bureau-accent-dark);

    font-size:10px;
    font-weight:700;

    white-space:nowrap;
}

.del-bureau-surface__control{
    display:flex;

    align-items:center;

    border:1px solid #d7cec4;
}

.del-bureau-surface__control input{
    flex:1 1 auto;

    width:auto !important;
    min-width:0;
    height:40px;

    margin:0 !important;
    padding:0 11px !important;

    border:0 !important;
    border-radius:0 !important;

    box-shadow:none !important;
}

.del-bureau-surface__control > span{
    display:flex;

    align-items:center;
    justify-content:center;

    width:48px;
    height:40px;

    background:#f2ebe4;

    color:var(--bureau-accent-dark);

    font-weight:700;
}

.del-bureau-surface__summary{
    margin-top:10px;

    border-top:1px solid #ebe3da;
    border-bottom:1px solid #ebe3da;
}

.del-bureau-surface__summary > div{
    display:flex;

    justify-content:space-between;

    gap:14px;

    padding:6px 0;

    color:#5e554e;

    font-size:11px;
}

.del-bureau-surface__summary strong{
    color:#26221f;

    white-space:nowrap;
}

.del-bureau-surface__total{
    border-top:1px solid #ded5ca;
}

.del-bureau-surface__total span{
    font-weight:700;
}

.del-bureau-surface__total strong{
    color:var(--bureau-accent-dark);

    font-size:16px;
}

.del-bureau-surface__note{
    margin:9px 0 0 !important;

    color:#726861 !important;

    font-size:10px !important;
    line-height:1.45 !important;

    text-align:left !important;
}

.del-bureau-cart-form
.single_add_to_cart_button{
    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-height:48px !important;

    margin:0 !important;

    border:1px solid var(--bureau-accent) !important;
    border-radius:999px !important;

    background:var(--bureau-black) !important;

    color:#e6b372 !important;

    font-size:11px !important;
    font-weight:700 !important;

    text-transform:uppercase !important;
}


/* ATOUTS */
.del-bureau-top-extra{
    margin-top:28px !important;
    margin-bottom:34px !important;
}

.del-bureau-top-extra__icons{
    display:grid;

    grid-template-columns:repeat(4,minmax(0,1fr));

    background:#faf8f5;

    border:1px solid var(--bureau-border);
}

.del-bureau-top-extra__card{
    padding:21px 18px;

    text-align:center;

    border-right:1px solid #e8e0d7;
}

.del-bureau-top-extra__card:last-child{
    border-right:0;
}

.del-bureau-top-extra__symbol{
    display:block;

    margin-bottom:9px;

    color:var(--bureau-accent);

    font-size:28px;
}

.del-bureau-top-extra__card h3{
    margin:0 0 6px !important;

    color:#25211e !important;

    font-size:11px !important;
    font-weight:700 !important;

    text-transform:uppercase;
}

.del-bureau-top-extra__card p{
    margin:0 !important;

    color:#615952 !important;

    font-size:11px !important;
    line-height:1.45 !important;

    text-align:center !important;
}

.del-bureau-top-extra__bar{
    display:grid;

    grid-template-columns:repeat(3,minmax(0,1fr));

    background:#211f1d;

    color:#fff;
}

.del-bureau-top-extra__bar > div{
    padding:14px 18px;

    text-align:center;

    border-right:1px solid rgba(255,255,255,.12);
}

.del-bureau-top-extra__bar strong{
    display:block;

    margin-bottom:4px;

    color:#e2a45d;

    font-size:11px;

    text-transform:uppercase;
}

.del-bureau-top-extra__bar span{
    color:#f1ece7;

    font-size:11px;
    line-height:1.4;
}


/* CONTENU */
.del-bureau-container{
    width:calc(100% - 40px);
    max-width:1080px;

    margin:0 auto;
}

.del-bureau-section{
    padding:64px 0;

    background:#fff;
}

.del-bureau-section--soft{
    background:var(--bureau-soft);
}

.del-bureau-section--dark{
    background:var(--bureau-black);
}

.del-bureau-section-head{
    max-width:830px;

    margin:0 auto 30px;

    text-align:center;
}

.del-bureau-eyebrow{
    display:block;

    margin-bottom:10px;

    color:var(--bureau-accent-dark);

    font-size:11px;
    font-weight:700;

    letter-spacing:1.5px;
    text-transform:uppercase;
}

.del-bureau-section-head h2,
.del-bureau-cta h2{
    margin:0 0 15px !important;

    color:#26221f !important;

    font-family:Georgia,"Times New Roman",serif;

    font-size:34px !important;
    font-weight:400 !important;
    line-height:1.2 !important;
}

.del-bureau-section-head p{
    color:#5d554e !important;

    font-size:15px;
    line-height:1.68 !important;
}

.del-bureau-highlight{
    display:flex;

    justify-content:center;

    gap:22px;

    max-width:780px;

    margin:0 auto;

    padding:19px 22px;

    background:#faf7f3;

    border:1px solid var(--bureau-border);
}

.del-bureau-highlight strong{
    color:var(--bureau-accent-dark);

    font-size:23px;
}

.del-bureau-highlight span{
    color:#5f564f;

    font-size:12px;
    font-weight:700;
}

.del-bureau-use-grid,
.del-bureau-included-grid,
.del-bureau-excluded-grid{
    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:12px 22px;

    max-width:950px;

    margin:0 auto;
}

.del-bureau-use-grid > div,
.del-bureau-included-grid > div,
.del-bureau-excluded-grid > div{
    position:relative;

    padding:15px 17px;

    background:#fff;

    border:1px solid var(--bureau-border);

    color:#554d46;

    font-size:13px;
    line-height:1.5;
}

.del-bureau-use-grid strong{
    display:block;

    margin-bottom:4px;

    color:#2c2723;
}

.del-bureau-use-grid span{
    color:#625950;
}

.del-bureau-included-grid > div{
    padding-left:43px;
}

.del-bureau-included-grid > div::before{
    content:"✓";

    position:absolute;
    left:16px;

    color:var(--bureau-accent);
}

.del-bureau-steps{
    display:grid;

    grid-template-columns:repeat(5,minmax(0,1fr));

    gap:16px;
}

.del-bureau-steps article{
    padding:21px 17px;

    border-top:2px solid var(--bureau-accent);
}

.del-bureau-steps article > span{
    display:block;

    margin-bottom:10px;

    color:var(--bureau-accent);

    font-size:26px;
}

.del-bureau-steps h3{
    margin:0 0 7px !important;

    font-size:14px !important;
}

.del-bureau-steps p{
    margin:0 !important;

    color:#625a54 !important;

    font-size:12px !important;
    line-height:1.5 !important;
}

.del-bureau-section--dark
.del-bureau-eyebrow{
    color:#e1a45d;
}

.del-bureau-section--dark
.del-bureau-section-head h2{
    color:#fff !important;
}

.del-bureau-section--dark
.del-bureau-excluded-grid > div{
    padding-left:43px;

    background:rgba(255,255,255,.05);

    border-color:rgba(255,255,255,.14);

    color:#eee7e0;
}

.del-bureau-section--dark
.del-bureau-excluded-grid > div::before{
    content:"–";

    position:absolute;
    left:16px;

    color:#e1a45d;
}

.del-bureau-cta{
    padding:64px 20px;

    background:#efe7dd;

    text-align:center;
}

.del-bureau-cta p{
    max-width:700px;

    margin:0 auto 24px !important;

    color:#5e554e !important;
}

.del-bureau-button{
    display:inline-block !important;

    padding:13px 28px !important;

    background:var(--bureau-black) !important;

    border-radius:999px !important;

    color:#fff !important;

    font-size:12px !important;
    font-weight:700 !important;

    text-decoration:none !important;
}


/* FICHE M² */
body.del-bureau-addon
.entry-summary form.cart,
body.del-bureau-addon
.woocommerce-tabs,
body.del-bureau-addon
.del-bureau-top-extra,
body.del-bureau-addon
.del-bureau-content{
    display:none !important;
}

.del-bureau-addon-card{
    padding:20px;

    background:var(--bureau-soft);

    border:1px solid var(--bureau-border);
    border-left:3px solid var(--bureau-accent);
}

.del-bureau-addon-card__price{
    display:flex;

    align-items:baseline;

    gap:8px;

    margin-bottom:12px;
}

.del-bureau-addon-card__price strong{
    font-family:Georgia,"Times New Roman",serif;

    font-size:30px;
    font-weight:400;
}

.del-bureau-addon-card__price span{
    color:#655c55;

    font-size:12px;
    font-weight:700;
}

.del-bureau-addon-card__formula{
    padding:9px 11px;

    background:#fff;

    border-left:3px solid var(--bureau-accent);
}

.del-bureau-addon-card p{
    color:#574f49 !important;

    font-size:12px !important;
    line-height:1.55 !important;

    text-align:left !important;
}

.del-bureau-addon-card__button{
    display:block !important;

    width:100% !important;

    margin-top:15px;
    padding:12px 16px !important;

    background:var(--bureau-black) !important;

    border:1px solid var(--bureau-accent) !important;
    border-radius:999px !important;

    color:#e3ae6c !important;

    font-size:11px !important;
    font-weight:700 !important;

    text-align:center !important;
    text-decoration:none !important;

    box-sizing:border-box !important;
}


/* PANIER */
.del-bureau-locked-qty{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    min-width:66px;

    padding:6px 8px;

    background:#f0e6da;

    color:#5b493a;

    font-size:12px;
    font-weight:700;
}

.del-bureau-cart-linked{
    display:block;

    margin-top:5px;

    color:#8b7057;

    font-size:11px;
}


/* MOBILE */
@media only screen and (max-width:959px){

    body.del-bureau-product:not(.template-slider) #Header{
        min-height:0 !important;
        height:auto !important;
    }

    body.del-bureau-product #Header_wrapper{
        min-height:0 !important;
    }

    body.del-bureau-product
    #Content div.product
    .product_wrapper.del-bureau-product-layout{
        display:block !important;

        width:100% !important;
        max-width:760px !important;

        margin:0 auto 24px !important;
        padding:0 14px !important;
    }

    body.del-bureau-product
    .del-bureau-top-extra,
    body.del-bureau-product
    .del-bureau-content{
        position:static !important;

        width:100% !important;
        max-width:none !important;

        transform:none !important;
    }

    .del-bureau-summary-main__grid{
        grid-template-columns:1fr;
    }

    .del-bureau-top-extra__icons{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .del-bureau-top-extra__bar{
        grid-template-columns:1fr;
    }

    .del-bureau-steps{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}


@media only screen and (max-width:600px){

    .del-bureau-gallery-caption{
        width:100%;
        min-width:0;

        padding:15px 18px;
    }

    .del-bureau-gallery-title{
        font-size:24px;
    }

    .del-bureau-top-extra__icons,
    .del-bureau-use-grid,
    .del-bureau-included-grid,
    .del-bureau-excluded-grid,
    .del-bureau-steps{
        grid-template-columns:1fr;
    }

    .del-bureau-highlight{
        flex-direction:column;

        gap:5px;
    }

    .del-bureau-section-head h2,
    .del-bureau-cta h2{
        font-size:28px !important;
    }

    .del-bureau-surface__heading{
        align-items:flex-start;
        flex-direction:column;

        gap:4px;
    }
}


/* ==========================================================
   V2 - CORRECTIONS ANCIENNE FICHE / DOUBLONS
   ========================================================== */

/* Ancienne description courte WooCommerce : remplacée par notre résumé. */
body.del-bureau-product
.entry-summary
.woocommerce-product-details__short-description{
    display:none !important;
}

/* Un ancien calculateur d'une autre prestation ne doit jamais apparaître ici. */
body.del-bureau-product
.entry-summary
.del-essentielle-surface,
body.del-bureau-product
.entry-summary
.del-premium-surface,
body.del-bureau-product
.entry-summary
.del-surface-configurator{
    display:none !important;
}

/*
 * Sur le produit principal, seul notre formulaire Bureau Design doit
 * rester visible. Cela neutralise l'ancien formulaire Woo/Betheme.
 */
body.del-bureau-main
.entry-summary
form.cart:not(.del-bureau-cart-form){
    display:none !important;
}

/* La fiche M² est purement informative et technique. */
body.del-bureau-addon
.entry-summary
form.cart,
body.del-bureau-addon
.entry-summary
> .price{
    display:none !important;
}

/* Loupe / lightbox WooCommerce désactivée. */
body.del-bureau-product
.woocommerce-product-gallery__trigger{
    display:none !important;
}

/* Le bloc complément ne répète plus le titre WooCommerce. */
body.del-bureau-addon
.del-bureau-summary-main--addon{
    margin-top:14px !important;
}

body.del-bureau-addon
.del-bureau-addon-card{
    margin-top:8px !important;
}

/*
 * Le calculateur Bureau Design doit rester lisible et ne jamais
 * se compresser dans une colonne étroite.
 */
body.del-bureau-main
.del-bureau-cart-form,
body.del-bureau-main
.del-bureau-surface{
    width:100% !important;
    max-width:none !important;
}

body.del-bureau-main
.del-bureau-surface__summary > div{
    align-items:center !important;
}

body.del-bureau-main
.del-bureau-surface__summary > div > span{
    min-width:0 !important;
    text-align:left !important;
}

body.del-bureau-main
.del-bureau-surface__summary > div > strong{
    flex:0 0 auto !important;
    text-align:right !important;
}


/* ==========================================================
   V3 - NETTOYAGE DEFINITIF + TEXTE SOUS IMAGE
   ========================================================== */

body.del-bureau-product
.del-essentielle-surface,
body.del-bureau-product
.del-premium-surface,
body.del-bureau-product
.del-surface-configurator,
body.del-bureau-product
[class*="essentielle"][class*="surface"],
body.del-bureau-product
[class*="essentiel"][class*="surface"]{
    display:none !important;
}

body.del-bureau-main
form.cart:not(.del-bureau-cart-form){
    display:none !important;
}

body.del-bureau-main
.product_image_wrapper
> .del-bureau-under-image-copy{
    display:block !important;

    width:100% !important;

    margin:20px 0 0 !important;
    padding:20px 22px !important;

    background:#faf7f3 !important;

    border:1px solid var(--bureau-border) !important;
    border-left:3px solid var(--bureau-accent) !important;

    box-sizing:border-box !important;
}

body.del-bureau-main
.del-bureau-under-image-copy p{
    margin:0 0 12px !important;

    color:#5b534c !important;

    font-size:12px !important;
    line-height:1.62 !important;

    text-align:left !important;
    hyphens:none !important;
}

body.del-bureau-main
.del-bureau-under-image-copy p:last-child{
    margin-bottom:0 !important;
}

body.del-bureau-main
.del-bureau-under-image-copy strong{
    color:#302923 !important;
}

body.del-bureau-main
.entry-summary{
    overflow:visible !important;
}

body.del-bureau-main
.del-bureau-cart-form{
    display:block !important;

    width:100% !important;
    max-width:440px !important;

    margin:0 auto !important;
}

body.del-bureau-main
.del-bureau-surface{
    width:100% !important;
    max-width:none !important;

    margin:0 0 14px !important;
}

body.del-bureau-main
.del-bureau-surface__heading,
body.del-bureau-main
.del-bureau-surface__control,
body.del-bureau-main
.del-bureau-surface__summary,
body.del-bureau-main
.del-bureau-surface__note{
    width:100% !important;
    box-sizing:border-box !important;
}

@media only screen and (max-width:959px){

    body.del-bureau-main
    .product_image_wrapper
    > .del-bureau-under-image-copy{
        margin-top:16px !important;
        padding:18px !important;
    }

    body.del-bureau-main
    .del-bureau-cart-form{
        max-width:none !important;
    }
}


/* ==========================================================
   V4 - ANCIEN CONTENU BETHEME
   ========================================================== */

body.del-bureau-product
.entry-summary
.product-short-description,
body.del-bureau-product
.entry-summary
.short-description,
body.del-bureau-product
.entry-summary
.product_description,
body.del-bureau-product
.entry-summary
.woocommerce-product-details__short-description{
    display:none !important;
}


/* ==========================================================
   V8 - ESPACEMENT GARANTI ENTRE IMAGE ET ARGUMENTAIRE
   ========================================================== */

body.del-bureau-main
.del-bureau-under-image-spacer{
    display:block !important;
    width:100% !important;
    height:34px !important;
    clear:both !important;
    flex:0 0 100% !important;
}

body.del-bureau-main
.del-bureau-under-image-copy{
    margin-top:0 !important;
    padding:24px 24px !important;
}

@media only screen and (max-width:959px){

    body.del-bureau-main
    .del-bureau-under-image-spacer{
        height:24px !important;
    }

    body.del-bureau-main
    .del-bureau-under-image-copy{
        margin-top:0 !important;
        padding:21px 20px !important;
    }
}


/* ==========================================================
   V11 - ESPACEMENT SOUS IMAGE - SELECTEUR DOM REEL
   Structure Betheme constatée :
   .product_image_wrapper
      > .mcb-column-inner
          > .woocommerce-product-gallery
          > .del-bureau-under-image-copy
   ========================================================== */

/*
 * Le précédent sélecteur avec ">" directement après
 * .product_image_wrapper ne pouvait pas fonctionner :
 * le bloc texte est en réalité enfant de .mcb-column-inner.
 *
 * On neutralise l'espaceur JS devenu inutile et on applique
 * directement la marge au bloc réellement présent dans le DOM.
 */
body.del-bureau-main
.del-bureau-under-image-spacer{
    display:none !important;
}

@media only screen and (min-width:960px){

    body.del-bureau-main
    #product-983
    .product_image_wrapper
    .mcb-column-inner
    > .del-bureau-under-image-copy{
        display:block !important;
        margin:34px 0 0 !important;
        padding:24px 24px !important;
    }
}

@media only screen and (max-width:959px){

    body.del-bureau-main
    #product-983
    .product_image_wrapper
    .mcb-column-inner
    > .del-bureau-under-image-copy{
        display:block !important;
        margin:24px 0 0 !important;
        padding:21px 20px !important;
    }
}