/* Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Segoe UI', sans-serif;
    line-height: 1.6;
    background: cornsilk;
    color: #333;
}

.navbar {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #000;
    color: white;
    padding: 12px 24px;
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 70%;
    max-width: 90%;
    border-radius: 50px;
    z-index: 1000;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    gap: 20px;
}


/* Link Navigasi */
.navbar nav {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.navbar nav a {
    color: white;
    text-decoration: none;
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    padding: 6px 12px;
    border-radius: 20px;
    transition: background-color 0.2s;
}

.navbar nav a:hover,
.navbar nav a.active {
    background-color: rgba(255, 255, 255, 0.15);
}

.navbar-logo img {
    height: 40px; /* Atur tinggi logo */
    width: auto;
    display: block; /* Menghilangkan spasi ekstra di bawah gambar */
}


/* home */
.hero {
    min-height: 100vh;
    color: white;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    text-align: left;
    padding: 60px 20px 80px 200px;
    overflow: hidden;
}

.hero-content-left {
 flex-basis: 100%;
    padding: 4rem;
    display: flex;
    flex-direction: column;
    justify-content: center; /* Konten di tengah secara vertikal */
    z-index: 2; /* Pastikan teks di atas video */
}



/* Kolom Kanan untuk Video */

.hero-video-right {
    flex-basis: 50%; /* Lebar kolom kanan 50% */
    position: relative;
}

.hero-video-right video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* Styling untuk teks di dalam kolom kiri */

.hero-content-left .sub-heading {
    font-size: 5rem;
    color: cornsilk;
}

.hero-content-left h1 {
    font-size: 10rem;
    font-family: 'Playfair Display', serif;
    margin: 0;
}

.hero-content-left .tagline {
    font-size: 2rem;
    color: cornsilk;
    margin-top: 10px;
}

.hero-video {
    position: absolute;
    top: 50%;                   
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Seperti 'background-size: cover' untuk video */
    transform: translate(-50%, -50%);
    z-index: -1; /* PENTING: Ini meletakkan video di belakang konten lain */
}

.hero::before {
    content: ''; /* WAJIB ada agar pseudo-element bisa tampil */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(
        to right, /* Arah gradasi dari kiri ke kanan */
       rgba(44, 87, 71, 0.8), /* Hijau gelap pekat di kiri */
       rgba(44, 87, 71, 0.2)  /* Hijau gelap transparan di kanan */
    ); 
    z-index: 1;
}

.hero h1,
.hero p,
.hero button {
    z-index: 1;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.6);
}

/* Biarkan styling teks tetap sama */
.hero h1 {
    font-family: 'Playfair Display', serif;
    font-size: 40px;
}

.hero p {
    font-family: 'Playfair Display', serif;
    font-size: 25px;
}

.flower-icon {
    width: 80px;
    /* Atur sesuai kebutuhan */
    height: auto;
}


/* caption */
.hero-caption {
    background-color: white;
    color: #004b28;
    text-align: center;
    padding: 40px 20px;
    font-family: 'Playfair Display', serif;
    font-size: 20px;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
    z-index: 1;
    position: relative;
    width: 100%;
    height: 320px;
}

.hero-caption p {
    font-family: 'Playfair Display', serif;
    font-size: 15px;
}

.explore-btn {
    margin-top: 20px;
    padding: 12px 24px;
    background-color: #115234;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s, transform 0.2s;
}

.explore-btn:hover {
    background-color: #238155;
    transform: scale(1.05);
}

.play-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;

    position: absolute;
    bottom: 60px;
    right: 60px;
}

.play-text {
    color: white;
    font-size: 1em;
    font-family: 'Playfair Display', serif;
    text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.5);
    margin: 10px 0px -10px 0;
}

.play-button {
    padding: 10px 18px;
    background: transparent;
    border: 2px solid white;
    color: white;
    font-size: 1.2em;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin: 10px 150px -10px 0;
    /* atas, kanan, bawah, kiri */
}

.play-button:hover {
    background: white;
    color: black;
}


/*denah */
.hero-denah {
    min-height: 100vh;
    background: url('../img/denah.png') no-repeat center center / cover;
    color: white;
    padding: 80px 20px;
    display: flex;
}

.hero-container {
    width: 28%;
    max-width: 600px;
    margin-left: 200px;
    margin-top: 50px;
    /* Atur nilai sesuai kebutuhan */
    background-color: white;
    padding: 30px 40px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.hero-container h1 {
    font-size: 12px;
    /* margin-bottom: 16px; */
    color: #333;
}

.hero-container h2 {
    font-size: 35px;
    /* margin-bottom: 16px; */
    color: #115234;
}

.hero-container p {
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    font-weight: bold;
}

.learn-btn {
    margin-top: 20px;
    padding: 12px 24px;
    background-color: #115234;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s, transform 0.2s;
}

.learn-btn:hover {
    background-color: #238155;
    transform: scale(1.05);
}


/* bunga */
.hero-bunga {
    display: flex;
    flex-direction: row; /* Ubah dari column ke row */
    align-items: flex-start; /* Agar atasnya sejajar */
    justify-content: space-between; /* Agar ada jarak antar elemen */
    padding: 20px 200px 0 200px;
    background-color: cornsilk;
    position: relative;
    min-height: 100vh; /* Atur sesuai kebutuhan */
}

@media (max-width: 600px) {
    .hero-bunga {
        flex-direction: column;
        padding: 18px 8px 0 8px;
        min-height: auto;
    }
    .hero-container2, .image-grid {
        width: 100%;
        padding: 10px 0;
    }
}

.hero-container2 {
    align-self: flex-end;
    width: 35%;
    max-width: 600px;
    background-color: cornsilk;
    padding: 30px 40px;
    /* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); */
    margin-bottom: 0;
    margin-top: 0;
}

.hero-container2 h1 {
    font-size: 12px;
    color: #333;
}

.hero-container2 h2 {
    font-size: 35px;
    color: #115234;
}

.hero-container2 p {
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    font-weight: bold;
}

.learn-btn2 {
    margin-top: 10px;
    padding: 12px 24px;
    background-color: #115234;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s, transform 0.2s;
}

.learn-btn2:hover {
    margin-bottom: 40px;
    background-color: #238155;
    transform: scale(1.05);
}

.watch-video {
    font-size: 18px;
    color: #115234;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    margin-bottom: 10px;
    /* ⬅️ Tambahkan jarak ke bawah */
}


.watch-video i {
    font-size: 18px;
    transition: transform 0.3s;
}

.watch-video:hover i {
    transform: translateX(5px);
    /* animasi geser saat hover */
}

.hero-container2 {
    flex: 1;
    margin-bottom: 0;
}
.image-grid {
    flex: 1;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}
.hero-petani {
    background-color: cornsilk;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding-right: 200px;
    padding-top: 50px;
    flex-direction: column;
    padding: 50px 200px 0 200px;
    position: relative;
} 

    .centered-content {
        align-items: center;
        justify-content: center;
        text-align: center;
        width: 100%;
        margin: 0 auto;
    }
    .centered-content .icon,
    .centered-content h1,
    .centered-content .watch-video {
        position: static !important;
        left: unset !important;
        margin-bottom: 10px;
    }
/* ===== LAYOUT UNTUK CAROUSEL DI BERANDA ===== */

.farmer-card {
    background: #fff;
    border-radius: 40px;
    box-shadow: 4px 4px 50px 0px rgba(0,0,0,0.15);
    padding: 32px 24px 24px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.farmer-card .profil-img {
    width: 200px;
    height: 200px;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: 18px;
    border: 4px solid #2C5747;
    box-shadow: 0 2px 16px rgba(44,87,71,0.10);
}

.farmer-card .farmer-name {
    font-size: 2rem;
    font-weight: bold;
    color: #2C5747;
    margin-bottom: 8px;
    font-family: 'Playfair Display', serif;
}

.farmer-card .farmer-specialization {
    font-size: 1rem;
    color: #444;
    margin-bottom: 18px;
    font-family: 'DM Sans', sans-serif;
}

.detail-button {
    display: inline-block;
    background: #2C5747;
    color: #fff !important;
    padding: 10px 32px;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s;
    margin-top: auto;
    box-shadow: 0 2px 8px rgba(44,87,71,0.08);
}

.detail-button:hover {
    background: #1e3d2e;
}

.farmer-carousel-container {
    position: relative;
    width: 100%;
    max-width: 1500px;
    margin: 40px auto;
    padding: 0 50px; /* Ruang untuk tombol panah */
    box-sizing: border-box;
    overflow: hidden;
}

.farmer-carousel-container .card-wrapper {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.farmer-carousel-container .farmer-card {
    width: 350px;
    min-width: 350px;
    margin: 20px 15px;
}

.nav-buttons {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    pointer-events: none; /* Biarkan klik menembus container tombol */
}

 .nav-btn {
    pointer-events: all; /* Aktifkan klik hanya untuk tombol */
    background: #fff;
    border: 2px solid #ddd;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 24px;
    margin: 0;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
}

/* galery */
.galery, .section-3{
    min-height: 100vh;
    background-color: #2C5747;
    padding: 50px 30px;
    text-align: left;
    position: relative;

}

.galery h1 {
    color: white;
    font-size: 36px;
    font-weight: bold;
    margin: 0 0 30px 0;
    position: relative;
}

/* satu gambar */
.gallery-single {
    margin-top: 50px;

}

.vertical-line {
    position: absolute;
    top: 15%;
    left: 50%;
    bottom: 0;
    left: 30%;
    height: 500px;
    width: 2px;
    background-color: black;
    z-index: 1;
}

/* Tambahan hanya untuk gambar di kanan garis */
.gallery-single.right-image {
    position: absolute;
    top: 15%;
    left: 35%;
    /* menyesuaikan agar berada di kanan garis */
}

.gallery-single.right-image img {
    width: 850px;
    border-radius: 10px;
}



.massage-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 50px;
    background-color: cornsilk;
    height: 800px;
}

.massage-left {
    flex: 1;
    margin-right: 40px;
}

.massage-left h2 {
    font-size: 35px;
    color: #115234;
    margin-bottom: 10px;
}

.massage-left p {
    margin-bottom: 10px;
    font-size: 20px;
}

.massage-left form {
    display: flex;
    flex-direction: column;
}

.massage-left input,
.massage-left textarea {
    padding: 10px;
    margin-bottom: 15px;
    width: 100%;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 4px;
    resize: none;
}

.massage-left textarea {
    height: 150px;
    /* Lebar ke bawah ditambahkan di sini */
}


.info-button {
    width: 180px;
    padding: 10px 20px;
    background-color: #2C5747;
    color: white;
    border: none;
    font-size: 16px;
    border-radius: 4px;
    cursor: pointer;
    margin-bottom: 15px;
    /* opsional jika mau diberi jarak bawah */
}

.info-button:hover {
    background-color: #244737;
}

.submit-button {
    width: 100px;
    padding: 10px 20px;
    background-color: #2C5747;
    color: white;
    border: none;
    font-size: 16px;
    border-radius: 4px;
    cursor: pointer;
    margin-bottom: 15px;
    /* opsional jika mau diberi jarak bawah */
}

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


.massage-right {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.massage-right img {
    max-width: 100%;
    height: auto;
}

.massage-right {
    position: relative;
    /* penting untuk posisi absolut */
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.location-text {
    position: absolute;
    top: 20px;
    right: 20px;
    /* background-color: rgba(44, 87, 71, 0.8); transparansi hijau gelap */
    color: #244737;
    padding: 10px 15px;
    border-radius: 8px;
    text-align: right;
}

.location-text h3 {
    margin: 0;
    font-size: 30px;
    font-weight: bold;
}

.location-text p {
    margin: 0;
    font-size: 20px;
}

.massage-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    /* agar semua isi ke kanan */
}

.right-image2 {
    width: 600px;
    /* atur besar gambar sesuai kebutuhan */
    height: auto;
    margin-bottom: 10px;
    /* jarak antar gambar */
}

.center {
    display: flex;
    justify-content: center;
    /* center horizontal */

    background-color: cornsilk;
    /* warna latar belakang */

    width: 100%;
}

.bottom-image2 {
    width: 1100px;

}



.green-box {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    background-color: #2C5747;
    color: white;
    width: 100%;
    padding: 30px;
    gap: 30px;
}

.vertical-line2 {
    width: 1px;
    /* Ketebalan garis */
    height: 300px;
    /* Tinggi garis */
    background-color: black;
    /* Warna garis */
    display: inline-block;
    /* Supaya tampil sebagai blok kecil */
}


.text-content {
    text-align: center;
}

.text-content h1 {
    margin: 0;
    font-size: 36px;
}

.text-content p {
    margin-top: 10px;
    font-size: 18px;
}

.left-column,
.right-column {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.left-list,
.right-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.left-list li,
.right-list li {
    margin-bottom: 10px;
    font-size: 16px;
}
/*halaman flower-list*/

/* Container halaman flower-list */
.flower-list-page {
  padding-top: 80px;
  background: #FBF3E2;
  min-height: 100vh;
  padding-bottom: 0;
  margin-bottom: 0;
  box-sizing: border-box;
}

/* Section judul dan deskripsi */
.section {
  margin: 100px auto 40px auto;
  text-align: center;
  max-width: 700px;
  padding: 0 16px;
}

.heading-2-a-summer-to-grow-explore3 {
  color: #2c5747;
  font-family: "Alegreya-Medium", sans-serif;
  font-size: 48px;
  line-height: 1.1;
  font-weight: 500;
  margin-bottom: 18px;
  text-align: center;
  width: 100%;
}

.button-lihat-detail2 { 
    text-decoration: none; 
}


.desa-tutur-kabupaten-pasuruan2 {
  color: #000;
  font-family: "DmSans-9PtRegular", sans-serif;
  font-size: 26px;
  line-height: 1.5;
  font-weight: 400;
  margin-bottom: 18px;
  text-align: center;
  width: 100%;
}

.link7 {
  background: #2c5747;
  border-radius: 6px;
  width: 270px;
  margin: 0 auto 18px auto;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  padding: 8px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.explore-our-flower {
  color: #fff;
  font-family: "DmSans-Bold", sans-serif;
  font-size: 17px;
  letter-spacing: 1px;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
}

.bunga-krisan-12 {
  width: 121px;
  height: 106px;
  object-fit: cover;
  aspect-ratio: 121/106;
  margin: 18px auto 0 auto;
  display: block;
}

/* Card */
/* Grid Card Flower */
.flower-card-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  justify-content: center;
  margin: 48px auto;
  max-width: 1200px;
}

/* Card */
.card {
  background: #fff;
  border-radius: 40px;
  border: 1px solid rgba(0,0,0,0);
  box-shadow: 4px 4px 50px 0px rgba(0,0,0,0.15);
  width: 350px;
  margin: 0;
  padding: 32px 24px 24px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.rectangle-2 {
  width: 90%;
  max-width: 320px;
  height: 200px;
  object-fit: cover;
  border-radius: 24px;
  margin-bottom: 18px;
  box-shadow: 0 2px 16px rgba(44,87,71,0.10);
}

.heading-2-a-summer-to-grow-explore {
  font-size: 2rem;
  font-weight: bold;
  color: #2C5747;
  margin-top: 32px;
  margin-bottom: 12px;
  text-align: center;
  font-family: 'Playfair Display', serif;
}


.bunga-krisan-atau-seruni-adalah-simbol-keanggunan-klasik-dengan-ratusan-kelopak-yang-tersusun-rimbun-dan-sempurna-bunga-ini-memancarkan-pesona-yang-tak-lekang-oleh-waktu {
  font-size: 1rem;
  color: #444;
  margin-bottom: 18px;
  text-align: center;
  font-family: 'DM Sans', sans-serif;
}

.button-lihat-detail {
  margin-top: 10px;
  width: 100%;
  display: flex;
  justify-content: center;
}

.heading-2-a-summer-to-grow-explore2 {
  background: #2C5747;
  color: #fff;
  padding: 10px 32px;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  transition: background 0.2s;
  font-family: 'DM Sans', sans-serif;
  box-shadow: 0 2px 8px rgba(44,87,71,0.08);
}

.heading-2-a-summer-to-grow-explore2:hover {
  background: #1e3d2e;
}

/*FOOTER*/
/* Ubah .footer jadi flex column */
body {
  margin: 0;
  font-family: Arial, sans-serif;
}

.footer {
  background-color: #2e5747;
  color: #fff;
  padding: 3rem 2rem 1rem;
  font-family: 'Playfair Display', serif;
  width: 100%;
  box-sizing: border-box;
}


.footer-top {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 2rem;
}

.footer-column {
  flex: 1;
  min-width: 200px;
}

.footer-column ul {
  list-style: none;
  padding: 0;
  margin-bottom: 1.5rem;
}

.footer-column ul li {
  margin-bottom: 0.5rem;
}

.footer-column ul li a {
  color: #fff;
  text-decoration: none;
}

.footer-column ul li a:hover {
  text-decoration: underline;
}

.footer-column.center {
  text-align: center;
}

.footer-column.center h2 {
  margin-bottom: 0.5rem;
}

.footer-column.right h4 {
  font-weight: 600;
  margin-bottom: 1rem;
}

.footer-divider {
  width: 1px;
  background-color: rgba(255, 255, 255, 0.3);
  margin: 0 1rem;
}

.social-icons a {
  margin-right: 1rem;
  color: #fff;
  font-size: 1.2rem;
  border: 1px solid #fff;
  border-radius: 50%;
  padding: 0.4rem 0.6rem;
  display: inline-block;
}

.footer-bottom {
  display: flex;
  justify-content: center;
  font-size: 0.85rem;
  padding-top: 1rem;
}

.footer-bottom a {
  color: #fff;
  text-decoration: none;
}

/* Pop Up Overlay */
/* Pop Up Content Flex */
.popup-content-flex {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin: 80px 32px 32px 32px;
}

/* Gambar di pop up */
.pop-up {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(44,87,71,0.45);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px); 
}

.rectangle-5 {
  width: 180px;
  height: auto;
  object-fit: cover;
  border-radius: 18px;
  flex-shrink: 0;
}

/* Deskripsi di pop up */
.temukan-pesona-abadi-dari-bunga-krisan {
  font-size: 1rem;
  color: #444;
  text-align: left;
  line-height: 1.6;
  font-family: 'DM Sans', sans-serif;
  max-width: 320px;
  word-break: break-word;
}

/* Rectangle-4 mengikuti konten */
.rectangle-4 {
  background: #fff;
  border-radius: 32px;
  box-shadow: 0 8px 40px rgba(44,87,71,0.18);
  min-width: 320px;
  max-width: 700px;
  max-height: 90vh; /* Batasi tinggi maksimal pop-up */
  overflow-y: auto; /* Tambahkan scroll jika konten melebihi tinggi */
  width: fit-content;
  padding: 32px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  position: relative;
  margin: auto;
}

.rectangle-4 {
  scrollbar-width: thin;
  scrollbar-color: #ccc transparent;
}

.rectangle-4::-webkit-scrollbar {
  width: 6px;
}
.rectangle-4::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 6px;
}


/* Heading dan tombol X */
.heading-2-a-summer-to-grow-explore {
  font-size: 2rem;
  color: #2C5747;
  font-weight: bold;
  text-align: center;
  margin-top: 32px;
  margin-bottom: 12px;
}

.x-circle {
  position: absolute;
  top: 24px;
  right: 32px;
  width: 32px;
  height: 32px;
  cursor: pointer;
  z-index: 3;
}

/* Responsive */
@media (max-width: 600px) {
  .popup-content-flex {
    flex-direction: column;
    align-items: center;
    margin: 32px 8px 8px 8px;
    gap: 12px;
  }
  .rectangle-5 {
    width: 90vw;
    max-width: 300px;
  }
  .temukan-pesona-abadi-dari-bunga-krisan {
    max-width: 90vw;
    font-size: 0.95rem;
  }
  .rectangle-4 {
    min-width: 0;
    max-width: 98vw;
    width: 98vw;
    padding-bottom: 18px;
  }
}

/*FARMER-LIST*/
.farmer-list-page {
  padding-top: 80px;
  background: #FBF3E2;
  min-height: 100vh;
  padding-bottom: 0;
  margin-bottom: 0;
  box-sizing: border-box;
}

.card-profil {
  background: #fff;
  border-radius: 40px;
  box-shadow: 4px 4px 50px 0px rgba(0,0,0,0.15);
  width: 350px;
  max-width: 95vw;
  margin: 48px auto;
  padding: 32px 24px 24px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.profil-img {
  width: 200px;      
  height: 200px;     
  object-fit: cover;
  border-radius: 50%;
  margin-bottom: 18px;
  border: 4px solid #2C5747;
  box-shadow: 0 2px 16px rgba(44,87,71,0.10);
}

.heading-2-a-summer-to-grow-explore {
  font-size: 2rem;
  font-weight: bold;
  color: #2C5747;
  margin-bottom: 8px;
  text-align: center;
  font-family: 'Playfair Display', serif;
}

.heading-2-a-summer-to-grow-explore2 {
  font-size: 1.1rem;
  color: #fff;
  margin-bottom: 12px;
  text-align: center;
  font-family: 'DM Sans', sans-serif;
}

.profil-desc {
  font-size: 1rem;
  color: #444;
  margin-bottom: 18px;
  text-align: center;
  font-family: 'DM Sans', sans-serif;
}

.button-lihat-detail2 {
  color: #fff;
  margin-top: 10px;
  width: 100%;
  display: flex;
  justify-content: center;
}

.heading-2-a-summer-to-grow-explore3 {
  background: #2C5747;
  color: #fff;
  padding: 10px 32px;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  transition: background 0.2s;
  font-family: 'DM Sans', sans-serif;
  box-shadow: 0 2px 8px rgba(44,87,71,0.08);
}

.heading-2-a-summer-to-grow-explore3:hover {
  background: #1e3d2e;
}

.farmer-card-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  justify-content: center;
  margin: 48px auto;
  max-width: 1200px;
}

/* CSS untuk Carousel */
.carousel-container {
    position: relative;
    width: 100%;
    max-width: 1200px; /* Sesuaikan dengan lebar desain Anda */
    margin: auto;
    overflow: hidden;
}
/* Ganti CSS lama dengan yang ini */
.carousel-track {
    display: flex;
    flex-wrap: nowrap; /* INI KUNCINYA: Mencegah kartu turun baris */
    gap: 20px; /* Kita beri jarak antar kartu */
    transition: transform 0.5s ease-in-out;
}

.card {
    flex: 0 0 calc(33.333% - 14px); /* Tampilkan 3 kartu, kurangi sedikit untuk gap */
    box-sizing: border-box;
}
.carousel-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0,0,0,0.5);
    color: white;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    z-index: 10;
    border-radius: 50%;
}
.prev-button { left: 10px; }
.next-button { right: 10px; }


/* Footer */
footer {
    background-color: #274D3E;
    color: white;
    text-align: center;
    padding: 12px 8px;
    font-size: 13px;
    font-family: Arial, sans-serif;
}

/*FARMER-DETAIL*/
.profile-image {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.ellipse-wrapper {
  position: relative;
  width: 250px;
  height: 250px;
}

.ellipse-1 {
  background: #ffffff;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.ellipse-2 {
  border-radius: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
}

/* Text dan lokasi */
.name-farmer {
  font-size: 2rem;
  font-weight: bold;
  color: #ffffff;
  margin-top: 20px;
  text-align: center;
  font-family: 'Playfair Display', serif;
}

.group-2 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}

.link-address {
  font-size: 1.2rem;
  font-weight: bold;
  color: #ffffff;
  font-family: 'Playfair Display', serif;
  text-align: center;
  margin: 0;
  text-decoration: none;
}

.location-on {
  width: 24px;
  height: 24px;
}

.carousel-container {
  overflow: hidden;
  width: 100%;
  max-width: 1200px; /* atau sesuai layout kamu */
  margin: 0 auto; /* biar tetap di tengah */
  position: relative;
}

.carousel-track {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.section,
.story-line {
  margin: 100px auto 40px auto;
  text-align: center;
  max-width: 700px;
  padding: 0 16px;
}

.heading-1-a-summer-to-grow-explore {
  font-size: 2rem;
  font-weight: bold;
  color: #ffffff;
  margin-bottom: 8px;
  text-align: center;
  font-family: 'Playfair Display', serif;
}


/*section-wa*/
.section-whatsapp {
  height: 500px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.rectangle-1 {
  background: #ffffff;
  border-radius: 50px;
  box-shadow: 4px 4px 50px rgba(0, 0, 0, 0.25);
  padding: 40px;
  width: 700px;
  max-width: 90%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.heading-2-a-summer-to-grow-explore {
  font-family: "Alegreya-ExtraBold", sans-serif;
  font-size: 24px;
  text-align: center;
  color: #000;
}

.desc-wa {
  font-family: "Alegreya-Medium", sans-serif;
  font-size: 16px;
  text-align: center;
  color: #000;
  max-width: 500px;
}

.rectangle-8 {
  background: #11ce43;
  border-radius: 50px;
  width: 200px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: background 0.3s ease;
}

.rectangle-8:hover {
  background: #0fab38;
}

.hubungi-via-whats-app {
  font-family: "Alegreya-ExtraBold", sans-serif;
  font-size: 16px;
  color: #fff;
}



/* halaman about */
.about {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    padding: 0;
    background: none;
}


.about::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

.about h1,
.about p,
.about button,
.play-wrapper {
    position: relative;
    z-index: 2;
}

.about h1 {
    font-family: 'Playfair Display', serif;
    font-size: 85px;
}

.about p {
    font-family: 'Playfair Display', serif;
    font-size: 30px;
}

/*  */
.about-extra {
    padding: 60px 20px;
    background-color: cornsilk;
}

.about-extra-container {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 900px;
    margin: 0 auto;
    gap: 30px;
}

.about-extra-image img {
    width: 100%;
    max-width: 500px;
    /* border-radius: 10px; */
    object-fit: cover;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transform: translateX(-70px);
    /* geser 20px ke kiri */
}

.about-extra-text {
    background-color: white;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    flex: 1;
}

.about-extra-text h2 {
    font-size: 40px;
    margin-bottom: 15px;
    color: #004b28;
}

.about-extra-text p {
    font-size: 18px;
    line-height: 1.6;
    font-weight: bold;
}

/*  */
.about-extra-bottom-text {
    background-color: cornsilk;
    text-align: center;
    padding: 40px 20px;
    margin: 0;
    /* hilangkan jarak luar */
}

.about-extra-bottom-text h3 {
    font-size: 50px;
    margin-bottom: 60px;
    color: #004b28;
}

.about-extra-bottom-text p {
    font-size: 18px;
    max-width: 800px;
    margin: 0 auto;
    /* biar teks paragraf tetap rapi di tengah */
    line-height: 1.6;
    font-weight: bold;
}

/*  */
.about-extra-image-text {
    background-color: cornsilk;
    text-align: center;
    padding: 40px 20px;
}

.about-extra-image-text img {
    width: 900px;
    /* ukuran tetap */
    max-width: 100%;
    /* biar tetap responsif di layar kecil */
    height: auto;
    /* proporsi gambar tetap */
}


.about-extra-image-text p {
    font-size: 18px;
    line-height: 1.6;
    max-width: 800px;
    margin: 20px auto 0;
    font-weight: bold;
}

/*  */
.line-text-about {
    display: flex;
    align-items: center;
    /* sejajarkan garis & teks di tengah vertikal */
    justify-content: center;
    /* posisikan di tengah horizontal */
    background-color: cornsilk;
    /* background sama seperti tadi */
    padding: 40px 20px;
    /* jarak dalam */
}

.line-about {
    width: 7px;
    /* ketebalan garis */
    height: 150px;
    /* panjang garis */
    background-color: #004b28;
    margin-right: 15px;
    /* jarak antara garis dan teks */
}

.line-text-about p {
    margin: 0;
    font-size: 30px;
    color: #333;
    font-family: 'Swanky and Moo Moo', cursive;
}

/*  */
.about-image {
    background-color: cornsilk;
    /* Warna background */
    text-align: center;
    /* Posisi gambar di tengah */
    padding: 40px 20px;
    /* Jarak dalam */
}

.about-image img {
    width: 1100px;
    /* Lebar gambar */
    height: auto;
    /* Tinggi otomatis sesuai rasio */
    border-radius: 10px;
    /* Sudut gambar membulat */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    /* Efek bayangan */
}

/*  */
.bunga-about {
    background-color: cornsilk;
    /* Sama seperti background sebelumnya */
    text-align: center;
    /* Semua isi div rata tengah */
    padding: 50px 20px;
    /* Jarak dalam */
}

.bunga-about .icon-about {
    width: 150px;
    /* Ukuran ikon */
    height: auto;
    /* Proporsi terjaga */
    margin-bottom: 20px;
    /* Jarak bawah ikon */
}

.bunga-about h1 {
    color: #004b28;
    font-size: 40px;
    margin-bottom: 15px;
}

.bunga-about p {
    color: #000;
    font-size: 16px;
    max-width: 600px;
    /* Biar teks tidak terlalu melebar */
    margin: 0 auto;
    /* Teks berada di tengah */
    line-height: 1.6;
    font-weight: bold;
}

/*halamam admin*/
.header-admin {
    display: flex;
    flex-direction: column;  /* Membuat item tersusun ke bawah */
    align-items: center;   /* Mendorong semua item ke kanan */
    margin-bottom: 1rem;
}

.header-buttons {
    display: flex; /* Membuat tombol di dalamnya tetap berdampingan */
    gap: 10px;     /* Memberi jarak antar tombol */
}

.admin-container {
    background: #fff;
    padding: 40px;
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(44,87,71,0.10);
    width: 100%;
    max-width: 500px;
    margin: 80px auto;
}

.admin-container h1 {
    text-align: center;
    color: #2C5747;
    font-family: 'Playfair Display', serif;
    margin-bottom: 24px;
}

.form-group label {
    color: #115234;
    font-weight: 600;
    margin-bottom: 6px;
    display: block;
}

.form-group input,
.form-group textarea,
.form-group select {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 16px;
    margin-bottom: 12px;
    font-family: 'Segoe UI', sans-serif;
}

.btn {
    width: 100%;
    padding: 14px;
    background-color: #2C5747;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 17px;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(44,87,71,0.08);
    transition: background 0.2s;
}

.btn:hover {
    background-color: #115234;
}

.alert-danger {
    background-color: #f8d7da;
    color: #721c24;
    padding: 10px;
    border-radius: 8px;
    margin-bottom: 15px;
    text-align: center;
}

.admin-table {
    width: 100%;
    max-width: 1200px;
    margin: 40px auto;
    border-collapse: collapse;
    background: #fff;
    box-shadow: 0 2px 12px rgba(44,87,71,0.08);
    border-radius: 16px;
    overflow: hidden;
    font-family: 'Segoe UI', 'Playfair Display', sans-serif;
    border: 1px solid #2C5747;
}

.admin-table th, .admin-table td {
    padding: 14px 18px;
    text-align: left;
    border-bottom: 1px solid #eee;
    font-size: 16px;
    color: #2C5747;
    border: 1px solid #2C5747;
}

.admin-table th {
    background: #2C5747;
    color: #fff;
    font-weight: 600;
    border: 1px solid #ffffff;
}

.admin-table tr:last-child td {
    border-bottom: none;
}

.admin-table a {
    color: #115234;
    text-decoration: none;
    font-weight: 600;
    border-radius: 6px;
    padding: 4px 10px;
    transition: background 0.2s;
}

.admin-table img {
    width: 50px;      
    height: 50px;     
    object-fit: cover;
    border-radius: 8px; 
}

.btn-tambah{
    display: inline-block;
    background: #2C5747;
    color: #fff !important;
    padding: 10px 20px;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(44,87,71,0.08);
}

.edit-btn{display: inline-block;
    background: #2C5747;
    color: #fff !important;
    padding: 5px 15px;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s;
    margin-top: auto;
    box-shadow: 0 2px 8px rgba(44,87,71,0.08);
}

.hapus-btn{
    background: #b31111;
    color: #fff !important;
    padding: 8px 15px;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s;
    margin-top: auto;
    border: none;  
}

td.action-links .hapus-btn:hover { /* <-- Lebih spesifik */
    color: #a71d2a;
}
/* Responsive */
@media (max-width: 600px) {
    .admin-table {
        font-size: 13px;
        max-width: 98vw;
    }
    .admin-table th, .admin-table td {
        padding: 8px 6px;
    }
}

/*end-halaman-admin*/

/* Responsive untuk smartphone */
@media (max-width: 600px) {

   .navbar {
        width: 100vw;
        max-width: 100vw;
        left: 0;
        right: 0;
        position: fixed;
        top: 0;
        transform: none;
        margin: 0 !important;
        padding: 8px 0 !important;
        border-radius: 0 !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.15);
        z-index: 1000;
    }
    .navbar nav {
        display: flex;
        flex-direction: row;
        gap: 8px;
        width: 100%;
        justify-content: center;
        align-items: center;
    }
    .navbar nav a {
        font-size: 15px;
        padding: 4px 4px;
        color: white;
        background: transparent;
    }

     .navbar-logo img {
        height: 45px;      /* Lebih kecil dari desktop */
        width: auto;
        margin-right: 0; /* Jarak dengan menu */
        display: block;
    }
    .navbar-logo {
        padding: 0;
        margin-left: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 40px;
    }
    
    .hero {
        width: 100%;
        height: 100vh; /* 100% tinggi layar */
        min-height: 100vh; /* Pastikan tinggi minimal juga full */
        max-width: none; /* Hapus batasan lebar maksimal */
        margin: 0; /* Hapus semua margin */
        border-radius: 0; /* Hapus sudut melengkung */
        aspect-ratio: auto; /* Hapus rasio aspek 16:9 */
    }
    
    .hero-content-left {
        position: absolute;       /* Pastikan posisinya absolut agar bisa "melayang" */
        z-index: 2;               /* Pastikan teks berada di atas video dan overlay */
        bottom: 15%;              /* Posisi dari bawah layar (bisa disesuaikan) */
        left: 0;                  /* KUNCI: Paksa elemen ke sisi paling kiri layar */
        width: 100%;              /* Gunakan lebar penuh layar */
        padding: 0 1.5rem;        /* Beri jarak di DALAM (kiri & kanan) agar teks tidak mepet */
        box-sizing: border-box;   /* Praktik terbaik agar padding tidak menambah lebar */
        text-align: left;         /* Pastikan teks di dalamnya rata kiri */
    }
    
    /* --- Pengaturan Ukuran Teks (sesuai gambar) --- */
    .hero-content-left .sub-heading {
        font-size: 2.8rem;
    }

    .hero-content-left h1 {
        font-size: 2.8rem;
        line-height: 1.2;
    }

    .hero-content-left .tagline {
        font-size: 2rem;
    }

    .hero h1 {
        font-size: 28px;
    }
    .hero p {
        font-size: 16px;
    }
    .play-wrapper {
        position: static;
        margin-top: 20px;
        margin-bottom: 20px;
        gap: 5px;
    }
    .hero-caption {
        padding: 24px 8px;
        font-size: 16px;
        height: auto;
    }
    .flower-icon {
        width: 50px;
    }
    .hero-denah {
        flex-direction: column;
        padding: 24px 8px;
    }
    .hero-container {
        width: 100%;
        margin: 0;
        padding: 18px 8px;
        box-shadow: none;
    }
    .hero-bunga {
        flex-direction: column;
        padding: 18px 8px 0 8px;
        min-height: auto;
    }
    .image-grid {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin-bottom: 18px;
    }
    .img-1 {
        width: 90vw;
        max-width: 300px;
        height: auto;
    }
    .hero-container2 {
        width: 100%;
        padding: 18px 8px;
        margin-bottom: 0;
    }
    .learn-btn2, .learn-btn, .explore-btn {
        width: 100%;
        font-size: 15px;
        padding: 10px 0;
    }

     .about {
        background-color:cornsilk ;
        max-width: 98vw;
        aspect-ratio: 16/9;
        min-height: 180px;
        margin: 70px auto 0 auto;
        border-radius: 12px;
        padding: 0;
    }
    .about h1 {
        font-size: 22px;
    }
    .about p {
        font-size: 14px;
    }
    .play-wrapper {
        gap: 5px;
        margin-top: 10px;
    }

    .about-extra-container {
        flex-direction: column;
        gap: 18px;
        align-items: center;
    }
    
     .about-extra-image {
        justify-content: center;
        align-items: center;
        width: 100%;
    }
    .about-extra-image img {
        max-width: 98vw;
        width: 98vw;
        margin: 0 auto;
        border-radius: 10px;
    }

    .hero-petani {
        flex-direction: column;
        padding: 18px 8px 0 8px;
    }
    .centered-content .icon {
        width: 70px;
        left: 0;
    }
    .centered-content h1 {
        font-size: 22px;
        left: 0;
        margin-bottom: 10px;
    }
    .centered-content .watch-video {
        font-size: 15px;
        left: 0;
    }
     .farmer-carousel-container {
        max-width: 100vw;
        padding: 0 4vw; /* Lebih kecil, biar tidak kepotong */
        margin: 24px auto;
    }
    .farmer-card {
        min-width: 80vw;
        max-width: 90vw;
        margin: 0 auto;
        padding: 16px 8px;
        border-radius: 16px;
        box-shadow: 0 2px 8px rgba(44,87,71,0.10);
    }
    .profil-img {
        width: 120px;
        height: 120px;
    }
    
    .nav-buttons {
        position: static !important;   /* Tidak absolute/fixed */
        width: 100%;
        margin: 16px 0 0 0;
        display: flex;
        justify-content: center;
        gap: 12px;
        bottom: unset;
        top: unset;
        z-index: 2;
    }
    
    .nav-btn {
        width: 40px;
        height: 40px;
        font-size: 20px;
        border-radius: 50%;
        background: #fff;
        border: 2px solid #ddd;
        box-shadow: 0 2px 5px rgba(0,0,0,0.10);
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .galery {
        padding: 18px 8px;
    }
    .gallery-single img,
    .gallery-single.right-image img {
        width: 98vw;
        max-width: 300px;
        height: auto;
    }
    .vertical-line {
        display: none;
    }
    .footer {
        padding: 2rem 1rem 1rem;
        font-size: 14px;
    }
    .footer-top {
        flex-direction: column;
        gap: 1rem;
        padding-bottom: 1rem;
    }
    .footer-column {
        min-width: 0;
        margin-bottom: 1rem;
    }
    .footer-divider {
        display: none;
    }
    .footer-bottom {
        flex-direction: column;
        gap: 8px;
        font-size: 12px;
        padding-top: 0.5rem;
    }

    .admin-container {
        padding: 12px;
        max-width: 98vw;
        margin: 40px auto;
    }
    .admin-table {
        font-size: 13px;
        max-width: 98vw;
    }
    .admin-table th, .admin-table td {
        padding: 8px 6px;
    }
}

@media (max-width: 600px) {
    .flower-card-grid {
        gap: 16px;
        margin: 24px auto;
        max-width: 98vw;
        padding: 0 4px;
    }
    .card {
        width: 98vw;
        max-width: 320px;
        padding: 16px 8px 16px 8px;
        border-radius: 18px;
        box-shadow: 0 2px 12px rgba(0,0,0,0.10);
        margin: 0 auto;
    }
    .rectangle-2 {
        width: 96vw;
        max-width: 300px;
        height: 140px;
        border-radius: 12px;
        margin-bottom: 12px;
    }
    .heading-2-a-summer-to-grow-explore {
        font-size: 1.2rem;
        margin-top: 12px;
        margin-bottom: 8px;
    }
    .bunga-krisan-atau-seruni-adalah-simbol-keanggunan-klasik-dengan-ratusan-kelopak-yang-tersusun-rimbun-dan-sempurna-bunga-ini-memancarkan-pesona-yang-tak-lekang-oleh-waktu {
        font-size: 0.95rem;
        margin-bottom: 10px;
    }
    .button-lihat-detail {
        margin-top: 8px;
    }
}

@media (max-width: 600px) {
    .profile-image {
        width: 100vw;
        padding: 0;
        margin: 70 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        position: static;
        top: unset;
        left: unset;
        transform: none;
    }
    .ellipse-wrapper {
        width: 120px;
        height: 120px;
        margin: 0 auto;
        position: relative;
    }
    .ellipse-1 {
        width: 100%;
        height: 100%;
    }
    .ellipse-2 {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 50%;
    }
    .name-farmer {
        font-size: 1.2rem;
        margin-top: 12px;
        text-align: center;
        word-break: break-word;
    }
    .group-2 {
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 3px;
        margin-top: 8px;
        display: flex;
    }
    .location-on {
        width: 18px;
        height: 18px;
    }
    .link-address {
        font-size: 1rem;
        word-break: break-word;
        text-align: center;
        margin: 0;
    }
}