.audio-stack { display: grid; gap: 1.25rem; min-width: 0; }
.audio-field { display: grid; align-content: start; gap: .5rem; min-width: 0; overflow-wrap: anywhere; }
.audio-field-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 1rem; align-items: start; }
.audio-field input, .audio-field textarea, .audio-field select { width: 100%; min-width: 0; box-sizing: border-box; }
.audio-field small { color: var(--text-secondary); }
.audio-fieldset { border: 1px solid var(--border); border-radius: .75rem; padding: 1rem; min-width: 0; }
.audio-component-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; padding: 1rem; border: 1px solid var(--border); border-radius: .75rem; background: var(--bg-secondary); }
.audio-system-summary { cursor: pointer; padding-block: .5rem; font-weight: 600; overflow-wrap: anywhere; }
.audio-system-editor[open] > .audio-system-summary { margin-bottom: 1rem; }
.audio-delete { border-top: 1px solid var(--border); padding-top: 1rem; margin-top: 1.5rem; }
.audio-photo-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: .75rem; }
.audio-photo { margin: 0; min-width: 0; }
.audio-photo img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: .75rem; }
.audio-card { padding: 1.25rem; border: 1px solid var(--border); background: var(--bg-secondary); border-radius: 1rem; overflow-wrap: anywhere; min-width: 0; }
.audio-details { display: grid; gap: 1.25rem; margin: 0; }
.audio-details dt { font-weight: 600; color: var(--text-secondary); margin-bottom: .35rem; }
.audio-details dd { margin: 0; white-space: pre-line; overflow-wrap: anywhere; }
.audio-components { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.audio-component { padding: .75rem; border: 1px solid var(--border); border-radius: .5rem; }
.audio-system-link { font-size: .8rem; white-space: nowrap; }
@media (max-width: 600px) {
    .audio-field-row, .audio-component-editor { grid-template-columns: minmax(0, 1fr); }
    .audio-card, .audio-fieldset, .audio-component-editor { padding: .8rem; }
}
