.product-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; padding-bottom: 32px; border-bottom: 1px solid var(--line); margin-bottom: 32px; }
.product-heading h1, .product-detail h1 { font-size: clamp(30px, 4vw, 48px); line-height: 1.25; overflow-wrap: anywhere; }
.product-heading p, .product-card p, .product-detail__copy > p { color: var(--muted); line-height: 1.7; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.product-card { display: block; color: var(--ink); text-decoration: none; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; transition: box-shadow .2s; }
.product-card:hover, .product-card:focus-visible { box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.product-cover { display: grid; place-items: center; aspect-ratio: 4/3; background: var(--surface, #f4f4ee); overflow: hidden; color: var(--muted); }
.product-cover img { width: 100%; height: 100%; object-fit: contain; }
.product-card__copy { padding: 24px; display: grid; gap: 12px; }
.product-card__copy h2 { font-size: 23px; overflow-wrap: anywhere; }
.product-card__copy small { color: var(--muted); }
.product-card__copy strong { font-size: 20px; }
.product-empty { padding: 72px 24px; text-align: center; display: grid; justify-items: center; gap: 20px; }
.product-back { display: inline-block; margin-bottom: 28px; color: var(--muted); }
.product-detail__hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.product-detail__copy { display: grid; justify-items: start; gap: 24px; min-width: 0; }
.product-detail__copy .btn { white-space: normal; }
.product-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.product-price { font-size: 30px; }
.product-sold-out { font-weight: 700; }
.product-detail__body { max-width: 860px; margin: 64px auto 0; padding-top: 32px; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.product-detail__body h2 { margin-bottom: 28px; font-size: 26px; }
.product-detail__body p { line-height: 1.9; margin-bottom: 24px; }
.product-detail__images { display: grid; gap: 0; margin-top: 8px; }
.product-detail__images img { display: block; width: 100%; height: auto; }
@media (max-width: 980px) { .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .product-detail__hero { gap: 32px; } }
@media (max-width: 600px) { .product-heading { display: block; } .product-heading p { margin-top: 16px; } .product-grid, .product-detail__hero { grid-template-columns: minmax(0,1fr); } .product-card__copy { padding: 20px; } .product-detail__body { margin-top: 40px; } }
