/**
 * Focus visibility: clearly visible focus on focusable elements.
 * - Focus indicator: border or outline at least 2px, minimum contrast ratio 3:1 (WCAG 2.1).
 * - Applied to alert/info/message boxes and their focusable controls (e.g. close button).
 *
 * Outline color #262626 on white/light backgrounds yields contrast > 12:1.
 */

/* Telekom/Components notification boxes and close button */
.notification-dismissible > .close:focus,
.notification-dismissible > .close.focus,
.notification-positive > .close:focus,
.notification-positive > .close.focus,
.notification-warning > .close:focus,
.notification-warning > .close.focus,
.notification-negative > .close:focus,
.notification-negative > .close.focus {
    outline: 2px solid #262626;
    outline-offset: 2px;
}

/* Notification container when it receives focus (e.g. tabindex="0") */
.notification:focus,
.notification-dismissible:focus,
.notification-positive:focus,
.notification-warning:focus,
.notification-negative:focus {
    outline: 2px solid #262626;
    outline-offset: 2px;
}

/* PrimeFaces messages (info, warn, error, fatal) – close button and message container */
body .ui-messages .ui-messages-close:focus,
body .ui-messages .ui-messages-info .ui-messages-close:focus,
body .ui-messages .ui-messages-warn .ui-messages-close:focus,
body .ui-messages .ui-messages-error .ui-messages-close:focus,
body .ui-messages .ui-messages-fatal .ui-messages-close:focus {
    outline: 2px solid #262626;
    outline-offset: 2px;
}

body .ui-messages > div:focus,
body .ui-messages .ui-messages-info:focus,
body .ui-messages .ui-messages-warn:focus,
body .ui-messages .ui-messages-error:focus,
body .ui-messages .ui-messages-fatal:focus {
    outline: 2px solid #262626;
    outline-offset: 2px;
}

/* PrimeFaces single message (ui-message) */
body .ui-message:focus,
body .ui-message.ui-message-info:focus,
body .ui-message.ui-message-warn:focus,
body .ui-message.ui-message-error:focus,
body .ui-message.ui-message-fatal:focus {
    outline: 2px solid #262626;
    outline-offset: 2px;
}

