/* Modal Styles */
.modal-overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,.45);
  display:none; align-items:center; justify-content:center;
  z-index:9999;
}
.modal-overlay.show{display:flex;}

.modal-box{
  height:450px;
  background:#fff;
  width:100%; max-width:560px;
  border-radius:14px;
  box-shadow:0 30px 80px rgba(0,0,0,.3);
  overflow:auto;
  padding-bottom:25px;
}

.modal-header{
  padding:16px 20px;
  border-bottom:1px solid #e5e7eb;
  display:flex; justify-content:space-between; align-items:center;
}
.modal-header button{background:none;border:none;font-size:22px;cursor:pointer;}

.modal-body{padding:20px;}

.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:14px;
}
.form-group label{
  display:block;font-size:13px;font-weight:600;margin-bottom:6px;
}
.form-group input,.form-group textarea{
  width:100%;padding:12px 14px;
  border-radius:10px;border:1px solid #e5e7eb;
}
.form-group.full{grid-column:1 / -1;}

.btn-primary.full{width:100%;padding:14px;}

.status-text{color:#b91c1c;font-size:13px;margin-bottom:10px;}

.thankyou{
  display:none;text-align:center;padding:30px;
}
.thankyou i{font-size:36px;color:#22c55e;margin-bottom:10px;}

@media(max-width:768px){
  .form-row{grid-template-columns:1fr;}
}