* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


body {

    font-family: Arial, sans-serif;

    background: #f4f8f5;

    color: #333;

}


/* =========================
   HEADER
========================= */

.header {

    background: #198754;

    color: white;

    padding: 20px 7%;

    display: flex;

    justify-content: space-between;

    align-items: center;

}


.logo {

    font-size: 24px;

    font-weight: bold;

}


.header-text {

    font-size: 15px;

}


/* =========================
   CONTAINER
========================= */

.container {

    width: 90%;

    max-width: 1100px;

    margin: auto;

}


/* =========================
   HERO
========================= */

.hero {

    text-align: center;

    padding: 70px 20px 40px;

}


.hero h1 {

    font-size: 38px;

    color: #198754;

    margin-bottom: 15px;

}


.hero p {

    font-size: 18px;

    line-height: 1.7;

}


/* =========================
   KELAS
========================= */

.kelas-container {

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 30px;

    padding: 20px 0 70px;

}


.kelas-card {

    background: white;

    border-radius: 25px;

    padding: 40px 30px;

    text-align: center;

    box-shadow:
        0 8px 25px rgba(0,0,0,0.08);

    transition: 0.3s;

}


.kelas-card:hover {

    transform: translateY(-8px);

}


.icon {

    font-size: 70px;

    margin-bottom: 20px;

}


.kelas-card h2 {

    font-size: 28px;

    margin-bottom: 15px;

}


.kelas-card p {

    font-size: 16px;

    line-height: 1.6;

    margin-bottom: 25px;

}


/* =========================
   BUTTON
========================= */

.btn {

    display: inline-block;

    padding: 14px 25px;

    border-radius: 12px;

    color: white;

    text-decoration: none;

    font-weight: bold;

    transition: 0.3s;

}


.btn:hover {

    opacity: 0.85;

}


/* =========================
   WARNA KELAS
========================= */

.kelas-2 {

    border-top: 8px solid #20c997;

}


.kelas-2 .btn {

    background: #20c997;

}


.kelas-5 {

    border-top: 8px solid #0d6efd;

}


.kelas-5 .btn {

    background: #0d6efd;

}


/* =========================
   FOOTER
========================= */

footer {

    text-align: center;

    padding: 25px;

    background: #198754;

    color: white;

    line-height: 1.8;

}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 700px) {

    .header {

        flex-direction: column;

        gap: 10px;

        text-align: center;

    }


    .hero h1 {

        font-size: 30px;

    }


    .kelas-container {

        grid-template-columns: 1fr;

    }
    .kembali {
    background: #6c757d;
    }
    
    /* =========================
   MATERI
========================= */

.materi-container {
    max-width: 900px;
    margin: auto;
}


.materi-card {

    background: white;

    border-radius: 20px;

    padding: 25px;

    margin-bottom: 20px;

    display: flex;

    align-items: center;

    gap: 25px;

    box-shadow:
        0 5px 20px rgba(0,0,0,0.07);

    transition: 0.3s;
}


.materi-card:hover {

    transform: translateY(-4px);

}


.materi-nomor {

    min-width: 65px;

    height: 65px;

    border-radius: 50%;

    background: #20c997;

    color: white;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 25px;

    font-weight: bold;

}


.materi-info {

    flex: 1;

}


.materi-info h2 {

    margin-bottom: 10px;

    color: #198754;

}


.materi-info p {

    margin-bottom: 15px;

    line-height: 1.6;

}


.quiz-box {

    max-width: 900px;

    margin: 50px auto;

    padding: 40px;

    background: white;

    border-radius: 25px;

    text-align: center;

    box-shadow:
        0 8px 25px rgba(0,0,0,0.08);

}


.quiz-box .icon {

    font-size: 60px;

}


.btn-quiz {

    background: #fd7e14;

}


@media (max-width: 600px) {

    .materi-card {

        flex-direction: column;

        text-align: center;

    }

    .materi-info {

        width: 100%;

    }

}
