/* ===========================================
   VHS Now — CRT & VHS Effects
   Adapted from NEONpulseTechshop parent
   (Scanlines removed per preference)
   =========================================== */

/* ── Noise Canvas (injected via JS) ── */
#crt-noise {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9998;
  opacity: 0.03;
}

/* ── Phosphor Glow Text ── */
.glow-text {
  text-shadow: var(--glow-text-green);
}

.glow-text--magenta {
  text-shadow: var(--glow-text-magenta);
}

/* ── Neon Pulse Animation ── */
@keyframes neon-pulse {
  0%, 100% { opacity: 1; text-shadow: var(--glow-text-green); }
  50% { opacity: 0.85; text-shadow: 0 0 4px rgba(0, 255, 65, 0.4); }
}

.neon-pulse {
  animation: neon-pulse 3s ease-in-out infinite;
}

/* ── VHS Tracking Glitch ── */
@keyframes vhs-tracking {
  0% { transform: translateX(0); }
  2% { transform: translateX(-3px); }
  4% { transform: translateX(2px); }
  5% { transform: translateX(0); }
  100% { transform: translateX(0); }
}

.vhs-glitch {
  animation: vhs-tracking 8s linear infinite;
}

/* ── Flicker ── */
@keyframes flicker {
  0%, 97%, 100% { opacity: 1; }
  98% { opacity: 0.85; }
  99% { opacity: 0.9; }
}

.flicker {
  animation: flicker 5s linear infinite;
}

/* ── Tape Glitch Bar (injected via JS) ── */
.tape-glitch-bar {
  position: fixed;
  left: 0;
  width: 100%;
  height: 3px;
  background: rgba(255, 255, 255, 0.15);
  z-index: 9997;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.05s;
}

.tape-glitch-bar.active {
  opacity: 1;
}

/* ── Hover Card Lift ── */
.hover-lift {
  transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}

.hover-lift:hover {
  transform: translateY(-10px);
  box-shadow: var(--glow-green);
}
