@import url("mzansimusic.css");

.music-page.bloemfontein-music {
  background:
    radial-gradient(circle at 82% 4%, rgba(222, 134, 74, 0.2) 0%, rgba(222, 134, 74, 0) 35%),
    radial-gradient(circle at 15% 10%, rgba(113, 52, 123, 0.18) 0%, rgba(113, 52, 123, 0) 36%),
    linear-gradient(180deg, #130f17 0%, #24192a 48%, #1b131f 100%);
  color: #fff4ef;
}

.music-page.bloemfontein-music .navbar {
  background:
    linear-gradient(90deg, rgba(33, 22, 42, 0.96), rgba(66, 38, 51, 0.95)),
    repeating-linear-gradient(
      -45deg,
      rgba(255, 255, 255, 0.05) 0,
      rgba(255, 255, 255, 0.05) 10px,
      rgba(0, 0, 0, 0.09) 10px,
      rgba(0, 0, 0, 0.09) 20px
    );
  border-bottom: 1px solid #d19d3e;
}

.music-page.bloemfontein-music .navbar h1 {
  letter-spacing: 0.6px;
  text-transform: uppercase;
  text-shadow: 0 0 18px rgba(209, 157, 62, 0.24);
}

.music-page.bloemfontein-music .navbar a {
  border: 1px solid #915385;
  background: #45283f;
  color: #fff1e9;
}

.music-page.bloemfontein-music .navbar a:hover {
  background: #61324f;
  color: #ffdca8;
  border-color: #d19d3e;
}

.music-page.bloemfontein-music .card {
  background:
    linear-gradient(145deg, rgba(50, 31, 58, 0.98), rgba(37, 23, 45, 0.98)),
    repeating-linear-gradient(
      45deg,
      rgba(255, 255, 255, 0.012) 0,
      rgba(255, 255, 255, 0.012) 12px,
      rgba(0, 0, 0, 0.035) 12px,
      rgba(0, 0, 0, 0.035) 24px
    );
  border: 1px solid #7d3c75;
}

.music-page.bloemfontein-music .hero {
  background:
    linear-gradient(120deg, rgba(108, 48, 89, 0.95), rgba(82, 41, 62, 0.95)),
    repeating-linear-gradient(
      120deg,
      rgba(255, 255, 255, 0.06) 0,
      rgba(255, 255, 255, 0.06) 9px,
      rgba(0, 0, 0, 0.05) 9px,
      rgba(0, 0, 0, 0.05) 18px
    );
  border: 1px solid #c06d52;
  position: relative;
  overflow: hidden;
}

.music-page.bloemfontein-music .hero::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -70px;
  top: -90px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(209, 157, 62, 0.35), rgba(209, 157, 62, 0));
  pointer-events: none;
}

.music-page.bloemfontein-music .hero h2 {
  color: #fff9f2;
}

.music-page.bloemfontein-music .hero p,
.music-page.bloemfontein-music .helper-text,
.music-page.bloemfontein-music .np-artist,
.music-page.bloemfontein-music .status-msg,
.music-page.bloemfontein-music .seek-row,
.music-page.bloemfontein-music .track-text small {
  color: #e0c8d3;
}

.music-page.bloemfontein-music .filter-btn,
.music-page.bloemfontein-music .chip-btn,
.music-page.bloemfontein-music .icon-btn,
.music-page.bloemfontein-music .play-btn,
.music-page.bloemfontein-music .row-like,
.music-page.bloemfontein-music .row-owner-btn,
.music-page.bloemfontein-music .search-input,
.music-page.bloemfontein-music .upload-form input[type="text"],
.music-page.bloemfontein-music .upload-form input[type="file"],
.music-page.bloemfontein-music .pill,
.music-page.bloemfontein-music .recent-btn {
  border-color: #9f5c83;
  background: #45293d;
  color: #fff2ea;
}

.music-page.bloemfontein-music .row-owner-btn.delete {
  border-color: #b96e5e;
  background: #622f2a;
  color: #ffd8cb;
}

.music-page.bloemfontein-music .filter-btn.active,
.music-page.bloemfontein-music .filter-btn:hover,
.music-page.bloemfontein-music .chip-btn.active,
.music-page.bloemfontein-music .chip-btn:hover,
.music-page.bloemfontein-music .icon-btn.active,
.music-page.bloemfontein-music .icon-btn:hover,
.music-page.bloemfontein-music .play-btn:hover,
.music-page.bloemfontein-music .row-like:hover,
.music-page.bloemfontein-music .recent-btn:hover {
  background: #653851;
  border-color: #d19d3e;
  color: #ffefd2;
}

.music-page.bloemfontein-music .track-row {
  border-color: #8d507d;
  background: linear-gradient(125deg, #44283d, #4f2f46);
}

.music-page.bloemfontein-music .track-row.active {
  border-color: #d19d3e;
  background: linear-gradient(120deg, #6a3e54, #75445b);
  box-shadow: 0 0 0 rgba(209, 157, 62, 0.2);
  animation: bloemTrackPulse 2.1s ease-in-out infinite;
}

.music-page.bloemfontein-music .track-row.now-playing .track-cover,
.music-page.bloemfontein-music .np-cover {
  border-color: #d19d3e;
}

.music-page.bloemfontein-music.playing .np-cover {
  animation: bloemCoverGlow 2.6s ease-in-out infinite;
}

.music-page.bloemfontein-music .track-text strong,
.music-page.bloemfontein-music .np-title,
.music-page.bloemfontein-music .music-sidebar h2,
.music-page.bloemfontein-music .music-main h2,
.music-page.bloemfontein-music .music-right h3,
.music-page.bloemfontein-music .list-head h3 {
  color: #fff8f3;
}

.music-page.bloemfontein-music .now-playing-bar {
  background: linear-gradient(90deg, rgba(29, 18, 36, 0.98), rgba(46, 26, 38, 0.98));
  border-top: 1px solid #9e5a80;
}

.music-page.bloemfontein-music .progress,
.music-page.bloemfontein-music #volume {
  accent-color: #d19d3e;
}

.music-page.bloemfontein-music .progress {
  border-color: #b96b5d;
  background: linear-gradient(to right, #d19d3e 0%, #d19d3e var(--progress-pct), #4f2d42 var(--progress-pct), #4f2d42 100%);
}

.music-page.bloemfontein-music .progress::-webkit-slider-thumb {
  background: #d19d3e;
  border-color: #341f2e;
}

.music-page.bloemfontein-music .progress::-moz-range-thumb {
  background: #d19d3e;
  border-color: #341f2e;
}

.music-page.bloemfontein-music .icon-btn:focus,
.music-page.bloemfontein-music .play-btn:focus,
.music-page.bloemfontein-music .track-main:focus,
.music-page.bloemfontein-music .recent-btn:focus,
.music-page.bloemfontein-music .filter-btn:focus,
.music-page.bloemfontein-music .row-like:focus,
.music-page.bloemfontein-music .chip-btn:focus,
.music-page.bloemfontein-music .search-input:focus,
.music-page.bloemfontein-music .upload-form input:focus {
  outline: 2px solid #d19d3e;
  outline-offset: 2px;
}

@keyframes bloemTrackPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(209, 157, 62, 0.26);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(209, 157, 62, 0.07);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(209, 157, 62, 0.2);
  }
}

@keyframes bloemCoverGlow {
  0% {
    box-shadow: 0 0 0 rgba(108, 48, 89, 0.2);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 0 7px rgba(108, 48, 89, 0.1);
    transform: scale(1.03);
  }
  100% {
    box-shadow: 0 0 0 rgba(108, 48, 89, 0.2);
    transform: scale(1);
  }
}

@media (max-width: 640px) {
  .music-page.bloemfontein-music .hero h2 {
    font-size: 1.3rem;
  }

  .music-page.bloemfontein-music .hero p {
    font-size: 0.92rem;
  }
}
