.vp-modal-open,.vp-modal-open body{overflow:hidden}
.vp-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(10,10,46,.78);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:vp-modal-in .2s ease-out}
.vp-modal__box{box-sizing:border-box;width:100%;max-width:520px;max-height:calc(100vh - 32px);overflow:auto;padding:36px 32px 30px;border-radius:22px;background:#fff;color:#0A0A2E;text-align:center;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.vp-modal__icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:#2E9E5B;color:#fff;font-size:40px;font-weight:700;line-height:1}
.vp-modal .vp-modal__title{margin:0 0 10px;font-family:inherit;font-size:26px;font-weight:800;line-height:1.25;color:#0A0A2E}
.vp-modal .vp-modal__lead{margin:0 0 20px;font-size:16px;line-height:1.5;color:#3a3a5c}
.vp-modal .vp-modal__sum{margin:0 0 18px;padding:14px 18px;border-radius:14px;background:#F3EEFA;text-align:left}
.vp-modal__row{display:flex;gap:12px;padding:6px 0;border-bottom:1px solid rgba(107,45,176,.14)}
.vp-modal__row:last-child{border-bottom:0}
.vp-modal .vp-modal__row dt{flex:0 0 108px;margin:0;font-size:14px;font-weight:600;color:#6B2DB0}
.vp-modal .vp-modal__row dd{flex:1;margin:0;font-size:15px;font-weight:600;line-height:1.4;color:#0A0A2E;word-break:break-word}
.vp-modal .vp-modal__mail{margin:0 0 22px;font-size:14px;line-height:1.5;color:#3a3a5c}
.vp-modal .vp-modal-btn{display:inline-flex;align-items:center;justify-content:center;min-width:180px;height:52px;padding:0 28px;border:0;border-radius:999px;background:#E91E8C;color:#fff !important;font-family:inherit;font-size:17px;font-weight:800;line-height:1;cursor:pointer;box-shadow:none;transition:background .15s,transform .15s}
.vp-modal .vp-modal-btn:hover,.vp-modal .vp-modal-btn:focus{background:#C9187A;color:#fff !important;transform:translateY(-1px)}
.vp-modal .vp-modal-btn:focus-visible{outline:3px solid #F9A825;outline-offset:3px}
@keyframes vp-modal-in{from{opacity:0}to{opacity:1}}

@media (max-width:560px){
	.vp-modal__box{padding:28px 20px 24px;border-radius:18px}
	.vp-modal__icon{width:60px;height:60px;font-size:32px;margin-bottom:14px}
	.vp-modal .vp-modal__title{font-size:22px}
	.vp-modal .vp-modal__lead{font-size:15px}
	.vp-modal__row{flex-direction:column;gap:2px}
	.vp-modal .vp-modal__row dt{flex:none;font-size:13px}
	.vp-modal .vp-modal-btn{width:100%}
}
