/* ===============================
   SAFETY (NO OVERFLOW BUGS)
=================================*/
h1,h2,h3,p {
  word-break: break-word;
}

button {
  max-width: 100%;
}

/* =========================================== 
🔥🎵🎨  CINEMATIC FOOTER STICKY PLAYER STYLES
============================================== */

/* SAFE BODY OFFSET (prevents overlap) */
body {
  padding-bottom: 90px;
}

/* ================================
🎧 GLOBAL STICKY PLAYER
================================ */

#cs-sticky-player {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  
  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 10px 16px;
  z-index: 9999;

  /* Glass UI */
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  background: rgba(20, 20, 20, 0.75);
  border-top: 1px solid rgba(255,255,255,0.08);

  color: #fff;
  font-size: 14px;
}

/* LEFT */
.cs-player-left {
  flex: 1;
  min-width: 0; /* important for truncation */
}

#cs-track-title {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0.85;
}

/* CENTER CONTROLS */
.cs-player-center {
  display: flex;
  align-items: center;
  gap: 12px;
}

.cs-player-center button {
  background: rgba(255,255,255,0.08);
  border: none;
  color: #fff;
  font-size: 16px;

  width: 36px;
  height: 36px;
  border-radius: 50%;

  cursor: pointer;
  transition: all 0.25s ease;
}

.cs-player-center button:hover {
  background: rgba(255,255,255,0.18);
  transform: scale(1.05);
}

/* RIGHT */
.cs-player-right {
  flex: 0 0 auto;
  font-size: 12px;
  opacity: 0.6;
  margin-left: 10px;
}

/* ================================
📱 MOBILE OPTIMIZATION
================================ */
@media (max-width: 768px) {

  #cs-sticky-player {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 10px 12px;
  }

  .cs-player-left {
    text-align: center;
    order: 1;
  }

  .cs-player-center {
    justify-content: center;
    order: 2;
  }

  .cs-player-right {
    text-align: center;
    order: 3;
    font-size: 11px;
  }

  /* Bigger tap targets (mobile UX) */
  .cs-player-center button {
    width: 42px;
    height: 42px;
    font-size: 18px;
  }
}

/* PLAY BUTTON (PRIMARY) */
#cs-play {
  width: 44px;
  height: 44px;
  border-radius: 50%;

  background: linear-gradient(90deg, #f5b301, #ff8c42);
  color: #120a1f;
  font-size: 16px;
  font-weight: bold;
}

#cs-play:hover {
  transform: scale(1.1);
  box-shadow: 0 0 20px rgba(245,179,1,0.5);
}

/* PREV/NEXT */
#cs-prev,
#cs-next {
  background: transparent;
  color: #bbbbbb;
  font-size: 18px;
}

#cs-prev:hover,
#cs-next:hover {
  color: #f5b301;
}

/* RIGHT */
.cs-player-right {
  flex: 1;
  text-align: right;
  font-size: 13px;
  color: #bbbbbb;
}

/* MOBILE */
@media (max-width: 768px) {

  #cs-sticky-player {
    flex-direction: column;
    align-items: center;
    gap: 6px;
  }

  .cs-player-center {
    position: static;
    transform: none;
  }

  .cs-player-left,
  .cs-player-right {
    text-align: center;
    width: 100%;
  }

}