.video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.video-card {
  background: var(--card-bg);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: transform 0.2s;
  display: flex;
  flex-direction: column;
}
.video-card:hover { transform: translateY(-4px); }
.video-card.watched { opacity: 0.7; border-left: 5px solid #10B981; }
.video-thumb { width: 100%; aspect-ratio: 16/9; object-fit: cover; background: #DDD; cursor: pointer; }
.video-info { padding: 0.8rem 1rem; flex: 1; display: flex; flex-direction: column; gap: 0.4rem; }
.video-title { font-weight: 600; font-size: 1rem; line-height: 1.3; }
.video-category { font-size: 0.8rem; color: var(--blue); background: rgba(30,58,138,0.1); padding: 0.2rem 0.6rem; border-radius: 20px; display: inline-block; width: fit-content; }
.video-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: auto; padding: 0 1rem 0.8rem; }
.watched-label { display: flex; align-items: center; gap: 0.3rem; font-size: 0.85rem; color: var(--text-light); margin-left: auto; }
.watched-label input { width: 1rem; height: 1rem; accent-color: #10B981; }

/* Filters */
.filters-bar { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-bottom: 1.5rem; align-items: center; }
.search-input { flex: 1; min-width: 200px; padding: 0.7rem 1rem; border: 2px solid var(--border); border-radius: 30px; font-size: 1rem; outline: none; }
.search-input:focus { border-color: var(--saffron); }
.category-filters { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.cat-btn { background: var(--white); border: 1px solid var(--border); padding: 0.4rem 1rem; border-radius: 20px; cursor: pointer; font-weight: 500; transition: 0.2s; }
.cat-btn.active { background: var(--saffron); color: white; border-color: var(--saffron); }
.watched-toggle { display: flex; align-items: center; gap: 0.4rem; font-size: 0.9rem; }

/* Live player */
.live-input-group { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.5rem; }
.live-input-group input { flex: 1; min-width: 250px; padding: 0.7rem 1rem; border: 2px solid var(--border); border-radius: 30px; }
.live-video-container { position: relative; width: 100%; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 16px; box-shadow: var(--shadow); }
.live-video-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }

/* Video overlay (popup player) */
.video-overlay {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(0,0,0,0.9); display: flex; justify-content: center; align-items: center;
  z-index: 10000;
}
.video-overlay iframe {
  width: 90%; max-width: 900px; height: 80vh; border-radius: 12px;
}
.close-overlay {
  position: absolute; top: 20px; right: 30px; color: white; font-size: 2rem; cursor: pointer;
}