/* Mengatur font Inter sebagai default */
body {
    font-family: 'Inter', sans-serif;
    /* Memberi padding atas pada body agar konten tidak tertutup oleh fixed header */
    padding-top: 5rem; /* Menyesuaikan tinggi header */
    /* Latar belakang gradien halus untuk kesan premium */
    background: linear-gradient(135deg, #f3f4f6 0%, #d1d5db 100%);
    color: #374151; /* Warna teks utama yang lebih gelap */
}
/* Mengatur perilaku scroll yang mulus saat mengklik tautan anchor */
html {
    scroll-behavior: smooth;
}
/* Gaya kustom untuk latar belakang hero section */
.hero-background {
    background-image: url('images/home.jpeg'); /* Gambar placeholder pegunungan */
    background-size: cover;
    background-position: center;
    background-attachment: fixed; /* Efek paralaks */
}
/* Gaya kustom untuk overlay gelap pada hero section */
.hero-overlay {
    background-color: rgba(0, 0, 0,0); /* Overlay sedikit lebih gelap */
}
/* Animasi sederhana untuk elemen saat di-hover */
.card-hover-effect:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1);
}

/* Gaya untuk Lightbox/Popup Gambar */
.lightbox-overlay {
    display: none; /* Sembunyikan secara default */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85); /* Latar belakang gelap transparan */
    z-index: 9999; /* Pastikan di atas semua elemen lain */
    justify-content: center;
    align-items: center;
    cursor: pointer; /* Menunjukkan bisa diklik untuk menutup */
}

.lightbox-content {
    position: relative;
    max-width: 95%;
    max-height: 95%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.lightbox-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain; /* Memastikan gambar pas tanpa terpotong */
    border-radius: 0.75rem; /* Sudut membulat sedikit lebih besar */
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.6);
}

.lightbox-close {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    color: white;
    font-size: 3rem; /* Ukuran ikon silang sedikit lebih besar */
    cursor: pointer;
    z-index: 10000;
    line-height: 1; /* Menghilangkan spasi ekstra di sekitar X */
    text-shadow: 0 0 7px rgba(0,0,0,0.7);
}

/* Header / Menu Navigasi - Tetap gelap dengan sedikit penyesuaian */
header {
    background-color: #1e293b; /* Abu-abu gelap solid */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.15), 0 2px 4px -1px rgba(0, 0, 0, 0.1);
}

/* Bagian Eksplorasi - Latar belakang lebih dalam */
#eksplorasi {
    background-color: #334155; /* Abu-abu kebiruan gelap */
    color: #f3f4f6;
}

/* Kartu di Eksplorasi */
#eksplorasi .bg-gray-700 {
    background-color: #475569; /* Sedikit lebih terang dari latar belakang */
}

/* Bagian Wall of Fame - Serasi dengan Eksplorasi */
#wall-of-fame {
    background-color: #334155; /* Abu-abu kebiruan gelap */
    color: #f3f4f6;
}

/* Item Foto Wall of Fame */
#wall-of-fame .bg-gray-700 {
    background-color: #475569; /* Sedikit lebih terang */
}

/* Tombol Vote */
.vote-button {
    background-color: #4f46e5; /* Biru keunguan yang lebih dalam */
}
.vote-button:hover {
    background-color: #6366f1;
}
.vote-button:disabled {
    background-color: #a78bfa;
    cursor: not-allowed;
}

/* Bagian Kontak - Tetap gelap */
#kontak {
    background-color: #1a202c; /* Lebih gelap */
    color: #e2e8f0;
}
#kontak .bg-gray-800 {
    background-color: #2d3748;
}

/* Footer - Lebih gelap dan solid */
footer {
    background-color: #0f172a; /* Paling gelap */
    color: #94a3b8;
}

/* Gaya untuk menu mobile (hamburger) */
.hamburger-menu {
    display: none; /* Sembunyikan secara default */
}

@media (max-width: 767px) { /* Untuk layar di bawah medium (md) */
    .hamburger-menu {
        display: block; /* Tampilkan tombol hamburger */
    }
    .nav-links {
        display: none; /* Sembunyikan tautan navigasi secara default */
        flex-direction: column; /* Tumpuk vertikal */
        width: 100%;
        background-color: #1e293b; /* Latar belakang sama dengan header */
        position: absolute;
        top: 5rem; /* Di bawah header */
        left: 0;
        padding: 1rem 0;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.15);
    }
    .nav-links.active {
        display: flex; /* Tampilkan saat aktif */
    }
    .nav-links li {
        margin: 0; /* Hapus margin horizontal */
        width: 100%;
    }
    .nav-links li a {
        display: block; /* Buat tautan mengisi lebar penuh */
        padding: 0.75rem 1.5rem; /* Padding lebih besar untuk area sentuh */
        text-align: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1); /* Garis pemisah */
    }
    .nav-links li:last-child a {
        border-bottom: none; /* Hapus garis di item terakhir */
    }
}

/* Gaya untuk Google Map */
#map {
    height: 400px; /* Tinggi peta */
    width: 100%; /* Lebar peta */
    border-radius: 0.75rem; /* Sudut membulat */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

/* Penyesuaian untuk tata letak 2 kolom di bagian kontak */
@media (min-width: 768px) { /* Untuk layar medium (md) dan di atasnya */
    #kontak .grid-cols-1 {
        grid-template-columns: repeat(2, minmax(0, 1fr)); /* 2 kolom */
    }
}

/* Gaya untuk logo gambar di header */
.header-logo {
    height: 4rem; /* Tinggi logo, sesuaikan jika perlu */
    width: auto; /* Lebar otomatis agar proporsional */
}

/* Gaya untuk logo sponsor */
.sponsor-logo {
    max-height: 80px; /* Tinggi maksimum logo sponsor */
    width: auto; /* Lebar otomatis */
   /* filter: grayscale(100%) brightness(150%);  Efek grayscale untuk tampilan premium */
    transition: filter 0.3s ease-in-out;
}

.sponsor-logo:hover {
    filter: grayscale(0%) brightness(100%); /* Warna asli saat di-hover */
}

/* --- Gaya untuk Slideshow --- */
.slideshow-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden; /* Penting untuk menyembunyikan gambar yang tidak aktif */
}

.mySlides {
    display: none; /* Sembunyikan semua slide secara default */
    width: 100%;
    height: 100%;
    object-fit: cover; /* Pastikan gambar mengisi container tanpa terdistorsi */
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 1.5s ease-in-out; /* Transisi untuk efek fade */
}

.mySlides.active {
    display: block; /* Tampilkan slide aktif */
    opacity: 1; /* Buat slide aktif terlihat */
}

/* Gaya untuk tombol prev/next */
.prev, .next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    padding: 16px;
    margin-top: -22px;
    color: white;
    font-weight: bold;
    font-size: 28px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
    background-color: rgba(0,0,0,0.5); /* Latar belakang semi-transparan */
    z-index: 10; /* Pastikan di atas gambar, di bawah overlay teks */
}

.next {
    right: 0;
    border-radius: 3px 0 0 3px;
}

.prev:hover, .next:hover {
    background-color: rgba(0,0,0,0.8);
}

/* Gaya untuk titik indikator */
.dot-container {
    position: absolute;
    bottom: 20px;
    width: 100%;
    text-align: center;
    z-index: 10; /* Pastikan di atas gambar, di bawah overlay teks */
}

.dot {
    cursor: pointer;
    height: 15px;
    width: 15px;
    margin: 0 5px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.6s ease;
}

.dot.active, .dot:hover {
    background-color: #717171;
}
