.fitma-float-field {
    position: relative;
}

.fitma-float-field .form-control,
.fitma-float-field .form-select,
.fitma-float-field select.form-control {
    height: calc(3.2rem + 2px);
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.fitma-float-field.is-focused .form-control,
.fitma-float-field.is-focused .form-select,
.fitma-float-field.is-focused select.form-control,
.fitma-float-field.is-filled .form-control,
.fitma-float-field.is-filled .form-select,
.fitma-float-field.is-filled select.form-control,
.fitma-float-field > .form-control:focus,
.fitma-float-field > .form-control:not(:placeholder-shown) {
    padding-top: 1.35rem;
    padding-bottom: 0.5rem;
}

.fitma-float-field > .form-select {
    height: calc(3.2rem + 2px);
    padding-top: 1.35rem;
    padding-bottom: 0.5rem;
}

.fitma-float-field .form-control::placeholder,
.fitma-float-field textarea.form-control::placeholder {
    color: #94a3b8;
    transition: color 0.15s ease;
}

.fitma-float-field .form-control:focus::placeholder,
.fitma-float-field textarea.form-control:focus::placeholder {
    color: transparent;
}

.fitma-float-field textarea.form-control {
    min-height: 7rem;
    height: auto;
}

.fitma-float-field.has-floating-placeholder > .form-label {
    display: none;
}

.fitma-float-field .fitma-floating-placeholder {
    position: absolute;
    top: 50%;
    right: 0.75rem;
    z-index: 2;
    max-width: calc(100% - 1.5rem);
    margin: 0;
    padding: 0 0.35rem;
    overflow: hidden;
    color: #64748b;
    background: #fff;
    line-height: 1.1;
    pointer-events: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    transform: translateY(-50%);
    transform-origin: right top;
    transition: top 0.15s ease, transform 0.15s ease, color 0.15s ease, font-size 0.15s ease;
}

.fitma-float-field.is-focused .fitma-floating-placeholder,
.fitma-float-field.is-filled .fitma-floating-placeholder {
    top: -0.5rem;
    transform: translateY(0) scale(0.85);
    color: #0f766e;
}

.fitma-float-field .form-label {
    position: absolute;
    top: 0.95rem;
    right: 0.75rem;
    margin: 0;
    color: #64748b;
    background: #fff;
    padding: 0 0.35rem;
    line-height: 1;
    pointer-events: none;
    opacity: 0;
    transform-origin: right top;
    transition: transform 0.15s ease, color 0.15s ease, top 0.15s ease, opacity 0.15s ease;
}

.fitma-float-field.is-focused .form-label,
.fitma-float-field.is-filled .form-label,
.fitma-float-field > .form-control:focus + .form-label,
.fitma-float-field > .form-control:not(:placeholder-shown) + .form-label {
    top: -0.5rem;
    transform: scale(0.85);
    color: #0f766e;
    opacity: 1;
}

.fitma-float-field.is-select > .form-label {
    top: -0.5rem;
    transform: scale(0.85);
    opacity: 1;
}

.fitma-float-field.is-select > .form-select:focus + .form-label,
.fitma-float-field.is-select > select.form-control:focus + .form-label,
.fitma-float-field.is-select.is-focused .form-label {
    color: #0f766e;
}
