
    :root {
      --gold: #C9A84C;
      --gold-light: #E8C97A;
      --gold-dark: #8B6914;
      --green-deep: #0D4A2E;
      --green-mid: #165C38;
      --green-light: #1E7A4A;
      --green-pale: #E8F5EE;
      --cream: #FAF7F0;
      --white: #FFFFFF;
      --text-dark: #1A1A1A;
      --text-mid: #3D3D3D;
      --text-light: #6B6B6B;
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      font-family: 'Plus Jakarta Sans', sans-serif;
      scroll-behavior: smooth;
    }

    body {
      background-color: var(--cream);
      color: var(--text-dark);
      padding-bottom: 70px; /* Ruang untuk bottom nav di mobile */
    }

    /* --- TOP NAVIGATION (DESKTOP) --- */
    .top-nav {
      background-color: var(--green-deep);
      position: fixed;
      top: 0;
      width: 100%;
      z-index: 1000;
      box-shadow: 0 2px 20px rgba(0,0,0,0.1);
      border-bottom: 2px solid var(--gold);
    }

    .nav-container {
      max-width: 1200px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 15px 20px;
    }

    .logo-text {
      color: var(--white);
      font-family: 'Tajawal', sans-serif;
      font-weight: 700;
      font-size: 1.2rem;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .logo-text i {
      color: var(--gold);
    }

    .nav-links {
      display: flex;
      gap: 25px;
      list-style: none;
    }

    .nav-links a {
      color: var(--white);
      text-decoration: none;
      font-size: 0.95rem;
      font-weight: 500;
      transition: color 0.3s;
    }

    .nav-links a:hover {
      color: var(--gold);
    }

    /* --- HERO SECTION --- */
    .hero {
  background:
    linear-gradient(
      135deg,
      rgba(13,74,46,0.92),
      rgba(22,92,56,0.88)
    ),
    url('../../../images/bgmasjid.jpg');  

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  color: var(--white);
  padding: 130px 20px 80px 20px;
  text-align: center;
  position: relative;
}

    /* Bingkai Pembatas Emas Khas Spanduk Cetak Fisik */
    .hero::before {
      content: '';
      position: absolute;
      top: 15px;
      left: 15px;
      right: 15px;
      bottom: 15px;
      border: 1px solid rgba(201, 168, 76, 0.4);
      pointer-events: none;
      border-radius: 6px;
      z-index: 1;
    }

    /* Pembatas lengkung bawah agar transisi ke konten tetap halus */
    .hero::after {
      content: '';
      position: absolute;
      bottom: -1px;
      left: 0;
      width: 100%;
      height: 40px;
      background-color: var(--cream);
      clip-path: ellipse(60% 50px at 50% 50px);
      z-index: 2;
    }
    .bismillah {
      font-family: 'Amiri', serif;
      font-size: 2.5rem;
      color: var(--gold);
      margin-bottom: 15px;
    }

    .hero h1 {
      font-family: 'Tajawal', sans-serif;
      font-size: 2.4rem;
      font-weight: 800;
      margin-bottom: 10px;
    }

    .hero p {
      font-size: 0.95rem;
      opacity: 0.85;
      max-width: 750px;
      margin: 0 auto;
      line-height: 1.6;
    }

    /* --- MAIN LAYOUT --- */
    .container {
      max-width: 1200px;
      margin: 40px auto;
      padding: 0 20px;
    }

    .grid-layout {
      display: grid;
      grid-template-columns: 1.6fr 1.4fr;
      gap: 30px;
      margin-bottom: 40px;
    }

    .card {
      background: var(--white);
      border-radius: 16px;
      padding: 30px;
      box-shadow: 0 10px 30px rgba(13,74,46,0.04);
      border: 1px solid rgba(22,92,56,0.06);
    }

    .full-width {
      grid-column: 1 / -1;
    }

    h2 {
      font-family: 'Tajawal', sans-serif;
      font-size: 1.4rem;
      color: var(--green-deep);
      margin-bottom: 20px;
      border-left: 4px solid var(--gold);
      padding-left: 12px;
    }

    /* --- BARU: CARD JADWAL SHOLAT PANJANG (FULL WIDTH) --- */
    .sholat-card-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 10px;
      flex-wrap: wrap;
      gap: 10px;
    }

    .sholat-card-header h2 {
      margin-bottom: 0;
    }

    .sholat-clock-info {
      font-size: 0.9rem;
      font-weight: 600;
      background-color: var(--green-pale);
      color: var(--green-deep);
      padding: 6px 16px;
      border-radius: 30px;
      border: 1px solid rgba(22,92,56,0.1);
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .sholat-clock-info i {
      color: var(--gold-dark);
      animation: pulse 2s infinite;
    }

    .sholat-grid-kolom {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 15px;
    }

    .sholat-kolom {
      background: var(--cream);
      border: 1px solid rgba(22,92,56,0.08);
      border-radius: 12px;
      padding: 15px;
      text-align: center;
      transition: all 0.3s ease;
      box-shadow: 0 4px 10px rgba(0,0,0,0.01);
    }

    .sholat-kolom:hover {
      background: var(--green-pale);
      border-color: var(--green-mid);
      transform: translateY(-3px);
    }

    .sholat-label {
      font-size: 0.75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1px;
      color: var(--text-light);
      margin-bottom: 8px;
      display: block;
    }

    .sholat-waktu {
      font-size: 1.4rem;
      font-weight: 800;
      color: var(--green-deep);
    }

    /* --- SEKSI PROGRESS BAR & DONASI --- */
    .progress-box {
      margin: 25px 0;
    }

    .progress-bar-bg {
      background-color: #e9ecef;
      border-radius: 20px;
      height: 22px;
      width: 100%;
      overflow: hidden;
      border: 1px solid #ced4da;
      margin-top: 10px;
      box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);
    }

    .progress-bar-fill {
      background: linear-gradient(90deg, var(--gold), var(--gold-light));
      height: 100%;
      width: 43%;
      border-radius: 20px;
      position: relative;
    }

    .progress-info {
      display: flex;
      justify-content: space-between;
      font-weight: 700;
      font-size: 1rem;
    }

    .sisa-dana {
      font-size: 0.88rem;
      color: #d94111;
      font-style: italic;
      margin-top: 8px;
      font-weight: 500;
    }

    .bank-card {
      background-color: var(--green-pale);
      border: 2px dashed var(--green-mid);
      border-radius: 12px;
      padding: 20px;
      margin-top: 25px;
      text-align: center;
    }

    .bank-name {
      font-weight: 700;
      color: var(--green-deep);
      font-size: 1.2rem;
      margin-bottom: 5px;
    }

    .account-number {
      font-size: 1.6rem;
      font-weight: 700;
      color: var(--text-dark);
      letter-spacing: 1px;
      margin: 10px 0;
    }

    .btn-copy {
      background-color: var(--green-mid);
      color: var(--white);
      border: none;
      padding: 10px 20px;
      border-radius: 8px;
      cursor: pointer;
      font-weight: 600;
      font-size: 0.9rem;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      transition: all 0.3s;
    }

    .btn-copy:hover {
      background-color: var(--green-deep);
      transform: translateY(-2px);
    }

    /* --- SEKSI HUBUNGI PANITIA --- */
    .contact-list {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    .contact-item {
      border-bottom: 1px solid #edf2ee;
      padding-bottom: 15px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .contact-item:last-child {
      border-bottom: none;
      padding-bottom: 0;
    }

    .contact-info h3 {
      font-size: 1.05rem;
      color: var(--text-dark);
    }

    .contact-info p {
      font-size: 0.85rem;
      color: var(--text-light);
    }

    .btn-wa {
      background-color: #25d366;
      color: var(--white);
      text-decoration: none;
      padding: 8px 16px;
      border-radius: 8px;
      font-size: 0.85rem;
      font-weight: 600;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      transition: all 0.2s;
    }

    .btn-wa:hover {
      background-color: #20ba59;
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(37,211,102,0.2);
    }

    /* --- TOAST NOTIFICATION --- */
    .toast {
      position: fixed;
      bottom: 90px;
      left: 50%;
      transform: translateX(-50%) translateY(100px);
      background-color: #2c3e50;
      color: var(--white);
      padding: 12px 24px;
      border-radius: 30px;
      font-size: 0.9rem;
      font-weight: 500;
      z-index: 2000;
      opacity: 0;
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    }

    .toast.show {
      transform: translateX(-50%) translateY(0);
      opacity: 1;
    }
/* --- BOTTOM NAVIGATION (MENU BAWAH MOBILE) --- */
.bottom-nav {
  display: none; /* Sembunyikan total di desktop */
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #ffffff; /* Menggunakan warna putih terang */
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  
  /* Membuat layout horizontal dengan Grid */
  display: none; 
  grid-template-columns: repeat(5, 1fr); 
}

/* Style untuk setiap item menu di dalamnya agar rapi vertikal (ikon di atas, teks di bawah) */
.bottom-nav a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #2d3748; /* Warna teks default */
  text-decoration: none;
  font-size: 11px; /* Ukuran teks menu agar muat */
  padding: 10px 0;
}

/* Style ikon di dalam menu */
.bottom-nav a i, 
.bottom-nav a svg {
  font-size: 18px;
  margin-bottom: 4px;
}

/* --- RESPONSIVE UNTUK SMARTPHONE --- */
@media (max-width: 576px) {
  .top-nav { 
    display: none !important; /* Sembunyikan navigasi atas */
  }
  
  .bottom-nav { 
    display: grid !important; /* Paksa tampil jadi Grid Horizontal di HP */
  }
  
  body {
    padding-bottom: 70px; /* Supaya konten terbawah website tidak tertutup menu ini */
  }
}
 
 
    /* --- DATA DONATUR TABLE --- */
    .table-container {
      width: 100%;
      overflow-x: auto;
      margin-top: 15px;
      border-radius: 8px;
      border: 1px solid #e1e8e4;
    }

    .donatur-table {
      width: 100%;
      border-collapse: collapse;
      text-align: left;
      font-size: 0.9rem;
    }

    .donatur-table th {
      background-color: var(--green-deep);
      color: var(--white);
      padding: 12px 15px;
      font-weight: 600;
    }

    .donatur-table td {
      padding: 12px 15px;
      border-bottom: 1px solid #edf2ee;
      color: var(--text-mid);
    }

    .donatur-table tr:nth-child(even) {
      background-color: #fafdfa;
    }

    .status-badge {
      background-color: #d4edda;
      color: #155724;
      padding: 3px 8px;
      border-radius: 20px;
      font-size: 0.78rem;
      font-weight: 600;
    }

    /* --- SLIDER FOTO KEGIATAN --- */
    .slider-container {
      position: relative;
      max-width: 100%;
      margin: 15px auto;
      overflow: hidden;
      border-radius: 12px;
      box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    }

    .slider-wrapper {
      display: flex;
      transition: transform 0.5s ease-in-out;
      width: 100%;
    }

    .slide {
      min-width: 100%;
      position: relative;
    }

    .slide img {
  width: 100%;
  max-width: 100%;
  height: 580px;
  object-fit: cover;
  display: block;
}

    .slide-caption {
      position: absolute;
      bottom: 0;
      background: linear-gradient(transparent, rgba(0,0,0,0.85));
      color: white;
      width: 100%;
      padding: 30px 20px 20px 20px;
      font-size: 0.95rem;
      font-weight: 500;
    }

    .slider-btn {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(13, 74, 46, 0.7);
      color: white;
      border: none;
      padding: 14px 18px;
      cursor: pointer;
      border-radius: 50%;
      font-size: 1.1rem;
      z-index: 10;
      transition: background 0.3s;
    }

    .slider-btn:hover {
      background: rgba(13, 74, 46, 0.95);
    }

    .slider-btn.prev { left: 15px; }
    .slider-btn.next { right: 15px; }

    .slider-dots {
      text-align: center;
      padding: 15px 0 5px 0;
    }

    .dot {
      cursor: pointer;
      height: 10px;
      width: 10px;
      margin: 0 5px;
      background-color: #bbb;
      border-radius: 50%;
      display: inline-block;
      transition: background-color 0.3s;
    }

    .dot.active, .dot:hover {
      background-color: var(--green-deep);
    }

    /* --- FOOTER SECTION --- */
    .site-footer {
      background-color: var(--green-deep);
      color: var(--white);
      padding: 40px 20px 20px 20px;
      margin-top: 50px;
      border-top: 3px solid var(--gold);
      text-align: center;
    }

    .footer-content {
      max-width: 1200px;
      margin: 0 auto;
    }

    .footer-logo {
      font-family: 'Tajawal', sans-serif;
      font-size: 1.4rem;
      font-weight: 700;
      color: var(--gold-light);
      margin-bottom: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
    }

    .footer-subtitle {
      font-size: 0.95rem;
      font-weight: 600;
      letter-spacing: 0.5px;
      color: var(--white);
      margin-bottom: 12px;
      opacity: 0.9;
    }

    .footer-divider {
      height: 1px;
      background: linear-gradient(to right, transparent, rgba(201, 168, 76, 0.4), transparent);
      margin: 20px auto;
      max-width: 600px;
    }

    .footer-copyright {
      font-size: 0.8rem;
      color: rgba(255, 255, 255, 0.7);
    }
  
    @keyframes pulse {
      0% { opacity: 0.6; }
      50% { opacity: 1; }
      100% { opacity: 0.6; }
    }
    /* =========================
   RESPONSIVE MOBILE FIX
========================= */
@media (max-width: 768px) {

  html,
  body {
    overflow-x: hidden;
    width: 100%;
  }

  body {
    padding-bottom: 85px;
  }

  /* Container */
  .container {
    padding: 0 14px;
    margin-top: 20px;
  }

  /* Hero */
  .hero {
    padding: 85px 15px 60px 15px;
    background-position: center center;
  }

  .hero::before {
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
  }

  .hero h1 {
    font-size: 1.7rem;
    line-height: 1.3;
  }

  .hero p {
    font-size: 0.88rem;
    line-height: 1.7;
  }

  .bismillah {
    font-size: 1.8rem;
    line-height: 1.5;
  }

  /* Grid jadi 1 kolom */
  .grid-layout {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  /* Card */
  .card {
    padding: 18px;
    border-radius: 14px;
  }

  h2 {
    font-size: 1.15rem;
    line-height: 1.4;
  }

  /* Jadwal sholat */
  .sholat-grid-kolom {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .sholat-kolom:last-child {
    grid-column: span 2;
  }

  .sholat-waktu {
    font-size: 1.1rem;
  }

  .sholat-card-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .sholat-clock-info {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  /* Progress */
  .progress-info {
    flex-direction: column;
    gap: 5px;
    font-size: 0.9rem;
  }

  .sisa-dana {
    font-size: 0.8rem;
    line-height: 1.5;
  }

  /* Bank */
  .bank-card {
    padding: 16px;
  }

  .account-number {
    font-size: 1.25rem;
    word-break: break-word;
  }

  .btn-copy {
    width: 100%;
    justify-content: center;
  }

  /* Kontak */
  .contact-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .btn-wa {
    width: 100%;
    justify-content: center;
  }

  /* Slider */
  .slider-container {
    border-radius: 10px;
  }

  .slide img {
    height: 240px;
    object-fit: cover;
  }

  .slide-caption {
    font-size: 0.82rem;
    padding: 18px 14px 14px 14px;
    line-height: 1.5;
  }

  .slider-btn {
    width: 40px;
    height: 40px;
    padding: 0;
    font-size: 0.9rem;
  }

  .slider-btn.prev {
    left: 8px;
  }

  .slider-btn.next {
    right: 8px;
  }

  /* Table Donatur */
  .table-container {
    overflow-x: auto;
  }

  .donatur-table {
    min-width: 700px;
  }

  .donatur-table th,
  .donatur-table td {
    padding: 10px;
    font-size: 0.8rem;
    white-space: nowrap;
  }

  /* Footer */
  .site-footer {
    padding: 35px 15px 90px 15px;
  }

  .footer-logo {
    font-size: 1.1rem;
  }

  .footer-subtitle {
    font-size: 0.85rem;
    line-height: 1.6;
  }

  .footer-copyright {
    font-size: 0.75rem;
    line-height: 1.5;
  }

  /* Bottom nav */
  .bottom-nav-item {
    font-size: 0.65rem;
  }

  .bottom-nav-item i {
    font-size: 1rem;
  }

  /* Toast */
  .toast {
    width: 90%;
    font-size: 0.82rem;
    text-align: center;
  }
}
/* =========================
   FIX OVERFLOW MOBILE
========================= */

html,
body {
  overflow-x: hidden;
  max-width: 100%;
}

/* GRID */
.grid-layout {
  display: grid;
  grid-template-columns: 1.6fr 1.4fr;
  gap: 30px;
  width: 100%;
}

/* CARD */
.card {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

/* IMAGE */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* TABLE */
.table-container {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.donatur-table {
  min-width: 650px;
}

/* CONTACT */
.contact-item {
  width: 100%;
  gap: 10px;
}

.contact-info {
  min-width: 0;
}

.btn-wa {
  white-space: nowrap;
}

/* SLIDER */
.slider-container {
  width: 100%;
  overflow: hidden;
}

.slider-wrapper {
  width: 100%;
}

.slide {
  width: 100%;
  flex-shrink: 0;
}

.slide img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}

/* MOBILE */
@media (max-width: 768px) {

  .container {
    width: 100%;
    max-width: 100%;
    padding: 0 12px;
    overflow-x: hidden;
  }

  .grid-layout {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .card {
    padding: 16px;
    border-radius: 14px;
  }

  /* CONTACT */
  .contact-item {
    flex-direction: column;
    align-items: stretch;
  }

  .btn-wa {
    width: 100%;
    justify-content: center;
  }

  /* SLIDER */
  .slide img {
    height: 220px;
  }

  .slide-caption {
    font-size: 0.8rem;
    line-height: 1.5;
    padding: 15px;
  }

  .slider-btn {
    width: 38px;
    height: 38px;
    padding: 0;
    font-size: 0.8rem;
  }

  /* TABLE */
  .table-container {
    margin: 0 -5px;
  }

  .donatur-table {
    min-width: 600px;
  }

  .donatur-table th,
  .donatur-table td {
    font-size: 0.78rem;
    padding: 9px;
    white-space: nowrap;
  }

  /* HERO */
  .hero {
    padding: 90px 15px 60px;
  }

  .hero h1 {
    font-size: 1.7rem;
  }

  .hero p {
    font-size: 0.88rem;
  }

  .bismillah {
    font-size: 1.8rem;
  }

}
* {
  box-sizing: border-box;
}



