/*
* Textarea component
*
*/
/*
 * Utilities
 */
.dnb-textarea {
  --textarea-border-radius: 0.25rem;
  --textarea-rows: 2;
  --textarea-background-color: var(--color-white);
  --textarea-placeholder-color: grey;
  --textarea-size--small: 0.25rem;
  --textarea-size--medium: 0.5rem;
  --textarea-size--large: 0.75rem;
  display: inline-flex;
  font-size: var(--font-size-small);
  line-height: var(--line-height-basis);
}
.dnb-textarea__inner {
  display: inline-flex;
  flex-direction: column;
}
.dnb-textarea__shell {
  display: inline-flex;
  position: relative;
  font-size: var(--font-size-basis);
}
.dnb-textarea__shell::after {
  --size: 0.5rem;
  --bg-size: cover;
  --bg-pos: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
  bottom: 0;
  right: 0;
  width: var(--size);
  height: var(--size);
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="8" fill="none"><path stroke="%23000" stroke-linecap="round" stroke-width=".5" d="m1 7 6-6M3.5 7 7 3.5M6 7l1-1"/></svg>');
  background-size: var(--bg-size);
  background-position: var(--bg-pos) var(--bg-pos);
  background-color: var(--textarea-background-color);
}
.dnb-textarea__resize--medium .dnb-textarea__shell::after {
  content: "";
}
.dnb-textarea__resize--large .dnb-textarea__shell::after {
  content: "";
  --size: 1rem;
  --bg-size: 60%;
  --bg-pos: 0.25rem;
}
.dnb-textarea__autoresize .dnb-textarea__shell::after {
  content: none;
}
.dnb-textarea__state {
  position: absolute;
  z-index: 1;
  top: calc(var(--textarea-size-vertical) * -1);
  left: calc(var(--textarea-size-horizontal) * -1);
  bottom: calc(var(--textarea-size-vertical) * -1);
  right: calc(var(--textarea-size-vertical) * -1);
  background-color: var(--textarea-background-color);
  --border-color: var(--textarea-border-color);
  --border-width: var(--textarea-border-width);
  box-shadow: var(--textarea-border-inset, inset) 0 0 0 var(--border-width) var(--border-color);
  border-color: transparent;
  border-radius: var(--textarea-border-radius);
}
.dnb-textarea__row {
  display: inline-flex;
  margin: var(--textarea-size-vertical) var(--textarea-size-vertical) var(--textarea-size-vertical) var(--textarea-size-horizontal);
}
.dnb-textarea__suffix.dnb-suffix {
  padding-left: 1rem;
}
.dnb-textarea__textarea {
  position: relative;
  z-index: 2;
  width: 100%;
  cursor: auto;
  border: none;
  margin: 0;
  padding: 0;
  outline: none;
  font-size: var(--font-size-basis);
  line-height: var(--line-height-basis);
  color: var(--textarea-color, var(--color-black));
  background-color: var(--textarea-background-color, var(--color-white));
  overflow-y: auto;
  overscroll-behavior: contain;
}
html:not([data-visual-test]) .dnb-textarea__textarea {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-visual-test]) .dnb-textarea__textarea {
    scroll-behavior: auto;
  }
}
.dnb-textarea__textarea {
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: auto;
  scrollbar-color: var(--scrollbar-thumb-color, #888) transparent;
}
@supports not (scrollbar-color: auto) {
  .dnb-textarea__textarea::-webkit-scrollbar:vertical {
    width: var(--scrollbar-track-width, 0.5rem);
  }
  .dnb-textarea__textarea::-webkit-scrollbar:horizontal {
    height: var(--scrollbar-track-width, 0.5rem);
  }
  .dnb-textarea__textarea::-webkit-scrollbar {
    border-radius: var(--scrollbar-thumb-width, 0.5rem);
    background-color: var(--scrollbar-track-color, #eee);
  }
  .dnb-textarea__textarea::-webkit-scrollbar-thumb {
    background-color: var(--scrollbar-thumb-color, #888);
  }
  .dnb-textarea__textarea::-webkit-scrollbar-thumb:hover {
    background-color: var(--scrollbar-thumb-hover-color, #666);
  }
  .dnb-textarea__textarea::-webkit-scrollbar-thumb {
    border-radius: var(--scrollbar-thumb-width, 0.5rem);
  }
}
@-moz-document url-prefix() {
  .dnb-textarea__textarea {
    overflow-x: clip !important;
  }
}
.dnb-textarea__placeholder {
  pointer-events: none;
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--textarea-rows, 2);
  cursor: auto;
  border: none;
  margin: 0;
  padding: 0;
  outline: none;
  font-size: var(--font-size-basis);
  line-height: var(--line-height-basis);
  color: var(--textarea-color, var(--color-black));
  background-color: var(--textarea-background-color, var(--color-white));
  color: var(--textarea-placeholder-color);
  background-color: transparent;
}
.dnb-textarea__textarea, .dnb-textarea__placeholder {
  text-align: left;
}
.dnb-textarea__textarea:-webkit-autofill {
  box-shadow: 0 0 0 10em var(--textarea-background-color, var(--color-white)) inset;
}
.dnb-textarea__textarea:autofill {
  box-shadow: 0 0 0 10em var(--textarea-background-color, var(--color-white)) inset;
}
.dnb-textarea__align--right .dnb-textarea__textarea, .dnb-textarea__align--right .dnb-textarea__placeholder {
  text-align: right;
}
.dnb-textarea, .dnb-textarea__size--small {
  --textarea-size-vertical: var(--textarea-size--small);
  --textarea-size-horizontal: 1rem;
}
.dnb-textarea__size--medium {
  --textarea-size-vertical: var(--textarea-size--medium);
  --textarea-size-horizontal: 1rem;
}
.dnb-textarea__size--large {
  --textarea-size-vertical: var(--textarea-size--large);
  --textarea-size-horizontal: 1rem;
}
.dnb-textarea__autoresize .dnb-textarea__textarea {
  resize: none;
}
.dnb-textarea--disabled .dnb-textarea__textarea, .dnb-textarea__textarea[disabled] {
  -webkit-user-select: none;
          user-select: none;
}
.dnb-textarea--disabled .dnb-textarea__textarea::-webkit-scrollbar, .dnb-textarea__textarea[disabled]::-webkit-scrollbar {
  width: 0;
}
.dnb-textarea__inner > .dnb-form-status {
  order: 2;
  margin-top: 0.5rem;
}
.dnb-textarea:not(.dnb-textarea--vertical) .dnb-form-label {
  margin-top: var(--textarea-size-vertical);
}
.dnb-textarea--vertical {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.dnb-textarea:not(.dnb-textarea--vertical)[class*=__status] {
  align-items: flex-start;
}
.dnb-textarea:not(.dnb-textarea--vertical)[class*=__status] > .dnb-form-label {
  margin-top: 0.25rem;
}
@media screen and (max-width: 40em) {
  .dnb-textarea {
    flex-wrap: wrap;
  }
  .dnb-textarea > .dnb-form-label {
    margin-bottom: 0.5rem;
    margin-top: 0.5rem;
  }
}
.dnb-textarea--stretch {
  display: flex;
  flex-grow: 1;
}
.dnb-textarea--stretch .dnb-textarea__inner {
  flex-grow: 1;
}
.dnb-textarea--stretch .dnb-textarea__shell, .dnb-textarea--stretch .dnb-textarea__inner, .dnb-textarea--stretch .dnb-textarea__textarea {
  width: 100%;
}
.dnb-textarea--stretch .dnb-form-label + .dnb-textarea__inner {
  width: auto;
}
.dnb-textarea--vertical.dnb-textarea--stretch .dnb-textarea__inner {
  width: 100%;
}
.dnb-textarea--keep-placeholder.dnb-textarea--focus .dnb-textarea__placeholder {
  --textarea-placeholder-color: var(--textarea-placeholder-color--focus);
  display: block;
}
.dnb-form-row--horizontal .dnb-textarea--stretch {
  width: 100%;
}
@media screen and (max-width: 40em) {
  .dnb-responsive-component .dnb-textarea {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 0.5rem;
  }
  .dnb-responsive-component .dnb-textarea > .dnb-form-label {
    margin-bottom: 0.5rem;
  }
}
html[data-visual-test] .dnb-textarea__textarea {
  caret-color: var(--color-white);
}
.dnb-textarea.dnb-skeleton .dnb-textarea__inner {
  border-radius: var(--textarea-border-radius);
}
.dnb-textarea.dnb-skeleton .dnb-textarea__state, .dnb-textarea.dnb-skeleton .dnb-textarea__textarea {
  visibility: hidden;
}