/* One list owns the columns; each product is a vertical stack in one cell. */
body ul.casamar-catalog-grid {
    display: grid;
    grid-template-columns: repeat(var(--casamar-store-columns, 3), minmax(0, 1fr));
    gap: var(--casamar-store-gap, 24px);
    width: 100%;
    max-width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    clear: both;
}
body ul.casamar-catalog-grid::before, body ul.casamar-catalog-grid::after { content: none; }
body .casamar-catalog-grid > .casamar-product-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: var(--casamar-store-content-gap, 12px);
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: var(--casamar-store-card-padding, 0px);
    border-radius: var(--casamar-store-card-radius, 0px);
    background: var(--casamar-store-card-background, #fffbf3);
    text-align: var(--casamar-store-alignment, left);
    float: none;
}
body .casamar-product-card__image {
    display: block;
    position: relative;
    width: 100%;
    height: var(--casamar-store-image-height, 350px);
    overflow: hidden;
    border-radius: var(--casamar-store-image-radius, 0px);
    background: var(--casamar-store-image-background, #fffbf3);
    flex-shrink: 0;
}
body .casamar-product-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    object-fit: var(--casamar-store-image-fit, cover);
    object-position: var(--casamar-store-image-position, center);
}
body .casamar-product-card__title {
    font-family: var(--casamar-store-title-font, var(--casamar-heading-font));
    font-size: var(--casamar-store-title-size, 20px);
    line-height: 1.25;
    color: var(--casamar-store-title-color, #811321);
    overflow-wrap: anywhere;
}
body .casamar-product-card__title a { color: inherit; text-decoration: none; }
body .casamar-product-card__price {
    font-family: var(--casamar-store-price-font, var(--casamar-body-font));
    font-size: var(--casamar-store-price-size, 18px);
    font-weight: var(--casamar-store-price-weight, 400);
    line-height: 1.3;
    color: var(--casamar-store-price-color, #811321);
}
body .casamar-product-card > :is(h2, div) { margin: 0; min-width: 0; }
body .casamar-product-card__price del { opacity: .65; }
body .casamar-product-card__price ins { background: transparent; color: inherit; }
body .casamar-product-card__button a.button {
    display: inline-block;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    background: var(--casamar-store-button-background, #811321);
    color: var(--casamar-store-button-color, #fffbf3);
    margin: 0;
}
body .casamar-product-card__sale { position: absolute; top: 12px; right: 12px; padding: 4px 10px; background: #fffbf3; color: #811321; }
body .casamar-product-card__rating .star-rating { float: none; display: inline-block; margin: 0; }

@media (max-width: 1024px) {
    body ul.casamar-catalog-grid { grid-template-columns: repeat(var(--casamar-store-columns-tablet, 2), minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    body ul.casamar-catalog-grid { grid-template-columns: repeat(var(--casamar-store-columns-mobile, 1), minmax(0, 1fr)); }
    body .casamar-product-card__image { height: var(--casamar-store-image-height-mobile, 350px); }
}
