/* ================================================================
   Rivercrest Global Foundation — Responsive Stylesheet
   Mobile-first: 95% of traffic on mobile phones
   ================================================================ */

/* ── Mobile Base (<576px) ──────────────────────────────────── */
@media (max-width: 575.98px) {
  :root { --navbar-h: 68px; }

  .section-pad    { padding: 56px 0; }
  .section-pad-sm { padding: 40px 0; }

  .hero { min-height: 100svh; }
  .hero-title  { font-size: 2.1rem; }
  .hero-stats  { gap: 1.25rem; flex-wrap: wrap; }
  .hero-stat-num { font-size: 1.6rem; }

  .page-hero { padding: 80px 0 44px; }
  .page-hero-title { font-size: 1.9rem; }

  .donate-amount-grid { grid-template-columns: repeat(2, 1fr); }

  .section-title  { font-size: 1.75rem; }
  .impact-card    { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); }
  .impact-card:last-child { border-bottom: none; }
  .impact-num     { font-size: 2.4rem; }

  .gallery-grid   { grid-template-columns: repeat(2, 1fr); gap: 8px; }

  .scripture-quote { font-size: 1.1rem; }

  .team-photo-wrap { width: 100px; height: 100px; }

  .footer-body    { padding: 40px 0 0; }

  .whatsapp-fab   { width: 50px; height: 50px; font-size: 1.4rem; bottom: 1rem; right: 1rem; }
  .back-to-top    { bottom: 4.5rem; right: 1rem; }

  .card-rgf .card-img-wrap { height: 190px; }
}

/* ── Small Tablets (576–767px) ─────────────────────────────── */
@media (min-width: 576px) and (max-width: 767.98px) {
  .hero-title  { font-size: 2.5rem; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .donate-amount-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ── Tablets (768–991px) ───────────────────────────────────── */
@media (min-width: 768px) and (max-width: 991.98px) {
  .hero-title { font-size: 3rem; }
  .gallery-grid { grid-template-columns: repeat(3, 1fr); }
  .impact-card { border-bottom: 1px solid rgba(255,255,255,0.1); border-right: none; }
  .impact-card:nth-child(2n) { border-right: 1px solid rgba(255,255,255,0.1); }
}

/* ── Desktop (992px+) ──────────────────────────────────────── */
@media (min-width: 992px) {
  .navbar-collapse {
    padding: 0;
  }
}

/* ── Large Desktop (1200px+) ─────────────────────────────────── */
@media (min-width: 1200px) {
  .hero-title { font-size: 4.5rem; }
}

/* ── Touch-friendly overrides ───────────────────────────────── */
@media (hover: none) and (pointer: coarse) {
  .card-rgf:hover,
  .programme-card:hover,
  .team-card:hover {
    transform: none;
    box-shadow: var(--shadow-sm);
  }
  .gallery-item .gallery-overlay { opacity: 1; background: rgba(10,22,48,0.35); }
}

/* ── Print ──────────────────────────────────────────────────── */
@media print {
  .navbar-rgf, .site-footer, .whatsapp-fab, .back-to-top { display: none !important; }
  body { padding-top: 0; }
  .page-hero { padding: 20px 0; }
}

/* ── Reduced motion ──────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
