:root {
  --banner-color: #2c3e50; /* Neutral default */
}

/* Global Styles */
body {
  font-family: 'Inter', sans-serif;
  background-color: #000000;
  color: #ffffff;
  overflow-x: hidden;
}

/* Fluid State Transitions & Ambient Glow */
#mainBanner {
  position: relative;
  background-color: transparent !important;
  z-index: 1;
}

/* The actual glow effect behind the text */
#mainBanner::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 140%;
  height: 140%;
  background: radial-gradient(circle, var(--banner-color) 0%, transparent 65%);
  opacity: 0.65;
  filter: blur(80px);
  z-index: -1;
  pointer-events: none;
  transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Subtle text glow */
#recommendationText {
  text-shadow: 0 0 60px var(--banner-color), 0 0 20px var(--banner-color);
  transition: text-shadow 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Optional Noise Overlay */
.noise-overlay {
  position: fixed;
  top: 0; left: 0; width: 100vw; height: 100vh;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.04;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
}

/* Staggered Animations for Reasons */
@keyframes slideUpFade {
  0% { opacity: 0; transform: translateY(15px); }
  100% { opacity: 1; transform: translateY(0); }
}

#reasonsList > div {
  animation: slideUpFade 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  opacity: 0;
}
#reasonsList > div:nth-child(1) { animation-delay: 0.1s; }
#reasonsList > div:nth-child(2) { animation-delay: 0.2s; }
#reasonsList > div:nth-child(3) { animation-delay: 0.3s; }
#reasonsList > div:nth-child(4) { animation-delay: 0.4s; }

/* Neon Dots with glow */
.neon-dot {
  box-shadow: 0 0 12px var(--banner-color);
  transition: background-color 1.2s, box-shadow 1.2s;
}

/* Status Indicator Bar */
.status-active-heute {
  background-color: #27ae60 !important;
  box-shadow: 0 0 8px #27ae60;
}
.status-active-neutral {
  background-color: #ffffff !important;
  box-shadow: 0 0 8px #ffffff;
}
.status-active-morgen {
  background-color: #e67e22 !important;
  box-shadow: 0 0 8px #e67e22;
}

/* FAQ Accordion Styles */
.faq-input:checked + .faq-label .faq-icon {
  transform: rotate(180deg);
}
.faq-input:checked ~ .faq-content {
  max-height: 500px;
  padding-bottom: 1rem;
}

/* Toast Styling */
.toast {
  position: absolute;
  bottom: 120%;
  left: 50%;
  transform: translateX(-50%);
  background: var(--banner-color);
  color: #fff;
  padding: 0.75rem 1.5rem;
  border-radius: 99px; /* Premium pill shape */
  font-size: 0.875rem;
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), bottom 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap;
  z-index: 50;
  box-shadow: 0 10px 30px rgba(0,0,0,0.6);
}
.toast.show { 
  opacity: 1; 
  bottom: 150%; 
}

.share-wrapper { position: relative; }
