.form-row {
  display: flex;
  gap: 20px;
}
@media (max-width: 1024px) {
  .form-row {
    flex-direction: column;
    gap: 0;
  }
  .form-row .form-group:last-child {
    margin-bottom: 0;
  }
}
.form-group {
  flex: 1;
  position: relative;
}
.form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #333333;
}
.form-group .required {
  position: absolute;
  top: 18px;
  left: 7px;
  color: #dc3545;
}
.message-group {
  width: 100%;
  position: relative;
}
.message-group .required {
  position: absolute;
  top: 20px;
  left: 7px;
  color: #dc3545;
}
input,
textarea {
  width: 100%;
  padding: 12px 15px;
  background-color: #ffffff;
  border: none;
  font-size: 16px;
  transition: background-color 0.3s ease;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
input::placeholder,
textarea::placeholder {
  color: #999999;
}
input:focus,
textarea:focus {
  outline: none;
  background-color: #f9f9f9;
}
textarea {
  height: 189px;
  resize: none;
  line-height: 1.6;
}
.form-actions {
  text-align: right;
}
.form-actions .btn {
  margin: 0 auto;
}
.error-message {
  color: #dc3545;
  font-size: 14px;
  height: 20px;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.error-message.show {
  opacity: 1;
}
input.invalid,
textarea.invalid {
  background-color: #fff5f5;
}
