/* =====================================
LOAN FORM
===================================== */

.infopaisa-loan-form{
    width:100%;
}

/* =====================================
PROGRESS HEADER
===================================== */

.infopaisa-progress-wrap{
    margin-bottom:24px;
}

.infopaisa-progress-head{
    display:block;
    margin-bottom:14px;
}

.ip-progress-title{
    display:block;
    font-size:24px;
    font-weight:800;
    color:#111827;
    line-height:1.2;
    margin-bottom:4px;
}

.ip-progress-status{
    font-size:14px;
    color:#6B7280;
}

.infopaisa-progress-bar{
    width:100%;
    height:10px;
    background:#E5E7EB;
    border-radius:999px;
    overflow:hidden;
    margin-top:16px;
}

.infopaisa-progress-fill{
    width:33%;
    height:100%;
    background:#0A35D1;
    border-radius:999px;
    transition:width .35s ease;
}

/* =====================================
STEP
===================================== */

.infopaisa-step{
    display:none;
}

.infopaisa-step.active{
    display:block;
    animation:fadeIn .25s ease;
}

@keyframes fadeIn{

    from{
        opacity:0;
        transform:translateY(10px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/* =====================================
STEP CARD
===================================== */

.infopaisa-step-card{
    background:#FFFFFF;
    border:1px solid #E5E7EB;
    border-radius:22px;
    padding:22px;
    margin-bottom:20px;
}

/* =====================================
SELECTABLE CARDS
===================================== */

.ip-card-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:8px;
}

.ip-select-card{
    cursor:pointer;
}

.ip-select-card input{
    display:none;
}

.ip-select-card span{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    min-height:58px;
    padding:12px;
    border:1px solid #E5E7EB;
    border-radius:16px;
    background:#FFFFFF;
    font-size:15px;
    font-weight:600;
    transition:.2s;
}

.ip-select-card input:checked + span{
    border-color:#0A35D1;
    background:#EEF4FF;
    color:#0A35D1;
}

/* =====================================
FIELDS
===================================== */

.infopaisa-field{
    margin-bottom:20px;
}

.infopaisa-field label{
    display:block;
    margin-bottom:10px;
    font-size:13px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#374151;
}

.infopaisa-field input,
.infopaisa-field select{
    width:100%;
    height:58px;
    border:1px solid #D1D5DB;
    border-radius:18px;
    padding:0 18px;
    font-size:17px;
    background:#FFFFFF;
    box-sizing:border-box;
}

.infopaisa-field input:focus,
.infopaisa-field select:focus{
    outline:none;
    border-color:#0A35D1;
}

/* =====================================
ERROR
===================================== */

.ip-error{
    border-color:#DC2626 !important;
}

/* =====================================
BUTTONS
===================================== */

.infopaisa-form-nav{
    display:flex;
    gap:12px;
    margin-top:24px;
}

.infopaisa-prev,
.infopaisa-next,
.infopaisa-submit{
    flex:1;
    min-width:140px;
    height:56px;
    border:none;
    border-radius:16px;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    white-space:nowrap;
}

.infopaisa-prev{
    background:#F3F4F6;
    color:#111827;
}

.infopaisa-next,
.infopaisa-submit{
    background:#0A35D1;
    color:#FFFFFF;
}

.infopaisa-submit{
    display:none;
}

/* =====================================
RESULTS
===================================== */

#infopaisa-results{
    margin-top:24px;
}

/* =====================================
MOBILE
===================================== */

@media(max-width:768px){

    .ip-progress-title{
        font-size:22px;
    }

    .infopaisa-step-card{
        padding:18px;
        border-radius:20px;
    }

    .ip-card-grid{
        grid-template-columns:1fr 1fr;
        gap:10px;
    }

    .ip-select-card span{
        font-size:14px;
        min-height:56px;
    }

    .infopaisa-field input,
    .infopaisa-field select{
        height:56px;
        font-size:16px;
    }

    .infopaisa-form-nav{
        margin-top:20px;
    }
}
