.np-form-control {
  --ring-width: 1px;
  --ring-color: var(--color-interactive-secondary);
  border: none;
  background-color: transparent;
  min-height: 0;
  /* TODO: Remove this override once `.form-control` isn’t used anymore */
  padding-left: 16px;
  padding-left: var(--size-16);
  padding-right: 16px;
  padding-right: var(--size-16);
  color: #37517e;
  color: var(--color-content-primary);
  box-shadow: inset 0 0 0 1px #c9cbce;
  box-shadow: inset 0 0 0 var(--ring-width) var(--ring-color);
  transition-property: color, opacity, box-shadow;
  transition-timing-function: ease-in-out;
  transition-duration: 300ms;
  /* TODO: Remove these overrides once `.form-control` isn’t used anymore */
}
.disabled .np-form-control,
:disabled .np-form-control {
  opacity: 1;
  opacity: initial;
}
.np-form-control:focus-visible {
  outline: none;
}
.np-form-control[aria-invalid="true"] {
  --ring-width: 2px;
  --ring-color: var(--color-sentiment-negative) !important;
}
.np-form-control:hover:enabled {
  --ring-width: 2px;
  --ring-color: var(--color-interactive-secondary-hover);
}
.np-form-control:focus:enabled {
  --ring-width: 3px;
  --ring-color: var(--color-interactive-primary);
}
.np-form-control--size-auto {
  font-weight: 400;
  font-weight: var(--font-weight-regular);
  font-size: 1rem;
  font-size: var(--font-size-16);
  line-height: 150%;
  letter-spacing: -0.011em;
  padding-top: 12px;
  padding-top: var(--size-12);
  padding-bottom: 12px;
  padding-bottom: var(--size-12);
}
.np-form-control--size-sm,
.np-form-control--size-md,
.np-form-control--size-lg {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.np-form-control--size-sm {
  font-size: 0.875rem;
  font-size: var(--font-size-14);
  line-height: 155%;
  letter-spacing: -0.006em;
  font-weight: 400;
  font-weight: var(--font-weight-regular);
  height: 32px !important;
  height: var(--size-32) !important;
}
@media (max-width: 320px) {
  .np-form-control--size-sm {
    height: 64px !important;
    height: var(--size-64) !important;
  }
}
.np-form-control--size-md {
  font-weight: 400;
  font-weight: var(--font-weight-regular);
  font-size: 1rem;
  font-size: var(--font-size-16);
  line-height: 150%;
  letter-spacing: -0.011em;
  height: 48px !important;
  height: var(--size-48) !important;
}
@media (max-width: 320px) {
  .np-form-control--size-md {
    height: 72px !important;
    height: var(--size-72) !important;
  }
}
.np-form-control--size-lg {
  margin: 0;
  color: #37517e;
  color: var(--color-content-primary);
  line-height: 1.2;
  line-height: var(--line-height-title);
  letter-spacing: 0;
  margin-bottom: 0;
  margin-bottom: initial;
  font-size: 1.375rem;
  font-size: var(--font-size-22);
  font-weight: 600;
  font-weight: var(--font-weight-semi-bold);
  letter-spacing: -0.018em;
  line-height: 125%;
  height: 72px !important;
  height: var(--size-72) !important;
}
@supports (hyphenate-limit-chars: 1) {
  .np-form-control--size-lg {
    hyphens: auto;
    hyphenate-limit-chars: 7 3;
  }
  @media (min-width: 768px) {
    .np-form-control--size-lg {
      hyphenate-limit-chars: 8 3;
    }
  }
  @media (min-width: 992px) {
    .np-form-control--size-lg {
      hyphenate-limit-chars: 10 4 3;
    }
  }
}
@supports (not (hyphenate-limit-chars: 1)) and (-webkit-hyphenate-limit-before: 1) {
  .np-form-control--size-lg {
    hyphens: auto;
    -webkit-hyphenate-limit-before: 3;
    -webkit-hyphenate-limit-after: 3;
  }
  @media (min-width: 992px) {
    .np-form-control--size-lg {
      -webkit-hyphenate-limit-before: 4;
    }
  }
}
.np-form-control--size-lg + p,
.np-form-control--size-lg + ul:not(.list-unstyled),
.np-form-control--size-lg + ol:not(.list-unstyled) {
  margin-top: 8px;
  margin-top: var(--size-8);
}
.np-text-area {
  min-height: 72px;
  min-height: var(--size-72);
  scroll-padding-top: 8px;
  scroll-padding-top: var(--size-8);
  scroll-padding-bottom: 8px;
  scroll-padding-bottom: var(--size-8);
  overscroll-behavior: none;
  border-radius: 10px !important;
  border-radius: var(--radius-small) !important;
}
.np-text-area::-moz-placeholder {
  color: #768e9c;
  color: var(--color-content-tertiary);
}
.np-text-area::placeholder {
  color: #768e9c;
  color: var(--color-content-tertiary);
}
