/* Container */
.floating-input {
    position: relative;
    margin: 1.5em 0;
}

/* Label awal (hidden) */
.floating-input label {
    position: absolute;
    left: 12px;
    top: 60%;
    transform: translateY(-50%) scale(1);
    transform-origin: left top;
    font-size: 14px;
    color: #6c757d;
    background: #fff;
    padding: 0 6px;
    pointer-events: none;
    opacity: 0;
    transition:
        transform 0.35s cubic-bezier(.4,0,.2,1),
        opacity 0.2s ease,
        color 0.2s ease,
        font-size 0.35s ease;
}

/* Placeholder fade untuk input & textarea */
.floating-input input::placeholder,
.floating-input textarea::placeholder {
    transition: opacity 0.2s ease;
}

/* Placeholder hilang saat focus / terisi */
.floating-input input:focus::placeholder,
.floating-input input:not(:placeholder-shown)::placeholder,
.floating-input textarea:focus::placeholder,
.floating-input textarea:not(:placeholder-shown)::placeholder {
    opacity: 0;
}

/* Floating label untuk input & textarea */
.floating-input input:focus + label,
.floating-input input:not(:placeholder-shown) + label,
.floating-input textarea:focus + label,
.floating-input textarea:not(:placeholder-shown) + label,
.floating-input select:focus + label,
.floating-input select:valid + label {
    opacity: 1;
    transform: translateY(-160%) scale(0.85);
}

/* Styling dasar input, textarea, select */
.floating-input input,
.floating-input textarea,
.floating-input select {
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 4px;
    outline: none;
}

.floating-input input:focus,
.floating-input textarea:focus,
.floating-input select:focus {
    border-color: #007bff;
}
