/*!
 * mobile-yandex-fix v20260513
 * Глобальный safety против Яндекс Webmaster fails:
 *  - "Есть горизонтальная прокрутка"
 *  - "Слишком мелкий текст"
 *
 * Подключается ПОСЛЕ всех других CSS (по rel order) ко всем страницам из отчёта
 * Не трогает desktop layout — все правила в @media (max-width: 760px), кроме footer-fix
 */

/* FOOTER-FIX (всегда применяется, desktop+mobile):
   Legacy-правило `body > footer:not(.shared-footer){display:none!important}`
   в 22 кейсах скрывало настоящий `<footer class="site-footer">`. Перекрываем. */
body > footer.site-footer,
body > footer.shared-footer,
body > footer { display: block !important; }

/* WORD-BREAK для заголовков — безусловно на всех viewports.
   Только overflow-wrap:anywhere — переносит сверхдлинные слова/URL,
   но НЕ разбивает обычные короткие слова типа "Корпоративное".
   word-break:break-word убран — он рвал нормальные слова посередине. */
h1, h2, h3, h4, h5, h6 {
  overflow-wrap: anywhere;
  hyphens: none;
}

@media (max-width: 1024px) {

  /* 1. Жёсткая клип-отсечка горизонтального overflow страницы.
        Документ.documentElement.scrollWidth никогда не должен превышать clientWidth. */
  html, body {
    max-width: 100vw !important;
    overflow-x: clip !important;
  }

  /* 2. Универсальная защита таблиц.
        Таблица сворачивается в свой scroll-context, не растягивает родителей. */
  table {
    display: block !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  /* Внутренние секции таблицы остаются по дефолту, но не выпирают за wrapper */
  table thead, table tbody, table tfoot { min-width: 0; }

  /* 3. Минимальный читаемый шрифт 12px для всех мелких текстовых классов.
        Яндекс минимум 12px для основного текста, рекомендация 16px. */
  body { font-size: 16px; line-height: 1.6; }
  p, li, td, th, dd, dt { font-size: max(14px, 1em); }

  /* Мелкие label/kicker классы — обычно меньше 12px на desktop, фиксим на mobile */
  .bc-in a, .bc-cur, .bc-sep,
  .topic-kicker, .topic-name,
  .am-item, .am-dot,
  .article-summary-label,
  .service-link-label, .side-box-label, .side-box a,
  .b-note-label,
  .cta-in-article-title,
  .an-card-label, .an-card-desc,
  .footer-memory-sub, .footer-memory-kpi span,
  .f-col-title, .f-copy, .f-tag, .f-links a,
  .nav-mobile-meta a,
  .sec-lbl, .sec-label,
  .pf-kicker, .pf-name,
  .rel-kicker, .rel-arrow,
  .price-tier, .price-list li,
  .kpi-l,
  .how-h, .how-t,
  .rcv-h, .rcv-t,
  .qa-inner,
  .faq-q-text {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  /* Очень мелкий 9-11px на th в таблицах статей и money-pages */
  table th { font-size: 12px !important; padding: 8px 6px !important; }
  table td { font-size: 13px !important; padding: 8px 6px !important; line-height: 1.5 !important; }

  /* 4. Картинки/видео/iframe не выпирают за viewport */
  img, video, iframe, svg { max-width: 100%; height: auto; }

  /* 5. Длинные слова и URL переносятся, не растягивают строку.
        Заголовки тоже — длинные английские термины могут вылезать. */
  p, li, td, th, dd, dt,
  h1, h2, h3, h4, h5, h6 {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* 6. Часто встречающиеся «выпирающие» декоративные элементы */
  .hero-bg, .hero-red,
  .ah-geo, .ah-line,
  .hero-ghost-word { display: none !important; }
}
