/* ==========================================================
   Página Hipotecarios - Progresar Créditos
   Cargar después de progresar.css
   ========================================================== */

.hip-page{
    background:#f6f8fc;
    padding:130px 0 90px;
    min-height:100vh;
}

.hip-page *{
    box-sizing:border-box;
}

.hip-kicker{
    display:inline-block;
    padding:8px 18px;
    border-radius:40px;
    background:#e9f4fb;
    color:#2B2E71;
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:18px;
}

.hip-title{
    color:#232d39;
    font-size:46px;
    line-height:1.12;
    font-weight:800;
    margin-bottom:16px;
}

.hip-lead{
    color:#667085;
    font-size:18px;
    line-height:1.7;
    max-width:720px;
    margin:0 auto;
}

.hip-shell{
    margin-top:48px;
    background:#fff;
    border-radius:30px;
    overflow:hidden;
    box-shadow:0 24px 70px rgba(35,45,57,.10);
    border:1px solid rgba(43,46,113,.08);
}

.hip-shell-head{
    background:linear-gradient(135deg,#2B2E71 0%,#47B2E4 100%);
    padding:34px 38px;
    color:#fff;
}

.hip-shell-head h2{
    font-size:28px;
    font-weight:800;
    color:#fff;
    margin-bottom:8px;
}

.hip-shell-head p{
    color:rgba(255,255,255,.86);
    font-size:15px;
    margin:0;
}

.hip-shell-body{
    padding:38px;
}

.hip-alert{
    display:none;
    border-radius:16px;
    border:none;
    padding:14px 18px;
    font-weight:600;
}

.hip-form label{
    color:#232d39;
    font-size:14px;
    font-weight:800;
    margin-bottom:10px;
}

.hip-form .form-control,
.hip-form .form-select,
.hip-form select.form-control{
    height:56px;
    border-radius:16px;
    border:1px solid #d9e2ec;
    color:#232d39;
    font-weight:600;
    box-shadow:none;
    padding-left:18px;
}

.hip-form .form-control:focus,
.hip-form .form-select:focus,
.hip-form select.form-control:focus{
    border-color:#47B2E4;
    box-shadow:0 0 0 4px rgba(71,178,228,.14);
}

.hip-hint{
    color:#7a7a7a;
    font-size:13px;
    line-height:1.5;
    margin-top:9px;
}

.hip-note{
    background:#f6f8fc;
    border:1px solid #e6edf5;
    border-radius:20px;
    padding:18px 20px;
    color:#667085;
    font-size:14px;
    line-height:1.65;
}

.hip-note strong{
    color:#2B2E71;
}

.hip-btn{
    min-height:58px;
    border-radius:18px;
    border:none;
    background:#f9735b;
    color:#fff;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.4px;
    transition:.25s ease;
}

.hip-btn:hover,
.hip-btn:focus{
    background:#2B2E71;
    color:#fff;
    transform:translateY(-2px);
}

.hip-loader{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.45);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:9999;
    backdrop-filter:blur(4px);
}

.hip-loader-card{
    background:#fff;
    border-radius:22px;
    padding:28px 34px;
    box-shadow:0 22px 60px rgba(0,0,0,.18);
    text-align:center;
    color:#2B2E71;
    font-weight:800;
}

.hip-result-modal .modal-content{
    border:0;
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 30px 90px rgba(0,0,0,.28);
}

.hip-result-modal .modal-header{
    background:#2B2E71;
    color:#fff;
    border:0;
    padding:24px 28px;
}

.hip-result-modal .modal-title{
    color:#fff;
    font-weight:800;
}

.hip-result-modal .modal-body{
    padding:30px;
}

.hip-result-card{
    background:#f8fafc;
    border:1px solid #e5edf5;
    border-radius:22px;
    padding:24px;
    height:100%;
}

.hip-result-card h5{
    color:#2B2E71;
    font-weight:800;
    font-size:18px;
    margin-bottom:18px;
}

.hip-result-row{
    display:flex;
    justify-content:space-between;
    gap:18px;
    padding:11px 0;
    border-bottom:1px solid #e6edf5;
}

.hip-result-row:last-child{
    border-bottom:0;
}

.hip-result-row span{
    color:#667085;
    font-size:14px;
}

.hip-result-row strong{
    color:#232d39;
    text-align:right;
    font-size:14px;
}

.hip-score-title{
    color:#232d39;
    font-weight:800;
    font-size:22px;
    margin-bottom:16px;
}

.hip-score-form .form-control,
.hip-score-form .form-select,
.hip-score-form select.form-control{
    height:52px;
    border-radius:15px;
    border:1px solid #d9e2ec;
    box-shadow:none;
}

.hip-ok,
.hip-error{
    display:none;
    border-radius:16px;
    border:0;
    font-weight:700;
}

.hip-debug{
    display:none !important;
}

@media(max-width:991px){
    .hip-page{
        padding:115px 0 65px;
    }
    .hip-title{
        font-size:36px;
    }
    .hip-shell-head,
    .hip-shell-body{
        padding:26px;
    }
}

@media(max-width:575px){
    .hip-title{
        font-size:31px;
    }
    .hip-lead{
        font-size:16px;
    }
    .hip-shell{
        border-radius:22px;
    }
    .hip-result-modal .modal-body{
        padding:22px;
    }
}


/* ===============================
   PÁGINA DE CONFIRMACIÓN
   =============================== */

.hip-thanks-page{
    min-height:calc(100vh - 120px);
    display:flex;
    align-items:center;
}

.hip-thanks-card{
    background:#fff;
    border-radius:30px;
    padding:60px 45px;
    box-shadow:0 25px 70px rgba(35,45,57,.10);
    border:1px solid rgba(71,178,228,.14);
}

.hip-thanks-icon{
    width:88px;
    height:88px;
    border-radius:50%;
    margin:0 auto 26px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#47B2E4;
    color:#fff;
    font-size:58px;
    box-shadow:0 18px 40px rgba(71,178,228,.30);
}

.hip-btn-inline{
    width:auto !important;
    min-width:210px;
    padding-left:34px;
    padding-right:34px;
}

@media(max-width:576px){
    .hip-thanks-card{
        padding:42px 24px;
        border-radius:24px;
    }
}
