/* ===== Custom Styles – ergänzend zu Tailwind ===== */

/* Hero Gradient */
.gradient-hero {
 background: linear-gradient(135deg, #001c20 0%, #005f69 50%, #004a53 100%);
}
.dark .gradient-hero {
 background: linear-gradient(135deg, #000d10 0%, #003d45 50%, #002b30 100%);
}

/* Gradient Text */
.gradient-text {
 background: linear-gradient(135deg, #e7b54a, #d4a853, #f3d89b);
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
 background-clip: text;
}

/* Glassmorphism */
.glass {
 background: rgba(255, 255, 255, 0.1);
 backdrop-filter: blur(12px);
 -webkit-backdrop-filter: blur(12px);
 border: 1px solid rgba(255, 255, 255, 0.15);
}
.dark .glass {
 background: rgba(0, 0, 0, 0.3);
 border: 1px solid rgba(255, 255, 255, 0.08);
}

/* Card Hover Effects */
.card-hover {
 transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-hover:hover {
 transform: translateY(-8px);
 box-shadow: 0 25px 50px -12px rgba(0, 95, 105, 0.25);
}

/* Slider */
.slider-track {
 transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Scroll Animations */
.section-visible {
 opacity: 1;
 transform: translateY(0);
}
.section-hidden {
 opacity: 0;
 transform: translateY(30px);
 transition: all 0.8s ease-out;
}

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
.dark ::-webkit-scrollbar-track { background: #1a1a2e; }
::-webkit-scrollbar-thumb { background: #005f69; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #004a53; }

/* Nav Link Underline */
.nav-link { position: relative; }
.nav-link::after {
 content: '';
 position: absolute;
 width: 0;
 height: 2px;
 bottom: -4px;
 left: 0;
 background-color: #d4a853;
 transition: width 0.3s ease;
}
.nav-link:hover::after,
.nav-link.active::after {
 width: 100%;
}

/* Form Focus Styles */
input:focus, textarea:focus, select:focus {
 outline: none;
 border-color: #005f69;
 box-shadow: 0 0 0 3px rgba(0, 95, 105, 0.2);
}
.dark input:focus, .dark textarea:focus, .dark select:focus {
 box-shadow: 0 0 0 3px rgba(0, 95, 105, 0.4);
}

/* ===== Verbessertes Light Theme ===== */

/* Hellere Hintergründe im Light-Mode */
.light .bg-white-pure,
body:not(.dark) .bg-white-pure {
  background-color: #ffffff;
}

/* Sektionen im Light-Mode heller */
body:not(.dark) .section-bg-light {
  background-color: #f8fafc;
}

body:not(.dark) .section-bg-white {
  background-color: #ffffff;
}

/* Cards im Light-Mode */
body:not(.dark) .card-light {
  background-color: #ffffff;
  border-color: #e2e8f0;
}

/* Bessere Lesbarkeit im Light-Mode */
body:not(.dark) .text-body {
  color: #1e293b;
}

body:not(.dark) .text-muted {
  color: #64748b;
}

/* Kontrastreichere Überschriften im Light-Mode */
body:not(.dark) h1,
body:not(.dark) h2,
body:not(.dark) h3,
body:not(.dark) h4 {
  color: #0f172a;
}

/* Stat Counter Animation */
.stat-number {
  display: inline-block;
}

/* Contact Form 7 Styling */
.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form select {
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  transition: all 0.3s;
}

.wpcf7-form input[type="submit"] {
  background-color: #005f69;
  color: white;
  font-weight: 700;
  padding: 1rem;
  border-radius: 0.75rem;
  cursor: pointer;
  transition: all 0.3s;
}

.wpcf7-form input[type="submit"]:hover {
  background-color: #005660;
  box-shadow: 0 10px 15px -3px rgba(0, 95, 105, 0.3);
  transform: translateY(-2px);
}

.wpcf7-not-valid-tip {
  color: #dc2626;
  font-size: 0.875rem;
  margin-top: 0.25rem;
}

.wpcf7-response-output {
  border-radius: 0.75rem;
  padding: 1rem;
  margin-top: 1rem;
}
