/* Плавающие элементы управления используют общий отступ от нижней границы и закреплённых панелей */
:root {
    --quick-tickets-floating-controls-bottom: 16px;
    --quick-tickets-floating-controls-inline-start: 16px;
    --quick-tickets-floating-controls-inline-start: max(16px, env(safe-area-inset-left));
}

.quick-tickets-scroll-top {
    position: fixed;
    right: 16px;
    bottom: var(--quick-tickets-floating-controls-bottom);
    bottom: max(var(--quick-tickets-floating-controls-bottom), env(safe-area-inset-bottom));
    z-index: 1020;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--quick-tickets-touch-target);
    height: var(--quick-tickets-touch-target);
    padding: 0;
    border: 1px solid var(--quick-tickets-color-brand);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 4px 14px rgba(54, 54, 54, 0.2);
    color: var(--quick-tickets-color-brand);
    font-size: 20px;
    line-height: 1;
    transition: background-color 150ms ease, box-shadow 150ms ease, color 150ms ease;
}

.quick-tickets-scroll-top[hidden] {
    display: none !important;
}

.quick-tickets-scroll-top:hover,
.quick-tickets-scroll-top:focus {
    border-color: var(--quick-tickets-color-brand-hover);
    background: var(--quick-tickets-color-brand);
    box-shadow: 0 6px 18px rgba(54, 54, 54, 0.26);
    color: #ffffff;
}

/* При загруженном чате кнопка вверх располагается слева от его пусковой кнопки */
body.quick-tickets-floating-controls-ready.Verbox-initialized .quick-tickets-scroll-top {
    right: 68px;
}

/* В мобильном режиме встроенного зала правая область остаётся свободной для его навигации */
body.quick-tickets-floating-controls-ready.quick-tickets-mobile-hall .quick-tickets-scroll-top {
    right: auto;
    left: var(--quick-tickets-floating-controls-inline-start);
}

body.quick-tickets-floating-controls-ready.quick-tickets-mobile-hall.Verbox-initialized .quick-tickets-scroll-top {
    right: auto;
    left: calc(var(--quick-tickets-floating-controls-inline-start) + 52px);
}

/* Пусковая кнопка Verbox получает постоянный размер и не перекрывает системные слои сайта */
body.quick-tickets-floating-controls-ready .online-chat-root.online-chat-root-Verbox #supportTrigger.trigger {
    right: 16px !important;
    bottom: var(--quick-tickets-floating-controls-bottom) !important;
    bottom: max(var(--quick-tickets-floating-controls-bottom), env(safe-area-inset-bottom)) !important;
    z-index: 1020 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--quick-tickets-touch-target) !important;
    min-width: var(--quick-tickets-touch-target) !important;
    max-width: var(--quick-tickets-touch-target) !important;
    height: var(--quick-tickets-touch-target) !important;
    min-height: var(--quick-tickets-touch-target) !important;
    max-height: var(--quick-tickets-touch-target) !important;
    border: 2px solid rgba(255, 255, 255, 0.96) !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: 0 4px 14px rgba(54, 54, 54, 0.22) !important;
    line-height: 0 !important;
    transition: box-shadow 150ms ease !important;
}

body.quick-tickets-floating-controls-ready.quick-tickets-mobile-hall .online-chat-root.online-chat-root-Verbox #supportTrigger.trigger {
    right: auto !important;
    left: var(--quick-tickets-floating-controls-inline-start) !important;
}

body.quick-tickets-floating-controls-ready .online-chat-root.online-chat-root-Verbox #supportTrigger.trigger:hover,
body.quick-tickets-floating-controls-ready .online-chat-root.online-chat-root-Verbox #supportTrigger.trigger:focus {
    box-shadow: 0 6px 18px rgba(54, 54, 54, 0.3) !important;
    outline: 2px solid var(--quick-tickets-color-focus) !important;
    outline-offset: 2px !important;
}

body.quick-tickets-floating-controls-ready .online-chat-root.online-chat-root-Verbox #supportTrigger .trigger-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    overflow: hidden !important;
    border-radius: 50% !important;
    line-height: 0 !important;
}

body.quick-tickets-floating-controls-ready .online-chat-root.online-chat-root-Verbox #supportTrigger .trigger-image img {
    min-width: 40px !important;
    max-width: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    border-radius: 50% !important;
}

/* При модальном или полноэкранном сценарии плавающие элементы не перекрывают основное действие */
body.modal-open .quick-tickets-scroll-top,
body.order-code-viewer-open .quick-tickets-scroll-top,
body.modal-open .online-chat-root.online-chat-root-Verbox,
body.order-code-viewer-open .online-chat-root.online-chat-root-Verbox {
    visibility: hidden !important;
    pointer-events: none !important;
}

@media (max-width: 980px) {
    /* Уведомление о cookies остаётся единственным плавающим элементом до выбора пользователя */
    body.quick-tickets-cookie-notification-visible .quick-tickets-scroll-top,
    body.quick-tickets-cookie-notification-visible .online-chat-root.online-chat-root-Verbox {
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

@media (max-width: 767.999px) {
    /* Во время ввода плавающие кнопки не перекрывают поля и экранную клавиатуру */
    body.quick-tickets-site-input-active .quick-tickets-scroll-top,
    body.quick-tickets-site-input-active .online-chat-root.online-chat-root-Verbox #supportTrigger {
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

@media print {
    .quick-tickets-scroll-top,
    body .online-chat-root.online-chat-root-Verbox {
        display: none !important;
    }
}
