
body { font-family: 'Open Sans', sans-serif; margin: 0; padding: 0; max-width: 100%; margin: auto; align-content: center; }
h1 { font-size: 20px; text-align: center; margin-bottom: 2px; }
h2 { font-size: 18px; text-align: center; margin-bottom: 2px; }
.header-image { width: 100%; max-width: 100%; height: auto; margin: auto; display: block; }
.search-container { display: flex; justify-content: center; margin: 20px; }
.search-container input { padding: 10px; width: 100%; max-width: 400px; border-radius: 8px; border: 1px solid #ccc; }
/* .product-list { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; align-items: center;}
.product-item { flex: 1 1 calc(20% - 20px); box-sizing: border-box; padding: 8px; border: 1px solid #ccc; */
.product-list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
    align-items: center;
    max-width: 98%; /* Batas maksimum 98% */
    margin: 0 auto; /* Pusatkan */
    background-color: #f3fff4; /* Warna latar untuk contoh */
    padding: 8px; /* Padding untuk estetika */
    border: 1px solid #ddd; /* Border untuk visualisasi */
    vertical-align: top;
}

.product-item {
    flex: 1 1 calc(20% - 20px); /* Setiap item 25% lebar */
    box-sizing: border-box;
    padding: 16px;
    border: 1px solid #ccc;
    border-radius: 8px;
    text-align: center;
    background-color: #fff;
    vertical-align: top;
}
    border-radius: 8px; display: flex; flex-direction: column; align-items: flex-start; }
.product-item p { margin: 0; }
.product-point { font-size: 0.8em; }
.detil-button { align-self: right; padding: 10px 15px; background-color: #066806; color: white; border: none; border-radius: 8px; 
    cursor: pointer; margin-top: 10px; }
.buy-button {  align-self: flex-end; padding: 10px 15px; background-color: #066806; color: white; border: none; border-radius: 8px; 
    cursor: pointer; margin-top: 10px; }
.cart-container { display: none; margin: 20px; border: 1px solid #ccc; padding: 15px; border-radius: 8px; }
.cart-item { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; }
.cart-buttons { display: flex; gap: 10px; }
.order-button { display: none; background-color: #1a632d; color: white; padding: 15px; border-radius: 8px; border: none; font-size: 16px; 
    cursor: pointer; margin-top: 10px; float: left; }
.order-form { display: none; margin-top: 20px;}

.order-form input,
.order-form textarea { width: 90%; padding: 10px; margin-top: 10px; border-radius: 8px; border: 1px solid #ccc; box-sizing: border-box; }

.send-wa-button {
    background-color: #1a632d;
    color: white;
    border: none;
    border-radius: 20px;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 16px;
    margin-top: 15px;
    width: 100%;
}

.popup {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
    border: 1px solid #ccc;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
    text-align: center;
}

/* Tambahkan kode ini ke bagian CSS */
.menu-container { display: grid; grid-template-columns: repeat(9, 1fr); gap: 9px; justify-content: center; background-color: #1a632d;
    border-radius: 0 !important; padding: 9px; position: sticky; align-items: center; align-content: center; text-align: center; top: 0;
    z-index: 1000; }

.menu-item {
    color: white;
    font-size: 15px;
    text-decoration: none;
    font-weight: 900;
    gap: 9px;
    margin-left: 19px;
    margin-right: 7px;
    text-align: center;
    grid-template-columns: repeat(9, 1fr);
}

.menu-item:hover {
    color: #24ff10; /* Warna merah saat hover */
}

.menu-separator {
    color: #fd0202;
    font-size: 15 px;
}

/* Responsif */
@media (max-width: 600px) {
    .menu-item {
        font-size: 15px;
    }
}

@media (max-width: 800px) {
    .product-item {
        flex: 1 1 calc(50% - 20px);
    }
}

@media (max-width: 500px) {
    .product-item {
        flex: 1 1 100%;
    }
}

@media (max-width: 250px) {
    .menu-container {
        grid-template-columns: repeat(5, 1fr); /* 5 ikon per baris */
    }
}

@media (max-width: 200px) {
    .menu-container {
        grid-template-columns: repeat(5, 1fr); /* 4 ikon per baris */
    }
}

p {
    font-size: 14px;
    text-decoration: none;
    font-weight: 900;
}

@media (max-width: 500px) {
    .menu-container {
        grid-template-columns: repeat(6, 1fr); /* 2 baris, 4 logo per baris */
    }
}

@media (max-width: 400px) {
    .menu-container {
        grid-template-columns: repeat(4, 1fr); /* 3 baris, 3 logo per baris */
    }
}

@media (max-width: 200px) {
    .menu-container {
        grid-template-columns: repeat(3, 1fr); /* 3 baris, 3 logo per baris */
    }
}

.menu-item {
    color: white;
    font-size: 16px;
    text-decoration: none;
    font-weight: 900;
    text-align: center;
}

/* Style untuk Rounded Footer */
/* Footer Style */
.footer {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    background-color: #e7ffe6;
    color: #000000;
    padding: 16px;
}

.footer-column {
    border-radius: 8px;
    padding: 16px;
    background-color: #ffffff;
    border-radius: 20px;
}

.footer-column p {
    font-size: 14px;
    text-decoration: none;
    font-weight: 400;
}


@media (min-width: 900px) {
    .footer {
        grid-template-columns: repeat(3, 1fr);
    }
}

.footerbottom { background-color: #000; color: #fff; text-align: center; padding: 10px 0; font-size: 11px; width: 100%; position: fixed; 
    bottom: 0; left: 0; margin-top: 70px; }  

.kokoleng {
    width: 94%; /* Selalu 90% dari lebar layar */
    max-width: 94%; /* Batas maksimum lebar agar tidak melebar */
    margin: 28px auto; /* Pusatkan dengan margin otomatis */
    padding: 28px; /* Padding untuk memberi ruang pada teks */
    background-color: #d2ffcc; /* Warna latar belakang */
    border: 1px dotted #0f5c04; /* Border solid dengan warna */
    border-radius: 22px; /* Sudut lengkung 22px */
    font-family: Open Sans, Arial, sans-serif; /* Font keluarga untuk teks */
    font-size: 14px; /* Ukuran teks */
    line-height: 1.5; /* Spasi antar baris */
    box-sizing: border-box; /* Memasukkan padding dan border ke dalam lebar */
    word-wrap: break-word; /* Bungkus kata panjang ke baris baru */
    overflow-wrap: break-word; /* Alternatif untuk memastikan kata panjang terbagi */
    color: #000000; /* Warna teks sesuai dengan border */
    text-align: justify;
}    
.rounded-box a {
    color: inherit; /* Mengambil warna dari parent, yaitu hitam */
    text-decoration: none; /* Menghilangkan dekorasi underline */
}

.search-container {
    margin: 20px;
}

.search-container input {
    padding: 10px;
    width: 100%;
    max-width: 400px;
    border-radius: 8px;
    border: 1px solid #ccc;
}

.gallery-container {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(6, 1fr);
    justify-items: center;
    padding: 10px;
    vertical-align: top;
}

.gallery-item {
    background-color: #fff;
    border-radius: 15px;
    width: 100%;
    max-width: 200px;
    box-sizing: border-box;
    padding: 4px;
    text-align: center;
    position: relative;
}

.gallery-item img {
    max-width: 100%;
    border-radius: 10px;
}

.gallery-item-title {
    font-size: 16px;
    font-weight: 800;
    line-height: 1px;
    /* margin: 2px 0; */
}

.btn-access {
    padding: 8px 16px;
    background-color: #066806;
    color: white;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}

/* Responsif */
@media (max-width: 1200px) {
    .gallery-container {
        grid-template-columns: repeat(5, 1fr);
    }
}
@media (max-width: 992px) {
    .gallery-container {
        grid-template-columns: repeat(4, 1fr);
    }
}
@media (max-width: 768px) {
    .gallery-container {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 576px) {
    .gallery-container {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 400px) {
    .gallery-container {
        grid-template-columns: 1fr;
    }
}

.fancybox-content {
    border-radius: 20px !important;
    overflow: hidden;
    max-width: 90% !important;
}

.fancybox-button--close {
    background: #000 !important; /* Warna background tombol close */
    color: #fff !important; /* Warna ikon tombol close */
}
.fancybox-content {
    max-width: 90%;
    max-height: 90%;
}

.fancybox-button--close {
    display: block !important;
    color: #fff; /* Warna putih untuk tombol */
    font-size: 20px;
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 9999;
    cursor: pointer;
}

.fancybox-button--close {
    background-color: rgba(0, 0, 0, 0.5); /* Background semi-transparent */
    border-radius: 50%; /* Bentuk bulat */
}

iframe {
    border-radius: 20px;
    border: none;
    overflow: auto;
    width: 100%;
    /* max-width: 100%; */
    box-sizing: border-box;
    border: 0;
}

p {
    font-size: 14px;
    text-decoration: none;
    font-weight: 400; 
    line-height: 16px;           
}

/* Menambahkan style untuk RoundedBox dan form */
.rounded-box {
    width: 90%;
    max-width: 90%;
    margin: 20px auto;
    padding: 20px;
    border: 1px dotted #ccc;
    border-radius: 15px;
    background-color: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}

#contact-form {
    width: 100%;
}

#contact-form label {
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 400; /* Diubah menjadi 400 */
    margin-bottom: 5px;
}

#contact-form input, 
#contact-form textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border-radius: 8px;
    border: 1px solid #ccc;
    box-sizing: border-box;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
}

#contact-form button {
    padding: 10px 20px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: white;
    background-color: #066806;
    border: none;
    border-radius: 20px;
    cursor: pointer;
    display: inline-block;
}

#contact-form a {
    padding: 10px 20px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: white;
    background-color: #066806;
    border-radius: 20px;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
}

.accordion {
    background-color: #c8fac8;
    color: #1d1818;
    cursor: pointer;
    padding: 18px;
    width: 98%;
    border: none;
    text-align: justify;
    outline: none;
    font-size: 14px;
    transition: 0.4s;
    border-radius: 15px;
    align-items: center;
    }

.active, .accordion:hover {
    background-color: #ccc; 
}

.panel {
    padding: 0 18px;
    display: none;
    background-color: white;
    overflow: hidden;
    border-radius: 15px;
    align-items: center;
}

/* Style dasar */
/* body {
    font-family: 'Open Sans', sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
} */

/* Pencarian */
.search-container {
    text-align: center;
    margin: 20px 0;
}

#search-input {
    padding: 10px;
    font-size: 14px;
    border-radius: 20px;
    width: 60%;
    border: 1px solid #ccc;
}

#search-btn {
    padding: 10px 20px;
    background-color: #115d09;
    color: white;
    border: none;
    border-radius: 20px;
    cursor: pointer;
    font-weight: 700;
}

#search-btn:hover {
    background-color: #0c4706;
}

/* Kolom Index Informasi */
.index-info-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 20px;
}

/* Kolom Rounded */
.info-column {
    width: 18%;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    position: relative;
    cursor: pointer;
    transition: transform 0.3s ease;
    display: flex; /* Flexbox untuk kontainer induk */
    flex-direction: column; /* Tata letak vertikal */
    align-items: center; /* Pusatkan elemen anak secara horizontal */
    justify-content: center; /* Pusatkan elemen anak secara vertikal */
    text-align: center; /* Pusatkan teks dalam elemen */
} 

/* .info-column {
    display: flex;
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    text-align: center; 
    width: 18%;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    position: relative;
    cursor: pointer;
    transition: transform 0.3s ease;
} */

.info-column:hover {
    transform: scale(1.05);
}

/* Gambar Rounded */
.info-column img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    border-bottom: 2px solid #eee;
}

.info-kolom-kotak img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    border-bottom: 2px solid #eee;
    border-radius: 18px;
}

/* Teks Judul */
.info-column .title {
    background-color: white;
    padding: 10px;
    font-size: 14px;
    font-weight: 900;
    text-align: center;
    border-radius: 18px;
}

/* Teks Keywords (hidden) */
.info-column .keywords {
    position: absolute;
    top: -9999px;
}

/* Responsif - 4 Kolom pada layar kecil */
@media (max-width: 900px) {
    .info-column {
        width: 23%;
    }
}

/* Responsif - 2 Kolom pada layar lebih kecil */
@media (max-width: 600px) {
    .info-column {
        width: 98%;
    }
}

/* Popup Message */
.popup-message {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 20px;
    border-radius: 18px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    text-align: center;
    font-size: 16px;
    color: red;
    z-index: 9999;
}

.isitesti {
    border: 1px solid #012b08;
    background-color: #c4fabf;
    border-radius: 18px;
    padding: 16px;
    margin: 16px 0
}

.isitesti::after {
    content: "";
    clear: both;
    display: table;
}

.isitesti img {
    float: left;
    margin-right: 20px;
    border-radius: 18px;
}

.isitesti span {
    font-size: 14px;
    margin-right: 15px;
}

@media (max-width: 500px) {
    .isitesti {
        text-align: justify;
    }
    .isitesti img {
        margin: auto;
        float: none;
        display: block;
    }
}

/* Wrapper untuk isi testi */
    .testimonial-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr); /* 2 kolom */
        gap: 8px; /* Jarak antar elemen */
    }

/* Untuk perangkat kecil */
    @media (max-width: 500px) {
        .testimonial-container {
            grid-template-columns: 1fr; /* Hanya 1 kolom */
        }
    }

    .form-container {
        margin: 20px auto;
        padding: 20px;
        border-radius: 15px;
        background-color: #c4f8bd;
        width: 90%;
        max-width: 900px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        font-size: 14px;
    }

    .form-container label {
        display: block;
        margin-bottom: 5px;
        font-weight: bold;
    }

    .form-container input, .form-container textarea {
        width: 90%;
        padding: 10px;
        margin-bottom: 15px;
        border-radius: 8px;
        border: 1px solid #ccc;
        font-family: 'Open Sans', sans-serif;
    }

    .submit-button {
        width: 90%;
        padding: 10px;
        background-color: #006400;
        color: white;
        border: none;
        border-radius: 20px;
        cursor: pointer;
        font-weight: bold;
        font-size: 16px;
        transition: background-color 0.3s;
    }

    .submit-button:hover {
        background-color: #004b23;
    }

    .popup-message2 {
        display: none;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-color: #fff;
        padding: 20px;
        border-radius: 10px;
        border: 1px solid #ccc;
        box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
        text-align: center;
        z-index: 9999;
    }

/* Gaya untuk backdrop dan popup */
.popup-backdrop {
    display: none; /* Tersembunyi secara default */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7); /* Transparansi latar belakang */
    z-index: 1000;
    justify-content: center;
    align-items: center;
}

/* Kotak popup untuk gambar */
.popup-box {
    position: relative;
    background-color: transparent;
    display: inline-block;
    text-align: center;
}

/* Gambar di dalam popup */
.popup-box img {
    max-width: 90vw;
    max-height: 80vh; /* Supaya gambar tidak keluar layar */
    transition: transform 0.3s ease-in-out;
}

/* Tombol Zoom */
.zoom-controls {
    margin-top: 8px; /* Jarak 8px dari gambar */
    display: flex;
    justify-content: center;
    gap: 8px; /* Jarak antar tombol */
}

.zoom-controls button {
    padding: 5px 10px;
    font-size: 16px;
    cursor: pointer;
    background-color: #1b8106;
    color: white;
    border: none;
    border-radius: 4px;
    transition: background-color 0.3s;
}

.zoom-controls button:hover {
    background-color: #1b8106;;
}

#map {
    height: 250px;
    width: 100%;
}

.product-image {
    width: 100%; /* Pastikan gambar memenuhi lebar container */
    aspect-ratio: 1 / 1; /* Rasio 1:1 */
    object-fit: cover; /* Gambar menyesuaikan tanpa distorsi */
    border-radius: 8px; /* Opsional: sudut melengkung */
    margin-bottom: 10px; /* Jarak antara gambar dan teks */
}

.distance {
    display: flex; /* Tata letak menggunakan flexbox */
    align-items: center; /* Pusatkan secara vertikal */
    justify-content: center; /* Pusatkan secara horizontal */
    text-align: center; /* Pusatkan teks jika ada */
    width: 100%; /* Memenuhi lebar kontainer */
    height: auto; /* Sesuaikan tinggi dengan konten */
    margin: 0 auto; /* Untuk memaksa perataan tengah */
}

.distance a {
    display: inline-flex; /* Ikon dan teks sejajar horizontal */
    align-items: center; /* Pusatkan secara vertikal */
    justify-content: center; /* Pusatkan secara horizontal */
    gap: 8px; /* Jarak antara ikon dan teks */
    text-decoration: none; /* Hilangkan garis bawah */
    font-size: 14px; /* Ukuran font */
    color: #033506; /* Warna teks */
}

.distance a:hover {
    color: #ff5100; /* Warna teks saat hover */
}

.distance i {
    font-size: 16px; /* Ukuran ikon */
}

.tombolsyarat { border: none; outline: none; padding: 10px 16px; background-color: #035d03; cursor: pointer; font-size: 16px; font-weight: 900;
    border-radius: 50%; color: #fff; align-items: center; align-self: center;}
  
  /* Style the active class, and buttons on mouse-over */
  .active, .tombolsyarat:hover { background-color: #01772f; color: white; border-radius: 20px; }

  .spanduk { display: block; margin: 0 auto; max-width: 1200px; width: 100%; border-radius: 22px; }
  @media (min-width: 800px) { .span { width: 40%; } }
  @media (min-width: 600px) and (max-width: 800px) { .span { width: 90%; } }
  @media (max-width: 600px) { .span { width: 100%; } }
  .kopmerchant { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; }
  .kopmerchant img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 2s linear; z-index: 1; }
  .kopmerchant img.active { opacity: 1; z-index: 2; }
  .kopmerchant { outline: 2px solid green; }
  #TmblQ { display: none; position: fixed; bottom: 20px; right: 30px; z-index: 99; font-size: 16px; border: none; outline: none; background-color: white; color: #018301; cursor: pointer; padding: 15px; border-radius: 4px; opacity: 0.6; } /* Transparansi 70% */
  #TmblQ i { font-size: 18px; font-weight: 900; }
  #TmblQ:hover { background-color: #555; opacity: 0.75; } 
  .audio-player { width: 90%; max-width: 800px; background: #fff; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); border-radius: 10px;
      padding: 20px; text-align: center; }
  audio { width: 90%; margin: 20px 0; }
  .lyrics { margin-top: 20px; font-size: 14px; color: #333; line-height: 0.99; }
  .lyrics pre { font-size: 14px; font-family: 'Montserrat', Courier, monospace; white-space: pre-wrap; line-height: 1.5; }
  .kopmerchant { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 15px; }
  .kopmerchant iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
  .stempel-waktu { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
  .stempel { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 125px; height: 75px; 
      border: 1px solid #ddd; border-radius: 17px; background-color: #98ff8a; box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
      color: #000; text-align: center; padding: 10px; font-size: 14px; font-size: 13px; }
  .stempel-title { font-weight: bold; margin-bottom: 5px; color: #555; font-size: 14px; }
  .stempel hr { width: 80%; border: none; border-top: 1px solid #0c5003;  margin: 5px 0; }
      @media (max-width: 300px) { .stempel-waktu { flex-direction: column; } }
  .spandukpromo { max-width: 900px; max-height: 225px; width: 100%; height: auto; display: block; margin: 0 auto; }      