/* Shared catalog and wishlist cards. Media and title link to the same product. */
.shop-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; }
.shop-product { min-width: 0; }
.shop-product[hidden] { display: none; }
.shop-product__media { position: relative; display: grid; place-items: center; aspect-ratio: 1; overflow: hidden; background: var(--color-primary); color: var(--color-text-inverse); }
.shop-product__media > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.shop-product__media--2 { background: #f1b0b8; }
.shop-product__media--3 { background: #e8a0ae; }
.shop-product__wordmark { font: 700 clamp(24px, 3vw, 48px)/1.2 var(--font-manrope); letter-spacing: -.05em; }
.shop-product__number { position: absolute; top: 16px; left: 16px; font: 500 12px/1 var(--font-manrope); }
.shop-product__info { padding-top: 18px; }
.shop-product__brand { margin: 0 0 4px; color: var(--color-text-muted); font: 600 11px/1.5 var(--font-manrope); }
.shop-product__heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.shop-product h2 { min-width: 0; margin: 0; font: 700 19px/1.4 var(--font-manrope); }
.shop-product h2 a { transition: color var(--transition-ui); }
.shop-product h2 a:is(:hover, :focus-visible) { color: var(--color-primary); }
.shop-product__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0 0; color: var(--color-text-secondary); font-size: 13px; }
.shop-product__meta > span + span { border-left: 1px solid var(--color-border-input); padding-left: 8px; }
.shop-product__specs { margin: 6px 0 0; color: var(--color-text-muted); font-size: 11px; }
.shop-product__specs > span { margin-inline: 3px; }
.product-wishlist { margin: 0; flex: 0 0 auto; }
.commerce-price { display: grid; gap: 3px; font: 600 15px/1.5 var(--font-manrope); }
.commerce-price del { color: var(--color-text-muted); font-size: 12px; font-weight: 400; }
.commerce-price strong { color: var(--color-primary); font-weight: 700; }
.shop-product__info > .commerce-price { margin-top: 12px; }
.product-wishlist__button { width: 44px; height: 44px; }
.product-wishlist__button[aria-pressed=true] { color: var(--color-primary); }
.product-wishlist__button[aria-pressed=true] .ui-icon { fill: currentColor; }
.wishlist-feedback { position: fixed; z-index: 35; left: 50%; bottom: 24px; transform: translateX(-50%); width: max-content; max-width: calc(100% - 48px); padding: 14px 20px; border-radius: var(--radius-panel); background: var(--color-surface); box-shadow: var(--shadow-popover); color: var(--color-text-primary); font: 400 14px/1.6 var(--font-inter); }
.wishlist-feedback[data-error=true] { color: var(--color-text-error); }
@media (width < 1200px) {
    .shop-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
    .shop-product__wordmark { font-size: clamp(24px, 4vw, 42px); }
}
@media (width < 768px) {
    .shop-product-grid { gap: 28px 14px; }
    .shop-product__info { padding-top: 12px; }
    .shop-product h2 { font-size: 16px; }
    .shop-product__wordmark { font-size: clamp(22px, 5.7vw, 38px); }
    .shop-product__number { top: 12px; left: 12px; font-size: 10px; }
    .shop-product__meta { font-size: 12px; gap: 6px; }
    .shop-product__meta > span + span { padding-left: 6px; }
    .shop-product__specs { font-size: 10px; }
}
