/*!
 * Themeasy — Modal Popup
 *
 * A trigger (button / text / image) plus a native <dialog>. The dialog owns
 * focus trapping, Esc and the ::backdrop; this stylesheet gives it the card
 * look, the blurred overlay and the entrance transition. The open/close
 * transition runs between the dialog's `[open]` rest state and the JS-applied
 * `.is-open` state (transform + opacity only, so paint stays composited), with
 * a per-animation modifier choosing the direction. On the editor canvas the
 * dialog is a plain div shown inline (`--editor-open`) so its box stays
 * stylable; with no JS the browser still opens the native dialog; under reduced
 * motion every transition is dropped.
 *
 * Tokens consumed: --tms-primary-color, --tms-heading-color, --tms-body-color,
 * --tms-border-color, --tms-radius-md, --tms-radius-lg, --tms-radius-pill
 * (public --tms-* design API).
 *
 * @author Themeasy
 * @link https://themeasy.co
 * @since 1.0.0
 */
.tms-modal-popup{--tms-modal-popup-max-width:560px;--tms-modal-popup-title-spacing:.75rem;--tms-modal-popup-overlay:#0f172a8c;--tms-modal-popup-overlay-blur:6px;--tms-modal-popup-duration:.32s;--tms-modal-popup-ease:cubic-bezier(.16, 1, .3, 1)}.tms-modal-popup__trigger-wrap{justify-content:flex-start;display:flex}.tms-modal-popup__trigger{max-width:100%;font:inherit;cursor:pointer;align-items:center;gap:.5em;margin:0;text-decoration:none;transition:color .2s,background-color .2s,border-color .2s;display:inline-flex}.tms-modal-popup__trigger--button{border-radius:var(--tms-radius-pill,999px);color:#fff;background-color:var(--tms-primary-color,#5b6cff);border:1px solid #0000;padding:.75em 1.5em;font-weight:600;line-height:1.2}.tms-modal-popup__trigger--text{color:var(--tms-primary-color,#5b6cff);text-underline-offset:.2em;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.tms-modal-popup__trigger--image{background:0 0;border:0;padding:0}.tms-modal-popup__trigger-image{border-radius:var(--tms-radius-md,10px);width:240px;max-width:100%;height:auto;display:block}.tms-modal-popup__trigger-icon{flex:none;font-size:1em;line-height:1;display:inline-flex}.tms-modal-popup__trigger-icon svg{fill:currentColor;width:1em;height:1em}.tms-modal-popup__trigger-icon svg[fill=none]{fill:none;stroke:currentColor}.tms-modal-popup__trigger-icon img{width:1em;height:1em}.tms-modal-popup__dialog{width:min(var(--tms-modal-popup-max-width), calc(100vw - 2rem));border:1px solid var(--tms-border-color,#0f172a1a);border-radius:var(--tms-radius-lg,16px);background-color:var(--tms-surface-color,#fff);max-width:100%;max-height:calc(100dvh - 2rem);color:var(--tms-body-color,#4b5563);overscroll-behavior:contain;margin:auto;padding:2rem;overflow:auto}.tms-modal-popup__dialog::backdrop{background-color:var(--tms-modal-popup-overlay);-webkit-backdrop-filter:blur(var(--tms-modal-popup-overlay-blur));backdrop-filter:blur(var(--tms-modal-popup-overlay-blur))}.tms-modal-popup__box{position:relative}.tms-modal-popup__dialog[open],.tms-modal-popup__dialog.is-open{transition:opacity var(--tms-modal-popup-duration) var(--tms-modal-popup-ease), transform var(--tms-modal-popup-duration) var(--tms-modal-popup-ease)}.tms-modal-popup__dialog[open]{opacity:0}.tms-modal-popup__dialog[open]::backdrop{opacity:0;transition:opacity var(--tms-modal-popup-duration) var(--tms-modal-popup-ease)}.tms-modal-popup__dialog.is-open{opacity:1;transform:none}.tms-modal-popup__dialog.is-open::backdrop{opacity:1}.tms-modal-popup--anim-scale .tms-modal-popup__dialog[open]:not(.is-open){transform:translateY(8px)scale(.94)}.tms-modal-popup--anim-slide-up .tms-modal-popup__dialog[open]:not(.is-open){transform:translateY(28px)}.tms-modal-popup--anim-slide-down .tms-modal-popup__dialog[open]:not(.is-open){transform:translateY(-28px)}.tms-modal-popup__close{z-index:2;cursor:pointer;width:2em;height:2em;color:var(--tms-heading-color,#111827);background-color:#0000;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.125rem;line-height:1;transition:color .2s,background-color .2s;display:inline-flex;position:absolute;top:-.5rem}.tms-modal-popup__close:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:-.5rem}.tms-modal-popup__close:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:-.5rem}.tms-modal-popup__close:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:-.5rem}.tms-modal-popup__close:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:-.5rem}.tms-modal-popup__close:focus-visible{outline:2px solid var(--tms-primary-color,#5b6cff);outline-offset:2px}.tms-modal-popup__close-icon{fill:none;stroke:currentColor;stroke-width:2px;pointer-events:none;width:1em;height:1em}.tms-modal-popup__image{margin:0 0 var(--tms-modal-popup-image-spacing,1.25rem);overflow:hidden}.tms-modal-popup__image-img{width:100%;height:auto;aspect-ratio:var(--tms-modal-popup-image-ratio,auto);object-fit:cover;display:block}.tms-modal-popup__title{margin:0 0 var(--tms-modal-popup-title-spacing);color:var(--tms-heading-color,#111827);padding-inline-end:1.5rem;font-size:1.5rem;font-weight:600;line-height:1.25}.tms-modal-popup__content{color:var(--tms-body-color,#4b5563);font-size:1rem;line-height:1.65}.tms-modal-popup__content>:first-child{margin-block-start:0}.tms-modal-popup__content>:last-child{margin-block-end:0}.tms-modal-popup__content a{color:var(--tms-primary-color,#5b6cff)}.tms-modal-popup--static:not(.tms-modal-popup--editor-open) .tms-modal-popup__dialog{display:none}.tms-modal-popup--editor-open .tms-modal-popup__dialog{width:var(--tms-modal-popup-max-width);opacity:1;max-height:none;margin-block-start:1.25rem;margin-inline-start:0;margin-inline-end:0;display:block;position:static;transform:none}@media (prefers-reduced-motion:reduce){.tms-modal-popup__dialog[open],.tms-modal-popup__dialog.is-open,.tms-modal-popup__trigger,.tms-modal-popup__close{transition:none}.tms-modal-popup__dialog[open]::backdrop{transition:none}.tms-modal-popup__dialog[open]:not(.is-open){transform:none}}@media (max-width:767px){.tms-modal-popup__dialog{padding:1.5rem}.tms-modal-popup__title{font-size:1.25rem}}