/*
 Theme Name:   Woodmart Child New
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

.single-product .product-image-disclaimer,
.product-image-disclaimer {
    display: block !important;
    margin-top: 12px !important;
    margin-bottom: 10px !important;
    font-size: 12px !important;
    color: #777 !important;
    text-align: center !important;
    font-style: italic !important;
    line-height: 1.4 !important;
    width: 100% !important;
}

@media (min-width: 1025px) {
    body .website-wrapper {
        padding-left: 276px !important;
    }

    /* Shift the top absolute header to the right of the sidebar */
    /* .headdesk {
        left: 280px !important;
        width: calc(100% - 280px) !important;
    } */
}


/* Fix Elementor Header Fonts & Colors */
/* .elementor-location-header .elementor-nav-menu--main a {
    font-family: 'Inter', 'Roboto', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
} */

/* Top Nav Menu (White Text) */
/* .elementor-location-header .elementor-widget-nav-menu[data-id="8092511"] .elementor-nav-menu--main a {
    color: #ffffff !important;
}
.elementor-location-header .elementor-widget-nav-menu[data-id="8092511"] .elementor-nav-menu--main a:hover {
    color: #029EDD !important;
} */

/* Sidebar Main Menu (Dark Text) */
/* .elementor-location-header .elementor-widget-nav-menu:not([data-id="8092511"]) .elementor-nav-menu--main a {
    color: #1a1f26 !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}
.elementor-location-header .elementor-widget-nav-menu:not([data-id="8092511"]) .elementor-nav-menu--main a:hover {
    color: #029EDD !important;
} */
/* Make Woodmart Vertical Header Overlap Content */
@media (min-width: 1025px) {
    .home.woodmart-header-vertical .whb-header.whb-vertical {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        z-index: 999 !important;
        background-color: transparent !important;
    }

    .home.woodmart-header-vertical .main-page-wrapper {
        margin-left: 0 !important;
        padding-left: 0 !important;
        padding-top: 0 !important;
    }
}

/* Make Woodmart Top Header Overlap Content (Fallback) */
body:not(.elementor-editor-active) .home .whb-header:not(.whb-vertical),
body:not(.elementor-editor-active) .home .elementor-location-header {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 999 !important;
}

/* Fix for WordPress Admin Bar pushing the image down but not the absolute header */
.admin-bar.home .elementor-location-header {
    top: 32px !important;
}

/* Fix Elementor/SHE Sticky Header leaving a white gap on mobile/tablet when Admin Bar is active */
@media (max-width: 1024px) {

    .admin-bar .elementor-sticky--active,
    .admin-bar .she-header,
    .admin-bar .she-header:not(.elementor-sticky) {
        top: 0 !important;
    }

    .admin-bar.home .elementor-location-header {
        top: 46px !important;
        /* Admin bar is 46px on mobile/tablet */
    }
}

/* Hide default Woodmart Page Title gap on homepage */
.home .page-title-default {
    display: none !important;
}

/* Remove default Woodmart top padding on homepage to fix white gap */
.home .main-page-wrapper,
.home .main-page-wrapper>.container {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Remove Woodmart's default 15px grid padding on Elementor Full Width pages */
.elementor-template-full-width .row>[data-elementor-type] {
    padding-right: 0 !important;
    padding-left: 0 !important;
    margin-bottom: 0 !important;
}

/* Fix Elementor Full Width layout by overriding Woodmart's container max-width restriction */
.container {
    max-width: none !important;
}

/* --- WOOCOMMERCE CART PAGE BUTTON CUSTOMIZATION --- */
/* Align Update Cart button to the right side of the table using the new wrapper */
.vertex-update-cart-wrapper {
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
    padding-top: 10px !important;
}

.vertex-update-cart-wrapper button[name="update_cart"] {
    background-color: #a7a7a7 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    border: none !important;
    padding: 10px 20px !important;
    font-weight: 600 !important;
}

.vertex-update-cart-wrapper button[name="update_cart"]:hover {
    background-color: #888888 !important;
}

/* --- MY ACCOUNT PAGE CUSTOMIZATION --- */
/* Hide default Woodmart title in My Account to match clean UI */
body.woocommerce-account .page-title-default {
    display: none !important;
}

/* My Account Menu Styling */
body.woocommerce-account .woocommerce-MyAccount-navigation {
    padding-right: 20px;
    padding-left: 20px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    border-top: 2px solid #029EDD !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid #f1f1f1 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: 10px 0 !important;
    color: #333 !important;
    font-weight: 500 !important;
    text-transform: capitalize !important;
    background: transparent !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    color: #029EDD !important;
    background: transparent !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active {
    background: transparent !important;
    border-bottom: 1px solid #f1f1f1 !important;
}

/* My Account Dashboard Grid */
.vertex-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 30px;
}

.vertex-dashboard-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    background-color: #fff;
    border: 1px solid #eaeaea;
    border-radius: 6px;
    text-decoration: none !important;
    transition: all 0.3s ease;
    text-align: center;
}

.vertex-dashboard-item i {
    font-size: 32px;
    color: #cccccc;
    margin-bottom: 15px;
    transition: all 0.3s ease;
}

.vertex-dashboard-item span {
    font-size: 14px;
    font-weight: 600;
    color: #029EDD;
}

.vertex-dashboard-item:hover {
    border-color: #029EDD;
    box-shadow: 0 5px 15px rgba(2, 158, 221, 0.1);
}

.vertex-dashboard-item:hover i {
    color: #029EDD;
}

.vertex-dashboard-item:last-child:hover {
    border-color: #ee5555;
    box-shadow: 0 5px 15px rgba(238, 85, 85, 0.15);
}

.vertex-dashboard-item:last-child:hover i,
.vertex-dashboard-item:last-child:hover span {
    color: #ee5555;
}

/* Make grid responsive */
@media (max-width: 768px) {
    .vertex-dashboard-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .vertex-dashboard-grid {
        grid-template-columns: 1fr;
    }
}





.wd-product.product-grid-item {
    border: 1px solid #1a9db5 !important;
    background: #fff !important;
    background-color: #fff !important;
    text-align: center;
    outline: none !important;
    box-shadow: none !important;
}

/* Forcefully strip ALL inner backgrounds, borders, and shadows from Woodmart wrappers */
.wd-product.product-grid-item * {
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Restore the specific border for our custom size boxes */
.wd-product.product-grid-item .vertex-size-box {
    border: 1px solid #1a9db5 !important;
    border-color: #1a9db5 !important;
}

/* Remove Woodmart hover effects */
.wd-product.product-grid-item:hover {
    box-shadow: none !important;
    transform: none !important;
}

/* Product Image */
.product-grid-item .product-element-top {
    border-bottom: none !important;
    margin-bottom: 10px;
}

/* Product Title */
.product-grid-item .wd-entities-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.01em !important;
    text-align: center;
    color: #333 !important;
    margin-bottom: 15px;
}

/* Hide default Woodmart elements */
.product-grid-item .price,
.product-grid-item .wrap-price,
.product-grid-item .star-rating,
.product-grid-item .wd-add-btn,
.product-grid-item .wd-action-btn {
    display: none !important;
}

/* Size Boxes */
.vertex-tile-sizes,
.grouped-product-labels {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 15px;
}

/* Ensure price is visible inside our custom footer tile for simple products */
.vertex-tile-price .price,
.vertex-tile-price .wrap-price,
.vertex-tile-price .price .amount,
.vertex-tile-price .price a {
    display: block !important;
    color: #000000 !important;
    text-align: center !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.vertex-size-box,
.grouped-product-labels a.grouped-product-label,
.grouped-product-labels span.grouped-product-label {
    border: 1px solid #1a9db5 !important;
    color: #333 !important;
    font-size: 14px !important;
    padding: 4px 8px !important;
    text-decoration: none !important;
}

/* Details Link */
.vertex-tile-details {
    display: none !important;
}

.vertex-tile-details a {
    color: #1a9db5 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}


/* --- SINGLE PRODUCT GROUPED TABLE --- */
.vx-grouped-thumb-cell {
    width: 70px;
    padding-right: 15px !important;
    vertical-align: middle;
}

.vx-grouped-thumb {
    width: 60px;
    height: auto;
    border-radius: 5px;
    border: 1px solid #eee;
}

.single-product .woocommerce-grouped-product-list-item__label a {
    font-weight: 600 !important;
    color: #029EDD !important;
    text-decoration: none !important;
    font-size: 13px !important;
}

.single-product .woocommerce-grouped-product-list-item__label a:hover {
    text-decoration: underline !important;
}

.single-product .woocommerce-grouped-product-list-item #child_sku {
    color: #000;
    font-size: 13px !important;
    margin: 0 !important;
}

/* the "Invalid Location" text node's direct parent is div.price, which has its own blue color, so target it directly */
.single-product .woocommerce-grouped-product-list-item__price .price {
    color: #1F2937 !important;
}

/* override theme's td>* margin-bottom on all device screens */
.shop-table-with-img td>* {
    margin: 0 !important;
}

/* Hide Invalid Location parent text if needed, color children */
.single-product .woocommerce-grouped-product-list-item__price {
    font-size: 0 !important;
}

.single-product .woocommerce-grouped-product-list-item__price *,
.single-product .woocommerce-grouped-product-list-item__price a,
.single-product .woocommerce-grouped-product-list-item__price span:not(.amount) {
    font-size: 13px !important;
    font-weight: 700 !important;
    /* color: #000000 !important; */
    /* Make Invalid Location text black */
    text-align: center !important;
}

/* Ensure only the actual price amount is blue */
.single-product .woocommerce-grouped-product-list-item__price .amount,
.single-product .woocommerce-grouped-product-list-item__price .amount * {
    color: #029EDD !important;
    font-size: 14px !important;
}

/* Reorder Grouped Product Table to match RG Demo: Image -> Quantity -> Title -> Price */
table.group_table {
    border-collapse: collapse !important;
    width: 100% !important;
}

table.group_table tr.woocommerce-grouped-product-list-item {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border-bottom: 1px solid #f1f1f1 !important;
    padding: 15px 0 !important;
    width: 100% !important;
    gap: 20px !important;
}

/* Remove all borders from td to prevent broken lines */
table.group_table tr.woocommerce-grouped-product-list-item td,
.woocommerce-grouped-product-list-item td {
    padding: 0 !important;
    vertical-align: middle !important;
    border: none !important;
    border-bottom: 0 !important;
    display: flex !important;
    /* align-items: center !important; */
    box-shadow: none !important;
}

.woocommerce-grouped-product-list-item__image {
    order: 1 !important;
    width: 10% !important;
}

.woocommerce-grouped-product-list-item__quantity {
    order: 2 !important;
    width: 20% !important;
    justify-content: center !important;
}

.woocommerce-grouped-product-list-item__label {
    order: 3 !important;
    width: 45% !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.woocommerce-grouped-product-list-item__price {
    order: 4 !important;
    width: 15% !important;
    flex-direction: column !important;
    align-items: flex-end !important;
}

.group_table tr.woocommerce-grouped-product-list-item .product-price p.price {
    margin-bottom: 0px !important;
}

/* --- SINGLE PRODUCT CUSTOM LAYOUT --- */
body .single-product .main-page-wrapper>.container {
    max-width: 100% !important;
    padding: 40px !important;
}

body .vx-sp-wrap {
    max-width: 1100px !important;
    margin: 80px auto 40px auto !important;
    padding: 30px !important;
    background: #fff !important;
}

body .vx-sp-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 50px !important;
    align-items: flex-start !important;
}

/* Fix Product Image Size */
body .vx-sp-left {
    width: 45% !important;
}

body .vx-sp-left .woocommerce-product-gallery {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

body .vx-sp-left .woocommerce-product-gallery img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
}

body .vx-sp-right {
    width: calc(55% - 50px) !important;
}

/* Breadcrumbs */
body .vx-sp-right .woocommerce-breadcrumb {
    margin-bottom: 25px !important;
    padding: 0 !important;
    font-size: 13px !important;
    color: #888 !important;
}

body .vx-sp-right .woocommerce-breadcrumb a {
    color: #888 !important;
    text-decoration: none !important;
}

body .vx-sp-right .woocommerce-breadcrumb a:hover {
    color: #029EDD !important;
}

body .vx-sp-title {
    font-size: 32px !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
    color: #222 !important;
    line-height: 1.2 !important;
}

body .vx-sp-meta {
    /* margin-bottom: 20px !important; */
    font-size: 14px !important;
    color: #555 !important;
    /* padding-bottom: 15px !important; */
    border-bottom: none !important;
}

/* body .vx-sp-meta span {
    margin-right: 20px !important;
} */

body .vx-sp-price {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #029EDD !important;
    margin-bottom: 30px !important;
}

/* Tabs Styling to match RG Demo */
body .vx-sp-tabs {
    margin-top: 40px !important;
}

body .vx-sp-tabs .woocommerce-tabs ul.tabs {
    display: flex !important;
    justify-content: flex-start !important;
    border-bottom: 1px solid #eee !important;
    padding: 0 !important;
    margin: 0 0 25px 0 !important;
    gap: 30px !important;
}

body .vx-sp-tabs .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 0 15px 0 !important;
    box-shadow: none !important;
    position: relative !important;
}

/* Nuke Woodmart's extreme tab styling with higher specificity */
body.single-product .woocommerce-tabs .wd-nav[class*="wd-style-"]>li,
body.single-product .woocommerce-tabs .wd-nav[class*="wd-style-"]>li.active,
body.single-product .woocommerce-tabs .wd-nav[class*="wd-style-"]>li:hover,
body.single-product .woocommerce-tabs .wd-nav[class*="wd-style-"]>li>a,
body.single-product .woocommerce-tabs .wd-nav[class*="wd-style-"]>li.active>a,
body.single-product .woocommerce-tabs .wd-nav[class*="wd-style-"]>li:hover>a {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Strip Woodmart's underlines and overlines */
body.single-product .woocommerce-tabs .wd-nav[class*="wd-style-"]>li::before,
body.single-product .woocommerce-tabs .wd-nav[class*="wd-style-"]>li::after,
body.single-product .woocommerce-tabs .wd-nav[class*="wd-style-"]>li>a::before,
body.single-product .woocommerce-tabs .wd-nav[class*="wd-style-"]>li>a::after {
    display: none !important;
    background: transparent !important;
}

/* Fix Tab Text */
body.single-product .woocommerce-tabs .wd-nav[class*="wd-style-"]>li>a {
    color: #888 !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    text-transform: none !important;
    padding: 0 !important;
}

/* Active State */
body.single-product .woocommerce-tabs .wd-nav[class*="wd-style-"]>li.active>a {
    color: #029EDD !important;
}

body .vx-sp-tabs .woocommerce-Tabs-panel {
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: #555 !important;
}

@media (max-width: 991px) {
    body .single-product .main-page-wrapper>.container {
        padding: 15px !important;
    }

    body .vx-sp-wrap {

        /* single product grouped table wrapper */
        padding: 20px !important;
        /* prevent wide grouped-table content (long SKU/price text) from stretching this card past the viewport */
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    body .vx-sp-left,
    body .vx-sp-right {
        width: 100% !important;
    }

    /* Make the massive product image smaller and centered on mobile */
    body .vx-sp-left .woocommerce-product-gallery {
        max-width: 250px !important;
        margin: 0 auto 20px auto !important;
    }

    body .vx-sp-title {
        font-size: 26px !important;
    }

    body .vx-sp-tabs .woocommerce-tabs ul.tabs {
        flex-wrap: wrap !important;
        gap: 15px !important;
    }
}

/* --- MOBILE MENU FIX --- */
/* Override Woodmart's color-scheme-light so text is visible on the white background */
.mobile-nav .mobile-pages-menu li a .nav-link-text,
.mobile-nav .mobile-pages-menu li a {
    color: #333 !important;
}

.mobile-nav .wd-nav-mobile li.menu-item-has-children>a:after {
    color: #333 !important;
}

/* --- WOODMART SIDE DRAWER CART RE-DESIGN (MATCH RGDEMO) --- */
/* Strictly scoped to body .cart-widget-side so it ONLY affects the Woodmart sidebar drawer */

/* Main Drawer Background */
body .cart-widget-side {
    background-color: #ffffff !important;
    z-index: 9999 !important;
}

body .cart-widget-side * {
    color: #333;
}

body .cart-widget-side a:hover {
    color: #029EDD !important;
}

/* Header & Close Button */
body .cart-widget-side .wd-heading {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 20px !important;
    border-bottom: 1px solid #eee !important;
    margin: 0 !important;
    background: transparent !important;
}

body .cart-widget-side .wd-heading .title {
    font-size: 0 !important;
    /* Hide "Shopping cart" */
}

body .cart-widget-side .wd-heading .title::before {
    content: "Your Cart";
    /* Replace with rgdemo text */
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #333 !important;
    text-transform: capitalize !important;
}

/* Fix mini-cart close button by showing a centered white X. */
body .cart-widget-side .wd-heading .close-side-widget {
    width: 35px !important;
    height: 35px !important;
    background-color: #029EDD !important;
    border-radius: 8px !important;
    padding: 25px 30px !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: transparent !important;
    font-size: 0 !important;
    opacity: 1 !important;
}


body .cart-widget-side .wd-heading .close-side-widget::after,
body .cart-widget-side .wd-heading .close-side-widget::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    background-color: #fff !important;
    width: 16px !important;
    height: 2px !important;
    left: 50% !important;
    top: 50% !important;
    margin: 0 !important;
    transform-origin: center !important;
    z-index: 2 !important;
}

/* Cart Items List Container */
body .cart-widget-side .widget_shopping_cart .cart_list {
    padding: 0 20px !important;
    margin: 0 !important;
}

/* Individual Cart Item */
/* Fix mini-cart item layout to match the compact product-row design. */
body .cart-widget-side .widget_shopping_cart .cart_list li {
    padding: 16px 0 !important;
    border-bottom: 1px solid #eee !important;
    display: flex !important;
    align-items: flex-start !important;
    background: transparent !important;
    position: relative !important;
}

/* Fix mini-cart product image sizing. */
body .cart-widget-side .widget_shopping_cart .cart_list li a.cart-item-image,
body .cart-widget-side .widget_shopping_cart .cart_list li>a:first-child:not(.remove) {
    width: 78px !important;
    min-width: 78px !important;
    max-width: 78px !important;
    height: 78px !important;
    flex-shrink: 0 !important;
    margin-right: 14px !important;
    border: 1px solid #eee !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    display: block !important;
    position: static !important;
    background: #fff !important;
}

body .cart-widget-side .widget_shopping_cart .cart_list li img {
    width: 100% !important;
    height: 100% !important;
    max-width: 78px !important;
    max-height: 78px !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    margin: 0 !important;
    position: static !important;
    border: none !important;
}

/* Hide the overlay 'Show' link so it doesn't block clicks */
body .cart-widget-side .widget_shopping_cart .cart_list li a.cart-item-link.wd-fill {
    display: none !important;
}

/* Product Info Container (Flex for layout) */
body .cart-widget-side .widget_shopping_cart .cart_list li .cart-info {
    flex: 1 !important;
    min-width: 0 !important;
    min-height: 78px !important;
    padding-right: 24px !important;
    position: relative !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
}

/* Product Title Text */
body .cart-widget-side .widget_shopping_cart .cart_list li .cart-info>a,
body .cart-widget-side .widget_shopping_cart .cart_list li .wd-entities-title {
    width: 100% !important;
    font-weight: 600 !important;
    color: #333 !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-transform: uppercase !important;
}

/* Remove Button */
body .cart-widget-side .widget_shopping_cart .cart_list li .remove_from_cart_button {
    position: absolute !important;
    right: 0 !important;
    top: 16px !important;
    font-size: 0 !important;
    /* Hide native "x" text */
    width: 20px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
}

body .cart-widget-side .widget_shopping_cart .cart_list li .remove_from_cart_button::after,
body .cart-widget-side .widget_shopping_cart .cart_list li .remove_from_cart_button::before {
    font-size: 16px !important;
    color: #ccc !important;
}

body .cart-widget-side .widget_shopping_cart .cart_list li .remove_from_cart_button:hover::after,
body .cart-widget-side .widget_shopping_cart .cart_list li .remove_from_cart_button:hover::before {
    color: #ff0000 !important;
}

/* Quantity Input Buttons */
body .cart-widget-side .widget_shopping_cart .cart_list li div.quantity {
    display: inline-flex !important;
    border: 1px solid #eee !important;
    border-radius: 4px !important;
    height: 30px !important;
    background: #fff !important;
}

.product-quantity .quantity p {
    margin-bottom: 0 !important;
}

body .cart-widget-side .widget_shopping_cart .cart_list li div.quantity input[type="button"] {
    width: 25px !important;
    background: #fff !important;
    border: none !important;
    color: #333 !important;
    font-size: 16px !important;
    cursor: pointer !important;
}

body .cart-widget-side .widget_shopping_cart .cart_list li div.quantity input[type="number"] {
    width: 30px !important;
    border: none !important;
    border-left: 1px solid #eee !important;
    border-right: 1px solid #eee !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    -moz-appearance: textfield !important;
    padding: 0 !important;
}

/* Price & "1 x" Text - Hide "1 x" and keep Price */
/* Fix mini-cart quantity text alignment for the compact product row. */
body .cart-widget-side .widget_shopping_cart .cart_list li span.quantity {
    font-size: 14px !important;
    color: #333 !important;
    margin-top: auto !important;
    display: block !important;
}

body .cart-widget-side .widget_shopping_cart .cart_list li span.quantity .amount {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #029EDD !important;
}

/* Subtotal */
body .cart-widget-side .shopping-cart-widget-footer {
    padding: 20px !important;
    background: transparent !important;
}

body .cart-widget-side .woocommerce-mini-cart__total {
    border-top: 1px solid #eee !important;
    padding-top: 20px !important;
    margin-top: 10px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background: transparent !important;
}

body .cart-widget-side .woocommerce-mini-cart__total strong {
    font-size: 16px !important;
    color: #222 !important;
    font-weight: 700 !important;
}

body .cart-widget-side .woocommerce-mini-cart__total .amount {
    font-size: 16px !important;
    color: #029EDD !important;
    font-weight: 700 !important;
}

/* Buttons Container */


body .cart-widget-side .woocommerce-mini-cart__buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 20px !important;
}

body .cart-widget-side .woocommerce-mini-cart__buttons .button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 12px 15px !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}

body .cart-widget-side .woocommerce-mini-cart__buttons .button:not(.checkout) {
    background: #fff !important;
    color: #333 !important;
    border: 1px solid #eaeaea !important;
}

body .cart-widget-side .woocommerce-mini-cart__buttons .button.checkout {
    background: #029EDD !important;
    color: #fff !important;
    border: none !important;
}

body .cart-widget-side .woocommerce-mini-cart__buttons .button.checkout:hover {
    background: #027c9c !important;
}

/* --- ELEMENTOR MENU CART SIDE DRAWER FIX --- */
/* Strictly scoped to --offcanvas so it ONLY affects the sidebar drawer cart */

/* Background */
body .elementor-menu-cart--offcanvas .elementor-menu-cart__main,
body .elementor-menu-cart--offcanvas .elementor-menu-cart__container {
    background-color: #ffffff !important;
}

/* Ensure Text is dark on white background (safely scoped) */
body .elementor-menu-cart--offcanvas .elementor-menu-cart__main,
body .elementor-menu-cart--offcanvas .elementor-menu-cart__main a,
body .elementor-menu-cart--offcanvas .elementor-menu-cart__main span,
body .elementor-menu-cart--offcanvas .elementor-menu-cart__main div {
    color: #333 !important;
}

/* Close Button in Header */
body .elementor-menu-cart--offcanvas .elementor-menu-cart__close-button {
    width: 35px !important;
    height: 35px !important;
    background-color: #029EDD !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body .elementor-menu-cart--offcanvas .elementor-menu-cart__close-button svg,
body .elementor-menu-cart--offcanvas .elementor-menu-cart__close-button i,
body .elementor-menu-cart--offcanvas .elementor-menu-cart__close-button:before {
    fill: #ffffff !important;
    color: #ffffff !important;
}

/* Header border */
body .elementor-menu-cart--offcanvas .elementor-menu-cart__header {
    border-bottom: 1px solid #eee !important;
    padding-bottom: 15px !important;
    margin-bottom: 20px !important;
}

/* Fix Massive Image Issue */
body .elementor-menu-cart--offcanvas .elementor-menu-cart__product-image {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    height: 60px !important;
    flex-shrink: 0 !important;
    margin-right: 15px !important;
    border: 1px solid #eee !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    display: block !important;
    background: #fff !important;
}

body .elementor-menu-cart--offcanvas .elementor-menu-cart__product-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* Layout fixes */
body .elementor-menu-cart--offcanvas .elementor-menu-cart__cart-item {
    padding: 15px 0 !important;
    border-bottom: 1px solid #eee !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
}

body .elementor-menu-cart--offcanvas .elementor-menu-cart__product-name {
    font-weight: 600 !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
    white-space: normal !important;
}

body .elementor-menu-cart--offcanvas .elementor-menu-cart__product-price {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #029EDD !important;
}

/* Subtotal */
body .elementor-menu-cart--offcanvas .elementor-menu-cart__subtotal {
    border-top: 1px solid #eee !important;
    padding-top: 20px !important;
    margin-top: 10px !important;
}

body .elementor-menu-cart--offcanvas .elementor-menu-cart__subtotal .amount {
    color: #029EDD !important;
}

/* Buttons */
body .elementor-menu-cart--offcanvas .elementor-menu-cart__footer-buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 20px !important;
}

body .elementor-menu-cart--offcanvas .elementor-button {
    border-radius: 4px !important;
    width: 100% !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

body .elementor-menu-cart--offcanvas .elementor-button:not(.elementor-button--checkout) {
    background: #f7f7f7 !important;
    color: #333 !important;
    border: 1px solid #eaeaea !important;
}

body .elementor-menu-cart--offcanvas .elementor-button--checkout {
    background: #029EDD !important;
    color: #fff !important;
    border: none !important;
}

.woocommerce-MyAccount-title {
    font-size: 16px !important;
    border-bottom: unset !important;
}

/* Force HFE Navigation Menu arrows to exactly match the text color */
body .elementor-widget-navigation-menu .hfe-nav-menu .hfe-menu-toggle {
    color: currentColor !important;
}

body .elementor-widget-navigation-menu .hfe-nav-menu .hfe-menu-toggle::before,
body .elementor-widget-navigation-menu .hfe-nav-menu .hfe-menu-toggle::after,
body .elementor-widget-navigation-menu .hfe-nav-menu .hfe-menu-toggle i.fa,
body .elementor-widget-navigation-menu .hfe-nav-menu .hfe-menu-toggle i,
body .elementor-widget-navigation-menu .hfe-nav-menu .hfe-menu-toggle svg,
body .elementor-widget-navigation-menu .hfe-nav-menu .hfe-menu-toggle i.fa::before,
body .elementor-widget-navigation-menu .hfe-nav-menu .hfe-menu-toggle i::before,
body .elementor-widget-navigation-menu .hfe-nav-menu .hfe-menu-toggle svg path {
    color: currentColor !important;
    fill: currentColor !important;
}

.elementor-location-header {
    margin-bottom: 0 !important;
}

:is(.btn, .button, button, [type="submit"], [type="button"]) {
    min-height: 0 !important;
}

.main-page-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Hide header/floating tools on My Account page */
.woocommerce-account .elementor-location-header .headdesk .elementor-widget-button:has(a[href*="my-account"]):has(svg),
.woocommerce-account .elementor-location-header .headdesk .elementor-widget-button:has(a[href*="?action=login"]):has(svg),
.woocommerce-account .elementor-location-header .vlp-open-login:has(svg),
.woocommerce-account .elementor-location-header .elementor-widget-vx_mini_cart,
.woocommerce-account .elementor-location-header .elementor-widget:has(.vx-cart-btn),
.woocommerce-account .elementor-widget-vx_mini_cart,
.woocommerce-account .elementor-widget:has(.vx-cart-btn) {
    display: none !important;
}

/* Hide Woodmart mobile bottom toolbar globally */
.wd-toolbar,
.woodmart-toolbar {
    display: none !important;
}

body {
    padding-bottom: 0 !important;
}

/* Hide the useless grey off-canvas sidebar tab on My Account page */
.woocommerce-account .wd-sidebar-opener,
.woocommerce-account .wd-show-sidebar-btn,
.woocommerce-account .woodmart-show-sidebar-btn {
    display: none !important;
}

/* Fix Elementor Custom Archive Widget Columns & Header Alignment */
:is(.elementor-wc-products, .elementor-widget-wc-archive-products) {
    text-align: left !important;
}

.elementor-widget-wc-archive-products .woocommerce-result-count {
    float: left !important;
    line-height: 42px;
    /* Align vertically with the sorting dropdown */
    margin-bottom: 20px !important;
    font-size: 14px;
    color: #777;
}

.elementor-widget-wc-archive-products .woocommerce-ordering {
    float: right !important;
    margin-bottom: 20px !important;
    position: relative;
    z-index: 99;
}

.elementor-widget-wc-archive-products .products.wd-products {
    clear: both !important;
    --wd-col-lg: 4 !important;
}

/* Fix double pagination arrows */
.woocommerce-pagination .page-numbers.next:after,
.woocommerce-pagination .page-numbers.next:before,
.woocommerce-pagination .page-numbers.prev:after,
.woocommerce-pagination .page-numbers.prev:before,
.wd-pagination .page-numbers.next:after,
.wd-pagination .page-numbers.next:before,
.wd-pagination .page-numbers.prev:after,
.wd-pagination .page-numbers.prev:before {
    display: none !important;
    content: none !important;
}

@media (min-width: 1024px) {
    .elementor-widget-wc-archive-products .products.wd-products {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

/* =============================================
   CART PAGE FIXES
   ============================================= */

/* 1. Fix Cart Quantity Input Style */
.woocommerce-cart-form__cart-item .quantity {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    background: #fff !important;
}

.woocommerce-cart-form__cart-item .quantity input[type="button"] {
    background: #f4f6f9 !important;
    color: #333 !important;
    width: 30px !important;
    /* stretch to the flex container's actual height instead of a fixed px value, so no gap shows at the rounded corners */
    height: auto !important;
    align-self: stretch !important;
    border: none !important;
    font-size: 16px !important;
    cursor: pointer !important;
    padding: 0 !important;
    /* remove native button chrome so the background color fills the whole box */
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.woocommerce-cart-form__cart-item .quantity input[type="button"]:hover,
.woocommerce-cart-form__cart-item .quantity input[type="button"]:active {
    background: #029EDD !important;
    color: #fff !important;
    outline: none !important;
    box-shadow: none !important;
}

/* don't keep the blue background after click releases focus */
.woocommerce-cart-form__cart-item .quantity input[type="button"]:focus:not(:hover):not(:active) {
    background: #f4f6f9 !important;
    color: #333 !important;
}

.woocommerce-cart-form__cart-item .quantity input[type="number"] {
    border: none !important;
    border-left: 1px solid #e4e7ec !important;
    border-right: 1px solid #e4e7ec !important;
    width: 40px !important;
    height: 36px !important;
    text-align: center !important;
    padding: 0 !important;
    background: transparent !important;
}

/* 2. Center text in "UPDATE CART" button */
/* button[name="update_cart"] {
    text-align: center !important;
    padding: 10px 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
} */

/* 3. Fix double border on Cart Totals Box */
.cart-collaterals {
    border: none !important;
    box-shadow: none !important;
}

.cart-collaterals .cart_totals {
    border: none !important;
    /* Remove this border since the parent might have one, or vice versa */
    box-shadow: none !important;
    background: transparent !important;
}

.cart-collaterals .cart_totals-inner {
    border: 1px solid #e5e5e5 !important;
    padding: 30px !important;
    background: #fff !important;
}

.cart-collaterals .cart_totals>h2,
.cart-collaterals .cart_totals-inner>h2 {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.cart-collaterals .cart_totals table.shop_table {
    border: none !important;
    box-shadow: none !important;
}

.cart-collaterals .cart_totals .update-cart-btn,
.cart-collaterals .cart_totals a[class*="update-cart"] {
    display: none !important;
}

/* =============================================
   CHECKOUT PAGE FIXES
   ============================================= */

/* Page Background & Header Overlap Fix */
body.woocommerce-checkout .main-page-wrapper {
    background-color: #f9f9f9 !important;
    padding-top: 50px !important;
    padding-bottom: 80px !important;
}

/* Force 2-Column Grid Layout for Checkout */
body.woocommerce-checkout form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: 1fr 450px !important;
    gap: 40px !important;
    align-items: flex-start !important;
    background: transparent !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Billing Details Card */
body.woocommerce-checkout form.checkout.woocommerce-checkout #customer_details {
    grid-column: 1 !important;
    background: #fff !important;
    padding: 30px !important;
    border-radius: 4px !important;
    border: 1px solid #e5e5e5 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Order Review Card Wrapper */
body.woocommerce-checkout form.checkout.woocommerce-checkout .checkout-order-review {
    grid-column: 2 !important;
    background: #fff !important;
    padding: 30px !important;
    border-radius: 4px !important;
    border: 1px solid #e5e5e5 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Order Review Inner Elements */
body.woocommerce-checkout form.checkout.woocommerce-checkout h3#order_review_heading {
    position: static !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    text-align: left !important;
    border: none !important;
    width: 100% !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout #order_review {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Ensure inputs in billing have a clean background */
body.woocommerce-checkout form.checkout.woocommerce-checkout #customer_details .input-text,
body.woocommerce-checkout form.checkout.woocommerce-checkout #customer_details select {
    background: #f9f9f9 !important;
    border: 1px solid #e5e5e5 !important;
}

/* Mobile Responsiveness */
@media (max-width: 991px) {
    body.woocommerce-checkout form.checkout.woocommerce-checkout {
        grid-template-columns: 1fr !important;
    }

    body.woocommerce-checkout form.checkout.woocommerce-checkout #customer_details,
    body.woocommerce-checkout form.checkout.woocommerce-checkout .checkout-order-review {
        grid-column: 1 !important;
    }

    /* Remove checkout wrapper top and bottom spacing on mobile/tablet screens. */
    body.woocommerce-checkout .main-page-wrapper {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* =============================================
   EMPTY CART PAGE FIX
   ============================================= */
.woocommerce-cart .woocommerce:has(.cart-empty) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 15px !important;
    padding: 40px 20px !important;
    width: 100% !important;
}

.woocommerce-cart .woocommerce .cart-empty,
.woocommerce-cart .woocommerce .wd-empty-page-text,
.woocommerce-cart .woocommerce .return-to-shop {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 auto !important;
    float: none !important;
}

.woocommerce-cart .woocommerce .cart-empty::before {
    display: block !important;
    margin: 0 auto 20px auto !important;
}

.woocommerce-cart .woocommerce .return-to-shop .button {
    display: inline-block !important;
    margin-top: 20px !important;
}

/* === WOOCOMMERCE SHOP FIXES === */
body.woocommerce-shop .main-page-wrapper,
body.post-type-archive-product .main-page-wrapper,
body.tax-product_cat .main-page-wrapper {
    padding-top: 100px !important;
}

/* Sidebar Styling */
.woodmart-woocommerce-layered-nav .widget-title,
.widget_product_categories .widget-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin-bottom: 20px !important;
    text-transform: none !important;
}

.widget_product_categories ul li {
    border-bottom: 1px solid #eee;
    padding: 3px !important;
}

.widget_product_categories ul.children li {
    border-bottom: none !important;
}

.widget_product_categories>ul>li:last-child {
    border-bottom: none !important;
}

.widget_product_categories ul li a {
    color: #333 !important;
    font-size: 14px !important;
}

.product-grid-item:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1) !important;
}

.product-grid-item .product-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin-top: 10px !important;
}

.product-grid-item .login-to-see-prices {
    text-align: center;
    color: #029EDD !important;
    font-size: 13px;
    margin-top: 10px;
    display: block;
}

/* === FIX MOBILE OFFCANVAS SIDEBAR Z-INDEX === */
.area-sidebar-shop,
.sidebar-container,
.woodmart-sidebar-mobile {
    z-index: 99999 !important;
}

body.woodmart-show-sidebar .area-sidebar-shop,
body.wd-sidebar-opened .area-sidebar-shop {
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 100vh !important;
    width: 320px !important;
    max-width: 85vw !important;
    background: #fff !important;
    z-index: 999999 !important;
    padding: 30px 20px !important;
    overflow-y: auto !important;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.2) !important;
}

.woodmart-close-side {
    z-index: 9999999 !important;
}

/* Fix double cross icon on cart/checkout remove buttons */
body td.product-remove a.remove::before,
body .product-remove a.remove::before {
    display: none !important;
}

/* Fix grouped-product row overlap by giving image, quantity, details, and price stable columns. */
body.single-product table.group_table tr.woocommerce-grouped-product-list-item {
    display: grid !important;
    grid-template-columns: 90px 110px minmax(0, 1fr) minmax(90px, 15%) !important;
    gap: 20px !important;
    align-items: center !important;
}

body.single-product table.group_table tr.woocommerce-grouped-product-list-item td {
    width: auto !important;
    min-width: 0 !important;
}

/* Fix single-product grouped quantity controls to match the compact light-gray segmented UI. */
body.single-product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 110px !important;
    height: 40px !important;
    margin: 0 !important;
    border: 2px solid #e2e6ec !important;
    border-radius: 9px !important;
    overflow: hidden !important;
    background: #fff !important;
}

body.single-product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity input.minus,
body.single-product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity input.plus,
body.single-product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity input.qty {
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
    font-size: 17px !important;
    line-height: 48px !important;
}

body.single-product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity input.minus,
body.single-product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity input.plus {
    width: 32px !important;
    flex: 0 0 32px !important;
    background: #f1f3f6 !important;
    color: #4e555d !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

body.single-product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity input.qty {
    width: 46px !important;
    flex: 1 1 auto !important;
    background: #fff !important;
    color: #333 !important;
    font-weight: 500 !important;
    -moz-appearance: textfield !important;
}

body.single-product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity input.qty::-webkit-outer-spin-button,
body.single-product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity input.qty::-webkit-inner-spin-button {
    margin: 0 !important;
    -webkit-appearance: none !important;
}

body.single-product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity input.minus:hover,
body.single-product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity input.plus:hover,
body.single-product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity input.minus:active,
body.single-product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity input.plus:active {
    background: #029edd !important;
    color: #fff !important;
}

body .cart-widget-side .wd-heading .close-side-widget::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
}

body .cart-widget-side .wd-heading .close-side-widget::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
}

/* Fix mini-cart metadata visibility and place the SKU above quantity pricing. */
body .cart-widget-side .widget_shopping_cart .cart_list li .wd-product-sku {
    display: block !important;
    width: 100% !important;
    margin-bottom: 6px !important;
}

/* Fix mini-cart SKU label color and weight. */
body .cart-widget-side .widget_shopping_cart .cart_list li .cart-info .wd-product-sku .wd-label {
    color: #100f0f !important;
    font-weight: 600 !important;
}

body .cart-widget-side .widget_shopping_cart .cart_list li span.quantity {
    margin-top: auto !important;
    color: #333 !important;
    font-size: 14px !important;
    padding-right: 2px !important;
    padding-left: 2px !important;
    line-height: 1.5 !important;
}



/* Fix mini-cart metadata visibility and place the SKU above quantity pricing. */
body .cart-widget-side .widget_shopping_cart .cart_list li .wd-product-sku {
    display: block !important;
    width: 100% !important;
    margin-bottom: 6px !important;
}

/* Fix mini-cart SKU label color and weight. */
body .cart-widget-side .widget_shopping_cart .cart_list li .cart-info .wd-product-sku .wd-label {
    color: #100f0f !important;
    font-weight: 600 !important;
}

body .cart-widget-side .widget_shopping_cart .cart_list li span.quantity {
    margin-top: auto !important;
    color: #333 !important;
    font-size: 14px !important;
    padding-right: 2px !important;
    padding-left: 2px !important;
    line-height: 1.5 !important;
}

/*top nav color */
.elementor-44071 .elementor-element.elementor-element-639680d9 .menu-item a.hfe-menu-item,
.elementor-44071 .elementor-element.elementor-element-639680d9 .sub-menu a.hfe-sub-menu-item {
    color: var(--e-global-color-a753b86);
}


/*view cart widget side button styles */
/*view cart widget side button styles */
body .cart-widget-side .widget_shopping_cart .woocommerce-mini-cart__buttons a.btn-cart,
body .cart-widget-side .widget_shopping_cart .woocommerce-mini-cart__buttons a.btn-cart:hover,
body .cart-widget-side .widget_shopping_cart .woocommerce-mini-cart__buttons a.btn-cart:focus {
    background-color: #f4f6f9 !important;
    color: #1a1f26 !important;
}

/* Fix Woodmart Side Cart Scrolling when Custom Header Builder is bypassed */
body.vx-body-locked {
    overflow: hidden !important;
    touch-action: none !important;
}

body.vx-body-locked .cart-widget-side,
body.vx-body-locked .login-form-side,
body.vx-body-locked .vx-mob-sidebar {
    touch-action: auto !important;
}

/* 100% Unbreakable Side Cart Flexbox Scrolling */
body .cart-widget-side {
    display: flex !important;
    flex-direction: column !important;
}

body .cart-widget-side .wd-heading {
    flex: 0 0 auto !important;
}

body .cart-widget-side .widget_shopping_cart,
body .cart-widget-side .widget_shopping_cart_content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
}

body .cart-widget-side .shopping-cart-widget-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
}

body .cart-widget-side .shopping-cart-widget-footer {
    flex: 0 0 auto !important;
}

body .cart-widget-side .wd-scroll-content {
    max-height: none !important;
    overflow: visible !important;
}

/* Fix duplicate archive Details buttons by hiding the first archive-only link. */
/* p#prod-archive-details-button {
    display: none !important;
} */

/* Fix simple-product quantity controls to match the grouped-product UI. */
body.single-product form.cart>.quantity {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 110px !important;
    height: 40px !important;
    margin: 0 !important;
    border: 2px solid #e2e6ec !important;
    border-radius: 9px !important;
    overflow: hidden !important;
    background: #fff !important;
}

body.single-product form.cart>.quantity input.minus,
body.single-product form.cart>.quantity input.plus,
body.single-product form.cart>.quantity input.qty {
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
    font-size: 17px !important;
    line-height: 36px !important;
}

body.single-product form.cart>.quantity input.minus,
body.single-product form.cart>.quantity input.plus {
    width: 32px !important;
    flex: 0 0 32px !important;
    background: #f1f3f6 !important;
    color: #4e555d !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

body.single-product form.cart>.quantity input.qty {
    width: 46px !important;
    flex: 1 1 auto !important;
    background: #fff !important;
    color: #333 !important;
    font-weight: 500 !important;
    -moz-appearance: textfield !important;
}

body.single-product form.cart>.quantity input.qty::-webkit-outer-spin-button,
body.single-product form.cart>.quantity input.qty::-webkit-inner-spin-button {
    margin: 0 !important;
    -webkit-appearance: none !important;
}

body.single-product form.cart>.quantity input.minus:hover,
body.single-product form.cart>.quantity input.plus:hover,
body.single-product form.cart>.quantity input.minus:focus,
body.single-product form.cart>.quantity input.plus:focus {
    background: #029edd !important;
    color: #fff !important;
}

/* Archive Details button: visible, brand blue, turns black on hover.
   ID repeated to out-specificity the generated xts-theme_settings CSS (.archive .wd-products #id a). */
p#prod-archive-details-button#prod-archive-details-button a,
p#prod-archive-details-button#prod-archive-details-button a i {
    color: #029EDD !important;
}

p#prod-archive-details-button#prod-archive-details-button a:hover,
p#prod-archive-details-button#prod-archive-details-button a:hover i {
    color: #000000 !important;
}

/* Reduce shop archive top spacing on mobile/tablet screens. */
@media (max-width: 991px) {

    body.woocommerce-shop .main-page-wrapper,
    body.post-type-archive-product .main-page-wrapper,
    body.tax-product_cat .main-page-wrapper {
        padding-top: 15px !important;
    }
}

@media (max-width: 768.98px) {
    .woocommerce table.cart.shop-table-with-img td.product-thumbnail {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 70px !important;
        height: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;
        max-height: 70px !important;
        min-height: 70px !important;
        padding: 0 !important;
        overflow: hidden !important;
        border-bottom: none !important;
    }

    .woocommerce table.cart.shop-table-with-img td.product-thumbnail::before {
        display: none !important;
    }

    .woocommerce table.cart.shop-table-with-img td.product-thumbnail a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 100% !important;
        padding-left: 6px !important;
        padding-top: 6px !important;
        box-sizing: border-box !important;
    }

    .woocommerce table.cart.shop-table-with-img td.product-thumbnail img {
        display: block !important;
        width: auto !important;
        height: auto !important;
        max-width: 60px !important;
        max-height: 60px !important;
        object-fit: contain !important;
        object-position: center !important;
        border: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .woocommerce table.cart.shop-table-with-img tr {
        margin-top: 15px !important;
        margin-left: 5px !important;
        margin-bottom: 15px !important;
        padding-left: 80px !important;
        padding-bottom: 0px !important;
    }

    /* remove responsive row bottom padding on mobile */
    .woocommerce .shop_table_responsive tr {
        padding-bottom: 0 !important;
    }

    /* make the divider between cart items bolder/darker on mobile */
    .woocommerce table.cart.shop-table-with-img tr.woocommerce-cart-form__cart-item {
        border-bottom: 2px solid #d0d0d0 !important;
    }



    /* remove line under subtotal cell on mobile */
    .woocommerce table.cart.shop-table-with-img td.product-subtotal {
        border-bottom: none !important;
    }

    /* hide grouped product thumbnail column on mobile - selector must out-specify the .shop-table-with-img td.product-thumbnail flex rule above */
    .woocommerce table.cart.shop-table-with-img td.product-thumbnail.woocommerce-grouped-product-list-item__thumbnail,
    .woocommerce table.woocommerce-grouped-product-list td.product-thumbnail.woocommerce-grouped-product-list-item__thumbnail {
        display: none !important;

    }

    /* cart page  cross button fix mobile view*/
    .woocommerce table.cart td.product-remove {
        width: auto !important;
        padding-right: 0;
        border-bottom: none !important;
    }

    /* reserve space so long product names don't run under the absolutely-positioned remove (x) button */
    .woocommerce table.cart td.product-name {
        padding-right: 55px !important;
        box-sizing: border-box !important;
        max-width: 100% !important;
    }

    .woocommerce table.shop_table.cart tbody td {
        padding: 10px 14px !important;
    }

    /* higher-specificity than the tbody td rule above, so the remove-button clearance isn't reset */
    .woocommerce table.shop_table.cart tbody td.product-name {
        padding-right: 55px !important;
    }

    .woocommerce table.shop_table.cart tr.wd-cart-action-row {
        padding-left: 0 !important;
    }

    /* remove top gap above update cart button on mobile */
    .cart-table-section>.cart .cart-actions>:is(.button, .wd-coupon-form) {
        margin-top: 0 !important;
    }

    .woocommerce-cart form.woocommerce-cart-form {
        margin-bottom: 10px !important;
    }

    /* reduce oversized padding inside cart totals box on mobile */
    .woocommerce-cart .cart_totals {
        padding: 0 !important;
    }

    body.woocommerce-cart .cart_totals .cart-totals-inner>h2 {
        border-bottom: 2px solid #555555 !important;
        padding-bottom: 12px !important;
    }

    /* --- MOBILE MENU FIX --- */
    /* Override Woodmart's color-scheme-light so text is visible on the white background */
    .mobile-nav .mobile-pages-menu li a .nav-link-text,
    .mobile-nav .mobile-pages-menu li a {
        color: #333 !important;
    }

    .vx-mob-sidebar .vx-mob-header {
        position: relative !important;
        height: 72px !important;
        box-sizing: border-box !important;
        padding: 0 16px !important;
        background: #fff !important;
        border-bottom: 1px solid #e4e7ec !important;
    }

    .vx-mob-sidebar .vx-mob-logo {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 180px !important;
        max-width: calc(100% - 96px) !important;
        height: 60px !important;
        margin: 0 !important;
        object-fit: contain !important;
        transform: translate(-50%, -50%) !important;
    }

    .vx-mob-sidebar .vx-mob-close {
        position: relative !important;
        z-index: 1 !important;
        order: -1 !important;
        width: 35px !important;
        height: 35px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        color: #333 !important;
        font-size: 45px !important;
        font-weight: 400 !important;

    }

}


/* align the cart action to the right on larger screens */
@media (min-width: 769px) {

    body.woocommerce-cart .cart_totals .cart-totals-inner>h2 {
        border-bottom: 3px solid #555555 !important;
        padding-bottom: 12px !important;
    }

    .woocommerce table.shop_table.cart tr.wd-cart-action-row .cart-actions {
        justify-content: flex-end !important;
    }

    .woocommerce table.shop_table.cart tr.wd-cart-action-row .cart-actions button[name="update_cart"] {
        width: auto !important;
        margin-left: auto !important;
        margin-top: 1% !important;
    }
}

/* hide the product gallery action */
.wd-show-product-gallery-wrap.wd-action-btn.wd-style-icon-bg-text.wd-gallery-btn {
    display: none !important;
}

/* use regular Arimo for cart product names */
body.woocommerce-cart table.cart td.product-name a {
    font-family: 'Arimo', sans-serif !important;
    font-weight: 700 !important;
}

/* reduce Cart Totals font weights across all views */
body.woocommerce-cart .cart_totals h2,
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td,
body.woocommerce-cart .cart_totals table.shop_table .amount {
    font-family: 'Arimo', sans-serif !important;
    font-weight: 700 !important;
}

/* force the divider below the Cart Totals heading */


/* add the product-list table border on the cart page */
.woocommerce table.cart.shop-table-with-img {
    border: 3px solid var(--brdcolor-gray-200) !important;
}

/* ===== DEV testing fixes (Oct 2026) ===== */
/* #1 Mini cart: hide Checkout so orders go via the cart page */
.woocommerce-mini-cart__buttons .checkout,
.elementor-menu-cart__footer-buttons .elementor-button--checkout {
 display: none !important;
}
/* #3 Pump-over checkbox: make it stand out (styling only; the module controls when it shows) */
.cart-notes {
 margin-top: 10px;
 padding: 10px 14px;
 background: #e6f6fd;
 border: 2px solid #029EDD;
 border-radius: 6px;
}
.cart-notes label {
 display: flex !important;
 align-items: center;
 gap: 8px;
 margin: 0;
 font-size: 15px !important;
 font-weight: 700 !important;
 color: #1a1f26 !important;
 cursor: pointer;
}
.cart-notes input[type="checkbox"] {
 width: 20px;
 height: 20px;
}
/* #4 Hide "(estimated for New Zealand)" next to GST (display only) */
.cart_totals tr.tax-total th small,
.cart_totals tr.tax-rate th small {
 display: none !important;
}

/* #5 My Account: account menu as one row above the content (desktop) */
@media (min-width: 1025px) {
    body.woocommerce-account .woocommerce:has(.wd-my-account-sidebar) {
        display: block !important;
    }
    body.woocommerce-account .wd-my-account-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        float: none !important;
        margin: 0 0 30px 0 !important;
        padding: 0 !important;
        border: none !important;
    }
    body.woocommerce-account .woocommerce-MyAccount-title {
        display: none !important;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation {
        padding: 0 !important;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0 24px !important;
        border-top: none !important;
        border-bottom: 2px solid #029EDD !important;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation ul li,
    body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active {
        border-bottom: none !important;
    }
    body.woocommerce-account .woocommerce-MyAccount-content {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        float: none !important;
        padding: 0 !important;
        border: none !important;
    }
}

/* #6 Hover menu on the top-right My Account button (classes added to the header in Elementor) */
.elementor-widget.vx-account-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    padding-top: 6px;
    z-index: 9999;
}
@media (min-width: 1025px) {
    body.logged-in .vx-account-btn:hover ~ .vx-account-dropdown,
    body.logged-in .vx-account-btn:focus-within ~ .vx-account-dropdown,
    body.logged-in .vx-account-dropdown:hover,
    body.logged-in .vx-account-dropdown:focus-within {
        display: block;
    }
}
.vx-account-menu {
    list-style: none;
    margin: 0;
    padding: 8px 0;
    min-width: 200px;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}
.vx-account-menu li a {
    display: block;
    padding: 8px 16px;
    color: #1a1f26;
    font-size: 14px;
    font-weight: 600;
    text-align: left;
    white-space: nowrap;
}
.vx-account-menu li a:hover {
    color: #029EDD;
    background: #f3f9fc;
}

/* #7 Cart page: "My Cart" heading and centred remove (X) */
body.woocommerce-cart .woocommerce-cart-form::before {
    content: "My Cart";
    display: block;
    margin: 0 0 20px 0;
    font-size: 28px;
    font-weight: 800;
    text-transform: uppercase;
    color: #1a1f26;
}
body.woocommerce-cart td.product-remove a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    padding: 0 !important;
    text-align: center !important;
}

/* #8 Header cart icon: no border or selected look, visible on any background */
.elementor-menu-cart__toggle_button,
.elementor-menu-cart__toggle_button:hover,
.elementor-menu-cart__toggle_button:focus,
.elementor-menu-cart__toggle_button:active {
    background: #fff !important;
    border: none !important;
    outline: none !important;
    border-radius: 50% !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15) !important;
}
.elementor-menu-cart__toggle_button .elementor-button-icon,
.elementor-menu-cart__toggle_button .elementor-button-icon i,
.elementor-menu-cart__toggle_button .elementor-button-icon svg {
    color: #029EDD !important;
    fill: #029EDD !important;
}

/* #9 Stock ticks on grouped products: wider column, no wrap */
@media (min-width: 769px) {
    body.single-product table.group_table tr.woocommerce-grouped-product-list-item {
        grid-template-columns: 90px 110px minmax(0, 1fr) minmax(170px, 22%) !important;
    }
    body.single-product .woocommerce-grouped-product-list-item__price .price {
        white-space: nowrap !important;
    }
}

/* #10 Product tiles on any page: same image height */
.product-grid-item .product-element-top .product-image-link {
    display: flex !important;
    align-items: center;    
    justify-content: center;
    height: 240px;
}
.product-grid-item .product-element-top .product-image-link img {
    max-height: 100% !important;
    width: auto !important;
    object-fit: contain !important;
}

/* ===== end DEV testing fixes ===== */

/* ===== Kial 22 Oct: #1 top menu colour + #2 cart icon (header top bar only) ===== */
/* White over the dark hero photos. Dark on light pages: shop, products, cart, account,
   the older pages, plus these full-width pages with light tops:
   41831 Lube Guide, 43495 Sustainability, 43463 Our Team, 28191 old Contact. */
   .headdesk .elementor-menu-cart__toggle_button,
   .headdesk .elementor-menu-cart__toggle_button:hover,
   .headdesk .elementor-menu-cart__toggle_button:focus,
   .headdesk .elementor-menu-cart__toggle_button:active {
       background: transparent !important;
       border: 1px solid rgba(255, 255, 255, 0.7) !important;
       border-radius: 8px !important;
       box-shadow: none !important;
   }
   .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon,
   .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon i,
   .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon svg {
       color: #fff !important;
       fill: #fff !important;
   }
   .headdesk .elementor-widget-navigation-menu a:hover {
       color: #029EDD !important;
   }
   body:not(.page-template-elementor_header_footer) .headdesk .elementor-widget-navigation-menu a,
   body.page-id-41831 .headdesk .elementor-widget-navigation-menu a,
   body.page-id-43495 .headdesk .elementor-widget-navigation-menu a,
   body.page-id-43463 .headdesk .elementor-widget-navigation-menu a,
   body.page-id-28191 .headdesk .elementor-widget-navigation-menu a {
       color: #1A1F26 !important;
   }
   body:not(.page-template-elementor_header_footer) .headdesk .elementor-widget-navigation-menu a:hover,
   body.page-id-41831 .headdesk .elementor-widget-navigation-menu a:hover,
   body.page-id-43495 .headdesk .elementor-widget-navigation-menu a:hover,
   body.page-id-43463 .headdesk .elementor-widget-navigation-menu a:hover,
   body.page-id-28191 .headdesk .elementor-widget-navigation-menu a:hover {
       color: #029EDD !important;
   }
   body:not(.page-template-elementor_header_footer) .headdesk .elementor-menu-cart__toggle_button,
   body.page-id-41831 .headdesk .elementor-menu-cart__toggle_button,
   body.page-id-43495 .headdesk .elementor-menu-cart__toggle_button,
   body.page-id-43463 .headdesk .elementor-menu-cart__toggle_button,
   body.page-id-28191 .headdesk .elementor-menu-cart__toggle_button {
       border-color: rgba(26, 31, 38, 0.35) !important;
   }
   body:not(.page-template-elementor_header_footer) .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon,
   body.page-id-41831 .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon,
   body.page-id-43495 .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon,
   body.page-id-43463 .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon,
   body.page-id-28191 .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon,
   body:not(.page-template-elementor_header_footer) .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon i,
   body.page-id-41831 .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon i,
   body.page-id-43495 .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon i,
   body.page-id-43463 .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon i,
   body.page-id-28191 .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon i,
   body:not(.page-template-elementor_header_footer) .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon svg,
   body.page-id-41831 .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon svg,
   body.page-id-43495 .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon svg,
   body.page-id-43463 .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon svg,
   body.page-id-28191 .headdesk .elementor-menu-cart__toggle_button .elementor-button-icon svg {
       color: #1A1F26 !important;
       fill: #1A1F26 !important;
   }
   /* ===== end Kial 22 Oct ===== */