/*  
 * Dark Mode Stile
 * 
 * Diese Datei enthält alle Anpassungen für den Dark Mode der Anwendung.
 * Die Farben werden über CSS-Variablen gesteuert, die hier definiert werden.
 */

/* Globale Variablen für den Dark Mode */
[data-theme="dark"],
html[data-theme="dark"] {
  /* Text und Hintergrund */
  --text: #f5f9fa;
  --background: #121a1f;
  --primary: #5ca1ad;
  --secondary: #9db3cd;
  --accent: #7e8dbe;
  --linearPrimarySecondary: linear-gradient(#5ca1ad, #9db3cd);
  --linearPrimaryAccent: linear-gradient(#5ca1ad, #7e8dbe);
  --linearSecondaryAccent: linear-gradient(#9db3cd, #7e8dbe);
  --radialPrimarySecondary: radial-gradient(#5ca1ad, #9db3cd);
  --radialPrimaryAccent: radial-gradient(#5ca1ad, #7e8dbe);
  --radialSecondaryAccent: radial-gradient(#9db3cd, #7e8dbe);
  
  /* Set default colors - only for elements that don't have background images */
  color: var(--text);
}

/* Apply background only to body, not html to avoid conflicts with image containers */
[data-theme="dark"] body {
  background-color: var(--linearPrimarySecondaryd);
  background-image: var(--background);
}

/* Dark mode specific overrides */
[data-theme="dark"] .site-header {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .mobile-menu {
  box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .grey-button {
  background-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .grey-button:hover {
  background-color: rgba(255, 255, 255, 0.15);
}

[data-theme="dark"] .mobile-menu li a:hover {
  background-color: rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .social-links a {
  background-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .site-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Weißer Kreis für Logo */
[data-theme="dark"] .logo {
  background-color: white;
  border-radius: 50%;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
}

/* Dark mode toggle button */
.theme-toggle {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(#5ca1ad, #9db3cd);  /* --linearPrimarySecondary */
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1000;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease;
}

.theme-toggle:hover {
  transform: scale(1.1);
}

.theme-toggle svg {
  width: 24px;
  height: 24px;
  color: white;
}

/* Sanfte Übergänge für den Theme-Wechsel */
body {
  transition: background-color 0.3s ease, color 0.3s ease;
}

* {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Status-Farben für Tabellen */
[data-theme="dark"] .pünktlich {
  color: #4caf50 !important; /* Grün für pünktliche Züge */
  font-weight: 500;
}

[data-theme="dark"] .verspätung {
  color: #ff9800 !important; /* Orange für verspätete Züge */
  font-weight: 500;
}

[data-theme="dark"] .status-abgeschlossen {
  color: #4caf50 !important; /* Grün für abgeschlossene Buchungen */
  font-weight: 500;
}

[data-theme="dark"] .status-ausstehend {
  color: #ffc107 !important; /* Gelb für ausstehende Buchungen */
  font-weight: 500;
}

[data-theme="dark"] .status-storniert {
  color: #f44336 !important; /* Rot für stornierte Buchungen */
  text-decoration: line-through;
  font-weight: 500;
}

[data-theme="dark"] .no-bookings {
  color: #9e9e9e !important; /* Grau für leere Tabellenzellen */
  font-style: italic;
  text-align: center;
  padding: 20px 0 !important;
}

/* GLOBAL DARKMODE: Boxen, Tabellen, Info-Boxen, Inputs, Texte */
[data-theme="dark"] .form-box,
[data-theme="dark"] .info-box,
[data-theme="dark"] .fahrplan-updates,
[data-theme="dark"] .fahrt-updates,
[data-theme="dark"] .scrollingTable,
[data-theme="dark"] .highlight-card,
[data-theme="dark"] .stat-inner-circle,
[data-theme="dark"] .menu-card {
  
  color: #f5f9fa !important;  /* --text */
  border-color: #222c36 !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.12) !important;
}

[data-theme="dark"] table,
[data-theme="dark"] th,
[data-theme="dark"] td {
  background-color: #182029 !important;
  color: #f5f9fa !important;  /* --text */
  border-color: #232e39 !important;
}

[data-theme="dark"] th {
  background-color: #232e39 !important;
  color: var(--text) !important;
}

[data-theme="dark"] tr:hover {
  background-color: #232e39 !important;
}

[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea {
  background-color: #232e39 !important;
  color: var(--text) !important;
  border-color: #2a3744 !important;
}

/* Dark Mode für Gleis buchen: Boxen und Texte */
[data-theme="dark"] .form-box,
[data-theme="dark"] .zeit-box {
  background-color: #1a232a !important;
  border-color: #222c36 !important;
  color: var(--text) !important;
}

[data-theme="dark"] .zeit-auswahl {
  background-color: #232e39 !important;
  color: var(--text) !important;
  border-color: #2a3744 !important;
}

[data-theme="dark"] .gleis {
  color: #f5f9fa !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

[data-theme="dark"] .bahnsteig {
  background-color: #232e39 !important;
}

/* Dark mode for clock and form elements */
[data-theme="dark"] .datetime-container,
[data-theme="dark"] .datetime-controls,
[data-theme="dark"] .clock-container {
  background-color: #1a232a !important;
  border-color: #7e8dbe !important;
}

[data-theme="dark"] input[type="date"],
[data-theme="dark"] input[type="time"],
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] select,
[data-theme="dark"] textarea {
  background-color: #1e2a36 !important;
  border-color: #3a4a5a !important;
  color: #f5f9fa !important;
}

[data-theme="dark"] input[type="date"] {
  color-scheme: dark !important;
}

[data-theme="dark"] input[type="time"] {
  color-scheme: dark !important;
}

[data-theme="dark"] input[type="date"]::-webkit-datetime-edit,
[data-theme="dark"] input[type="time"]::-webkit-datetime-edit {
  color: #f5f9fa !important;
}

[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator,
[data-theme="dark"] input[type="time"]::-webkit-calendar-picker-indicator {
  filter: invert(1);
}

/* Clock container styles */
[data-theme="dark"] .clock-container {
  background: #1e2a36 !important;
  border: 1px solid #3a4a5a !important;
  color: #f5f9fa !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
  transition: all 0.3s ease !important;
}

[data-theme="dark"] .clock-container:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
  transform: translateY(-2px);
}

/* Clock text colors */
[data-theme="dark"] #liveDate {
  color: #a0aec0 !important; /* Lighter gray for date */
}

[data-theme="dark"] #liveTime {
  color: #ffffff !important; /* Pure white for time */
}

/* Force white color for all time elements in dark mode */
[data-theme="dark"] .time,
[data-theme="dark"] #liveTime,
[data-theme="dark"] .seconds,
[data-theme="dark"] #liveTime .seconds,
[data-theme="dark"] #liveTime .seconds:not([style*="color:"]),
[data-theme="dark"] #liveTime .time,
[data-theme="dark"] #liveTime .time .seconds {
  color: #ffffff !important;
  opacity: 1 !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  font-family: 'Roboto Mono', monospace !important;
  line-height: 1.2 !important;
  letter-spacing: 1px !important;
}

[data-theme="dark"] .clock-container #liveDate {
  color: #f5f9fa !important; /* White text */
  font-weight: 500 !important;
  font-family: 'Lexend', sans-serif !important;
  font-size: 1rem !important;
  margin-bottom: 4px !important;
  text-shadow: none !important;
}

[data-theme="dark"] .clock-container #liveTime {
  color: #ffffff !important; /* Bright white for main time */
  font-weight: 700 !important;
  font-family: 'Roboto Mono', monospace !important;
  font-size: 1.8rem !important;
  line-height: 1.2 !important;
  letter-spacing: 1px !important;
  text-shadow: none !important;
}

[data-theme="dark"] .clock-container .seconds {
  color: #9db3cd !important; /* Light blue for seconds */
  opacity: 0.9 !important;
  font-weight: 500 !important;
  font-size: 1.4rem !important;
  text-shadow: none !important;
}

/* Main container with form and clock */
[data-theme="dark"] .main-wrapper {
  background: #1a232a !important; /* Dark background for the entire page */
}

/* Specific override for the white container */
[data-theme="dark"] .container > div > div[style*="background: #f8f9fa"],
[data-theme="dark"] .container > div > div[style*="background:#f8f9fa"] {
  background: #2a3744 !important;
  border: 1px solid #3a4a5a !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.2) !important;
  color: #f5f9fa !important;
}

/* Target the container that wraps the form and clock */
[data-theme="dark"] .container > div > div,
[data-theme="dark"] .container > div > div[style] {
  background: #2a3744 !important;
  color: #f5f9fa !important;
  border: 1px solid #3a4a5a !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.2) !important;
}

/* Styles for the fahrplan controls container */
[data-theme="dark"] .fahrplan-controls {
  background: #2a3744 !important;
  border: 1px solid #3a4a5a !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.2) !important;
  color: #f5f9fa !important;
}

/* Target the direct child with inline styles */
[data-theme="dark"] .container > div:first-child > div:first-child {
  background: #2a3744 !important;
  border: 1px solid #3a4a5a !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  margin-bottom: 2rem !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.2) !important;
}

[data-theme="dark"] .container > div:first-child {
  background: #2a3744 !important; /* Dark gray background for the main container */
  border-radius: 12px !important;
  padding: 1.5rem !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.2) !important;
  border: 1px solid #3a4a5a !important; /* Slightly lighter border */
  margin: 1rem auto !important;
  max-width: 1200px !important;
}

[data-theme="dark"] .container > div:first-child > div:first-child {
  background: #2a3744 !important; /* Target the inner white container */
  border-radius: 12px !important;
  padding: 1.5rem !important;
  margin-bottom: 2rem !important;
}

[data-theme="dark"] .datetime-controls > div {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 2rem !important;
}

/* Target the specific white container with inline styles */
[data-theme="dark"] .container > div:first-child > div:first-child > div:first-child,
[data-theme="dark"] .container > div:first-child > div[style*="background: #f8f9fa"] {
  background: #2a3744 !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  box-shadow: none !important;
  margin-bottom: 0 !important;
  border: 1px solid #3a4a5a !important;
}

/* Form labels */
[data-theme="dark"] .form-group label {
  color: #f5f9fa !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
}

[data-theme="dark"] .form-group i {
  color: #f5f9fa !important;  /* --text */
}

/* Stats section dark mode */
[data-theme="dark"] .stats-section {
    background-color: #121a1f !important;  /* --background */
}

[data-theme="dark"] .stat-inner-circle {
    background-color: #1a232a !important;
    color: var(--text) !important;
}

[data-theme="dark"] .stats-disclaimer p {
    color: #9db3cd !important;  /* --secondary */
}

[data-theme="dark"] .stats-disclaimer {
    color: var(--text) !important;
}

[data-theme="dark"] .stat-item h3,
[data-theme="dark"] .stat-item p {
    color: var(--text) !important;
}
/* Dark mode styles for statistics section */
[data-theme="dark"] .stats-section {
  background-color: #121a1f !important;
}

[data-theme="dark"] .stat-inner-circle {
  background-color: #1a232a !important;
  color: #f5f9fa !important;
}

[data-theme="dark"] .stats-disclaimer p {
  color: #9db3cd !important;
}

[data-theme="dark"] .stats-disclaimer {
  color: #f5f9fa !important;
}

[data-theme="dark"] .stat-item h3,
[data-theme="dark"] .stat-item p {
  color: #f5f9fa !important;
}

/* Dark mode specific overrides */
[data-theme="dark"] .image-container {
  background-color: transparent !important;
  background-image: url("../assets/Sunsetvalley_bahnhof.png") !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 1 !important;
}

/* Ensure smooth transitions for image container */
.image-container {
  transition: opacity 0.3s ease !important;
}

[data-theme="dark"] .hero-text {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 2 !important;
  transition: color 0.3s ease, text-shadow 0.3s ease !important;
}


