/* === VARIABEL WARNA === */
:root {
    --umber: #362312;
    --cyber: #ffd400;
    --text-dark: #1a1a1a;
    --text-gray: #666666;
    --bg-light: #f9f9f9;
}

/* === RESET DASAR === */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

body { background-color: var(--bg-light); }

/* === HEADER === */
header {
    background-color: var(--umber);
    padding: 20px 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.logo { width: 100px; }

.menu-toggle {
    display: none;
    color: #ffffff;
    font-size: 24px;
    cursor: pointer;
}

nav ul {
    list-style: none;
    display: flex;
    gap: 30px;
}

nav a {
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
}

nav a.active, nav a:hover { color: var(--cyber); }

/* === KISAH SEJARAH (CARD GRID) === */
.kisah-sejarah { padding: 60px 10%; min-height: 80vh; }
.section-header { text-align: center; margin-bottom: 50px; }
.section-header h2 { font-size: 32px; color: var(--umber); margin-bottom: 10px; }
.section-header h2 span { color: var(--cyber); }
.section-header p { color: var(--text-gray); }

/* Grid otomatis yang responsif tanpa media query ribet */
.cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

/* Kunci utama agar gambar dan elemen di dalam card tidak bocor */
.history-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden; /* Mencegah elemen keluar batas */
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: 0.3s;
    position: relative; /* Menjaga elemen di dalamnya tetap terkurung */
}

.history-card:hover { transform: translateY(-10px); }

/* Bagian bungkus gambar dalam card */
.card-img { 
    position: relative; /* Wajib ada agar label tanggal nempel di dalam gambar */
    height: 200px; 
    width: 100%;
}
.card-img img { width: 100%; height: 100%; object-fit: cover; }

.card-badge { 
    position: absolute; 
    top: 15px; 
    right: 15px; 
    background: var(--cyber); 
    color: var(--umber); 
    padding: 5px 12px; 
    border-radius: 20px; 
    font-weight: bold; 
    font-size: 11px; 
}

.card-info { padding: 25px; }
.card-info h3 { margin-bottom: 10px; color: var(--umber); font-size: 20px; }
.card-info p { color: var(--text-gray); font-size: 14px; line-height: 1.6; margin-bottom: 20px; }

.btn-read { text-decoration: none; color: var(--umber); font-weight: bold; font-size: 14px; }
.btn-read:hover { color: var(--cyber); }

/* === FOOTER === */
footer { background: var(--umber); color: #fff; text-align: center; padding: 30px; border-top: 5px solid var(--cyber); }
footer h3 { color: var(--cyber); margin-bottom: 10px; }
footer p { font-size: 14px; color: #a89f95; }

/* === RESPONSIVE MENU HP === */
@media (max-width: 900px) {
    .menu-toggle { display: block; }
    .nav-list {
        display: none; 
        flex-direction: column; 
        position: absolute;
        top: 80px; 
        right: 5%; 
        background: var(--umber);
        width: 200px; 
        padding: 20px; 
        border-radius: 8px; 
        gap: 20px;
        box-shadow: 0 4px 10px rgba(0,0,0,0.3);
    }
    .nav-list.active { display: flex; }
}