/* Vereinsjeck Landing – Karnevals-Design (ergänzt Tailwind CDN) */

:root {
  --color-primary-purple: #6b46c1;
  --color-purple-600: #553c9a;
  --color-purple-700: #4c1d95;
  --color-primary-gold: #f59e0b;
  --color-gold-600: #d97706;
  --color-primary-red: #dc2626;
  --color-gray-900: #111827;
  --color-gray-700: #374151;
  --color-gray-600: #4b5563;
  --color-gray-200: #e5e7eb;
  --color-gray-50: #f9fafb;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--color-gray-900);
}

.font-heading {
  font-family: 'Poppins', 'Inter', sans-serif;
}

/*
 * Hero-Hintergrund: Alle Ebenen in EINER background-image-Regel.
 * .hero-pattern darf kein eigenes background-image setzen – das hat zuvor
 * den dunklen Verlauf überschrieben und nur helle Flecken auf weißem Body gezeigt.
 */
.hero-gradient {
  background-color: #1e1b4b;
  background-image:
    radial-gradient(ellipse 75% 55% at 10% 90%, rgba(251, 191, 36, 0.28) 0%, transparent 55%),
    radial-gradient(ellipse 65% 50% at 90% 12%, rgba(248, 113, 113, 0.22) 0%, transparent 50%),
    radial-gradient(ellipse 45% 40% at 72% 78%, rgba(167, 139, 250, 0.18) 0%, transparent 45%),
    linear-gradient(
      135deg,
      #1e1b4b 0%,
      #312e81 18%,
      #4c1d95 36%,
      #5b21b6 52%,
      #6d28d9 64%,
      #7c2d12 80%,
      #92400e 100%
    );
}

/* Kompatibilität: Klasse bleibt im HTML, setzt nichts Eigenes mehr */
.hero-pattern {
  /* Muster sind in .hero-gradient gebündelt */
}

.hero-gradient::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(15, 12, 41, 0.2) 0%,
    transparent 50%,
    rgba(15, 12, 41, 0.15) 100%
  );
  pointer-events: none;
  z-index: 0;
}

.confetti-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(251, 191, 36, 0.4) 1.5px, transparent 1.5px),
    radial-gradient(circle, rgba(248, 113, 113, 0.3) 1px, transparent 1px);
  background-size: 52px 52px, 68px 68px;
  background-position: 0 0, 24px 18px;
  opacity: 0.15;
  pointer-events: none;
  z-index: 0;
}

.hero-gold-text {
  color: #fde047;
}

/* Header: immer lesbar auf Hero */
#site-header.header-on-hero {
  background: rgba(30, 27, 75, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

#site-header.header-on-hero .nav-link-hero {
  color: #f9fafb;
}

#site-header.header-on-hero .nav-link-hero:hover {
  color: #ffffff;
}

#site-header.header-on-hero .brand-name {
  color: #ffffff;
}

#site-header.header-on-hero .menu-toggle-hero {
  color: #ffffff;
}

/* Header nach Scroll (helle Sektionen) */
#site-header.header-scrolled {
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid #e5e7eb;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.08);
}

#site-header.header-scrolled .nav-link-hero {
  color: #374151;
}

#site-header.header-scrolled .nav-link-hero:hover {
  color: #4c1d95;
}

#site-header.header-scrolled .brand-name {
  color: #111827;
}

#site-header.header-scrolled .menu-toggle-hero {
  color: #374151;
}

.cta-band {
  background-color: #312e81;
}

/* Feature cards */
.feature-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 25px -5px rgba(107, 70, 193, 0.12), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.feature-icon-wrap {
  background: linear-gradient(135deg, rgba(107, 70, 193, 0.12), rgba(245, 158, 11, 0.15));
}

/* Pricing */
.pricing-card-featured {
  border: 2px solid var(--color-primary-purple);
  box-shadow: 0 25px 50px -12px rgba(107, 70, 193, 0.25);
}

.pricing-badge {
  background: linear-gradient(90deg, var(--color-primary-gold), var(--color-gold-600));
}

/* App mockup placeholders */
.mockup-frame {
  background: linear-gradient(180deg, #1f2937 0%, #111827 100%);
  border-radius: 1.25rem;
  box-shadow:
    0 25px 50px -12px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.mockup-screen {
  background: linear-gradient(180deg, var(--color-gray-50) 0%, #fff 100%);
  border-radius: 0.75rem;
}

.mockup-bar {
  height: 6px;
  border-radius: 9999px;
  background: var(--color-gray-200);
}

.mockup-bar-fill {
  border-radius: 9999px;
  background: linear-gradient(90deg, var(--color-primary-purple), var(--color-primary-gold));
}

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

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Legal pages */
.legal-content h2 {
  font-family: 'Poppins', sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  color: var(--color-purple-700);
}

.legal-content p,
.legal-content li {
  color: var(--color-gray-700);
  line-height: 1.625;
}

.legal-content ul {
  list-style: disc;
  padding-left: 1.25rem;
  margin: 0.75rem 0;
}

/* Mobile nav */
#mobile-menu:not(.hidden) {
  animation: slideDown 0.2s ease;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
