body.modal-open{overflow:hidden}

body .kgv-modal{
  position:fixed;
  inset:0;
  z-index:200001 !important;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(23,34,52,.65);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease, visibility .2s ease;
}

body .kgv-modal.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

body .kgv-modal .modal-dialog{
  position:relative;
  z-index:200002;
  pointer-events:auto;
  background:#fff;
  border-radius:14px;
  max-width:960px;
  width:100%;
  max-height:92vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  box-shadow:0 15px 65px rgba(15,23,42,.35);
}

body .kgv-modal .modal-header{
  padding:16px 22px;
  border-bottom:1px solid #e5e9f0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

body .kgv-modal .modal-header h4,
body .kgv-modal .modal-header h5{
  margin:0;
  font-size:18px;
}

body .kgv-modal .modal-close,
body .kgv-modal .btn-close{
  border:0;
  background:none;
  font-size:22px;
  cursor:pointer;
  color:#64748b;
}

body .kgv-modal .modal-body{
  padding:18px 22px;
  overflow:auto;
  flex:1;
}

body .kgv-modal .modal-footer{
  padding:16px 22px;
  border-top:1px solid #e5e9f0;
  display:flex;
  gap:10px;
  justify-content:flex-end;
}

@media (max-width: 767px) {
  body .kgv-modal{padding:10px}
  body .kgv-modal .modal-dialog{max-height:96vh;border-radius:10px}
}
