/* ==========================================================================
   Uniform Product Size - Core Styles
   Makes all WooCommerce product cards the same width, height, and layout
   ========================================================================== */

/* Make the product grid use flexbox for equal height rows */
.woocommerce ul.products,
ul.products {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}

/* Each product card */
.woocommerce ul.products li.product,
ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
    box-sizing: border-box;
    text-align: center;
    overflow: hidden;
}

/* Force all images to the same fixed box, crop instead of stretch */
.woocommerce ul.products li.product img,
ul.products li.product img,
.woocommerce ul.products li.product a img {
    width: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block;
    margin: 0 auto;
    border-radius: 6px;
}

/* Image wrapper - keeps sale badges and image aligned */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
ul.products li.product .product-image-wrapper {
    display: block;
    position: relative;
    overflow: hidden;
}

/* Title - clamp to 2 lines so uneven title lengths don't break layout */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2,
ul.products li.product h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 2.6em;
    line-height: 1.3em;
    font-size: 1em;
    margin: 10px 0 5px;
}

/* Price block - consistent spacing */
.woocommerce ul.products li.product .price,
ul.products li.product .price {
    margin-bottom: 10px;
    min-height: 1.4em;
}

/* Push everything below the title to the bottom evenly */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.added_to_cart {
    margin-top: auto;
}

/* Add to Cart button - consistent size across all products */
.woocommerce ul.products li.product .button,
ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button {
    display: inline-block;
    width: auto;
    min-width: 130px;
    text-align: center;
    border-radius: 30px;
    margin-top: 10px;
    align-self: center;
}

/* Sale / discount badges - keep them positioned consistently */
.woocommerce ul.products li.product .onsale,
ul.products li.product .onsale {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 5;
}

/* Wishlist / quick-view icons - align consistently */
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist,
.woocommerce ul.products li.product .product-icons {
    margin-top: 5px;
    margin-bottom: 5px;
}

/* Responsive: keep 2 columns on mobile, equal sizing maintained */
@media (max-width: 768px) {
    .woocommerce ul.products li.product,
    ul.products li.product {
        flex: 0 0 48% !important;
        max-width: 48% !important;
    }
}

@media (min-width: 769px) {
    .woocommerce ul.products li.product,
    ul.products li.product {
        flex: 0 0 23%;
        max-width: 23%;
        margin: 1%;
    }
}
