.loan-page{

    padding: 180px 0 120px;

    background: #f8f9fa;

}

.loan-header{

    margin-bottom: 70px;

}

.loan-header h1{

    font-size: 64px;
    font-weight: 800;

    color: #1D3557;

    margin: 20px 0;

}

.loan-header p{

    color: #6c757d;
    font-size: 18px;

}

.loan-progress-wrapper{

    margin-bottom: 80px;

}

.progress-line{

    position: relative;

    width: 100%;
    height: 6px;

    background: #dee2e6;

    border-radius: 30px;

}

.progress-fill{

    position: absolute;

    width: 33%;
    height: 100%;

    background:
    linear-gradient(
        135deg,
        #D67BA8,
        #1D3557
    );

    border-radius: 30px;

    transition: 0.4s ease;

}

.progress-steps{

    display: flex;
    justify-content: space-between;

    margin-top: 30px;

}

.progress-step{

    text-align: center;

}

.progress-step span{

    width: 65px;
    height: 65px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: auto;

    border-radius: 50%;

    background: #dee2e6;

    color: #1D3557;

    font-weight: 700;

    margin-bottom: 12px;

}

.progress-step.active span{

    background:
    linear-gradient(
        135deg,
        #D67BA8,
        #1D3557
    );

    color: #fff;

}

.loan-step{

    display: none;

}

.active-step{

    display: block;

}

.step-card{

    background: #fff;

    border-radius: 35px;

    padding: 60px;

    box-shadow: 0 15px 60px rgba(0,0,0,0.08);

}

.step-card h2{

    font-size: 42px;
    font-weight: 800;

    margin-bottom: 40px;

    color: #1D3557;

}

.form-control-custom{

    width: 100%;
    height: 60px;

    border-radius: 18px;

    border: 1px solid #dee2e6;

    padding: 0 20px;

    outline: none;

}

.simulation-box{

    background: #f8f9fa;

    border-radius: 30px;

    padding: 35px;

    margin-top: 40px;

}

.simulation-item{

    margin-bottom: 20px;

}

.simulation-item h3{

    font-size: 44px;
    color: #D67BA8;

    font-weight: 800;

}

.confirmation-box{

    background: #f8f9fa;

    border-radius: 30px;

    padding: 35px;

    margin-bottom: 35px;

}

.confirm-row{

    display: flex;
    justify-content: space-between;

    margin-bottom: 20px;

}

.legal-box{

    background: rgba(214,123,168,0.08);

    border-radius: 25px;

    padding: 30px;

    margin-bottom: 30px;

}

.checkbox-wrapper{

    margin-bottom: 30px;

}

.step-buttons{

    display: flex;
    justify-content: space-between;

    gap: 20px;

}

.btn-next,
.btn-back{

    height: 58px;

    border: none;

    padding: 0 35px;

    border-radius: 60px;

    font-weight: 700;

}

.btn-next{

    background:
    linear-gradient(
        135deg,
        #D67BA8,
        #1D3557
    );

    color: #fff;

}

.btn-back{

    background: #dee2e6;

}

@media(max-width:768px){

    .loan-header h1{
        font-size: 42px;
    }

    .step-card{
        padding: 35px;
    }

}