/* ============================================================
   SONG / ALBUM smart-link page
   ============================================================ */
body.song{ min-height:100dvh; }

/* dimmed video / artwork behind everything */
.lnk-bg{
  position:fixed; inset:0; z-index:-2;
  background-size:cover; background-position:center;
  filter:blur(26px) brightness(.5) saturate(1.1);
  transform:scale(1.15);
}
.lnk-bg video{ width:100%; height:100%; object-fit:cover; }
.lnk-bg-tint{
  position:fixed; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(4,6,10,.55), rgba(4,6,10,.82) 60%, #04060a);
}

.lnk{
  max-width:440px; margin:0 auto;
  padding:calc(var(--nav-h) + 20px) 22px 60px;
  display:flex; flex-direction:column; align-items:center; text-align:center;
}

.lnk-back{
  align-self:flex-start; display:inline-flex; align-items:center; gap:.5ch;
  color:var(--muted); font-size:.85rem; margin-bottom:22px;
}
.lnk-back:hover{ color:var(--text); }
.lnk-back svg{ width:16px; height:16px; transform:rotate(180deg); }

.lnk-art{
  width:min(74vw, 300px); aspect-ratio:1; border-radius:10px; overflow:hidden;
  box-shadow:0 40px 80px -24px rgba(0,0,0,.85), 0 0 0 1px rgba(255,255,255,.08);
  animation:pop .7s var(--ease) both;
}
.lnk-art img{ width:100%; height:100%; object-fit:cover; }
@keyframes pop{ from{opacity:0; transform:translateY(20px) scale(.96)} to{opacity:1; transform:none} }

.lnk-title{ font-family:var(--font-display); font-weight:900; text-transform:uppercase; font-size:1.7rem; margin-top:22px; letter-spacing:-.01em; line-height:1.05; }
.lnk-sub{ color:var(--muted); margin-top:8px; font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; }
.lnk-cta{ color:var(--muted-2); font-size:.7rem; margin:24px 0 14px; letter-spacing:.22em; text-transform:uppercase; }

.lnk-list{ width:100%; display:flex; flex-direction:column; gap:11px; }
.lnk-row{
  display:flex; align-items:center; gap:14px;
  padding:13px 16px; border-radius:14px;
  background:var(--surface); border:1px solid var(--border);
  transition:transform .18s var(--ease), background .18s, border-color .18s;
}
.lnk-row:hover{ transform:translateY(-2px); background:var(--surface-2); border-color:var(--border-strong); }
.lnk-row:active{ transform:scale(.99); }
.lnk-icon{ width:26px; height:26px; flex:none; display:grid; place-items:center; color:var(--text); }
.lnk-icon svg{ width:24px; height:24px; }
.lnk-name{ font-weight:600; font-size:.98rem; }
.lnk-cta-btn{
  margin-left:auto; font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--bg); background:var(--text); padding:7px 15px; border-radius:999px;
  transition:background .18s;
}
.lnk-row:hover .lnk-cta-btn{ background:var(--accent); color:#04121a; }

/* brand tints */
.lnk-row[data-dsp="spotify"] .lnk-icon{ color:#1DB954; }
.lnk-row[data-dsp="apple"] .lnk-icon{ color:#fb5c74; }
.lnk-row[data-dsp="youtube"] .lnk-icon{ color:#ff0000; }
.lnk-row[data-dsp="tidal"] .lnk-icon{ color:#fff; }
.lnk-row[data-dsp="soundcloud"] .lnk-icon{ color:#ff5500; }

.lnk-foot{ margin-top:34px; color:var(--muted-2); font-size:.75rem; }
