.has-card-link {
    position: relative;
}

.has-card-link .card-link__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
    text-decoration: none;
    color: inherit;
}

.has-card-link :where(a, button, input, select, textarea, label, summary, details, [tabindex]:not([tabindex="-1"])) {
    position: relative;
    z-index: 2;
}

.has-card-link:hover {
    cursor: pointer;
}

.has-card-link:has(.card-link__overlay:focus-visible) {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.has-card-link .card-link__overlay:focus {
    outline: none;
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}
