/**
 * Modal-Chrome (Legal + Release-Popup) und Release-Detail-Styles für die
 * Premium-Artist-Websites. Nutzt ausschließlich die CSS-Variablen, die jedes
 * Premium-Template selbst in :root setzt (--ground, --accent, --font-display …),
 * damit sich das Popup automatisch an Palette/Fontpair der jeweiligen Seite anpasst.
 */

.dmn-modal { display: none; position: fixed; inset: 0; z-index: 200; background: rgba(6,5,6,0.85); padding: 5vh 20px; overflow-y: auto; }
.dmn-modal.is-open { display: block; }
.dmn-modal-box { max-width: 640px; margin: 0 auto; background: var(--ground); border: 1px solid var(--line); padding: clamp(24px,4vw,44px); font-size: 13px; color: var(--ink-dim); line-height: 1.8; }
.dmn-modal-box h2 { font-family: var(--font-display); font-style: italic; font-weight: 400; color: var(--ink); margin-top: 0; }
.dmn-modal-close { float: right; background: none; border: 1px solid var(--line); color: var(--ink-dim); width: 28px; height: 28px; cursor: pointer; }

/* Trigger-Reset: Diskografie-Elemente sind aus <a> zu <button> geworden (öffnen ein Popup statt zu navigieren) */
.dmn-modal-trigger { background: none; border: 0; font: inherit; text-align: left; cursor: pointer; display: block; width: 100%; padding: 0; color: inherit; }

.rm-cover { width: 100%; aspect-ratio: 1; max-width: 220px; background: var(--ground-raised); border: 1px solid var(--line); overflow: hidden; margin: 0 0 18px; }
.rm-cover img { width: 100%; height: 100%; object-fit: cover; }
.rm-meta { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 8px; }
.rm-meta li { display: flex; justify-content: space-between; gap: 12px; font-size: 11.5px; }
.rm-meta span:first-child { color: var(--ink-faint); text-transform: uppercase; letter-spacing: 0.1em; font-size: 10px; }
.rm-meta a { color: var(--ink-dim); }
.rm-meta a:hover { color: var(--accent); }
.rm-content { font-size: 13px; color: var(--ink-dim); margin-bottom: 20px; }
.rm-content p { margin: 0 0 1em; }
.rm-bandcamp { margin-bottom: 20px; }
.rm-bandcamp iframe { width: 100%; border: 0; display: block; }
.rm-buy-label, .rm-track-label { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); display: block; margin-bottom: 10px; }
.rm-buy { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.rm-buy-link { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink); border: 1px solid var(--line); padding: 8px 14px; }
.rm-buy-link:hover { border-color: var(--accent); color: var(--accent); }
.rm-buy-link img { width: 20px; height: auto; }
.rm-ad-notice { font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-faint); }
.rm-tracklist { list-style: none; margin: 0 0 20px; padding: 0; border-top: 1px solid var(--line); }
.rm-track { display: grid; grid-template-columns: 24px 1fr auto; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.rm-track-no { color: var(--ink-faint); }
.rm-track-length { color: var(--ink-faint); font-variant-numeric: tabular-nums; }
.rm-more { display: inline-block; margin-top: 4px; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-faint); text-decoration: underline; }
.rm-more:hover { color: var(--ink-dim); }
