по поводу прокрутки - у блока который выводит контент на экран телефона задаются width/height + overflow-y/overflow-x.
поищи на гитхабе - попадались готовые решения.
я обычно в контроллере проверяю ajax заголовок, если аjax запрос, то отдаю только контент страницы, если нет, то контент обернут в слой/тему. На десктопе можно и модальное окно, а вот в мобильной - страница.