.vw-cta-btn,
.vw-cta-btn:visited {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#fff;
  text-decoration:none;
  font-weight:700;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.vw-cta-btn:hover { transform:translateY(-1px); background:rgba(255,255,255,.1); }
.vw-cta-btn--primary { background:linear-gradient(135deg, #ff9c45, #ff7b36); border-color:transparent; color:#1a1410; }
.vw-cta-btn--soft { background:rgba(255,255,255,.08); }
.vw-inline-actions { display:flex; flex-wrap:wrap; gap:10px; }

.vw-entity-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));
  gap:16px;
}
.vw-entity-card {
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:16px;
  border-radius:22px;
  background:rgba(18,18,26,.76);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 30px rgba(0,0,0,.16);
  min-height:100%;
}
.vw-entity-card__media,
.vw-entity-card__media:visited {
  display:block;
  aspect-ratio:1;
  overflow:hidden;
  border-radius:18px;
  background:rgba(255,255,255,.05);
}
.vw-entity-card__media img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.vw-entity-card__eyebrow {
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.58);
  font-weight:700;
}
.vw-entity-card__title,
.vw-entity-card__title a,
.vw-entity-card__title a:visited {
  color:#fff;
  text-decoration:none;
  font-size:1rem;
  line-height:1.35;
  margin:0;
}
.vw-entity-card__meta {
  color:rgba(255,255,255,.72);
  font-size:.92rem;
  line-height:1.55;
  margin:0;
}
.vw-entity-card__footer {
  margin-top:auto;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.vw-entity-card__pill {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:rgba(255,255,255,.74);
  font-size:.78rem;
  font-weight:700;
}
.vw-entity-stack {
  display:grid;
  gap:18px;
}
.vw-section-note {
  color:rgba(255,255,255,.7);
  font-size:.95rem;
  line-height:1.6;
  margin:0 0 16px;
}

.artist-info-card .vw-inline-actions,
.album-page-info .vw-inline-actions { margin-top:8px; }
.artist-hero-insight,
.album-hero-insight {
  margin-top:10px;
  color:rgba(255,255,255,.72);
  font-size:.92rem;
  line-height:1.55;
}

.song-row-custom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}
.song-right-custom {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.song-duration-custom {
  min-width:46px;
  text-align:right;
  color:rgba(255,255,255,.62);
  font-size:.88rem;
}
.song-row-custom .vw-cta-btn {
  min-height:34px;
  padding:0 12px;
  font-size:.86rem;
}
.song-row-custom .song-title-link { color:#fff; }
.song-row-custom .song-title-link:hover { text-decoration:underline; }
.song-info-custom h4 { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.song-info-custom p { margin:4px 0 0; }

.artist-discovery-stack,
.album-discovery-stack {
  display:grid;
  gap:18px;
  margin-top:18px;
}
.artist-discovery-section,
.album-discovery-section {
  padding:18px;
  border-radius:24px;
}
.album-page-tracklist-card .tracklist-items .album-track-row .track-title a:hover { text-decoration:underline; }

@media (max-width: 860px) {
  .song-row-custom { align-items:flex-start; flex-direction:column; }
  .song-right-custom { width:100%; justify-content:flex-start; }
}
