/* Окно отклика прокручивается как форма авторского тура: сама подложка,
   а не узкая колонка внутри белой карточки. */
.vacancy-dialog,
.vacancy-dialog[open] {
  position: fixed;
  inset: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 20px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
}
.vacancy-dialog:not([open]) { display: none; }
.vacancy-dialog[open] { display: flex; flex-direction: column; align-items: center; }
.vacancy-dialog::-webkit-scrollbar { display: none; }
.vacancy-dialog::backdrop { background: rgba(23, 44, 77, .55); }
.vacancy-dialog-window {
  box-sizing: border-box;
  flex: none;
  width: min(100%, 560px);
  margin: auto;
  padding: 34px;
  border-radius: var(--radius-md);
  background: var(--white);
  box-shadow: var(--shadow-lg);
}
body:has(.vacancy-dialog[open]) { overflow: hidden; }
@media (max-width: 600px) {
  .vacancy-dialog { padding: 16px; }
  .vacancy-dialog-window { padding: 24px 20px; }
}
