.form-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
}
.form-modal.active{
  display:block;
}
.form-backdrop{
  position:absolute;
  inset:0;
  background:rgba(17,24,39,.62);
  backdrop-filter:blur(4px);
}
.form-dialog{
  position:relative;
  z-index:2;
  width:min(calc(100% - 24px), 760px);
  margin:50px auto;
  background:#fff;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(17,24,39,.24);
}
.form-head{
  padding:24px 24px 18px;
  background:linear-gradient(135deg,#182235,#1e2d46);
  color:#fff;
  position:relative;
}
.form-head h3{
  margin:0 0 6px;
  font-size:1.6rem;
  line-height:1.2;
}
.form-head p{
  margin:0;
  color:rgba(255,255,255,.84);
}
.form-close{
  position:absolute;
  top:18px;
  right:18px;
  width:40px;
  height:40px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:22px;
  cursor:pointer;
}
.form-body{
  padding:24px;
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.form-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.form-field.full{
  grid-column:1 / -1;
}
.form-field label{
  font-size:.95rem;
  font-weight:700;
  color:#1f2937;
}
.form-field input,
.form-field textarea,
.form-field select{
  width:100%;
  min-height:50px;
  padding:12px 14px;
  border:1px solid #ddd2c0;
  border-radius:14px;
  font:inherit;
  color:#17181d;
  background:#fff;
}
.form-field textarea{
  min-height:120px;
  resize:vertical;
}
.form-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:6px;
  color:#4b5563;
  font-size:.95rem;
}
.form-consent input{
  margin-top:4px;
}
.form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}
.form-hidden{
  display:none !important;
}
.form-toast{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:99999;
  padding:14px 16px;
  border-radius:14px;
  color:#fff;
  font-weight:600;
  box-shadow:0 16px 34px rgba(17,24,39,.18);
  display:none;
}
.form-toast.show{
  display:block;
}
.form-toast.success{
  background:#1f7a4c;
}
.form-toast.error{
  background:#b42318;
}
@media (max-width: 700px){
  .form-dialog{
    width:min(calc(100% - 16px), 760px);
    margin:18px auto;
  }
  .form-grid{
    grid-template-columns:1fr;
  }
  .form-body,
  .form-head{
    padding:18px;
  }
}


/* FORM UX POLISH START */
.form-head{
  padding-right:80px;
}
.form-close-icon{
  position:absolute;
  top:18px;
  right:18px;
  width:42px;
  height:42px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:28px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.form-close-icon:hover{
  background:rgba(255,255,255,.22);
}
.form-type-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  font-size:.84rem;
  font-weight:700;
}
.form-type-badge:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#e3b63c;
}
.form-actions{
  justify-content:flex-start;
}
.form-actions .btn{
  min-width:140px;
}
@media (max-width: 700px){
  .form-head{
    padding-right:70px;
  }
  .form-close-icon{
    top:14px;
    right:14px;
    width:38px;
    height:38px;
    font-size:24px;
  }
}
/* FORM UX POLISH END */

