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

/* Prevent Alpine.js flash of unstyled content */
[x-cloak] { display: none !important; }

/* Scroll reveal animation */
.scroll-fade-in {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.scroll-fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Hero gradient — heavier at bottom for Pexels-style contrast */
.hero-bg {
  background: linear-gradient(180deg,
	  rgba(8, 14, 31, 0.55) 0%,
	  rgba(8, 14, 31, 0.25) 30%,
	  rgba(8, 14, 31, 0.60) 60%,
	  rgba(8, 14, 31, 0.92) 100%);
}

.hero-shadow {
  box-shadow: 0 2px 16px -4px rgba(0, 0, 0, 0.47), 0 1px 3px -1px rgba(0, 0, 0, 0.04);
}

/* Ken Burns slow zoom on hero image */
@keyframes kenburns {
  0% {
	transform: scale(1) translate(0, 0);
  }

  50% {
	transform: scale(1.08) translate(-0.5%, -0.5%);
  }

  100% {
	transform: scale(1) translate(0, 0);
  }
}

.hero-image {
  animation: kenburns 25s ease-in-out infinite;
  will-change: transform;
}

/* Rotating placeholder text */
.placeholder-rotate {
  position: relative;
  overflow: hidden;
}

.placeholder-rotate input::placeholder {
  color: transparent;
}

.placeholder-text {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  white-space: nowrap;
  color: #9ca3af;
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.placeholder-text.fade-out {
  opacity: 0;
  transform: translateY(-80%);
}

.placeholder-text.fade-in {
  opacity: 1;
  transform: translateY(-50%);
}

/* Hide animated placeholder when input has value */
.placeholder-rotate input:not(:placeholder-shown)~.placeholder-text {
  opacity: 0;
}

/* Navbar scrolled state */
.navbar-scrolled {
  background: rgba(8, 14, 31, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  padding-top: 0px !important;
}

/* Trending card hover lift */
.trending-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.trending-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}

/* Marquee for partner logos */
@keyframes marquee {
  0% {
	transform: translateX(0);
  }

  100% {
	transform: translateX(-50%);
  }
}

.marquee-track {
  animation: marquee 30s linear infinite;
}

.marquee-track:hover {
  animation-play-state: paused;
}


/* Infinite logo scroll */
@keyframes scroll {
  0% {
	transform: translateX(0);
  }

  100% {
	transform: translateX(-50%);
  }
}

.logo-scroll {
  animation: scroll 40s linear infinite;
}

.logo-scroll:hover {
  animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
  .logo-scroll {
	animation: none !important;
  }
}

.logo-track {
  display: flex;
  width: max-content;
}

/* Logo container styling - handles different sizes */
.logo-container {
  background: linear-gradient(to bottom, #fafafa, #f5f5f5);
}

.logo-container img {
  max-height: 48px;
  max-width: 160px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(100%) opacity(0.6);
  transition: all 0.3s ease;
}

.logo-container:hover {
  background: linear-gradient(to bottom, #ffffff, #fafafa);
}

.logo-container:hover img {
  filter: grayscale(0%) opacity(1);
}

/* Scroll animations */
@keyframes slideDown {
  from {
	opacity: 0;
	transform: translateY(-10px);
  }

  to {
	opacity: 1;
	transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
	opacity: 0;
  }

  to {
	opacity: 1;
  }
}

@keyframes pulse-ring {
  0% {
	box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4);
  }

  70% {
	box-shadow: 0 0 0 10px rgba(59, 130, 246, 0);
  }

  100% {
	box-shadow: 0 0 0 0 rgba(59, 130, 246, 0);
  }
}

@keyframes bounce-subtle {

  0%,
  100% {
	transform: translateY(0);
  }

  50% {
	transform: translateY(-3px);
  }
}