/* Utility */

/* Bubblegum Sans for all main page h1/h2 headers */
.notifications-page h1,
.discussions-card h1,
.leaderboards-page h1,
.messages-page h2,
.ratings-system-page h1,
h1.gradient-text,
h2.gradient-text {
  font-family: 'Bubblegum Sans', cursive !important;
}
.bg-dark { background: var(--color-bg); color: var(--color-text); }
.text-accent { color: var(--color-accent); }

.text-gradient {
  background: linear-gradient(90deg, var(--color-accent), var(--color-accent-strong));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.hidden {
  display: none;
}

/* ==============================
   GLOBAL EFFECTS / UTILS
============================== */
html {
  scroll-behavior: smooth;
}

html {
  font-size: 15px;
}

.gradient-text {
  color: var(--color-accent, #ff69b4);
  -webkit-text-fill-color: var(--color-accent, #ff69b4);
}

/* Base image style (shared by all Spotify images) */
.artist-img {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    object-fit: cover;
    box-shadow: 0 0 10px rgba(255, 105, 180, 0.4);
}

/* Artists → circles */
.artist-img.circle {
    border-radius: 50%;
}

/* Tracks & playlists → squares */
.artist-img.square {
    border-radius: 6px;   /* use 0px for perfect squares */
}

.track-img {
  width: 45px;
  height: 45px;
  border-radius: 8px;
  object-fit: cover;
}

.recent-img {
  width: 45px;
  height: 45px;
  border-radius: 8px;
  object-fit: cover;
}

.playlist-img {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(255, 105, 180, 0.4);
}

a {
    text-decoration: none;
}

/* Pill styling for genre/filter links */
.pill {
    display: inline-block;
    padding: 6px 12px;
    background: rgba(255, 105, 180, 0.1);
    color: var(--color-accent);
    border: 1px solid rgba(255, 105, 180, 0.3);
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
}

.pill:hover {
    background: var(--color-accent);
    color: var(--color-bg);
    border-color: var(--color-accent);
    box-shadow: 0 0 8px rgba(255, 105, 180, 0.4);
    transform: translateY(-1px);
}

.settings-card a:hover {
    text-shadow: 0 0 8px #ff4fd8;
}

.settings-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 15px rgba(255, 79, 216, 0.6);
}
