/* Minimal extras to complement Tailwind */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Optional: subtle focus ring for keyboard users */
:focus-visible {
  outline: 2px solid rgba(255, 42, 42, 0.7);
  outline-offset: 2px;
}
/* Rock & roll animated noise overlay */
.rr-noise {
  position: absolute;
  inset: -50%;
  pointer-events: none;
  z-index: 0;
  opacity: 0.06;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'>\
  <filter id='n'>\
    <feTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/>\
    <feColorMatrix type='saturate' values='0'/>\
  </filter>\
  <rect width='120' height='120' filter='url(%23n)' />\
</svg>");
  mix-blend-mode: overlay;
  animation: rr-noise-move 6s linear infinite;
}

@keyframes rr-noise-move {
  0% {
    transform: translate3d(0, 0, 0) scale(1.1);
  }
  50% {
    transform: translate3d(-2%, 2%, 0) scale(1.1);
  }
  100% {
    transform: translate3d(0, 0, 0) scale(1.1);
  }
}

/* Slightly stronger neon card shadows on hover for that stage-light feel */
.card-neon:hover {
  box-shadow: 0 0 28px rgba(255, 42, 42, 0.45),
    0 0 16px rgba(255, 204, 0, 0.25);
}

/* Keep scrollbars hidden where used */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
:focus-visible {
  outline: 2px solid rgba(255, 42, 42, 0.7);
  outline-offset: 2px;
}

/* Modal transitions */
#modal-coming-soon[data-open="true"] .modal-enter {
  opacity: 1;
  transform: translateY(0) scale(1);
}
#modal-coming-soon .modal-enter {
  opacity: 0;
  transform: translateY(8px) scale(0.98);
  transition: opacity 180ms ease, transform 180ms ease;
}