г. Пермь, ул. Энергетиков, 39к5 Пн-Пт: 09:00 - 20:00   Сб-Вс: 10:00 - 18:00
+7 (922) 354-54-05
Профессиональный сервис

Ремонт Mercedes в Перми

Профессиональный ремонт и техническое обслуживание Mercedes всех поколений и модификаций. Сохраним ваш бюджет и время: до 12 месяцев гарантии на работы!

Опыт 10+ лет
1200+ клиентов
Гарантия до 12 мес.
Ремонт «под ключ»

Оставьте заявку

Быстрая связь: Пермь и край. Работаем ежедневно 9:00–20:00

Полный цикл восстановления

Специализированный ремонт Mercedes в Перми — от диагностики до капитального восстановления

Профессиональное восстановление бензиновых и дизельных двигателей Mercedes всех серий. Используем оригинальные запчасти, даём гарантию до 12 месяцев

Современное оборудование Опыт 10+ лет Прозрачные цены
Бесплатно

Диагностика Mercedes

0 ₽ 1500 ₽
  • Компьютерная диагностика Mercedes через OBD-II
  • Замер компрессии в цилиндрах
  • Проверка систем систем впрыска, турбонаддува и DISA
  • Выявление утечек и неисправностей
⏱️ Время: 30-60 минут | 📋 Подробный отчёт
Записаться на диагностику
Хит

Капитальный ремонт двигателя Mercedes

от 45 000 ₽
  • Полная разборка и дефектовка
  • Расточка блока цилиндров Mercedes (M-серии, AMG)
  • Замена поршневой группы с учетом особенностей Mercedes
  • Шлифовка коленвала, восстановление ГБЦ с 16 клапанами
  • Сборка, обкатка, настройка
⏱️ Срок: 5-10 дней | 🛡 Гарантия 12 месяцев
Узнать точную цену

Ремонт ГБЦ Mercedes

от 8 000 ₽
  • Снятие/установка ГБЦ
  • Шлифовка привалочной плоскости
  • Замена клапанов и направляющих
  • Опрессовка, проверка герметичности
⏱️ Срок: 1-3 дня | 🔧 Устраняем прогар клапанов
Заказать восстановление ГБЦ

Замена ГРМ Mercedes

от 3 500 ₽
  • Замена ремня/цепи ГРМ
  • Замена роликов и натяжителей
  • Проверка и регулировка меток ГРМ Mercedes
  • Замена помпы (по необходимости)
⏱️ Срок: 2-4 часа | ⚠️ Рекомендовано каждые 60-80 тыс. км
Записаться на замену ГРМ

Замена прокладок Mercedes

от 1 500 ₽
  • Замена прокладки ГБЦ Mercedes с учетом допусков
  • Замена маслосъёмных колпачков
  • Сальники коленвала и распредвала
  • Прокладка поддона картера
💧 Устраняем течи масла | ⏱️ Срок: от 1 часа
Устранить течи

Замена опор двигателя Mercedes

от 1 200 ₽
  • Диагностика опор двигателя Mercedes (подушки)
  • Замена передней/задней опоры
  • Устранение вибраций при движении
  • Улучшение комфорта езды
⏱️ Срок: 1-2 часа | 🔇 Убираем стуки и вибрации
Заменить подушки

Раскоксовка двигателя Mercedes

от 2 500 ₽
  • Очистка от нагара и отложений
  • Восстановление компрессии
  • Снижение расхода масла и топлива
  • Улучшение динамики разгона
⏱️ Срок: 2-3 часа | ✨ Профилактика для двигателей с пробегом
Очистить двигатель

Снятие/установка двигателя Mercedes

от 5 000 ₽
  • Демонтаж двигателя из автомобиля
  • Отключение всех систем
  • Установка после ремонта
  • Пуско-наладочные работы
⏱️ Срок: 3-6 часов | 🔧 Для капитального восстановления и установки
Заказать снятие/установку

Регулировка клапанов Mercedes

от 2 000 ₽
  • Проверка тепловых зазоров
  • Точная настройка клапанов (8/16 кл.)
  • Устранение стука клапанов
  • Улучшение работы на холостых
⏱️ Срок: 2-3 часа | 🔊 Для отечественных и старых иномарок
Отрегулировать клапаны
Прайс-лист

Стоимость ремонта Mercedes

Актуальные цены на ремонт и обслуживание Mercedes. Финальная стоимость определяется после диагностики.

Наименование услуги Стоимость
Регулировка клапанов 4 500₽ 1 500₽
Монтаж клапанов 4 500₽ 3 500₽
Монтаж ремня ГРМ от 6 500₽
Монтаж маслосъемных колпачков 9 000₽ 4 500₽
Монтаж цепи ГРМ 12 000₽ 8 000₽
Монтаж ремня генератора от 1 500₽
Монтаж прокладки ГБЦ 10 000₽ 7 000₽
Монтаж форсунок от 3 500₽
Монтаж сальника коленвала от 1 500₽
Монтаж клапанной крышки 1 950₽ 1 200₽
Монтаж распредвала 8 000₽ 7 000₽
Капитальное восстановление мотора 45 000₽ 25 000₽
Проверка силового агрегата 2 000₽ 500₽
Монтаж свечей зажигания от 500₽
Монтаж прокладки клапанной крышки 1 950₽ 1 200₽
Монтаж приводного ремня от 1 500₽
Восстановление клапанов от 2 500₽
Ремонт ГБЦ от 6 000₽
Монтаж турбины 7 500₽ 3 000₽
Монтаж масляного насоса от 6 500₽
Монтаж гидрокомпенсаторов 10 000₽ 9 000₽
Монтаж опор (подушек) мотора от 1 000₽
Расточка блока цилиндров от 6 000₽
Монтаж силового агрегата 15 000₽ 10 000₽
Монтаж впускного коллектора от 3 500₽
Монтаж поршневых колец 40 000₽ 10 000₽
Монтаж сальника распредвала 7 500₽ 6 000₽
Монтаж шкива коленвала от 1 000₽
Шлифовка коленвала от 3 500₽
Монтаж ролика натяжителя ремня генератора от 1 500₽
Установка вкладышей коленвала от 6 000₽
Измерение компрессии мотора от 1 000₽
Монтаж ролика натяжителя приводного ремня от 1 500₽
Проверка мотора эндоскопом 2 000₽ 800₽
Диагностика цепи / ремня ГРМ от 1 000₽

💡 Точная стоимость определяется после бесплатной диагностики

Записаться на диагностику
Не игнорируйте эти сигналы

Когда срочно нужен ремонт Mercedes в Перми?

Заметили хотя бы один симптом? Приезжайте на бесплатную проверку — сэкономите до 80% стоимости капитального восстановления, если обратитесь вовремя

Стук, скрежет, гул

Металлический стук, визг при старте Mercedes — характерно для износа систем впрыска, вкладышей или цепи ГРМ

Высокий риск

Расход масла

Расход масла у Mercedes? Синий дым? Типичная проблема маслосъёмных колпачков и колец

Средний риск

Потеря мощности

Потеря мощности Mercedes? Низкая компрессия или проблемы с турбонаддува/систем впрыска

Прогрессирует

Перегрев

Перегрев Mercedes? Пробитая прокладка ГБЦ или отказ системы охлаждения

Критично

Плавают обороты

Двигатель Mercedes троит? Нестабильная работа — проблемы с катушками или форсунками

Требует проверки

Расход топлива

Резко вырос расход — изношена поршневая или сбита настройка системы впрыска

Бьет по бюджету

Цветной дым

Синий/черный/белый дым требует немедленной диагностики

Видимый сигнал

Check Engine

Индикатор горит — проблемы с датчиками или серьезные неисправности

Срочно в сервис

Заметили симптомы? Действуйте сейчас!

Бесплатная проверка мотора в Перми + консультация мастера. Узнайте точную причину за 30 минут

✓ Работаем 9:00–20:00 ✓ Гарантия 12 мес. ✓ 1200+ клиентов

⚠️ Важно: Игнорирование симптомов может привести к капитальному восстановлению от 50 000₽. Ранняя проверка сэкономит до 80% расходов

36+ марок

Специализированный ремонт Mercedes и других премиум-марок

Особая экспертиза в ремонте двигателей Mercedes всех серий. Также обслуживаем другие премиум-марки с учетом их специфики.

Отзывы клиентов

Отзывы владельцев Mercedes

Читайте реальные отзывы владельцев Mercedes о нашем специализированном сервисе. Честная работа и гарантия качества.

Средний рейтинг сервиса

4.9

Более 300 проверенных отзывов на Яндекс.Картах

Перейти к отзывам

Сергей С.

22 сентября 2023

Яндекс

Отличный сервис, хорошие ребята, знают своё дело. Евгений отличный мастер, выявил проблему, всё доступно объяснил. У них свой склад запчастей — ждать не пришлось. Рекомендую!

Алексей П.

11 января 2024

Яндекс

Обратился в сервис с проблемой масложора на Skoda Octavia. Всё сделали качественно и быстро. Проехал уже 5000 км — масло на месте. За работу ребят огромное спасибо!

Максим

30 августа 2023

Яндекс

Отличный автосервис. Всё по делу, без навязанных услуг и лишних расходов. Прозрачная консультация и честное отношение к клиентам.

Оценка клиентов 2ГИС

5.0

Рейтинг по итогам 150+ отзывов на 2ГИС

Перейти к отзывам

Иван Николаевич

15 января 2024

2ГИС

Не первый раз у ребят — всегда быстро и качественно. Отличный сервис за разумные деньги, всегда на связи и дают гарантию на работы.

Михаил

1 декабря 2023

2ГИС

Все супер! Записали без ожиданий, провели диагностику, нашли и устранили проблему. Рекомендую друзьям и знакомым.

Andrey

20 октября 2023

2ГИС

Хороший сервис, обращаюсь не первый год. Делают всё качественно, предоставляют понятные рекомендации и держат слово по срокам.

Наши работы

Более 1000 успешных восстановлений

Каждый автомобиль — это история, которую мы делаем лучше. Посмотрите реальные примеры и убедитесь в нашем уровне.

До Дверь с вмятиной до восстановления Mercedes E-класса
После Восстановленная дверь Mercedes E-класса

Восстановление кузова Mercedes E

  • Восстановление геометрии двери
  • Компьютерный подбор краски
  • Покраска и финишная полировка
«Цвет подобрали идеально, даже под лупой не отличить!» — Алексей Р.
Рассчитать похожее восстановление
До Двигатель до замены цепи ГРМ VW Tiguan
После Двигатель после замены цепи ГРМ VW Tiguan

Установка цепи ГРМ VW Tiguan

  • Замена комплекта ГРМ
  • Замена масла и фильтра
  • Очистка подкапотного пространства
«Двигатель стал работать тише, пропал посторонний шум.» — Сергей Н.
Рассчитать похожее восстановление
До Старые тормозные диски Toyota RAV4
После Новые тормоза Toyota RAV4

Техобслуживание тормозов Toyota RAV4

  • Замена дисков и колодок
  • Обслуживание направляющих суппортов
  • Замена тормозной жидкости
«Пропала вибрация при торможении. Сделали быстро!» — Ирина Л.
Рассчитать похожее восстановление
До Изношенная подвеска Kia Rio до восстановления
После Новая подвеска Kia Rio после восстановления

Восстановление подвески Kia Rio

  • Замена передних амортизаторов
  • Замена стоек стабилизатора
  • Регулировка сход-развала 3D
«Машина снова едет плавно, пропали стуки.» — Олег Д.
Рассчитать похожее восстановление
До Автоэлектрика до восстановления Mercedes
После Автоэлектрика после восстановления Mercedes

Ремонт автоэлектрики Mercedes

  • Поиск и устранение утечки тока
  • Восстановление жгута проводки
  • Адаптация электронных блоков
«Нашли проблему, которую не видели в других сервисах.» — Виктор П.
Рассчитать похожее восстановление
До Кузов Porsche до детейлинга
После Кузов Porsche после нанесения керамики

Полировка и керамика Porsche

  • Трёхфазная восстановительная полировка
  • Удаление царапин и «паутинки»
  • Нанесение керамического покрытия
«Машина выглядит лучше, чем из салона!» — Мария А.
Рассчитать похожее восстановление
До Кондиционер Hyundai до восстановления
После Работающий кондиционер Hyundai после восстановления

Ремонт кондиционера Hyundai

  • Диагностика с УФ-красителем
  • Замена радиатора кондиционера
  • Заправка системы фреоном
«Нашли утечку, которой не видели другие.» — Дмитрий С.
Рассчитать похожее восстановление
До АКПП Ford Focus до восстановления
После АКПП Ford Focus после восстановления

Ремонт АКПП Ford Focus

  • Дефектовка и восстановление гидроблока
  • Замена фрикционных дисков
  • Обновление масла и фильтра
«Коробка переключает плавно, пропали рывки.» — Максим И.
Рассчитать похожее восстановление
До Старый глушитель Nissan до восстановления
После Новый выхлоп Nissan после восстановления

Ремонт выхлопной системы Nissan

  • Замена прогоревшей гофры
  • Удаление катализатора
  • Установка пламегасителя
«Машина перестала реветь, всё сделали быстро.» — Евгений Б.
Рассчитать похожее восстановление
Склад XAuto

Ваше восстановление не встанет из-за отсутствия запчастей

Собственный склад оригинальных деталей и проверенных аналогов позволяет начинать работы сразу после диагностики, без ожидания поставок.

Ремонт в день обращения

Более 90% популярных позиций в наличии. Не тратим время на доставку, выполняем восстановление сразу.

Единая гарантия на детали и работу

Используем проверенные бренды, поэтому даём до 2 лет гарантии на установленную деталь и выполненные работы.

Честные цены без наценок

Работаем напрямую с поставщиками, предлагаем прозрачную стоимость запасных частей и работ.

Уточните наличие и стоимость детали

Отправьте запрос — менеджер свяжется в течение 5 минут, подтвердит цену и предложит варианты.

Заявка бесплатно, без обязательств. Менеджер перезвонит и подтвердит детали заказа.

Прозрачность

Гарантия на ремонт Mercedes в Перми

Специализированный ремонт Mercedes с гарантией до 12 месяцев. Используем оригинальные запчасти и сертифицированное оборудование.

Гарантия до 12 месяцев

Официальная гарантия на все работы по ремонту двигателей Mercedes.

Цены без сюрпризов

Расчёт стоимости проводим заранее и не меняем согласованную сумму без вашего решения.

Соблюдаем сроки

Вы заранее знаете дату готовности, а мастер сообщает, если процесс можно ускорить.

Специалисты по Mercedes

Опыт работы с Mercedes более 10 лет. Знаем все особенности двигателей M-серии и AMG.

Онлайн-калькулятор

Рассчитайте стоимость ремонта Mercedes

Укажите модель Mercedes и пробег. Мы рассчитаем точную стоимость ремонта и свяжемся с вами в течение 10 минут.

1 Данные авто
2 Выбор услуг
3 Результат

Сводка по автомобилю

Марка
Модель
Год выпуска
Пробег

Выбранные услуги

Предварительная стоимость

Точная стоимость зависит от диагностики. Мы перезвоним, уточним детали и предоставим окончательное предложение.

Нажимая кнопку, вы соглашаетесь с политикой обработки данных.

Почему мы

Честный расчёт без скрытых доплат

  • 1 Учитываем статистику восстановлений по каждой марке и модели.
  • 2 Производим бесплатную диагностику перед началом работ.
  • 3 Фиксируем цену в договоре и предоставляем гарантию до 24 месяцев.

Сложный случай? Оставьте контакт, и мастер предложит альтернативные варианты восстановления и оптимизирует стоимость.

Онлайн-запись

Запишитесь на ремонт Mercedes

Опишите проблему с Mercedes, оставьте контакты — наш специалист по Mercedes перезвонит в течение 5 минут.

Форма онлайн-записи

Нажимая кнопку, вы соглашаетесь с политикой конфиденциальности.

const input = modal.querySelector('input[name="phone"]'); if (input) setTimeout(() => input.focus(), 50); } function closeModal() { modal.style.display = "none"; modal.setAttribute("aria-hidden", "true"); document.body.classList.remove("overflow-hidden"); } openers.forEach((el) => el.addEventListener("click", openModal), ); closeButtons.forEach((el) => el.addEventListener("click", closeModal), ); modal.addEventListener("click", (e) => { if (e.target === modal) closeModal(); }); document.addEventListener("keydown", (e) => { if (e.key === "Escape" && modal.style.display === "flex") { closeModal(); } }); })(); const menuToggle = document.getElementById('menu-toggle'); const mobileMenu = document.getElementById('mobile-menu'); if (menuToggle && mobileMenu) { menuToggle.addEventListener('click', () => { const expanded = menuToggle.getAttribute('aria-expanded') === 'true'; menuToggle.setAttribute('aria-expanded', String(!expanded)); mobileMenu.classList.toggle('hidden'); }); } const brandsToggle = document.getElementById('brands-toggle'); const brandsMore = document.getElementById('brands-more'); if (brandsToggle && brandsMore) { const showState = brandsToggle.querySelector('[data-state="show"]'); const hideState = brandsToggle.querySelector('[data-state="hide"]'); brandsMore.setAttribute('aria-hidden', 'true'); brandsToggle.addEventListener('click', () => { const expanded = brandsToggle.getAttribute('aria-expanded') === 'true'; const nextExpanded = !expanded; brandsToggle.setAttribute('aria-expanded', String(nextExpanded)); brandsMore.setAttribute('aria-hidden', String(!nextExpanded)); brandsMore.classList.toggle('hidden', !nextExpanded); if (showState) { showState.classList.toggle('hidden', nextExpanded); } if (hideState) { hideState.classList.toggle('hidden', !nextExpanded); } }); } const brandImages = document.querySelectorAll('#brands img'); brandImages.forEach((img) => { img.setAttribute('loading', 'lazy'); img.setAttribute('decoding', 'async'); img.setAttribute('referrerpolicy', 'no-referrer'); img.setAttribute('crossorigin', 'anonymous'); img.addEventListener('error', () => { const fallback = document.createElement('span'); fallback.className = 'flex h-10 w-10 items-center justify-center rounded-full bg-white/10 text-xs font-semibold uppercase text-white/80 ring-1 ring-inset ring-white/15'; const brandAlt = img.getAttribute('alt') || ''; const brandMatch = brandAlt.match(/Логотип\s+(.+)/i); const brandName = brandMatch ? brandMatch[1] : brandAlt; let fallbackText = (brandName || 'Auto') .split(/[\s\-()]+/) .filter(Boolean) .map((word) => word[0]) .join('') .slice(0, 3) .toUpperCase(); if (!fallbackText) { fallbackText = 'AUTO'; } fallback.textContent = fallbackText; img.replaceWith(fallback); }, { once: true }); }); const servicesSection = document.getElementById('services'); if (servicesSection) { const tablist = servicesSection.querySelector('[data-service-tablist]'); const tabs = Array.from(servicesSection.querySelectorAll('[data-service-tab]')); const panels = Array.from(servicesSection.querySelectorAll('[data-service-panel]')); const activeTabClasses = [ 'is-active', 'border-[#f94144]', 'bg-[#f94144]', 'text-white', 'shadow-[0_16px_40px_rgba(249,65,68,0.35)]', 'hover:bg-[#d73234]' ]; const setActiveTab = (targetTab) => { if (!targetTab) { return; } const targetKey = targetTab.getAttribute('data-service-tab'); tabs.forEach((tab) => { const isActive = tab === targetTab; tab.setAttribute('aria-selected', String(isActive)); tab.setAttribute('tabindex', isActive ? '0' : '-1'); activeTabClasses.forEach((className) => { tab.classList.toggle(className, isActive); }); const bullet = tab.querySelector('span[aria-hidden="true"]'); if (bullet) { bullet.classList.toggle('bg-white/80', isActive); bullet.classList.toggle('bg-[#f3a012]', !isActive); } }); panels.forEach((panel) => { const matches = panel.getAttribute('data-service-panel') === targetKey; panel.classList.toggle('hidden', !matches); panel.setAttribute('aria-hidden', String(!matches)); if (matches) { panel.removeAttribute('hidden'); } else { panel.setAttribute('hidden', ''); } }); }; const activateTabAtIndex = (index) => { if (tabs.length === 0) { return; } const boundedIndex = (index + tabs.length) % tabs.length; const tab = tabs[boundedIndex]; if (!tab) { return; } setActiveTab(tab); try { tab.focus({ preventScroll: true }); } catch (error) { tab.focus(); } }; tabs.forEach((tab) => { tab.addEventListener('click', (event) => { event.preventDefault(); if (tab.getAttribute('aria-selected') === 'true') { return; } setActiveTab(tab); }); }); if (tablist) { tablist.addEventListener('keydown', (event) => { const currentTab = document.activeElement && document.activeElement.closest('[data-service-tab]'); if (!currentTab || !tablist.contains(currentTab)) { return; } const currentIndex = tabs.indexOf(currentTab); if (currentIndex === -1) { return; } switch (event.key) { case 'ArrowRight': case 'ArrowDown': event.preventDefault(); activateTabAtIndex(currentIndex + 1); break; case 'ArrowLeft': case 'ArrowUp': event.preventDefault(); activateTabAtIndex(currentIndex - 1); break; case 'Home': event.preventDefault(); activateTabAtIndex(0); break; case 'End': event.preventDefault(); activateTabAtIndex(tabs.length - 1); break; case ' ': case 'Enter': event.preventDefault(); setActiveTab(currentTab); break; default: break; } }); } const preselectedTab = tabs.find((tab) => tab.getAttribute('aria-selected') === 'true'); setActiveTab(preselectedTab || tabs[0]); } const countdownBlocks = document.querySelectorAll('[data-promo-countdown]'); countdownBlocks.forEach((block) => { const targetString = block.getAttribute('data-countdown-target'); if (!targetString) { return; } const targetTime = Date.parse(targetString); if (Number.isNaN(targetTime)) { return; } const parts = { days: block.querySelector('[data-countdown-part="days"]'), hours: block.querySelector('[data-countdown-part="hours"]'), minutes: block.querySelector('[data-countdown-part="minutes"]'), seconds: block.querySelector('[data-countdown-part="seconds"]') }; const formatNumber = (value) => String(value).padStart(2, '0'); let intervalId; const updateCountdown = () => { const now = Date.now(); let diff = Math.floor((targetTime - now) / 1000); if (diff <= 0) { diff = 0; } const days = Math.floor(diff / 86400); const hours = Math.floor((diff % 86400) / 3600); const minutes = Math.floor((diff % 3600) / 60); const seconds = diff % 60; if (parts.days) { parts.days.textContent = formatNumber(days); } if (parts.hours) { parts.hours.textContent = formatNumber(hours); } if (parts.minutes) { parts.minutes.textContent = formatNumber(minutes); } if (parts.seconds) { parts.seconds.textContent = formatNumber(seconds); } if (diff === 0 && intervalId) { window.clearInterval(intervalId); intervalId = undefined; } }; updateCountdown(); intervalId = window.setInterval(updateCountdown, 1000); }); const portfolioTrack = document.getElementById('portfolio-track'); if (portfolioTrack) { const prevButton = document.querySelector('[data-portfolio-scroll="prev"]'); const nextButton = document.querySelector('[data-portfolio-scroll="next"]'); const scrollAmount = () => Math.max(portfolioTrack.clientWidth * 0.9, 320); const setDisabledState = (button, disabled) => { if (!button) { return; } button.toggleAttribute('disabled', disabled); button.setAttribute('aria-disabled', String(disabled)); }; const updateButtons = () => { const maxScroll = Math.max(portfolioTrack.scrollWidth - portfolioTrack.clientWidth, 0); const atStart = portfolioTrack.scrollLeft <= 12; const atEnd = portfolioTrack.scrollLeft >= maxScroll - 12; setDisabledState(prevButton, atStart); setDisabledState(nextButton, atEnd); }; if (prevButton) { prevButton.addEventListener('click', () => { portfolioTrack.scrollBy({ left: -scrollAmount(), behavior: 'smooth' }); }); } if (nextButton) { nextButton.addEventListener('click', () => { portfolioTrack.scrollBy({ left: scrollAmount(), behavior: 'smooth' }); }); } portfolioTrack.addEventListener('scroll', updateButtons, { passive: true }); window.addEventListener('resize', updateButtons); updateButtons(); } // Smooth scroll для якорных ссылок document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function (e) { const href = this.getAttribute('href'); if (href === '#' || href === '#top') { e.preventDefault(); window.scrollTo({ top: 0, behavior: 'smooth' }); return; } const target = document.querySelector(href); if (target) { e.preventDefault(); const offsetTop = target.offsetTop - 80; window.scrollTo({ top: offsetTop, behavior: 'smooth' }); } }); }); // Кнопка "Наверх" const scrollToTopBtn = document.getElementById('scroll-to-top'); if (scrollToTopBtn) { const toggleScrollButton = () => { if (window.pageYOffset > 400) { scrollToTopBtn.classList.remove('opacity-0', 'pointer-events-none', 'translate-y-4'); scrollToTopBtn.classList.add('opacity-100', 'translate-y-0'); } else { scrollToTopBtn.classList.add('opacity-0', 'pointer-events-none', 'translate-y-4'); scrollToTopBtn.classList.remove('opacity-100', 'translate-y-0'); } }; window.addEventListener('scroll', toggleScrollButton, { passive: true }); toggleScrollButton(); scrollToTopBtn.addEventListener('click', () => { window.scrollTo({ top: 0, behavior: 'smooth' }); }); } // Accessibility: фокус на первое поле формы при ошибке document.querySelectorAll('form').forEach(form => { form.addEventListener('invalid', (e) => { e.preventDefault(); const firstInvalid = form.querySelector(':invalid'); if (firstInvalid) { firstInvalid.focus(); firstInvalid.scrollIntoView({ behavior: 'smooth', block: 'center' }); } }, true); }); // Lazy loading для изображений (если браузер не поддерживает native lazy loading) if ('loading' in HTMLImageElement.prototype) { const images = document.querySelectorAll('img[loading="lazy"]'); images.forEach(img => { img.src = img.dataset.src || img.src; }); } else { // Fallback для старых браузеров const script = document.createElement('script'); script.src = 'https://cdnjs.cloudflare.com/ajax/libs/lozad.js/1.16.0/lozad.min.js'; script.onload = () => { const observer = lozad('.lazy', { loaded: function(el) { el.classList.add('loaded'); } }); observer.observe(); }; document.body.appendChild(script); } });