.modal-overlay{position:fixed;inset:0;background:var(--overlay-bg,rgba(0,0,0,.7));backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--gap-m);z-index:var(--z-modal,9999);opacity:0;visibility:hidden;transition:opacity var(--transition-modal),visibility var(--transition-modal);overflow-y:auto}.modal-overlay-open{opacity:1;visibility:visible}.modal-overlay-closing{opacity:0;transition:opacity var(--transition-modal)}.modal-overlay--fullscreen{padding:var(--side-padding);align-items:stretch;justify-content:stretch}.modal-content--fullscreen{width:100%;height:100%;max-width:var(--block-xxl-width,1940px);margin:0 auto;display:flex;flex-direction:column;overflow:hidden}.modal-overlay[data-animation]{--modal-motion-duration:var(--duration-modal,250ms);--modal-motion-easing:var(--ease-accelerate,ease-in);opacity:1;visibility:visible;background:rgba(0,0,0,0);backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);transition:background-color var(--modal-motion-duration) ease-out,backdrop-filter var(--modal-motion-duration) ease-out,-webkit-backdrop-filter var(--modal-motion-duration) ease-out}.modal-overlay[data-animation]>.modal-content{opacity:0;transition:opacity var(--modal-motion-duration) var(--modal-motion-easing),transform var(--modal-motion-duration) var(--modal-motion-easing),filter var(--modal-motion-duration) var(--modal-motion-easing)}.modal-overlay[data-animation][data-animation=slide-up]>.modal-content{transform:translateY(calc(50dvh + 50%))}.modal-overlay[data-animation][data-animation=scale-blur]>.modal-content{transform:scale(.5);filter:blur(20px)}.modal-overlay[data-animation].modal-overlay-open{--modal-motion-easing:var(--ease-decelerate,ease-out);background:var(--overlay-bg,rgba(0,0,0,.7));backdrop-filter:blur(var(--modal-backdrop-blur,4px));-webkit-backdrop-filter:blur(var(--modal-backdrop-blur,4px))}.modal-overlay[data-animation].modal-overlay-open[data-animation=scale-blur],.modal-overlay[data-animation].modal-overlay-open[data-animation=slide-up]{--modal-motion-duration:var(--duration-slow,500ms);--modal-motion-easing:var(--ease-elastic,cubic-bezier(0.5,1.5,0.5,1))}.modal-overlay[data-animation].modal-overlay-open>.modal-content{opacity:1;transform:none;filter:none}.modal-overlay[data-animation][data-animation=none],.modal-overlay[data-animation][data-animation=none]>.modal-content{transition:none}@media(prefers-reduced-motion:reduce){.modal-overlay[data-animation],.modal-overlay[data-animation]>.modal-content{transition:none}}