/* ------------------------------------------------------------
   FSV 63 Luckenwalde – Accessibility-Basis
   Sichtbare Tastaturbedienung, Skip-Link und Reduced Motion.
------------------------------------------------------------ */

.fsv63-skip-link {
    position: fixed;
    left: 16px;
    top: 16px;
    z-index: 100000;
    transform: translateY(-140%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 12px 18px;
    border: 2px solid #ffd419;
    border-radius: 999px;
    background: #061428;
    color: #fff !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .32);
    font-size: 13px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
    text-decoration: none !important;
    opacity: 0;
    pointer-events: none;
    transition: transform .18s ease, opacity .18s ease;
}

.fsv63-skip-link:focus,
.fsv63-skip-link:focus-visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
    outline: 3px solid #fff;
    outline-offset: 3px;
}

.fsv63-a11y-ready a:focus-visible,
.fsv63-a11y-ready button:focus-visible,
.fsv63-a11y-ready input:focus-visible,
.fsv63-a11y-ready select:focus-visible,
.fsv63-a11y-ready textarea:focus-visible,
.fsv63-a11y-ready summary:focus-visible,
.fsv63-a11y-ready [tabindex]:not([tabindex="-1"]):focus-visible {
    outline: 3px solid #ffd419;
    outline-offset: 3px;
    box-shadow: 0 0 0 6px rgba(6, 20, 40, .42);
}

.fsv63-a11y-ready a:focus:not(:focus-visible),
.fsv63-a11y-ready button:focus:not(:focus-visible),
.fsv63-a11y-ready input:focus:not(:focus-visible),
.fsv63-a11y-ready select:focus:not(:focus-visible),
.fsv63-a11y-ready textarea:focus:not(:focus-visible) {
    outline: none;
}

.fsv63-a11y-ready [id="content"]:focus,
.fsv63-a11y-ready main:focus {
    outline: none;
}

.fsv63-a11y-ready .screen-reader-text:focus {
    left: 12px;
    top: 12px;
    z-index: 100000;
    width: auto;
    height: auto;
    padding: 12px 16px;
    clip: auto;
    clip-path: none;
    border-radius: 12px;
    background: #061428;
    color: #fff;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .32);
}

@media (prefers-reduced-motion: reduce) {
    .fsv63-a11y-ready *,
    .fsv63-a11y-ready *::before,
    .fsv63-a11y-ready *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
    }
}
