/* =====================================================
   ZYVEN — CINEMATIC ENTERPRISE ENHANCEMENT LAYER
   NON-DESTRUCTIVE • ZERO OVERRIDES OF LOGIC
===================================================== */

:root {
  --cinematic-bg: #0b0e1a;
  --cinematic-panel: rgba(20, 24, 45, 0.65);
  --cinematic-border: rgba(255,255,255,0.08);
  --accent-gold: #d4af37;
  --accent-soft: rgba(212,175,55,0.25);

  --font-primary: "Inter", system-ui, sans-serif;
  --font-display: "Montserrat", system-ui, sans-serif;
}

/* ================= GLOBAL TYPOGRAPHY ================= */

body {
  font-family: var(--font-primary);
  background:
    radial-gradient(circle at 20% 0%, #1b2045, transparent 60%),
    radial-gradient(circle at 80% 20%, #120c2a, transparent 60%),
    var(--cinematic-bg);
}

/* ================= HEADER HARMONY ================= */

.ott-logo {
  font-family: var(--font-display);
  color: #ffffff;
  text-shadow: 0 2px 12px rgba(0,0,0,0.6);
}

.ott-search input {
  background: rgba(255,255,255,0.08);
  border: 1px solid var(--cinematic-border);
}

.ott-search input:focus {
  border-color: var(--accent-gold);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

/* ================= HERO CINEMATIC DEPTH ================= */

.hero {
  background-attachment: fixed;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(11,14,26,0.95), transparent 60%);
  pointer-events: none;
}

/* ================= CONTENT GRID STABILITY ================= */

.section {
  position: relative;
  z-index: 2;
}

.row {
  scroll-behavior: smooth;
}

/* ================= PREMIUM CARD DEPTH ================= */

.card,
.media-card {
  box-shadow:
    0 20px 50px rgba(0,0,0,0.65),
    inset 0 0 0 1px rgba(255,255,255,0.04);
}

.card:hover,
.media-card:hover {
  transform: translateY(-6px) scale(1.08);
}

/* ================= FOOTER POLISH ================= */

.site-footer {
  background: linear-gradient(
    180deg,
    transparent,
    rgba(0,0,0,0.45)
  );
}
