document.addEventListener('click', function(event) {
// Prüfen, ob das geklickte Element ein Anker-Link ist
var anchor = event.target.closest('a[href^="#"]:not([href="#"])');
if (anchor) {
var targetId = anchor.getAttribute('href');
var targetElement = document.querySelector(targetId);
if (targetElement) {
event.preventDefault(); // Stoppt das Standardverhalten radikal
event.stopPropagation(); // Verhindert, dass andere Scripte dazwischenfunken
var viewportWidth = window.innerWidth;
var offset;
if (viewportWidth >= 1025) {
offset = 355;
} else if (viewportWidth >= 768) {
offset = 100;
} else {
offset = 200;
}
var elementPosition = targetElement.getBoundingClientRect().top;
var offsetPosition = elementPosition + window.pageYOffset - offset;
window.scrollTo({
top: offsetPosition,
behavior: 'smooth'
});
// URL aktualisieren ohne Sprung
history.pushState(null, null, targetId);
}
}
}, true); // Das "true" sorgt dafür, dass unser Script in der Capturing-Phase priorisiert wird