/* Form popups (framework/class.popups.php), replace PopupPress: same size, colours and overlay. */
.nb-dialog {
  width: min(640px, calc(100vw - 32px));
  max-height: calc(100vh - 64px);
  margin: 73px auto auto;
  padding: 30px 20px;
  overflow: auto;
  border: 0;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.6);
}

.nb-dialog::backdrop {
  background: rgba(189, 137, 81, 0.75);
}

html:has(.nb-dialog[open]) {
  overflow: hidden;
}

.nb-dialog__close {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}

.nb-dialog__close::before,
.nb-dialog__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 2px;
  background: #333;
}

.nb-dialog__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.nb-dialog__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.nb-dialog__close:focus-visible {
  outline: 2px solid #bd8951;
  outline-offset: 2px;
}

/* PopupPress set 16px on its content; the theme's headings scale from that */
.nb-dialog__body {
  font-size: 16px;
}

.nb-dialog__body h2 {
  margin: 10.88px 0;
  font-size: 27.2px;
  line-height: 1.3;
  letter-spacing: -0.04em;
}

.nb-dialog__body > .vc_row:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .nb-dialog {
    margin-top: 16px;
    max-height: calc(100vh - 32px);
    padding: 24px 16px;
  }
}
