/* Look-preserving accessibility helpers (WCAG 2.1 AA — non-contrast) */

.skip-link.sr-only-focusable:focus,
.skip-link.sr-only-focusable:active {
    position: absolute;
    left: 0.5rem;
    top: 0.5rem;
    z-index: 1050;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
    padding: 0.75rem 1rem;
    background: #fff;
    color: #212529;
    text-decoration: underline;
    box-shadow: 0 0 0 0.2rem rgba(120, 54, 140, 0.35);
}

.btn-reset {
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    line-height: inherit;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

button.closebtn.btn-reset {
    font-size: inherit;
    line-height: 1;
}

button.nav-link-btn {
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    text-align: inherit;
    appearance: none;
    -webkit-appearance: none;
}

/* Match Bootstrap nav-link button appearance used for filters */
.blog-nav .nav-link.nav-link-btn {
    display: block;
    width: 100%;
    padding: 0.5rem 1rem;
    text-decoration: none;
}

.a11y-fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}

.a11y-fieldset > legend {
    display: block;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0.5rem;
    padding: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    white-space: normal;
}

.gallery-thumb-btn {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.gallery-thumb-btn img {
    display: block;
    width: 100%;
}

main#main-content:focus {
    outline: none;
}

main#main-content:focus-visible {
    outline: 2px solid #78368C;
    outline-offset: 2px;
}
