/* Variable Image Global Styling */
.ov-variable-image {
    display: grid;
    gap: 5px;
    width: 100%;
    align-items: flex-start;
}
.ov-variable-image.position-left-top,
.ov-variable-image.position-left-center,
.ov-variable-image.position-left-bottom,
.ov-variable-image.position-right-top,
.ov-variable-image.position-right-center,
.ov-variable-image.position-right-bottom,
.ov-variable-image.position-bottom-left,
.ov-variable-image.position-bottom-center,
.ov-variable-image.position-bottom-right{
    display:flex;
}
/* Positions — 12 detailed directional alignments */
.ov-variable-image.position-top-left,
.ov-variable-image.position-top-center,
.ov-variable-image.position-top-right,
.ov-variable-image.position-top {
    flex-direction: column;
}

.ov-variable-image.position-bottom-left,
.ov-variable-image.position-bottom-center,
.ov-variable-image.position-bottom-right,
.ov-variable-image.position-bottom {
    flex-direction: column-reverse !important;
}

.ov-variable-image.position-left-top,
.ov-variable-image.position-left-center,
.ov-variable-image.position-left-bottom,
.ov-variable-image.position-left {
    flex-direction: row;
}

.ov-variable-image.position-right-top,
.ov-variable-image.position-right-center,
.ov-variable-image.position-right-bottom,
.ov-variable-image.position-right {
    flex-direction: row-reverse;
}

/* Inner thumbnail strip container */
.ov-variable-image-inner {
    display: flex;
    gap: 10px;
    z-index: 1;
}

/* --- TOP / BOTTOM: horizontal strip, alignment varies by suffix --- */
.position-top-left .ov-variable-image-inner,
.position-bottom-left .ov-variable-image-inner,
.position-top .ov-variable-image-inner,
.position-bottom .ov-variable-image-inner {
    flex-direction: row;
    width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
}

.position-top-center .ov-variable-image-inner,
.position-bottom-center .ov-variable-image-inner {
    flex-direction: row;
    width: 100%;
    justify-content: center;
    overflow-x: auto;
}

.position-top-right .ov-variable-image-inner,
.position-bottom-right .ov-variable-image-inner {
    flex-direction: row;
    width: 100%;
    justify-content: flex-end;
    overflow-x: auto;
}

/* --- LEFT / RIGHT: vertical strip, alignment varies by suffix --- */
.position-left-top .ov-variable-image-inner,
.position-right-top .ov-variable-image-inner,
.position-left .ov-variable-image-inner,
.position-right .ov-variable-image-inner {
    flex-direction: column;
    flex-shrink: 0;
    justify-content: flex-start;
}

.position-left-center .ov-variable-image-inner,
.position-right-center .ov-variable-image-inner {
    flex-direction: column;
    flex-shrink: 0;
    justify-content: center;
}

.position-left-bottom .ov-variable-image-inner,
.position-right-bottom .ov-variable-image-inner {
    flex-direction: column;
    flex-shrink: 0;
    justify-content: flex-end;
}

/* Item */

.ov-variable-image-item {
    cursor: pointer;
    overflow: hidden;
    position: relative;
    line-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}

/* Main Image Area Wrapper */
.ov-variable-main-area {
    flex: 1;
    position: relative !important;
    display: flex;
    flex-direction: column;
    width: auto;
}

.ov-variable-image>.ov-variable-main-area>a,
.ov-variable-image>.ov-variable-main-area .woocommerce-product-gallery__image {
    display: block;
    overflow: hidden;
    width: 100%;
}

/* Custom Scrollbar */
.ov-variable-image-inner::-webkit-scrollbar {
    height: 4px;
    width: 4px;
}

.ov-variable-image-inner::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.1);
    border-radius: 10px;
}

/* Layout Classes */
.style2-badge-layout-row {
    flex-direction: row;
    align-items: center;
}

.style2-badge-layout-column {
    flex-direction: column;
    align-items: flex-start;
}

/* Alignment for Right-side Column Layout */
.style2-badge-pos-top-right.style2-badge-layout-column,
.style2-badge-pos-bottom-right.style2-badge-layout-column {
    align-items: flex-end;
}

/* Base Badge Style - Structure only */
.product-style-2 .style2-badge {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

/* Block editor wrapper — c4root-variable-images-wrapper position classes mirror ov-variable-image classes */
.c4root-variable-images-wrapper {
    display: flex;
    gap: 10px;
    width: 100%;
    align-items: flex-start;
}

/* TOP */
.c4root-variable-images-wrapper.position-top-left,
.c4root-variable-images-wrapper.position-top-center,
.c4root-variable-images-wrapper.position-top-right,
.c4root-variable-images-wrapper.position-top {
    flex-direction: column;
}

/* BOTTOM */
.c4root-variable-images-wrapper.position-bottom-left,
.c4root-variable-images-wrapper.position-bottom-center,
.c4root-variable-images-wrapper.position-bottom-right,
.c4root-variable-images-wrapper.position-bottom {
    flex-direction: column-reverse;
}

/* LEFT */
.c4root-variable-images-wrapper.position-left-top,
.c4root-variable-images-wrapper.position-left-center,
.c4root-variable-images-wrapper.position-left-bottom,
.c4root-variable-images-wrapper.position-left {
    flex-direction: row;
}

/* RIGHT */
.c4root-variable-images-wrapper.position-right-top,
.c4root-variable-images-wrapper.position-right-center,
.c4root-variable-images-wrapper.position-right-bottom,
.c4root-variable-images-wrapper.position-right {
    flex-direction: row-reverse;
}

/* Thumbnail strip inside block wrapper */
.c4root-variable-images-wrapper .c4root-variable-images {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

/* TOP/BOTTOM: horizontal strip alignment */
.c4root-variable-images-wrapper.position-top-left .c4root-variable-images,
.c4root-variable-images-wrapper.position-bottom-left .c4root-variable-images,
.c4root-variable-images-wrapper.position-top .c4root-variable-images,
.c4root-variable-images-wrapper.position-bottom .c4root-variable-images {
    flex-direction: row;
    width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
}

.c4root-variable-images-wrapper.position-top-center .c4root-variable-images,
.c4root-variable-images-wrapper.position-bottom-center .c4root-variable-images {
    flex-direction: row;
    width: 100%;
    justify-content: center;
    overflow-x: auto;
}

.c4root-variable-images-wrapper.position-top-right .c4root-variable-images,
.c4root-variable-images-wrapper.position-bottom-right .c4root-variable-images {
    flex-direction: row;
    width: 100%;
    justify-content: flex-end;
    overflow-x: auto;
}

/* LEFT/RIGHT: vertical strip alignment */
.c4root-variable-images-wrapper.position-left-top .c4root-variable-images,
.c4root-variable-images-wrapper.position-right-top .c4root-variable-images,
.c4root-variable-images-wrapper.position-left .c4root-variable-images,
.c4root-variable-images-wrapper.position-right .c4root-variable-images {
    flex-direction: column;
    justify-content: flex-start;
}

.c4root-variable-images-wrapper.position-left-center .c4root-variable-images,
.c4root-variable-images-wrapper.position-right-center .c4root-variable-images {
    flex-direction: column;
    justify-content: center;
}

.c4root-variable-images-wrapper.position-left-bottom .c4root-variable-images,
.c4root-variable-images-wrapper.position-right-bottom .c4root-variable-images {
    flex-direction: column;
    justify-content: flex-end;
}

.ov-variable-image.position-left-top,
.ov-variable-image.position-right-top {
    align-items: flex-start;
}

.ov-variable-image.position-left-center,
.ov-variable-image.position-right-center {
    align-items: center;
}

.ov-variable-image.position-left-bottom,
.ov-variable-image.position-right-bottom {
    align-items: flex-end;
}

.ov-variable-image.position-top-left,
.ov-variable-image.position-bottom-left {
    align-items: flex-start;
}

.ov-variable-image.position-top-center,
.ov-variable-image.position-bottom-center {
    align-items: center;
}

.ov-variable-image.position-top-right,
.ov-variable-image.position-bottom-right {
    align-items: flex-end;
}

.products-list.woocommerce-product-list ul.products li.product:has(.style2-product-inner),
.woocommerce ul.products.products-list-view li.product:has(.style2-product-inner) {
    display: block !important;
}

.products-list.woocommerce-product-list ul.products li.product .style2-product-inner,
.woocommerce ul.products.products-list-view li.product .style2-product-inner {
    display: grid !important;
    grid-template-columns: 320px 1fr !important;
    width: 100% !important;
}

.products-list.woocommerce-product-list ul.products li.product .style2-product-inner .product-thumbnail,
.woocommerce ul.products.products-list-view li.product .style2-product-inner .product-thumbnail {
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
}

.products-list.woocommerce-product-list ul.products li.product .style2-product-inner .product-details.entry-content-wrap,
.woocommerce ul.products.products-list-view li.product .style2-product-inner .product-details.entry-content-wrap {
    padding: 0 !important;
}

.products-list.woocommerce-product-list ul.products li.product .style2-product-inner .product-details.entry-content-wrap .product-action-wrap,
.woocommerce ul.products.products-list-view li.product .style2-product-inner .product-details.entry-content-wrap .product-action-wrap {
    bottom: auto !important;
    margin: 0 !important;
}

/* FIXED LIST VIEW LAYOUT - Applied to all list views regardless of dashboard style selection */
.woocommerce ul.products.products-list-view li.product {
    display: grid !important;
    grid-template-columns: 320px 1fr !important;
    gap: 30px !important;
    width: 100% !important;
    align-items: stretch !important;
}

.woocommerce ul.products.products-list-view li.product .product-thumbnail {
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    flex-shrink: 0 !important;
}

.woocommerce ul.products.products-list-view li.product .product-details.entry-content-wrap {
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
}

/* Hide style-specific overlays in list view - but keep content visible */
.woocommerce ul.products.products-list-view li.product .style2-product-inner {
    display: contents !important;
}

.woocommerce ul.products.products-list-view li.product .style3-product-inner {
    display: contents !important;
}

/* Maintain list view layout for all styles */
.product-style-1 .woocommerce ul.products.products-list-view li.product,
.product-style-2 .woocommerce ul.products.products-list-view li.product,
.product-style-3 .woocommerce ul.products.products-list-view li.product {
    display: grid !important;
    grid-template-columns: 320px 1fr !important;
    gap: 30px !important;
}

@media screen and (max-width: 768px) {

    .products-list.woocommerce-product-list ul.products li.product .style2-product-inner,
    .woocommerce ul.products.products-list-view li.product .style2-product-inner {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }
}

.product-style-2 .style2-custom-price:empty,
.product-style-2 .price:empty,
.product-style-2 .price:empty+.style2-delivery-info {
    display: none !important;
}

/* LIST VIEW: Hide empty price and excerpt wrappers to prevent spacing gaps */
.woocommerce ul.products.products-list-view li.product .kwt-price-wrap:empty,
.woocommerce ul.products.products-list-view li.product .kwt-excerpt-wrap:empty,
.woocommerce ul.products.products-list-view li.product .product-excerpt:empty,
.woocommerce ul.products.products-list-view li.product .price:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

/* LIST VIEW: Ensure flex container collapses empty gaps */
.woocommerce ul.products.products-list-view li.product .product-details.entry-content-wrap {
    gap: 0 !important;
}

/* STYLE 1 GRID VIEW: Fix spacing and alignment for missing/long content */
.product-style-1 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.product-style-1 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-details.entry-content-wrap {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    justify-content: flex-start !important;
}

/* Hide empty price wrappers in Style 1 Grid View */
.product-style-1 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .kwt-price-wrap:empty,
.product-style-1 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .price:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

/* Hide empty excerpt/description wrappers in Style 1 Grid View */
.product-style-1 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .kwt-excerpt-wrap:empty,
.product-style-1 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-excerpt:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

/* Ensure product title doesn't cause height issues */
.product-style-1 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .woocommerce-loop-product__title,
.product-style-1 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product h3 {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

/* Push action buttons to bottom of card */
.product-style-1 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-action-wrap {
    margin-top: auto !important;
}

/* Hide duplicate/theme default excerpt - show only plugin version */
.product-style-1 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-excerpt:not(.plugin-excerpt) {
    display: none !important;
}

.product-style-1 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-excerpt.plugin-excerpt {
    display: block !important;
}

.product-style-2 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-details.entry-content-wrap {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 2px !important;
}

.product-style-2 .woocommerce-loop-product__title {
    padding: 0 !important;
}

/* Image Badges (Discount & Stock) */
.product-style-2 .style2-badges-wrap {
    position: absolute;
    display: flex;
    gap: 8px;
    z-index: 1;
    pointer-events: none;
    transition: all 0.3s ease;
}

.style2-badge-pos-top-left {
    top: 15px;
    left: 15px;
}

.style2-badge-pos-top-right {
    top: 15px;
    right: 15px;
}

.style2-badge-pos-bottom-left {
    bottom: 15px;
    left: 15px;
}

.style2-badge-pos-bottom-right {
    bottom: 15px;
    right: 15px;
}

.style2-badge-pos-top-center {
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
}

.style2-badge-pos-bottom-center {
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
}

/* --- Style 2 On-Image Hover Actions --- */
.product-style-2 .style2-hover-actions {
    position: absolute;
    z-index: 1;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
}

.product-style-2 .style2-hover-pos-top-left {
    top: 0;
    left: 0;
    align-items: flex-start;
    transform: translateY(-10px);
}

.product-style-2 .style2-hover-pos-top-right {
    top: 0;
    right: 0;
    align-items: flex-end;
    transform: translateY(-10px);
}

.product-style-2 .style2-hover-pos-bottom-left {
    bottom: 0;
    left: 0;
    align-items: flex-start;
    transform: translateY(10px);
}

.product-style-2 .style2-hover-pos-bottom-right {
    bottom: 0;
    right: 0;
    align-items: flex-end;
    transform: translateY(10px);
}

.product-style-2 .style2-hover-pos-bottom-center {
    bottom: 0;
    left: 50%;
    align-items: center;
    transform: translate(-50%, 10px);
    padding: 15px;
    width: 100%;
}

.product-style-2 ul.products li.product:hover .style2-hover-pos-top-left,
.product-style-2 ul.products li.product:hover .style2-hover-pos-top-right,
.product-style-2 ul.products li.product:hover .style2-hover-pos-bottom-left,
.product-style-2 ul.products li.product:hover .style2-hover-pos-bottom-right,
.product-style-2 li.product:hover .style2-hover-pos-top-left,
.product-style-2 li.product:hover .style2-hover-pos-top-right,
.product-style-2 li.product:hover .style2-hover-pos-bottom-left,
.product-style-2 li.product:hover .style2-hover-pos-bottom-right {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.product-style-2 ul.products li.product:hover .style2-hover-pos-bottom-center,
.product-style-2 li.product:hover .style2-hover-pos-bottom-center {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.product-style-2 ul.products li.product:hover .style2-hover-pos-left-center,
.product-style-2 li.product:hover .style2-hover-pos-left-center {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.product-style-2 ul.products li.product:hover .style2-hover-pos-right-center,
.product-style-2 li.product:hover .style2-hover-pos-right-center {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.product-style-2 .style2-hover-actions .ow-wishlist-cart-wrap {
    display: flex;
    gap: 8px;
    margin-top: 8px;
    justify-content: center;
}

/* Override the inline position:absolute that the quickview shortcode button adds to itself */

.product-style-2 .hover-left .product-actions,
.product-style-2 .hover-right .product-actions,
.product-style-2 .hover-left-center .product-actions,
.product-style-2 .hover-right-center .product-actions {
    height: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    justify-content: normal !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    transform: none !important;
    padding: 15px;
}

.product-style-2 .hover-left .product-actions {
    align-items: flex-start !important;
    justify-content: flex-start !important;
}

.product-style-2 .hover-right .product-actions {
    align-items: flex-end !important;
    justify-content: flex-start !important;
}

.product-style-2 .hover-left-center .product-actions {
    align-items: flex-start !important;
    justify-content: center !important;
    flex-direction: column !important;
}

.product-style-2 .hover-right-center .product-actions {
    align-items: flex-end !important;
    justify-content: center !important;
    flex-direction: column !important;
}

.product-style-2 .hover-left-center .product-actions .style2-qv-pos,
.product-style-2 .hover-right-center .product-actions .style2-qv-pos {
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin: 0 !important;
}

/* General Hover Positions */
.woocommerce ul.products li.product.hover-right .product-thumbnail .product-actions {
    transform: translate3d(100px, 0, 0);
    top: 15px;
    right: 15px;
    left: auto;
    /* flex-direction: row; */
}

.woocommerce ul.products li.product.hover-right:hover .product-thumbnail .product-actions {
    transform: translate3d(0, 0, 0);
    align-items: center;
    top: 15px;
    bottom: auto;
    right: 15px;
    left: auto;
}

.woocommerce ul.products li.product.hover-left-center .product-thumbnail .product-actions {
    transform: translate3d(-100px, -50%, 0);
    top: 50%;
    right: auto;
    left: 15px;
    flex-direction: column;
}

.woocommerce ul.products li.product.hover-left-center:hover .product-thumbnail .product-actions {
    transform: translate3d(0, -50%, 0);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    top: 50%;
    bottom: auto;
    left: 15px;
    right: auto;
}

.woocommerce ul.products li.product.hover-right-center .product-thumbnail .product-actions {
    transform: translate3d(100px, -50%, 0);
    top: 50%;
    right: 15px;
    left: auto;
    flex-direction: column;
}

.woocommerce ul.products li.product.hover-right-center:hover .product-thumbnail .product-actions {
    transform: translate3d(0, -50%, 0);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    top: 50%;
    bottom: auto;
    right: 15px;
    left: auto;
}

/* Mobile General Hover Positions */
@media screen and (max-width: 767px) {
    .woocommerce ul.products li.product.hover-left-center .product-thumbnail .product-actions {
        top: 50%;
        bottom: auto;
        left: 10px;
        right: auto;
        transform: translateY(-50%) translateZ(0);
    }

    .woocommerce ul.products li.product.hover-right-center .product-thumbnail .product-actions {
        top: 50%;
        bottom: auto;
        right: 10px;
        left: auto;
        transform: translateY(-50%) translateZ(0);
    }
}

.product-style-2 .style2-qv-pos-bottom-center {
    bottom: 20px !important;
    left: 50% !important;
    transform: translateX(-50%);
}

.product-style-2 .style2-qv-pos {
    position: absolute !important;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* Override the inline position:absolute that the quickview shortcode button adds to itself */
.product-style-2 .style2-qv-pos>* {
    position: static !important;
    bottom: auto !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
}

.product-style-2 .style2-qv-pos-bottom-left {
    bottom: 15px !important;
    left: 15px !important;
}

.product-style-2 .style2-qv-pos-bottom-right {
    bottom: 15px !important;
    right: 15px !important;
}

.product-style-2 ul.products li.product:hover .style2-qv-pos,
.product-style-2 li.product:hover .style2-qv-pos {
    opacity: 1;
    visibility: visible;
}

/* Resolve Duplicate Excerpt: Hide theme's default version and show plugin's re-orderable version everywhere */
.product-excerpt:not(.plugin-excerpt) {
    display: none !important;
}

.product-excerpt.plugin-excerpt {
    display: block !important;
}


/* Badge position in content area */
.product-style-2 .style2-badges-wrap.style2-badge-pos-in-content {
    position: static !important;
    margin-bottom: 5px;
    pointer-events: auto;
    display: flex;
}

/* Style 2 Quantity Input */
/* Style 2 Quantity Input */
.product-style-2 ul.products li.product .quantity.spinners-added {
    display: var(--style2-quantity-display, inline-flex) !important;
    width: var(--style2-quantity-width, auto) !important;
    height: var(--style2-quantity-height, auto) !important;
    background-color: var(--style2-quantity-bg-color, transparent) !important;
    border: var(--style2-quantity-border, 1px solid rgba(0, 0, 0, 0.1)) !important;
    border-radius: var(--style2-quantity-border-radius, 3px) !important;
    gap: var(--style2-quantity-gap, 0px) !important;
    justify-content: center !important;
    align-items: center !important;
    margin-bottom: 10px !important;
    transition: all 0.3s ease;
}

.product-style-2 ul.products li.product:hover .quantity.spinners-added {
    border-color: var(--style2-quantity-border-color-hover, rgba(0, 0, 0, 0.2)) !important;
    background-color: var(--style2-quantity-bg-color-hover, transparent) !important;
}

.product-style-2 ul.products li.product .quantity.spinners-added input.qty {
    background: var(--style2-quantity-input-bg-color, #ffffff) !important;
    color: var(--style2-quantity-input-color, #333) !important;
    border: var(--style2-quantity-input-border-width, 1px) solid var(--style2-quantity-input-border-color, #e5e5e5) !important;
    border-radius: var(--style2-quantity-input-border-radius, 0px) !important;
    text-align: center !important;
    width: var(--style2-quantity-input-width, 60px) !important;
    height: var(--style2-quantity-input-height, 40px) !important;
    padding: 0.5rem !important;
    line-height: var(--style2-quantity-input-height, 40px) !important;
    vertical-align: middle !important;
    transition: all 0.3s ease;
}

.product-style-2 ul.products li.product .quantity.spinners-added input.qty:hover {
    background: var(--style2-quantity-input-bg-color-hover, #fafafa) !important;
    color: var(--style2-quantity-input-color-hover, #000) !important;
    border-color: var(--style2-quantity-input-border-color-hover, #bbbbbb) !important;
}

/* Button & Icon Styling */
.product-style-2 ul.products li.product .quantity.spinners-added button,
.product-style-2 ul.products li.product .quantity.spinners-added input[type="button"],
.product-style-2 ul.products li.product .quantity.spinners-added .minus,
.product-style-2 ul.products li.product .quantity.spinners-added .plus {
    background: var(--style2-quantity-button-bg-color, #f9f9f9) !important;
    color: var(--style2-quantity-button-color, #333) !important;
    border: var(--style2-quantity-button-border, 1px solid #e5e5e5) !important;
    border-radius: var(--style2-quantity-button-border-radius, 0px) !important;
    width: var(--style2-quantity-button-width, 40px) !important;
    height: var(--style2-quantity-button-height, 40px) !important;
    cursor: pointer;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: bold !important;
    text-indent: 0 !important;
}

/* Icons/Text inside buttons - comprehensive targeting */
.product-style-2 ul.products li.product .quantity.spinners-added button::before,
.product-style-2 ul.products li.product .quantity.spinners-added button::after,
.product-style-2 ul.products li.product .quantity.spinners-added button *,
.product-style-2 ul.products li.product .quantity.spinners-added input[type="button"],
.product-style-2 ul.products li.product .quantity.spinners-added .minus,
.product-style-2 ul.products li.product .quantity.spinners-added .minus::before,
.product-style-2 ul.products li.product .quantity.spinners-added .minus::after,
.product-style-2 ul.products li.product .quantity.spinners-added .minus *,
.product-style-2 ul.products li.product .quantity.spinners-added .plus,
.product-style-2 ul.products li.product .quantity.spinners-added .plus::before,
.product-style-2 ul.products li.product .quantity.spinners-added .plus::after,
.product-style-2 ul.products li.product .quantity.spinners-added .plus * {
    color: var(--style2-quantity-button-color, #333) !important;
    fill: var(--style2-quantity-button-color, #333) !important;
}

/* Button Hover State */
.product-style-2 ul.products li.product .quantity.spinners-added button:hover,
.product-style-2 ul.products li.product .quantity.spinners-added input[type="button"]:hover,
.product-style-2 ul.products li.product .quantity.spinners-added .minus:hover,
.product-style-2 ul.products li.product .quantity.spinners-added .plus:hover {
    background: var(--style2-quantity-button-bg-color-hover, #eeeeee) !important;
    color: var(--style2-quantity-button-color-hover, #000) !important;
    border-color: var(--style2-quantity-button-border-color-hover, #cccccc) !important;
}

/* Hover Icons - comprehensive targeting */
.product-style-2 ul.products li.product .quantity.spinners-added button:hover::before,
.product-style-2 ul.products li.product .quantity.spinners-added button:hover::after,
.product-style-2 ul.products li.product .quantity.spinners-added button:hover *,
.product-style-2 ul.products li.product .quantity.spinners-added input[type="button"]:hover,
.product-style-2 ul.products li.product .quantity.spinners-added .minus:hover,
.product-style-2 ul.products li.product .quantity.spinners-added .minus:hover::before,
.product-style-2 ul.products li.product .quantity.spinners-added .minus:hover::after,
.product-style-2 ul.products li.product .quantity.spinners-added .minus:hover *,
.product-style-2 ul.products li.product .quantity.spinners-added .plus:hover,
.product-style-2 ul.products li.product .quantity.spinners-added .plus:hover::before,
.product-style-2 ul.products li.product .quantity.spinners-added .plus:hover::after,
.product-style-2 ul.products li.product .quantity.spinners-added .plus:hover * {
    color: var(--style2-quantity-button-color-hover, #000) !important;
    fill: var(--style2-quantity-button-color-hover, #000) !important;
}

/* Hide Quantity if body class is present */
body.style2-quantity-hidden .product-style-2 ul.products li.product .quantity {
    display: none !important;
}

/* Hide Quantity if body class is present */
body.style2-quantity-hidden .product-style-2 ul.products li.product .quantity {
    display: none !important;
}

/* Style 2 Content Alignment (grid view only) */
.product-style-2 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product.style2-align-center .product-details.entry-content-wrap {
    text-align: center !important;
    align-items: center !important;
}

.product-style-2 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product.style2-align-center .product-details.entry-content-wrap>* {
    justify-content: center !important;
}

.product-style-2 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product.style2-align-right .product-details.entry-content-wrap {
    text-align: right !important;
    align-items: flex-end !important;
}

.product-style-2 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product.style2-align-right .product-details.entry-content-wrap>* {
    justify-content: flex-end !important;
}

.product-style-2 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product.style2-align-left .product-details.entry-content-wrap {
    text-align: left !important;
    align-items: flex-start !important;
}

.product-style-2 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product.style2-align-left .product-details.entry-content-wrap>* {
    justify-content: flex-start !important;
}

.product-style-2 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product.style2-align-center .product-details.entry-content-wrap .style2-rating-wrap {
    justify-content: center !important;
}

.product-style-2 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product.style2-align-right .product-details.entry-content-wrap .style2-rating-wrap {
    justify-content: flex-end !important;
}

.product-style-2 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product.style2-align-left .product-details.entry-content-wrap .style2-rating-wrap {
    justify-content: flex-start !important;
}

/* Style 2 Inline Buttons Wrap (Add to Cart + Icons) */
.style2-inline-buttons-wrap {
    display: flex;
}

/* STYLE 3: Premium Overlay Design & Containment (grid view only) */

/* Shop archive: hide Style 1 variable strip when dashboard Style 3 (body.product-style-3) */
body.product-style-3 .woocommerce ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-thumbnail .ov-variable-image,
body.product-style-3 .woocommerce ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-thumbnail .c4root-variable-images-wrapper {
    display: none !important;
}

/* Fallback when style3-product-inner is missing — still overlay on native shop grid */
body.product-style-3 .woocommerce ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product:not(:has(.style3-product-inner)) {
    position: relative !important;
    overflow: hidden !important;
}

body.product-style-3 .woocommerce ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product:not(:has(.style3-product-inner)) .product-thumbnail {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: var(--c4root-thumbnail-aspect-ratio, 1 / 1) !important;
    overflow: hidden !important;
}

body.product-style-3 .woocommerce ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product:not(:has(.style3-product-inner)) .product-details.entry-content-wrap {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 3 !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    box-sizing: border-box !important;
    background: linear-gradient(to top, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.75) 70%, transparent 100%) !important;
    flex-grow: 0 !important;
}

.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-product-inner {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: var(--c4root-thumbnail-aspect-ratio, 1 / 1) !important;
    overflow: hidden !important;
}

.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-product-inner>a,
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-product-inner .product-thumbnail {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 1 !important;
}

/* Hide Style 1 variable-image strip on main image — Style 3 uses small thumb beside text only */
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-product-inner .product-thumbnail .ov-variable-image,
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-product-inner .product-thumbnail .c4root-variable-images-wrapper {
    display: none !important;
}

.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-details.entry-content-wrap {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 3 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    background: transparent !important;
    flex-grow: 0 !important;
}

/* Overlay with thumb: thumbnail LEFT, title + price stacked RIGHT */
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-details.entry-content-wrap:has(.style3-small-thumb-wrap),
body.product-style-3 .woocommerce ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-details.entry-content-wrap:has(.style3-small-thumb-wrap) {
    display: grid !important;
    grid-template-columns: 60px 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 8px 10px !important;
    align-items: flex-start !important;
    flex-grow: 0 !important;
}

.products.align-buttons-bottom.product-style-3 ul.products:not(.products-list-view) li.product .product-details.entry-content-wrap:has(.style3-small-thumb-wrap),
body.product-style-3 .woocommerce ul.products.align-buttons-bottom:not(.products-list-view) li.product .product-details.entry-content-wrap:has(.style3-small-thumb-wrap) {
    display: grid !important;
    grid-template-columns: 60px 1fr !important;
    grid-template-rows: auto auto !important;
}

.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-details.entry-content-wrap:not(:has(.style3-small-thumb-wrap)) {
    display: block !important;
    flex-direction: unset !important;
    flex-wrap: unset !important;
}

.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-small-thumb-wrap {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    overflow: hidden !important;
    display: block !important;
    position: relative !important;
    margin: auto;
}

.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-small-thumb-wrap .ov-variable-image-inner {
    display: block !important;
    width: 60px !important;
    height: 60px !important;
    flex-direction: unset !important;
    gap: 0 !important;
}

.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-small-thumb-wrap .ov-variable-image-item,
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-small-thumb-wrap img {
    display: block !important;
    width: 60px !important;
    height: 60px !important;
    max-width: 60px !important;
    object-fit: cover !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
}

.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-details.entry-content-wrap:has(.style3-small-thumb-wrap) .woocommerce-loop-product__title,
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-details.entry-content-wrap:has(.style3-small-thumb-wrap) .woocommerce-loop-product__title a {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 1.35 !important;
}

.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-details.entry-content-wrap:has(.style3-small-thumb-wrap) .price,
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-details.entry-content-wrap:has(.style3-small-thumb-wrap) .kwt-price-wrap,
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-details.entry-content-wrap:has(.style3-small-thumb-wrap) .price ins,
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-details.entry-content-wrap:has(.style3-small-thumb-wrap) .price del {
    grid-column: 2 !important;
    grid-row: 2 !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-details.entry-content-wrap:has(.style3-small-thumb-wrap)> :not(.style3-small-thumb-wrap):not(.woocommerce-loop-product__title):not(.price):not(.kwt-price-wrap):not(.style3-inline-buttons-wrap):not(.style3-hover-buttons-wrap) {
    display: none !important;
}

.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-inline-buttons-wrap,
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-hover-buttons-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    bottom: 15px !important;
    left: 15px !important;
    right: 15px !important;
    box-sizing: border-box !important;
    z-index: 5 !important;
    overflow: visible !important;
    pointer-events: auto !important;
}

.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-inline-buttons-wrap .product-action-wrap,
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-hover-buttons-wrap .product-action-wrap {
    position: relative !important;
    bottom: auto !important;
    width: 100% !important;
    display: flex !important;
    margin: 0 !important;
    transform: none !important;
}

.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-inline-buttons-wrap .button,
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-hover-buttons-wrap .button,
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-inline-buttons-wrap a.added_to_cart,
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-hover-buttons-wrap a.added_to_cart {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    line-height: 1.3 !important;
    height: auto !important;
    min-height: 40px !important;
    padding: 10px 12px !important;
}

.product-style-3.style3-buttons-hover ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-hover-buttons-wrap {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.25s ease, visibility 0.25s ease !important;
}

.product-style-3.style3-buttons-hover ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product:hover .style3-product-inner .style3-hover-buttons-wrap,
.product-style-3.style3-buttons-hover ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product:focus-within .style3-product-inner .style3-hover-buttons-wrap {
    opacity: 1 !important;
    visibility: visible !important;
}

.product-style-3.style3-buttons-default ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-inline-buttons-wrap {
    opacity: 1 !important;
    visibility: visible !important;
}

.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-product-inner:has(.style3-inline-buttons-wrap) .product-details.entry-content-wrap,
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-product-inner:has(.style3-hover-buttons-wrap) .product-details.entry-content-wrap {
    padding-bottom: 70px !important;
}

.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .product-excerpt,
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .plugin-excerpt,
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .star-rating {
    display: none !important;
}

/* rating */
.style2-rating-wrap.is-stacked {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.style2-rating-wrap.is-stacked .rating-count {
    width: 100% !important;
}

.style2-rating-wrap .rating-top {
    display: flex;
    align-items: center;
}

.products-list-view .star-rating {
    margin: 5px 0 0 0 !important;
}

/* Disable hover translateY on entry-content-wrap for Style 2 and Style 3 */
.product-style-2 ul.products.woo-archive-action-on-hover li.product:hover .entry-content-wrap,
.product-style-2 ul.products.woo-archive-action-on-hover li.product:focus-within .entry-content-wrap,
.product-style-3 ul.products.woo-archive-action-on-hover li.product:hover .entry-content-wrap,
.product-style-3 ul.products.woo-archive-action-on-hover li.product:focus-within .entry-content-wrap,
.product-style-4 ul.products li.product:hover .product-details.entry-content-wrap,
.product-style-4 ul.products li.product:focus-within .product-details.entry-content-wrap {
    -webkit-transform: none !important;
    transform: none !important;
}

/* --- Style 2: Top, Bottom, Center Hover Icon Alignment --- */

.product-style-2 li.product.hover-top .style2-qv-pos,
.product-style-2 li.product.hover-bottom .style2-qv-pos,
.product-style-2 li.product.hover-center .style2-qv-pos {
    display: contents !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.product-style-2 li.product.hover-top .product-thumbnail .product-actions,
.product-style-2 li.product.hover-bottom .product-thumbnail .product-actions,
.product-style-2 li.product.hover-center .product-thumbnail .product-actions,
.product-style-2 li.product.hover-top .style2-hover-actions,
.product-style-2 li.product.hover-bottom .style2-hover-actions,
.product-style-2 li.product.hover-center .style2-hover-actions {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
}

.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-inline-buttons-wrap,
.product-style-3 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-hover-buttons-wrap {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 10 !important;
    padding: 10px !important;
    box-sizing: border-box !important;
}

.product-style-3.style3-buttons-default ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-inline-buttons-wrap {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    display: block !important;
}

.product-style-3.style3-buttons-default ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-inline-buttons-wrap .product-action-wrap,
.product-style-3.style3-buttons-default ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-inline-buttons-wrap .ow-wishlist-cart-wrap,
.product-style-3.style3-buttons-default ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-inline-buttons-wrap .rt-product-buttons,
.product-style-3.style3-buttons-default ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product .style3-inline-buttons-wrap .button {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Style 4 - Image Visible by Default, Hover Shows Content (2 Column Layout) */

.product-style-4 ul.products li.product .product-thumbnail {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.product-style-4 ul.products li.product .product-details.entry-content-wrap {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: transparent !important;
    isolation: isolate;
    opacity: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1.5rem;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 10;
    text-align: center;
    overflow-y: auto;
    max-height: 100%;
}

/* opacity only affects the background color, NOT the content children */
.product-style-4 ul.products:not(.products-list-view) li.product .product-details.entry-content-wrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--style4-overlay-bg-color, rgba(0, 0, 0, 0.5));
    opacity: var(--style4-overlay-opacity, 0.7);
    z-index: -1;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.product-style-4 ul.products li.product .product-details.entry-content-wrap>* {
    position: relative;
    z-index: 1;
}

.product-style-4 ul.products li.product:hover .product-details.entry-content-wrap,
.product-style-4 ul.products li.product:focus-within .product-details.entry-content-wrap {
    visibility: visible;
    opacity: 1;
}

.product-style-4 ul.products li.product .product-details.entry-content-wrap .quantity.spinners-added {
    display: var(--style4-quantity-display, inline-flex);
    width: var(--style4-quantity-width, auto);
    height: var(--style4-quantity-height, auto);
    background-color: var(--style4-quantity-bg-color, rgba(255, 255, 255, 0.1));
    border: var(--style4-quantity-border, 1px solid rgba(255, 255, 255, 0.3));
    border-radius: var(--style4-quantity-border-radius, 3px);
    gap: var(--style4-quantity-gap, 0px);
    justify-content: center;
    align-items: center;
}

.product-style-4 ul.products li.product .product-details.entry-content-wrap .quantity.spinners-added input.qty {
    background: var(--style4-quantity-input-bg-color, rgba(255, 255, 255, 0.1)) !important;
    color: var(--style4-quantity-input-color, #fff) !important;
    border: var(--style4-quantity-input-border-width, 1px) solid var(--style4-quantity-input-border-color, rgba(255, 255, 255, 0.3)) !important;
    border-radius: var(--style4-quantity-input-border-radius, 3px) !important;
    text-align: center !important;
    width: var(--style4-quantity-input-width, 60px) !important;
    height: var(--style4-quantity-input-height, 40px) !important;
    padding: 0.5rem !important;
    line-height: var(--style4-quantity-input-height, 40px) !important;
    vertical-align: middle !important;
}

.product-style-4 ul.products li.product .product-details.entry-content-wrap .quantity.spinners-added button,
.product-style-4 ul.products li.product .product-details.entry-content-wrap .quantity.spinners-added input[type="button"] {
    background: var(--style4-quantity-button-bg-color, rgba(255, 255, 255, 0.2)) !important;
    color: var(--style4-quantity-button-color, #fff) !important;
    border: var(--style4-quantity-button-border, none) !important;
    border-radius: var(--style4-quantity-button-border-radius, 0px) !important;
    width: var(--style4-quantity-button-width, 40px) !important;
    height: var(--style4-quantity-button-height, 40px) !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2em;
}

.product-style-4 ul.products:not(.products-list-view) li.product .product-action-wrap,
.product-style-4 ul.products:not(.products-list-view) li.product .ow-wishlist-cart-wrap,
.product-style-4 ul.products:not(.products-list-view) li.product .style2-hover-actions,
.product-style-4 ul.products:not(.products-list-view) li.product .style3-hover-buttons-wrap,
.product-style-4 ul.products:not(.products-list-view) li.product .product-actions,
.product-style-4 ul.products:not(.products-list-view) li.product .star-rating {
    display: none !important;
}

/* Style 4 Quantity: Hover state overrides */
.product-style-4 ul.products li.product .product-details.entry-content-wrap .quantity.spinners-added:hover {
    border-color: var(--style4-quantity-border-color-hover, rgba(255, 255, 255, 0.5)) !important;
    background-color: var(--style4-quantity-bg-color-hover, rgba(255, 255, 255, 0.2)) !important;
}

.product-style-4 ul.products li.product .product-details.entry-content-wrap .quantity.spinners-added button:hover,
.product-style-4 ul.products li.product .product-details.entry-content-wrap .quantity.spinners-added input[type="button"]:hover {
    background: var(--style4-quantity-button-bg-color-hover, rgba(255, 255, 255, 0.35)) !important;
    color: var(--style4-quantity-button-color-hover, #fff) !important;
    border-color: var(--style4-quantity-button-border-color-hover, rgba(255, 255, 255, 0.5)) !important;
}

.product-style-4 ul.products li.product .product-details.entry-content-wrap .quantity.spinners-added input.qty:hover {
    background: var(--style4-quantity-input-bg-color-hover, rgba(255, 255, 255, 0.2)) !important;
    color: var(--style4-quantity-input-color-hover, #fff) !important;
    border-color: var(--style4-quantity-input-border-color-hover, rgba(255, 255, 255, 0.5)) !important;
}

.product-style-4 ul.products.products-list-view li.product {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
}

.product-style-4 ul.products.products-list-view li.product .product-thumbnail {
    flex-shrink: 0;
    padding: 0;
}

.product-style-4 ul.products.products-list-view li.product .product-details.entry-content-wrap {
    position: static;
    background: transparent;
    opacity: 1;
    visibility: visible;
    flex: 1;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
    color: inherit;
    padding: 0 0 0 1rem;
    z-index: auto;
    overflow-y: visible;
}

.product-style-4 ul.products.products-list-view li.product .product-details.entry-content-wrap h3,
.product-style-4 ul.products.products-list-view li.product .product-details.entry-content-wrap .woocommerce-loop-product__title {
    color: inherit;
}

.product-style-4 ul.products.products-list-view li.product .product-details.entry-content-wrap .price {
    color: var(--global-palette1);
}

.product-style-4 ul.products.products-list-view li.product .product-details.entry-content-wrap .woocommerce-product-rating {
    justify-content: flex-start;
}

.product-style-4 ul.products.products-list-view li.product .product-details.entry-content-wrap .posted-in {
    display: block !important;
}

.product-style-4 ul.products.products-list-view li.product .star-rating {
    display: inline-block !important;
}

/* Style 5 */
.product-style-5 ul.products:not(.products-list-view) li.product .style5-product-inner .product-details.entry-content-wrap {
    text-align: left !important;
}

.woocommerce ul.products li.product.product-style-5 .style5-product-inner {
    padding: 0;
    transition: none !important;
    position: relative;
    overflow: visible;
    height: 100%;
    display: flex;
    flex-direction: column;
    text-align: left !important;
    box-shadow: none !important;
}

.woocommerce ul.products li.product.product-style-5 .style5-product-inner {
    width: 100%;
    overflow: visible;
}

.woocommerce ul.products li.product.product-style-5 .product-thumbnail {
    margin: 0;
    overflow: hidden;
    position: relative;
    border-radius: 4px;
}

.woocommerce ul.products li.product.product-style-5 .entry-content-wrap {
    padding: 15px 0;
    background: transparent;
    position: relative;
    text-align: left !important;
    transform: none;
    margin: 0;
    box-shadow: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
}

.woocommerce ul.products li.product.product-style-5 .woocommerce-loop-product__title {
    flex: 1 1 auto;
    min-width: 0;
    margin-right: 12px;
}

.woocommerce ul.products li.product.product-style-5 .style5-rating-wrap {
    flex: 0 0 100%;
}

.woocommerce ul.products li.product.product-style-5 .style5-badges-wrap {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    z-index: 5;
}

.woocommerce ul.products li.product.product-style-5 .badge {
    padding: 2px 10px;
    font-size: 0.65rem;
    border-radius: 3px;
    font-weight: 500;
    background: #fff;
    color: #333;
    border: 1px solid #eee;
    width: fit-content;
}

.woocommerce ul.products li.product.product-style-5 .style5-price-toggle-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
    flex-shrink: 0;
    gap: 4px;
}

.woocommerce ul.products li.product.product-style-5 .style5-rating-wrap {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 6px 0 0;
    justify-content: flex-start;
}

.woocommerce ul.products li.product.product-style-5 .style5-rating-wrap .star-rating {
    float: none;
    margin: 0;
}

.woocommerce ul.products li.product.product-style-5 .style5-hover-toggle-wrap {
    position: relative;
    margin: 0;
    z-index: 20;
    flex-shrink: 0;
}

.woocommerce ul.products li.product.product-style-5 .style5-hover-toggle {
    background: #2d3e34;
    color: #fff;
    border: none;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease;
    font-size: 22px;
    line-height: 1;
    padding: 0;
}

.woocommerce ul.products li.product.product-style-5 .style5-hover-toggle:hover {
    background: #1a2a22;
    transform: scale(1.06);
}

.woocommerce ul.products li.product.product-style-5 .style5-hover-actions {
    position: absolute;
    right: 0;
    bottom: calc(100% + 10px);
    background: #fff;
    border: 1px solid #eee;
    padding: 8px;
    border-radius: 999px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    z-index: 100;
    display: flex;
    gap: 8px;
    align-items: center;
    min-width: max-content;
    opacity: 0;
    transform: translateY(6px) scale(0.96);
    pointer-events: none;
    visibility: hidden;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.woocommerce ul.products li.product.product-style-5 .style5-hover-toggle-wrap.active .style5-hover-actions {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
    visibility: visible;
}

.woocommerce ul.products li.product.product-style-5 .style5-hover-actions .s5-action-item {
    display: inline-flex;
}

.woocommerce ul.products li.product.product-style-5 .style5-hover-actions .s5-action-item>a,
.woocommerce ul.products li.product.product-style-5 .style5-hover-actions .s5-action-item>.button,
.woocommerce ul.products li.product.product-style-5 .style5-hover-actions .s5-action-item>a.button {
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e8e8e8;
    background: #fff;
    color: #333;
    text-decoration: none;
    padding: 0;
}

.woocommerce ul.products li.product.product-style-5 .style5-hover-actions .s5-action-item>a i,
.woocommerce ul.products li.product.product-style-5 .style5-hover-actions .s5-action-item>.button i,
.woocommerce ul.products li.product.product-style-5 .style5-hover-actions .s5-action-item>a.button i,
.woocommerce ul.products li.product.product-style-5 .style5-hover-actions .s5-action-item>a svg,
.woocommerce ul.products li.product.product-style-5 .style5-hover-actions .s5-action-item>.button svg,
.woocommerce ul.products li.product.product-style-5 .style5-hover-actions .s5-action-item>a.button svg {
    font-size: 14px;
}

.woocommerce ul.products li.product.product-style-5 .style5-hover-actions .s5-action-item .add_to_cart_button .cart-text,
.woocommerce ul.products li.product.product-style-5 .style5-hover-actions .s5-action-item .add_to_cart_button .kadence-svg-iconset {
    display: none;
}

.woocommerce ul.products li.product.product-style-5 .style5-hover-actions .s5-action-item .add_to_cart_button .add-to-cart-icon svg {
    width: 16px;
    height: 16px;
}

.product-style-5 ul.products:not(.products-list-view) li.product .style5-rating-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
}

.product-style-5 ul.products:not(.products-list-view) li.product .style5-rating-wrap .star-rating {
    margin: 0 !important;
    display: inline-flex !important;
}

.product-style-5 ul.products:not(.products-list-view) li.product .style5-rating-wrap .rating-count {
    display: inline !important;
    margin: 0 !important;
}

.product-style-5 .style5-badges-wrap {
    display: flex;
    gap: 8px;
    z-index: 1;
    pointer-events: none;
    position: absolute;
    top: 15px;
    left: 15px;
}

body.style5_badge_position_top_right .product-style-5 .style5-badges-wrap {
    top: 15px !important;
    right: 15px !important;
    left: auto !important;
}

body.style5_badge_position_top_center .product-style-5 .style5-badges-wrap {
    top: 10px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    right: auto !important;
}

body.style5_badge_position_bottom_left .product-style-5 .style5-badges-wrap {
    bottom: 15px !important;
    left: 15px !important;
    top: auto !important;
}

body.style5_badge_position_bottom_right .product-style-5 .style5-badges-wrap {
    bottom: 15px !important;
    right: 15px !important;
    left: auto !important;
    top: auto !important;
}

body.style5_badge_position_bottom_center .product-style-5 .style5-badges-wrap {
    bottom: 10px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    right: auto !important;
    top: auto !important;
}

body.style5_badge_layout_column .product-style-5 .style5-badges-wrap {
    flex-direction: column !important;
}

.product-style-5 .style5-badges-wrap .badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 4px;
    white-space: nowrap;
    transition: all 0.3s ease;
}

.product-style-5 .style5-badges-wrap .badge.discount {
    color: #ffffff;
    background-color: #8e84e5;
    border: 0 solid #000000;
}

body.style5_enable_custom_badge_styles .product-style-5 .style5-badges-wrap .badge.discount {
    color: var(--style5-discount-text-color, #ffffff);
    background-color: var(--style5-discount-bg-color, #8e84e5);
    border-width: var(--style5-discount-border-width, 0);
    border-color: var(--style5-discount-border-color, #000000);
    border-style: solid;
    border-radius: var(--style5-discount-border-radius, 4px);
}

.product-style-5 .style5-badges-wrap .badge.instock {
    color: #ffffff;
    background-color: #27ae60;
    border: 0 solid #000000;
}

body.style5_enable_custom_badge_styles .product-style-5 .style5-badges-wrap .badge.instock {
    color: var(--style5-instock-text-color, #ffffff);
    background-color: var(--style5-instock-bg-color, #27ae60);
    border-width: var(--style5-instock-border-width, 0);
    border-color: var(--style5-instock-border-color, #000000);
    border-style: solid;
    border-radius: var(--style5-instock-border-radius, 4px);
}

.product-style-5 .style5-badges-wrap .badge.outofstock {
    color: #ffffff;
    background-color: #e74c3c;
    border: 0 solid #000000;
}

body.style5_enable_custom_badge_styles .product-style-5 .style5-badges-wrap .badge.outofstock {
    color: var(--style5-outofstock-text-color, #ffffff);
    background-color: var(--style5-outofstock-bg-color, #e74c3c);
    border-width: var(--style5-outofstock-border-width, 0);
    border-color: var(--style5-outofstock-border-color, #000000);
    border-style: solid;
    border-radius: var(--style5-outofstock-border-radius, 4px);
}

body.style5_enable_custom_badge_styles .product-style-5 .style5-badges-wrap {
    gap: var(--style5-badge-gap, 8px) !important;
}



/* ===== HOVER ACTIONS - QUICKVIEW, ADD TO CART, WISHLIST ===== */

/* Show all hover actions on image hover */
.product-style-2 .product-thumbnail:hover .style2-hover-actions {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Top Center Position - Quickview Icon with Up Arrow */
.product-style-2 .style2-hover-pos-top-center {
    top: 15px;
    left: 50%;
    align-items: center;
    transform: translate(-50%, -10px);
    flex-direction: column;
    gap: 6px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-style-2 .style2-hover-pos-top-center::before {
    content: '↑';
    font-size: 14px;
    color: inherit;
    line-height: 1;
    width: 100%;
    text-align: center;
}

/* Bottom Center Position - Add to Cart Icon with Down Arrow */
.product-style-2 .style2-hover-pos-bottom-center {
    bottom: 15px;
    left: 50%;
    align-items: center;
    transform: translate(-50%, 10px);
    flex-direction: column;
    gap: 6px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-style-2 .style2-hover-pos-bottom-center::after {
    content: '↓';
    font-size: 14px;
    color: inherit;
    line-height: 1;
    width: 100%;
    text-align: center;
    order: 1;
}

.product-style-2 .style2-hover-pos-bottom-center>* {
    order: 2;
}

/* Right Center Position - Wishlist Icon with Right Arrow */
.product-style-2 .style2-hover-pos-right-center {
    right: 15px;
    top: 50%;
    align-items: center;
    transform: translateY(-50%) translateX(10px);
    flex-direction: column;
    gap: 6px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-style-2 .style2-hover-pos-right-center::after {
    content: '→';
    font-size: 14px;
    color: inherit;
    line-height: 1;
    width: 100%;
    text-align: center;
}

/* Show hover positions on image hover - smooth animations */
.product-style-2 .product-thumbnail:hover .style2-hover-pos-top-center {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, 0) !important;
}

.product-style-2 .product-thumbnail:hover .style2-hover-pos-bottom-center {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, 0) !important;
}

.product-style-2 .product-thumbnail:hover .style2-hover-pos-right-center {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(-50%) translateX(0) !important;
}

/* Right Center Alignment Class for Content */
.product-style-2 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product.style2-align-right-center .product-details.entry-content-wrap {
    text-align: center !important;
    align-items: center !important;
    flex-direction: column;
}

.product-style-2 ul.products:not(.products-list-view):not(.woocommerce-product-list) li.product.style2-align-right-center .product-details.entry-content-wrap>* {
    justify-content: center !important;
    text-align: center !important;
}


.woocommerce ul.products:not(.products-list-view) li.product:not(.product-item) .product-details.entry-content-wrap .product-action-wrap.style-button{
  position: relative;
  bottom: 0 !important;
  left: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  right: 0 !important;
}