/* ======================= GLOBAL STYLES ======================= */
:root {
    --primary-dark: #0a1628;
    --primary-blue: #1e3a5f;
    --accent-gold: #d4af37;
    --text-light: #ffffff;
    --text-gray: #b0b0b0;
    --overlay-dark: rgba(10, 22, 40, 0.95);
    --header-bg-scrolled: rgba(10, 22, 40, 0.85);
    --header-height: 80px;
    --glass-bg: rgba(30, 58, 95, 0.5);
    --glass-border: rgba(212, 175, 55, 0.2);
    --glass-border-hover: rgba(212, 175, 55, 0.5);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    font-family: 'Poppins', sans-serif;
    background-color: var(--primary-dark);
    color: var(--text-light);
    overflow-x: hidden;
    /* Background default (bisa ditimpa per halaman) */
background-image: linear-gradient(var(--overlay-dark), var(--overlay-dark)), url('/assets/img/bluecamo.jpeg');

    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
}

a { text-decoration: none; color: inherit; }
ul { list-style: none; padding-left: 0; }

/* ======================= NAVBAR ======================= */
.navbar {
            height: var(--header-height);
            transition: background-color 0.3s ease;
        }
        .navbar.scrolled {
            background-color: var(--header-bg-scrolled);
            backdrop-filter: blur(10px);
            border-bottom: 1px solid rgba(212, 175, 55, 0.2);
        }
        .navbar-brand {
            display: flex;
            align-items: center;
            gap: 12px;
            font-weight: 600;
            font-size: 1.3rem;
            color: var(--text-light);
            transition: color 0.3s ease;
        }
        .navbar-brand:hover {
            color: var(--accent-gold);
        }
        .navbar-brand img {
            height: 40px;
        }
        .navbar-nav .nav-link {
            font-weight: 500;
            font-size: 1rem;
            color: var(--text-light);
            transition: color 0.3s ease;
            padding: 0.5rem 1.25rem;
        }
        .navbar-nav .nav-link:hover,
        .navbar-nav .nav-link.active { 
            color: var(--accent-gold) !important;
            font-weight: 600;
        }
        .navbar-nav .nav-link .bi {
            margin-right: 8px; 
            font-size: 0.9rem; 
            vertical-align: -1px; 
        }
        .navbar-toggler {
            border: none;
            z-index: 1041;
        }
        .navbar-toggler:focus {
            box-shadow: none;
        }
        .navbar-toggler-icon {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
        }
        @media (max-width: 991.98px) {
            .navbar-collapse {
                position: fixed; 
                top: 0; 
                right: -300px;
                width: 300px; 
                height: 100vh; 
                background-color: var(--header-bg-scrolled); 
                backdrop-filter: blur(10px); 
                padding: 100px 20px 20px; 
                z-index: 1040;
                transition: right 0.3s ease-in-out;
            }
            .navbar-collapse.show {
                right: 0;
            }
            .navbar-overlay {
                position: fixed;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: rgba(0,0,0,0.5);
                z-index: 1039;
                opacity: 0;
                visibility: hidden;
                transition: opacity 0.3s ease, visibility 0.3s ease;
            }
            .navbar-overlay.show {
                opacity: 1;
                visibility: visible;
            }
            .navbar-nav {
                align-items: flex-start;
                gap: 15px;
            }
            .navbar-nav .nav-link {
                padding-left: 0;
                display: flex;
                align-items: center;
            }
            .navbar-nav .nav-link .bi {
                font-size: 1.1rem; 
                vertical-align: baseline;
            }
        }

/* Mobile Menu Logic */
@media (max-width: 991.98px) {
    .navbar-collapse { position: fixed; top: 0; right: 0; width: 300px; height: 100vh; background-color: var(--header-bg-scrolled); backdrop-filter: blur(10px); padding: 100px 20px 20px; z-index: -1; }
    .navbar-nav { align-items: flex-start; gap: 15px; }
}

/* ======================= FOOTER ======================= */
        .footer {
            background: linear-gradient(180deg, var(--primary-dark) 0%, #060e1b 100%);
            border-top: 1px solid rgba(212, 175, 55, 0.3);
            padding: 4rem 0 2rem;
            margin-top: 4rem;
            position: relative;
            z-index: 1;
        }
        .footer-section h3 {
            color: var(--accent-gold);
            font-size: 1.3rem;
            margin-bottom: 1.5rem;
            font-weight: 600;
        }
        .footer-section p {
            color: var(--text-gray);
            line-height: 1.6;
            margin-bottom: 1rem;
        }
        .footer-links {
            display: flex;
            flex-direction: column;
            gap: 0.8rem;
            padding-left: 0;
        }
        .footer-links a {
            color: var(--text-gray);
            transition: color 0.3s ease, transform 0.3s ease;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .footer-links a:hover {
            color: var(--accent-gold);
            transform: translateX(5px);
        }
        .footer-links a i {
            font-size: 0.9rem;
        }
        .social-links {
            display: flex;
            gap: 1rem;
            margin-top: 1.5rem;
        }
        .social-link {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            background: var(--primary-blue);
            border-radius: 50%;
            color: var(--text-light);
            transition: all 0.3s ease;
            border: 1px solid rgba(212, 175, 55, 0.3);
        }
        .social-link:hover {
            background: var(--accent-gold);
            color: var(--primary-dark);
            transform: translateY(-3px);
        }
        .footer-bottom {
            padding: 2rem 0 0;
            border-top: 1px solid rgba(212, 175, 55, 0.2);
            margin-top: 3rem;
        }
        .copyright {
            text-align: center;
            color: var(--text-gray);
            font-size: 0.9rem;
        }
        .footer-credits {
            text-align: center;
            color: var(--text-gray);
            font-size: 0.8rem;
            margin-top: 0.5rem;
            opacity: 0.7;
        }

/* ======================= UTILITIES ======================= */
section { padding: 5rem 0; position: relative; z-index: 1; }
.section-header { text-align: center; margin-bottom: 4rem; }
.section-header h2 { font-size: 2.5rem; color: var(--accent-gold); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 1rem; font-weight: 700; }
.section-header::after { content: ''; display: block; width: 100px; height: 3px; background: var(--accent-gold); margin: 1rem auto; transform: scaleX(0); transition: transform 0.6s ease-out; transition-delay: 0.3s; }
.section-header.aos-animate::after { transform: scaleX(1); }