.merch-page .page-hero { overflow: hidden; }
.merch-page .page-hero::after { background: radial-gradient(circle, rgba(223,16,39,.34), transparent 67%); }
.merch-intro { align-items: end; display: grid; gap: 1.5rem; margin-bottom: clamp(2rem, 5vw, 4rem); }
.merch-intro p { color: var(--muted); margin: 0; max-width: 40rem; }
.merch-status { border-left: .2rem solid var(--acid); color: var(--paper) !important; font-size: .8rem; font-weight: 800; letter-spacing: .08em; padding-left: .9rem; text-transform: uppercase; }
.merch-grid { display: grid; gap: clamp(1.25rem, 3vw, 2.25rem); }
.merch-card { background: linear-gradient(150deg, #171717, #080808 65%); border: 1px solid var(--line); display: grid; min-width: 0; overflow: hidden; }
.merch-gallery { background: #fff; display: grid; min-width: 0; }
.merch-gallery--multiple { gap: 1px; }
.merch-image { align-items: center; aspect-ratio: 1 / 1; background: #fff; display: flex; justify-content: center; margin: 0; min-width: 0; overflow: hidden; position: relative; }
.merch-image img { display: block; height: 100%; object-fit: contain; width: 100%; }
.merch-image-label { background: rgba(5,5,5,.9); bottom: .75rem; color: var(--paper); font-size: .67rem; font-weight: 900; left: .75rem; letter-spacing: .12em; padding: .45rem .65rem; position: absolute; text-transform: uppercase; }
.merch-details { display: flex; flex-direction: column; padding: clamp(1.25rem, 3vw, 2rem); }
.merch-heading { align-items: start; display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; }
.merch-heading h2 { font-size: clamp(1.45rem, 3vw, 2.25rem); letter-spacing: -.055em; line-height: 1; margin: 0; max-width: 18ch; text-transform: uppercase; }
.merch-badge { border: 1px solid var(--acid); color: var(--acid); font-size: .64rem; font-weight: 900; letter-spacing: .12em; padding: .42rem .55rem; text-transform: uppercase; }
.merch-badge--awaiting_stock_confirmation { border-color: var(--muted); color: var(--muted); }
.merch-meta { display: grid; grid-template-columns: auto 1fr; margin: 1.6rem 0 2rem; }
.merch-meta dt, .merch-meta dd { border-bottom: 1px solid var(--line); margin: 0; padding: .7rem 0; }
.merch-meta dt { color: var(--acid); font-size: .67rem; font-weight: 900; letter-spacing: .12em; padding-right: 1.5rem; text-transform: uppercase; }
.merch-meta dd { color: var(--paper); text-align: right; }
.merch-purchase { margin-top: auto; width: 100%; }
.merch-purchase:disabled { background: transparent; border-color: var(--line); color: var(--muted); cursor: not-allowed; opacity: .72; transform: none; }
.merch-commerce-note { background: var(--surface-alt); border-left: .2rem solid var(--acid); color: var(--muted); margin-top: clamp(2rem, 5vw, 4rem); padding: 1.25rem; }
.merch-commerce-note strong { color: var(--paper); }
@media (min-width: 42rem) {
  .merch-intro { grid-template-columns: 1.2fr .8fr; }
  .merch-status { justify-self: end; }
  .merch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .merch-gallery--multiple { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .merch-gallery--multiple .merch-image { aspect-ratio: 3 / 4; }
}
@media (min-width: 60rem) {
  .merch-card:first-child { grid-column: 1 / -1; grid-template-columns: 1.25fr .75fr; }
  .merch-card:first-child .merch-gallery { min-height: 33rem; }
}
