.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Global Focus Indicators for WCAG AAA */
:focus-visible {
    outline: 3px solid #000000 !important;
    outline-offset: 2px !important;
}

.dark :focus-visible {
    outline: 3px solid #FFFFFF !important;
}

/* Utility to ensure clickable area */
.clickable-target {
    min-width: 24px;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Heading Link Pattern */
.heading-link-card {
    position: relative;
}

.heading-link-card .primary-link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 10;
}

.heading-link-card button,
.heading-link-card a:not(.primary-link) {
    position: relative;
    z-index: 20;
}

