/* 508 Compliance CSS - Screen Reader Only Labels */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Additional accessibility improvements */
.visually-hidden {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.link-508-compliant,
a.link-508-compliant {
    color: #005ea2 !important;
}

.link-508-compliant:hover,
a.link-508-compliant:hover {
    color: #0050a0 !important;
    text-decoration: underline;
}

.link-508-compliant:visited,
a.link-508-compliant:visited {
    color: #54278f !important;
}

.link-508-compliant:focus,
a.link-508-compliant:focus {
    outline: 2px solid #005ea2;
    outline-offset: 2px;
}