/* Ensure product grid items have equal height and button at the bottom */
.bs-products .bs-card,
.tbay-element-products .products .item .product-block,
.tbay-element-products .products .item .product-content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.bs-products .bs-card .bs-content,
.tbay-element-products .products .item .caption {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.bs-products .bs-card .add-cart,
.tbay-element-products .products .item .caption .add-cart,
.tbay-element-products .products .item .group-buttons .add-cart {
    margin-top: auto;
}

/* Fix mobile 2-column grid */
@media (max-width: 767px) {
    .bs-products,
    .tbay-element-products .products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }

    .bs-products .bs-card,
    .tbay-element-products .products .item {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        flex: unset !important;
    }
    
    /* Image alignment */
    .bs-image-wrapper img,
    .tbay-element-products .product-image img {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }
}
