/* Hero */
    .hero {
      background: linear-gradient(135deg, var(--blue-900), var(--blue-500));
      color: #fff;
    }

    .hero .wrap {
      display: grid;
      grid-template-columns: 1.2fr 1fr;
      gap: 2rem;
      align-items: center;
      padding: 4.5rem 0;
    }

    .hero h1 {
      font-size: clamp(2rem, 5vw, 3.5rem);
      line-height: 1.1;
      margin: 0 0 1rem;
    }

    .hero p {
      margin: 0 0 1.5rem;
      color: #E6F4FF;
    }

    .hero-card {
    width: 100%;
    max-width: 700px;
      background: rgba(255, 255, 255, .12);
      border: 1px solid rgba(255, 255, 255, .25);
      border-radius: 24px;
      padding: 1rem;
      box-sizing: border-box;
      
      
    }

    .ph {
      width: 100%;
      aspect-ratio: 4/3;
      border-radius: 16px;
      background: linear-gradient(135deg, #ffffff33, #ffffff18);
      display: grid;
      place-items: center;
      color: #fff;
    }
    
@media (max-width: 768px) {
      .hero-card {
        max-width: 100%;
        margin: 0;
      }
      
body {
  overflow-x: hidden;   /* cegah scroll horizontal */
}
    }

    /* About (Visi Misi) */
    section {
      padding: 4rem 0;
    }

    .section-title {
      font-size: 1.8rem;
      margin: 0 0 1.25rem;
    }

    .about {
      background: var(--blue-100);
    }

    .about-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 2rem;
    }

    .card {
      background: #fff;
      border-radius: var(--radius);
      padding: 1.25rem;
      box-shadow: var(--shadow);
    }

    .list {
      margin: .5rem 0 0 0;
      padding-left: 1.1rem;
    }

    .list li {
      margin: .35rem 0;
    }

    @media (max-width:768px) {
      .hero .wrap {
        grid-template-columns: 1fr;
      }

      .about-grid {
        grid-template-columns: 1fr;
      }
    }

    /* Gallery */
    .gallery {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1rem;
    }

    .tile {
      background: #fff;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: var(--shadow);
    }

    .tile .img {
      width: 100%;
      aspect-ratio: 16/10;
      background: var(--blue-200);
    }
    
.img.santunan {
  background-image: url('dokumentasi/santunan-24-1.jpg');
  background-size: cover;
  background-position: center;
}

.img.sembako {
  background-image: url('dokumentasi/sembako.jpg');
  background-size: cover;
  background-position: center;
}

.img.qurban {
  background-image: url('dokumentasi/qurban.jpg');
  background-size: cover;
  background-position: center;
}
    .tile .caption {
      padding: .9rem;
      font-weight: 600;
    }

    @media (max-width:768px) {
      .gallery {
        grid-template-columns: 1fr 1fr;
      }
    }

    @media (max-width:600px) {
      .gallery {
        grid-template-columns: 1fr;
      }
    }

    /* Donate Focus */
    .donate {
      background: var(--blue-900);
      color: #fff
    }

    .donate .container {
      display: grid;
      gap: 1.5rem;
    }

    .donate h2 {
      margin: 0
    }

    .donate-cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1rem
    }

    .don-card {
      background: #fff;
      color: var(--ink);
      border-radius: 16px;
      padding: 1rem;
      box-shadow: var(--shadow)
    }

    .don-card h4 {
      margin: .25rem 0 .5rem
    }

    .badge {
      display: inline-block;
      background: var(--blue-100);
      color: var(--blue-900);
      padding: .25rem .5rem;
      border-radius: 10px;
      font-size: .8rem;
      font-weight: 600
    }

    .donate .cta {
      justify-self: center;
      margin-top: .5rem
    }

    @media (max-width:900px) {
      .donate-cards {
        grid-template-columns: 1fr
      }
    }

    /* Testimonials */
    .testi-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1rem
    }

    .quote {
      background: #fff;
      border-left: 6px solid var(--blue-700);
      padding: 1rem;
      border-radius: 12px;
      box-shadow: var(--shadow)
    }

    .quote p {
      margin: .2rem 0
    }

    @media (max-width:768px) {
      .testi-grid {
        grid-template-columns: 1fr;
      }
    }

        .slider {
      position: relative;
      width: 100%;
      max-width: 800px;     /* biar tidak terlalu besar */
      aspect-ratio: 4/3;
      min-height: 300px;    /* fallback biar nggak collapse */
      margin: 20px auto;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 4px 12px rgba(0,0,0,0.15);
      background: #f0f0f0;
    }

    .slider img {
      position: absolute;
      top: 0; left: 0;
      width: 100%; height: 100%;
      object-fit: cover;
      opacity: 0;
      transition: opacity 1s ease-in-out;
    }

    .slider img.active {
      opacity: 1;
    }

    @media (max-width: 768px) {
      .slider {
        min-height: 180px;
        max-width: 100%;
      }

      .slider img {
        max-width: 100%;
        border-radius: 10px;
      }
    }
    
    
    .read-more {
  display: inline-block;
  margin-top: 15px;
  color: #007BFF;
  font-weight: bold;
  text-decoration: none;
}

.read-more:hover {
  text-decoration: underline;
}
   