.o-field {
  position: relative;
  display: flex;
  max-width: 400px;
}
.o-field .c-icon[aria-hidden] {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.o-field.o-field--autocomplete {
  position: relative;
}
.o-field.o-field--autocomplete .c-card--menu {
  position: absolute;
}

.o-field--icon-right .c-field + .c-icon {
  position: absolute;
  right: 8px;
  top: 8px;
}
.o-field--icon-right .c-field {
  padding-right: calc(var(--spacing-small) * 4);
}

.o-field--icon-left .c-icon:first-child {
  position: absolute;
  left: 8px;
  top: 8px;
}
.o-field--icon-left .c-field {
  padding-left: calc(var(--spacing-small) * 4);
}

.c-fieldset,
.c-fieldset.c-list {
  display: block;
  width: 100%;
  margin: var(--spacing-small) 0;
  padding: 0;
  border: 0;
}

.c-fieldset__legend {
  display: block;
  width: 100%;
  padding: var(--spacing-medium) 0;
  padding: var(--spacing-xsmall) 0;
}

.c-label {
  display: block;
  width: 100%;
  padding: var(--spacing-medium) 0;
}

.c-field {
  display: block;
  width: 100%;
  margin: 0;
  padding: var(--spacing-small);
  font-weight: var(--text-font-weight);
  font-size: var(--text-font-size-medium);
  font-family: inherit;
  background-color: #fff;
  border: var(--border-width) var(--border-style) var(--border-color);
  border-radius: var(--border-radius);
  outline: 0;
  appearance: none;
}
.c-field:disabled, .c-field[disabled] {
  cursor: not-allowed;
  opacity: var(--disabled-opacity);
}
.c-field:focus {
  border-color: var(--border-color-focus);
  box-shadow: var(--box-shadow-focus);
}

.c-field input {
  margin-right: var(--spacing-tiny);
  font-size: var(--text-font-size-medium);
  outline: 0;
}
.c-field input:disabled, .c-field input[disabled] {
  cursor: not-allowed;
  opacity: var(--disabled-opacity);
}

.c-field--label {
  margin: var(--spacing-small) 0 0 0;
}

.c-field--error {
  color: var(--color-error);
  border-color: var(--color-error);
}

.c-field--success {
  color: var(--color-success);
  border-color: var(--color-success);
}

.c-field--choice {
  background-color: transparent;
  border: 0;
  border-radius: 0;
}
.c-field--choice input {
  margin: 0;
}