/*
 * mobile-fix.css — общий mobile-полишинг ai-agentura.ru
 * Подключается последним stylesheet во всех HTML-страницах.
 * Правила рассчитаны на смартфоны 320-430 CSS px (iPhone SE 1-2 → Pro Max, Fold closed → Galaxy Ultra).
 */

@media (max-width: 900px) {

  /* Safety net: перекрываем любые случайные горизонтальные скроллы */
  html, body {
    overflow-x: hidden;
    max-width: 100vw;
  }

  /* iOS Safari не зумит форму при фокусе, если шрифт >= 16px.
     !important обязателен: локальные правила утилит .ta / .field-input
     имеют выше специфичность и без ! перекрывают этот safety-net. */
  input:not([type="radio"]):not([type="checkbox"]):not([type="range"]):not([type="color"]),
  textarea,
  select {
    font-size: 16px !important;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Медиа не должны вылезать за контейнер */
  img, video, iframe, svg, canvas {
    max-width: 100%;
    height: auto;
  }

  /* Длинные токены/URL/код должны переноситься, а не растягивать layout */
  pre, code, kbd, samp {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .wrap-anywhere,
  .break-word {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* Тач-таргеты у радио/чекбоксов — увеличиваем через label-обёртку */
  label.opt-radio,
  label.opt-check {
    min-height: 44px;
  }

  /* Safe-area для iPhone с notch и Dynamic Island */
  body {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }

  /* ==== Точечные фиксы страниц ==== */

  /* registry: широкая матрица сценариев — скроллится по горизонтали */
  table.scenario-matrix {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* token-counter: таблица моделей */
  table#models {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* md-to-telegram: сравнительная таблица форматирования */
  main table,
  .compare-table,
  .comparison table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* prompt-audit: grid шаблонов ломается без minmax(0, ...) */
  .templates-grid {
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr)) !important;
  }
  .tpl-btn {
    min-width: 0 !important;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* deep-research: input внутри radio-лейбла + вкладки платформ */
  #region-custom {
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .platform-tabs {
    flex-wrap: wrap;
  }
  .platform-tab {
    max-width: 100%;
    min-width: 0;
  }

  /* html-to-md: select-wrap */
  label.select-wrap {
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* Компактный режим для узких Android (Fold closed 344, старые устройства) */
@media (max-width: 360px) {
  .container,
  main,
  .card,
  .form-col,
  .preview-col {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Уменьшенные заголовки чтобы не съедали экран */
  h1 { font-size: 24px !important; line-height: 1.25 !important; }
  h2 { font-size: 20px !important; line-height: 1.3 !important; }
}
