/* Product density shared with the main shop; showcase branding is unchanged. */
.soc-commerce .soc-grid {
    grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),240px)); gap:20px;
    justify-content:start;
}
.soc-commerce .soc-grid .soc-product { min-width:0; max-width:240px; }
.soc-commerce .soc-product .product-image img { width:100%; height:auto; aspect-ratio:1; max-height:none; object-fit:contain; }
.soc-commerce .soc-product .product-info { padding:16px; }
.soc-commerce .soc-product h3 { font-size:18px; line-height:1.3; }
.soc-commerce .soc-product .product-bottom { margin-top:16px; flex-wrap:wrap; }
.soc-commerce .soc-product .product-bottom .button { padding:10px 14px; min-height:44px; }
.soc-commerce .product-detail { grid-template-columns:minmax(0,420px) minmax(0,1fr); gap:40px; }
.soc-commerce .product-detail .product-image { width:100%; max-width:420px; max-height:420px; }
@media(max-width:960px) {
    .soc-commerce .product-detail { gap:28px; }
}
@media(max-width:600px) {
    .soc-commerce .soc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .soc-commerce .soc-grid .soc-product { max-width:240px; }
    .soc-commerce .soc-product .product-info { padding:12px; }
    .soc-commerce .soc-product h3 { font-size:16px; line-height:1.3; overflow-wrap:anywhere; }
    .soc-commerce .soc-product .product-bottom { gap:10px; }
    .soc-commerce .soc-product .product-bottom .button { width:100%; padding:10px 6px; font-size:12px; }
    .soc-commerce .product-detail { grid-template-columns:1fr; }
    .soc-commerce .product-detail .product-image { max-width:280px; max-height:280px; margin-inline:auto; }
}
