/* music.css  -  Music page only */
.ny-music-row { padding-bottom: clamp(2rem, 5vw, 3.5rem); margin-bottom: clamp(2rem, 5vw, 3.5rem); border-bottom: 1px solid var(--ny-line); }
.ny-music-row:last-child { border-bottom: 0; margin-bottom: 0; }
.ny-music-row .ny-title { font-size: clamp(1.8rem, 3.4vw, 2.6rem); }
.ny-audio { display: grid; gap: .75rem 1.5rem; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); margin: 0; padding: 0; }
.ny-audio li { display: flex; flex-direction: column; gap: .3rem; }
.ny-audio span { font-size: .9rem; color: var(--ny-muted); }
.ny-audio audio { width: 100%; height: 40px; }
.ny-credit-h { overflow-wrap: anywhere; }
@media (max-width: 575.98px) { .ny-music-row .btn { width: 100%; } }
.ny-spotify { max-width: 720px; margin-inline: auto; }
.ny-spotify iframe { border: 0; border-radius: 12px; display: block; }
[aria-expanded="false"] > .ny-when-open, [aria-expanded="true"] > .ny-when-closed { display: none; }
.ny-notice { display: inline-block; margin: .25rem 0 1rem; padding: .7rem 1.2rem; font-family: var(--ny-font-head); font-size: 1.15rem; line-height: 1.4; color: #fff; background: rgba(255, 255, 255, .06); border: 1px solid var(--ny-gold); border-radius: 12px; }
.ny-notice strong { color: var(--ny-gold); letter-spacing: .08em; }
.ny-cover-link { display: block; transition: transform .3s var(--ny-ease), filter .3s; }
.ny-cover-link:hover, .ny-cover-link:focus-visible { transform: translateY(-3px); filter: brightness(1.08); }
.ny-single { display: flex; align-items: center; gap: 1.25rem; text-align: left; margin: 1.25rem auto; max-width: 46rem; }
.ny-single .ny-lead { margin: 0; }
.ny-single-img { flex: 0 0 auto; display: block; transition: transform .3s var(--ny-ease), filter .3s; }
.ny-single-img img { display: block; width: clamp(84px, 14vw, 120px); height: auto; aspect-ratio: 1; border-radius: 10px; border: 1px solid var(--ny-line); box-shadow: 0 6px 18px rgba(0, 0, 0, .35); object-fit: cover; }
.ny-single-img:hover { transform: translateY(-3px); filter: brightness(1.08); }
@media (max-width: 575.98px) { .ny-single { gap: .85rem; } .ny-single-img img { width: 76px; } }
.ny-book-thumb { display: block; width: clamp(140px, 80%, 240px); margin: 1.5rem auto 0; transition: transform .3s var(--ny-ease), filter .3s; }
.ny-book-thumb img { aspect-ratio: 5/8; height: auto; object-fit: cover; }
.ny-book-thumb:hover, .ny-book-thumb:focus-visible { transform: translateY(-3px); filter: brightness(1.08); }

/* Album highlight videos: the same soft breathing glow as the Media page and the Gallery photos */
.ny-yt {
  border-color: color-mix(in srgb, var(--g, #d1a097) 55%, transparent);
  box-shadow: 0 0 1rem -.1rem color-mix(in srgb, var(--g, #d1a097) 45%, transparent), 0 0 3rem 0 color-mix(in srgb, var(--g, #d1a097) 16%, transparent);
  animation: ny-mu-breathe 7s ease-in-out infinite; animation-delay: calc(var(--d, 0s) * -9);
}
.ny-yt:hover, .ny-yt:focus {
  border-color: color-mix(in srgb, var(--g, #d1a097) 90%, #fff);
  box-shadow: 0 0 1.6rem .1rem color-mix(in srgb, var(--g, #d1a097) 70%, transparent), 0 0 4.5rem .5rem color-mix(in srgb, var(--g, #d1a097) 32%, transparent);
}
.ny-yt:hover img, .ny-yt:focus img { opacity: 1; }
/* a slow sweep of light across the picture on hover */
.ny-yt:not(:has(iframe))::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(115deg, transparent 38%, rgba(255, 255, 255, .26) 50%, transparent 62%);
  transform: translateX(-120%); transition: transform 1s var(--ny-ease);
}
.ny-yt:hover::after, .ny-yt:focus::after { transform: translateX(120%); }
@keyframes ny-mu-breathe {
  0%, 100% { box-shadow: 0 0 .8rem -.1rem color-mix(in srgb, var(--g, #d1a097) 35%, transparent), 0 0 2.4rem 0 color-mix(in srgb, var(--g, #d1a097) 10%, transparent); }
  50%      { box-shadow: 0 0 1.4rem 0 color-mix(in srgb, var(--g, #d1a097) 55%, transparent), 0 0 3.6rem .2rem color-mix(in srgb, var(--g, #d1a097) 22%, transparent); }
}
@media (prefers-reduced-motion: reduce) { .ny-yt { animation: none; } }
