/* ===== DARK MODE CONTRAST FIXES ===== */

/* Additional dark mode variables for better contrast */
[data-theme="dark"] {
  --hero-bg-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%);
  --card-bg-dark: #1f2937;
  --card-border-dark: #374151;
  --text-muted-dark: #9ca3af;
  --accent-light: #34d399;
}

/* Hero section dark mode improvements */
[data-theme="dark"] .hero {
  background: var(--hero-bg-gradient) !important;
}

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

[data-theme="dark"] .hero__subtitle {
  color: #d1d5db !important;
}

[data-theme="dark"] .hero__badge {
  background: rgba(16, 185, 129, 0.2) !important;
  color: var(--accent-light) !important;
  border-color: rgba(16, 185, 129, 0.4) !important;
}

[data-theme="dark"] .hero__feature {
  color: var(--accent-light) !important;
}

[data-theme="dark"] .hero__feature i,
[data-theme="dark"] .hero__feature > *:first-child {
  color: var(--accent-light) !important;
}

[data-theme="dark"] .hero__button--secondary {
  color: #f9fafb !important;
  border-color: #4b5563 !important;
  background: rgba(31, 41, 55, 0.8) !important;
}

[data-theme="dark"] .hero__button--secondary:hover {
  background: rgba(55, 65, 81, 0.9) !important;
  border-color: var(--accent-light) !important;
  color: var(--accent-light) !important;
}

/* Features section dark mode improvements */
[data-theme="dark"] .features {
  background: var(--bg-color) !important;
}

[data-theme="dark"] .feature__card {
  background: var(--card-bg-dark) !important;
  border: 1px solid var(--card-border-dark) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
}

[data-theme="dark"] .feature__card:hover {
  background: #374151 !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6) !important;
}

[data-theme="dark"] .feature__title {
  color: #f9fafb !important;
}

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

/* Cities section dark mode improvements */
[data-theme="dark"] .cities {
  background: linear-gradient(135deg, #111827 0%, #1f2937 50%, #374151 100%) !important;
}

[data-theme="dark"] .cities__search-input {
  background: rgba(31, 41, 55, 0.9) !important;
  border-color: #4b5563 !important;
  color: #f9fafb !important;
}

[data-theme="dark"] .cities__search-input::placeholder {
  color: var(--text-muted-dark) !important;
}

[data-theme="dark"] .cities__search-input:focus {
  border-color: var(--accent-light) !important;
  background: rgba(31, 41, 55, 1) !important;
  box-shadow: 0 8px 32px rgba(52, 211, 153, 0.3) !important;
}

[data-theme="dark"] .city__pill {
  background: var(--card-bg-dark) !important;
  color: #f9fafb !important;
  border: 1px solid var(--card-border-dark) !important;
}

[data-theme="dark"] .city__pill:hover {
  background: #374151 !important;
  border-color: var(--accent-light) !important;
  color: var(--accent-light) !important;
}

[data-theme="dark"] .city__pill.featured {
  background: linear-gradient(135deg, #1f2937, #374151) !important;
  border-color: var(--accent-light) !important;
}

[data-theme="dark"] .map__title {
  color: #f9fafb !important;
}

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

[data-theme="dark"] .stat__number {
  color: var(--accent-light) !important;
}

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

/* Hours section dark mode improvements */
[data-theme="dark"] .hours {
  background: var(--bg-color) !important;
}

[data-theme="dark"] .hours__card {
  background: var(--card-bg-dark) !important;
  border: 1px solid var(--card-border-dark) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
}

[data-theme="dark"] .hours__card:hover {
  background: #374151 !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6) !important;
}

[data-theme="dark"] .hours__day {
  color: #f9fafb !important;
}

[data-theme="dark"] .hours__time {
  color: var(--accent-light) !important;
}

[data-theme="dark"] .hours__card--closed {
  background: linear-gradient(135deg, #7f1d1d 0%, #991b1b 100%) !important;
  border-color: #dc2626 !important;
}

[data-theme="dark"] .hours__info-card {
  background: var(--card-bg-dark) !important;
  border: 1px solid var(--card-border-dark) !important;
}

[data-theme="dark"] .hours__info-card:hover {
  background: #374151 !important;
}

[data-theme="dark"] .hours__info-card h3 {
  color: #f9fafb !important;
}

[data-theme="dark"] .hours__info-card p {
  color: var(--text-muted-dark) !important;
}

/* Contact section dark mode improvements */
[data-theme="dark"] .contact {
  background: var(--bg-color) !important;
}

[data-theme="dark"] .contact__form-input,
[data-theme="dark"] .contact__form-textarea {
  background: var(--card-bg-dark) !important;
  border-color: var(--card-border-dark) !important;
  color: #f9fafb !important;
}

[data-theme="dark"] .contact__form-input::placeholder,
[data-theme="dark"] .contact__form-textarea::placeholder {
  color: var(--text-muted-dark) !important;
}

[data-theme="dark"] .contact__form-input:focus,
[data-theme="dark"] .contact__form-textarea:focus {
  border-color: var(--accent-light) !important;
  background: #374151 !important;
  box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.1) !important;
}

[data-theme="dark"] .contact__form-label {
  color: #f9fafb !important;
}

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

/* Footer dark mode improvements */
[data-theme="dark"] .footer {
  background: #0f172a !important;
  border-top: 1px solid var(--card-border-dark) !important;
}

[data-theme="dark"] .footer__title {
  color: #f9fafb !important;
}

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

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

[data-theme="dark"] .footer__link:hover {
  color: var(--accent-light) !important;
}

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

[data-theme="dark"] .footer__social-link {
  background: var(--card-bg-dark) !important;
  border: 1px solid var(--card-border-dark) !important;
  color: var(--text-muted-dark) !important;
}

[data-theme="dark"] .footer__social-link:hover {
  background: var(--accent-light) !important;
  color: #0f172a !important;
  border-color: var(--accent-light) !important;
}

/* Ensure footer logo text is visible in dark mode */
[data-theme="dark"] #footer-logo-text {
  color: #ffffff !important;
  font-weight: 600 !important;
}

/* Header dark mode improvements */
[data-theme="dark"] .header {
  background: rgba(15, 23, 42, 0.98) !important;
  border-bottom: 1px solid rgba(55, 65, 81, 0.3) !important;
  backdrop-filter: blur(20px) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .nav {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

[data-theme="dark"] .nav__menu {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

[data-theme="dark"] .nav__list {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  gap: 2rem;
}

[data-theme="dark"] .nav__item {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

[data-theme="dark"] .nav__link {
  color: #d1d5db !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0.5rem 1rem !important;
  border-radius: 6px !important;
  transition: all 0.3s ease !important;
}

[data-theme="dark"] .nav__link:hover {
  color: #34d399 !important;
  background: rgba(52, 211, 153, 0.1) !important;
  transform: translateY(-1px) !important;
}

[data-theme="dark"] .nav__logo {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

[data-theme="dark"] .nav__logo-text {
  color: #f9fafb !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Dark mode footer logo links */
[data-theme="dark"] .footer__logo {
  color: #f9fafb !important;
  text-decoration: none !important;
}

[data-theme="dark"] .nav__actions {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

[data-theme="dark"] .theme-toggle {
  background: rgba(31, 41, 55, 0.8) !important;
  border: 1px solid rgba(55, 65, 81, 0.5) !important;
  color: #d1d5db !important;
  border-radius: 8px !important;
  transition: all 0.3s ease !important;
}

[data-theme="dark"] .theme-toggle:hover {
  background: rgba(52, 211, 153, 0.9) !important;
  color: #0f172a !important;
  border-color: #34d399 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(52, 211, 153, 0.3) !important;
}

/* Section titles and subtitles dark mode improvements */
[data-theme="dark"] .section__title {
  color: #f9fafb !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

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

/* Loading and message components dark mode */
[data-theme="dark"] .loading {
  background: rgba(15, 23, 42, 0.9) !important;
}

[data-theme="dark"] .message {
  background: var(--card-bg-dark) !important;
  border: 1px solid var(--card-border-dark) !important;
  color: #f9fafb !important;
}

[data-theme="dark"] .message--error {
  background: #7f1d1d !important;
  border-color: #dc2626 !important;
}

[data-theme="dark"] .message--success {
  background: #064e3b !important;
  border-color: var(--accent-light) !important;
}

/* Improved contrast for better accessibility */
[data-theme="dark"] {
  --text-contrast-high: #ffffff;
  --text-contrast-medium: #e5e7eb;
  --text-contrast-low: #9ca3af;
}

/* High contrast elements */
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] .hero__title,
[data-theme="dark"] .section__title {
  color: var(--text-contrast-high) !important;
}

/* Medium contrast elements */
[data-theme="dark"] p,
[data-theme="dark"] .hero__subtitle,
[data-theme="dark"] .section__subtitle {
  color: var(--text-contrast-medium) !important;
}

/* Low contrast elements */
[data-theme="dark"] .footer__description,
[data-theme="dark"] .contact__text {
  color: var(--text-contrast-low) !important;
}
