/* ld_modal_window — <dialog> propio */
dialog.epic-modal{
  --modal-bg:#fff;--modal-close-color:#000;--modal-width:min(92vw,820px);
  --modal-ease:cubic-bezier(.3,1,.6,1);
  box-sizing:border-box;padding:0;margin:auto;border:0;max-width:none;max-height:none;
  background:var(--modal-bg);color:inherit;overflow:auto;overscroll-behavior:contain}
dialog.epic-modal:not([open]){display:none}
dialog.epic-modal::backdrop{background:rgba(0,0,0,.8);opacity:0;transition:opacity .35s}
dialog.epic-modal.is-open::backdrop{opacity:1}
html.epic-modal-open{overflow:hidden}

.epic-modal .lqd-modal-inner{position:relative}
.epic-modal .lqd-modal-head h2{margin:0 0 1.25em;padding-bottom:1em;border-bottom:1px solid rgba(0,0,0,.15);font-size:1.5em}
.epic-modal-close{
  all:unset;box-sizing:border-box;position:absolute;top:14px;inset-inline-end:14px;z-index:5;
  display:inline-grid;place-content:center;width:44px;height:44px;border-radius:50%;cursor:pointer;
  font-size:24px;color:var(--modal-close-color);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  transition:transform .3s var(--modal-ease),background-color .3s}
.epic-modal-close:hover{transform:rotate(90deg);background-color:rgba(0,0,0,.06)}
.epic-modal-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}

/* Normal / caja */
dialog.epic-modal[data-modal-type=default],dialog.epic-modal[data-modal-type=box]{
  width:var(--modal-width);max-height:90dvh;border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.35);
  opacity:0;transform:translateY(30px) scale(.98);transition:opacity .35s var(--modal-ease),transform .45s var(--modal-ease)}
dialog.epic-modal[data-modal-type=box]{--modal-width:min(92vw,600px)}
dialog.epic-modal[data-modal-type=default] .lqd-modal-inner,dialog.epic-modal[data-modal-type=box] .lqd-modal-inner{padding:25px 2em}
dialog.epic-modal[data-modal-type=default].is-open,dialog.epic-modal[data-modal-type=box].is-open{opacity:1;transform:none}

/* Pantalla completa: telón de arriba hacia abajo + contenido que sube */
dialog.epic-modal[data-modal-type=fullscreen]{
  inset:0;width:100vw;height:100vh;height:100dvh;margin:0;
  clip-path:inset(0 0 100% 0);transition:clip-path .8s cubic-bezier(.95,0,.15,1)}
dialog.epic-modal[data-modal-type=fullscreen]::backdrop{background:transparent}
dialog.epic-modal[data-modal-type=fullscreen] .epic-modal-close{position:fixed;top:30px;inset-inline-end:30px}
dialog.epic-modal[data-modal-type=fullscreen] .lqd-modal-inner,
dialog.epic-modal[data-modal-type=fullscreen] .lqd-modal-content{min-height:100%}
dialog.epic-modal[data-modal-type=fullscreen] .lqd-modal-inner{opacity:0;transform:translate3d(0,50px,0);transition:opacity .4s,transform .4s var(--modal-ease)}
dialog.epic-modal[data-modal-type=fullscreen].is-open{clip-path:inset(0)}
dialog.epic-modal[data-modal-type=fullscreen].is-open .lqd-modal-inner{opacity:1;transform:none;transition:opacity .65s .45s var(--modal-ease),transform .65s .45s var(--modal-ease)}
dialog.epic-modal[data-modal-type=fullscreen].is-closing{transition-duration:.6s}

@media (max-width:767px){dialog.epic-modal[data-modal-type=fullscreen] .epic-modal-close{top:14px;inset-inline-end:14px}}
@media (prefers-reduced-motion:reduce){
  dialog.epic-modal,dialog.epic-modal .lqd-modal-inner,dialog.epic-modal::backdrop{transition:none!important}}

/* Editor de Elementor */
.epic-modal-editor-tag{display:inline-flex;gap:.5em;align-items:center;padding:6px 10px;font:12px/1.4 system-ui,sans-serif;
  background:#f1f3f5;color:#333;border:1px dashed #aab;border-radius:4px}
.epic-modal-editor-tag code{background:none;padding:0}
