/**
 * Lili UI radius .
 * One radius for Woodmart/WooCommerce UI surfaces, based on the header search field.
 * Intentionally circular controls (avatars, color swatches, loaders) are left alone.
 */
:root {
    --lili-ui-radius: 9px;
    --wd-brd-radius: var(--lili-ui-radius) !important;
}

/* Woodmart elements that expose their own radius variable. */
body :where(
    .wd-search-form,
    .searchform,
    .wd-dropdown,
    .wd-popup,
    .wd-side-hidden,
    .wd-widget,
    .widget,
    .wd-product,
    .wd-product-card,
    .wd-product-card-bg,
    .wd-info-box,
    .wd-accordion-item,
    .wd-tabs,
    .wd-nav-tabs-wrapper,
    .wd-wishlist-group,
    .wd-compare-table,
    .wd-empty-page,
    .wd-checkout-prod,
    .cart-widget-side,
    .mobile-nav
) {
    --wd-brd-radius: var(--lili-ui-radius) !important;
}

/* Form controls: search, selects, text fields, coupon/login/checkout fields, etc. */
body :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
    select,
    textarea,
    .select2-selection,
    .select2-dropdown,
    .woocommerce-input-wrapper,
    .wc-block-components-text-input input,
    .wc-block-components-combobox .wc-block-components-combobox-control input
) {
    border-radius: var(--lili-ui-radius) !important;
}

/* Buttons. */
body :where(
    .btn,
    .button,
    .elementor-button,
    .wp-element-button,
    a.added_to_cart,
    button:not(.mfp-close):not(.wd-close-side):not(.wd-action-btn),
    input[type="button"],
    input[type="submit"],
    input[type="reset"]
) {
    border-radius: var(--lili-ui-radius) !important;
}

/* Main box/card surfaces used by Woodmart, WooCommerce and builders. */
body :where(
    .product-image-summary,
    .product-image-summary-inner,
    .woocommerce-message,
    .woocommerce-info,
    .woocommerce-error,
    .woocommerce-notice,
    .woocommerce-form,
    .checkout-order-review,
    .woocommerce-order-pay .entry-content > .woocommerce,
    .cart-totals-inner,
    .cart_totals,
    .shop_table,
    .wd-popup,
    .mfp-content,
    .wd-dropdown,
    .wd-side-hidden,
    .widget,
    .wd-widget,
    .wp-block-group,
    .wp-block-column,
    .elementor-widget-container,
    .elementor-element-populated,
    .wd-product-card-bg,
    .product-element-top,
    .product-image-link,
    .wd-carousel-item img,
    .woocommerce-product-gallery__image,
    .woocommerce-product-gallery__image img,
    .wd-gallery-thumb img,
    .product-image-thumbnail img
) {
    border-radius: var(--lili-ui-radius) !important;
}

/* Product gallery/card clipping so image corners follow the same radius cleanly. */
body :where(
    .product-element-top,
    .product-image-link,
    .woocommerce-product-gallery__image,
    .wd-gallery-thumb,
    .product-image-thumbnail
) {
    overflow: hidden;
}

/* Quantity: render as ONE clean segmented control.
 * The border belongs to the wrapper, so there are no white/square corner artifacts.
 */
body div.quantity {
    box-sizing: border-box;
    overflow: hidden;
    border: var(--wd-form-brd-width, 1px) solid var(--wd-form-brd-color, #e9e9e9) !important;
    border-radius: var(--lili-ui-radius) !important;
    background: var(--wd-form-bg, #fff) !important;
    background-clip: padding-box;
}

body div.quantity :where(input[type="number"], input[type="text"], button, .btn, .minus, .plus) {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Keep just the two inner separators around the numeric field. */
body div.quantity :where(input[type="number"], input[type="text"]) {
    border-inline: var(--wd-form-brd-width, 1px) solid var(--wd-form-brd-color, #e9e9e9) !important;
    background: var(--wd-form-bg, #fff) !important;
}

/* Prevent a theme/plugin rule from painting square outer corners back over the wrapper. */
body div.quantity .minus,
body div.quantity .plus {
    background-clip: padding-box !important;
}

/* Common product selectors/swatches containers. Individual round color swatches stay round. */
body :where(
    .variations_form .variations select,
    .wd-swatches-filter,
    .wd-swatches-product,
    .wd-swatch-text,
    .wd-reset-var
) {
    border-radius: var(--lili-ui-radius) !important;
}

/* Labels/badges should use the same corner language instead of unrelated pill radii. */
body :where(
    .product-label,
    .onsale,
    .new,
    .featured,
    .out-of-stock
) {
    border-radius: var(--lili-ui-radius) !important;
}


/* Variable products: keep the side label (e.g. "رنگ:") vertically centered
 * with its select instead of sitting lower than the control.
 */
@media (min-width: 1025px) {
    body.single-product form.variations_form.wd-label-side-lg table.variations tr {
        display: flex !important;
        align-items: center !important;
        gap: 14px;
    }

    body.single-product form.variations_form.wd-label-side-lg table.variations .cell {
        padding-top: 0 !important;
        vertical-align: middle !important;
    }

    body.single-product form.variations_form.wd-label-side-lg table.variations .label {
        display: flex !important;
        align-items: center !important;
        align-self: stretch;
        flex: 0 0 auto;
    }

    body.single-product form.variations_form.wd-label-side-lg table.variations .label > * {
        display: inline-flex !important;
        align-items: center !important;
        margin-block: 0 !important;
    }

    body.single-product form.variations_form.wd-label-side-lg table.variations .value {
        display: flex !important;
        align-items: center !important;
        flex: 1 1 auto;
        min-width: 0;
    }

    body.single-product form.variations_form.wd-label-side-lg table.variations select {
        margin-block: 0 !important;
    }
}

@media (max-width: 1024px) {
    body.single-product form.variations_form.wd-label-side-md table.variations tr {
        display: flex !important;
        align-items: center !important;
        gap: 12px;
    }

    body.single-product form.variations_form.wd-label-side-md table.variations .label {
        display: flex !important;
        align-items: center !important;
        align-self: stretch;
        flex: 0 0 auto;
    }

    body.single-product form.variations_form.wd-label-side-md table.variations .label > * {
        display: inline-flex !important;
        align-items: center !important;
        margin-block: 0 !important;
    }

    body.single-product form.variations_form.wd-label-side-md table.variations .value {
        display: flex !important;
        align-items: center !important;
        flex: 1 1 auto;
        min-width: 0;
    }
}

/* v1.1.4: Buy Now is intentionally disabled. Add to cart remains the single purchase action.
 * This is a CSS fallback too, in case Woodmart renders it from a sticky/template context.
 */
body.single-product .wd-buy-now-btn {
    display: none !important;
}

/* Do not destroy controls whose meaning depends on being circular. */
body :where(
    .avatar,
    .wd-swatch-bg,
    .wd-swatch.wd-bg,
    .wd-loader,
    .wd-spinner,
    .loading:after
) {
    border-radius: 50% !important;
}

@media (max-width: 767px) {
    :root {
        --lili-ui-radius: 9px;
    }
}

/**
 * Woodmart + IRANYekanX typography 
 * 1) Persian-friendly line-height without touching icon fonts.
 * 2) Normalize Woodmart page-title size variable.
 */

:root {
    --lili-line-height-text: 1.85;
    --lili-line-height-heading: 1.45;
    --lili-line-height-ui: 1.45;

    /* Woodmart's default is 1.6; IRANYekanX needs a little more breathing room. */
    --wd-text-line-height: var(--lili-line-height-text) !important;
}

/* Normal content text. Keep icon/action elements out of this rule. */
body :where(
    p,
    li,
    .wd-text-block,
    .woocommerce-product-details__short-description,
    .woocommerce-Tabs-panel,
    .wd-tab-content,
    .wd-accordion-content,
    .wd-collapse-content,
    .entry-content,
    .wd-entry-content
) {
    line-height: var(--lili-line-height-text);
}

/* Long-form product/content copy benefits from a touch more line spacing. */
body :where(
    .woocommerce-product-details__short-description,
    .woocommerce-Tabs-panel,
    .wd-tab-content,
    .wd-accordion-content,
    .entry-content,
    .wd-entry-content
) :where(p, li) {
    line-height: 1.9;
}

/* Headings: compact enough to look professional, but safe for Persian glyphs. */
body :where(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    .title,
    .entry-title,
    .product_title,
    .wd-entities-title
) {
    line-height: var(--lili-line-height-heading);
}

body.single-product .product_title {
    line-height: 1.5;
}

/* Accordion titles/content: prevent the compressed look visible on product pages. */
body.single-product .wd-accordion-title {
    display: flex;
    align-items: center;
    min-height: 48px;
    line-height: 1.5;
}

body.single-product .wd-accordion-content {
    padding-top: 12px;
    padding-bottom: 18px;
}

/* Product variation labels stay optically centered next to their controls. */
body.single-product table.variations .label,
body.single-product table.variations .label > *,
body.single-product table.variations label {
    line-height: var(--lili-line-height-ui);
}

/* Form/select controls should not inherit the large paragraph line-height. */
body :where(
    button,
    input,
    select,
    textarea,
    .button,
    .btn,
    .elementor-button
) {
    line-height: var(--lili-line-height-ui);
}

body select {
    line-height: normal;
}

body :where(.price, .amount, .woocommerce-Price-amount) {
    line-height: 1.35;
}

/*
 * Woodmart defines --wd-title-font-s directly on .wd-page-title and on its
 * size modifier classes. Override those local values, not only :root.
 */
body .wd-page-title,
body .wd-page-title.title-size-small,
body .wd-page-title.title-size-default,
body .wd-page-title.title-size-large,
body :where(.title-size-small, .title-size-default, .title-size-large) .wd-page-title {
    --wd-title-font-s: 22px !important;
}

@media (max-width: 1024px) {
    body .wd-page-title,
    body .wd-page-title.title-size-small,
    body .wd-page-title.title-size-default,
    body .wd-page-title.title-size-large,
    body :where(.title-size-small, .title-size-default, .title-size-large) .wd-page-title {
        --wd-title-font-s: 20px !important;
    }
}

@media (max-width: 767px) {
    body .wd-page-title,
    body .wd-page-title.title-size-small,
    body .wd-page-title.title-size-default,
    body .wd-page-title.title-size-large,
    body :where(.title-size-small, .title-size-default, .title-size-large) .wd-page-title {
        --wd-title-font-s: 18px !important;
    }
}

/**
 * Woodmart Child - universal image skeleton 
 * Works with Woodmart lazy load, LiteSpeed lazy load and native loading="lazy".
 */

:root {
    --wdch-skeleton-radius: var(--lili-ui-radius, 9px);
    --wdch-skeleton-base: #f2f2f2;
    --wdch-skeleton-shine: #fafafa;
    --wdch-skeleton-speed: 1.15s;
}

/*
 * The image keeps its own width/height, so this does not create a second box
 * and does not cause CLS. The parent only supplies the animated background
 * while the real image is transparent.
 */
html.wdch-image-skeletons .wdch-img-shell {
    background-color: var(--wdch-skeleton-base) !important;
    background-image: linear-gradient(
        100deg,
        var(--wdch-skeleton-base) 18%,
        var(--wdch-skeleton-shine) 40%,
        var(--wdch-skeleton-base) 62%
    ) !important;
    background-repeat: no-repeat !important;
    background-size: 220% 100% !important;
    background-position: 100% 0;
    border-radius: var(--wdch-skeleton-radius);
    animation: wdch-image-skeleton-shimmer var(--wdch-skeleton-speed) ease-in-out infinite;
}

html.wdch-image-skeletons img.wdch-img-pending {
    opacity: 0 !important;
    transition: opacity .22s ease;
}

html.wdch-image-skeletons img.wdch-img-ready {
    opacity: 1 !important;
    transition: opacity .22s ease;
}

/* Woodmart lazy-loaded CSS background blocks. */
html.wdch-image-skeletons .wd-lazy-bg {
    background-color: var(--wdch-skeleton-base) !important;
    background-image: linear-gradient(
        100deg,
        var(--wdch-skeleton-base) 18%,
        var(--wdch-skeleton-shine) 40%,
        var(--wdch-skeleton-base) 62%
    ) !important;
    background-repeat: no-repeat !important;
    background-size: 220% 100% !important;
    background-position: 100% 0;
    animation: wdch-image-skeleton-shimmer var(--wdch-skeleton-speed) ease-in-out infinite;
}

/* Keep the global 9px UI language on common image cards while loading. */
html.wdch-image-skeletons :where(
    .product-image-link,
    .woocommerce-product-gallery__image,
    .wd-post-img,
    .post-img-wrapp,
    .category-image-wrapp,
    .wd-banner,
    .wd-slide-bg,
    .elementor-widget-image,
    .wp-block-image
).wdch-img-shell {
    border-radius: var(--wdch-skeleton-radius);
}

@keyframes wdch-image-skeleton-shimmer {
    0% {
        background-position: 100% 0;
    }

    100% {
        background-position: -120% 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    html.wdch-image-skeletons .wdch-img-shell,
    html.wdch-image-skeletons .wd-lazy-bg {
        animation: none;
    }

    html.wdch-image-skeletons img.wdch-img-pending,
    html.wdch-image-skeletons img.wdch-img-ready {
        transition: none;
    }
}

:root {
    --lili-site-shell-max: 1680px;
    --lili-site-shell-pad: 15px;
}

/*
 * Keep header/footer content aligned with the capped product content on
 * ultra-wide viewports and browser zoom-out. Row backgrounds remain full width.
 */
.whb-header .whb-row > .container,
.whb-full-width .whb-row > .container,
.whb-full-width + .whb-clone .whb-row > .container,
.whb-clone .whb-row > .container {
    box-sizing: border-box;
    width: 100% !important;
    max-width: var(--lili-site-shell-max) !important;
    margin-inline: auto !important;
    padding-inline: var(--lili-site-shell-pad) !important;
}

/* Footer, prefooter and copyrights use the same visual shell. */
.wd-footer > .container,
.wd-footer .main-footer.container,
.wd-footer .wd-copyrights > .container,
.wd-prefooter > .container,
footer.footer-container > .container,
footer.footer-container .main-footer.container,
footer.footer-container .copyrights-wrapper > .container {
    box-sizing: border-box;
    width: 100% !important;
    max-width: var(--lili-site-shell-max) !important;
    margin-inline: auto !important;
    padding-inline: var(--lili-site-shell-pad) !important;
}

/* If an HTML-block footer places its first layout container directly inside
 * main-footer, prevent that inner row from expanding beyond the same shell. */
.wd-footer .main-footer > :where(.wd-section, .vc_section, .elementor, .e-con, .container-fluid) {
    max-width: 100%;
}

@media (max-width: 1024px) {
    :root {
        --lili-site-shell-pad: 12px;
    }
}

@media (max-width: 576px) {
    :root {
        --lili-site-shell-pad: 10px;
    }
}

/*
 * Lili Gallery - WoodMart Products widget visual skin.
 * Version: 2.3.0
 * IMPORTANT: all WoodMart native hover mechanics are preserved.
 */

.elementor-widget-wd_products {
    --lili-card-bg: #fff;
    --lili-card-border: #eceff3;
    --lili-card-border-hover: #d8dce5;
    --lili-text: #1f2340;
    --lili-title: #2b2f4a;
    --lili-muted: #8b91a1;
    --lili-line: #f0f1f4;
    --lili-accent: var(--wd-primary-color, #8f1b86);
    --lili-radius: var(--lili-ui-radius, 9px);
}

/* Use WoodMart variables instead of replacing its layout/interaction rules. */
.elementor-widget-wd_products .wd-product {
    --wd-brd-radius: var(--lili-radius);
    --wd-thumb-brd-radius: var(--lili-radius);
    --wd-prod-gap: 10px;
    min-width: 0;
}

.elementor-widget-wd_products .wd-product .product-wrapper {
    border: 1px solid var(--lili-card-border);
    border-radius: var(--lili-radius) !important;
    background: var(--lili-card-bg);
    box-shadow: 0 2px 8px rgba(17,24,39,.035);
    transition: border-color .22s ease, box-shadow .22s ease, transform .3s ease;
}

@media (hover:hover) and (pointer:fine) {
    .elementor-widget-wd_products .wd-product:hover .product-wrapper {
        border-color: var(--lili-card-border-hover);
        box-shadow: 0 12px 28px rgba(31,35,48,.09);
    }
}

/* Image surface only; don't touch native positioning/overflow. */
.elementor-widget-wd_products .wd-product:not(.wd-hover-small):not(.wd-hover-info):not(.wd-hover-tiled) .product-element-top {
    border-bottom: 1px solid var(--lili-line);
    background: linear-gradient(180deg,#fff 0%,#fff 88%,#fcfcfd 100%);
}

.elementor-widget-wd_products .wd-product:not(.wd-hover-small):not(.wd-hover-info):not(.wd-hover-tiled) :is(.product-image-link,.wd-product-img-link) {
    padding: 14px;
}

.elementor-widget-wd_products .wd-product:not(.wd-hover-small):not(.wd-hover-info):not(.wd-hover-tiled) .product-element-top img {
    object-fit: contain;
    object-position: center;
}

/* Purple sale badge + consistent radius. */
.elementor-widget-wd_products .wd-product .product-labels {
    top: 11px;
    right: 11px;
    left: auto;
    gap: 5px;
}
.elementor-widget-wd_products .wd-product .product-label {
    min-width: 0;
    min-height: 0;
    padding: 5px 9px;
    border-radius: var(--lili-radius) !important;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.15;
    box-shadow: none;
}
.elementor-widget-wd_products .wd-product .product-label.onsale {
    background: var(--lili-accent) !important;
    color: #fff !important;
}

/* Keep action button placement/visibility native; visual skin only. */
.elementor-widget-wd_products .wd-product .wd-buttons .wd-action-btn > a,
.elementor-widget-wd_products .wd-product .wd-buttons .wd-action-btn > button,
.elementor-widget-wd_products .wd-product .wd-buttons > div > a {
    border-radius: var(--lili-radius) !important;
}

/* Product text. Do not force product-element-bottom to flex: several WoodMart
   hover modes depend on its native transform / absolute positioning. */
.elementor-widget-wd_products .wd-product .wd-entities-title {
    display: -webkit-box !important;
    height: auto !important;
    min-height: 50px !important;
    max-height: 50px !important;
    overflow: hidden !important;
    color: var(--lili-title) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.85 !important;
    text-align: right !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.elementor-widget-wd_products .wd-product .wd-entities-title a {
    color: inherit !important;
}
.elementor-widget-wd_products .wd-product .wd-entities-title a:hover {
    color: var(--lili-accent) !important;
}

.elementor-widget-wd_products .wd-product :is(.wd-product-cats,.wd-product-brands-links,.wd-product-sku) {
    font-size: 11px;
}

.elementor-widget-wd_products .wd-product .price {
    color: var(--lili-text) !important;
    font-variant-numeric: tabular-nums;
}
.elementor-widget-wd_products .wd-product .price ins {
    color: var(--lili-text) !important;
    text-decoration: none !important;
}
.elementor-widget-wd_products .wd-product .price > .amount,
.elementor-widget-wd_products .wd-product .price ins .amount {
    color: var(--lili-text) !important;
    font-size: 19px !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
}
.elementor-widget-wd_products .wd-product .price del,
.elementor-widget-wd_products .wd-product .price del .amount {
    color: var(--lili-muted) !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    opacity: 1 !important;
}
.elementor-widget-wd_products .wd-product .woocommerce-Price-currencySymbol {
    font-size: .72em !important;
    font-weight: 700 !important;
}

/* Native BUTTON hover: WoodMart darkens the whole image and centers Add to cart.
   Only recolor the overlay/button, never alter display/opacity/position. */
@media (min-width:1025px) {
    .elementor-widget-wd_products .wd-product.wd-hover-button .wd-product-thumb:before {
        display: block !important;
        background: rgba(27,25,40,.48) !important;
    }
    .elementor-widget-wd_products .wd-product.wd-hover-button .wd-add-btn > a {
        border-radius: var(--lili-radius) !important;
    }
}

/* Native BASE/FW fade card must extend outside the normal card. */
.elementor-widget-wd_products .wd-product.wd-hover-with-fade .product-wrapper {
    overflow: visible !important;
}
.elementor-widget-wd_products .wd-product.wd-hover-with-fade .wd-product-card-bg {
    border-color: var(--lili-card-border) !important;
    border-radius: var(--lili-radius) !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(31,35,48,.12);
}
.elementor-widget-wd_products .wd-product.wd-hover-with-fade .wd-product-card-hover {
    border-radius: 0 0 var(--lili-radius) var(--lili-radius);
}

/* Native buttons on hover: retain slide-up footer. */
.elementor-widget-wd_products .wd-product.wd-hover-buttons-on-hover .wd-add-btn > a,
.elementor-widget-wd_products .wd-product.wd-hover-fw-button .wd-add-btn > a,
.elementor-widget-wd_products .wd-product.wd-hover-standard .wd-add-btn > a,
.elementor-widget-wd_products .wd-product.wd-hover-base .wd-bottom-actions .wd-add-btn > a {
    border-radius: var(--lili-radius) !important;
}

/* Tabs/options extras remain polished without changing their behavior. */
.elementor-widget-wd_products .wd-product .star-rating {
    color: #f9a825;
}
.elementor-widget-wd_products .wd-product .wd-stock-progress .progress-area,
.elementor-widget-wd_products .wd-product .wd-stock-progress .progress-bar {
    border-radius: 999px;
}
.elementor-widget-wd_products .wd-product .wd-product-countdown {
    border-radius: var(--lili-radius);
}

/* Carousel UI. */
.elementor-widget-wd_products :is(.wd-btn-arrow,.wd-nav-arrows .wd-btn-arrow) {
    width: 40px;
    height: 40px;
    border: 1px solid #e5e7ec !important;
    border-radius: var(--lili-radius) !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 6px 16px rgba(25,29,45,.08) !important;
}
.elementor-widget-wd_products .flickity-page-dots .dot,
.elementor-widget-wd_products .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #d5d8df;
    opacity: 1;
}
.elementor-widget-wd_products .flickity-page-dots .dot.is-selected,
.elementor-widget-wd_products .swiper-pagination-bullet-active {
    width: 18px;
    background: var(--lili-accent);
}

@media (max-width:1024px) {
    .elementor-widget-wd_products .wd-product .wd-entities-title {
        min-height: 46px !important;
        max-height: 46px !important;
        font-size: 12.7px !important;
        line-height: 1.8 !important;
    }
    .elementor-widget-wd_products .wd-product .price > .amount,
    .elementor-widget-wd_products .wd-product .price ins .amount {
        font-size: 17px !important;
    }
}
@media (max-width:767px) {
    .elementor-widget-wd_products .wd-product .wd-entities-title {
        min-height: 40px !important;
        max-height: 40px !important;
        font-size: 11.2px !important;
        line-height: 1.75 !important;
    }
    .elementor-widget-wd_products .wd-product .price > .amount,
    .elementor-widget-wd_products .wd-product .price ins .amount {
        font-size: 15px !important;
    }
}

/*
 * Lili Gallery - additional WoodMart product surfaces.
 * Version 2.3.0
 * Native WoodMart hover variants are intentionally preserved.
 */
:root {
    --lili-prod-bg:#fff;
    --lili-prod-border:#eceff3;
    --lili-prod-border-hover:#d8dce5;
    --lili-prod-text:#1f2340;
    --lili-prod-title:#2b2f4a;
    --lili-prod-muted:#8b91a1;
    --lili-prod-line:#f0f1f4;
    --lili-prod-accent:var(--wd-primary-color,#8f1b86);
    --lili-prod-radius:var(--lili-ui-radius,9px);
}

:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product {
    --wd-brd-radius:var(--lili-prod-radius);
    --wd-thumb-brd-radius:var(--lili-prod-radius);
    --wd-prod-gap:10px;
    min-width:0;
}

:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .product-wrapper {
    border:1px solid var(--lili-prod-border);
    border-radius:var(--lili-prod-radius)!important;
    background:#fff;
    box-shadow:0 2px 8px rgba(17,24,39,.035);
    transition:border-color .22s ease,box-shadow .22s ease,transform .3s ease;
}
@media (hover:hover) and (pointer:fine) {
    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item:hover .product-wrapper {
        border-color:var(--lili-prod-border-hover);
        box-shadow:0 12px 28px rgba(31,35,48,.09);
    }
}

/* Don't normalize all hover templates: only skin common surfaces. */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product:not(.wd-hover-small):not(.wd-hover-info):not(.wd-hover-tiled) .product-element-top {
    border-bottom:1px solid var(--lili-prod-line);
    background:linear-gradient(180deg,#fff 0%,#fff 88%,#fcfcfd 100%);
}
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product:not(.wd-hover-small):not(.wd-hover-info):not(.wd-hover-tiled) :is(.product-image-link,.wd-product-img-link) {
    padding:14px;
}

/* Labels */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-labels {
    top:11px;right:11px;left:auto;gap:5px;
}
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-label {
    min-width:0;min-height:0;padding:5px 9px;border-radius:var(--lili-prod-radius)!important;font-size:10.5px;font-weight:800;line-height:1.15;box-shadow:none;
}
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-label.onsale {
    background:var(--lili-prod-accent)!important;color:#fff!important;
}

/* Visual skin for native action icons; placement/visibility remains WoodMart-owned. */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-buttons .wd-action-btn > a,
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-buttons > div > a {
    border-radius:var(--lili-prod-radius)!important;
}

/* Titles/prices only. No flex/position/overflow changes to native hover containers. */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .wd-entities-title {
    display:-webkit-box!important;height:auto!important;min-height:48px!important;max-height:50px!important;overflow:hidden!important;color:var(--lili-prod-title)!important;font-size:13.5px!important;font-weight:500!important;line-height:1.85!important;text-align:right!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;
}
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-entities-title a {color:inherit!important;}
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-entities-title a:hover {color:var(--lili-prod-accent)!important;}

:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .price {color:var(--lili-prod-text)!important;font-variant-numeric:tabular-nums;}
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .price ins {color:var(--lili-prod-text)!important;text-decoration:none!important;}
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .price > .amount,
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .price ins .amount {color:var(--lili-prod-text)!important;font-size:19px!important;font-weight:900!important;line-height:1.3!important;}
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .price del,
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .price del .amount {color:var(--lili-prod-muted)!important;font-size:10.5px!important;font-weight:500!important;opacity:1!important;}

/* Restore WoodMart BUTTON hover overlay explicitly (previous skin suppressed it). */
@media (min-width:1025px) {
    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-button .wd-product-thumb:before {
        display:block!important;background:rgba(27,25,40,.48)!important;
    }
    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-button .wd-add-btn > a {
        border-radius:var(--lili-prod-radius)!important;
    }
}

/* Base/FW use JS-calculated fade blocks outside the base card. Never clip them. */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-hover-with-fade .product-wrapper {overflow:visible!important;}
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-hover-with-fade .wd-product-card-bg {border-color:var(--lili-prod-border)!important;border-radius:var(--lili-prod-radius)!important;background:#fff!important;box-shadow:0 14px 34px rgba(31,35,48,.12);}

/* Full-width buttons retain native behavior; visual only. */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) :is(.wd-hover-fw-button,.wd-hover-standard,.wd-hover-buttons-on-hover) .wd-add-btn > a,
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-hover-base .wd-bottom-actions .wd-add-btn > a {border-radius:var(--lili-prod-radius)!important;}

/* AJAX product-tabs navigation */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs {gap:8px;}
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs > li > a {min-height:42px;padding:9px 16px;border:1px solid #e8ebf0;border-radius:var(--lili-prod-radius)!important;background:#fff;color:#52566c;box-shadow:0 1px 4px rgba(17,24,39,.025);font-size:13px;font-weight:700;}
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs > li.wd-active > a,
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs > li.active > a,
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs > li > a:hover {border-color:var(--lili-prod-accent);background:var(--lili-prod-accent);color:#fff;}

/* Carousel controls */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) :is(.wd-btn-arrow,.wd-nav-arrows .wd-btn-arrow) {width:40px;height:40px;border:1px solid #e5e7ec!important;border-radius:var(--lili-prod-radius)!important;background:rgba(255,255,255,.98)!important;box-shadow:0 6px 16px rgba(25,29,45,.08)!important;}

/* Archive list view: visual only. */
:where(body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-list-item .product-wrapper {border:1px solid var(--lili-prod-border);border-radius:var(--lili-prod-radius)!important;background:#fff;box-shadow:0 2px 8px rgba(17,24,39,.035);}

@media (max-width:1024px) {
    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .wd-entities-title {min-height:46px!important;max-height:46px!important;font-size:12.7px!important;line-height:1.8!important;}
    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .price > .amount,
    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .price ins .amount {font-size:17px!important;}
}
@media (max-width:767px) {
    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs {flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:4px;}
    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs > li > a {white-space:nowrap;}
    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .wd-entities-title {min-height:40px!important;max-height:40px!important;font-size:11.2px!important;line-height:1.75!important;}
    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .price > .amount,
    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .price ins .amount {font-size:15px!important;}
}

/*
 * Lili Gallery - WoodMart native product hover polish.
 * Version 2.4.0
 * The hover mechanics remain WoodMart-owned; this file only styles each native variant.
 */

:root {
    --lili-pc-accent: var(--wd-primary-color, #8f1b86);
    --lili-pc-text: #20243f;
    --lili-pc-title: #31354d;
    --lili-pc-muted: #9398a6;
    --lili-pc-line: #edf0f4;
    --lili-pc-soft: #f8f9fb;
    --lili-pc-radius: var(--lili-ui-radius, 9px);
}

/* Shared scope for secondary WoodMart product surfaces. */
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product {
    --wd-prod-gap: 10px;
    --wd-brd-radius: var(--lili-pc-radius);
    --wd-thumb-brd-radius: var(--lili-pc-radius);
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .product-wrapper {
    border: 1px solid #eaedf2;
    border-radius: var(--lili-pc-radius) !important;
    background: #fff;
    box-shadow: 0 2px 8px rgba(24, 29, 45, .035);
}

@media (hover:hover) and (pointer:fine) {
    :is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item:hover .product-wrapper {
        border-color: #dfe2e8;
        box-shadow: 0 12px 30px rgba(27, 31, 49, .085);
    }
}

/* Image block: consistent shape, no forced crop. */
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product:not(.wd-hover-small):not(.wd-hover-info):not(.wd-hover-tiled) .product-element-top {
    aspect-ratio: 1 / 1;
    min-height: 0;
    border-bottom: 1px solid var(--lili-pc-line);
    background: linear-gradient(180deg,#fff 0%,#fff 90%,#fcfcfd 100%);
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product:not(.wd-hover-small):not(.wd-hover-info):not(.wd-hover-tiled) :is(.product-image-link,.wd-product-img-link) {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 18px;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product:not(.wd-hover-small):not(.wd-hover-info):not(.wd-hover-tiled) .product-element-top img {
    width: 100%;
    height: 100%;
    max-width: 88%;
    max-height: 88%;
    object-fit: contain;
    object-position: center;
}

/* Common labels. */
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-labels {
    top: 12px;
    right: 12px;
    left: auto;
    gap: 5px;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-label {
    min-width: 0;
    min-height: 0;
    padding: 5px 9px;
    border-radius: var(--lili-pc-radius) !important;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.15;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-label.onsale {
    color: #fff !important;
    background: var(--lili-pc-accent) !important;
}

/* Common text rhythm. */
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .wd-entities-title {
    display: -webkit-box !important;
    height: auto !important;
    min-height: 50px !important;
    max-height: 50px !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    overflow: hidden !important;
    color: var(--lili-pc-title) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.85 !important;
    text-align: right !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .wd-entities-title a {
    color: inherit !important;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .price {
    margin-top: 7px !important;
    color: var(--lili-pc-text) !important;
    font-variant-numeric: tabular-nums;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .price ins {
    color: var(--lili-pc-text) !important;
    text-decoration: none !important;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .price > .amount,
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .price ins .amount {
    color: var(--lili-pc-text) !important;
    font-size: 19px !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .price del,
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .price del .amount {
    color: var(--lili-pc-muted) !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    opacity: 1 !important;
}

/* Native top action icons: quieter, consistent. */
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-buttons .wd-action-btn > a,
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-buttons > div > a {
    border-radius: var(--lili-pc-radius) !important;
}

/* -------------------------------------------------------------
   BUTTON hover: full-image overlay + centered CTA, never static.
   ------------------------------------------------------------- */
@media (min-width:1025px) {
    :is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-button .wd-product-thumb:before {
        display: block !important;
        background: rgba(27,25,40,.42) !important;
    }

    :is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-button .wd-add-btn > a {
        --btn-color: var(--lili-pc-accent);
        --btn-brd-width: 1px;
        --btn-brd-color: rgba(255,255,255,.92);
        --btn-brd-color-hover: #fff;
        --btn-bgcolor: rgba(255,255,255,.96);
        --btn-bgcolor-hover: #fff;
        min-height: 42px;
        padding-inline: 18px;
        border-radius: var(--lili-pc-radius) !important;
        box-shadow: 0 10px 24px rgba(0,0,0,.14);
        font-weight: 800;
    }
}

/* -------------------------------------------------------------
   FW BUTTON: native fixed full-width CTA, but visually subtle.
   ------------------------------------------------------------- */
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-fw-button .product-element-bottom {
    padding: 13px 15px 15px;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-fw-button .wd-add-btn {
    margin-top: 11px;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-fw-button .wd-add-btn > a {
    --btn-accented-height: 40px;
    --btn-accented-bgcolor: #fff;
    --btn-accented-bgcolor-hover: var(--lili-pc-accent);
    --btn-accented-color: var(--lili-pc-accent);
    --btn-accented-color-hover: #fff;
    width: 100%;
    border: 1px solid rgba(143,27,134,.28) !important;
    border-radius: var(--lili-pc-radius) !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

/* -------------------------------------------------------------
   STANDARD: compact outline CTA, not a chunky purple block.
   ------------------------------------------------------------- */
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-standard .wd-add-btn {
    margin-top: 10px;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-standard .wd-add-btn > a {
    --btn-accented-bgcolor: #fff;
    --btn-accented-bgcolor-hover: var(--lili-pc-accent);
    --btn-accented-color: var(--lili-pc-accent);
    --btn-accented-color-hover: #fff;
    border: 1px solid rgba(143,27,134,.26) !important;
    border-radius: var(--lili-pc-radius) !important;
    box-shadow: none !important;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-standard .wd-add-btn .add-to-cart-loop span {
    min-height: 38px;
    padding: 5px 16px;
}

/* -------------------------------------------------------------
   BUTTONS ON HOVER: preserve slide-up footer; polish the reveal.
   ------------------------------------------------------------- */
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-buttons-on-hover .product-element-bottom {
    padding: 14px 15px !important;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-buttons-on-hover .wd-add-btn > a {
    border-radius: var(--lili-pc-radius) !important;
    box-shadow: none !important;
}

/* -------------------------------------------------------------
   BASE: retain JS fade panel; make actions cleaner.
   ------------------------------------------------------------- */
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-base .product-element-bottom {
    padding: 12px 15px var(--wd-prod-gap) !important;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-base .wd-product-card-hover {
    padding-inline: 15px;
    padding-bottom: 14px;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-base .wd-bottom-actions:not(.wd-add-small-btn) .wd-add-btn > a {
    --btn-accented-bgcolor: #fff;
    --btn-accented-bgcolor-hover: var(--lili-pc-accent);
    --btn-accented-color: var(--lili-pc-accent);
    --btn-accented-color-hover: #fff;
    border: 1px solid rgba(143,27,134,.24) !important;
    border-radius: var(--lili-pc-radius) !important;
    box-shadow: none !important;
}

/* -------------------------------------------------------------
   ALT: keep price/action swap; only color the underline/action.
   ------------------------------------------------------------- */
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-alt .wd-add-btn > a {
    color: var(--lili-pc-accent) !important;
    font-weight: 800;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-alt .wd-add-btn .wd-action-text {
    border-bottom-color: rgba(143,27,134,.18);
}

/* -------------------------------------------------------------
   ICONS: keep native hover tray, give it a compact premium surface.
   ------------------------------------------------------------- */
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-icons .wd-buttons {
    overflow: hidden;
    padding: 4px;
    border: 1px solid rgba(255,255,255,.85);
    border-radius: var(--lili-pc-radius) !important;
    background: rgba(255,255,255,.95);
    box-shadow: 0 8px 22px rgba(31,35,48,.12);
    backdrop-filter: blur(8px);
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-icons .wd-buttons .wd-action-btn > a {
    border-radius: calc(var(--lili-pc-radius) - 2px) !important;
}

/* Native fade variants must be free to extend below the card. */
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-hover-with-fade .product-wrapper {
    overflow: visible !important;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-hover-with-fade .wd-product-card-bg {
    border: 1px solid #e4e7ec !important;
    border-radius: var(--lili-pc-radius) !important;
    background: #fff !important;
    box-shadow: 0 16px 36px rgba(31,35,48,.12);
}

/* Products tabs navigation. */
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-tabs-header {
    margin-bottom: 16px;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs {
    gap: 8px;
    row-gap: 8px;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs > li > a {
    min-height: 40px;
    padding: 8px 15px;
    border: 1px solid #e7eaf0;
    border-radius: var(--lili-pc-radius) !important;
    background: #fff;
    color: #53586c;
    box-shadow: 0 1px 4px rgba(17,24,39,.025);
    font-size: 13px;
    font-weight: 700;
}

:is(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs > li.wd-active > a,
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs > li.active > a,
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs > li > a:hover {
    border-color: var(--lili-pc-accent);
    background: var(--lili-pc-accent);
    color: #fff;
}

/* Carousel controls. */
:is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) :is(.wd-btn-arrow,.wd-nav-arrows .wd-btn-arrow) {
    width: 40px;
    height: 40px;
    border: 1px solid #e4e7ec !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 7px 18px rgba(25,29,45,.09) !important;
}

@media (max-width:1024px) {
    :is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product:not(.wd-hover-small):not(.wd-hover-info):not(.wd-hover-tiled) :is(.product-image-link,.wd-product-img-link) {
        padding: 14px;
    }

    :is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .wd-entities-title {
        min-height: 46px !important;
        max-height: 46px !important;
        font-size: 12.7px !important;
        line-height: 1.8 !important;
    }

    :is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .price > .amount,
    :is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .price ins .amount {
        font-size: 17px !important;
    }
}

@media (max-width:767px) {
    :is(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        justify-content: flex-start;
        padding-bottom: 4px;
    }

    :is(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs > li > a {
        white-space: nowrap;
    }

    :is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product:not(.wd-hover-small):not(.wd-hover-info):not(.wd-hover-tiled) :is(.product-image-link,.wd-product-img-link) {
        padding: 10px;
    }

    :is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .wd-entities-title {
        min-height: 40px !important;
        max-height: 40px !important;
        font-size: 11.2px !important;
        line-height: 1.75 !important;
    }

    :is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .price > .amount,
    :is(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .price ins .amount {
        font-size: 15px !important;
    }
}

/*
 * Lili Gallery - product loop ratings over thumbnail.
 * Version 2.4.3
 */

:root {
    --lili-rating-bg: rgba(255, 255, 255, .94);
    --lili-rating-border: rgba(31, 35, 48, .08);
    --lili-rating-shadow: 0 6px 18px rgba(31, 35, 48, .10);
}

.wd-product:not(.product-list-item) .product-element-top {
    position: relative;
}

.wd-product:not(.product-list-item) .product-element-top > .star-rating.lili-rating-on-image {
    position: absolute !important;
    right: 12px !important;
    bottom: 12px !important;
    left: auto !important;
    top: auto !important;
    z-index: 9;
    width: auto !important;
    min-width: 76px;
    height: 28px !important;
    margin: 0 !important;
    padding: 6px 8px !important;
    overflow: hidden;
    border: 1px solid var(--lili-rating-border);
    border-radius: var(--lili-ui-radius, 9px) !important;
    background: var(--lili-rating-bg);
    box-shadow: var(--lili-rating-shadow);
    backdrop-filter: blur(7px);
    color: #f5a623 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    transform: none !important;
}

.wd-product:not(.product-list-item) .product-element-top > .star-rating.lili-rating-on-image::before,
.wd-product:not(.product-list-item) .product-element-top > .star-rating.lili-rating-on-image span::before {
    top: 6px !important;
    left: 8px !important;
}

.wd-product:not(.product-list-item) .star-rating.lili-rating-duplicate-hidden {
    display: none !important;
}

/* Once the rating is lifted out, keep the content block compact. */
.wd-product:not(.product-list-item) .product-element-bottom > .price,
.wd-product:not(.product-list-item) .product-information .product-rating-price {
    margin-top: 6px !important;
}

@media (max-width: 767px) {
    .wd-product:not(.product-list-item) .product-element-top > .star-rating.lili-rating-on-image {
        right: 8px !important;
        bottom: 8px !important;
        min-width: 66px;
        height: 25px !important;
        padding: 5px 7px !important;
        font-size: 10px !important;
    }

    .wd-product:not(.product-list-item) .product-element-top > .star-rating.lili-rating-on-image::before,
    .wd-product:not(.product-list-item) .product-element-top > .star-rating.lili-rating-on-image span::before {
        top: 5px !important;
        left: 7px !important;
    }
}


/* 2.4.2: make the rating compact and keep it fully inside the thumbnail. */
.wd-product:not(.product-list-item) .product-element-top > .star-rating.lili-rating-on-image {
    right: 12px !important;
    bottom: 12px !important;
    min-width: 70px;
    height: 27px !important;
    padding: 5px 8px !important;
    border-radius: var(--lili-ui-radius, 9px) !important;
    box-shadow: 0 4px 14px rgba(31,35,48,.08);
}

@media (max-width: 767px) {
    .wd-product:not(.product-list-item) .product-element-top > .star-rating.lili-rating-on-image {
        right: 8px !important;
        bottom: 8px !important;
        min-width: 62px;
        height: 24px !important;
        padding: 4px 6px !important;
    }
}

/*
 * Lili Gallery - final spacing + fixed CTA polish.
 * Version 2.4.3
 * Native WoodMart hover mechanics are intentionally untouched.
 */

:root {
    --lili-card-x: 18px;
    --lili-card-y: 16px;
    --lili-card-gap: 10px;
    --lili-card-radius: var(--lili-ui-radius, 9px);
    --lili-card-accent: var(--wd-primary-color, #8f1b86);
    --lili-card-line: #edf0f4;
}

/* Shared secondary product surfaces only. */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .product-wrapper {
    box-sizing: border-box;
}

/* Templates with an explicit lower content wrapper. */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item :is(.product-element-bottom,.product-information) {
    padding-inline: var(--lili-card-x) !important;
    padding-top: 14px !important;
    padding-bottom: var(--lili-card-y) !important;
}

/* Some native templates output title/price/button directly under product-wrapper.
   Give those the same safe horizontal gutters so text never hugs the card edge. */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item > .product-wrapper > .wd-entities-title,
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item > .product-wrapper > .price,
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item > .product-wrapper > .wd-swatches-product,
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item > .product-wrapper > .wd-product-stock {
    margin-inline: var(--lili-card-x) !important;
}

:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item > .product-wrapper > .wd-entities-title {
    margin-top: 14px !important;
    margin-bottom: 8px !important;
}

:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .wd-entities-title {
    padding-inline: 0 !important;
}

/* Price should have a little air but stay visually tied to the title. */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item .price {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}

/* Fixed CTA variants: full width inside the content area, not a small floating pill. */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-fw-button .wd-add-btn,
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-standard .wd-add-btn {
    width: 100% !important;
    max-width: none !important;
    margin-top: 12px !important;
    margin-inline: 0 !important;
    margin-bottom: 0 !important;
}

:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-fw-button .wd-add-btn > a,
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-standard .wd-add-btn > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    max-width: none !important;
    min-height: 44px !important;
    padding: 8px 14px !important;
    border-radius: var(--lili-card-radius) !important;
    box-sizing: border-box;
}

/* Standard can render the fixed CTA as a direct child of product-wrapper.
   Give it the same side/bottom safe area. */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-standard > .product-wrapper > .wd-add-btn {
    width: calc(100% - (var(--lili-card-x) * 2)) !important;
    margin-inline: var(--lili-card-x) !important;
    margin-bottom: var(--lili-card-y) !important;
}

/* If standard content is wrapped, retain bottom breathing room without double-padding. */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-standard .product-element-bottom > .wd-add-btn,
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-fw-button .product-element-bottom > .wd-add-btn {
    margin-bottom: 0 !important;
}

/* Keep native hover-only/button-overlay types untouched: no static full-width conversion. */
@media (min-width: 1025px) {
    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-button .wd-add-btn,
    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-button .wd-add-btn-replace {
        width: auto !important;
        margin: 0 !important;
    }
}

/* FW content spacing and separator: compact, consistent, not glued to card bottom. */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-fw-button .wrap-price {
    margin-top: 8px;
}

/* Product tabs navigation breathing room. */
:where(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-tabs-header {
    margin-bottom: 18px;
}

:where(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs {
    gap: 9px;
    row-gap: 9px;
}

/* Mobile */
@media (max-width: 1024px) {
    :root {
        --lili-card-x: 14px;
        --lili-card-y: 14px;
    }

    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-fw-button .wd-add-btn > a,
    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-standard .wd-add-btn > a {
        min-height: 42px !important;
    }
}

@media (max-width: 767px) {
    :root {
        --lili-card-x: 11px;
        --lili-card-y: 12px;
    }

    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item :is(.product-element-bottom,.product-information) {
        padding-top: 10px !important;
    }

    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .product-grid-item > .product-wrapper > .wd-entities-title {
        margin-top: 10px !important;
        margin-bottom: 6px !important;
    }

    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-fw-button .wd-add-btn,
    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-standard .wd-add-btn {
        margin-top: 10px !important;
    }

    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-fw-button .wd-add-btn > a,
    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product) .wd-product.wd-hover-standard .wd-add-btn > a {
        min-height: 40px !important;
        font-size: 11.5px !important;
    }
}


/* ========================================================================== 
   2.4.3 - ALL PRODUCT WIDGETS / CAROUSEL UX FIXES
   ========================================================================== */

/* Some WoodMart product widgets use a different wrapper than Products Tabs.
   Apply only spacing/shape here; native hover positioning stays untouched. */
:where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) .product-wrapper {
    border-radius: var(--lili-ui-radius, 9px) !important;
}

:where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) :is(.product-element-bottom,.product-information) {
    padding-inline: 16px !important;
}

/* Native templates such as STANDARD may render title/price directly below the image. */
:where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) > .product-wrapper > .wd-entities-title,
:where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) > .product-wrapper > .price,
:where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) > .product-wrapper > .wd-swatches-product,
:where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) > .product-wrapper > .wd-product-stock {
    margin-inline: 16px !important;
}

:where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) > .product-wrapper > .wd-entities-title {
    margin-top: 14px !important;
    margin-bottom: 8px !important;
}

:where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) > .product-wrapper > .price {
    margin-top: 8px !important;
    margin-bottom: 14px !important;
}

/* Ratings are moved by JS into the thumbnail for EVERY WoodMart grid/card. */
.wd-product:not(.product-list-item) .product-element-top {
    position: relative;
}

/* Separate carousel arrows: keep them fully inside the visible carousel area so
   both controls are easy to see and click after hover. */
:is(.elementor-widget-wd_products,.elementor-widget-wd_products_tabs,.wd-products-tabs,.wd-products-element) .wd-nav-arrows.wd-pos-sep {
    --wd-arrow-width: 42px;
    --wd-arrow-height: 42px;
    --wd-arrow-size: 42px;
    --wd-arrow-offset-h: -50px !important;
}

:is(.elementor-widget-wd_products,.elementor-widget-wd_products_tabs,.wd-products-tabs,.wd-products-element) .wd-nav-arrows.wd-pos-sep .wd-btn-arrow {
    z-index: 300;
}

:is(.elementor-widget-wd_products,.elementor-widget-wd_products_tabs,.wd-products-tabs,.wd-products-element) .wd-nav-arrows.wd-pos-sep .wd-arrow-inner {
    border: 1px solid #e4e7ec !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 7px 18px rgba(25,29,45,.12) !important;
}

/* QUICK hover (the full-width slide-up CTA shown on the product image):
   retain WoodMart's animation but leave visible gutters around the CTA. */
@media (min-width: 1025px) {
    .wd-product.wd-hover-quick .product-element-top {
        overflow: hidden;
    }

    .wd-product.wd-hover-quick .wd-add-btn {
        inset-inline: 12px !important;
        bottom: 12px !important;
        width: auto !important;
    }

    .wd-product.wd-hover-quick .wd-add-btn > a {
        border-radius: var(--lili-ui-radius, 9px) !important;
        overflow: hidden;
        box-shadow: 0 8px 22px rgba(74,24,76,.16) !important;
    }

    .wd-product.wd-hover-quick .wd-add-btn .wd-action-text,
    .wd-product.wd-hover-quick .wd-add-btn > a span {
        padding-inline: 16px !important;
    }
}

@media (max-width: 1024px) {
    :is(.elementor-widget-wd_products,.elementor-widget-wd_products_tabs,.wd-products-tabs,.wd-products-element) .wd-nav-arrows.wd-pos-sep {
        --wd-arrow-offset-h: -38px !important;
    }
}

@media (max-width: 767px) {
    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) :is(.product-element-bottom,.product-information) {
        padding-inline: 11px !important;
    }

    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) > .product-wrapper > .wd-entities-title,
    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) > .product-wrapper > .price,
    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) > .product-wrapper > .wd-swatches-product,
    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) > .product-wrapper > .wd-product-stock {
        margin-inline: 11px !important;
    }
}

/*
 * Lili Gallery - responsive product UI
 * Version: 2.5.0
 * Native WoodMart JS/hover behavior remains untouched.
 */

:root {
    --lili-r-card-x: 16px;
    --lili-r-card-y: 15px;
    --lili-r-card-radius: var(--lili-ui-radius, 9px);
    --lili-r-accent: var(--wd-primary-color, #8f1b86);
    --lili-r-text: #242843;
    --lili-r-muted: #9398a6;
    --lili-r-line: #edf0f4;
}

/* Consistent image geometry across product widgets and shop/archive loops. */
:where(.elementor-widget-wd_products,.elementor-widget-wd_products_tabs,.wd-products-tabs,.wd-products-element,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product)
.wd-product:not(.product-list-item):not(.wd-hover-small):not(.wd-hover-info):not(.wd-hover-tiled) .product-element-top {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden;
}

:where(.elementor-widget-wd_products,.elementor-widget-wd_products_tabs,.wd-products-tabs,.wd-products-element,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product)
.wd-product:not(.product-list-item):not(.wd-hover-small):not(.wd-hover-info):not(.wd-hover-tiled) :is(.product-image-link,.wd-product-img-link) {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 14px;
}

:where(.elementor-widget-wd_products,.elementor-widget-wd_products_tabs,.wd-products-tabs,.wd-products-element,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product)
.wd-product:not(.product-list-item) .product-element-top img {
    width: 100%;
    height: 100%;
    max-width: 92%;
    max-height: 92%;
    object-fit: contain;
    object-position: center;
}

/* Avoid desktop hover lift on touch/tablet. */
@media (hover: none), (max-width: 1024px) {
    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:hover .product-wrapper {
        transform: none !important;
    }
}

/* Tablet */
@media (max-width: 1024px) {
    :root {
        --lili-r-card-x: 14px;
        --lili-r-card-y: 14px;
    }

    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) :is(.product-element-bottom,.product-information) {
        padding: 12px var(--lili-r-card-x) var(--lili-r-card-y) !important;
    }

    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) .wd-entities-title {
        min-height: 44px !important;
        max-height: 44px !important;
        margin-bottom: 7px !important;
        font-size: 12.5px !important;
        line-height: 1.75 !important;
    }

    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) .price > .amount,
    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) .price ins .amount {
        font-size: 17px !important;
    }

    .wd-product:not(.product-list-item) .product-element-top > .star-rating.lili-rating-on-image {
        right: 9px !important;
        bottom: 9px !important;
        min-width: 62px !important;
        height: 24px !important;
        padding: 4px 6px !important;
        font-size: 10px !important;
    }

    :is(.elementor-widget-wd_products,.elementor-widget-wd_products_tabs,.wd-products-tabs,.wd-products-element) .wd-nav-arrows.wd-pos-sep {
        --wd-arrow-width: 36px;
        --wd-arrow-height: 36px;
        --wd-arrow-size: 36px;
        --wd-arrow-offset-h: -30px !important;
    }

    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-tabs-header {
        margin-bottom: 14px;
    }
}

/* Phones */
@media (max-width: 767px) {
    :root {
        --lili-r-card-x: 10px;
        --lili-r-card-y: 11px;
    }

    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) .product-wrapper {
        border-radius: var(--lili-r-card-radius) !important;
        box-shadow: 0 1px 5px rgba(31,35,48,.04) !important;
    }

    :where(.elementor-widget-wd_products,.elementor-widget-wd_products_tabs,.wd-products-tabs,.wd-products-element,.related-products,.upsells-products,.cross-sells,.wd-wishlist-content,body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product)
    .wd-product:not(.product-list-item):not(.wd-hover-small):not(.wd-hover-info):not(.wd-hover-tiled) :is(.product-image-link,.wd-product-img-link) {
        padding: 8px;
    }

    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) :is(.product-element-bottom,.product-information) {
        padding: 9px var(--lili-r-card-x) var(--lili-r-card-y) !important;
    }

    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) > .product-wrapper > :is(.wd-entities-title,.price,.wd-swatches-product,.wd-product-stock) {
        margin-inline: var(--lili-r-card-x) !important;
    }

    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) .wd-entities-title {
        min-height: 38px !important;
        max-height: 38px !important;
        margin-top: 8px !important;
        margin-bottom: 5px !important;
        font-size: 11px !important;
        font-weight: 500 !important;
        line-height: 1.7 !important;
    }

    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) .price {
        gap: 2px 4px !important;
        margin-top: 5px !important;
    }

    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) .price > .amount,
    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) .price ins .amount {
        font-size: 14px !important;
        line-height: 1.25 !important;
    }

    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) .price del,
    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) .price del .amount {
        font-size: 8px !important;
    }

    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .product-labels {
        top: 7px !important;
        right: 7px !important;
    }

    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .product-label {
        padding: 4px 6px !important;
        font-size: 9px !important;
    }

    .wd-product:not(.product-list-item) .product-element-top > .star-rating.lili-rating-on-image {
        right: 7px !important;
        bottom: 7px !important;
        min-width: 56px !important;
        height: 22px !important;
        padding: 3px 5px !important;
        font-size: 9px !important;
    }

    /* Fixed CTA variants stay full width but become compact. */
    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product.wd-hover-fw-button .wd-add-btn > a,
    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product.wd-hover-standard .wd-add-btn > a {
        min-height: 38px !important;
        padding: 7px 8px !important;
        font-size: 11px !important;
    }

    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs {
        display: flex;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        gap: 7px !important;
        overflow-x: auto;
        padding: 0 2px 5px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs::-webkit-scrollbar {
        display: none;
    }

    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs > li {
        flex: 0 0 auto;
    }

    :where(.elementor-widget-wd_products_tabs,.wd-products-tabs) .wd-nav-tabs > li > a {
        min-height: 36px !important;
        padding: 7px 11px !important;
        white-space: nowrap;
        font-size: 11px !important;
    }

    :is(.elementor-widget-wd_products,.elementor-widget-wd_products_tabs,.wd-products-tabs,.wd-products-element) .wd-nav-arrows.wd-pos-sep {
        --wd-arrow-width: 32px;
        --wd-arrow-height: 32px;
        --wd-arrow-size: 32px;
        --wd-arrow-offset-h: -18px !important;
    }

    :is(.elementor-widget-wd_products,.elementor-widget-wd_products_tabs,.wd-products-tabs,.wd-products-element) .wd-nav-arrows.wd-pos-sep .wd-arrow-inner {
        box-shadow: 0 4px 12px rgba(25,29,45,.10) !important;
    }
}

/* Very small phones */
@media (max-width: 390px) {
    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) .wd-entities-title {
        font-size: 10.5px !important;
    }

    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) .price > .amount,
    :where(.wd-products,.products,.wd-carousel,.wd-products-element) .wd-product:not(.product-list-item) .price ins .amount {
        font-size: 13px !important;
    }
}
