/**
 * Accessibility color enhancements
 * Improves color contrast to meet WCAG AA standards
 */

/* Primary buttons with improved contrast */
.btn-primary {
    background-color: #0056b3 !important; /* Darker blue */
    border-color: #0056b3 !important;
    color: #ffffff !important;
}

.btn-primary:hover, 
.btn-primary:focus {
    background-color: #004494 !important; /* Even darker on hover/focus */
    border-color: #004494 !important;
}

/* Secondary buttons with improved contrast */
.btn-secondary {
    background-color: #5a6268 !important; /* Darker gray */
    border-color: #5a6268 !important;
    color: #ffffff !important;
}

.btn-secondary:hover,
.btn-secondary:focus {
    background-color: #4e555b !important;
    border-color: #4e555b !important;
}

/* Success buttons with improved contrast */
.btn-success {
    background-color: #1e7e34 !important; /* Darker green */
    border-color: #1e7e34 !important;
    color: #ffffff !important;
}

.btn-success:hover,
.btn-success:focus {
    background-color: #186429 !important;
    border-color: #186429 !important;
}

/* Danger buttons with improved contrast */
.btn-danger {
    background-color: #c82333 !important; /* Darker red */
    border-color: #c82333 !important;
    color: #ffffff !important;
}

.btn-danger:hover,
.btn-danger:focus {
    background-color: #b21f2d !important;
    border-color: #b21f2d !important;
}

/* Warning buttons with improved contrast */
.btn-warning {
    background-color: #b86e00 !important; /* Darker orange */
    border-color: #b86e00 !important;
    color: #ffffff !important; /* Changed to white for better contrast */
}

.btn-warning:hover,
.btn-warning:focus {
    background-color: #a05f00 !important;
    border-color: #a05f00 !important;
}

/* Info buttons with improved contrast */
.btn-info {
    background-color: #0f6674 !important; /* Darker teal */
    border-color: #0f6674 !important;
    color: #ffffff !important;
}

.btn-info:hover,
.btn-info:focus {
    background-color: #0c5460 !important;
    border-color: #0c5460 !important;
}

/* Light buttons with improved contrast */
.btn-light {
    background-color: #e2e6ea !important;
    border-color: #e2e6ea !important;
    color: #343a40 !important; /* Darker text for contrast */
}

.btn-light:hover,
.btn-light:focus {
    background-color: #d4d9df !important;
    border-color: #d4d9df !important;
}

/* Dark buttons with improved contrast */
.btn-dark {
    background-color: #1d2124 !important;
    border-color: #1d2124 !important;
    color: #ffffff !important;
}

.btn-dark:hover,
.btn-dark:focus {
    background-color: #0f1113 !important;
    border-color: #0f1113 !important;
}

/* Link buttons with improved contrast */
.btn-link {
    color: #0056b3 !important; /* Darker blue */
}

.btn-link:hover,
.btn-link:focus {
    color: #004494 !important; /* Even darker on hover/focus */
}

/* Text colors with improved contrast */
.text-primary {
    color: #0056b3 !important;
}

.text-secondary {
    color: #5a6268 !important;
}

.text-success {
    color: #1e7e34 !important;
}

.text-danger {
    color: #c82333 !important;
}

.text-warning {
    color: #b86e00 !important;
}

.text-info {
    color: #0f6674 !important;
}

/* Alert colors with improved contrast */
.alert-primary {
    background-color: #cce5ff !important;
    border-color: #b8daff !important;
    color: #004085 !important;
}

.alert-secondary {
    background-color: #e2e3e5 !important;
    border-color: #d6d8db !important;
    color: #383d41 !important;
}

.alert-success {
    background-color: #d4edda !important;
    border-color: #c3e6cb !important;
    color: #155724 !important;
}

.alert-danger {
    background-color: #f8d7da !important;
    border-color: #f5c6cb !important;
    color: #721c24 !important;
}

.alert-warning {
    background-color: #fff3cd !important;
    border-color: #ffeeba !important;
    color: #856404 !important;
}

.alert-info {
    background-color: #d1ecf1 !important;
    border-color: #bee5eb !important;
    color: #0c5460 !important;
}

.alert-light {
    background-color: #fefefe !important;
    border-color: #fdfdfe !important;
    color: #1b1e21 !important;
}

.alert-dark {
    background-color: #d6d8d9 !important;
    border-color: #c6c8ca !important;
    color: #1b1e21 !important;
}

/* Badge colors with improved contrast */
.badge-primary {
    background-color: #0056b3 !important;
    color: #ffffff !important;
}

.badge-secondary {
    background-color: #5a6268 !important;
    color: #ffffff !important;
}

.badge-success {
    background-color: #1e7e34 !important;
    color: #ffffff !important;
}

.badge-danger {
    background-color: #c82333 !important;
    color: #ffffff !important;
}

.badge-warning {
    background-color: #b86e00 !important;
    color: #ffffff !important;
}

.badge-info {
    background-color: #0f6674 !important;
    color: #ffffff !important;
}

.badge-light {
    background-color: #e2e6ea !important;
    color: #343a40 !important;
}

.badge-dark {
    background-color: #1d2124 !important;
    color: #ffffff !important;
}

/* Card colors with improved contrast */
.card-primary {
    background-color: #0056b3 !important;
    color: #ffffff !important;
}

.card-secondary {
    background-color: #5a6268 !important;
    color: #ffffff !important;
}

.card-success {
    background-color: #1e7e34 !important;
    color: #ffffff !important;
}

.card-danger {
    background-color: #c82333 !important;
    color: #ffffff !important;
}

.card-warning {
    background-color: #b86e00 !important;
    color: #ffffff !important;
}

.card-info {
    background-color: #0f6674 !important;
    color: #ffffff !important;
}

/* Navbar improvements */
.navbar-dark {
    background-color: #1d2124 !important;
}

.navbar-dark .navbar-brand,
.navbar-dark .nav-link {
    color: #ffffff !important;
}

.navbar-light {
    background-color: #f8f9fa !important;
}

.navbar-light .navbar-brand,
.navbar-light .nav-link {
    color: #212529 !important;
}

/* Form validation messages with improved contrast */
.invalid-feedback {
    color: #c82333 !important;
}

.valid-feedback {
    color: #1e7e34 !important;
}

/* Table improvements */
.table-primary {
    background-color: #cce5ff !important;
    color: #004085 !important;
}

.table-secondary {
    background-color: #e2e3e5 !important;
    color: #383d41 !important;
}

.table-success {
    background-color: #d4edda !important;
    color: #155724 !important;
}

.table-danger {
    background-color: #f8d7da !important;
    color: #721c24 !important;
}

.table-warning {
    background-color: #fff3cd !important;
    color: #856404 !important;
}

.table-info {
    background-color: #d1ecf1 !important;
    color: #0c5460 !important;
}

.table-light {
    background-color: #fefefe !important;
    color: #1b1e21 !important;
}

.table-dark {
    background-color: #343a40 !important;
    color: #ffffff !important;
}

/* Additional contrast fixes */
.text-muted {
    color: #5a6268 !important; /* Darker than Bootstrap default */
}

.page-link {
    color: #0056b3 !important;
}

.page-link:hover {
    color: #004494 !important;
}

.dropdown-item.active, 
.dropdown-item:active {
    background-color: #0056b3 !important;
    color: #ffffff !important;
}