/* responsive.css — Media queries */

@media (min-width: 640px) {

  .grid-sm-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 768px) {
  .section-padding {
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
  .text-6xl { font-size: 3.75rem; line-height: 1; }

  .grid-md-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-md-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .grid-md-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .gallery-masonry { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
}

@media (min-width: 992px) {
  .section-padding {
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .site-nav__desktop { display: flex; }
  .nav-toggle { display: none; }
  .site-nav__mobile { display: none; }

  .grid-lg-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-lg-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .grid-lg-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

  .footer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

  .hero { min-height: 100vh; min-height: 100dvh; }
  .hero__title { font-size: 3.5rem; }

  .order-lg-1 { order: 1; }
  .order-lg-2 { order: 2; }
}

@media (max-width: 576px) {
  .site-main { overflow-x: clip; }

  .section-padding { padding-top: 3rem; padding-bottom: 3rem; }

  .hero {
    min-height: 100vh;
    min-height: 100dvh;
    margin-top: -64px;
    padding-top: 64px;
  }
  .hero__badge { font-size: 0.6875rem; }
  .hero__scroll-hint { bottom: 1.25rem; }

  .page-hero__title { font-size: 1.875rem; line-height: 2.25rem; }

  .floating-contact { right: 1rem; bottom: 1rem; }
  .floating-contact__toggle { width: 52px; height: 52px; }
  .floating-contact__item { padding: 0.625rem 0.875rem; }

  .stat-item__number { font-size: 2.125rem; }

  .donation-amount-cards { gap: 0.75rem; }
  .donation-amount-card { min-width: 110px; padding: 1rem 1.25rem; }

  .gallery-masonry { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
  .gallery-item:nth-child(3n+1) { grid-row: auto; }


  .lead-popup__dialog { padding: 2rem 1.5rem; }
}

@media (min-width: 576px) and (max-width: 767px) {
  .hero__title { font-size: 2.25rem; }
}

/* High-res screens: larger hero text */
@media (min-width: 1400px) {
  .hero__title { font-size: 4rem; }
  .hero__subtitle { font-size: 1.25rem; }
}

/* Print: remove decorative elements */
@media print {
  .floating-contact, .lead-popup, .scroll-progress,
  .hero__scroll-hint, .hero__badge { display: none !important; }
}
