:root {
  --primary: #0101;
  --bg: #fff;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  outline: none;
  text-decoration: none;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Poppins", serif;
  background-color: white;
  color: black;
}
/* Navbar */

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.3rem 2%;
  top: 0;
  left: 0;
  right: 0;
  background-color: #e2eee2;
  border-bottom: 1px solid greenyellow;
  position: fixed;
  z-index: 9999;
}

.navbar .navbar-logo img {
  height: 100px;
  width: 300px;
  object-fit: contain;
}

.navbar .navbar-nav a {
  font-size: 1.2rem;
  display: inline-block;
  color: black;
  margin: 0 1rem;
}

.navbar .navbar-nav a:hover {
  color: indigo;
}

.navbar .navbar-nav a::after {
  content: "";
  display: block;
  padding-bottom: 0.5rem;
  border-bottom: 0.1rem solid indigo;
  transform: scaleX(0);
  transition: 0.2s linear;
}

.navbar .navbar-nav a:hover::after {
  transform: scaleX(0.5);
}

.navbar .navbar-extra a {
  color: black;
  margin: 0 0.5rem;
}

.navbar .navbar-extra a:hover {
  color: goldenrod;
}

#hamburger-menu {
  display: none;
}

/* ================= HERO SLIDER FIX FINAL ================= */

.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}

/* layer slide */
.hero-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  animation: heroSlide 15s infinite;
  z-index: 1;
}

/* overlay biar teks kebaca */
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  z-index: 2;
}

/* konten di atas semuanya */
.hero .content {
  position: relative;
  z-index: 3;
  padding: 1.4rem 7%;
  max-width: 65rem;
}

/* animasi ganti gambar */
@keyframes heroSlide {
  0% {
    background-image: url("../assets/images/cipin.jpg");
  }
  25% {
    background-image: url("../assets/images/hajiade.jpg");
  }
  50% {
    background-image: url("../assets/images/ustd.jpg");
  }
  75% {
    background-image: url("../assets/images/bonar.jpg");
  }
  100% {
    background-image: url("../assets/galeri/008.JPG");
  }
}


.hero .content {
  padding: 1.4rem 7%;
  max-width: 65rem;
  margin-top: 10rem;
}

.hero .content h1 {
  font-size: 3rem;
  color: #24c1e9;
  text-shadow: -2px -2px 0 #000, 2px -2px 0 #000, -2px 2px 0 #000,
    2px 2px 0 #000, 0px 0px 5px rgba(0, 0, 0, 0.5); /* glow tambahan */
  line-height: 1.2;
}

.hero .content p {
  font-size: 1.7rem;
  color: #fff;
}

.hero .content .cta {
  margin-top: 1rem;
  display: inline-block;
  padding: 1rem 2rem;
  color: #fff;
  background-color: indigo;
  font-size: 1.3rem;
  border-radius: 0.5rem;
  box-shadow: 1px 1px 3px rgba(1, 1, 1, 0.5);
}


/* ===== HERO SLIDER ===== */
.hero {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}


.hero-overlay {
  position: relative;
  z-index: 2;
  min-height: 100vh;
  display: flex;
  align-items: center;
  background: rgba(0,0,0,0.45);
}

.hero .content {
  padding: 1.4rem 7%;
  max-width: 65rem;
}

.hero .content h1 {
  font-size: 3rem;
  color: #24c1e9;
  text-shadow: 2px 2px 6px rgba(0,0,0,0.8);
}

.hero .content p {
  font-size: 1.6rem;
  color: #fff;
}

.hero .cta {
  display: inline-block;
  margin-top: 1rem;
  padding: 1rem 2rem;
  background: indigo;
  color: #fff;
  border-radius: 8px;
  font-size: 1.2rem;
}

/*  Hero-Air */

/* ================= HERO AIR ================= */
.hero-air {
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  text-align: center;
  padding: 0 20px;

  background:
    linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)),
    url('https://mushollasysyahid.org/assets/galeri/air-mengalir.JPG')
    center / cover no-repeat;

  color: #fff;
}

.hero-air h1 {
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 700;
  margin: 0;
}

.hero-air p {
  margin-top: 12px;
  font-size: clamp(18px, 2.5vw, 22px);
  max-width: 720px;
  line-height: 1.6;
}




/* ===== DONASI SUMMARY ===== */
.donasi-container {
background: #fff;
margin: -60px auto 40px;
padding: 25px;
border-radius: 15px;
max-width: 900px;
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
text-align: center;
}

.donasi-container h3 {
margin-bottom: 5px;
font-size: 22px;
}

.donasi-numbers {
font-size: 18px;
color: #333;
}

.progress-bar {
width: 100%;
height: 18px;
background: #eee;
border-radius: 12px;
overflow: hidden;
margin: 10px 0 15px;
}

.progress-fill {
height: 100%;
width: 48%; /* Sesuaikan persentase donasi */
background: #28a745;
}

.cta-donasi {
background: #28a745;
padding: 12px 24px;
color: white;
border-radius: 8px;
display: inline-block;
margin-top: 15px;
font-weight: 600;
font-size: 18px;
text-decoration: none;
}

.cta-donasi:hover {
background: #1f7a34;
}

/* ===== SECTION ===== */
.section {
padding: 50px 20px;
text-align: center;
}

.section h2 {
margin-bottom: 20px;
}



/* ===== DONASI ALA KITABISA ===== */
.donasi-kitabisa {
  padding: 80px 20px;
  background: #f7f9f7;
  text-align: center;
}

.donasi-kitabisa h2 {
  font-size: 32px;
  margin-bottom: 5px;
}

.donasi-kitabisa .sub {
  color: #666;
  margin-bottom: 40px;
}

/* GRID DONASI */
.donasi-kitabisa-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

/* CARD DONASI */
.donasi-card {
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  font-size: 14px;
}

.donasi-card:hover {
  transform: translateY(-6px);
}

/* IMAGE 2:1 */
.donasi-img {
  position: relative;
  width: 100%;
  aspect-ratio: 2 / 1;
  overflow: hidden;
}

.donasi-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* BADGE */
.donasi-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 20px;
}

.donasi-badge.biru {
  background: #1976d2;
}

/* BODY */
.donasi-body {
  padding: 12px;
}

.donasi-body h3 {
  font-size: 15px;
  margin-bottom: 4px;
}

.lokasi {
  font-size: 12px;
  margin-bottom: 8px;
}

/* PROGRESS */
.donasi-progress {
  height: 6px;
  margin: 6px 0;
}

/* BUTTON */
.donasi-btn {
  margin-top: 8px;
  padding: 6px 10px;
  font-size: 13px;
}

.donasi-progress-fill {
  height: 100%;
  background: #2e7d32;
  border-radius: 6px;
}

.terkumpul {
  font-size: 14px;
  margin-bottom: 15px;
}

.donasi-btn {
  display: block;
  text-align: center;
  background: #2e7d32;
  color: white;
  padding: 10px;
  border-radius: 10px;
  font-weight: 600;
  text-decoration: none;
}

.donasi-btn:hover {
  background: #1b5e20;
}



/* ================= HERO ZAKAT ================= */
.hero-zakat {
  min-height: 40vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  text-align: center;
  padding: 0 20px;

  background:
    linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)),
    url('https://mushollasysyahid.org/assets/images/zakat-hero.jpg')
    center / cover no-repeat;

  color: #fff;
}

.hero-zakat h1 {
  font-size: clamp(38px, 5vw, 58px);
  font-weight: 800;
  margin: 0;
}

.hero-zakat p {
  margin-top: 12px;
  font-size: clamp(20px, 2.5vw, 24px);
  max-width: 720px;
  line-height: 1.6;
}




.zakat-page {
  max-width: 900px;
  margin: 40px auto;
  padding: 0 20px;
}

.zakat-page h2 {
  margin-bottom: 15px;
}

.zakat-page h3 {
  margin-top: 40px;
  margin-bottom: 15px;
}

.zakat-page p {
  line-height: 1.7;
}

/* tabel */
.zakat-table-wrapper {
  margin: 20px 0 40px;
}

.zakat-table-wrapper table {
  width: 100%;
  border-collapse: collapse;
}

.zakat-table-wrapper th,
.zakat-table-wrapper td {
  padding: 14px 16px;
  border: 1px solid #ddd;
}

.zakat-table-wrapper th {
  background: #f3f7f3;
}

/* grafik */
.zakat-chart {
  max-width: 420px;
  margin: 20px auto 60px;
}




/* ================= QURBAN PAGE ================= */

.hero-qurban {
  width: 100%;
  min-height: 50vh;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  text-align: center;
  padding: 0 20px;

  background:
    linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)),
    url('../assets/galeri/006.JPG') center 30% / cover no-repeat;

  color: #fff;
}

.hero-qurban h1 {
  font-size: clamp(34px, 5vw, 48px);
  font-weight: 700;
  margin: 0;
}

.hero-qurban p {
  margin-top: 10px;
  font-size: 18px;
  opacity: 0.9;
}


.qurban-page {
  max-width: 900px;
  margin: 40px auto;
  padding: 0 20px;
}

.qurban-page h2 {
  margin-bottom: 20px;
}

.qurban-page h3 {
  margin: 40px 0 15px;
}

/* TABEL */
.qurban-table-wrapper {
  margin: 20px 0 30px;
}

.qurban-table-wrapper table {
  width: 100%;
  border-collapse: collapse;
}

.qurban-table-wrapper th,
.qurban-table-wrapper td {
  padding: 14px 16px;
  border: 1px solid #ddd;
}

.qurban-table-wrapper th {
  background: #f5f7f5;
}

/* PIE CHART */
.qurban-chart {
  max-width: 420px;
  margin: 30px auto 60px;
}



/* ===== HERO PENGAJIAN ===== */
.hero-pengajian {
  width: 100%;
  min-height: 50vh;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  text-align: center;
  padding: 0 20px;

  background:
    linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)),
    url('../assets/images/ngaji.jpg') center 30% / cover no-repeat;

  color: #fff;
}

.hero-pengajian h1,
.hero-pengajian p {
  margin: 0;
}

.hero-pengajian h1 {
  font-size: clamp(36px, 5vw, 48px);
  font-weight: 700;
}

.hero-pengajian p {
  margin-top: 12px;
  font-size: 18px;
  opacity: 0.9;
}

/* ===== KONTEN ===== */
.pengajian-page {
  max-width: 1000px;
  margin: 40px auto 60px;
  padding: 0 20px;
}

.pengajian-page h2 {
  margin-bottom: 20px;
}

/* ===== TABEL ===== */
.pengajian-table-wrapper table {
  width: 100%;
  border-collapse: collapse;
}

.pengajian-table-wrapper th,
.pengajian-table-wrapper td {
  padding: 14px 16px;
  border: 1px solid #ddd;
  vertical-align: top;
}

.pengajian-table-wrapper th {
  background: #f3f7f3;
  text-align: left;
}



/* ===== KAFFAN GRATIS ===== */


.hero-kaffan {
    background:
        linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)),
        url('https://mushollasysyahid.org/assets/images/kafan.jpg')
         center 25% / cover no-repeat;
}

/* TABLE */
.table-wrapper {
    overflow-x: auto;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

.data-table th,
.data-table td {
    border: 1px solid #ddd;
    padding: 12px;
    text-align: center;
}

.data-table th {
    background: #0d6efd;
    color: #fff;
}

.data-table tr:nth-child(even) {
    background: #f9f9f9;
}

.hadits-center {
    text-align: center;
    font-style: italic;
    color: #444;
    margin: 20px 0;
    line-height: 1.6;
}

.hadits-center span {
    font-size: 14px;
    color: #666;
}


.data-table img {
    width: 80px;
    height: auto;
    display: block;
    margin: auto;
    border-radius: 6px;
}






/* ===== PROGRAM GRID ===== */
.program .layanan-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 20px;
max-width: 900px;
margin: 20px auto 0;
}

.program .layanan-item {
text-align: center;
}

.program .layanan-item img {
width: 80px;
margin-bottom: 10px;
}

.program .layanan-item p {
font-size: 16px;
}

/* --- GALERI --- */
.galeri {
  padding: 60px 20px;
  text-align: center;
}

.galeri h2 {
  margin-bottom: 10px;
  font-size: 32px;
}

.galeri p {
  margin-bottom: 30px;
}

/* GRID UTAMA */
.galeri-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 15px;
  padding: 10px;
}

/* CARD FOTO */
.foto {
  width: 100%;
  height: 220px;
  overflow: hidden;
  border-radius: 10px;
  background: #ddd;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* AGAR FOTO TIDAK KETARIK / MELEBAR */
.foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}



/* ===== FOOTER ===== */
footer {
text-align: center;
padding: 40px;
background: #e2eee2;
}

footer a {
font-size: 18px;
text-decoration: none;
color: #333;
}




/* tentang section */

.tentang,
.kontak,
.galeri,
.struktur-org {
  padding: 10rem 7% 1.4rem;
  min-height: 100vh;
}

.tentang h2,
.kontak h2,
.galeri h2 {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 2rem;
}

.tentang .row {
  display: flex;
}

.tentang .row .tentang-img {
  flex: 1 1 45rem;
}

.tentang .row .tentang-img img {
  width: auto;
}

.tentang .row .content {
  flex: 1 1 35rem;
  padding: 0.1rem;
}

.tentang .row .content h3 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
}

.tentang .row .content p {
  font-size: 1.3rem;
  margin-bottom: 0.8rem;
  font-weight: 100;
  line-height: 1.6;
  text-align: justify;
}


/* --- Laporan Kas --- */

.laporan-kas {
  padding: 70px 8%;
  background: #f5f7f5;
  text-align: center;
}

.laporan-kas h2 {
  font-size: 2.3rem;
  margin-bottom: 10px;
  font-weight: 700;
}

.laporan-kas p {
  margin-bottom: 35px;
  color: #555;
}

.kas-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 25px;
}

.kas-box {
  background: white;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  border-left: 8px solid #0f8b44;
}

.kas-box h3 {
  font-size: 1.5rem;
  margin-bottom: 10px;
  color: #0f5b2a;
}

.kas-box .jumlah {
  font-size: 2rem;
  font-weight: bold;
  margin: 8px 0 5px 0;
}

.kas-besar { border-color: #009688; }
.kas-kecil { border-color: #f2b900; }
.sedekah-air { border-color: #1976d2; }



/* Program Section */

.program {
  padding: 12rem 7% 1.4rem;
  min-height: 50vh;
}

.program h2 {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 3rem;
}

.layanan-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  justify-items: center;
}

.layanan-item {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
  padding: 20px;
  width: 100%;
  max-width: 200px;
  transition: transform 0.3s ease;
  align-items: center;
  display: flex;
  flex-direction: column;
}

.layanan-item:hover {
  transform: scale(1.05);
}

.layanan-item img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  margin-bottom: 10px;
  align-items: center;
}

.layanan-item p {
  font-size: 14px;
  font-weight: bold;
  margin: 0;
  color: #333;
  text-align: center;
}

.impact {
  background: #fff url("../assets/images/peta.jpg") no-repeat center;
  background-size: cover;
  padding: 5rem 7%;
  text-align: center;
  position: relative;
  margin-top: 1rem;
}

.impact h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: #0f0f11;
}

.impact p {
  font-size: 1rem;
  color: #696562;
  margin-bottom: 0.5rem;
  font-weight: bold;
}

.impact .sub-text {
  color: #696562; /* warna oranye */
  font-weight: bold;
}

.impact-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
  margin-top: 3rem;
}

.stat-item {
  max-width: 200px;
}

.stat-item h3 {
  font-size: 2rem;
  color: #000;
  margin-bottom: 0.5rem;
}

.stat-item .label {
  font-weight: bold;
  color: #444;
  margin-bottom: 0.3rem;
}

.stat-item small {
  font-size: 0.8rem;
  color: #777;
}

/* Kontak section */

.kontak p {
  text-align: center;
  max-width: 30rem;
  margin: auto;
  font-weight: 100;
  line-height: 1.6;
}
.kontak h2 {
  margin-bottom: 1rem;
}

.kontak .row {
  display: flex;
  margin-top: 2rem;
  background-color: #dbddd4;
}

.kontak .row .map {
  flex: 1 1 45rem;
  width: 100%;
  object-fit: cover;
}

.kontak .row form {
  flex: 1 1 45rem;
  padding: 5rem 2rem;
  text-align: center;
}

.kontak .row form .input-grup {
  display: flex;
  align-items: center;
  margin-top: 2rem;
  background-color: #fff;
  border: 1px solid #fff;
  padding-left: 2rem;
}

.kontak .row form .input-grup input {
  width: 100%;
  background: none;
  padding: 2rem;
  font-size: 1.7rem;
  background: none;
  border: none;
}

.kontak .row form .btn {
  margin-top: 3rem;
  display: inline-block;
  padding: 1rem 3rem;
  font-size: 1.7rem;
  color: #0f0f11 background-color #010101;
  cursor: pointer;
}

/* ===================== Struktur Organisasi===================== */

.struktur-org {
  text-align: center;
  padding: 10rem 7% 1.4rem;
  z-index: 0;
}

.struktur-org h2 {
  font-size: 2rem;
  margin-bottom: 2rem;
  color: #333;
}

.org-chart {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
  position: relative;
}

.level {
  display: flex;
  justify-content: center;
  gap: 2rem;
  position: relative;
}

.level::before {
  content: "";
  position: absolute;
  top: -2rem;
  left: 50%;
  width: 0;
  height: 2rem;
  border-left: 2px solid #aaa;
  transform: translateX(-50%);
}

.level:first-child::before {
  display: none;
}

.box {
  background-color: #f1f1f1;
  padding: 1rem;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  min-width: 180px;
  text-align: center;
  position: relative;
}

.box span {
  display: block;
  margin-top: 0.3rem;
  font-size: 0.9rem;
  color: #555;
}

/* Garis horizontal penghubung antar beberapa box */
.two-box::after,
.three-box::after {
  content: "";
  position: absolute;
  top: -2rem;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #aaa;
}

.three-box .box::before {
  content: "";
  position: absolute;
  top: -2rem;
  left: 50%;
  width: 0;
  height: 2rem;
  border-left: 2px solid #aaa;
  transform: translateX(-50%);
}

.four-box::after {
  content: "";
  position: absolute;
  top: -2rem;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #aaa;
}

.four-box .box::before {
  content: "";
  position: absolute;
  top: -2rem;
  left: 50%;
  width: 0;
  height: 2rem;
  border-left: 2px solid #aaa;
  transform: translateX(-50%);
}

.five-box::after {
  content: "";
  position: absolute;
  top: -2rem;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #aaa;
}

.five-box .box::before {
  content: "";
  position: absolute;
  top: -2rem;
  left: 50%;
  width: 0;
  height: 2rem;
  border-left: 2px solid #aaa;
  transform: translateX(-50%);
}

.three-box::before,
.four-box::before,
.five-box::before {
  display: none;
}

/* Warna kotak bisa diubah jika mau */
.pelindung {
  background-color: #fde68a;
}
.ketua {
  background-color: #a5f3fc;
}
.sekretaris,
.bendahara {
  background-color: #c4b5fd;
}
.seksi,
.humas {
  background-color: #bbf7d0;
}
.marbot {
  background-color: #f9a8d4;
}
.kebersihan,
.perlengkapan {
  background-color: #f9a8d4;
}

/* ========================Section Galeri======================= */

.galeri .sub-text {
  font-size: 1rem;
  color: #777;
  margin-bottom: 2rem;
}

.galeri p {
  font-size: 2rem;
}

.galeri-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

.foto {
  background: #fff;
  padding: 10px;
  border: 2px solid #ddd;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

.foto:hover {
  transform: scale(1.03);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.foto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 6px;
  display: block;
}

/* Section Galeri */

/*Footer */

footer {
  background-color: #e2eee2;
  text-align: center;
  padding: 1rem 0 3rem;
  margin-top: 0.5rem;
}

footer .socials {
  padding: 1rem 0;
}

footer .socials a {
  color: indigo;
  margin: 1rem;
}

footer .socials a:hover,
footer .links a:hover {
  color: goldenrod;
}

footer .links {
  margin-bottom: 1.4rem;
}

footer .links a {
  color: indigo;
  padding: 0.7rem 1rem;
}

footer .credit {
  font-size: 0.8rem;
}

footer .credit a {
  color: indigo;
  font-weight: 700;
}

/* Media Queries */

/* Laptop */
@media (max-width: 1366px) {
  html {
    font-size: 75%;
  }

  .tentang .row {
    flex-wrap: wrap;
  }
}

/* Tablet */
@media (max-width: 768px) {
  html {
    font-size: 62.5%;
  }

  #hamburger-menu {
    display: inline-block;
  }

  .navbar .navbar-nav {
    position: absolute;
    top: 100%;
    right: -100%;
    background-color: #e2eee2;
    width: 30rem;
    height: 100vh;
    transition: 0.3s;
  }

  .navbar .navbar-nav.active {
    right: 0;
  }

  .navbar .navbar-nav a {
    display: block;
    margin: 1.5rem;
    padding: 0.5rem;
    font-size: 2rem;
    color: black;
  }

  .navbar .navbar-nav a::after {
    transform-origin: 0 0;
  }

  .navbar .navbar-nav a:hover::after {
    transform: scaleX(0.2);
  }

  .tentang .row {
    flex-wrap: wrap;
  }

  .tentang .row .tentang-img img {
    height: 30rem;
    object-fit: cover;
    object-position: center;
  }

  .tentang .row .content {
    padding: 0;
  }

  .tentang .row .content h3 {
    margin-top: 1rem;
    font-size: 2rem;
  }

  .tentang .row .content p {
    font-size: 1.6rem;
  }

  .kontak .row {
    flex-wrap: wrap;
  }

  .kontak .row .map {
    height: 30rem;
  }

  .kontak .row form {
    padding-top: 0;
  }

  .struktur-org {
    padding: 5rem 5% 1rem;
  }

  .struktur-org h2 {
    font-size: 1.5rem;
  }

  .level {
    flex-wrap: wrap; /* biar kalau kepanjangan bisa turun */
    justify-content: center; /* tengahin isinya */
    gap: 1rem;
  }

  .box {
    min-width: 140px;
    max-width: 160px;
    font-size: 0.85rem;
    padding: 0.8rem;
  }

  .box span {
    font-size: 0.75rem;
  }

  /* Tetap tampilkan garis di layar kecil */
  .two-box::after,
  .three-box::after,
  .four-box::after,
  .five-box::after {
    display: block;
  }

  .three-box .box::before,
  .four-box .box::before,
  .five-box .box::before {
    display: block;
  }
}

@media (max-width: 655px) {
  .struktur-org {
    padding: 4rem 5% 1rem;
  }

  .struktur-org h2 {
    font-size: 1.5rem;
  }

  .org-chart {
    gap: 2rem;
  }

  .level {
    display: flex;
    justify-content: center;
    gap: 0.8rem;
    flex-wrap: nowrap; /* ⛔ JANGAN wrap */
    overflow-x: auto; /* ✅ Scroll horizontal jika sempit */
    padding-bottom: 0.5rem; /* biar scroll gak nempel */
  }

  .level::-webkit-scrollbar {
    height: 6px;
  }

  .level::-webkit-scrollbar-thumb {
    background-color: #bbb;
    border-radius: 10px;
  }

  .box {
    flex: 1 1 120px; /* auto scale */
    min-width: 120px;
    max-width: 140px;
    font-size: 0.85rem;
    padding: 0.7rem;
    box-sizing: border-box;
  }

  .box span {
    font-size: 0.75rem;
  }

  /* Tetap tampilkan garis penghubung */
  .two-box::after,
  .three-box::after,
  .four-box::after,
  .five-box::after {
    display: block;
  }

  .three-box .box::before,
  .four-box .box::before,
  .five-box .box::before {
    display: block;
  }
}

/* Hp */
@media (max-width: 450px) {
  html {
    font-size: 55%;
  }

  @media (max-width: 450px) {
    .struktur-org {
      padding: 3rem 5% 1rem;
    }

    .struktur-org h2 {
      font-size: 1.3rem;
    }

    .org-chart {
      gap: 2rem;
    }

    .level {
      flex-direction: column;
      align-items: center;
      gap: 1.2rem;
      padding-bottom: 1rem;
    }

    .box {
      min-width: 220px;
      max-width: 90%;
      font-size: 0.9rem;
      padding: 1rem;
      box-sizing: border-box;
      text-align: center;
    }

    .box span {
      font-size: 0.8rem;
    }

    /* Hapus garis horizontal antar box */
    .two-box::after,
    .three-box::after,
    .four-box::after,
    .five-box::after {
      display: none;
    }

    .three-box .box::before,
    .four-box .box::before,
    .five-box .box::before {
      display: none;
    }

    .galeri-grid {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 900px) {
    .galeri-grid {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  @media (max-width: 700px) {
    .galeri-grid {
      grid-template-columns: repeat(2, 1fr);
    }
    .foto img {
      aspect-ratio: 4/3;
    }
  }
}


@media (max-width: 1024px) {
  .donasi-kitabisa-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .donasi-kitabisa-grid {
    grid-template-columns: 1fr;
  }
}

