/* Dark Mode Stylesheet */

/* Dark Mode Styles */
body.dark-mode {
  background-color: #383838;
  color: #e0e0e0;
}

body.dark-mode .navbar {
  background-color: #222;
  border-bottom-color: #333;
}

body.dark-mode .navbar a {
  color: #e0e0e0;
}

body.dark-mode .navbar a:hover {
  color: var(--primary-color);
}

body.dark-mode .card,
body.dark-mode .form,
body.dark-mode .bg-white {
  background-color: #2a2a2a;
  border-color: #404040;
  color: #e0e0e0;
}

body.dark-mode .form input[type='text'],
body.dark-mode .form input[type='email'],
body.dark-mode .form input[type='password'],
body.dark-mode .form input[type='date'],
body.dark-mode .form select,
body.dark-mode .form textarea {
  background-color: #333;
  color: #e0e0e0;
  border-color: #404040;
}

body.dark-mode .form input[type='text']::placeholder,
body.dark-mode .form input[type='email']::placeholder,
body.dark-mode .form input[type='password']::placeholder,
body.dark-mode .form textarea::placeholder {
  color: #999;
}

body.dark-mode .post-date,
body.dark-mode .post .comment-count {
  color: #999;
}

body.dark-mode .btn-light {
  background: #404040;
  color: #e0e0e0;
  border-color: #505050;
}

body.dark-mode .btn-light:hover {
  background: #505050;
}

body.dark-mode .dark-overlay {
  background-color: rgba(0, 0, 0, 0.85);
}

body.dark-mode .container {
  color: #e0e0e0;
}

body.dark-mode footer {
  background-color: #222;
  color: #e0e0e0;
  border-top: 1px solid #333;
}

body.dark-mode footer a {
  color: var(--primary-color);
}

body.dark-mode .alert {
  background: #2a2a2a;
  border: 1px solid #404040;
}

body.dark-mode .table {
  background: #2a2a2a;
  border-color: #404040;
}

body.dark-mode .table th {
  background: #333;
}

body.dark-mode .table th,
body.dark-mode .table td {
  border-bottom-color: #404040;
}

body.dark-mode .error-message {
  color: #ff6b6b;
}

/* Skip links styling */
.skip-links {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
}

.skip-link {
  display: block;
  padding: 0.5rem 1rem;
  background: var(--primary-color);
  color: #fff;
  text-decoration: none;
  border-radius: 0 0 4px 0;
  font-weight: bold;
  width: 200px;
  transform: translateX(-100%);
  transition: transform 0.2s ease;
}

.skip-link:focus {
  transform: translateX(0);
  outline: 3px solid #fff;
}

/* Reduce motion preferences */
@media (prefers-reduced-motion: reduce) {
  body.dark-mode,
  body.dark-mode * {
    transition: background-color 0.01s ease, color 0.01s ease !important;
  }

  .skip-link {
    transition: none;
  }
}
