/*
 * CIRMI 7.7.0: единая система слоёв интерфейса.
 *
 * Правило простое: меню находится выше обычного содержимого, но ниже любого
 * полноценного диалога, формы, галереи или окна отзывов. Значения намеренно
 * невысокие: огромный z-index у родителя создаёт стековый контекст, который
 * невозможно корректно перекрыть дочерними элементами внешних плагинов.
 */

:root {
    --cirmi-layer-content: 0;
    --cirmi-layer-floating-content: 900;
    --cirmi-layer-header: 1000;
    --cirmi-layer-sticky-nav: 1100;
    --cirmi-layer-header-popup: 1200;
    --cirmi-layer-header-tooltip: 1300;
    --cirmi-layer-mobile-backdrop: 1400;
    --cirmi-layer-mobile-nav: 1410;
    --cirmi-layer-adminbar: 100000;
    --cirmi-layer-modal-backdrop: 200000;
    --cirmi-layer-modal: 200010;
    --cirmi-layer-lightbox: 200020;
}

/* Шапка и её собственные плавающие элементы. */
.cirmi-site-header {
    z-index: var(--cirmi-layer-header) !important;
}

.cirmi-navbar.is-sticky,
.mainmenu-wrapper.stricky-fixed {
    z-index: var(--cirmi-layer-sticky-nav) !important;
}

.cirmi-site-nav__list .sub-menu,
.mainmenu-holder .nav-header,
.cirmi-header-search-panel,
.ya-site-form__popup,
.ya-site-form__suggest,
.b-autocomplete {
    z-index: var(--cirmi-layer-header-popup) !important;
}

.cirmi-floating-tooltip,
.cirmi-copy-toast,
.cirmi-ui-tooltip {
    z-index: var(--cirmi-layer-header-tooltip) !important;
}

@media (max-width: 1279px) {
    .cirmi-nav-backdrop {
        z-index: var(--cirmi-layer-mobile-backdrop) !important;
    }

    .cirmi-site-nav {
        z-index: var(--cirmi-layer-mobile-nav) !important;
    }
}

body.admin-bar #wpadminbar {
    z-index: var(--cirmi-layer-adminbar) !important;
}

/* Второстепенные плавающие кнопки не должны спорить с меню. */
.scroll-to-top {
    z-index: var(--cirmi-layer-floating-content) !important;
}

/*
 * Когда внешний диалог уже открыт, шапка дополнительно опускается в локальном
 * стеке. Это страхует нестандартные виджеты отзывов с невысоким z-index.
 */
body.cirmi-external-dialog-open .cirmi-site-header,
body.pum-open-overlay .cirmi-site-header,
body.pum-open-scrollable .cirmi-site-header,
body.fancybox-lock .cirmi-site-header,
body.modal-open .cirmi-site-header,
body.mfp-zoom-out-cur .cirmi-site-header,
body.elementor-lightbox-open .cirmi-site-header {
    z-index: 10 !important;
}

body.cirmi-external-dialog-open .cirmi-floating-tooltip,
body.cirmi-external-dialog-open .cirmi-copy-toast,
body.cirmi-external-dialog-open .cirmi-ui-tooltip,
body.pum-open-overlay .cirmi-floating-tooltip,
body.pum-open-overlay .cirmi-copy-toast,
body.pum-open-overlay .cirmi-ui-tooltip,
body.fancybox-lock .cirmi-floating-tooltip,
body.fancybox-lock .cirmi-copy-toast,
body.fancybox-lock .cirmi-ui-tooltip,
body.modal-open .cirmi-floating-tooltip,
body.modal-open .cirmi-copy-toast,
body.modal-open .cirmi-ui-tooltip {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Popup Maker: онлайн-заявка и другие формы сайта. */
.pum-overlay,
.pum-overlay.pum-active {
    z-index: var(--cirmi-layer-modal-backdrop) !important;
}


/* Галереи и окна изображений старой темы. */
.fancybox-overlay,
.fancybox-lock .fancybox-overlay {
    z-index: var(--cirmi-layer-modal-backdrop) !important;
}

.fancybox-wrap,
.fancybox-opened {
    z-index: var(--cirmi-layer-lightbox) !important;
}

/* Bootstrap Modal. */
.modal-backdrop,
.modal-backdrop.show,
.modal-backdrop.in {
    z-index: var(--cirmi-layer-modal-backdrop) !important;
}

.modal,
.modal.show,
.modal.in {
    z-index: var(--cirmi-layer-modal) !important;
}

/* Другие распространённые механизмы модальных окон и отзывов. */
.mfp-bg,
.ui-widget-overlay,
.dialog-widget-overlay {
    z-index: var(--cirmi-layer-modal-backdrop) !important;
}

.mfp-wrap,
.ui-dialog,
.dialog-widget,
.dialog-type-lightbox,
.elementor-lightbox,
.elementor-popup-modal,
.pswp {
    z-index: var(--cirmi-layer-lightbox) !important;
}

/* Всплывающие окна, которые корректно размечены как диалоги. */
body > [role="dialog"][aria-modal="true"],
body > [aria-modal="true"] {
    z-index: var(--cirmi-layer-modal) !important;
}

/*
 * Не создаём общий селектор вида [class*="review"]. Он ломал бы карточки
 * отзывов на самой странице. Динамическое окно определяется JavaScript по
 * фактической видимости и семантике диалога.
 */
