/* Single product only: preserve WowStore/WooCommerce layout and interaction. */
body.single-product #page { max-width:1080px; width:calc(100% - 48px); margin-inline:auto; }
body.single-product #content { min-width:0; }
body.single-product #content .wopb-builder-container { width:100%; min-width:0; }
body.single-product #content .wopb-builder-product-title { font:600 32px/1.18 var(--sp-heading); line-height:1.18 !important; color:var(--sp-ink); margin-bottom:16px; }
body.single-product #content .woocommerce-product-details__short-description { color:var(--sp-ink); font:15px/1.65 Arial,sans-serif; }
body.single-product #content .wp-block-product-blocks-product-price .price { color:var(--sp-ink); }
body.single-product #content .wp-block-product-blocks-product-price ins,
body.single-product .wopb-sticky-cart-price ins { background:none; color:#9e131c; text-decoration:none; font-weight:700; }
body.single-product #content .wp-block-product-blocks-product-price del,
body.single-product .wopb-sticky-cart-price del { color:#80868a; font-size:.85em; }
body.single-product #content .wp-block-product-blocks-product-cart .single_add_to_cart_button,
body.single-product .wopb-sticky-add-to-cart :is(.add_to_cart_button, .added_to_cart) {
    background:var(--sp-red); color:white; border-color:var(--sp-red) !important;
    border-radius:3px; min-height:42px; font:700 14px/1.4 Arial,sans-serif;
}
body.single-product #content .wp-block-product-blocks-product-cart .single_add_to_cart_button:hover,
body.single-product .wopb-sticky-add-to-cart :is(.add_to_cart_button, .added_to_cart):hover { background:#a71820; color:white; border-color:#a71820 !important; }
body.single-product #content .quantity .qty { border-radius:3px; border-color:var(--sp-line); }
body.single-product #content .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:8px 20px; padding:0; margin-inline:0; }
body.single-product #content .woocommerce-tabs ul.tabs::before,
body.single-product #content .woocommerce-tabs ul.tabs li::before,
body.single-product #content .woocommerce-tabs ul.tabs li::after { content:none; }
body.single-product #content .woocommerce-tabs ul.tabs li { float:none; min-width:0; max-width:100%; margin:0 !important; padding:0; background:white; border:0; }
body.single-product #content .woocommerce-tabs ul.tabs li a { display:block; white-space:normal; overflow-wrap:anywhere; padding:12px 10px; font:600 18px/1.3 var(--sp-heading); line-height:1.3 !important; color:var(--sp-ink); }
body.single-product #content .woocommerce-tabs ul.tabs li.active a,
body.single-product #content .woocommerce-tabs ul.tabs li a:hover { color:var(--sp-red); background:#f6f7f7; box-shadow:inset 0 -2px var(--sp-red); }
body.single-product #content .woocommerce-Tabs-panel { border-top:1px solid var(--sp-line); padding-top:24px; overflow-wrap:anywhere; }
body.single-product #content .woocommerce-Tabs-panel :is(h2,h3,h4,h5,h6) { font-family:var(--sp-heading); color:var(--sp-ink); margin-bottom:12px; }
body.single-product #content .woocommerce-Tabs-panel hr { background-color:var(--sp-line); margin-block:24px; }
body.single-product #content .woocommerce-product-attributes { table-layout:fixed; width:100%; }
body.single-product #content .woocommerce-product-attributes :is(th,td) { overflow-wrap:anywhere; border-color:var(--sp-line); }
body.single-product #content .wopb-product-gallery-sale-tag,
body.single-product #content .sp-single-sale {
    position:absolute; top:11px; right:11px; left:auto; z-index:4; margin:0; padding:0;
    display:flex; align-items:center; justify-content:center; flex-direction:column;
    width:49px; height:49px; border-radius:50%; background:var(--sp-red); color:white;
    font:12px/1.15 var(--sp-heading); line-height:1.15 !important; text-transform:uppercase;
    transform:rotate(-7deg); box-shadow:0 2px 4px #0002; pointer-events:none;
}
body.single-product #content :is(.wopb-product-gallery-sale-tag, .sp-single-sale) strong { font-size:18px; }
body.single-product #content .wopb-product-gallery-sale-tag::before { display:none; }
body.single-product #content .wopb-block-image:has(.sp-single-sale) .wopb-onsale { display:none; }
body.single-product #content .sp-hidden-emoji,
body.single-product #content :is(.woocommerce-product-details__short-description, .woocommerce-Tabs-panel, .wopb-block-title, .wopb-builder-product-title, .woocommerce-variation-description) :is(img.emoji, img.wp-smiley) { display:none !important; }
body.single-product #content :is(a,button,input,select,textarea):focus-visible,
body.single-product .wopb-sticky-add-to-cart a:focus-visible { outline:2px solid var(--sp-red); outline-offset:3px; }
/* Recommendation cards: same visual tokens as the approved catalog. No query/cart changes. */

body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-items-wrap { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-item { min-width:0; display:flex; padding:0; }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-content-wrap { width:100%; min-width:0; box-sizing:border-box; display:flex; flex-direction:column; border:1px solid #eceeef; border-radius:4px; padding:15px 15px 14px; background:white; box-shadow:0 3px 16px #17202306; position:relative; transition:box-shadow .2s,transform .2s; }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-content-wrap:hover { box-shadow:0 7px 24px #17202312; transform:translateY(-3px); }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-image { position:relative; height:190px; margin:0 0 13px; padding:0; overflow:hidden; border-radius:0; }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-image > a,
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-image .empty-image,
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-image .empty-image > a { display:flex; align-items:center; justify-content:center; height:100%; width:100%; }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-image img { width:100%; height:95%; max-height:100%; object-fit:contain; border-radius:0; }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-title { font:600 18px/1.18 var(--sp-heading); line-height:1.18 !important; text-align:center; text-transform:uppercase; min-height:43px; padding:0; margin:0 0 9px; overflow-wrap:anywhere; }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-title a { color:var(--sp-ink); font:inherit; line-height:1.18 !important; }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-title a:hover { color:var(--sp-red); }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-star-rating { margin:0 auto 9px; flex-shrink:0; }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-product-price { font:14px/1.5 Arial,sans-serif; line-height:1.5 !important; color:var(--sp-ink); text-align:center; margin:auto 0 14px; padding:0; }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-product-price ins { color:#9e131c; font-weight:700; background:none; text-decoration:none; }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-product-price del { color:#80868a; font-size:12px; margin-right:5px; }
body.single-product #content .wp-block-product-blocks-product-grid-1 .woocommerce-price-suffix { display:block; font-size:11px; color:var(--sp-muted); }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-product-btn { margin:0; padding:0; }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-product-btn a { box-sizing:border-box; width:100%; min-height:42px; margin:0; padding:11px 8px; border:1px solid var(--sp-red); border-color:var(--sp-red) !important; border-radius:3px; background:var(--sp-red); color:white; font:700 13px/1.4 Arial,sans-serif; line-height:1.4 !important; text-align:center; text-decoration:none; text-transform:none; white-space:normal; }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-product-btn a:hover { background:#a71820; border-color:#a71820 !important; color:white; }
body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-items-wrap { gap:20px; }
@media (max-width:768px) {
    body.single-product #page { width:calc(100% - 32px); }
    body.single-product #content .wopb-builder-product-title { font-size:28px; }
    body.single-product #content .wopb-block-5a785c > .wopb-row-wrapper { padding-inline:0; }
    /* Bound each image box, not the Slick track/list. Keep all slides/controls. */
    body.single-product #content .wp-block-product-blocks-product-image .wopb-builder-slider-for .wopb-main-image { height:min(85vw,360px); display:flex; align-items:center; justify-content:center; }
    body.single-product #content .wp-block-product-blocks-product-image .wopb-builder-slider-for img:not(.zoomImg) { width:100% !important; height:100%; max-height:360px; object-fit:contain; }
    body.single-product #content .wp-block-product-blocks-product-image .wopb-builder-slider-nav .wopb-nav-slide img { width:100%; height:72px; object-fit:contain; }
    body.single-product #content .wp-block-product-blocks-product-image .wopb-builder-slider-nav { padding-top:12px; }
    body.single-product #content .woocommerce-tabs ul.tabs { gap:6px; }
    body.single-product #content .woocommerce-tabs ul.tabs li { flex:0 0 auto; text-align:center; }
    body.single-product #content .woocommerce-tabs ul.tabs li a { font-size:16px; padding:12px 8px; }
    body.single-product #content .woocommerce-Tabs-panel { padding-top:20px; }
    body.single-product #content .woocommerce-Tabs-panel img { max-width:100%; height:auto; }
    body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-items-wrap { gap:12px; }
    body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-content-wrap { padding:10px; }
    body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-image { height:155px; }
    body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-title { font-size:16px; min-height:38px; }
    body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-product-btn a { font-size:12px; }
}
/* Category trail on desktop, back-link on mobile; retain WooCommerce's source data. */
body.single-product .sp-product-back { display:none; }
body.single-product #content .wp-block-product-blocks-product-breadcrumb .sp-product-category-trail + .woocommerce-breadcrumb { display:none; }
@media (max-width:768px) {
    body.single-product #content .wp-block-product-blocks-product-breadcrumb .sp-product-back { display:block; margin:0 0 8px; }
    body.single-product #content .wp-block-product-blocks-product-breadcrumb .sp-product-back + .woocommerce-breadcrumb { display:none; }
    body.single-product #content .wp-block-product-blocks-product-breadcrumb .sp-product-back a {
        display:flex; align-items:center; gap:6px; min-height:44px; padding-block:4px; box-sizing:border-box;
        color:var(--sp-ink); font:14px/1.4 Arial,sans-serif; text-decoration:none; overflow-wrap:anywhere;
    }
    body.single-product #content .wp-block-product-blocks-product-breadcrumb .sp-product-back a > span { flex-shrink:0; font-size:22px; }
    body.single-product #content .wp-block-product-blocks-product-breadcrumb .sp-product-back a:hover { color:var(--sp-red); }
}
@media (prefers-reduced-motion:reduce) { body.single-product #content .wp-block-product-blocks-product-grid-1 .wopb-block-content-wrap { transition:none; } }
