/* SoundCloud dock (v2.9.0). Quiet, obvious play control. <html>.aa-audio-on while playing. */
body.festival-theme { padding-bottom: 96px; }
.aa-player {
  position: fixed; z-index: 40; left: 20px; bottom: 20px;
  display: flex; align-items: center; gap: 6px;
  max-width: min(460px, calc(100vw - 40px));
  padding: 6px 14px 6px 6px;
  background: #0b0b10; color: #f4f2ee;
  border: 1px solid rgba(244, 242, 238, 0.14); border-radius: 999px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
  font: 500 13px/1.2 "Inter", system-ui, sans-serif;
}
.aa-player button, .aa-player a { font: inherit; color: inherit; background: none; border: 0; text-decoration: none; cursor: pointer; }
.aa-player__play {
  display: inline-flex; align-items: center; gap: 10px;
  min-height: 44px; padding: 0 18px 0 14px; border-radius: 999px;
  background: #f4f2ee !important; color: #0b0b10 !important;
  font-weight: 600 !important; letter-spacing: 0.04em; text-transform: uppercase; font-size: 12px !important;
  flex: 0 0 auto;
}
.aa-player__icon { width: 0; height: 0; border-style: solid; border-width: 6px 0 6px 10px; border-color: transparent transparent transparent currentColor; }
.aa-player.is-playing .aa-player__icon { width: 10px; height: 12px; border: 0; border-left: 3px solid currentColor; border-right: 3px solid currentColor; }
.aa-player.is-loading .aa-player__icon { width: 12px; height: 12px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: aa-spin 0.8s linear infinite; }
.aa-player__skip { width: 36px; height: 36px; border-radius: 50%; font-size: 20px !important; line-height: 1; opacity: 0.75; flex: 0 0 auto; }
.aa-player__skip:hover { opacity: 1; }
.aa-player__credit { flex: 1 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; opacity: 0.7; padding-left: 4px; }
.aa-player__fallback { flex: 0 0 auto; text-decoration: underline !important; text-underline-offset: 3px; }
.aa-player button:focus-visible, .aa-player a:focus-visible { outline: 2px solid #3b5bff; outline-offset: 2px; }
/* Real-size, visually hidden SoundCloud iframe (never display:none or 0x0). */
.aa-player__frame {
  position: absolute; left: 0; bottom: calc(100% + 10px);
  width: 320px; max-width: calc(100vw - 40px);
  opacity: 0; pointer-events: none; overflow: hidden;
  background: #fff; border-radius: 12px;
}
.aa-player__iframe { display: block; width: 100%; height: 120px; border: 0; }
.aa-player__hint { display: none; margin: 0; padding: 10px 12px 6px; color: #0b0b10; font-size: 12px; }
/* v2.9.7: dock only. The SoundCloud card is never revealed (even when autoplay is blocked); the dock just shows Play. */
.aa-player .aa-player__frame, .aa-player.needs-tap .aa-player__frame { opacity: 0 !important; pointer-events: none !important; box-shadow: none; }
.aa-player .aa-player__hint { display: none !important; }
@keyframes aa-spin { to { transform: rotate(360deg); } }
@media (max-width: 720px) {
  /* Compact pill on phones (v2.9.7). */
  .aa-player { left: 10px; right: auto; bottom: 10px; max-width: calc(100vw - 20px); padding: 4px 10px 4px 4px; gap: 2px; font-size: 12px; }
  .aa-player__play { min-height: 36px; padding: 0 12px 0 10px; gap: 8px; font-size: 11px !important; }
  .aa-player__skip { width: 30px; height: 30px; font-size: 18px !important; }
  .aa-player__credit { max-width: 42vw; }
  .aa-player__frame { width: 320px; max-width: none; }
  body.festival-theme { padding-bottom: 72px; }
}
.is-checkout .aa-player__credit, .is-checkout [data-aa-prev], .is-checkout [data-aa-next],
.aa-player.is-collapsed .aa-player__credit, .aa-player.is-collapsed [data-aa-prev], .aa-player.is-collapsed [data-aa-next] { display: none; }
@media (prefers-reduced-motion: reduce) { .aa-player.is-loading .aa-player__icon { animation: none; } }
