/* ========================================
RESET
======================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Inter',sans-serif;
background:#f4f7f9;
color:#333;
line-height:1.6;
padding:40px 20px;
}

.container{
max-width:1200px;
margin:auto;
}

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

.main-header{
text-align:center;
margin-bottom:50px;
}

.main-header h1{
font-size:2.5rem;
color:#003366;
margin-bottom:10px;
}

.main-header .subtitle{
color:#666;
font-size:1.1rem;
}

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

.steps-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
}

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

.step-card{
background:#fff;
padding:30px;
border-radius:15px;
text-align:center;
position:relative;
box-shadow:0 10px 20px rgba(0,0,0,0.05);
transition:.3s;
display:flex;
flex-direction:column;
justify-content:space-between;
}

.step-card:hover{
transform:translateY(-10px);
box-shadow:0 15px 30px rgba(0,0,0,0.1);
}

.step-number{
position:absolute;
top:-15px;
left:20px;
background:#003366;
color:#fff;
width:40px;
height:40px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-weight:bold;
font-size:1.2rem;
}

.step-icon img{
width:80px;
height:80px;
margin-bottom:20px;
object-fit:contain;
}

.step-card h3{
margin-bottom:15px;
color:#003366;
font-size:1.4rem;
}

.step-card p{
font-size:.95rem;
color:#555;
margin-bottom:25px;
flex-grow:1;
}

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

.btn{
display:inline-block;
background:#003366;
color:#fff;
padding:12px 25px;
border-radius:8px;
text-decoration:none;
font-weight:600;
transition:.3s;
}

.btn:hover{
background:#00509e;
}

.btn.disabled{
background:#ccc;
pointer-events:none;
cursor:not-allowed;
}

.arrow{
margin-left:8px;
}

/* ========================================
FORM CONTAINER
======================================== */

.form-container{
max-width:700px;
margin:auto;
background:#fff;
padding:40px;
border-radius:12px;
box-shadow:0 10px 30px rgba(0,0,0,0.1);
}

.form-title{
font-size:1.8rem;
color:#003366;
margin-bottom:30px;
text-align:center;
}

.form-group{
margin-bottom:20px;
}

.form-group label{
display:block;
font-weight:600;
margin-bottom:6px;
}

.form-group input,
.form-group select{
width:100%;
padding:12px;
border:1px solid #ccc;
border-radius:6px;
font-size:15px;
transition:.3s;
}

.form-group input:focus,
.form-group select:focus{
outline:none;
border-color:#003366;
}

.readonly-box{
background:#f5f5f5;
padding:20px;
border-radius:10px;
margin-bottom:30px;
}

/* ========================================
FORM BUTTON
======================================== */

.form-btn,
.btn-primary{
background:#003366;
color:#fff;
padding:12px 20px;
border:none;
border-radius:6px;
cursor:pointer;
font-weight:600;
transition:.3s;
}

.form-btn:hover,
.btn-primary:hover{
background:#00509e;
}

/* ========================================
STEP PROGRESS BAR
======================================== */

.progress-wrapper{
display:flex;
justify-content:center;
align-items:flex-start;
gap:28px;
margin-bottom:40px;
flex-wrap:wrap;
position:relative;
}

.progress-wrapper:before{
content:'';
position:absolute;
top:20px;
left:0;
right:0;
height:3px;
background:#d9d9d9;
z-index:0;
}

.progress-item{
position:relative;
text-align:center;
font-size:12px;
z-index:2;
width:70px;
display:flex;
flex-direction:column;
align-items:center;
pointer-events:none;
}

.progress-item .circle{
width:40px;
height:40px;
border-radius:50%;
background:#d9d9d9;
display:flex;
align-items:center;
justify-content:center;
font-weight:600;
margin-bottom:6px;
transition:.25s;
}

.progress-item.done .circle{
background:#1c5aa6;
color:#fff;
}

.progress-item.active .circle{
background:#0f3a68;
color:#fff;
transform:scale(1.05);
}

.progress-item .label{
font-size:12px;
color:#333;
line-height:1.2;
}

/* ========================================
KVKK SECTION
======================================== */

.kvkk-progress{
width:100%;
height:6px;
background:#e5e5e5;
border-radius:4px;
margin-bottom:18px;
overflow:hidden;
}

.kvkk-progress-bar{
width:0%;
height:100%;
background:#1c5aa6;
transition:width .2s;
}

.kvkk-box{
height:220px;
overflow-y:auto;
border:1px solid #ddd;
padding:20px;
margin-bottom:20px;
background:#fafafa;
}

.checkbox-group{
display:flex;
flex-direction:column;
gap:12px;
margin-bottom:30px;
}

/* ========================================
VERIFY STATES
======================================== */

.verify-wait{
border:2px solid #dc3545 !important;
background:#fff6f6;
}

.verify-ok{
border:2px solid #28a745 !important;
background:#f3fff6;
}

.verify-badge{
font-size:13px;
color:#28a745;
margin-top:4px;
}

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

@media(max-width:768px){

body{
padding:20px 10px;
}

.main-header h1{
font-size:1.8rem;
}

.step-card{
padding:20px;
}

.form-container{
padding:25px;
}

.form-title{
font-size:1.5rem;
}

.progress-wrapper{
gap:14px;
}

.progress-item{
width:55px;
font-size:10px;
}

.progress-item .circle{
width:32px;
height:32px;
font-size:12px;
}

.progress-wrapper:before{
top:16px;
}

}