/* Custom Styling & Utilities */

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: #090a0f;
}

::-webkit-scrollbar-thumb {
  background: #272a38;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #3e4257;
}

/* Mobile & Touch Optimizations */
html, body {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  overflow-x: hidden;
  max-width: 100vw;
  width: 100%;
}

* {
  -webkit-tap-highlight-color: transparent;
}

button, a, input, select, [role="button"], .nav-cat-btn, .mobile-cat-btn, .bottom-nav-item, .category-pill, .movie-card {
  touch-action: manipulation;
  -webkit-user-select: none;
  user-select: none;
  cursor: pointer;
}

/* Hide scrollbars for clean carousel swipe */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Smooth horizontal touch momentum */
.horizontal-scroll-container {
  -webkit-overflow-scrolling: touch;
  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;
}

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

/* Movie card transition */
.movie-card {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease;
}

@media (hover: hover) and (pointer: fine) {
  .movie-card:hover {
    transform: translateY(-4px) scale(1.02);
  }
}

/* Mobile bottom nav animation */
#mobileBottomNav {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease;
}

/* Native & Custom Fullscreen styles */
#videoPlayerWrapper:fullscreen,
#videoPlayerWrapper:-webkit-full-screen,
#videoPlayerWrapper:-moz-full-screen,
#videoPlayerWrapper:-ms-fullscreen {
  width: 100vw !important;
  height: 100vh !important;
  max-height: 100vh !important;
  border-radius: 0 !important;
  border: none !important;
  background: #000 !important;
}

#videoPlayerWrapper:fullscreen video,
#videoPlayerWrapper:-webkit-full-screen video,
#videoPlayerWrapper:-moz-full-screen video,
#videoPlayerWrapper:-ms-fullscreen video {
  width: 100vw !important;
  height: 100vh !important;
  object-fit: contain !important;
}

/* Quick Seek Feedback Badge Animation */
@keyframes seekBadgePop {
  0% { transform: translate(-50%, -50%) scale(0.85); opacity: 0; }
  50% { transform: translate(-50%, -50%) scale(1.06); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}
.animate-seek-badge {
  animation: seekBadgePop 0.22s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

/* Double-tap arc ripple animations */
@keyframes doubleTapRipple {
  0% { transform: scale(0.7); opacity: 0.9; }
  100% { transform: scale(1.3); opacity: 0; }
}
.animate-double-tap {
  animation: doubleTapRipple 0.55s cubic-bezier(0.1, 0.9, 0.2, 1) forwards;
}

