/* ============================================================
   desktop.css — адаптация под десктоп (≥768px).
   Подключается последним. Все правила в @media — мобилку не трогают.
   ============================================================ */

/* ──────────────────────────────────────────
   ≥768px — Tablet
   ────────────────────────────────────────── */
@media (min-width: 768px) {
  :root { --page-padding-x: 40px; }
  body { font-size: 18px; }
}

/* ──────────────────────────────────────────
   ≥1024px — Desktop
   ────────────────────────────────────────── */
@media (min-width: 1024px) {

  :root { --page-padding-x: 48px; }

  .page { max-width: 960px; }

  /* Header */
  .site-header__inner {
    max-width: 960px;
    padding-left: 48px;
    padding-right: 48px;
  }

  /* Общие заголовки */
  .section-h,
  .audience__heading, .mechanism__heading, .formats__heading,
  .included__heading, .pricing__heading, .testimonials__heading,
  .faq__heading, .form__heading, .final__heading { font-size: 52px; }

  /* ── Hero: фото целиком слева, заголовок рядом ── */
  .hero {
    flex-direction: row;
    align-items: center;
    gap: var(--s-7);
    padding-top: var(--s-6);
  }
  .hero__media {
    flex: none;
    width: auto;
    margin: 0;
    aspect-ratio: 2 / 3;
    height: min(70vh, 640px);
  }
  .hero__heading { flex: 1; font-size: 44px; line-height: 1.2; }
  .hero__brand { font-size: 56px; }
  .hero__statement { font-size: 26px; }
  .hero__subtitle { font-size: 20px; max-width: 720px; }

  /* ── Расписание ── */
  .schedule__card { max-width: 620px; }
  .schedule__cta { width: auto; min-width: 260px; align-self: flex-start; }

  /* ── Узнавание / Для кого ── */
  .recognition__body p, .audience__body p { font-size: 20px; max-width: 780px; }

  /* ── Механизм: текст и цитата слева, фото справа ── */
  .mechanism {
    display: grid;
    grid-template-columns: 1fr 340px;
    column-gap: var(--s-7);
    align-items: start;
  }
  .mechanism__heading { grid-column: 1 / -1; }
  .mechanism__body { grid-column: 1; }
  .mechanism__body p { font-size: 20px; max-width: 780px; }
  .mechanism__quote { grid-column: 1; max-width: 620px; }
  .mechanism__photo {
    grid-column: 2;
    grid-row: 2 / span 2;
    margin-top: 0;
    max-width: none;
  }

  /* ── Форматы — 3 карточки в ряд, равной высоты ── */
  .formats__grid,
  .formats { gap: var(--s-6); }
  .formats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: var(--s-5);
    row-gap: var(--s-6);
    align-items: stretch;
  }
  .formats__heading { grid-column: 1 / -1; }
  .format { height: 100%; }
  .format__title { font-size: 26px; white-space: normal; }

  /* ── Что входит — 2×2 ── */
  .included {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: var(--s-7);
    row-gap: var(--s-6);
  }
  .included__heading { grid-column: 1 / -1; }

  /* ── Цены ── */
  .pricing__card { max-width: 620px; }
  .pricing__cta { width: auto; min-width: 260px; align-self: flex-start; }

  /* ── Отзывы — 4 карточки 2×2, равной высоты, подпись внизу ── */
  .testimonials__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--s-6);
    align-items: stretch;
  }
  .testimonial { height: 100%; }
  .testimonial__divider { margin-top: auto; }
  .testimonials__cta { width: auto; min-width: 320px; align-self: center; margin: 0 auto; }

  /* ── FAQ ── */
  .faq { max-width: 820px; }

  /* ── Форма ── */
  .form { max-width: 640px; }
  .form__input, .form__textarea { font-size: 17px; padding: var(--s-4); }
  .form__submit { width: auto; min-width: 260px; align-self: flex-start; }

  /* ── Footer ── */
  .site-footer { padding: var(--s-7) var(--page-padding-x); }
  .site-footer__link, .site-footer__copyright { font-size: 14px; }
}

/* ──────────────────────────────────────────
   ≥1280px — Large desktop
   ────────────────────────────────────────── */
@media (min-width: 1280px) {
  .page { max-width: 1100px; }
  .site-header__inner { max-width: 1100px; }
  .hero__heading { font-size: 48px; }
}
