{"id":584,"date":"2026-11-03T09:25:47","date_gmt":"2026-11-03T09:25:47","guid":{"rendered":"https:\/\/yohann.shop\/dsgvo-datenschutzanfragen\/"},"modified":"2026-11-03T09:25:47","modified_gmt":"2026-11-03T09:25:47","slug":"dsgvo-datenschutzanfragen","status":"publish","type":"page","link":"https:\/\/yohann.shop\/de\/dsgvo-datenschutzanfragen\/","title":{"rendered":"DSGVO-Datenschutzanfragen"},"content":{"rendered":"<style>\n    #form-gdpr-access-data-request,\n    #form-gdpr-correct-info-request,\n    #form-gdpr-delete-data-request {\n        display: none;\n    }\n    #gdpr_page button {\n      background-color: transparent;\n      border: 0;\n      border-bottom: 1px solid black;\n      padding: 0px;\n    }\n\n    \/* Modal background *\/\n    #data-verification-background {\n      display: none;\n      position: fixed;\n      z-index: 1;\n      padding: 24px 16px;\n      left: 0;\n      top: 0;\n      width: 100%;\n      height: 100%;\n      overflow: auto;\n      background-color: rgb(0,0,0);\n      background-color: rgba(15, 23, 42, 0.5);\n      opacity: unset;\n      z-index: 9999;\n      align-items: center;\n      justify-content: center;\n    }\n    \/* Modal Content *\/\n    #data-verification-modal {\n      background-color: #fefefe;\n      margin: 0;\n      padding: 20px 22px;\n      border: 1px solid #d0d7de;\n      border-radius: 14px;\n      box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22);\n      width: min(100%, 620px);\n      max-height: calc(100vh - 48px);\n      overflow-y: auto;\n      opacity: 1;\n    }\n    \/* Modal Close Button *\/\n   .data-verification-close {\n      color: #4b5563;\n      float: right;\n      font-size: 24px;\n      font-weight: 500;\n      line-height: 22px;\n      background-color: transparent;\n      border: 0;\n      width: 30px;\n      height: 30px;\n      border-radius: 8px;\n      padding: 0;\n      transition: background-color 0.2s ease, color 0.2s ease;\n    }\n   .data-verification-close:hover {\n      color: #111827;\n      background-color: #f3f4f6;\n      text-decoration: none;\n      cursor: pointer;\n    }\n    \/* Checkbox Text *\/\n    #data-verification-container {\n      display: flex;\n      align-items: flex-start;\n      gap: 12px;\n      margin-top: 8px;\n    }\n    #data-verification-container p {\n      display: block;\n      padding: 0;\n      margin: 0;\n      line-height: 1.5;\n      font-size: 15px;\n      color: #1f2937;\n      width: auto;\n    }\n    #data-verification-container a, #data-verification-container a:hover{\n      text-decoration: underline !important;\n      color: #2563eb;\n      font-weight: 600;\n    }\n    #data-verification-container input {\n      opacity: 0;\n      width: 0;\n      height: 0;\n      margin: 0;\n      padding: 0;\n    }\n    \/* Checkbox Icon *\/\n    #data-verification-icon {\n      cursor: pointer;\n      position: relative;\n      margin: 2px 0 0;\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      width: 24px;\n      height: 24px;\n      -webkit-tap-highlight-color: transparent;\n      transform: translate3d(0, 0, 0);\n      flex: 0 0 24px;\n    }\n    #data-verification-icon:before {\n      content: \"\";\n      position: absolute;\n      top: -7px;\n      left: -7px;\n      width: 32px;\n      height: 32px;\n      border-radius: 50%;\n      background: rgba(34,50,84,0.03);\n      opacity: 0;\n      transition: opacity 0.2s ease;\n    }\n    #data-verification-icon svg {\n      position: relative;\n      z-index: 1;\n      fill: none;\n      stroke-linecap: round;\n      stroke-linejoin: round;\n      stroke: #94a3b8;\n      stroke-width: 1.5;\n      transform: translate3d(0, 0, 0);\n      transition: all 0.2s ease;\n    }\n    #data-verification-icon svg path {\n      stroke-dasharray: 60;\n      stroke-dashoffset: 0;\n    }\n    #data-verification-icon svg polyline {\n      stroke-dasharray: 22;\n      stroke-dashoffset: 66;\n    }\n    #data-verification-icon:hover:before {\n      opacity: 1;\n    }\n    #data-verification-container:hover #data-verification-icon svg {\n      stroke: #2563eb;\n    }\n    #data-verification-icon.clicked svg {\n      stroke: #2563eb;\n    }\n    #data-verification-icon.clicked svg path {\n      stroke-dashoffset: 60;\n      transition: all 0.3s linear;\n    }\n    #data-verification-icon.clicked svg polyline {\n      stroke-dashoffset: 42;\n      transition: all 0.2s linear;\n      transition-delay: 0.15s;\n    }\n\n    \/* Accessibility design *\/\n    #data-verification-icon:focus,.data-verification-close:focus, #data-verification-container input:focus ~ #data-verification-icon svg, #data-verification-container a:focus {\n      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.28);\n      transition: all 0.3s ease;\n      outline: none;\n      transform: scale(1.06);\n    }\n\n    \/* Loading Element *\/\n   .loading {\n        display: none;\n        top:50vh;\n        left:50vw;\n        position:fixed;\n    }\n   .loading:not(:required):after {\n      content: '';\n      display: block;\n      font-size: 10px;\n      width: 1em;\n      height: 1em;\n      margin-top: -0.5em;\n      -webkit-animation: spinner 1500ms infinite linear;\n      -moz-animation: spinner 1500ms infinite linear;\n      -ms-animation: spinner 1500ms infinite linear;\n      -o-animation: spinner 1500ms infinite linear;\n      animation: spinner 1500ms infinite linear;\n      border-radius: 0.5em;\n      -webkit-box-shadow: rgba(255,255,255, 1) 1.5em 0 0 0, rgba(255,255,255, 1) 1.1em 1.1em 0 0, rgba(255,255,255, 1) 0 1.5em 0 0, rgba(255,255,255, 1) -1.1em 1.1em 0 0, rgba(255,255,255, 1) -1.5em 0 0 0, rgba(255,255,255, 1) -1.1em -1.1em 0 0, rgba(255,255,255, 1) 0 -1.5em 0 0, rgba(255,255,255, 1) 1.1em -1.1em 0 0;\n      box-shadow: rgba(255,255,255, 1) 1.5em 0 0 0, rgba(255,255,255, 1) 1.1em 1.1em 0 0, rgba(255,255,255, 1) 0 1.5em 0 0, rgba(255,255,255, 1) -1.1em 1.1em 0 0, rgba(255,255,255, 1) -1.5em 0 0 0, rgba(255,255,255, 1) -1.1em -1.1em 0 0, rgba(255,255,255, 1) 0 -1.5em 0 0, rgba(255,255,255, 1) 1.1em -1.1em 0 0;\n    }\n    #gdpr_page.list-unstyled li button {\n      cursor: pointer;\n    }\n    #gdpr_page.form-gdpr-request form label {\n      display: block;\n      margin-bottom: 10px;\n      font-weight: 600;\n    }\n    #gdpr_page.form-gdpr-request form input[type=\"email\"] {\n      display: inline-block;\n      width: 100%;\n      max-width: 420px;\n      padding: 12px 14px;\n      margin: 0 10px 12px 0;\n      border: 1px solid #d0d7de;\n      border-radius: 10px;\n      font-size: 16px;\n      line-height: 1.4;\n      box-sizing: border-box;\n      vertical-align: middle;\n      transition: border-color 0.2s ease, box-shadow 0.2s ease;\n      background-color: #fff;\n      color: #1f2328;\n    }\n    #gdpr_page.form-gdpr-request form input[type=\"email\"]:focus {\n      border-color: #4c8bf5;\n      box-shadow: 0 0 0 3px rgba(76, 139, 245, 0.2);\n      outline: none;\n    }\n    #gdpr_page.form-gdpr-request form input[type=\"submit\"] {\n      display: inline-block;\n      min-height: 42px;\n      padding: 10px 18px;\n      margin-bottom: 12px;\n      border: 0;\n      border-radius: 10px;\n      background-color: #111827;\n      color: #fff;\n      font-size: 15px;\n      font-weight: 600;\n      line-height: 1;\n      cursor: pointer;\n      vertical-align: middle;\n      transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;\n    }\n    #gdpr_page.form-gdpr-request form input[type=\"submit\"]:hover {\n      background-color: #1f2937;\n      transform: translateY(-1px);\n    }\n    #gdpr_page.form-gdpr-request form input[type=\"submit\"]:focus {\n      box-shadow: 0 0 0 3px rgba(76, 139, 245, 0.25);\n      outline: none;\n    }\n    #gdpr_page.form-gdpr-request form input[type=\"button\"].btn,\n    #gdpr_page.form-gdpr-request form button.btn {\n      display: inline-block;\n      margin-top: 8px;\n      margin-bottom: 12px;\n      padding: 10px 18px;\n      font-size: 14px;\n      font-weight: 600;\n      color: #fff;\n      background-color: #111827;\n      border: none;\n      border-radius: 8px;\n      cursor: pointer;\n      line-height: 1;\n      vertical-align: middle;\n      transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;\n    }\n    #gdpr_page.form-gdpr-request form input[type=\"button\"].btn:hover,\n    #gdpr_page.form-gdpr-request form button.btn:hover {\n      background-color: #1f2937;\n      transform: translateY(-1px);\n    }\n    #gdpr_page.form-gdpr-request form input[type=\"button\"].btn:focus,\n    #gdpr_page.form-gdpr-request form button.btn:focus {\n      box-shadow: 0 0 0 3px rgba(76, 139, 245, 0.25);\n      outline: none;\n    }\n    #gdpr_page.form-gdpr-request form input[type=\"button\"].btn:disabled,\n    #gdpr_page.form-gdpr-request form button.btn:disabled {\n      opacity: 0.65;\n      cursor: not-allowed;\n      transform: none;\n    }\n    #gdpr_page.form-gdpr-request form.gdpr-request-success {\n      display: block;\n      margin: 0 0 12px;\n      color: #15803d;\n      font-size: 14px;\n      line-height: 1.4;\n      font-weight: 600;\n    }\n    #gdpr_page.form-gdpr-request form.gdpr-request-error {\n      display: block;\n      margin: 0 0 12px;\n      color: #b91c1c;\n      font-size: 14px;\n      line-height: 1.4;\n      font-weight: 600;\n    }\n   .show-isense {\n      transition: opacity 400ms !important;\n    }\n   .hide-isense {\n      opacity: 0 !important;\n      transition: 0.4s ease-out;\n    }\n\n    \/* Modal changes on mobile resolution*\/\n    @media only screen and (max-width: 600px) {\n      #data-verification-modal {\n        width: 100%;\n        padding: 16px;\n      }\n    }\n\n    \/* Animation *\/\n    @-webkit-keyframes spinner {\n      0% {\n        -webkit-transform: rotate(0deg);\n        -moz-transform: rotate(0deg);\n        -ms-transform: rotate(0deg);\n        -o-transform: rotate(0deg);\n        transform: rotate(0deg);\n      }\n      100% {\n        -webkit-transform: rotate(360deg);\n        -moz-transform: rotate(360deg);\n        -ms-transform: rotate(360deg);\n        -o-transform: rotate(360deg);\n        transform: rotate(360deg);\n      }\n    }\n    @-moz-keyframes spinner {\n      0% {\n        -webkit-transform: rotate(0deg);\n        -moz-transform: rotate(0deg);\n        -ms-transform: rotate(0deg);\n        -o-transform: rotate(0deg);\n        transform: rotate(0deg);\n      }\n      100% {\n        -webkit-transform: rotate(360deg);\n        -moz-transform: rotate(360deg);\n        -ms-transform: rotate(360deg);\n        -o-transform: rotate(360deg);\n        transform: rotate(360deg);\n      }\n    }\n    @-o-keyframes spinner {\n      0% {\n        -webkit-transform: rotate(0deg);\n        -moz-transform: rotate(0deg);\n        -ms-transform: rotate(0deg);\n        -o-transform: rotate(0deg);\n        transform: rotate(0deg);\n      }\n      100% {\n        -webkit-transform: rotate(360deg);\n        -moz-transform: rotate(360deg);\n        -ms-transform: rotate(360deg);\n        -o-transform: rotate(360deg);\n        transform: rotate(360deg);\n      }\n    }\n    @keyframes spinner {\n      0% {\n        -webkit-transform: rotate(0deg);\n        -moz-transform: rotate(0deg);\n        -ms-transform: rotate(0deg);\n        -o-transform: rotate(0deg);\n        transform: rotate(0deg);\n      }\n      100% {\n        -webkit-transform: rotate(360deg);\n        -moz-transform: rotate(360deg);\n        -ms-transform: rotate(360deg);\n        -o-transform: rotate(360deg);\n        transform: rotate(360deg);\n      }\n    }\n<\/style><div id=\"gdpr_page\" class=\"col-sm-12\"><div><p><strong>Wir respektieren Ihre Privatsph\u00e4re.<\/strong> Wenn Sie im Europ\u00e4ischen Wirtschaftsraum (EWR) ans\u00e4ssig sind, haben Sie bestimmte Rechte gem\u00e4\u00df der Datenschutz-Grundverordnung (DSGVO). Nutzen Sie die folgenden Optionen, um Ihre Rechte bez\u00fcglich Ihrer bei uns gespeicherten personenbezogenen Daten auszu\u00fcben.<\/p><\/div><p><strong>Wie wir Ihre Anfrage bearbeiten:<\/strong> Wenn Sie \u00fcber diese Seite eine Anfrage stellen, verarbeitet unser Compliance-Anbieter <strong>(Consentmo)<\/strong> Ihre E-Mail-Adresse und technische Informationen (wie z. B. Ihre IP-Adresse) ausschlie\u00dflich zur \u00dcberpr\u00fcfung und Bearbeitung Ihrer Anfrage, zur Verhinderung von Missbrauch und zur Dokumentation der Einhaltung der Datenschutzbestimmungen. Weitere Informationen finden Sie in <a href=\"https:\/\/www.consentmo.com\/end-user-dpa\" target=\"_blank\" aria-label=\"Consentmo's Data Processing Policy (opens in a new tab)\">der Datenschutzrichtlinie von Consentmo<\/a>.<\/p><br><h2> Auf meine Daten zugreifen oder sie herunterladen<\/h2><p> Sie k\u00f6nnen eine Kopie Ihrer bei uns gespeicherten personenbezogenen Daten anfordern, einschlie\u00dflich Kontodaten und Bestellhistorie. Sie k\u00f6nnen Ihre Daten in einem g\u00e4ngigen Format (CSV oder PDF) anfordern. <\/p><ul id=\"gdpr_access_data_compliance_requests\" class=\"gdpr-compliance-requests list-unstyled\"><li> <button id=\"btn-gdpr-access-data-request\" aria-label=\"Request my data\" aria-controls=\"form-gdpr-access-data-request\" aria-expanded=\"false\">Meine Daten anfordern<\/button><\/li><\/ul><div id=\"form-gdpr-access-data-request\" class=\"form-gdpr-request\"><form> <label for=\"form-gdpr-access-data-request-email\">Geben Sie Ihre E-Mail-Adresse ein, um Ihre Identit\u00e4t zu best\u00e4tigen.<\/label> <input type=\"email\" name=\"email\" id=\"form-gdpr-access-data-request-email\" placeholder=\"example@email.com\" autocomplete=\"email\" autocorrect=\"off\" autocapitalize=\"off\" autofocus=\"\"><input type=\"submit\" id=\"form-gdpr-access-data-request-submit\" class=\"btn\" value=\"Einreichen\"><\/form><\/div><p> <em>Bearbeitungszeit: Wir antworten innerhalb eines Monats. Sollte Ihre Anfrage komplex sein, behalten wir uns vor, diese Frist im gesetzlich zul\u00e4ssigen Rahmen zu verl\u00e4ngern und werden Sie dar\u00fcber informieren.<\/em><\/p><br><h2> Korrigieren Sie meine Angaben.<\/h2><p> Wenn Sie der Meinung sind, dass Ihre pers\u00f6nlichen Daten ungenau oder unvollst\u00e4ndig sind (z. B. eine falsche Lieferadresse oder ein falsch geschriebener Name), k\u00f6nnen Sie diese hier aktualisieren. <\/p><ul id=\"gdpr_correct_info_compliance_requests\" class=\"gdpr-compliance-requests list-unstyled\"><li> <button id=\"btn-gdpr-correct-info-request\" aria-label=\"Correct my information\" aria-controls=\"form-gdpr-correct-info-request\" aria-expanded=\"false\">Korrigieren Sie meine Angaben.<\/button><\/li><\/ul><div id=\"form-gdpr-correct-info-request\" class=\"form-gdpr-request\"><form> <label for=\"form-gdpr-correct-info-request-email\">Geben Sie Ihre E-Mail-Adresse ein, um Ihre Identit\u00e4t zu best\u00e4tigen.<\/label> <input type=\"email\" name=\"email\" id=\"form-gdpr-correct-info-request-email\" placeholder=\"example@email.com\" autocomplete=\"email\" autocorrect=\"off\" autocapitalize=\"off\" autofocus=\"\"><input type=\"submit\" id=\"form-gdpr-correct-info-request-submit\" class=\"btn\" value=\"Einreichen\"><\/form><\/div><br><h2> Meine Daten l\u00f6schen<\/h2><p> Sie k\u00f6nnen die L\u00f6schung Ihrer mit diesem Gesch\u00e4ft verbundenen personenbezogenen Daten beantragen (auch bekannt als \u201eRecht auf Vergessenwerden\u201c). <\/p><ul id=\"gdpr_delete_data_compliance_requests\" class=\"gdpr-compliance-requests list-unstyled\"><li> <button id=\"btn-gdpr-delete-data-request\" aria-label=\"Request deletion\" aria-controls=\"form-gdpr-delete-data-request\" aria-expanded=\"false\">L\u00f6schung beantragen<\/button><\/li><\/ul><div id=\"form-gdpr-delete-data-request\" class=\"form-gdpr-request\"><form><label for=\"form-gdpr-delete-data-request-email\">Geben Sie Ihre E-Mail-Adresse ein, um Ihre Identit\u00e4t zu best\u00e4tigen.<\/label> <input type=\"email\" name=\"email\" id=\"form-gdpr-delete-data-request-email\" placeholder=\"example@email.com\" autocomplete=\"email\" autocorrect=\"off\" autocapitalize=\"off\" autofocus=\"\"><input type=\"submit\" class=\"btn\" id=\"form-gdpr-delete-data-request-submit\" value=\"Einreichen\"><\/form><\/div><p> <em>Wichtig: Einige Informationen k\u00f6nnen aufbewahrt werden, wenn dies gesetzlich vorgeschrieben ist oder f\u00fcr legitime Zwecke erforderlich ist (z. B. Steuern, Betrugspr\u00e4vention und Sicherheit).<\/em><\/p><br><h2> Datenschutzeinstellungen verwalten<\/h2><p> Sie k\u00f6nnen Ihre Nutzererfahrung individuell anpassen, indem Sie genau ausw\u00e4hlen, welche Cookies und Technologien wir verwenden d\u00fcrfen (z. B. Analyse-Cookies aktivieren, Marketing-Cookies deaktivieren). Diese Einstellungen k\u00f6nnen Sie jederzeit \u00e4ndern. <\/p><ul id=\"gdpr_manage_privacy_preferences_compliance_requests\" class=\"gdpr-compliance-requests list-unstyled\"><li> <button id=\"btn-gdpr-manage-privacy-preferences\" aria-label=\"Update Cookie Settings\">Cookie-Einstellungen aktualisieren<\/button><\/li><\/ul><br><h2> Einwilligung widerrufen<\/h2><p> Sie haben jederzeit das Recht, Ihre Einwilligung zur Nutzung von Tracking-Technologien durch Shopify f\u00fcr Marketingzwecke zu widerrufen. Dies gilt f\u00fcr Ihre zuk\u00fcnftige Nutzung unseres Shops und beendet die Datenerfassung f\u00fcr optionale Zwecke. <\/p><div id=\"form-gdpr-withdraw-consent-request\" class=\"form-gdpr-request\"><form action=\"#\" onsubmit=\"return false;\"><div id=\"gdpr-withdraw-email-wrap\" class=\"gdpr-instant-email-wrap\" style=\"display: none; margin-bottom: 12px;\"> <label for=\"gdpr-withdraw-email\">Geben Sie Ihre E-Mail-Adresse ein, um Ihre Anfrage zu identifizieren.<\/label> <input type=\"email\" id=\"gdpr-withdraw-email\" placeholder=\"example@email.com\" autocomplete=\"email\" style=\"display: block; width: 100%; max-width: 400px; margin-top: 6px;\"><p id=\"gdpr-withdraw-email-error\" class=\"gdpr-request-error\" role=\"alert\" style=\"display: none;\"><\/p><\/div><input type=\"button\" class=\"btn\" id=\"form-gdpr-withdraw-consent-request-submit\" value=\"Withdraw consent\" aria-label=\"Withdraw consent and disable optional tracking\"><p id=\"gdpr-withdraw-success\" class=\"gdpr-request-success\" role=\"status\" aria-live=\"polite\" style=\"display: none;\"><\/p><p id=\"gdpr-withdraw-error\" class=\"gdpr-request-error\" role=\"alert\" aria-live=\"polite\" style=\"display: none;\"><\/p><\/form><\/div><br><h2> Einschr\u00e4nkung oder Widerspruch gegen die Verarbeitung<\/h2><p> Sie k\u00f6nnen verlangen, dass wir die Verarbeitung Ihrer personenbezogenen Daten einschr\u00e4nken oder bestimmten Verarbeitungst\u00e4tigkeiten widersprechen (z. B. Direktmarketing oder Verarbeitung aufgrund berechtigter Interessen).<\/p><p> Um diese Rechte auszu\u00fcben, kontaktieren Sie uns bitte unter:<\/p><p> \ud83d\udce7 info@yohann.com<\/p><br><h2> Kontaktinformationen<\/h2><p> Bei Fragen zu Ihren Datenschutzrechten oder dieser Seite wenden Sie sich bitte an:<\/p><p> <strong>E-Mail:<\/strong> info@yohann.com<\/p><p> <strong>Adresse:<\/strong> Schwarzwaldstra\u00dfe 61, 79539 L\u00f6rrach, Deutschland<\/p><br><h2> Beschwerde einreichen<\/h2><p> Wenn Sie der Meinung sind, dass wir Ihre Anliegen nicht angemessen ber\u00fccksichtigt haben, haben Sie das Recht, eine Beschwerde bei Ihrer nationalen Datenschutzbeh\u00f6rde (DSB) einzureichen.<\/p><\/div><script>window.__CONSENTMO_CUSTOMER_IDENTIFICATION={\"withdraw_consent\":false,\"do_not_sell\":false,\"limit_use\":false};window.__CONSENTMO_CUSTOMER_IDENTIFICATION_I18N={\"invalidEmail\":\"Please enter a valid email address.\",\"emailLabelIdentify\":\"Enter your email to identify your request\"};<\/script><script src=\"https:\/\/cdn.consentmo.com\/js\/privacy_customer_identification.js?v=1789549329\"><\/script><script>\n\n     \/* SLIDE UP *\/\n     let slideUp = (target, duration=500) => {\n        target.style.transitionProperty = 'height, margin, padding';\n        target.style.transitionDuration = duration + 'ms';\n        target.style.boxSizing = 'border-box';\n        target.style.height = target.offsetHeight + 'px';\n        target.offsetHeight;\n        target.style.overflow = 'hidden';\n        target.style.height = 0;\n        target.style.paddingTop = 0;\n        target.style.paddingBottom = 0;\n        target.style.marginTop = 0;\n        target.style.marginBottom = 0;\n        window.setTimeout( () => {\n            target.style.display = 'none';\n            target.style.removeProperty('height');\n            target.style.removeProperty('padding-top');\n            target.style.removeProperty('padding-bottom');\n            target.style.removeProperty('margin-top');\n            target.style.removeProperty('margin-bottom');\n            target.style.removeProperty('overflow');\n            target.style.removeProperty('transition-duration');\n            target.style.removeProperty('transition-property');\n        }, duration);\n    }\n\n    \/* SLIDE DOWN *\/\n    let slideDown = (target, duration=500) => {\n      setTimeout(function(){\n        target.style.removeProperty('display');\n        let display = window.getComputedStyle(target).display;\n        if (display === 'none') display = 'block';\n\n          target.style.display = display;\n          \n          let height = target.offsetHeight;\n          \n          target.style.overflow = 'hidden';\n          target.style.height = 0;\n          target.style.paddingTop = 0;\n          target.style.paddingBottom = 0;\n          target.style.marginTop = 0;\n          target.style.marginBottom = 0;\n          target.offsetHeight;\n          target.style.boxSizing = 'border-box';\n          target.style.transitionProperty = \"height, margin, padding\";\n          target.style.transitionDuration = duration + 'ms';\n          target.style.height = height + 'px';\n\n          target.style.removeProperty('padding-top');\n          target.style.removeProperty('padding-bottom');\n          target.style.removeProperty('margin-top');\n          target.style.removeProperty('margin-bottom');\n          \n          window.setTimeout( () => {\n              target.style.removeProperty('height');\n              target.style.removeProperty('overflow');\n              target.style.removeProperty('transition-duration');\n              target.style.removeProperty('transition-property');\n          }, duration);\n       }, 100)\n    }\n\n    \/* TOOGLE *\/\n    var slideToggle = (target, duration = 500) => {\n        if (window.getComputedStyle(target).display === 'none') {\n            return slideDown(target, duration);\n        } else {\n            return slideUp(target, duration);\n        }\n    }\n\n    \/* FADE *\/\n    var toggleFadeiSense = (elem, show) => {\n        if (show) {\n            elem.style.display = elem.id === 'data-verification-background' ? 'flex' : 'block';\n            setTimeout(function(){\n                elem.classList.add('show-isense');\n                elem.classList.remove('hide-isense');\n            },20)\n        } else {\n            elem.classList.remove('show-isense');\n            elem.classList.add('hide-isense');\n            setTimeout(() => {\n                elem.style.display = 'none';\n            }, 400)\n        }\n    }\n\n    var gdprSlideUpAll = function() {\n        slideUp(document.querySelector('#form-gdpr-access-data-request'), 100);\n        if(document.querySelector('#btn-gdpr-access-data-request')) document.querySelector('#btn-gdpr-access-data-request').setAttribute(\"aria-expanded\", \"false\");\n        slideUp(document.querySelector('#form-gdpr-correct-info-request'), 100);\n        if(document.querySelector('#btn-gdpr-correct-info-request')) document.querySelector('#btn-gdpr-correct-info-request').setAttribute(\"aria-expanded\", \"false\");\n        slideUp(document.querySelector('#form-gdpr-delete-data-request'), 100);\n        if(document.querySelector('#btn-gdpr-delete-data-request')) document.querySelector('#btn-gdpr-delete-data-request').setAttribute(\"aria-expanded\", \"false\");\n        if(document.querySelector('#gdpr_page button')) document.querySelector('#gdpr_page button').setAttribute(\"aria-expanded\", \"false\");\n    };\n\n    \/** Instant withdraw consent: same as cookie banner Reject (deny + consent record). *\/\n    (function() {\n        var WITHDRAW_SUCCESS_MSG = 'Your consent has been withdrawn. All optional tracking has been disabled for this browser.';\n        var GEO_PRIMARY = 'https:\/\/wekre6r5lsxxzzbnlltsbyfm6i0dcqrs.lambda-url.eu-central-1.on.aws';\n        var GEO_FALLBACK = 'https:\/\/workers.consentmo.com\/action\/geo';\n        var CONSENT_PRIMARY = 'https:\/\/4nbp277fevb5pvm2ditk5w6swe0biflq.lambda-url.eu-central-1.on.aws';\n        var CONSENT_FALLBACK = 'https:\/\/workers.consentmo.com\/action\/consent';\n\n        function getDeviceTypeInline() {\n            var ua = navigator.userAgent || '';\n            if (\/(tablet|ipad|playbook|silk)|(android(?!.*mobi))\/i.test(ua)) return 't';\n            if (\/Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)\/.test(ua)) return 'm';\n            return 'd';\n        }\n\n        function int2ip(ipInt) {\n            return ((ipInt >>> 24) + '.' + ((ipInt >> 16) & 255) + '.' + ((ipInt >> 8) & 255) + '.' + (ipInt & 255));\n        }\n\n        function setConsentCookie(name, value, days) {\n            var expires = '';\n            if (days) {\n                var date = new Date();\n                date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n                expires = '; expires=' + date.toUTCString();\n            }\n            var secure = location.protocol === 'https:' ? '; Secure' : '';\n            document.cookie = name + '=' + encodeURIComponent(value || '') + expires + '; path=\/; SameSite=Lax' + secure;\n        }\n\n        function expireCookie(name) {\n            document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=\/';\n            var host = location.hostname;\n            if (host) {\n                document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=\/; domain=' + host;\n                var parts = host.split('.');\n                if (parts.length >= 2) {\n                    document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=\/; domain=.' + parts.slice(-2).join('.');\n                }\n            }\n        }\n\n        function clearCategoryFromSettings(settings, cat) {\n            if (!settings) return;\n            var raw = settings[cat + '_cookies'] || '';\n            raw.split('n').map(function(c) { return c.trim(); }).filter(Boolean).forEach(function(n) { expireCookie(n); });\n            if (cat === 'marketing' && settings.youtube_iframe_options && settings.youtube_iframe_options.enabled) {\n                ['VISITOR_INFO1_LIVE', 'YSC', 'SOCS', '__Secure-3PSID', '__Secure-1PSID'].forEach(expireCookie);\n            }\n        }\n\n        function parseGdprSettings() {\n            var out = {\n                cookieName: '',\n                consentDuration: 365,\n                paUsrId: 0,\n                saleRegion: false,\n                manageSale: '',\n                saleCheckbox: '',\n                saleText: '',\n                settings: null\n            };\n            try {\n                var raw = localStorage.getItem('gdprCache');\n                if (!raw) return out;\n                var cache = JSON.parse(raw);\n                out.saleRegion = !!cache.userIsInSaleOfDataRegion;\n                if (cache.getCookieConsentSettings) {\n                    var s = JSON.parse(cache.getCookieConsentSettings);\n                    out.settings = s;\n                    out.cookieName = s.cookie_name != null ? String(s.cookie_name) : '';\n                    out.consentDuration = parseInt(s.consent_duration, 10) || 365;\n                    out.paUsrId = parseInt(s.pa_usr_id, 10) || 0;\n                    out.manageSale = String(s.manage_sale_of_data || '');\n                    out.saleCheckbox = String(s.sale_of_data_checkbox || '');\n                    out.saleText = String(s.sale_of_data_text || '');\n                }\n            } catch (e) {}\n            return out;\n        }\n\n        function userInSalesRegionFromParsed(parsed) {\n            return !!(parsed && parsed.saleRegion && parsed.manageSale === '1' && parsed.saleText && parsed.saleCheckbox);\n        }\n\n        function appendGdprCache(key, val) {\n            try {\n                var g = JSON.parse(localStorage.getItem('gdprCache') || '{}');\n                g[key] = val;\n                localStorage.setItem('gdprCache', JSON.stringify(g));\n            } catch (e) {}\n        }\n\n        function getConsentIdentifier() {\n            var STORAGE_KEY = 'csmConsentIdentifier';\n            try {\n                var stored = localStorage.getItem(STORAGE_KEY);\n                if (stored) {\n                    var data = JSON.parse(stored);\n                    if (data.consentIdentifier && data.expiresAt && new Date(data.expiresAt) > new Date()) {\n                        return data.consentIdentifier;\n                    }\n                    localStorage.removeItem(STORAGE_KEY);\n                }\n            } catch (e) {}\n            var bytes = new Uint8Array(32);\n            if (window.crypto && window.crypto.getRandomValues) {\n                window.crypto.getRandomValues(bytes);\n            } else {\n                for (var i = 0; i < bytes.length; i++) bytes[i] = Math.floor(Math.random() * 256);\n            }\n            var hex = '';\n            for (var j = 0; j < bytes.length; j++) hex += ('0' + bytes[j].toString(16)).slice(-2);\n            try {\n                var exp = new Date();\n                exp.setDate(exp.getDate() + 365);\n                localStorage.setItem(STORAGE_KEY, JSON.stringify({\n                    consentIdentifier: hex,\n                    createdAt: new Date().toISOString(),\n                    expiresAt: exp.toISOString()\n                }));\n            } catch (e2) {}\n            return hex;\n        }\n\n        function normalizeGeo(geo) {\n            var addInfo = geo &#038;&#038; geo.add_info != null ? String(geo.add_info) : '';\n            var longIpRegex = \/^-?d{1,12}$\/;\n            var ip = longIpRegex.test(addInfo) ? int2ip(parseInt(addInfo, 10)) : addInfo;\n            return {\n                ip: ip,\n                country: (geo &#038;&#038; geo.country) || '',\n                region: (geo &#038;&#038; (geo.state || geo.regionCode)) || '',\n                region_name: (geo &#038;&#038; geo.region) || '',\n                city: (geo &#038;&#038; geo.city) || ''\n            };\n        }\n\n        function fetchGeo() {\n            return fetch(GEO_PRIMARY, { method: 'GET', headers: { 'Accept': 'application\/json' } })\n               .then(function(r) { return r.json(); })\n               .catch(function() {\n                    return fetch(GEO_FALLBACK, { method: 'GET', headers: { 'Accept': 'application\/json' } })\n                       .then(function(r2) { return r2.json(); });\n                })\n               .catch(function() {\n                    return fetch('https:\/\/www.cloudflare.com\/cdn-cgi\/trace', { method: 'GET' })\n                       .then(function(r3) { return r3.text(); })\n                       .then(function(text) {\n                            var ip = '';\n                            text.split('n').forEach(function(line) {\n                                var p = line.split('=');\n                                if (p[0] === 'ip') ip = p[1] || '';\n                            });\n                            return { add_info: ip, country: 'US', state: '', region: '', city: '' };\n                        });\n                });\n        }\n\n        function applyShopifyCustomerPrivacy(blockedCategoriesComma) {\n            var isA = blockedCategoriesComma.indexOf('analytics') >= 0;\n            var isM = blockedCategoriesComma.indexOf('marketing') >= 0;\n            var isF = blockedCategoriesComma.indexOf('functionality') >= 0;\n            var isS = blockedCategoriesComma.indexOf('saleofdata') >= 0;\n            var parsed = parseGdprSettings();\n            var payload = { analytics: !isA, marketing: !isM, preferences: !isF };\n            if (userInSalesRegionFromParsed(parsed) || isS) {\n                payload.sale_of_data = !isS;\n            }\n            var doSet = function() {\n                if (typeof Shopify !== 'undefined' && Shopify.customerPrivacy && typeof Shopify.customerPrivacy.setTrackingConsent === 'function') {\n                    Shopify.customerPrivacy.setTrackingConsent(payload, function() {});\n                }\n            };\n            if (typeof Shopify === 'undefined') return;\n            if (Shopify.customerPrivacy && typeof Shopify.customerPrivacy.setTrackingConsent === 'function') {\n                doSet();\n            } else if (typeof Shopify.loadFeatures === 'function') {\n                Shopify.loadFeatures([{ name: 'consent-tracking-api', version: '0.1' }], function(err) {\n                    if (!err) doSet();\n                });\n            }\n        }\n\n        function postConsent(bodyObj) {\n            var body = JSON.stringify(bodyObj);\n            var opts = { method: 'POST', headers: { 'Content-Type': 'text\/plain' }, body: body };\n            return fetch(CONSENT_PRIMARY, opts).then(function(r) {\n                if (r.ok) return r;\n                throw new Error('consent primary failed');\n            }).catch(function() {\n                return fetch(CONSENT_FALLBACK, opts).then(function(r2) {\n                    if (r2.ok) return r2;\n                    throw new Error('consent fallback failed');\n                });\n            });\n        }\n\n        \/** Logs customer\/withdraw_consent to GDPR requests (same consent_identifier as consent record for cross-reference). Fire-and-forget. *\/\n        function logInstantWithdrawGdprRequest(consentIdentifier, ipAddress) {\n            try {\n                if (typeof Shopify === 'undefined' || !Shopify.shop || !consentIdentifier) return;\n                var email = '';\n                if (typeof ConsentmoCustomerIdentification !== 'undefined') {\n                    email = ConsentmoCustomerIdentification.resolveSubmitEmail(\n                        'withdraw_consent',\n                        'gdpr-withdraw-email',\n                        function() { return consentIdentifier; }\n                    );\n                }\n                if (!email) {\n                    try {\n                        if (Shopify.customerEmail) email = String(Shopify.customerEmail).trim();\n                        if (!email && window.ShopifyAnalytics && window.ShopifyAnalytics.meta && window.ShopifyAnalytics.meta.page) {\n                            var pe = window.ShopifyAnalytics.meta.page.customerEmail;\n                            if (pe) email = String(pe).trim();\n                        }\n                    } catch (e0) {}\n                }\n                if (!email) {\n                    email = String(consentIdentifier) + '@guest.withdraw.consentmo.com';\n                }\n                var customerId = 0;\n                try {\n                    if (typeof Shopify !== 'undefined' && typeof Shopify.customer_id !== 'undefined') customerId = Shopify.customer_id;\n                    else if (typeof __st !== 'undefined' && __st.cid != null) customerId = __st.cid;\n                } catch (e1) {}\n                var formData = new FormData();\n                formData.append('shop', Shopify.shop);\n                formData.append('email', email);\n                formData.append('type', 'customer\/withdraw_consent');\n                formData.append('sourceOfRequest', 1);\n                formData.append('consentGiven', 1);\n                formData.append('page', 'gdpr');\n                formData.append('lang', Shopify.locale ? Shopify.locale : '');\n                formData.append('gtranslateLang', (typeof isenseGDPR !== 'undefined' && isenseGDPR.Cookies) ? isenseGDPR.Cookies.get('googtrans') : '');\n                formData.append('ipAddress', ipAddress || '');\n                formData.append('instant_withdraw', '1');\n                if (customerId) formData.append('customer_id', customerId);\n                fetch('https:\/\/app.consentmo.com\/gdprRequests\/submitRequest', { method: 'POST', body: formData }).catch(function() {});\n            } catch (e) {}\n        }\n\n        window.csmHandleWithdrawConsentGdpr = function(btn) {\n            if (typeof Shopify === 'undefined' || !Shopify.shop) {\n                var errEl = document.getElementById('gdpr-withdraw-error');\n                if (errEl) {\n                    errEl.textContent = 'Store context is unavailable. Please try again from the shop.';\n                    errEl.style.display = 'block';\n                }\n                return;\n            }\n            if (typeof ConsentmoCustomerIdentification !== 'undefined'\n                && !ConsentmoCustomerIdentification.validateEmail('gdpr-withdraw-email', 'gdpr-withdraw-email-error', 'withdraw_consent')) {\n                return;\n            }\n            if (btn && btn.disabled) return;\n            var errBox = document.getElementById('gdpr-withdraw-error');\n            var okBox = document.getElementById('gdpr-withdraw-success');\n            if (errBox) errBox.style.display = 'none';\n            if (okBox) okBox.style.display = 'none';\n\n            var parsed = parseGdprSettings();\n            var blocked = userInSalesRegionFromParsed(parsed)\n                ? 'analytics,marketing,functionality,saleofdata'\n                : 'analytics,marketing,functionality';\n            var cookieSuffix = parsed.cookieName || '';\n            var duration = parsed.consentDuration || 365;\n\n            setConsentCookie('cookieconsent_status' + cookieSuffix, 'deny', duration);\n            setConsentCookie('cookieconsent_preferences_disabled', blocked, duration);\n            appendGdprCache('cookieconsent_status' + cookieSuffix, 'deny');\n            appendGdprCache('cookieconsent_preferences_disabled', blocked);\n\n            clearCategoryFromSettings(parsed.settings, 'analytics');\n            clearCategoryFromSettings(parsed.settings, 'marketing');\n            clearCategoryFromSettings(parsed.settings, 'functionality');\n\n            applyShopifyCustomerPrivacy(blocked);\n\n            if (btn) {\n                btn.disabled = true;\n                btn.setAttribute('aria-disabled', 'true');\n            }\n\n            fetchGeo()\n               .then(function(geo) {\n                    var n = normalizeGeo(geo);\n                    if (!n.ip) {\n                        throw new Error('no ip');\n                    }\n                    var customerId = 0;\n                    if (typeof Shopify.customer_id !== 'undefined') {\n                        customerId = Shopify.customer_id;\n                    } else if (typeof __st !== 'undefined' && __st.cid != null) {\n                        customerId = __st.cid;\n                    }\n                    var body = {\n                        consent_identifier: getConsentIdentifier(),\n                        shop: Shopify.shop,\n                        customer_id: customerId,\n                        ip: n.ip,\n                        country: n.country,\n                        region: n.region,\n                        region_name: n.region_name,\n                        city: n.city,\n                        device: getDeviceTypeInline(),\n                        pa_usr_id: parsed.paUsrId || 0,\n                        blocked_cookies: blocked + ',',\n                        accepted_page: window.location.origin + window.location.pathname,\n                        interaction_button: 5,\n                        is_sale_of_data_enabled: userInSalesRegionFromParsed(parsed)\n                    };\n                    return postConsent(body).then(function() {\n                        logInstantWithdrawGdprRequest(body.consent_identifier, n.ip);\n                    });\n                })\n               .then(function() {\n                    if (okBox) {\n                        okBox.textContent = WITHDRAW_SUCCESS_MSG;\n                        okBox.style.display = 'block';\n                    }\n                })\n               .catch(function() {\n                    if (errBox) {\n                        errBox.textContent = 'Your preferences were updated, but we could not log this action. Please try again later.';\n                        errBox.style.display = 'block';\n                    }\n                    if (btn) {\n                        btn.disabled = false;\n                        btn.removeAttribute('aria-disabled');\n                    }\n                });\n        };\n    })();\n\n    var email, type, consentGiven = false;\n    var activeSubmitButton = null;\n    var successMessage = 'Your request has been submitted successfully. Please check your email for more information.';\n    var verificationModalContent = '<div id=\"data-verification-background\"><div class=\"loading\"><\/div><div id=\"data-verification-modal\"><button class=\"data-verification-close\" aria-label=\"Close\">\u00d7<\/button> <div id=\"data-verification-container\"><input type=\"checkbox\" aria-labelledby=\"gdpr-modal-container-text\"> <label id=\"data-verification-icon\" aria-label=\"Data verification icon\"><svg width=\"24px\" height=\"24px\" viewBox=\"0 0 18 18\"><path d=\"M1,9 L1,3.5 C1,2 2,1 3.5,1 L14.5,1 C16,1 17,2 17,3.5 L17,14.5 C17,16 16,17 14.5,17 L3.5,17 C2,17 1,16 1,14.5 L1,9 Z\"><\/path><\/path><polyline points=\"1 9 7 14 15 4\"><\/polyline><\/svg><\/label><p id=\"gdpr-modal-container-text\"> Ich bin damit einverstanden, dass meine E-Mail-Adresse und IP-Adresse zum Zweck der Bearbeitung dieser Anfrage erfasst werden. Weitere Informationen finden Sie in <a href=\"https:\/\/www.consentmo.com\/privacy-policy-terms-of-service\/en\" target=\"_blank\" aria-label=\"Privacy Policy link (opens in a new tab)\">der Datenschutzerkl\u00e4rung<\/a>.<\/p><\/div><\/div><\/div>'; var isEmailValid = function(email) { let regex = \/^(([^&lt;&gt;()[]\\.,;:s@&quot;]+(.[^&lt;&gt;()[]\\.,;:s@&quot;]+)*)|(&quot;.+&quot;))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$\/; if (email == '' || email == undefined) { return false; } else { return regex.test(email); } } var gdprSendRequest = function(callback) { fetch('https:\/\/www.cloudflare.com\/cdn-cgi\/trace', { method: 'GET' , headers: { 'Content-Type': 'text\/plain', }, }).then(resp =&gt; resp.text()).then(resp =&gt; { if (!resp.error) { let ipInfo = resp; let formData = new FormData(); formData.append('shop', Shopify.shop); formData.append('email', email); formData.append('type', type); formData.append('sourceOfRequest', 1); formData.append('ipAddress', ipInfo); formData.append('consentGiven', consentGiven); formData.append('page', 'gdpr'); formData.append('lang', Shopify.locale ? Shopify.locale : ''); formData.append('gtranslateLang', (typeof isenseGDPR !== 'undefined' &amp;&amp; isenseGDPR.Cookies) ? isenseGDPR.Cookies.get('googtrans') : ''); fetch('https:\/\/app.consentmo.com\/gdprRequests\/submitRequest', { method: 'POST', body: formData }).then(resp =&gt; resp.json()).then(resp =&gt; { if (!resp.error) { showInlineSuccessMessage(); } else { showInlineErrorMessage(resp.message); } if (typeof callback == 'function') { callback(resp); } }).catch(error =&gt; { showInlineErrorMessage(error.message || 'Etwas ist schiefgelaufen. Bitte versuchen Sie es erneut.'); }) } else { showInlineErrorMessage(resp.message || 'Etwas ist schiefgelaufen. Bitte versuchen Sie es erneut.'); } }) } function showInlineSuccessMessage() { if (!activeSubmitButton) { return; } var form = activeSubmitButton.closest('form'); if (!form) { return; } var errNode = form.querySelector('.gdpr-request-error'); if (errNode) { errNode.remove(); } var successNode = form.querySelector('.gdpr-request-success'); if (!successNode) { successNode = document.createElement('p'); successNode.className = 'gdpr-request-success'; form.appendChild(successNode); } successNode.textContent = successMessage; function showInlineErrorMessage(message) { if (!activeSubmitButton) { return; } var form = activeSubmitButton.closest('form'); if (!form) { return; } var successNode = form.querySelector('.gdpr-request-success'); if (successNode) { successNode.remove(); } var errorNode = form.querySelector('.gdpr-request-error'); if (!errorNode) { errorNode = document.createElement('p'); errorNode.className = 'gdpr-request-error'; form.appendChild(errorNode); } errorNode.textContent = message; document.addEventListener(&quot;DOMContentLoaded&quot;, function() { \/\/ Modal an den Body anh\u00e4ngen, da es sonst nicht zentriert bleibt (auch bei fixierter Position). document.querySelector(&quot;body&quot;).insertAdjacentHTML( 'beforeend', verificationModalContent); \/\/ Beim Klick auf <span>(x) das Modal schlie\u00dfen. document.querySelector('.data-verification-close').addEventListener('click', function(e) { e.preventDefault(); closeVerificationModal(); }); document.querySelector('#data-verification-icon, #data-verification-container p').addEventListener('click', function(e) { e.preventDefault(); \/\/ Klick auf einen href-Wert erkennen, da dieser \u00fcberschrieben wird. if(e.target.tagName === &quot;A&quot;) { window.open(e.target.href, '_blank'); return; } document.querySelector('#data-verification-icon').classList.add(&quot;clicked&quot;); setTimeout(()=&gt;{ toggleFadeiSense(document.querySelector(&quot;#data-verification-modal&quot;), false); document.querySelector('#data-verification-background.loading').style.display = 'inline-block'; consentGiven = true; gdprSendRequest(function(resp) { consentGiven = false; closeVerificationModal(); }); }, 400); }); }); function openVerificationModal(){ if(!isEmailValid(email)) { showInlineErrorMessage('Ung\u00fcltige E-Mail-Adresse'); return; } toggleFadeiSense(document.querySelector(&quot;#data-verification-modal&quot;), true); toggleFadeiSense(document.querySelector('#data-verification-background'), true); document.querySelector('#data-verification-container input').focus(); } function closeVerificationModal(){ toggleFadeiSense(document.querySelector(&quot;#data-verification-background&quot;), false); document.querySelector('#data-verification-icon').classList.remove(&quot;clicked&quot;); document.querySelector('#data-verification-background.loading').style.display = 'none'; \/\/ Fokussiere die Schaltfl\u00e4che des ausgew\u00e4hlten Anfragetyps let gdprForms = document.querySelectorAll('.form-gdpr-request'); gdprForms.forEach(function(gdprForm) { if (gdprForm.id === 'form-gdpr-withdraw-consent-request') return; if (gdprForm.style.display !== &quot;none&quot;) { let gdprFormLinks = gdprForm.previousElementSibling.querySelectorAll('li'); if (gdprFormLinks.length === 1) { gdprFormLinks[0].querySelector('button').focus(); } else { \/\/ Fokuslogik f\u00fcr Datenportabilit\u00e4tsanfragen gdprFormLinks = gdprForm.parentElement; if (gdprFormLinks.nodeName === 'LI') { gdprFormLinks.querySelector('button').focus(); } } } }); } \/\/ Zugriff auf oder Download meiner Daten document.querySelector('#btn-gdpr-access-data-request').addEventListener('click', function(e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; gdprSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-gdpr-access-data-request'), 200); this.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;); } else { slideUp(document.querySelector('#form-gdpr-access-data-request'), 200); this.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;); } }); document.querySelector('#form-gdpr-access-data-request-submit').addEventListener('click', function(e) { e.preventDefault(); activeSubmitButton = this; email = document.querySelector('#form-gdpr-access-data-request-email').value; type = 'customer\/report'; openVerificationModal(); }); \/\/ Korrigiere meine Informationen document.querySelector('#btn-gdpr-correct-info-request').addEventListener('click', function(e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; gdprSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-gdpr-correct-info-request'), 200); this.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;); } else { slideUp(document.querySelector('#form-gdpr-correct-info-request'), 200); this.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;); } }); document.querySelector('#form-gdpr-correct-info-request-submit').addEventListener('click', function(e) { e.preventDefault(); activeSubmitButton = this; email = document.querySelector('#form-gdpr-correct-info-request-email').value; type = 'customer\/edit'; openVerificationModal(); }); \/\/ Meine Daten l\u00f6schen document.querySelector('#btn-gdpr-delete-data-request').addEventListener('click', function(e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; gdprSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-gdpr-delete-data-request'), 200); this.setAttribute(&quot;aria-expanded&quot;, &quot;true&quot;); } else { slideUp(document.querySelector('#form-gdpr-delete-data-request'), 200); this.setAttribute(&quot;aria-expanded&quot;, &quot;false&quot;); } }); document.querySelector('#form-gdpr-delete-data-request-submit').addEventListener('click', function(e) { e.preventDefault(); activeSubmitButton = this; email = document.querySelector('#form-gdpr-delete-data-request-email').value; type = 'customer\/delete'; openVerificationModal(); }); \/\/ Einwilligung widerrufen (immer sichtbar; sofortige Ablehnung \u2013 kein Erweiterungsschritt) document.querySelector('#form-gdpr-withdraw-consent-request-submit').addEventListener('click', function(e) { e.preventDefault(); if (typeof window.csmHandleWithdrawConsentGdpr === 'function') { window.csmHandleWithdrawConsentGdpr(this); } }); \/\/ Datenschutzeinstellungen verwalten document.querySelector('#btn-gdpr-manage-privacy-preferences').addEventListener('click', function(e) { e.preventDefault(); if (typeof showPreferences === 'function') { showPreferences(this); return; } let settingsButton = document.querySelector('.cc-window.cc-settings'); if (settingsButton) { settingsButton.click(); return; } alert('Cookie-Einstellungen sind auf dieser Seite nicht verf\u00fcgbar.'); }); \/\/ Tastaturnavigation im Datenverifizierungs-Modal f\u00fcr Barrierefreiheit document.addEventListener(&quot;DOMContentLoaded&quot;, function() { document.querySelector('#data-verification-modal').addEventListener('keydown', function(e) { let isTabPressed = e.keyCode === 9 || e.key === &quot;Tab&quot; || e.code === &quot;Tab&quot;; let isEscapePressed = e.keyCode === 27 || e.key === &quot;Escape&quot; || e.code === &quot;Escape&quot;; let isSpacePressed = event.keyCode === 32 || e.key === &quot; &quot; || event.code === &quot;Space&quot;; let isEnterPressed = event.keyCode === 13 || e.key === &quot;Enter&quot; || event.code === &quot;Enter&quot;; let dataVerificationCloseButton = document.querySelector('.data-verification-close'); let dataVerificationCheckbox = document.querySelector('#data-verification-container input'); let dataVerificationLink = document.querySelector('#data-verification-container a'); \/\/ Diese Funktion erspart uns den Aufruf von e.preventDefault() nach jedem Fokussieren. let executeFocus = (focusElement) =&gt; {focusElement.focus();e.preventDefault();} if (isEscapePressed) { if (dataVerificationCloseButton) { dataVerificationCloseButton.click(); } } if (isSpacePressed || isEnterPressed) { if (document.activeElement === dataVerificationCheckbox) { document.querySelector('#data-verification-container #data-verification-icon').click(); } } if (isTabPressed) { if (e.shiftKey) { if (dataVerificationCloseButton &amp;&amp; document.activeElement === dataVerificationCloseButton) { executeFocus(dataVerificationLink); } } else { if (dataVerificationLink &amp;&amp; document.activeElement === dataVerificationLink) { executeFocus(dataVerificationCloseButton); } } } }); }); if (typeof ConsentmoCustomerIdentification !== 'undefined') { ConsentmoCustomerIdentification.initPage({ withdraw_consent: 'gdpr-withdraw-email-wrap' }); }<\/span><\/script><span><\/span>","protected":false},"excerpt":{"rendered":"<p>Wir respektieren Ihre Privatsph\u00e4re. Wenn Sie im Europ\u00e4ischen Wirtschaftsraum (EWR) ans\u00e4ssig sind, haben Sie bestimmte Rechte gem\u00e4\u00df der Datenschutz-Grundverordnung (DSGVO). Nutzen Sie die folgenden Optionen, um Ihre Rechte bez\u00fcglich Ihrer bei uns gespeicherten personenbezogenen Daten auszu\u00fcben. Wie wir Ihre Anfrage bearbeiten: Wenn Sie \u00fcber diese Seite eine Anfrage stellen, verarbeitet unser Compliance-Anbieter (Consentmo) Ihre E-Mail-Adresse [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-584","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/yohann.shop\/de\/wp-json\/wp\/v2\/pages\/584","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yohann.shop\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/yohann.shop\/de\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/yohann.shop\/de\/wp-json\/wp\/v2\/comments?post=584"}],"version-history":[{"count":0,"href":"https:\/\/yohann.shop\/de\/wp-json\/wp\/v2\/pages\/584\/revisions"}],"wp:attachment":[{"href":"https:\/\/yohann.shop\/de\/wp-json\/wp\/v2\/media?parent=584"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}