/*--------------------------------------------------------------
# Audio Player
--------------------------------------------------------------*/

.audio-player-active .site {
  margin-bottom: 110px;
}

/* Playback
--------------------------------------------- */

.audio-player .audio-playback {
  transform: translateY(100%);
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  background-color: rgb(var(--color-base-100));
  padding: 20px;
  height: 110px;
}

.audio-player .audio-playback.active {
  transform: translateY(0); /* Bring to its natural position */
}

/* Time / Duration */

.audio-player .audio-player-play-time,
.audio-player .audio-player-duration {
  display: none;
}

/* Controls */

.audio-player .audio-player-controls {
  max-width: var(--max-w-full);
  margin: 0 auto 0.75rem;
  display: flex;
  gap: 1.5rem;
}

/* Play Button */

.audio-player .audio-player-play {
  flex-grow: 1;
  display: flex;
  gap: 0.75rem;
  min-width: 0;
}

.audio-player .audio-player-play .col:nth-child(2) {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.audio-player .audio-player-play .playlist-title {
  font-size: var(--font-xl);
  font-weight: var(--font-bold);
  font-family: var(--font-sans-condensed);
  line-height: var(--leading-tight);
}

.audio-player .audio-player-play .current-track {
  font-size: var(--font-lg);
}

.audio-player .audio-player-play .playlist-title,
.audio-player .audio-player-play .current-track {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.audio-player .audio-player-play-btn {
  cursor: pointer;
}

.audio-player .audio-player-play-btn .icon::after {
  font-size: var(--font-3xl);
  content: "\e034";
}

.audio-player.audio-player-paused .audio-player-play-btn .icon::after {
  content: "\e037";
}

/* Prev Next Close Buttons */

.audio-player .audio-player-buttons {
  display: flex;
  gap: 1.5rem;
}

.audio-player .audio-player-buttons .col:nth-child(1) {
  display: flex;
  gap: 0.5rem;
}

.audio-player .audio-player-prev-btn .icon::after {
  font-size: var(--font-3xl);
  content: "\e045";
}

.audio-player .audio-player-next-btn .icon::after {
  font-size: var(--font-3xl);
  content: "\e044";
}

.audio-player .audio-player-close-btn .icon::after {
  font-size: var(--font-3xl);
  content: "\e5cd";
}

.audio-player .audio-player-prev-btn.active,
.audio-player .audio-player-next-btn.active,
.audio-player .audio-player-close-btn {
  opacity: 1;
  cursor: pointer;
}

.audio-player .audio-player-prev-btn,
.audio-player .audio-player-prev-btn.active:hover,
.audio-player .audio-player-next-btn,
.audio-player .audio-player-next-btn.active:hover,
.audio-player .audio-player-close-btn:hover {
  opacity: 0.5;
}

/* Timebar */

.audio-player .audio-player-timebar {
  position: relative;
  display: flex;
  align-items: center;
  height: 17px;
  cursor: pointer;
}

.audio-player .audio-player-timebar::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  top: 7px;
  left: 0;
  background-color: rgb(var(--color-base-200));
}

.audio-player .audio-player-progress {
  position: relative;
  height: 4px;
  width: 0%;
  background-color: rgb(var(--color-base-950));
}

/* Single
--------------------------------------------- */

.audio-player-single .audio-playlist {
  margin-top: 2rem;
}

.audio-player-single .audio-playlist .playlist-title {
  font-size: var(--font-2xl);
  font-family: var(--font-sans-condensed);
  font-weight: var(--font-medium);
  line-height: var(--leading-tight);
  margin-bottom: 1rem;
}

.audio-player-single .audio-track {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0;
}

.audio-player-single .audio-playlist .tracks .audio-track:not(:nth-child(1)) {
  border-top: 1px dashed rgb(var(--color-base-200));
}

.audio-player-single .audio-track:hover {
  cursor: pointer;
  color: rgb(var(--color-base-500));
}

.audio-player-single .audio-track .icon::after {
  font-size: var(--font-2xl);
  content: "\e037";
}

.audio-player-single .audio-track.audio-track-selected .icon::after {
  content: "\e034";
}

.audio-player-single.audio-player-paused .audio-track.audio-track-selected .icon::after {
  content: "\e037";
}

.audio-player-single .audio-track.audio-track-selected {
  color: rgb(var(--color-base-500));
}

.audio-player-single.audio-player-paused .audio-track.audio-track-selected {
  color: rgb(var(--color-base-950));
}

.audio-player-single.audio-player-paused .audio-track.audio-track-selected:hover {
  color: rgb(var(--color-base-500));
}

.audio-player-single .audio-track-name {
  flex-grow: 1;
  font-family: var(--font-sans-condensed);
  font-weight: var(--font-medium);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.audio-player-single .audio-track-length {
  font-family: var(--font-sans-condensed);
}

/* Loop
--------------------------------------------- */

.audio-player-loop {
  margin-top: 0.75rem;
}

.audio-player-loop .audio-track {
  display: flex;
  align-items: flex-start;
  gap: 0.25rem;
}

.audio-player-loop .audio-track:hover {
  cursor: pointer;
  color: rgb(var(--color-base-500));
}

.audio-player-loop .audio-track .icon::after {
  font-size: var(--font-xl);
  content: "\e037";
}

.audio-player-loop .audio-track.audio-track-selected .icon::after {
  content: "\e034";
}

.audio-player-loop.audio-player-paused .audio-track.audio-track-selected .icon::after {
  content: "\e037";
}

.audio-player-loop .audio-track.audio-track-selected {
  color: rgb(var(--color-base-500));
}

.audio-player-loop.audio-player-paused .audio-track.audio-track-selected {
  color: rgb(var(--color-primary-950));
}

.audio-player-loop.audio-player-paused .audio-track.audio-track-selected:hover {
  color: rgb(var(--color-base-500));
}

.audio-player-loop .audio-track-name {
  font-family: var(--font-sans-condensed);
  font-weight: var(--font-medium);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.audio-player-loop .audio-track-length {
  display: none;
}

/* Truncate */

.audio-player-loop .container.truncate .audio-playlist {
  max-height: calc(10rem * var(--leading-base));
  overflow: hidden;
  position: relative;
}

.audio-player-loop .container .expand-more,
.audio-player-loop .container .expand-less {
  margin-top: 0.75rem;
  cursor: pointer;
}
