{"id":6736,"date":"2025-11-04T10:50:51","date_gmt":"2025-11-04T09:50:51","guid":{"rendered":"https:\/\/mero.de\/?page_id=6736"},"modified":"2025-12-05T09:25:30","modified_gmt":"2025-12-05T08:25:30","slug":"contacts","status":"publish","type":"page","link":"https:\/\/mero.de\/en\/floor-systems\/contacts\/","title":{"rendered":"Contacts"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"6736\" class=\"elementor elementor-6736 elementor-6371\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f7a0cf6 e-flex e-con-boxed e-con e-child\" data-id=\"f7a0cf6\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aafe8e6 elementor-widget elementor-widget-heading\" data-id=\"aafe8e6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Floor systems<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-28381bd elementor-fixed e-transform elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-jet-button\" data-id=\"28381bd\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;fixed&quot;,&quot;_transform_rotateZ_effect&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:-90,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_tablet&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_mobile&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"jet-button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-jet-button jet-elements\"><div class=\"jet-button__container\">\n\t<a class=\"jet-button__instance jet-button__instance--icon-right hover-effect-0\" href=\"#kontakt\">\n\t\t<div class=\"jet-button__plane jet-button__plane-normal\"><\/div>\n\t\t<div class=\"jet-button__plane jet-button__plane-hover\"><\/div>\n\t\t<div class=\"jet-button__state jet-button__state-normal\">\n\t\t\t<span class=\"jet-button__icon jet-elements-icon\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18.148\" height=\"9.774\" viewBox=\"0 0 18.148 9.774\"><path id=\"Path_1\" data-name=\"Path 1\" d=\"M-11.3,15.584H3.957L1.423,18.627a.7.7,0,1,0,1.075.893l3.49-4.188a.831.831,0,0,0,.063-.1c0-.035.035-.056.049-.091a.685.685,0,0,0,.049-.251h0a.685.685,0,0,0-.049-.251c0-.035-.035-.056-.049-.091a.831.831,0,0,0-.063-.1L2.5,10.251a.7.7,0,0,0-1.235.384.71.71,0,0,0,.161.51l2.534,3.043H-11.3s-.7.314-.7.7A.7.7,0,0,0-11.3,15.584Z\" transform=\"translate(12 -10)\" fill=\"#fff\"><\/path><\/svg><\/span><span class=\"jet-button__label\">Request now<\/span>\t\t<\/div>\n\t\t<div class=\"jet-button__state jet-button__state-hover\">\n\t\t\t<span class=\"jet-button__icon jet-elements-icon\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18.148\" height=\"9.774\" viewBox=\"0 0 18.148 9.774\"><path id=\"Path_1\" data-name=\"Path 1\" d=\"M-11.3,15.584H3.957L1.423,18.627a.7.7,0,1,0,1.075.893l3.49-4.188a.831.831,0,0,0,.063-.1c0-.035.035-.056.049-.091a.685.685,0,0,0,.049-.251h0a.685.685,0,0,0-.049-.251c0-.035-.035-.056-.049-.091a.831.831,0,0,0-.063-.1L2.5,10.251a.7.7,0,0,0-1.235.384.71.71,0,0,0,.161.51l2.534,3.043H-11.3s-.7.314-.7.7A.7.7,0,0,0-11.3,15.584Z\" transform=\"translate(6.148 19.774) rotate(180)\" fill=\"#262626\"><\/path><\/svg><\/span><span class=\"jet-button__label\">Request now<\/span>\t\t<\/div>\n\t<\/a>\n<\/div>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-486c629 e-flex e-con-boxed e-con e-parent\" data-id=\"486c629\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b03c87d elementor-widget elementor-widget-heading\" data-id=\"b03c87d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Contacts - Germany<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-479fcf4 elementor-widget elementor-widget-jet-listing-grid\" data-id=\"479fcf4\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"ansprechpartner-grid\" data-settings=\"{&quot;columns&quot;:&quot;4&quot;,&quot;columns_mobile&quot;:&quot;1&quot;}\" data-widget_type=\"jet-listing-grid.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"jet-listing-grid jet-listing-grid--lazy-load jet-listing jet-listing-grid-loading\" data-lazy-load=\"{&quot;offset&quot;:&quot;0px&quot;,&quot;post_id&quot;:6736,&quot;queried_id&quot;:&quot;6736|WP_Post&quot;}\"><div class=\"jet-listing-grid__loader\"><div class=\"jet-listing-grid__loader-spinner\"><\/div><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0118b0a e-flex e-con-boxed e-con e-parent\" data-id=\"0118b0a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6bdf0c6 elementor-widget elementor-widget-heading\" data-id=\"6bdf0c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Premium partners - Germany<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dced2a4 elementor-widget elementor-widget-jet-listing-grid\" data-id=\"dced2a4\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"deutschland-grid\" data-settings=\"{&quot;columns&quot;:&quot;3&quot;,&quot;columns_mobile&quot;:&quot;1&quot;}\" data-widget_type=\"jet-listing-grid.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"jet-listing-grid jet-listing-grid--lazy-load jet-listing jet-listing-grid-loading\" data-lazy-load=\"{&quot;offset&quot;:&quot;0px&quot;,&quot;post_id&quot;:6736,&quot;queried_id&quot;:&quot;6736|WP_Post&quot;}\"><div class=\"jet-listing-grid__loader\"><div class=\"jet-listing-grid__loader-spinner\"><\/div><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-db8ba72 e-flex e-con-boxed e-con e-parent\" data-id=\"db8ba72\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c67bf37 elementor-widget elementor-widget-html\" data-id=\"c67bf37\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\r\n(function () {\r\n  \/\/ Nur im Premiumpartner-Widget arbeiten\r\n  var grid = document.getElementById('deutschland-grid');\r\n  if (!grid) return;\r\n\r\n  \/\/ Entfernt exakt das H6-Feld mit Text \"Deutschland\" im Widget\r\n  function stripDeutschland(root) {\r\n    root.querySelectorAll('h6.elementor-heading-title.elementor-size-default').forEach(function (h) {\r\n      if (h.textContent && h.textContent.trim().toLowerCase() === 'deutschland') {\r\n        \/\/ komplettes Heading-Widget rausnehmen, damit keine L\u00fccken bleiben\r\n        var widget = h.closest('.elementor-widget-heading') || h;\r\n        widget.remove();\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Sofort bei initialem DOM\r\n  stripDeutschland(grid);\r\n\r\n  \/\/ JetEngine l\u00e4dt Karten oft lazy nach: per MutationObserver nachziehen\r\n  var mo = new MutationObserver(function (mutations) {\r\n    mutations.forEach(function (m) {\r\n      m.addedNodes.forEach(function (n) {\r\n        if (n.nodeType === 1) stripDeutschland(n);\r\n      });\r\n    });\r\n  });\r\n  mo.observe(grid, { childList: true, subtree: true });\r\n})();\r\n<\/script>\r\n\r\n<style>\r\n\/* global (Theme\/Customizer oder WPCode) *\/\r\n.plz-source{display:none!important;}\r\n<\/style>\r\n\r\n<script>\r\n(function(){\r\n  function getLangLabel(){\r\n    const lang=(document.documentElement.getAttribute('lang')||'').toLowerCase();\r\n    \/\/ Deutsch \u2192 \"Postleitzahlenbereiche\", sonst englisch\r\n    return lang.startsWith('de') ? 'Postleitzahlenbereiche' : 'Postal code areas';\r\n  }\r\n\r\n  function parsePlz(raw){\r\n    if(!raw)return[];\r\n    return raw.split(',')\r\n      .map(s=>s.trim().replace(\/x\/gi,''))   \/\/ entfernt alle XXX\r\n      .filter(Boolean)\r\n      .map(t=>{\r\n        const m=t.match(\/(\\d{2})\/);\r\n        return m?m[1]:null;\r\n      })\r\n      .filter(Boolean)\r\n      .filter((v,i,a)=>a.indexOf(v)===i)\r\n      .sort((a,b)=>parseInt(a)-parseInt(b));\r\n  }\r\n\r\n  function makeBlock(codes){\r\n    const wrap=document.createElement('div');\r\n    wrap.className='plz-badge';\r\n    const label=document.createElement('div');\r\n    label.className='plz-badge__label';\r\n    label.textContent=getLangLabel()+':';\r\n    const group=document.createElement('div');\r\n    group.className='plz-chip-group';\r\n    codes.forEach(c=>{\r\n      const chip=document.createElement('span');\r\n      chip.className='plz-chip';\r\n      chip.textContent=c;\r\n      group.appendChild(chip);\r\n    });\r\n    wrap.append(label,group);\r\n    return wrap;\r\n  }\r\n\r\n  \/\/ >>>>> ERSETZT: robustere Insert-Logik\r\n  function insert(card){\r\n    if(!card||card.dataset.plzDone==='1')return;\r\n    const src=card.querySelector('.plz-source');\r\n    if(!src)return;\r\n    const codes=parsePlz(src.textContent);\r\n    if(!codes.length)return;\r\n\r\n    \/\/ Einf\u00fcge-Ziel suchen: Tel, sonst Mail, sonst letztes Heading\/Widget, sonst Karte\r\n    function findAnchor(){\r\n      let a = card.querySelector('a[href^=\"tel:\"]');\r\n      if(a) return a.closest('.elementor-widget') || a.closest('.elementor-widget-container') || a;\r\n\r\n      a = card.querySelector('a[href^=\"mailto:\"]');\r\n      if(a) return a.closest('.elementor-widget') || a.closest('.elementor-widget-container') || a;\r\n\r\n      const heads = card.querySelectorAll('.elementor-widget-heading');\r\n      if(heads.length) return heads[heads.length-1];\r\n\r\n      const widgets = card.querySelectorAll('.elementor-widget');\r\n      if(widgets.length) return widgets[widgets.length-1];\r\n\r\n      return card;\r\n    }\r\n\r\n    const target = findAnchor();\r\n    const block=makeBlock(codes);\r\n\r\n    if(target && target.parentNode){\r\n      target.parentNode.appendChild(block);\r\n    }else{\r\n      card.appendChild(block);\r\n    }\r\n    card.dataset.plzDone='1';\r\n  }\r\n  \/\/ <<<<< ERSETZT\r\n\r\n  function run(scope){\r\n    (scope||document).querySelectorAll('.plz-source').forEach(src=>{\r\n      const card=src.closest('.jet-listing-grid__item, .elementor-column, .elementor-widget-container')||src.parentElement;\r\n      insert(card);\r\n    });\r\n  }\r\n\r\n  document.addEventListener('DOMContentLoaded',()=>{\r\n    run(document);\r\n    new MutationObserver(muts=>{\r\n      muts.forEach(m=>{\r\n        m.addedNodes.forEach(n=>{\r\n          if(n.nodeType===1)run(n);\r\n        });\r\n      });\r\n    }).observe(document.body,{childList:true,subtree:true});\r\n  });\r\n})();\r\n<\/script>\r\n\r\n<!-- NEU: Andreas H\u00f6rning oberhalb des Ansprechpartner-Grids (\"Hero\") -->\r\n<script>\r\n(function () {\r\n  var GRID_SELECTOR = '#ansprechpartner-grid';\r\n  var NEEDLE = \/andreas h\u00f6rning|andreas\\.hoerning@mero\\.de\/i; \/\/ eindeutige Erkennung\r\n  var HERO_ID = 'vertriebsleiter-lead';\r\n\r\n  function promoteLeader(grid){\r\n    if (!grid) return false;\r\n\r\n    var itemsWrap = grid.querySelector('.jet-listing-grid__items') || grid;\r\n    var cards = itemsWrap.querySelectorAll('.jet-listing-grid__item');\r\n    if (!cards.length) return false;\r\n\r\n    var leader = null;\r\n    cards.forEach(function(card){\r\n      if (!leader && NEEDLE.test(card.textContent || '')) leader = card;\r\n    });\r\n    if (!leader) return false;\r\n\r\n    var host = document.getElementById(HERO_ID);\r\n    if (!host) {\r\n      host = document.createElement('div');\r\n      host.id = HERO_ID;\r\n      grid.parentNode.insertBefore(host, grid); \/\/ vor das Grid setzen\r\n    }\r\n\r\n    host.appendChild(leader); \/\/ verschieben (kein Klon)\r\n    return true;\r\n  }\r\n\r\n  function init(){\r\n    var grid = document.querySelector(GRID_SELECTOR);\r\n    if (!grid) return;\r\n\r\n    if (promoteLeader(grid)) return;\r\n\r\n    var mo = new MutationObserver(function(){\r\n      if (promoteLeader(grid)) mo.disconnect();\r\n    });\r\n    mo.observe(grid, {childList:true,subtree:true});\r\n  }\r\n\r\n  document.addEventListener('DOMContentLoaded', init);\r\n})();\r\n<\/script>\r\n\r\n<style>\r\n\/* ===========================================\r\n   Einheitlich f\u00fcr Ansprechpartner + Premiumpartner\r\n   (IDs: #ansprechpartner-grid, #deutschland-grid)\r\n   =========================================== *\/\r\n\r\n\/* Alles in den Karten zentrieren *\/\r\n#ansprechpartner-grid .elementor-widget-heading,\r\n#ansprechpartner-grid .elementor-widget-text-editor,\r\n#deutschland-grid .elementor-widget-heading,\r\n#deutschland-grid .elementor-widget-text-editor {\r\n  text-align: center;\r\n}\r\n\r\n\/* Namen halbfett *\/\r\n#ansprechpartner-grid .elementor-heading-title,\r\n#deutschland-grid .elementor-heading-title {\r\n  font-weight: 600 !important;\r\n}\r\n\r\n\/* Unterzeilen (z. B. B\u00fcro \u2026) sauberer Abstand *\/\r\n#ansprechpartner-grid .elementor-widget-text-editor p,\r\n#deutschland-grid .elementor-widget-text-editor p {\r\n  margin: .25em 0;\r\n  white-space: normal;\r\n}\r\n\r\n\/* ===========================================\r\n   PLZ-Badge an h6 (Tel.\/E-Mail) angleichen\r\n   =========================================== *\/\r\n#ansprechpartner-grid .plz-badge,\r\n#deutschland-grid .plz-badge {\r\n  font-size: var(--e-global-typography-h6-font-size, 18px);\r\n  line-height: var(--e-global-typography-h6-line-height, 1.4);\r\n  color: inherit;\r\n  text-align: center;\r\n  margin: 10px 0 6px;\r\n}\r\n\r\n\/* Label \u201ePostleitzahlenbereiche:\u201c \u2192 fett & gleiche Gr\u00f6\u00dfe wie h6 *\/\r\n#ansprechpartner-grid .plz-badge__label,\r\n#deutschland-grid .plz-badge__label {\r\n  display: block;\r\n  margin-bottom: 6px;\r\n  font-weight: 600 !important;\r\n  font-size: inherit;\r\n  line-height: inherit;\r\n  letter-spacing: .02em;\r\n}\r\n\r\n\/* Chip-Gruppe: zentriert *\/\r\n#ansprechpartner-grid .plz-chip-group,\r\n#deutschland-grid .plz-chip-group {\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  justify-content: center;\r\n  gap: 8px 10px;\r\n}\r\n\r\n\/* Einzelne Chips: gleich gro\u00df, fett *\/\r\n#ansprechpartner-grid .plz-chip,\r\n#deutschland-grid .plz-chip {\r\n  font-size: .95em;\r\n  font-weight: 600 !important;\r\n  line-height: 1.2;\r\n  padding: 6px 10px;\r\n  border: 1px solid currentColor;\r\n  border-radius: 999px;\r\n}\r\n\r\n\/* Optional: wenn Links standardm\u00e4\u00dfig unterstrichen sind, in Tel.\/E-Mail entfernen *\/\r\n#ansprechpartner-grid a[href^=\"tel:\"],\r\n#ansprechpartner-grid a[href^=\"mailto:\"],\r\n#deutschland-grid a[href^=\"tel:\"],\r\n#deutschland-grid a[href^=\"mailto:\"] {\r\n  text-decoration: none;\r\n}\r\n\r\n\/* Premiumpartner: gleiche Chip-Abst\u00e4nde wie Ansprechpartner *\/\r\n#deutschland-grid .plz-badge {\r\n  max-width: 440px;\r\n  margin-left: auto;\r\n  margin-right: auto;\r\n}\r\n#deutschland-grid .plz-chip-group {\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  justify-content: center;\r\n  gap: 6px;\r\n}\r\n\r\n\/* ===========================================\r\n   NEU: Tel \/ E-Mail \/ B\u00fcro-Zeilen semibold (600)\r\n   =========================================== *\/\r\n\r\n\/* Tel: & E-Mail (Headings) *\/\r\n#ansprechpartner-grid .elementor-widget-heading .elementor-heading-title,\r\n#ansprechpartner-grid .elementor-widget-heading a[href^=\"tel:\"],\r\n#ansprechpartner-grid .elementor-widget-heading a[href^=\"mailto:\"],\r\n#deutschland-grid .elementor-widget-heading .elementor-heading-title,\r\n#deutschland-grid .elementor-widget-heading a[href^=\"tel:\"],\r\n#deutschland-grid .elementor-widget-heading a[href^=\"mailto:\"] {\r\n  font-weight: 600 !important;\r\n}\r\n\r\n\/* B\u00fcro \/ Unterzeilen (Text-Editor-Widgets) *\/\r\n#ansprechpartner-grid .elementor-widget-text-editor p,\r\n#deutschland-grid .elementor-widget-text-editor p {\r\n  font-weight: 600 !important;\r\n}\r\n\r\n\/* PLZ-Chips bleiben normal *\/\r\n#ansprechpartner-grid .plz-chip,\r\n#deutschland-grid .plz-chip {\r\n  font-weight: 600 !important;\r\n}\r\n\r\n\/* Ansprechpartner & Premiumpartner \u2013 alle h6-Titel semibold *\/\r\n#ansprechpartner-grid h6.elementor-heading-title.elementor-size-default,\r\n#deutschland-grid h6.elementor-heading-title.elementor-size-default {\r\n  font-weight: 600 !important;\r\n}\r\n\r\n\/* ===========================================\r\n   HERO-Container f\u00fcr Vertriebsleiter (zentriert)\r\n   =========================================== *\/\r\n#vertriebsleiter-lead{\r\n  display:flex;\r\n  justify-content:center;\r\n  margin: 10px 0 24px;\r\n  text-align:center;\r\n}\r\n#vertriebsleiter-lead .jet-listing-grid__item{\r\n  display:block;\r\n  width:auto !important;\r\n  max-width: 420px;\r\n  margin: 0 auto;\r\n}\r\n<\/style>\r\n\r\n<script>\r\n(function () {\r\n  \/\/ --- Konfiguration pro Grid ---\r\n  var GRIDS = [\r\n    {\r\n      selector: '#ansprechpartner-grid',\r\n      pinNeedle: null \/\/ Andreas steht jetzt oberhalb \u2013 kein Pin mehr im Grid\r\n    },\r\n    {\r\n      selector: '#deutschland-grid',\r\n      pinNeedle: null\r\n    }\r\n  ];\r\n\r\n  \/\/ PLZ-Pr\u00e4fix aus Chips oder .plz-source extrahieren (zweistellig)\r\n  function getPlzPrefix(card) {\r\n    \/\/ 1) aus bereits gerenderten Chips nehmen\r\n    var chip = card.querySelector('.plz-chip');\r\n    if (chip) {\r\n      var t = (chip.textContent || '').trim().match(\/^(\\d{2})\/);\r\n      if (t) return parseInt(t[1], 10);\r\n    }\r\n\r\n    \/\/ 2) Fallback: aus .plz-source wie im bestehenden Badge-Script\r\n    var src = card.querySelector('.plz-source');\r\n    if (src) {\r\n      var raw = (src.textContent || '')\r\n        .split(',')\r\n        .map(function (s) { return s.trim().replace(\/x\/gi, ''); })\r\n        .filter(Boolean);\r\n\r\n      for (var i = 0; i < raw.length; i++) {\r\n        var m = raw[i].match(\/(\\d{2})\/);\r\n        if (m) return parseInt(m[1], 10);\r\n      }\r\n    }\r\n\r\n    \/\/ Karten ohne PLZ ans Ende\r\n    return Number.POSITIVE_INFINITY;\r\n  }\r\n\r\n  \/\/ Namen f\u00fcr Tie-Breaker (alphabetisch) holen\r\n  function getName(card) {\r\n    var h = card.querySelector('.elementor-heading-title');\r\n    return (h && h.textContent ? h.textContent : '').trim().toLowerCase();\r\n  }\r\n\r\n  \/\/ Sortierung anwenden (fix: keine Iteration \u00fcber live NodeLists)\r\n  function sortGrid(gridEl, pinNeedle) {\r\n    if (!gridEl) return;\r\n\r\n    \/\/ JetEngine Wrapper finden\r\n    var itemsWrap = gridEl.querySelector('.jet-listing-grid__items') || gridEl;\r\n    var items = Array.prototype.slice.call(\r\n      itemsWrap.querySelectorAll('.jet-listing-grid__item')\r\n    );\r\n    if (!items.length) return;\r\n\r\n    \/\/ ggf. den zu pinnenden Ansprechpartner merken\r\n    var pinned = null;\r\n    if (pinNeedle) {\r\n      for (var i = 0; i < items.length; i++) {\r\n        if (pinNeedle.test(items[i].textContent || '')) {\r\n          pinned = items[i];\r\n          break;\r\n        }\r\n      }\r\n    }\r\n\r\n    \/\/ Sortierschl\u00fcssel vorbereiten\r\n    var keyed = items.map(function (el, idx) {\r\n      return {\r\n        el: el,\r\n        plz: getPlzPrefix(el),\r\n        name: getName(el),\r\n        idx: idx \/\/ Stabilit\u00e4t\r\n      };\r\n    });\r\n\r\n    \/\/ Sortieren: erst PLZ, dann Name, dann Originalindex\r\n    keyed.sort(function (a, b) {\r\n      if (a.plz !== b.plz) return a.plz - b.plz;\r\n      if (a.name !== b.name) return a.name < b.name ? -1 : 1;\r\n      return a.idx - b.idx;\r\n    });\r\n\r\n    \/\/ Geordnete statische Liste der Elemente\r\n    var ordered = keyed.map(function (k) { return k.el; });\r\n\r\n    \/\/ Falls pin definiert & vorhanden \u2192 ganz nach vorne setzen (ohne Duplikat)\r\n    if (pinned) {\r\n      ordered = ordered.filter(function (el) { return el !== pinned; });\r\n      ordered.unshift(pinned);\r\n    }\r\n\r\n    \/\/ In einem Rutsch neu einh\u00e4ngen (kein Iterieren \u00fcber frag.childNodes!)\r\n    var frag = document.createDocumentFragment();\r\n    for (var k = 0; k < ordered.length; k++) {\r\n      frag.appendChild(ordered[k]);\r\n    }\r\n    itemsWrap.appendChild(frag);\r\n  }\r\n\r\n  \/\/ Initialisierung + Beobachtung (f\u00fcr Lazy\/Nachladen)\r\n  function initFor(selector, pinNeedle) {\r\n    var grid = document.querySelector(selector);\r\n    if (!grid) return;\r\n\r\n    var schedule = function () {\r\n      \/\/ warten bis die .plz-chip\/.plz-source vorhanden sind\r\n      sortGrid(grid, pinNeedle);\r\n    };\r\n\r\n    \/\/ initial nach DOM ready + kleiner Delay (Elementor\/JetEngine)\r\n    setTimeout(schedule, 0);\r\n    setTimeout(schedule, 200);\r\n\r\n    \/\/ bei sp\u00e4teren DOM-\u00c4nderungen erneut sortieren\r\n    var mo = new MutationObserver(function (muts) {\r\n      var relevant = muts.some(function (m) {\r\n        return Array.prototype.some.call(m.addedNodes, function (n) {\r\n          return n.nodeType === 1;\r\n        });\r\n      });\r\n      if (relevant) setTimeout(schedule, 50);\r\n    });\r\n    mo.observe(grid, { childList: true, subtree: true });\r\n  }\r\n\r\n  document.addEventListener('DOMContentLoaded', function () {\r\n    GRIDS.forEach(function (cfg) {\r\n      initFor(cfg.selector, cfg.pinNeedle);\r\n    });\r\n  });\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Floor systems Request now Request now Contacts &#8211; Germany Premium partners &#8211; Germany<\/p>\n","protected":false},"author":10,"featured_media":0,"parent":3669,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-6736","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mero.de\/en\/wp-json\/wp\/v2\/pages\/6736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mero.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mero.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mero.de\/en\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/mero.de\/en\/wp-json\/wp\/v2\/comments?post=6736"}],"version-history":[{"count":0,"href":"https:\/\/mero.de\/en\/wp-json\/wp\/v2\/pages\/6736\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/mero.de\/en\/wp-json\/wp\/v2\/pages\/3669"}],"wp:attachment":[{"href":"https:\/\/mero.de\/en\/wp-json\/wp\/v2\/media?parent=6736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}