/* Floating Label Form Fields */

.form-group.floating {
    position: relative;
    margin-top: 8px;
}

.form-group.floating input,
.form-group.floating select {
    padding: 22px 16px 8px !important;
    height: auto !important;
}

.form-group.floating label {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    transition: top 0.18s ease, font-size 0.18s ease, color 0.18s ease, transform 0.18s ease;
    pointer-events: none;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.9rem;
    font-weight: 400;
    white-space: nowrap;
    z-index: 1;
}

/* Raised state: when focused OR has value */
.form-group.floating input:focus ~ label,
.form-group.floating input:not(:placeholder-shown) ~ label,
.form-group.floating select:focus ~ label,
.form-group.floating select:valid ~ label {
    top: 10px;
    transform: none;
    font-size: 0.7rem;
    color: #a855f7;
}

/* Focus border glow retained from existing styles */
.form-group.floating input:focus,
.form-group.floating select:focus {
    outline: none;
}
