/* =========================================================
   responsive.min.css — все медиа-запросы для новых компонентов.
   Подключается последним, чтобы перекрывать остальные файлы.
   ========================================================= */

/* ---------- ≤ 1100px ---------- */
@media (max-width: 1100px) {
  .c-article {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .c-article__related { position: static; }

  .c-services-grid,
  .c-services--cols-4 .c-services__list,
  .c-advantages--cols-4 .c-advantages__list,
  .c-team--cols-4 .c-team__list {
    grid-template-columns: repeat(2, 1fr);
  }
  .c-cases--cols-3 .c-cases__list { grid-template-columns: repeat(2, 1fr); }
  .c-service-cases__list { grid-template-columns: repeat(2, 1fr); }
  .c-service-stages__list { grid-template-columns: repeat(2, 1fr); }
  .c-cta-block__inner { grid-template-columns: 1fr; gap: 32px; }
}

/* ---------- ≤ 900px ---------- */
@media (max-width: 900px) {
  /* Сетки в одну колонку */
  .c-services-grid,
  .c-services--cols-2 .c-services__list,
  .c-services--cols-3 .c-services__list,
  .c-services--cols-4 .c-services__list,
  .c-advantages--cols-2 .c-advantages__list,
  .c-advantages--cols-3 .c-advantages__list,
  .c-advantages--cols-4 .c-advantages__list,
  .c-team--cols-2 .c-team__list,
  .c-team--cols-3 .c-team__list,
  .c-team--cols-4 .c-team__list,
  .c-reviews__list,
  .c-cases--cols-2 .c-cases__list,
  .c-cases--cols-3 .c-cases__list,
  .c-articles-block__list,
  .c-blog-list,
  .c-service-cases__list,
  .c-about-stats,
  .c-contacts-layout {
    grid-template-columns: 1fr;
  }

  .c-service-tasks__list { grid-template-columns: 1fr; }
  .c-service-stages__list { grid-template-columns: 1fr; }

  .c-contacts-info__item {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 12px 0;
  }

  .c-service-hero { padding: 24px; }
  .c-cta-block { padding: 24px; }

  /* Лайтбокс — меньше отступы */
  .c-lightbox__inner { padding: 20px; }
  .c-lightbox__nav--prev { left: 8px; }
  .c-lightbox__nav--next { right: 8px; }
  .c-lightbox__close { top: 12px; right: 12px; }
  .c-lightbox__img { max-height: 70vh; }
}

/* ---------- ≤ 600px ---------- */
@media (max-width: 600px) {
  .c-page { padding: 24px 0 48px; }

  .c-search-form__row { flex-direction: column; }
  .c-search-form__input { width: 100%; }

  .c-gallery--cols-3 .c-gallery__list,
  .c-gallery--cols-4 .c-gallery__list {
    grid-template-columns: repeat(2, 1fr);
  }

  .c-service-stages__list { grid-template-columns: 1fr; }

  .c-service-hero { padding: 20px; }
  .c-service-hero__cta {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }
  .c-service-hero__cta .button { width: 100%; }

  .c-cta-block { padding: 20px; }
  .c-404 { padding: 40px 0; }
  .c-404__actions .button { width: 100%; }
  .c-404__actions { flex-direction: column; }

  .c-article__title { font-size: 26px; }
  .c-article__body { font-size: 16px; }
  .c-article__lead { font-size: 16px; }
}

/* ---------- ≤ 420px ---------- */
@media (max-width: 420px) {
  .c-reviews__list,
  .c-articles-block__list,
  .c-blog-list,
  .c-gallery--cols-2 .c-gallery__list,
  .c-gallery--cols-3 .c-gallery__list,
  .c-gallery--cols-4 .c-gallery__list {
    grid-template-columns: 1fr;
  }
}