/* Player */
#audioPlayer { width:100%; margin-bottom:12px; border-radius:6px; }
.ap-ul { list-style:none; margin:0; padding:0; }
.ap-li { display: flex; align-items: center; gap:8px; }
.ap-li a {
  flex: 1 1 auto;
  display: block;           /* occupe la largeur */
  width: 100%;
}
.ap-player-sticky {
  position: sticky;
  top: 15px;
  z-index: 15;
  background-color: #1F1F1F;
  padding-bottom: 10px;
  box-shadow: 0 4px 10px rgba(0,0,0,.25);
}
.ap-player-popup-wrap {
  margin-bottom: 12px;
}
/* Couleur/hover du lien de piste (plein fond) */
#playlist a {
  background: #1b1b1b;      /* bande de fond même au repos */
  color: #e5e5e5;
  padding: 8px 12px;
  border-radius: 6px;
}
#playlist a:hover {
  background: #FF8802;      /* hover bien visible */
  color: #000;
}
#playlist a.active {
  font-weight: bold;
  background: #000;
  color: #fff;
}
/* Add-to-playlist button (kept your look) */
#playlist button.add-to-playlist {
  background:#2a2a2a; border:1px solid #3c3c3c; color:#ffffff;
  padding:6px 12px; border-radius:6px; cursor:pointer; font-weight:bold;
}
#playlist button.add-to-playlist:hover { background:#3a3a3a; color:#fff; text-decoration: none; }

.public-playlist-header {
    margin-top: 18px;
}

.public-playlist-header .ap-h1 {
    max-width: 100%;

    overflow-wrap: anywhere;
    word-break: break-word;
}

.public-playlist-author {
    margin-top: 4px;
    font-size: 1.05em;
}

.public-playlist-summary {
    margin-top: 8px;

    font-weight: bold;
}

.public-audio-playlist .ap-li {
    margin-bottom: 5px;
}

.public-track-number {
    flex: 0 0 30px;

    text-align: right;

    font-weight: bold;

    color: #888;
}

.public-track-source {
    display: block;

    margin-top: 3px;

    font-size: 0.9em;

    color: #aaa;
}

#playlist a:hover .public-track-source {
    color: #222;
}

#playlist a.active .public-track-source {
    color: #ccc;
}

.public-track-title-line {
    display: block;
    font-weight: bold;
}

.public-track-duration {
    font-weight: normal;
}

.public-track-source,
.public-track-artist {
    display: block;
    margin-top: 3px;

    font-size: 0.9em;
    color: #aaa;
}

#playlist a:hover .public-track-source,
#playlist a:hover .public-track-artist {
    color: #222;
}

#playlist a.active .public-track-source,
#playlist a.active .public-track-artist {
    color: #ccc;
}

.playlist-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.65);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.playlist-modal[hidden] {
  display: none;
}

.playlist-modal-box {
    background: #202020;
    border: 1px solid #555;
    border-radius: 8px;
    padding: 18px;
    width: min(420px, 90vw);

    box-sizing: border-box;
    min-width: 0;
}

.playlist-modal-box h3 {
  margin-top: 0;
}

.playlist-choice {
    display: flex;
    align-items: center;
    gap: 6px;

    min-width: 0;
    max-width: 100%;

    margin: 8px 0;
    color: #FFF;
}

.playlist-choice input {
    flex: 0 0 auto;
}

.playlist-choice-name {
    flex: 1 1 auto;
    min-width: 0;

    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.playlist-remember {
  display: block;
  margin-top: 14px;
  font-size: 14px;
  color: #FFF;
}

.playlist-modal-actions {
  margin-top: 16px;
  text-align: right;
}

.public-playlist-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 16px 0;
}

.public-playlist-actions button {
    padding: 8px 14px;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
}

.public-playlist-actions button:disabled {
    opacity: .5;
    cursor: default;
}

#publicPlaylistSaveBtn.is-saved {
    color: #ff6666;
    opacity: 1;
}

.public-playlist-header .ap-h1 {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}