/* Custom Styles & Animation Enhancements */

/* Smooth Scrolling */
html {
  scroll-behavior: smooth;
}

/* Custom Sleek Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #06080e;
}

::-webkit-scrollbar-thumb {
  background: #1e293b;
  border-radius: 9999px;
  border: 2px solid #06080e;
}

::-webkit-scrollbar-thumb:hover {
  background: #334155;
}

/* ==================== AURORA LIGHTING ANIMATIONS ==================== */
.aurora-blob {
  will-change: transform, opacity;
  pointer-events: none;
}

.aurora-1 {
  background: radial-gradient(circle, #8b5cf6 0%, #3b82f6 50%, transparent 70%);
  animation: auroraDrift1 24s ease-in-out infinite alternate;
}

.aurora-2 {
  background: radial-gradient(circle, #06b6d4 0%, #0ea5e9 50%, transparent 70%);
  animation: auroraDrift2 28s ease-in-out infinite alternate;
}

.aurora-3 {
  background: radial-gradient(circle, #ec4899 0%, #8b5cf6 50%, transparent 70%);
  animation: auroraDrift3 32s ease-in-out infinite alternate;
}

.aurora-4 {
  background: radial-gradient(circle, #10b981 0%, #06b6d4 50%, transparent 70%);
  animation: auroraDrift4 26s ease-in-out infinite alternate;
}

@keyframes auroraDrift1 {
  0% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(120px, 80px) scale(1.15); }
  100% { transform: translate(-60px, 140px) scale(0.95); }
}

@keyframes auroraDrift2 {
  0% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(-140px, -90px) scale(1.2); }
  100% { transform: translate(80px, 60px) scale(0.9); }
}

@keyframes auroraDrift3 {
  0% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(90px, -110px) scale(1.1); }
  100% { transform: translate(-110px, 70px) scale(1.05); }
}

@keyframes auroraDrift4 {
  0% { transform: translate(0, 0) scale(0.9); }
  50% { transform: translate(140px, 90px) scale(1.25); }
  100% { transform: translate(50px, -80px) scale(1); }
}

/* ==================== GLASSMORPHISM & CARDS ==================== */
.glass-panel {
  background: rgba(13, 17, 28, 0.75);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.glass-card {
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
}

.glass-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.15), transparent 60%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

.glass-card:hover {
  transform: translateY(-8px);
  border-color: rgba(56, 189, 248, 0.45);
  box-shadow: 0 25px 50px -15px rgba(14, 165, 233, 0.3), 0 0 30px -5px rgba(139, 92, 246, 0.2);
}

/* Image Shimmer Loading Placeholder */
.image-skeleton {
  background: linear-gradient(90deg, #0f172a 25%, #1e293b 50%, #0f172a 75%);
  background-size: 200% 100%;
  animation: skeletonLoading 1.5s infinite;
}

@keyframes skeletonLoading {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Active Category Pill Animation */
.category-pill.active {
  background: linear-gradient(135deg, #0ea5e9, #8b5cf6);
  color: #ffffff;
  border-color: transparent;
  box-shadow: 0 4px 20px -2px rgba(14, 165, 233, 0.5), 0 0 15px rgba(139, 92, 246, 0.3);
}

/* Break Inside Avoid for Masonry Columns */
.break-inside-avoid {
  break-inside: avoid-column;
  page-break-inside: avoid;
}

/* Line Clamp Utilities */
.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;
}
