/* Globale A11y-Verbesserungen für alle öffentlichen Seiten */

:focus-visible {
    outline: 3px solid #00c851;
    outline-offset: 3px;
    border-radius: 6px;
}

.skip-link-global {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: 9999;
}

.skip-link-global:focus {
    left: 1rem;
    top: 1rem;
    width: auto;
    height: auto;
    padding: 0.75rem 1rem;
    background: #00c851;
    color: #ffffff;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 600;
}

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

/* Footer-Kontrast-Härtung */
footer.bg-gray-900,
footer.bg-apple-dark {
    background-color: #111827 !important;
    color: #ffffff !important;
}

footer.bg-gray-900 .text-gray-400,
footer.bg-apple-dark .text-gray-400 {
    color: #d1d5db !important;
}
