.form-floating label {
  z-index: 1;
  left: auto;
}

.form-floating:focus-within > label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

/* filled text inputs / textareas */
.form-floating:has(> .form-control:not(:placeholder-shown)) > label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

/* selects are always considered "filled" for floating labels */
.form-floating:has(> .form-select) > label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

textarea.form-control {
  min-height: calc(5.5em + 0.75rem + 2px);
}