.wwx-skip-link {
    position: fixed;
    top: var(--wwx-space-3);
    left: var(--wwx-space-3);
    z-index: 10000;
    max-width: calc(100vw - 1.5rem);
    padding: var(--wwx-space-3) var(--wwx-space-4);
    color: var(--wwx-color-white);
    background: var(--wwx-color-forest-600);
    border: 2px solid currentColor;
    border-radius: var(--wwx-radius-md);
    box-shadow: var(--wwx-shadow-md);
    font-weight: 700;
    text-decoration: none;
    transform: translateY(calc(-100% - 2rem));
    transition: transform var(--wwx-motion-fast) var(--wwx-ease-standard);
}

.wwx-skip-link:focus {
    color: var(--wwx-color-white);
    transform: translateY(0);
}

.wwx-theme :where(
    a,
    button,
    input,
    select,
    textarea,
    [tabindex]:not([tabindex="-1"])
):focus-visible {
    outline: 3px solid var(--wwx-color-forest-300);
    outline-offset: 3px;
}

.wwx-theme .wwx-icon-button,
.wwx-theme .btn-close {
    min-width: 2.75rem;
    min-height: 2.75rem;
}

.wwx-theme :where(button, a)[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.65;
}

@media (forced-colors: active) {
    .wwx-skip-link,
    .wwx-theme :focus-visible {
        border-color: ButtonText;
        outline-color: Highlight;
    }
}

@media print {
    .wwx-skip-link,
    #wwx-status-polite,
    #wwx-status-assertive {
        display: none !important;
    }
}
