/* =========================
   GLOBAL
========================= */

html{
    scroll-behavior: smooth;
}

body{
    font-family: "Segoe UI", sans-serif;
    background: #f4f8f2;
    color: #333;
    margin: 0;
    padding: 0;
}

/* FIX: supaya section tidak ketutupan navbar sticky saat discroll/diklik */
section[id],
div[id],
h2[id]{
    scroll-margin-top: 90px;
}

/* =========================
   NAVBAR
========================= */

.navbar{
    background: #1b5e20;
    box-shadow: 0 3px 10px rgba(0,0,0,.2);
    z-index: 1030; /* FIX: pastikan navbar selalu di atas elemen lain, bisa diklik */
}

.navbar-brand{
    font-size: 24px;
    font-weight: bold;
    color: #fff !important;
}

.nav-link{
    color: white !important;
    font-weight: 500;
    margin-left: 10px;
    transition: .3s;
    cursor: pointer; /* FIX: kursor jelas menunjukkan bisa diklik */
}

.nav-link:hover{
    color: #ffd54f !important;
}

.nav-link.active{
    color: #ffd54f !important;
}

.navbar-toggler{
    border: none;
    cursor: pointer;
}

.navbar-toggler:focus{
    box-shadow: none;
}

/* =========================
   FIX UTAMA: navbar mobile tidak bisa dibuka
   Aturan ini WAJIB ada supaya menu bisa tampil/sembunyi
   saat tombol hamburger ditekan, baik lewat class Bootstrap
   "collapse/show" maupun lewat JS manual kita sendiri.
========================= */

@media (max-width: 991.98px){
    .navbar-collapse{
        display: none;
    }
    .navbar-collapse.show{
        display: block;
        background: #1b5e20;
        padding: 10px 0;
        border-radius: 8px;
    }
    .navbar-nav{
        text-align: center;
    }
    .nav-link{
        margin-left: 0;
        padding: 10px 16px;
    }
}

/* =========================
   HERO
========================= */

.hero{
    background: linear-gradient(135deg,#1b5e20,#66bb6a);
    color: white;
    text-align: center;
    padding: 90px 20px;
}

.hero h1{
    font-size: 45px;
    font-weight: bold;
    margin-bottom: 20px;
}

.hero p{
    font-size: 20px;
}

.hero img{
    margin-top: 25px;
    border-radius: 15px;
    box-shadow: 0 10px 25px rgba(0,0,0,.3);
    transition: .4s;
}

.hero img:hover{
    transform: scale(1.05);
}

.hero .btn{
    margin-top: 30px;
    padding: 12px 35px;
    font-size: 18px;
    border-radius: 30px;
    transition: .3s;
}

.hero .btn:hover{
    transform: translateY(-4px);
}

/* =========================
   CARD IDENTITAS
========================= */

.info{
    margin-top: -40px;
}

.info .card{
    border: none;
    border-radius: 20px;
    box-shadow: 0 8px 25px rgba(0,0,0,.15);
}

.info p{
    margin-bottom: 8px;
}

/* =========================
   JUDUL
========================= */

.section-title{
    color: #1b5e20;
    font-weight: bold;
    text-align: center;
    margin-bottom: 30px;
}

/* =========================
   STEP GERAKAN
========================= */

.step{
    display: flex;
    gap: 20px;
    align-items: center;
    background: white;
    border-left: 6px solid #2e7d32;
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 6px 15px rgba(0,0,0,.1);
    transition: .3s;
}

.step:hover{
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0,0,0,.18);
}

.step h5{
    color: #1b5e20;
    font-weight: bold;
}

.step p{
    margin-bottom: 0;
}

/* =========================
   NOMOR
========================= */

.badge-num{
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #2e7d32;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 18px;
    flex-shrink: 0;
}

/* =========================
   PANDUAN & TENTANG
========================= */

#panduan,
#tentang{
    background: white;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0,0,0,.1);
    margin-bottom: 30px;
}

/* =========================
   FOOTER
========================= */

footer{
    background: #1b5e20;
    color: white;
    padding: 25px;
    text-align: center;
    margin-top: 40px;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:768px){

.hero h1{
    font-size:32px;
}

.hero p{
    font-size:17px;
}

.hero img{
    max-width:250px;
}

.step{
    flex-direction: column;
    text-align:center;
}

.badge-num{
    margin-bottom:10px;
}

.navbar-nav{
    text-align:center;
}

}