/* ============================================================
   Мобильная оптимизация страницы онлайн-консультации
   Подключается ПОСЛЕ OnlineConsultationPage.modern.css
   ============================================================ */

/* ---------- Планшеты и средние экраны (<= 1024px) ---------- */
@media (max-width: 1024px) {
  .why-section,
  .how-it-works,
  .services-section,
  .faq-section {
    padding: 80px 0;
  }

  .cta-section {
    padding: 72px 0;
  }

  .section-header {
    margin-bottom: 40px;
  }

  .specialty-hero__content {
    gap: 48px;
  }

  .how-it-works__gallery {
    gap: 20px;
    margin-top: 40px;
  }
}

/* ---------- Мобильные (<= 768px) ---------- */
@media (max-width: 768px) {
  /* Отступы между секциями — компактно и симметрично */
  .why-section,
  .how-it-works,
  .services-section,
  .faq-section {
    padding: 56px 0;
  }

  .cta-section {
    padding: 56px 0;
  }

  .section-header {
    margin-bottom: 32px;
  }

  .section-title {
    font-size: 28px;
    line-height: 1.2;
    margin-bottom: 12px;
  }

  .section-subtitle {
    font-size: 15px;
    line-height: 1.5;
  }

  /* ---------- Hero ---------- */
  .specialty-hero {
    padding: 88px 0 48px;
  }

  .specialty-hero__content {
    gap: 36px;
  }

  .specialty-hero__badge {
    padding: 10px 18px;
    font-size: 13px;
    margin-bottom: 20px;
  }

  .specialty-hero__title {
    font-size: 30px;
    line-height: 1.15;
    margin-bottom: 18px;
  }

  .specialty-hero__subtitle {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 28px;
  }

  .specialty-hero__features {
    gap: 12px;
    margin-bottom: 28px;
  }

  .specialty-hero__feature {
    padding: 14px 16px;
    gap: 12px;
  }

  .specialty-hero__feature-icon {
    width: 40px;
    height: 40px;
    font-size: 16px;
    border-radius: 10px;
  }

  .specialty-hero__feature span {
    font-size: 13px;
  }

  .specialty-hero__cta {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .specialty-hero__cta .btn {
    width: 100%;
  }

  /* Hero-изображение — аккуратного размера, по центру */
  .hero__image-wrapper {
    max-width: 340px;
  }

  .hero__image-blob {
    border-width: 6px;
  }

  /* ---------- Why Section ---------- */
  .why-section__grid {
    gap: 20px;
  }

  .why-section__card {
    padding: 28px 20px;
    border-radius: 20px;
  }

  .why-section__card-icon {
    width: 64px;
    height: 64px;
    font-size: 26px;
    margin-bottom: 18px;
  }

  .why-section__card-title {
    font-size: 18px;
    margin-bottom: 10px;
  }

  .why-section__card-text {
    font-size: 14px;
  }

  /* ---------- How It Works ---------- */
  .how-it-works__steps {
    margin-top: 36px;
    gap: 28px;
  }

  .how-it-works__step-number {
    width: 64px;
    height: 64px;
    font-size: 24px;
    margin-bottom: 16px;
  }

  .how-it-works__step-title {
    font-size: 17px;
  }

  .how-it-works__step-text {
    font-size: 14px;
  }

  /* Галерея: фото на всю ширину, нормального размера */
  .how-it-works__gallery {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 32px;
  }

  .how-it-works__gallery-item {
    border-radius: 16px;
  }

  .how-it-works__gallery-img {
    width: 100%;
    height: 240px;
    object-fit: cover;
  }

  .how-it-works__gallery-caption {
    padding: 14px 16px;
    font-size: 14px;
  }

  /* ---------- Services Accordion ---------- */
  .services-section__accordion {
    margin-top: 36px;
  }

  .services-section__header {
    padding: 20px 16px;
  }

  .services-section__header-content {
    gap: 14px;
  }

  .services-section__header-icon {
    width: 48px;
    height: 48px;
    font-size: 20px;
    border-radius: 12px;
  }

  .services-section__header-title {
    font-size: 16px;
    margin-bottom: 2px;
  }

  .services-section__header-desc {
    font-size: 13px;
  }

  .services-section__header-arrow {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
  }

  .services-section__content {
    padding: 0 16px 24px;
  }

  .services-section__description {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 20px;
  }

  .services-section__includes {
    padding: 20px;
    margin-bottom: 20px;
  }

  .services-section__footer {
    justify-content: stretch;
  }

  .services-section__btn {
    width: 100%;
    justify-content: center;
  }

  /* ---------- CTA ---------- */
  .cta-section__content {
    padding: 0 24px;
  }

  .cta-section__title {
    font-size: 26px;
    line-height: 1.2;
    margin-bottom: 16px;
  }

  .cta-section__text {
    font-size: 16px;
    margin-bottom: 28px;
  }

  .cta-section__btn {
    width: 100%;
    justify-content: center;
    padding: 16px 24px;
    font-size: 16px;
  }

  /* ---------- FAQ ---------- */
  .faq-section__accordion {
    margin-top: 36px;
  }

  .faq-section__question {
    padding: 16px 18px;
    font-size: 15px;
  }

  .faq-section__answer {
    padding: 0 18px 18px;
    font-size: 14px;
  }
}
