/*======================================================================
MF-19

ACCESSIBILITY FOUNDATION
Version : 3.0

======================================================================*/

.ms-modal{
position:fixed;
inset:0;
z-index:9000;
display:flex;
align-items:center;
justify-content:center;
opacity:0;
visibility:hidden;
pointer-events:none;
transition:
opacity var(--ms-transition-normal),
visibility var(--ms-transition-normal);
}

.ms-modal.is-open{
opacity:1;
visibility:visible;
pointer-events:auto;
}

.ms-modal-backdrop{
position:absolute;
inset:0;
background:rgba(0,0,0,.65);
backdrop-filter:blur(4px);
}

.ms-modal-dialog{
position:relative;
display:flex;
flex-direction:column;
width:min(640px,92vw);
max-height:90vh;
overflow:hidden;
background:var(--ms-surface);
border:1px solid var(--ms-border);
border-radius:var(--ms-radius-xl);
box-shadow:var(--ms-shadow-xl);
transform:translateY(24px) scale(.98);
transition:
transform var(--ms-transition-normal);
z-index:2;
}

.ms-modal.is-open .ms-modal-dialog{
transform:none;
}

.ms-modal-sm .ms-modal-dialog{
width:min(420px,92vw);
}

.ms-modal-lg .ms-modal-dialog{
width:min(920px,94vw);
}

.ms-modal-full .ms-modal-dialog{
width:100vw;
height:100vh;
max-width:none;
max-height:none;
border-radius:0;
}

.ms-modal-header{
display:flex;
align-items:center;
justify-content:space-between;
padding:var(--ms-space-24);
border-bottom:1px solid var(--ms-border);
flex:0 0 auto;
}

.ms-modal-title{
margin:0;
font-size:var(--ms-h3);
font-weight:700;
color:var(--ms-white);
}

.ms-modal-close{
display:flex;
align-items:center;
justify-content:center;
width:40px;
height:40px;
border:none;
background:transparent;
color:var(--ms-text);
cursor:pointer;
border-radius:var(--ms-radius-md);
transition:background var(--ms-transition-fast);
}

.ms-modal-close:hover{
background:rgba(255,255,255,.06);
}

.ms-modal-body{
padding:var(--ms-space-24);
overflow:auto;
flex:1 1 auto;
}

.ms-modal-footer{
display:flex;
justify-content:flex-end;
gap:var(--ms-space-12);
padding:var(--ms-space-24);
border-top:1px solid var(--ms-border);
flex:0 0 auto;
}

@media(max-width:767px){

.ms-modal-dialog{
width:94vw;
max-height:94vh;
}

.ms-modal-header,
.ms-modal-body,
.ms-modal-footer{
padding:var(--ms-space-20);
}

.ms-modal-footer{
flex-direction:column;
}

.ms-modal-footer>*{
width:100%;
}

}

@media(prefers-reduced-motion:reduce){

.ms-modal,
.ms-modal-dialog{
transition:none;
}

}
