/* Explicit product-banner density; narrow containers retain readable cards. */
body[data-theme-layout]:not(.admin-root) .product-banner-groups .theme-feature-product-grid__track{grid-template-columns:repeat(var(--product-columns,3),minmax(0,1fr))!important}
.product-banner-heading{margin:0 0 16px;font-size:clamp(1.25rem,2vw,1.8rem)}
@container product-zone (max-width:980px){body[data-theme-layout]:not(.admin-root) .product-banner-groups .theme-feature-product-grid__track{grid-template-columns:repeat(min(var(--product-columns,3),3),minmax(0,1fr))!important}}
@container product-zone (max-width:700px){body[data-theme-layout]:not(.admin-root) .product-banner-groups .theme-feature-product-grid__track{grid-template-columns:repeat(min(var(--product-columns,3),2),minmax(0,1fr))!important}}
@media(max-width:600px){body[data-theme-layout]:not(.admin-root) .product-banner-groups .theme-feature-product-grid__track{grid-template-columns:repeat(min(var(--product-columns,3),var(--store-mobile-product-columns,2)),minmax(0,1fr))!important}}
@container product-zone (max-width:350px){body[data-theme-layout]:not(.admin-root) .product-banner-groups .theme-feature-product-grid__track{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:350px){body[data-theme-layout]:not(.admin-root) .product-banner-groups .theme-feature-product-grid__track{grid-template-columns:minmax(0,1fr)!important}}

/* Moving media fills its aspect-ratio slot without pushing product labels below the clip. */
.product-banner-groups .designer-product-media{position:relative}
.product-banner-groups .designer-product-media>video.catalog-video,.product-banner-groups .designer-product-media>.catalog-model{position:absolute;inset:0;width:100%;height:100%;min-height:0!important;object-fit:contain}
.product-banner-groups .designer-product-media>.catalog-model>model-viewer{width:100%;height:100%;min-height:0!important}
.product-banner-groups .designer-product-copy>.product-labels{position:static;display:flex;flex-wrap:wrap;gap:5px;margin:4px 0;max-width:100%}
.product-banner-groups .designer-product-copy .product-label{font-size:.72rem;font-weight:700;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}

/* Desktop rows share one card height, regardless of title length or labels. */
@media(min-width:761px){
 body.store-page-shop-index[data-theme-layout]:not(.admin-root) .product-banner-groups .designer-product-mosaic-track{align-items:stretch!important;grid-auto-rows:1fr}
 body.store-page-shop-index[data-theme-layout]:not(.admin-root) .product-banner-groups .designer-product-card{display:flex!important;flex-direction:column;height:auto!important;block-size:auto;align-self:stretch}
 body.store-page-shop-index[data-theme-layout]:not(.admin-root) .product-banner-groups .designer-product-main-link{height:auto!important;block-size:auto;flex:1;display:flex;flex-direction:column}
 body.store-page-shop-index[data-theme-layout]:not(.admin-root) .product-banner-groups .designer-product-media{flex-shrink:0}
 body.store-page-shop-index[data-theme-layout]:not(.admin-root) .product-banner-groups .designer-product-copy{display:flex;flex-direction:column;flex:1}
 body.store-page-shop-index[data-theme-layout]:not(.admin-root) .product-banner-groups .designer-product-copy>strong{min-height:3em}
 body.store-page-shop-index[data-theme-layout]:not(.admin-root) .product-banner-groups .designer-product-copy>span{margin-top:auto}
 body.store-page-shop-index[data-theme-layout]:not(.admin-root) .product-banner-groups .designer-product-cart-form{flex-shrink:0}
}
