

.field {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  cursor: pointer;
}

.field__label {
  font-size: var(--size-400);
  font-weight: var(--weight-semibold);
  line-height: var(--line-height-ui);
  color: var(--color-text-primary);
}

.field__hint {
  font-size: var(--size-200);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-ui);
  color: var(--color-text-muted);
}

.field__input {
  width: 100%;
  min-height: var(--hit-target);
  padding: var(--field-padding-block) var(--field-padding-inline);
  background-color: var(--field-background);
  border: var(--border-width-hairline) solid var(--field-border);
  border-radius: var(--radius-default);
  color: var(--color-text-primary);
  font-family: var(--font-sans);
  font-size: var(--size-400);
  line-height: var(--line-height-heading);
  transition: border-color var(--duration-fast) var(--easing-standard);
}

.field__input--multiline {
  min-height: 0;
  resize: vertical;
  line-height: var(--line-height-body);
}

.field__input:hover {
  border-color: var(--field-border-hover);
}

.field__input:focus-visible {
  outline: var(--focus-ring-width) solid var(--color-focus-ring-field);
  outline-offset: var(--focus-ring-offset-field);
  border-color: var(--field-border-focus);
}

.consent {
  display: flex;
  gap: var(--space-1);
  align-items: flex-start;
  margin-bottom: var(--space-3);
  font-size: var(--size-400);
  font-weight: var(--weight-semibold);
  line-height: var(--line-height-body);
  color: var(--color-text-primary);
  cursor: pointer;
}

.consent__input {
  flex: none;
  margin-top: 0.45rem;
  width: 1.1rem;
  height: 1.1rem;
  accent-color: var(--color-interactive-accent);
}

.consent__input:disabled {
  opacity: var(--button-primary-opacity-disabled);
  cursor: not-allowed;
}
