html.be-paypro-open { overflow: hidden; scrollbar-gutter: stable; }

#be-paypro-dialog {
  box-sizing: border-box;
  width: min(1180px, calc(100vw - 32px));
  height: calc(100vh - 128px);
  height: calc(100dvh - 128px);
  max-width: none;
  max-height: none;
  margin: auto;
  padding: 0;
  border: 1px solid #CFE2FF;
  border-radius: 0;
  background: #fff;
  color: #100C08;
  font: 16px/1.4 "Zilla Slab", Georgia, serif;
  overflow: hidden;
}
#be-paypro-dialog[open] { display: flex; flex-direction: column; }
#be-paypro-dialog::backdrop { background: rgb(16 12 8 / 55%); }
#be-paypro-dialog .be-paypro-header {
  position: absolute; top: 6px; right: 24px; z-index: 3;
  display: flex; margin: 0; padding: 0;
}
#be-paypro-dialog .be-paypro-close {
  position: relative; flex: none; display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; min-width: 44px; min-height: 44px; margin: 0; padding: 0;
  border: 0; border-radius: 8px;
  background: transparent; color: #100C08;
  font: 600 16px/1.25 "Zilla Slab", Georgia, serif;
  cursor: pointer; box-shadow: none; text-transform: none;
}
#be-paypro-dialog .be-paypro-close::before {
  content: ""; position: absolute; inset: 6px; border: 1.5px solid #100C08;
  border-radius: 8px; background: #fff;
}
#be-paypro-dialog .be-paypro-close svg { position: relative; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
#be-paypro-dialog .be-paypro-close:hover::before { background: #E7F3FF; }
#be-paypro-dialog a:focus-visible { outline: 2px solid #004DE5; outline-offset: 3px; }
#be-paypro-dialog .be-paypro-close:focus-visible { outline: none; }
#be-paypro-dialog .be-paypro-close:focus-visible::before { outline: 2px solid #004DE5; outline-offset: 2px; }
#be-paypro-dialog .be-paypro-help {
  flex: none; margin: 0; padding: 0 16px;
  border-top: 1px solid #CFE2FF; font-size: 14px;
  color: #646464; text-align: center;
}
#be-paypro-dialog .be-paypro-help a {
  display: inline-block; box-sizing: border-box; min-height: 44px; padding: 12px 0;
  color: #646464; text-decoration: underline; text-underline-offset: 3px;
}
#be-paypro-dialog .be-paypro-help a:hover { color: #004DE5; }
#be-paypro-dialog .be-paypro-body { position: relative; flex: 1; min-height: 0; }
#be-paypro-dialog iframe { display: block; width: 100%; height: 100%; border: 0; background: #fff; }
#be-paypro-dialog .be-paypro-loading {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  margin: 0; padding: 24px; background: #fff; text-align: center; pointer-events: none;
}
#be-paypro-dialog .be-paypro-loading[hidden] { display: none; }
@media (max-width: 600px) {
  #be-paypro-dialog {
    width: 100%; height: 100vh; height: 100dvh; margin: 0; border: 0;
  }
  #be-paypro-dialog .be-paypro-header { right: 20px; }
  #be-paypro-dialog .be-paypro-help { padding: 0 12px; }
}
