/* ============================================================
   📁 File: broadcast/static/broadcast/css/tv.css
   📺 PURPOSE: WarmSocket TV – VIDEO ASSERTION LAYER
============================================================ */

html, body {
  margin: 0;
  padding: 0;
  background: black;
  height: 100%;
  overflow: hidden;
}

/* Root TV container */
#tv-content {
  position: fixed;
  inset: 0;
  background: black;
}

/* HARD FORCE the video to exist */
#tv-player,
#tv-player-b {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  display: block;
  background: black;

  object-fit: contain; /* switch to cover later if desired */
  z-index: 1;

  opacity: 0;
  transition: opacity 1s linear;
}

/* Bottom-left overlay (NOW PLAYING) */
.overlay {
  position: absolute;
  bottom: 16px;
  left: 16px;
  z-index: 10;
  pointer-events: none;

  color: white;
  font-family: monospace;
  font-size: 14px;
  letter-spacing: 0.08em;

  background: rgba(0, 0, 0, 0.55);
  padding: 6px 10px;
  border-radius: 4px;
}

/* 🔥 WarmSocket branding — LOWER RIGHT */
.channel-brand {
  position: absolute;
  bottom: 16px;
  right: 16px;
  z-index: 10;
  pointer-events: none;

  color: white;
  font-family: monospace;
  font-size: 14px;
  letter-spacing: 0.2em;
  opacity: 0.75;
}

/* NEXT UP overlay (channel.js) */
.next-up {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 12;

  font-family: monospace;
  font-size: 16px;
  letter-spacing: 0.12em;

  color: white;
  background: rgba(0, 0, 0, 0.7);
  padding: 8px 14px;
  border-radius: 6px;

  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

/* 🚫 Kill any legacy indicators */
.live,
.live-indicator,
.channel-live,
header,
nav {
  display: none !important;
}
