/* Register CSS */
body{

background:#F5F9FF;

}

.register-page{

padding:80px 0;

min-height:100vh;

}

.register-card{

background:#fff;

padding:50px;

border-radius:25px;

box-shadow:0 20px 60px rgba(0,0,0,.08);

}

.register-step{

display:none;

}

.register-step.active{

display:block;

}

/* Progress */

.register-progress{

display:flex;

justify-content:space-between;

align-items:center;

position:relative;

margin-bottom:60px;

}

.register-progress::before{

content:"";

position:absolute;

top:22px;

left:0;

right:0;

height:4px;

background:#DCE9FF;

z-index:1;

}

.progress-bar-fill{

position:absolute;

top:22px;

left:0;

height:4px;

width:0%;

background:#0A6CFF;

z-index:2;

transition:.4s;

}

.step{

width:45px;

height:45px;

background:#DCE9FF;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-weight:700;

position:relative;

z-index:3;

}

.step.active{

background:#0A6CFF;

color:#fff;

}

/*------------------------------------
STEP HEADER
------------------------------------*/

.step-header{

margin-bottom:35px;

}

.step-badge{

display:inline-block;

padding:10px 20px;

background:#EEF5FF;

color:#0A6CFF;

border-radius:30px;

font-weight:600;

font-size:18px;

margin-bottom:18px;

}

.step-header h2{

font-size:34px;

font-weight:700;

margin-bottom:15px;

}

.step-header p{

color:#666;

font-size:17px;

max-width:650px;

}

.form-label{

font-weight:600;

margin-bottom:8px;

}

.form-label span{

color:#E53935;

}

.form-control,

.form-select{

height:56px;

border-radius:14px;

border:1px solid #DDE6F5;

}

.form-control:focus,

.form-select:focus{

border-color:#0A6CFF;

box-shadow:0 0 0 .2rem rgba(10,108,255,.12);

}

/*------------------------------------
BUTTONS
------------------------------------*/

.wizard-buttons{

display:flex;

justify-content:space-between;

margin-top:50px;

}

.wizard-buttons .btn{

padding:14px 35px;

border-radius:40px;

font-weight:600;

}

/*==========================================================
CHECKBOX
==========================================================*/

.form-check{

padding:18px 20px;

background:#F8FBFF;

border-radius:14px;

}

.form-check-input{

margin-top:.35rem;

}

.form-check-label{

font-size:15px;

line-height:1.8;

color:#555;

}

textarea.form-control{

height:auto;

padding:15px;

resize:vertical;

min-height:120px;

}

/*==========================================================
CHECKBOX GRID
==========================================================*/

.checkbox-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:15px;

margin-top:15px;

}

.checkbox-grid label{

display:flex;

align-items:center;

gap:10px;

background:#F8FBFF;

padding:14px 18px;

border-radius:12px;

cursor:pointer;

transition:.3s;

font-weight:500;

}

.checkbox-grid label:hover{

background:#EEF5FF;

}

.checkbox-grid input{

width:18px;

height:18px;

}

@media(max-width:768px){

.checkbox-grid{

grid-template-columns:1fr;

}

}

/*==========================================================
REVIEW STEP
==========================================================*/

.review-section{

background:#fff;

border:1px solid #E8EEF8;

border-radius:18px;

margin-bottom:30px;

overflow:hidden;

box-shadow:0 8px 20px rgba(0,0,0,.04);

}

.review-header{

background:#F8FBFF;

padding:18px 25px;

border-bottom:1px solid #E8EEF8;

}

.review-header h4{

margin:0;

font-size:20px;

font-weight:700;

color:#0B2341;

}

.review-header i{

margin-right:10px;

color:#0A6CFF;

}

.review-table{

margin:0;

}

.review-table td{

padding:15px 25px;

vertical-align:middle;

}

.review-table td:first-child{

font-weight:600;

width:35%;

background:#FCFDFF;

}

.declaration-box{

background:#EEF6FF;

padding:25px;

border-radius:16px;

border-left:4px solid #0A6CFF;

}
/* ------------------------------------------------------------
   Form submission alert (added for AJAX success/error messages)
------------------------------------------------------------ */
.register-alert {
    padding: 16px 20px;
    border-radius: 10px;
    margin-bottom: 24px;
    font-weight: 500;
}

.register-alert.alert-success {
    background: #e6f7ee;
    color: #146c43;
    border: 1px solid #b7e4c7;
}

.register-alert.alert-danger {
    background: #fdecea;
    color: #b02a37;
    border: 1px solid #f5c2c7;
}
