/* ============================================================
   АДАПТИВНАЯ ВЁРСТКА — mobile-first
   Breakpoints: 480 / 768 / 1024 / 1280px
   ============================================================ */

/* ── Base (< 480px) ─────────────────────────────────────────── */

.site-nav      { display: none; }
.hamburger     { display: flex; }
.footer-grid   { grid-template-columns: 1fr; gap: 2rem; }
.gallery-preview { grid-template-columns: repeat(2, 1fr); }
.countdown { flex-wrap: wrap; justify-content: center; gap: 0.75rem; padding: 1.5rem 1rem; }
.countdown__unit { min-width: 60px; }
.countdown__number { font-size: 2.25rem; }
.countdown__sep { display: none; }
.hero__actions { flex-direction: column; align-items: center; }
.btn { width: 100%; justify-content: center; }
.hero__actions .btn { max-width: 280px; }
.results-filter { flex-direction: column; }
.results-filter .form-group { width: 100%; }
.slider-btn { display: none; }

/* ── ≥ 480px ────────────────────────────────────────────────── */
@media (min-width: 480px) {
  .countdown { flex-wrap: nowrap; }
  .countdown__sep { display: block; }
  .btn { width: auto; }
  .hero__actions { flex-direction: row; }
  .gallery-preview { grid-template-columns: repeat(3, 1fr); }
}

/* ── ≥ 768px ─────────────────────────────────────────────────── */
@media (min-width: 768px) {
  .footer-grid { grid-template-columns: 2fr 1fr 1fr; }
  .slider-btn { display: flex; }
  .results-filter { flex-direction: row; }
  .results-filter .form-group { width: auto; }

  .page-hero { padding: 5rem 0 4rem; }

  /* Таблицы — не обрезать */
  .data-table { font-size: 0.9rem; }

  /* Волонтёры — две колонки только на планшетах и шире */
  .volunteers-layout { grid-template-columns: 1fr 1fr !important; gap: 4rem !important; }
}

/* ── < 768px — волонтёры в одну колонку ──────────────────────── */
.volunteers-layout {
  grid-template-columns: 1fr !important;
  gap: 2rem !important;
}

/* ── ≥ 1024px ────────────────────────────────────────────────── */
@media (min-width: 1024px) {
  .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; }
}

/* ── ≥ 1280px — десктопное меню ───────────────────────────────── */
@media (min-width: 1280px) {
  .site-nav   { display: flex; gap: 0.1rem; }
  .hamburger  { display: none; }
  .mobile-nav { display: none !important; }
  .container  { padding: 0 2rem; }

  /* Компактные ссылки, чтобы 11 пунктов влезли */
  .site-nav__link {
    font-size: 0.78rem;
    padding: 0.4rem 0.5rem;
    letter-spacing: 0;
  }

  .news-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ── ≥ 1440px — нормальный размер ссылок ─────────────────────── */
@media (min-width: 1440px) {
  .site-nav { gap: 0.25rem; }
  .site-nav__link {
    font-size: 0.875rem;
    padding: 0.5rem 0.75rem;
    letter-spacing: 0.02em;
  }
}

/* ── Печать ─────────────────────────────────────────────────── */
@media print {
  .site-header,
  .site-footer,
  .scroll-top,
  .hamburger,
  .lang-switcher { display: none !important; }

  body { font-size: 12pt; }
  .container { max-width: 100%; }
  a { color: inherit; }
}
