$(document).ready(function(){
  // Обработчик кнопки "Узнать больше"
  $('#next-section').click(function(){
    // Плавная прокрутка к следующему блоку
    $('html, body').animate({
      scrollTop: $('#blocks-text').offset().top
    }, 1500); //Время в секундах (можно поигарться)
  });
});

// Ждем загрузки DOM
document.addEventListener("DOMContentLoaded", function () {
  const container = document.querySelector(".circle-container");
  const circles = Array.from(document.querySelectorAll(".circle"));

  // Для каждого шарика создаём объект с физическими данными:
  // Скорость будет постоянной, а направление определяется случайно
  const constantSpeed = 100; // px/с
  let circlesData = circles.map(el => {
    const style = window.getComputedStyle(el);
    let x = parseFloat(style.left);
    let y = parseFloat(style.top);
    let radius = el.offsetWidth / 2;
    // Случайное направление
    const angle = Math.random() * 2 * Math.PI;
    let vx = Math.cos(angle) * constantSpeed;
    let vy = Math.sin(angle) * constantSpeed;
    // прозрачность
  el.style.opacity = 0.35;
    return { el, x, y, vx, vy, radius };
  });

  let lastTime = performance.now();

  function animate(time) {
    const dt = (time - lastTime) / 1000; // время в секундах
    lastTime = time;
    const containerWidth = container.clientWidth;
    const containerHeight = container.clientHeight;

    circlesData.forEach(circle => {
      // Обновляем координаты с постоянной скоростью
      circle.x += circle.vx * dt;
      circle.y += circle.vy * dt;

      // Столкновение с левой/правой границей – отражение по оси X
      if (circle.x < 0) {
        circle.x = 0;
        circle.vx = Math.abs(circle.vx);
      } else if (circle.x + circle.el.offsetWidth > containerWidth) {
        circle.x = containerWidth - circle.el.offsetWidth;
        circle.vx = -Math.abs(circle.vx);
      }
      // Столкновение с верхней/нижней границей – отражение по оси Y
      if (circle.y < 0) {
        circle.y = 0;
        circle.vy = Math.abs(circle.vy);
      } else if (circle.y + circle.el.offsetHeight > containerHeight) {
        circle.y = containerHeight - circle.el.offsetHeight;
        circle.vy = -Math.abs(circle.vy);
      }

      // Обновляем позицию элемента
      circle.el.style.left = circle.x + "px";
      circle.el.style.top = circle.y + "px";
    });

    requestAnimationFrame(animate);
  }

  requestAnimationFrame(animate);
});

$(document).ready(function () {
  $(".menu-button").click(function () {
    $(".mobile-menu").toggle();
  });

  // Закрытие меню при клике вне его области
  $(document).click(function (event) {
    if (!$(event.target).closest(".menu-button, .mobile-menu").length) {
      $(".mobile-menu").hide();
    }
  });
});
