/* Reusable collection, editorial, and media components. */
[hidden] { display: none !important; }
.content-grid { display: grid; gap: 2rem; }
.content-grid h3,.collection-empty h3 { font-size: clamp(1.8rem,3vw,2.6rem); }
.content-image { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; background: var(--color-charcoal); }
.content-card { overflow: hidden; border: 1px solid var(--color-line); background: var(--color-paper); color: var(--color-ink); }
.card-copy { padding: 1.5rem; }
.content-card .eyebrow { color: #866334; }
.media-note { margin-top: 2rem; color: var(--color-muted); font-size: .85rem; }
.card-copy h3 { margin: .7rem 0 1rem; }
.card-copy time { font-size: .8rem; color: var(--color-muted); }
.collection-empty { display: grid; align-items: center; gap: 3rem; }
.collection-empty > div { max-width: 35rem; }
.collection-empty h2 { font-size: clamp(2.5rem,4vw,4rem); }
.specifications { margin: 2rem 0; }
.specifications > div { padding: .8rem 0; border-bottom: 1px solid var(--color-line); }
.specifications dt { font-weight: 600; }
.specifications dd { margin: .2rem 0 0; }
.confirmation-panel { max-width: 48rem; }
.reference { font-family: monospace; font-size: 1.3rem; }
.video-player { position: relative; aspect-ratio: 16/9; background: var(--color-black); }
.video-player > .content-image { height: 100%; aspect-ratio: 16/9; }
.video-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); white-space: nowrap; cursor: pointer; }
.video-play:hover { transform: translate(-50%,-50%); }
.video-player iframe { width: 100%; height: 100%; border: 0; }
.video-player .close-player { position: absolute; right: .5rem; top: .5rem; padding: .5rem 1rem; background: var(--color-paper); color: var(--color-ink); border: 1px solid; cursor: pointer; }
.home-secondary { padding: var(--space-8) 0; }
.home-secondary .content-grid > article { padding: 2rem; border: 1px solid var(--color-line); }
.image-placeholder { background: #171412 url('../images/branding/instrument.svg') center / cover no-repeat; }
.image-placeholder::before,.image-placeholder::after { display: none; }
.image-placeholder span { color: var(--color-ivory); background: rgba(13,12,12,.85); padding: .3rem .6rem; }
.image-placeholder.has-photo { background: var(--color-charcoal); }
.image-placeholder.has-photo > img { position: absolute; inset: 0; height: 100%; object-fit: cover; }
/* Keep complete instruments visible, including their keys and bellows. */
.content-image.product-photo,
.image-placeholder.media-fit-product > img { object-fit: contain; background: #fff; padding: clamp(.75rem, 2vw, 1.5rem); }
/* The original portrait is 280px wide: center it without enlarging it. */
.image-placeholder.media-fit-portrait { background: #fff; }
.image-placeholder.media-fit-portrait > img { inset: 0; margin: auto; width: min(100%, 280px); height: auto; max-height: 100%; aspect-ratio: auto; object-fit: contain; background: #fff; }
/* The published performance originals are landscape; retain the complete scene. */
.image-placeholder.has-photo > img[src*="emilio-performance"],
.image-placeholder.has-photo > img[src*="emilio-live"] { object-fit: contain; }
.image-placeholder-hero.has-photo { min-height: 0; aspect-ratio: 6 / 5; }
@media (min-width: 48rem) { .content-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .collection-empty { grid-template-columns: minmax(0,1fr) minmax(0,1fr); } .home-secondary .content-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
