/* ===========================
RESET
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;
    color:#222;
    background:#ffffff;

}

.container{

    width:90%;
    max-width:1200px;
    margin:auto;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}

/* ===========================
   NAVBAR
=========================== */

header{
    position: fixed;          /* Navbar tetap di atas */
    top: 0;
    left: 0;
    width: 100%;
    background: #386641;      /* Warna hijau */
    box-shadow: 0 2px 10px rgba(0,0,0,0.15);
    z-index: 1000;
}

.navbar{
    height: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo{
    display: flex;
    align-items: center;
    gap: 12px;
}

.logo img{
    width: 35px;
    height: 35px;
    object-fit: contain;
}

.logo h2{
    color: #fff;
    font-size: 20px;
    font-weight: 700;
}

.nav-menu{
    display: flex;
    align-items: center;
    gap: 30px;
}

.nav-menu li{
    list-style: none;
}

.nav-menu a{
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: .3s;
    padding: 4px 0;
}

.nav-menu a:hover,
.nav-menu a.active{
    color: #FFD54F;
}

/* ===================================
   HAMBURGER MENU
=================================== */

/* Desktop: tombol disembunyikan */
.menu-toggle{
    display:none;
    background:none;
    border:none;
    color:#fff;
    font-size:24px;
    cursor:pointer;
}



/* ===========================
HEADER
=========================== */

.page-header{

    margin-top:90px;

    margin-bottom:70px;

}

.header-box{

    background:#2E7D32;

    border-radius:20px;

    padding:45px 50px;

    color:#fff;

}

.header-box h1{

    font-size:36px;

    margin-bottom:18px;

    font-weight:700;

}

.header-box p{

    max-width:900px;

    line-height:1.9;

    font-size:16px;

    color:#f2f2f2;

}



/* ===========================
SEJARAH DESA
=========================== */

.history-section{

    margin-bottom:80px;

}

.section-title{

    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:30px;

}

.section-title i{

    color:#2E7D32;

    font-size:22px;

}

.section-title h2{

    font-size:28px;
    margin-left: 30px;
}

.history-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:40px;

    align-items:center;

}

.history-text{

    background:#ffffff;

    padding: 30px;

    border-radius:18px;

    box-shadow:0 5px 20px rgba(0,0,0,.08);

}

.history-text p{

    color:#666;

    line-height:1.9;

    margin-bottom:18px;

    text-align:justify;

}

.history-image{

    position:relative;

}

.history-image img{

    width:103%;

    border-radius:18px;

    display:block;

}

.history-image span{

    position:absolute;

    bottom:15px;

    left:15px;

    background:rgba(0,0,0,.65);

    color:#fff;

    padding:8px 15px;

    border-radius:8px;

    font-size:13px;

}


/* ===========================
   VISI MISI
=========================== */

.vision-section {
    margin-bottom: 90px;
}

.vision-grid{
    display:grid;
    grid-template-columns:1fr 1.3fr;
    gap:30px;
    align-items:stretch;
}

.vision-card,
.mission-card{
    padding:40px;
    border-radius:20px;
    display:flex;
    flex-direction:column;
}

.vision-card{
    background:#157A2C;
    color:#fff;
}

.mission-card{
    background:#fff;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.card-title{
    margin-bottom:30px;
}

.card-title h2{
    font-size:32px;
    margin:0;
    font-weight:700;
}

/* Warna judul Misi (kuning) */
.mission-card .card-title {
    color: #8A5A00;
}

/* Konten Visi: dibuat fleksibel agar teks di tengah vertikal */
.vision-card p{
    flex:1;
    display:flex;
    text-align:left;
    font-size:20px;
    line-height:1.8;
    font-style:italic;
    font-weight:600;
}

/* Konten Misi */
.mission-card ul{
    margin:0;
    padding-left:24px;
}

.mission-card li{
    margin-bottom:20px;
    line-height:1.9;
    color:#555;
}
.mission-card ol{
    padding-left:22px;
    margin:0;
}

.mission-card li{
    margin-bottom:10px;
    line-height:1.5;
}



/* ===========================
POTENSI DESA
=========================== */

.potential-section{

    margin-bottom:90px;

}

.section-description{

    color:#666;

    line-height:1.8;

    margin:20px 0 35px;

}

.potential-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

}

.potential-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 5px 20px rgba(0,0,0,.08);

    transition:.3s;

}

.potential-card:hover{

    transform:translateY(-6px);

}

.potential-card img{

    width:100%;

    height:220px;

    object-fit:cover;

}

.potential-content{

    padding:25px;

}

.potential-content h3{

    color:#2E7D32;

    margin-bottom:12px;

}

.potential-content p{

    color:#666;

    line-height:1.8;

}


/*==================================
PERANGKAT DESA
==================================*/

.staff-section{
    padding:20px 0;
}

.staff-header{
    text-align:center;
    margin-bottom:40px;
}

.staff-header h2{
    font-size:34px;
    font-weight:700;
    color:#222;
}

.staff-header p{
    margin-top:10px;
    color:#666;
    font-size:16px;
}

.bagan-desa{
    display:flex;
    justify-content:center;
    align-items:center;
}

.bagan-desa img{
    width:100%;
    max-width:1100px;
    border-radius:18px;
    box-shadow:0 8px 25px rgba(0,0,0,.12);
}

/* ===========================
   PETA LOKASI (2 kolom seimbang)
=========================== */

.location-section {
    margin-bottom: 90px;
    margin-top: 70px;
}

.location-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 30px;
    align-items: stretch; /* ← tinggi otomatis sama */
}

/* Kiri: Informasi */
.location-info {
    background: #fff;
    border-radius: 18px;
    padding: 30px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .08);
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%; 
}

.location-info h3 {
    margin-bottom: 25px;
    font-size: 20px;
}

.border-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.border-grid strong {
    color: #222;
}

.border-grid p {
    color: #666;
    margin-top: 6px;
}

.location-info hr {
    margin: 25px 0;
    border: none;
    border-top: 1px solid #ddd;
}

.location-data {
    display: flex;
    justify-content: space-between;
    margin-bottom: 18px;
}

.location-data h4 {
    font-size: 18px;
}

.location-data span {
    color: #2E7D32;
    font-weight: 600;
}

/* Kanan: Peta + Jam Operasional */
.location-right {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 100%; /* agar mengisi penuh */
}

.location-map iframe {
    width: 100%;
    height: 280px;
    border: none;
    border-radius: 18px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .08);
}

/* Jam Operasional (di bawah peta) */
.location-hours {
    background: #fff;
    border-radius: 18px;
    padding: 25px 30px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .08);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.location-hours h4 {
    color: #2E7D32;
    font-size: 18px;
    margin: 0;
}

.location-hours p {
    color: #666;
    line-height: 1.8;
    margin: 0;
    font-size: 14px;
}

.location-hours .btn-maps {
    background: #2E7D32;
    color: #fff;
    padding: 10px 24px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    transition: .3s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.location-hours .btn-maps:hover {
    background: #1f5c24;
    transform: translateY(-2px);
}

/* ===========================
   OFFICE CARD (Jam Operasional)
=========================== */

.office-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 30px;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .08);
    gap: 20px;
    flex-wrap: wrap; /* agar responsif */
}

.office-left {
    display: flex;
    flex-direction: column;
    gap: 12px; /* jarak judul dengan tombol */
}

.office-left h3 {
    margin: 0;
    color: #0D631B;
    font-size: 20px;
}

.office-left .btn-map {
    background: #2E7D32;
    color: #fff;
    padding: 10px 24px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    transition: .3s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    text-decoration: none;
}

.office-left .btn-map:hover {
    background: #1f5c24;
    transform: translateY(-2px);
}

.office-right {
    text-align: left;
    line-height: 1.8;
    font-size: 14px;
    color: #555;
}

.office-right div {
    padding: 2px 0;
}


/*====================================
FOOTER
=====================================*/

footer{

    background:#2f2f2f;
    color:#fff;

    margin-top:80px;
    padding:60px 0 20px;

}

.footer-grid{

    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:5px;

    padding-bottom:35px;

}

/* Judul Desa */

.footer-grid h3{

    color:#32b44a;

    font-size:20px;
    font-weight:700;

    margin-bottom:18px;

}

/* Judul Kolom */

.footer-grid h4{

    font-size:16px;
    font-weight:600;

    margin-bottom:18px;

    color:#fff;

}

/* Paragraf */

.footer-grid p{

    font-size:12px;
    color:#cfcfcf;

    line-height:1.9;

    max-width:280px;

}

/* List */

.footer-grid ul{

    padding:0;
    margin:0;

}

.footer-grid li{

    list-style:none;

    font-size:12px;

    color:#cfcfcf;

    margin-bottom:10px;

    line-height:1.8;

}

/* Hover */

.footer-grid li:hover{

    color:#ffffff;

    cursor:pointer;

}

/* Hover */

.footer-grid li:hover{

    color:#ffffff;

    cursor:pointer;

}

footer a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

footer a:hover {
    color: #ffffff; /* sesuaikan dengan warna tema website */
    text-decoration: underline;
}


/* Copyright */

.copyright{

    border-top:1px solid rgba(255,255,255,.08);

    text-align:center;

    padding:5px 5px;
    
    font-size:10px;

    color:#9c9c9c;

    background:#2f2f2f;

    width: 100%
    
}
/* ===================================
   PROFIL DESA RESPONSIVE
=================================== */

@media (max-width:768px){

    /* HEADER */
    .page-header{
        margin-top:85px;
        margin-bottom:40px;
    }

    .header-box{
        padding:28px 22px;
        border-radius:16px;
        text-align:center;
    }

    .header-box h1{
        font-size:24px;
        margin-bottom:12px;
    }

    .header-box p{
        font-size:12px;
        line-height:1.8;
    }

    /* JUDUL SECTION */
    .section-title{
        justify-content:center;
        margin-bottom:22px;
    }

    .section-title h2{
        margin-left:0;
        font-size:24px;
        text-align:center;
    }

      /* ================= SEJARAH ================= */

    .history-grid{
        display:flex;
        flex-direction:column-reverse;
        gap:25px;
        align-items:stretch;
    }

    .history-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:18px;
}

    .history-image img{
        width:100%;
        height:260px;
        object-fit:cover;
        border-radius:18px;
    }

    .history-text{
    background:#fff;
    padding:35px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

    .history-text p{
        font-size:12px;
        line-height:1.9;
        text-align:justify;
    }

    .section-title{
        margin-bottom:25px;
    }

    .section-title h2{
        margin-left:0;
        font-size:24px;
    }

    /* ======================================
   RESPONSIVE VISI MISI
====================================== */

    .vision-section{
        margin-bottom:60px;
    }

    .vision-grid{

        display:grid;
        grid-template-columns:0.85fr 1.15fr;
        gap:18px;
        align-items:stretch;

    }

    .vision-card,
    .mission-card{

        padding:20px;
        border-radius:18px;

    }

    .card-title{

        margin-bottom:18px;

    }

    .card-title h2{

        font-size:20px;

    }

    .vision-card{

        display:flex;
        flex-direction:column;
        justify-content:center;

    }

    .vision-card p{

        display:block;
        font-size:12px;
        line-height:1.8;
        font-style:italic;
        font-weight:600;

    }

    .mission-card ol{

        padding-left:20px;

    }

    .mission-card li{

        font-size:10px;
        line-height:1.7;
        margin-bottom:10px;

    }


/* ======================================
   RESPONSIVE POTENSI DESA
====================================== */

    .potential-section{
        margin-bottom:60px;
    }

    .potential-grid{

        display:grid;
        grid-template-columns:1fr;
        gap:25px;

    }

    .potential-card{

        width:100%;
        border-radius:20px;

    }

    .potential-card img{

        width:100%;
        height:240px;
        object-fit:cover;

    }

    .potential-content{

        padding:25px;

    }

    .potential-content h3{

        font-size:20px;
        margin-bottom:12px;

    }

    .potential-content p{

        font-size:12px;
        line-height:1.8;

    }



    /* PERANGKAT DESA */

    .staff-section{
        padding:10px 0;
    }

    .staff-header{
        margin-bottom:25px;
    }

    .staff-header h2{
        font-size:26px;
    }

    .staff-header p{
        font-size:14px;
    }

    .bagan-desa img{
        width:100%;
    }

/* ==========================
   RESPONSIVE PETA LOKASI
========================== */

.location-section{
    margin-top:45px;
    margin-bottom:45px;
}

.location-grid{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.location-info{
    padding:18px;
    border-radius:16px;
}

.location-info h3{
    font-size:16px;
    margin-bottom:18px;
}

/* Batas Desa */
.border-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    column-gap:20px;
    row-gap:18px;
}

.border-grid div{
    display:flex;
    flex-direction:column;
}

.border-grid strong{
    font-size:13px;
    margin-bottom:5px;
    color:#222;
    font-weight:700;
}

.border-grid p{
    font-size:12px;
    line-height:1.5;
    color:#666;
    margin:0;
}

.location-data{
    margin-bottom:12px;
}

.location-data h4{
    font-size:13px;
    font-weight:600;
}

.location-data span{
    font-size:13px;
    font-weight:700;
}

.location-section .section-title{
    justify-content:center;
    margin-bottom:20px;
}

.location-section .section-title h2{
    font-size:22px;
    margin-left:0;
}
/* MAP */

.location-map iframe{
    width:100%;
    height:180px;
    border-radius:16px;
}

/* OFFICE CARD */

.office-card{
    padding:18px;
    border-radius:16px;
    gap:15px;
}

.office-left h3{
    font-size:16px;
}

.office-left .btn-map{
    padding:9px 16px;
    font-size:12px;
}

.office-right{
    font-size:12px;
    line-height:1.7;
}
}