/* A-06 safe contrast, focus, link, and control-state improvements. */
:where(a, button, input, select, textarea, summary, [role="button"], [tabindex]):focus-visible {
    outline: 3px solid #ffbf47 !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 5px #1a1a1a !important;
}

.keyboard-main-target:focus {
    outline: 3px solid #005fcc !important;
    outline-offset: 3px !important;
}

.form-control:focus,
.form-select:focus,
.custom-select:focus {
    border-color: #005fcc !important;
    box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.35) !important;
}

input::placeholder,
textarea::placeholder {
    color: #5c636a;
    opacity: 1;
}

:where(button, input, select, textarea, .btn):disabled,
:where(button, input, select, textarea, .btn)[aria-disabled="true"] {
    color: #495057 !important;
    background-color: #e9ecef !important;
    border-color: #6c757d !important;
    opacity: 1 !important;
    cursor: not-allowed;
}

.alert-danger {
    color: #842029;
    background-color: #f8d7da;
    border-color: #842029;
}

.alert-success {
    color: #0f5132;
    background-color: #d1e7dd;
    border-color: #0f5132;
}

.invalid-feedback,
.errMsg,
.text-danger {
    color: #b02a37 !important;
}

.valid-feedback,
.text-success {
    color: #146c43 !important;
}

.alert a,
.form-text a,
.card-body p a,
.modal-body a:not(.btn) {
    text-decoration: underline;
    text-decoration-thickness: 0.12em;
    text-underline-offset: 0.16em;
}
