@import "tailwindcss";

/* Hero Section – Hintergrund-Animation */
@keyframes gradient-shift {
  0%, 100% { opacity: 1; background-position: 0% 50%; }
  50% { opacity: 0.95; background-position: 100% 50%; }
}

@keyframes grid-pulse {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 0.7; }
}

@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-gradient-bg {
  background: linear-gradient(135deg, rgb(250 250 250) 0%, rgb(245 245 245) 50%, rgb(250 250 250) 100%);
  background-size: 200% 200%;
  animation: gradient-shift 8s ease infinite;
}

.dark .animate-gradient-bg {
  background: linear-gradient(135deg, rgb(23 23 23) 0%, rgb(38 38 38) 50%, rgb(23 23 23) 100%);
  background-size: 200% 200%;
}

.animate-grid-pulse {
  animation: grid-pulse 4s ease-in-out infinite;
}

.hero-content-in {
  animation: fade-in-up 0.8s ease-out forwards;
}

.hero-content-in:nth-child(9) { animation-delay: 0.1s; opacity: 0; }
.hero-content-in:nth-child(10) { animation-delay: 0.3s; opacity: 0; }
.hero-content-in:nth-child(11) { animation-delay: 0.5s; opacity: 0; }

.hero-submit-btn {
  transition: box-shadow 0.2s ease, transform 0.15s ease;
}

.hero-submit-btn:hover {
  box-shadow: 0px -1px 0px 0px #FFFFFF50 inset, 0px 1px 0px 0px #FFFFFF50 inset, 0 0 20px rgba(255,255,255,0.2);
}

.dark .hero-submit-btn:hover {
  box-shadow: 0px -1px 0px 0px #00000030 inset, 0px 1px 0px 0px #00000030 inset, 0 0 20px rgba(0,0,0,0.2);
}

.hero-submit-btn:active {
  transform: scale(0.98);
}

/* Rand-Elemente: Scroll-Animation (Marquee) */
@keyframes marquee-scroll {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-100%); }
}

.hero-marquee-track {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-shrink: 0;
  animation: marquee-scroll 25s linear infinite;
}

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

.hero-marquee-container {
  overflow: hidden;
  display: flex;
  position: relative;
  width: 100%;
  mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}

.dark .hero-marquee-container {
  mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}

/* Rand: Testimonial-Karten – Einblend-Animation (nur opacity, Rotation bleibt per inline) */
@keyframes hero-edge-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

.hero-edge-card {
  animation: hero-edge-in 0.6s ease-out forwards;
}

.hero-edge-card:nth-child(1) { animation-delay: 0.2s; opacity: 0; }
.hero-edge-card:nth-child(2) { animation-delay: 0.35s; opacity: 0; }
.hero-edge-card:nth-child(3) { animation-delay: 0.5s; opacity: 0; }
.hero-edge-card:nth-child(4) { animation-delay: 0.4s; opacity: 0; }
.hero-edge-card:nth-child(5) { animation-delay: 0.55s; opacity: 0; }
.hero-edge-card:nth-child(6) { animation-delay: 0.7s; opacity: 0; }

@media (max-width: 1023px) {
  .hero-edge-card { opacity: 0.2 !important; }
}

/* Base */
*, *::before, *::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  -webkit-font-smoothing: antialiased;
}
