/* ==========================================================
   NESCARO SINGLE PRODUCT UI — FINAL CLEAN
   WoodMart 8.5.x / WooCommerce
   ----------------------------------------------------------
   Scope: body.single-product only

   Includes:
   - Product gallery card
   - Product summary card
   - Product title / English title
   - Price / stock
   - Add to cart + quantity
   - Wishlist + Compare
   - Product meta + share
   - WoodMart product tabs
   - Mobile / tablet refinements

   IMPORTANT:
   - Visual styling only
   - Does NOT move Product Description
   - Does NOT move gallery or summary
   - Does NOT change WooCommerce logic
   ========================================================== */


/* ==========================================================
   1. DESIGN TOKENS
   ========================================================== */

body.single-product {
    --nes-ui-bg: #fbfaf7;
    --nes-ui-card: #fffefb;
    --nes-ui-card-soft: #f7f5f0;

    --nes-ui-text: #1b1b18;
    --nes-ui-muted: #7f8179;

    --nes-ui-line: #e8e4dc;
    --nes-ui-line-strong: #dcd7cd;

    --nes-ui-accent: #4f5d47;
    --nes-ui-accent-dark: #394334;
    --nes-ui-accent-soft: #edf1e9;

    --nes-ui-shadow:
        0 18px 45px rgba(27, 27, 24, 0.055),
        0 4px 14px rgba(27, 27, 24, 0.035);

    --nes-ui-shadow-small:
        0 8px 22px rgba(27, 27, 24, 0.04);
}


/* ==========================================================
   2. TOP PRODUCT AREA
   ========================================================== */

body.single-product .product-image-summary-wrap {
    margin-bottom: 34px;
}

body.single-product .product-image-summary-inner {
    gap: 28px;
}


/* ==========================================================
   3. PRODUCT GALLERY
   ========================================================== */

/*
 * Use ONE card layer only:
 * .product-images-inner
 */

body.single-product .product-images {
    position: relative;

    overflow: visible !important;

    margin-bottom: 0 !important;
    padding: 0 !important;

    background: transparent !important;

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

    box-shadow: none !important;
}


body.single-product .product-images-inner {
    position: relative;

    overflow: hidden !important;

    width: 100%;

    margin: 0 !important;
    padding: 0 !important;

    height: auto !important;
    min-height: 0 !important;

    background: var(--nes-ui-card-soft);

    border: 1px solid var(--nes-ui-line);
    border-radius: 22px;

    box-shadow: var(--nes-ui-shadow);
}


/* Reset inner WooCommerce gallery */

body.single-product
.product-images-inner
.woocommerce-product-gallery {
    position: relative;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    height: auto !important;
    min-height: 0 !important;

    background: transparent !important;

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

    box-shadow: none !important;
}


/* Remove unwanted bottom gaps */

body.single-product
.product-images-inner
.woocommerce-product-gallery__wrapper,

body.single-product
.product-images-inner
.wd-carousel-container,

body.single-product
.product-images-inner
.wd-carousel-inner,

body.single-product
.product-images-inner
.owl-stage-outer,

body.single-product
.product-images-inner
.owl-stage,

body.single-product
.product-images-inner
.owl-item {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* Prevent inline-image baseline gaps */

body.single-product .product-images-inner img {
    display: block;
}


/* Main image */

body.single-product
.product-images-inner
.woocommerce-product-gallery__image {
    margin-bottom: 0 !important;

    background: transparent;

    border: 0;
    border-radius: 0;
}


/* Gallery thumbnails */

body.single-product
.product-images-inner
.product-image-thumbnail,

body.single-product
.product-images-inner
.wd-gallery-thumb,

body.single-product
.product-images-inner
.thumbnails
.product-image-thumbnail {
    overflow: hidden;

    background: var(--nes-ui-card);

    border: 1px solid transparent;
    border-radius: 12px;

    transition:
        border-color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

body.single-product
.product-images-inner
.product-image-thumbnail:hover,

body.single-product
.product-images-inner
.wd-gallery-thumb:hover,

body.single-product
.product-images-inner
.thumbnails
.product-image-thumbnail:hover {
    background: #ffffff;

    border-color: var(--nes-ui-line-strong);

    transform: translateY(-1px);
}

body.single-product
.product-images-inner
.product-image-thumbnail.active-thumb,

body.single-product
.product-images-inner
.wd-gallery-thumb.wd-active {
    background: #ffffff;

    border-color: #d8ddd3;
}


/* Zoom / fullscreen */

body.single-product .wd-gallery-btn,
body.single-product .woocommerce-product-gallery__trigger {
    background: rgba(255, 254, 251, 0.94) !important;

    border: 1px solid var(--nes-ui-line) !important;
    border-radius: 999px !important;

    box-shadow:
        0 8px 20px rgba(27, 27, 24, 0.07) !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

body.single-product .wd-gallery-btn:hover,
body.single-product .woocommerce-product-gallery__trigger:hover {
    background: #ffffff !important;

    border-color: var(--nes-ui-line-strong) !important;

    transform: translateY(-1px);
}


/* ==========================================================
   4. PRODUCT SUMMARY CARD
   ========================================================== */

body.single-product .summary-inner,
body.single-product .product-summary-inner {
    padding: 30px 32px;

    background: var(--nes-ui-card);

    border: 1px solid var(--nes-ui-line);
    border-radius: 22px;

    box-shadow: var(--nes-ui-shadow);
}


/* Breadcrumbs */

body.single-product .woocommerce-breadcrumb,
body.single-product .wd-breadcrumbs {
    margin-bottom: 18px;

    color: var(--nes-ui-muted);

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

body.single-product .woocommerce-breadcrumb a,
body.single-product .wd-breadcrumbs a {
    color: var(--nes-ui-muted);

    transition: color 0.2s ease;
}

body.single-product .woocommerce-breadcrumb a:hover,
body.single-product .wd-breadcrumbs a:hover {
    color: var(--nes-ui-accent-dark);
}


/* Product title */

body.single-product .product_title,
body.single-product .summary-inner .entry-title {
    margin-bottom: 8px;

    color: var(--nes-ui-text);

    font-size: clamp(30px, 3vw, 48px);
    font-weight: 500;
    line-height: 1.35;

    letter-spacing: -0.025em;
}


/* English product name */

body.single-product .nescaro-single-en-product-title {
    margin: 0 0 18px;

    color: var(--nes-ui-muted);

    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;

    direction: ltr;
    text-align: right;
}


/* Brand */

body.single-product .wd-product-brands,
body.single-product .product-brands {
    margin-bottom: 18px;
}

body.single-product .wd-product-brands img,
body.single-product .product-brands img {
    border-radius: 12px;
}


/* ==========================================================
   5. PRICE + STOCK
   ========================================================== */

body.single-product
.summary-inner
.price {
    margin: 14px 0 12px;

    color: var(--nes-ui-accent-dark);

    font-weight: 800;
}

body.single-product
.summary-inner
.price
.amount {
    color: inherit;
}


/* Stock / availability */

body.single-product
.summary-inner
.stock,

body.single-product
.summary-inner
.wd-product-stock {
    color: var(--nes-ui-accent-dark);

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


/* ==========================================================
   6. ADD TO CART + QUANTITY
   ========================================================== */

body.single-product form.cart {
    display: flex;

    align-items: stretch;
    justify-content: flex-start;

    gap: 10px;

    margin: 18px 0 14px !important;

    direction: rtl;
}


/* Quantity */

body.single-product form.cart .quantity {
    display: inline-flex !important;

    align-items: center;

    height: 46px !important;

    margin: 0 !important;

    overflow: hidden;

    background: var(--nes-ui-card-soft);

    border: 1px solid var(--nes-ui-line) !important;
    border-radius: 12px !important;

    box-shadow: none !important;
}


/* + / - */

body.single-product form.cart .quantity .plus,
body.single-product form.cart .quantity .minus {
    display: flex !important;

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

    width: 36px !important;
    height: 44px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--nes-ui-text) !important;

    background: transparent !important;

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

    font-size: 16px !important;
    font-weight: 500 !important;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}

body.single-product form.cart .quantity .plus:hover,
body.single-product form.cart .quantity .minus:hover {
    color: var(--nes-ui-accent-dark) !important;

    background: var(--nes-ui-accent-soft) !important;
}


/* Quantity value */

body.single-product form.cart .quantity input.qty {
    width: 42px !important;
    height: 44px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--nes-ui-text) !important;

    background: transparent !important;

    border: 0 !important;
    border-right: 1px solid var(--nes-ui-line) !important;
    border-left: 1px solid var(--nes-ui-line) !important;
    border-radius: 0 !important;

    box-shadow: none !important;

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

    text-align: center !important;
}


/* Add to cart */

body.single-product
form.cart
.single_add_to_cart_button {
    display: inline-flex !important;

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

    min-width: 170px;
    height: 46px !important;

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

    color: #ffffff !important;

    background: var(--nes-ui-accent) !important;

    border: 1px solid var(--nes-ui-accent) !important;
    border-radius: 12px !important;

    box-shadow:
        0 7px 18px rgba(57, 67, 52, 0.13) !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    text-decoration: none !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

body.single-product
form.cart
.single_add_to_cart_button:hover {
    color: #ffffff !important;

    background: var(--nes-ui-accent-dark) !important;
    border-color: var(--nes-ui-accent-dark) !important;

    box-shadow:
        0 10px 22px rgba(57, 67, 52, 0.18) !important;

    transform: translateY(-1px);
}

body.single-product
form.cart
.single_add_to_cart_button:active {
    transform: translateY(0);
}

body.single-product
form.cart
.single_add_to_cart_button.disabled,

body.single-product
form.cart
.single_add_to_cart_button:disabled {
    opacity: 0.55;

    cursor: not-allowed;

    transform: none !important;
}


/* ==========================================================
   7. WISHLIST + COMPARE
   ========================================================== */

/*
 * WoodMart 8.4+ uses:
 * .wd-action-icon
 * .wd-action-text
 */

body.single-product
.summary-inner
.wd-compare-btn,

body.single-product
.summary-inner
.wd-wishlist-btn {
    display: inline-flex;

    margin: 0 6px 8px 0;
}


body.single-product
.summary-inner
.wd-compare-btn > a,

body.single-product
.summary-inner
.wd-wishlist-btn > a {
    position: relative !important;

    display: inline-flex !important;

    flex-direction: row !important;

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

    gap: 8px !important;

    min-height: 40px;

    padding: 8px 12px !important;

    color: var(--nes-ui-text) !important;

    background: var(--nes-ui-card-soft) !important;

    border: 1px solid var(--nes-ui-line) !important;
    border-radius: 12px !important;

    text-decoration: none !important;

    direction: rtl !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

body.single-product
.summary-inner
.wd-compare-btn > a:hover,

body.single-product
.summary-inner
.wd-wishlist-btn > a:hover {
    color: var(--nes-ui-accent-dark) !important;

    background: var(--nes-ui-accent-soft) !important;

    border-color: #d7ddd2 !important;

    transform: translateY(-1px);
}


/* Normal icon */

body.single-product
.summary-inner
.wd-compare-btn
.wd-action-icon,

body.single-product
.summary-inner
.wd-wishlist-btn
.wd-action-icon {
    position: static !important;

    order: 1 !important;

    display: inline-flex !important;

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

    flex: 0 0 18px !important;

    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;

    margin: 0 !important;

    color: currentColor;

    transform: none !important;
}


/* Text */

body.single-product
.summary-inner
.wd-compare-btn
.wd-action-text,

body.single-product
.summary-inner
.wd-wishlist-btn
.wd-action-text {
    position: static !important;

    order: 2 !important;

    display: inline-block !important;

    flex: 0 1 auto !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    white-space: nowrap !important;

    line-height: 1.4 !important;

    transform: none !important;
}


/* ----------------------------------------------------------
   Added state
   ---------------------------------------------------------- */

/*
 * In added state:
 * 1. hide WoodMart's original icon box;
 * 2. hide WoodMart check icon if present;
 * 3. draw ONE independent checkmark on the right.
 */

body.single-product
.summary-inner
.wd-compare-btn.wd-added
.wd-action-icon,

body.single-product
.summary-inner
.wd-wishlist-btn.wd-added
.wd-action-icon,

body.single-product
.summary-inner
.wd-compare-btn.added
.wd-action-icon,

body.single-product
.summary-inner
.wd-wishlist-btn.added
.wd-action-icon,

body.single-product
.summary-inner
.wd-compare-btn > a.wd-added
.wd-action-icon,

body.single-product
.summary-inner
.wd-wishlist-btn > a.wd-added
.wd-action-icon,

body.single-product
.summary-inner
.wd-compare-btn > a.added
.wd-action-icon,

body.single-product
.summary-inner
.wd-wishlist-btn > a.added
.wd-action-icon {
    display: none !important;
}


body.single-product
.summary-inner
.wd-compare-btn
.wd-check-icon,

body.single-product
.summary-inner
.wd-wishlist-btn
.wd-check-icon {
    display: none !important;
}


/* Added class on wrapper */

body.single-product
.summary-inner
.wd-compare-btn.wd-added > a::before,

body.single-product
.summary-inner
.wd-wishlist-btn.wd-added > a::before,

body.single-product
.summary-inner
.wd-compare-btn.added > a::before,

body.single-product
.summary-inner
.wd-wishlist-btn.added > a::before,

/* Added class on anchor */

body.single-product
.summary-inner
.wd-compare-btn > a.wd-added::before,

body.single-product
.summary-inner
.wd-wishlist-btn > a.wd-added::before,

body.single-product
.summary-inner
.wd-compare-btn > a.added::before,

body.single-product
.summary-inner
.wd-wishlist-btn > a.added::before {
    content: "✓" !important;

    order: 1 !important;

    display: inline-flex !important;

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

    flex: 0 0 20px !important;

    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;

    margin: 0 !important;

    color: #ffffff !important;

    background: var(--nes-ui-accent-dark) !important;

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

    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    position: static !important;

    transform: none !important;

    box-shadow: none !important;
}


/* ==========================================================
   8. PRODUCT META + SHARE
   ========================================================== */

body.single-product .product_meta,
body.single-product .summary-inner .product_meta {
    margin-top: 20px;
    padding-top: 18px;

    border-top: 1px solid var(--nes-ui-line);

    color: var(--nes-ui-muted);

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

body.single-product .product_meta a {
    color: #63665f;

    transition: color 0.2s ease;
}

body.single-product .product_meta a:hover {
    color: var(--nes-ui-accent-dark);
}


/* ==========================================================
   PRODUCT SHARE
   Only inside product summary
   Footer social icons are NOT affected
   ========================================================== */

body.single-product
.summary-inner
.wd-social-icons {
    margin-top: 14px;
}


/* Social buttons */

body.single-product
.summary-inner
.wd-social-icons a {
    display: inline-flex !important;

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

    width: 34px !important;
    height: 34px !important;

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

    color: #65675f !important;

    background: var(--nes-ui-card-soft) !important;

    border: 1px solid var(--nes-ui-line) !important;
    border-radius: 10px !important;

    box-shadow: none !important;

    text-decoration: none !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}


/* Hover */

body.single-product
.summary-inner
.wd-social-icons a:hover {
    color: var(--nes-ui-accent-dark) !important;

    background: var(--nes-ui-accent-soft) !important;

    border-color: #d7ddd2 !important;

    transform: translateY(-1px);
}

/* ==========================================================
   9. PRODUCT TABS — EXACT WOODMART DOM
   ========================================================== */

/*
 * Actual structure:
 *
 * .woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
 *   .wd-nav-wrapper.wd-nav-tabs-wrapper
 *     ul.wd-nav.wd-nav-tabs.wc-tabs.wd-style-underline-reverse
 *       li.active
 *         a.wd-nav-link
 *           span.nav-link-text.wd-tabs-title
 */

body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs {
    margin-top: 34px;
}


/* Navigation wrapper */

body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
.wd-nav-wrapper.wd-nav-tabs-wrapper {
    width: min(100%, 980px) !important;

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


/* Tabs bar */

body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
ul.wd-nav.wd-nav-tabs.wc-tabs {
    display: flex !important;

    flex-wrap: wrap !important;

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

    gap: 8px !important;

    width: 100% !important;

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

    background: var(--nes-ui-card-soft) !important;
    background-image: none !important;

    border: 1px solid var(--nes-ui-line) !important;
    border-radius: 16px !important;

    box-shadow: var(--nes-ui-shadow-small) !important;
}


/* Tab item */

body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
ul.wd-nav.wd-nav-tabs.wc-tabs
> li {
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;

    box-shadow: none !important;
}


/* Kill list-item pseudo elements */

body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
ul.wd-nav.wd-nav-tabs.wc-tabs
> li::before,

body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
ul.wd-nav.wd-nav-tabs.wc-tabs
> li::after {
    content: none !important;

    display: none !important;
}


/* Tab link */

body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
ul.wd-nav.wd-nav-tabs.wc-tabs
> li
> a.wd-nav-link {
    position: relative !important;

    display: inline-flex !important;

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

    min-height: 42px !important;

    padding: 9px 16px !important;

    color: #6f716a !important;

    background: transparent !important;
    background-image: none !important;

    border: 1px solid transparent !important;
    border-radius: 11px !important;

    box-shadow: none !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;

    text-decoration: none !important;
}


/* Tab text */

body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
.nav-link-text.wd-tabs-title {
    position: static !important;

    display: inline !important;

    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;

    background: transparent !important;
    background-image: none !important;

    border: 0 !important;

    font: inherit !important;
    line-height: inherit !important;

    text-decoration: none !important;
}


/* ----------------------------------------------------------
   Remove WoodMart underline / active strip
   ---------------------------------------------------------- */

body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
.wd-nav[class*="wd-style-underline"]
> li
> a.wd-nav-link::before,

body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
.wd-nav[class*="wd-style-underline"]
> li
> a.wd-nav-link::after,

body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
.wd-nav[class*="wd-style-underline"]
.nav-link-text::before,

body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
.wd-nav[class*="wd-style-underline"]
.nav-link-text::after,

body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
.nav-link-text.wd-tabs-title::before,

body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
.nav-link-text.wd-tabs-title::after {
    content: none !important;

    display: none !important;

    position: static !important;

    width: 0 !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: none !important;
    background-image: none !important;

    border: 0 !important;

    box-shadow: none !important;

    opacity: 0 !important;

    transform: none !important;
}


/* Hover tab */

body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
ul.wd-nav.wd-nav-tabs.wc-tabs
> li
> a.wd-nav-link:hover {
    color: var(--nes-ui-accent-dark) !important;

    background: rgba(255, 255, 255, 0.68) !important;

    border-color: var(--nes-ui-line) !important;
}


/* Active tab */

body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
ul.wd-nav.wd-nav-tabs.wc-tabs
> li.active
> a.wd-nav-link {
    color: var(--nes-ui-accent-dark) !important;

    background: var(--nes-ui-card) !important;
    background-image: none !important;

    border: 1px solid #d8ddd3 !important;
    border-radius: 11px !important;

    box-shadow:
        0 4px 12px rgba(27, 27, 24, 0.05) !important;
}


body.single-product
.woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
ul.wd-nav.wd-nav-tabs.wc-tabs
> li.active
.nav-link-text.wd-tabs-title {
    color: var(--nes-ui-accent-dark) !important;

    font-weight: 800 !important;

    background: none !important;
    background-image: none !important;
}


/* ==========================================================
   10. TAB CONTENT
   ========================================================== */

body.single-product
.woocommerce-tabs
.woocommerce-Tabs-panel,

body.single-product
.woocommerce-tabs
.wc-tab {
    background: transparent;
}


/*
 * Product Description (.nes-spec.v4) already has its
 * own visual card, so no additional card here.
 */

body.single-product
.woocommerce-tabs
.woocommerce-Tabs-panel:not(.woocommerce-Tabs-panel--description),

body.single-product
.woocommerce-tabs
.wc-tab:not(#tab-description) {
    width: min(100%, 1220px);

    margin-right: auto;
    margin-left: auto;
}


body.single-product #reviews,
body.single-product #comments {
    color: var(--nes-ui-text);
}


/* ==========================================================
   11. TABLET
   ========================================================== */

@media (max-width: 1024px) {

    body.single-product .summary-inner,
    body.single-product .product-summary-inner {
        padding: 24px;

        border-radius: 18px;
    }


    body.single-product .product-images-inner {
        border-radius: 18px;
    }


    body.single-product .product_title,
    body.single-product .summary-inner .entry-title {
        font-size: clamp(28px, 4vw, 40px);
    }

}


/* ==========================================================
   12. MOBILE
   ========================================================== */

@media (max-width: 767px) {

    body.single-product .product-image-summary-wrap {
        margin-bottom: 24px;
    }


    body.single-product .product-image-summary-inner {
        gap: 18px;
    }


    body.single-product .summary-inner,
    body.single-product .product-summary-inner {
        padding: 20px 16px;

        border-radius: 16px;

        box-shadow:
            0 10px 28px rgba(27, 27, 24, 0.045);
    }


    body.single-product .product-images-inner {
        border-radius: 16px;

        box-shadow:
            0 10px 28px rgba(27, 27, 24, 0.045);
    }


    body.single-product .product_title,
    body.single-product .summary-inner .entry-title {
        margin-bottom: 7px;

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


    body.single-product .nescaro-single-en-product-title {
        margin-bottom: 15px;

        font-size: 13px;
    }


    /* Cart */

    body.single-product form.cart {
        display: grid;

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

        gap: 8px;
    }


    body.single-product
    form.cart
    .single_add_to_cart_button {
        width: 100%;
        min-width: 0;

        padding-right: 16px !important;
        padding-left: 16px !important;
    }


    body.single-product form.cart .quantity {
        width: 116px;
    }


    /* Actions */

    body.single-product
    .summary-inner
    .wd-compare-btn > a,

    body.single-product
    .summary-inner
    .wd-wishlist-btn > a {
        min-height: 38px;

        padding: 7px 10px !important;

        border-radius: 10px !important;
    }


    /* Tabs */

    body.single-product
    .woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
    .wd-nav-wrapper.wd-nav-tabs-wrapper {
        width: 100% !important;

        padding: 0 14px !important;
    }


    body.single-product
    .woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
    ul.wd-nav.wd-nav-tabs.wc-tabs {
        flex-wrap: nowrap !important;

        justify-content: flex-start !important;

        overflow-x: auto !important;

        padding: 6px !important;

        border-radius: 13px !important;

        scrollbar-width: none;

        -webkit-overflow-scrolling: touch;
    }


    body.single-product
    .woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
    ul.wd-nav.wd-nav-tabs.wc-tabs::-webkit-scrollbar {
        display: none;
    }


    body.single-product
    .woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
    ul.wd-nav.wd-nav-tabs.wc-tabs
    > li {
        flex: 0 0 auto !important;
    }


    body.single-product
    .woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
    ul.wd-nav.wd-nav-tabs.wc-tabs
    > li
    > a.wd-nav-link {
        min-height: 38px !important;

        padding: 8px 12px !important;

        font-size: 13px !important;
    }

}


/* ==========================================================
   13. VERY SMALL MOBILE
   ========================================================== */

@media (max-width: 420px) {

    body.single-product .product_title,
    body.single-product .summary-inner .entry-title {
        font-size: 27px;
    }


    body.single-product
    .summary-inner
    .wd-compare-btn,

    body.single-product
    .summary-inner
    .wd-wishlist-btn {
        margin-right: 3px;
        margin-left: 3px;
    }


    body.single-product
    .summary-inner
    .wd-compare-btn > a,

    body.single-product
    .summary-inner
    .wd-wishlist-btn > a {
        gap: 6px !important;

        padding-right: 9px !important;
        padding-left: 9px !important;

        font-size: 12px;
    }

}


/* ==========================================================
   14. REDUCED MOTION
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    body.single-product .product-image-thumbnail,
    body.single-product .wd-gallery-thumb,
    body.single-product .wd-gallery-btn,
    body.single-product .woocommerce-product-gallery__trigger,
    body.single-product form.cart .quantity .plus,
    body.single-product form.cart .quantity .minus,
    body.single-product form.cart .single_add_to_cart_button,
    body.single-product .summary-inner .wd-compare-btn > a,
    body.single-product .summary-inner .wd-wishlist-btn > a,
    body.single-product .wd-social-icons a,
    body.single-product
    .woocommerce-tabs.wc-tabs-wrapper.tabs-layout-tabs
    ul.wd-nav.wd-nav-tabs.wc-tabs
    > li
    > a.wd-nav-link {
        transition: none !important;
    }

}


/* ==========================================================
   NESCARO - REVIEWS + RELATED PRODUCTS
   ========================================================== */


/* ==========================================================
   1. REVIEWS AREA
   ========================================================== */

body.single-product #reviews,
body.single-product .woocommerce-Reviews {
    width: min(100%, 1220px);

    margin-right: auto;
    margin-left: auto;
}


/* Reviews two-column area */

body.single-product #reviews .woocommerce-Reviews-row,
body.single-product #reviews .wd-reviews-content {
    gap: 28px;
}


/* Existing reviews / summary card */

body.single-product #reviews #comments,
body.single-product #reviews .wd-reviews-heading,
body.single-product #reviews .wd-rating-summary {
    color: var(--nes-ui-text);
}


/* Review title */

body.single-product #reviews .woocommerce-Reviews-title,
body.single-product #reviews .comment-reply-title {
    margin: 0 0 18px !important;

    color: var(--nes-ui-text);

    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.7;

    text-align: right;
}


/* ==========================================================
   2. REVIEW FORM CARD
   ========================================================== */

body.single-product #review_form_wrapper,
body.single-product #review_form,
body.single-product #respond {
    width: 100%;
}

body.single-product #review_form_wrapper {
    padding: 26px;

    background: var(--nes-ui-card);

    border: 1px solid var(--nes-ui-line);
    border-radius: 18px;

    box-shadow: var(--nes-ui-shadow-small);
}


/* Form labels */

body.single-product #review_form label,
body.single-product #commentform label {
    display: block;

    margin-bottom: 8px;

    color: var(--nes-ui-text);

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

    text-align: right;
}


/* Review textarea */

body.single-product #review_form textarea,
body.single-product #commentform textarea,
body.single-product textarea#comment {
    width: 100% !important;
    min-height: 170px;

    padding: 14px 16px !important;

    color: var(--nes-ui-text);

    background: var(--nes-ui-card-soft) !important;

    border: 1px solid var(--nes-ui-line) !important;
    border-radius: 14px !important;

    box-shadow: none !important;

    font-size: 14px;
    line-height: 2;

    direction: rtl;
    text-align: right;

    resize: vertical;

    transition:
        border-color 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}

body.single-product #review_form textarea:focus,
body.single-product #commentform textarea:focus,
body.single-product textarea#comment:focus {
    outline: none !important;

    background: #ffffff !important;

    border-color: #cfd6c9 !important;

    box-shadow:
        0 0 0 3px rgba(79, 93, 71, 0.08) !important;
}


/* Text inputs if review form shows them */

body.single-product #review_form input[type="text"],
body.single-product #review_form input[type="email"],
body.single-product #commentform input[type="text"],
body.single-product #commentform input[type="email"] {
    min-height: 44px;

    padding: 10px 13px !important;

    color: var(--nes-ui-text);

    background: var(--nes-ui-card-soft) !important;

    border: 1px solid var(--nes-ui-line) !important;
    border-radius: 12px !important;

    box-shadow: none !important;
}


/* ==========================================================
   3. REVIEW STARS
   ========================================================== */

body.single-product #reviews .stars {
    margin: 4px 0 18px !important;
}

body.single-product #reviews .stars a {
    color: #c5c6c0 !important;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

body.single-product #reviews .stars a:hover,
body.single-product #reviews .stars a.active {
    color: var(--nes-ui-accent) !important;
}


/* ==========================================================
   4. REVIEW SUBMIT BUTTON
   ========================================================== */

body.single-product #review_form #submit,
body.single-product #commentform #submit {
    display: inline-flex !important;

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

    min-width: 110px;
    min-height: 44px;

    padding: 0 22px !important;

    color: #ffffff !important;

    background: var(--nes-ui-accent) !important;

    border: 1px solid var(--nes-ui-accent) !important;
    border-radius: 12px !important;

    box-shadow:
        0 7px 18px rgba(57, 67, 52, 0.12) !important;

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

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

body.single-product #review_form #submit:hover,
body.single-product #commentform #submit:hover {
    background: var(--nes-ui-accent-dark) !important;
    border-color: var(--nes-ui-accent-dark) !important;

    box-shadow:
        0 10px 22px rgba(57, 67, 52, 0.17) !important;

    transform: translateY(-1px);
}


/* ==========================================================
   5. REVIEW SUMMARY / NO REVIEWS
   ========================================================== */

body.single-product #reviews .woocommerce-noreviews,
body.single-product #reviews .woocommerce-verification-required {
    padding: 16px 18px;

    color: var(--nes-ui-muted);

    background: var(--nes-ui-card-soft);

    border: 1px solid var(--nes-ui-line);
    border-radius: 12px;

    line-height: 2;
}


/* Rating distribution bars */

body.single-product #reviews .wd-rating-progress-bar,
body.single-product #reviews .rating-bar {
    overflow: hidden;

    background: #ecebe6;

    border-radius: 999px;
}

body.single-product #reviews .wd-rating-progress-bar > div,
body.single-product #reviews .rating-bar > span {
    background: var(--nes-ui-accent) !important;

    border-radius: inherit;
}


/* ==========================================================
   6. RELATED PRODUCTS SECTION
   ========================================================== */

body.single-product .related.products,
body.single-product .related-and-upsells {
    width: min(100%, 1220px);

    margin: 48px auto 0 !important;
    padding: 32px;

    background: var(--nes-ui-bg);

    border: 1px solid var(--nes-ui-line);
    border-radius: 22px;

    box-shadow: var(--nes-ui-shadow);
}


/* Related products heading */

body.single-product .related.products > h2,
body.single-product .related-and-upsells > h2,
body.single-product .related-products-title {
    margin: 0 0 26px !important;

    color: var(--nes-ui-text);

    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.6;

    text-align: right;
}


/* Individual product card */

body.single-product
.related.products
.product-grid-item,

body.single-product
.related-and-upsells
.product-grid-item {
    overflow: hidden;

    padding: 12px;

    background: var(--nes-ui-card);

    border: 1px solid var(--nes-ui-line);
    border-radius: 16px;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

body.single-product
.related.products
.product-grid-item:hover,

body.single-product
.related-and-upsells
.product-grid-item:hover {
    border-color: var(--nes-ui-line-strong);

    box-shadow:
        0 12px 28px rgba(27, 27, 24, 0.055);

    transform: translateY(-2px);
}


/* Product image */

body.single-product
.related.products
.product-grid-item
.product-image-link,

body.single-product
.related-and-upsells
.product-grid-item
.product-image-link {
    overflow: hidden;

    border-radius: 12px;

    background: var(--nes-ui-card-soft);
}


/* Product title */

body.single-product
.related.products
.wd-entities-title,

body.single-product
.related-and-upsells
.wd-entities-title {
    margin-top: 12px;

    color: var(--nes-ui-text);

    font-weight: 700;
    line-height: 1.7;
}


/* Price */

body.single-product
.related.products
.price,

body.single-product
.related-and-upsells
.price {
    color: var(--nes-ui-accent-dark) !important;

    font-weight: 800;
}


/* ==========================================================
   7. SEPARATION BETWEEN REVIEWS AND RELATED
   ========================================================== */

body.single-product
.woocommerce-tabs.wc-tabs-wrapper {
    padding-bottom: 40px;

    border-bottom: 1px solid var(--nes-ui-line);
}


/* ==========================================================
   8. MOBILE
   ========================================================== */

@media (max-width: 767px) {

    body.single-product #review_form_wrapper {
        padding: 18px 14px;

        border-radius: 14px;
    }


    body.single-product #review_form textarea,
    body.single-product #commentform textarea,
    body.single-product textarea#comment {
        min-height: 140px;

        border-radius: 12px !important;
    }


    body.single-product .related.products,
    body.single-product .related-and-upsells {
        margin-top: 32px !important;

        padding: 18px 14px;

        border-radius: 16px;
    }


    body.single-product .related.products > h2,
    body.single-product .related-and-upsells > h2,
    body.single-product .related-products-title {
        margin-bottom: 18px !important;

        font-size: 19px !important;
    }

}

/* ==========================================================
About Brand text 
   ========================================================== */
body.single-product .nes-brand-copy,
body.single-product .nes-brand-copy p {
    text-align: justify !important;
    text-align-last: right !important;
    text-justify: inter-word !important;
    direction: rtl !important;
}