/* Shared modal layer: always above the WordPress theme and its sticky header. */
.omni-generatory :is(
  .modalBackdrop,
  .modal-overlay,
  .dop-modal-backdrop,
  .dsl-modal-backdrop,
  .ai-modal-overlay,
  .gallery-modal-backdrop,
  .modal-backdrop
) {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.omni-generatory dialog::backdrop {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.omni-generatory-sortowanie .modalBackdrop,
.omni-generatory-rozsypanka-literowa .modalBackdrop,
.omni-generatory-rozsypanka-wyrazowa .modalBackdrop,
.omni-generatory-wykreslanki .modalBackdrop,
.omni-generatory-zachowaj-rownowage .modalBackdrop {
  z-index: 2147483000 !important;
}

.omni-generatory-sortowanie .modal,
.omni-generatory-rozsypanka-literowa .modal,
.omni-generatory-rozsypanka-wyrazowa .modal,
.omni-generatory-wykreslanki .modal,
.omni-generatory-zachowaj-rownowage .modal,
.omni-generatory-bingo .modal-overlay,
.omni-generatory-domino .modal-overlay,
.omni-generatory-dopasowywanie .dop-modal,
.omni-generatory-duble-slowne .dsl-modal,
.omni-generatory-dyktanda .ai-modal,
.omni-generatory-krzyzowki .modal,
.omni-generatory-schemat-wyrazu .schemat-modal,
.omni-generatory-sekwencje .modal,
.omni-generatory-sudoku .gallery-modal,
.omni-generatory-dodawanie-na-obrazkach .modal,
.omni-generatory-polacz-kropki .modal,
.omni-generatory-sprawdziany .modal-backdrop {
  z-index: 2147483000 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(24px, 5vh, 64px) 16px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

.omni-generatory-sortowanie .modal,
.omni-generatory-rozsypanka-literowa .modal,
.omni-generatory-rozsypanka-wyrazowa .modal,
.omni-generatory-wykreslanki .modal,
.omni-generatory-zachowaj-rownowage .modal {
  z-index: 2147483001 !important;
}

.omni-generatory-sortowanie .modalCard,
.omni-generatory-rozsypanka-literowa .modalCard,
.omni-generatory-rozsypanka-wyrazowa .modalCard,
.omni-generatory-wykreslanki .modalCard,
.omni-generatory-zachowaj-rownowage .modalCard,
.omni-generatory-bingo .modal-overlay .modal,
.omni-generatory-domino .modal-container,
.omni-generatory-dopasowywanie .dop-dialog,
.omni-generatory-duble-slowne .dsl-dialog,
.omni-generatory-dyktanda .ai-modal-dialog,
.omni-generatory-krzyzowki .modal-dialog,
.omni-generatory-schemat-wyrazu .modal-dialog,
.omni-generatory-sekwencje .modal-content,
.omni-generatory-sudoku .gallery-modal-dialog,
.omni-generatory-dodawanie-na-obrazkach .modalCard,
.omni-generatory-polacz-kropki .modal-inner,
.omni-generatory-sprawdziany .modal {
  max-height: calc(100dvh - 48px) !important;
}

.omni-generatory-sortowanie .modalCard,
.omni-generatory-rozsypanka-literowa .modalCard,
.omni-generatory-rozsypanka-wyrazowa .modalCard,
.omni-generatory-wykreslanki .modalCard,
.omni-generatory-zachowaj-rownowage .modalCard {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.omni-generatory-sortowanie .modalBody,
.omni-generatory-rozsypanka-literowa .modalBody,
.omni-generatory-rozsypanka-wyrazowa .modalBody,
.omni-generatory-wykreslanki .modalBody,
.omni-generatory-zachowaj-rownowage .modalBody {
  min-height: 0;
  overflow-y: auto;
}

.omni-generatory-sudoku .gallery-modal:not([hidden]) {
  display: grid;
  place-items: center;
}

.omni-generatory-sudoku .gallery-modal-dialog {
  margin: 0;
}

/* Native dialogs already use the browser top layer; remove their old top offset. */
.omni-generatory-zadania-z-trescia .ai-dialog[open],
.omni-generatory-ja-mam-kto-ma .jmk-ai-dialog[open] {
  margin: auto;
  max-height: calc(100dvh - 48px);
}
