.booking-guide[hidden],
.booking-guide [hidden] { display: none !important; }

.booking-guide__launcher {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 9990;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 16px;
    border: 0;
    border-radius: 999px;
    background: #13253d;
    color: #fff;
    box-shadow: 0 8px 24px rgba(12, 30, 49, .25);
    font: 700 14px/1.2 'Open Sans', sans-serif;
    cursor: pointer;
}

.booking-guide__launcher:hover,
.booking-guide__launcher:focus-visible { background: #254a70; color: #fff; }
.booking-guide__launcher i { font-size: 17px; }
.booking-guide__shade {
    position: fixed;
    z-index: 100000;
    border: 4px solid #f6bf4e;
    border-radius: 12px;
    box-shadow: 0 0 0 9999px rgba(9, 24, 39, .64);
    pointer-events: none;
}
.booking-guide__target {
    scroll-margin: 32px;
}
.booking-guide__dialog {
    position: fixed;
    z-index: 100002;
    width: min(360px, calc(100vw - 28px));
    padding: 20px;
    border-radius: 16px;
    background: #fff;
    color: #13253d;
    box-shadow: 0 18px 60px rgba(0, 0, 0, .26);
    font-family: 'Open Sans', sans-serif;
}
.booking-guide__chooser {
    position: fixed;
    z-index: 100002;
    right: 20px;
    bottom: 76px;
    width: min(350px, calc(100vw - 28px));
    padding: 22px;
    border: 1px solid #dce4eb;
    border-radius: 16px;
    background: #fff;
    color: #13253d;
    box-shadow: 0 18px 60px rgba(0, 0, 0, .24);
    font-family: 'Open Sans', sans-serif;
}
.booking-guide__chooser h2 { margin: 0 24px 8px 0; color: #13253d; font-size: 19px; line-height: 1.3; }
.booking-guide__chooser p { margin: 0 0 18px; color: #526579; font-size: 13px; line-height: 1.5; }
.booking-guide__chooser-close { position: absolute; top: 10px; right: 14px; border: 0; background: transparent; color: #526579; font-size: 26px; cursor: pointer; }
.booking-guide__choice { display: block; width: 100%; margin-top: 9px; padding: 11px 14px; border: 1px solid #13253d; border-radius: 9px; background: #13253d; color: #fff; font: 700 13px/1.3 'Open Sans', sans-serif; text-align: left; cursor: pointer; }
.booking-guide__choice--secondary { border-color: #cbd5df; background: #fff; color: #13253d; }
.booking-guide__choice:hover { filter: brightness(1.1); }
.booking-guide__topline,
.booking-guide__actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.booking-guide__progress { color: #526579; font-size: 12px; font-weight: 700; }
.booking-guide__close { border: 0; background: transparent; color: #526579; font-size: 27px; line-height: 1; cursor: pointer; }
.booking-guide__dialog h2 { margin: 12px 0 8px; color: #13253d; font-size: 19px; line-height: 1.3; }
.booking-guide__dialog p { margin: 0 0 20px; color: #3c4f62; font-size: 14px; line-height: 1.55; }
.booking-guide__actions button { min-height: 38px; padding: 8px 14px; border-radius: 9px; font-size: 13px; font-weight: 700; cursor: pointer; }
.booking-guide__back { border: 1px solid #d2dae3; background: #fff; color: #32465c; }
.booking-guide__back:disabled { opacity: .45; cursor: default; }
.booking-guide__next { border: 1px solid #13253d; background: #13253d; color: #fff; }
.booking-guide__next:hover { background: #254a70; }
.booking-guide__next:disabled { opacity: .45; cursor: default; }
.booking-guide__dialog button:focus-visible,
.booking-guide__chooser button:focus-visible,
.booking-guide__launcher:focus-visible { outline: 3px solid #f6bf4e; outline-offset: 2px; }
@media (max-width: 640px) {
    .booking-guide__launcher { right: 12px; bottom: 84px; padding: 12px; }
    .ah-userpanel-route .booking-guide__launcher { bottom: 92px; }
    .booking-guide__launcher span { display: inline; font-size: 12px; }
    .booking-guide__dialog { left: 14px !important; top: auto !important; bottom: 90px; }
    .booking-guide__chooser { right: 14px; bottom: 145px; }
}
@media (prefers-reduced-motion: reduce) {
    .booking-guide__target { scroll-behavior: auto; }
}
