/* Accessibility improvements */

/* Focus indicators for keyboard navigation - Light Mode */
[data-bs-theme="light"] a:focus, 
[data-bs-theme="light"] button:focus, 
[data-bs-theme="light"] input:focus, 
[data-bs-theme="light"] textarea:focus, 
[data-bs-theme="light"] select:focus {
  outline: 3px solid #0d6efd;
  outline-offset: 2px;
}

/* Focus indicators for keyboard navigation - Dark Mode */
[data-bs-theme="dark"] a:focus, 
[data-bs-theme="dark"] button:focus, 
[data-bs-theme="dark"] input:focus, 
[data-bs-theme="dark"] textarea:focus, 
[data-bs-theme="dark"] select:focus {
  outline: 3px solid #66b3ff;
  outline-offset: 2px;
}

/* Auto mode focus indicators */
@media (prefers-color-scheme: dark) {
  [data-bs-theme="auto"] a:focus, 
  [data-bs-theme="auto"] button:focus, 
  [data-bs-theme="auto"] input:focus, 
  [data-bs-theme="auto"] textarea:focus, 
  [data-bs-theme="auto"] select:focus {
    outline: 3px solid #66b3ff;
    outline-offset: 2px;
  }
}

/* Skip to content link - Light Mode */
[data-bs-theme="light"] .skip-to-main {
  position: absolute;
  left: -9999px;
  top: -9999px;
  z-index: 9999;
  background: #fff;
  padding: 15px;
  color: #000;
  text-decoration: none;
  border: 2px solid #0d6efd;
}

[data-bs-theme="light"] .skip-to-main:focus {
  left: 10px;
  top: 10px;
}

/* Skip to content link - Dark Mode */
[data-bs-theme="dark"] .skip-to-main {
  position: absolute;
  left: -9999px;
  top: -9999px;
  z-index: 9999;
  background: #1a1a1a;
  padding: 15px;
  color: #fff;
  text-decoration: none;
  border: 2px solid #66b3ff;
}

[data-bs-theme="dark"] .skip-to-main:focus {
  left: 10px;
  top: 10px;
}

/* Auto mode skip links */
@media (prefers-color-scheme: dark) {
  [data-bs-theme="auto"] .skip-to-main {
    background: #1a1a1a;
    color: #fff;
    border: 2px solid #66b3ff;
  }
}

/* Form field labels and controls */
.form-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
}

/* Improved form field focus styles - Light Mode */
[data-bs-theme="light"] .form-control:focus {
  border-color: #0d6efd;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* Improved form field focus styles - Dark Mode */
[data-bs-theme="dark"] .form-control:focus {
  border-color: #66b3ff;
  box-shadow: 0 0 0 0.25rem rgba(102, 179, 255, 0.25);
}

/* Auto mode form focus */
@media (prefers-color-scheme: dark) {
  [data-bs-theme="auto"] .form-control:focus {
    border-color: #66b3ff;
    box-shadow: 0 0 0 0.25rem rgba(102, 179, 255, 0.25);
  }
}

/* Ensure sufficient contrast for text - Light Mode */
[data-bs-theme="light"] .text-body-secondary {
  color: #555 !important; /* Darker than default to ensure contrast */
}

[data-bs-theme="light"] .small {
  color: #333 !important; /* Ensure small text has enough contrast */
}

/* Dark Mode Contrast Improvements */
[data-bs-theme="dark"] .text-body-secondary {
  color: #ccc !important; /* Light gray for good contrast on dark background */
}

[data-bs-theme="dark"] .small {
  color: #e0e0e0 !important; /* Lighter gray for small text readability */
}

[data-bs-theme="dark"] .text-muted {
  color: #b8b8b8 !important; /* Improved contrast for muted text */
}

/* Auto mode - inherits from system preference */
@media (prefers-color-scheme: dark) {
  [data-bs-theme="auto"] .text-body-secondary {
    color: #ccc !important;
  }
  
  [data-bs-theme="auto"] .small {
    color: #e0e0e0 !important;
  }
  
  [data-bs-theme="auto"] .text-muted {
    color: #b8b8b8 !important;
  }
}

/* Buttons with appropriate contrast - Light Mode */
[data-bs-theme="light"] .btn:focus {
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);
}

/* Buttons with appropriate contrast - Dark Mode */
[data-bs-theme="dark"] .btn:focus {
  box-shadow: 0 0 0 0.25rem rgba(102, 179, 255, 0.5);
}

/* Auto mode button focus */
@media (prefers-color-scheme: dark) {
  [data-bs-theme="auto"] .btn:focus {
    box-shadow: 0 0 0 0.25rem rgba(102, 179, 255, 0.5);
  }
}

/* Improved table accessibility */
table {
  border-collapse: collapse;
}

th {
  text-align: left;
}

/* Images with text alternatives */
img {
  max-width: 100%;
}

/* Hide elements visually but keep them available for screen readers */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Additional Dark Mode Improvements */
[data-bs-theme="dark"] .card {
  border-color: #404040 !important; /* Better card borders in dark mode */
}

[data-bs-theme="dark"] .navbar-light .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.85) !important; /* Better nav link contrast */
}

[data-bs-theme="dark"] .navbar-light .navbar-nav .nav-link:hover,
[data-bs-theme="dark"] .navbar-light .navbar-nav .nav-link:focus {
  color: rgba(255, 255, 255, 1) !important;
}

[data-bs-theme="dark"] .bi {
  color: #ffffff !important; /* Ensure icons are visible */
}

/* Improved pricing card text contrast in dark mode */
[data-bs-theme="dark"] .pricing-card-title {
  color: #ffffff !important;
}

[data-bs-theme="dark"] .card-body h1,
[data-bs-theme="dark"] .card-body h2,
[data-bs-theme="dark"] .card-body h3,
[data-bs-theme="dark"] .card-body h4,
[data-bs-theme="dark"] .card-body h5,
[data-bs-theme="dark"] .card-body h6 {
  color: #ffffff !important;
}

/* Auto mode improvements */
@media (prefers-color-scheme: dark) {
  [data-bs-theme="auto"] .card {
    border-color: #404040 !important;
  }
  
  [data-bs-theme="auto"] .navbar-light .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.85) !important;
  }
  
  [data-bs-theme="auto"] .navbar-light .navbar-nav .nav-link:hover,
  [data-bs-theme="auto"] .navbar-light .navbar-nav .nav-link:focus {
    color: rgba(255, 255, 255, 1) !important;
  }
  
  [data-bs-theme="auto"] .bi {
    color: #ffffff !important;
  }
  
  [data-bs-theme="auto"] .pricing-card-title {
    color: #ffffff !important;
  }
  
  [data-bs-theme="auto"] .card-body h1,
  [data-bs-theme="auto"] .card-body h2,
  [data-bs-theme="auto"] .card-body h3,
  [data-bs-theme="auto"] .card-body h4,
  [data-bs-theme="auto"] .card-body h5,
  [data-bs-theme="auto"] .card-body h6 {
    color: #ffffff !important;
  }
}