/* KMV Forms – popup */
html.kmvf-modal-lock, html.kmvf-modal-lock body{ overflow:hidden; }

.kmvf-modal{
	position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center;
	padding:24px 16px; visibility:hidden; opacity:0; transition:opacity .25s ease, visibility 0s linear .25s;
}
.kmvf-modal.is-open{ visibility:visible; opacity:1; transition-delay:0s; }
.kmvf-modal-backdrop{
	position:absolute; inset:0;
	background:linear-gradient(160deg, rgba(4,32,61,.82) 0%, rgba(11,42,74,.78) 50%, rgba(0,90,156,.72) 100%);
	-webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);
}
.kmvf-modal-box{
	position:relative; width:680px; max-width:100%; max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px);
	overflow:auto; overscroll-behavior:contain; outline:0;
	background:#fff; border-radius:22px; box-shadow:0 30px 80px rgba(0,0,0,.35);
	transform:translateY(18px) scale(.98); transition:transform .3s cubic-bezier(.2,.8,.2,1);
}
.kmvf-modal.is-open .kmvf-modal-box{ transform:none; }
.kmvf-modal-body{ padding:0 32px 30px; }

.kmvf-modal-head{
	margin:0 -32px 24px; padding:30px 72px 24px 32px; color:#fff;
	background:
		radial-gradient(420px 200px at 100% 0%, rgba(255,255,255,.18), transparent 70%),
		linear-gradient(120deg,#005a9c 0%,#0077bd 55%,#0a86cf 100%);
}
.kmvf-modal-head h3{ margin:0; color:#fff; font-size:clamp(20px,2.4vw,26px); font-weight:700; line-height:1.25; }
.kmvf-modal-head p{ margin:8px 0 0; color:rgba(255,255,255,.86); font-size:14.5px; line-height:1.6; }

.kmvf-modal-close{
	position:absolute; top:16px; right:16px; z-index:2; width:40px; height:40px; min-height:0; margin:0; padding:0;
	display:inline-flex; align-items:center; justify-content:center; border-radius:50%;
	background:rgba(255,255,255,.16); color:#fff; border:1px solid rgba(255,255,255,.3); cursor:pointer;
	transition:background .2s ease, transform .2s ease;
}
.kmvf-modal-close:hover{ background:rgba(255,255,255,.28); transform:rotate(90deg); }

.kmvf-modal-loading{ display:flex; justify-content:center; padding:70px 0 50px; }
.kmvf-modal-loading .kmvf-spinner{
	display:block; position:static; margin:0; width:34px; height:34px; border-radius:50%;
	border:3px solid #d6e6f2; border-top-color:#007dbe; animation:kmvf-modal-spin .8s linear infinite;
}
@keyframes kmvf-modal-spin{ to{ transform:rotate(360deg); } }
.kmvf-modal-error{ margin:40px 0 10px; text-align:center; color:#d93036; }

@media (max-width:549px){
	.kmvf-modal{ padding:0; align-items:flex-end; }
	.kmvf-modal-box{ width:100%; max-height:92vh; max-height:92dvh; border-radius:20px 20px 0 0; transform:translateY(40px); }
	.kmvf-modal-body{ padding:0 18px 22px; }
	.kmvf-modal-head{ margin:0 -18px 20px; padding:24px 64px 20px 18px; }
	.kmvf-modal-close{ top:14px; right:14px; }
	.kmvf-modal .kmvf-grid{ grid-template-columns:1fr; }
	.kmvf-modal .kmvf-field.kmvf-half{ grid-column:1 / -1; }
}
@media (prefers-reduced-motion:reduce){
	.kmvf-modal, .kmvf-modal-box{ transition:none; }
}
