/* Demo form refinements: compact labels, consistent controls, and GrowHR selects. */
.demo-form .form-grid > label {
  gap: 7px;
}

.demo-form .field-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 17px;
}

.demo-form .field-label em,
.demo-form legend em {
  color: #dc2626;
  font-style: normal;
  line-height: 1;
}

.demo-form .field-note {
  color: #94a3b8;
  font-size: .58rem;
  font-weight: 500;
}

.demo-form input:not([type="checkbox"]),
.demo-form select {
  height: 52px;
  min-height: 52px;
  padding: 0 13px;
}

.demo-form select {
  appearance: none;
  cursor: pointer;
  color: #166534;
  border-color: #a7efbf;
  background-color: #ffffff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2315803d' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 16px;
  padding-right: 44px;
}

.demo-form select:required:invalid {
  color: #64748b;
}

.demo-form select option {
  color: #111827;
  background: #ffffff;
}

.demo-form input:focus,
.demo-form select:focus,
.demo-form textarea:focus {
  border-color: #22c55e;
  outline: 3px solid rgba(34, 197, 94, .16);
  outline-offset: 0;
}
