/* Native modal semantics, with an explicit clickable outside area. */
dialog.dialog-layer {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
  animation: none !important;
  transform: none !important;
  box-sizing: border-box;
}
dialog.dialog-layer:not([open]) { display: none; }
dialog.dialog-layer[open] { display: grid; place-items: center; }
.dialog-surface {
  position: relative;
  width: min(560px, 100%);
  max-height: calc(100dvh - 32px);
  min-width: 0;
  padding: 32px;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #e1d3b5;
  border-radius: 16px;
  background: linear-gradient(140deg, #fffcf4, #f4ecd9);
  box-shadow: 0 30px 100px #32240a40;
  box-sizing: border-box;
}
.registration-page .dialog-surface > .eyebrow { font-size: 10px; letter-spacing: .2em; color: #9d7a48; }
.registration-page .dialog-surface > p { font-size: 12px; line-height: 1.8; }
#contact-dialog > .dialog-surface { width: min(450px, 100%); text-align: center; }
#poster-dialog > .dialog-surface { width: min(calc(46.125vh + 48px), 100%); padding: 24px; }
#detail-dialog > .dialog-surface { width: min(850px, 100%); }
@media (max-width: 599px) {
  .dialog-surface { padding: 27px 22px; }
}
