/* ProductListingCard styles.
 * Static base extracted from ProductListingCard::get_product_styles() and the
 * full quick-view modal sizing block from styles_req_after_ajax().
 * Dynamic parts (overlay show/hide responsive conditionals + instance-scoped
 * .product-tag-badge<suffix> rule) remain inline in get_product_styles().
 * Enqueued via render_product_listing_card_css() / wiz_enqueue_product_card_styles(). */

            .product-listing-card {
                width: 100%;
                max-width: 100%;
                border: 1px solid #e0e0e0;
                overflow: hidden;
                display: flex;
                flex-direction: column;
                box-sizing: border-box;
                position: relative;
                background-color: #ffffff;
                height: 100%;
            }

            .product-listing-card-image-container {
                width: 100%;
                aspect-ratio: 1 / 1;
                position: relative;
                overflow: hidden;
                display: flex;
            }

            .product-listing-card-image-container a img {
                object-fit: contain;
                width: 100%;
                height: 100%;
            }

            .product-listing-card-image-container .product-listing-card-image-primary img {
                display: block;
            }

            .product-listing-card-image-secondary {
                display: none;
            }

            .product-listing-card-image-scroll-slider {
                /* keep it */
                position: relative;
                width: 100%;
                height: 0px;
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 7px;
                padding: 0px 0px;
                background: #ffffff;
                overflow: hidden;
            }

            .product-listing-card-image-container:hover .product-listing-card-image-scroll-slider {
                height: 100%;
                padding: 7px 0px;
                transition: height 0.3s ease;
                transition: padding 0.3s ease;
            }

            .product-listing-card-image-scroll-dot {
                width: 8px;
                height: 8px;
                border-radius: 50%;
                background: #d1d5db;
                cursor: pointer;
                transition: background 0.3s ease;
            }

            .product-listing-card-image-scroll-dot.active {
                background: #000000;
            }

            .product-listing-card-title {
                display: block;
                font-size: 14px;
                font-weight: 600;
                color: #333333;
                text-overflow: ellipsis;
                overflow: hidden;
                white-space: nowrap;
                margin-bottom: 16px;
            }

            .product-listing-card-sku {
                font-size: 12px;
                color: #666;
                text-overflow: ellipsis;
                overflow: hidden;
                white-space: nowrap;
            }

            .product-listing-card-pricing {
                margin: 8px 0px;
                min-width: 0;
                max-width: 100%;
            }

            .product-listing-card-pricing .pricing-container,
            .product-listing-card-pricing .pricing-inner {
                min-width: 0;
                max-width: 100%;
            }

            .product-listing-card-content {
                display: flex;
                height: 100%;
                flex-direction: column;
                padding: 10px;
                flex: 1;
            }

            .product-listing-card-side-by-side-container {
                display: flex;
                flex-direction: row;
                align-items: flex-start;
            }

            .product-listing-card-side-by-side-item {
                flex: 0 0 auto;
                min-width: 0;
                display: flex;
            }

            .product-listing-card-single-item {
                display: flex;
                width: 100%;
            }

            .product-listing-card-single-item .product-attributes {
                width: 100%;
            }

            .product-listing-card-modern-overlay-container {
                position: absolute;
                bottom: 0;
                right: 0;
                left: 0;
                display: flex;
                flex-direction: column;
            }

            .product-listing-card-modern-overlay-add-to-cart {
                justify-content: flex-end;
                display: flex;
            }

            .product-listing-card-modern-overlay-actions {
                display: flex;
                background-color: rgba(88, 88, 88, 0.9);
                color: #ffffff;
                transform: translateY(100%);
                opacity: 0;
                max-height: 0;
                /* padding: 0 10px; */
                overflow: hidden;
                transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, max-height 0.3s ease-in-out, padding 0.3s ease-in-out;
            }
            .product-listing-card-modern-overlay-quick-view svg {
                width: 22px;
                height: 22px;
            }

            .product-listing-card-modern-overlay-similar-products svg {
                width: 18px;
                height: 18px;
            }

            .product-listing-card-modern-overlay-quick-view {
                width: 100%;
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 5px;
                font-size: 12px;
                font-weight: 500;
                cursor: pointer;
            }

            .product-listing-card-modern-overlay-similar-products {
                width: 100%;
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 5px;
                font-size: 12px;
                font-weight: 500;
                cursor: pointer;
            }

            .product-listing-card-modern-overlay-actions .product-listing-card-modern-overlay-similar-products.similar-products-chip {
                width: 100%;
                position: static;
                background-color: transparent;
                border: none;
                border-radius: 0;
                padding: 0;
                margin: 0;
                box-shadow: none;
                line-height: inherit;
            }

            .product-listing-card-modern-overlay-add-to-cart .product-listing-card-view-similar-chip-container .similar-products-chip.custom-ui-chip {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                cursor: pointer;
                font-size: 12px;
                font-weight: 500;
                padding: 6px 10px;
                background: rgba(255, 255, 255, 0.95);
                border-radius: 20px;
                box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
                transition: background 0.2s ease, box-shadow 0.2s ease;
            }

            .product-listing-card-modern-overlay-add-to-cart .product-listing-card-view-similar-chip-container .similar-products-chip.custom-ui-chip:hover {
                background: #fff;
                box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
            }

            .product-listing-card-modern-overlay-add-to-cart .product-listing-card-view-similar-chip-container .similar-products-chip.custom-ui-chip .chip-text {
                opacity: 0;
                max-width: 0;
                overflow: hidden;
                white-space: nowrap;
                transition: opacity 0.3s ease-in-out, max-width 0.3s ease-in-out;
                display: inline-block;
                vertical-align: middle;
            }

            .product-listing-card-modern-overlay-add-to-cart .product-listing-card-view-similar-chip-container .similar-products-chip.custom-ui-chip:hover .chip-text {
                opacity: 1;
                max-width: 200px;
            }

            .product-listing-card-modern-overlay-add-to-cart .product-listing-card-view-similar-chip-container .similar-products-chip.custom-ui-chip svg {
                width: 18px;
                height: 18px;
                flex-shrink: 0;
            }

            .product-listing-card-variants-count-text {
                padding: 2px 7px;
                border-radius: 30px;
                color: #4F555E;
                border: 1px solid #D9D9D9;
                font-size: 12px;
                font-weight: 500;
                width: fit-content;
            }

            /* Responsive labels - Default: Show only desktop */
            .overlay-label-tablet,
            .overlay-label-mobile {
                display: none;
            }

            /* Responsive labels - Tablet (≤1024px): Show tablet, hide desktop */
            @media (max-width: 1024px) {
                .overlay-label-desktop {
                    display: none !important;
                }

                .overlay-label-tablet {
                    display: inline !important;
                }
            }

            /* Responsive labels - Mobile (≤767px): Show mobile, hide tablet */
            @media (max-width: 767px) {
                .overlay-label-tablet {
                    display: none !important;
                }

                .overlay-label-mobile {
                    display: inline !important;
                }
            }

            /* Skeleton Loader Styles */
            @keyframes skeleton-shimmer {
                0% {
                    background-position: -1000px 0;
                }

                100% {
                    background-position: 1000px 0;
                }
            }

            .product-listing-modern-loader-class {
                position: relative;
                overflow: hidden;
                background-color: #f5f7fa;
                pointer-events: none;
            }

            .wishlist-icon-circle.product-listing-modern-loader-class {
                position: absolute;
            }

            .product-listing-modern-loader-class::before {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: linear-gradient(90deg,
                        #f5f7fa 0%,
                        #e8ecf1 20%,
                        #f5f7fa 40%,
                        #f5f7fa 100%);
                background-size: 1000px 100%;
                animation: skeleton-shimmer 2s ease-in-out infinite;
                z-index: 1;
            }

            .product-listing-card-product-tag-container {
                position: absolute;
                top: 10px;
                z-index: 2;
            }

            .inventory-out-of-stock {
                background-color: #f7e9e3;
                color: #d2896f;
            }

            .inventory-backorder {
                background-color: #f7f8fa;
                color: #aaabad;
            }

            .product-listing-card-modern-inventory-status {
                display: flex;
                justify-content: center;
                align-items: center;
                font-size: 10px;
                font-weight: 500;
                padding: 1.5px 0px;
                width: 100%;
                cursor: pointer;
                position: relative;
            }

            .product-listing-card-wrapper {
                position: relative;
                display: inline-block;
                width: 100%;
                box-sizing: border-box;
                min-width: 0;
            }

            .product-stack-layer {
                position: absolute;
                top: 7px;
                left: -7px;
                background-color: #f7f8f8;
                border: 1px solid #e0e0e0;
                pointer-events: none;
                box-sizing: border-box;
                width: 100%;
                height: 97%;
            }

            .product-stack-layer-2 {
                top: 14px;
                left: -13px;
                background-color: #eef1f7;
                border: 1px solid #e0e0e0;
                height: 94%;
            }

            .product-listing-card-wrapper .product-listing-card {
                position: relative;
            }

            .product-brand {
                font-size: 14px;
                font-weight: 600;
                color: #333;
                margin-bottom: 5px;
                text-transform: capitalize;
            }

            .product-brand img.brand-logo {
                max-height: 24px;
                max-width: 100%;
                height: auto;
                width: auto;
                object-fit: contain;
                display: inline-block;
                vertical-align: middle;
            }

            /* --- quick-view modal sizing (was styles_req_after_ajax) --- */
            .quick-view-modal-main-container {
                width: 70vw !important;
                height: 70vh !important;
            }

            @media (max-width: 768px) {
                .quick-view-modal-main-container {
                    width: 100vw !important;
                    height: 95vh !important;
                    max-width: 100% !important;
                }

                .quick-view-modal-main-container.open {
                    transform: none !important;
                    bottom: 0 !important;
                    left: 0 !important;
                    right: 0 !important;
                    top: auto !important;
                }

                /* Force top border radius only on mobile for bottom sheet effect */
                .quick-view-modal-main-container {
                    border-bottom-left-radius: 0 !important;
                    border-bottom-right-radius: 0 !important;
                }
            }
