/* ===========================================
   VHS Now — Photorealistic VHS Cassette Hero
   Real VHS tape photo with HTML content overlays
   =========================================== */

/* ══════════════════════════════════════════
   VHS MARQUEE — Top Recording Banner
   ══════════════════════════════════════════ */

.vhs-marquee {
  display: flex;
  align-items: center;
  background: #0a0a0a;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  height: 56px;
  overflow: hidden;
  position: relative;
  z-index: 100;
}

/* Flashing REC indicator */
.vhs-marquee__rec {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 14px;
  flex-shrink: 0;
  z-index: 2;
  background: #0a0a0a;
}

.vhs-marquee__rec-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #ff0000;
  box-shadow: 0 0 6px rgba(255, 0, 0, 0.8);
  animation: rec-blink 1s ease-in-out infinite;
}

.vhs-marquee__rec-text {
  font-family: var(--font-mono);
  font-size: 0.9rem;
  font-weight: 700;
  color: #ff0000;
  letter-spacing: 3px;
  animation: rec-blink 1s ease-in-out infinite;
}

@keyframes rec-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.2; }
}

/* Scrolling ticker */
.vhs-marquee__ticker {
  flex: 1;
  overflow: hidden;
  position: relative;
}

.vhs-marquee__ticker-track {
  display: inline-flex;
  white-space: nowrap;
  animation: marquee-scroll 30s linear infinite;
}

.vhs-marquee__ticker-track span {
  font-family: var(--font-mono);
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 2px;
  text-transform: uppercase;
  padding-right: 40px;
}

@keyframes marquee-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── Hero Section — Blue cutting mat background edge-to-edge ── */
.hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--space-md) var(--space-lg) var(--space-lg);
  min-height: auto;
  overflow: hidden;

  background: transparent;
}

/* ── Cassette Container ── */
.vhs-cassette {
  position: relative;
  width: 100%;
  max-width: 1000px;
  aspect-ratio: 1600 / 977;
  overflow: hidden;

  /* Photo layer */
  background: url('../images/vhs-tape.jpg') center / contain no-repeat;

  /* Subtle shadow for depth */
  filter: drop-shadow(0 20px 60px rgba(0, 0, 0, 0.6));

  /* Vignette fade — rectangular, fades all 4 edges */
  -webkit-mask-image:
    linear-gradient(to right, transparent, black 8%, black 92%, transparent),
    linear-gradient(to bottom, transparent, black 8%, black 92%, transparent);
  -webkit-mask-composite: destination-in;
  mask-image:
    linear-gradient(to right, transparent, black 8%, black 92%, transparent),
    linear-gradient(to bottom, transparent, black 8%, black 92%, transparent);
  mask-composite: intersect;

  /* ── Overlay Positioning (calibrated to Thunderball photo) ── */
  --vhs-label-top: 31.5%;
  --vhs-label-left: 31.25%;
  --vhs-label-right: 31%;
  --vhs-label-bottom: 31.5%;
  --vhs-nav-height: 7.5%;
}

/* ══════════════════════════════════════════
   NAV — Top Edge / Lip of Cassette
   Sits on the "Insert this side" strip
   ══════════════════════════════════════════ */

.vhs-cassette__nav {
  position: absolute;
  top: 6.9%;
  left: 5.5%;
  right: 5.5%;
  height: var(--vhs-nav-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2%;
  z-index: 10;

  background: rgba(0, 0, 0, 0.85);
  border-radius: 6px;
  transform: rotate(0.35deg);
}

.vhs-cassette__nav-logo {
  font-family: var(--font-mono);
  font-size: clamp(0.6rem, 1.2vw, 0.9rem);
  color: var(--neon-green);
  text-decoration: none;
  letter-spacing: 6px;
  text-transform: uppercase;
  transition: color var(--transition-fast);
}

.vhs-cassette__nav-logo:hover {
  color: var(--magenta);
  text-shadow: 0 0 10px rgba(255, 0, 255, 0.4);
}

.vhs-cassette__nav-links {
  display: flex;
  gap: clamp(var(--space-md), 3vw, var(--space-xl));
}

.vhs-cassette__nav-link {
  font-family: var(--font-mono);
  font-size: clamp(0.6rem, 1.2vw, 0.9rem);
  color: var(--neon-green);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 6px;
  transition: color var(--transition-fast);
}

.vhs-cassette__nav-link:hover,
.vhs-cassette__nav-link.active {
  color: var(--magenta);
  text-shadow: 0 0 10px rgba(255, 0, 255, 0.4);
}

/* ══════════════════════════════════════════
   LABEL OVERLAY — Covers the physical label
   ══════════════════════════════════════════ */

.vhs-cassette__label-overlay {
  position: absolute;
  top: var(--vhs-label-top);
  left: var(--vhs-label-left);
  right: var(--vhs-label-right);
  bottom: var(--vhs-label-bottom);
  z-index: 5;

  /* Off-white worn label — fully opaque */
  background:
    /* Distress / grain noise overlay */
    url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E"),
    /* Neon racing stripes — 80s Toyota style, muted warm tones */
    linear-gradient(
      172deg,
      transparent 0%,
      transparent 38%,
      rgba(180, 60, 80, 0.10) 39%,
      rgba(180, 60, 80, 0.14) 41%,
      transparent 42%,
      transparent 44%,
      rgba(200, 100, 40, 0.10) 45%,
      rgba(180, 80, 30, 0.08) 46.5%,
      transparent 47%,
      transparent 49%,
      rgba(160, 50, 70, 0.09) 50%,
      rgba(140, 40, 60, 0.12) 51.5%,
      transparent 52%,
      transparent 54%,
      rgba(120, 60, 50, 0.06) 55%,
      rgba(100, 50, 40, 0.05) 56%,
      transparent 57%
    ),
    /* Aged paper gradient */
    linear-gradient(
      170deg,
      #eae5d8 0%,
      #f0ebe0 15%,
      #e8e2d4 30%,
      #ede8dc 50%,
      #e5e0d2 70%,
      #ebe6da 85%,
      #e3ded0 100%
    );
  background-color: #ece7db;
  border-radius: 8px;
  padding: 4% 5% 3%;

  display: flex;
  flex-direction: column;
  justify-content: center;

  /* Worn edge / sticker inset */
  box-shadow:
    inset 0 0 12px rgba(0, 0, 0, 0.12),
    inset 0 0 3px rgba(0, 0, 0, 0.06),
    0 1px 3px rgba(0, 0, 0, 0.3);

  /* Slight yellowing at edges */
  border: 1px solid rgba(180, 170, 150, 0.4);
}

/* ── Title — on the dark tape body, above the label ── */
.vhs-cassette__title {
  position: absolute;
  z-index: 6;
  top: 18%;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-mono);
  font-size: clamp(1.4rem, 4.5vw, 3.5rem);
  color: var(--neon-green);
  text-shadow: 3px 3px 0 var(--magenta);
  text-align: center;
  letter-spacing: 8px;
  text-transform: uppercase;
  font-weight: 700;
  font-style: italic;
  line-height: 1;
  white-space: nowrap;
  margin: 0;
}

/* ── Magenta / Green Bars ── */
.vhs-label__bar {
  height: clamp(4px, 0.8vw, 8px);
  border-radius: 2px;
}

.vhs-label__bar--top {
  background: linear-gradient(90deg, var(--magenta), var(--magenta) 60%, var(--neon-green) 60%);
  margin-bottom: clamp(6px, 1.5vw, 14px);
}

.vhs-label__bar--bottom {
  background: linear-gradient(90deg, var(--neon-green) 40%, var(--magenta) 40%);
  margin-top: auto;
}

/* ── Tagline ── */
.vhs-label__tagline {
  font-family: var(--font-mono);
  font-size: clamp(0.55rem, 1.6vw, 1.1rem);
  color: #333;
  text-align: center;
  letter-spacing: 5px;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: clamp(4px, 1vw, 10px);
}

/* ── Green accent line ── */
.vhs-label__accent-line {
  height: 2px;
  background: var(--neon-green);
  margin-bottom: clamp(6px, 1.5vw, 14px);
  opacity: 0.6;
}

/* ── 3 Steps — Big bold 90s graphic ── */
.vhs-label__steps {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex: 1;
}

.vhs-label__step {
  display: flex;
  align-items: flex-start;
  gap: clamp(3px, 0.6vw, 8px);
  padding: 0 clamp(6px, 2vw, 20px);
}

.vhs-label__step--divider {
  width: 2px;
  height: clamp(16px, 3vw, 30px);
  background: var(--magenta);
  opacity: 0.4;
  padding: 0;
  flex-shrink: 0;
}

.vhs-label__step-num {
  font-family: var(--font-mono);
  font-size: clamp(1.4rem, 4vw, 3.2rem);
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1;
}

.vhs-label__step-word {
  font-family: var(--font-mono);
  font-size: clamp(0.5rem, 1.4vw, 1.1rem);
  font-weight: 700;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 3px;
}

/* ── Easter Egg ── */
.vhs-label__easter-egg {
  font-family: var(--font-mono);
  font-size: clamp(0.3rem, 0.6vw, 0.45rem);
  color: rgba(0, 0, 0, 0.18);
  text-align: center;
  letter-spacing: 2px;
  margin-top: auto;
  padding-top: 4px;
  text-transform: uppercase;
}

/* ── CTA Buttons Below Cassette ── */
.hero__ctas {
  display: flex;
  gap: var(--space-md);
  margin-top: var(--space-md);
  flex-wrap: wrap;
  justify-content: center;
}

/* ── Mobile hamburger inside cassette nav ── */
.vhs-cassette__nav-hamburger {
  display: none;
  flex-direction: column;
  gap: 4px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
}

.vhs-cassette__nav-hamburger span {
  display: block;
  width: 20px;
  height: 1.5px;
  background: rgba(200, 200, 200, 0.5);
  transition: all var(--transition-normal);
}

.vhs-cassette__nav-hamburger.active span:nth-child(1) {
  transform: translateY(5.5px) rotate(45deg);
}

.vhs-cassette__nav-hamburger.active span:nth-child(2) {
  opacity: 0;
}

.vhs-cassette__nav-hamburger.active span:nth-child(3) {
  transform: translateY(-5.5px) rotate(-45deg);
}
