/* === АДАПТИВНОСТЬ ===
   Breakpoints:
   — 1200px: компактная сетка
   — 1024px: планшет
   — 767px:  мобильный
   ==================== */

/* Мобильное меню скрыто по умолчанию на всех размерах экрана */
.mobile-nav { display: none; }

@media (max-width: 1200px) {
  .catalog-grid { grid-template-columns: repeat(2, 1fr); }
  .adv-grid     { grid-template-columns: repeat(2, 1fr); }
  .footer-grid  { grid-template-columns: 1fr 1fr; gap: 32px; }
}

@media (max-width: 1024px) {
  .header-nav   { display: none; }
  .side-nav     { display: none; }

  .s-hero .container  { grid-template-columns: 1fr; }
  .hero-img-wrap      { max-width: 560px; margin: 0 auto; }
  .partners-belt      { gap: 20px; }

  .s-roi .container   { grid-template-columns: 1fr; gap: 40px; }
  .roi-stats          { grid-template-columns: repeat(3, 1fr); }

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

  .about-grid   { grid-template-columns: 1fr; }
  .metrics-card { max-width: 480px; }

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

  .s-form .container  { grid-template-columns: 1fr; }
  .form-promo         { display: none; }
  .form-box           { max-width: 540px; margin: 0 auto; }

  .s-contacts .container { grid-template-columns: 1fr; }

  .reviews-cta-block { grid-template-columns: 1fr; gap: 24px; }
  .reviews-cta-block .btn-dark { justify-self: start; }

  .steps-grid { grid-template-columns: repeat(2, 1fr); }
  .steps-line { display: none; }

  .header-top-right { display: none; }
}

@media (max-width: 767px) {
  /* ── ГЛОБАЛЬНЫЕ ФИКСЫ ──────────────────────────────────────────
     Двойной отступ (секция + контейнер) на 320px оставлял только
     240px для контента. Убираем горизонтальные отступы у секций —
     контейнер сам обеспечивает поля. Также min-width:0 для всех
     grid-детей, иначе они расширяют колонку за пределы viewport.
  ──────────────────────────────────────────────────────────────── */
  .s-hero, .s-roi, .s-kits, .s-catalog, .s-adv, .s-calc,
  .s-payment, .s-steps, .s-training, .s-about,
  .s-reviews, .s-form, .s-contacts, footer {
    padding-left: 0;
    padding-right: 0;
  }

  /* min-width: 0 — стандартный фикс для grid/flex-детей */
  .container > *,
  .s-hero .container > *,
  .s-roi .container > *,
  [class*="-grid"] > *,
  [class*="-wrap"] > *,
  [class*="-track"] > * { min-width: 0; }

  /* Все кнопки не выходят за контейнер — убираем nowrap, разрешаем перенос */
  .btn-primary, .btn-outline, .btn-dark, .btn-ghost {
    max-width: 100%;
    white-space: normal;
    word-break: break-word;
    height: auto;
    text-align: center;
    justify-content: center;
  }
  /* Standalone-кнопки в секциях — полная ширина */
  .about-text .btn-outline,
  .s-about .btn-outline { width: 100%; }

  .header-main  { flex-wrap: wrap; }
  .header-logo-text { display: none; }
  .header-phone { font-size: 15px; }
  .header-actions .btn-primary { display: none; }

  .s-hero .container    { gap: 32px; }
  .hero-h1              { font-size: 36px; }
  .hero-desc            { font-size: 16px; }
  .hero-checklist       { grid-template-columns: 1fr; gap: 10px; }
  .hero-cta             { flex-direction: column; align-items: flex-start; }
  .hero-cta .btn-primary,
  .hero-cta .btn-outline { width: 100%; justify-content: center; }
  .hero-img-wrap        { max-width: 100%; }
  .partners-belt        { display: none; }

  .roi-stats { grid-template-columns: 1fr; }

  .kits-grid    { grid-template-columns: 1fr; }
  .catalog-grid { grid-template-columns: 1fr; }
  .adv-grid     { grid-template-columns: 1fr; }
  .payment-grid { grid-template-columns: 1fr; }
  .steps-grid   { grid-template-columns: 1fr; gap: 32px; }
  .contacts-grid { grid-template-columns: 1fr; }
  .footer-grid  { grid-template-columns: 1fr; }

  .reviews-track { flex-wrap: nowrap; }
  .review-card   { flex: 0 0 calc(100% - 10px); }

  /* Навигация отзывов — убираем overflow */
  .reviews-header { flex-wrap: wrap; gap: 12px; }
  .reviews-nav    { flex-shrink: 0; }

  /* Калькулятор */
  .calc-wrap    { gap: 24px; }
  .calc-inputs,
  .calc-results { min-width: 0; width: 100%; }
  .calc-results { padding: 20px; }

  /* О компании */
  .about-grid > * { min-width: 0; }
  /* Метрики — 1 колонка на узких экранах */
  .metrics-card {
    grid-template-columns: 1fr;
    padding: 20px;
    max-width: 100%;
  }

  /* Шапка секции «Комплекты» */
  .s-kits .section-header { flex-direction: column; align-items: flex-start; gap: 12px; }
  .s-kits .section-header p { max-width: 100%; }

  /* Блок CTA отзывов */
  .reviews-cta-block { padding: 24px 20px; }

  .cookie-banner { right: 24px; flex-direction: column; align-items: flex-start; }
  .sticky-phone  { bottom: 100px; }

  .modal-box  { padding: 28px 24px; }
  .popup-box  { padding: 28px 20px; }

  /* Скрываем форму promo на мобильном — форма всегда видна */
  .s-form .container { padding-top: 0; }

  .s-hero, .s-roi, .s-kits, .s-catalog, .s-adv,
  .s-payment, .s-steps, .s-training, .s-about,
  .s-reviews, .s-form, .s-contacts {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .header-top { padding: 7px var(--pad-x); font-size: 12px; }

  /* Мобильная навигация-гамбургер */
  .burger { display: flex !important; }

  .mobile-nav {
    display: none;
    position: fixed;
    inset: 0;
    background: var(--ink);
    z-index: 200;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 28px;
  }
  .mobile-nav.open { display: flex !important; }
  .mobile-nav a {
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
  }
  .mobile-nav .close-btn {
    position: absolute;
    top: 20px; right: 20px;
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
  }
}

/* ── ОЧЕНЬ УЗКИЕ ЭКРАНЫ (≤ 400px) ─────────────────────────── */
@media (max-width: 400px) {
  :root { --pad-x: 14px; }

  .hero-h1    { font-size: 30px; }
  .hero-desc  { font-size: 15px; }

  h2 { font-size: clamp(22px, 6.5vw, 28px); }
  h3 { font-size: clamp(17px, 5vw, 20px); }

  .calc-results { padding: 16px; }
  .metrics-card { padding: 16px; }
  .modal-box    { padding: 24px 16px; }
  .popup-box    { padding: 24px 14px; }

  /* Уменьшаем плавающие кнопки, чтобы не перекрывали контент */
  .float-actions { bottom: 12px; right: 12px; gap: 6px; }
  .float-btn { width: 38px; height: 38px; }
  .float-btn--call { width: 46px; height: 46px; }
}

/* Бургер (скрыт на десктопе) */
.burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 4px;
}
.burger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--text);
  border-radius: 2px;
  transition: all .2s;
}
