/* CriartMusic Equalizer (Neon) */
.cm-eq-wrap{
  position: relative;
  width: 100%;
  height: 110px;
  border-radius: 18px;
  overflow: hidden;
  background: radial-gradient(120% 140% at 10% 20%, rgba(120,80,255,.22) 0%, rgba(0,0,0,0) 55%),
              radial-gradient(140% 120% at 90% 30%, rgba(0,220,255,.16) 0%, rgba(0,0,0,0) 55%),
              rgba(10,12,20,.55);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 10px 35px rgba(0,0,0,.35);
}

.cm-eq{
  position: absolute;
  inset: 16px 16px 16px 16px;
  display: flex;
  gap: 8px;
  align-items: flex-end;
}

.cm-bar{
  flex: 1;
  min-width: 8px;
  border-radius: 10px;
  height: 20%;
  background: linear-gradient(180deg,
    rgba(255,80,220,.95),
    rgba(130,80,255,.92),
    rgba(0,220,255,.92));
  filter: drop-shadow(0 0 10px rgba(130,80,255,.35))
          drop-shadow(0 0 16px rgba(0,220,255,.22));
  animation: cmPulse 1.15s ease-in-out infinite;
  transform-origin: bottom;
}

.cm-bar::after{
  content:"";
  position:absolute;
  inset:-12px -10px -12px -10px;
  background: radial-gradient(closest-side, rgba(255,255,255,.18), rgba(255,255,255,0) 70%);
  opacity:.35;
  pointer-events:none;
}

@keyframes cmPulse{
  0%   { transform: scaleY(.18); opacity:.85; }
  30%  { transform: scaleY(1.00); opacity:1; }
  60%  { transform: scaleY(.42); opacity:.92; }
  100% { transform: scaleY(.20); opacity:.85; }
}

/* micro variação por barra */
.cm-bar:nth-child(1)  { animation-delay: -0.05s; }
.cm-bar:nth-child(2)  { animation-delay: -0.22s; }
.cm-bar:nth-child(3)  { animation-delay: -0.37s; }
.cm-bar:nth-child(4)  { animation-delay: -0.14s; }
.cm-bar:nth-child(5)  { animation-delay: -0.46s; }
.cm-bar:nth-child(6)  { animation-delay: -0.28s; }
.cm-bar:nth-child(7)  { animation-delay: -0.40s; }
.cm-bar:nth-child(8)  { animation-delay: -0.18s; }
.cm-bar:nth-child(9)  { animation-delay: -0.33s; }
.cm-bar:nth-child(10) { animation-delay: -0.11s; }
.cm-bar:nth-child(11) { animation-delay: -0.49s; }
.cm-bar:nth-child(12) { animation-delay: -0.25s; }

/* container que o JS vai colocar dentro do card */
.cm-eq-host{
  width: 100%;
  margin-top: 14px;
}

/* respeitar prefers-reduced-motion */
@media (prefers-reduced-motion: reduce){
  .cm-bar{ animation: none !important; transform: scaleY(.55); }
}
