/* Shared, non-invasive foundations for historical and private CNBA pages. */
:root {
    --cnba-color-primary: #0077bc;
    --cnba-color-success: #155724;
    --cnba-color-warning: #664d03;
    --cnba-color-danger: #b00020;
    --cnba-color-surface: #ffffff;
    --cnba-radius-sm: 4px;
    --cnba-space-1: 5px;
    --cnba-space-2: 10px;
    --cnba-space-3: 12px;
    --cnba-space-4: 16px;
    --cnba-focus-ring: 3px solid #ffbf47;
}

.legacy-ds-message {
    border: 1px solid currentColor;
    border-left-width: 6px;
    border-radius: var(--cnba-radius-sm);
    margin: var(--cnba-space-4) 0;
    padding: var(--cnba-space-3) var(--cnba-space-4);
}

.legacy-ds-message--success { color: var(--cnba-color-success); }
.legacy-ds-message--warning { color: var(--cnba-color-warning); }
.legacy-ds-message--danger { color: var(--cnba-color-danger); }

.legacy-ds-private-banner {
    margin: 0;
    height: 120px;
    background: rgb(0, 70, 139) url(/assets/images/banner.jpg) left top no-repeat;
}

.legacy-ds-hidden-heading {
    color: #336699;
    text-align: center;
    display: none;
}

.legacy-ds-listing-title {
    padding-top: 10px;
    padding-left: 10px;
}

.legacy-ds-listing-logo {
    float: left;
    margin: -15px 10px 0 -5px;
}

.legacy-ds-clear-left { clear: left; }
.legacy-ds-return { float: right; padding-right: 10px; }
.legacy-ds-return a { color: orange; }

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
    outline: var(--cnba-focus-ring);
    outline-offset: 2px;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible) {
    outline: none;
}

html[data-cnba-input-modality="pointer"] a:focus,
html[data-cnba-input-modality="pointer"] button:focus,
html[data-cnba-input-modality="pointer"] input:focus,
html[data-cnba-input-modality="pointer"] select:focus,
html[data-cnba-input-modality="pointer"] textarea:focus {
    outline: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: var(--cnba-focus-ring);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
