html { scroll-behavior: smooth; }

.line-clamp-1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.video-card { transition: transform 0.2s ease; }
.video-card:hover { transform: translateY(-2px); }

/* Video.js theme */
.video-js { background-color: #000; border-radius: 0.5rem; }
.video-js .vjs-big-play-button {
  background: rgba(219, 39, 119, 0.85); border: none; border-radius: 50%;
  width: 70px; height: 70px; line-height: 70px; font-size: 30px;
  top: 50%; left: 50%; transform: translate(-50%, -50%); transition: all 0.3s;
}
.video-js .vjs-big-play-button:hover { background: rgba(219, 39, 119, 1); transform: translate(-50%, -50%) scale(1.1); }
.video-js .vjs-control-bar { background: linear-gradient(transparent, rgba(0,0,0,0.9)); height: 40px; }
.video-js .vjs-play-progress, .video-js .vjs-volume-level { background: #ec4899; }
.video-js .vjs-slider { background: rgba(255,255,255,0.15); }
.video-js .vjs-load-progress { background: rgba(255,255,255,0.1); }
.video-js .vjs-time-tooltip { background: #ec4899; }

/* Ad styling */
.ad-banner:empty, .ad-native:empty { display: none; }
#ad-overlay { background: #000; z-index: 30; }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #0f172a; }
::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #475569; }

/* Focus outline */
*:focus-visible { outline: 2px solid #ec4899; outline-offset: 2px; }
::selection { background: rgba(236, 72, 153, 0.4); }

/* Skeleton loading */
.skeleton { background: linear-gradient(90deg, #1e293b 0%, #334155 50%, #1e293b 100%); background-size: 200% 100%; animation: skeleton 1.5s ease-in-out infinite; }
@keyframes skeleton { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* Toast animation */
@keyframes fade-in { from { opacity: 0; transform: translate(-50%, 10px); } to { opacity: 1; transform: translate(-50%, 0); } }
.animate-fade-in { animation: fade-in 0.3s ease-out; }

/* Horizontal scroll no scrollbar */
.overflow-x-auto::-webkit-scrollbar { display: none; }
.overflow-x-auto { -ms-overflow-style: none; scrollbar-width: none; }

/* User dropdown */
.group:hover .group-hover\:block { display: block; }

/* Preview overlay */
.preview-overlay { background: #000; transition: opacity 0.2s; }

/* Responsive player */
@media (max-width: 640px) {
  .video-js .vjs-big-play-button { width: 50px; height: 50px; line-height: 50px; font-size: 22px; }
}

/* Card hover glow */
.video-card:hover .aspect-video { box-shadow: 0 4px 20px rgba(236, 72, 153, 0.15); }

/* Performer profile gradient */
.bg-gradient-performer { background: linear-gradient(135deg, rgba(236,72,153,0.05) 0%, transparent 50%); }

/* Pulse animation for live indicators */
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
.animate-pulse { animation: pulse 2s ease-in-out infinite; }
