
/* iSavior Product Card Designer - Frontend */

/* Product card */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.wc-block-grid__product {
    background: var(--ispcd-card-bg) !important;
    border: var(--ispcd-card-border-w) solid var(--ispcd-card-border) !important;
    border-radius: var(--ispcd-card-radius) !important;
    padding: var(--ispcd-card-padding) !important;
    box-shadow: var(--ispcd-card-shadow) !important;
    transition: transform .22s ease, box-shadow .22s ease !important;
    overflow: hidden;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
.wc-block-grid__product:hover {
    transform: translateY(var(--ispcd-card-lift));
}

/* Image */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.wc-block-grid__product-image img {
    width: 100% !important;
    height: var(--ispcd-image-height) !important;
    object-fit: var(--ispcd-image-fit) !important;
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
    color: var(--ispcd-title-color) !important;
    font-size: var(--ispcd-title-size) !important;
    font-weight: var(--ispcd-title-weight) !important;
    text-align: var(--ispcd-title-align) !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--ispcd-title-lines);
    overflow: hidden;
}

/* Price */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.wc-block-grid__product-price {
    color: var(--ispcd-price-color) !important;
    font-size: var(--ispcd-price-size) !important;
    font-weight: var(--ispcd-price-weight) !important;
    text-align: var(--ispcd-price-align) !important;
    display: block !important;
}
.woocommerce ul.products li.product .price *,
.woocommerce-page ul.products li.product .price *,
.wc-block-grid__product-price * {
    color: inherit !important;
}

/* Add to cart */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.wc-block-grid__product-add-to-cart .wp-block-button__link {
    background: var(--ispcd-button-bg) !important;
    color: var(--ispcd-button-text) !important;
    border-radius: var(--ispcd-button-radius) !important;
    font-size: var(--ispcd-button-size) !important;
    padding: var(--ispcd-button-py) var(--ispcd-button-px) !important;
    width: var(--ispcd-button-width) !important;
    max-width: 100%;
    text-align: center !important;
    border: 0 !important;
    box-shadow: none !important;
    transition: background .2s ease, transform .2s ease;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover,
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
    background: var(--ispcd-button-hover) !important;
    color: var(--ispcd-button-text) !important;
}
.woocommerce ul.products li.product:has(.button),
.woocommerce-page ul.products li.product:has(.button) {
    --ispcd-local-button-align: var(--ispcd-button-align);
}
.woocommerce ul.products li.product .button {
    display: block !important;
}
.woocommerce ul.products li.product .button {
    margin-left: var(--ispcd-button-ml, auto);
    margin-right: var(--ispcd-button-mr, auto);
}
@supports (text-align: start) {
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        text-align: var(--ispcd-button-align);
    }
}

/* Swatches: common plugins + Product Colaries */
.woocommerce ul.products li.product .is-colaries-swatches,
.woocommerce ul.products li.product .product-colaries,
.woocommerce ul.products li.product .is-color-swatches,
.woocommerce ul.products li.product .variable-items-wrapper,
.woocommerce ul.products li.product .woo-variation-items-wrapper,
.woocommerce ul.products li.product .cfvsw-swatches-container,
.woocommerce ul.products li.product .wvs-archive-variation-wrapper,
.woocommerce ul.products li.product .tawcvs-swatches {
    gap: var(--ispcd-swatch-gap) !important;
    justify-content: var(--ispcd-swatch-align) !important;
}

.woocommerce ul.products li.product .is-colaries-swatch,
.woocommerce ul.products li.product .product-colaries .swatch,
.woocommerce ul.products li.product .is-color-swatch,
.woocommerce ul.products li.product .variable-item.color-variable-item,
.woocommerce ul.products li.product .cfvsw-swatches-option,
.woocommerce ul.products li.product .tawcvs-swatches .swatch {
    width: var(--ispcd-swatch-size) !important;
    height: var(--ispcd-swatch-size) !important;
    min-width: var(--ispcd-swatch-size) !important;
    min-height: var(--ispcd-swatch-size) !important;
    border-radius: 50% !important;
    border: 1px solid var(--ispcd-swatch-border) !important;
    box-sizing: border-box !important;
}
.woocommerce ul.products li.product .is-colaries-swatch.selected,
.woocommerce ul.products li.product .is-colaries-swatch.active,
.woocommerce ul.products li.product .variable-item.selected,
.woocommerce ul.products li.product .cfvsw-selected-swatch,
.woocommerce ul.products li.product .tawcvs-swatches .swatch.selected {
    box-shadow: 0 0 0 2px var(--ispcd-card-bg), 0 0 0 4px var(--ispcd-swatch-selected) !important;
}

/* Wishlist: YITH + TI + common custom classes */
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist a,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button,
.woocommerce ul.products li.product .wishlist-button,
.woocommerce ul.products li.product .add_to_wishlist {
    background: var(--ispcd-wishlist-bg) !important;
    color: var(--ispcd-wishlist-text) !important;
    border-radius: var(--ispcd-wishlist-radius) !important;
    padding: 8px 14px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
}

/* Availability/stock badge: generic classes */
.woocommerce ul.products li.product .stock-badge,
.woocommerce ul.products li.product .availability-badge,
.woocommerce ul.products li.product .is-stock-badge,
.woocommerce ul.products li.product .isavior-stock-badge {
    background: var(--ispcd-badge-bg) !important;
    color: var(--ispcd-badge-text) !important;
    border-radius: var(--ispcd-badge-radius) !important;
}

/* Prevent theme transitions from making swatches square on hover */
.woocommerce ul.products li.product [class*="swatch"]:hover,
.woocommerce ul.products li.product [class*="color-variable"]:hover {
    border-radius: 50% !important;
}


/* Icon mode + free positioning */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.wc-block-grid__product { position: relative !important; }

.ispcd-icon {
    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: -0.14em;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ispcd-cart-control .ispcd-icon { width: var(--ispcd-cart-icon-size); height: var(--ispcd-cart-icon-size); }
.ispcd-wishlist-control .ispcd-icon { width: var(--ispcd-wishlist-icon-size); height: var(--ispcd-wishlist-icon-size); }

.ispcd-icon-only {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    line-height: 1 !important;
}
.ispcd-icon-text {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
}
.ispcd-free-cart {
    position:absolute !important;
    left:var(--ispcd-cart-x) !important;
    top:var(--ispcd-cart-y) !important;
    transform:translate(-50%,-50%) !important;
    z-index:30 !important;
    margin:0 !important;
}
.ispcd-free-wishlist {
    position:absolute !important;
    left:var(--ispcd-wishlist-x) !important;
    top:var(--ispcd-wishlist-y) !important;
    transform:translate(-50%,-50%) !important;
    z-index:31 !important;
    margin:0 !important;
}
