Смоук: фикс мобильной пагинации маркетплейса

PR #298 · development → master · сравнение prod (itboat.com)stage (stage.itboat.com) · компонент PaginationControls.tsx
✅ FIX OK — на мобильном пагинатор перестал переполнять экран; десктоп и края не изменились

Ключевая метрика — ширина пагинатора (px)

Кейсviewportprodstageвывод
Средняя страница (p4) — тут был багmobile 390491358stage уже на 133px, помещается в 390
Первая страница (p1) — крайmobile 390358358идентично (края всегда были ок)
Любая страницаdesktop 1440944944идентично (ПК-алгоритм не тронут)
491px на 390px-экране = переполнение (стрелку «вперёд» и последнюю страницу срезает). 358px = помещается. Значения одинаковы для EN и RU.

Средняя страница на мобильном 390×844 — EN

prod — БАГ (491px, вылезает)
prod EN mobile p4
stage — ФИКС (358px, компактно)
stage EN mobile p4

Средняя страница на мобильном 390×844 — RU

prod — БАГ
prod RU mobile p4
stage — ФИКС
stage RU mobile p4

Регрессии нет: десктоп 1440 (p4) не изменился

prod
prod EN desktop p4
stage
stage EN desktop p4

Регрессии нет: край (p1) на мобильном не изменился

prod
prod EN mobile p1
stage
stage EN mobile p1
Методика. Сравнивается сам элемент пагинатора (locator.screenshot() берёт полный bbox даже при overflow), а не вся страница — потому что контент маркетплейса на prod и stage различается (разные лоты), и full-page pixel-diff был бы шумным не из-за пагинации. Штатный 33-страничный интеграционный смоук этот фикс не покрывает: маркетплейса нет в его наборе и он снимает только первую страницу, а баг живёт на средней странице мобильного. Регрессия по остальным страницам ≈ нулевая: PaginationControls используется только маркетплейсом.