/* Preserve embedded product labels instead of cropping artwork to a square. */
.breakdance .jd-product-card:not(.jd-final-mosaic-product *) .jd-card-plane,
.breakdance .jd-product-card:not(.jd-final-mosaic-product *) .jd-card-image.bde-image,
.breakdance .jd-product-card:not(.jd-final-mosaic-product *) .jd-card-image figure,
.breakdance .jd-product-card:not(.jd-final-mosaic-product *) .jd-card-image .breakdance-image-container,
.breakdance .jd-product-card:not(.jd-final-mosaic-product *) .jd-card-image .breakdance-image-clip,
.breakdance .jd-product-card:not(.jd-final-mosaic-product *) .jd-card-image .breakdance-image-link,
.breakdance .jd-product-card:not(.jd-final-mosaic-product *) .jd-card-image img {
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
}
.breakdance .jd-product-card .jd-card-image img.breakdance-image-object {
    width: 100%;
    object-fit: contain;
    /* Fallback prevents sizes=auto lazy images using the browser's 1500px placeholder. */
    aspect-ratio: auto 1840 / 1540;
}
.breakdance .jd-product-card:hover .jd-card-image img {
    transform: none;
}

/* Homepage feature artwork fills its tile; catalogue artwork stays uncropped. */
.breakdance .jd-final-mosaic-product .jd-product-card .jd-card-image img.breakdance-image-object {
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Keep New badges clear of artwork labels in the top-left corner. */
.breakdance .jd-product-card .jd-card-plane .jd-card-badges:has(.ckit-badge) {
    left: auto;
    right: 12px;
    width: auto;
    text-align: right;
}

/* Compact product listing typography, independent of page headings. */
body.archive .breakdance .jd-product-card .jd-card-title,
body.search .breakdance .jd-product-card .jd-card-title {
    font-size: 20px;
    line-height: 1.25;
    height: 3.75em;
    min-height: 3.75em;
}
@media (max-width: 767px) {
    body.archive .breakdance .jd-product-card .jd-card-title,
    body.search .breakdance .jd-product-card .jd-card-title { font-size: 18px; }
}
