/* Bounded image area: photographs never stretch, crop or resize price rows. */
.product-identification{display:flex;gap:14px;align-items:center;min-width:0;margin:0 0 12px}
.product-title-block{min-width:0;flex:1}
.product-identification h3{margin:0;font-size:18px;overflow-wrap:anywhere}
.product-identification .product-pack{display:block;margin:8px 0 0;font-size:12px}
.product-photo{flex:0 0 80px;width:80px;height:80px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:8px}
.product-photo img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.product-photo.photo-unavailable{color:var(--muted);font-size:11px}
.photo-attribution{font-size:12px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere;margin:8px 0}
.photo-attribution a{display:inline;text-decoration:underline}
.photo-credit{font-size:12px;margin:8px 0}
.photo-credit>summary{min-height:28px;align-content:center;color:var(--muted)}
.shopping-item-heading:has(.product-identification){align-items:center}
.shopping-item-heading .product-identification{flex:1;margin:0}
.shopping-item .product-identification h3{font-size:17px}
@media(max-width:550px){
 .product-photo{flex-basis:64px;width:64px;height:64px}
 .product-identification{gap:12px}
 .product-identification h3,.shopping-item .product-identification h3{font-size:16px;line-height:1.5}
 .shopping-item-heading:has(.product-photo){flex-wrap:nowrap;gap:10px}
 .shopping-item-heading:has(.product-photo) .quantity-badge{flex-shrink:0;white-space:nowrap}
}
