.dc-popup{position:fixed;inset:0;z-index:var(--dcp-z,99999);display:none;align-items:center;justify-content:center;padding:var(--dcp-off-top,0) var(--dcp-off-right,0) var(--dcp-off-bottom,0) var(--dcp-off-left,0);box-sizing:border-box;pointer-events:none}
.dc-popup[hidden]{display:none}
.dc-popup.is-opening,
.dc-popup.is-open,
.dc-popup.is-closing,
.dc-popup--editor {
    display: flex;
}

/* Prevent interaction while the modal is closing. */
.dc-popup.is-closing .dc-popup-dialog,
.dc-popup.is-closing .dc-popup-backdrop {
    pointer-events: none;
}
.dc-popup-backdrop{position:absolute;inset:0;background:var(--dcp-backdrop,#000);opacity:0;-webkit-backdrop-filter:blur(var(--dcp-backdrop-blur,0));backdrop-filter:blur(var(--dcp-backdrop-blur,0));transition:opacity var(--dcp-duration,300ms) var(--dcp-easing,ease)}
.dc-popup-dialog{position:relative;box-sizing:border-box;width:var(--dcp-width,600px);min-width:var(--dcp-min-width,0);max-width:var(--dcp-max-width,92vw);height:var(--dcp-height,auto);max-height:var(--dcp-max-height,90vh);overflow:var(--dcp-overflow,auto);padding:var(--dcp-padding,2em);border:var(--dcp-border-width,0) var(--dcp-border-style,solid) var(--dcp-border-color,transparent);border-radius:var(--dcp-radius,8px);box-shadow:var(--dcp-shadow,none);background-color:var(--dcp-bg,#fff);background-image:var(--dcp-bg-image,none);background-position:var(--dcp-bg-pos,center);background-size:var(--dcp-bg-size,cover);background-repeat:var(--dcp-bg-repeat,no-repeat);font-size:var(--dcp-font-size,inherit);font-weight:var(--dcp-font-weight,inherit);line-height:var(--dcp-line-height,inherit);text-align:var(--dcp-text-align,inherit);color:var(--dcp-text-color,inherit);opacity:0;pointer-events:auto;transition:opacity var(--dcp-duration,300ms) var(--dcp-easing,ease),transform var(--dcp-duration,300ms) var(--dcp-easing,ease)}
.dc-popup-dialog a{color:var(--dcp-link-color,inherit)}
.dc-popup.is-open .dc-popup-backdrop{opacity:var(--dcp-backdrop-opacity,.6);pointer-events:auto;transition-delay:var(--dcp-delay,0ms)}
.dc-popup.is-open .dc-popup-dialog{opacity:1;transform:none;transition-delay:var(--dcp-delay,0ms)}
/* entrance start states */
.dc-popup-anim--zoom .dc-popup-dialog{transform:scale(.9)}
.dc-popup-anim--slide-top .dc-popup-dialog{transform:translateY(-40px)}
.dc-popup-anim--slide-bottom .dc-popup-dialog{transform:translateY(40px)}
.dc-popup-anim--slide-left .dc-popup-dialog{transform:translateX(-40px)}
.dc-popup-anim--slide-right .dc-popup-dialog{transform:translateX(40px)}
.dc-popup-anim--rotate .dc-popup-dialog{transform:rotate(-6deg) scale(.92)}
.dc-popup-anim--flip .dc-popup-dialog{transform:perspective(900px) rotateX(-18deg)}
/* exit variants */
.dc-popup--out-fade .dc-popup-dialog{transform:none!important}
.dc-popup--out-none .dc-popup-backdrop,.dc-popup--out-none .dc-popup-dialog{transition:none!important}
/* types */
.dc-popup--slide-in{align-items:flex-end;justify-content:flex-end}
.dc-popup--fullscreen .dc-popup-dialog{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0}
.dc-popup--bar-top{align-items:flex-start}
.dc-popup--bar-bottom{align-items:flex-end}
.dc-popup--bar-top .dc-popup-dialog,.dc-popup--bar-bottom .dc-popup-dialog{width:100%;max-width:100%;border-radius:0}
.dc-popup--bar-top .dc-popup-backdrop,.dc-popup--bar-bottom .dc-popup-backdrop{display:none}
/* explicit alignment overrides */
.dc-popup-h--start{justify-content:flex-start}.dc-popup-h--center{justify-content:center}.dc-popup-h--end{justify-content:flex-end}
.dc-popup-v--start{align-items:flex-start}.dc-popup-v--center{align-items:center}.dc-popup-v--end{align-items:flex-end}
/* close button */
.dc-popup-close{position:absolute;top:.5rem;right:.5rem;width:var(--dcp-r-close-size,var(--dcp-close-size,40px));height:var(--dcp-r-close-size,var(--dcp-close-size,40px));border:0;border-radius:var(--dcp-close-radius,50%);background:var(--dcp-close-bg,transparent);color:var(--dcp-r-close-color,var(--dcp-close-color,inherit));font-size:calc(var(--dcp-r-close-size,var(--dcp-close-size,40px)) * .7);line-height:1;cursor:pointer;padding:0}
.dc-popup-close--tl .dc-popup-close{right:auto;left:.5rem}
/* .dc-popup-close:hover,.dc-popup-close:focus-visible{background:var(--dcp-close-hover-bg,rgba(0,0,0,.08))} */
html.dc-popup-lock{overflow:hidden}
/* responsive (values are only set when the editor filled them in) */
@media (max-width:1024px){
 .dc-popup-dialog{width:var(--dcp-width-t,var(--dcp-width,600px));padding:var(--dcp-padding-t,var(--dcp-padding,2em))}
}
@media (max-width:767px){
 .dc-popup-dialog{width:var(--dcp-width-m,var(--dcp-width-t,var(--dcp-width,600px)));max-width:var(--dcp-max-width-m,var(--dcp-max-width,92vw));padding:var(--dcp-padding-m,var(--dcp-padding-t,var(--dcp-padding,2em)))}
 .dc-popup--fullscreen .dc-popup-dialog,.dc-popup--bar-top .dc-popup-dialog,.dc-popup--bar-bottom .dc-popup-dialog{width:100%}
 .dc-popup-close{width:var(--dcp-r-close-size,var(--dcp-close-size-m,var(--dcp-close-size,40px)));height:var(--dcp-r-close-size,var(--dcp-close-size-m,var(--dcp-close-size,40px)))}
}
@media (prefers-reduced-motion:reduce){.dc-popup-backdrop,.dc-popup-dialog{transition:none!important;transform:none!important}}
/* ===== Builder preview: native attr-designated Setup toggle =====
   Off: hide overlay AND its hit area so the rest of Cornerstone is editable.
   On: use the iframe viewport, matching the actual frontend modal preview.
   Outside click / X / Escape dismiss via editor-only JS, not public JS.
   Note: the builder toolbar and Inspector live outside the preview iframe.
*/
.dc-popup.dc-popup--editor,
.dc-popup.dc-popup--editor.is-open,
.dc-popup.dc-popup--editor.is-opening,
.dc-popup.dc-popup--editor.is-closing {
  display: none !important;
  position: relative !important;
  inset: auto !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Full-screen only while explicitly On and not dismissed in the editor. */
.dc-popup.dc-popup--editor[data-dcp-preview-enabled="1"]:not(.dc-popup--preview-dismissed),
.dc-popup.dc-popup--editor[data-dcp-preview-enabled="true"]:not(.dc-popup--preview-dismissed) {
  display: flex !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: auto !important;
  z-index: 2147482000 !important;
  isolation: isolate;
}

.dc-popup.dc-popup--editor[data-dcp-preview-enabled="1"]:not(.dc-popup--preview-dismissed) .dc-popup-backdrop,
.dc-popup.dc-popup--editor[data-dcp-preview-enabled="true"]:not(.dc-popup--preview-dismissed) .dc-popup-backdrop {
  display: block;
  opacity: var(--dcp-backdrop-opacity, .5);
  pointer-events: auto;
  transition: none;
  z-index: 0;
}
.dc-popup.dc-popup--editor[data-dcp-preview-enabled="1"]:not(.dc-popup--preview-dismissed) .dc-popup-dialog,
.dc-popup.dc-popup--editor[data-dcp-preview-enabled="true"]:not(.dc-popup--preview-dismissed) .dc-popup-dialog {
  display: block;
  opacity: 1;
  transform: none;
  pointer-events: auto;
  transition: none;
  z-index: 1;
}
/* While closed, disable the entire overlay subtree, not only the parent. */
.dc-popup.dc-popup--editor:not([data-dcp-preview-enabled="1"]):not([data-dcp-preview-enabled="true"]) .dc-popup-backdrop,
.dc-popup.dc-popup--editor:not([data-dcp-preview-enabled="1"]):not([data-dcp-preview-enabled="true"]) .dc-popup-dialog,
.dc-popup.dc-popup--editor.dc-popup--preview-dismissed .dc-popup-backdrop,
.dc-popup.dc-popup--editor.dc-popup--preview-dismissed .dc-popup-dialog {
  display: none !important;
  pointer-events: none !important;
}

/* Design values (padding / border / radius / shadow).
 * PHP writes the base-breakpoint values of the native Design controls as --dcp-d-* variables, so
 * they work even before Cornerstone's generated stylesheet loads. The generated per-element
 * selector (.eXX-X .dc-popup-dialog) is more specific and still wins for responsive overrides. */
.dc-popup .dc-popup-dialog {
  padding: var(--dcp-d-padding, var(--dcp-design-padding, var(--dcp-padding, 2em)));
  border-width: var(--dcp-d-bw, var(--dcp-border-width, 0));
  border-style: var(--dcp-d-bs, var(--dcp-border-style, solid));
  border-color: var(--dcp-d-bc, var(--dcp-border-color, transparent));
  border-radius: var(--dcp-d-radius, var(--dcp-radius, 0));
  box-shadow: var(--dcp-d-shadow, var(--dcp-shadow, none));
}

/* While open the overlay itself must receive clicks (backdrop click-to-close). Bars stay click-through. */
.dc-popup.is-open { pointer-events: auto; }
.dc-popup--bar-top.is-open,
.dc-popup--bar-bottom.is-open { pointer-events: none; }

/* Close button: pinned to the popup's corner */
.dc-popup .dc-popup-close {
  top: 0;
  right: 0;
  left: auto;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding: var(--dcp-close-offset, 8px 10px) !important;
  box-sizing: border-box;
  line-height: 1;
}

/* "Top left" option from the Inspector */
/* Close button: pinned to the corner, X drawn with CSS so its position is exact */
.dc-popup .dc-popup-close{top:0;right:0;left:auto;font-size:0;line-height:0;padding:0}
.dc-popup.dc-popup-close--tl .dc-popup-close{left:0;right:auto}
.dc-popup .dc-popup-close::before,
.dc-popup .dc-popup-close::after{content:"";position:absolute;top:calc(40% - 1px);right:19%;width:42%;height:2px;border-radius:1px;background:currentColor;pointer-events:none}
.dc-popup.dc-popup-close--tl .dc-popup-close::before,
.dc-popup.dc-popup-close--tl .dc-popup-close::after{right:auto;left:19%}
.dc-popup .dc-popup-close::before{transform:rotate(45deg)}
.dc-popup .dc-popup-close::after{transform:rotate(-45deg)}