/* Individual SKU cards; photographs do not change category/search semantics. */
#product-list.product-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.product-card--visual{display:block!important;min-width:0;padding:10px!important;border-radius:15px}
.product-card--visual .product-open{display:block;color:inherit;text-decoration:none}
.product-card--visual .product-open:focus-visible{outline:3px solid #7047a8;outline-offset:3px;border-radius:10px}
.product-card--visual .product-photo{aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:white;border-radius:10px;border:1px solid #eee9e6;margin-bottom:9px}
.product-card--visual .product-photo img{display:block;width:100%;height:100%;object-fit:contain}
.product-card--visual .product-photo-empty{display:grid;place-items:center;min-height:110px;width:100%;font-size:12px;color:#8c8082;text-align:center;background:#fffaf9}
.product-card--visual .product-info{min-width:0}
.product-card--visual h3{font-size:13px;line-height:1.3;min-height:34px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.product-card--visual .sku{font-size:9px;overflow-wrap:anywhere}
.product-card--visual .pack-meta{font-size:10px;min-height:14px}
.product-card--visual .price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:8px}
.product-card--visual .price-tile{min-width:0;min-height:42px;padding:6px;display:flex;flex-direction:column;align-items:start;gap:3px}
.product-card--visual .price-tile span{font-size:10px}.product-card--visual .price-tile b,.product-card--visual .price-tile.active b{font-size:clamp(10px,2.35vw,13px);overflow-wrap:anywhere}
@media(min-width:680px){#product-list.product-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.product-card--visual h3{font-size:15px}.product-card--visual .price-tile{flex-direction:row;justify-content:space-between;align-items:center}}
@media(min-width:1100px){#product-list.product-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:360px){#product-list.product-list{gap:7px}.product-card--visual{padding:7px!important}.product-card--visual .price-tile{padding:4px}.product-card--visual .sku{font-size:8px}}
