/**
 * Minimum 3:1 contrast for icons and graphic elements (form borders, frames, graphics that convey information).
 * WCAG 2.1 non-text contrast requirement. Values chosen to meet or exceed 3:1 on typical backgrounds.
 *
 * Reference: #767676 on #fff ≈ 4.5:1; #a0a0a0 on #fff ≈ 3.2:1; #595959 on #fff ≈ 7.5:1.
 */

/* ---- Form input / select borders (frames of form elements) ---- */
.form-input,
.form-select,
.form-select-js .form-select-js-choice,
.text-output-bordered {
    border-color: #767676;
}

.form-input.disabled,
.form-input.readonly,
.form-input[disabled],
.form-input[readonly],
.form-select.disabled,
.form-select.readonly,
.form-select[disabled],
.form-select[readonly],
.form-select-js[aria-disabled=true] .form-select-js-choice {
    border-color: #a0a0a0;
}

/* Telekom combobox / PrimeFaces select (components.css overrides) */
body .ui-selectonemenu.ui-state-hover:not(.ui-state-error),
.ui-selectonemenu span.ui-selectonemenu-label:hover,
.ui-selectonemenu label.ui-selectonemenu-label:hover {
    border-color: #767676;
}

/* ---- Checkbox / radio graphic elements (icons and borders) ---- */
.form-checkbox-js > .border,
.form-radio-js > .border {
    color: #767676;
}

.form-checkbox-js.disabled > .border:before,
.form-checkbox-js[disabled] > .border:before,
fieldset[disabled] .form-checkbox-js > .border:before,
.form-radio-js.disabled > .border:before,
.form-radio-js[disabled] > .border:before,
fieldset[disabled] .form-radio-js > .border:before {
    color: #595959;
}

/* Disabled option text: ensure 3:1 against list background */
.form-select-js-option-scroll-wrapper .form-select-js-options > li[aria-disabled=true] {
    color: #595959;
}

/* ---- Notification / message box borders ---- */
.notification {
    border-color: #767676;
}

/* ---- Pager, buttons (border as graphic frame) ---- */
.pager {
    border-color: #767676;
}

.pager.disabled,
.pager[disabled] {
    border-color: #a0a0a0;
}

/* ---- Pagination ---- */
.pagination > li > a {
    border-color: #767676;
}

.pagination > .disabled > a {
    border-color: #a0a0a0;
}

/* ---- Modal / dialog borders (telekom, parent) ---- */
.modal-content {
    border-color: #767676;
}

/* ---- PrimeFaces: ensure input/menu borders meet 3:1 (theme may use #a6a6a6 or #c8c8c8) ---- */
body .ui-inputfield:not(.ui-state-focus):not(.ui-state-error) {
    border-color: #767676;
}

body .ui-selectonemenu:not(.ui-state-focus):not(.ui-state-error) {
    border-color: #767676;
}

body .ui-chkbox .ui-chkbox-box,
body .ui-radiobutton .ui-radiobutton-box {
    border-color: #767676;
}

body .ui-chkbox .ui-chkbox-box.ui-state-disabled,
body .ui-radiobutton .ui-radiobutton-box.ui-state-disabled {
    border-color: #a0a0a0;
}
