/**
 * Default Elementor widget styles for WooCustom Toolkit.
 * These styles are intentionally lightweight and are loaded in Elementor editor,
 * preview iframe, and frontend so every widget has a styled initial state.
 */
.elementor-widget[class*="elementor-widget-woocustom_"] {
    direction: rtl;
}

.elementor-widget[class*="elementor-widget-woocustom_"] *,
.elementor-widget[class*="elementor-widget-woocustom_"] *::before,
.elementor-widget[class*="elementor-widget-woocustom_"] *::after {
    box-sizing: border-box;
}

.elementor-widget[class*="elementor-widget-woocustom_"] button,
.elementor-widget[class*="elementor-widget-woocustom_"] input,
.elementor-widget[class*="elementor-widget-woocustom_"] select,
.elementor-widget[class*="elementor-widget-woocustom_"] textarea {
    font-family: inherit;
}

.elementor-widget[class*="elementor-widget-woocustom_"] svg,
.elementor-widget[class*="elementor-widget-woocustom_"] img {
    display: block;
    max-width: 100%;
}

/* Shared buttons */
.elementor-widget-woocustom_ajax_add_to_cart .single_add_to_cart_button,
.woocustom-share-button,
.woocustom-add-to-compare-btn,
.price-chart-icon-button,
.woocustom-quick-atc-btn,
.woocustom-quick-atc-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 18px;
    border: 0;
    border-radius: var(--woocustom-radius-md);
    background: var(--woocustom-color-primary);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
    box-shadow: 0 8px 22px rgba(var(--woocustom-primary-rgb), .22);
}

.elementor-widget-woocustom_ajax_add_to_cart .single_add_to_cart_button:hover,
.woocustom-share-button:hover,
.woocustom-add-to-compare-btn:hover,
.price-chart-icon-button:hover,
.woocustom-quick-atc-btn:not([disabled]):hover,
.woocustom-quick-atc-fallback:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(var(--woocustom-primary-rgb), .28);
}


.elementor-widget-woocustom_ajax_add_to_cart .woocustom-view-cart-button {
    border-radius: 14px !important;
    background: #f8fafc !important;
    color: #111827 !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06) !important;
}

.elementor-widget-woocustom_ajax_add_to_cart .woocustom-view-cart-button:hover,
.elementor-widget-woocustom_ajax_add_to_cart .woocustom-view-cart-button:focus {
    background: #f1f5f9 !important;
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .09) !important;
}

/* AJAX add to cart */
.elementor-widget-woocustom_ajax_add_to_cart form.cart,
.elementor-widget-woocustom_ajax_add_to_cart .cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    direction: rtl;
}

.elementor-widget-woocustom_ajax_add_to_cart .quantity,
.elementor-widget-woocustom_ajax_add_to_cart .fb-quantity-container {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 42px;
    padding: 4px 8px;
    border: 1px solid var(--woocustom-border);
    border-radius: var(--woocustom-radius-md);
    background: var(--woocustom-surface-soft);
}

.elementor-widget-woocustom_ajax_add_to_cart .quantity input,
.elementor-widget-woocustom_ajax_add_to_cart .fb-quantity-box {
    width: 54px;
    min-height: 34px;
    border: 0;
    background: transparent;
    color: var(--woocustom-text);
    font-weight: 700;
    text-align: center;
}

.elementor-widget-woocustom_ajax_add_to_cart .fb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    color: var(--woocustom-text);
    background: #fff;
}

/* Quick add to cart */
.woocustom-quick-atc-wrap {
    display: inline-flex;
    flex-direction: column;
    gap: 10px;
    direction: rtl;
    min-width: 42px;
}

.woocustom-quick-atc-action-area {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.woocustom-quick-atc-btn,
.woocustom-quick-atc-fallback {
    position: relative;
    width: max-content;
    max-width: none;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 12px;
    overflow: visible;
    white-space: nowrap;
    flex: 0 0 auto;
}

.woocustom-quick-atc-btn--icon-only,
.woocustom-quick-atc-fallback.woocustom-quick-atc-btn--icon-only {
    width: 42px;
    min-width: 42px;
    max-width: 42px;
    padding: 0;
    overflow: hidden;
}


.woocustom-quick-atc-dir-rtl { direction: rtl; }
.woocustom-quick-atc-dir-ltr { direction: ltr; }
.woocustom-quick-atc-dir-auto { direction: auto; }

.woocustom-quick-atc-btn[disabled],
.woocustom-quick-atc-btn--oos {
    opacity: .45;
    cursor: not-allowed;
    background: var(--woocustom-border);
    color: var(--woocustom-muted);
    box-shadow: none;
}

.woocustom-quick-atc-icon-default,
.woocustom-quick-atc-icon-loading {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.woocustom-quick-atc-btn--icon-only .woocustom-quick-atc-icon-default,
.woocustom-quick-atc-btn--icon-only .woocustom-quick-atc-icon-loading {
    position: absolute;
    inset: 0;
}

.woocustom-quick-atc-icon-loading { opacity: 0; position: absolute; inset: 0; }
.woocustom-quick-atc-btn.is-loading .woocustom-quick-atc-icon-default,
.woocustom-quick-atc-btn.is-loading .woocustom-quick-atc-label { opacity: 0; }
.woocustom-quick-atc-btn.is-loading .woocustom-quick-atc-icon-loading { opacity: 1; }
.woocustom-quick-atc-label { display: inline-flex; align-items: center; flex: 0 0 auto; line-height: 1.4; white-space: nowrap; }

.woocustom-quick-atc-variations {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 100%;
}

.woocustom-quick-atc-attr-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.woocustom-quick-atc-attr-label {
    color: var(--woocustom-muted);
    font-size: 12px;
    font-weight: 700;
}

.woocustom-quick-atc-attr-options {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.woocustom-quick-atc-opt {
    all: unset;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 5px 14px;
    border: 1px solid var(--woocustom-border);
    border-radius: 9px;
    background: var(--woocustom-surface-soft);
    color: var(--woocustom-text);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
}

.woocustom-quick-atc-opt:hover,
.woocustom-quick-atc-opt.is-selected {
    border-color: var(--woocustom-color-primary);
    background: var(--woocustom-primary-soft);
    color: var(--woocustom-color-primary);
}

.woocustom-quick-atc-var-msg {
    min-height: 16px;
    margin: 2px 0 0;
    color: var(--woocustom-danger, #ef4444);
    font-size: 12px;
}

.woocustom-quick-atc-var-price {
    margin: 0;
    color: var(--woocustom-text);
    font-size: 14px;
    font-weight: 700;
}

.woocustom-quick-atc-qty-wrap {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 3px;
    border: 1px solid var(--woocustom-border);
    border-radius: 12px;
    background: var(--woocustom-surface-soft);
}

.woocustom-quick-atc-qty-btn,
.woocustom-quick-atc-qty-confirm {
    all: unset;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    cursor: pointer;
}

.woocustom-quick-atc-qty-confirm {
    background: var(--woocustom-color-primary);
    color: #fff;
}

.woocustom-quick-atc-qty-num {
    min-width: 26px;
    color: var(--woocustom-text);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

.woocustom-quick-atc-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(15, 23, 42, .58);
    opacity: 0;
    visibility: hidden;
    direction: rtl;
}

.woocustom-quick-atc-modal-overlay.is-open {
    opacity: 1;
    visibility: visible;
}

.woocustom-quick-atc-modal {
    width: min(600px, 100%);
    padding: 24px;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .28);
    text-align: right;
}

/* Product categories */
.woocustom-category-section {
    width: 100%;
    direction: rtl;
}

.woocustom-categories {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 14px;
}

.woocustom-category-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 130px;
    padding: 16px 12px;
    border: 1px solid var(--woocustom-border);
    border-radius: 18px;
    background: #fff;
    color: var(--woocustom-text);
    text-align: center;
    text-decoration: none;
    box-shadow: var(--woocustom-shadow-md);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.woocustom-category-card:hover {
    transform: translateY(-3px);
    border-color: var(--woocustom-color-primary);
    box-shadow: 0 16px 34px rgba(15, 23, 42, .12);
}

.woocustom-category-card-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    border-radius: 18px;
    background: var(--woocustom-surface-soft);
}

.woocustom-category-card-image img,
.woocustom-category-card-image svg {
    width: 58px;
    height: 58px;
    object-fit: contain;
}

.woocustom-category-card-title {
    color: var(--woocustom-text);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.7;
}

/* Sorting */
.woocustom-sorting-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    direction: rtl;
}

.woocustom-sorting-tabs,
.woocustom-sorting-wrapper ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.woocustom-filter-list-title {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--woocustom-muted);
    font-size: 14px;
    font-weight: 700;
}

.woocustom-sorting-wrapper .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 14px;
    border: 1px solid var(--woocustom-border);
    border-radius: 999px;
    background: #fff;
    color: var(--woocustom-text);
    font-size: 13px;
    font-weight: 700;
}

.woocustom-sorting-wrapper .nav-link.active,
.woocustom-sorting-wrapper .nav-link:hover {
    border-color: var(--woocustom-color-primary);
    background: var(--woocustom-primary-soft);
    color: var(--woocustom-color-primary);
}

/* Savings */
.woocustom-savings-wrapper {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding: 18px;
    border: 1px solid rgba(var(--woocustom-primary-rgb), .18);
    border-radius: 20px;
    background: linear-gradient(135deg, var(--woocustom-primary-soft) 0%, var(--woocustom-surface) 100%);
    box-shadow: var(--woocustom-shadow-md);
    direction: rtl;
}

.woocustom-savings-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.woocustom-savings-badge,
.woocustom-savings-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 15px;
    background: var(--woocustom-color-primary);
    color: #fff;
    flex: 0 0 auto;
}

.woocustom-savings-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1 1 auto;
}

.woocustom-savings-title {
    color: var(--woocustom-text);
    font-size: 14px;
    font-weight: 700;
}

.woocustom-savings-subtitle {
    color: var(--woocustom-muted);
    font-size: 12px;
}

.woocustom-savings-amount {
    color: var(--woocustom-color-primary);
    font-size: 18px;
    font-weight: 700;
    white-space: nowrap;
}

/* Wishlist / compare / share / chart */
.woocustom-wishlist-btn,
.woocustom-add-to-compare-btn,
.price-chart-icon-button,
.woocustom-share-button {
    width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    border-radius: 13px;
}

.woocustom-share-button {
    width: auto;
    padding: 10px 16px;
}

.woocustom-share-icon,
.woocustom-share-icon svg,
.woocustom-share-icon img,
.woocustom-wishlist-btn svg,
.woocustom-wishlist-btn img,
.woocustom-add-to-compare-btn svg,
.woocustom-add-to-compare-btn img,
.price-chart-icon-button svg,
.price-chart-icon-button img {
    width: 22px;
    height: 22px;
}

.woocustom-wishlist-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--woocustom-border);
    background: #fff;
    color: var(--woocustom-text);
    cursor: pointer;
    box-shadow: var(--woocustom-shadow-md);
    transition: transform .2s ease, color .2s ease, border-color .2s ease;
}

.woocustom-wishlist-btn:hover,
.woocustom-wishlist-btn.woocustom-wishlisted {
    color: var(--woocustom-color-primary);
    border-color: rgba(var(--woocustom-primary-rgb), .28);
    transform: translateY(-1px);
}

.price-chart-icon-container {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Discount */
.woocustom-elementor-discount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 5px 12px;
    border-radius: 999px;
    background: var(--woocustom-color-primary);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}

/* Product features */
.custom-feature-boxes {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
    direction: rtl;
}

.custom-feature-boxes .feature-box {
    padding: 14px;
    border: 1px solid var(--woocustom-border);
    border-radius: 16px;
    background: #fff;
    color: var(--woocustom-text);
    font-size: 14px;
    line-height: 1.8;
    box-shadow: var(--woocustom-shadow-md);
}

.custom-feature-boxes .feature-box strong {
    color: var(--woocustom-color-primary);
}

/* Countdown */
.woocustom-product-countdown {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 44px;
    padding: 12px 18px;
    border-radius: 16px;
    background: var(--woocustom-primary-soft);
    color: var(--woocustom-color-primary);
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 10px 28px rgba(var(--woocustom-primary-rgb), .12);
    direction: rtl;
}

/* Reviews */
.custom-reviews-container,
.woocustom-reviews-container {
    width: 100%;
    direction: rtl;
}

.single-review,
.custom-review-item,
.woocustom-review-item {
    padding: 16px;
    border: 1px solid var(--woocustom-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--woocustom-shadow-md);
}

.open-review-modal-btn,
.submit-review-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 9px 16px;
    border: 0;
    border-radius: 12px;
    background: var(--woocustom-color-primary);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

/* AI review summary */
.wcai-summary-wrap {
    width: 100%;
    padding: 20px;
    border: 1px solid rgba(var(--woocustom-primary-rgb), .14);
    border-radius: 22px;
    background: linear-gradient(135deg, #ffffff 0%, var(--woocustom-primary-soft) 100%);
    color: var(--woocustom-text);
    box-shadow: var(--woocustom-shadow-md);
    direction: rtl;
}

.wcai-summary-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.wcai-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: var(--woocustom-color-primary);
    color: #fff;
    flex: 0 0 auto;
}

.wcai-icon svg,
.wcai-icon img {
    width: 24px;
    height: 24px;
}

.wcai-summary-header h3 {
    margin: 0;
    color: var(--woocustom-text);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
}

.wcai-summary-subtitle {
    margin: 0;
    color: var(--woocustom-muted);
    font-size: 12px;
    line-height: 1.6;
}

.wcai-summary-text {
    margin: 0;
    color: var(--woocustom-text);
    font-size: 14px;
    line-height: 2;
}

/* Compare table / wishlist page defaults */
.woocustom-compare-table,
.woocustom-wishlist-products {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    direction: rtl;
}

.woocustom-wishlist-item {
    padding: 16px;
    border: 1px solid var(--woocustom-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--woocustom-shadow-md);
}

/* Elementor editor fallback notices */
.elementor-editor-active .elementor-widget[class*="elementor-widget-woocustom_"] .elementor-alert,
.elementor-editor-active .elementor-widget[class*="elementor-widget-woocustom_"] .elementor-alert-info {
    padding: 12px 14px;
    border: 1px dashed var(--woocustom-color-primary);
    border-radius: 12px;
    background: var(--woocustom-primary-soft);
    color: var(--woocustom-text);
    direction: rtl;
    font-size: 13px;
    line-height: 1.8;
}



.woocustom-product-gallery-mobile-scroll {
    display: none;
}

.woocustom-product-gallery-mobile-slide {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    color: inherit;
    line-height: 0;
    cursor: zoom-in;
}

.woocustom-product-gallery-mobile-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media (max-width: 767px) {

    .woocustom-product-gallery--mobile-scroll {
        display: block;
        overflow: hidden;
    }

    .woocustom-product-gallery--mobile-scroll .woocustom-product-gallery-main,
    .woocustom-product-gallery--mobile-scroll .woocustom-product-gallery-thumbs {
        display: none !important;
    }

    .woocustom-product-gallery--mobile-scroll .woocustom-product-gallery-mobile-scroll {
        display: flex;
        width: 100%;
        gap: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        padding: 0 0 8px;
        scrollbar-width: thin;
    }

    .woocustom-product-gallery--mobile-scroll .woocustom-product-gallery-mobile-slide {
        flex: 0 0 86%;
        min-width: 86%;
        aspect-ratio: 1 / 1;
        display: flex;
        align-items: center;
        justify-content: center;
        scroll-snap-align: start;
        border-radius: var(--woocustom-gallery-mobile-radius, 12px);
        background: #f5f6f8;
        overflow: hidden;
    }

    .woocustom-product-gallery--mobile-scroll .woocustom-product-gallery-mobile-slide img {
        border-radius: inherit;
    }


    .woocustom-categories,
    .custom-feature-boxes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .woocustom-savings-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Product image gallery Elementor widget */
.woocustom-product-gallery {
    --woocustom-gallery-primary: var(--woocustom-color-primary);
    --woocustom-gallery-border: var(--woocustom-border);
    --woocustom-gallery-shadow: var(--woocustom-shadow-md);
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
    direction: rtl;
    box-sizing: border-box;
}

.woocustom-product-gallery,
.woocustom-product-gallery *,
.woocustom-product-gallery *::before,
.woocustom-product-gallery *::after {
    box-sizing: border-box;
}

.woocustom-product-gallery--thumbs-right,
.woocustom-product-gallery--thumbs-left {
    align-items: stretch;
}

.woocustom-product-gallery--thumbs-right {
    flex-direction: row;
}

.woocustom-product-gallery--thumbs-left {
    flex-direction: row-reverse;
}

.woocustom-product-gallery-main {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 320px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    text-align: inherit;
    overflow: visible;
    box-shadow: none;
    cursor: zoom-in;
    transition: opacity .18s ease, transform .18s ease;
}

.woocustom-product-gallery-main:focus {
    outline: none;
}

.woocustom-product-gallery-main:focus-visible {
    outline: 2px solid var(--woocustom-gallery-primary);
    outline-offset: 4px;
}

.woocustom-product-gallery.is-changing .woocustom-product-gallery-main-media img,
.woocustom-product-gallery.is-changing img.woocustom-product-gallery-main-img {
    opacity: .72;
    transform: scale(.985);
}

.woocustom-product-gallery-main-media,
.woocustom-product-gallery-main-media picture,
.woocustom-product-gallery-main-img {
    display: block;
    width: 100%;
    max-width: 100%;
    line-height: 0;
}

.woocustom-product-gallery-main-media img,
img.woocustom-product-gallery-main-img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 640px;
    object-fit: contain;
    transition: opacity .18s ease, transform .18s ease;
}

.woocustom-product-gallery-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
}

.woocustom-product-gallery--thumbs-right .woocustom-product-gallery-thumbs,
.woocustom-product-gallery--thumbs-left .woocustom-product-gallery-thumbs {
    flex: 0 0 92px;
    width: 92px;
    max-height: 620px;
    overflow-y: auto;
    overflow-x: hidden;
    align-content: flex-start;
}

.woocustom-product-gallery--thumbs-right .woocustom-product-gallery-main,
.woocustom-product-gallery--thumbs-left .woocustom-product-gallery-main {
    flex: 1 1 auto;
}

.woocustom-product-gallery-thumb {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    padding: 4px;
    border: 2px solid var(--woocustom-gallery-border);
    border-radius: 16px;
    background: #fff;
    cursor: pointer;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.woocustom-product-gallery-thumb:hover,
.woocustom-product-gallery-thumb.is-active {
    border-color: var(--woocustom-gallery-primary);
    box-shadow: 0 10px 24px rgba(var(--woocustom-primary-rgb), .18);
}

.woocustom-product-gallery-thumb:hover {
    transform: translateY(-1px);
}

.woocustom-product-gallery-thumb-media,
.woocustom-product-gallery-thumb-media picture,
.woocustom-product-gallery-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 0;
}

.woocustom-product-gallery-thumb-media img,
.woocustom-product-gallery-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 11px;
}

.woocustom-product-gallery--no-thumbs .woocustom-product-gallery-main {
    width: 100%;
}



.woocustom-product-gallery-mobile-scroll {
    display: none;
}

.woocustom-product-gallery-mobile-slide {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    color: inherit;
    line-height: 0;
    cursor: zoom-in;
}

.woocustom-product-gallery-mobile-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media (max-width: 767px) {

    .woocustom-product-gallery--mobile-scroll {
        display: block;
        overflow: hidden;
    }

    .woocustom-product-gallery--mobile-scroll .woocustom-product-gallery-main,
    .woocustom-product-gallery--mobile-scroll .woocustom-product-gallery-thumbs {
        display: none !important;
    }

    .woocustom-product-gallery--mobile-scroll .woocustom-product-gallery-mobile-scroll {
        display: flex;
        width: 100%;
        gap: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        padding: 0 0 8px;
        scrollbar-width: thin;
    }

    .woocustom-product-gallery--mobile-scroll .woocustom-product-gallery-mobile-slide {
        flex: 0 0 86%;
        min-width: 86%;
        aspect-ratio: 1 / 1;
        display: flex;
        align-items: center;
        justify-content: center;
        scroll-snap-align: start;
        border-radius: var(--woocustom-gallery-mobile-radius, 12px);
        background: #f5f6f8;
        overflow: hidden;
    }

    .woocustom-product-gallery--mobile-scroll .woocustom-product-gallery-mobile-slide img {
        border-radius: inherit;
    }


    .woocustom-product-gallery--thumbs-right,
    .woocustom-product-gallery--thumbs-left {
        flex-direction: column;
    }

    .woocustom-product-gallery--thumbs-right .woocustom-product-gallery-thumbs,
    .woocustom-product-gallery--thumbs-left .woocustom-product-gallery-thumbs {
        flex: 0 0 auto;
        width: 100%;
        max-height: none;
        overflow: visible;
    }

    .woocustom-product-gallery-main {
        min-height: 240px;
        padding: 0;
    }

    .woocustom-product-gallery-thumb {
        width: 64px;
        height: 64px;
    }
}


/* Product image gallery lightbox */
body.woocustom-product-gallery-lightbox-open {
    overflow: hidden;
}

.woocustom-product-gallery {
    --woocustom-lightbox-bg: rgba(15, 23, 42, .52);
    --woocustom-lightbox-padding: 16px;
    --woocustom-lightbox-image-bg: #fff;
    --woocustom-lightbox-image-radius: 14px;
    --woocustom-lightbox-image-shadow: 0 28px 90px rgba(0, 0, 0, .35);
    --woocustom-lightbox-caption-color: #475569;
    --woocustom-lightbox-caption-size: 14px;
    --woocustom-lightbox-counter-color: #475569;
    --woocustom-lightbox-counter-bg: #f8fafc;
    --woocustom-lightbox-button-bg: #fff;
    --woocustom-lightbox-button-color: #334155;
    --woocustom-lightbox-button-hover-bg: #f8fafc;
    --woocustom-lightbox-button-hover-color: #0f172a;
    --woocustom-lightbox-button-size: 40px;
    --woocustom-lightbox-icon-size: 20px;
    --woocustom-lightbox-nav-offset: 24px;
    --woocustom-lightbox-close-offset: 20px;
}

.woocustom-product-gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: var(--woocustom-lightbox-padding, 28px);
    background: transparent;
    direction: rtl;
    isolation: isolate;
}

.woocustom-product-gallery-lightbox.is-open {
    display: flex;
}

.woocustom-product-gallery-lightbox-backdrop {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--woocustom-lightbox-bg, rgba(15, 23, 42, .92));
    backdrop-filter: blur(7px);
}

.woocustom-product-gallery-lightbox-figure {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: min(96vw, 1220px);
    max-height: 92vh;
    margin: 0;
}

.woocustom-product-gallery-lightbox-img {
    display: block;
    max-width: 100%;
    max-height: 82vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: var(--woocustom-lightbox-image-radius, 14px);
    background: var(--woocustom-lightbox-image-bg, #fff);
    box-shadow: var(--woocustom-lightbox-image-shadow, 0 28px 90px rgba(0, 0, 0, .35));
    opacity: 1;
    transform: scale(1);
    transition: opacity .18s ease, transform .18s ease;
}

.woocustom-product-gallery-lightbox.is-loading .woocustom-product-gallery-lightbox-img {
    opacity: .42;
    transform: scale(.985);
}

.woocustom-product-gallery-lightbox-caption {
    margin-top: 12px;
    max-width: min(92vw, 900px);
    color: var(--woocustom-lightbox-caption-color, #fff);
    font-size: var(--woocustom-lightbox-caption-size, 14px);
    line-height: 1.8;
    text-align: center;
}

.woocustom-product-gallery-lightbox-counter {
    position: absolute;
    bottom: var(--woocustom-lightbox-close-offset, 20px);
    left: 50%;
    transform: translateX(-50%);
    min-width: 58px;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--woocustom-lightbox-counter-bg, rgba(15, 23, 42, .55));
    color: var(--woocustom-lightbox-counter-color, #fff);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
}

.woocustom-product-gallery-lightbox-button {
    appearance: none;
    -webkit-appearance: none;
    position: absolute;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--woocustom-lightbox-button-size, 48px);
    height: var(--woocustom-lightbox-button-size, 48px);
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: var(--woocustom-lightbox-button-bg, rgba(255, 255, 255, .95));
    color: var(--woocustom-lightbox-button-color, #111827);
    cursor: pointer;
    box-shadow: 0 14px 36px rgba(0, 0, 0, .20);
    transition: background-color .16s ease, color .16s ease, transform .16s ease, opacity .16s ease;
}

.woocustom-product-gallery-lightbox-button:hover,
.woocustom-product-gallery-lightbox-button:focus-visible {
    background: var(--woocustom-lightbox-button-hover-bg, #fff);
    color: var(--woocustom-lightbox-button-hover-color, var(--woocustom-gallery-primary, var(--woocustom-color-primary)));
    outline: none;
    transform: scale(1.04);
}

.woocustom-product-gallery-lightbox-svg {
    display: block;
    width: var(--woocustom-lightbox-icon-size, 24px);
    height: var(--woocustom-lightbox-icon-size, 24px);
    fill: none;
    stroke: currentColor;
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.woocustom-product-gallery-lightbox-close {
    top: var(--woocustom-lightbox-close-offset, 20px);
    right: var(--woocustom-lightbox-close-offset, 20px);
}

.woocustom-product-gallery-lightbox-prev,
.woocustom-product-gallery-lightbox-next {
    top: 50%;
    transform: translateY(-50%);
}

.woocustom-product-gallery-lightbox-prev:hover,
.woocustom-product-gallery-lightbox-prev:focus-visible,
.woocustom-product-gallery-lightbox-next:hover,
.woocustom-product-gallery-lightbox-next:focus-visible {
    transform: translateY(-50%) scale(1.04);
}

.woocustom-product-gallery-lightbox-prev {
    left: var(--woocustom-lightbox-nav-offset, 24px);
}

.woocustom-product-gallery-lightbox-next {
    right: var(--woocustom-lightbox-nav-offset, 24px);
}

.woocustom-product-gallery-lightbox-loader {
    position: absolute;
    z-index: 2;
    width: 42px;
    height: 42px;
    border: 3px solid rgba(255, 255, 255, .35);
    border-top-color: #fff;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    animation: woocustom-gallery-loader .75s linear infinite;
}

.woocustom-product-gallery-lightbox.is-loading .woocustom-product-gallery-lightbox-loader {
    opacity: 1;
}

@keyframes woocustom-gallery-loader {
    to {
        transform: rotate(360deg);
    }
}



.woocustom-product-gallery-mobile-scroll {
    display: none;
}

.woocustom-product-gallery-mobile-slide {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    color: inherit;
    line-height: 0;
    cursor: zoom-in;
}

.woocustom-product-gallery-mobile-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media (max-width: 767px) {

    .woocustom-product-gallery--mobile-scroll {
        display: block;
        overflow: hidden;
    }

    .woocustom-product-gallery--mobile-scroll .woocustom-product-gallery-main,
    .woocustom-product-gallery--mobile-scroll .woocustom-product-gallery-thumbs {
        display: none !important;
    }

    .woocustom-product-gallery--mobile-scroll .woocustom-product-gallery-mobile-scroll {
        display: flex;
        width: 100%;
        gap: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        padding: 0 0 8px;
        scrollbar-width: thin;
    }

    .woocustom-product-gallery--mobile-scroll .woocustom-product-gallery-mobile-slide {
        flex: 0 0 86%;
        min-width: 86%;
        aspect-ratio: 1 / 1;
        display: flex;
        align-items: center;
        justify-content: center;
        scroll-snap-align: start;
        border-radius: var(--woocustom-gallery-mobile-radius, 12px);
        background: #f5f6f8;
        overflow: hidden;
    }

    .woocustom-product-gallery--mobile-scroll .woocustom-product-gallery-mobile-slide img {
        border-radius: inherit;
    }


    .woocustom-product-gallery-lightbox {
        padding: 18px;
    }

    .woocustom-product-gallery-lightbox-button {
        width: 42px;
        height: 42px;
    }

    .woocustom-product-gallery-lightbox-prev {
        left: 10px;
    }

    .woocustom-product-gallery-lightbox-next {
        right: 10px;
    }

    .woocustom-product-gallery-lightbox-img {
        max-height: 78vh;
    }
}

/* Product stock alert Elementor widget */
.woocustom-product-stock-alert {
    display: flex;
    align-items: center;
    gap: 14px;
    position: relative;
    overflow: hidden;
    direction: rtl;
    margin: 20px 0;
    padding: 14px 18px;
    border: 1px solid rgba(var(--woocustom-primary-rgb), .16);
    border-radius: var(--woocustom-radius-md, 12px);
    background: linear-gradient(135deg, var(--woocustom-primary-soft) 0%, var(--woocustom-surface, #ffffff) 100%);
    box-shadow: 0 10px 30px rgba(var(--woocustom-primary-rgb), .08);
    color: var(--woocustom-text, #111827);
}

.woocustom-product-stock-alert::before {
    content: '';
    position: absolute;
    inset: -60%;
    background: radial-gradient(circle, rgba(var(--woocustom-primary-rgb), .06) 0%, transparent 64%);
    pointer-events: none;
}

.woocustom-product-stock-alert--icon-end {
    flex-direction: row-reverse;
}

.woocustom-product-stock-icon {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    min-width: 38px;
    color: var(--woocustom-color-primary);
    background: rgba(var(--woocustom-primary-rgb), .11);
    border-radius: var(--woocustom-radius-sm, 8px);
    flex-shrink: 0;
}

.woocustom-product-stock-icon svg,
.woocustom-product-stock-icon img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.woocustom-product-stock-icon svg {
    animation: woocustom-stock-pulse 2s infinite ease-in-out;
}

.woocustom-product-stock-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.woocustom-product-stock-title {
    margin: 0 !important;
    color: var(--woocustom-text, #111827);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.woocustom-product-stock-desc {
    margin: 0 !important;
    color: var(--woocustom-muted, #64748b);
    font-size: 12px;
    line-height: 1.8;
}

.woocustom-product-stock-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 2px;
    padding: 1px 7px;
    border-radius: 7px;
    color: var(--woocustom-color-primary);
    background: rgba(var(--woocustom-primary-rgb), .10);
    font-weight: 700;
    line-height: 1.5;
}

@keyframes woocustom-stock-pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.14); opacity: .75; }
}

/* WooCustom Advanced Checkout Elementor widget */
.elementor-widget-woocustom_advanced_checkout .woocustom-elementor-advanced-checkout{width:100%;}
.elementor-widget-woocustom_advanced_checkout .wcc-mobile-app{margin-inline:auto;}
.woocustom-elementor-alert{padding:14px 16px;border:1px solid var(--woocustom-border,#e5e7eb);border-radius:var(--woocustom-radius-md,12px);background:var(--woocustom-surface-soft,#f8fafc);color:var(--woocustom-text,#1f2937);font-weight:700;}


/* WooCustom Toolkit v1.60.12 - minimal green cart/checkout savings */
.woocustom-savings-wrapper,
.woocustom-savings-wrapper.woocustom-savings-cart,
.woocustom-savings-wrapper.woocustom-savings-checkout,
.woocustom-savings-wrapper.woocustom-savings-standalone,
.woocustom-savings-wrapper.woocustom-savings-order {
    position: relative;
    margin: 10px 0;
    padding: 0;
    border: 1px solid #BBF7D0 !important;
    border-radius: 14px !important;
    background: #F0FDF4 !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #166534 !important;
    overflow: hidden;
    animation: none !important;
    direction: rtl;
}

.woocustom-savings-wrapper::before,
.woocustom-savings-wrapper::after,
.woocustom-savings-confetti,
.woocustom-savings-badge-glow {
    display: none !important;
    content: none !important;
}

.woocustom-savings-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 0 !important;
    padding: 10px 12px !important;
}

.woocustom-savings-badge,
.woocustom-savings-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border: 1px solid #BBF7D0;
    border-radius: 10px !important;
    background: #DCFCE7 !important;
    color: #166534 !important;
    box-shadow: none;
    backdrop-filter: none !important;
    filter: none !important;
    animation: none !important;
}

.woocustom-savings-icon svg {
    display: block;
    width: 17px;
    height: 17px;
    stroke: currentColor !important;
}

.woocustom-savings-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.woocustom-savings-title {
    display: block;
    margin: 0;
    color: #166534 !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    text-shadow: none !important;
    white-space: normal;
}

.woocustom-savings-subtitle {
    display: block;
    margin: 0;
    color: #15803D !important;
    font-size: 11.5px;
    font-weight: 400;
    line-height: 1.5;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

.woocustom-savings-amount-wrapper {
    flex: 0 0 auto;
}

.woocustom-savings-amount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    border: 1px solid #BBF7D0 !important;
    border-radius: 999px !important;
    background: #DCFCE7 !important;
    color: #166534 !important;
    box-shadow: none !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
    animation: none !important;
    transition: none !important;
}

.woocustom-savings-amount:hover {
    transform: none !important;
    box-shadow: none !important;
}

.woocustom-savings-amount .woocommerce-Price-amount,
.woocustom-savings-amount .woocommerce-Price-currencySymbol {
    color: #166534 !important;
    font-weight: 700 !important;
}

.wcc-btn-icon svg {
    display: block;
    width: 1em;
    height: 1em;
}

/* WooCustom 1.60.13 - stronger Elementor editor/default styles */
.elementor-widget-woocustom_ajax_add_to_cart form.cart .quantity,
.elementor-widget-woocustom_ajax_add_to_cart .woocommerce-variation-add-to-cart .quantity {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    min-height: auto !important;
    overflow: visible !important;
}

.elementor-widget-woocustom_ajax_add_to_cart .quantity .fb-quantity-container {
    width: 100% !important;
    min-height: 44px;
    padding: 4px;
    border: 1px solid var(--woocustom-border);
    border-radius: var(--woocustom-radius-md);
    background: var(--woocustom-surface);
    box-shadow: none;
}

.elementor-widget-woocustom_ajax_add_to_cart .quantity input.qty {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.woocustom-sorting-wrapper.is-loading .woocustom-sorting-tabs,
.woocustom-sorting-is-loading {
    opacity: .55;
    pointer-events: none;
    transition: opacity .18s ease;
}

.woocustom-sorting-wrapper.is-loading::after {
    content: "";
    width: 16px;
    height: 16px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: woocustom-sorting-spin .7s linear infinite;
}

@keyframes woocustom-sorting-spin { to { transform: rotate(360deg); } }

/* Quick Add modal editor preview: modal can be opened and styled inside Elementor without covering the whole editor. */
.elementor-editor-active .woocustom-quick-atc-modal-preview,
.elementor-editor-preview .woocustom-quick-atc-modal-preview,
.woocustom-quick-atc-modal-preview {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    margin-top: 16px;
    padding: 16px;
    background: rgba(15, 23, 42, .08);
    border: 1px dashed rgba(100, 116, 139, .35);
    border-radius: 18px;
    backdrop-filter: none !important;
}

.woocustom-quick-atc-modal-preview .woocustom-quick-atc-modal {
    transform: none !important;
    animation: none !important;
    max-width: 100%;
}

/* More minimal default product gallery */
.woocustom-product-gallery {
    --woocustom-gallery-shadow: none;
}

.woocustom-product-gallery-main {
    min-height: 280px;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.woocustom-product-gallery-main-media img,
img.woocustom-product-gallery-main-img {
    max-height: 560px;
}

.woocustom-product-gallery-thumb {
    width: 64px;
    height: 64px;
    padding: 2px;
    border-width: 1px;
    border-radius: 10px;
    background: transparent;
    box-shadow: none;
}

.woocustom-product-gallery-thumb:hover,
.woocustom-product-gallery-thumb.is-active {
    box-shadow: none;
}

.woocustom-product-gallery-thumb-media img,
.woocustom-product-gallery-thumb img {
    border-radius: 8px;
}

.woocustom-product-gallery-lightbox-img {
    box-shadow: 0 18px 50px rgba(0, 0, 0, .22);
}


/* WooCustom 1.60.18 - unified lightbox/modal styling */
.woocustom-product-gallery-lightbox {
    background: rgba(15, 23, 42, .52);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.woocustom-product-gallery-lightbox-backdrop {
    background: transparent;
}

.woocustom-product-gallery-lightbox-figure {
    padding: 16px;
    border: 1px solid rgba(226, 232, 240, .22);
    border-radius: 24px;
    background: rgba(255,255,255,.08);
    box-shadow: 0 28px 80px rgba(15, 23, 42, .22);
}

.woocustom-product-gallery-lightbox-button {
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    background: #fff;
    color: #334155;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .08);
}

.woocustom-product-gallery-lightbox-button:hover,
.woocustom-product-gallery-lightbox-button:focus-visible {
    color: #0f172a;
    background: #f8fafc;
    border-color: #cbd5e1;
    transform: translateY(-1px);
}

.woocustom-quick-atc-modal-overlay {
    background: rgba(15, 23, 42, .52);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.woocustom-quick-atc-modal {
    border: 1px solid #e5e7eb;
    border-radius: 24px;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .22);
}

.woocustom-quick-atc-modal-close {
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    background: #fff;
    color: #334155;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .08);
}

@media (max-width: 640px) {
    .woocustom-product-gallery-lightbox-figure,
    .woocustom-quick-atc-modal {
        border-radius: 22px;
    }
}


/* WooCustom 1.60.23 - minimal product gallery, thumbnail columns and non-glass lightbox */
.woocustom-product-gallery {
    --woocustom-gallery-thumb-size: 74px;
}

.woocustom-product-gallery-main {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.woocustom-product-gallery-main-media img,
img.woocustom-product-gallery-main-img {
    box-shadow: none !important;
}

.woocustom-product-gallery--thumbs-bottom .woocustom-product-gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(var(--woocustom-gallery-thumb-columns, 5), minmax(0, 1fr));
    align-items: stretch;
}

.woocustom-product-gallery--thumbs-bottom .woocustom-product-gallery-thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
}

.woocustom-product-gallery--thumbs-right .woocustom-product-gallery-thumbs,
.woocustom-product-gallery--thumbs-left .woocustom-product-gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(var(--woocustom-gallery-thumb-columns, 1), minmax(0, var(--woocustom-gallery-thumb-size, 74px)));
    gap: 10px;
    flex: 0 0 auto;
    width: max-content;
    max-width: min(42vw, 320px);
}

.woocustom-product-gallery--thumbs-right .woocustom-product-gallery-thumb,
.woocustom-product-gallery--thumbs-left .woocustom-product-gallery-thumb {
    width: var(--woocustom-gallery-thumb-size, 74px);
    height: var(--woocustom-gallery-thumb-size, 74px);
}

.woocustom-product-gallery-thumb {
    border-width: 1px;
    border-color: #e5e7eb;
    border-radius: 12px;
    background: #fff;
    box-shadow: none !important;
    transition: border-color .16s ease, transform .16s ease, background-color .16s ease;
}

.woocustom-product-gallery-thumb:hover,
.woocustom-product-gallery-thumb.is-active {
    border-color: var(--woocustom-gallery-primary, var(--woocustom-color-primary));
    background: #f8fafc;
    box-shadow: none !important;
}

.woocustom-product-gallery-thumb-media img,
.woocustom-product-gallery-thumb img {
    border-radius: 9px;
}

.woocustom-product-gallery-lightbox {
    padding: 16px;
    background: rgba(15, 23, 42, .52) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.woocustom-product-gallery-lightbox-backdrop {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.woocustom-product-gallery-lightbox-figure {
    width: min(1120px, 100%);
    max-width: min(1120px, 100%);
    max-height: calc(100vh - 32px);
    margin: clamp(16px, 4vh, 42px) auto;
    padding: 56px 20px 52px;
    overflow: hidden;
    border: 1px solid #e5e7eb !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .22) !important;
}

.woocustom-product-gallery-lightbox-img {
    max-width: 100%;
    max-height: calc(100vh - 170px);
    border-radius: var(--woocustom-lightbox-image-radius, 14px);
    background: #fff !important;
    box-shadow: none !important;
}

.woocustom-product-gallery-lightbox-caption {
    color: #475569 !important;
}

.woocustom-product-gallery-lightbox-counter {
    top: 18px;
    right: 20px;
    bottom: auto;
    left: auto;
    transform: none;
    min-width: auto;
    padding: 5px 10px;
    border: 1px solid #e5e7eb;
    background: #f8fafc !important;
    color: #475569 !important;
    box-shadow: none;
}

.woocustom-product-gallery-lightbox-button {
    width: var(--woocustom-lightbox-button-size, 42px);
    height: var(--woocustom-lightbox-button-size, 42px);
    border: 1px solid #e5e7eb !important;
    background: #fff !important;
    color: #334155 !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .08) !important;
}

.woocustom-product-gallery-lightbox-button:hover,
.woocustom-product-gallery-lightbox-button:focus-visible {
    color: #0f172a !important;
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
}

.woocustom-product-gallery-lightbox-close {
    top: 16px;
    left: 16px;
    right: auto;
}

.woocustom-product-gallery-lightbox-prev {
    left: 24px;
}

.woocustom-product-gallery-lightbox-next {
    right: 24px;
}

.woocustom-product-gallery-lightbox-loader {
    border-color: rgba(15, 23, 42, .15);
    border-top-color: var(--woocustom-gallery-primary, var(--woocustom-color-primary));
}

@media (max-width: 767px) {
    .woocustom-product-gallery--mobile-scroll .woocustom-product-gallery-mobile-slide {
        background: #f8fafc;
        border: 1px solid #e5e7eb;
        box-shadow: none;
    }

    .woocustom-product-gallery--thumbs-bottom .woocustom-product-gallery-thumbs {
        grid-template-columns: repeat(var(--woocustom-gallery-thumb-columns, 4), minmax(0, 1fr));
    }

    .woocustom-product-gallery-lightbox {
        padding: 10px;
    }

    .woocustom-product-gallery-lightbox-figure {
        max-height: calc(100vh - 20px);
        padding: 54px 12px 48px;
        border-radius: 20px !important;
    }

    .woocustom-product-gallery-lightbox-img {
        max-height: calc(100vh - 156px);
    }

    .woocustom-product-gallery-lightbox-close {
        top: 12px;
        left: 12px;
    }

    .woocustom-product-gallery-lightbox-counter {
        top: 14px;
        right: 14px;
    }

    .woocustom-product-gallery-lightbox-prev {
        left: 12px;
    }

    .woocustom-product-gallery-lightbox-next {
        right: 12px;
    }
}


/* WooCustom 1.62.1 - gallery lightbox unified with share/review modal shell */
.woocustom-product-gallery-lightbox {
    padding: var(--woocustom-lightbox-padding, 16px) !important;
    overflow-y: auto !important;
    background: var(--woocustom-lightbox-bg, rgba(15, 23, 42, .52)) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.woocustom-product-gallery-lightbox-backdrop {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.woocustom-product-gallery-lightbox-figure {
    width: min(1120px, 100%) !important;
    max-width: 1120px !important;
    max-height: calc(100vh - 32px) !important;
    margin: clamp(16px, 4vh, 42px) auto !important;
    padding: 62px 24px 54px !important;
    overflow: hidden !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .22) !important;
}

.woocustom-product-gallery-lightbox-img {
    max-width: 100% !important;
    max-height: calc(100vh - 180px) !important;
    border-radius: var(--woocustom-lightbox-image-radius, 14px) !important;
    background: var(--woocustom-lightbox-image-bg, #fff) !important;
    box-shadow: none !important;
}

.woocustom-product-gallery-lightbox-caption {
    color: var(--woocustom-lightbox-caption-color, #475569) !important;
    font-size: var(--woocustom-lightbox-caption-size, 14px) !important;
}

.woocustom-product-gallery-lightbox-counter {
    top: 18px !important;
    right: 20px !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    min-width: auto !important;
    padding: 5px 10px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 999px !important;
    background: var(--woocustom-lightbox-counter-bg, #f8fafc) !important;
    color: var(--woocustom-lightbox-counter-color, #475569) !important;
    box-shadow: none !important;
}

.woocustom-product-gallery-lightbox-button {
    width: var(--woocustom-lightbox-button-size, 40px) !important;
    height: var(--woocustom-lightbox-button-size, 40px) !important;
    min-width: var(--woocustom-lightbox-button-size, 40px) !important;
    min-height: var(--woocustom-lightbox-button-size, 40px) !important;
    padding: 0 !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 999px !important;
    background: var(--woocustom-lightbox-button-bg, #fff) !important;
    color: var(--woocustom-lightbox-button-color, #334155) !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .08) !important;
    transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}

.woocustom-product-gallery-lightbox-button:hover,
.woocustom-product-gallery-lightbox-button:focus-visible {
    background: var(--woocustom-lightbox-button-hover-bg, #f8fafc) !important;
    color: var(--woocustom-lightbox-button-hover-color, #0f172a) !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .12) !important;
    transform: translateY(-1px) !important;
}

.woocustom-product-gallery-lightbox-close {
    top: 16px !important;
    left: 16px !important;
    right: auto !important;
    z-index: 20 !important;
}

.woocustom-product-gallery-lightbox-prev {
    left: var(--woocustom-lightbox-nav-offset, 24px) !important;
}

.woocustom-product-gallery-lightbox-next {
    right: var(--woocustom-lightbox-nav-offset, 24px) !important;
}

.woocustom-product-gallery-lightbox-svg {
    width: var(--woocustom-lightbox-icon-size, 20px) !important;
    height: var(--woocustom-lightbox-icon-size, 20px) !important;
}

.woocustom-product-gallery-lightbox-loader {
    border-color: rgba(15, 23, 42, .15) !important;
    border-top-color: var(--woocustom-gallery-primary, var(--woocustom-color-primary)) !important;
}

@media (max-width: 767px) {
    .woocustom-product-gallery-lightbox {
        padding: 0 !important;
        overflow: hidden !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .woocustom-product-gallery-lightbox-figure {
        width: 100% !important;
        max-width: none !important;
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 100vh !important;
        min-height: 100dvh !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 60px 12px 54px !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .woocustom-product-gallery-lightbox-img {
        max-height: calc(100vh - 150px) !important;
        max-height: calc(100dvh - 150px) !important;
        border-radius: var(--woocustom-lightbox-image-radius, 12px) !important;
    }

    .woocustom-product-gallery-lightbox-video {
        max-height: calc(100vh - 150px) !important;
        max-height: calc(100dvh - 150px) !important;
    }

    .woocustom-product-gallery-lightbox-close {
        top: 12px !important;
        left: 12px !important;
    }

    .woocustom-product-gallery-lightbox-counter {
        top: 14px !important;
        right: 14px !important;
    }

    .woocustom-product-gallery-lightbox-prev {
        left: 12px !important;
    }

    .woocustom-product-gallery-lightbox-next {
        right: 12px !important;
    }
}
