/* --- Pengaturan Dasar & Font --- */
body {
    font-family: 'Nunito', sans-serif;
    background-color: #FFFBF0; /* Warna krem seperti di gambar */
    display: grid;
    place-items: center;
    min-height: 100vh;
    padding: 20px;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* --- Kontainer Utama --- */
.success-stories {
    width: 100%;
    max-width: 900px; /* Batas lebar maksimal */
    text-align: center;
}

.success-stories h2 {
    font-size: 2.5rem; /* 40px */
    color: #333;
    font-weight: 800;
}

.success-stories .highlight {
    color: #007bff; /* Warna biru untuk "EduKoding" */
}

.success-stories .subtitle {
    font-size: 1.1rem; /* 18px */
    color: #666;
    margin-bottom: 30px;
}

/* --- Wrapper Slider (Panah + Kontainer) --- */
.slider-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* --- Kontainer & Track Slider --- */
.slider-container {
    flex-grow: 1; /* Mengisi ruang tersisa */
    overflow-x: auto; /* PENTING: Ini yang membuat bisa di-scroll */
    scroll-snap-type: x mandatory; /* Membuat scroll "nempel" ke kartu */
    -ms-overflow-style: none;  /* Sembunyikan scrollbar (IE/Edge) */
    scrollbar-width: none;  /* Sembunyikan scrollbar (Firefox) */
}

.slider-container::-webkit-scrollbar {
    display: none; /* Sembunyikan scrollbar (Chrome, Safari) */
}

.slider-track {
    display: flex; /* Membuat semua kartu berjajar ke samping */
    gap: 20px; /* Jarak antar kartu */
    padding-bottom: 20px; /* Jarak agar shadow terlihat */
}

/* --- Tombol Panah --- */
.slider-arrow {
    flex-shrink: 0; /* Agar panah tidak gepeng */
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #ddd;
    font-size: 1.5rem;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s;
}

.slider-arrow:hover {
    transform: scale(1.1);
}

/* --- Navigasi Titik --- */
.slider-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 10px;
}

.dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #dcdcdc;
}

.dot.active {
    background-color: #2DCC9F; /* Warna hijau aktif */
}

/* --- Desain Kartu Testimoni --- */
.story-card {
    /* PENTING: Ukuran kartu agar bisa di-scroll */
    min-width: 90%; 
    flex: 0 0 auto; /* Jangan membesar atau mengecil */
    scroll-snap-align: center; /* Posisi nempel scroll */

    display: flex;
    gap: 20px;
    padding: 24px;
    border-radius: 24px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.story-image {
    flex-basis: 200px; /* Lebar area gambar */
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
}

.story-image .icon {
    font-size: 80px;
}

.story-content {
    flex: 1; /* Mengisi sisa ruang */
    background-color: #fff;
    border-radius: 16px;
    padding: 24px;
    text-align: left;
    position: relative; /* Untuk titik dekorasi */
}

/* Titik dekorasi di kanan atas kartu putih */
.story-content::after {
    content: '';
    position: absolute;
    top: 15px;
    right: 15px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.testimonial-tag {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.8rem; /* 13px */
    font-weight: 700;
}

.story-content h3 {
    font-size: 1.75rem; /* 28px */
    color: #222;
    margin-top: 15px;
    font-weight: 800;
}

.story-content .achievement {
    font-size: 1rem; /* 16px */
    color: #555;
    margin-top: 5px;
}

.story-content .quote {
    font-size: 1.1rem; /* 18px */
    color: #333;
    font-weight: 700;
    margin-top: 20px;
    font-style: italic;
    border-left: 3px solid; /* Garis di kiri quote */
    padding-left: 15px;
}


/* --- TEMA WARNA --- */

/* 1. HIJAU (Seperti di gambar) */
.story-card.green {
    background-color: #2DCC9F;
}
.story-card.green .story-image {
    background-color: #6DE3C1; /* Hijau lebih muda */
}
.story-card.green .testimonial-tag {
    background-color: #2DCC9F;
    color: #fff;
}
.story-card.green .story-content::after {
    background-color: #B2E7D9; /* Titik dekorasi hijau muda */
}
.story-card.green .quote {
    border-color: #2DCC9F;
}

/* 2. KUNING */
.story-card.yellow {
    background-color: #F3CA30;
}
.story-card.yellow .story-image {
    background-color: #F7D960; /* Kuning lebih muda */
}
.story-card.yellow .testimonial-tag {
    background-color: #F3CA30;
    color: #333;
}
.story-card.yellow .story-content::after {
    background-color: #FAECA9; /* Titik dekorasi kuning muda */
}
.story-card.yellow .quote {
    border-color: #F3CA30;
}

/* 3. ORANYE */
.story-card.orange {
    background-color: #E8833A;
}
.story-card.orange .story-image {
    background-color: #F0A160; /* Oranye lebih muda */
}
.story-card.orange .testimonial-tag {
    background-color: #E8833A;
    color: #fff;
}
.story-card.orange .story-content::after {
    background-color: #F8CBA8; /* Titik dekorasi oranye muda */
}
.story-card.orange .quote {
    border-color: #E8833A;
}


/* --- Penyesuaian untuk Layar Kecil (Mobile) --- */
@media (max-width: 768px) {
    .success-stories h2 {
        font-size: 2rem; /* Kecilkan judul */
    }

    /* Sembunyikan panah di HP, fokus ke scroll */
    .slider-arrow {
        display: none;
    }

    .story-card {
        flex-direction: column; /* Susun ke bawah (gambar di atas, teks di bawah) */
        min-width: 90%; /* Tetap penuhi layar */
        padding: 16px;
    }

    .story-image {
        flex-basis: 150px; /* Tinggi area gambar */
        width: 100%; /* Penuhi lebar kartu */
    }

    .story-content h3 {
        font-size: 1.5rem;
    }

    .story-content .quote {
        font-size: 1rem;
    }
}