/* =========================================
   VARIABEL GLOBAL (CSS VARIABLES)
   ========================================= */
:root {
    --warna-utama: #b30000;
    --warna-utama-gelap: #8a0000;
    --warna-teks-putih: #ffffff;
    --warna-teks-gelap: #012970;
    --font-utama: 'Inter', sans-serif;
    --font-judul: 'Playfair Display', serif;
}

/* =========================================
   PENGATURAN GLOBAL
   ========================================= */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 90px; /* Jarak kompensasi untuk fixed header */
}

/* =========================================
   GAYA NAVIGASI (HEADER)
   ========================================= */
.navigasi-utama {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 25px 0;
    transition: all 0.4s ease-in-out;
    background-color: transparent; /* Awal Transparan */
}

/* Modifikasi untuk halaman dalam (selain Home) agar tidak menutupi konten (keluar dari normal flow) */
.navigasi-statis {
    position: sticky;
    padding: 15px 0; /* Padding lebih kecil untuk header statis */
}

/* =========================================
   NAVBAR HALAMAN INTERNAL / 404
   ========================================= */
.navigasi-utama.halaman-internal {
    position: sticky;
    top: 0;

    background-color: #ffffff;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);

    padding: 12px 0;

    z-index: 1000;
}

/* Teks logo jadi gelap */
.navigasi-utama.halaman-internal .teks-logo {
    color: var(--warna-teks-gelap);
}

/* Menu jadi gelap */
.navigasi-utama.halaman-internal .navigasi-menu a {
    color: var(--warna-teks-gelap);
}

/* Hover / aktif */
.navigasi-utama.halaman-internal .navigasi-menu a:hover,
.navigasi-utama.halaman-internal .navigasi-menu a.aktif {
    color: var(--warna-utama);
    border-bottom-color: var(--warna-utama);
}

/* Hamburger mobile jadi gelap */
.navigasi-utama.halaman-internal .tombol-nav-mobile {
    color: var(--warna-teks-gelap);
}

.navigasi-wadah {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 95%; /* Sesuai spesifikasi: wide spread */
    margin: 0 auto;
    padding: 0 20px;
}

/* Bagian Logo (Kiri) */
.navigasi-kiri {
    display: flex;
    align-items: center;
    gap: 15px;
}

.ikon-logo {
    height: 45px; /* Sesuaikan dengan rasio logo Garuda Anda */
    width: auto;
}

.teks-logo {
    font-family: var(--font-judul);
    font-size: 1.4rem; /* Sesuai spesifikasi */
    color: var(--warna-teks-putih);
    transition: color 0.4s ease;
}

/* Menu Navigasi (Kanan) */
.navigasi-menu ul {
    list-style: none;
    display: flex;
    gap: 40px; /* Jarak antar menu sedikit diperlebar agar seimbang */
    margin: 0;
    padding: 0;
}

.navigasi-menu a {
    font-family: var(--font-utama);
    color: var(--warna-teks-putih);
    text-decoration: none;
    font-size: 1rem; /* Ukuran standar */
    font-weight: 500;
    padding-bottom: 5px;
    border-bottom: 2px solid transparent;
    transition: all 0.3s;
}

.navigasi-menu a:hover,
.navigasi-menu a.aktif {
    color: var(--warna-teks-putih);
    border-bottom: 2px solid var(--warna-utama);
}

/* =========================================
   EFEK SAAT HALAMAN DI-SCROLL
   ========================================= */
.navigasi-tergulir {
    background-color: rgba(255, 255, 255, 0.98); /* Putih Solid */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05); /* Bayangan Halus */
    padding: 10px 0; /* Mengecil sedikit saat tergulir */
}

.navigasi-tergulir .teks-logo {
    color: var(--warna-teks-gelap); /* Teks logo gelap saat tergulir */
}

.navigasi-tergulir .navigasi-menu a {
    color: var(--warna-teks-gelap); /* Teks menu gelap saat tergulir */
}

.navigasi-tergulir .navigasi-menu a:hover,
.navigasi-tergulir .navigasi-menu a.aktif {
    color: var(--warna-utama); /* Teks merah saat aktif/hover di state tergulir */
    border-bottom: 2px solid var(--warna-utama);
}

/* =========================================
   RESPONSIVITAS NAVIGASI (MEDIA QUERIES)
   ========================================= */
/*
@media screen and (max-width: 768px) {
    .navigasi-wadah {
        padding: 0 15px;
    }

    .ikon-logo {
        height: 35px; /* Perkecil logo */
/*
    }

    .teks-logo {
        font-size: 1.1rem; /* Perkecil nama institusi */
 /*   }

    .navigasi-menu {
        display: none; /* Sembunyikan menu berjejer pada mobile untuk mencegah layout rusak */
/*    }
}*/

/* =========================================
   TOMBOL MOBILE
   ========================================= */

.tombol-nav-mobile {
    display: none;

    width: 42px;
    height: 42px;

    padding: 0;

    border: 0;
    outline: 0;
    box-shadow: none;

    background: transparent;

    cursor: pointer;

    position: relative;
    z-index: 10002;
}


.tombol-nav-mobile span {
    display: block;

    width: 25px;
    height: 2px;

    margin: 5px auto;

    background: currentColor;

    border-radius: 5px;

    transition: 0.25s ease;
}


/* =========================================
   MOBILE
   ========================================= */

@media screen and (max-width: 768px) {

    .navigasi-utama {
        padding: 14px 0;
    }


    .navigasi-wadah {
        max-width: 100%;
        padding: 0 18px;
    }


    .ikon-logo {
        height: 34px;
    }


    .teks-logo {
        font-size: 1.05rem;
    }


    /* Hamburger */

    .tombol-nav-mobile {
        display: block;

        color: #ffffff;

        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }


    .navigasi-tergulir .tombol-nav-mobile {
        color: var(--warna-teks-gelap);
    }


    /* =========================
       MENU MOBILE DEFAULT
       ========================= */

    .navigasi-menu > ul {
        display: none;
    }


    /* =========================
       SAAT MENU DIBUKA
       ========================= */

    body.menu-mobile-aktif {
        overflow: hidden;
    }


    body.menu-mobile-aktif .navigasi-menu {
        position: fixed;

        inset: 0;

        width: 100%;
        height: 100dvh;

        background: rgba(20, 24, 30, 0.72);

        z-index: 10000;
    }


    body.menu-mobile-aktif .navigasi-menu > ul {

        display: flex;

        position: absolute;

        top: 85px;
        left: 20px;
        right: 20px;

        margin: 0;
        padding: 20px 0;

        flex-direction: column;
        gap: 0;

        list-style: none;

        background: rgba(255, 255, 255, 0.94);

        border-radius: 14px;

        box-shadow:
            0 20px 50px rgba(0, 0, 0, 0.2);

        overflow-y: auto;

        max-height: calc(100dvh - 110px);

        z-index: 10001;
    }


    body.menu-mobile-aktif .navigasi-menu li {
        width: 100%;
    }


    body.menu-mobile-aktif .navigasi-menu a {

        display: block;

        width: 100%;

        padding: 16px 28px;

        color: #5f687b !important;

        font-family: var(--font-utama);

        font-size: 17px;
        font-weight: 600;

        text-decoration: none;

        border: 0 !important;
    }


    body.menu-mobile-aktif .navigasi-menu a:hover,
    body.menu-mobile-aktif .navigasi-menu a.aktif {

        color: var(--warna-utama) !important;

        background: rgba(179, 0, 0, 0.04);
    }


    /* =========================
       HAMBURGER MENJADI X
       ========================= */

    body.menu-mobile-aktif .tombol-nav-mobile {

        position: fixed;

        top: 17px;
        right: 18px;

        color: #ffffff;

        background: transparent !important;

        z-index: 10003;
    }


    body.menu-mobile-aktif
    .tombol-nav-mobile span:nth-child(1) {

        transform:
            translateY(7px)
            rotate(45deg);
    }


    body.menu-mobile-aktif
    .tombol-nav-mobile span:nth-child(2) {

        opacity: 0;
    }


    body.menu-mobile-aktif
    .tombol-nav-mobile span:nth-child(3) {

        transform:
            translateY(-7px)
            rotate(-45deg);
    }

}
