:root { --sr-player-height: 76px; }
body.sr-player-ready { padding-bottom: var(--sr-player-height); }

#sr-persistent-player {
  position: fixed;
  z-index: 2147483000;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--sr-player-height);
  color: #eee9dc;
  background: rgba(8, 15, 10, .97);
  border-top: 1px solid rgba(199, 150, 68, .34);
  box-shadow: 0 -16px 45px rgba(0, 0, 0, .32);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  font-family: "Outfit", system-ui, sans-serif;
}
.sr-player-inner {
  width: min(1180px, calc(100% - 28px));
  height: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto auto;
  align-items: center;
  gap: 22px;
}
.sr-track { min-width: 0; display: flex; align-items: center; gap: 12px; }
.sr-track img { width: 48px; height: 48px; flex: 0 0 auto; border: 1px solid rgba(199,150,68,.55); border-radius: 50%; object-fit: cover; }
.sr-track div { min-width: 0; }
.sr-track span { display: block; color: #c79644; font-size: .6rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.sr-track strong { display: block; overflow: hidden; color: #eee9dc; font-size: .82rem; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.sr-controls { display: flex; align-items: center; gap: 9px; }
.sr-controls button { width: 36px; height: 36px; display: grid; place-items: center; padding: 0; color: #eee9dc; background: transparent; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; cursor: pointer; }
.sr-controls .sr-play { width: 46px; height: 46px; color: #122018; background: #c79644; border-color: #c79644; font-size: 1rem; }
.sr-radio-link { color: rgba(255,255,255,.66); font-size: .72rem; font-weight: 600; text-underline-offset: 4px; }
#sr-yt-host { position: fixed; width: 1px; height: 1px; left: -9999px; top: -9999px; overflow: hidden; }

/*
  O iframe permanece montado e usa visibilidade/opacidade, em vez de
  display:none. Isso evita falhas de pintura observadas em navegadores móveis.
*/
.sr-frame-layer {
  position: fixed;
  z-index: 2147482000;
  inset: 0 0 var(--sr-player-height);
  display: block;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  background: #0d1711;
  transition: opacity .12s ease;
  overscroll-behavior: contain;
}
.sr-frame-layer.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.sr-frame-layer iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  display: block;
  border: 0;
  background: #0d1711;
  opacity: 1;
}
.sr-frame-layer.is-loading iframe { opacity: 0; }
.sr-frame-loader {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: none;
  place-content: center;
  justify-items: center;
  gap: 14px;
  padding: 24px;
  color: #eee9dc;
  background: radial-gradient(circle at 50% 35%, rgba(199,150,68,.1), transparent 36%), #0d1711;
  font: 500 .86rem/1.4 "Outfit", system-ui, sans-serif;
  letter-spacing: .04em;
  text-align: center;
}
.sr-frame-layer.is-loading .sr-frame-loader { display: grid; }
.sr-frame-loader span {
  width: 34px;
  height: 34px;
  border: 2px solid rgba(238,233,220,.18);
  border-top-color: #c79644;
  border-radius: 50%;
  animation: sr-spin .8s linear infinite;
}
@keyframes sr-spin { to { transform: rotate(360deg); } }

html.sr-embedded { min-height: 100%; background: #0d1711; }
html.sr-embedded body { min-height: 100%; padding-bottom: 0 !important; }

@media (max-width: 640px) {
  :root { --sr-player-height: 68px; }
  .sr-player-inner { width: calc(100% - 20px); grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
  .sr-track img { width: 42px; height: 42px; }
  .sr-track span { font-size: .52rem; }
  .sr-track strong { max-width: 40vw; font-size: .7rem; }
  .sr-controls { gap: 5px; }
  .sr-controls button { width: 31px; height: 31px; font-size: .72rem; }
  .sr-controls .sr-play { width: 40px; height: 40px; }
  .sr-radio-link { display: none; }
  .sr-frame-layer { height: calc(100dvh - var(--sr-player-height)); inset: 0 0 auto; }
}

@media (prefers-reduced-motion: reduce) {
  .sr-frame-layer { transition: none; }
  .sr-frame-loader span { animation-duration: 1.5s; }
}


/* v10: um único player no documento principal; nenhum player dentro de páginas incorporadas. */
html.sr-embedded [id="sr-persistent-player"] { display: none !important; }
body > [id="sr-persistent-player"] ~ [id="sr-persistent-player"] { display: none !important; }
