html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

/* Dark mode form input styles */
.dark input[type="text"],
.dark input[type="email"],
.dark input[type="password"],
.dark input[type="number"],
.dark input[type="date"],
.dark input[type="datetime-local"],
.dark input[type="search"],
.dark textarea,
.dark select {
  background-color: rgb(55 65 81);
  border-color: rgb(75 85 99);
  color: rgb(229 231 235);
}

.dark input[type="text"]::placeholder,
.dark input[type="email"]::placeholder,
.dark input[type="password"]::placeholder,
.dark input[type="number"]::placeholder,
.dark input[type="search"]::placeholder,
.dark textarea::placeholder {
  color: rgb(156 163 175);
}

.dark input[type="text"]:focus,
.dark input[type="email"]:focus,
.dark input[type="password"]:focus,
.dark input[type="number"]:focus,
.dark input[type="date"]:focus,
.dark input[type="datetime-local"]:focus,
.dark input[type="search"]:focus,
.dark textarea:focus,
.dark select:focus {
  border-color: rgb(99 102 241);
  box-shadow: 0 0 0 1px rgb(99 102 241);
}

/* Dark mode checkbox styles */
.dark input[type="checkbox"] {
  background-color: rgb(55 65 81);
  border-color: rgb(75 85 99);
}

.dark input[type="checkbox"]:checked {
  background-color: rgb(79 70 229);
  border-color: rgb(79 70 229);
}

/* Dark mode range slider styles */
.dark input[type="range"] {
  background-color: rgb(55 65 81);
}

.dark input[type="range"]::-webkit-slider-thumb {
  background-color: rgb(99 102 241);
}

.dark input[type="range"]::-moz-range-thumb {
  background-color: rgb(99 102 241);
}

/* Smooth theme transitions */
body,
nav,
footer,
main,
.bg-white,
.bg-gray-50,
.bg-gray-100 {
  transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}
