/* Joe Hijuelos Next Wave Showcase Layer */
:root{
  --jh-wave-teal:#25fff4;
  --jh-wave-gold:#ffd36e;
  --jh-wave-pink:#ff5ab3;
  --jh-wave-deep:#050814;
}
.jh-next-wave-enhanced,
.jh-music-slot-card,
.music-slot-card,
.slot-card,
.listening-slot-card{
  position:relative;
  overflow:hidden;
  border-radius:22px !important;
  border:1px solid rgba(37,255,244,.28) !important;
  background:linear-gradient(145deg,rgba(7,20,34,.94),rgba(8,45,62,.78)) !important;
  box-shadow:0 0 22px rgba(37,255,244,.16), inset 0 0 18px rgba(255,255,255,.045) !important;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.jh-next-wave-enhanced:hover,
.jh-music-slot-card:hover,
.music-slot-card:hover,
.slot-card:hover,
.listening-slot-card:hover{
  transform:translateY(-3px);
  border-color:rgba(255,211,110,.55) !important;
  box-shadow:0 0 34px rgba(37,255,244,.28),0 0 18px rgba(255,90,179,.15), inset 0 0 18px rgba(255,255,255,.06) !important;
}
.jh-next-wave-cover,
.jh-music-slot-card img,
.music-slot-card img,
.slot-card img,
.listening-slot-card img{
  width:100%;
  display:block;
  aspect-ratio:16/10;
  object-fit:cover;
  border-radius:18px;
  box-shadow:0 0 20px rgba(0,0,0,.35);
}
.jh-next-wave-badge{
  position:absolute;
  top:14px;
  left:14px;
  z-index:4;
  padding:7px 11px;
  border-radius:999px;
  font-size:12px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#051018;
  background:linear-gradient(135deg,var(--jh-wave-gold),var(--jh-wave-pink));
  box-shadow:0 0 15px rgba(255,211,110,.38);
  font-weight:800;
}
.jh-next-wave-lock{
  position:absolute;
  right:14px;
  top:14px;
  z-index:4;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  color:#eaffff;
  background:rgba(5,8,20,.78);
  border:1px solid rgba(37,255,244,.32);
  box-shadow:0 0 14px rgba(37,255,244,.22);
  backdrop-filter:blur(8px);
}
.jh-next-wave-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:10px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(37,255,244,.4);
  background:rgba(37,255,244,.08);
  color:#eaffff !important;
  text-decoration:none !important;
  box-shadow:0 0 14px rgba(37,255,244,.16);
}
.jh-next-wave-cta:hover{
  background:rgba(255,211,110,.14);
  border-color:rgba(255,211,110,.55);
}