/* Float Label Styles */
.form-control--float {
    position: relative;
}

.form-control--float input,
.form-control--float select {
    width: 100%;
}

.form-control--float .form-label {
    position: absolute;
    transform-origin: left top;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #1C354D;
    pointer-events: none;
    transition: all 0.2s ease;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.2em;
}

/* Focused state */
.form-control--float.is-focused .form-label {
    transform: translateY(-40px) scale(0.6);
    color: rgba(23, 46, 100, 0.4);
}

/* Filled state (when input has value) */
.form-control--float.is-filled .form-label {
    transform: translateY(-40px) scale(0.6);
    color: rgba(23, 46, 100, 0.4);
}

/* Phone number field - label always at top */
.form-control--float.phone-always-top .form-label {
    transform: translateY(-40px) scale(0.6);
    color: rgba(23, 46, 100, 0.4);
}

/* Select field - label stays at bottom until option selected */
.form-control--float.select-container .form-label {
    top: 50%;
    transform: translateY(-50%);
    color: #1C354D;
}

/* Select with value selected */
.form-control--float.select-container.is-filled .form-label,
.form-control--float.select-container.is-focused .form-label {
    transform: translateY(-40px) scale(0.6);
    color: rgba(23, 46, 100, 0.4);
}

