/* ==========================================================
   KUESIONER HEADER MODERN
========================================================== */

.kuesioner-header{

    max-width:900px;

    margin:auto auto 45px;

    text-align:center;

}

.kuesioner-title{

    font-size:3rem;

    font-weight:800;

    color:#0f172a;

    margin-bottom:18px;

    line-height:1.25;

}

.kuesioner-description{

    max-width:760px;

    margin:auto;

    color:#64748b;

    font-size:15px;

    line-height:1.9;

}

/* ==========================================================
   PROGRESS CARD
========================================================== */

.progress-card{

    background:#ffffff;

    border:1px solid #e2e8f0;

    border-radius:22px;

    padding:24px;

    margin-bottom:30px;

    box-shadow:
        0 10px 30px rgba(15,23,42,.05);

}

.progress-card strong{

    color:#0f172a;

    font-size:15px;

}

.progress{

    height:10px;

    border-radius:50px;

    background:#f1f5f9;

}

.progress-bar{

    border-radius:50px;

    background:
        linear-gradient(
            135deg,
            #0f172a,
            #334155
        );

}

/* ==========================================================
   PETUNJUK
========================================================== */

.kuesioner-info{

    background:#ffffff;

    border-radius:24px;

    border:1px solid #e2e8f0;

    padding:30px;

    display:flex;

    gap:22px;

    align-items:flex-start;

    margin-bottom:35px;

    box-shadow:
        0 10px 30px rgba(15,23,42,.05);

}

.info-icon{

    width:60px;

    height:60px;

    min-width:60px;

    border-radius:18px;

    background:
        linear-gradient(
            135deg,
            #0f172a,
            #1e293b
        );

    display:flex;

    align-items:center;

    justify-content:center;

    color:#ffffff;

    font-size:24px;

}

.info-content{

    flex:1;

}

.info-content h5{

    font-size:18px;

    font-weight:700;

    color:#0f172a;

    margin-bottom:12px;

}

.info-content p{

    color:#64748b;

    font-size:15px;

    line-height:1.9;

    margin-bottom:20px;

}

/* ==========================================================
   DUPLICATE ALERT
========================================================== */

.duplicate-alert {
    background: linear-gradient(135deg, #fffbeb, #fef3c7);
    border: 1px solid #fde68a;
    border-radius: 24px;
    padding: 30px;
    display: flex;
    gap: 22px;
    align-items: flex-start;
    margin-bottom: 35px;
    box-shadow: 0 10px 30px rgba(245, 158, 11, 0.08);
}

.duplicate-icon {
    width: 60px;
    height: 60px;
    min-width: 60px;
    border-radius: 18px;
    background: linear-gradient(135deg, #d97706, #b45309);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 24px;
    box-shadow: 0 8px 20px rgba(217, 119, 6, 0.2);
}

.duplicate-content {
    flex: 1;
}

.duplicate-content h5 {
    font-size: 19px;
    font-weight: 800;
    color: #92400e;
    margin-bottom: 12px;
}

.duplicate-content p {
    color: #b45309;
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 0;
    font-weight: 500;
}

/* ==========================================================
   MOBILE RESPONSIVENESS
========================================================== */

@media (max-width: 768px) {
    .kuesioner-title {
        font-size: 2rem;
    }
    
    .kuesioner-info,
    .duplicate-alert {
        padding: 20px;
        gap: 15px;
    }
    
    .info-icon,
    .duplicate-icon {
        width: 50px;
        height: 50px;
        min-width: 50px;
        font-size: 20px;
    }
    
    .progress-card {
        padding: 15px;
    }
    
    .radio-group {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }
}

@media (max-width: 576px) {
    .kuesioner-title {
        font-size: 1.5rem;
    }
}