#cwsPopupOverlay{
  position:fixed !important;
  inset:0 !important;
  background:rgba(0,0,0,0.6) !important;
  display:none;
  justify-content:center;
  align-items:center;
  z-index:999999 !important;
}

#cwsPopupOverlay{
  opacity:0;
  visibility:hidden;
  transition:0.3s ease;
}

#cwsPopupOverlay.active{
  opacity:1;
  visibility:visible;
  display:flex;
}

/* BODY LOCK */
body.cws-body-lock{
  overflow:hidden !important;
}

.cwsPopupCard{
  background:#fff;
  width:95%;
  max-width:900px;
  max-height:90vh;
  overflow-y:auto;
  border-radius:20px;
  padding:30px;
  position:relative;
}

#cwsClosePopup{
  position:absolute;
  top:15px;
  right:20px;
  font-size:24px;
  cursor:pointer;
}

.form-group{ margin-bottom:18px; }
label{ font-weight:600; font-size:14px; display:block; margin-bottom:6px; }

input,select,textarea{
  width:100%;
  padding:12px;
  border:1px solid #ddd;
  border-radius:10px;
  font-size:14px;
}

textarea{ resize:none; min-height:90px; }

.row{ display:flex; gap:15px; }
.row .form-group{ flex:1; }

.section-title{
  margin:25px 0 12px;
  font-weight:700;
  font-size:18px;
  color:#376299;
}

.hidden{ display:none; }

.submit-btn{
  width:100%;
  padding:14px;
  background:#376299;
  color:#fff;
  border:none;
  border-radius:12px;
  font-size:16px;
  cursor:pointer;
}

@media(max-width:768px){
  .row{ flex-direction:column; }
  .cwsPopupCard{ padding:20px; }
}

/* BUTTON LOADING STATE */
.submit-btn.loading{
  opacity:0.7;
  pointer-events:none;
  position:relative;
}

.submit-btn.loading::after{
  content:"";
  width:18px;
  height:18px;
  border:2px solid #fff;
  border-top:2px solid transparent;
  border-radius:50%;
  position:absolute;
  right:15px;
  top:50%;
  transform:translateY(-50%);
  animation:cws-spin 0.6s linear infinite;
}

@keyframes cws-spin{
  to{ transform:translateY(-50%) rotate(360deg); }
}