/* Dedicated track pages use the persistent site's audio engine. */
.song-page { background: #fff9ef; color: #302921; padding: 90px 0 90px; }
.song-album-ribbon { height: 105px; overflow: hidden; position: relative; box-shadow: 0 12px 25px #291a2033; }
.song-album-ribbon img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 48%; }
.song-album-ribbon::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#11111c55,transparent 50%,#11111c55); }
.song-content { padding-top: 42px; }
.song-back { display: inline-block; margin-bottom: 32px; color: #67533c; font: 500 13px/1.7 var(--sans); }
.song-back:hover { color: #1f233f; }
.song-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.15fr); gap: clamp(32px,5vw,72px); align-items: center; }
.song-artwork { margin: 0; aspect-ratio: 1; border-radius: 4px; box-shadow: 0 20px 42px -12px #332b2859; overflow: hidden; }
.song-artwork img { width: 100%; height: 100%; object-fit: cover; display: block; }
.song-details { min-width: 0; }
.song-eyebrow { font: 600 11px/1.7 var(--sans); letter-spacing: 2px; text-transform: uppercase; color: #75603f; margin: 0 0 14px; }
.song-page h1 { color: #272330; font: 500 clamp(34px,3.8vw,54px)/1.13 var(--serif); letter-spacing: -1px; margin: 0 0 18px; overflow-wrap: anywhere; text-wrap: balance; }
.song-album { color: #736557; font: 400 16px/1.7 var(--sans); margin: 0 0 28px; }
.song-album a { color: #443623; text-decoration: underline; text-underline-offset: 5px; }
.song-player { background: #151319; color: #fff9ef; padding: 22px 24px 16px; border-radius: 8px; box-shadow: 0 6px 18px #251b161a; }
.song-transport { display: flex; align-items: center; gap: 22px; }
.song-play { width: 62px; height: 62px; flex: 0 0 62px; display: grid; place-items: center; border-radius: 50%; background: #dfb568; border: 1px solid #f0ce90; color: #17131c; }
.song-play svg { width: 28px; height: 28px; }
.song-play:hover { background: #f2d49b; }
.song-pause-icon, .song-play[aria-pressed="true"] .song-play-icon { display: none; }
.song-play[aria-pressed="true"] .song-pause-icon { display: inline; }
.song-timeline { flex: 1; min-width: 0; }
.song-timeline input { width: 100%; display: block; accent-color: #dfb568; cursor: pointer; height: 26px; }
.song-times { display: flex; justify-content: space-between; font: 400 11px/1.5 var(--sans); color: #d3cabd; font-variant-numeric: tabular-nums; }
.song-status { min-height: 18px; margin: 12px 0 0; color: #e4d6c1; font: 400 11px/1.6 var(--sans); }
.song-unavailable { margin: 0; font: 400 14px/1.7 var(--sans); }
.song-sharing { margin-top: 28px; }
.song-sharing h2 { margin: 0 0 12px; color: #594c3d; font: 600 11px/1.6 var(--sans); text-transform: uppercase; letter-spacing: 1.8px; }
.song-share-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.song-share { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; padding: 10px 13px; border: 0; border-radius: 5px; color: #fff; font: 500 12px/1.5 var(--sans); transition: box-shadow .2s; }
.song-share img { display: block; width: 18px; height: 18px; }
.song-share-facebook { background: #185bd2; }
.song-share-x, .song-share-tiktok { background: #202026; }
.song-share-instagram { background: linear-gradient(120deg,#8b2c87,#ad2853); }
.song-share:hover, .song-share:focus { color: #fff; box-shadow: 0 3px 9px #34232233; }
.song-share-hint, .song-share-status { font: 400 11px/1.7 var(--sans); color: #76644e; margin: 10px 0 0; }
.song-share-status:empty { display: none; }
.song-share-fallback:not([hidden]) { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 12px; font: 400 12px/1.6 var(--sans); }
.song-share-fallback label { grid-column: 1 / -1; margin: 0; }
.song-share-fallback input { min-width: 0; width: 100%; border: 1px solid #beab8d; padding: 10px; background: #fff; color: #302921; }
.song-share-fallback button { background: #332b23; color: white; border: 0; padding: 10px; }
.song-story { border-top: 1px solid #d8c9b2; margin: 64px auto 0; padding-top: 40px; max-width: 900px; }
.song-story h2 { margin: 0 0 26px; font: 500 28px/1.4 var(--serif); color: #302633; }
.song-story p { font: 400 18px/1.9 var(--serif); color: #51473b; margin-bottom: 24px; white-space: normal; overflow-wrap: anywhere; }
.song-tags { display: flex; flex-wrap: wrap; list-style: none; gap: 9px; padding: 0; margin: 28px 0 0; }
.song-tags li { padding: 7px 13px; border: 1px solid #d8c29c; border-radius: 20px; background: #f6ebd7; color: #655035; font: 500 11px/1.5 var(--sans); overflow-wrap: anywhere; max-width: 100%; }
.song-page a:focus-visible, .song-page input:focus-visible { outline-color: #66508b; }
.song-page button:focus-visible { outline-color: #ad853b; }
.track-page-link:hover { color: #6d4c20; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
@media (max-width: 991px) { .song-layout { gap: 32px; } .song-page h1 { font-size: 36px; } .song-player { padding: 18px; } .song-transport { gap: 14px; } }
@media (max-width: 767px) {
    .song-page { padding: 80px 0 60px; }
    .song-album-ribbon { height: 64px; }
    .song-content { padding-top: 28px; }
    .song-back { margin-bottom: 24px; }
    .song-layout { grid-template-columns: minmax(0,1fr); gap: 36px; }
    .song-artwork { width: min(100%,420px); justify-self: center; }
    .song-page h1 { font-size: clamp(32px,8vw,44px); }
    .song-share-buttons { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .song-share { min-height: 46px; }
    .song-story { margin-top: 42px; padding-top: 30px; }
}
@media (prefers-reduced-motion: reduce) { .song-share { transition: none; } }
html[data-a11y-contrast="high"] .song-page, html[data-a11y-contrast="high"] .song-tags li { background: #000; color: #fff; }
html[data-a11y-contrast="high"] .song-share { background-image: none; border: 1px solid #ffe39a; }
html[data-a11y-contrast="high"] .song-tags li, html[data-a11y-contrast="high"] .song-story { border-color: #fff; }
