/* ui classes */
.rt-form-field-text--normal {
  .rt-content-leading-slot-wrapper {
    max-height: var(
      --form-field-content-content-leading-slot-wrapper-normal-max-height
    );
  }

  .rt-content-leading-icon-wrapper {
    min-width: var(
      --form-field-content-content-leading-icon-wrapper-normal-min-width
    );
    max-height: var(
      --form-field-content-content-leading-icon-wrapper-normal-max-height
    );
  }

  .rt-content-lines {
    padding: var(--form-field-content-content-lines-padding-top-normal)
      var(--form-field-content-content-lines-padding-right)
      var(--form-field-content-content-lines-padding-bottom-normal)
      var(--form-field-content-content-lines-padding-left);
  }

  .rt-content-trailing-slot-wrapper {
    max-height: var(
      --form-field-content-content-leading-slot-wrapper-normal-max-height
    );
  }

  .rt-content-trailing-icon-wrapper {
    min-width: var(
      --form-field-content-content-trailing-icon-wrapper-normal-min-width
    );
    max-height: var(
      --form-field-content-content-trailing-icon-wrapper-normal-max-height
    );
  }
}

.rt-form-field-text--space {
  .rt-content-leading-slot-wrapper {
    max-height: var(
      --form-field-content-content-leading-slot-wrapper-space-max-height
    );
  }

  .rt-content-leading-icon-wrapper {
    min-width: var(
      --form-field-content-content-leading-icon-wrapper-space-min-width
    );
    max-height: var(
      --form-field-content-content-leading-icon-wrapper-space-max-height
    );
  }

  .rt-content-lines {
    padding: var(--form-field-content-content-lines-padding-top-space)
      var(--form-field-content-content-lines-padding-right)
      var(--form-field-content-content-lines-padding-bottom-space)
      var(--form-field-content-content-lines-padding-left);
  }

  .rt-content-trailing-slot-wrapper {
    max-height: var(
      --form-field-content-content-leading-slot-wrapper-space-max-height
    );
  }

  .rt-content-trailing-icon-wrapper {
    min-width: var(
      --form-field-content-content-trailing-icon-wrapper-space-min-width
    );
    max-height: var(
      --form-field-content-content-trailing-icon-wrapper-space-max-height
    );
  }
}

.rt-form-field-text--ambulant-label {
  .rt-content-leading-slot-wrapper {
    max-height: var(
      --form-field-content-content-leading-slot-wrapper-ambulant-label-max-height
    );
  }

  .rt-content-leading-icon-wrapper {
    min-width: var(
      --form-field-content-content-leading-icon-wrapper-ambulant-label-min-width
    );
    max-height: var(
      --form-field-content-content-leading-icon-wrapper-ambulant-label-max-height
    );
  }

  .rt-content-lines {
    padding: var(--form-field-content-content-lines-padding-top-ambulant-label)
      var(--form-field-content-content-lines-padding-right)
      var(--form-field-content-content-lines-padding-bottom-ambulant-label)
      var(--form-field-content-content-lines-padding-left);
  }

  .rt-content-trailing-slot-wrapper {
    max-height: var(
      --form-field-content-content-leading-slot-wrapper-ambulant-label-max-height
    );
  }

  .rt-content-trailing-icon-wrapper {
    min-width: var(
      --form-field-content-content-trailing-icon-wrapper-ambulant-label-min-width
    );
    max-height: var(
      --form-field-content-content-trailing-icon-wrapper-ambulant-label-max-height
    );
  }

  &.rt-form-field-text--floating {
    .rt-label-scale {
      top: 0px;
      transform: scale(0.8) translateY(0.25em);
      max-width: 120%;
    }
  }

  &.rt-form-field-text--not-floating {
    .rt-data {
      opacity: 0;
    }
  }
}

.rt-form-field-text--lg.rt-form-field-text--normal .rt-content-lines {
  min-height: 4.5em;
}
.rt-form-field-text--md.rt-form-field-text--normal .rt-content-lines {
  min-height: 3.5em;
}
.rt-form-field-text--lg.rt-form-field-text--space .rt-content-lines {
  min-height: 5.5em;
}
.rt-form-field-text--lg.rt-form-field-text--ambulant-label .rt-content-lines {
  min-height: 5.5em;
}

/* element classes */
.rt-form-field-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: var(--gap);
}

.rt-form-field-data-content {
  min-height: var(--form-field-content-min-height);
  display: flex;
  box-sizing: border-box;
  overflow: hidden;
  padding: var(--form-field-content-padding-top)
    var(--form-field-content-padding-right)
    var(--form-field-content-padding-bottom)
    var(--form-field-content-padding-left);
  align-items: flex-start;
  gap: var(--form-field-content-gap);
  align-self: stretch;
  border-radius: var(--grid-child-child-border-radius-top-left)
    var(--grid-child-child-border-radius-top-right)
    var(--grid-child-child-border-radius-bottom-right)
    var(--grid-child-child-border-radius-bottom-left);
}

.rt-form-field-details {
  display: flex;
  align-items: flex-start;
  gap: var(--form-field-details-gap);
  align-self: stretch;
}

.rt-form-field-details-text {
  padding-top: 3px;
  flex-grow: 1;
}

.rt-details-counter {
  display: flex;
  padding-top: var(--form-field-details-details-counter-padding-top);
  flex-direction: column;
  align-items: flex-start;
}

.rt-content-leading-icon-wrapper,
.rt-content-trailing-icon-wrapper {
  display: flex;
  align-items: center;
  align-self: stretch;
}

.rt-content-leading-icon-wrapper {
  justify-content: flex-end;
}

.rt-content-trailing-icon-wrapper {
  justify-content: flex-start;
}

.rt-content-leading-slot-wrapper,
.rt-content-trailing-slot-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  align-self: stretch;
}

.rt-content-lines {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--form-field-content-content-lines-gap);
  flex: 1 0 0;
  position: relative;
  min-width: 0px;
  box-sizing: border-box;
}

.rt-lines-display-data {
  display: flex;
  align-items: flex-start;
  gap: var(--form-field-content-content-lines-lines-display-data-gap);
  align-self: stretch;
}

.rt-prefix,
.rt-suffix {
  cursor: default;
}

.rt-data {
  outline: none;
  border: 0;
  background: transparent;
  flex-grow: 1;
  min-width: 30px;
  width: 100%;
  padding-left: 0px;
  padding-right: 0px;

  &::-webkit-outer-spin-button,
  &::-webkit-inner-spin-button {
    -webkit-appearance: none;
  }

  &::placeholder {
    transition: 0.2s;
    color: var(--v0-rt-symbol-color-main);
    opacity: var(--placeholder-form-field-opacity-md, 0.4);
  }
}

.rt-form-field-label-normal {
  display: flex;
  padding: var(--form-field-label-padding-top)
    var(--form-field-label-padding-right) var(--form-field-label-padding-bottom)
    var(--form-field-label-padding-left);
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  align-self: stretch;
}

.rt-lines-label {
  cursor: pointer;

  .rt-label-scale {
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    transform-origin: left top;
    transition: all 250ms;
    position: absolute;
    top: 0px;
    transform: translateY(1.5em);
    z-index: 1;
  }
}

*[dir='rtl'] .rt-lines-label .rt-label-scale {
  transform-origin: right top;
}

.rt-chevron-button {
  transition: all 200ms;
}

.rt-chevron-button_rotated {
  transform: rotate(180deg);
}

.rt-form-field-text--ambulant-label,
.rt-form-field-text--space,
.rt-form-field-text--normal {
  .rt-clear-button--enter {
    margin-inline-start: calc(var(--form-field-content-gap, 0px) * -1);

    button {
      opacity: 0;
      width: 0px;
      min-width: 0px;
    }
  }
}

.rt-form-field-text--ambulant-label,
.rt-form-field-text--space,
.rt-form-field-text--normal {
  .rt-clear-button--enter-active {
    margin-inline-start: 0px;

    button {
      opacity: 1;
      transition: all 200ms;
      overflow: hidden;
    }
  }
}

.rt-form-field-text--ambulant-label .rt-clear-button--enter-active {
  button {
    width: var(--container-min-width-md);
    min-width: var(--container-min-width-md);
  }
}

.rt-form-field-text--space .rt-clear-button--enter-active,
.rt-form-field-text--normal .rt-clear-button--enter-active {
  button {
    width: var(--container-min-width-sm);
    min-width: var(--container-min-width-sm);
  }
}

.rt-form-field-text--ambulant-label,
.rt-form-field-text--space,
.rt-form-field-text--normal {
  .rt-clear-button--exit {
    margin-inline-start: 0px;

    button {
      opacity: 1;
    }
  }
}

.rt-form-field-text--ambulant-label .rt-clear-button--exit {
  button {
    width: var(--container-min-width-md);
    min-width: var(--container-min-width-md);
  }
}

.rt-form-field-text--space .rt-clear-button--exit,
.rt-form-field-text--normal .rt-clear-button--exit {
  button {
    width: var(--container-min-width-sm);
    min-width: var(--container-min-width-sm);
  }
}

.rt-form-field-text--ambulant-label,
.rt-form-field-text--space,
.rt-form-field-text--normal {
  .rt-clear-button--exit-active {
    margin-inline-start: calc(var(--form-field-content-gap, 0px) * -1);

    button {
      opacity: 0;
      width: 0;
      min-width: 0;
      transition: all 200ms;
      overflow: hidden;
    }
  }
}
