section.heat-form {
    margin-bottom: 100px;
    .form {
        padding: 60px;
        background: var(--white);
        border-radius: 10px;
        margin-top: 40px;
        form {
            max-width: 800px;
            display: flex;
            flex-direction: column;
            > .btn {
                margin-top: 40px;
            } 
            .box {
                position: relative;
                margin-bottom: 20px;
                input, .select {
                    width: 100%;
                    padding: 0 20px;
                    height: 48px;
                    font-size: 16px;
                    outline: none;
                    background-color: transparent;
                    border: 1px solid transparent;
                    border-bottom-color: #ccc;
                    border-radius: 0;
                    transition: border-color 0.2s ease, border-radius 0.2s ease;
                    box-sizing: border-box;
                }
                .select {
                    display: flex;
                    align-items: center;
                    cursor: pointer;
                }
                input:focus,
                input:not(:placeholder-shown) {
                    border-color: #ccc; 
                    border-radius: 10px;
                }
                .select.active,
                .select.has-value {
                    border-color: #ccc; 
                    border-radius: 10px;
                }
                label {
                    position: absolute;
                    left: 20px;
                    top: 50%;
                    transform: translateY(-50%);
                    background-color: #fff;
                    padding: 0 5px;
                    color: #999;
                    font-size: 16px;
                    pointer-events: none;
                    transition: transform 0.2s ease, top 0.2s ease, font-size 0.2s ease, color 0.2s ease;
                    z-index: 1;
                }
                input:focus ~ label,
                input:not(:placeholder-shown) ~ label,
                .select.active ~ label,
                .select.has-value ~ label {
                    top: 0;
                    font-size: 14px;
                    color: var(--blue, #007bff);
                    font-weight: 600;
                }
            }
            .select {
                position: relative;
                .options {
                    background: var(--white, #fff);
                    border-radius: 10px;
                    position: absolute;
                    max-height: 220px;
                    overflow-y: auto;
                    left: 0;
                    width: 100%;
                    padding: 10px 0;
                    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
                    z-index: 9;
                    top: calc(100% - 20px);
                    opacity: 0;
                    visibility: hidden;
                    pointer-events: none;
                    transition: all 0.2s ease;
                    p {
                        padding: 10px 20px;
                        font-size: 16px;
                        color: var(--dark, #333);
                        cursor: pointer;
                        margin: 0;
                        
                        &:hover {
                            background: var(--light, #f5f5f5);
                        }
                    }
                }
                &.active {
                    .options {
                        top: calc(100% + 5px);
                        opacity: 1;
                        visibility: visible;
                        pointer-events: all;
                    }
                }
            }
        }
    }
}
@media screen and (max-width: 767px) {
    section.heat-form {
        .form {
            padding: 40px 20px;
            form {
                > .btn {
                    margin-top: 20px;
                    width: 220px;
                    height: 36px;
                }
                .box {
                    input, .select {
                        font-size: 15px;
                        padding: 10px 13px;
                    }
                    label {
                        font-size: 14px;
                        left: 10px;
                    }
                    &.l {
                        margin-top: 10px;
                        input, .select {    
                            height: 60px;
                            padding-top: 15px;
                            padding-bottom: 10px;
                        }
                    }
                }
            }
        }
    }
}