{"id":22580,"date":"2026-05-16T10:32:58","date_gmt":"2026-05-16T03:32:58","guid":{"rendered":"https:\/\/vietnamdetox.com\/startseite\/"},"modified":"2026-10-17T18:17:09","modified_gmt":"2026-10-17T11:17:09","slug":"startseite","status":"publish","type":"page","link":"https:\/\/vietnamdetox.com\/de\/","title":{"rendered":"Startseite"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"22580\" class=\"elementor elementor-22580 elementor-14\" data-elementor-post-type=\"page\">\n\t\t\t\t<section data-dce-background-color=\"#FEFAF2\" class=\"elementor-element elementor-element-2f0a2ac e-con-full e-flex elementor-invisible e-con e-parent\" data-id=\"2f0a2ac\" data-element_type=\"container\" data-e-type=\"container\" id=\"intro\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-afa851d elementor-widget elementor-widget-html\" data-id=\"afa851d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  Copy this entire file into ONE Elementor HTML widget.\r\n  Put elementor-hero.css into the same widget's Advanced > Custom CSS field.\r\n\r\n  The two video sources are root-relative URLs for staging.vietnamdetox.com.\r\n  See README.md before using this widget on another host.\r\n-->\r\n\r\n<section class=\"vdh\" data-vdh-hero=\"\" aria-labelledby=\"vdh-title\">\r\n  <div class=\"vdh__background\" aria-hidden=\"true\">\r\n    <video class=\"vdh__background-video\" data-vdh-background-video=\"\" autoplay=\"\" muted=\"\" loop=\"\" playsinline=\"\" preload=\"metadata\">\r\n      <source src=\"\/wp-content\/uploads\/2026\/08\/hero-video-vietnam-detox-fasting-retreats.mp4\" type=\"video\/mp4\">\r\n    <\/source><\/video>\r\n  <\/div>\r\n\r\n  <div class=\"vdh__overlay\" aria-hidden=\"true\"><\/div>\r\n\r\n  <div class=\"vdh__inner\">\r\n    <div class=\"vdh__left\">\r\n      <div class=\"vdh__panel\" data-vdh-panel=\"\">\r\n        <button class=\"vdh__panel-toggle\" data-vdh-panel-toggle=\"\" type=\"button\" aria-label=\"Hide introduction\" aria-expanded=\"true\">\r\n          Fenster schliessen\r\n<span class=\"vdh__panel-toggle-icon\" data-vdh-toggle-icon=\"\" aria-hidden=\"true\">\u00d7<\/span>\r\n        <\/button>\r\n\r\n        <div class=\"vdh__panel-surface\" data-vdh-panel-surface=\"\">\r\n          <div class=\"vdh__panel-body\">\r\n            <p class=\"vdh__tagline\">Erholen Sie sich, bevor Ersch\u00f6pfung zu Ihrem Normalzustand wird.<\/p>\r\n\r\n            <h1 class=\"vdh__title\" id=\"vdh-title\">\r\n              <span class=\"vdh__title-line\"><em>Deutsches Buchinger-Fasten.<\/em><\/span>\r\n              <span class=\"vdh__title-line\"><span class=\"vdh__title-accent\">Vietnamese Healing Wisdom.<\/span><\/span>\r\n            <\/h1>\r\n\r\n            <div class=\"vdh__divider\" aria-hidden=\"true\"><\/div>\r\n\r\n            <div class=\"vdh__mobile-video\">\r\n              <div class=\"vdh__mobile-video-inner\">\r\n                <video data-vdh-mobile-video=\"\" muted=\"\" loop=\"\" playsinline=\"\" preload=\"metadata\">\r\n                  <source src=\"\/wp-content\/uploads\/2026\/08\/hero-video-vietnam-detox-fasting-retreats.mp4\" type=\"video\/mp4\">\r\n  Ihr Browser unterst\u00fctzt das Video-Tag nicht.\r\n                <\/source><\/video>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <p class=\"vdh__summary\">\r\n              <strong>Ruhige, strukturierte Fastenretreats<\/strong> f\u00fcr Menschen, die sich mental \u00fcberlastet, k\u00f6rperlich ersch\u00f6pft oder von echter Erholung abgeschnitten f\u00fchlen.\r\n            <\/p>\r\n\r\n            <div class=\"vdh__actions\">\r\n              <a href=\"#retreats\" class=\"vdh__button vdh__button--primary\">Retreats entdecken<\/a>\r\n              <a href=\"#method\" class=\"vdh__button vdh__button--outline\">Die Methode verstehen<\/a>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"vdh__right\" aria-hidden=\"true\"><\/div>\r\n  <\/div>\r\n\r\n  <a href=\"#why\" class=\"vdh__scroll\">Scrollen<\/a>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n\r\n  var roots = document.querySelectorAll('[data-vdh-hero]');\r\n\r\n  roots.forEach(function(root) {\r\n    if (root.dataset.vdhReady === 'true') return;\r\n    root.dataset.vdhReady = 'true';\r\n\r\n    var panel = root.querySelector('[data-vdh-panel]');\r\n    var surface = root.querySelector('[data-vdh-panel-surface]');\r\n    var toggle = root.querySelector('[data-vdh-panel-toggle]');\r\n    var toggleLabel = root.querySelector('[data-vdh-toggle-label]');\r\n    var toggleIcon = root.querySelector('[data-vdh-toggle-icon]');\r\n    var backgroundVideo = root.querySelector('[data-vdh-background-video]');\r\n    var mobileVideo = root.querySelector('[data-vdh-mobile-video]');\r\n    var mobileQuery = window.matchMedia('(max-width: 767px)');\r\n    var reducedMotionQuery = window.matchMedia('(prefers-reduced-motion: reduce)');\r\n\r\n    function syncPanel() {\r\n      if (!panel || !surface || !toggle || !toggleLabel || !toggleIcon) return;\r\n\r\n      var isCollapsed = panel.classList.contains('is-collapsed');\r\n      toggleLabel.textContent = isCollapsed ? 'Show info' : 'Hide box';\r\n      toggleIcon.textContent = isCollapsed ? '+' : '\\u00d7';\r\n      toggle.setAttribute('aria-label', isCollapsed ? 'Show introduction' : 'Hide introduction');\r\n      toggle.setAttribute('aria-expanded', String(!isCollapsed));\r\n      surface.setAttribute('aria-hidden', String(isCollapsed));\r\n    }\r\n\r\n    function syncVideos() {\r\n      var useInlineVideo = mobileQuery.matches;\r\n\r\n      if (backgroundVideo) {\r\n        if (useInlineVideo || reducedMotionQuery.matches) {\r\n          backgroundVideo.pause();\r\n        } else {\r\n          var playAttempt = backgroundVideo.play();\r\n          if (playAttempt && typeof playAttempt.catch === 'function') {\r\n            playAttempt.catch(function() {});\r\n          }\r\n        }\r\n      }\r\n\r\n      if (mobileVideo) {\r\n        if (useInlineVideo && !reducedMotionQuery.matches) {\r\n          mobileVideo.muted = true;\r\n          var mobilePlayAttempt = mobileVideo.play();\r\n          if (mobilePlayAttempt && typeof mobilePlayAttempt.catch === 'function') {\r\n            \/\/ Autoplay can be blocked (e.g. iOS Low Power Mode); let visitors start it themselves.\r\n            mobilePlayAttempt.catch(function() { mobileVideo.controls = true; });\r\n          }\r\n        } else {\r\n          mobileVideo.pause();\r\n          if (useInlineVideo) mobileVideo.controls = true;\r\n        }\r\n      }\r\n    }\r\n\r\n    if (toggle) {\r\n      toggle.addEventListener('click', function() {\r\n        panel.classList.toggle('is-collapsed');\r\n        syncPanel();\r\n      });\r\n    }\r\n\r\n    if (typeof mobileQuery.addEventListener === 'function') {\r\n      mobileQuery.addEventListener('change', syncVideos);\r\n      reducedMotionQuery.addEventListener('change', syncVideos);\r\n    } else {\r\n      mobileQuery.addListener(syncVideos);\r\n      reducedMotionQuery.addListener(syncVideos);\r\n    }\r\n\r\n    syncPanel();\r\n    syncVideos();\r\n  });\r\n})();\r\n<\/script>\r\n\r\n<script>\r\n(function vdHeroHeaderClearance() {\r\n  \"use strict\";\r\n  \/\/ The global header is fixed over the hero. Measure how far it reaches into the hero and\r\n  \/\/ expose that as --vd-hero-clearance, so the hero panel always starts below the header.\r\n  var hero = document.querySelector(\".vdh\");\r\n  var headerRoot = document.querySelector(\".elementor-location-header\");\r\n  if (!hero || !headerRoot || hero.dataset.vdClearance === \"ready\") return;\r\n  hero.dataset.vdClearance = \"ready\";\r\n  var measuredWidth = null;\r\n\r\n  function update() {\r\n    var scrollTop = window.scrollY || window.pageYOffset || 0;\r\n    \/\/ The sticky header shrinks after scrolling; keep the measurement taken at the top.\r\n    if (scrollTop > 0 && measuredWidth === window.innerWidth) return;\r\n    var bottom = 0;\r\n    Array.prototype.forEach.call(headerRoot.children, function (el) {\r\n      if (el.classList.contains(\"elementor-sticky__spacer\")) return;\r\n      var style = window.getComputedStyle(el);\r\n      if (style.display === \"none\" || style.visibility === \"hidden\") return;\r\n      var rect = el.getBoundingClientRect();\r\n      if (!rect.height) return;\r\n      bottom = Math.max(bottom, rect.bottom + (style.position === \"fixed\" ? 0 : scrollTop));\r\n    });\r\n    var heroTop = hero.getBoundingClientRect().top + scrollTop;\r\n    measuredWidth = window.innerWidth;\r\n    hero.style.setProperty(\"--vd-hero-clearance\", Math.max(0, Math.round(bottom - heroTop)) + \"px\");\r\n  }\r\n\r\n  update();\r\n  document.addEventListener(\"DOMContentLoaded\", update, { once: true });\r\n  window.addEventListener(\"load\", update, { once: true });\r\n  window.addEventListener(\"resize\", update, { passive: true });\r\n  \/\/ Elementor makes the header sticky after load; re-measure when its classes change.\r\n  if (window.MutationObserver) {\r\n    new MutationObserver(update).observe(headerRoot, { attributes: true, attributeFilter: [\"class\"], subtree: true });\r\n  }\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section data-dce-background-color=\"#FEFAF2\" class=\"elementor-element elementor-element-232a149 e-con-full e-flex elementor-invisible e-con e-parent\" data-id=\"232a149\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-984f892 elementor-widget elementor-widget-html\" data-id=\"984f892\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  Copy this entire file into ONE Elementor HTML widget.\r\n  Put elementor-reassurance-strip.css into the same widget's\r\n  Advanced > Custom CSS field.\r\n\r\n  This section has no JavaScript behavior, so no script is required.\r\n  Image URLs are configured for staging.vietnamdetox.com.\r\n-->\r\n\r\n<section class=\"vdr\" aria-labelledby=\"vdr-title\">\r\n  <div class=\"vdr__shell\">\r\n    <header class=\"vdr__header\">\r\n      <span class=\"vdr__eyebrow\">Ein stilles Gef\u00fchl, das viele G\u00e4ste wiedererkennen<\/span>\r\n      <span class=\"vdr__clue\" aria-hidden=\"true\"><\/span>\r\n\r\n      <h2 class=\"vdr__headline\" id=\"vdr-title\">\r\n  Wann haben Sie sich zuletzt wirklich <em>klar<\/em>,\r\n        <em>leicht<\/em> und <em>ausgeruht<\/em> gef\u00fchlt?\r\n      <\/h2>\r\n\r\n      <p class=\"vdr__description\">\r\n  Die meisten G\u00e4ste kommen nicht, weil etwas furchtbar falsch l\u00e4uft. Sie kommen\r\n weil sich etwas nicht mehr richtig anf\u00fchlt. \r\n      <\/p>\r\n    <\/header>\r\n\r\n    <div class=\"vdr__gallery\" role=\"group\" aria-label=\"Scenes from Vietnam Detox retreats\">\r\n      <figure class=\"vdr__photo\">\r\n        <img src=\"\/wp-content\/uploads\/2026\/08\/Vietnam-detox-wellness-retreat-healthy-lifestyle-song-khoe-thai-doc-70.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\">\r\n      <\/figure>\r\n\r\n      <figure class=\"vdr__photo\">\r\n        <img src=\"\/wp-content\/uploads\/2026\/08\/Vietnam-detox-wellness-retreat-healthy-lifestyle-song-khoe-thai-doc-16.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\">\r\n      <\/figure>\r\n\r\n      <figure class=\"vdr__photo\">\r\n        <img src=\"\/wp-content\/uploads\/2026\/08\/Vietnam-detox-fasting-wellness-retreats-Paddle-board-yoga.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\">\r\n      <\/figure>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-49ad905 e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"49ad905\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-73aa551 elementor-widget elementor-widget-html\" data-id=\"73aa551\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  Copy this entire file into ONE Elementor HTML widget.\r\n  Put elementor-buchinger-quote.css into the same widget's\r\n  Advanced > Custom CSS field.\r\n-->\r\n\r\n<section class=\"vdq\" data-vdq-section=\"\" aria-label=\"Quote by Otto Buchinger\">\r\n  <div class=\"vdq__shell\">\r\n    <figure class=\"vdq__card vdq__reveal\" data-vdq-reveal=\"\">\r\n      <span class=\"vdq__mark vdq__mark--open\" aria-hidden=\"true\">\u201e<\/span>\r\n\r\n      <blockquote class=\"vdq__quote\">\r\n Fasten ist ohne jeden Zweifel die wirksamste biologische Methode der\r\n Behandlung. <strong>Es ist die Operation ohne Messer.<\/strong>\r\n      <\/blockquote>\r\n\r\n      <span class=\"vdq__mark vdq__mark--close\" aria-hidden=\"true\">\u201c<\/span>\r\n\r\n      <figcaption class=\"vdq__attribution\">\r\n        <cite>Otto Buchinger<\/cite>\r\n      <\/figcaption> \r\n\r\n      <span class=\"vdq__rule\" aria-hidden=\"true\"><\/span>\r\n    <\/figure>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n\r\n  var sections = document.querySelectorAll('[data-vdq-section]');\r\n\r\n  sections.forEach(function(section) {\r\n    if (section.dataset.vdqReady === 'true') return;\r\n    section.dataset.vdqReady = 'true';\r\n\r\n    var quote = section.querySelector('[data-vdq-reveal]');\r\n    var reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n\r\n    if (!quote) return;\r\n\r\n    if (reducedMotion || !('IntersectionObserver' in window)) {\r\n      quote.classList.add('is-visible');\r\n      return;\r\n    }\r\n\r\n    var observer = new IntersectionObserver(function(entries) {\r\n      entries.forEach(function(entry) {\r\n        if (!entry.isIntersecting) return;\r\n        entry.target.classList.add('is-visible');\r\n        observer.unobserve(entry.target);\r\n      });\r\n    }, {\r\n      threshold: 0.12,\r\n      rootMargin: '0px 0px -40px 0px'\r\n    });\r\n\r\n    observer.observe(quote);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-6861989 e-con-full e-flex elementor-invisible e-con e-parent\" data-id=\"6861989\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-da6ac4f elementor-widget elementor-widget-html\" data-id=\"da6ac4f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\n  Copy this entire file into ONE Elementor HTML widget.\n  Put why-section.css into the same widget's\n  Advanced > Custom CSS field.\n\n  Asset URLs are configured for staging.vietnamdetox.com.\n  See README.md before using this widget on another host.\n\n  The video's subtitle files are in subtitles\/. Upload both .vtt files\n  to the Media Library and make sure the <track> URLs match.\n-->\n\n<section class=\"vdw\" id=\"why\" data-vdw-section=\"\" aria-labelledby=\"vdw-title\">\n\n  <div class=\"vdw__shell\">\n    <header class=\"vdw__header\">\n      <span class=\"vdw__eyebrow\">Was viele G\u00e4ste zu bemerken beginnen<\/span>\n      <span class=\"vdw__clue\" aria-hidden=\"true\"><\/span>\n\n      <h2 class=\"vdw__headline\" id=\"vdw-title\">\n  Wie es sich anf\u00fchlen kann, wenn Ihr K\u00f6rper endlich\n        <em>wieder langsamer wird<\/em>.\n      <\/h2>\n\n      <p class=\"vdw__intro\">\n  Viele G\u00e4ste kommen zun\u00e4chst, um <em>abzunehmen<\/em> und\n        <em>sich im eigenen K\u00f6rper wohler zu f\u00fchlen<\/em>. Was sie oft entdecken, ist\n dass sie dabei auch <em>angesammelten Stress<\/em>, ungesunde\n Routinen, <em>mentales Durcheinander<\/em> und das st\u00e4ndige Gef\u00fchl,\n \u201ean\u201c zu sein, loslassen. Die Ver\u00e4nderungen, die Menschen beschreiben, sind oft sowohl\n        <em>k\u00f6rperlich als auch emotional<\/em>.  \n      <\/p>\n    <\/header>\n\n    <div class=\"vdw__video-intro\">\n      <figure class=\"vdw__video-frame\">\n         <figcaption>\n Gastinterview <span aria-hidden=\"true\">\u00b7<\/span>\n Paul berichtet von seiner Vietnam-Detox-Erfahrung.\n        <\/figcaption>\n\n        <video controls=\"\" preload=\"metadata\" playsinline=\"\" data-vdw-video=\"\">\n          <source src=\"\/wp-content\/uploads\/2026\/06\/Interview-Vietnam-detox-guest-opinion-Paul.mp4\" type=\"video\/mp4\">\n          <track kind=\"subtitles\" src=\"\/wp-content\/uploads\/2026\/09\/Interview-Vietnam-detox-guest-opinion-Paul-vi.vtt\" srclang=\"vi\" label=\"Ti\u1ebfng Vi\u1ec7t\">\n          <track kind=\"subtitles\" src=\"\/wp-content\/uploads\/2026\/09\/Interview-Vietnam-detox-guest-opinion-Paul-en.vtt\" srclang=\"en\" label=\"Englisch\">\n Ihr Browser unterst\u00fctzt das Video-Tag nicht.\n        <\/track><\/track><\/source><\/video> \n      <\/figure>\n    <\/div>\n\n    <div class=\"vdw__grid\">\n      <article class=\"vdw__card vdw__reveal vdw__delay-1\" data-vdw-reveal=\"\">\n        <div class=\"vdw__visual\">\n          <img src=\"\/wp-content\/uploads\/2026\/08\/blood-sugar.png\" alt=\"Illustration zur mentalen Klarheit\" loading=\"lazy\" decoding=\"async\">\n        <\/div>\n\n        <div class=\"vdw__copy\">\n          <h3>Gleichm\u00e4\u00dfigere Energie<\/h3>\n          <p class=\"vdw__primary\">\n  Viele G\u00e4ste kommen an und f\u00fchlen sich selbst nach dem Schlafen ersch\u00f6pft.\n          <\/p>\n        <\/div>\n\n        <p class=\"vdw__supporting\">\n  Nachmittags-Tiefs, st\u00e4ndige M\u00fcdigkeit und das Gef\u00fchl, auf\n Reserve zu laufen, lassen oft nach, sobald der K\u00f6rper in einen ruhigeren Rhythmus findet.\n        <\/p>\n      <\/article>\n\n      <article class=\"vdw__card vdw__reveal vdw__delay-2\" data-vdw-reveal=\"\">\n        <div class=\"vdw__visual\">\n          <img src=\"\/wp-content\/uploads\/2026\/08\/blood-pressure-2.png\" alt=\"Illustration zur tiefen Ruhe\" loading=\"lazy\" decoding=\"async\">\n        <\/div>\n\n        <div class=\"vdw__copy\">\n          <h3>Entspannteres Verh\u00e4ltnis zum Essen<\/h3>\n          <p class=\"vdw__primary\">\n  Manche G\u00e4ste kommen mit st\u00e4ndigem Verlangen, emotionalem Essen oder zu\n vielen Gedanken rund ums Essen.\n          <\/p>\n        <\/div>\n\n        <p class=\"vdw__supporting\">\n  Wenn der K\u00f6rper langsamer wird und Essen einfacher wird, beginnen viele G\u00e4ste\n wieder, sich ruhiger und kontrollierter im Umgang mit Hunger zu f\u00fchlen.\n        <\/p>\n      <\/article>\n\n      <article class=\"vdw__card vdw__reveal vdw__delay-3\" data-vdw-reveal=\"\">\n        <div class=\"vdw__visual\">\n          <img src=\"\/wp-content\/uploads\/2026\/08\/fewer-cravings-2.png\" alt=\"Illustration zum ruhigen Appetit\" loading=\"lazy\" decoding=\"async\">\n        <\/div>\n\n        <div class=\"vdw__copy\">\n          <h3>Wieder k\u00f6rperliche Leichtigkeit<\/h3>\n          <p class=\"vdw__primary\">\n  Viele G\u00e4ste kommen und f\u00fchlen sich schwer, aufgebl\u00e4ht oder k\u00f6rperlich \u00fcberlastet.\n          <\/p>\n        <\/div>\n\n        <p class=\"vdw__supporting\">\n  Nach mehreren Tagen Verdauungsruhe f\u00fchlt sich der K\u00f6rper oft\n leichter, ruhiger und weniger belastet an.\n        <\/p>\n      <\/article>\n\n      <article class=\"vdw__card vdw__card--offset-left vdw__reveal vdw__delay-4\" data-vdw-reveal=\"\">\n        <div class=\"vdw__visual\">\n          <img src=\"\/wp-content\/uploads\/2026\/08\/lighter-digestion-2.png\" alt=\"Illustration zur Verdauungsentlastung\" loading=\"lazy\" decoding=\"async\">\n        <\/div>\n\n        <div class=\"vdw__copy\">\n          <h3>Klareres Denken<\/h3>\n          <p class=\"vdw__primary\">\n  Mentale \u00dcberlastung f\u00fchlt sich oft an wie st\u00e4ndiges Denken, innerer L\u00e4rm und\n Schwierigkeiten, sich zu konzentrieren.\n          <\/p>\n        <\/div>\n\n        <p class=\"vdw__supporting\">\n  Wenn das Tempo langsamer wird, bemerken viele G\u00e4ste klarere Gedanken, ruhigeren\n Fokus und wieder mehr Raum im Kopf.\n        <\/p>\n      <\/article>\n\n      <article class=\"vdw__card vdw__card--offset-right vdw__reveal vdw__delay-5\" data-vdw-reveal=\"\">\n        <div class=\"vdw__visual\">\n          <img src=\"\/wp-content\/uploads\/2026\/08\/metabolic-reset-2.png\" alt=\"Illustration zum Stoffwechsel-Reset\" loading=\"lazy\" decoding=\"async\">\n        <\/div>\n\n        <div class=\"vdw__copy\">\n          <h3>Sich wieder mehr wie Sie selbst f\u00fchlen<\/h3>\n          <p class=\"vdw__primary\">\n  Manche G\u00e4ste kommen, weil sie den Kontakt zu sich selbst verloren haben, emotional m\u00fcde sind\n oder im Stressmodus feststecken.\n          <\/p>\n        <\/div>\n\n        <p class=\"vdw__supporting\">\n  Wenn sich der Retreat-Rhythmus einpendelt, f\u00fchlen sich viele wieder ruhiger, mehr\n geerdet und pr\u00e4senter.\n        <\/p>\n      <\/article>\n    <\/div>\n\n    <p class=\"vdw__closing\">\n  Viele G\u00e4ste kommen nicht, weil etwas furchtbar falsch l\u00e4uft. Sie\n kommen, weil sie sich in ihrem K\u00f6rper, ihrer Energie oder ihrem\n Alltagsrhythmus nicht mehr wohlf\u00fchlen. \n    <\/p>\n\n    <div class=\"vdw__cta\">\n      <a class=\"vdw__button\" href=\"#retreats\">Retreats entdecken<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<script>\n(function() {\n  'use strict';\n\n  var sections = document.querySelectorAll('[data-vdw-section]');\n  var pageLang = (document.documentElement.lang || '').slice(0, 2).toLowerCase();\n\n  sections.forEach(function(section) {\n    if (section.dataset.vdwReady === 'true') return;\n    section.dataset.vdwReady = 'true';\n\n    \/\/ Show only the subtitles that match the page language. Re-apply once the\n    \/\/ metadata loads, in case the browser's own caption selection resets it.\n    section.querySelectorAll('[data-vdw-video]').forEach(function(video) {\n      function showPageSubtitles() {\n        Array.prototype.forEach.call(video.textTracks, function(track) {\n          track.mode = track.language === pageLang ? 'showing' : 'disabled';\n        });\n      }\n\n      showPageSubtitles();\n      video.addEventListener('loadedmetadata', showPageSubtitles, { once: true });\n    });\n\n    var items = section.querySelectorAll('[data-vdw-reveal]');\n    var reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n    function revealAll() {\n      items.forEach(function(item) {\n        item.classList.add('is-visible');\n      });\n    }\n\n    if (!items.length || reducedMotion || !('IntersectionObserver' in window)) {\n      revealAll();\n      return;\n    }\n\n    var observer = new IntersectionObserver(function(entries) {\n      entries.forEach(function(entry) {\n        if (!entry.isIntersecting) return;\n        entry.target.classList.add('is-visible');\n        observer.unobserve(entry.target);\n      });\n    }, {\n      threshold: 0.12,\n      rootMargin: '0px 0px -40px 0px'\n    });\n\n    items.forEach(function(item) {\n      observer.observe(item);\n    });\n  });\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<section class=\"elementor-element elementor-element-749e46b e-con-full e-flex elementor-invisible e-con e-parent\" data-id=\"749e46b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d98bcad elementor-widget elementor-widget-html\" data-id=\"d98bcad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  Copy this entire file into ONE Elementor HTML widget.\r\n  Put elementor-retreat-atmosphere-gallery.css into the same widget's\r\n  Advanced > Custom CSS field.\r\n\r\n  This gallery has no JavaScript behavior, so no script is required.\r\n  Image URLs are configured for staging.vietnamdetox.com.\r\n-->\r\n\r\n<section class=\"vda\" aria-labelledby=\"vda-title\">\r\n  <header class=\"vda__intro\">\r\n    <span class=\"vda__eyebrow\">Retreat-Atmosph\u00e4re<\/span>\r\n    <h2 class=\"vda__title\" id=\"vda-title\">Eindr\u00fccke von der Reise<\/h2>\r\n  <\/header>\r\n\r\n  <div class=\"vda__gallery\">\r\n    <figure class=\"vda__frame vda__frame--tall\">\r\n      <img src=\"\/wp-content\/uploads\/2026\/08\/Yoga-Class-flamingo-retreat.webp\" alt=\"G\u00e4ste, die morgens am Fluss gemeinsam lachen\" loading=\"lazy\" decoding=\"async\">\r\n    <\/figure>\r\n\r\n    <figure class=\"vda__frame\">\r\n      <img src=\"\/wp-content\/uploads\/2026\/08\/Pouring-green-juice-into-glass.webp\" alt=\"Frischer gr\u00fcner Saft wird f\u00fcr Fasteng\u00e4ste eingeschenkt\" loading=\"lazy\" decoding=\"async\">\r\n    <\/figure>\r\n\r\n    <figure class=\"vda__frame vda__frame--short\">\r\n      <img src=\"\/wp-content\/uploads\/2026\/08\/Vietnam-detox-wellness-retreat-healthy-lifestyle-song-khoe-thai-doc-31.webp\" alt=\"Architektonisches Detail eines vietnamesischen Retreat-Innenhofs\" loading=\"lazy\" decoding=\"async\">\r\n    <\/figure>\r\n\r\n    <figure class=\"vda__frame\">\r\n      <img src=\"\/wp-content\/uploads\/2026\/08\/Vietnam-detox-wellness-retreat-healthy-lifestyle-song-khoe-thai-doc-30.webp\" alt=\"G\u00e4ste dehnen sich gemeinsam drau\u00dfen\" loading=\"lazy\" decoding=\"async\">\r\n    <\/figure>\r\n\r\n    <figure class=\"vda__frame\">\r\n      <img src=\"\/wp-content\/uploads\/2026\/05\/guests-relaxing-in-hot-spring.webp\" alt=\"G\u00e4ste entspannen in einem Mineralquellen-Pool\" loading=\"lazy\" decoding=\"async\">\r\n    <\/figure>\r\n  <\/div>\r\n<\/section>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-6416ebb e-con-full reassurance-strip e-flex e-con e-parent\" data-id=\"6416ebb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-92df250 elementor-widget elementor-widget-html\" data-id=\"92df250\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  Copy this entire file into ONE Elementor HTML widget.\r\n  Put elementor-reassurance-cards.css into the same widget's\r\n  Advanced > Custom CSS field.\r\n-->\r\n\r\n<section class=\"vrc\" data-vrc-section=\"\" aria-label=\"Why guests choose Vietnam Detox\">\r\n  <div class=\"vrc__grid\">\r\n    <article class=\"vrc__card vrc__card--forest vrc__reveal vrc__delay-1\" data-vrc-reveal=\"\">\r\n      <span class=\"vrc__eyebrow\">\u00dcber 10 Jahre Erfahrung<\/span>\r\n      <h3 class=\"vrc__title\">Buchinger-Fasten mit Sorgfalt und Struktur<\/h3>\r\n      <p class=\"vrc__copy\">\r\n  Unter der Leitung von Dieter Buchner und Tr\u01b0\u01a1ng T\u1ea5n Ho\u00e0n verbindet Vietnam Detox\r\n deutsche Buchinger-Fastentraditionen mit bodenst\u00e4ndiger vietnamesischer\r\n Gastfreundschaft \u2013 f\u00fcr Retreats, die ruhig, strukturiert und zutiefst\r\n menschlich wirken.\r\n      <\/p>\r\n    <\/article>\r\n\r\n    <article class=\"vrc__card vrc__card--panna vrc__reveal vrc__delay-2\" data-vrc-reveal=\"\">\r\n      <span class=\"vrc__eyebrow\">Durchgehend begleitet<\/span>\r\n      <h3 class=\"vrc__title\">Unterst\u00fctzung von der Anreise bis zur Abreise<\/h3>\r\n      <p class=\"vrc__copy\">\r\n  W\u00e4hrend der Retreats werden G\u00e4ste mit achtsamer\r\n Begleitung, praxisnaher Wissensvermittlung und gen\u00fcgend Raum unterst\u00fctzt, um wirklich\r\n herunterzufahren und sich wieder mit ges\u00fcnderen Rhythmen zu verbinden.\r\n      <\/p>\r\n    <\/article>\r\n\r\n    <article class=\"vrc__card vrc__card--ivory vrc__reveal vrc__delay-3\" data-vrc-reveal=\"\">\r\n      <span class=\"vrc__eyebrow\">Kleine Retreat-Gruppen<\/span>\r\n      <h3 class=\"vrc__title\">Maximal 14 G\u00e4ste pro Retreat<\/h3>\r\n      <p class=\"vrc__copy\">\r\n  Kleine Gruppen schaffen ruhigere Retreat-Erlebnisse mit mehr pers\u00f6nlicher\r\n Aufmerksamkeit, stillerer Umgebung und einer Atmosph\u00e4re, die nie\r\n \u00fcberf\u00fcllt oder unpers\u00f6nlich wirkt.\r\n      <\/p>\r\n    <\/article>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n\r\n  var sections = document.querySelectorAll('[data-vrc-section]');\r\n\r\n  sections.forEach(function(section) {\r\n    if (section.dataset.vrcReady === 'true') return;\r\n    section.dataset.vrcReady = 'true';\r\n\r\n    var cards = section.querySelectorAll('[data-vrc-reveal]');\r\n    var reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n\r\n    function revealAll() {\r\n      cards.forEach(function(card) {\r\n        card.classList.add('is-visible');\r\n      });\r\n    }\r\n\r\n    if (!cards.length || reducedMotion || !('IntersectionObserver' in window)) {\r\n      revealAll();\r\n      return;\r\n    }\r\n\r\n    var observer = new IntersectionObserver(function(entries) {\r\n      entries.forEach(function(entry) {\r\n        if (!entry.isIntersecting) return;\r\n        entry.target.classList.add('is-visible');\r\n        observer.unobserve(entry.target);\r\n      });\r\n    }, {\r\n      threshold: 0.12,\r\n      rootMargin: '0px 0px -40px 0px'\r\n    });\r\n\r\n    cards.forEach(function(card) {\r\n      observer.observe(card);\r\n    });\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-f8ca32e e-con-full e-flex elementor-invisible e-con e-parent\" data-id=\"f8ca32e\" data-element_type=\"container\" data-e-type=\"container\" id=\"method\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-053d89d elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"053d89d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\n  Vietnam Detox \u2014 Elementor Five Method Principles Section\n  Paste this entire file into one Elementor HTML widget.\n  Add method-principles.css separately as described in README.md.\n-->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Be+Vietnam+Pro:wght@300;400;500;600;700&display=swap\" rel=\"stylesheet\">\n\n<section id=\"method\" class=\"vnd-principles\" data-vnd-principles=\"\">\n  <div class=\"vnd-principles__inner\">\n    <div class=\"vnd-principles__layout\">\n      <div class=\"vnd-principles__left\">\n        <header class=\"vnd-principles__header\">\n          <span class=\"vnd-principles__eyebrow\">So funktioniert es<\/span>\n          <span class=\"vnd-principles__rule\" aria-hidden=\"true\"><\/span>\n\n          <h2 class=\"vnd-principles__headline\">\n  Die f\u00fcnf Kernprinzipien hinter\n            <span>nachhaltiger Erholung<\/span>\n          <\/h2>\n\n          <div class=\"vnd-principles__introduction\">\n            <p>\n  Jedes Vietnam-Detox-Retreat folgt einem ruhigen, strukturierten Rhythmus,\n der auf Fasten, Ruhe, Bewegung und behutsamem Wiederaufbau basiert.\n            <\/p>\n\n            <p>\n  Diese f\u00fcnf Prinzipien schaffen ein Erlebnis, das sich\n unterst\u00fctzend, verst\u00e4ndlich und nachhaltig anf\u00fchlt \u2013 statt extrem\n oder \u00fcberw\u00e4ltigend.\n            <\/p>\n\n            <p>\n  Das Ziel ist nicht Intensit\u00e4t oder Leistung. Das Ziel ist, dem\n K\u00f6rper zu helfen, langsamer zu werden, sich zu erholen und mit der Zeit wieder Stabilit\u00e4t zu gewinnen. \n            <\/p>\n          <\/div>\n        <\/header>\n\n        <figure class=\"vnd-principles__visual\">\n          <img decoding=\"async\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/gallery\/guest-sitting-on-mountain-vietnam-16-9.webp\" alt=\"Gast macht ruhig Pause an einem Berg-Aussichtspunkt\" loading=\"lazy\">\n        <\/figure>\n      <\/div>\n\n      <div class=\"vnd-principles__cards\">\n        <article class=\"vnd-principle-card\" data-principle-reveal=\"\">\n          <h3>Ihren K\u00f6rper verstehen<\/h3>\n          <p>\n  Wir erkl\u00e4ren, was in Ihrem K\u00f6rper passiert, damit sich der Fastenprozess\n klar anf\u00fchlt statt \u00fcberw\u00e4ltigend.\n          <\/p>\n          <p>\n  Viele G\u00e4ste gehen mit einem besseren Verst\u00e4ndnis f\u00fcr ihre Energie-,\n Hunger-, Schlaf- und Erholungsmuster.\n          <\/p>\n        <\/article>\n\n        <article class=\"vnd-principle-card\" data-principle-reveal=\"\">\n          <h3>Kleine Gruppen & ehrliche Unterst\u00fctzung<\/h3>\n          <p>\n  Die Gruppen bleiben bewusst klein \u2013 mit maximal 14 G\u00e4sten.\n          <\/p>\n          <p>\n  Viele Menschen empfinden Erleichterung, Stress,\n Druck und Ersch\u00f6pfung eine Zeit lang nicht ganz allein tragen zu m\u00fcssen.\n          <\/p>\n        <\/article>\n\n        <article class=\"vnd-principle-card\" data-principle-reveal=\"\">\n          <h3>Ruhe & Schlaf<\/h3>\n          <p>\n  Die meisten G\u00e4ste kommen mental \u00fcberstimuliert und k\u00f6rperlich\n ersch\u00f6pft an.\n          <\/p>\n          <p>\n  Ein ruhigerer Rhythmus, weniger Reize und mehr Ruhe helfen dem\n K\u00f6rper oft, herunterzufahren und wieder tiefer zu schlafen.\n          <\/p>\n        <\/article>\n\n        <article class=\"vnd-principle-card\" data-principle-reveal=\"\">\n          <h3>Sanfte Bewegung & Natur<\/h3>\n          <p>Bewegung bleibt unterst\u00fctzend statt fordernd.<\/p>\n          <p>\n  Spazierg\u00e4nge, Dehnen und Zeit drau\u00dfen helfen vielen G\u00e4sten, sich wieder aktiv zu f\u00fchlen,\n ohne Druck, Leistungsdenken oder Ersch\u00f6pfung.\n          <\/p>\n        <\/article>\n\n        <article class=\"vnd-principle-card vnd-principle-card--centered\" data-principle-reveal=\"\">\n          <h3>Sichere & strukturierte Begleitung<\/h3>\n          <p>\n  Der Fastenprozess wird sorgf\u00e4ltig, realistisch und mit Blick auf langfristiges Wohlbefinden\n begleitet.\n          <\/p>\n          <p>\n  Keine extremen Versprechen. Kein Druck, alles zu optimieren. Nur ruhige\n Struktur, Wissen und verantwortungsvolle Unterst\u00fctzung.  \n          <\/p>\n        <\/article>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<script>\n(function () {\n  \"use strict\";\n\n  var sections = document.querySelectorAll(\n    \"[data-vnd-principles]:not([data-vnd-principles-ready])\"\n  );\n\n  sections.forEach(function (section) {\n    section.setAttribute(\"data-vnd-principles-ready\", \"true\");\n\n    var cards = section.querySelectorAll(\"[data-principle-reveal]\");\n    if (!cards.length) return;\n\n    Array.prototype.forEach.call(cards, function (card, index) {\n      card.style.setProperty(\"--vnd-reveal-delay\", index * 0.12 + \"s\");\n    });\n\n    var reducedMotion = window.matchMedia(\n      \"(prefers-reduced-motion: reduce)\"\n    ).matches;\n\n    function showAllCards() {\n      Array.prototype.forEach.call(cards, function (card) {\n        card.classList.add(\"is-visible\");\n      });\n    }\n\n    if (reducedMotion || !(\"IntersectionObserver\" in window)) {\n      showAllCards();\n      return;\n    }\n\n    var observer = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        if (!entry.isIntersecting) return;\n\n        entry.target.classList.add(\"is-visible\");\n        observer.unobserve(entry.target);\n      });\n    }, {\n      threshold: 0.12,\n      rootMargin: \"0px 0px -30px 0px\"\n    });\n\n    Array.prototype.forEach.call(cards, function (card) {\n      observer.observe(card);\n    });\n  });\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-c42df70 e-con-full e-flex elementor-invisible e-con e-parent\" data-id=\"c42df70\" data-element_type=\"container\" data-e-type=\"container\" id=\"retreats\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-28118b3 eyebrow eyebrow-forest elementor-widget elementor-widget-heading\" data-id=\"28118b3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">Kommende Retreats<\/span>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8da86fc elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-widget elementor-widget-heading\" data-id=\"8da86fc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><h2 class=\"s-headline\" style=\"font-size:clamp(40px,5vw,60px);font-weight:300;font-style:italic\">Verschiedene Formen von <span style=\"color:var(--ember);font-style:italic\">Ersch\u00f6pfung<\/span> brauchen unterschiedliche Arten der Erholung.<\/h2><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div data-dce-text-color=\"#1E3D20\" class=\"elementor-element elementor-element-c1fe6fe elementor-widget elementor-widget-text-editor\" data-id=\"c1fe6fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p class=\"s-desc\" style=\"margin-bottom: 0px;\">Manche G\u00e4ste brauchen tiefe Ruhe, andere eine ruhigere Struktur oder Unterst\u00fctzung rund um Ess- und Energierhythmen. Erholung sieht von Mensch zu Mensch anders aus. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1d26aa7 elementor-widget elementor-widget-html\" data-id=\"1d26aa7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--This is the html content for the retreat calendar widget-->\n<div data-retreat-section=\"\" data-api=\"\/wp-json\/retreats\/v1\/all\">\n\n  <!-- CALENDAR -->\n  <div class=\"retreat-calendar\" aria-labelledby=\"retreat-calendar-title\">\n    <div class=\"retreat-calendar-header\">\n      <div>\n        <span class=\"retreat-calendar-eyebrow\">RETREAT-TERMINE<\/span>\n\n        <h3 class=\"retreat-calendar-title\" id=\"retreat-calendar-title\">\n  W\u00e4hlen Sie Ihren Reisemonat\n        <\/h3>\n\n        <p class=\"retreat-calendar-copy\">\n  Sehen Sie, welche Retreats in dem Monat verf\u00fcgbar sind, der zu Ihren Pl\u00e4nen passt.\n        <\/p>\n      <\/div>\n\n      <p class=\"retreat-calendar-note\">\n  Termine k\u00f6nnen sich \u00e4ndern. Bitte best\u00e4tigen Sie diese vor der Buchung. \n      <\/p>\n    <\/div>\n\n    <div class=\"retreat-calendar-divider\" aria-hidden=\"true\"><\/div>\n\n    <div class=\"retreat-calendar-months\" id=\"retreat-calendar-months\" aria-label=\"Choose a travel month\">\n    <\/div>\n\n    <div class=\"retreat-calendar-results\">\n      <h4 class=\"retreat-calendar-results-title\" id=\"retreat-calendar-results-title\">\n  Verf\u00fcgbare Retreats\n      <\/h4>\n\n      <div class=\"retreat-calendar-list\" id=\"retreat-calendar-list\" aria-live=\"polite\">\n      <\/div>\n\n      <p class=\"retreat-calendar-empty is-visible\" id=\"retreat-calendar-empty\">\n  Retreat-Termine werden geladen\u2026\n      <\/p>\n\n      <a href=\"#retreat-options\" class=\"retreat-calendar-action\">\n  Retreat-Optionen ansehen\n      <\/a>\n\n      <p class=\"retreat-calendar-planning-note\">\n  Die meisten Retreats dauern 5\u20137 N\u00e4chte. Wir empfehlen, wenn m\u00f6glich, einen Tag fr\u00fcher anzureisen. \n      <\/p>\n    <\/div>\n  <\/div>\n\n  <!-- ORIENTATION GRID -->\n  <div class=\"retreat-orientation-grid\">\n\n    <div class=\"retreat-orientation-item\">\n      <div class=\"retreat-orientation-icon\" aria-hidden=\"true\">\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" role=\"presentation\" focusable=\"false\">\n          <path d=\"M12 3a8.5 8.5 0 1 0 9 9 7 7 0 0 1-9-9Z\"><\/path>\n        <\/path><\/svg>\n      <\/div>\n\n      <div class=\"retreat-orientation-title\">\n  Tiefe\n        <span style=\"color:var(--ember);font-style:italic;\">Ruhe<\/span>\n      <\/div>\n\n      <p class=\"retreat-orientation-copy\">\n  Die F\u00e4higkeit, mental langsamer zu werden und wieder vollst\u00e4ndig abzuschalten.\n      <\/p>\n    <\/div>\n\n    <div class=\"retreat-orientation-item\">\n      <div class=\"retreat-orientation-icon\" aria-hidden=\"true\">\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" role=\"presentation\" focusable=\"false\">\n          <circle cx=\"12\" cy=\"12\" r=\"8\"><\/circle>\n          <path d=\"M12 7v5l3 2\"><\/path>\n        <\/path><\/svg>\n      <\/div>\n\n      <div class=\"retreat-orientation-title\">\n  Strukturierter\n        <span style=\"color:var(--ember);font-style:italic;\">Neustart<\/span>\n      <\/div>\n\n      <p class=\"retreat-orientation-copy\">\n  Ruhigere Routinen, stabilere Struktur und begleitete Unterst\u00fctzung zur Erholung.\n      <\/p>\n    <\/div>\n\n    <div class=\"retreat-orientation-item\">\n      <div class=\"retreat-orientation-icon\" aria-hidden=\"true\">\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" role=\"presentation\" focusable=\"false\">\n          <path d=\"M6 15c3-6 9-8 12-8-1 4-3 10-9 12-2-1-3-2-3-4z\"><\/path>\n          <path d=\"M9 13c1 0 3-1 5-3\"><\/path>\n        <\/path><\/path><\/svg>\n      <\/div>\n\n      <div class=\"retreat-orientation-title\">\n  Essen & K\u00f6rper\n        <span style=\"color:var(--ember);font-style:italic;\">Rhythmus<\/span>\n      <\/div>\n\n      <p class=\"retreat-orientation-copy\">\n  Ein entspannteres Verh\u00e4ltnis zu Essen, Verdauung und t\u00e4glicher Energie.\n      <\/p>\n    <\/div>\n\n  <\/div>\n\n  <!-- DYNAMIC RETREAT CARDS -->\n  <div class=\"cards-grid retreat-main-grid\" id=\"retreat-options\" data-retreat-cards=\"\">\n\n    <p class=\"retreat-calendar-empty is-visible\" style=\"grid-column:1\/-1;text-align:center;\">\n  Retreats werden geladen\u2026\n    <\/p>\n  <\/div>\n\n<\/div>\n\n<script>\n(function () {\n  const root = document.querySelector(\"[data-retreat-section]\");\n\n  if (!root || root.dataset.retreatReady === \"true\") return;\n  root.dataset.retreatReady = \"true\";\n\n  const TEXT = {\n    en: {\n      locale: \"en-GB\",\n      date: \"date\",\n      dates: \"dates\",\n      noDates: \"No dates yet\",\n      loading: \"Loading retreat dates\u2026\",\n      noMonth: \"No upcoming retreats are available for this month.\",\n      noRetreats: \"No retreats are currently available.\",\n      error: \"Could not load retreat information. Please try again later.\",\n      limited: \"Limited places\",\n      available: \"Available retreats\",\n      multipleDates: \"Multiple dates available\",\n      oneDate: \"1 date available\",\n      byRequest: \"By request\",\n      nextDate: \"Next date\",\n      viewOther: \"View other dates\",\n      hideOther: \"Hide other dates\",\n      startingFrom: \"Starting from\",\n      contactPrice: \"Contact for pricing\",\n      details: \"View Retreat Details\",\n      earlyBooking: \"Early booking\"\n    },\n\n    vi: {\n      locale: \"vi-VN\",\n      date: \"l\u1ecbch\",\n      dates: \"l\u1ecbch\",\n      noDates: \"Ch\u01b0a c\u00f3 l\u1ecbch\",\n      loading: \"\u0110ang t\u1ea3i l\u1ecbch retreat\u2026\",\n      noMonth: \"Kh\u00f4ng c\u00f3 l\u1ecbch retreat trong th\u00e1ng n\u00e0y.\",\n      noRetreats: \"Hi\u1ec7n t\u1ea1i ch\u01b0a c\u00f3 retreat.\",\n      error: \"Kh\u00f4ng th\u1ec3 t\u1ea3i th\u00f4ng tin retreat. Vui l\u00f2ng th\u1eed l\u1ea1i sau.\",\n      limited: \"S\u1ed1 ch\u1ed7 c\u00f3 h\u1ea1n\",\n      available: \"Retreat hi\u1ec7n c\u00f3\",\n      multipleDates: \"C\u00f3 nhi\u1ec1u l\u1ecbch\",\n      oneDate: \"C\u00f3 1 l\u1ecbch\",\n      byRequest: \"Theo y\u00eau c\u1ea7u\",\n      nextDate: \"L\u1ecbch ti\u1ebfp theo\",\n      viewOther: \"Xem c\u00e1c l\u1ecbch kh\u00e1c\",\n      hideOther: \"\u1ea8n c\u00e1c l\u1ecbch kh\u00e1c\",\n      startingFrom: \"Gi\u00e1 t\u1eeb\",\n      contactPrice: \"Li\u00ean h\u1ec7 \u0111\u1ec3 bi\u1ebft gi\u00e1\",\n      details: \"Xem chi ti\u1ebft Retreat\",\n      earlyBooking: \"\u01afu \u0111\u00e3i \u0111\u1eb7t s\u1edbm\"\n    },\n\n    de: {\n      locale: \"de-DE\",\n      date: \"Termin\",\n      dates: \"Termine\",\n      noDates: \"Noch keine Termine\",\n      loading: \"Retreat-Termine werden geladen\u2026\",\n      noMonth: \"In diesem Monat sind keine Retreats verf\u00fcgbar.\",\n      noRetreats: \"Derzeit sind keine Retreats verf\u00fcgbar.\",\n      error: \"Die Retreat-Informationen konnten nicht geladen werden.\",\n      limited: \"Begrenzte Pl\u00e4tze\",\n      available: \"Verf\u00fcgbare Retreats\",\n      multipleDates: \"Mehrere Termine verf\u00fcgbar\",\n      oneDate: \"1 Termin verf\u00fcgbar\",\n      byRequest: \"Auf Anfrage\",\n      nextDate: \"N\u00e4chster Termin\",\n      viewOther: \"Weitere Termine\",\n      hideOther: \"Termine ausblenden\",\n      startingFrom: \"Ab\",\n      contactPrice: \"Preis auf Anfrage\",\n      details: \"Retreat ansehen\",\n      earlyBooking: \"Fr\u00fchbuchung\"\n    }\n  };\n\n  const detectedLanguage = (\n    document.documentElement.lang || \"en\"\n  ).toLowerCase().split(\/[-_]\/)[0];\n\n  const language = TEXT[detectedLanguage] ? detectedLanguage : \"en\";\n  const text = TEXT[language];\n  const locale = text.locale;\n\n  const monthStrip = root.querySelector(\"#retreat-calendar-months\");\n  const calendarList = root.querySelector(\"#retreat-calendar-list\");\n  const calendarTitle = root.querySelector(\n    \"#retreat-calendar-results-title\"\n  );\n  const calendarMessage = root.querySelector(\"#retreat-calendar-empty\");\n  const cardsGrid = root.querySelector(\"[data-retreat-cards]\");\n\n  const today = new Date();\n  today.setHours(0, 0, 0, 0);\n\n  function parseApiDate(value) {\n    if (!value) return null;\n\n    let match = String(value).match(\n      \/^(\\d{1,2})\\\/(\\d{1,2})\\\/(\\d{4})$\/\n    );\n\n    if (match) {\n      const month = Number(match[1]);\n      const day = Number(match[2]);\n      const year = Number(match[3]);\n      const result = new Date(year, month - 1, day);\n\n      if (\n        result.getFullYear() === year &&\n        result.getMonth() === month - 1 &&\n        result.getDate() === day\n      ) {\n        return result;\n      }\n\n      return null;\n    }\n\n    match = String(value).match(\n      \/^(\\d{4})-(\\d{2})-(\\d{2})$\/\n    );\n\n    if (match) {\n      return new Date(\n        Number(match[1]),\n        Number(match[2]) - 1,\n        Number(match[3])\n      );\n    }\n\n    return null;\n  }\n\n  function monthKey(date) {\n    return date.getFullYear() + \"-\" +\n      String(date.getMonth() + 1).padStart(2, \"0\");\n  }\n\n  function safeUrl(value) {\n    if (!value || typeof value !== \"string\") return null;\n\n    try {\n      const url = new URL(value, window.location.origin);\n\n      return [\"http:\", \"https:\"].includes(url.protocol)\n        ? url.href\n        : null;\n    } catch (error) {\n      return null;\n    }\n  }\n\n  function escapeHtml(value) {\n    const element = document.createElement(\"div\");\n    element.textContent = value == null ? \"\" : String(value);\n    return element.innerHTML;\n  }\n\n  function plainText(value) {\n    const parsed = new DOMParser().parseFromString(\n      String(value || \"\"),\n      \"text\/html\"\n    );\n\n    return parsed.body.textContent.trim();\n  }\n\n  function getUpcomingDates(retreat) {\n    if (!Array.isArray(retreat.dates)) return [];\n\n    return retreat.dates\n      .map(function (schedule) {\n        const start = parseApiDate(schedule.start);\n        const end = parseApiDate(schedule.end) || start;\n\n        return {\n          schedule: schedule,\n          start: start,\n          end: end\n        };\n      })\n      .filter(function (item) {\n        return item.start && item.end && item.end >= today;\n      })\n      .sort(function (a, b) {\n        return a.start - b.start;\n      });\n  }\n\n  function formatDateRange(item) {\n    const formatter = new Intl.DateTimeFormat(locale, {\n      day: \"2-digit\",\n      month: \"short\",\n      year: \"numeric\"\n    });\n\n    if (\n      item.end &&\n      typeof formatter.formatRange === \"function\"\n    ) {\n      return formatter.formatRange(item.start, item.end);\n    }\n\n    if (item.end) {\n      return formatter.format(item.start) +\n        \" \u2013 \" +\n        formatter.format(item.end);\n    }\n\n    return formatter.format(item.start);\n  }\n\n  function showCalendarMessage(message) {\n    calendarMessage.textContent = message;\n    calendarMessage.classList.toggle(\n      \"is-visible\",\n      Boolean(message)\n    );\n  }\n\n  function renderCalendar(retreats) {\n    const schedules = [];\n\n    retreats.forEach(function (retreat) {\n      getUpcomingDates(retreat).forEach(function (item) {\n        schedules.push({\n          retreatId: retreat.id,\n          name: retreat.name || \"\",\n          location: retreat.location || \"\",\n          url: retreat.url || \"\",\n          start: item.start,\n          end: item.end,\n          limited: item.schedule.limited === true\n        });\n      });\n    });\n\n    schedules.sort(function (a, b) {\n      return a.start - b.start;\n    });\n\n    const planningMonths = Array.from(\n      { length: 9 },\n      function (_, index) {\n        return monthKey(\n          new Date(\n            today.getFullYear(),\n            today.getMonth() + index,\n            1\n          )\n        );\n      }\n    );\n\n    const counts = {};\n\n    schedules.forEach(function (schedule) {\n      const key = monthKey(schedule.start);\n      counts[key] = (counts[key] || 0) + 1;\n    });\n\n    let selectedMonth = planningMonths.find(function (key) {\n      return counts[key] > 0;\n    }) || null;\n\n    const monthFormatter = new Intl.DateTimeFormat(locale, {\n      month: \"long\",\n      year: \"numeric\"\n    });\n\n    const shortMonthFormatter = new Intl.DateTimeFormat(locale, {\n      month: \"short\"\n    });\n\n    function renderMonthButtons() {\n      monthStrip.replaceChildren();\n\n      planningMonths.forEach(function (key) {\n        const count = counts[key] || 0;\n        const parts = key.split(\"-\");\n\n        const monthDate = new Date(\n          Number(parts[0]),\n          Number(parts[1]) - 1,\n          1\n        );\n\n        const button = document.createElement(\"button\");\n        button.type = \"button\";\n        button.className = \"retreat-calendar-month-button\";\n        button.disabled = count === 0;\n        button.setAttribute(\n          \"aria-pressed\",\n          String(selectedMonth === key)\n        );\n\n        if (selectedMonth === key) {\n          button.classList.add(\"is-active\");\n        }\n\n        const monthName = document.createElement(\"span\");\n        monthName.className = \"retreat-calendar-month-name\";\n        monthName.textContent = shortMonthFormatter\n          .format(monthDate)\n          .toLocaleUpperCase(locale);\n\n        const year = document.createElement(\"span\");\n        year.className = \"retreat-calendar-month-year\";\n        year.textContent = parts[0];\n\n        const countElement = document.createElement(\"span\");\n        countElement.className = \"retreat-calendar-month-count\";\n\n        countElement.textContent = count\n          ? count + \" \" + (count === 1 ? text.date : text.dates)\n          : text.noDates;\n\n        button.append(monthName, year, countElement);\n\n        if (count) {\n          button.addEventListener(\"click\", function () {\n            selectedMonth = key;\n            renderMonthButtons();\n            renderCalendarRows();\n          });\n        }\n\n        monthStrip.appendChild(button);\n      });\n    }\n\n    function renderCalendarRows() {\n      calendarList.replaceChildren();\n\n      if (!selectedMonth) {\n        calendarTitle.textContent =\n          text.available.toLocaleUpperCase(locale);\n\n        showCalendarMessage(text.noMonth);\n        return;\n      }\n\n      const matches = schedules.filter(function (schedule) {\n        return monthKey(schedule.start) === selectedMonth;\n      });\n\n      const parts = selectedMonth.split(\"-\");\n\n      const monthDate = new Date(\n        Number(parts[0]),\n        Number(parts[1]) - 1,\n        1\n      );\n\n      calendarTitle.textContent = monthFormatter\n        .format(monthDate)\n        .toLocaleUpperCase(locale);\n\n      showCalendarMessage(matches.length ? \"\" : text.noMonth);\n\n      matches.forEach(function (schedule) {\n        const row = document.createElement(\"article\");\n        row.className = \"retreat-calendar-item\";\n\n        const date = document.createElement(\"span\");\n        date.className = \"retreat-calendar-date\";\n\n        const day = document.createElement(\"span\");\n        day.className = \"retreat-calendar-day\";\n\n        day.textContent = new Intl.DateTimeFormat(locale, {\n          day: \"2-digit\"\n        }).format(schedule.start);\n\n        const month = document.createElement(\"span\");\n        month.className = \"retreat-calendar-item-month\";\n\n        month.textContent = shortMonthFormatter\n          .format(schedule.start)\n          .toLocaleUpperCase(locale);\n\n        date.append(day, month);\n\n        const retreatUrl = safeUrl(schedule.url);\n\n        const name = document.createElement(\n          retreatUrl ? \"a\" : \"span\"\n        );\n\n        name.className = \"retreat-calendar-name\";\n        name.textContent = schedule.name;\n\n        if (retreatUrl) {\n          name.href = retreatUrl;\n        }\n\n        const location = document.createElement(\"span\");\n        location.className = \"retreat-calendar-location\";\n        location.textContent = schedule.location;\n\n        row.append(date, name, location);\n\n        if (schedule.limited) {\n          const badge = document.createElement(\"span\");\n          badge.className = \"retreat-calendar-status\";\n          badge.textContent = text.limited;\n          row.appendChild(badge);\n        }\n\n        calendarList.appendChild(row);\n      });\n    }\n\n    renderMonthButtons();\n    renderCalendarRows();\n  }\n\n  function renderCards(retreats) {\n    if (!retreats.length) {\n      cardsGrid.innerHTML =\n        '<p class=\"retreat-calendar-empty is-visible\" ' +\n        'style=\"grid-column:1\/-1;text-align:center;\">' +\n        escapeHtml(text.noRetreats) +\n        \"<\/p>\";\n\n      return;\n    }\n\n    const cards = retreats.map(function (retreat, index) {\n      const upcomingDates = getUpcomingDates(retreat);\n      const retreatUrl = safeUrl(retreat.url);\n      const imageUrl = safeUrl(retreat.image);\n\n      const name = retreat.name || \"Retreat\";\n      const location = retreat.location || \"Retreat\";\n      const description = plainText(retreat.description);\n\n      const prices = Array.isArray(retreat.packages)\n        ? retreat.packages\n            .map(function (item) {\n              return Number(item.price);\n            })\n            .filter(function (price) {\n              return Number.isFinite(price) && price > 0;\n            })\n        : [];\n\n      const minimumPrice = prices.length\n        ? Math.min.apply(null, prices)\n        : null;\n\n      const priceText = minimumPrice\n        ? text.startingFrom + \" \" +\n          new Intl.NumberFormat(locale, {\n            style: \"currency\",\n            currency: \"VND\",\n            maximumFractionDigits: 0\n          }).format(minimumPrice)\n        : text.contactPrice;\n\n      const uniqueId =\n        \"retreat-extra-dates-\" +\n        String(retreat.id || index).replace(\n          \/[^a-zA-Z0-9_-]\/g,\n          \"\"\n        );\n\n      let badge = text.byRequest;\n\n      if (upcomingDates.length > 1) {\n        badge = text.multipleDates;\n      } else if (upcomingDates.length === 1) {\n        badge = text.oneDate;\n      }\n\n      let datesMarkup = \"\";\n\n      if (upcomingDates.length) {\n        const nextDate = formatDateRange(upcomingDates[0]);\n\n        const additionalDates = upcomingDates\n          .slice(1)\n          .map(function (item) {\n            return \"<li>\" +\n              escapeHtml(formatDateRange(item)) +\n              \"<\/li>\";\n          })\n          .join(\"\");\n\n        datesMarkup = `\n          <div class=\"retreat-date-line\">\n            <span class=\"retreat-meta-label\">\n              ${escapeHtml(text.nextDate)}\n            <\/span>\n\n            <span class=\"retreat-date-value\">\n              ${escapeHtml(nextDate)}\n            <\/span>\n          <\/div>\n\n          ${additionalDates ? `\n            <div class=\"retreat-extra-dates is-collapsed\" id=\"${escapeHtml(uniqueId)}\">\n              <ul>${additionalDates}<\/ul>\n            <\/div>\n\n            <button class=\"retreat-dates-toggle\" type=\"button\" data-card-dates-toggle aria-controls=\"${escapeHtml(uniqueId)}\" aria-expanded=\"false\" data-open-label=\"${escapeHtml(text.viewOther)}\" data-close-label=\"${escapeHtml(text.hideOther)}\">\n              ${escapeHtml(text.viewOther)}\n            <\/button>\n          ` : \"\"}\n        `;\n      } else {\n        datesMarkup = `\n          <div class=\"retreat-date-line\">\n            <span class=\"retreat-date-value\">\n              ${escapeHtml(text.byRequest)}\n            <\/span>\n          <\/div>\n        `;\n      }\n\n      const imageMarkup = imageUrl\n        ? `\n          <img src=\"${escapeHtml(imageUrl)}\" alt=\"${escapeHtml(name)}\" loading=\"lazy\" decoding=\"async\" style=\"\n              position:absolute;\n              inset:0;\n              width:100%;\n              height:100%;\n              object-fit:cover;\n              z-index:0;\n              transition:filter 0.5s ease;\n            \">\n        `\n        : \"\";\n\n      const imageStart = retreatUrl\n        ? `\n          <a href=\"${escapeHtml(retreatUrl)}\" class=\"retreat-card-img\" aria-label=\"${escapeHtml(name)}\" style=\"background:none;position:relative;overflow:hidden;\">\n        `\n        : `\n          <div class=\"retreat-card-img\" style=\"position:relative;overflow:hidden;\">\n        `;\n\n      const imageEnd = retreatUrl ? \"<\/a>\" : \"<\/div>\";\n\n      const title = retreatUrl\n        ? `\n          <a href=\"${escapeHtml(retreatUrl)}\">\n            ${escapeHtml(name)}\n          <\/a>\n        `\n        : escapeHtml(name);\n\n      const earlyBirdMarkup = retreat.earlyBirdNote\n        ? `\n          <div class=\"retreat-meta-block\">\n            <span class=\"retreat-meta-label\">\n              ${escapeHtml(text.earlyBooking)}\n            <\/span>\n\n            <p class=\"retreat-meta-value\">\n              ${escapeHtml(plainText(retreat.earlyBirdNote))}\n            <\/p>\n          <\/div>\n        `\n        : \"\";\n\n      const detailButton = retreatUrl\n        ? `\n          <a href=\"${escapeHtml(retreatUrl)}\" class=\"retreat-btn\">\n            ${escapeHtml(text.details)}\n          <\/a>\n        `\n        : \"\";\n\n      return `\n        <article class=\"retreat-card\">\n\n          ${imageStart}\n            ${imageMarkup}\n\n            <span class=\"dates-badge\" style=\"position:relative;z-index:2;\">\n              ${escapeHtml(badge)}\n            <\/span>\n          ${imageEnd}\n\n          <div style=\"\n              height:6px;\n              width:100%;\n              display:block;\n              background:var(--ember);\n              flex-shrink:0;\n            \">\n          <\/div>\n\n          <div class=\"retreat-card-body\">\n\n            <div class=\"retreat-card-top\">\n              <span class=\"tag\">\n                ${escapeHtml(location)}\n              <\/span>\n\n              <h4>${title}<\/h4>\n            <\/div>\n\n            ${description ? `\n              <div class=\"retreat-card-summary\">\n                <p>${escapeHtml(description)}<\/p>\n              <\/div>\n            ` : \"\"}\n\n            ${earlyBirdMarkup}\n\n            <div class=\"retreat-date-block\">\n              ${datesMarkup}\n            <\/div>\n\n            <div class=\"retreat-card-footer\">\n              <div class=\"price\">\n                ${escapeHtml(priceText)}\n              <\/div>\n\n              ${detailButton}\n            <\/div>\n\n          <\/div>\n        <\/article>\n      `;\n    });\n\n    cardsGrid.innerHTML = cards.join(\"\");\n\n    cardsGrid\n      .querySelectorAll(\"[data-card-dates-toggle]\")\n      .forEach(function (button) {\n        button.addEventListener(\"click\", function () {\n          const target = document.getElementById(\n            button.getAttribute(\"aria-controls\")\n          );\n\n          if (!target) return;\n\n          const collapsed = target.classList.toggle(\n            \"is-collapsed\"\n          );\n\n          button.setAttribute(\n            \"aria-expanded\",\n            String(!collapsed)\n          );\n\n          button.textContent = collapsed\n            ? button.dataset.openLabel\n            : button.dataset.closeLabel;\n        });\n      });\n  }\n\n  async function loadRetreats() {\n    try {\n      const retreats = await getSharedRetreatApi().load(\n        root.dataset.api || \"\/wp-json\/retreats\/v1\/all\",\n        language\n      );\n\n      renderCalendar(retreats);\n      renderCards(retreats);\n\n    } catch (error) {\n      console.error(\"Retreat API:\", error);\n\n      monthStrip.replaceChildren();\n      calendarList.replaceChildren();\n\n      showCalendarMessage(text.error);\n\n      cardsGrid.innerHTML =\n        '<p class=\"retreat-calendar-empty is-visible\" ' +\n        'style=\"grid-column:1\/-1;text-align:center;\">' +\n        escapeHtml(text.error) +\n        \"<\/p>\";\n    }\n  }\n\nfunction getSharedRetreatApi() {\n  if (window.VietnamDetoxRetreatAPI) {\n    return window.VietnamDetoxRetreatAPI;\n  }\n\n  window.VietnamDetoxRetreatAPI = {\n    requests: {},\n\n    load: function(apiPath, requestedLanguage) {\n      var apiUrl = new URL(\n        apiPath || '\/wp-json\/retreats\/v1\/all',\n        window.location.origin\n      );\n\n      apiUrl.searchParams.set(\n        'lang',\n        requestedLanguage || 'en'\n      );\n\n      var cacheKey = apiUrl.href;\n\n      if (!this.requests[cacheKey]) {\n        this.requests[cacheKey] = fetch(cacheKey, {\n          headers: { Accept: 'application\/json' }\n        })\n          .then(function(response) {\n            if (!response.ok) {\n              throw new Error(\n                'Retreat API returned HTTP ' + response.status\n              );\n            }\n\n            return response.json();\n          })\n          .then(function(retreats) {\n            if (!Array.isArray(retreats)) {\n              throw new Error('Unexpected retreat API response');\n            }\n\n            return retreats;\n          })\n          .catch(function(error) {\n            delete window.VietnamDetoxRetreatAPI.requests[cacheKey];\n            throw error;\n          });\n      }\n\n      return this.requests[cacheKey];\n    }\n  };\n\n  return window.VietnamDetoxRetreatAPI;\n}\n\n  loadRetreats();\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8be7e55 elementor-widget elementor-widget-html\" data-id=\"8be7e55\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\n  Copy this entire file into ONE Elementor HTML widget.\n  Put retreat-quiz.css into that widget's Advanced > Custom CSS field.\n-->\n\n<div class=\"rdq\" data-retreat-quiz=\"\" data-api=\"\/wp-json\/retreats\/v1\/all\">\n  <div class=\"rdq-transition\">Nicht sicher, welches Retreat passt?<\/div>\n\n  <section class=\"rdq-intro\" aria-labelledby=\"rdq-intro-title\">\n    <div class=\"rdq-intro-grid\">\n      <div class=\"rdq-intro-copy\">\n        <span class=\"rdq-eyebrow\">RETREAT-ORIENTIERUNGSQUIZ<\/span>\n        <h3 id=\"rdq-intro-title\">\n  Finden Sie das Retreat, das <em>zu Ihrer aktuellen Situation passt<\/em>.\n        <\/h3>\n        <p>\n  Beantworten Sie ein paar ruhige Fragen zu Ihren aktuellen Vorlieben, dem gew\u00fcnschten\n Retreat-Rhythmus und der Art von Unterst\u00fctzung, die sich f\u00fcr Sie richtig anf\u00fchlt.\n        <\/p>\n        <p class=\"rdq-intro-note\">\n  Dauert etwa zwei Minuten. Keine Diagnose. Nur Orientierung.  \n        <\/p>\n      <\/div>\n\n      <div class=\"rdq-intro-divider\" aria-hidden=\"true\"><\/div>\n\n      <div class=\"rdq-intro-side\">\n        <span class=\"rdq-kicker\">IN ZWEI MINUTEN<\/span>\n        <ul class=\"rdq-list\">\n          <li><span class=\"rdq-bullet\" aria-hidden=\"true\"><\/span><span>Beantworten Sie 8 Fragen zu Ihren Pr\u00e4ferenzen<\/span><\/li>\n          <li><span class=\"rdq-bullet\" aria-hidden=\"true\"><\/span><span>Vergleichen Sie die verf\u00fcgbaren Retreat-Optionen<\/span><\/li>\n          <li><span class=\"rdq-bullet\" aria-hidden=\"true\"><\/span><span>Sehen Sie Live-Termine, Orte und Preise<\/span><\/li>\n        <\/ul>\n\n        <button class=\"rdq-btn rdq-btn-ember\" type=\"button\" data-rdq-open=\"\" aria-haspopup=\"dialog\" aria-controls=\"rdq-modal\" aria-expanded=\"false\">\n  Retreat-Quiz starten\n        <\/button>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <div class=\"rdq-modal\" id=\"rdq-modal\" data-rdq-modal=\"\" aria-hidden=\"true\" hidden=\"\">\n\n    <div class=\"rdq-backdrop\" data-rdq-close=\"\" aria-hidden=\"true\"><\/div>\n\n    <section class=\"rdq-dialog\" data-rdq-dialog=\"\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"rdq-modal-title\" aria-describedby=\"rdq-modal-note\" tabindex=\"-1\">\n\n      <header class=\"rdq-topbar\">\n        <div>\n          <span class=\"rdq-modal-eyebrow\">RETREAT-QUIZ<\/span>\n          <h3 class=\"rdq-modal-title\" id=\"rdq-modal-title\">Finden Sie Ihr am besten passendes Retreat<\/h3>\n          <p class=\"rdq-modal-note\" id=\"rdq-modal-note\">Ein paar ruhige Fragen, die Ihnen helfen, mit mehr Klarheit zu w\u00e4hlen.<\/p>\n        <\/div>\n\n        <button type=\"button\" class=\"rdq-close\" data-rdq-close=\"\" aria-label=\"Close quiz\">\n  \u00d7\n        <\/button>\n      <\/header>\n\n      <div class=\"rdq-main\">\n        <div class=\"rdq-progress\" data-rdq-progress=\"\" aria-live=\"polite\">\n          <div class=\"rdq-progress-text\" data-rdq-progress-text=\"\">Frage 1 von 8<\/div>\n          <div class=\"rdq-progress-track\" aria-hidden=\"true\">\n            <div class=\"rdq-progress-fill\" data-rdq-progress-fill=\"\"><\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"rdq-stage\" data-rdq-stage=\"\"><\/div>\n        <div class=\"rdq-result\" data-rdq-result=\"\" hidden=\"\"><\/div>\n      <\/div>\n    <\/section>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  'use strict';\n\n  var root = document.querySelector('[data-retreat-quiz]');\n  if (!root || root.dataset.rdqReady === 'true') return;\n  root.dataset.rdqReady = 'true';\n\n  var questions = [\n    {\n      question: 'What are you mainly looking for right now?',\n      answers: [\n        { label: 'Inner clarity, reflection and time to reconnect with myself', scores: { an: 4, hoi: 1, yen: 1, private: 1 } },\n        { label: 'A structured, guided reset with practical tools I can take home', scores: { an: 1, hoi: 4, yen: 1, private: 0 } },\n        { label: 'A gentle first step supported by hot springs and a serene resort', scores: { an: 1, hoi: 1, yen: 4, private: 0 } },\n        { label: 'A retreat shaped privately around my own needs or group', scores: { an: 1, hoi: 0, yen: 0, private: 4 } }\n      ]\n    },\n    {\n      question: 'Which atmosphere feels most attractive to you?',\n      answers: [\n        { label: 'Quiet mountains, spiritual heritage and contemplative space', scores: { an: 4, hoi: 0, yen: 1, private: 0 } },\n        { label: 'The sea, beach walks and a calm coastal resort', scores: { an: 0, hoi: 4, yen: 1, private: 0 } },\n        { label: 'Natural hot springs, herbal baths and calm resort comfort', scores: { an: 0, hoi: 1, yen: 4, private: 0 } },\n        { label: 'A discreet setting chosen around me, my partner or my group', scores: { an: 0, hoi: 0, yen: 0, private: 4 } }\n      ]\n    },\n    {\n      question: 'What kind of support would feel most comfortable?',\n      answers: [\n        { label: 'Enough guidance, with generous space for silence and reflection', scores: { an: 4, hoi: 1, yen: 1, private: 0 } },\n        { label: 'A supportive shared program with clear daily structure', scores: { an: 1, hoi: 4, yen: 1, private: 0 } },\n        { label: 'A gentle, approachable program in a comfortable wellness setting', scores: { an: 1, hoi: 1, yen: 4, private: 0 } },\n        { label: 'Individual attention and a format adapted to my circumstances', scores: { an: 0, hoi: 0, yen: 0, private: 4 } }\n      ]\n    },\n    {\n      question: 'What kind of retreat rhythm feels best for you?',\n      answers: [\n        { label: 'Spacious, calm and inward-focused', scores: { an: 4, hoi: 0, yen: 1, private: 0 } },\n        { label: 'Structured, engaging and gently motivating', scores: { an: 0, hoi: 4, yen: 1, private: 0 } },\n        { label: 'Gentle, flowing and low-pressure', scores: { an: 1, hoi: 1, yen: 4, private: 0 } },\n        { label: 'Flexible and designed around my preferred pace', scores: { an: 0, hoi: 0, yen: 0, private: 4 } }\n      ]\n    },\n    {\n      question: 'How would you prefer to experience the retreat?',\n      answers: [\n        { label: 'As a personal inward journey in a spiritually meaningful destination', scores: { an: 4, hoi: 1, yen: 1, private: 0 } },\n        { label: 'Alongside others, with practical guidance I can keep using at home', scores: { an: 1, hoi: 4, yen: 1, private: 0 } },\n        { label: 'As a gentle wellness break with hot springs and resort comfort', scores: { an: 1, hoi: 1, yen: 4, private: 0 } },\n        { label: 'Privately, as an individual, couple, family or small group', scores: { an: 0, hoi: 0, yen: 0, private: 4 } }\n      ]\n    },\n    {\n      question: 'Have you fasted before?',\n      answers: [\n        { label: 'Yes, and I am drawn to a deeper contemplative experience', scores: { an: 4, hoi: 1, yen: 0, private: 1 } },\n        { label: 'Once or twice, and I value a clearly guided shared program', scores: { an: 1, hoi: 4, yen: 2, private: 0 } },\n        { label: 'No, I would prefer a gentle and approachable first experience', scores: { an: 0, hoi: 2, yen: 4, private: 1 } },\n        { label: 'I would prefer to discuss a tailored approach first', scores: { an: 0, hoi: 0, yen: 1, private: 4 } }\n      ]\n    },\n    {\n      question: 'What matters most when comparing the retreat options?',\n      answers: [\n        { label: 'A destination that supports stillness and inner perspective', scores: { an: 4, hoi: 0, yen: 1, private: 0 } },\n        { label: 'A clear, structured program by the sea, with support for the return home', scores: { an: 0, hoi: 4, yen: 1, private: 0 } },\n        { label: 'A gentle resort environment with natural hot-spring therapies', scores: { an: 0, hoi: 1, yen: 4, private: 0 } },\n        { label: 'Privacy, flexible dates and a format designed around me', scores: { an: 0, hoi: 0, yen: 0, private: 4 } }\n      ]\n    },\n    {\n      question: 'Which sentence feels closest to where you are now?',\n      answers: [\n        { label: 'I need space to hear myself again', scores: { an: 4, hoi: 0, yen: 1, private: 0 } },\n        { label: 'I want steadier energy and a calmer relationship with food and rest', scores: { an: 0, hoi: 4, yen: 1, private: 0 } },\n        { label: 'I want a gentle reset that feels comfortable and manageable', scores: { an: 1, hoi: 1, yen: 4, private: 0 } },\n        { label: 'I want a retreat designed around my specific situation', scores: { an: 0, hoi: 0, yen: 0, private: 4 } }\n      ]\n    }\n  ];\n\n  var vietnameseQuestions = [\n    {\n      question: '\u0110i\u1ec1u b\u1ea1n \u0111ang t\u00ecm ki\u1ebfm nh\u1ea5t l\u00fac n\u00e0y l\u00e0 g\u00ec?',\n      answers: [\n        { label: 'S\u1ef1 s\u00e1ng r\u00f5 n\u1ed9i t\u00e2m, th\u1eddi gian chi\u00eam nghi\u1ec7m v\u00e0 k\u1ebft n\u1ed1i l\u1ea1i v\u1edbi ch\u00ednh m\u00ecnh', scores: { an: 4, hoi: 1, yen: 1, private: 1 } },\n        { label: 'M\u1ed9t h\u00e0nh tr\u00ecnh t\u00e1i t\u1ea1o c\u00f3 h\u01b0\u1edbng d\u1eabn v\u00e0 c\u1ea5u tr\u00fac r\u00f5 r\u00e0ng, c\u00f9ng nh\u1eefng c\u00f4ng c\u1ee5 th\u1ef1c t\u1ebf \u0111\u1ec3 mang v\u1ec1 nh\u00e0', scores: { an: 1, hoi: 4, yen: 1, private: 0 } },\n        { label: 'M\u1ed9t b\u01b0\u1edbc kh\u1edfi \u0111\u1ea7u nh\u1eb9 nh\u00e0ng v\u1edbi su\u1ed1i kho\u00e1ng n\u00f3ng v\u00e0 khu ngh\u1ec9 d\u01b0\u1ee1ng thanh b\u00ecnh', scores: { an: 1, hoi: 1, yen: 4, private: 0 } },\n        { label: 'M\u1ed9t k\u1ef3 ngh\u1ec9 ri\u00eang t\u01b0 \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf theo nhu c\u1ea7u c\u1ee7a t\u00f4i ho\u1eb7c nh\u00f3m c\u1ee7a t\u00f4i', scores: { an: 1, hoi: 0, yen: 0, private: 4 } }\n      ]\n    },\n    {\n      question: 'B\u1ea7u kh\u00f4ng kh\u00ed n\u00e0o h\u1ea5p d\u1eabn b\u1ea1n nh\u1ea5t?',\n      answers: [\n        { label: 'N\u00fai non t\u0129nh l\u1eb7ng, di s\u1ea3n t\u00e2m linh v\u00e0 kh\u00f4ng gian chi\u00eam nghi\u1ec7m', scores: { an: 4, hoi: 0, yen: 1, private: 0 } },\n        { label: 'Bi\u1ec3n xanh, nh\u1eefng bu\u1ed5i \u0111i d\u1ea1o tr\u00ean b\u00e3i c\u00e1t v\u00e0 m\u1ed9t khu ngh\u1ec9 d\u01b0\u1ee1ng ven bi\u1ec3n y\u00ean b\u00ecnh', scores: { an: 0, hoi: 4, yen: 1, private: 0 } },\n        { label: 'Su\u1ed1i kho\u00e1ng n\u00f3ng t\u1ef1 nhi\u00ean, t\u1eafm th\u1ea3o d\u01b0\u1ee3c v\u00e0 ti\u1ec7n nghi ngh\u1ec9 d\u01b0\u1ee1ng y\u00ean b\u00ecnh', scores: { an: 0, hoi: 1, yen: 4, private: 0 } },\n        { label: 'M\u1ed9t kh\u00f4ng gian k\u00edn \u0111\u00e1o \u0111\u01b0\u1ee3c l\u1ef1a ch\u1ecdn ri\u00eang cho t\u00f4i, ng\u01b0\u1eddi \u0111\u1ed3ng h\u00e0nh ho\u1eb7c nh\u00f3m c\u1ee7a t\u00f4i', scores: { an: 0, hoi: 0, yen: 0, private: 4 } }\n      ]\n    },\n    {\n      question: 'H\u00ecnh th\u1ee9c h\u1ed7 tr\u1ee3 n\u00e0o s\u1ebd khi\u1ebfn b\u1ea1n c\u1ea3m th\u1ea5y tho\u1ea3i m\u00e1i nh\u1ea5t?',\n      answers: [\n        { label: 'V\u1eeba \u0111\u1ee7 h\u01b0\u1edbng d\u1eabn, v\u1edbi nhi\u1ec1u kho\u1ea3ng l\u1eb7ng \u0111\u1ec3 t\u0129nh t\u00e2m v\u00e0 chi\u00eam nghi\u1ec7m', scores: { an: 4, hoi: 1, yen: 1, private: 0 } },\n        { label: 'M\u1ed9t ch\u01b0\u01a1ng tr\u00ecnh chung \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 t\u1eadn t\u00e2m v\u1edbi l\u1ecbch tr\u00ecnh m\u1ed7i ng\u00e0y r\u00f5 r\u00e0ng', scores: { an: 1, hoi: 4, yen: 1, private: 0 } },\n        { label: 'M\u1ed9t ch\u01b0\u01a1ng tr\u00ecnh nh\u1eb9 nh\u00e0ng, d\u1ec5 ti\u1ebfp c\u1eadn trong kh\u00f4ng gian ch\u0103m s\u00f3c s\u1ee9c kh\u1ecfe ti\u1ec7n nghi', scores: { an: 1, hoi: 1, yen: 4, private: 0 } },\n        { label: 'S\u1ef1 quan t\u00e2m ri\u00eang v\u00e0 m\u1ed9t ch\u01b0\u01a1ng tr\u00ecnh \u0111\u01b0\u1ee3c \u0111i\u1ec1u ch\u1ec9nh theo ho\u00e0n c\u1ea3nh c\u1ee7a t\u00f4i', scores: { an: 0, hoi: 0, yen: 0, private: 4 } }\n      ]\n    },\n    {\n      question: 'Nh\u1ecbp \u0111i\u1ec7u ngh\u1ec9 d\u01b0\u1ee1ng n\u00e0o ph\u00f9 h\u1ee3p nh\u1ea5t v\u1edbi b\u1ea1n?',\n      answers: [\n        { label: 'Thong th\u1ea3, t\u0129nh t\u1ea1i v\u00e0 h\u01b0\u1edbng v\u00e0o b\u00ean trong', scores: { an: 4, hoi: 0, yen: 1, private: 0 } },\n        { label: 'C\u00f3 c\u1ea5u tr\u00fac, cu\u1ed1n h\u00fat v\u00e0 kh\u00edch l\u1ec7 nh\u1eb9 nh\u00e0ng', scores: { an: 0, hoi: 4, yen: 1, private: 0 } },\n        { label: 'Nh\u1eb9 nh\u00e0ng, t\u1ef1 nhi\u00ean v\u00e0 kh\u00f4ng \u00e1p l\u1ef1c', scores: { an: 1, hoi: 1, yen: 4, private: 0 } },\n        { label: 'Linh ho\u1ea1t v\u00e0 \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf theo nh\u1ecbp \u0111\u1ed9 t\u00f4i mong mu\u1ed1n', scores: { an: 0, hoi: 0, yen: 0, private: 4 } }\n      ]\n    },\n    {\n      question: 'B\u1ea1n mu\u1ed1n tr\u1ea3i nghi\u1ec7m k\u1ef3 ngh\u1ec9 d\u01b0\u1ee1ng theo c\u00e1ch n\u00e0o?',\n      answers: [\n        { label: 'Nh\u01b0 m\u1ed9t h\u00e0nh tr\u00ecnh h\u01b0\u1edbng n\u1ed9i c\u00e1 nh\u00e2n t\u1ea1i \u0111i\u1ec3m \u0111\u1ebfn gi\u00e0u \u00fd ngh\u0129a t\u00e2m linh', scores: { an: 4, hoi: 1, yen: 1, private: 0 } },\n        { label: 'C\u00f9ng nh\u1eefng ng\u01b0\u1eddi kh\u00e1c, v\u1edbi s\u1ef1 h\u01b0\u1edbng d\u1eabn th\u1ef1c t\u1ebf m\u00e0 t\u00f4i c\u00f3 th\u1ec3 ti\u1ebfp t\u1ee5c \u00e1p d\u1ee5ng khi v\u1ec1 nh\u00e0', scores: { an: 1, hoi: 4, yen: 1, private: 0 } },\n        { label: 'Nh\u01b0 m\u1ed9t k\u1ef3 ngh\u1ec9 ch\u0103m s\u00f3c s\u1ee9c kh\u1ecfe nh\u1eb9 nh\u00e0ng v\u1edbi su\u1ed1i kho\u00e1ng n\u00f3ng v\u00e0 ti\u1ec7n nghi ngh\u1ec9 d\u01b0\u1ee1ng', scores: { an: 1, hoi: 1, yen: 4, private: 0 } },\n        { label: 'Ri\u00eang t\u01b0, d\u00e0nh cho c\u00e1 nh\u00e2n, c\u1eb7p \u0111\u00f4i, gia \u0111\u00ecnh ho\u1eb7c nh\u00f3m nh\u1ecf', scores: { an: 0, hoi: 0, yen: 0, private: 4 } }\n      ]\n    },\n    {\n      question: 'B\u1ea1n \u0111\u00e3 t\u1eebng nh\u1ecbn \u0103n tr\u01b0\u1edbc \u0111\u00e2y ch\u01b0a?',\n      answers: [\n        { label: 'C\u00f3, v\u00e0 t\u00f4i mong mu\u1ed1n m\u1ed9t tr\u1ea3i nghi\u1ec7m chi\u00eam nghi\u1ec7m s\u00e2u h\u01a1n', scores: { an: 4, hoi: 1, yen: 0, private: 1 } },\n        { label: 'M\u1ed9t ho\u1eb7c hai l\u1ea7n, v\u00e0 t\u00f4i coi tr\u1ecdng m\u1ed9t ch\u01b0\u01a1ng tr\u00ecnh chung \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn r\u00f5 r\u00e0ng', scores: { an: 1, hoi: 4, yen: 2, private: 0 } },\n        { label: 'Ch\u01b0a, t\u00f4i mu\u1ed1n tr\u1ea3i nghi\u1ec7m \u0111\u1ea7u ti\u00ean th\u1eadt nh\u1eb9 nh\u00e0ng v\u00e0 d\u1ec5 ti\u1ebfp c\u1eadn', scores: { an: 0, hoi: 2, yen: 4, private: 1 } },\n        { label: 'T\u00f4i mu\u1ed1n trao \u0111\u1ed5i tr\u01b0\u1edbc v\u1ec1 m\u1ed9t ph\u01b0\u01a1ng \u00e1n \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf ri\u00eang', scores: { an: 0, hoi: 0, yen: 1, private: 4 } }\n      ]\n    },\n    {\n      question: '\u0110i\u1ec1u g\u00ec quan tr\u1ecdng nh\u1ea5t khi b\u1ea1n so s\u00e1nh c\u00e1c l\u1ef1a ch\u1ecdn ngh\u1ec9 d\u01b0\u1ee1ng?',\n      answers: [\n        { label: 'M\u1ed9t \u0111i\u1ec3m \u0111\u1ebfn nu\u00f4i d\u01b0\u1ee1ng s\u1ef1 t\u0129nh l\u1eb7ng v\u00e0 g\u00f3c nh\u00ecn n\u1ed9i t\u00e2m', scores: { an: 4, hoi: 0, yen: 1, private: 0 } },\n        { label: 'M\u1ed9t ch\u01b0\u01a1ng tr\u00ecnh r\u00f5 r\u00e0ng, c\u00f3 c\u1ea5u tr\u00fac b\u00ean b\u1edd bi\u1ec3n, c\u00f9ng s\u1ef1 h\u1ed7 tr\u1ee3 khi tr\u1edf v\u1ec1 nh\u00e0', scores: { an: 0, hoi: 4, yen: 1, private: 0 } },\n        { label: 'M\u1ed9t kh\u00f4ng gian ngh\u1ec9 d\u01b0\u1ee1ng nh\u1eb9 nh\u00e0ng v\u1edbi li\u1ec7u ph\u00e1p su\u1ed1i kho\u00e1ng n\u00f3ng t\u1ef1 nhi\u00ean', scores: { an: 0, hoi: 1, yen: 4, private: 0 } },\n        { label: 'S\u1ef1 ri\u00eang t\u01b0, l\u1ecbch tr\u00ecnh linh ho\u1ea1t v\u00e0 ch\u01b0\u01a1ng tr\u00ecnh \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf quanh nhu c\u1ea7u c\u1ee7a t\u00f4i', scores: { an: 0, hoi: 0, yen: 0, private: 4 } }\n      ]\n    },\n    {\n      question: 'C\u00e2u n\u00e0o g\u1ea7n nh\u1ea5t v\u1edbi tr\u1ea1ng th\u00e1i hi\u1ec7n t\u1ea1i c\u1ee7a b\u1ea1n?',\n      answers: [\n        { label: 'T\u00f4i c\u1ea7n kho\u1ea3ng l\u1eb7ng \u0111\u1ec3 l\u1eafng nghe ch\u00ednh m\u00ecnh m\u1ed9t l\u1ea7n n\u1eefa', scores: { an: 4, hoi: 0, yen: 1, private: 0 } },\n        { label: 'T\u00f4i mu\u1ed1n n\u0103ng l\u01b0\u1ee3ng \u1ed5n \u0111\u1ecbnh h\u01a1n v\u00e0 m\u1ed1i quan h\u1ec7 nh\u1eb9 nh\u00e0ng h\u01a1n v\u1edbi \u0103n u\u1ed1ng v\u00e0 ngh\u1ec9 ng\u01a1i', scores: { an: 0, hoi: 4, yen: 1, private: 0 } },\n        { label: 'T\u00f4i mu\u1ed1n m\u1ed9t h\u00e0nh tr\u00ecnh t\u00e1i t\u1ea1o nh\u1eb9 nh\u00e0ng, tho\u1ea3i m\u00e1i v\u00e0 v\u1eeba s\u1ee9c', scores: { an: 1, hoi: 1, yen: 4, private: 0 } },\n        { label: 'T\u00f4i mu\u1ed1n m\u1ed9t k\u1ef3 ngh\u1ec9 \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf theo ho\u00e0n c\u1ea3nh c\u1ee5 th\u1ec3 c\u1ee7a m\u00ecnh', scores: { an: 0, hoi: 0, yen: 0, private: 4 } }\n      ]\n    }\n  ];\n\n  \/\/ These keys describe the quiz's scoring directions. The retreats shown in\n  \/\/ results are populated separately from the live API response.\n  var profileOrder = ['an', 'hoi', 'yen', 'private'];\n  var activeProfileOrder = [];\n  var profiles = {\n    an: {\n      id: 13045,\n      sku: 'ANLYT',\n      name: '\u201cAn\u201d Retreat at Legacy Y\u00ean T\u1eed MGallery',\n      reason: 'Your answers point toward stillness, reflection and inner realignment. This retreat direction may suit you if you want to step away from daily noise and experience a guided reset in a contemplative mountain setting.',\n      url: '#retreat-options',\n      api: null\n    },\n    hoi: {\n      id: 21210,\n      sku: 'HOI-FRVDAD',\n      name: 'H\u1ed3i Retreat at Fusion Resort & Villas Da Nang',\n      reason: 'Your answers point toward a structured, well-guided reset with practical support. This retreat direction may suit you if a clear daily rhythm by the sea, steadier energy and guidance you can keep using at home matter most to you.',\n      url: '#retreat-options',\n      api: null\n    },\n    yen: {\n      id: 2244,\n      sku: 'AWVH',\n      name: 'Y\u00ean Retreat \u2013 A gentle fast by Vietnam Detox',\n      reason: 'Your answers point toward a gentler and more approachable reset in a serene resort environment. This retreat direction may suit you if natural hot springs, herbal baths and a comfortable first step into fasting appeal to you.',\n      url: '#retreat-options',\n      api: null\n    },\n    private: {\n      \/\/ No SKU, and the post ID differs per language, so match the API's is_private flag.\n      id: 8905,\n      sku: '',\n      isPrivate: true,\n      name: 'Private & Corporate Retreats',\n      reason: 'Your answers point toward privacy, flexibility and a retreat shaped around your circumstances. A private format may suit you if timing, group composition or individual attention matters more than joining a fixed public date.',\n      url: '#retreat-options',\n      api: null\n    }\n  };\n\n  var modal = root.querySelector('[data-rdq-modal]');\n  var dialog = root.querySelector('[data-rdq-dialog]');\n  var openButton = root.querySelector('[data-rdq-open]');\n  var progress = root.querySelector('[data-rdq-progress]');\n  var progressText = root.querySelector('[data-rdq-progress-text]');\n  var progressFill = root.querySelector('[data-rdq-progress-fill]');\n  var stage = root.querySelector('[data-rdq-stage]');\n  var result = root.querySelector('[data-rdq-result]');\n\n  var selectedAnswers = new Array(questions.length).fill(null);\n  var currentStep = 0;\n  var mode = 'question';\n  var lastFocused = null;\n  var previousBodyOverflow = '';\n\n  function escapeHtml(value) {\n    var node = document.createElement('div');\n    node.textContent = value == null ? '' : String(value);\n    return node.innerHTML;\n  }\n\n  function safeUrl(value) {\n    if (!value || typeof value !== 'string') return '';\n    if (value.charAt(0) === '#') return value;\n    try {\n      var url = new URL(value, window.location.origin);\n      return url.protocol === 'http:' || url.protocol === 'https:' ? url.href : '';\n    } catch (error) {\n      return '';\n    }\n  }\n\n  function parseApiDate(value) {\n    var usDate = String(value || '').match(\/^(\\d{1,2})\\\/(\\d{1,2})\\\/(\\d{4})$\/);\n    var isoDate = String(value || '').match(\/^(\\d{4})-(\\d{2})-(\\d{2})$\/);\n    var parsed;\n\n    if (usDate) parsed = new Date(Number(usDate[3]), Number(usDate[1]) - 1, Number(usDate[2]));\n    else if (isoDate) parsed = new Date(Number(isoDate[1]), Number(isoDate[2]) - 1, Number(isoDate[3]));\n    else return null;\n\n    return Number.isNaN(parsed.getTime()) ? null : parsed;\n  }\n\n  function getLanguage() {\n    var detected = String(document.documentElement.lang || 'en')\n      .toLowerCase()\n      .split(\/[-_]\/)[0];\n\n    return ['en', 'vi', 'de'].indexOf(detected) !== -1\n      ? detected\n      : 'en';\n  }\n\n  var language = getLanguage();\n  var locales = { en: 'en-GB', vi: 'vi-VN', de: 'de-DE' };\n  var locale = locales[language] || 'en-GB';\n\n  var copyByLanguage = {\n    en: {\n      transition: 'Not sure which retreat fits?',\n      introEyebrow: 'RETREAT ORIENTATION QUIZ',\n      introTitle: 'Find the retreat that <em>fits where you are now<\/em>.',\n      introCopy: 'Answer a few quiet questions about your current preferences, desired retreat rhythm and the kind of support that feels right for you.',\n      introNote: 'Takes about two minutes. No diagnosis. Just orientation.',\n      introKicker: 'IN TWO MINUTES',\n      introList1: 'Answer 8 preference questions',\n      introList2: 'Compare the available retreat options',\n      introList2Count: function(count) { return 'Compare all ' + count + ' retreat options'; },\n      introList3: 'See live dates, locations and prices',\n      openQuiz: 'Take the Retreat Quiz',\n      modalEyebrow: 'RETREAT QUIZ',\n      modalTitle: 'Find your best-fitting retreat',\n      modalNote: 'A few quiet questions to help you choose with more clarity.',\n      closeQuiz: 'Close quiz',\n      questionProgress: function(current, total) { return 'Question ' + current + ' of ' + total; },\n      chooseAnswer: 'Choose the answer that feels closest.',\n      back: 'Back',\n      next: 'Next',\n      seeResults: 'See my results',\n      byRequest: 'By request',\n      detailsOnRequest: 'Details on request',\n      priceOnRequest: 'Price on request',\n      nextDateBadge: 'Next:',\n      strongestEyebrow: 'YOUR STRONGEST MATCH',\n      strongestTitle: 'Your strongest match is ',\n      secondaryMatch: function(name) { return 'You may also resonate with <strong>' + escapeHtml(name) + '<\/strong>, because some of your preferences point in that direction too.'; },\n      location: 'Location',\n      nextAvailability: 'Next availability',\n      startingPrice: 'Starting price',\n      resultNote: 'This compares retreat style and preferences only. It is not medical advice or a fasting-suitability assessment; health eligibility must be confirmed separately with the retreat team.',\n      percentagesLabel: 'Retreat match percentages',\n      explore: 'Explore ',\n      exploreAll: 'Explore all retreat dates',\n      restart: 'Restart quiz',\n      noRetreatsTitle: 'Retreat results are temporarily unavailable',\n      noRetreatsCopy: 'We could not load the current retreat list. Please close the quiz and try again shortly.'\n    },\n    vi: {\n      transition: 'Ch\u01b0a ch\u1eafc k\u1ef3 ngh\u1ec9 n\u00e0o ph\u00f9 h\u1ee3p v\u1edbi b\u1ea1n?',\n      introEyebrow: 'B\u00c0I TR\u1eaeC NGHI\u1ec6M \u0110\u1ecaNH H\u01af\u1edaNG K\u1ef2 NGH\u1ec8',\n      introTitle: 'T\u00ecm k\u1ef3 ngh\u1ec9 <em>ph\u00f9 h\u1ee3p v\u1edbi b\u1ea1n l\u00fac n\u00e0y<\/em>.',\n      introCopy: 'H\u00e3y tr\u1ea3 l\u1eddi v\u00e0i c\u00e2u h\u1ecfi nh\u1eb9 nh\u00e0ng v\u1ec1 s\u1edf th\u00edch hi\u1ec7n t\u1ea1i, nh\u1ecbp \u0111i\u1ec7u ngh\u1ec9 d\u01b0\u1ee1ng mong mu\u1ed1n v\u00e0 h\u00ecnh th\u1ee9c h\u1ed7 tr\u1ee3 ph\u00f9 h\u1ee3p v\u1edbi b\u1ea1n.',\n      introNote: 'Ch\u1ec9 m\u1ea5t kho\u1ea3ng hai ph\u00fat. Kh\u00f4ng ch\u1ea9n \u0111o\u00e1n. Ch\u1ec9 \u0111\u1ec3 \u0111\u1ecbnh h\u01b0\u1edbng.',\n      introKicker: 'TRONG HAI PH\u00daT',\n      introList1: 'Tr\u1ea3 l\u1eddi 8 c\u00e2u h\u1ecfi v\u1ec1 s\u1edf th\u00edch',\n      introList2: 'So s\u00e1nh c\u00e1c l\u1ef1a ch\u1ecdn ngh\u1ec9 d\u01b0\u1ee1ng hi\u1ec7n c\u00f3',\n      introList2Count: function(count) { return 'So s\u00e1nh t\u1ea5t c\u1ea3 ' + count + ' l\u1ef1a ch\u1ecdn ngh\u1ec9 d\u01b0\u1ee1ng'; },\n      introList3: 'Xem l\u1ecbch, \u0111\u1ecba \u0111i\u1ec3m v\u00e0 m\u1ee9c gi\u00e1 hi\u1ec7n t\u1ea1i',\n      openQuiz: 'L\u00e0m b\u00e0i tr\u1eafc nghi\u1ec7m',\n      modalEyebrow: 'TR\u1eaeC NGHI\u1ec6M K\u1ef2 NGH\u1ec8',\n      modalTitle: 'T\u00ecm k\u1ef3 ngh\u1ec9 ph\u00f9 h\u1ee3p nh\u1ea5t v\u1edbi b\u1ea1n',\n      modalNote: 'V\u00e0i c\u00e2u h\u1ecfi nh\u1eb9 nh\u00e0ng gi\u00fap b\u1ea1n l\u1ef1a ch\u1ecdn r\u00f5 r\u00e0ng h\u01a1n.',\n      closeQuiz: '\u0110\u00f3ng b\u00e0i tr\u1eafc nghi\u1ec7m',\n      questionProgress: function(current, total) { return 'C\u00e2u h\u1ecfi ' + current + '\/' + total; },\n      chooseAnswer: 'Ch\u1ecdn c\u00e2u tr\u1ea3 l\u1eddi g\u1ea7n nh\u1ea5t v\u1edbi c\u1ea3m nh\u1eadn c\u1ee7a b\u1ea1n.',\n      back: 'Quay l\u1ea1i',\n      next: 'Ti\u1ebfp theo',\n      seeResults: 'Xem k\u1ebft qu\u1ea3',\n      byRequest: 'Theo y\u00eau c\u1ea7u',\n      detailsOnRequest: 'Chi ti\u1ebft theo y\u00eau c\u1ea7u',\n      priceOnRequest: 'Gi\u00e1 theo y\u00eau c\u1ea7u',\n      nextDateBadge: 'L\u1ecbch g\u1ea7n nh\u1ea5t:',\n      strongestEyebrow: 'G\u1ee2I \u00dd PH\u00d9 H\u1ee2P NH\u1ea4T',\n      strongestTitle: 'K\u1ef3 ngh\u1ec9 ph\u00f9 h\u1ee3p nh\u1ea5t v\u1edbi b\u1ea1n l\u00e0 ',\n      secondaryMatch: function(name) { return 'B\u1ea1n c\u0169ng c\u00f3 th\u1ec3 ph\u00f9 h\u1ee3p v\u1edbi <strong>' + escapeHtml(name) + '<\/strong>, v\u00ec m\u1ed9t s\u1ed1 s\u1edf th\u00edch c\u1ee7a b\u1ea1n c\u0169ng h\u01b0\u1edbng \u0111\u1ebfn l\u1ef1a ch\u1ecdn n\u00e0y.'; },\n      location: '\u0110\u1ecba \u0111i\u1ec3m',\n      nextAvailability: 'L\u1ecbch g\u1ea7n nh\u1ea5t',\n      startingPrice: 'Gi\u00e1 t\u1eeb',\n      resultNote: 'K\u1ebft qu\u1ea3 n\u00e0y ch\u1ec9 so s\u00e1nh phong c\u00e1ch ngh\u1ec9 d\u01b0\u1ee1ng v\u00e0 s\u1edf th\u00edch c\u1ee7a b\u1ea1n. \u0110\u00e2y kh\u00f4ng ph\u1ea3i t\u01b0 v\u1ea5n y t\u1ebf hay \u0111\u00e1nh gi\u00e1 m\u1ee9c \u0111\u1ed9 ph\u00f9 h\u1ee3p v\u1edbi nh\u1ecbn \u0103n; \u0111i\u1ec1u ki\u1ec7n s\u1ee9c kh\u1ecfe c\u1ea7n \u0111\u01b0\u1ee3c x\u00e1c nh\u1eadn ri\u00eang v\u1edbi \u0111\u1ed9i ng\u0169 ch\u01b0\u01a1ng tr\u00ecnh.',\n      percentagesLabel: 'T\u1ef7 l\u1ec7 ph\u00f9 h\u1ee3p v\u1edbi c\u00e1c k\u1ef3 ngh\u1ec9',\n      explore: 'Kh\u00e1m ph\u00e1 ',\n      exploreAll: 'Xem t\u1ea5t c\u1ea3 l\u1ecbch ngh\u1ec9 d\u01b0\u1ee1ng',\n      restart: 'L\u00e0m l\u1ea1i b\u00e0i tr\u1eafc nghi\u1ec7m',\n      noRetreatsTitle: 'K\u1ebft qu\u1ea3 ngh\u1ec9 d\u01b0\u1ee1ng t\u1ea1m th\u1eddi ch\u01b0a kh\u1ea3 d\u1ee5ng',\n      noRetreatsCopy: 'Ch\u00fang t\u00f4i ch\u01b0a th\u1ec3 t\u1ea3i danh s\u00e1ch ngh\u1ec9 d\u01b0\u1ee1ng hi\u1ec7n t\u1ea1i. Vui l\u00f2ng \u0111\u00f3ng b\u00e0i tr\u1eafc nghi\u1ec7m v\u00e0 th\u1eed l\u1ea1i sau \u00edt ph\u00fat.'\n    }\n  };\n\n  var copy = copyByLanguage[language] || copyByLanguage.en;\n\n  var vietnameseProfiles = {\n    an: {\n      name: 'K\u1ef3 ngh\u1ec9 \u201cAn\u201d t\u1ea1i Legacy Y\u00ean T\u1eed MGallery',\n      reason: 'C\u00e2u tr\u1ea3 l\u1eddi c\u1ee7a b\u1ea1n h\u01b0\u1edbng \u0111\u1ebfn s\u1ef1 t\u0129nh l\u1eb7ng, chi\u00eam nghi\u1ec7m v\u00e0 c\u00e2n b\u1eb1ng l\u1ea1i n\u1ed9i t\u00e2m. L\u1ef1a ch\u1ecdn n\u00e0y c\u00f3 th\u1ec3 ph\u00f9 h\u1ee3p n\u1ebfu b\u1ea1n mu\u1ed1n t\u1ea1m r\u1eddi nh\u1ecbp s\u1ed1ng th\u01b0\u1eddng ng\u00e0y v\u00e0 tr\u1ea3i nghi\u1ec7m m\u1ed9t h\u00e0nh tr\u00ecnh t\u00e1i t\u1ea1o c\u00f3 h\u01b0\u1edbng d\u1eabn gi\u1eefa kh\u00f4ng gian n\u00fai non t\u0129nh t\u1ea1i.'\n    },\n    hoi: {\n      name: 'K\u1ef3 ngh\u1ec9 H\u1ed3i t\u1ea1i Fusion Resort & Villas \u0110\u00e0 N\u1eb5ng',\n      reason: 'C\u00e2u tr\u1ea3 l\u1eddi c\u1ee7a b\u1ea1n h\u01b0\u1edbng \u0111\u1ebfn m\u1ed9t h\u00e0nh tr\u00ecnh t\u00e1i t\u1ea1o c\u00f3 c\u1ea5u tr\u00fac, \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn r\u00f5 r\u00e0ng v\u00e0 h\u1ed7 tr\u1ee3 thi\u1ebft th\u1ef1c. L\u1ef1a ch\u1ecdn n\u00e0y c\u00f3 th\u1ec3 ph\u00f9 h\u1ee3p n\u1ebfu m\u1ed9t nh\u1ecbp sinh ho\u1ea1t r\u00f5 r\u00e0ng b\u00ean b\u1edd bi\u1ec3n, ngu\u1ed3n n\u0103ng l\u01b0\u1ee3ng \u1ed5n \u0111\u1ecbnh h\u01a1n v\u00e0 nh\u1eefng h\u01b0\u1edbng d\u1eabn b\u1ea1n c\u00f3 th\u1ec3 ti\u1ebfp t\u1ee5c \u00e1p d\u1ee5ng khi v\u1ec1 nh\u00e0 l\u00e0 \u0111i\u1ec1u quan tr\u1ecdng nh\u1ea5t v\u1edbi b\u1ea1n.'\n    },\n    yen: {\n      name: 'K\u1ef3 ngh\u1ec9 Y\u00ean \u2013 Nh\u1ecbn \u0103n nh\u1eb9 nh\u00e0ng c\u00f9ng Vietnam Detox',\n      reason: 'C\u00e2u tr\u1ea3 l\u1eddi c\u1ee7a b\u1ea1n h\u01b0\u1edbng \u0111\u1ebfn m\u1ed9t h\u00e0nh tr\u00ecnh t\u00e1i t\u1ea1o nh\u1eb9 nh\u00e0ng, d\u1ec5 ti\u1ebfp c\u1eadn trong kh\u00f4ng gian ngh\u1ec9 d\u01b0\u1ee1ng thanh b\u00ecnh. L\u1ef1a ch\u1ecdn n\u00e0y c\u00f3 th\u1ec3 ph\u00f9 h\u1ee3p n\u1ebfu su\u1ed1i kho\u00e1ng n\u00f3ng t\u1ef1 nhi\u00ean, t\u1eafm th\u1ea3o d\u01b0\u1ee3c v\u00e0 b\u01b0\u1edbc kh\u1edfi \u0111\u1ea7u tho\u1ea3i m\u00e1i v\u1edbi nh\u1ecbn \u0103n h\u1ea5p d\u1eabn b\u1ea1n.'\n    },\n    private: {\n      name: 'K\u1ef3 ngh\u1ec9 ri\u00eang t\u01b0 & doanh nghi\u1ec7p',\n      reason: 'C\u00e2u tr\u1ea3 l\u1eddi c\u1ee7a b\u1ea1n h\u01b0\u1edbng \u0111\u1ebfn s\u1ef1 ri\u00eang t\u01b0, linh ho\u1ea1t v\u00e0 m\u1ed9t k\u1ef3 ngh\u1ec9 \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf theo ho\u00e0n c\u1ea3nh c\u1ee7a m\u00ecnh. H\u00ecnh th\u1ee9c ri\u00eang t\u01b0 c\u00f3 th\u1ec3 ph\u00f9 h\u1ee3p n\u1ebfu th\u1eddi gian, th\u00e0nh ph\u1ea7n nh\u00f3m ho\u1eb7c s\u1ef1 quan t\u00e2m c\u00e1 nh\u00e2n quan tr\u1ecdng v\u1edbi b\u1ea1n h\u01a1n vi\u1ec7c tham gia m\u1ed9t l\u1ecbch c\u00f4ng khai c\u1ed1 \u0111\u1ecbnh.'\n    }\n  };\n\n  if (language === 'vi') {\n    questions = vietnameseQuestions;\n    profileOrder.forEach(function(key) {\n      profiles[key].name = vietnameseProfiles[key].name;\n      profiles[key].reason = vietnameseProfiles[key].reason;\n    });\n  }\n\n  function applyStaticCopy() {\n    var textSelectors = {\n      '.rdq-transition': 'transition',\n      '.rdq-eyebrow': 'introEyebrow',\n      '.rdq-intro-copy > p:not(.rdq-intro-note)': 'introCopy',\n      '.rdq-intro-note': 'introNote',\n      '.rdq-kicker': 'introKicker',\n      '.rdq-list li:nth-child(1) span:last-child': 'introList1',\n      '.rdq-list li:nth-child(2) span:last-child': 'introList2',\n      '.rdq-list li:nth-child(3) span:last-child': 'introList3',\n      '[data-rdq-open]': 'openQuiz',\n      '.rdq-modal-eyebrow': 'modalEyebrow',\n      '.rdq-modal-title': 'modalTitle',\n      '.rdq-modal-note': 'modalNote'\n    };\n\n    Object.keys(textSelectors).forEach(function(selector) {\n      var element = root.querySelector(selector);\n      if (element) element.textContent = copy[textSelectors[selector]];\n    });\n\n    var introTitle = root.querySelector('#rdq-intro-title');\n    if (introTitle) introTitle.innerHTML = copy.introTitle;\n\n    var closeButton = root.querySelector('.rdq-close');\n    if (closeButton) closeButton.setAttribute('aria-label', copy.closeQuiz);\n  }\n\n  function getUpcomingDates(retreat) {\n    var today = new Date();\n    today.setHours(0, 0, 0, 0);\n    if (!retreat || !Array.isArray(retreat.dates)) return [];\n\n    return retreat.dates.map(function(schedule) {\n      return {\n        schedule: schedule,\n        start: parseApiDate(schedule.start),\n        end: parseApiDate(schedule.end) || parseApiDate(schedule.start)\n      };\n    }).filter(function(item) {\n      return item.start && item.end && item.end >= today;\n    }).sort(function(a, b) {\n      return a.start - b.start;\n    });\n  }\n\n  function formatDateRange(item) {\n    if (!item || !item.start) return copy.byRequest;\n    var formatter = new Intl.DateTimeFormat(locale, {\n      day: '2-digit',\n      month: 'short',\n      year: 'numeric'\n    });\n\n    if (item.end && typeof formatter.formatRange === 'function') {\n      return formatter.formatRange(item.start, item.end);\n    }\n\n    return item.end\n      ? formatter.format(item.start) + ' \u2013 ' + formatter.format(item.end)\n      : formatter.format(item.start);\n  }\n\n  function enrichProfiles(retreats) {\n    var availableProfiles = [];\n\n    retreats.forEach(function(retreat) {\n      var key = profileOrder.find(function(profileKey) {\n        var profile = profiles[profileKey];\n        return (profile.sku && retreat.retreat_sku === profile.sku) ||\n          (profile.isPrivate && retreat.is_private === true) ||\n          Number(retreat.id) === Number(profile.id);\n      });\n\n      if (!key || availableProfiles.indexOf(key) !== -1) return;\n\n      var profile = profiles[key];\n      profile.api = retreat;\n      profile.name = retreat.name || profile.name;\n      profile.url = safeUrl(retreat.url) || profile.url;\n      availableProfiles.push(key);\n    });\n\n    \/\/ Preserve the API order and expose only retreats returned by this request.\n    activeProfileOrder = availableProfiles;\n\n    var comparisonLabel = root.querySelector('.rdq-list li:nth-child(2) span:last-child');\n    if (comparisonLabel) {\n      comparisonLabel.textContent = copy.introList2Count(activeProfileOrder.length);\n    }\n  }\n\n  function getSharedRetreatApi() {\n    if (window.VietnamDetoxRetreatAPI) {\n      return window.VietnamDetoxRetreatAPI;\n    }\n\n    window.VietnamDetoxRetreatAPI = {\n      requests: {},\n\n      load: function(apiPath, requestedLanguage) {\n        var apiUrl = new URL(apiPath || '\/wp-json\/retreats\/v1\/all', window.location.origin);\n        apiUrl.searchParams.set('lang', requestedLanguage || 'en');\n\n        var cacheKey = apiUrl.href;\n\n        if (!this.requests[cacheKey]) {\n          this.requests[cacheKey] = fetch(cacheKey, {\n            headers: { Accept: 'application\/json' }\n          }).then(function(response) {\n            if (!response.ok) {\n              throw new Error('Retreat API returned HTTP ' + response.status);\n            }\n            return response.json();\n          }).then(function(retreats) {\n            if (!Array.isArray(retreats)) {\n              throw new Error('Unexpected retreat API response');\n            }\n            return retreats;\n          }).catch(function(error) {\n            delete window.VietnamDetoxRetreatAPI.requests[cacheKey];\n            throw error;\n          });\n        }\n\n        return this.requests[cacheKey];\n      }\n    };\n\n    return window.VietnamDetoxRetreatAPI;\n  }\n\n  function loadRetreats() {\n    return getSharedRetreatApi()\n      .load(root.dataset.api || '\/wp-json\/retreats\/v1\/all', language)\n      .then(function(retreats) {\n        enrichProfiles(retreats);\n        return retreats;\n      })\n      .catch(function(error) {\n        console.warn('Retreat quiz is using fallback content:', error);\n        return [];\n      });\n  }\n\n  function currentSelection() {\n    return selectedAnswers[currentStep];\n  }\n\n  function canContinue() {\n    return currentSelection() !== null && currentSelection() !== undefined;\n  }\n\n  function scoreTotals() {\n    var totals = {};\n    activeProfileOrder.forEach(function(key) { totals[key] = 0; });\n\n    selectedAnswers.forEach(function(answerIndex, questionIndex) {\n      if (answerIndex === null || answerIndex === undefined) return;\n      var answer = questions[questionIndex].answers[answerIndex];\n      activeProfileOrder.forEach(function(key) {\n        totals[key] += answer.scores[key] || 0;\n      });\n    });\n\n    return totals;\n  }\n\n  function normalizedScores() {\n    var totals = scoreTotals();\n    var total = activeProfileOrder.reduce(function(sum, key) { return sum + totals[key]; }, 0);\n    var items = activeProfileOrder.map(function(key) {\n      return {\n        key: key,\n        name: profiles[key].name,\n        score: totals[key],\n        percent: total ? Math.round((totals[key] \/ total) * 100) : 0\n      };\n    });\n\n    var percentageTotal = items.reduce(function(sum, item) { return sum + item.percent; }, 0);\n    if (percentageTotal !== 100 && items.length) {\n      items.slice().sort(function(a, b) { return b.score - a.score; })[0].percent += 100 - percentageTotal;\n    }\n\n    return items.sort(function(a, b) {\n      return b.percent !== a.percent ? b.percent - a.percent : b.score - a.score;\n    });\n  }\n\n  function renderQuestion() {\n    var question = questions[currentStep];\n    mode = 'question';\n    progress.hidden = false;\n    progressText.textContent = copy.questionProgress(currentStep + 1, questions.length);\n    progressFill.style.width = (((currentStep + 1) \/ questions.length) * 100) + '%';\n    stage.hidden = false;\n    result.hidden = true;\n    result.innerHTML = '';\n\n    stage.innerHTML = [\n      '<article class=\"rdq-question-card\">',\n        '<h2 class=\"rdq-question\">' + escapeHtml(question.question) + '<\/h2>',\n        '<p class=\"rdq-question-note\">' + escapeHtml(copy.chooseAnswer) + '<\/p>',\n        '<div class=\"rdq-answers\" role=\"radiogroup\" aria-label=\"' + escapeHtml(question.question) + '\">',\n          question.answers.map(function(answer, index) {\n            var selected = currentSelection() === index;\n            return '<button type=\"button\" class=\"rdq-answer' + (selected ? ' is-selected' : '') + '\" data-rdq-answer=\"' + index + '\" aria-pressed=\"' + selected + '\">' +\n              '<span class=\"rdq-answer-mark\" aria-hidden=\"true\"><\/span>' +\n              '<span class=\"rdq-answer-text\">' + escapeHtml(answer.label) + '<\/span>' +\n            '<\/button>';\n          }).join(''),\n        '<\/div>',\n        '<div class=\"rdq-nav\">',\n          '<button type=\"button\" class=\"rdq-btn rdq-btn-outline\" data-rdq-back ' + (currentStep === 0 ? 'hidden' : '') + '>' + escapeHtml(copy.back) + '<\/button>',\n          '<button type=\"button\" class=\"rdq-btn rdq-btn-ember\" data-rdq-next ' + (canContinue() ? '' : 'disabled') + '>' +\n            escapeHtml(currentStep === questions.length - 1 ? copy.seeResults : copy.next) +\n          '<\/button>',\n        '<\/div>',\n      '<\/article>'\n    ].join('');\n\n    bindQuestionEvents();\n  }\n\n  function resultFacts(profile) {\n    var retreat = profile.api;\n    var dates = getUpcomingDates(retreat);\n    var packages = retreat && Array.isArray(retreat.packages) ? retreat.packages : [];\n    var prices = packages.map(function(item) { return Number(item.price); }).filter(function(price) {\n      return Number.isFinite(price) && price > 0;\n    });\n    var lowestPrice = prices.length ? Math.min.apply(null, prices) : null;\n\n    return {\n      image: retreat ? safeUrl(retreat.image) : '',\n      location: retreat && retreat.location ? retreat.location : copy.detailsOnRequest,\n      nextDate: dates.length ? formatDateRange(dates[0]) : copy.byRequest,\n      price: lowestPrice\n        ? new Intl.NumberFormat(locale, {\n            style: 'currency',\n            currency: 'VND',\n            maximumFractionDigits: 0\n          }).format(lowestPrice)\n        : copy.priceOnRequest\n    };\n  }\n\n  function renderResult() {\n    var scores = normalizedScores();\n\n    if (!scores.length) {\n      mode = 'result';\n      progress.hidden = true;\n      stage.hidden = true;\n      stage.innerHTML = '';\n      result.hidden = false;\n      result.innerHTML = [\n        '<article class=\"rdq-result-card\">',\n          '<span class=\"rdq-result-eyebrow\">' + escapeHtml(copy.strongestEyebrow) + '<\/span>',\n          '<h2 class=\"rdq-result-title\">' + escapeHtml(copy.noRetreatsTitle) + '<\/h2>',\n          '<p class=\"rdq-result-copy\">' + escapeHtml(copy.noRetreatsCopy) + '<\/p>',\n          '<div class=\"rdq-result-actions\">',\n            '<button type=\"button\" class=\"rdq-btn rdq-btn-outline\" data-rdq-restart>' + escapeHtml(copy.restart) + '<\/button>',\n          '<\/div>',\n        '<\/article>'\n      ].join('');\n      result.querySelector('[data-rdq-restart]').addEventListener('click', restartQuiz);\n      return;\n    }\n\n    var primary = scores[0];\n    var secondary = scores[1];\n    var profile = profiles[primary.key];\n    var secondaryProfile = secondary ? profiles[secondary.key] : null;\n    var facts = resultFacts(profile);\n    var url = safeUrl(profile.url) || '#retreat-options';\n    var closeMatch = secondary && primary.percent - secondary.percent <= 5 && secondary.percent > 0;\n\n    var hero = facts.image\n      ? '<a class=\"rdq-result-hero\" href=\"' + escapeHtml(url) + '\" data-rdq-link=\"' + escapeHtml(url) + '\">' +\n          '<img decoding=\"async\" src=\"' + escapeHtml(facts.image) + '\" alt=\"' + escapeHtml(profile.name) + '\">' +\n          '<span class=\"rdq-result-badge\">' + escapeHtml(copy.nextDateBadge) + ' ' + escapeHtml(facts.nextDate) + '<\/span>' +\n        '<\/a>'\n      : '';\n\n    mode = 'result';\n    progress.hidden = true;\n    stage.hidden = true;\n    stage.innerHTML = '';\n    result.hidden = false;\n\n    result.innerHTML = [\n      '<article class=\"rdq-result-card\">',\n        '<span class=\"rdq-result-eyebrow\">' + escapeHtml(copy.strongestEyebrow) + '<\/span>',\n        hero,\n        '<h2 class=\"rdq-result-title\">' + escapeHtml(copy.strongestTitle) + escapeHtml(profile.name) + '<\/h2>',\n        '<p class=\"rdq-result-copy\">' + escapeHtml(profile.reason) + '<\/p>',\n        closeMatch && secondaryProfile\n          ? '<p class=\"rdq-result-secondary\">' + copy.secondaryMatch(secondaryProfile.name) + '<\/p>'\n          : '',\n        '<div class=\"rdq-result-facts\">',\n          '<div class=\"rdq-result-fact\"><strong>' + escapeHtml(copy.location) + '<\/strong>' + escapeHtml(facts.location) + '<\/div>',\n          '<div class=\"rdq-result-fact\"><strong>' + escapeHtml(copy.nextAvailability) + '<\/strong>' + escapeHtml(facts.nextDate) + '<\/div>',\n          '<div class=\"rdq-result-fact\"><strong>' + escapeHtml(copy.startingPrice) + '<\/strong>' + escapeHtml(facts.price) + '<\/div>',\n        '<\/div>',\n        '<p class=\"rdq-result-note\">' + escapeHtml(copy.resultNote) + '<\/p>',\n        '<div class=\"rdq-result-bars\" aria-label=\"' + escapeHtml(copy.percentagesLabel) + '\">',\n          scores.map(function(item) {\n            return '<div class=\"rdq-result-bar\">' +\n              '<div class=\"rdq-result-bar-head\"><span>' + escapeHtml(item.name) + '<\/span><strong>' + item.percent + '%<\/strong><\/div>' +\n              '<div class=\"rdq-result-track\"><div class=\"rdq-result-fill ' + item.key + '\" style=\"width:' + item.percent + '%\"><\/div><\/div>' +\n            '<\/div>';\n          }).join(''),\n        '<\/div>',\n        '<div class=\"rdq-result-actions\">',\n          '<a class=\"rdq-btn rdq-btn-ember\" href=\"' + escapeHtml(url) + '\" data-rdq-link=\"' + escapeHtml(url) + '\">' + escapeHtml(copy.explore) + escapeHtml(profile.name) + '<\/a>',\n          '<a class=\"rdq-btn rdq-btn-outline\" href=\"https:\/\/vietnamdetox.com\/retreat-overview\/\" data-rdq-link=\"\/retreat-overview\">' + escapeHtml(copy.exploreAll) + '<\/a>',\n          '<button type=\"button\" class=\"rdq-btn rdq-btn-outline\" data-rdq-restart>' + escapeHtml(copy.restart) + '<\/button>',\n        '<\/div>',\n      '<\/article>'\n    ].join('');\n\n    result.querySelector('[data-rdq-restart]').addEventListener('click', restartQuiz);\n  }\n\n  function render() {\n    if (mode === 'result') renderResult();\n    else renderQuestion();\n  }\n\n  function bindQuestionEvents() {\n    var answerButtons = stage.querySelectorAll('[data-rdq-answer]');\n    var backButton = stage.querySelector('[data-rdq-back]');\n    var nextButton = stage.querySelector('[data-rdq-next]');\n\n    answerButtons.forEach(function(button) {\n      button.addEventListener('click', function() {\n        selectedAnswers[currentStep] = Number(button.dataset.rdqAnswer);\n        answerButtons.forEach(function(other) {\n          var selected = other === button;\n          other.classList.toggle('is-selected', selected);\n          other.setAttribute('aria-pressed', selected ? 'true' : 'false');\n        });\n        nextButton.disabled = false;\n      });\n    });\n\n    if (backButton) {\n      backButton.addEventListener('click', function() {\n        if (currentStep > 0) {\n          currentStep -= 1;\n          render();\n        }\n      });\n    }\n\n    nextButton.addEventListener('click', function() {\n      if (!canContinue()) return;\n      if (currentStep < questions.length - 1) currentStep += 1;\n      else mode = 'result';\n      render();\n    });\n  }\n\n  function restartQuiz() {\n    selectedAnswers = new Array(questions.length).fill(null);\n    currentStep = 0;\n    mode = 'question';\n    render();\n  }\n\n  function openModal() {\n    lastFocused = document.activeElement;\n    previousBodyOverflow = document.body.style.overflow;\n    document.body.style.overflow = 'hidden';\n    modal.hidden = false;\n    modal.setAttribute('aria-hidden', 'false');\n    openButton.setAttribute('aria-expanded', 'true');\n    window.requestAnimationFrame(function() {\n      modal.classList.add('is-open');\n      var closeButton = modal.querySelector('[data-rdq-close].rdq-close');\n      (closeButton || dialog).focus();\n    });\n  }\n\n  function closeModal() {\n    modal.classList.remove('is-open');\n    modal.setAttribute('aria-hidden', 'true');\n    openButton.setAttribute('aria-expanded', 'false');\n    document.body.style.overflow = previousBodyOverflow;\n    window.setTimeout(function() { modal.hidden = true; }, 220);\n    if (lastFocused && typeof lastFocused.focus === 'function') lastFocused.focus();\n  }\n\n  function navigate(href) {\n    if (!href) return;\n    if (href.charAt(0) === '#') {\n      closeModal();\n      window.setTimeout(function() {\n        var target = document.querySelector(href);\n        if (target) target.scrollIntoView({ behavior: 'smooth', block: 'start' });\n      }, 240);\n      return;\n    }\n    window.location.href = href;\n  }\n\n  openButton.addEventListener('click', openModal);\n  root.querySelectorAll('[data-rdq-close]').forEach(function(button) {\n    button.addEventListener('click', closeModal);\n  });\n\n  root.addEventListener('click', function(event) {\n    var link = event.target.closest('[data-rdq-link]');\n    if (!link) return;\n    event.preventDefault();\n    navigate(link.getAttribute('data-rdq-link'));\n  });\n\n  dialog.addEventListener('keydown', function(event) {\n    if (event.key !== 'Tab') return;\n    \/\/ Skip tabindex=\"-1\" in the filter, not the selector: WPML turns quotes inside\n    \/\/ attribute selectors into &quot; on translated pages, which breaks querySelectorAll.\n    var focusable = Array.prototype.slice.call(dialog.querySelectorAll(\n      'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]'\n    )).filter(function(element) {\n      return element.getAttribute('tabindex') !== '-1' && !element.hidden && element.offsetParent !== null;\n    });\n    if (!focusable.length) return;\n    var first = focusable[0];\n    var last = focusable[focusable.length - 1];\n    if (event.shiftKey && document.activeElement === first) {\n      event.preventDefault();\n      last.focus();\n    } else if (!event.shiftKey && document.activeElement === last) {\n      event.preventDefault();\n      first.focus();\n    }\n  });\n\n  document.addEventListener('keydown', function(event) {\n    if (event.key === 'Escape' && !modal.hidden) closeModal();\n  });\n\n  applyStaticCopy();\n\n  loadRetreats().then(function() {\n    if (mode === 'result') renderResult();\n  });\n\n  render();\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section data-dce-background-overlay-color=\"#F2EAD8\" class=\"elementor-element elementor-element-e14f13c e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"e14f13c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fece9fd elementor-widget elementor-widget-html\" data-id=\"fece9fd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  Copy this entire file into ONE Elementor HTML widget.\r\n  Put elementor-guest-reviews.css into the same widget's\r\n  Advanced > Custom CSS field.\r\n\r\n  Image URLs are configured for staging.vietnamdetox.com.\r\n-->\r\n\r\n<section class=\"vdg\" data-vdg-section=\"\" aria-labelledby=\"vdg-title\">\r\n  <div class=\"vdg__shell\">\r\n    <header class=\"vdg__header\">\r\n      <span class=\"vdg__eyebrow\">Was G\u00e4ste nach dem Reset bemerken<\/span>\r\n      <span class=\"vdg__clue\" aria-hidden=\"true\"><\/span>\r\n\r\n      <h2 class=\"vdg__headline\" id=\"vdg-title\">\r\n  Vom Gef\u00fchl der \u00dcberlastung<br\/> hin zu <em>mehr Leichtigkeit, Klarheit und Erdung.<\/em>\r\n      <\/h2>\r\n\r\n      <p class=\"vdg__introduction\">\r\n  Viele G\u00e4ste kommen, wenn Ruhe allein sich nicht mehr ausreichend anf\u00fchlt. Ihre\r\n Worte zeigen, was sich zu ver\u00e4ndern beginnt, wenn K\u00f6rper, Geist und Alltagsrhythmus\r\n Raum bekommen, sich neu auszurichten. \r\n      <\/p>\r\n    <\/header>\r\n\r\n    <div class=\"vdg__grid\">\r\n      <article class=\"vdg__card vdg__reveal\" data-vdg-reveal=\"\" data-vdg-card=\"\">\r\n        <header class=\"vdg__review-head\">\r\n          <div class=\"vdg__avatar\">\r\n            <img src=\"\/wp-content\/uploads\/2026\/05\/ms-bich-thuy.webp\" alt=\"Ms. Bich Thuy\" loading=\"lazy\" decoding=\"async\">\r\n          <\/div>\r\n\r\n          <div class=\"vdg__guest\">\r\n            <h3 class=\"vdg__name\">Ms. Bich Thuy<\/h3>\r\n            <div class=\"vdg__meta\">G\u00e4stebewertung<\/div>\r\n            <div class=\"vdg__stars\" role=\"img\" aria-label=\"5 out of 5 stars\">\r\n              <span aria-hidden=\"true\">\u2605\u2605\u2605\u2605\u2605<\/span>\r\n            <\/div>\r\n          <\/div>\r\n        <\/header>\r\n\r\n        <p class=\"vdg__review\" data-vdg-review=\"\">\r\n  \u201eIch war \u00e4u\u00dferst zufrieden mit den Inhalten, die unser Fastencoach\r\n Dieter vermittelt hat, und ich habe viel Neues gelernt \u2013 zum Beispiel Mandala-Bilder\r\n zu skizzieren und mein eigenes Vision Board zu gestalten, um die\r\n Zukunft und das, was ich erreichen wollte, darzustellen. Ein fantastisches Detox-Programm.\u201c \r\n        <\/p>\r\n\r\n        <button class=\"vdg__toggle\" type=\"button\" data-vdg-toggle=\"\" hidden=\"\">\r\n  Mehr lesen\r\n        <\/button>\r\n      <\/article>\r\n\r\n      <article class=\"vdg__card vdg__reveal vdg__delay-1\" data-vdg-reveal=\"\" data-vdg-card=\"\">\r\n        <header class=\"vdg__review-head\">\r\n          <div class=\"vdg__avatar\">\r\n            <img src=\"\/wp-content\/uploads\/2026\/05\/ms-hana-dang.webp\" alt=\"Ms. Hana Dang\" loading=\"lazy\" decoding=\"async\">\r\n          <\/div>\r\n\r\n          <div class=\"vdg__guest\">\r\n            <h3 class=\"vdg__name\">Ms. Hana Dang<\/h3>\r\n            <div class=\"vdg__meta\">G\u00e4stebewertung<\/div>\r\n            <div class=\"vdg__stars\" role=\"img\" aria-label=\"5 out of 5 stars\">\r\n              <span aria-hidden=\"true\">\u2605\u2605\u2605\u2605\u2605<\/span>\r\n            <\/div>\r\n          <\/div>\r\n        <\/header>\r\n\r\n        <p class=\"vdg__review\" data-vdg-review=\"\">\r\n  \u201eDas Retreat bietet sehr klare und wissenschaftliche Inhalte, die\r\n die wissenschaftlich fundierte Fastenmethodik sehr detailliert erkl\u00e4ren. Trotz\r\n der zahlreichen k\u00f6rperlichen Aktivit\u00e4ten, darunter Yoga, Meditation und\r\n Naturerlebnisse, hatte ich \u00fcberhaupt keinen Hunger. Besonders\r\n ansprechend ist die Mischung aus Detox und Achtsamkeit.\u201c  \r\n        <\/p>\r\n\r\n        <button class=\"vdg__toggle\" type=\"button\" data-vdg-toggle=\"\" hidden=\"\">\r\n  Mehr lesen\r\n        <\/button>\r\n      <\/article>\r\n\r\n      <article class=\"vdg__card vdg__reveal vdg__delay-2\" data-vdg-reveal=\"\" data-vdg-card=\"\">\r\n        <header class=\"vdg__review-head\">\r\n          <div class=\"vdg__avatar\">\r\n            <img src=\"\/wp-content\/uploads\/2026\/05\/ms-thu-loan.webp\" alt=\"Ms. Thu Loan\" loading=\"lazy\" decoding=\"async\">\r\n          <\/div>\r\n\r\n          <div class=\"vdg__guest\">\r\n            <h3 class=\"vdg__name\">Ms. Thu Loan<\/h3>\r\n            <div class=\"vdg__meta\">G\u00e4stebewertung<\/div>\r\n            <div class=\"vdg__stars\" role=\"img\" aria-label=\"5 out of 5 stars\">\r\n              <span aria-hidden=\"true\">\u2605\u2605\u2605\u2605\u2605<\/span>\r\n            <\/div>\r\n          <\/div>\r\n        <\/header>\r\n\r\n        <p class=\"vdg__review\" data-vdg-review=\"\">\r\n  \u201eIch bin \u00fcbergl\u00fccklich, Teil dieses Detox-Retreats gewesen zu sein; es hat\r\n mir fantastische Gesundheit und ein wunderbares Erlebnis geschenkt. Ich sch\u00e4tze sehr,\r\n wie sehr sich die Organisatoren um die Gruppe und jede einzelne Person k\u00fcmmern. Die\r\n \u00dcbungen im Programm haben mich inspiriert; sie waren wie ein frischer Atemzug f\u00fcr\r\n meine Seele. Alle sind wunderbar\u2026\u201c   \r\n        <\/p>\r\n\r\n        <button class=\"vdg__toggle\" type=\"button\" data-vdg-toggle=\"\" hidden=\"\">\r\n  Mehr lesen\r\n        <\/button>\r\n      <\/article>\r\n    <\/div>\r\n\r\n    <div class=\"vdg__cta\">\r\n      <p>Nicht sicher, wo Sie anfangen sollen?<\/p>\r\n      <a class=\"vdg__button\" href=\"#retreats\">Retreats entdecken<\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n\r\n  var sections = document.querySelectorAll('[data-vdg-section]');\r\n\r\n  sections.forEach(function(section, sectionIndex) {\r\n    if (section.dataset.vdgReady === 'true') return;\r\n    section.dataset.vdgReady = 'true';\r\n\r\n    var cards = section.querySelectorAll('[data-vdg-card]');\r\n    var revealItems = section.querySelectorAll('[data-vdg-reveal]');\r\n    var reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n    var resizeTimer = null;\r\n\r\n    cards.forEach(function(card, cardIndex) {\r\n      var review = card.querySelector('[data-vdg-review]');\r\n      var toggle = card.querySelector('[data-vdg-toggle]');\r\n\r\n      if (!review || !toggle) return;\r\n\r\n      var reviewId = 'vdg-review-' + sectionIndex + '-' + cardIndex;\r\n      review.id = reviewId;\r\n      toggle.setAttribute('aria-controls', reviewId);\r\n      toggle.setAttribute('aria-expanded', 'false');\r\n\r\n      toggle.addEventListener('click', function() {\r\n        var expanded = review.classList.toggle('is-expanded');\r\n        toggle.textContent = expanded ? 'Read less' : 'Read more';\r\n        toggle.setAttribute('aria-expanded', String(expanded));\r\n      });\r\n    });\r\n\r\n    function syncToggles() {\r\n      cards.forEach(function(card) {\r\n        var review = card.querySelector('[data-vdg-review]');\r\n        var toggle = card.querySelector('[data-vdg-toggle]');\r\n\r\n        if (!review || !toggle) return;\r\n\r\n        var wasExpanded = review.classList.contains('is-expanded');\r\n        review.classList.remove('is-expanded');\r\n        var isClipped = review.scrollHeight > review.clientHeight + 1;\r\n\r\n        if (isClipped) {\r\n          toggle.hidden = false;\r\n          if (wasExpanded) review.classList.add('is-expanded');\r\n        } else {\r\n          toggle.hidden = true;\r\n          toggle.textContent = 'Read more';\r\n          toggle.setAttribute('aria-expanded', 'false');\r\n        }\r\n      });\r\n    }\r\n\r\n    function revealAll() {\r\n      revealItems.forEach(function(item) {\r\n        item.classList.add('is-visible');\r\n      });\r\n    }\r\n\r\n    if (reducedMotion || !('IntersectionObserver' in window)) {\r\n      revealAll();\r\n    } else {\r\n      var observer = new IntersectionObserver(function(entries) {\r\n        entries.forEach(function(entry) {\r\n          if (!entry.isIntersecting) return;\r\n          entry.target.classList.add('is-visible');\r\n          observer.unobserve(entry.target);\r\n        });\r\n      }, {\r\n        threshold: 0.12,\r\n        rootMargin: '0px 0px -40px 0px'\r\n      });\r\n\r\n      revealItems.forEach(function(item) {\r\n        observer.observe(item);\r\n      });\r\n    }\r\n\r\n    window.requestAnimationFrame(syncToggles);\r\n\r\n    if (document.fonts && document.fonts.ready) {\r\n      document.fonts.ready.then(syncToggles);\r\n    }\r\n\r\n    window.addEventListener('resize', function() {\r\n      window.clearTimeout(resizeTimer);\r\n      resizeTimer = window.setTimeout(syncToggles, 120);\r\n    }, { passive: true });\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-d3eb3c9 e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"d3eb3c9\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-97023b1 elementor-widget elementor-widget-html\" data-id=\"97023b1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  Copy this entire file into ONE Elementor HTML widget.\r\n  Put elementor-team-guidance.css into the same widget's\r\n  Advanced > Custom CSS field.\r\n\r\n  Image URLs are configured for staging.vietnamdetox.com.\r\n-->\r\n\r\n<section class=\"vdt\" id=\"about\" data-vdt-section=\"\" aria-labelledby=\"vdt-title\">\r\n  <div class=\"vdt__shell\">\r\n    <header class=\"vdt__header\">\r\n      <span class=\"vdt__eyebrow\">Begleitung w\u00e4hrend Ihres Retreats<\/span>\r\n      <span class=\"vdt__rule vdt__rule--gold\" aria-hidden=\"true\"><\/span>\r\n\r\n      <h2 class=\"vdt__headline\" id=\"vdt-title\">\r\n  Erfahrene Begleitung f\u00fcr <em>Ihren Neustart.<\/em>\r\n      <\/h2>\r\n\r\n      <p class=\"vdt__introduction\">\r\n  Fasten kann sich anfangs ungewohnt anf\u00fchlen. Sie werden w\u00e4hrend des gesamten Prozesses ruhig und\r\n pers\u00f6nlich von erfahrenen Praktikern begleitet. \r\n      <\/p>\r\n    <\/header>\r\n\r\n    <div class=\"vdt__grid\">\r\n      <article class=\"vdt__card vdt__card--first vdt__reveal vdt__delay-1\" data-vdt-reveal=\"\">\r\n        <div class=\"vdt__photo\">\r\n          <img src=\"\/wp-content\/uploads\/2026\/08\/Dieter-Buchner-Co-Founder-and-Retreat-Leader-vietnam-detox.png\" alt=\"Dieter Buchner\" loading=\"lazy\" decoding=\"async\">\r\n        <\/div>\r\n\r\n        <div class=\"vdt__content\">\r\n          <h3 class=\"vdt__name\">Dieter Buchner<\/h3>\r\n          <p class=\"vdt__role\">Zertifizierter Fastencoach und Retreat-Leiter<\/p>\r\n          <p class=\"vdt__subrole\">Praktiker f\u00fcr deutsches Buchinger-Fasten<\/p>\r\n          <span class=\"vdt__ember-rule\" aria-hidden=\"true\"><\/span>\r\n\r\n          <p class=\"vdt__bio\">\r\n  Dieter ist seit 2016 Wegbereiter der Buchinger-Fastenmethode in Vietnam.\r\n Er wurde in Deutschland ausgebildet und hat Hunderte G\u00e4ste durch ihr erstes Fasten\r\n begleitet. Sein Ansatz ist warm, evidenzbasiert und zutiefst pers\u00f6nlich.\r\n  \r\n          <\/p>\r\n\r\n          <p class=\"vdt__support\">\r\n  G\u00e4ste f\u00fchlen sich oft durch ruhige Struktur und pers\u00f6nliche Aufmerksamkeit stabilisiert.\r\n          <\/p>\r\n\r\n          <a href=\"#contact\" class=\"vdt__profile-link\">Mehr \u00fcber Dieter<\/a>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <article class=\"vdt__card vdt__reveal vdt__delay-2\" data-vdt-reveal=\"\">\r\n        <div class=\"vdt__photo\">\r\n          <img src=\"\/wp-content\/uploads\/2026\/08\/vietnamdetox-Truong-Tan-Hoan-Retreatleader-Cofounder-vietnam-detox.png\" alt=\"Tr\u01b0\u01a1ng T\u1ea5n Ho\u00e0n\" loading=\"lazy\" decoding=\"async\">\r\n        <\/div>\r\n\r\n        <div class=\"vdt__content\">\r\n          <h3 class=\"vdt__name\">Tr\u01b0\u01a1ng T\u1ea5n Ho\u00e0n<\/h3>\r\n          <p class=\"vdt__role\">Mitgr\u00fcnder und Programmkoordinator<\/p>\r\n          <p class=\"vdt__subrole\">Vietnamesischer Wellness- & Erholungsbegleiter<\/p>\r\n          <span class=\"vdt__ember-rule\" aria-hidden=\"true\"><\/span>\r\n\r\n          <p class=\"vdt__bio\">\r\n  Ho\u00e0n bringt das lokale Wissen, die Beziehungen und die F\u00fcrsorge zusammen,\r\n die das Vietnam-Detox-Erlebnis in seinem Umfeld verankern.\r\n Er sorgt daf\u00fcr, dass jedes Detail Ihres Aufenthalts bedacht ist und sich jeder Gast\r\n zu Hause f\u00fchlt.\r\n          <\/p>\r\n\r\n          <p class=\"vdt__support\">\r\n  G\u00e4ste f\u00fchlen sich oft pers\u00f6nlich umsorgt \u2013 durch ruhige, aufmerksame\r\n Unterst\u00fctzung.\r\n          <\/p>\r\n\r\n          <a href=\"#contact\" class=\"vdt__profile-link\">Mehr \u00fcber Ho\u00e0n<\/a>\r\n        <\/div>\r\n      <\/article>\r\n    <\/div>\r\n\r\n    <p class=\"vdt__closing\">\r\n  W\u00e4hrend jedes Retreats bleibt die Begleitung ruhig, pers\u00f6nlich und in\r\n praktischer Erfahrung verankert.\r\n    <\/p>\r\n\r\n    <div class=\"vdt__cta\">\r\n      <a href=\"#retreats\" class=\"vdt__button\">Kommende Retreats entdecken<\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n\r\n  var sections = document.querySelectorAll('[data-vdt-section]');\r\n\r\n  sections.forEach(function(section) {\r\n    if (section.dataset.vdtReady === 'true') return;\r\n    section.dataset.vdtReady = 'true';\r\n\r\n    var cards = section.querySelectorAll('[data-vdt-reveal]');\r\n    var reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n\r\n    function revealAll() {\r\n      cards.forEach(function(card) {\r\n        card.classList.add('is-visible');\r\n      });\r\n    }\r\n\r\n    if (!cards.length || reducedMotion || !('IntersectionObserver' in window)) {\r\n      revealAll();\r\n      return;\r\n    }\r\n\r\n    var observer = new IntersectionObserver(function(entries) {\r\n      entries.forEach(function(entry) {\r\n        if (!entry.isIntersecting) return;\r\n        entry.target.classList.add('is-visible');\r\n        observer.unobserve(entry.target);\r\n      });\r\n    }, {\r\n      threshold: 0.12,\r\n      rootMargin: '0px 0px -40px 0px'\r\n    });\r\n\r\n    cards.forEach(function(card) {\r\n      observer.observe(card);\r\n    });\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-d0109dd e-flex e-con-boxed e-con e-parent\" data-id=\"d0109dd\" 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-e89d6c5 elementor-widget elementor-widget-html\" data-id=\"e89d6c5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  Copy this entire file into ONE Elementor HTML widget.\r\n  Put elementor-retreat-process.css into the same widget's\r\n  Advanced > Custom CSS field.\r\n-->\r\n\r\n<section class=\"vdp\" data-vdp-section=\"\" aria-labelledby=\"vdp-title\">\r\n  <div class=\"vdp__shell\">\r\n    <header class=\"vdp__header\">\r\n      <span class=\"vdp__eyebrow\">Der Ablauf<\/span>\r\n      <span class=\"vdp__rule\" aria-hidden=\"true\"><\/span>\r\n\r\n      <h2 class=\"vdp__headline\" id=\"vdp-title\">\r\n  Wie unsere Retreats aufgebaut sind\r\n        <span class=\"vdp__headline-subtitle\">vor, w\u00e4hrend und nach Ihrem Aufenthalt<\/span>\r\n      <\/h2>\r\n\r\n      <p class=\"vdp__introduction\">\r\n  Sie werden Schritt f\u00fcr Schritt vor, w\u00e4hrend und nach jedem Retreat begleitet.\r\n      <\/p>\r\n      <p class=\"vdp__introduction\">\r\n  Jeder Teil des Erlebnisses ist darauf ausgelegt, dass sich Fasten\r\n strukturiert, unterst\u00fctzend und gut machbar anf\u00fchlt \u2013 statt \u00fcberw\u00e4ltigend oder\r\n extrem.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <ol class=\"vdp__steps\" role=\"list\">\r\n      <li class=\"vdp__step vdp__reveal vdp__delay-1\" data-vdp-reveal=\"\">\r\n        <span class=\"vdp__number\" aria-hidden=\"true\">01<\/span>\r\n        <div class=\"vdp__step-content\">\r\n          <h3>Das passende Retreat-Erlebnis f\u00fcr Sie finden<\/h3>\r\n          <p>\r\n  Wir helfen Ihnen, das Retreat-Erlebnis zu w\u00e4hlen, das am besten zu Ihrer\r\n Situation, Ihren Zielen und Ihrem Erfahrungsstand passt.\r\n          <\/p>\r\n          <p>\r\n  Sobald Ihr Platz gesichert ist, erhalten Sie klare Hinweise zu den\r\n n\u00e4chsten Schritten und zur Vorbereitung.\r\n          <\/p>\r\n        <\/div>\r\n      <\/li>\r\n\r\n      <li class=\"vdp__step vdp__reveal vdp__delay-2\" data-vdp-reveal=\"\">\r\n        <span class=\"vdp__number\" aria-hidden=\"true\">02<\/span>\r\n        <div class=\"vdp__step-content\">\r\n          <h3>Vorbereitung & Gesundheitscheck<\/h3>\r\n          <p>\r\n  Vor der Anreise f\u00fcllen Sie einen kurzen Gesundheitsfragebogen aus und f\u00fchren\r\n ein Vorbereitungsgespr\u00e4ch mit Dieter oder Ho\u00e0n.\r\n          <\/p>\r\n          <p>\r\n  So k\u00f6nnen wir Ihren Hintergrund besser verstehen, Fragen beantworten und\r\n Sie gut vorbereiten, bevor das Fasten beginnt.\r\n          <\/p>\r\n        <\/div>\r\n      <\/li>\r\n\r\n      <li class=\"vdp__step vdp__reveal vdp__delay-3\" data-vdp-reveal=\"\">\r\n        <span class=\"vdp__number\" aria-hidden=\"true\">03<\/span>\r\n        <div class=\"vdp__step-content\">\r\n          <h3>Ihr Retreat<br\/>Erlebnis<\/h3>\r\n          <p>\r\n  Jeder Tag verbindet Fasten, Bewegung, Wissensvermittlung und Ruhe in einem\r\n ruhigen, strukturierten Rhythmus.\r\n          <\/p>\r\n          <p>\r\n  Sie werden w\u00e4hrend des Prozesses unterst\u00fctzt und haben dennoch gen\u00fcgend\r\n Raum, um langsamer zu werden, zu reflektieren und sich wieder mit sich selbst zu verbinden.\r\n          <\/p>\r\n        <\/div>\r\n      <\/li>\r\n\r\n      <li class=\"vdp__step vdp__reveal vdp__delay-4\" data-vdp-reveal=\"\">\r\n        <span class=\"vdp__number\" aria-hidden=\"true\">04<\/span>\r\n        <div class=\"vdp__step-content\">\r\n          <h3>Das Erlebnis in den Alltag mitnehmen<\/h3>\r\n          <p>\r\n  Sie gehen mit klaren Anleitungen zum Aufbau, praktischen Tools und einem\r\n Nachkontakt nach dem Retreat-Erlebnis.\r\n          <\/p>\r\n          <p>\r\n  Ziel ist, dass Sie mit ges\u00fcnderen Rhythmen und mehr Klarheit f\u00fcr den Alltag\r\n nach Hause zur\u00fcckkehren.\r\n          <\/p>\r\n        <\/div>\r\n      <\/li>\r\n    <\/ol>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n\r\n  var sections = document.querySelectorAll('[data-vdp-section]');\r\n\r\n  sections.forEach(function(section) {\r\n    if (section.dataset.vdpReady === 'true') return;\r\n    section.dataset.vdpReady = 'true';\r\n\r\n    var steps = section.querySelectorAll('[data-vdp-reveal]');\r\n    var reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n\r\n    function revealAll() {\r\n      steps.forEach(function(step) {\r\n        step.classList.add('is-visible');\r\n      });\r\n    }\r\n\r\n    if (!steps.length || reducedMotion || !('IntersectionObserver' in window)) {\r\n      revealAll();\r\n      return;\r\n    }\r\n\r\n    var observer = new IntersectionObserver(function(entries) {\r\n      entries.forEach(function(entry) {\r\n        if (!entry.isIntersecting) return;\r\n        entry.target.classList.add('is-visible');\r\n        observer.unobserve(entry.target);\r\n      });\r\n    }, {\r\n      threshold: 0.1,\r\n      rootMargin: '0px 0px -40px 0px'\r\n    });\r\n\r\n    steps.forEach(function(step) {\r\n      observer.observe(step);\r\n    });\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-1aeaeba e-con-full e-flex e-con e-parent\" data-id=\"1aeaeba\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ec5beb9 elementor-widget elementor-widget-html\" data-id=\"ec5beb9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Be+Vietnam+Pro:wght@300;400;500;600;700&display=swap\" rel=\"stylesheet\">\n\n<section class=\"vnd-dbd\" data-vnd-dbd=\"\">\n  <div class=\"vnd-dbd__inner\">\n\n    <header class=\"vnd-dbd__header\">\n      <span class=\"vnd-dbd__eyebrow\">Die Buchinger-Methode<\/span>\n      <span class=\"vnd-dbd__rule\"><\/span>\n\n      <h2 class=\"vnd-dbd__headline\">\n  Was sich ver\u00e4ndert,\n        <span>Tag f\u00fcr Tag.<\/span>\n      <\/h2>\n\n      <p class=\"vnd-dbd__description\">\n  Jede Phase des Retreat-Erlebnisses unterst\u00fctzt sanft einen anderen Prozess im K\u00f6rper und Geist.\n\n      <\/p>\n    <\/header>\n\n    <div class=\"vnd-dbd__slider\">\n\n      <div class=\"vnd-dbd__cards\" data-vnd-dbd-cards=\"\" tabindex=\"0\" aria-label=\"Day-by-day retreat experience\">\n\n        <article class=\"vnd-dbd__card is-active\">\n          <img decoding=\"async\" class=\"vnd-dbd__icon\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/homepage\/day-by-day\/SVG\/prepday.svg\" alt=\"\">\n          <span class=\"vnd-dbd__label\">Vorbereitung<\/span>\n          <h3>Den K\u00f6rper vorbereiten<\/h3>\n          <p>\n  In den Tagen vor jedem Retreat werden die Mahlzeiten leichter und einfacher.\n Die Verdauung wird langsamer, Reize werden reduziert und der K\u00f6rper beginnt,\n sich auf Ruhe vorzubereiten.\n          <\/p>\n          <p>\n  Dieser ruhigere Einstieg hilft, dass sich das Fasten von Anfang an weniger abrupt und besser machbar anf\u00fchlt.\n\n          <\/p>\n        <\/article>\n\n        <article class=\"vnd-dbd__card\">\n          <img decoding=\"async\" class=\"vnd-dbd__icon\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/homepage\/day-by-day\/SVG\/day-o.svg\" alt=\"\">\n          <span class=\"vnd-dbd__label\">Anreise<\/span>\n          <h3>Ankommen und langsamer werden<\/h3>\n          <p>\n  Nach der Anreise verlagert sich der Fokus auf das Herunterfahren. Sanfte\n Bewegung, Gesundheitschecks, n\u00e4hrende Suppen und ruhige Routinen helfen,\n dass der K\u00f6rper ankommt. \n          <\/p>\n          <p>\n  Der erste Tag dient dazu, gut zu landen, sich sicher zu f\u00fchlen und das Tempo wechseln zu lassen.\n\n          <\/p>\n        <\/article>\n\n        <article class=\"vnd-dbd__card\">\n          <img decoding=\"async\" class=\"vnd-dbd__icon\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/homepage\/day-by-day\/SVG\/Day%201.svg\" alt=\"\">\n          <span class=\"vnd-dbd__label\">\u00dcbergang<\/span>\n          <h3>Der K\u00f6rper beginnt sich umzustellen<\/h3>\n          <p>\n  Wenn die Verdauung pausiert, geht der K\u00f6rper allm\u00e4hlich in den Fastenstoffwechsel \u00fcber.\n Viele G\u00e4ste bemerken mehr Klarheit, gleichm\u00e4\u00dfigere Energie und\n einen ruhigeren Geist. \n          <\/p>\n          <p>\n  Oft ist das der Punkt, an dem sich jedes Retreat nat\u00fcrlicher anf\u00fchlt.\n\n          <\/p>\n        <\/article>\n\n        <article class=\"vnd-dbd__card\">\n          <img decoding=\"async\" class=\"vnd-dbd__icon\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/homepage\/day-by-day\/SVG\/Day1to2.svg\" alt=\"\">\n          <span class=\"vnd-dbd__label\">Tiefer Reset<\/span>\n          <h3>Im Fasten ankommen<\/h3>\n          <p>\n  In dieser Phase sp\u00fcren viele G\u00e4ste den Rhythmus deutlicher. Hunger\n wird oft weniger fordernd, und die Tage f\u00fchlen sich flie\u00dfender an. \n          <\/p>\n          <p>\n  Der K\u00f6rper hat mehr Raum, langsamer zu werden, zu ruhen und zu regenerieren.\n          <\/p>\n        <\/article>\n\n        <article class=\"vnd-dbd__card\">\n          <img decoding=\"async\" class=\"vnd-dbd__icon\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/homepage\/day-by-day\/SVG\/Days%202%20and%203.svg\" alt=\"\">\n          <span class=\"vnd-dbd__label\">Wiederaufbau<\/span>\n          <h3>Balance wieder aufbauen<\/h3>\n          <p>\n  Wenn das Fasten tiefer wird, arbeitet der K\u00f6rper effizienter, und viele\n G\u00e4ste beschreiben ein Gef\u00fchl von Leichtigkeit und ruhigerer Energie.\n          <\/p>\n          <p>\n  Bewegung und Ruhe greifen zunehmend nat\u00fcrlicher ineinander.\n          <\/p>\n        <\/article>\n\n        <article class=\"vnd-dbd__card\">\n          <img decoding=\"async\" class=\"vnd-dbd__icon\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/homepage\/day-by-day\/SVG\/Day%204.svg\" alt=\"\">\n          <span class=\"vnd-dbd__label\">Integration<\/span>\n          <h3>Ein ruhigerer innerer Rhythmus<\/h3>\n          <p>\n  In dieser Phase f\u00fchlt sich das Erlebnis oft ruhiger und mehr nach innen gerichtet an.\n G\u00e4ste bemerken meist mehr Leichtigkeit, einen stabileren Appetit\n und mehr mentalen Raum. \n          <\/p>\n          <p>\n  Der Retreat-Rhythmus f\u00fchlt sich nun vertraut genug an, um sich darin einzupendeln.\n          <\/p>\n        <\/article>\n\n        <article class=\"vnd-dbd__card\">\n          <img decoding=\"async\" class=\"vnd-dbd__icon\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/homepage\/day-by-day\/SVG\/day-5.svg\" alt=\"\">\n          <span class=\"vnd-dbd__label\">Der erste Apfel<\/span>\n          <h3>Zur\u00fcck zum Essen<\/h3>\n          <p>\n  Der erste Apfel markiert die R\u00fcckkehr zum Essen. Er wird langsam und\n achtsam gegessen, damit der K\u00f6rper mit Sorgfalt und\n Aufmerksamkeit wieder zum Essen zur\u00fcckfindet. \n          <\/p>\n          <p>\n  Dieser Moment leitet den \u00dcbergang vom Fasten in den Wiederaufbau ein.\n          <\/p>\n        <\/article>\n\n        <article class=\"vnd-dbd__card\">\n          <img decoding=\"async\" class=\"vnd-dbd__icon\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/homepage\/day-by-day\/SVG\/Days%20%2B1%20to%20%2B3.svg\" alt=\"\">\n          <span class=\"vnd-dbd__label\">Aufbauphase<\/span>\n          <h3>Weitergehen<\/h3>\n          <p>\n  Die letzten Tage der Aufbauphase helfen dem Verdauungssystem, sanft zur\u00fcckzukehren.\n Einfache Lebensmittel, klare Anleitung und ein behutsames Tempo halten den \u00dcbergang\n angenehm. \n          <\/p>\n          <p>\n  Hier beginnt das Erlebnis, sich im Alltagsrhythmus und in praktischen Gewohnheiten zu verankern.\n\n          <\/p>\n        <\/article>\n\n      <\/div>\n\n      <div class=\"vnd-dbd__dots\" data-vnd-dbd-dots=\"\" aria-label=\"Choose a retreat phase\">\n        <button type=\"button\" class=\"vnd-dbd__dot is-active\" aria-label=\"Show Preparation\" aria-current=\"true\"><\/button>\n        <button type=\"button\" class=\"vnd-dbd__dot\" aria-label=\"Show Arrival\"><\/button>\n        <button type=\"button\" class=\"vnd-dbd__dot\" aria-label=\"Show Transition\"><\/button>\n        <button type=\"button\" class=\"vnd-dbd__dot\" aria-label=\"Show Deep Reset\"><\/button>\n        <button type=\"button\" class=\"vnd-dbd__dot\" aria-label=\"Show Rebuilding\"><\/button>\n        <button type=\"button\" class=\"vnd-dbd__dot\" aria-label=\"Show Integration\"><\/button>\n        <button type=\"button\" class=\"vnd-dbd__dot\" aria-label=\"Show The First Apple\"><\/button>\n        <button type=\"button\" class=\"vnd-dbd__dot\" aria-label=\"Show Refeeding\"><\/button>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/section>\n\n<script>\n(function () {\n  function initializeDayByDay() {\n    document.querySelectorAll('[data-vnd-dbd]').forEach(function (section) {\n      if (section.hasAttribute('data-vnd-dbd-ready')) return;\n\n      section.setAttribute('data-vnd-dbd-ready', 'true');\n\n      var row = section.querySelector('[data-vnd-dbd-cards]');\n      var cards = Array.prototype.slice.call(\n        section.querySelectorAll('.vnd-dbd__card')\n      );\n      var dots = Array.prototype.slice.call(\n        section.querySelectorAll('.vnd-dbd__dot')\n      );\n\n      if (!row || !cards.length) return;\n\n      var scrollFrame = null;\n      var isDragging = false;\n      var dragStartX = 0;\n      var dragStartScroll = 0;\n\n      function getRowPadding() {\n        return parseFloat(window.getComputedStyle(row).paddingLeft) || 0;\n      }\n\n      function getCardPosition(card) {\n        return card.offsetLeft - getRowPadding();\n      }\n\n      function activateCard(index) {\n        index = Math.max(0, Math.min(index, cards.length - 1));\n\n        cards.forEach(function (card, cardIndex) {\n          card.classList.toggle('is-active', cardIndex === index);\n        });\n\n        dots.forEach(function (dot, dotIndex) {\n          var active = dotIndex === index;\n          dot.classList.toggle('is-active', active);\n\n          if (active) {\n            dot.setAttribute('aria-current', 'true');\n          } else {\n            dot.removeAttribute('aria-current');\n          }\n        });\n      }\n\n      function findNearestCard() {\n        var closestIndex = 0;\n        var closestDistance = Infinity;\n\n        cards.forEach(function (card, index) {\n          var distance = Math.abs(\n            getCardPosition(card) - row.scrollLeft\n          );\n\n          if (distance < closestDistance) {\n            closestDistance = distance;\n            closestIndex = index;\n          }\n        });\n\n        activateCard(closestIndex);\n      }\n\n      row.addEventListener('scroll', function () {\n        if (scrollFrame) {\n          window.cancelAnimationFrame(scrollFrame);\n        }\n\n        scrollFrame = window.requestAnimationFrame(function () {\n          findNearestCard();\n          scrollFrame = null;\n        });\n      }, { passive: true });\n\n      dots.forEach(function (dot, index) {\n        dot.addEventListener('click', function () {\n          activateCard(index);\n\n          row.scrollTo({\n            left: getCardPosition(cards[index]),\n            behavior: 'smooth'\n          });\n        });\n      });\n\n      \/*\n       * Convert vertical mouse-wheel movement into horizontal movement while\n       * the cursor is over the cards. Normal page scrolling resumes at the\n       * beginning and end of the slider.\n       *\/\n      row.addEventListener('wheel', function (event) {\n        if (Math.abs(event.deltaY) <= Math.abs(event.deltaX)) return;\n\n        var maximum = row.scrollWidth - row.clientWidth;\n        var atBeginning = row.scrollLeft <= 1;\n        var atEnd = row.scrollLeft >= maximum - 1;\n\n        if (\n          (event.deltaY < 0 && atBeginning) ||\n          (event.deltaY > 0 && atEnd)\n        ) {\n          return;\n        }\n\n        event.preventDefault();\n\n        row.scrollBy({\n          left: event.deltaY * 0.8,\n          behavior: 'smooth'\n        });\n      }, { passive: false });\n\n      \/*\n       * Desktop click-and-drag support.\n       * Touch devices continue to use native horizontal swiping.\n       *\/\n      row.addEventListener('mousedown', function (event) {\n        isDragging = true;\n        dragStartX = event.pageX;\n        dragStartScroll = row.scrollLeft;\n        row.classList.add('is-dragging');\n      });\n\n      document.addEventListener('mousemove', function (event) {\n        if (!isDragging) return;\n\n        event.preventDefault();\n        row.scrollLeft = dragStartScroll - (event.pageX - dragStartX);\n      });\n\n      document.addEventListener('mouseup', function () {\n        if (!isDragging) return;\n\n        isDragging = false;\n        row.classList.remove('is-dragging');\n      });\n\n      row.addEventListener('mouseleave', function () {\n        if (!isDragging) return;\n\n        isDragging = false;\n        row.classList.remove('is-dragging');\n      });\n\n      window.addEventListener('resize', findNearestCard, { passive: true });\n      activateCard(0);\n    });\n  }\n\n  initializeDayByDay();\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-ada3f49 e-con-full elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con e-parent\" data-id=\"ada3f49\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fea35e7 dce_masking-none elementor-widget elementor-widget-image\" data-id=\"fea35e7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"532\" src=\"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/SLH_Namia_Lumina-Wellbeing-06-1024x681.webp\" class=\"attachment-large size-large wp-image-22596\" alt=\"\" srcset=\"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/SLH_Namia_Lumina-Wellbeing-06-1024x681.webp 1024w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/SLH_Namia_Lumina-Wellbeing-06-300x200.webp 300w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/SLH_Namia_Lumina-Wellbeing-06-768x511.webp 768w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/SLH_Namia_Lumina-Wellbeing-06.webp 1200w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-9dde1a6 e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"9dde1a6\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6d27d95 elementor-widget elementor-widget-html\" data-id=\"6d27d95\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  Copy this entire file into ONE Elementor HTML widget.\r\n  Put elementor-buchinger-quote.css into the same widget's\r\n  Advanced > Custom CSS field.\r\n-->\r\n\r\n<section class=\"vdq\" data-vdq-section=\"\" aria-label=\"Quote by Otto Buchinger\">\r\n  <div class=\"vdq__shell\">\r\n    <figure class=\"vdq__card vdq__reveal\" data-vdq-reveal=\"\">\r\n      <span class=\"vdq__mark vdq__mark--open\" aria-hidden=\"true\">\u201e<\/span>\r\n    <span class=\"eyebrow eyebrow-forest\" style=\"letter-spacing:0.24em;display:block;margin-bottom:18px;\">Eine zeitlose Perspektive<\/span>\r\n      <blockquote class=\"vdq__quote\">\r\n Ein echtes Fasten reinigt K\u00f6rper, Geist und Seele.\r\n      <\/blockquote>\r\n\r\n      <span class=\"vdq__mark vdq__mark--close\" aria-hidden=\"true\">\u201c<\/span>\r\n\r\n      <figcaption class=\"vdq__attribution\">\r\n        <cite>Mahatma Gandhi<\/cite>\r\n      <\/figcaption> \r\n\r\n      <span class=\"vdq__rule\" aria-hidden=\"true\"><\/span>\r\n    <\/figure>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n\r\n  var sections = document.querySelectorAll('[data-vdq-section]');\r\n\r\n  sections.forEach(function(section) {\r\n    if (section.dataset.vdqReady === 'true') return;\r\n    section.dataset.vdqReady = 'true';\r\n\r\n    var quote = section.querySelector('[data-vdq-reveal]');\r\n    var reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n\r\n    if (!quote) return;\r\n\r\n    if (reducedMotion || !('IntersectionObserver' in window)) {\r\n      quote.classList.add('is-visible');\r\n      return;\r\n    }\r\n\r\n    var observer = new IntersectionObserver(function(entries) {\r\n      entries.forEach(function(entry) {\r\n        if (!entry.isIntersecting) return;\r\n        entry.target.classList.add('is-visible');\r\n        observer.unobserve(entry.target);\r\n      });\r\n    }, {\r\n      threshold: 0.12,\r\n      rootMargin: '0px 0px -40px 0px'\r\n    });\r\n\r\n    observer.observe(quote);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-802e335 e-con-full e-flex e-con e-parent\" data-id=\"802e335\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-93f88bc elementor-widget elementor-widget-html\" data-id=\"93f88bc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\n  Vietnam Detox \u2014 Elementor Method Section\n  Paste this entire file into one Elementor HTML widget.\n  Add method-section.css separately as described in README.md.\n-->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Be+Vietnam+Pro:wght@300;400;500;600;700&display=swap\" rel=\"stylesheet\">\n\n<section class=\"vnd-method\" data-vnd-method=\"\">\n  <div class=\"vnd-method__inner\">\n    <header class=\"vnd-method__header\">\n      <span class=\"vnd-method__eyebrow\">Die Methode<\/span>\n      <span class=\"vnd-method__rule\" aria-hidden=\"true\"><\/span>\n\n      <h2 class=\"vnd-method__headline\">\n  Fastenretreats, die Ihnen helfen,\n        <span>sich zu erholen.<\/span>\n      <\/h2>\n\n      <p class=\"vnd-method__introduction\">\n  Strukturiertes Fasten, t\u00e4gliche Begleitung und regenerative Praktiken, die Ihrem K\u00f6rper und Geist helfen,\n wieder langsamer zu werden.\n      <\/p>\n    <\/header>\n\n    <div class=\"vnd-method__cards\" data-method-reveal=\"\">\n      <article class=\"vnd-method-card vnd-method-card--structure\">\n        <div class=\"vnd-method-card__icon\" aria-hidden=\"true\">\n          <img decoding=\"async\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/root-purpose\/SVG\/german-methodology.svg\" alt=\"\">\n        <\/div>\n\n        <span class=\"vnd-method-card__label vnd-method-card__label--forest\">\n Strukturierter Fastenansatz\n        <\/span>\n\n        <h3>Eine klare, begleitete Fastenstruktur<\/h3>\n\n        <p>\n  Inspiriert von der in Deutschland entwickelten Buchinger-Fastentradition folgt jedes Retreat einem strukturierten Rhythmus mit Vorbereitung, Fasten,\n Bewegung, Wissensvermittlung und behutsamer Reintegration.\n\n        <\/p>\n      <\/article>\n\n      <article class=\"vnd-method-card vnd-method-card--restorative\">\n        <div class=\"vnd-method-card__icon\" aria-hidden=\"true\">\n          <img decoding=\"async\" class=\"vnd-method-card__icon--green\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/root-purpose\/SVG\/vietnamese-wisdom.svg\" alt=\"\">\n        <\/div>\n\n        <span class=\"vnd-method-card__label vnd-method-card__label--ember\">\n Regenerative Praktiken\n        <\/span>\n\n        <h3>Praktiken, die Ihrem K\u00f6rper helfen, langsamer zu werden<\/h3>\n\n        <p>\n  Kr\u00e4utertees, achtsame Bewegung, warme Br\u00fchen, Massage und ruhige\n Routinen unterst\u00fctzen Ruhe, die Regeneration des Nervensystems und das Wiederankommen \u2013 w\u00e4hrend jedes Retreats.\n\n        <\/p>\n      <\/article>\n\n      <article class=\"vnd-method-card vnd-method-card--guided\">\n        <div class=\"vnd-method-card__icon\" aria-hidden=\"true\">\n          <img decoding=\"async\" class=\"vnd-method-card__icon--green\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/root-purpose\/SVG\/guided-process.svg\" alt=\"\">\n        <\/div>\n\n        <span class=\"vnd-method-card__label vnd-method-card__label--gold\">\n Begleitetes Erlebnis\n        <\/span>\n\n        <h3>Sie werden im Prozess nicht allein gelassen<\/h3>\n\n        <p>\n  Von der Vorbereitung vor der Anreise bis zur Anleitung f\u00fcr die Aufbauphase danach ist jedes Retreat so gestaltet, dass es sich unterst\u00fctzend, gut machbar und Schritt f\u00fcr Schritt pers\u00f6nlich begleitet anf\u00fchlt.\n\n\n        <\/p>\n      <\/article>\n    <\/div>\n\n    <p class=\"vnd-method__closing\">\n  Zusammen schaffen diese Elemente Fastenretreats, die strukturiert genug sind, um Vertrauen zu geben \u2013 und sanft genug, um wirklich anzukommen.\n\n    <\/p>\n\n    <!-- Hidden until \/the-method\/ is published. Restore by removing this comment wrapper.\n    <div class=\"vnd-method__action\">\n      <a class=\"vnd-method__button\" href=\"https:\/\/vietnamdetox.com\/the-method\/\">\n        Explore The Method\n      <\/a>\n    <\/div>\n    -->\n  <\/div>\n<\/section>\n\n<script>\n(function () {\n  \"use strict\";\n\n  var sections = document.querySelectorAll(\n    \"[data-vnd-method]:not([data-vnd-method-ready])\"\n  );\n\n  sections.forEach(function (section) {\n    section.setAttribute(\"data-vnd-method-ready\", \"true\");\n\n    var revealElement = section.querySelector(\"[data-method-reveal]\");\n    if (!revealElement) return;\n\n    var reducedMotion = window.matchMedia(\n      \"(prefers-reduced-motion: reduce)\"\n    ).matches;\n\n    if (reducedMotion || !(\"IntersectionObserver\" in window)) {\n      revealElement.classList.add(\"is-visible\");\n      return;\n    }\n\n    var observer = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        if (!entry.isIntersecting) return;\n\n        entry.target.classList.add(\"is-visible\");\n        observer.unobserve(entry.target);\n      });\n    }, {\n      threshold: 0.12,\n      rootMargin: \"0px 0px -40px 0px\"\n    });\n\n    observer.observe(revealElement);\n  });\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-bf503c4 e-flex e-con-boxed e-con e-parent\" data-id=\"bf503c4\" 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-66b3399 elementor-widget elementor-widget-html\" data-id=\"66b3399\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  Copy this entire file into ONE Elementor HTML widget.\r\n  Put elementor-retreat-cta.css into the same widget's\r\n  Advanced > Custom CSS field.\r\n-->\r\n\r\n<section class=\"vcta\" data-vcta-section=\"\" aria-labelledby=\"vcta-title\">\r\n  <div class=\"vcta__shell\">\r\n    <div class=\"vcta__card vcta__reveal\" data-vcta-reveal=\"\">\r\n      <div class=\"vcta__content\">\r\n        <header class=\"vcta__header\">\r\n          <span class=\"vcta__eyebrow\">Bereit, wenn Sie es sind<\/span>\r\n          <span class=\"vcta__rule\" aria-hidden=\"true\"><\/span>\r\n          <h2 class=\"vcta__headline\" id=\"vcta-title\">\r\n  Reservieren Sie Ihren Platz in einem unserer kommenden\r\n            <em>Retreats.<\/em>\r\n          <\/h2>\r\n        <\/header>\r\n\r\n        <figure class=\"vcta__visual\">\r\n          <img src=\"\/wp-content\/uploads\/2026\/05\/happy-guest-during-hike.webp\" alt=\"Gast genie\u00dft eine achtsame Wanderung in den Bergen\" loading=\"lazy\" decoding=\"async\">\r\n        <\/figure>\r\n\r\n        <div class=\"vcta__body\">\r\n          <p class=\"vcta__copy\">\r\n  Wenn Sie bereits ein bestimmter Ort oder Termin anspricht, sichern Sie sich Ihren Platz\r\n jetzt. Noch nicht ganz sicher? Wir f\u00fchren Sie gern durch Atmosph\u00e4re, Screening und Timing \u2013 in einem ruhigen Kennenlerngespr\u00e4ch.\r\n  \r\n          <\/p>\r\n          <p class=\"vcta__note\">\r\n  Manche G\u00e4ste starten mit Begleitung. Andere wissen bereits, dass sie Retreats entdecken m\u00f6chten.\r\n \r\n          <\/p>\r\n\r\n          <div class=\"vcta__buttons\">\r\n            <a class=\"vcta__button vcta__button--forest\" href=\"#retreats\">Finden Sie Ihr Retreat-Erlebnis<\/a>\r\n            <a class=\"vcta__button vcta__button--outline\" href=\"https:\/\/vietnamdetox.com\/retreat-overview\/\">Retreats entdecken<\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n\r\n  var sections = document.querySelectorAll('[data-vcta-section]');\r\n\r\n  sections.forEach(function(section) {\r\n    if (section.dataset.vctaReady === 'true') return;\r\n    section.dataset.vctaReady = 'true';\r\n\r\n    var card = section.querySelector('[data-vcta-reveal]');\r\n    var reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n\r\n    function reveal() {\r\n      if (card) card.classList.add('is-visible');\r\n    }\r\n\r\n    if (!card || reducedMotion || !('IntersectionObserver' in window)) {\r\n      reveal();\r\n      return;\r\n    }\r\n\r\n    var observer = new IntersectionObserver(function(entries) {\r\n      entries.forEach(function(entry) {\r\n        if (!entry.isIntersecting) return;\r\n        entry.target.classList.add('is-visible');\r\n        observer.unobserve(entry.target);\r\n      });\r\n    }, {\r\n      threshold: 0.1,\r\n      rootMargin: '0px 0px -40px 0px'\r\n    });\r\n\r\n    observer.observe(card);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-809b002 e-con-full e-flex e-con e-parent\" data-id=\"809b002\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-278d3b1 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"278d3b1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\n  Vietnam Detox \u2014 Elementor Locations Slider\n  Paste this entire file into one Elementor HTML widget.\n  Add locations-slider.css separately as described in README.md.\n-->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Be+Vietnam+Pro:wght@300;400;500;600;700&display=swap\" rel=\"stylesheet\">\n\n<section class=\"vnd-locations\" data-vnd-locations=\"\" data-api-url=\"\/wp-json\/retreats\/v1\/all\">\n  <div class=\"vnd-locations__heading\">\n    <span class=\"vnd-locations__eyebrow\">Unsere Standorte<\/span>\n    <span class=\"vnd-locations__rule\"><\/span>\n\n    <h2 class=\"vnd-locations__headline\">\n  Orte, an denen es leichter wird,\n      <span>herunterzufahren.<\/span>\n    <\/h2>\n\n    <p class=\"vnd-locations__intro\">\n  Jeder Retreat-Standort wird so gew\u00e4hlt, dass L\u00e4rm, Druck und \u00dcberstimulation reduziert werden,\n damit K\u00f6rper und Geist wieder zur Ruhe kommen k\u00f6nnen.\n    <\/p>\n  <\/div>\n\n  <div class=\"vnd-locations__slider\">\n    <div class=\"vnd-locations__viewport\" data-location-viewport=\"\" tabindex=\"0\" aria-label=\"Available retreat locations\">\n      <button type=\"button\" class=\"vnd-locations__arrow vnd-locations__arrow--previous\" data-location-previous=\"\" aria-label=\"Previous location\"><\/button>\n\n      <div class=\"vnd-locations__track\" data-location-track=\"\" aria-live=\"polite\"><\/div>\n\n      <button type=\"button\" class=\"vnd-locations__arrow vnd-locations__arrow--next\" data-location-next=\"\" aria-label=\"Next location\"><\/button>\n    <\/div>\n\n    <div class=\"vnd-locations__controls\">\n      <div class=\"vnd-locations__dots\" data-location-dots=\"\" aria-label=\"Choose a location\"><\/div>\n    <\/div>\n\n    <p class=\"vnd-locations__status\" data-location-status=\"\">\n  Verf\u00fcgbare Retreat-Standorte werden geladen\u2026\n    <\/p>\n  <\/div>\n<\/section>\n\n<script>\n(function () {\n  \"use strict\";\n\n  function getLanguage() {\n    var detected = String(document.documentElement.lang || \"en\")\n      .toLowerCase()\n      .split(\/[-_]\/)[0];\n\n    return [\"en\", \"vi\", \"de\"].indexOf(detected) !== -1\n      ? detected\n      : \"en\";\n  }\n\n  function getSharedRetreatApi() {\n    if (window.VietnamDetoxRetreatAPI) {\n      return window.VietnamDetoxRetreatAPI;\n    }\n\n    window.VietnamDetoxRetreatAPI = {\n      requests: {},\n\n      load: function (apiPath, requestedLanguage) {\n        var apiUrl = new URL(\n          apiPath || \"\/wp-json\/retreats\/v1\/all\",\n          window.location.origin\n        );\n\n        apiUrl.searchParams.set(\n          \"lang\",\n          requestedLanguage || \"en\"\n        );\n\n        var cacheKey = apiUrl.href;\n\n        if (!this.requests[cacheKey]) {\n          this.requests[cacheKey] = fetch(cacheKey, {\n            headers: { Accept: \"application\/json\" }\n          })\n            .then(function (response) {\n              if (!response.ok) {\n                throw new Error(\n                  \"Retreat API returned HTTP \" + response.status\n                );\n              }\n\n              return response.json();\n            })\n            .then(function (retreats) {\n              if (!Array.isArray(retreats)) {\n                throw new Error(\"Unexpected retreat API response\");\n              }\n\n              return retreats;\n            })\n            .catch(function (error) {\n              delete window.VietnamDetoxRetreatAPI.requests[cacheKey];\n              throw error;\n            });\n        }\n\n        return this.requests[cacheKey];\n      }\n    };\n\n    return window.VietnamDetoxRetreatAPI;\n  }\n\n  var language = getLanguage();\n  var textByLanguage = {\n    en: {\n      locale: \"en\",\n      loading: \"Loading available retreat locations\u2026\",\n      fallbackRetreat: \"Retreat\",\n      fallbackDescription:\n        \"A peaceful setting selected for rest, reflection and supported fasting.\",\n      nextAvailableRetreat: \"Next available retreat\",\n      moreAvailableDates: function (count) {\n        return (\n          \"+\" +\n          count +\n          \" more available \" +\n          (count === 1 ? \"date\" : \"dates\")\n        );\n      },\n      viewAvailableRetreat: \"View available retreat\",\n      viewOnGoogle: \"View on Google\",\n      availableLocations: \"Available retreat locations\",\n      previousLocation: \"Previous location\",\n      nextLocation: \"Next location\",\n      chooseLocation: \"Choose a location\",\n      showLocation: function (index) {\n        return \"Show location \" + index;\n      },\n      noLocations: \"No retreat locations currently have upcoming dates.\",\n      loadError:\n        \"The available retreat locations could not be loaded. Please try again later.\"\n    },\n    vi: {\n      locale: \"vi\",\n      loading: \"\u0110ang t\u1ea3i c\u00e1c \u0111\u1ecba \u0111i\u1ec3m retreat hi\u1ec7n c\u00f3\u2026\",\n      fallbackRetreat: \"Retreat\",\n      fallbackDescription:\n        \"Kh\u00f4ng gian y\u00ean b\u00ecnh \u0111\u01b0\u1ee3c l\u1ef1a ch\u1ecdn \u0111\u1ec3 ngh\u1ec9 ng\u01a1i, chi\u00eam nghi\u1ec7m v\u00e0 nh\u1ecbn \u0103n c\u00f3 h\u01b0\u1edbng d\u1eabn.\",\n      nextAvailableRetreat: \"L\u1ecbch retreat g\u1ea7n nh\u1ea5t\",\n      moreAvailableDates: function (count) {\n        return \"+\" + count + \" l\u1ecbch kh\u00e1c\";\n      },\n      viewAvailableRetreat: \"Xem l\u1ecbch retreat\",\n      viewOnGoogle: \"Xem tr\u00ean Google\",\n      availableLocations: \"C\u00e1c \u0111\u1ecba \u0111i\u1ec3m retreat hi\u1ec7n c\u00f3\",\n      previousLocation: \"\u0110\u1ecba \u0111i\u1ec3m tr\u01b0\u1edbc\",\n      nextLocation: \"\u0110\u1ecba \u0111i\u1ec3m ti\u1ebfp theo\",\n      chooseLocation: \"Ch\u1ecdn m\u1ed9t \u0111\u1ecba \u0111i\u1ec3m\",\n      showLocation: function (index) {\n        return \"Hi\u1ec3n th\u1ecb \u0111\u1ecba \u0111i\u1ec3m \" + index;\n      },\n      noLocations: \"Hi\u1ec7n kh\u00f4ng c\u00f3 \u0111\u1ecba \u0111i\u1ec3m retreat n\u00e0o c\u00f3 l\u1ecbch s\u1eafp t\u1edbi.\",\n      loadError:\n        \"Kh\u00f4ng th\u1ec3 t\u1ea3i c\u00e1c \u0111\u1ecba \u0111i\u1ec3m retreat hi\u1ec7n c\u00f3. Vui l\u00f2ng th\u1eed l\u1ea1i sau.\"\n    },\n    de: {\n      locale: \"de\",\n      loading: \"Verf\u00fcgbare Retreat-Orte werden geladen\u2026\",\n      fallbackRetreat: \"Retreat\",\n      fallbackDescription:\n        \"Ein ruhiger Ort, ausgew\u00e4hlt f\u00fcr Erholung, Reflexion und begleitetes Fasten.\",\n      nextAvailableRetreat: \"N\u00e4chstes verf\u00fcgbares Retreat\",\n      moreAvailableDates: function (count) {\n        return count === 1\n          ? \"+1 weiterer verf\u00fcgbarer Termin\"\n          : \"+\" + count + \" weitere verf\u00fcgbare Termine\";\n      },\n      viewAvailableRetreat: \"Verf\u00fcgbares Retreat ansehen\",\n      viewOnGoogle: \"Auf Google ansehen\",\n      availableLocations: \"Verf\u00fcgbare Retreat-Orte\",\n      previousLocation: \"Vorheriger Ort\",\n      nextLocation: \"N\u00e4chster Ort\",\n      chooseLocation: \"Ort ausw\u00e4hlen\",\n      showLocation: function (index) {\n        return \"Ort \" + index + \" anzeigen\";\n      },\n      noLocations: \"Derzeit gibt es an keinem Retreat-Ort kommende Termine.\",\n      loadError:\n        \"Die verf\u00fcgbaren Retreat-Orte konnten nicht geladen werden. Bitte versuchen Sie es sp\u00e4ter erneut.\"\n    }\n  };\n  var text = textByLanguage[language] || textByLanguage.en;\n  var locale = text.locale;\n  var sections = document.querySelectorAll(\n    \"[data-vnd-locations]:not([data-vnd-locations-ready])\"\n  );\n\n  sections.forEach(function (section) {\n    section.setAttribute(\"data-vnd-locations-ready\", \"true\");\n\n    var apiUrl = section.getAttribute(\"data-api-url\");\n    var viewport = section.querySelector(\"[data-location-viewport]\");\n    var track = section.querySelector(\"[data-location-track]\");\n    var previousButton = section.querySelector(\"[data-location-previous]\");\n    var nextButton = section.querySelector(\"[data-location-next]\");\n    var dotsContainer = section.querySelector(\"[data-location-dots]\");\n    var status = section.querySelector(\"[data-location-status]\");\n\n    if (!apiUrl || !viewport || !track) return;\n\n    viewport.setAttribute(\"aria-label\", text.availableLocations);\n    if (previousButton) {\n      previousButton.setAttribute(\"aria-label\", text.previousLocation);\n    }\n    if (nextButton) {\n      nextButton.setAttribute(\"aria-label\", text.nextLocation);\n    }\n    if (dotsContainer) {\n      dotsContainer.setAttribute(\"aria-label\", text.chooseLocation);\n    }\n    if (status) status.textContent = text.loading;\n\n    var retreatRequest = getSharedRetreatApi().load(apiUrl, language);\n\n    function extractRetreats(response) {\n      if (Array.isArray(response)) return response;\n      if (response && Array.isArray(response.data)) return response.data;\n      if (response && Array.isArray(response.retreats)) return response.retreats;\n      if (\n        response &&\n        response.data &&\n        Array.isArray(response.data.retreats)\n      ) {\n        return response.data.retreats;\n      }\n      return [];\n    }\n\n    \/* Supports both YYYY-MM-DD and the API's current MM\/DD\/YYYY values. *\/\n    function parseApiDate(value) {\n      if (!value) return null;\n\n      var cleanValue = String(value).trim();\n      var match = cleanValue.match(\/^(\\d{4})-(\\d{1,2})-(\\d{1,2})\/);\n\n      if (match) {\n        return new Date(Date.UTC(\n          Number(match[1]),\n          Number(match[2]) - 1,\n          Number(match[3])\n        ));\n      }\n\n      match = cleanValue.match(\/^(\\d{1,2})\\\/(\\d{1,2})\\\/(\\d{4})\/);\n\n      if (match) {\n        return new Date(Date.UTC(\n          Number(match[3]),\n          Number(match[1]) - 1,\n          Number(match[2])\n        ));\n      }\n\n      var fallback = new Date(cleanValue);\n      return isNaN(fallback.getTime()) ? null : fallback;\n    }\n\n    function getTodayTimestamp() {\n      var today = new Date();\n      return Date.UTC(\n        today.getFullYear(),\n        today.getMonth(),\n        today.getDate()\n      );\n    }\n\n    function cleanText(value) {\n      var temporary = document.createElement(\"div\");\n      temporary.innerHTML = value || \"\";\n      return (temporary.textContent || \"\").replace(\/\\s+\/g, \" \").trim();\n    }\n\n    function shortenText(value, maximumLength) {\n      var text = cleanText(value);\n      if (text.length <= maximumLength) return text;\n      return text.slice(0, maximumLength).replace(\/\\s+\\S*$\/, \"\") + \"\u2026\";\n    }\n\n    function createElement(tag, className, text) {\n      var element = document.createElement(tag);\n      if (className) element.className = className;\n      if (typeof text !== \"undefined\") element.textContent = text;\n      return element;\n    }\n\n    function formatDate(date) {\n      return new Intl.DateTimeFormat(locale, {\n        day: \"2-digit\",\n        month: \"short\",\n        year: \"numeric\",\n        timeZone: \"UTC\"\n      }).format(date);\n    }\n\n    function formatDateRange(startDate, endDate) {\n      if (!startDate) return \"\";\n      if (!endDate) return formatDate(startDate);\n\n      var sameYear =\n        startDate.getUTCFullYear() === endDate.getUTCFullYear();\n      var sameMonth =\n        sameYear && startDate.getUTCMonth() === endDate.getUTCMonth();\n\n      if (sameMonth) {\n        return (\n          String(startDate.getUTCDate()).padStart(2, \"0\") +\n          \"\u2013\" +\n          String(endDate.getUTCDate()).padStart(2, \"0\") +\n          \" \" +\n          new Intl.DateTimeFormat(locale, {\n            month: \"short\",\n            year: \"numeric\",\n            timeZone: \"UTC\"\n          }).format(endDate)\n        );\n      }\n\n      return formatDate(startDate) + \" \u2013 \" + formatDate(endDate);\n    }\n\n    function getDisplayLocation(location) {\n      var locationNames = {\n        \"M Gallery Legacy Yen Tu\": \"Legacy Yen Tu MGallery\"\n      };\n      return locationNames[location] || location;\n    }\n\n    function groupAvailableLocations(retreats) {\n      var todayTimestamp = getTodayTimestamp();\n      var locationMap = {};\n\n      retreats.forEach(function (retreat) {\n        var location = cleanText(retreat.location);\n        if (!location) return;\n\n        var dates = Array.isArray(retreat.dates) ? retreat.dates : [];\n        var availableDates = dates\n          .map(function (date) {\n            var startDate = parseApiDate(\n              date.start || date.start_date || date.date\n            );\n            var endDate = parseApiDate(\n              date.end || date.end_date || date.start || date.date\n            );\n\n            return {\n              startDate: startDate,\n              endDate: endDate,\n              label: date.label || \"\",\n              limited: Boolean(date.limited),\n              retreatName: cleanText(\n                retreat.name || retreat.title || text.fallbackRetreat\n              ),\n              retreatUrl: retreat.url || \"#retreats\"\n            };\n          })\n          .filter(function (date) {\n            return (\n              date.startDate &&\n              date.endDate &&\n              date.endDate.getTime() >= todayTimestamp\n            );\n          });\n\n        if (!availableDates.length) return;\n\n        availableDates.sort(function (first, second) {\n          return first.startDate - second.startDate;\n        });\n\n        if (!locationMap[location]) {\n          locationMap[location] = {\n            location: location,\n            displayLocation: getDisplayLocation(location),\n            image: retreat.image || \"\",\n            description: retreat.description || \"\",\n            retreats: [],\n            dates: []\n          };\n        }\n\n        var group = locationMap[location];\n        if (!group.image && retreat.image) group.image = retreat.image;\n        if (!group.description && retreat.description) {\n          group.description = retreat.description;\n        }\n\n        group.retreats.push({\n          name: cleanText(\n            retreat.name || retreat.title || text.fallbackRetreat\n          ),\n          url: retreat.url || \"#retreats\"\n        });\n        group.dates = group.dates.concat(availableDates);\n      });\n\n      return Object.keys(locationMap)\n        .map(function (location) {\n          var group = locationMap[location];\n\n          group.dates.sort(function (first, second) {\n            return first.startDate - second.startDate;\n          });\n\n          group.retreats = group.retreats.filter(function (\n            retreat,\n            index,\n            allRetreats\n          ) {\n            return allRetreats.findIndex(function (item) {\n              return item.name === retreat.name;\n            }) === index;\n          });\n\n          return group;\n        })\n        .sort(function (first, second) {\n          return first.dates[0].startDate - second.dates[0].startDate;\n        });\n    }\n\n    function createLocationCard(location) {\n      var card = createElement(\"article\", \"vnd-location-card\");\n      var figure = createElement(\"figure\", \"vnd-location-card__image\");\n\n      if (location.image) {\n        var image = document.createElement(\"img\");\n        image.src = location.image;\n        image.alt = location.displayLocation;\n        image.loading = \"lazy\";\n        image.decoding = \"async\";\n        figure.appendChild(image);\n      } else {\n        figure.classList.add(\"is-empty\");\n      }\n\n      var information = createElement(\"div\", \"vnd-location-card__content\");\n      var title = createElement(\n        \"h3\",\n        \"vnd-location-card__title\",\n        location.displayLocation\n      );\n      var description = createElement(\n        \"p\",\n        \"vnd-location-card__description\",\n        shortenText(\n          location.description ||\n            text.fallbackDescription,\n          190\n        )\n      );\n      var retreatTags = createElement(\"ul\", \"vnd-location-card__tags\");\n\n      location.retreats.slice(0, 3).forEach(function (retreat) {\n        retreatTags.appendChild(createElement(\"li\", \"\", retreat.name));\n      });\n\n      var availability = createElement(\n        \"div\",\n        \"vnd-location-card__availability\"\n      );\n      var availabilityEyebrow = createElement(\n        \"span\",\n        \"vnd-location-card__availability-label\",\n        text.nextAvailableRetreat\n      );\n      var nextDate = location.dates[0];\n      var dateText = createElement(\n        \"strong\",\n        \"vnd-location-card__date\",\n        formatDateRange(nextDate.startDate, nextDate.endDate)\n      );\n      var retreatName = createElement(\n        \"span\",\n        \"vnd-location-card__retreat-name\",\n        nextDate.retreatName\n      );\n\n      availability.appendChild(availabilityEyebrow);\n      availability.appendChild(dateText);\n      availability.appendChild(retreatName);\n\n      if (location.dates.length > 1) {\n        var remainingDateCount = location.dates.length - 1;\n        availability.appendChild(\n          createElement(\n            \"span\",\n            \"vnd-location-card__more-dates\",\n            text.moreAvailableDates(remainingDateCount)\n          )\n        );\n      }\n\n      var links = createElement(\"div\", \"vnd-location-card__links\");\n      var retreatLink = createElement(\n        \"a\",\n        \"vnd-location-card__primary-link\",\n        text.viewAvailableRetreat\n      );\n      retreatLink.href = nextDate.retreatUrl || \"#retreats\";\n\n      var mapLink = createElement(\n        \"a\",\n        \"vnd-location-card__map-link\",\n        text.viewOnGoogle\n      );\n      mapLink.href =\n        \"https:\/\/www.google.com\/maps\/search\/?api=1&query=\" +\n        encodeURIComponent(location.location);\n      mapLink.target = \"_blank\";\n      mapLink.rel = \"noopener\";\n\n      links.appendChild(retreatLink);\n      links.appendChild(mapLink);\n      information.appendChild(title);\n      information.appendChild(description);\n      information.appendChild(retreatTags);\n      information.appendChild(availability);\n      information.appendChild(links);\n      card.appendChild(figure);\n      card.appendChild(information);\n\n      return card;\n    }\n\n    function initializeSlider() {\n      var cards = Array.prototype.slice.call(\n        track.querySelectorAll(\".vnd-location-card\")\n      );\n      if (!cards.length) return;\n\n      var dots = [];\n      var currentIndex = 0;\n      var touchStartX = null;\n      var resizeTimer = null;\n\n      dotsContainer.innerHTML = \"\";\n\n      cards.forEach(function (card, index) {\n        var dot = createElement(\"button\", \"vnd-locations__dot\");\n        dot.type = \"button\";\n        dot.setAttribute(\"aria-label\", text.showLocation(index + 1));\n        dot.addEventListener(\"click\", function () {\n          goTo(index);\n        });\n        dotsContainer.appendChild(dot);\n        dots.push(dot);\n      });\n\n      function updateDots() {\n        dots.forEach(function (dot, index) {\n          var active = index === currentIndex;\n          dot.classList.toggle(\"is-active\", active);\n          if (active) dot.setAttribute(\"aria-current\", \"true\");\n          else dot.removeAttribute(\"aria-current\");\n        });\n      }\n\n      function goTo(index, instant) {\n        currentIndex = (index + cards.length) % cards.length;\n\n        var card = cards[currentIndex];\n        var viewportStyles = window.getComputedStyle(viewport);\n        var paddingLeft = parseFloat(viewportStyles.paddingLeft) || 0;\n        var paddingRight = parseFloat(viewportStyles.paddingRight) || 0;\n        var availableWidth =\n          viewport.clientWidth - paddingLeft - paddingRight;\n        var viewportCenter = paddingLeft + availableWidth \/ 2;\n        var cardCenter =\n          paddingLeft + card.offsetLeft + card.offsetWidth \/ 2;\n        var offset = cardCenter - viewportCenter;\n\n        if (instant) track.style.transition = \"none\";\n        track.style.transform = \"translate3d(\" + -offset + \"px, 0, 0)\";\n\n        if (instant) {\n          window.requestAnimationFrame(function () {\n            track.style.transition = \"\";\n          });\n        }\n\n        updateDots();\n      }\n\n      previousButton.addEventListener(\"click\", function () {\n        goTo(currentIndex - 1);\n      });\n\n      nextButton.addEventListener(\"click\", function () {\n        goTo(currentIndex + 1);\n      });\n\n      viewport.addEventListener(\"keydown\", function (event) {\n        if (event.key === \"ArrowLeft\") {\n          event.preventDefault();\n          goTo(currentIndex - 1);\n        }\n        if (event.key === \"ArrowRight\") {\n          event.preventDefault();\n          goTo(currentIndex + 1);\n        }\n      });\n\n      viewport.addEventListener(\"touchstart\", function (event) {\n        if (!event.touches.length) return;\n        touchStartX = event.touches[0].clientX;\n      }, { passive: true });\n\n      viewport.addEventListener(\"touchend\", function (event) {\n        if (touchStartX === null || !event.changedTouches.length) return;\n\n        var difference = event.changedTouches[0].clientX - touchStartX;\n        touchStartX = null;\n        if (Math.abs(difference) < 40) return;\n        goTo(difference > 0 ? currentIndex - 1 : currentIndex + 1);\n      }, { passive: true });\n\n      window.addEventListener(\"resize\", function () {\n        window.clearTimeout(resizeTimer);\n        resizeTimer = window.setTimeout(function () {\n          goTo(currentIndex, true);\n        }, 100);\n      });\n\n      if (cards.length === 1) section.classList.add(\"has-one-location\");\n      goTo(0, true);\n    }\n\n    function renderLocations(response) {\n      var retreats = extractRetreats(response);\n      var locations = groupAvailableLocations(retreats);\n      track.innerHTML = \"\";\n\n      if (!locations.length) {\n        status.textContent = text.noLocations;\n        section.classList.add(\"has-no-locations\");\n        return;\n      }\n\n      locations.forEach(function (location) {\n        track.appendChild(createLocationCard(location));\n      });\n\n      status.hidden = true;\n      initializeSlider();\n    }\n\n    retreatRequest\n      .then(renderLocations)\n      .catch(function (error) {\n        console.error(\"Location carousel error:\", error);\n        status.textContent = text.loadError;\n        section.classList.add(\"has-api-error\");\n      });\n  });\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0bc222a e-flex e-con-boxed e-con e-parent\" data-id=\"0bc222a\" 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-89187cb elementor-widget elementor-widget-html\" data-id=\"89187cb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  Copy this entire file into ONE Elementor HTML widget.\r\n  Put elementor-retreat-fit.css into the same widget's\r\n  Advanced > Custom CSS field.\r\n\r\n  This source section has no interactive JavaScript dependency.\r\n-->\r\n\r\n<section class=\"vfit\" aria-labelledby=\"vfit-title\">\r\n  <div class=\"vfit__shell\">\r\n    <header class=\"vfit__header\">\r\n      <span class=\"vfit__eyebrow\">F\u00fcr Sie gemacht<\/span>\r\n      <span class=\"vfit__rule\" aria-hidden=\"true\"><\/span>\r\n      <h2 class=\"vfit__headline\" id=\"vfit-title\">\r\n  F\u00fcr <em>\u00fcberlastete K\u00f6pfe<\/em> und ersch\u00f6pfte K\u00f6rper.\r\n      <\/h2>\r\n      <p class=\"vfit__introduction\">\r\n  Vietnam Detox ist f\u00fcr Menschen gedacht, die sich mental \u00fcberlastet,\r\n k\u00f6rperlich ersch\u00f6pft oder aus dem Rhythmus f\u00fchlen und strukturierte Unterst\u00fctzung suchen, um wirklich herunterzufahren.\r\n Es ist nicht f\u00fcr alle \u2013 und das ist bewusst so. \r\n      <\/p>\r\n    <\/header>\r\n\r\n    <div class=\"vfit__layout\">\r\n      <div class=\"vfit__grid\">\r\n        <article class=\"vfit__card vfit__card--green\">\r\n          <h3>Unsere Retreats passen oft gut f\u00fcr Menschen, die\u2026<\/h3>\r\n          <ul class=\"vfit__list\" role=\"list\">\r\n            <li class=\"vfit__bullet\">\r\n              <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/05\/Asset-11@3x.webp\" alt=\"\" class=\"vfit__bullet-icon\" aria-hidden=\"true\">\r\n              <span>sich mental \u00fcberlastet oder st\u00e4ndig \u201ean\u201c f\u00fchlen<\/span>\r\n            <\/li>\r\n            <li class=\"vfit__bullet\">\r\n              <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/05\/Asset-11@3x.webp\" alt=\"\" class=\"vfit__bullet-icon\" aria-hidden=\"true\">\r\n              <span>ruhige Struktur statt extremer Wellness-Trends wollen<\/span>\r\n            <\/li>\r\n            <li class=\"vfit__bullet\">\r\n              <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/05\/Asset-11@3x.webp\" alt=\"\" class=\"vfit__bullet-icon\" aria-hidden=\"true\">\r\n              <span>bereit sind, wirklich herunterzufahren<\/span>\r\n            <\/li>\r\n            <li class=\"vfit__bullet\">\r\n              <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/05\/Asset-11@3x.webp\" alt=\"\" class=\"vfit__bullet-icon\" aria-hidden=\"true\">\r\n              <span>ihren K\u00f6rper verstehen wollen, statt nur Anweisungen zu folgen<\/span>\r\n            <\/li>\r\n          <\/ul>\r\n        <\/article>\r\n\r\n        <article class=\"vfit__card vfit__card--warm\">\r\n          <h3>Unsere Retreats sind m\u00f6glicherweise nicht passend, wenn\u2026<\/h3>\r\n          <ul class=\"vfit__list\" role=\"list\">\r\n            <li class=\"vfit__bullet\">\r\n              <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/05\/Asset-12@3x.webp\" alt=\"\" class=\"vfit__bullet-icon\" aria-hidden=\"true\">\r\n              <span>Sie einen Luxus-Urlaub suchen, ohne im Alltag etwas zu ver\u00e4ndern<\/span>\r\n            <\/li>\r\n            <li class=\"vfit__bullet\">\r\n              <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/05\/Asset-12@3x.webp\" alt=\"\" class=\"vfit__bullet-icon\" aria-hidden=\"true\">\r\n              <span>Sie derzeit schwanger sind oder medizinische Beschwerden haben, die m\u00f6glicherweise nicht mit Fasten vereinbar sind<\/span>\r\n            <\/li>\r\n            <li class=\"vfit__bullet\">\r\n              <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/05\/Asset-12@3x.webp\" alt=\"\" class=\"vfit__bullet-icon\" aria-hidden=\"true\">\r\n              <span>Sie nicht bereit sind, f\u00fcr ein paar Tage langsamer zu werden, zu ruhen oder sich von st\u00e4ndiger Reiz\u00fcberflutung zur\u00fcckzuziehen<\/span>\r\n            <\/li>\r\n            <li class=\"vfit__bullet\">\r\n              <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/05\/Asset-12@3x.webp\" alt=\"\" class=\"vfit__bullet-icon\" aria-hidden=\"true\">\r\n              <span>Sie schnelle Ergebnisse erwarten \u2013 ohne Reflexion, Struktur oder pers\u00f6nliche Verantwortung<\/span>\r\n            <\/li>\r\n          <\/ul>\r\n        <\/article>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"vfit__gallery\">\r\n      <figure>\r\n        <img src=\"\/wp-content\/uploads\/2026\/05\/Vietnam-detox-wellness-retreat-healthy-lifestyle-song-khoe-thai-doc-18.webp\" alt=\"Gast schreibt ruhig Tagebuch mit Tee und Blick in den Garten\" loading=\"lazy\" decoding=\"async\">\r\n        <figcaption>Stille Reflexion zwischen den Retreat-Sessions<\/figcaption>\r\n      <\/figure>\r\n      <figure>\r\n        <img src=\"\/wp-content\/uploads\/2026\/05\/Vietnam-detox-wellness-retreat-healthy-lifestyle-song-khoe-thai-doc-25.webp\" alt=\"Coach begleitet ein sanftes Kr\u00e4uterritual mit einem Gast\" loading=\"lazy\" decoding=\"async\">\r\n        <figcaption>Momente der Ruhe und Wiederverbindung w\u00e4hrend des Retreats<\/figcaption>\r\n      <\/figure>\r\n      <figure>\r\n        <img src=\"\/wp-content\/uploads\/2026\/08\/Hoan-and-Dieter-standing-smiling.webp\" alt=\"Vietnam-Detox-Team\" loading=\"lazy\" decoding=\"async\">\r\n        <figcaption>Pers\u00f6nliche Begleitung und beruhigende t\u00e4gliche Rituale<\/figcaption>\r\n      <\/figure>\r\n    <\/div>\r\n\r\n    <p class=\"vfit__note\">\r\n  Wir sprechen mit jedem Gast, bevor wir einen Platz best\u00e4tigen, damit sich das passende Retreat-Erlebnis von Anfang an klar anf\u00fchlt.\r\n Wenn Sie unsicher sind, ob Fasten f\u00fcr Sie geeignet ist, begleiten wir Sie gern pers\u00f6nlich vor der Buchung.\r\n \r\n    <\/p>\r\n  <\/div>\r\n<\/section>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<section class=\"elementor-element elementor-element-ce260c7 e-flex e-con-boxed e-con e-parent\" data-id=\"ce260c7\" 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-819e563 elementor-widget elementor-widget-html\" data-id=\"819e563\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  Copy this entire file into ONE Elementor HTML widget.\r\n  Put elementor-free-guide.css into the same widget's\r\n  Advanced > Custom CSS field.\r\n-->\r\n\r\n<div class=\"vgd\" data-vgd-component=\"\">\r\n  <section class=\"vgd__section\" aria-labelledby=\"vgd-title\">\r\n    <div class=\"vgd__shell\">\r\n      <div class=\"vgd__grid\">\r\n        <div class=\"vgd__left\">\r\n          <header class=\"vgd__header\">\r\n            <span class=\"vgd__eyebrow\">Kostenloser Download<\/span>\r\n            <span class=\"vgd__rule\" aria-hidden=\"true\"><\/span>\r\n            <h2 class=\"vgd__headline\" id=\"vgd-title\">\r\n  Neugierig aufs Fasten?<br>              <em>Laden Sie den Vietnam-Detox-Guide herunter.<\/em>\r\n            <\/h2>\r\n          <\/header>\r\n\r\n          <figure class=\"vgd__visual\">\r\n            <img src=\"\/wp-content\/uploads\/2026\/05\/template-mockup-paper-wellness.webp\" alt=\"Pr\u00e4sentation des Buchinger-Fasten-Guides\" loading=\"lazy\" decoding=\"async\">\r\n          <\/figure>\r\n        <\/div>\r\n\r\n        <aside class=\"vgd__card\" aria-label=\"Free guide contents\">\r\n          <figure class=\"vgd__preview\">\r\n            <img src=\"\/wp-content\/uploads\/2026\/05\/free-pdf-cover.webp\" alt=\"Vorschau des Covers des Buchinger-Fasten-Guides\" loading=\"lazy\" decoding=\"async\">\r\n          <\/figure>\r\n\r\n          <ul class=\"vgd__benefits\" role=\"list\">\r\n            <li class=\"vgd__benefit\">\r\n              <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\r\n                <path d=\"M2 8 L6 12 L14 4\"><\/path>\r\n              <\/path><\/svg>\r\n              <span>Was w\u00e4hrend des Fastens tats\u00e4chlich in Ihrem K\u00f6rper passiert<\/span>\r\n            <\/li>\r\n            <li class=\"vgd__benefit\">\r\n              <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\r\n                <path d=\"M2 8 L6 12 L14 4\"><\/path>\r\n              <\/path><\/svg>\r\n              <span>Wie sich Retreat-Tage anf\u00fchlen<\/span>\r\n            <\/li>\r\n            <li class=\"vgd__benefit\">\r\n              <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\r\n                <path d=\"M2 8 L6 12 L14 4\"><\/path>\r\n              <\/path><\/svg>\r\n              <span>Warum viele G\u00e4ste beginnen, sich ruhiger, klarer und leichter zu f\u00fchlen<\/span>\r\n            <\/li>\r\n            <li class=\"vgd__benefit\">\r\n              <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\r\n                <path d=\"M2 8 L6 12 L14 4\"><\/path>\r\n              <\/path><\/svg>\r\n              <span>Ob eines unserer Retreats realistisch gut zu Ihnen passt<\/span>\r\n            <\/li>\r\n          <\/ul>\r\n\r\n          <button class=\"vgd__button vgd__button--forest\" type=\"button\" data-vgd-open=\"\" aria-haspopup=\"dialog\" aria-controls=\"vgd-modal\" aria-expanded=\"false\">\r\n            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\r\n              <path d=\"M7 1 L7 9 M4 6 L7 9 L10 6\"><\/path>\r\n              <path d=\"M2 11 L12 11\"><\/path>\r\n            <\/path><\/path><\/svg>\r\n            <span>Kostenlosen Guide erhalten<\/span>\r\n          <\/button>\r\n\r\n          <p class=\"vgd__reading-time\">Dauert etwa 5 Minuten zu lesen.<\/p>\r\n        <\/aside>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <div class=\"vgd__modal\" id=\"vgd-modal\" data-vgd-modal=\"\" aria-hidden=\"true\" hidden=\"\">\r\n    <div class=\"vgd__backdrop\" data-vgd-close=\"\" aria-hidden=\"true\"><\/div>\r\n\r\n    <div class=\"vgd__dialog\" data-vgd-dialog=\"\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"vgd-modal-title\" aria-describedby=\"vgd-modal-copy\" tabindex=\"-1\">\r\n      <button type=\"button\" class=\"vgd__close\" data-vgd-close=\"\" aria-label=\"Close popup\">\u00d7<\/button>\r\n\r\n      <header class=\"vgd__modal-header\">\r\n        <div class=\"vgd__modal-logo-wrap\">\r\n          <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/05\/logo-icon-color_cutout.svg\" alt=\"Vietnam Detox\" class=\"vgd__modal-logo\">\r\n        <\/div>\r\n        <h3 class=\"vgd__modal-headline\" id=\"vgd-modal-title\">Holen Sie sich Ihren kostenlosen Guide<\/h3>\r\n        <p class=\"vgd__modal-copy\" id=\"vgd-modal-copy\">\r\n  Geben Sie Ihre E-Mail-Adresse ein, und wir schalten den Buchinger-Fasten-Guide f\u00fcr Sie frei.\r\n        <\/p>\r\n      <\/header>\r\n\r\n      <form class=\"vgd__form\" data-vgd-form=\"\" novalidate=\"\">\r\n        <label for=\"vgd-email\" class=\"vgd__label\">E-Mail-Adresse<\/label>\r\n        <input type=\"email\" id=\"vgd-email\" class=\"vgd__input\" name=\"email\" placeholder=\"you@example.com\" autocomplete=\"email\" inputmode=\"email\" required=\"\" data-vgd-email=\"\">\r\n\r\n        <div class=\"vgd__actions\">\r\n          <button type=\"submit\" class=\"vgd__button vgd__button--ember\">\r\n  Senden Sie mir den Guide\r\n          <\/button>\r\n        <\/div>\r\n\r\n        <p class=\"vgd__status\" data-vgd-status=\"\" role=\"status\" aria-live=\"polite\">\r\n  Danke. Dieses Demo-Formular kann jetzt mit Ihrem E-Mail-Versanddienst verbunden werden. \r\n        <\/p>\r\n      <\/form>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n\r\n  var components = document.querySelectorAll('[data-vgd-component]');\r\n\r\n  components.forEach(function(root) {\r\n    if (root.dataset.vgdReady === 'true') return;\r\n    root.dataset.vgdReady = 'true';\r\n\r\n    var openButton = root.querySelector('[data-vgd-open]');\r\n    var modal = root.querySelector('[data-vgd-modal]');\r\n    var dialog = root.querySelector('[data-vgd-dialog]');\r\n    var form = root.querySelector('[data-vgd-form]');\r\n    var emailInput = root.querySelector('[data-vgd-email]');\r\n    var status = root.querySelector('[data-vgd-status]');\r\n    var closeButtons = root.querySelectorAll('[data-vgd-close]');\r\n\r\n    if (!openButton || !modal || !dialog || !form || !emailInput || !status) return;\r\n\r\n    var lastFocused = null;\r\n    var previousBodyOverflow = '';\r\n    var closeTimer = null;\r\n\r\n    function openModal() {\r\n      if (closeTimer) window.clearTimeout(closeTimer);\r\n      lastFocused = document.activeElement;\r\n      previousBodyOverflow = document.body.style.overflow;\r\n      document.body.style.overflow = 'hidden';\r\n      form.reset();\r\n      status.classList.remove('is-visible');\r\n      modal.hidden = false;\r\n      modal.setAttribute('aria-hidden', 'false');\r\n      openButton.setAttribute('aria-expanded', 'true');\r\n\r\n      window.requestAnimationFrame(function() {\r\n        modal.classList.add('is-open');\r\n        window.setTimeout(function() { emailInput.focus(); }, 30);\r\n      });\r\n    }\r\n\r\n    function closeModal() {\r\n      if (modal.hidden) return;\r\n      modal.classList.remove('is-open');\r\n      modal.setAttribute('aria-hidden', 'true');\r\n      openButton.setAttribute('aria-expanded', 'false');\r\n      document.body.style.overflow = previousBodyOverflow;\r\n\r\n      closeTimer = window.setTimeout(function() {\r\n        modal.hidden = true;\r\n      }, 220);\r\n\r\n      if (lastFocused && typeof lastFocused.focus === 'function') {\r\n        lastFocused.focus();\r\n      }\r\n    }\r\n\r\n    openButton.addEventListener('click', openModal);\r\n\r\n    closeButtons.forEach(function(button) {\r\n      button.addEventListener('click', closeModal);\r\n    });\r\n\r\n    dialog.addEventListener('keydown', function(event) {\r\n      if (event.key !== 'Tab') return;\r\n\r\n      var focusable = Array.prototype.slice.call(dialog.querySelectorAll(\r\n        'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])'\r\n      )).filter(function(element) {\r\n        return !element.hidden && element.offsetParent !== null;\r\n      });\r\n\r\n      if (!focusable.length) return;\r\n      var first = focusable[0];\r\n      var last = focusable[focusable.length - 1];\r\n\r\n      if (event.shiftKey && document.activeElement === first) {\r\n        event.preventDefault();\r\n        last.focus();\r\n      } else if (!event.shiftKey && document.activeElement === last) {\r\n        event.preventDefault();\r\n        first.focus();\r\n      }\r\n    });\r\n\r\n    document.addEventListener('keydown', function(event) {\r\n      if (event.key === 'Escape' && !modal.hidden) closeModal();\r\n    });\r\n\r\n    form.addEventListener('submit', function(event) {\r\n      event.preventDefault();\r\n\r\n      if (!emailInput.checkValidity()) {\r\n        emailInput.reportValidity();\r\n        return;\r\n      }\r\n\r\n      status.classList.add('is-visible');\r\n    });\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-3fd4e08 e-flex e-con-boxed e-con e-parent\" data-id=\"3fd4e08\" 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-2ed1a56 elementor-widget elementor-widget-html\" data-id=\"2ed1a56\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\n  Paste this markup into the HTML widget inside the outer discovery-call\n  Elementor container. Booking happens on the dedicated discovery-call page;\n  this section only links to it. See README.md.\n-->\n\n<header class=\"vbook__header\">\n  <span class=\"vbook__eyebrow\">Hier beginnen<\/span>\n  <span class=\"vbook__rule\" aria-hidden=\"true\"><\/span>\n  <h2 class=\"vbook__headline\" id=\"vbook-title\">\n  Sprechen Sie vor Ihrer Entscheidung mit Dieter\n  <\/h2>\n  <p class=\"vbook__introduction\">\n  Ein kostenloses 30-min\u00fctiges Gespr\u00e4ch. Kein Verkauf, kein Druck. Nur ein ehrliches\n Gespr\u00e4ch dar\u00fcber, ob eines unserer Retreats zu Ihnen passt\n \u2013 und ob Sie bereit sind.  \n  <\/p>\n<\/header>\n\n<ol class=\"vbook__steps\" role=\"list\">\n  <li class=\"vbook__step\">\n    <span class=\"vbook__number\" aria-hidden=\"true\">01<\/span>\n    <h3>Wir h\u00f6ren zuerst zu<\/h3>\n    <p>\n  Sie erz\u00e4hlen, wo Sie auf Ihrem Gesundheitsweg stehen und was Sie sich erhoffen.\n\n    <\/p>\n  <\/li>\n\n  <li class=\"vbook__step vbook__step--middle\">\n    <span class=\"vbook__number\" aria-hidden=\"true\">02<\/span>\n    <h3>Wir sind ehrlich<\/h3>\n    <p>\n  Wenn wir nicht glauben, dass Fasten f\u00fcr Sie gerade richtig ist, sagen wir das klar.\n\n    <\/p>\n  <\/li>\n\n  <li class=\"vbook__step vbook__step--last\">\n    <span class=\"vbook__number\" aria-hidden=\"true\">03<\/span>\n    <h3>Keine Verpflichtung<\/h3>\n    <p>\n  Dieses Gespr\u00e4ch verpflichtet Sie zu nichts. Es ist einfach der richtige Ort, um zu starten.\n \n    <\/p>\n  <\/li>\n<\/ol>\n\n<div class=\"vbook__cta\">\n  <a class=\"vbook__button\" href=\"https:\/\/vietnamdetox.com\/discovery-call\/\">Kennenlerngespr\u00e4ch buchen<\/a>\n  <p class=\"vbook__email-note\">\n  Oder schreiben Sie an\n    <a href=\"mailto:info@vietnamdetox.com\">info@vietnamdetox.com<\/a>\n  <\/p>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-43d5e64 e-flex e-con-boxed e-con e-parent\" data-id=\"43d5e64\" 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-bf99e11 elementor-widget elementor-widget-html\" data-id=\"bf99e11\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\n  Copy this entire file into ONE Elementor HTML widget.\n  Put wellness-coaching.css into the same widget's\n  Advanced > Custom CSS field.\n\n  This source section has no interactive JavaScript dependency.\n-->\n\n<section class=\"vcoach\" aria-labelledby=\"vcoach-title\">\n  <div class=\"vcoach__shell\">\n    <div class=\"vcoach__grid\">\n      <div class=\"vcoach__content\">\n        <header class=\"vcoach__header\">\n          <span class=\"vcoach__eyebrow\">Nach dem Retreat<\/span>\n          <span class=\"vcoach__rule\" aria-hidden=\"true\"><\/span>\n          <h2 class=\"vcoach__headline\" id=\"vcoach-title\">\n  Setzen Sie Ihre Ver\u00e4nderung zu Hause fort\n          <\/h2>\n        <\/header>\n\n        <p class=\"vcoach__introduction\">\n  Jedes Retreat \u00f6ffnet eine T\u00fcr. Privates Wellness-Coaching hilft Ihnen, hindurchzugehen.\n Wir bieten pers\u00f6nliches Coaching f\u00fcr langfristige Verhaltens\u00e4nderung,\n Ern\u00e4hrungsberatung und Integration nach dem Retreat.  \n        <\/p>\n\n        <ul class=\"vcoach__benefits\" role=\"list\">\n          <li>\n            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n              <circle cx=\"8\" cy=\"8\" r=\"6\"><\/circle>\n              <path d=\"M5.5 8 L7 9.5 L10.5 6\"><\/path>\n            <\/svg>\n            <span>W\u00f6chentliche 1:1-Video-Sessions mit Dieter<\/span>\n          <\/li>\n          <li>\n            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n              <circle cx=\"8\" cy=\"8\" r=\"6\"><\/circle>\n              <path d=\"M5.5 8 L7 9.5 L10.5 6\"><\/path>\n            <\/svg>\n            <span>Pers\u00f6nliche Ern\u00e4hrungs- und Alltagsrhythmus-Planung<\/span>\n          <\/li>\n          <li>\n            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n              <circle cx=\"8\" cy=\"8\" r=\"6\"><\/circle>\n              <path d=\"M5.5 8 L7 9.5 L10.5 6\"><\/path>\n            <\/svg>\n            <span>Unterst\u00fctzung bei der Integration nach dem Retreat f\u00fcr nachhaltige Ver\u00e4nderung<\/span>\n          <\/li>\n        <\/ul>\n\n        <a href=\"https:\/\/vietnamdetox.com\/wellness-coaching-with-dieter-buchner\/\" class=\"vcoach__button\">Mehr \u00fcber Coaching erfahren<\/a>\n      <\/div>\n\n      <figure class=\"vcoach__portrait\">\n        <img src=\"\/wp-content\/uploads\/2026\/08\/Dieter-Buchner-Co-Founder-and-Retreat-Leader-vietnam-detox.webp\" alt=\"Dieter Buchner\" loading=\"lazy\" decoding=\"async\">\n      <\/figure>\n    <\/div>\n  <\/div>\n<\/section>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-d7b0458 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed e-con e-parent\" data-id=\"d7b0458\" data-element_type=\"container\" data-e-type=\"container\" id=\"journal\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div data-dce-title-color=\"#1E3D20\" class=\"elementor-element elementor-element-54f66e1 eyebrow eyebrow-forest elementor-widget elementor-widget-heading\" data-id=\"54f66e1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">Ritual Notes<\/span>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8d9ddda elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"8d9ddda\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a9d19e2 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"a9d19e2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2 class=\"s-headline\" style=\"font-size:66px;\">Journal \u00fcber Fasten, Ritual &#038; Ort.<\/h2>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a0badeb elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"a0badeb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Praktische Notizen zu achtsamer Ern\u00e4hrung, vietnamesischem Kr\u00e4uterwissen und den pr\u00e4ventiven Gewohnheiten, die wir in jedem Retreat vermitteln.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c42e66e e-grid e-con-full e-con e-child\" data-id=\"c42e66e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-3f58ae9 e-con-full e-flex e-con e-child\" data-id=\"3f58ae9\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5f2c146 dce_masking-none elementor-widget elementor-widget-image\" data-id=\"5f2c146\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"491\" src=\"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/thanhnamnguyen-huong-river-1979373-1024x628.webp\" class=\"attachment-large size-large wp-image-22607\" alt=\"\" srcset=\"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/thanhnamnguyen-huong-river-1979373-1024x628.webp 1024w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/thanhnamnguyen-huong-river-1979373-300x184.webp 300w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/thanhnamnguyen-huong-river-1979373-768x471.webp 768w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/thanhnamnguyen-huong-river-1979373-1536x943.webp 1536w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/thanhnamnguyen-huong-river-1979373-scaled.webp 1920w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-acdcad8 e-flex e-con-boxed e-con e-child\" data-id=\"acdcad8\" 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-a87b2ca elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"a87b2ca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">Wellness<\/span>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9439260 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"9439260\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">5 Min. Lesezeit<\/span>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bfd5f70 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"bfd5f70\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">M\u00e4rz 2026<\/span>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-961a81d elementor-widget elementor-widget-heading\" data-id=\"961a81d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">So bereiten Sie sich auf Ihr erstes Buchinger-Fasten vor<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4e71783 elementor-widget elementor-widget-text-editor\" data-id=\"4e71783\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Eine praktische Checkliste zu medizinischem Screening, Koffein-Reduktion, Packliste, Journaling-Impulsen und wie Sie Ihre Familie vor der Abreise informieren.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-11b1c6f elementor-align-center elementor-widget elementor-widget-button\" data-id=\"11b1c6f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mehr lesen<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n<hr class=\"e-ac12451-15f8d55 e-divider-base\" data-interaction-id=\"ac12451\"  data-e-type=\"widget\" data-id=\"ac12451\" \/>\n\t\t<div class=\"elementor-element elementor-element-ef22a19 e-con-full e-flex e-con e-child\" data-id=\"ef22a19\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7e6b135 dce_masking-none elementor-widget elementor-widget-image\" data-id=\"7e6b135\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"998\" src=\"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/Dieter-Buchner-Co-Founder-and-Retreat-Leader-vietnam-detox.webp\" class=\"attachment-large size-large wp-image-22586\" alt=\"\" srcset=\"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/Dieter-Buchner-Co-Founder-and-Retreat-Leader-vietnam-detox.webp 802w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/Dieter-Buchner-Co-Founder-and-Retreat-Leader-vietnam-detox-241x300.webp 241w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/Dieter-Buchner-Co-Founder-and-Retreat-Leader-vietnam-detox-768x958.webp 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6171a25 e-con-full e-flex e-con e-child\" data-id=\"6171a25\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0587502 elementor-widget elementor-widget-heading\" data-id=\"0587502\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Dieter Buchner<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b5e153d elementor-widget elementor-widget-heading\" data-id=\"b5e153d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Zertifizierter Fastencoach<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b95679c e-con-full e-flex e-con e-child\" data-id=\"b95679c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9e003e0 dce_masking-none elementor-widget elementor-widget-image\" data-id=\"9e003e0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1280\" src=\"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/herbal-thumbnail-blog.webp\" class=\"attachment-full size-full wp-image-22606\" alt=\"\" srcset=\"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/herbal-thumbnail-blog.webp 1920w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/herbal-thumbnail-blog-300x200.webp 300w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/herbal-thumbnail-blog-1024x683.webp 1024w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/herbal-thumbnail-blog-768x512.webp 768w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/herbal-thumbnail-blog-1536x1024.webp 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-57e4f11 e-flex e-con-boxed e-con e-child\" data-id=\"57e4f11\" 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-c990b62 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"c990b62\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">Fastenwissenschaft<\/span>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6704f22 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"6704f22\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">6 Min. Lesezeit<\/span>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5ff5587 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"5ff5587\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">Februar 2026<\/span>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-13fe2dc elementor-widget elementor-widget-heading\" data-id=\"13fe2dc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Was Sie vor und nach einem Retreat essen sollten<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8bf3101 elementor-widget elementor-widget-text-editor\" data-id=\"8bf3101\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Konkrete Mahlzeiten, Br\u00fchen und Timing f\u00fcr die Reduktionsphase vor dem Fasten und die dreit\u00e4gige Aufbauphase \u2013 plus wie Sie typische Verdauungs\u00fcberraschungen vermeiden.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4e56266 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"4e56266\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mehr lesen<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n<hr class=\"e-96a2d16-f7ceef3 e-divider-base\" data-interaction-id=\"96a2d16\"  data-e-type=\"widget\" data-id=\"96a2d16\" \/>\n\t\t<div class=\"elementor-element elementor-element-d1fb951 e-con-full e-flex e-con e-child\" data-id=\"d1fb951\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ba7e750 dce_masking-none elementor-widget elementor-widget-image\" data-id=\"ba7e750\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"779\" height=\"914\" src=\"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/vietnamdetox-Truong-Tan-Hoan-Retreatleader-Cofounder-vietnam-detox.webp\" class=\"attachment-large size-large wp-image-22587\" alt=\"\" srcset=\"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/vietnamdetox-Truong-Tan-Hoan-Retreatleader-Cofounder-vietnam-detox.webp 779w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/vietnamdetox-Truong-Tan-Hoan-Retreatleader-Cofounder-vietnam-detox-256x300.webp 256w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/vietnamdetox-Truong-Tan-Hoan-Retreatleader-Cofounder-vietnam-detox-768x901.webp 768w\" sizes=\"(max-width: 779px) 100vw, 779px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5ac62b0 e-con-full e-flex e-con e-child\" data-id=\"5ac62b0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-780cca5 elementor-widget elementor-widget-heading\" data-id=\"780cca5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Tr\u01b0\u01a1ng T\u1ea5n Ho\u00e0n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1348a9f elementor-widget elementor-widget-heading\" data-id=\"1348a9f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Programmdirektor<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-abead9d e-con-full e-flex e-con e-child\" data-id=\"abead9d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-83b6b1a dce_masking-none elementor-widget elementor-widget-image\" data-id=\"83b6b1a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"780\" height=\"437\" src=\"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/Legacy-Yen-Tu-MGallery-Other.webp\" class=\"attachment-full size-full wp-image-22605\" alt=\"\" srcset=\"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/Legacy-Yen-Tu-MGallery-Other.webp 780w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/Legacy-Yen-Tu-MGallery-Other-300x168.webp 300w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/Legacy-Yen-Tu-MGallery-Other-768x430.webp 768w\" sizes=\"(max-width: 780px) 100vw, 780px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c82c9a2 e-flex e-con-boxed e-con e-child\" data-id=\"c82c9a2\" 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-d8261b9 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"d8261b9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">Retreat-Alltag<\/span>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d5caae7 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"d5caae7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">4 Min. Lesezeit<\/span>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c96db69 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"c96db69\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">Januar 2026<\/span>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-67489d1 elementor-widget elementor-widget-heading\" data-id=\"67489d1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Fasten in Kleingruppen: Was jeder Tag beinhaltet<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7151b5d elementor-widget elementor-widget-text-editor\" data-id=\"7151b5d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Von morgendlichen Vitalwerten und Vortr\u00e4gen bis zu abendlichen Gespr\u00e4chskreisen: Dieser Artikel skizziert die Wissensvermittlung, Bewegung und Ruhe, die in jeder Gruppe enthalten sind.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-de09048 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"de09048\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mehr lesen<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n<hr class=\"e-94f7842-b82ba99 e-divider-base\" data-interaction-id=\"94f7842\"  data-e-type=\"widget\" data-id=\"94f7842\" \/>\n\t\t<div class=\"elementor-element elementor-element-7316d26 e-con-full e-flex e-con e-child\" data-id=\"7316d26\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6380aaf dce_masking-none elementor-widget elementor-widget-image\" data-id=\"6380aaf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"779\" height=\"914\" src=\"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/vietnamdetox-Truong-Tan-Hoan-Retreatleader-Cofounder-vietnam-detox.webp\" class=\"attachment-large size-large wp-image-22587\" alt=\"\" srcset=\"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/vietnamdetox-Truong-Tan-Hoan-Retreatleader-Cofounder-vietnam-detox.webp 779w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/vietnamdetox-Truong-Tan-Hoan-Retreatleader-Cofounder-vietnam-detox-256x300.webp 256w, https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/vietnamdetox-Truong-Tan-Hoan-Retreatleader-Cofounder-vietnam-detox-768x901.webp 768w\" sizes=\"(max-width: 779px) 100vw, 779px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-57cf14a e-con-full e-flex e-con e-child\" data-id=\"57cf14a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-20a9f84 elementor-widget elementor-widget-heading\" data-id=\"20a9f84\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Tr\u01b0\u01a1ng T\u1ea5n Ho\u00e0n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9f14ced elementor-widget elementor-widget-heading\" data-id=\"9f14ced\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Programmdirektor<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-8baad31 newsletter e-flex e-con-boxed e-con e-parent\" data-id=\"8baad31\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-de42b92 e-con-full vnls__shell e-flex e-con e-child\" data-id=\"de42b92\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-81aef3e e-con-full vnls__card e-flex e-con e-child\" data-id=\"81aef3e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cd50fb1 elementor-widget elementor-widget-html\" data-id=\"cd50fb1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  Paste this markup into the FIRST HTML widget inside the native Elementor\r\n  container with class `vnls__card`.\r\n\r\n  The real Fluent Form must be a separate Fluent Forms\/Shortcode widget below\r\n  this HTML widget. See README.md for the complete Elementor structure.\r\n-->\r\n\r\n<div class=\"vnls__content\">\r\n  <span class=\"vnls__eyebrow\">In Verbindung bleiben<\/span>\r\n  <span class=\"vnls__rule\" aria-hidden=\"true\"><\/span>\r\n\r\n  <figure class=\"vnls__visual vnls__visual--inline\">\r\n    <img src=\"\/wp-content\/uploads\/2026\/05\/Hoan-Dieter-in-herb-garden-dieter-showing-leaves.webp\" alt=\"Hoan und Dieter teilen ihr Wissen im Kr\u00e4utergarten\" loading=\"lazy\" decoding=\"async\">\r\n  <\/figure>\r\n\r\n  <h2 class=\"vnls__headline\" id=\"vnls-title\">\r\n  Erhalten Sie <em>Retreat-Termine<\/em>,\r\n    <span class=\"vnls__headline-sub\">\r\n Fastentipps, G\u00e4stegeschichten und fr\u00fchzeitigen Zugang zu begrenzten Pl\u00e4tzen.\r\n    <\/span> \r\n  <\/h2>\r\n\r\n  <p class=\"vnls__description\">\r\n  Diese viertelj\u00e4hrliche E-Mail behandelt Screening-Zeitfenster, Buchinger-Wissen,\r\n wie Alumni sich zu Hause vorbereiten und die n\u00e4chsten Retreat-Ver\u00f6ffentlichungen.\r\n  <\/p>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-611f309 e-con-full vnls__form-wrap e-flex e-con e-child\" data-id=\"611f309\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6da923c elementor-widget elementor-widget-shortcode\" data-id=\"6da923c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class='fluentform ff-default fluentform_wrapper_4 ffs_default_wrap'><form data-form_id=\"4\" id=\"fluentform_4\" class=\"frm-fluent-form fluent_form_4 ff-el-form-top ff_form_instance_4_1 ff-form-loading ffs_default\" data-form_instance=\"ff_form_instance_4_1\" method=\"POST\" ><fieldset  style=\"border: none!important;margin: 0!important;padding: 0!important;background-color: transparent!important;box-shadow: none!important;outline: none!important; min-inline-size: 100%;\">\n                    <legend class=\"ff_screen_reader_title\" style=\"display: block; margin: 0!important;padding: 0!important;height: 0!important;text-indent: -999999px;width: 0!important;overflow:hidden;\">Homepage Newsletter<\/legend><input type='hidden' name='__fluent_form_embded_post_id' value='22580' \/><input type=\"hidden\" id=\"_fluentform_4_fluentformnonce\" name=\"_fluentform_4_fluentformnonce\" value=\"caf1cf08d5\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/de\/wp-json\/wp\/v2\/pages\/22580\" \/><div class='ff-el-group ff-el-form-top'><div class=\"ff-el-input--label ff-el-is-required asterisk-right\"><label for='ff_4_email' id='label_ff_4_email' aria-label=\"Email address\">Email address<\/label><\/div><div class='ff-el-input--content'><input type=\"email\" name=\"email\" id=\"ff_4_email\" class=\"ff-el-form-control\" placeholder=\"Your email address\" data-name=\"email\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><div class='ff-el-group ff-text-left ff_submit_btn_wrapper'><button type=\"submit\" class=\"ff-btn ff-btn-submit ff-btn-md ff_btn_style\"  aria-label=\"Join the List\">Join the List<\/button><\/div><\/fieldset><\/form><div id='fluentform_4_errors' class='ff-errors-in-stack ff_form_instance_4_1 ff-form-loading_errors ff_form_instance_4_1_errors'><\/div><\/div>            <script type=\"text\/javascript\">\n                window.fluent_form_ff_form_instance_4_1 = {\"id\":\"4\",\"ajaxUrl\":\"https:\\\/\\\/vietnamdetox.com\\\/wp-admin\\\/admin-ajax.php\",\"settings\":{\"layout\":{\"labelPlacement\":\"top\",\"asteriskPlacement\":\"asterisk-right\",\"helpMessagePlacement\":\"with_label\",\"errorMessagePlacement\":\"inline\",\"cssClassName\":\"\"},\"restrictions\":{\"denyEmptySubmission\":{\"enabled\":false}}},\"form_instance\":\"ff_form_instance_4_1\",\"form_id_selector\":\"fluentform_4\",\"rules\":{\"email\":{\"required\":{\"value\":true,\"message\":\"Dieses Feld ist erforderlich\",\"global_message\":\"This field is required\",\"global\":true},\"email\":{\"value\":true,\"message\":\"Dieses Feld muss eine g\\u00fcltige E-Mail-Adresse enthalten\",\"global_message\":\"This field must contain a valid email\",\"global\":true}}},\"debounce_time\":300,\"file_upload_settings\":[]};\n                            <\/script>\n            <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-670ffe7 elementor-widget elementor-widget-html\" data-id=\"670ffe7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<p class=\"vnls__privacy\">\r\n  Wir respektieren Ihre Privatsph\u00e4re. Kein Spam. Abmeldung jederzeit m\u00f6glich.  \r\n  Sehen Sie sich unsere Datenschutzerkl\u00e4rung an.\r\n  <!-- Link \"privacy policy\" again once a Privacy Policy page is published (EN and VI). -->\r\n<\/p>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ab50ffc vnls__visual-widget elementor-widget elementor-widget-html\" data-id=\"ab50ffc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  Paste into the second HTML widget inside `vnls__shell`.\r\n  Give that HTML widget the CSS class `vnls__visual-widget`.\r\n-->\r\n\r\n<figure class=\"vnls__visual vnls__visual--outer\">\r\n  <img src=\"\/wp-content\/uploads\/2026\/05\/Hoan-Dieter-in-herb-garden-dieter-showing-leaves.webp\" alt=\"Hoan und Dieter teilen ihr Wissen im Kr\u00e4utergarten\" loading=\"lazy\" decoding=\"async\">\r\n<\/figure>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-8207162 partners-section e-con-full e-flex e-con e-parent\" data-id=\"8207162\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ea82935 elementor-widget elementor-widget-html\" data-id=\"ea82935\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\n  Vietnam Detox \u2014 Elementor Partners Section\n  Paste this entire file into one Elementor HTML widget.\n  Add partners-section.css separately as described in README.md.\n-->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Be+Vietnam+Pro:wght@300;400;500;600;700&display=swap\" rel=\"stylesheet\">\n\n<section class=\"vnd-partners\" data-vnd-partners=\"\">\n  <div class=\"vnd-partners__shell\">\n    <header class=\"vnd-partners__heading\">\n      <span class=\"vnd-partners__eyebrow\">Unsere strategischen Partner<\/span>\n      <span class=\"vnd-partners__rule\" aria-hidden=\"true\"><\/span>\n    <\/header>\n\n    <div class=\"vnd-partners__carousel\">\n      <button class=\"vnd-partners__arrow vnd-partners__arrow--previous\" type=\"button\" data-partners-previous=\"\" aria-label=\"View previous partners\">\n        <span aria-hidden=\"true\">\u2039<\/span>\n      <\/button>\n\n      <div class=\"vnd-partners__viewport\" data-partners-viewport=\"\">\n        <div class=\"vnd-partners__track\" data-partners-track=\"\">\n          <button class=\"vnd-partner-card\" type=\"button\" data-partner-name=\"Namia River Retreat Hoi An\" data-partner-logo=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/partners\/namia-river-retreat.png\" data-partner-link=\"https:\/\/namiariverretreat.com\/\" aria-label=\"Learn more about Namia River Retreat Hoi An\">\n            <img decoding=\"async\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/partners\/namia-river-retreat.png\" alt=\"Namia River Retreat Hoi An Logo\" loading=\"lazy\">\n          <\/button>\n\n          <button class=\"vnd-partner-card\" type=\"button\" data-partner-name=\"Legacy Yen Tu MGallery\" data-partner-logo=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/partners\/legacy-yen-tu.png\" data-partner-link=\"https:\/\/mgallery.accor.com\/en\/hotels\/B1Y7\/wellness.html\" aria-label=\"Learn more about Legacy Yen Tu MGallery\">\n            <img decoding=\"async\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/partners\/legacy-yen-tu.png\" alt=\"Legacy Yen Tu MGallery Logo\" loading=\"lazy\">\n          <\/button>\n\n          <button class=\"vnd-partner-card\" type=\"button\" data-partner-name=\"Azerai La Residence Hue\" data-partner-logo=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/partners\/azerai-la-residence-hue-logo.webp\" data-partner-link=\"https:\/\/azerai.com\/azerai-la-residence-hue\/\" aria-label=\"Learn more about Azerai La Residence Hue\">\n            <img decoding=\"async\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/partners\/azerai-la-residence-hue-logo.webp\" alt=\"Azerai La Residence Hue Logo\" loading=\"lazy\">\n          <\/button>\n\n          <button class=\"vnd-partner-card\" type=\"button\" data-partner-name=\"Alba Wellness Valley Hue\" data-partner-logo=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/partners\/AlbaWellnessValley.webp\" data-partner-link=\"https:\/\/fusion-collection.com\/albawellnessvalleyhue\/en\/homepage\/\" aria-label=\"Learn more about Alba Wellness Valley Hue\">\n            <img decoding=\"async\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/partners\/AlbaWellnessValley.webp\" alt=\"Alba Wellness Valley Hue Logo\" loading=\"lazy\">\n          <\/button>\n\n          <button class=\"vnd-partner-card\" type=\"button\" data-partner-name=\"Deutsche Fastenakademie (dfa)\" data-partner-logo=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/partners\/dfa-logo-2012_1024.webp\" data-partner-link=\"https:\/\/fastenakademie.de\/\" aria-label=\"Learn more about Deutsche Fastenakademie\">\n            <img decoding=\"async\" src=\"https:\/\/vietnamdetox.com\/staging\/redesign-clickdummy-2026\/assets\/partners\/dfa-logo-2012_1024.webp\" alt=\"Deutsche Fastenakademie Logo\" loading=\"lazy\">\n          <\/button>\n        <\/div>\n      <\/div>\n\n      <button class=\"vnd-partners__arrow vnd-partners__arrow--next\" type=\"button\" data-partners-next=\"\" aria-label=\"View next partners\">\n        <span aria-hidden=\"true\">\u203a<\/span>\n      <\/button>\n    <\/div>\n  <\/div>\n\n  <div class=\"vnd-partner-modal\" data-partner-modal=\"\" aria-hidden=\"true\">\n    <div class=\"vnd-partner-modal__dialog\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Partner details\">\n      <button type=\"button\" class=\"vnd-partner-modal__close\" data-partner-modal-close=\"\" aria-label=\"Close partner details\">\n  \u00d7\n      <\/button>\n\n      <div class=\"vnd-partner-modal__logo\">\n        <img decoding=\"async\" data-partner-modal-logo=\"\" src=\"\" alt=\"\">\n      <\/div>\n\n      <h3 class=\"vnd-partner-modal__name\" data-partner-modal-name=\"\">\n  Partner\n      <\/h3>\n\n      <p class=\"vnd-partner-modal__copy\" data-partner-modal-copy=\"\">\n  Weitere Informationen zu diesem Partner werden in K\u00fcrze erg\u00e4nzt.\n      <\/p>\n\n      <a class=\"vnd-partner-modal__link\" data-partner-modal-link=\"\" href=\"#\" target=\"_blank\" rel=\"noopener\">\n  Partner-Website besuchen\n      <\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<script>\n(function () {\n  \"use strict\";\n\n  var sections = document.querySelectorAll(\n    \"[data-vnd-partners]:not([data-vnd-partners-ready])\"\n  );\n\n  sections.forEach(function (section) {\n    section.setAttribute(\"data-vnd-partners-ready\", \"true\");\n\n    var viewport = section.querySelector(\"[data-partners-viewport]\");\n    var track = section.querySelector(\"[data-partners-track]\");\n    var previousButton = section.querySelector(\"[data-partners-previous]\");\n    var nextButton = section.querySelector(\"[data-partners-next]\");\n    var cards = section.querySelectorAll(\".vnd-partner-card\");\n    var modal = section.querySelector(\"[data-partner-modal]\");\n    var modalDialog = modal\n      ? modal.querySelector(\".vnd-partner-modal__dialog\")\n      : null;\n    var closeButton = section.querySelector(\"[data-partner-modal-close]\");\n    var modalLogo = section.querySelector(\"[data-partner-modal-logo]\");\n    var modalName = section.querySelector(\"[data-partner-modal-name]\");\n    var modalCopy = section.querySelector(\"[data-partner-modal-copy]\");\n    var modalLink = section.querySelector(\"[data-partner-modal-link]\");\n\n    if (!viewport || !track || !cards.length) return;\n\n    var animating = false;\n    var autoTimer = null;\n    var touchStartX = null;\n    var lastFocusedElement = null;\n    var transitionValue =\n      \"transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94)\";\n    var reducedMotion = window.matchMedia(\n      \"(prefers-reduced-motion: reduce)\"\n    ).matches;\n\n    function getGap() {\n      var styles = window.getComputedStyle(track);\n      var gap = parseFloat(\n        styles.columnGap || styles.gap || styles.rowGap || 0\n      );\n      return isNaN(gap) ? 0 : gap;\n    }\n\n    function stepForward() {\n      if (animating || track.children.length < 2) return;\n\n      animating = true;\n      var first = track.firstElementChild;\n      var width = first.getBoundingClientRect().width + getGap();\n\n      track.style.transition = transitionValue;\n      track.style.transform = \"translate3d(\" + -width + \"px, 0, 0)\";\n\n      window.setTimeout(function () {\n        track.style.transition = \"none\";\n        track.appendChild(first);\n        track.style.transform = \"translate3d(0, 0, 0)\";\n        animating = false;\n      }, 650);\n    }\n\n    function stepBackward() {\n      if (animating || track.children.length < 2) return;\n\n      animating = true;\n      var last = track.lastElementChild;\n      var width = last.getBoundingClientRect().width + getGap();\n\n      track.style.transition = \"none\";\n      track.insertBefore(last, track.firstElementChild);\n      track.style.transform = \"translate3d(\" + -width + \"px, 0, 0)\";\n\n      window.requestAnimationFrame(function () {\n        track.style.transition = transitionValue;\n        track.style.transform = \"translate3d(0, 0, 0)\";\n\n        window.setTimeout(function () {\n          track.style.transition = \"none\";\n          animating = false;\n        }, 650);\n      });\n    }\n\n    function stopAutoPlay() {\n      if (!autoTimer) return;\n      window.clearInterval(autoTimer);\n      autoTimer = null;\n    }\n\n    function startAutoPlay() {\n      stopAutoPlay();\n\n      if (\n        reducedMotion ||\n        document.hidden ||\n        track.children.length < 2 ||\n        (modal && modal.classList.contains(\"is-open\"))\n      ) {\n        return;\n      }\n\n      autoTimer = window.setInterval(stepForward, 3500);\n    }\n\n    function moveAndRestart(direction) {\n      stopAutoPlay();\n      if (direction === \"previous\") stepBackward();\n      else stepForward();\n      startAutoPlay();\n    }\n\n    if (previousButton) {\n      previousButton.addEventListener(\"click\", function () {\n        moveAndRestart(\"previous\");\n      });\n    }\n\n    if (nextButton) {\n      nextButton.addEventListener(\"click\", function () {\n        moveAndRestart(\"next\");\n      });\n    }\n\n    viewport.addEventListener(\"touchstart\", function (event) {\n      if (!event.touches.length) return;\n      touchStartX = event.touches[0].clientX;\n      stopAutoPlay();\n    }, { passive: true });\n\n    viewport.addEventListener(\"touchend\", function (event) {\n      if (touchStartX === null || !event.changedTouches.length) {\n        startAutoPlay();\n        return;\n      }\n\n      var difference = event.changedTouches[0].clientX - touchStartX;\n      touchStartX = null;\n\n      if (Math.abs(difference) >= 40) {\n        if (difference > 0) stepBackward();\n        else stepForward();\n      }\n\n      startAutoPlay();\n    }, { passive: true });\n\n    section.addEventListener(\"mouseenter\", stopAutoPlay);\n    section.addEventListener(\"mouseleave\", startAutoPlay);\n\n    section.addEventListener(\"focusin\", stopAutoPlay);\n    section.addEventListener(\"focusout\", function (event) {\n      if (!section.contains(event.relatedTarget)) startAutoPlay();\n    });\n\n    document.addEventListener(\"visibilitychange\", function () {\n      if (document.hidden) stopAutoPlay();\n      else startAutoPlay();\n    });\n\n    function setModal(open) {\n      if (!modal) return;\n\n      modal.classList.toggle(\"is-open\", open);\n      modal.setAttribute(\"aria-hidden\", String(!open));\n      document.body.classList.toggle(\"vnd-partner-modal-open\", open);\n\n      if (open) {\n        stopAutoPlay();\n        window.setTimeout(function () {\n          if (closeButton) closeButton.focus();\n        }, 20);\n      } else {\n        startAutoPlay();\n        if (\n          lastFocusedElement &&\n          typeof lastFocusedElement.focus === \"function\"\n        ) {\n          lastFocusedElement.focus();\n        }\n      }\n    }\n\n    function openPartnerModal(card) {\n      if (\n        !modal ||\n        !modalLogo ||\n        !modalName ||\n        !modalCopy ||\n        !modalLink\n      ) {\n        return;\n      }\n\n      var name = card.getAttribute(\"data-partner-name\") || \"Partner\";\n      var logo = card.getAttribute(\"data-partner-logo\") || \"\";\n      var link = card.getAttribute(\"data-partner-link\") || \"#\";\n      var description = card.getAttribute(\"data-partner-description\") ||\n        \"More information about this partner will be added soon.\";\n\n      lastFocusedElement = card;\n      modalName.textContent = name;\n      modalLogo.src = logo;\n      modalLogo.alt = name + \" logo\";\n      modalCopy.textContent = description;\n      modalLink.href = link;\n      setModal(true);\n    }\n\n    Array.prototype.forEach.call(cards, function (card) {\n      card.addEventListener(\"click\", function () {\n        openPartnerModal(card);\n      });\n    });\n\n    if (closeButton) {\n      closeButton.addEventListener(\"click\", function () {\n        setModal(false);\n      });\n    }\n\n    if (modal) {\n      modal.addEventListener(\"click\", function (event) {\n        if (event.target === modal) setModal(false);\n      });\n    }\n\n    document.addEventListener(\"keydown\", function (event) {\n      if (!modal || !modal.classList.contains(\"is-open\")) return;\n\n      if (event.key === \"Escape\") {\n        event.preventDefault();\n        setModal(false);\n        return;\n      }\n\n      if (event.key === \"Tab\" && modalDialog) {\n        var focusable = modalDialog.querySelectorAll(\n          \"button:not([disabled]), a[href], [tabindex]:not([tabindex='-1'])\"\n        );\n\n        if (!focusable.length) return;\n\n        var firstFocusable = focusable[0];\n        var lastFocusable = focusable[focusable.length - 1];\n\n        if (event.shiftKey && document.activeElement === firstFocusable) {\n          event.preventDefault();\n          lastFocusable.focus();\n        } else if (\n          !event.shiftKey &&\n          document.activeElement === lastFocusable\n        ) {\n          event.preventDefault();\n          firstFocusable.focus();\n        }\n      }\n    });\n\n    if (track.children.length < 2) {\n      section.classList.add(\"has-one-partner\");\n    }\n\n    startAutoPlay();\n  });\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div data-dce-background-color=\"#F5E8D0\" class=\"elementor-element elementor-element-6f73f92 e-flex e-con-boxed e-con e-parent\" data-id=\"6f73f92\" 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-1bc70c5 elementor-widget elementor-widget-html\" data-id=\"1bc70c5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  Elementor setup\r\n  1. Add an HTML widget where the CTA card should appear.\r\n  2. Paste this entire file into the widget.\r\n  3. Add the companion CSS from elementor-footer-retreat-cta.css to the widget's\r\n     Advanced > Custom CSS field (Elementor Pro).\r\n\r\n  This component is static, so no JavaScript is required.\r\n-->\r\n\r\n<section class=\"vrcta\" aria-labelledby=\"vrcta-title\">\r\n  <span class=\"vrcta__eyebrow\">Bereit, wenn Sie es sind<\/span>\r\n\r\n  <h2 class=\"vrcta__headline\" id=\"vrcta-title\">\r\n  Reservieren Sie Ihren Platz in einem unserer kommenden <em>Retreats.<\/em>\r\n  <\/h2>\r\n\r\n  <p class=\"vrcta__description\">\r\n  Wenn Sie sich bereits zu einem bestimmten Retreat hingezogen f\u00fchlen, k\u00f6nnen Sie Ihren Platz jetzt reservieren. Noch unsicher, welches Retreat am besten zu Ihnen passt? Gern f\u00fchren wir Sie in einem ruhigen Kennenlerngespr\u00e4ch durch Orte, Atmosph\u00e4re, Timing und Fastenansatz.  \r\n  <\/p>\r\n\r\n  <div class=\"vrcta__buttons\">\r\n    <a class=\"vrcta__button vrcta__button--ember\" href=\"https:\/\/vietnamdetox.com\/retreat-overview\/\">Retreats entdecken<\/a>\r\n    <!-- Hidden until \/the-method\/ is published:\r\n    <a class=\"vrcta__button vrcta__button--outline\" href=\"https:\/\/vietnamdetox.com\/the-method\/\">Understand the Method<\/a>\r\n    -->\r\n  <\/div>\r\n\r\n  <p class=\"vrcta__description vrcta__closing\">\r\n  Manche G\u00e4ste starten mit Fragen. Andere wissen bereits, dass sie einen Neustart brauchen. \r\n  <\/p>\r\n<\/section>\r\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>Fenster schliessen \u00d7 Erholen Sie sich, bevor Ersch\u00f6pfung zu Ihrem Normalzustand wird. Deutsches Buchinger-Fasten. Vietnamese Healing Wisdom. Ihr Browser unterst\u00fctzt das Video-Tag nicht. Ruhige, strukturierte Fastenretreats f\u00fcr Menschen, die sich mental \u00fcberlastet, k\u00f6rperlich ersch\u00f6pft oder von echter Erholung abgeschnitten f\u00fchlen. Retreats entdecken Die Methode verstehen Scrollen Ein stilles Gef\u00fchl, das viele G\u00e4ste wiedererkennen Wann haben [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":22611,"parent":0,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-22580","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.5 (Yoast SEO v28.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Startseite - Vietnamdetox<\/title>\n<meta name=\"description\" content=\"Ruhige, strukturierte Fastenretreats f\u00fcr Menschen, die sich mental \u00fcberlastet, k\u00f6rperlich ersch\u00f6pft oder von echter Erholung abgeschnitten f\u00fchlen\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vietnamdetox.com\/de\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Startseite\" \/>\n<meta property=\"og:description\" content=\"Ruhige, strukturierte Fastenretreats f\u00fcr Menschen, die sich mental \u00fcberlastet, k\u00f6rperlich ersch\u00f6pft oder von echter Erholung abgeschnitten f\u00fchlen\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vietnamdetox.com\/de\/\" \/>\n<meta property=\"og:site_name\" content=\"Vietnamdetox\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-17T11:17:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/guests-relaxing-in-hot-spring.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1244\" \/>\n\t<meta property=\"og:image:height\" content=\"931\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"16\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/\",\"url\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/\",\"name\":\"Startseite - Vietnamdetox\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vietnamdetox.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/guests-relaxing-in-hot-spring.webp\",\"datePublished\":\"2026-05-16T03:32:58+00:00\",\"dateModified\":\"2026-10-17T11:17:09+00:00\",\"description\":\"Ruhige, strukturierte Fastenretreats f\u00fcr Menschen, die sich mental \u00fcberlastet, k\u00f6rperlich ersch\u00f6pft oder von echter Erholung abgeschnitten f\u00fchlen\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vietnamdetox.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/guests-relaxing-in-hot-spring.webp\",\"contentUrl\":\"https:\\\/\\\/vietnamdetox.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/guests-relaxing-in-hot-spring.webp\",\"width\":1244,\"height\":931},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/startseite\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Startseite\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/\",\"name\":\"Staging Vietnamdetox\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/#organization\",\"name\":\"Staging Vietnamdetox\",\"url\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/vietnamdetox.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/logo-icon-color_cutout.svg\",\"contentUrl\":\"https:\\\/\\\/vietnamdetox.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/logo-icon-color_cutout.svg\",\"width\":314,\"height\":435,\"caption\":\"Staging Vietnamdetox\"},\"image\":{\"@id\":\"https:\\\/\\\/vietnamdetox.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Startseite - Vietnamdetox","description":"Ruhige, strukturierte Fastenretreats f\u00fcr Menschen, die sich mental \u00fcberlastet, k\u00f6rperlich ersch\u00f6pft oder von echter Erholung abgeschnitten f\u00fchlen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vietnamdetox.com\/de\/","og_locale":"de_DE","og_type":"article","og_title":"Startseite","og_description":"Ruhige, strukturierte Fastenretreats f\u00fcr Menschen, die sich mental \u00fcberlastet, k\u00f6rperlich ersch\u00f6pft oder von echter Erholung abgeschnitten f\u00fchlen","og_url":"https:\/\/vietnamdetox.com\/de\/","og_site_name":"Vietnamdetox","article_modified_time":"2026-10-17T11:17:09+00:00","og_image":[{"width":1244,"height":931,"url":"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/guests-relaxing-in-hot-spring.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"16\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vietnamdetox.com\/de\/","url":"https:\/\/vietnamdetox.com\/de\/","name":"Startseite - Vietnamdetox","isPartOf":{"@id":"https:\/\/vietnamdetox.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vietnamdetox.com\/de\/#primaryimage"},"image":{"@id":"https:\/\/vietnamdetox.com\/de\/#primaryimage"},"thumbnailUrl":"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/guests-relaxing-in-hot-spring.webp","datePublished":"2026-05-16T03:32:58+00:00","dateModified":"2026-10-17T11:17:09+00:00","description":"Ruhige, strukturierte Fastenretreats f\u00fcr Menschen, die sich mental \u00fcberlastet, k\u00f6rperlich ersch\u00f6pft oder von echter Erholung abgeschnitten f\u00fchlen","breadcrumb":{"@id":"https:\/\/vietnamdetox.com\/de\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vietnamdetox.com\/de\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/vietnamdetox.com\/de\/#primaryimage","url":"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/guests-relaxing-in-hot-spring.webp","contentUrl":"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/guests-relaxing-in-hot-spring.webp","width":1244,"height":931},{"@type":"BreadcrumbList","@id":"https:\/\/vietnamdetox.com\/de\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vietnamdetox.com\/de\/startseite\/"},{"@type":"ListItem","position":2,"name":"Startseite"}]},{"@type":"WebSite","@id":"https:\/\/vietnamdetox.com\/de\/#website","url":"https:\/\/vietnamdetox.com\/de\/","name":"Staging Vietnamdetox","description":"","publisher":{"@id":"https:\/\/vietnamdetox.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vietnamdetox.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/vietnamdetox.com\/de\/#organization","name":"Staging Vietnamdetox","url":"https:\/\/vietnamdetox.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/vietnamdetox.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/logo-icon-color_cutout.svg","contentUrl":"https:\/\/vietnamdetox.com\/wp-content\/uploads\/2026\/05\/logo-icon-color_cutout.svg","width":314,"height":435,"caption":"Staging Vietnamdetox"},"image":{"@id":"https:\/\/vietnamdetox.com\/de\/#\/schema\/logo\/image\/"}}]}},"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/vietnamdetox.com\/de\/wp-json\/wp\/v2\/pages\/22580","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vietnamdetox.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vietnamdetox.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vietnamdetox.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vietnamdetox.com\/de\/wp-json\/wp\/v2\/comments?post=22580"}],"version-history":[{"count":1,"href":"https:\/\/vietnamdetox.com\/de\/wp-json\/wp\/v2\/pages\/22580\/revisions"}],"predecessor-version":[{"id":22612,"href":"https:\/\/vietnamdetox.com\/de\/wp-json\/wp\/v2\/pages\/22580\/revisions\/22612"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vietnamdetox.com\/de\/wp-json\/wp\/v2\/media\/22611"}],"wp:attachment":[{"href":"https:\/\/vietnamdetox.com\/de\/wp-json\/wp\/v2\/media?parent=22580"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}