/* Keep the close control in the dialog's focus scope, above its scrolling surface. */
.mm-presentation {
  --mm-dialog-close-size: 44px;
  --mm-dialog-close-space: calc(var(--mm-dialog-close-size) + 8px);
  --mm-dialog-top: calc(var(--mm-dialog-close-space) + max(8px, env(safe-area-inset-top)));
  --mm-dialog-bottom: max(12px, env(safe-area-inset-bottom));
}
.mm-presentation #rv-search {--mm-dialog-width: 640px}
.mm-presentation #rv-mobile-menu {--mm-dialog-width: 560px}
.mm-presentation :is(#rv-search, #rv-mobile-menu, .mm-editor-bio)[open] {
  position: fixed;
  inset: 0;
  display: block;
  box-sizing: border-box;
  width: min(var(--mm-dialog-width, 580px), calc(100% - 32px));
  height: fit-content;
  max-height: none;
  margin: auto;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}
.mm-dialog-surface {
  display: flow-root;
  box-sizing: border-box;
  max-height: calc(100dvh - 2 * var(--mm-dialog-top));
  overflow: auto;
  overscroll-behavior: contain;
  color: #162941;
  background: #fff;
  border: 1px solid #c4d1db;
  border-radius: 14px;
  box-shadow: 0 14px 50px #071c3440;
}
#rv-mobile-menu .mm-dialog-surface {padding: 20px}
@media (max-height: 600px) {
  .mm-presentation :is(#rv-search, #rv-mobile-menu, .mm-editor-bio)[open] {
    inset-block: var(--mm-dialog-top) var(--mm-dialog-bottom);
  }
  .mm-dialog-surface {max-height: calc(100dvh - var(--mm-dialog-top) - var(--mm-dialog-bottom))}
}

/* Drupal creates the title and form as siblings in its own modal widget. */
.mm-presentation > .ui-widget-overlay.ui-front {z-index: 1400}
.mm-presentation .ui-dialog[aria-modal="true"] {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  max-width: calc(100% - 32px);
  max-height: calc(100dvh - var(--mm-dialog-bottom) - max(8px, env(safe-area-inset-top)));
  padding: var(--mm-dialog-close-space) 0 0;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.mm-presentation .ui-dialog[aria-modal="true"] > .ui-dialog-titlebar {
  position: static;
  flex: none;
  padding: 12px 18px;
  border-radius: 12px 12px 0 0;
}
.mm-presentation .ui-dialog[aria-modal="true"] > .ui-dialog-content {
  min-height: 0 !important; /* Override the widget's inline minimum on short screens. */
  overflow: auto;
  overscroll-behavior: contain;
  background: white;
}
.mm-presentation .ui-dialog[aria-modal="true"] > :last-child {border-radius: 0 0 12px 12px}
.mm-presentation .ui-dialog[aria-modal="true"] > .ui-dialog-buttonpane {margin-top: 0; background: white}
.mm-presentation .ui-dialog[aria-modal="true"] .ui-dialog-titlebar-close span {display: none}

.mm-presentation :is(.mm-dialog-close, .ui-dialog[aria-modal="true"] .ui-dialog-titlebar-close) {
  position: absolute;
  top: calc(-1 * var(--mm-dialog-close-space));
  inset-inline-end: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  width: var(--mm-dialog-close-size);
  height: var(--mm-dialog-close-size);
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  border: 1px solid #cad6df;
  border-radius: 50%;
  background: #fff;
  color: #103f69;
  box-shadow: 0 2px 8px #0827482b;
  cursor: pointer;
}
.mm-presentation .ui-dialog[aria-modal="true"] .ui-dialog-titlebar-close {top: 0; font-size: 0}
.mm-presentation :is(.mm-dialog-close, .ui-dialog[aria-modal="true"] .ui-dialog-titlebar-close)::before,
.mm-presentation :is(.mm-dialog-close, .ui-dialog[aria-modal="true"] .ui-dialog-titlebar-close)::after {
  content: "";
  grid-area: 1 / 1;
  width: 19px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transform: rotate(45deg);
}
.mm-presentation :is(.mm-dialog-close, .ui-dialog[aria-modal="true"] .ui-dialog-titlebar-close)::after {
  transform: rotate(-45deg);
}
.mm-presentation :is(.mm-dialog-close, .ui-dialog[aria-modal="true"] .ui-dialog-titlebar-close):hover {background: #edf4f9}
.mm-presentation :is(.mm-dialog-close, .ui-dialog[aria-modal="true"] .ui-dialog-titlebar-close):focus-visible {outline: 3px solid #f6bd45; outline-offset: 2px}
