/*
 * Só Flashback Minimal: V2 flutuante, 09/11/2026.
 * Isolado em body.sf-minimal. Nenhuma regra modifica index-neon.php.
 * Logo e botões são arquivos AVIF. CSS apenas posiciona elementos,
 * ajusta responsividade e conserva acessibilidade/cliques.
 */
body.sf-minimal {
  --minimal-left:clamp(188px,15.1vw,260px);
  --minimal-right:clamp(218px,15.2vw,275px);
  --minimal-album: min(53.5vh,40vw,515px);
  --minimal-album-top:clamp(88px,10.3vh,115px);
}
/* Remove a antiga caixa do menu, sem criar moldura substituta. */
body.sf-minimal .sf-minimal-sidebar {
  position:relative; grid-column:1; grid-row:1; min-height:0;
  background:transparent !important;border:0 !important;box-shadow:none !important;
  padding:0 !important;display:block !important;isolation:isolate;
}
body.sf-minimal .sf-minimal-logo {
  display:block !important;position:absolute;top:clamp(16px,2.8vh,30px);
  left:8px;right:8px;width:auto;height:auto;padding:0 !important;
  z-index:1;line-height:0;border:0;background:transparent;
}
body.sf-minimal .sf-minimal-logo img {
  display:block;width:min(100%,240px);height:auto;margin:0 auto;
  object-fit:contain;
}
body.sf-minimal .sf-minimal-side-links {
  position:absolute;left:8px;right:8px;top:54%;bottom:auto;
  transform:translateY(-50%);
  display:flex !important;flex-direction:column !important;
  align-items:center;justify-content:center;
  gap:clamp(3px,.6vh,9px);
  width:auto !important;margin:0;padding:0;overflow:visible;
}
body.sf-minimal .sf-minimal-side-btn {
  display:block !important;position:relative;flex:0 0 auto;
  width:100%;height:auto !important;max-width:251px;
  padding:0 !important;margin:0;border:0 !important;border-radius:0 !important;
  background:transparent !important;box-shadow:none !important;
  font-size:0 !important;line-height:0 !important;
  cursor:pointer;opacity:1;
  transition:transform .14s ease,filter .14s ease;
}
body.sf-minimal .sf-minimal-side-btn img {
  display:block;width:100%;height:auto;object-fit:contain;
  background:transparent !important;pointer-events:none;
}
body.sf-minimal .sf-minimal-side-btn:hover,
body.sf-minimal .sf-minimal-side-btn:focus-visible,
body.sf-minimal .sf-minimal-side-btn[aria-expanded="true"] {
  transform:translateX(4px) scale(1.025) !important;
  filter:brightness(1.13);
  border:0 !important;background:transparent !important;
}
body.sf-minimal .sf-minimal-side-btn:focus-visible,
body.sf-minimal .sf-minimal-logo:focus-visible {outline:2px solid #5fefff;outline-offset:1px;}
body.sf-minimal .sf-minimal-install {display:none !important;}
body.sf-minimal .sf-minimal-mobile-top {display:none;}
/* Álbum mais abaixo e centralizado verticalmente sem mover qualquer
 * elemento/ID usado pelos anúncios que rotacionam sobre a capa. */
body.sf-minimal .song-center {
  top:var(--minimal-album-top) !important;left:0;right:0;
  padding:0 4px;z-index:5;
}
body.sf-minimal .album-orbit {
  width:var(--minimal-album) !important;height:auto !important;
  aspect-ratio:1;max-width:100%;margin:0 auto !important;
}
body.sf-minimal .song-center #trackHeading {margin-top:clamp(11px,1.8vh,21px) !important;}
/* Usa os mesmos polegares do Neon, só aproxima as duas instâncias
 * do aro do álbum; preserva a contagem e o estado dos votos. */
body.sf-minimal .sf-minimal-vote-side {
  top:calc(var(--minimal-album-top) + var(--minimal-album)/2);
  right:auto;left:auto;
  transform:translate(-50%,-50%) !important;
  z-index:12;
}
body.sf-minimal .sf-minimal-vote-left {
  left:calc(50% - var(--minimal-album)/2 - 39px);
}
body.sf-minimal .sf-minimal-vote-right {
  left:calc(50% + var(--minimal-album)/2 + 39px);
}
body.sf-minimal .sf-minimal-vote-side .neon-vote {
  display:flex !important;align-items:center;justify-content:center;
  min-height:65px;pointer-events:auto;
}
body.sf-minimal .sf-minimal-vote-side .neon-vote svg {width:54px;height:54px;}
/* Rodapé de ponta a ponta, mantendo volume fora do eixo central Play/EQ. */
body.sf-minimal .player-controls {
  position:relative !important;min-width:0;overflow:visible;
}
body.sf-minimal .volume-slider-row {
  position:absolute !important;
  left:clamp(90px,7.6vw,142px) !important;
  right:auto !important;top:50% !important;
  width:clamp(138px,18vw,310px) !important;
  height:22px !important;
  transform:translateY(-50%) !important;z-index:21;
  display:flex !important;align-items:center;
}
body.sf-minimal #volume {display:block !important;width:100% !important;margin:0 !important;}
body.sf-minimal .controls-row #muteBtn {left:2% !important;z-index:22;}
body.sf-minimal .controls-row .neon-vote-play {z-index:19;}
/* A instalação continua acessível na barra de baixo, sem criar sexto botão lateral. */
body.sf-minimal .controls-row #neonInstallBtn {
  display:flex !important;position:absolute;left:63.5%;top:50%;
  transform:translateY(-50%);z-index:20;
  padding:0 8px;max-width:110px;min-width:0;
  height:38px;font-size:10px;
}
body.sf-minimal .controls-row #neonInstallBtn svg {width:18px;height:18px;}
body.sf-minimal .controls-row #listeners {right:11% !important;}
body.sf-minimal .controls-row .volume-display {right:2.2% !important;}
/* A barra cobre toda a largura; os ícones e o equalizador permanecem originais. */
@media (max-height:750px) and (min-width:901px) {
  body.sf-minimal {--minimal-album: min(51vh,37vw,470px);--minimal-album-top:clamp(54px,8vh,69px);}
  body.sf-minimal .sf-minimal-logo {top:8px;}
  body.sf-minimal .sf-minimal-side-links {top:57%;gap:0;}
  body.sf-minimal .sf-minimal-side-btn {max-width:210px;}
  body.sf-minimal .sf-minimal-vote-side .neon-vote svg {width:47px;height:47px;}
}
@media (max-width:1100px) and (min-width:901px) {
  body.sf-minimal {--minimal-album:min(49vh,40vw,470px);}
  body.sf-minimal .sf-minimal-side-btn {max-width:204px;}
  body.sf-minimal .controls-row #neonInstallBtn {left:63%;font-size:9px;}
}
/* Mobile do index-minimal, independente do visual mobile do Neon. */
@media (max-width:900px) {
  body.sf-minimal {--minimal-album:min(62vw,36dvh,310px);--minimal-album-top:clamp(36px,6dvh,60px);}
  body.sf-minimal .site-shell {display:block !important;min-height:540px;}
  body.sf-minimal .sf-minimal-sidebar {
    position:absolute;top:0;left:0;right:0;height:155px !important;
    background:transparent !important;border:0 !important;padding:0 !important;
  }
  body.sf-minimal .sf-minimal-logo {
    top:4px;left:50%;right:auto;width:180px;transform:translateX(-50%);
  }
  body.sf-minimal .sf-minimal-logo img {width:100%;}
  body.sf-minimal .sf-minimal-side-links {
    position:absolute;left:1%;right:1%;top:105px;bottom:auto;transform:none;
    width:98% !important;display:flex !important;flex-direction:row !important;
    justify-content:center;align-items:center;flex-wrap:nowrap;
    overflow-x:auto;gap:3px;padding:0;scrollbar-width:none;
  }
  body.sf-minimal .sf-minimal-side-btn {width:19%;min-width:57px;max-width:145px;height:auto !important;aspect-ratio:auto;padding:0;}
  body.sf-minimal .sf-minimal-side-btn:hover {transform:none !important;}
  body.sf-minimal .sf-minimal-ranking {display:none !important;}
  body.sf-minimal .player-stage {top:155px !important;bottom:var(--minimal-footer) !important;}
  body.sf-minimal .song-center {top:var(--minimal-album-top) !important;}
  body.sf-minimal .album-orbit {width:var(--minimal-album) !important;}
  body.sf-minimal .sf-minimal-vote-side {
    top:calc(var(--minimal-album-top) + var(--minimal-album)/2);
  }
  body.sf-minimal .sf-minimal-vote-left {left:calc(50% - var(--minimal-album)/2 - 20px);}
  body.sf-minimal .sf-minimal-vote-right {left:calc(50% + var(--minimal-album)/2 + 20px);}
  body.sf-minimal .sf-minimal-vote-side .neon-vote svg {width:37px;height:37px;}
  body.sf-minimal .volume-slider-row {
    top:18px !important;left:19% !important;width:60% !important;
  }
  body.sf-minimal .controls-row .neon-vote-play {top:72%;gap:9px;}
  body.sf-minimal .controls-row #muteBtn {top:72%;left:3% !important;}
  body.sf-minimal .controls-row #neonInstallBtn {left:12%;top:72%;font-size:0;width:32px;height:34px;padding:4px;}
  body.sf-minimal .controls-row #neonInstallLabel {display:none;}
  body.sf-minimal .controls-row #listeners {right:3% !important;top:33% !important;font-size:10px;}
  body.sf-minimal .controls-row .volume-display {right:3% !important;top:76% !important;font-size:12px;}
}
@media (max-width:490px) {
  body.sf-minimal {--minimal-album:min(62vw,34dvh,275px);--minimal-album-top:clamp(28px,5dvh,46px);}
  body.sf-minimal .sf-minimal-side-links {top:97px;}
  body.sf-minimal .sf-minimal-sidebar {height:145px !important;}
  body.sf-minimal .player-stage {top:145px !important;}
  body.sf-minimal .controls-row .neon-vote-play .neon-fx-trigger {width:33px;height:33px;}
}
/* Complemento mobile: mantém player colado ao rodapé mesmo com a barra
 * movida em JS para fora do palco. */
@media (max-width:900px) {
  body.sf-minimal .site-shell {height:100dvh !important;min-height:540px !important;position:relative;}
  body.sf-minimal .player-controls {
    position:fixed !important;inset:auto 0 0 0 !important;
    top:auto !important;bottom:0 !important;
    height:var(--minimal-footer) !important;max-height:110px;
    width:100vw !important;z-index:40 !important;
  }
  body.sf-minimal .controls-row .neon-vote-play {position:absolute;top:58% !important;}
  body.sf-minimal .sf-minimal-mobile-top {
    display:block !important;position:fixed;top:10px;right:12px;
    background:#0a1a38d9;color:#e5f9ff;
    border:1px solid #3ba6e696;border-radius:20px;
    font:700 11px Inter,Arial,sans-serif;padding:8px 10px;z-index:30;
  }
}
@media (max-width:490px) {
  body.sf-minimal .sf-minimal-logo {top:0;max-width:160px;}
  body.sf-minimal .sf-minimal-sidebar {height:177px !important;}
  body.sf-minimal .sf-minimal-side-links {
    top:83px !important;left:7px;right:7px;transform:none !important;
    width:calc(100% - 14px) !important;
    display:grid !important;grid-template-columns:repeat(6,minmax(0,1fr));
    grid-template-rows:repeat(2,auto);justify-items:center;justify-content:center;
    align-items:center;gap:0;overflow:visible;
  }
  body.sf-minimal .sf-minimal-side-btn {
    width:100% !important;min-width:0;max-width:none !important;
    grid-column:span 2;align-self:center;
  }
  body.sf-minimal .sf-minimal-side-btn:nth-child(4) {grid-column:2 / span 2;}
  body.sf-minimal .sf-minimal-side-btn:nth-child(5) {grid-column:4 / span 2;}
  body.sf-minimal .sf-minimal-mobile-top {display:block !important;position:fixed;}
  body.sf-minimal .player-stage {top:177px !important;bottom:var(--minimal-footer) !important;}
  body.sf-minimal {--minimal-album:min(60vw,31dvh,265px);--minimal-album-top:clamp(14px,3dvh,32px);}
  body.sf-minimal .song-center {top:var(--minimal-album-top) !important;}
  body.sf-minimal .album-orbit {width:var(--minimal-album) !important;}
  body.sf-minimal .sf-minimal-vote-side {top:calc(var(--minimal-album-top) + var(--minimal-album)/2);}
}
