.textArea {
  padding: var(--grapes-unit-8);
  border: 1px solid var(--grapes-color-border-default);
  border-radius: var(--grapes-border-radius-8);
  background-color: var(--grapes-color-background-primary-default);
  font: var(--grapes-body-m);
  color: var(--grapes-color-content-primary);

  display: block;
  width: 100%;
  resize: vertical;
  max-height: 400px;
  box-sizing: border-box;

  &:hover {
    border-color: var(--grapes-color-border-hover);
  }

  &:focus {
    border-color: var(--grapes-color-border-default);
    outline: var(--grapes-focus-ring);
    outline-offset: var(--grapes-focus-ring-offset);
  }

  &:read-only {
    background-color: var(--grapes-color-background-primary-readonly);
  }

  &:disabled {
    pointer-events: none;
    background-color: var(--grapes-color-background-primary-disabled);
    border: 1px solid var(--grapes-color-border-default);
    color: var(--grapes-color-content-secondary-bg-secondary);
    -webkit-text-fill-color: var(--grapes-color-content-secondary-bg-secondary);
  }

  &[aria-invalid='true'] {
    border-color: var(--grapes-color-border-alert);
  }
}

@supports (field-sizing: content) {
  .textArea {
    field-sizing: content;
    /* Set min-height to 3 rows + padding as field-sizing ignores rows attribut */
    min-height: calc(3lh + var(--grapes-unit-8) * 2 + 2px);
  }
}
