(function(){
  // ==== НАСТРОЙКИ ====
  // Если знаешь rec-ID служебной формы — впиши сюда, иначе оставь пусто: автопоиск
  var CALL_FORM_REC_ID = '';
  // Если у тебя есть попап T886, который нельзя закрывать, впиши его rec-ID
  var EXCEPT_SUCCESS_POPUP_REC = '';

  // ==== УТИЛИТЫ ====
  function q(sel, root){ return (root||document).querySelector(sel); }
  function qa(sel, root){ return (root||document).querySelectorAll(sel); }

  // ==== ПОИСК И ПОДГОТОВКА ФОРМЫ ====
  var preparedForm = null;
  function hideInlineSuccessBox(form){
    try{
      var box = q('.t-form__successbox', form);
      if (box) box.style.display = 'none';
    }catch(_){}
  }
  function closeTildaSuccessPopup(){
    qa('.t-popup.t-popup_show').forEach(function(p){
      var rec = p.closest('[id^="rec"]');
      var recId = rec ? rec.id : '';
      if (EXCEPT_SUCCESS_POPUP_REC && recId === EXCEPT_SUCCESS_POPUP_REC) return;
      p.classList.remove('t-popup_show');
      p.style.display = 'none';
    });
    document.body.classList.remove('t-body_scroll-locked');
  }
  function getCallForm(){
    if (preparedForm && document.body.contains(preparedForm)) return preparedForm;

    var form = null;
    // 1) По rec-ID
    if (CALL_FORM_REC_ID){
      var wrap = document.getElementById(CALL_FORM_REC_ID);
      if (wrap) form = q('form', wrap);
    }
    // 2) По маркерному полю Event
    if (!form){
      var marker = q('input[name="Event"]');
      if (marker) form = marker.closest('form');
    }
    // 3) Первая тильдовская форма (фолбэк)
    if (!form){
      form = q('.t-form form, form.t-form, form[action*="tildacdn"]') || q('form');
    }
    if (!form) return null;

    // Гарантируем скрытые поля
    ['Event','Card','Phone','Page','Timestamp'].forEach(function(name){
      if (!q('[name="'+name+'"]', form)){
        var el = document.createElement('input');
        el.type = 'hidden';
        el.name = name;
        form.appendChild(el);
      }
    });

    // Спрячем возможный inline-успех и саму форму визуально
    hideInlineSuccessBox(form);
    try{
      var submit = q('.t-submit, [type="submit"]', form);
      if (submit) submit.style.display = 'none';
      var box = form.closest('.t-form') || form;
      box.style.position = 'absolute';
      box.style.left = '-10000px';
      box.style.top = '0';
    }catch(_){}

    preparedForm = form;
    return form;
  }

  // ==== ОТПРАВКА В LEADS ====
  function sendCallToLeads(payload, after){
    var form = getCallForm();
    if (!form){ if(after) after(); return; }

    q('[name="Event"]', form).value     = 'call_click';
    q('[name="Card"]', form).value      = payload.name || '';
    q('[name="Phone"]', form).value     = payload.phone || '';
    q('[name="Page"]', form).value      = payload.page  || (location.pathname + location.search);
    q('[name="Timestamp"]', form).value = new Date().toISOString();

    var finished = false;
    function finish(){
      if (finished) return; finished = true;
      hideInlineSuccessBox(form);
      closeTildaSuccessPopup();
      if (after) after();
    }

    // Успешно / с ошибкой — в любом случае не держим пользователя
    form.addEventListener('tildaform:aftersuccess', finish, { once:true });
    form.addEventListener('tildaform:aftererror',  finish, { once:true });

    try{
      form.dispatchEvent(new Event('submit', {bubbles:true, cancelable:true}));
    }catch(e){
      var ev = document.createEvent('Event'); ev.initEvent('submit', true, true); form.dispatchEvent(ev);
    }

    // Страховка для iOS: даём запросу улететь
    setTimeout(finish, 350);
  }

  // ==== ТРЕКИНГ КНОПОК «LLAMAR» ====
  function attachCallTracking(){
    qa('.catalog-card .btn.llamar').forEach(function(btn){
      if (btn.dataset.callTracked) return;
      btn.dataset.callTracked = '1';

      btn.addEventListener('click', function(e){
        var href  = btn.getAttribute('href') || '';
        var phone = href.replace(/^tel:/i,'').trim();
        var card  = btn.closest('.catalog-card');
        var name  = card ? ((card.querySelector('h3') || {}).textContent || '').trim() : '';

        e.preventDefault();
        btn.style.pointerEvents = 'none'; // анти-дабл-тап

        sendCallToLeads(
          { name: name, phone: phone, page: location.pathname + location.search },
          function(){
            btn.style.pointerEvents = '';
            if (href) { try { location.href = href; } catch(_){} }
          }
        );
      }, { passive:false });
    });
  }

  // ==== ИНИЦИАЛИЗАЦИЯ ====
  document.addEventListener('DOMContentLoaded', function(){
    getCallForm();
    attachCallTracking();
  });

  // На случай динамической дорисовки карточек
  var mo = new MutationObserver(function(){ attachCallTracking(); });
  mo.observe(document.documentElement, { childList:true, subtree:true });
})();
.t-tildalаbеl .t-footer__brand { display: none !important; }