/* Product imagery sits on a quiet charcoal surface, shared by carousel and shop. */
.l1-merch-media { aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; background: radial-gradient(ellipse at 50% 42%, #304249 0%, #192a31 55%, #101b21 100%); border-bottom: 1px solid #62e6ef1c; }
.l1-merch-media > img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; padding: 24px; background: transparent; }
.l1-merch-card { overflow: hidden; }
.l1-merch-card h3 { font-size: clamp(1.8rem, 2.8vw, 2.4rem); }
.l1-merch-card .l1-eyebrow { letter-spacing: .08em; }
.l1-shop-copy .l1-merch-card .l1-eyebrow { margin-bottom: 0; }
/* Also covers the previous plugin markup during an update of the two ZIPs. */
.l1-merch-card > img { background: radial-gradient(ellipse at 50% 42%, #304249, #101b21); }

/* Existing saved Boutique blocks become full width without recreating the page. */
.l1-shop-layout { display: block; }
.l1-shop-layout > .l1-shop-art { display: none; }
.l1-shop-layout .l1-shop-copy { min-width: 0; }
.l1-shop-layout .l1-shop-copy > p:not(.l1-eyebrow) { max-width: 760px; }
.l1-shop-layout .l1-shop-copy h2 { font-size: clamp(2.8rem, 4vw, 4rem); }
.l1-shop-catalogue { width: 100%; }
.l1-shop-products { margin-top: 42px; }
.l1-shop-product-count { font-size: .8rem; font-weight: 650; letter-spacing: .1em; margin-bottom: 24px; }
.l1-shop-product-count span { color: var(--l1-muted); margin-left: 12px; }
.l1-merch-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; list-style: none; padding: 0; margin: 0; }
.l1-merch-grid .l1-merch-card { scroll-snap-align: none; }
.l1-shop-products > .l1-fine-print { color: var(--l1-muted); margin-top: 20px; }
@media (max-width: 820px) {
    .l1-merch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 580px) {
    .l1-merch-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .l1-merch-media > img { padding: 20px; }
    .l1-shop-products { margin-top: 32px; }
}
