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 #000;
}

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

body {
  margin-bottom: 60px;
}

/* Custom theme classes */
.bg-light-dark {
  background-color: #ffffff;
  transition: background-color 0.3s ease;
}

.text-light-dark {
  color: #000000;
  transition: color 0.3s ease;
}

.bg-secondary-light-dark {
  background-color: #f8f9fa;
  transition: background-color 0.3s ease;
}

/* Card theme styles */
.card-light-dark {
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.125);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* Table theme styles */
.table-light-dark {
  --bs-table-bg: transparent;
  color: #000000;
  transition: color 0.3s ease;
}

.table-light-dark thead th {
  background-color: #f8f9fa;
  border-color: #dee2e6;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* Code theme styles */
.code-light-dark {
  background-color: #f8f9fa;
  color: #e83e8c;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Muted text theme */
.text-muted-light-dark {
  color: #6c757d;
  transition: color 0.3s ease;
}

/* Dark theme styles */
html[data-bs-theme="dark"] .bg-light-dark {
  background-color: #212529;
}

html[data-bs-theme="dark"] .text-light-dark {
  color: #ffffff;
}

html[data-bs-theme="dark"] .bg-secondary-light-dark {
  background-color: #343a40;
}

html[data-bs-theme="dark"] .card-light-dark {
  background-color: #212529;
  border-color: #495057;
}

html[data-bs-theme="dark"] .table-light-dark {
  color: #ffffff;
}

html[data-bs-theme="dark"] .table-light-dark thead th {
  background-color: #343a40;
  border-color: #495057;
  color: #ffffff;
}

html[data-bs-theme="dark"] .code-light-dark {
  background-color: #343a40;
  color: #f1c0e8;
}

html[data-bs-theme="dark"] .text-muted-light-dark {
  color: #adb5bd;
}

/* Navbar theme styles */
.navbar-light-dark {
  background-color: #f8f9fa;
  transition: background-color 0.3s ease;
}

.navbar-light-dark .navbar-brand,
.navbar-light-dark .nav-link {
  color: #000000;
  transition: color 0.3s ease;
}

.navbar-light-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

html[data-bs-theme="dark"] .navbar-light-dark {
  background-color: #212529;
}

html[data-bs-theme="dark"] .navbar-light-dark .navbar-brand,
html[data-bs-theme="dark"] .navbar-light-dark .nav-link {
  color: #ffffff;
}

html[data-bs-theme="dark"] .navbar-light-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}