/*
 * Revaq public accessibility baseline.
 *
 * Responsibilities:
 * - visible skip link for keyboard users
 * - consistent focus indication
 * - reduced-motion preference support
 */

.revaq-skip-link {
    position: fixed;
    inset-block-start: 0.75rem;
    inset-inline-start: 0.75rem;
    z-index: 10000;

    max-width: calc(100vw - 1.5rem);
    transform: translateY(-200%);

    border: 2px solid #d4af37;
    border-radius: 0.75rem;

    background: #0c2627;
    color: #ffffff;

    padding: 0.75rem 1rem;

    font-weight: 800;
    line-height: 1.5;

    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
    transition: transform 160ms ease;
}

.revaq-skip-link:focus,
.revaq-skip-link:focus-visible {
    transform: translateY(0);

    outline: 3px solid #ffffff;
    outline-offset: 3px;
}

#main-content:focus {
    outline: none;
}

:where(
    a,
    button,
    input,
    select,
    textarea,
    summary,
    [tabindex]:not([tabindex="-1"])
):focus-visible {
    outline: 3px solid #b45309;
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
