/* ── General ─────────────────────────────────── */
body { background: #f5f5f5; }

/* ── Video card ──────────────────────────────── */
.video-card { transition: transform .15s, box-shadow .15s; border-radius: .6rem; overflow: hidden; }
.video-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.12) !important; }

.thumb-wrap { position: relative; overflow: hidden; background: #111; }
.thumb-wrap img { transition: transform .3s; width: 100%; height: 100%; object-fit: cover; }
.video-card:hover .thumb-wrap img { transform: scale(1.04); }

.play-overlay {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 2.8rem; color: rgba(255,255,255,.85);
  opacity: 0; transition: opacity .2s;
}
.video-card:hover .play-overlay { opacity: 1; }

.duration-badge {
  position: absolute; bottom: 6px; right: 8px;
  background: rgba(0,0,0,.7); color: #fff;
  font-size: .7rem; padding: 1px 6px; border-radius: 4px;
}

/* ── Upload drop zone ────────────────────────── */
.drop-zone {
  border-style: dashed !important;
  border-color: #ccc !important;
  cursor: pointer;
  transition: background .2s, border-color .2s;
}
.drop-zone.dragover { background: #fff3f3; border-color: #dc3545 !important; }

/* ── Misc ────────────────────────────────────── */
.object-fit-cover { object-fit: cover; }
