/* ProductCard: stable vertical slots shared by every card context. */

html body .sg-product-list .sg-card .sg-card__eyebrow {
    flex: 0 0 auto !important;
    min-height: 13px !important;
}

html body .sg-product-list .sg-card .sg-card__title,
html body .sg-product-list .sg-card .sg-card__title[class*='sg-card-title-category-'] {
    flex: 0 0 64px !important;
    margin-bottom: 8px !important;
    max-height: 64px !important;
    min-height: 64px !important;
}

/* Four facts form at most two grid rows. Reserving both rows also aligns
 * simple products whose facts slot is intentionally empty. */
html body .sg-product-list .sg-card .sg-card__facts {
    align-content: start !important;
    flex: 0 0 auto !important;
    min-height: 144px !important;
}

html body .sg-product-list .sg-card .sg-card__facts-row {
    align-content: start !important;
    grid-auto-rows: minmax(62px, auto) !important;
}

html body .sg-product-list .sg-card .sg-card__facts-row > div {
    align-content: center !important;
    min-height: 62px !important;
}

html body .sg-product-list .sg-card .sg-card__facts--empty {
    pointer-events: none;
}

/* Labels may wrap to two lines on four-column grids. Empty cards reserve the
 * same slot, so prices and CTAs remain on a common baseline. */
html body .sg-product-list .sg-card .sg-card__category-labels {
    align-content: flex-start !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    min-height: 53px !important;
}

html body .sg-product-list .sg-card .sg-card__category-label {
    min-height: 24px !important;
}

html body .sg-product-list .sg-card .sg-card__footer {
    align-content: end !important;
    flex: 0 0 auto !important;
    margin-bottom: 0 !important;
    margin-top: auto !important;
    min-height: 112px !important;
}

html body .sg-product-list .sg-card .sg-card__price {
    align-content: center !important;
    min-height: 58px !important;
}

@media (max-width: 767px) {
    html body .sg-product-list .sg-card .sg-card__title,
    html body .sg-product-list .sg-card .sg-card__title[class*='sg-card-title-category-'] {
        flex-basis: 58px !important;
        max-height: 58px !important;
        min-height: 58px !important;
    }

    html body .sg-product-list .sg-card .sg-card__footer {
        min-height: 108px !important;
    }
}
