
/* =========================================================
   Single Design WooCommerce
   Frontend scope: body.wsd-single-product
   Header/Footer are intentionally excluded.
   ========================================================= */

body.wsd-single-product #wsd-product-shell{
    width:100%;
    max-width:var(--wsd-max-width);
    margin:0 auto!important;
    padding:0 0 70px;
    color:var(--wsd-text);
    background:var(--wsd-bg);
}

/* Keep WooCommerce's single-product layout, but give it a controlled visual system. */
body.wsd-single-product .woocommerce-breadcrumb{
    color:var(--wsd-muted)!important;
    font-size:13px!important;
    margin:0 0 22px!important;
    padding:0!important;
}
body.wsd-single-product .woocommerce-breadcrumb a{
    color:var(--wsd-muted)!important;
}

body.wsd-single-product div.product{
    color:var(--wsd-text);
}

body.wsd-single-product div.product .woocommerce-product-gallery{
    width:52%!important;
    margin:0!important;
    padding:0!important;
}

body.wsd-single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image{
    background:var(--wsd-image-bg)!important;
    border:1px solid var(--wsd-border)!important;
    border-radius:var(--wsd-radius)!important;
    overflow:hidden!important;
}

body.wsd-single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    margin:0!important;
}

body.wsd-single-product div.product .flex-control-thumbs{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:10px!important;
    margin:12px 0 0!important;
    padding:0!important;
}

body.wsd-single-product div.product .flex-control-thumbs li{
    width:auto!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
    border:1px solid var(--wsd-border)!important;
    background:var(--wsd-image-bg)!important;
    border-radius:12px!important;
    overflow:hidden!important;
}

body.wsd-single-product div.product .flex-control-thumbs img{
    width:100%!important;
    height:78px!important;
    object-fit:contain!important;
    opacity:.75;
}

body.wsd-single-product div.product .flex-control-thumbs .flex-active{
    opacity:1;
    outline:2px solid var(--wsd-accent);
    outline-offset:-2px;
}

body.wsd-single-product div.product .summary{
    width:44%!important;
    margin:0!important;
    padding:8px 0 0 34px!important;
}

body.wsd-single-product div.product .product_title{
    color:var(--wsd-title)!important;
    font-size:44px!important;
    line-height:1.08!important;
    font-weight:700!important;
    margin:0 0 14px!important;
}

body.wsd-single-product div.product p.price,
body.wsd-single-product div.product span.price{
    color:var(--wsd-price)!important;
    font-size:22px!important;
    font-weight:800!important;
    margin:0 0 24px!important;
}

body.wsd-single-product div.product .price del{
    color:var(--wsd-muted)!important;
    opacity:.6;
}

body.wsd-single-product div.product form.cart{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    margin:0 0 26px!important;
}

body.wsd-single-product div.product form.cart .quantity{
    margin:0!important;
}

body.wsd-single-product div.product form.cart .quantity input.qty{
    width:58px!important;
    height:46px!important;
    background:var(--wsd-card)!important;
    color:var(--wsd-text)!important;
    border:1px solid var(--wsd-border)!important;
    border-radius:8px!important;
    text-align:center!important;
}

body.wsd-single-product div.product form.cart .single_add_to_cart_button{
    min-height:46px!important;
    border:0!important;
    border-radius:8px!important;
    background:var(--wsd-button)!important;
    color:var(--wsd-button-text)!important;
    padding:0 22px!important;
    font-weight:700!important;
    box-shadow:none!important;
    transition:transform .2s ease,filter .2s ease;
}

body.wsd-single-product div.product form.cart .single_add_to_cart_button:hover{
    filter:brightness(.93);
    transform:translateY(-1px);
}

body.wsd-single-product div.product .product_meta{
    color:var(--wsd-muted)!important;
    border-top:1px solid var(--wsd-border)!important;
    padding-top:18px!important;
    font-size:13px!important;
}

body.wsd-single-product div.product .product_meta a{
    color:var(--wsd-accent)!important;
}

body.wsd-single-product div.product .stock{
    color:var(--wsd-muted)!important;
}

body.wsd-single-product div.product .onsale{
    top:15px!important;
    left:15px!important;
    right:auto!important;
    margin:0!important;
    border-radius:999px!important;
    background:var(--wsd-accent)!important;
    color:#fff!important;
    min-height:auto!important;
    min-width:auto!important;
    padding:8px 11px!important;
    line-height:1!important;
    font-size:11px!important;
    z-index:5;
}

/* Description / tabs */
body.wsd-single-product div.product .woocommerce-tabs{
    margin-top:55px!important;
    border-top:1px solid var(--wsd-border)!important;
    padding-top:28px!important;
}

body.wsd-single-product div.product .woocommerce-tabs ul.tabs{
    margin:0 0 22px!important;
    padding:0!important;
}

body.wsd-single-product div.product .woocommerce-tabs ul.tabs li{
    background:transparent!important;
    border:0!important;
    margin:0 24px 0 0!important;
    padding:0!important;
}

body.wsd-single-product div.product .woocommerce-tabs ul.tabs li a{
    color:var(--wsd-muted)!important;
    font-weight:700!important;
}

body.wsd-single-product div.product .woocommerce-tabs ul.tabs li.active a{
    color:var(--wsd-accent)!important;
}

body.wsd-single-product div.product .woocommerce-tabs .panel{
    color:var(--wsd-text)!important;
}

/* Related products */
body.wsd-single-product .related,
body.wsd-single-product .upsells{
    clear:both;
    position:relative;
    margin-top:0!important;
    padding-top:100px!important;
    border-top:0!important;
}

body.wsd-single-product .related::before,
body.wsd-single-product .upsells::before{
    content:"";
    position:absolute;
    top:58px;
    left:0;
    right:0;
    height:1px;
    background:var(--wsd-border);
}

body.wsd-single-product .related h2{
    color:var(--wsd-related-title)!important;
    margin-top:0!important;
}
body.wsd-single-product .upsells h2{
    color:var(--wsd-text)!important;
    font-size:30px!important;
    line-height:1.2!important;
    margin:0 0 24px!important;
}

body.wsd-single-product .related ul.products,
body.wsd-single-product .upsells ul.products{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:22px!important;
    margin:0!important;
    padding:0!important;
}

body.wsd-single-product .related ul.products::before,
body.wsd-single-product .related ul.products::after,
body.wsd-single-product .upsells ul.products::before,
body.wsd-single-product .upsells ul.products::after{
    display:none!important;
}

body.wsd-single-product .related ul.products li.product,
body.wsd-single-product .upsells ul.products li.product{
    width:auto!important;
    float:none!important;
    margin:0!important;
    padding:0 0 18px!important;
    background:var(--wsd-card)!important;
    border:1px solid var(--wsd-border)!important;
    border-radius:var(--wsd-radius)!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    box-shadow:0 8px 24px rgba(0,0,0,.07);
}

body.wsd-single-product .related ul.products li.product a img,
body.wsd-single-product .upsells ul.products li.product a img{
    width:100%!important;
    height:205px!important;
    object-fit:contain!important;
    margin:0!important;
    padding:16px!important;
    background:var(--wsd-image-bg)!important;
}

body.wsd-single-product .related ul.products li.product .woocommerce-loop-product__title,
body.wsd-single-product .upsells ul.products li.product .woocommerce-loop-product__title{
    color:var(--wsd-text)!important;
    font-size:14px!important;
    padding:14px 15px 0!important;
    margin:0!important;
}

body.wsd-single-product .related ul.products li.product .price,
body.wsd-single-product .upsells ul.products li.product .price{
    color:var(--wsd-price)!important;
    padding:0 15px!important;
    margin:8px 0 14px!important;
    font-weight:800!important;
}

body.wsd-single-product .related ul.products li.product .button,
body.wsd-single-product .upsells ul.products li.product .button{
    margin:auto 15px 0!important;
    border:0!important;
    border-radius:8px!important;
    background:var(--wsd-button)!important;
    color:var(--wsd-button-text)!important;
    text-align:center!important;
    font-weight:700!important;
    padding:10px 12px!important;
}

/* Third-party payment buttons such as WooPayments/Link are intentionally not
   forcibly recolored, so payment plugins can retain their own secure UI. */

@media(max-width:900px){
    body.wsd-single-product #wsd-product-shell{
        padding-left:18px;
        padding-right:18px;
    }
    body.wsd-single-product div.product .woocommerce-product-gallery,
    body.wsd-single-product div.product .summary{
        width:100%!important;
        float:none!important;
    }
    body.wsd-single-product div.product .summary{
        padding:30px 0 0!important;
    }
    body.wsd-single-product div.product .product_title{
        font-size:36px!important;
    }
    body.wsd-single-product .related ul.products,
    body.wsd-single-product .upsells ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

@media(max-width:560px){
    body.wsd-single-product #wsd-product-shell{
        padding-left:14px;
        padding-right:14px;
        padding-bottom:45px;
    }
    body.wsd-single-product .woocommerce-breadcrumb{
        font-size:11px!important;
        margin-bottom:15px!important;
    }
    body.wsd-single-product div.product .product_title{
        font-size:30px!important;
    }
    body.wsd-single-product div.product p.price,
    body.wsd-single-product div.product span.price{
        font-size:20px!important;
    }
    body.wsd-single-product div.product form.cart{
        flex-wrap:wrap!important;
    }
    body.wsd-single-product div.product form.cart .single_add_to_cart_button{
        flex:1 1 auto;
    }
    body.wsd-single-product div.product .flex-control-thumbs{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
    }
    body.wsd-single-product div.product .flex-control-thumbs img{
        height:62px!important;
    }
    body.wsd-single-product .related ul.products,
    body.wsd-single-product .upsells ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important;
    }
    body.wsd-single-product .related ul.products li.product a img,
    body.wsd-single-product .upsells ul.products li.product a img{
        height:145px!important;
        padding:10px!important;
    }
    body.wsd-single-product .related ul.products li.product .woocommerce-loop-product__title,
    body.wsd-single-product .upsells ul.products li.product .woocommerce-loop-product__title{
        font-size:12px!important;
        padding:11px 10px 0!important;
    }
    body.wsd-single-product .related ul.products li.product .price,
    body.wsd-single-product .upsells ul.products li.product .price{
        font-size:12px!important;
        padding:0 10px!important;
    }
    body.wsd-single-product .related ul.products li.product .button,
    body.wsd-single-product .upsells ul.products li.product .button{
        margin-left:10px!important;
        margin-right:10px!important;
        font-size:11px!important;
    }
}
