/* Hide validation summary when valid */
.validation-summary-valid {
    display: none !important;
}

/*
 * Monochrome theme: primary (blue) is remapped to dark greys site-wide.
 * Semantic colors (success/warning/danger) are intentionally untouched.
 */
:root {
    --bs-link-color: #212529;
    --bs-link-color-rgb: 33, 37, 41;
    --bs-link-hover-color: #000;
    --bs-link-hover-color-rgb: 0, 0, 0;
}

.btn-primary {
    --bs-btn-bg: #212529;
    --bs-btn-border-color: #212529;
    --bs-btn-hover-bg: #424649;
    --bs-btn-hover-border-color: #373b3e;
    --bs-btn-active-bg: #4d5154;
    --bs-btn-active-border-color: #373b3e;
    --bs-btn-disabled-bg: #6c757d;
    --bs-btn-disabled-border-color: #6c757d;
    --bs-btn-focus-shadow-rgb: 66, 70, 73;
}

.btn-outline-primary {
    --bs-btn-color: #212529;
    --bs-btn-border-color: #212529;
    --bs-btn-hover-bg: #212529;
    --bs-btn-hover-border-color: #212529;
    --bs-btn-active-bg: #212529;
    --bs-btn-active-border-color: #212529;
    --bs-btn-disabled-color: #6c757d;
    --bs-btn-disabled-border-color: #6c757d;
    --bs-btn-focus-shadow-rgb: 66, 70, 73;
}

.text-primary {
    color: #212529 !important;
}

.bg-primary {
    background-color: #212529 !important;
}

.bg-primary-subtle {
    background-color: #e9ecef !important;
}

.text-bg-primary {
    color: #fff !important;
    background-color: #212529 !important;
}

.form-control:focus,
.form-select:focus {
    border-color: #adb5bd;
    box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.15);
}

.form-check-input:focus {
    border-color: #adb5bd;
    box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.15);
}

.form-check-input:checked {
    background-color: #212529;
    border-color: #212529;
}

.form-switch .form-check-input:focus:not(:checked) {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23adb5bd'/%3e%3c/svg%3e");
}

.list-group-item.active {
    background-color: #212529;
    border-color: #212529;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: #212529;
}

.page-link {
    color: #212529;
}

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

.alert-primary {
    --bs-alert-color: #212529;
    --bs-alert-bg: #e9ecef;
    --bs-alert-border-color: #ced4da;
    --bs-alert-link-color: #000;
}

.progress-bar {
    background-color: #212529;
}
