/* MagicalRadio3D — Ma Sono | Galerie LIVE V4.3.2 — LISTE COMPACTE
   UNIQUEMENT visuel : le JS existant, les boutons, l'API, l'audio et les sauvegardes restent intacts.
   Charge apres mgr-ma-sono-galerie-v43.css afin de remplacer la grille de grandes cartes.
*/
#mgrSono .mgrv43-playlist .mgrv43-gallery { min-width:0; }
#mgrSono .mgrv43-playlist .mgrv43-gallery-intro {margin:3px 0 13px; padding:0 0 12px;}
#mgrSono .mgrv43-playlist .mgrv43-gallery-intro h3 {font-size:clamp(18px,1.7vw,24px)!important;}
#mgrSono .mgrv43-playlist .mgrv43-tools {margin-bottom:10px; gap:9px; align-items:end;}
#mgrSono .mgrv43-playlist .mgrv43-search-label input {min-height:40px;}
#mgrSono .mgrv43-playlist .mgrv43-message {padding:8px 11px;margin:0 0 10px;}
/* vraie liste : une ligne par musique, aucune grille de cartes */
#mgrSono .mgrv43-playlist .mgrv43-grid {
  display:flex!important; flex-direction:column!important; gap:7px!important;
  grid-template-columns:none!important; align-items:stretch!important;
  width:100%; max-height:none!important; overflow:visible!important;
}
#mgrSono .mgrv43-playlist .mgrv43-track {
  display:grid!important; grid-template-columns:64px minmax(0,1fr)!important;
  align-items:stretch; min-width:0; width:100%; min-height:69px;
  border:1px solid rgba(143,160,206,.35)!important; border-radius:10px!important;
  background:linear-gradient(112deg,rgba(15,30,65,.97),rgba(16,26,56,.95))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.06),0 3px 10px rgba(0,0,0,.22)!important;
  transition:border-color .18s,background-color .18s;
}
#mgrSono .mgrv43-playlist .mgrv43-track:hover,
#mgrSono .mgrv43-playlist .mgrv43-track:focus-within { border-color:rgba(181,151,249,.85)!important; }
#mgrSono .mgrv43-playlist .mgrv43-cover {
  width:58px!important; height:58px!important; min-height:0!important;
  margin:5px 0 5px 6px; border-radius:7px!important;
  background:linear-gradient(145deg,rgba(17,29,67,.7),rgba(10,20,45,.8)), url('/assets/mgr-v42-lounge.webp') center/cover;
  box-shadow:0 2px 8px #0007,inset 0 0 0 1px #ffffff26;
}
#mgrSono .mgrv43-playlist .mgrv43-cover img {width:100%!important;height:100%!important;object-fit:cover!important;opacity:.95;}
#mgrSono .mgrv43-playlist .mgrv43-cover-icon {font-size:26px!important;}
#mgrSono .mgrv43-playlist .mgrv43-format {
  top:auto!important; right:2px!important; bottom:2px!important;
  padding:2px 3px!important;font-size:8px!important;line-height:1;
}
#mgrSono .mgrv43-playlist .mgrv43-track-info {
  display:grid!important; grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:minmax(20px,auto) minmax(18px,auto)!important;
  align-content:center; column-gap:14px; row-gap:3px;
  padding:9px 11px!important; min-width:0;
}
#mgrSono .mgrv43-playlist .mgrv43-track-info h4 {
  grid-area:1 / 1; min-height:0!important;margin:0!important;
  font-size:13px!important; line-height:1.35!important;font-weight:800;
  white-space:nowrap; text-overflow:ellipsis;overflow:hidden!important;
}
#mgrSono .mgrv43-playlist .mgrv43-track-info p {
  grid-area:2 / 1;margin:0!important;font-size:11px!important;
  white-space:nowrap; text-overflow:ellipsis;overflow:hidden;
}
#mgrSono .mgrv43-playlist .mgrv43-track-controls {
  grid-area:1 / 2 / 3 / 3; display:flex!important;
  flex-direction:row!important;align-items:center;gap:7px!important;
  grid-template-columns:none!important;min-width:0;
}
#mgrSono .mgrv43-playlist .mgrv43-track-controls button {
  min-width:90px;min-height:35px!important; padding:7px 10px!important;
  border-radius:8px!important;font-size:11px!important; white-space:nowrap;
}
#mgrSono .mgrv43-playlist .mgrv43-selection {margin-top:16px!important;padding:14px!important;}
#mgrSono .mgrv43-playlist .mgrv43-selection>p {margin:7px 0 12px;}
#mgrSono .mgrv43-playlist .mgrv43-selected-row {padding:7px 9px!important;margin:5px 0!important;}
#mgrSono .mgrv43-playlist .mgrv43-more {margin:11px auto!important;}
@media(max-width:670px){
  #mgrSono .mgrv43-playlist .mgrv43-grid {gap:6px!important;}
  #mgrSono .mgrv43-playlist .mgrv43-track {grid-template-columns:55px minmax(0,1fr)!important;min-height:70px;}
  #mgrSono .mgrv43-playlist .mgrv43-cover {width:48px!important;height:48px!important;margin:6px 0 6px 6px;align-self:center;}
  #mgrSono .mgrv43-playlist .mgrv43-cover-icon {font-size:23px!important;}
  #mgrSono .mgrv43-playlist .mgrv43-track-info {
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:minmax(22px,auto) minmax(22px,auto)!important;
    column-gap:6px;row-gap:3px;padding:7px 8px!important;
  }
  #mgrSono .mgrv43-playlist .mgrv43-track-info h4 {font-size:12px!important;grid-area:1/1;align-self:end;}
  #mgrSono .mgrv43-playlist .mgrv43-track-info p {font-size:10px!important;grid-area:2/1;align-self:start;}
  #mgrSono .mgrv43-playlist .mgrv43-track-controls {grid-area:1/2/3/3;gap:4px!important;}
  #mgrSono .mgrv43-playlist .mgrv43-track-controls button {
    min-width:0!important;min-height:31px!important;padding:5px 6px!important;font-size:10px!important;
  }
  #mgrSono .mgrv43-playlist .mgrv43-tabs {margin-bottom:12px;}
  #mgrSono .mgrv43-playlist .mgrv43-gallery-intro p {font-size:12px;}
}
@media(max-width:380px){
  #mgrSono .mgrv43-playlist .mgrv43-track {grid-template-columns:48px minmax(0,1fr)!important;}
  #mgrSono .mgrv43-playlist .mgrv43-cover {width:41px!important;height:41px!important;margin:5px 0 5px 5px;}
  #mgrSono .mgrv43-playlist .mgrv43-track-info {column-gap:3px;padding:5px 5px!important;}
  #mgrSono .mgrv43-playlist .mgrv43-track-controls {gap:3px!important;}
  #mgrSono .mgrv43-playlist .mgrv43-track-controls button {padding:5px 4px!important;font-size:9px!important;}
}

/* PLAYLIST PERSONNELLE — titres sur de vraies lignes, pas des grosses cartes.
   Les boutons UP/DOWN d'origine sont conserves (avec leurs handlers d'origine). */
#mgrSono .mgrv41-stage .mgrv41-tracks [data-mgr-playlist-order="v3"] > strong {
  display:block; margin:12px 0 3px!important; font-size:14px!important;
}
#mgrSono .mgrv41-stage .mgrv41-tracks [data-mgr-playlist-order="v3"] > p {
  margin:3px 0 11px!important; font-size:11px!important;
}
#mgrSono .mgrv41-stage .mgrv41-tracks [data-mgr-playlist-order="v3"] > ol {
  list-style:none!important; padding:0!important; margin:0 0 12px!important;
  display:flex!important; flex-direction:column!important; gap:6px!important;
  counter-reset:mgr-personal-song;
}
#mgrSono .mgrv41-stage .mgrv41-tracks [data-mgr-playlist-order="v3"] > ol > li {
  counter-increment:mgr-personal-song;
  display:grid!important; grid-template-columns:30px minmax(0,1fr) 36px 36px!important;
  align-items:center!important; gap:7px!important;
  padding:7px 10px!important; margin:0!important; min-height:47px!important;
  border:1px solid rgba(125,151,206,.5)!important; border-radius:9px!important;
  background:linear-gradient(105deg,rgba(13,26,58,.96),rgba(24,33,76,.96))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.09),0 3px 9px rgba(0,0,0,.18)!important;
  font-size:13px!important; line-height:1.3;
  min-width:0;
}
#mgrSono .mgrv41-stage .mgrv41-tracks [data-mgr-playlist-order="v3"] > ol > li::before {
  content:counter(mgr-personal-song, decimal-leading-zero); display:block;
  font-size:11px;font-weight:800;color:#bea5ff;letter-spacing:.035em;
}
#mgrSono .mgrv41-stage .mgrv41-tracks [data-mgr-playlist-order="v3"] > ol > li > span {
  display:block!important; max-width:100%!important; min-width:0;
  overflow:hidden!important; text-overflow:ellipsis; white-space:nowrap;
  color:#fff; font-size:13px; font-weight:700;
}
#mgrSono .mgrv41-stage .mgrv41-tracks [data-mgr-playlist-order="v3"] > ol > li > button {
  display:inline-flex!important; align-items:center!important;justify-content:center!important;
  float:none!important; min-width:34px!important; max-width:36px!important;
  min-height:33px!important; height:33px!important; margin:0!important; padding:0!important;
  border-radius:7px!important; font-weight:800!important; font-size:16px!important;
  color:#f7edff!important; background:#303c69!important; border:1px solid #8397d6!important;
  cursor:pointer;
}
#mgrSono .mgrv41-stage .mgrv41-tracks [data-mgr-playlist-order="v3"] > ol > li > button:hover:not(:disabled),
#mgrSono .mgrv41-stage .mgrv41-tracks [data-mgr-playlist-order="v3"] > ol > li > button:focus-visible {
  background:#604ba8!important;border-color:#d3acff!important;outline-offset:2px;
}
#mgrSono .mgrv41-stage .mgrv41-tracks [data-mgr-playlist-order="v3"] > ol > li > button:disabled {
  opacity:.3!important; cursor:not-allowed!important;
}
#mgrSono .mgrv41-stage .mgrv41-tracks [data-mgr-playlist-order="v3"] > ol > li:not(:has(button)) {
  display:block!important;min-height:0!important;font-size:12px!important;
}
#mgrSono .mgrv41-stage .mgrv41-tracks [data-mgr-playlist-order="v3"] > ol > li:not(:has(button))::before{display:none;}
/* Prevent the old personal music selector from becoming a cramped scroll box. */
#mgrSono .mgrv41-stage .mgrv41-tracks .mgrv4-music-picker [data-sono-playlist-selector="v1"] > div:not([data-mgr-playlist-order]) {
  max-height:none!important;overflow:visible!important;
}
#mgrSono .mgrv41-stage .mgrv41-tracks [data-sono-playlist-selector="v1"] > p:first-child {
  display:inline-block; padding:5px 9px; border-radius:999px;
  color:#e5d6ff; background:rgba(107,75,162,.25); border:1px solid rgba(151,121,207,.4);
  font-weight:800; width:fit-content;
}
/* Gallery selected tracks: equally compact and usable. */
#mgrSono .mgrv43-playlist .mgrv43-selection ol {padding:0!important;max-height:none!important;overflow:visible!important;}
#mgrSono .mgrv43-playlist .mgrv43-selected-row {min-height:43px;}
#mgrSono .mgrv43-playlist .mgrv43-selected-title {font-size:12px!important;}
@media(max-width:620px){
  #mgrSono .mgrv41-stage .mgrv41-tracks{padding:14px 10px!important;}
  #mgrSono .mgrv41-stage .mgrv41-tracks [data-mgr-playlist-order="v3"] > ol > li {
    grid-template-columns:23px minmax(0,1fr) 30px 30px!important;
    gap:4px!important; padding:6px!important;min-height:42px!important;
  }
  #mgrSono .mgrv41-stage .mgrv41-tracks [data-mgr-playlist-order="v3"] > ol > li > span {font-size:12px;}
  #mgrSono .mgrv41-stage .mgrv41-tracks [data-mgr-playlist-order="v3"] > ol > li > button {
    min-width:28px!important; max-width:30px!important;min-height:29px!important;height:29px!important;
  }
}
