/* Grayscale Theme Override for Bootstrap 5.3 */

:root {
    /* Primary colors → grayscale */
    --bs-primary: #333333;
    --bs-primary-rgb: 51, 51, 51;
    --bs-success: #555555;
    --bs-success-rgb: 85, 85, 85;
    --bs-info: #777777;
    --bs-info-rgb: 119, 119, 119;
    --bs-danger: #888888;
    --bs-danger-rgb: 136, 136, 136;
    --bs-warning: #999999;
    --bs-warning-rgb: 153, 153, 153;
    --bs-dark: #1a1a1a;
    --bs-dark-rgb: 26, 26, 26;
    --bs-light: #f0f0f0;
    --bs-light-rgb: 240, 240, 240;
    --bs-secondary: #666666;
    --bs-secondary-rgb: 102, 102, 102;

    --bs-link-color: #333333;
    --bs-link-color-rgb: 51, 51, 51;
    --bs-link-hover-color: #1a1a1a;
    --bs-link-hover-color-rgb: 26, 26, 26;
}

/* Button overrides */
.btn-primary {
    --bs-btn-bg: #333333;
    --bs-btn-border-color: #333333;
    --bs-btn-hover-bg: #222222;
    --bs-btn-hover-border-color: #1a1a1a;
    --bs-btn-active-bg: #1a1a1a;
    --bs-btn-active-border-color: #111111;
    --bs-btn-disabled-bg: #333333;
    --bs-btn-disabled-border-color: #333333;
}

.btn-success {
    --bs-btn-bg: #555555;
    --bs-btn-border-color: #555555;
    --bs-btn-hover-bg: #444444;
    --bs-btn-hover-border-color: #3a3a3a;
    --bs-btn-active-bg: #3a3a3a;
    --bs-btn-active-border-color: #333333;
    --bs-btn-disabled-bg: #555555;
    --bs-btn-disabled-border-color: #555555;
}

.btn-info {
    --bs-btn-bg: #777777;
    --bs-btn-border-color: #777777;
    --bs-btn-color: #fff;
    --bs-btn-hover-bg: #666666;
    --bs-btn-hover-border-color: #5a5a5a;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #5a5a5a;
    --bs-btn-active-border-color: #555555;
    --bs-btn-active-color: #fff;
    --bs-btn-disabled-bg: #777777;
    --bs-btn-disabled-border-color: #777777;
}

.btn-danger {
    --bs-btn-bg: #888888;
    --bs-btn-border-color: #888888;
    --bs-btn-hover-bg: #777777;
    --bs-btn-hover-border-color: #6a6a6a;
    --bs-btn-active-bg: #6a6a6a;
    --bs-btn-active-border-color: #666666;
    --bs-btn-disabled-bg: #888888;
    --bs-btn-disabled-border-color: #888888;
}

.btn-warning {
    --bs-btn-bg: #999999;
    --bs-btn-border-color: #999999;
    --bs-btn-color: #fff;
    --bs-btn-hover-bg: #888888;
    --bs-btn-hover-border-color: #7a7a7a;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #7a7a7a;
    --bs-btn-active-border-color: #777777;
    --bs-btn-active-color: #fff;
    --bs-btn-disabled-bg: #999999;
    --bs-btn-disabled-border-color: #999999;
}

.btn-outline-primary {
    --bs-btn-color: #333333;
    --bs-btn-border-color: #333333;
    --bs-btn-hover-bg: #333333;
    --bs-btn-hover-border-color: #333333;
    --bs-btn-active-bg: #222222;
    --bs-btn-active-border-color: #1a1a1a;
}

.btn-outline-secondary {
    --bs-btn-color: #666666;
    --bs-btn-border-color: #666666;
    --bs-btn-hover-bg: #666666;
    --bs-btn-hover-border-color: #666666;
    --bs-btn-active-bg: #555555;
    --bs-btn-active-border-color: #555555;
}

/* Background overrides */
.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgba(51, 51, 51, var(--bs-bg-opacity)) !important;
}

.bg-success {
    --bs-bg-opacity: 1;
    background-color: rgba(85, 85, 85, var(--bs-bg-opacity)) !important;
}

.bg-info {
    --bs-bg-opacity: 1;
    background-color: rgba(119, 119, 119, var(--bs-bg-opacity)) !important;
}

.bg-danger {
    --bs-bg-opacity: 1;
    background-color: rgba(136, 136, 136, var(--bs-bg-opacity)) !important;
}

.bg-warning {
    --bs-bg-opacity: 1;
    background-color: rgba(153, 153, 153, var(--bs-bg-opacity)) !important;
}

.bg-dark {
    --bs-bg-opacity: 1;
    background-color: rgba(26, 26, 26, var(--bs-bg-opacity)) !important;
}

.bg-light {
    --bs-bg-opacity: 1;
    background-color: rgba(240, 240, 240, var(--bs-bg-opacity)) !important;
}

/* Text color overrides */
.text-primary {
    color: #333333 !important;
}

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

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

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

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

/* Alert overrides */
.alert-primary {
    --bs-alert-color: #1a1a1a;
    --bs-alert-bg: #d9d9d9;
    --bs-alert-border-color: #cccccc;
}

.alert-success {
    --bs-alert-color: #2a2a2a;
    --bs-alert-bg: #e0e0e0;
    --bs-alert-border-color: #d4d4d4;
}

.alert-info {
    --bs-alert-color: #3a3a3a;
    --bs-alert-bg: #e8e8e8;
    --bs-alert-border-color: #dddddd;
}

.alert-danger {
    --bs-alert-color: #444444;
    --bs-alert-bg: #ebebeb;
    --bs-alert-border-color: #e0e0e0;
}

.alert-warning {
    --bs-alert-color: #4a4a4a;
    --bs-alert-bg: #f0f0f0;
    --bs-alert-border-color: #e5e5e5;
}

/* Job status badge colors */
.bg-draft {
    background-color: #999999 !important;
    color: #fff;
}

.bg-published {
    background-color: #555555 !important;
    color: #fff;
}

.bg-closed {
    background-color: #888888 !important;
    color: #fff;
}

/* Badge overrides for inline badges */
.badge.bg-primary {
    background-color: #333333 !important;
}

.badge.bg-secondary {
    background-color: #666666 !important;
}

.badge.bg-success {
    background-color: #555555 !important;
}

.badge.bg-info {
    background-color: #777777 !important;
    color: #fff !important;
}

.badge.bg-warning {
    background-color: #999999 !important;
    color: #fff !important;
}

.badge.bg-danger {
    background-color: #888888 !important;
}

/* Link colors */
a {
    color: #333333;
}

a:hover {
    color: #1a1a1a;
}

/* Navbar adjustments */
.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.85);
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
    color: #ffffff;
}

/* Form focus states */
.form-control:focus,
.form-select:focus {
    border-color: #666666;
    box-shadow: 0 0 0 0.25rem rgba(51, 51, 51, 0.25);
}

/* Pagination */
.page-link {
    color: #333333;
}

.page-item.active .page-link {
    background-color: #333333;
    border-color: #333333;
}

/* Dropdown */
.dropdown-item.active,
.dropdown-item:active {
    background-color: #333333;
}

/* Status accent colors - subtle differentiation within grayscale palette */
.badge.bg-new {
    background-color: #2a2a2a !important;
    color: #fff;
    font-size: 0.7em;
    vertical-align: middle;
}

/* Application status badges */
.badge.status-applied {
    background-color: #555555 !important;
}

.badge.status-reviewing {
    background-color: #444444 !important;
}

.badge.status-interview {
    background-color: #333333 !important;
}

.badge.status-accepted {
    background-color: #222222 !important;
}

.badge.status-rejected {
    background-color: #999999 !important;
}

.badge.status-withdrawn {
    background-color: #bbbbbb !important;
    color: #333 !important;
}

/* Freshness indicators */
.freshness-new {
    border-left: 3px solid #333333;
}

.freshness-recent {
    border-left: 3px solid #777777;
}

/* Breadcrumb styling */
.breadcrumb {
    background: none;
    padding: 0;
    margin-bottom: 0;
}

.breadcrumb-item a {
    color: #555555;
    text-decoration: none;
}

.breadcrumb-item a:hover {
    color: #222222;
    text-decoration: underline;
}

.breadcrumb-item.active {
    color: #999999;
}

/* Featured job border */
.card.border-dark {
    border-width: 2px !important;
}
