/* Stacked and in-flow product covers retain the 3:2 upload-preview frame. */
.official-interface .suite-product .suite-card-visual,
.official-interface .suite-configurable-product.suite-product .suite-card-visual,
.official-interface .suite-configurable-product.suite-image-in-flow .suite-card-copy>.suite-card-visual,
.suite-product .suite-card-visual{height:auto;min-height:0;aspect-ratio:3/2;align-self:start;width:100%}
.suite-product .suite-card-visual>a{display:block;width:100%;height:100%;min-height:0}
.suite-product .suite-card-visual img{display:block;width:100%;height:100%;padding:0;object-fit:var(--suite-fit,contain);border-radius:0}
.product-card .product-img,.product-card.configurable-card .product-img{display:block;width:100%;height:auto;min-height:0;aspect-ratio:3/2;object-fit:var(--card-fit,contain);padding:0;margin:0}
.product-card.configurable-card .card-field-image{align-self:start;min-width:0}

/* Only B's side-by-side cards use a full-height column around the 3:2 image.
   At 600px and below the existing card layout stacks, so its cover stays unchanged. */
@media(min-width:601px){
 .interface-engineering .suite-product.suite-card-engineering:not(.suite-image-in-flow)>.suite-card-visual{align-self:stretch;height:auto;min-height:0;aspect-ratio:auto;display:grid;place-items:center;padding:clamp(8px,1vw,14px);box-sizing:border-box;min-width:0}
 .interface-engineering .suite-product.suite-card-engineering:not(.suite-image-in-flow)>.suite-card-visual>a{width:100%;height:auto;aspect-ratio:3/2;min-height:0;position:relative}
 .interface-engineering .suite-product.suite-card-engineering:not(.suite-image-in-flow)>.suite-card-visual>a>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
}
