/* ============================================================
   RESPONSIVE — Mobile-first breakpoints
   ============================================================ */

/* ---- Tablet  ≤ 1024px ---- */
@media (max-width: 1024px) {
  :root {
    --container: 960px;
  }

  .footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-6);
  }

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

/* ---- Medium ≤ 768px ---- */
@media (max-width: 768px) {
  :root {
    --header-h: 64px;
  }

  /* Nav */
  .site-nav .nav__list { display: none; }
  .nav__burger { display: flex; }

  /* Grid */
  .grid-2,
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr;
  }

  /* Section */
  .section { padding-block: var(--space-8); }
  .section--lg { padding-block: var(--space-9); }

  .section__header { margin-bottom: var(--space-6); }

  /* Footer */
  .footer__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .footer__bottom {
    flex-direction: column;
    text-align: center;
  }

  /* Event card */
  .event-card {
    flex-direction: column;
  }

  .event-card__date {
    flex-direction: row;
    gap: var(--space-2);
    padding: var(--space-4) var(--space-5);
    min-width: unset;
  }

  .event-card__day {
    font-size: var(--fs-2xl);
  }

  /* Gallery */
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Cookie */
  .cookie-bar {
    flex-direction: column;
    text-align: center;
  }

  /* Scroll top */
  .scroll-top {
    bottom: var(--space-4);
    right: var(--space-4);
  }

  /* Hero stats */
  .hero__stats {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ---- Small ≤ 480px ---- */
@media (max-width: 480px) {
  :root {
    --fs-4xl: 2.75rem;
    --fs-5xl: 3.5rem;
  }

  .container { padding-inline: var(--space-4); }

  .btn--lg {
    padding: 0.875rem 1.75rem;
    font-size: var(--fs-sm);
  }

  .hero__cta { flex-direction: column; align-items: stretch; }

  .stat-card__number { font-size: var(--fs-4xl); }

  .gallery-grid {
    grid-template-columns: 1fr;
  }

  .don-card { padding: var(--space-5) var(--space-4); }

  .accordion__trigger {
    font-size: var(--fs-base);
    padding: var(--space-4) var(--space-4);
  }

  .accordion__content {
    padding: 0 var(--space-4) var(--space-4);
  }

  .timeline { padding-left: var(--space-6); }
  .timeline::before { left: 12px; }
  .timeline__item::before { left: calc(-1 * var(--space-6) + 4px); }

  /* Nav mobile text size */
  .nav__mobile .nav__link { font-size: var(--fs-xl); }
}

/* ---- Hero specific responsive ---- */
@media (max-width: 1024px) {
  .hero__content { max-width: 80%; }
}

@media (max-width: 768px) {
  .hero__content { max-width: 100%; }
  .hero__stats { grid-template-columns: repeat(2, 1fr); }
  .page-hero { padding-top: calc(var(--header-h) + var(--space-7)); }
}

@media (max-width: 480px) {
  .hero__stats { grid-template-columns: 1fr 1fr; }
}

/* ---- Print ---- */
@media print {
  .site-header,
  .site-footer,
  .nav__burger,
  .scroll-top,
  .cookie-bar,
  .banner { display: none; }

  body { background: white; color: black; }
  a { color: black; text-decoration: underline; }

  .section { padding-block: 1rem; }
}
