/* Forms Common Styles */

.form-group {
  margin-bottom: var(--space-md);
}

.form-label {
  display: block;
  font-family: var(--font-heading);
  font-weight: 600;
  color: var(--primary-dark);
  margin-bottom: var(--space-xs);
}

.form-control {
  width: 100%;
  padding: 12px 16px;
  background-color: var(--neutral-50);
  border: 1px solid var(--neutral-100);
  border-radius: var(--radius-sm);
  color: var(--neutral-900);
  transition: border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);
}

.form-control:focus {
  outline: none;
  border-color: var(--primary);
  background-color: var(--white);
  box-shadow: 0 0 0 3px rgba(26, 79, 143, 0.1);
}

textarea.form-control {
  resize: vertical;
  min-height: 120px;
}

/* Custom Checkbox/Radio */
.check-wrap {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  margin-bottom: var(--space-sm);
}

.check-wrap input {
  margin-top: 4px;
}

.check-label-text {
  font-size: 0.875rem;
  color: var(--neutral-600);
}

.form-message {
  padding: var(--space-md);
  border-radius: var(--radius-sm);
  margin-top: var(--space-md);
  display: none;
}

.form-message.success {
  display: block;
  background-color: rgba(40, 167, 69, 0.1);
  color: var(--success);
  border: 1px solid rgba(40, 167, 69, 0.2);
}

.form-message.error {
  display: block;
  background-color: rgba(204, 34, 41, 0.1);
  color: var(--accent);
  border: 1px solid rgba(204, 34, 41, 0.2);
}
