/* Reset Margin & Padding */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box; /* Mencegah padding merusak ukuran lebar asli */
}

body {
    background-color: #06370e; /* Hijau tua Kemenag */
    font-family: 'Arial', sans-serif;
    color: #ffffff;
    padding: 20px 0; /* Ubah padding agar tidak mendorong konten ke samping */
    overflow-x: hidden; /* Mencegah munculnya scroll-bar horizontal di bawah browser */
}

/* Pembungkus Utama (Menjaga agar Banner & Menu Selalu Rapi) */
.main-wrapper {
    width: 92%; /* Menggunakan persentase agar menyisakan ruang di kanan-kiri layar */
    max-width: 1060px; /* Batas lebar maksimal yang ideal untuk resolusi monitor standar */
    margin: 0 auto; /* Memaksa seluruh isi web berada presisi di tengah-tengah layar */
}

/* Header Banner */
.institution-header {
    width: 100%;
    margin-bottom: 20px;
}

.banner-container {
    width: 100%;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
}

.banner-img {
    width: 100%;
    height: auto;
    display: block;
}

/* Garis Pembatas Emas */
.header-line {
    border: none;
    height: 3px;
    background: linear-gradient(to right, transparent, #f6e58d, transparent);
    margin-top: 20px;
}

/* Judul Tengah */
.main-title {
    text-align: center;
    margin: 30px 0;
}

.main-title h1 {
    font-size: 2.1rem;
    color: #f6e58d;
    font-weight: bold;
    letter-spacing: 3px;
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.6);
    text-transform: uppercase;
}

/* Grid Menu Aplikasi (Membentuk 4 Kolom Pas) */
.menu-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* Tetap 4 Kolom Sejajar */
    gap: 15px; /* Jarak antar kotak aplikasi */
    width: 100%;
}

/* Desain Kartu Aplikasi */
.menu-card {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 90px; /* Sedikit diperpendek tinggi kotaknya agar terlihat lebih padat */
    border-radius: 8px;
    text-decoration: none;
    color: white;
    font-weight: bold;
    font-size: 0.9rem; /* Mengecilkan sedikit ukuran teks agar pas di dalam kotak */
    text-transform: uppercase;
    text-align: center;
    padding: 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.4);
    transition: all 0.3s ease;
}

/* Tema Gradasi Warna Tombol Utama */
.menu-simlitbang {
    background: linear-gradient(135deg, #27ae60, #1e824c);
}

.menu-simdiklat {
    background: linear-gradient(135deg, #2ecc71, #27ae60);
}

.menu-pengendalian {
    background: linear-gradient(135deg, #16a085, #117a65);
}

/* Warna Tombol Aplikasi Slot Kosong */
.menu-aplikasi-baru {
    background: linear-gradient(135deg, #227039, #144d24);
}

/* Efek Hover Sentuhan Kursor */
.menu-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 16px rgba(0,0,0,0.6);
    filter: brightness(1.15);
}

/* Tampilan Responsif Layar Tablet dan HP */
@media (max-width: 900px) {
    .menu-grid {
        grid-template-columns: repeat(2, 1fr); /* Layar sedang otomatis jadi 2 kolom */
    }
}
@media (max-width: 500px) {
    .menu-grid {
        grid-template-columns: 1fr; /* Layar HP otomatis susun ke bawah */
    }
    .main-title h1 {
        font-size: 1.5rem;
    }
}