/* ==========================================================================
   RESPONSIVE OVERRIDES
   ========================================================================== */

/* Large screens */
@media (min-width: 1400px){
  .container{ max-width: 1240px; }
}

/* Laptops / small desktops */
@media (max-width: 1199.98px){
  .hero-content h1{ font-size: 2.7rem; }
}

/* Tablets */
@media (max-width: 991.98px){
  .gps-navbar .navbar-collapse{
    background:#fff; margin-top: 14px; padding: 18px; border-radius: var(--radius-md); box-shadow: var(--shadow-md);
  }
  .gps-navbar .nav-link::after{ display:none; }
  .hero{ min-height: auto; padding: 150px 0 80px; }
  .hero-stats-strip{ margin-top: 30px; }
  .page-banner{ padding: 120px 0 56px; }
  .event-card{ flex-direction: column; }
  .event-date-block{ flex-direction:row; gap:8px; padding:10px; min-width:unset; }
  .newsletter-box, .donate-banner{ padding: 32px; text-align:center; }
}

/* Mobile */
@media (max-width: 767.98px){
  .section-title{ font-size: 1.7rem; }
  .hero-content h1{ font-size: 2.1rem; }
  .hero-content p.lead{ font-size: 1rem; }
  .hero-stats-strip .num{ font-size: 1.4rem; }
  .stat-box .counter{ font-size: 2rem; }
  .team-card .socials{ position:static; padding-top:12px; bottom:auto; }
  .countdown-box .cbox{ min-width: 70px; padding: 12px 14px; }
  .countdown-box .cnum{ font-size: 1.4rem; }
  #backToTop{ right: 16px; bottom: 82px; width:42px; height:42px; }
  .floating-donate{ right: 16px; bottom: 16px; }
  .gps-navbar .navbar-brand img{ height: 42px; }
}

/* Small mobile */
@media (max-width: 575.98px){
  .hero-content h1{ font-size: 1.8rem; }
  .error-code{ font-size: 5.5rem; }
  .newsletter-box, .donate-banner{ padding: 24px; }
  .testimonial-card{ padding: 22px; }
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
