/* === Skip-Links (.wbs-booking__a11y-skip-link) === */
.wbs-booking__a11y-skip-link {
    position: absolute;
    left: -9999px;
}

.wbs-booking__a11y-skip-link:focus {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    padding: 1rem;
    background: #0066cc;
    color: white;
    font-weight: bold;
}

/* === Focus-Visible Styles === */
*:focus-visible {
    outline: 3px solid #0066cc;
    outline-offset: 2px;
}

.wbs-booking__wizard *:focus-visible {
    outline-color: #ff9800; /* Spezifische Ring-Farbe fuer den Wizard */
}

:focus:not(:focus-visible) {
    outline: none;
}

/* === Touch-Targets === */
.wbs-booking__button,
.wbs-booking__link {
    min-height: 44px;
    min-width: 44px;
    padding: calc(1rem - (44px - 2rem) / 2); /* Anpassung des Paddings */
}

/* === Reduced Motion === */
@media (prefers-reduced-motion: reduce) {
    * {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* === High Contrast === */
@media (prefers-contrast: more) {
    *,
    *::before,
    *::after {
        border: 2px solid !important;
        color: black !important;
        background-color: white !important;
    }
}

@media (forced-colors: active) {
    *,
    *::before,
    *::after {
        outline-style: solid !important;
        outline-width: 1px !important;
        border-style: solid !important;
        border-width: 2px !important;
    }

    .wbs-booking__button,
    .wbs-booking__link {
        background-color: CanvasText !important;
        color: Canvas !important;
    }
}

/* === Live Region (.wbs-booking__a11y-live-region) === */
.wbs-booking__a11y-live-region {
    position: absolute;
    clip: rect(0 0 0 0);
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
}
