/* Product-list appearance: shared by initial, appended and restored cards. */
#productsContainer .grid-product__image {
    margin-bottom: 0 !important; /* Overrides the initial card's inline spacing. */
}

#productsContainer .grid-product__content {
    padding: 8px 2px 4px;
    text-align: center;
}

#productsContainer .grid-product__content .title {
    margin: 0 0 5px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

#productsContainer .grid-product__content .title a {
    max-width: 100%;
}

#productsContainer .grid-product__content .size-exist {
    display: block;
    margin-bottom: 4px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

#productsContainer .grid-product__content .price {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.65;
    color: #087f46;
    overflow-wrap: break-word;
}

#productsContainer .grid-product__content .price .main-price {
    display: block;
    margin: 0 0 2px;
    color: #6b6b6b;
    font-size: 12px;
    font-weight: 400;
    text-decoration: line-through;
}

#productsContainer .grid-product__content .price .js-reseller-price {
    font-size: 12px;
    font-weight: 500;
}

@media (max-width: 767px) {
    /* Keep the existing image box; show the whole image without cropping. */
    #productsContainer .grid-product__image img.img-fluid {
        object-fit: contain;
        object-position: center;
    }

    #productsContainer .grid-product__content {
        padding: 6px 1px 3px;
    }

    #productsContainer .grid-product__content .title {
        min-height: 3.3em;
        margin-bottom: 4px;
        font-size: 13px;
    }

    #productsContainer .grid-product__content .price {
        font-size: 14px;
    }

    #productsContainer .grid-product__content .price .main-price,
    #productsContainer .grid-product__content .price .js-reseller-price {
        font-size: 11px;
    }
}

