:root{--void:#0b0d14;--mist:#e9ecf1;--gold:#ffd166;--cyan:#55d7ff;--glitch:#ff3b3b}
body{background:var(--void);color:var(--mist)}
.signal-hero{position:relative;overflow:hidden;border-radius:22px;margin:2rem auto;max-width:1200px;
 background:radial-gradient(60% 50% at 50% 55%,rgba(85,215,255,.10),transparent 60%),
 linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.02));
 box-shadow:0 20px 60px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.06)}
.signal-hero::before{content:"";position:absolute;inset:-10%;
 background:url('../img/bg-fractal.webp') center/cover no-repeat;opacity:.28;filter:saturate(110%) blur(2px);
 animation:breath 12s ease-in-out infinite}
@keyframes breath{0%,100%{opacity:.24}50%{opacity:.38}}
.signal-hero-inner{position:relative;z-index:2;padding:min(8vw,100px);text-align:center}
.signal-logo{max-width:min(80vw,820px);display:block;margin:0 auto;
 filter:drop-shadow(0 10px 34px rgba(85,215,255,.22)) drop-shadow(0 4px 14px rgba(255,59,59,.12))}
.signal-meta{margin-top:1rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:.9}
.wp-block-audio audio{width:100%;filter:drop-shadow(0 10px 30px rgba(0,0,0,.35))}

/* Album track list + player */
.avoice-track-list{
  list-style:none;
  margin:0;
  padding:0;
}
.avoice-track{
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.4rem .2rem;
  border-bottom:1px solid rgba(233,236,241,.06);
  cursor:pointer;
}
.avoice-track:last-child{
  border-bottom:none;
}
.avoice-track-play{
  border:0;
  background:rgba(255,255,255,.06);
  border-radius:999px;
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.8rem;
  color:var(--gold);
}
.avoice-track.is-active .avoice-track-title{
  color:var(--gold);
}
.avoice-player-wrap{
  position:sticky;
  bottom:0;
  margin-top:1.5rem;
}
.avoice-player{
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.6rem 1rem;
  border-radius:999px;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(16px);
  box-shadow:0 10px 30px rgba(0,0,0,.5);
}
.pb-btn{
  border:0;
  background:transparent;
  color:var(--mist);
  cursor:pointer;
  font-size:1rem;
}
.pb-shuffle.is-active{
  color:var(--gold);
}
.pb-title{
  flex:1;
  font-size:.9rem;
  opacity:.9;
}

/* Hero background using keep-walking-cover.webp with slow rotation */
.signal-hero{
  position:relative;
  overflow:hidden;
}
.signal-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:url('/wp-content/uploads/2025/11/keep-walking-cover.webp') center/cover no-repeat;
  opacity:1;
  transform-origin:center;
  animation:kw-cover-spin 40s linear infinite;
}
.signal-hero-inner{
  position:relative;
  z-index:1;
}
.signal-logo{
  display:block;
  margin:0 auto;
  max-width:320px;
  width:60vw;
  border-radius:24px;
  box-shadow:0 18px 45px rgba(0,0,0,.75);
}

/* So the album player sits under the list, not stuck to bottom of viewport */
.avoice-player-wrap{
  position:relative;
  bottom:auto;
  margin-top:1.5rem;
}

@keyframes kw-cover-spin{
  from{ transform:scale(1.05) rotate(0deg); }
  to{   transform:scale(1.05) rotate(360deg); }
}

/* Play/Pause button styling to match combined icon */
.pb-play{
  position:relative;
  font-size:0; /* hide raw text */
}
.pb-play::before{
  content:'⏯';
  font-size:1.15rem;
  line-height:1;
}

/* Ensure hero logo overlays spinning cover */
.signal-hero{
  position:relative;
  overflow:hidden;
}
.signal-hero-inner{
  position:relative;
  z-index:2;
  text-align:center;
  padding:2.5rem 1rem 2.75rem;
}
.signal-logo{
  display:block;
  margin:0 auto;
  max-width:320px;
  width:60vw;
  border-radius:24px;
  box-shadow:0 18px 45px rgba(0,0,0,.75);
}

/* Nuclear kill switch for global sticky audio players (but not our JS-driven one) */
audio[controls],
.wp-audio-shortcode,
.mejs-container,
.mejs-mediaelement,
.mejs-inner,
.mejs-controls,
[class*="audio-player"],
[id*="audio-player"],
[class*="sticky-player"],
[id*="sticky-player"]{
  display:none !important;
}
