/* Form */
.form-card {
  border:1px solid rgba(255,255,255,0.15); background:rgba(255,255,255,0.02);
  border-radius:16px; padding:48px;
}
.field { margin-bottom:32px; }
.field label { display:block; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,0.5); margin-bottom:8px; }
.field input, .field textarea {
  width:100%; background:transparent; border:none;
  border-bottom:1px solid rgba(255,255,255,0.2); color:#fff;
  padding:12px 0; font-family:inherit; font-size:15px; outline:none;
  transition:border-color .5s;
}
.field input:focus, .field textarea:focus { border-color:rgba(255,255,255,0.6); }
.field textarea { resize:none; }
.submit-btn {
  margin-top:16px; padding:14px 32px; background:#fff; color:#000000;
  border:none; border-radius:999px; font-size:14px; font-weight:500;
  cursor:pointer; transition:transform .5s, background .5s;
  font-family:inherit;
}
.submit-btn:hover { transform:scale(1.05); background:rgba(255,255,255,0.9); }

/* Form states */
.submit-btn:disabled { opacity:0.5; cursor:not-allowed; transform:none; }
.field input.error, .field textarea.error { border-color:rgba(255,100,100,0.8); }
.field .err-msg { font-size:11px; color:rgba(255,100,100,0.9); margin-top:6px; display:none; }
.field .err-msg.show { display:block; }
.form-status {
  display:none; margin-top:24px; padding:16px 20px;
  border-radius:10px; font-size:13px; line-height:1.6; text-align:center;
}
.form-status.success {
  display:block;
  border:1px solid rgba(100,255,160,0.3);
  background:rgba(100,255,160,0.06);
  color:rgba(160,255,200,0.9);
}
.form-status.fail {
  display:block;
  border:1px solid rgba(255,100,100,0.3);
  background:rgba(255,100,100,0.06);
  color:rgba(255,160,160,0.9);
}
.submit-btn .btn-text { transition:opacity .2s; }
.submit-btn .spinner {
  display:none; width:16px; height:16px;
  border:2px solid rgba(0,0,0,0.3);
  border-top-color:#000000;
  border-radius:50%;
  animation:spin .6s linear infinite;
  margin:0 auto;
}
.submit-btn.loading .btn-text { display:none; }
.submit-btn.loading .spinner { display:block; }
@keyframes spin { to { transform:rotate(360deg); } }
