/**
* Theme Name:        avanam-majori
* Theme URI:         https://nexagood.in/
* Template:          avanam
* Author:            TemplateMela
* Author URI:        #
* Description:       This is a child theme of Avanam, generated by TemplateMela.
* Version:           1.0.0
* License:           GNU General Public License v3.0 (or later)
* License URI:       https://www.gnu.org/licenses/gpl-3.0.html
* Text Domain:       avanam-majori
* Requires at least: 6.2
* Tested up to:      6.6
* Requires PHP:      7.4
* Tags: translation-ready, two-columns, right-sidebar, left-sidebar, footer-widgets, blog, custom-logo, custom-background, custom-menu, rtl-language-support, editor-style, threaded-comments, custom-colors, featured-images, wide-blocks, full-width-template, theme-options, e-commerce

*/


/* ============================================================
   CUSTOM ACCESSIBILITY & PERFORMANCE FIXES (MOVED TO TOP) 
   ============================================================ */


/* Center Top Bar Text & Remove Empty Right Side */

.site-top-header-inner-wrap {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

.site-header-top-section-right {
    display: none !important;
}

.site-header-top-section-left {
    width: 100% !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

.header-html-inner {
    text-align: center !important;
    margin: 0 auto !important;
}


/* Hide Theme Color Palette Switcher */

.base-color-palette-fixed-switcher {
    display: none !important;
}


/* Fix Accessibility Contrast on Single Product Page */

.woocommerce div.product p.price del,
.woocommerce div.product span.price del,
.woocommerce div.product p.price del span.amount,
.woocommerce div.product span.price del span.amount {
    color: #555555 !important;
    opacity: 1 !important;
}

.woocommerce .woocommerce-product-rating .woocommerce-review-link,
.woocommerce-product-rating .rating-text {
    color: #444444 !important;
}

.woocommerce .quantity input.qty {
    color: #222222 !important;
    background-color: #ffffff !important;
    border-color: #777777 !important;
}

fieldset.bas_radio_variations label,
.woocommerce div.product form.cart .variations label {
    color: #222222 !important;
}

fieldset.bas_radio_variations input:checked+label {
    background-color: #C05600 !important;
    border-color: #C05600 !important;
    color: #FFFFFF !important;
}


/* Fix Search Bar Accessibility Contrast */

.search-field::placeholder,
.search-form input[type="search"]::placeholder,
.woocommerce-product-search input[type="search"]::placeholder {
    color: #555555 !important;
    opacity: 1 !important;
}

.search-field,
.search-form input[type="search"],
.woocommerce-product-search input[type="search"],
.screen-reader-text {
    color: #222222 !important;
}


/* Fix Star Rating Contrast */

.woocommerce .star-rating span::before,
.woocommerce .star-rating::before,
.woocommerce-product-rating .star-rating span::before {
    color: #D48800 !important;
}


/* Fix Strikethrough Price <bdi> Contrast */

.woocommerce div.product p.price del *,
.woocommerce div.product span.price del * {
    color: #555555 !important;
    opacity: 1 !important;
}


/* Fix Baseline Wrapper Text Contrast */

#wrapper.site,
.wp-site-blocks,
.skip-link {
    color: #333333;
}


/* Fix Active Swatch Background Contrast (.selectedValue class) */

label.selectedValue,
.bt-radio-variation-container input:checked+label,
fieldset.bas_radio_variations input:checked+label {
    background-color: #9E4500 !important;
    border-color: #9E4500 !important;
    color: #FFFFFF !important;
}


/* Fix Quantity Box Contrast & Prevent Jump on Refresh */

.woocommerce div.product form.cart .quantity {
    min-width: 120px;
    /* Reserves space so it doesn't jump when +/- load */
    display: flex;
    align-items: center;
}

.woocommerce div.product form.cart .quantity input.qty {
    color: #222222 !important;
    background-color: #ffffff !important;
    border: 1px solid #777777 !important;
}


/* Fix WooCommerce Product Tabs Contrast */

.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce-tabs .wc-tabs li a {
    color: #444444 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs .wc-tabs li.active a {
    color: #111111 !important;
    font-weight: bold !important;
}


/* Force All Variation Swatches (Unselected) to be Accessible (Except Color Swatches) */

.bt-radio-variation-container label:not([for^="attribute_pa_color"]),
fieldset.bas_radio_variations label:not([for^="attribute_pa_color"]) {
    background-color: #ffffff !important;
    color: #333333 !important;
    border: 1px solid #999999 !important;
}


/* Make Color Swatches Perfect Squares (Bulletproof) */

body .bt-radio-variation-container label[for^="attribute_pa_color"],
body fieldset.bas_radio_variations label[for^="attribute_pa_color"],
body .woocommerce div.product form.cart .variations label[for^="attribute_pa_color"] {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    /* Exact sharp square as requested */
    display: inline-block !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 40px !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
    text-indent: -9999px !important;
    /* Pushes any spaces completely out of the box */
    box-sizing: border-box !important;
}


/* Remove All Focus Outlines, Rings, and Mobile Tap Highlights (Brutal Force) */

*,
*::before,
*::after {
    outline: none !important;
    -webkit-tap-highlight-color: transparent !important;
    /* Removes mobile tap highlight box */
}

*:focus,
*:active,
*:focus-visible,
*:focus-within,
button:focus,
input:focus,
a:focus,
label:focus,
input:focus+label {
    outline: none !important;
    box-shadow: none !important;
    /* Some plugins use box-shadow instead of outline */
}


/* Fix Unsized Image Elements & Prevent Layout Shifts (CLS) */

.woocommerce-product-gallery__image img,
img.attachment-shop-single,
img.attachment-woocommerce_thumbnail {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
}

.avatar {
    aspect-ratio: 1 / 1;
}


/* Guarantee Star Rating Contrast Passes */

body .woocommerce .star-rating,
body .woocommerce .star-rating span,
body .woocommerce .star-rating::before,
body .woocommerce .star-rating span::before {
    color: #C05600 !important;
}


/* ============================================================
   ORIGINAL THEME CSS (INCLUDING RESPONSIVE MEDIA QUERIES) 
   ============================================================ */


/* ============================================================
   PREMIUM PRODUCT VARIANTS STYLING
   ============================================================ */

body,
html {
    -webkit-tap-highlight-color: transparent;
}


/* Home Page */

.elementor-page-3271 .content-area {
    margin-bottom: 0;
}

#cookie-popup.popup-drawer {
    z-index: 9999999;
}

body .testimonial-section .item-box::after {
    display: none;
}

.home .elementor-widget-tmcore-testimonials .star-rating-block .star-rating span {
    font-size: 19px !important;
}

body #cookie-popup.popup-drawer .drawer-inner.float_left,
#cookie-popup.popup-drawer .drawer-inner.float_right {
    right: auto;
    left: 60px;
}

.elementor-testimonial-item .item-box {
    height: 100%;
}


/* Home Page */


/* Variations Container */

.woocommerce div.product form.cart .variations {
    display: block !important;
}

.woocommerce div.product form.cart .variations tr {
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce div.product form.cart .variations td.label {
    padding-bottom: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 16px !important;
    color: #1a1a1a !important;
    display: block !important;
}


/* Fieldset Layout */

body:not(.wp-admin) fieldset.bas_radio_variations {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    border: none !important;
    padding: 10px 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    width: 100% !important;
    position: relative !important;
}


/* Hide original radio but keep it functional */

body:not(.wp-admin) fieldset.bas_radio_variations input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    z-index: -1 !important;
}

.single-product.woocommerce div.product form.cart .variations tbody {
    display: block;
}


/* The Card (Label) */

body:not(.wp-admin) fieldset.bas_radio_variations label {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 16px 15px 16px 40px !important;
    width: calc(50% - 5px) !important;
    flex: 0 0 calc(50% - 5px) !important;
    border: 2px solid #000000 !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    position: relative !important;
    transition: all 0.5s !important;
    min-height: 40px !important;
    margin: 0 !important;
    background-color: #ffffff !important;
    font-weight: 600 !important;
    text-transform: none !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    color: #000000 !important;
    box-sizing: border-box !important;
    z-index: 1 !important;
    background-image: radial-gradient(circle at 20px 50%, #fff 7px, #eb6f0f 8px, #eb6f0f 9px, transparent 10px) !important;
    background-repeat: no-repeat !important;
    background-position: 0 center !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations label:hover {
    border-color: #999 !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08) !important;
}


/* Selection States */

body:not(.wp-admin) fieldset.bas_radio_variations input[type="radio"]:checked+label {
    border-color: #eb6f0f !important;
    background-color: #fff4eb !important;
    /* Radio Dot + Circle using layered gradients */
    background-image: radial-gradient(circle at 20px 50%, #eb6f0f 6px, transparent 7px), radial-gradient(circle at 20px 50%, #fff 7px, #eb6f0f 8px, #eb6f0f 9px, transparent 10px) !important;
}


/* Special selection color for the last item */

body:not(.wp-admin) fieldset.bas_radio_variations input[value="8pcs-600ml-8pcs-1100ml"]:checked+label {
    border-color: #ff9800 !important;
    background-image: radial-gradient(circle at 22px 50%, #4a3728 6px, transparent 7px), radial-gradient(circle at 22px 50%, #fff 10px, #ff9800 11px, transparent 12px) !important;
}


/* BADGES - Using label:before */

body:not(.wp-admin) fieldset.bas_radio_variations input[value="4pcs-600ml-4pcs-1100ml"]+label:before,
body:not(.wp-admin) fieldset.bas_radio_variations input[value="8pcs-600ml-8pcs-1100ml"]+label:before,
body:not(.wp-admin) fieldset.bas_radio_variations input[value="buy-4-get-4-free"]+label:before,
body:not(.wp-admin) fieldset.bas_radio_variations input[value="buy-6-get-6-free"]+label:before {
    position: absolute !important;
    top: -12px !important;
    right: 15px !important;
    padding: 4px 14px !important;
    border-radius: 20px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    z-index: 5 !important;
    color: #fff !important;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15) !important;
    letter-spacing: 0.5px !important;
    white-space: nowrap !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations input[value="4pcs-600ml-4pcs-1100ml"]+label:before {
    content: "MOST POPULAR" !important;
    background: #4a3728 !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations input[value="8pcs-600ml-8pcs-1100ml"]+label:before {
    content: "BEST SELLER ðŸ”¥" !important;
    background: #ff5252 !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations input[value="buy-4-get-4-free"]+label:before {
    content: "POPULAR" !important;
    background: #4a3728 !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations input[value="buy-6-get-6-free"]+label:before {
    content: "MOST POPULAR" !important;
    background: #ff5252 !important;
}


/* PRICING INFO - Using label:after */

body:not(.wp-admin) fieldset.bas_radio_variations input[value="6-pcs-of-1100ml-jar"]+label:after,
body:not(.wp-admin) fieldset.bas_radio_variations input[value="8-pcs-of-1100ml-jar"]+label:after {
    display: none !important;
}


/* 6 Pcs variant price */

body:not(.wp-admin) fieldset.bas_radio_variations input[value="6-pcs-of-1100ml-jar"]+label:after {
    content: "\20B9 900 \a0 \a0 You save \20B9 1" !important;
    color: #ff5252 !important;
}


/* 8 Pcs variant price */

body:not(.wp-admin) fieldset.bas_radio_variations input[value="8-pcs-of-1100ml-jar"]+label:after {
    content: "\20B9 1200 \a0 \a0 You save \20B9 51" !important;
    color: #ff5252 !important;
}


/* ============================================================
   PILL STYLE FOR SIZE VARIATIONS (e.g. 700ml, 1100ml)
   ============================================================ */

body:not(.wp-admin) fieldset.bas_radio_variations input[name*="size"]+label,
body:not(.wp-admin) fieldset.bas_radio_variations input[name*="jar"]+label,
body:not(.wp-admin) fieldset.bas_radio_variations input[name*="window"]+label,
body:not(.wp-admin) fieldset.bas_radio_variations input[name*="color"]+label,
body:not(.wp-admin) fieldset.bas_radio_variations input[value="700ml"]+label,
body:not(.wp-admin) fieldset.bas_radio_variations input[value="1100ml"]+label,
body:not(.wp-admin) fieldset.bas_radio_variations input[value="700-ml"]+label,
body:not(.wp-admin) fieldset.bas_radio_variations input[value="1100-ml"]+label {
    padding: 6px 20px !important;
    min-height: 32px !important;
    border-radius: 30px !important;
    background-image: none !important;
    /* Remove radio circle */
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
    color: #eb6f0f !important;
    border-color: #eb6f0f !important;
    background-color: transparent !important;
    font-size: 13px !important;
    width: auto !important;
    flex: 0 0 auto !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations input[name*="size"]:checked+label,
body:not(.wp-admin) fieldset.bas_radio_variations input[name*="jar"]:checked+label,
body:not(.wp-admin) fieldset.bas_radio_variations input[name*="window"]:checked+label,
body:not(.wp-admin) fieldset.bas_radio_variations input[value="700ml"]:checked+label,
body:not(.wp-admin) fieldset.bas_radio_variations input[value="1100ml"]:checked+label,
body:not(.wp-admin) fieldset.bas_radio_variations input[value="700-ml"]:checked+label,
body:not(.wp-admin) fieldset.bas_radio_variations input[value="1100-ml"]:checked+label {
    background-color: #eb6f0f !important;
    border-color: #eb6f0f !important;
    color: #ffffff !important;
    background-image: none !important;
    /* Remove radio dot */
}


/* ============================================================
   COLOR-SPECIFIC PILL BACKGROUNDS
   ============================================================ */

body:not(.wp-admin) fieldset.bas_radio_variations input[value="blue" i]+label {
    background-color: #1a365d !important;
    border-color: #1a365d !important;
    color: #ffffff !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations input[value="blue" i]:checked+label {
    background-color: #1a365d !important;
    border-color: #1a365d !important;
    box-shadow: none !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations input[value="pink" i]+label {
    background-color: #FFB6C1 !important;
    border-color: #FFB6C1 !important;
    color: #333333 !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations input[value="pink" i]:checked+label {
    background-color: #FFB6C1 !important;
    border-color: #FFB6C1 !important;
    box-shadow: none !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations input[value="red" i]+label {
    background-color: #F44336 !important;
    border-color: #F44336 !important;
    color: #ffffff !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations input[value="red" i]:checked+label {
    background-color: #F44336 !important;
    border-color: #F44336 !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #F44336 !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations input[value="green" i]+label,
body:not(.wp-admin) fieldset.bas_radio_variations input[value*="pista" i]+label {
    background-color: #C5E1A5 !important;
    border-color: #C5E1A5 !important;
    color: #333333 !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations input[value="green" i]:checked+label,
body:not(.wp-admin) fieldset.bas_radio_variations input[value*="pista" i]:checked+label {
    background-color: #C5E1A5 !important;
    border-color: #C5E1A5 !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #C5E1A5 !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations input[value="black" i]+label {
    background-color: #212121 !important;
    border-color: #212121 !important;
    color: #ffffff !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations input[value="black" i]:checked+label {
    background-color: #212121 !important;
    border-color: #212121 !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #212121 !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations input[value="white" i]+label {
    background-color: #ffffff !important;
    border-color: #e0e0e0 !important;
    color: #333333 !important;
}

body:not(.wp-admin) fieldset.bas_radio_variations input[value="white" i]:checked+label {
    background-color: #ffffff !important;
    border-color: #e0e0e0 !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #e0e0e0 !important;
}


/* Hide dynamic price in all variation boxes */

body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic {
    display: none !important;
}


/* ============================================================
   DYNAMIC VARIATION PRICE (Injected via JS)
   ============================================================ */


/* The 50% width properties are now applied to the base label element */


/* Base positioning */

body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic {
    position: absolute !important;
    right: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 5 !important;
    pointer-events: none !important;
    display: flex !important;
    flex-direction: column-reverse !important;
    align-items: flex-end !important;
    gap: 2px !important;
}


/* If WooCommerce wraps prices in .price or span, make the wrapper flex */

body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic .price,
body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic>span {
    display: flex !important;
    flex-direction: column-reverse !important;
    align-items: flex-end !important;
    gap: 2px !important;
    margin: 0 !important;
}


/* Old price (strikethrough) */

body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic del,
body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic del span,
body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic del bdi {
    color: #6a6a6a !important;
    font-size: 13px !important;
    text-decoration: line-through !important;
    font-weight: 500 !important;
    background: transparent !important;
    line-height: 1 !important;
    margin: 0 !important;
}


/* New price (bold black) */

body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic ins,
body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic ins span,
body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic ins bdi,
body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic>span:not(.price):not(del),
body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic .price>span:not(del) {
    color: #000000 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    background: transparent !important;
    line-height: 1 !important;
    margin: 0 !important;
}


/* Hide default WooCommerce variation price */

.product-hero-section {
    display: none;
}

.woocommerce-product-details__short-description p {
    margin-top: 0 !important;
}

.woocommerce-product-details__short-description p:last-child {
    margin-bottom: 0 !important;
}

.milano-product-description ul {
    list-style: none;
    margin-left: 0;
}

.milano-product-description h3 {
    margin-bottom: 10px;
}

.single_variation_wrap .woocommerce-variation-price,
.single_variation_wrap .price {
    display: none !important;
}


/* Hide WooCommerce 'Clear selection' button only on single product page */

.single-product .reset_variations,
.single-product.woocommerce div.product form.cart .reset_variations {
    display: none !important;
}


/* ============================================================
   QUANTITY & BUY NOW INLINE
   ============================================================ */


/* Hide the Add to Cart button on single product page, but keep the Buy Now / COD button */

.single-product .single_add_to_cart_button:not(.button-buy-now) {
    display: none !important;
}


/* Container for Quantity and Buy Now */


/* Quantity Container with Title */

.single.single-product.woocommerce div.product form.cart div.quantity:not(.woosq-popup div.quantity) {
    width: auto;
    align-items: center;
    padding-left: 12px;
    ;
}

.single.single-product.woocommerce .summary .single_add_to_cart_button.button-buy-now {
    width: auto;
}

.woocommerce div.product form.cart .quantity::before {
    content: "Quantity";
    font-size: 14px;
    font-weight: 500;
    color: #8c8c8c;
    text-transform: none;
    display: block;
}

.single.single-product.woocommerce .summary .single_add_to_cart_button.button-buy-now {
    width: auto !important;
}


/* Force Buy Now / COD button to fill the rest of the line */


/* .woocommerce div.product form.cart button.button-buy-now {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
} */


/* Responsive Rules */

@media (max-width: 767px) {

    body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic del,
    body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic del span,
    body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic del bdi {
        font-size: 12px !important;
    }

    body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic ins,
    body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic ins span,
    body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic ins bdi,
    body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic>span:not(.price):not(del),
    body:not(.wp-admin) fieldset.bas_radio_variations label .variant-price-dynamic .price>span:not(del) {
        font-size: 16px !important;
    }

    body:not(.wp-admin) fieldset.bas_radio_variations {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    body:not(.wp-admin) fieldset.bas_radio_variations label {
        min-height: 40px !important;
        padding: 10px 15px 10px 40px !important;
        width: 100% !important;
        flex: 1 1 100% !important;
    }
}


/* ============================================================
   GLOBAL TYPOGRAPHY
   ============================================================ */

body,
p,
li,
a {
    font-size: 16px;
}


/* Removed global star-rating font-size 14px as requested */


/* ============================================================
   UTILITY CLASSES
   ============================================================ */

.d-none {
    display: none !important;
}


/* ============================================================
   PRODUCT VIDEOS
   ============================================================ */

.nexa-product-videos {
    display: flex;
    gap: 20px;
    margin: 40px 0;
    flex-wrap: wrap;
    width: 100%;
}

.nexa-product-videos .nexa-video-wrapper {
    flex: 1 1 calc(50% - 10px);
    min-width: 300px;
}

.nexa-product-videos .nexa-video-wrapper iframe,
.nexa-product-videos .nexa-video-wrapper video {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    display: block;
}

.woocommerce div.product div.summary .wrap_price_rating .woocommerce-product-rating {
    align-items: center;
}

.nexa-product-description li,
.nexa-product-description ul {
    list-style: none;
    margin: 0;
    margin-top: 5px;
}

.nexa-product-description ul {
    margin-top: 10px;
}

.single-product.woocommerce .woocommerce-product-rating .star-rating {
    margin-top: 0;
}


/* Checkout Page */

body.woocommerce-checkout .star-rating-block .star-rating {
    font-size: 16px;
}


/* Checkout Page */


/* Footer */

body.color-switch-dark .site-middle-footer-wrap .site-footer-row-container-inner,
body.color-switch-dark .site-bottom-footer-wrap .site-footer-row-container-inner {
    background: var(--global-palette9);
}

body .wpchat\:bottom-0 {
    bottom: 70px !important;
}

.site-footer .site-middle-footer-wrap .site-footer-middle-section-2 .footer-widget-area {
    max-width: 50%;
    flex: 0 0 50%;
}

.sbi_images .swiper-wrapper {
    display: flex !important;
}

.sbi_images .swiper-slide {
    flex: 0 0 auto;
    width: auto;
}

#sb_instagram .swiper-autoheight .swiper-wrapper {
    height: auto !important;
}

#sb_instagram #sbi_images {
    display: block;
    padding: 0;
}

#sb_instagram .swiper-button-next:after,
#sb_instagram .swiper-button-prev:after {
    font-size: 20px;
    color: #fff;
}

#sb_instagram .sbi_photo {
    position: relative;
    padding-top: 116%;
    height: 100% !important;
    width: 100%;
}

#sb_instagram .sbi_photo img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

#sb_instagram #sbi_images .sbi_item {
    margin-right: 10px !important;
}

body .site-middle-footer-wrap .site-footer-row-container-inner,
body .site-bottom-footer-wrap .site-footer-row-container-inner {
    background: #f8f3ee;
}

body .woocommerce span.onsale {
    width: 60px;
}

.base-sticky-add-to-cart {
    display: none;
}


/* Footer */

@media (max-width: 1024px) {
    body .site-branding a.brand img {
        max-width: 130px;
        width: 130px;
    }

    /* HEADER MOBILE TWEAKS */
    .site-header-item-navgation-popup-toggle {
        width: 30px;
        margin-right: 10px;
    }

    .menu-toggle-open.menu-toggle-style-default {
        font-size: 30px;
    }

    .menu-toggle-open.menu-toggle-style-default span {
        font-size: 26px;
    }

    body .site-header-item {
        margin-right: 10px;
    }

    body .header-mobile-account-in-wrap .header-account-button>.base-svg-iconset,
    body .header-mobile-cart-wrap .header-cart-button .base-svg-iconset {
        font-size: 22px;
    }

    .site-main-header-wrap .site-header-row-container-inner .site-container {
        padding: 0 10px;
    }

    .search-toggle-open-container .search-toggle-open .search-toggle-icon .base-svg-iconset {
        font-size: 22px;
    }

    body:not(.wp-admin) fieldset.bas_radio_variations input[value="4pcs-600ml-4pcs-1100ml"]+label:before,
    body:not(.wp-admin) fieldset.bas_radio_variations input[value="8pcs-600ml-8pcs-1100ml"]+label:before,
    body:not(.wp-admin) fieldset.bas_radio_variations input[value="buy-4-get-4-free"]+label:before,
    body:not(.wp-admin) fieldset.bas_radio_variations input[value="buy-6-get-6-free"]+label:before {
        top: -10px !important;
        padding: 1.5px 14px !important;
    }
}

@media (max-width: 767px) {
    .nexa-product-videos .nexa-video-wrapper {
        flex: 1 1 100%;
        min-width: 100%;
    }
}

@media (max-width: 719px) {
    .site-footer .site-middle-footer-wrap .site-footer-middle-section-2 .footer-widget-area {
        margin-left: 0;
    }
}

@media (max-width: 414px) {
    body .site-footer .site-middle-footer-wrap .site-footer-middle-section-3 .footer-widget-area {
        margin-left: 0 !important;
    }
}


/* ============================================================
   MAKE PRODUCT HEADER COMPACT
   ============================================================ */


/* Product Title */

.single-product div.product .product_title {
    font-size: 26px !important;
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
}


/* Main Price Layout Update */

.single-product div.product p.price,
.single-product div.product span.price,
.single-product div.product div.price {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: flex-start !important;
    font-size: 18px !important;
}


/* New Price (ins) goes first */

.single-product div.product p.price ins,
.single-product div.product span.price ins,
.single-product div.product div.price ins {
    order: 1 !important;
    text-decoration: none !important;
    color: #4a2e1b !important;
    /* Dark brown */
    font-size: 28px !important;
    font-weight: 800 !important;
}


/* Old Price (del) goes second */

.single-product div.product p.price del,
.single-product div.product span.price del,
.single-product div.product div.price del {
    order: 2 !important;
    color: #333333 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: line-through !important;
}


/* Discount Badge goes third */

.discount-badge {
    order: 3 !important;
    background-color: #4b7633 !important;
    color: #ffffff !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    display: none !important;
    /* Hide by default */
    align-items: center !important;
    gap: 5px !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
}


/* Only show discount badge in the main product summary price */

.summary .price .discount-badge {
    display: inline-flex !important;
}

.discount-badge svg {
    width: 12px;
    height: 12px;
    fill: currentColor;
}


/* Short description */

.woocommerce-product-details__short-description,
.woocommerce-product-details__short-description p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin-bottom: 10px !important;
}


/* Responsive Product Header */

@media (max-width: 767px) {
    .single-product div.product .product_title {
        font-size: 22px !important;
    }

    .single-product div.product p.price ins,
    .single-product div.product span.price ins {
        font-size: 18px !important;
    }

    .woocommerce-product-details__short-description,
    .woocommerce-product-details__short-description p {
        font-size: 13px !important;
    }
}


/* ============================================================
   TRUST BADGES & REVIEWS FORM TWEAKS
   ============================================================ */


/* Add space to trust badges icons */

.elementor-icon-list-icon,
.elementor-icon-box-icon,
.e-icon-box-icon,
.trust-badges svg,
.trust-badges i {
    margin-right: 8px !important;
}


/* WooCommerce Review Form - Perfect Design & Smaller */

#review_form #respond form p.elementor-element-d39b8bc .x-image img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
    border-radius: 8px !important;
}


/* ============================================================
   BULLETPROOF CUSTOM REVIEW MODAL
   ============================================================ */


/* Hide default review form to prevent blinking and AJAX reappearance */

#review_form_wrapper {
    display: none !important;
}


/* The Modal Overlay */

.nexa-review-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6) !important;
    z-index: 9999999;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}

.nexa-review-modal.active {
    display: flex !important;
}


/* The Modal Content Box */

.nexa-review-modal-content {
    background: #ffffff !important;
    max-width: 500px;
    width: 100%;
    padding: 30px !important;
    border-radius: 8px !important;
    position: relative;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    max-height: 90vh;
    overflow-y: auto;
}


/* Product Info inside Modal */

.nexa-modal-product-info {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.nexa-modal-product-info img {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 4px;
}

.nexa-modal-product-info .title {
    font-weight: 600;
    font-size: 16px !important;
    color: #333;
}


/* Close Button */

.nexa-close-modal {
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 24px;
    font-weight: normal;
    color: #888;
    cursor: pointer;
    line-height: 1;
    transition: color 0.3s;
}

.nexa-close-modal:hover {
    color: #333;
}


/* Form layout inside Modal */

.nexa-review-modal-content #respond {
    display: block !important;
}

.nexa-review-modal-content p.comment-form-rating,
.nexa-review-modal-content p.comment-form-comment,
.nexa-review-modal-content p.comment-form-author,
.nexa-review-modal-content p.comment-form-email {
    margin-bottom: 15px !important;
}

#nexa-modal-form-container .comment-form p {
    margin-top: 0 !important;
}

.nexa-review-modal-content p.comment-form-rating label,
.nexa-review-modal-content p.comment-form-comment label,
.nexa-review-modal-content p.comment-form-author label,
.nexa-review-modal-content p.comment-form-email label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    font-size: 15px !important;
    color: #333;
}

.nexa-review-modal-content input[type="text"],
.nexa-review-modal-content input[type="email"],
.nexa-review-modal-content textarea {
    width: 100% !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    padding: 10px !important;
    background: #fff !important;
    font-size: 15px !important;
}

.nexa-review-modal-content textarea {
    height: 100px !important;
    resize: none !important;
}

.nexa-review-modal-content .comment-form-rating .stars a {
    font-size: 20px !important;
}

.nexa-review-modal-content .form-submit input[type="submit"] {
    width: 100%;
    background: #cccccc !important;
    color: #333 !important;
    border-radius: 4px !important;
}


/* Write Review Button Styles */

.nexa-write-review-btn {
    background-color: #ffffff;
    color: #333333;
    border: 1px solid #cccccc;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
}

.nexa-write-review-btn:hover {
    background-color: #f5f5f5;
    border-color: #aaaaaa;
}


/* Hide default theme review buttons to prevent duplicates */

.woocommerce-Reviews .woocommerce-review-link,
#reviews .write-review-button,
#reviews .button.write-review,
#reviews a.button[href="#review_form"] {
    display: none !important;
}

#review_form #respond form input[type="text"],
#review_form #respond form input[type="email"],
#review_form #respond form textarea {
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px 15px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    background-color: #ffffff !important;
    transition: border-color 0.3s ease !important;
}

#review_form #respond form input[type="text"]:focus,
#review_form #respond form input[type="email"]:focus,
#review_form #respond form textarea:focus {
    border-color: #eb6f0f !important;
    outline: none !important;
}

#review_form #respond form textarea {
    min-height: 100px !important;
}

#review_form #respond form p {
    margin-bottom: 12px !important;
}

#review_form #respond .form-submit {
    margin-bottom: 0 !important;
}

#review_form #respond .form-submit input[type="submit"] {
    border-radius: 6px !important;
    padding: 12px 35px !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
}


/* Hide incart sold message */

[class*="check-incart"],
[class*="check_incart"] {
    display: none !important;
}


/* Hide product short description */

.single-product .woocommerce-product-details__short-description {
    display: none !important;
}


/* ============================================================
   CUSTOM PHOTO UPLOAD STYLING (INLINE FORM)
   ============================================================ */


/* Custom Photo Upload Styling */

.custom-photo-upload {
    margin-bottom: 20px;
}

.hidden-file-input {
    display: none !important;
}

.add-photo-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    border: 1px dashed #ccc;
    border-radius: 4px;
    cursor: pointer;
    background: #fff;
    color: #555;
    transition: all 0.2s;
}

.add-photo-btn:hover {
    background: #f9f9f9;
    border-color: #999;
}

.add-photo-btn .plus-icon {
    font-size: 24px;
    font-weight: 300;
    line-height: 1;
}

.add-photo-btn .text {
    font-size: 11px;
    margin-top: 5px;
}


/* Adjust form fields in modal */

#respond.active-modal p.comment-form-rating,
#respond.active-modal p.comment-form-comment,
#respond.active-modal p.comment-form-author,
#respond.active-modal p.comment-form-email {
    margin-bottom: 15px !important;
}

#respond.active-modal p.comment-form-comment label,
#respond.active-modal p.comment-form-author label,
#respond.active-modal p.comment-form-email label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    font-size: 13px;
}

#respond.active-modal input[type="text"],
#respond.active-modal input[type="email"],
#respond.active-modal textarea {
    width: 100% !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    padding: 10px !important;
    background: #fff !important;
}

#respond.active-modal .form-submit input[type="submit"] {
    width: 100%;
    background: #cccccc !important;
    color: #333 !important;
    border-radius: 4px !important;
}


/* Displaying Uploaded Images in Reviews */

.review-images-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
}

.review-images-grid img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid #eee;
    cursor: pointer;
}


/* Custom Photo Upload Styling */

.custom-photo-upload {
    margin-bottom: 20px;
}

.hidden-file-input {
    display: none !important;
}

.add-photo-btn {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 90px !important;
    height: 90px !important;
    border: 1px dashed #aaa !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    background: #fff !important;
    color: #555 !important;
    transition: all 0.2s !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}

.add-photo-btn:hover {
    background: #f9f9f9 !important;
    border-color: #666 !important;
}

.add-photo-btn .plus-icon {
    font-size: 28px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    margin-bottom: 5px !important;
    color: #333 !important;
}

.add-photo-btn .text {
    font-size: 12px !important;
    text-align: center !important;
    color: #555 !important;
    line-height: 1.4 !important;
}


/* Modal Form Styles Reset */

.nexa-review-modal-content form#commentform {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.nexa-review-modal-content form#commentform label .required {
    display: none !important;
    /* hide asterisk */
}

.nexa-review-modal-content .trustoo-disclaimer {
    font-size: 13px;
    color: #555;
    margin-bottom: 15px;
    line-height: 1.5;
}

.nexa-review-modal-content .trustoo-disclaimer a {
    text-decoration: underline;
    color: #333;
}

.nexa-review-modal-content .form-submit input[type="submit"] {
    width: 100% !important;
    background: #a8a8a8 !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    padding: 12px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    border: none !important;
    text-transform: none !important;
}


/* ============================================================
   NEXA REVIEW GALLERY MODAL (TRUSTOO STYLE)
   ============================================================ */


/* Hide prices and badges inside variation swatch buttons */

.bt-radio-variation-container .price,
.bt-radio-variation-container .amount,
.bt-radio-variation-container del,
.bt-radio-variation-container ins,
.bt-radio-variation-container .woocommerce-Price-amount,
.bt-radio-variation-container .bt-variation-price,
.bt-radio-variation-container .discount-badge,
.bt-radio-variation-container svg,
.bas_radio_variations .price,
.bas_radio_variations .amount,
.bas_radio_variations del,
.bas_radio_variations ins,
.bas_radio_variations .woocommerce-Price-amount,
.bas_radio_variations .bt-variation-price,
.bas_radio_variations .discount-badge,
.bas_radio_variations svg,
.bt-radio-variation-container br,
.bas_radio_variations br {
    display: none !important;
}

.nexa-gallery-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999;
    display: none;
    /* flex when active */
    justify-content: center;
    align-items: center;
    padding: 40px;
    box-sizing: border-box;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.nexa-gallery-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
}

.nexa-gallery-content {
    position: relative;
    z-index: 10;
    display: flex;
    background: #fff;
    width: 100%;
    max-width: 900px;
    /* Matched reference size */
    height: 600px;
    /* Matched reference size */
    max-height: 85vh;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 10px 50px rgba(0, 0, 0, 0.5);
    flex-direction: row;
    transform: scale(0.95);
    transition: transform 0.3s ease;
}

.nexa-gallery-modal.active {
    display: flex;
    opacity: 1;
}

.nexa-gallery-modal.active .nexa-gallery-content {
    transform: scale(1);
}

.nexa-gallery-left {
    flex: 1.5;
    background: #000;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.nexa-gallery-blur-bg {
    position: absolute;
    top: -50px;
    left: -50px;
    right: -50px;
    bottom: -50px;
    background-size: cover;
    background-position: center;
    filter: blur(30px);
    opacity: 0.6;
    z-index: 0;
    transition: background-image 0.3s ease;
}

.nexa-gallery-left img#nexa-gallery-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
    z-index: 10;
}

.nexa-gallery-right {
    flex: 1;
    background: #fff;
    padding: 30px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.nexa-gallery-close {
    position: absolute;
    top: 20px;
    left: 20px;
    background: rgba(0, 0, 0, 0.6);
    /* Dark background like reference */
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    font-size: 24px;
    font-weight: 300;
    z-index: 99;
    transition: background 0.2s;
    font-family: sans-serif;
    line-height: 1;
}

.nexa-gallery-close:hover {
    background: rgba(0, 0, 0, 0.8);
}

.nexa-gallery-prev,
.nexa-gallery-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    /* No circle background */
    border: none;
    width: 44px;
    height: 44px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    font-size: 0;
    /* Hide text */
    z-index: 99;
    user-select: none;
    transition: transform 0.2s;
}

.nexa-gallery-prev::after {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(-45deg);
    margin-left: 5px;
    filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.5));
}

.nexa-gallery-next::after {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    margin-right: 5px;
    filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.5));
}

.nexa-gallery-prev:hover {
    transform: translateY(-50%) translateX(-3px);
}

.nexa-gallery-next:hover {
    transform: translateY(-50%) translateX(3px);
}

.nexa-gallery-prev {
    left: 15px;
}

.nexa-gallery-next {
    right: 15px;
}

#nexa-gallery-author {
    margin: 5px 0 15px 0;
    font-size: 19px;
    /* Made bigger */
    font-weight: bold;
    color: #111;
}

#nexa-gallery-rating {
    display: flex;
    align-items: flex-start;
}

#nexa-gallery-rating .star-rating {
    font-size: 18px !important;
    /* Made stars bigger */
    margin: 0;
    float: none !important;
    display: inline-block !important;
    width: 5.4em !important;
    /* Fix cutoff issue without misaligning */
    letter-spacing: 0 !important;
    /* Reset spacing so inner and outer stars align */
}

#nexa-gallery-thumbnails {
    display: flex;
    gap: 8px;
    margin-bottom: 25px;
    flex-wrap: wrap;
}

.nexa-gallery-thumb {
    width: 60px;
    height: 60px;
    border-radius: 4px;
    border: 2px solid transparent;
    cursor: pointer;
    overflow: hidden;
    padding: 2px;
}

.nexa-gallery-thumb.active {
    border-color: #ffab00;
}

body .nexa-gallery-thumb img {
    object-fit: cover;
    height: 100%;
    width: 100%;
    border-radius: 2px;
}

#nexa-gallery-text {
    font-size: 15px;
    line-height: 1.6;
    color: #333;
}

#nexa-gallery-text h5 {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: bold;
}

#nexa-gallery-text p {
    margin: 0 0 10px 0;
}

@media (max-width: 768px) {
    .nexa-gallery-modal {
        padding: 10px;
    }

    .nexa-gallery-content {
        flex-direction: column;
        height: 95vh;
        max-height: none;
    }

    .nexa-gallery-left {
        flex: 1;
        min-height: 45vh;
    }

    .nexa-gallery-right {
        flex: 1;
        padding: 20px;
    }
}


/* User requested CSS for product rating alignment */

.woocommerce.single-product .woocommerce-product-rating {
    display: flex;
    align-items: center;
}


/* Remove focus outline from WooCommerce tab panels and variation inputs */

.woocommerce-Tabs-panel:focus,
.woocommerce-Tabs-panel:focus-visible,
.bt-radio-variation-container input:focus,
.bt-radio-variation-container input:focus-visible,
.bt-radio-variation-container label:focus,
.bt-radio-variation-container label:focus-visible,
.bas_radio_variations input:focus,
.bas_radio_variations input:focus-visible,
.bas_radio_variations label:focus,
.bas_radio_variations label:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}


/* ============================================================
   NEXA REVIEW LIST LAYOUT (Premium 2-Column Grid)
   ============================================================ */

@media screen and (min-width: 1025px) {
    body.woocommerce #reviews #comments {
        width: 100%;
    }
}

@media (min-width: 768px) {
    #reviews ol.commentlist {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
        margin-top: 30px;
    }

    #reviews ol.commentlist::before,
    #reviews ol.commentlist::after {
        display: none !important;
    }
}


/* Unify and polish the top Overview Stats box */

body #bt-reviews-overview {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background: #fff;
    border: 1px solid #eaeaea;
    border-radius: 12px;
    padding: 25px 0 25px 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    margin-bottom: 40px;
    flex-wrap: wrap;
    gap: 40px;
}

.bt_reviews_stats_total {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 200px;
}

.bt_reviews_stats_total h3 {
    font-size: 32px !important;
    margin: 0 0 5px 0 !important;
}

.bt_review_stats_bars {
    flex: 1;
    min-width: 300px;
}


/* Premium Review Cards */

#reviews ol.commentlist li.review {
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid #f0f0f0 !important;
    border-radius: 12px !important;
    padding: 25px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    height: 100%;
}

#reviews ol.commentlist li.review:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06) !important;
}


/* Better layout inside the Review Card */

#reviews ol.commentlist li .comment_container {
    display: flex;
    flex-direction: column;
    height: 100%;
}

#reviews ol.commentlist li img.avatar {
    width: 45px !important;
    height: 45px !important;
    border-radius: 50% !important;
    border: 1px solid #eee;
    padding: 2px;
    position: absolute;
}

#reviews ol.commentlist li .comment-text {
    flex: 1;
    margin: 0 0 0 60px !important;
    padding: 0 !important;
    border: none !important;
    display: flex;
    flex-direction: column;
}

#reviews ol.commentlist li .comment-text .meta {
    font-size: 13px;
    color: #888;
    margin-bottom: 12px;
}

#reviews ol.commentlist li .comment-text .meta strong {
    display: block;
    font-size: 15px;
    color: #111;
    margin-bottom: 4px;
}

#reviews ol.commentlist li .star-rating {
    float: none !important;
    margin-bottom: 15px !important;
}

#reviews ol.commentlist li .description {
    flex: 1;
    font-size: 15px;
    line-height: 1.6;
    color: #444;
}


/* Align Helpful buttons neatly at bottom */

.bt-review-vote-area {
    margin-top: 20px !important;
    padding-top: 15px !important;
    border-top: 1px dashed #eee !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.bt-review-vote-area .bt-review-vote-container {
    margin-top: 0 !important;
}


/* Mobile responsive adjustments */

@media (max-width: 576px) {
    .woocommerce #reviews #comments h2 {
        font-size: 16px;
    }

    body #bt-reviews-overview {
        gap: 0;
    }
}


/* Prevent iOS Auto-Zoom on Form Inputs */

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

    input[type="text"],
    input[type="number"],
    input[type="email"],
    input[type="password"],
    input[type="tel"],
    input[type="search"],
    select,
    textarea {
        font-size: 16px !important;
    }
}

/* Custom Header Height */
.site-header-inner-wrap {
    height: auto !important;
}

/* Perfect Popup: Remove background scroll & hide inner scrollbar */
body.xoo-el-popup-active,
body.xoo-ml-popup-active,
body.showing-popup-drawer {
    overflow: hidden !important;
}

.xoo-el-container,
.xoo-ml-container,
.xoo-el-modal,
.popup-drawer .drawer-inner {
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
}

.xoo-el-container::-webkit-scrollbar,
.xoo-ml-container::-webkit-scrollbar,
.xoo-el-modal::-webkit-scrollbar,
.popup-drawer .drawer-inner::-webkit-scrollbar {
    display: none !important;
}

/* Modal Overlay Styling */
.xoo-el-container,
.xoo-ml-container,
.popup-drawer .drawer-overlay,
.xoo-ml-opac,
.xoo-el-opac,
.drawer-overlay {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: rgba(0, 0, 0, 0.56) !important;
    transition: opacity 0.3s ease !important;
}

/* Modal Box Styling */
.xoo-el-modal,
.xoo-ml-modal {
    width: 100% !important;
    max-width: 420px !important;
    max-height: 90vh !important;
    border-radius: 16px !important;
    margin: 0 auto !important;
    overflow-y: auto !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18) !important;
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease !important;
    background: #ffffff !important;
    position: relative !important;
}

.xoo-el-modal-inner,
.xoo-ml-modal-inner,
.xoo-ml-content {
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    padding: 40px 32px !important;
    position: relative !important;
}

/* Close Button Styling */
/* Hide Original Close Buttons */
span.xoo-el-close,
span.xoo-ml-close {
    display: none !important;
}

/* Custom Close Button Styling */
.nexa-custom-close {
    position: absolute !important;
    z-index: 999999 !important;
    font-size: 32px !important;
    color: #ffffff !important;
    top: 15px !important;
    right: 15px !important;
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    border-radius: 50% !important;
    line-height: 1 !important;
    font-weight: 300 !important;
}

.nexa-custom-close:hover {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.2) !important;
    transform: rotate(90deg) !important;
}

/* Container and Label styling */
.xoo-ml-phinput-cont label,
.xoo-el-form-group label,
.xoo-el-fields label {
    display: block !important;
    margin-bottom: 8px !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    color: #111 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    font-family: inherit !important;
}

/* Inline Country Code and Phone Input Layout */
.xoo-ml-has-cc {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    /* Allow wrapping of children (notice/otp form) */
    align-items: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    border: none !important;
    background: transparent !important;
    height: auto !important;
    box-shadow: none !important;
    margin-bottom: 12px !important;
    overflow: visible !important;
}

/* Base Country Code Dropdown selector & Select2 wrapper */
.xoo-ml-has-cc select.xoo-ml-phone-cc,
body .xoo-ml-has-cc span.select2.select2-container {
    border: 1px solid #dcdcdc !important;
    border-radius: 8px !important;
    background-color: #f7f7f7 !important;
    height: 48px !important;
    width: 85px !important;
    min-width: 86px !important;
    max-width: 86px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    outline: none !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}

body .xoo-ml-has-cc select.xoo-ml-phone-cc:focus,
body .xoo-ml-has-cc span.select2.select2-container:focus-within {
    border-color: none !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.04) !important;
}

.xoo-ml-has-cc .select2-container--default .select2-selection--single {
    background-color: transparent !important;
    border: none !important;
    height: 100% !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    border-radius: 0 !important;
    padding: 0 8px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.xoo-ml-has-cc .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 46px !important;
    padding-left: 5px !important;
    padding-right: 15px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.xoo-ml-has-cc .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    right: 6px !important;
    display: flex !important;
    align-items: center !important;
}

/* Phone input container and field */
.xoo-ml-has-cc .xoo-ml-regphin,
.xoo-ml-has-cc>input.xoo-ml-phone-input {
    flex: 1 !important;
    display: block !important;
    /* Stack children vertically */
    min-width: 180px !important;
    margin: 0 !important;
    position: relative !important;
}

/* Inline verification wrapper (input + verify button) */
.xoo-ml-inlinver-cont {
    display: flex !important;
    align-items: center !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;
    height: 48px !important;
    width: 100% !important;
    position: relative !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
    box-sizing: border-box !important;
}

.xoo-ml-inlinver-cont:focus-within {
    border-color: #111111 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.04) !important;
}

body .xoo-ml-inlinver-cont input.xoo-ml-phone-input {
    border: none !important;
    background: transparent !important;
    height: 100% !important;
    width: 100% !important;
    padding: 0 65px 0 16px !important;
    /* Provide padding on right for inline verify button */
    font-size: 16px !important;
    color: #111111 !important;
    outline: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Fallback for input field direct children of xoo-ml-regphin and xoo-ml-has-cc */
.xoo-ml-regphin>input.xoo-ml-phone-input,
.xoo-ml-has-cc>input.xoo-ml-phone-input {
    width: 100% !important;
    height: 48px !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 8px !important;
    padding: 0 16px !important;
    background-color: #ffffff !important;
    font-size: 15px !important;
    color: #111111 !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

.xoo-ml-regphin>input.xoo-ml-phone-input:focus,
.xoo-ml-has-cc>input.xoo-ml-phone-input:focus {
    border-color: #111111 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.04) !important;
}

/* Inline Verification Verify Button */
span.xoo-ml-inline-verify {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #ffab00 !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    z-index: 10 !important;
    line-height: 1 !important;
    margin: 0 !important;
    letter-spacing: 0.5px !important;
    transition: color 0.2s ease !important;
}

span.xoo-ml-inline-verify:hover {
    color: #111111 !important;
}

span.xoo-ml-inline-verify.verified {
    color: #52c41a !important;
    pointer-events: none !important;
}

/* Inline Verification OTP container */
.xoo-ml-regphin .xoo-ml-inline-otp-cont {
    margin-top: 15px !important;
    width: 100% !important;
    clear: both !important;
}

/* General Text Field Styling (Easy Login Inputs) */
.xoo-el-form-group input[type="text"],
.xoo-el-form-group input[type="email"],
.xoo-el-form-group input[type="password"],
.xoo-el-fields input[type="text"],
.xoo-el-fields input[type="email"],
.xoo-el-fields input[type="password"] {
    width: 100% !important;
    height: 48px !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 8px !important;
    padding: 0 16px !important;
    background-color: #ffffff !important;
    font-size: 15px !important;
    color: #111111 !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
    box-sizing: border-box !important;
    margin-bottom: 12px !important;
}

.xoo-el-form-group input:focus,
.xoo-el-fields input:focus {
    border-color: #111111 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.04) !important;
}

/* Error / Notice Styling */
.xoo-ml-error,
.woocommerce-error,
.xoo-el-notice-error,
.xoo-ml-notice-error,
.xoo-ml-notice-success {
    background-color: #fff0f0 !important;
    color: #d93025 !important;
    border: 1px solid #fad0d0 !important;
    border-left: 4px solid #d93025 !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    margin: 15px 0 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    clear: both !important;
    display: block !important;
}

.xoo-ml-notice-success {
    background-color: #f6ffed !important;
    color: #52c41a !important;
    border-color: #b7eb8f !important;
    border-left-color: #52c41a !important;
}

/* Unified Buttons Styling */
.xoo-ml-form-group button,
.xoo-ml-btn,
button.xoo-ml-login-otp-btn,
.xoo-el-action-btn,
button.xoo-el-login-btn,
button.xoo-ml-low-back,
button.xoo-ml-open-lwo-btn,
button.xoo-el-register-btn {
    width: 100% !important;
    height: 48px !important;
    padding: 0 24px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    cursor: pointer !important;
    border: none !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
    margin-top: 15px !important;
}

/* Primary Button Design (Solid Black) */
.xoo-ml-form-group button,
button.xoo-ml-login-otp-btn,
.xoo-el-action-btn,
button.xoo-el-login-btn {
    background-color: #111111 !important;
    color: #ffffff !important;
}

.xoo-ml-form-group button:hover,
button.xoo-ml-login-otp-btn:hover,
.xoo-el-action-btn:hover,
button.xoo-el-login-btn:hover {
    background-color: #333333 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
    transform: translateY(-1px) !important;
}

.xoo-ml-form-group button:active,
button.xoo-ml-login-otp-btn:active,
.xoo-el-action-btn:active,
button.xoo-el-login-btn:active {
    transform: translateY(0) !important;
}

/* Secondary Button Design (Outline) */
button.xoo-ml-low-back,
button.xoo-ml-open-lwo-btn,
button.xoo-el-register-btn {
    background-color: #ffffff !important;
    color: #111111 !important;
    border: 1px solid #dcdcdc !important;
    margin-top: 12px !important;
}

button.xoo-ml-low-back:hover,
button.xoo-ml-open-lwo-btn:hover,
button.xoo-el-register-btn:hover {
    background-color: #f7f7f7 !important;
    border-color: #111111 !important;
    color: #111111 !important;
    transform: translateY(-1px) !important;
}

button.xoo-ml-low-back:active,
button.xoo-ml-open-lwo-btn:active,
button.xoo-el-register-btn:active {
    transform: translateY(0) !important;
}

/* Hide Email Login Toggle Button, OR divider, and Register divider */
button.xoo-ml-open-lwo-btn,
button.xoo-ml-low-back,
.xoo-ml-or,
.xoo-el-or,
span.xoo-ml-or,
span.xoo-el-or,
.register-divider,
#register-divider,
.xoo-el-register-divider {
    display: none !important;
}

/* Clean Registration / Modal Footer Links */
.xoo-ml-footer,
.xoo-el-footer {
    margin-top: 24px !important;
    text-align: center !important;
    font-size: 13px !important;
    color: #666666 !important;
}

.xoo-ml-footer a,
.xoo-el-footer a,
.xoo-el-action-tgr,
span.xoo-ml-reg-phone-change {
    color: #111111 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.15) !important;
    padding-bottom: 1px !important;
    cursor: pointer !important;
}

.xoo-ml-footer a:hover,
.xoo-el-footer a:hover,
.xoo-el-action-tgr:hover,
span.xoo-ml-reg-phone-change:hover {
    color: #ffab00 !important;
    border-bottom-color: #ffab00 !important;
}

/* Modern Digit verification code inputs */
form.xoo-ml-otp-form input.xoo-ml-otp-input {
    width: 44px !important;
    height: 44px !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 8px !important;
    text-align: center !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    margin: 0 4px !important;
    background-color: #fcfcfc !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    outline: none !important;
}

form.xoo-ml-otp-form input.xoo-ml-otp-input:focus {
    border-color: #111111 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.04) !important;
    background-color: #ffffff !important;
}

/* Modal Box Styling */
.xoo-el-modal,
.xoo-ml-modal {
    width: 100% !important;
    max-width: 420px !important;
    background: transparent !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
    border-radius: 16px !important;
    margin: auto !important;
    /* Center the box */
    padding: 0 !important;
}

/* Override Drawer Background Opacity */
.popup-drawer-layout-fullwidth .drawer-inner {
    background: rgba(0, 0, 0, 0.56) !important;
}

.xoo-el-modal-inner,
.xoo-ml-modal-inner,
.xoo-ml-content,
.xoo-el-content {
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    padding: 40px 32px !important;
}

/* ============================================================
   PREMIUM LOGIN DRAWER DESIGN (ALL SCREEN SIZES)
   ============================================================ */
#login-drawer .drawer-content_inner.widget_login_form_inner {
    padding: 0 !important;
    /* Reset padding to allow banner to span edge-to-edge */
    width: 100% !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Header Banner with custom background image */
#login-drawer .drawer-content_inner.widget_login_form_inner::before {
    content: "" !important;
    display: block !important;
    width: 100% !important;
    height: 120px !important;
    background-image: url('/wp-content/uploads/2026/06/login-logo.jpg') !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
}

/* Padding for form elements below the banner on desktop */
#login-drawer .drawer-content_inner.widget_login_form_inner form {
    padding: 2rem !important;
    margin: 0 !important;
}

body #login-drawer .widget_login_form_inner p {
    margin-top: 0;
    margin-bottom: 1.5rem;
}

body button.xoo-ml-login-otp-btn {
    margin-top: 0 !important;
}

/* Custom header adjustment */
.site-header-upper-inner-wrap {
    height: auto !important;
}

/* ============================================================
   RESPONSIVE DESIGN (MEDIA QUERIES)
   ============================================================ */

/* Mobile responsive adjustments for Phone Fields */
@media (max-width: 576px) {
    .xoo-ml-has-cc {
        flex-direction: column !important;
    }

    body .xoo-ml-has-cc select.xoo-ml-phone-cc,
    body .xoo-ml-has-cc span.select2.select2-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
    }

    .xoo-ml-has-cc .xoo-ml-regphin,
    .xoo-ml-has-cc>input.xoo-ml-phone-input {
        width: 100% !important;
        min-width: 100% !important;
    }
}

/* Mobile Adjustments (max-width: 479px) */
@media (max-width: 479px) {
    #login-drawer .drawer-content_inner.widget_login_form_inner {
        max-width: 300px !important;
    }

    #login-drawer .drawer-content_inner.widget_login_form_inner::before {
        height: 90px !important;
        /* Smaller height for mobile screens */
    }

    #login-drawer .drawer-content_inner.widget_login_form_inner form {
        padding: 1.5rem !important;
    }

    .nexa-custom-close {
        top: 15px !important;
        right: 15px !important;
        width: 28px !important;
        height: 28px !important;
        font-size: 20px !important;
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5) !important;
    }
}

/* Prevent iOS auto-zoom on form inputs by forcing 16px minimum font size */
#login-drawer input[type="text"],
#login-drawer input[type="email"],
#login-drawer input[type="tel"],
#login-drawer input[type="password"],
#login-drawer select,
.xoo-el-container input[type="text"],
.xoo-el-container input[type="email"],
.xoo-el-container input[type="tel"],
.xoo-el-container input[type="password"],
.xoo-el-container select,
.xoo-ml-phone-cc,
.xoo-ml-phone-input {
    font-size: 16px !important;
}

/* Make mobile header icons (search, account, cart) the same size */
@media (max-width: 1024px) {
    .site-mobile-header-wrap svg,
    #mobile-header svg {
        width: 24px !important;
        height: 24px !important;
        max-width: 24px !important;
        max-height: 24px !important;
    }
}

/* Style checkout review order remove icon */
.woocommerce-checkout-review-order-table a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    font-size: 14px !important;
    font-weight: bold !important;
    color: #e2401c !important;
    text-decoration: none !important;
    border-radius: 50% !important;
    border: 1.5px solid #e2401c !important;
    background: transparent !important;
    margin-right: 12px !important;
    vertical-align: middle !important;
    transition: all 0.2s ease !important;
}

.woocommerce-checkout-review-order-table a.remove:hover {
    color: #ffffff !important;
    background-color: #e2401c !important;
}

/* Premium Empty Cart Page Styling */
.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;
    padding: 80px 40px !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    max-width: 600px !important;
    margin: 60px auto !important;
    border: 1px solid #eaeaea !important;
    box-sizing: border-box !important;
}

.woocommerce-cart .cart-empty {
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #222222 !important;
    margin-bottom: 24px !important;
    border: none !important;
    background: none !important;
    padding: 0 !important;
}

/* Empty cart bag icon */
.woocommerce-cart .cart-empty::before {
    content: "🛒" !important;
    font-size: 64px !important;
    display: block !important;
    margin-bottom: 20px !important;
    opacity: 0.8 !important;
}

.woocommerce-cart .return-to-shop {
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-cart .return-to-shop a.button {
    background-color: #111111 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 14px 36px !important;
    border-radius: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    transition: all 0.25s ease !important;
    border: 1px solid #111111 !important;
    display: inline-block !important;
}

.woocommerce-cart .return-to-shop a.button:hover {
    background-color: #ffffff !important;
    color: #111111 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.12) !important;
}


