{"id":35648,"date":"2021-01-27T15:10:11","date_gmt":"2021-01-27T14:10:11","guid":{"rendered":"https:\/\/triptherapie.nl\/?page_id=35648"},"modified":"2026-10-01T21:56:58","modified_gmt":"2026-10-01T19:56:58","slug":"des-prix","status":"publish","type":"page","link":"https:\/\/triptherapie.nl\/fr\/reserveringen\/prijzen\/","title":{"rendered":"Tarifs et r\u00e9servation"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"35648\" class=\"elementor elementor-35648\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e6e3a3d e-flex e-con-boxed e-con e-parent\" data-id=\"e6e3a3d\" 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-f379bb4 elementor-widget elementor-widget-heading\" data-id=\"f379bb4\" 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\" id=\"een-groepsceremonie-of-prive-sessie\">Een groepsceremonie of priv\u00e9 sessie?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aa8acdc elementor-widget elementor-widget-text-editor\" data-id=\"aa8acdc\" 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>Heb je de keuze gemaakt om deel te nemen aan een groepssessie of liever priv\u00e9 in een individuele sessie met de door jou gekozen begeleider? Gebruik de onderstaande knoppen om direct door te gaan naar de gewenste optie.<\/p><p>Kun je geen keuze maken en wil je graag eerst even bellen, neem dan contact met ons op via de contactpagina.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c47729e e-con e-atomic-element e-flexbox-base e-default-div e-e3bd620 \" data-id=\"c47729e\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"c47729e\" data-e-type=\"e-flexbox\" data-id=\"c47729e\">\n    \t\t<div class=\"elementor-element elementor-element-c2ea0a7 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"c2ea0a7\" 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=\"#ceremonie\">\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\">Groepsceremonie<\/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<div class=\"elementor-element elementor-element-5708482 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"5708482\" 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=\"#prive\">\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\">Priv\u00e9 sessie<\/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\n<\/div>\n<div class=\"elementor-element elementor-element-63494ca e-flex e-con-boxed e-con e-parent\" data-id=\"63494ca\" 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-6683e1b elementor-widget elementor-widget-menu-anchor\" data-id=\"6683e1b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"ceremonie\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c60dd61 elementor-widget elementor-widget-heading\" data-id=\"c60dd61\" 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\" id=\"open-groep-ceremonies\">Open groep ceremonies<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3e6bdec e-flex e-con-boxed e-con e-parent\" data-id=\"3e6bdec\" 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-dc5cad5 e-con-full e-flex e-con e-child\" data-id=\"dc5cad5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-83b8837 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"83b8837\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-958a2ca e-flex e-con-boxed e-con e-child\" role=\"region\" aria-labelledby=\"e-n-accordion-item-2190\" data-id=\"958a2ca\" data-element_type=\"container\" data-e-type=\"container\"><div class=\"e-con-inner\"><div class=\"elementor-element elementor-element-9c01d43 elementor-widget elementor-widget-text-editor\" data-id=\"9c01d43\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\"><p class=\"\" data-start=\"0\" data-end=\"325\">Bij deelname aan een <strong data-start=\"22\" data-end=\"42\">truffelceremonie<\/strong> of retraite is een volledig verzorgd programma inbegrepen, zodat jij je volledig kunt richten op jouw innerlijke reis.<\/p><p class=\"\" data-start=\"327\" data-end=\"514\">De groepssessies vinden plaats op onze locaties en hebben altijd de volgende zaken inbegrepen:<\/p><ul><li data-start=\"518\" data-end=\"580\">Een <strong data-start=\"522\" data-end=\"556\">persoonlijk voorbereidingsplan<\/strong> op basis van een intake<\/li><li data-start=\"583\" data-end=\"682\">De volledige <strong data-start=\"596\" data-end=\"624\">psychedelische ceremonie<\/strong> met een legale psychedelica<\/li><li data-start=\"685\" data-end=\"741\">Begeleiding door twee ervaren therapeuten of tripsitters.<\/li><li data-start=\"685\" data-end=\"741\">Meditatie, aromatherapie, muziek en andere verdiepende technieken.<\/li><li data-start=\"805\" data-end=\"845\">Een <strong data-start=\"809\" data-end=\"845\">gezonde maaltijd na de ceremonie<\/strong><\/li><li data-start=\"848\" data-end=\"933\"><strong data-start=\"848\" data-end=\"875\">Overnachting op locatie<\/strong>, met comfortabele bedden.<\/li><li data-start=\"936\" data-end=\"967\"><strong data-start=\"936\" data-end=\"967\">Ontbijt de volgende ochtend<\/strong><\/li><li data-start=\"970\" data-end=\"1032\">Een <strong data-start=\"974\" data-end=\"1007\">telefonisch voorbereidingsgesprek en een integratiegesprek.<\/strong><\/li><\/ul><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-06a15bf e-con-full e-flex e-con e-child\" data-id=\"06a15bf\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c98a6a9 elementor-widget elementor-widget-ameliaeventslistbooking\" data-id=\"c98a6a9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ameliaeventslistbooking.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\n  if (typeof hasAmeliaEvent === 'undefined') {\n    var hasAmeliaEvent = true;\n  }\n  if (typeof hasEventApiCall === 'undefined' && ('' === '' && '' === '' && '' !== '1')) {\n    var hasEventApiCall = true;\n  }\n  var hasEventShortcode = (typeof hasEventShortcode === 'undefined') ? false : true;\n  var ameliaShortcodeData = (typeof ameliaShortcodeData === 'undefined') ? [] : ameliaShortcodeData;\n  ameliaShortcodeData.push(\n    {\n      'hasApiCall': (typeof hasEventApiCall !== 'undefined') && hasEventApiCall,\n      'trigger': '',\n      'trigger_type': '',\n      'triggered_form': 'elf',\n      'in_dialog': '',\n      'counter': '1000',\n      'employee': '',\n      'eventId': '',\n      'eventRecurring': 0,\n      'eventTag': \"\",\n      'locationId': \"\",\n      'range': \"\",\n      'ivy': '',\n    }\n  );\n  var ameliaShortcodeDataTriggered = (typeof ameliaShortcodeDataTriggered === 'undefined') ? [] : ameliaShortcodeDataTriggered;\n  if (ameliaShortcodeData[ameliaShortcodeData.length - 1].trigger !== '' || ameliaShortcodeData[ameliaShortcodeData.length - 1].ivy !== '') {\n    if (ameliaShortcodeDataTriggered.filter(a => a.counter === ameliaShortcodeData[ameliaShortcodeData.length - 1].counter).length === 0) {\n      ameliaShortcodeDataTriggered.push(ameliaShortcodeData.pop());\n    } else {\n      ameliaShortcodeData.pop()\n    }\n  }\n  if (typeof hasEventApiCall !== 'undefined' && hasEventApiCall) {\n    hasEventApiCall = false;\n  }\n<\/script>\n\n<div\n  id=\"amelia-v2-booking-1000\"\n  class=\"amelia-v2-booking\"\n>\n    <events-list-form-wrapper><\/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<\/div>\n\t\t<div class=\"elementor-element elementor-element-4e688d5 e-flex e-con-boxed e-con e-parent\" data-id=\"4e688d5\" 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-fe96cfc elementor-widget elementor-widget-menu-anchor\" data-id=\"fe96cfc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"prive\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a94f5dc elementor-widget elementor-widget-template\" data-id=\"a94f5dc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"template.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-template\">\n\t\t\t\t\t<div data-elementor-type=\"container\" data-elementor-id=\"51226\" class=\"elementor elementor-51226\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7257ede e-con-full e-flex e-con e-parent\" data-id=\"7257ede\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-519f602 e-con-full e-flex e-con e-child\" data-id=\"519f602\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8b78ba2 elementor-widget elementor-widget-menu-anchor\" data-id=\"8b78ba2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"bereken\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c7c84cc elementor-widget elementor-widget-heading\" data-id=\"c7c84cc\" 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\" id=\"prijsberekening-sessie-op-locatie\">Prijsberekening sessie op locatie<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-63ccb5a elementor-widget elementor-widget-text-editor\" data-id=\"63ccb5a\" 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 style=\"text-align: center;\">Reken hier eenvoudig uit wat de prijs is voor een priv\u00e9 psychedelische sessie voor \u00e9\u00e9n tot drie deelnemers op jouw eigen of op \u00e9\u00e9n van onze locaties. Bij sessies op de locaties van Triptherapie is altijd \u00e9\u00e9n overnachting plus eten en drinken inbegrepen.<\/p><p style=\"text-align: center;\">Witte tekst: De begeleider werkt op jouw locatie.<br \/><span style=\"color: #ff6600;\">Oranje tekst<\/span>: De begeleider woont net buiten jouw werkgebied, maar in overleg lukt het vaak wel.<br \/><span style=\"color: #ff0000;\">Rode tekst<\/span>: Je woont te ver weg. Overweeg om een accommodatie dichterbij te huren, een andere begeleider of deelname aan een <span style=\"color: #cc99ff;\"><a style=\"color: #cc99ff;\" href=\"https:\/\/triptherapie.nl\/groepssessies\/#agenda-open-groep-ceremonies\">groepsceremonie op \u00e9\u00e9n van onze locaties<\/a><\/span>.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8566c87 elementor-widget elementor-widget-text-editor\" data-id=\"8566c87\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h3 style=\"text-align: center;\" id=\"voer-je-gewenste-locatie-in\">Voer je gewenste locatie in:<\/h3>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-508468a elementor-widget elementor-widget-html\" data-id=\"508468a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\t\t\t\t\t<style>\n  #distance-tool {\n    margin: 20px auto;\n    padding: 0 10px;\n    max-width: 1200px;\n  }\n\n  :where(#distance-tool) .input-container {\n    display: flex;\n    align-items: center;\n    margin-bottom: 20px;\n    gap: 16px;\n    flex-wrap: wrap;\n  }\n\n  :where(#distance-tool) .input-container input,\n  :where(#distance-tool) .input-container button {\n    box-sizing: border-box;\n    height: 52px;\n    font-size: 17px;\n  }\n\n  :where(#distance-tool) .input-container input {\n    flex: 1;\n    min-width: 260px;\n    padding: 8px 16px;\n  }\n\n  :where(#distance-tool) .calculate-btn {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    box-sizing: border-box;\n    padding: 8px 22px;\n    line-height: 1.2;\n    text-align: center;\n    color: white;\n    background-color: #b20091;\n    border: none;\n    cursor: pointer;\n  }\n\n  :where(#distance-tool) .calculate-btn:hover {\n    opacity: 0.92;\n  }\n\n  :where(#distance-tool) .content-container {\n    display: flex;\n    flex-direction: column;\n    gap: 20px;\n  }\n\n  :where(#distance-tool) .left-column,\n  :where(#distance-tool) .right-column {\n    width: 100%;\n  }\n\n  @media (min-width: 768px) {\n    :where(#distance-tool) .content-container {\n      flex-direction: row;\n      align-items: flex-start;\n    }\n\n    :where(#distance-tool) .left-column {\n      flex: 1.15;\n      min-width: 0;\n    }\n\n    :where(#distance-tool) .right-column {\n      flex: 0.85;\n      min-width: 0;\n    }\n  }\n\n  :where(#distance-tool) .person-controls,\n  :where(#distance-tool) .map-controls {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 8px;\n    margin: 0 0 18px 0;\n    text-align: center;\n  }\n\n  :where(#distance-tool) .toggle-label {\n    font-weight: 700;\n    color: inherit;\n  }\n\n  :where(#distance-tool) .toggle-group {\n    display: inline-flex;\n    flex-wrap: wrap;\n    justify-content: center;\n    gap: 10px;\n  }\n\n  :where(#distance-tool) .toggle-group input[type=\"radio\"] {\n    position: absolute;\n    opacity: 0;\n    pointer-events: none;\n  }\n\n  :where(#distance-tool) .toggle-option {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 42px;\n    min-width: 125px;\n    padding: 8px 14px;\n    border: none;\n    background-color: black;\n    color: white;\n    cursor: pointer;\n    user-select: none;\n    font-size: 16px;\n    line-height: 1.2;\n    transition: opacity 0.2s ease;\n    box-sizing: border-box;\n    text-align: center;\n  }\n\n  :where(#distance-tool) .toggle-option:hover {\n    opacity: 0.92;\n  }\n\n  :where(#distance-tool) .toggle-group input[type=\"radio\"]:checked + .toggle-option {\n    background-color: #7d0066;\n    color: white;\n  }\n\n  :where(#distance-tool) .toggle-group input[type=\"radio\"]:focus-visible + .toggle-option {\n    outline: 2px solid #fff;\n    outline-offset: 2px;\n  }\n\n  :where(#distance-tool) #results {\n    margin-top: 0;\n  }\n\n  :where(#distance-tool) .person-row {\n    display: flex;\n    flex-wrap: nowrap;\n    align-items: center;\n    justify-content: flex-start;\n    gap: 8px;\n    min-width: 0;\n  }\n\n  :where(#distance-tool) .person-name {\n    display: inline-block;\n    font-weight: 700;\n    min-width: 0;\n    overflow-wrap: anywhere;\n  }\n  :where(#distance-tool) .person-profile-link {\n    color: inherit;\n    text-decoration: none;\n    cursor: pointer;\n  }\n  :where(#distance-tool) .person-profile-link:hover,\n  :where(#distance-tool) .person-profile-link:focus-visible {\n    text-decoration: underline;\n    text-underline-offset: 2px;\n  }\n\n  :where(#distance-tool) .person-actions {\n    display: inline-flex;\n    flex: 0 0 auto;\n    align-items: center;\n    margin: 0;\n  }\n\n  :where(#distance-tool) .action-link {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 32px;\n    box-sizing: border-box;\n    padding: 6px 9px;\n    border: 1px solid #b20091;\n    border-radius: 5px;\n    background: #fff;\n    color: #780062;\n    text-decoration: none;\n    font-size: 13px;\n    font-weight: 600;\n    line-height: 1.2;\n    white-space: nowrap;\n  }\n\n  :where(#distance-tool) .action-link.primary {\n    background: #b20091;\n    color: #fff;\n    border-color: #b20091;\n  }\n\n  :where(#distance-tool) .action-link:hover,\n  :where(#distance-tool) .action-link:focus-visible {\n    filter: brightness(.94);\n    outline: 2px solid #b20091;\n    outline-offset: 2px;\n  }\n\n  :where(#distance-tool) .strike td {\n    color: red;\n    text-decoration: line-through;\n  }\n\n  :where(#distance-tool) .table-container {\n    width: 100%;\n    overflow-x: auto;\n    margin-bottom: 18px;\n  }\n\n  :where(#distance-tool) .table-container table th,\n  :where(#distance-tool) .table-container table td {\n    text-align: center;\n    vertical-align: middle;\n  }\n\n  :where(#distance-tool) .table-container .action-link {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    text-align: center;\n    vertical-align: middle;\n  }\n\n  :where(#distance-tool) #map {\n    width: 100%;\n    height: 340px;\n    margin-top: 0;\n    position: relative;\n    top: 0;\n  }\n\n  :where(#distance-tool) .explanation-row {\n    margin-top: 24px;\n  }\n\n  :where(#distance-tool) .explanation-toggle {\n    width: 100%;\n    background: linear-gradient(90deg, #00000050 0%, #0000004d 100%) !important;\n    color: white;\n    border: none;\n    padding: 12px 16px;\n    font-size: 17px;\n    text-align: left;\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    box-sizing: border-box;\n  }\n\n  :where(#distance-tool) .explanation-toggle:hover {\n    opacity: 0.92;\n  }\n\n  :where(#distance-tool) .explanation-toggle .icon {\n    display: inline-flex;\n    transition: transform 0.2s ease;\n  }\n\n  :where(#distance-tool) .explanation-toggle .icon svg {\n    width: 1em;\n    height: 1em;\n    fill: none;\n    stroke: currentColor;\n    stroke-width: 2.5;\n    stroke-linecap: round;\n    stroke-linejoin: round;\n  }\n\n  :where(#distance-tool) .explanation-toggle.active .icon {\n    transform: rotate(180deg);\n  }\n\n  :where(#distance-tool) .explanation-content {\n    display: none;\n    border: 1px solid #222;\n    border-top: none;\n    padding: 18px;\n    background: black;\n    color: white;\n    line-height: 1.6;\n  }\n\n  :where(#distance-tool) .explanation-content.open {\n    display: block;\n  }\n\n  :where(#distance-tool) .explanation-content h2 {\n    margin: 0 0 12px 0;\n    font-size: 24px;\n    color: #f5f5f5;\n  }\n\n  :where(#distance-tool) .explanation-content h3 {\n    margin: 22px 0 10px 0;\n    font-size: 20px;\n    color: #f5f5f5;\n  }\n\n  :where(#distance-tool) .explanation-content p {\n    margin: 0 0 14px 0;\n  }\n\n  :where(#distance-tool) .explanation-content a {\n    color: #ff66d9;\n  }\n\n  @media (max-width: 1024px) {\n    \/* Verberg onbeschikbare begeleiders als volledige tabelrij, zodat ze\n       nooit als lege kaart in het mobiele CSS-grid achterblijven. *\/\n    #distance-tool #results .table-container table tbody > tr.strike,\n    #distance-tool #results .table-container table > tr.strike,\n    #distance-tool #results .table-container tr.strike {\n      display: none !important;\n      visibility: collapse !important;\n      height: 0 !important;\n      min-height: 0 !important;\n      max-height: 0 !important;\n      margin: 0 !important;\n      padding: 0 !important;\n      border: 0 !important;\n      overflow: hidden !important;\n    }\n    #distance-tool #results .table-container tr.strike > td,\n    #distance-tool #results .table-container tr.strike > th {\n      display: none !important;\n      height: 0 !important;\n      min-height: 0 !important;\n      padding: 0 !important;\n      border: 0 !important;\n    }\n    :where(#distance-tool) .input-container {\n      gap: 10px;\n      margin-bottom: 16px;\n    }\n\n    :where(#distance-tool) .input-container input,\n    :where(#distance-tool) .input-container button {\n      height: 46px;\n      font-size: 16px;\n    }\n\n    :where(#distance-tool) .input-container input {\n      padding: 6px 12px;\n    }\n\n    :where(#distance-tool) .calculate-btn {\n      padding: 6px 18px;\n    }\n\n    :where(#distance-tool) .toggle-group {\n      gap: 8px;\n    }\n\n    :where(#distance-tool) .toggle-option {\n      min-width: 100px;\n      min-height: 36px;\n      padding: 6px 10px;\n      font-size: 14px;\n    }\n\n    :where(#distance-tool) .explanation-toggle {\n      font-size: 16px;\n    }\n  }\n\n  @media (max-width: 600px) {\n    :where(#distance-tool) { padding: 0 4px; }\n    :where(#distance-tool) .input-container { flex-wrap: nowrap; }\n    :where(#distance-tool) .input-container input { min-width: 0; width: 100%; }\n    :where(#distance-tool) .input-container button { flex: 0 0 auto; }\n    :where(#distance-tool) .table-container { overflow: visible; }\n    :where(#distance-tool) .table-container { min-width: 0; }\n    :where(#distance-tool) .table-container table {\n      display: block;\n      width: 100% !important;\n      border: 0 !important;\n    }\n\n    \/* Verberg de volledige tabelkoprij op mobiel, zodat die geen lege kaart vormt.\n       De koprij kan in deze HTML als eerste TR in TBODY staan, niet alleen in THEAD. *\/\n    :where(#distance-tool) #results .table-container table tr:has(th),\n    :where(#distance-tool) #results .table-container table thead tr,\n    :where(#distance-tool) #results .table-container table tbody > tr:first-child:not(.strike):has(td[colspan]) {\n      display: none !important;\n      height: 0 !important;\n      min-height: 0 !important;\n      max-height: 0 !important;\n      padding: 0 !important;\n      margin: 0 !important;\n      border: 0 !important;\n      background: transparent !important;\n      visibility: collapse !important;\n    }\n    \/* Strike-rows must not occupy a grid cell on mobile. *\/\n    #distance-tool #results .table-container tbody > tr.strike,\n    #distance-tool #results .table-container > table > tr.strike,\n    #distance-tool #results .table-container tr[data-mobile-unavailable=\"true\"] {\n      display: none !important;\n      height: 0 !important;\n      min-height: 0 !important;\n      max-height: 0 !important;\n      padding: 0 !important;\n      margin: 0 !important;\n      border: 0 !important;\n      background: transparent !important;\n    }\n    :where(#distance-tool) .table-container tbody {\n      display: grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 8px;\n      width: 100%;\n    }\n    :where(#distance-tool) .table-container thead,\n    :where(#distance-tool) .table-container th { display: none; }\n    :where(#distance-tool) .table-container tr {\n      display: grid;\n      grid-template-columns: minmax(0, 1fr) auto;\n      align-content: start;\n      min-width: 0;\n      width: auto !important;\n      margin: 0;\n      border: 1px solid #d8d8d8;\n      border-radius: 8px;\n      overflow: hidden;\n      background: #fff;\n      color: #222;\n      text-decoration: none;\n    }\n    :where(#distance-tool) .table-container td {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 5px;\n      min-width: 0;\n      text-align: right;\n      padding: 5px 6px !important;\n      border: 0 !important;\n      border-bottom: 1px solid #eee !important;\n      overflow-wrap: anywhere;\n      font-size: 12px;\n    }\n    :where(#distance-tool) .table-container td:first-child {\n      grid-column: 1;\n      grid-row: 1;\n      display: flex;\n      align-items: center;\n      justify-content: flex-start;\n      text-align: left;\n      background: #f8f5f8;\n      padding: 7px 6px !important;\n      border-bottom: 0 !important;\n    }\n    :where(#distance-tool) .table-container td:not(:first-child):not(:last-child) {\n      grid-column: 1 \/ -1;\n    }\n    :where(#distance-tool) .table-container td:last-child {\n      grid-column: 2;\n      grid-row: 1;\n      display: flex;\n      align-items: center;\n      justify-content: flex-end;\n      padding: 5px 5px !important;\n      border-bottom: 0 !important;\n      background: #f8f5f8;\n    }\n    :where(#distance-tool) .table-container td:not(:first-child):not(:last-child)::before {\n      content: attr(data-label);\n      flex: 0 0 36%;\n      max-width: 36%;\n      font-weight: 700;\n      text-align: left;\n      color: #555;\n    }\n    :where(#distance-tool) .table-container td:first-child::before,\n    :where(#distance-tool) .table-container td:last-child::before { display: none; }\n    :where(#distance-tool) .person-name { font-size: 15px; line-height: 1.15; overflow-wrap: normal; }\n    \/* Houd namen op mobiel zwart voor voldoende contrast, ook als ze klikbaar zijn. *\/\n    :where(#distance-tool) .person-profile-link,\n    :where(#distance-tool) .location-page-link { color: #000 !important; }\n    :where(#distance-tool) .person-row { gap: 6px; }\n    :where(#distance-tool) .action-link { min-height: 29px; padding: 5px 6px; font-size: 11px; }\n    :where(#distance-tool) .table-container td .action-link { margin: 0; }\n\n    :where(#distance-tool) .input-container {\n      gap: 8px;\n      margin-bottom: 14px;\n    }\n\n    :where(#distance-tool) .input-container input,\n    :where(#distance-tool) .input-container button {\n      height: 42px;\n      font-size: 15px;\n    }\n\n    :where(#distance-tool) .input-container input {\n      padding: 6px 10px;\n      min-width: 0;\n    }\n\n    :where(#distance-tool) .calculate-btn {\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      padding: 6px 14px;\n      line-height: 1.2;\n      text-align: center;\n    }\n\n    :where(#distance-tool) .toggle-group {\n      gap: 6px;\n    }\n\n    :where(#distance-tool) .toggle-option {\n      min-width: 88px;\n      min-height: 34px;\n      padding: 6px 9px;\n      font-size: 13px;\n    }\n\n    :where(#distance-tool) .toggle-label {\n      font-size: 15px;\n    }\n\n    :where(#distance-tool) .explanation-content {\n      padding: 14px;\n    }\n\n    :where(#distance-tool) .explanation-content h2 {\n      font-size: 21px;\n    }\n\n    :where(#distance-tool) .explanation-content h3 {\n      font-size: 18px;\n    }\n  }\n<\/style>\n\n<div id=\"distance-tool\">\n  <div class=\"input-container\">\n    <label for=\"startLocation\" style=\"display:none;\">Startlocatie<\/label>\n    <input type=\"text\" id=\"startLocation\" placeholder=\"Bijv. Amsterdam\" aria-label=\"Startlocatie\">\n    <button id=\"calculateBtn\" class=\"calculate-btn\" type=\"button\">Bereken<\/button>\n  <\/div>\n\n  <div class=\"content-container\">\n    <div class=\"left-column\">\n      <div class=\"person-controls\">\n        <div class=\"toggle-label\">Aantal personen:<\/div>\n        <div class=\"toggle-group\" id=\"personCountGroup\">\n          <input type=\"radio\" name=\"personCount\" id=\"persons1\" value=\"1\" checked>\n          <label class=\"toggle-option\" for=\"persons1\">E\u00e9n<\/label>\n\n          <input type=\"radio\" name=\"personCount\" id=\"persons2\" value=\"2\">\n          <label class=\"toggle-option\" for=\"persons2\">Twee<\/label>\n\n          <input type=\"radio\" name=\"personCount\" id=\"persons3\" value=\"3\">\n          <label class=\"toggle-option\" for=\"persons3\">Drie<\/label>\n        <\/div>\n      <\/div>\n\n      <div id=\"results\"><\/div>\n    <\/div>\n\n    <div class=\"right-column\">\n      <div class=\"map-controls\">\n        <div class=\"toggle-label\">Kaartweergave:<\/div>\n        <div class=\"toggle-group\" id=\"sessionTypeGroup\">\n          <input type=\"radio\" name=\"sessionType\" id=\"mapOwn\" value=\"own\" checked>\n          <label class=\"toggle-option\" for=\"mapOwn\">Eigen locatie<\/label>\n\n          <input type=\"radio\" name=\"sessionType\" id=\"mapLocation\" value=\"location\">\n          <label class=\"toggle-option\" for=\"mapLocation\">Triptherapie locatie<\/label>\n        <\/div>\n      <\/div>\n\n      <div id=\"map\"><\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"explanation-row\">\n    <button id=\"explanationToggle\" class=\"explanation-toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"explanationContent\">\n      <span>Uitleg gebruik rekentool<\/span>\n      <span class=\"icon\" aria-hidden=\"true\">\n        <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\n      <\/span>\n    <\/button>\n\n    <div id=\"explanationContent\" class=\"explanation-content\">\n      <h3 id=\"uitleg-van-de-keuzehulp\">Uitleg van de Triptherapie-keuzehulp<\/h3>\n      <p>Deze keuzehulp vergelijkt sessies met een begeleider op je eigen locatie met sessies op een vaste Triptherapie-locatie. Je ziet indicatieve prijzen en, na invoer van een startlocatie, de bijbehorende afstanden en reistijden. De uitkomsten helpen opties vergelijken, maar vormen geen bevestiging van beschikbaarheid of een reservering.<\/p>\n\n      <h3 id=\"startlocatie-en-berekening\">Startlocatie en berekening<\/h3>\n      <p>Vul bovenaan een plaats of adres in en kies <strong>Bereken<\/strong>. De tool gebruikt de startlocatie om reisafstand en reistijd te berekenen. Zonder startlocatie worden de opties en basisprijzen getoond, maar ontbreken de locatiegebonden reisgegevens.<\/p>\n      <p>Bij een sessie op je eigen locatie worden de reiskosten van de begeleider meegenomen in het totaal. De berekening gebruikt de ingestelde retourafstand en retourreistijd, met de vrije marges en tarieven die in de configuratie staan. Bij een vaste Triptherapie-locatie worden afstand en reistijd vanaf je startlocatie getoond; er worden geen reiskosten voor een begeleider aan de locatieprijs toegevoegd.<\/p>\n\n      <h3 id=\"aantal-personen\">Aantal personen en prijs<\/h3>\n      <p>Kies \u00e9\u00e9n, twee of drie personen. Voor \u00e9\u00e9n persoon geldt de basisprijs. Voor twee personen wordt \u20ac 500 toegevoegd en voor drie personen in totaal \u20ac 1.000. De tabellen en totaalprijzen worden aangepast aan de gekozen groepsgrootte. De actuele basisprijzen staan in de configuratie van de tool.<\/p>\n\n      <h3 id=\"begeleiders-op-eigen-locatie\">Begeleider op je eigen locatie<\/h3>\n      <p>Deze tabel vergelijkt begeleiders die naar een geschikte locatie van de klant reizen, bijvoorbeeld een woning of accommodatie. Na berekening zie je de relevante reisgegevens, reiskosten en totaalprijs. De kleur of opmaak geeft aan hoe de berekende reistijd zich verhoudt tot de ingestelde maximale reistijd van de begeleider. Een oranje markering duidt op de ingestelde extra marge; doorgestreepte rode tekst geeft aan dat de maximale reistijd ruimer wordt overschreden. Dit is een praktische indicatie, geen live bevestiging van beschikbaarheid.<\/p>\n      <p>De namen van begeleiders kunnen naar hun profielpagina linken. Afhankelijk van de beschikbare gegevens zijn er ook links naar recensies en reserveren. Gebruik de reserveringslink om verder te gaan met boeken.<\/p>\n\n      <h3 id=\"vaste-triptherapie-locaties\">Vaste Triptherapie-locaties<\/h3>\n      <p>Deze tabel vergelijkt sessies op vaste locaties van Triptherapie. Na invoer van een startlocatie zie je de afstand en reistijd naar de locatie en de prijs voor het gekozen aantal personen. Klik op een locatienaam voor de informatiepagina. Gebruik de reserveringslink om naar de bijbehorende boekingsmogelijkheid te gaan.<\/p>\n\n      <h3 id=\"kaartweergave\">Kaartweergave<\/h3>\n      <p>Kies <strong>Eigen locatie<\/strong> om de begeleiders op de kaart te bekijken, of <strong>Triptherapie locatie<\/strong> om de vaste locaties te bekijken. Als een startlocatie is ingevoerd en de berekening is uitgevoerd, kan de kaart ook routes tonen. De keuze verandert de kaartweergave; beide tabellen blijven zichtbaar.<\/p>\n\n      <h3 id=\"begeleiders-en-links\">Begeleiders en bijbehorende links<\/h3>\n      <div id=\"explanationGuidesList\"><\/div>\n\n      <h3 id=\"locaties-en-links\">Locaties en bijbehorende links<\/h3>\n      <div id=\"explanationLocationsList\"><\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script src=\"https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyCi5hCWfsu72vYKb5s0C5_1yxOYxLBVh8E&callback=initMap&loading=async\" async defer><\/script>\n\n<script>\n  \/* =========================================================================\n   * CONFIGURATIE\n   * Alles wat je regelmatig wilt aanpassen staat hieronder. De rest van de\n   * code leest deze gegevens uit en hoeft niet aangepast te worden.\n   * ========================================================================= *\/\n  const CONFIG = {\n    \/\/ Bedrag dat wordt toegevoegd aan de basisprijs per extra persoon\n    \/\/ (bij 2 personen +1x dit bedrag, bij 3 personen +2x dit bedrag).\n    extraPersonFee: 500,\n\n    \/\/ Wachttijd in milliseconden na de laatste toetsaanslag voordat er\n    \/\/ automatisch wordt berekend. Enter en de knop Bereken werken direct.\n    autoCalculateDelay: 5000,\n\n    \/\/ Reiskosten worden berekend over de RETOUR (heen + terug).\n    \/\/ Aantal retour-reisminuten dat gratis is. Retourreistijd boven dit aantal\n    \/\/ minuten kost CONFIG.travelCostPerMinute euro per minuut.\n    travelCostFreeMinutes: 20,\n    \/\/ Prijs per minuut boven de vrije retour-reistijd.\n    travelCostPerMinute: 0.75,\n\n    \/\/ Aantal retour-kilometers dat gratis is. Retourafstand boven dit aantal\n    \/\/ kilometers kost CONFIG.travelCostPerKm euro per kilometer.\n    travelCostFreeKm: 20,\n    \/\/ Prijs per kilometer boven de vrije retour-afstand.\n    travelCostPerKm: 0.4,\n\n    \/\/ Extra marge in minuten: een begeleider die net buiten zijn maxTravelTime\n    \/\/ valt (maar binnen maxTravelTime + deze marge) wordt nog getoond, in het oranje.\n    orangeBufferMinutes: 30,\n\n    \/\/ Begeleiders voor sessies op de eigen locatie van de klant.\n    \/\/ Een begeleider toevoegen: voeg een nieuw object toe aan deze lijst.\n    \/\/ Een begeleider verwijderen: verwijder het bijbehorende object.\n    \/\/\n    \/\/   name          - naam van de begeleider (moet uniek zijn)\n    \/\/   address, city - adres waarvandaan de reisafstand wordt berekend\n    \/\/   basePrice     - startprijs voor 1 persoon (exclusief reiskosten)\n    \/\/   color         - kleur van de marker\/route op de kaart (hex)\n    \/\/   maxTravelTime - maximale reistijd in minuten waarbinnen deze begeleider\n    \/\/                   nog beschikbaar is (daarna wordt hij doorgestreept getoond)\n    \/\/   profileUrl \/ reviewUrl \/ bookingUrl - links in de tabel-dropdown en de uitleg\n    \/\/                   (laat een veld weg of leeg als er geen link is)\n    guides: [\n      {\n        name: \"Marcel\", address: \"2204 CB Noordwijk\", city: \"Noordwijk\",\n        basePrice: 850, color: \"#8B0000\", maxTravelTime: 150,\n        profileUrl: \"https:\/\/triptherapie.nl\/personeel\/marcel\/\",\n        reviewUrl: \"https:\/\/trip-forum.nl\/recensie-truffel-therapie-marcel\/\",\n        bookingUrl: \"https:\/\/triptherapie.nl\/reserveringen\/book-marcel-own-location\/\"\n      },\n      {\n        name: \"Reineke\", address: \"3142 CA Maassluis\", city: \"Maassluis\",\n        basePrice: 850, color: \"#006400\", maxTravelTime: 45,\n        profileUrl: \"https:\/\/triptherapie.nl\/personeel\/reineke\/\",\n        reviewUrl: \"https:\/\/trip-forum.nl\/ervaringen-truffel-reineke\/\",\n        bookingUrl: \"https:\/\/triptherapie.nl\/reserveringen\/agenda-reineke\/\"\n      },\n      {\n        name: \"Sascha\", address: \"1404 HC Bussum\", city: \"Bussum\",\n        basePrice: 850, color: \"#006666\", maxTravelTime: 60,\n        profileUrl: \"https:\/\/triptherapie.nl\/personeel\/sascha\/\",\n        reviewUrl: \"https:\/\/trip-forum.nl\/recensies-sascha\/\",\n        bookingUrl: \"https:\/\/triptherapie.nl\/reserveringen\/book-psychedelic-session-own-location-sascha\/\"\n      },\n      {\n        name: \"Gijs\", address: \"5231 EK Den Bosch\", city: \"Den Bosch\",\n        basePrice: 850, color: \"#8B4513\", maxTravelTime: 45,\n        profileUrl: \"https:\/\/triptherapie.nl\/personeel\/gijs\/\",\n        reviewUrl: \"https:\/\/trip-forum.nl\/recensies-gijs\/\",\n        bookingUrl: \"https:\/\/triptherapie.nl\/reserveringen\/book-psychedelic-session-own-location-gijs\/\"\n      },\n      {\n        name: \"Ronald\", address: \"5554 SH Valkenswaard\", city: \"Valkenswaard\",\n        basePrice: 950, color: \"#4B0082\", maxTravelTime: 45,\n        profileUrl: \"https:\/\/triptherapie.nl\/personeel\/ronald\/\",\n        reviewUrl: \"https:\/\/trip-forum.nl\/recensies-ronald\/\",\n        bookingUrl: \"https:\/\/triptherapie.nl\/reserveringen\/book-psychedelic-session-own-location-ronald\/\"\n      },\n      {\n        name: \"Janneke\", address: \"2204 CB Noordwijk\", city: \"Noordwijk\",\n        basePrice: 750, color: \"#00008B\", maxTravelTime: 30,\n        profileUrl: \"https:\/\/triptherapie.nl\/personeel\/janneke\/\",\n        reviewUrl: \"https:\/\/trip-forum.nl\/review-janneke\/\",\n        bookingUrl: \"https:\/\/triptherapie.nl\/reserveringen\/book-janneke-own-location\/\"\n      },\n      {\n        name: \"Elke\", address: \"4554 AN Westdorpe\", city: \"Westdorpe\",\n        basePrice: 950, color: \"#07708B\", maxTravelTime: 180,\n        profileUrl: \"https:\/\/triptherapie.nl\/personeel\/elke\/\",\n        reviewUrl: \"https:\/\/trip-forum.nl\/review-elke\/\",\n        bookingUrl: \"https:\/\/triptherapie.nl\/reserveringen\/agenda-elke\/\"\n      }\n    ],\n\n    \/\/ Vaste Triptherapie-locaties waar de klant naartoe reist.\n    \/\/ Een locatie toevoegen: voeg een nieuw object toe aan deze lijst.\n    \/\/ Een locatie verwijderen: verwijder het bijbehorende object.\n    \/\/\n    \/\/   name              - naam van de locatie\n    \/\/   address, city     - adres van de locatie\n    \/\/   basePrice         - totaalprijs voor 1 persoon\n    \/\/   color             - kleur van de marker\/route op de kaart (hex)\n    \/\/   infoUrl \/ bookingUrl - links in de tabel-dropdown en de uitleg\n    locations: [\n      {\n        name: \"De Bedding\", address: \"5231 EK Den Bosch\", city: \"Den Bosch\",\n        basePrice: 850, color: \"#b20091\",\n        infoUrl: \"https:\/\/triptherapie.nl\/locatie\/bedding-den-bosch\/\",\n        bookingUrl: \"https:\/\/triptherapie.nl\/reserveringen\/book-psychedelic-session-own-location-gijs\/\"\n      },\n      {\n        name: \"Sancta Psychedelica\", address: \"2204 CB Noordwijk\", city: \"Noordwijk\",\n        basePrice: 1050, color: \"#c2185b\",\n        infoUrl: \"https:\/\/triptherapie.nl\/locatie\/sancta-psychedelica-noordwijk\/\",\n        bookingUrl: \"https:\/\/triptherapie.nl\/reserveringen\/sancta-psychedelica-noordwijk-reserveren\/\"\n      }\n      \/\/ Psychedelic Loft (Schiedam) is verwijderd. Om een locatie terug te\n      \/\/ zetten, voeg gewoon een nieuw object met dezelfde velden toe.\n    ]\n  };\n  \/* ========================= EINDE CONFIGURATIE ========================= *\/\n\n  let destinations = [];\n  let locations = [];\n  let visibleGuideNames = null;\n\n  function getPersonCount() {\n    const checked = document.querySelector('#distance-tool input[name=\"personCount\"]:checked');\n    const value = checked ? parseInt(checked.value, 10) : 1;\n    return [1, 2, 3].includes(value) ? value : 1;\n  }\n\n  function getExtraPersonsPrice() {\n    return (getPersonCount() - 1) * CONFIG.extraPersonFee;\n  }\n\n  function getSessionType() {\n    const checked = document.querySelector('#distance-tool input[name=\"sessionType\"]:checked');\n    return checked ? checked.value : \"own\";\n  }\n\n  function rebuildPricingData() {\n    const extra = getExtraPersonsPrice();\n\n    destinations = CONFIG.guides.map(item => ({\n      ...item,\n      addition: item.basePrice + extra\n    }));\n\n    locations = CONFIG.locations.map(item => ({\n      ...item,\n      price: item.basePrice + extra\n    }));\n\n    const urlParams = new URLSearchParams(window.location.search);\n    const guidesParam = urlParams.getAll(\"guide\");\n\n    if (guidesParam.length > 0) {\n      const guideFilter = [];\n      guidesParam.forEach(p => p.split(\",\").forEach(g => guideFilter.push(g.trim().toLowerCase())));\n\n      destinations = destinations.filter(dest =>\n        guideFilter.includes(dest.name.toLowerCase())\n      );\n    }\n  }\n\n  rebuildPricingData();\n\n  let map;\n  let directionsService;\n  let directionsRenderers = [];\n  let geocoder;\n  let markers = [];\n  let markerBounds;\n  let overlay;\n  let alternateTick = 0;\n  let activeDropdown = null;\n  let hideDropdownTimer = null;\n\n  \/\/ Geocode-cache: elk adres wordt maar een keer opgezocht bij Google.\n  const geocodeCache = {};\n\n  \/\/ generation: verandert bij elke reset van markers of routes, zodat late\n  \/\/ antwoorden van een oudere actie niets meer tekenen.\n  let generation = 0;\n\n  \/\/ searchRun: verandert bij elke nieuwe zoekopdracht, zodat late antwoorden\n  \/\/ van een oudere zoekopdracht de tabel niet meer overschrijven.\n  let searchRun = 0;\n\n  function geocodeCached(address, callback) {\n    if (geocodeCache[address]) {\n      callback(geocodeCache[address], \"OK\");\n      return;\n    }\n    geocoder.geocode({ address: address }, function(results, status) {\n      if (status === \"OK\") geocodeCache[address] = results;\n      callback(results, status);\n    });\n  }\n\n  function clearDirections() {\n    generation++;\n    directionsRenderers.forEach(r => r.setMap(null));\n    directionsRenderers = [];\n  }\n\n  function clearMarkers() {\n    generation++;\n    markers.forEach(m => m.setMap(null));\n    markers = [];\n  }\n\n  function escapeHtml(text) {\n    return String(text)\n      .replaceAll(\"&\", \"&amp;\")\n      .replaceAll(\"<\", \"&lt;\")\n      .replaceAll(\">\", \"&gt;\")\n      .replaceAll('\"', \"&quot;\")\n      .replaceAll(\"'\", \"&#039;\");\n  }\n\n  function getActionLink(url, label, primary) {\n    if (!url) return \"\";\n    return \"<a class='action-link\" + (primary ? \" primary\" : \"\") + \"' href='\" + url + \"' target='_blank' rel='noopener'>\" + label + \"<\/a>\";\n  }\n\n  \/\/ Begeleidernaam is klikbaar en opent het profiel in een nieuw tabblad.\n  \/\/ De profiel-URL wordt uit de configuratie gehaald, zodat links centraal beheerd blijven.\n  function getDropdownHTML(name) {\n    const guide = CONFIG.guides.find(g => g.name === name);\n    const safeName = escapeHtml(name);\n    if (guide && guide.profileUrl) {\n      return \"<a class='person-name person-profile-link' href='\" + escapeHtml(guide.profileUrl) + \"' target='_blank' rel='noopener noreferrer' aria-label='Bekijk profiel van \" + safeName + \"'>\" + safeName + \"<\/a>\";\n    }\n    return \"<span class='person-name'>\" + safeName + \"<\/span>\";\n  }\n\n  \/\/ Locatienaam is klikbaar en opent de bijbehorende locatiepagina.\n  function getLocationDropdownHTML(name) {\n    const location = CONFIG.locations.find(l => l.name === name);\n    const safeName = escapeHtml(name);\n    if (location && location.infoUrl) {\n      return \"<a class='person-name location-page-link' href='\" + escapeHtml(location.infoUrl) + \"' target='_blank' rel='noopener noreferrer' aria-label='Bekijk locatiepagina van \" + safeName + \"'>\" + safeName + \"<\/a>\";\n    }\n    return \"<span class='person-name'>\" + safeName + \"<\/span>\";\n  }\n\n  function getGuideBookingCell(name) {\n    const guide = CONFIG.guides.find(g => g.name === name);\n    return guide && guide.bookingUrl ? getActionLink(guide.bookingUrl, \"Reserveren\", true) : \"\";\n  }\n\n  function getLocationBookingCell(name) {\n    const location = CONFIG.locations.find(l => l.name === name);\n    return location && location.bookingUrl ? getActionLink(location.bookingUrl, \"Reserveren\", true) : \"\";\n  }\n\n  \/\/ Vult de Uitleg-sectie onderaan automatisch met alle begeleiders en\n  \/\/ locaties uit CONFIG, zodat je die tekst niet apart hoeft bij te werken.\n  function renderExplanationLists() {\n    const guidesContainer = document.getElementById(\"explanationGuidesList\");\n    if (guidesContainer) {\n      guidesContainer.innerHTML = CONFIG.guides.map(guide => {\n        let links = \"\";\n        if (guide.profileUrl) links += \"<a href='\" + guide.profileUrl + \"' target='_blank' rel='noopener'>Meer informatie over \" + escapeHtml(guide.name) + \"<\/a><br>\";\n        if (guide.reviewUrl) links += \"<a href='\" + guide.reviewUrl + \"' target='_blank' rel='noopener'>Recensies over \" + escapeHtml(guide.name) + \"<\/a><br>\";\n        if (guide.bookingUrl) links += \"<a href='\" + guide.bookingUrl + \"' target='_blank' rel='noopener'>Reserveren met \" + escapeHtml(guide.name) + \" op eigen locatie<\/a>\";\n        return \"<p><strong>\" + escapeHtml(guide.name) + \"<\/strong><br>\" + links + \"<\/p>\";\n      }).join(\"\");\n    }\n\n    const locationsContainer = document.getElementById(\"explanationLocationsList\");\n    if (locationsContainer) {\n      locationsContainer.innerHTML = CONFIG.locations.map(location => {\n        let links = \"\";\n        if (location.infoUrl) links += \"<a href='\" + location.infoUrl + \"' target='_blank' rel='noopener'>Meer informatie over \" + escapeHtml(location.name) + \"<\/a><br>\";\n        if (location.bookingUrl) links += \"<a href='\" + location.bookingUrl + \"' target='_blank' rel='noopener'>Reserveren bij \" + escapeHtml(location.name) + \"<\/a>\";\n        return \"<p><strong>\" + escapeHtml(location.name) + \"<\/strong><br>\" + links + \"<\/p>\";\n      }).join(\"\");\n    }\n  }\n\n  function showGuidesTable() {\n    const hasInput = document.getElementById(\"startLocation\").value.trim() !== \"\";\n    let html = '<div class=\"table-container\">';\n    html += \"<table style='width:100%; border-collapse:collapse;' border='1' cellpadding='5'>\";\n    html += \"<tr style='background: #000428; color: white;'>\";\n    html += \"<th>Begeleider<\/th>\";\n    html += hasInput ? \"<th>Afstand<\/th>\" : \"<th>Woonplaats<\/th>\";\n    if (hasInput) html += \"<th>Reis<\/th><th>Reistijd<\/th>\";\n    html += \"<th>Totaal<\/th><th>Reserveren<\/th>\";\n    html += \"<\/tr>\";\n\n    destinations.forEach(dest => {\n      html += \"<tr>\";\n      html += \"<td data-label='Begeleider'>\" + getDropdownHTML(dest.name) + \"<\/td>\";\n      html += \"<td data-label='Woonplaats'>\" + escapeHtml(dest.city) + \"<\/td>\";\n      if (hasInput) html += \"<td data-label='Reis'>\u20ac0<\/td><td data-label='Reistijd'>-<\/td>\";\n      html += \"<td data-label='Totaal'>\u20ac\" + dest.addition + \"<\/td>\";\n      html += \"<td data-label='Reserveren'>\" + getGuideBookingCell(dest.name) + \"<\/td>\";\n      html += \"<\/tr>\";\n    });\n\n    html += \"<\/table><\/div>\";\n    return html;\n  }\n\n  function showLocationsTable() {\n    let html = '<div class=\"table-container\">';\n    html += \"<table style='width:100%; border-collapse:collapse;' border='1' cellpadding='5'>\";\n    html += \"<tr style='background: #b20091; color: white;'>\";\n    html += \"<th>Onze locaties<\/th><th>Plaats<\/th><th>Totaal<\/th><th>Reserveren<\/th>\";\n    html += \"<\/tr>\";\n\n    locations.forEach(loc => {\n      html += \"<tr>\";\n      html += \"<td data-label='Locatie'>\" + getLocationDropdownHTML(loc.name) + \"<\/td>\";\n      html += \"<td data-label='Plaats'>\" + escapeHtml(loc.city) + \"<\/td>\";\n      html += \"<td data-label='Totaal'>\u20ac\" + loc.price + \"<\/td>\";\n      html += \"<td data-label='Reserveren'>\" + getLocationBookingCell(loc.name) + \"<\/td>\";\n      html += \"<\/tr>\";\n    });\n\n    html += \"<\/table><\/div>\";\n    return html;\n  }\n\n  function syncMapHeightToGuideTable() {\n    const tool = document.getElementById(\"distance-tool\");\n    const mapElement = document.getElementById(\"map\");\n    const leftColumn = tool ? tool.querySelector(\".left-column\") : null;\n    if (!mapElement || !leftColumn) return;\n\n    if (window.matchMedia(\"(min-width: 768px)\").matches) {\n      \/\/ Laat de kaart precies eindigen op de onderkant van de linkerkolom,\n      \/\/ inclusief zowel de begeleiderstabel als de tabel met locaties.\n      \/\/ De hoogte wordt gemeten vanaf de bovenkant van de kaart zelf.\n      const leftBottom = leftColumn.getBoundingClientRect().bottom;\n      const mapTop = mapElement.getBoundingClientRect().top;\n      const targetHeight = Math.round(leftBottom - mapTop);\n      mapElement.style.height = Math.max(240, targetHeight) + \"px\";\n    } else {\n      \/\/ Op mobiel staan de kolommen onder elkaar, dus behoud een vaste kaarthoogte.\n      mapElement.style.height = \"340px\";\n    }\n\n    if (map && window.google && google.maps && google.maps.event) {\n      google.maps.event.trigger(map, \"resize\");\n    }\n  }\n\n  function hideUnavailableRowsOnSmallScreens() {\n    const smallScreen = window.matchMedia(\"(max-width: 1024px)\").matches;\n    document.querySelectorAll(\"#distance-tool #results tr.strike\").forEach(row => {\n      \/\/ Op mobiel de hele rij uit de tabelstructuur halen. Alleen cellen\n      \/\/ verbergen laat in sommige browsers een lege grid-kaart achter.\n      if (smallScreen) {\n        row.setAttribute(\"data-mobile-unavailable\", \"true\");\n        row.style.setProperty(\"display\", \"none\", \"important\");\n        row.style.setProperty(\"height\", \"0\", \"important\");\n        row.style.setProperty(\"min-height\", \"0\", \"important\");\n        row.style.setProperty(\"border\", \"0\", \"important\");\n        row.style.setProperty(\"background\", \"transparent\", \"important\");\n        row.querySelectorAll(\"td, th\").forEach(cell => {\n          cell.style.setProperty(\"display\", \"none\", \"important\");\n          cell.style.setProperty(\"height\", \"0\", \"important\");\n          cell.style.setProperty(\"padding\", \"0\", \"important\");\n          cell.style.setProperty(\"border\", \"0\", \"important\");\n        });\n      } else {\n        row.removeAttribute(\"data-mobile-unavailable\");\n        [\"display\", \"height\", \"min-height\", \"border\", \"background\"].forEach(prop => row.style.removeProperty(prop));\n        row.querySelectorAll(\"td, th\").forEach(cell => {\n          [\"display\", \"height\", \"padding\", \"border\"].forEach(prop => cell.style.removeProperty(prop));\n        });\n      }\n    });\n  }\n\n  function showBothTables() {\n    rebuildPricingData();\n    visibleGuideNames = null;\n    document.getElementById(\"results\").innerHTML = showGuidesTable() + showLocationsTable();\n    initDropdowns();\n    hideUnavailableRowsOnSmallScreens();\n    requestAnimationFrame(syncMapHeightToGuideTable);\n  }\n\n  function addOriginMarker(originAddress) {\n    const gen = generation;\n\n    geocodeCached(originAddress, function(results, status) {\n      if (gen !== generation) return;\n\n      if (status === google.maps.GeocoderStatus.OK) {\n        const pos = results[0].geometry.location;\n        const marker = new google.maps.Marker({\n          map,\n          position: pos,\n          title: \"Startlocatie\",\n          icon: \"https:\/\/maps.google.com\/mapfiles\/ms\/icons\/blue-dot.png\"\n        });\n        marker.isRotatingMarker = false;\n        markers.push(marker);\n        markerBounds.extend(marker.getPosition());\n      }\n    });\n  }\n\n  function hexToRgb(hex) {\n    hex = (hex || \"\").replace(\/^#\/, \"\");\n    if (hex.length !== 6) return null;\n    const bigint = parseInt(hex, 16);\n    return { r: (bigint >> 16) & 255, g: (bigint >> 8) & 255, b: bigint & 255 };\n  }\n\n  function getAdjustedSVGIcon(markerLike, markerType) {\n    const color = markerLike.customColor || \"#8B0000\";\n    const rgb = hexToRgb(color);\n    if (!rgb) return null;\n\n    let width = 150;\n    let height = 28;\n    let radius = 5;\n\n    if (markerType === \"guide\") {\n      width = 60;\n      height = 20;\n      radius = 3;\n    }\n\n    const rgbaColor = `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, 1)`;\n    const svg = `<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"${width}\" height=\"${height}\" viewBox=\"0 0 ${width} ${height}\">\n      <rect x=\"0\" y=\"0\" width=\"${width}\" height=\"${height}\" rx=\"${radius}\" ry=\"${radius}\" fill=\"${rgbaColor}\"\/>\n    <\/svg>`;\n\n    return {\n      url: \"data:image\/svg+xml;charset=UTF-8,\" + encodeURIComponent(svg),\n      scaledSize: new google.maps.Size(width, height),\n      anchor: new google.maps.Point(width \/ 2, height \/ 2),\n      labelOrigin: new google.maps.Point(width \/ 2, height \/ 2)\n    };\n  }\n\n  function addNamedMarker(item, origin) {\n    const gen = generation;\n    const address = item.address + \", \" + item.city + \", Nederland\";\n    const markerType = locations.some(loc => loc.name === item.name) ? \"location\" : \"guide\";\n\n    geocodeCached(address, function(results, status) {\n      if (gen !== generation) return;\n\n      if (status === google.maps.GeocoderStatus.OK) {\n        const pos = results[0].geometry.location;\n\n        const marker = new google.maps.Marker({\n          map,\n          position: pos,\n          title: item.name,\n          icon: getAdjustedSVGIcon({ customColor: item.color }, markerType),\n          label: {\n            text: item.name,\n            color: \"white\",\n            fontSize: markerType === \"guide\" ? \"10px\" : \"11px\",\n            fontWeight: \"bold\"\n          }\n        });\n\n        marker.customColor = item.color;\n        marker.isRotatingMarker = true;\n        markers.push(marker);\n        markerBounds.extend(marker.getPosition());\n\n        marker.addListener(\"click\", function() {\n          const startLoc = document.getElementById(\"startLocation\").value.trim();\n          if (!startLoc) {\n            alert(\"Voer een startlocatie in om de route te tonen.\");\n            return;\n          }\n          drawRoute(startLoc, address, item.color);\n        });\n\n        if (origin) drawRoute(origin, address, item.color);\n      }\n    });\n  }\n\n  function showAllMarkers() {\n    rebuildPricingData();\n    clearMarkers();\n    clearDirections();\n    markerBounds = new google.maps.LatLngBounds();\n\n    const sessionType = getSessionType();\n    let items = sessionType === \"location\" ? locations : destinations;\n\n    if (sessionType === \"own\" && Array.isArray(visibleGuideNames)) {\n      items = items.filter(item => visibleGuideNames.includes(item.name));\n    }\n\n    items.forEach(item => addNamedMarker(item, null));\n  }\n\n  function alternateMarkerZIndex() {\n    if (!overlay || !overlay.getProjection()) return;\n\n    const rotatingMarkers = markers.filter(m => m.isRotatingMarker);\n    const n = rotatingMarkers.length;\n    if (n === 0) return;\n\n    const proj = overlay.getProjection();\n    const positions = rotatingMarkers.map(m => proj.fromLatLngToDivPixel(m.getPosition()));\n\n    const overlappingIndices = [];\n    for (let i = 0; i < n; i++) {\n      for (let j = i + 1; j < n; j++) {\n        const dx = positions[i].x - positions[j].x;\n        const dy = positions[i].y - positions[j].y;\n        const d = Math.sqrt(dx * dx + dy * dy);\n        if (d < 40) {\n          if (!overlappingIndices.includes(i)) overlappingIndices.push(i);\n          if (!overlappingIndices.includes(j)) overlappingIndices.push(j);\n        }\n      }\n    }\n\n    for (let i = 0; i < n; i++) {\n      if (!overlappingIndices.includes(i)) rotatingMarkers[i].setZIndex(100);\n    }\n\n    if (overlappingIndices.length > 0) {\n      const topPos = alternateTick % overlappingIndices.length;\n      overlappingIndices.forEach((markerIndex, posIndex) => {\n        rotatingMarkers[markerIndex].setZIndex(posIndex === topPos ? 200 : -1);\n      });\n      alternateTick++;\n    }\n  }\n\n  function getQueryParam(param) {\n    const urlParams = new URLSearchParams(window.location.search);\n    return urlParams.get(param);\n  }\n\n  function updateURLWithSearch(searchTerm) {\n    const url = new URL(window.location);\n    const params = new URLSearchParams(url.search);\n\n    if (searchTerm && searchTerm.trim() !== \"\") params.set(\"zoek\", searchTerm.trim());\n    else params.delete(\"zoek\");\n\n    url.search = params.toString();\n    history.replaceState(null, \"\", url.toString());\n  }\n\n  function isAddressInNetherlands(geocodeResult) {\n    if (!geocodeResult || !geocodeResult.address_components) return false;\n\n    const countryComponent = geocodeResult.address_components.find(component =>\n      component.types && component.types.includes(\"country\")\n    );\n\n    if (!countryComponent) return false;\n\n    const countryLong = (countryComponent.long_name || \"\").toLowerCase();\n    const countryShort = (countryComponent.short_name || \"\").toLowerCase();\n\n    return countryLong === \"netherlands\" || countryLong === \"nederland\" || countryShort === \"nl\";\n  }\n\n  function initMap() {\n    map = new google.maps.Map(document.getElementById(\"map\"), {\n      center: { lat: 52.1326, lng: 5.2913 },\n      zoom: 7,\n      mapTypeControl: false,\n      streetViewControl: false,\n      styles: [{ featureType: \"poi\", elementType: \"all\", stylers: [{ visibility: \"off\" }] }]\n    });\n\n    directionsService = new google.maps.DirectionsService();\n    geocoder = new google.maps.Geocoder();\n    markerBounds = new google.maps.LatLngBounds();\n\n    overlay = new google.maps.OverlayView();\n    overlay.onAdd = function() {};\n    overlay.draw = function() {};\n    overlay.onRemove = function() {};\n    overlay.setMap(map);\n\n    setInterval(alternateMarkerZIndex, 5000);\n\n    const zoekterm = getQueryParam(\"zoek\");\n    if (zoekterm) {\n      document.getElementById(\"startLocation\").value = zoekterm;\n      calculateDistances();\n    } else {\n      showBothTables();\n      showAllMarkers();\n    }\n  }\n\n  function drawRoute(originAddress, destAddress, color) {\n    const gen = generation;\n\n    geocodeCached(originAddress, function(resultsOrigin, statusOrigin) {\n      if (gen !== generation) return;\n      if (statusOrigin !== google.maps.GeocoderStatus.OK) return;\n\n      const originLocation = resultsOrigin[0].geometry.location;\n\n      geocodeCached(destAddress, function(resultsDest, statusDest) {\n        if (gen !== generation) return;\n        if (statusDest !== google.maps.GeocoderStatus.OK) return;\n\n        const destLocation = resultsDest[0].geometry.location;\n\n        directionsService.route({\n          origin: originLocation,\n          destination: destLocation,\n          travelMode: google.maps.TravelMode.DRIVING\n        }, function(response, status) {\n          if (gen !== generation) return;\n\n          if (status === \"OK\") {\n            const renderer = new google.maps.DirectionsRenderer({\n              suppressMarkers: true,\n              preserveViewport: true,\n              polylineOptions: { strokeColor: color, strokeOpacity: 0.5, strokeWeight: 5 }\n            });\n            renderer.setMap(map);\n            renderer.setDirections(response);\n            directionsRenderers.push(renderer);\n          }\n        });\n      });\n    });\n  }\n\n  function renderOutsideNetherlandsTables() {\n    rebuildPricingData();\n    visibleGuideNames = [];\n\n    let html = \"\";\n    html += '<div class=\"table-container\">';\n    html += \"<table style='width:100%; border-collapse:collapse;' border='1' cellpadding='5'>\";\n    html += \"<tr style='background: #000428; color: white;'>\";\n    html += \"<th>Begeleider<\/th><th>Afstand<\/th><th>Reis<\/th><th>Reistijd<\/th><th>Totaal<\/th><th>Reserveren<\/th>\";\n    html += \"<\/tr>\";\n\n    destinations.forEach(dest => {\n      html += \"<tr class='strike'>\";\n      html += \"<td data-label='Begeleider'>\" + escapeHtml(dest.name) + \"<\/td>\";\n      html += \"<td data-label='Afstand'><\/td><td data-label='Reis'><\/td><td data-label='Reistijd'><\/td><td data-label='Totaal'><\/td><td data-label='Reserveren'><\/td>\";\n      html += \"<\/tr>\";\n    });\n\n    html += \"<\/table><\/div>\";\n    html += showLocationsTable();\n\n    document.getElementById(\"results\").innerHTML = html;\n    initDropdowns();\n    requestAnimationFrame(syncMapHeightToGuideTable);\n  }\n\n  function calculateDistances() {\n    const run = ++searchRun;\n\n    rebuildPricingData();\n\n    const origin = document.getElementById(\"startLocation\").value.trim();\n    const sessionType = getSessionType();\n    updateURLWithSearch(origin);\n\n    if (!origin) {\n      visibleGuideNames = null;\n      showBothTables();\n      showAllMarkers();\n      return;\n    }\n\n    geocodeCached(origin, function(originResults, originStatus) {\n      if (run !== searchRun) return;\n\n      if (originStatus !== google.maps.GeocoderStatus.OK || !originResults || !originResults[0]) {\n        alert(\"De ingevoerde locatie kon niet goed worden gevonden.\");\n        visibleGuideNames = null;\n        showBothTables();\n        showAllMarkers();\n        return;\n      }\n\n      const originInNetherlands = isAddressInNetherlands(originResults[0]);\n\n      if (!originInNetherlands) {\n        clearDirections();\n        renderOutsideNetherlandsTables();\n        showAllMarkers();\n        return;\n      }\n\n      clearDirections();\n      clearMarkers();\n      markerBounds = new google.maps.LatLngBounds();\n      addOriginMarker(origin);\n\n      const guideAddresses = destinations.map(d => d.address + \", \" + d.city + \", Nederland\");\n      const locationAddresses = locations.map(l => l.address + \", \" + l.city + \", Nederland\");\n      const service = new google.maps.DistanceMatrixService();\n\n      service.getDistanceMatrix({\n        origins: [origin],\n        destinations: guideAddresses,\n        travelMode: google.maps.TravelMode.DRIVING,\n        unitSystem: google.maps.UnitSystem.METRIC\n      }, function(guidesResponse, guidesStatus) {\n        if (run !== searchRun) return;\n\n        if (guidesStatus !== google.maps.DistanceMatrixStatus.OK) {\n          alert(\"Er is een fout opgetreden: \" + guidesStatus);\n          visibleGuideNames = null;\n          showBothTables();\n          return;\n        }\n\n        service.getDistanceMatrix({\n          origins: [origin],\n          destinations: locationAddresses,\n          travelMode: google.maps.TravelMode.DRIVING,\n          unitSystem: google.maps.UnitSystem.METRIC\n        }, function(locationsResponse, locationsStatus) {\n          if (run !== searchRun) return;\n\n          if (locationsStatus !== google.maps.DistanceMatrixStatus.OK) {\n            alert(\"Er is een fout opgetreden: \" + locationsStatus);\n            visibleGuideNames = null;\n            showBothTables();\n            return;\n          }\n\n          const guideResultsArray = [];\n          const guideElements = guidesResponse.rows[0].elements;\n\n          for (let i = 0; i < guideElements.length; i++) {\n            const element = guideElements[i];\n            const item = destinations[i];\n\n            if (element.status === \"OK\") {\n              const distanceMeters = element.distance.value;\n              const oneWayKm = distanceMeters \/ 1000;\n              const oneWayDisplay = Math.round(oneWayKm);\n              const travelTimeMinutes = element.duration.value \/ 60;\n\n              \/\/ Retour (heen + terug)\n              const roundTripKm = oneWayKm * 2;\n              const roundTripMinutes = travelTimeMinutes * 2;\n\n              \/\/ Afstandscomponent: retourkilometers boven de vrije grens\n              const billableKm = Math.max(0, roundTripKm - CONFIG.travelCostFreeKm);\n              const distanceCost = billableKm * CONFIG.travelCostPerKm;\n\n              \/\/ Tijdscomponent: retourminuten boven de vrije grens\n              const billableMinutes = Math.max(0, roundTripMinutes - CONFIG.travelCostFreeMinutes);\n              const timeCost = billableMinutes * CONFIG.travelCostPerMinute;\n\n              let travelCostCalculated = Math.round(distanceCost + timeCost);\n\n              const maxTime = item.maxTravelTime;\n\n              if (travelTimeMinutes <= maxTime) {\n                guideResultsArray.push({\n                  name: item.name,\n                  distance: oneWayDisplay,\n                  travelCost: travelCostCalculated,\n                  totalPrice: travelCostCalculated + item.addition,\n                  travelTime: travelTimeMinutes,\n                  strike: false,\n                  orange: false,\n                  group: 1,\n                  sortPrice: travelCostCalculated + item.addition\n                });\n              } else if (travelTimeMinutes <= maxTime + CONFIG.orangeBufferMinutes) {\n                guideResultsArray.push({\n                  name: item.name,\n                  distance: oneWayDisplay,\n                  travelCost: travelCostCalculated,\n                  totalPrice: travelCostCalculated + item.addition,\n                  travelTime: travelTimeMinutes,\n                  strike: false,\n                  orange: true,\n                  group: 2,\n                  sortPrice: travelCostCalculated + item.addition\n                });\n              } else {\n                guideResultsArray.push({\n                  name: item.name,\n                  distance: oneWayDisplay,\n                  travelCost: \"-\",\n                  totalPrice: \"-\",\n                  travelTime: travelTimeMinutes,\n                  strike: true,\n                  orange: false,\n                  group: 3,\n                  sortPrice: Infinity\n                });\n              }\n            } else {\n              guideResultsArray.push({\n                name: item.name,\n                distance: \"-\",\n                travelCost: \"-\",\n                totalPrice: \"-\",\n                travelTime: \"-\",\n                strike: true,\n                orange: false,\n                group: 3,\n                sortPrice: Infinity\n              });\n            }\n          }\n\n          guideResultsArray.sort((a, b) => (a.group !== b.group) ? (a.group - b.group) : (a.sortPrice - b.sortPrice));\n\n          visibleGuideNames = guideResultsArray\n            .filter(item => !item.strike)\n            .map(item => item.name);\n\n          const locationResultsArray = [];\n          const locationElements = locationsResponse.rows[0].elements;\n\n          for (let i = 0; i < locationElements.length; i++) {\n            const element = locationElements[i];\n            const item = locations[i];\n\n            if (element.status === \"OK\") {\n              const oneWayKm = element.distance.value \/ 1000;\n              const oneWayDisplay = Math.round(oneWayKm);\n              const travelTimeMinutes = element.duration.value \/ 60;\n\n              locationResultsArray.push({\n                name: item.name,\n                city: item.city,\n                distance: oneWayDisplay,\n                travelTime: travelTimeMinutes,\n                totalPrice: item.price,\n                sortPrice: item.price\n              });\n            }\n          }\n\n          locationResultsArray.sort((a, b) => a.sortPrice - b.sortPrice);\n\n          let html = \"\";\n\n          html += '<div class=\"table-container\">';\n          html += \"<table style='width:100%; border-collapse:collapse;' border='1' cellpadding='5'>\";\n          html += \"<tr style='background: #000428; color: white;'>\";\n          html += \"<th>Begeleider<\/th><th>Afstand<\/th><th>Reis<\/th><th>Reistijd<\/th><th>Totaal<\/th><th>Reserveren<\/th>\";\n          html += \"<\/tr>\";\n\n          guideResultsArray.forEach(item => {\n            if (item.strike) html += \"<tr class='strike'>\";\n            else if (item.orange) html += \"<tr style='color: orange;'>\";\n            else html += \"<tr>\";\n\n            if (item.strike) {\n              html += \"<td data-label='Begeleider'>\" + escapeHtml(item.name) + \"<\/td>\";\n            } else {\n              html += \"<td data-label='Begeleider'>\" + getDropdownHTML(item.name) + \"<\/td>\";\n            }\n\n            html += \"<td data-label='Afstand'>\" + item.distance + (item.distance !== \"-\" ? \" km\" : \"\") + \"<\/td>\";\n            html += \"<td data-label='Reis'>\" + (item.strike ? \"\" : (item.travelCost !== \"-\" ? \"\u20ac\" + item.travelCost : item.travelCost)) + \"<\/td>\";\n            html += \"<td data-label='Reistijd'>\" + (item.travelTime !== \"-\" ? Math.round(item.travelTime) + \" min\" : item.travelTime) + \"<\/td>\";\n            html += \"<td data-label='Totaal'>\" + (item.strike ? \"\" : \"\u20ac\" + item.totalPrice) + \"<\/td>\";\n            html += \"<td data-label='Reserveren'>\" + (item.strike ? \"\" : getGuideBookingCell(item.name)) + \"<\/td>\";\n            html += \"<\/tr>\";\n          });\n\n          html += \"<\/table><\/div>\";\n\n          html += '<div class=\"table-container\">';\n          html += \"<table style='width:100%; border-collapse:collapse;' border='1' cellpadding='5'>\";\n          html += \"<tr style='background: #b20091; color: white;'>\";\n          html += \"<th>Onze locaties<\/th><th>Plaats<\/th><th>Afstand<\/th><th>Reistijd<\/th><th>Totaal<\/th><th>Reserveren<\/th>\";\n          html += \"<\/tr>\";\n\n          locationResultsArray.forEach(item => {\n            html += \"<tr>\";\n            html += \"<td data-label='Locatie'>\" + getLocationDropdownHTML(item.name) + \"<\/td>\";\n            html += \"<td data-label='Plaats'>\" + escapeHtml(item.city) + \"<\/td>\";\n            html += \"<td data-label='Afstand'>\" + item.distance + \" km<\/td>\";\n            html += \"<td data-label='Reistijd'>\" + Math.round(item.travelTime) + \" min<\/td>\";\n            html += \"<td data-label='Totaal'>\u20ac\" + item.totalPrice + \"<\/td>\";\n            html += \"<td data-label='Reserveren'>\" + getLocationBookingCell(item.name) + \"<\/td>\";\n            html += \"<\/tr>\";\n          });\n\n          html += \"<\/table><\/div>\";\n\n          document.getElementById(\"results\").innerHTML = html;\n          initDropdowns();\n          hideUnavailableRowsOnSmallScreens();\n          requestAnimationFrame(syncMapHeightToGuideTable);\n\n          let mapItems = sessionType === \"location\"\n            ? locations\n            : destinations.filter(item => visibleGuideNames.includes(item.name));\n\n          mapItems.forEach(item => addNamedMarker(item, origin));\n\n          setTimeout(function() {\n            if (run !== searchRun) return;\n            if (!markerBounds.isEmpty()) {\n              map.fitBounds(markerBounds);\n            }\n          }, 1500);\n        });\n      });\n    });\n  }\n\n  function positionDropdown(trigger, menu) {\n    menu.style.display = \"flex\";\n\n    const rect = trigger.getBoundingClientRect();\n    const menuRect = menu.getBoundingClientRect();\n    const gap = 6;\n\n    let left = rect.left;\n    let top = rect.top - menuRect.height - gap;\n\n    if (left + menuRect.width > window.innerWidth - 8) {\n      left = window.innerWidth - menuRect.width - 8;\n    }\n    if (left < 8) left = 8;\n\n    if (top < 8) {\n      top = rect.bottom + gap;\n    }\n\n    if (top + menuRect.height > window.innerHeight - 8) {\n      top = Math.max(8, window.innerHeight - menuRect.height - 8);\n    }\n\n    menu.style.left = left + \"px\";\n    menu.style.top = top + \"px\";\n  }\n\n  function hideActiveDropdown() {\n    if (!activeDropdown) return;\n    activeDropdown.style.display = \"none\";\n    activeDropdown = null;\n  }\n\n  function openDropdown(dropdown, menu) {\n    clearTimeout(hideDropdownTimer);\n    if (activeDropdown && activeDropdown !== menu) {\n      activeDropdown.style.display = \"none\";\n    }\n    activeDropdown = menu;\n    positionDropdown(dropdown, menu);\n  }\n\n  function scheduleHide(menu) {\n    clearTimeout(hideDropdownTimer);\n    hideDropdownTimer = setTimeout(() => {\n      if (activeDropdown === menu) {\n        hideActiveDropdown();\n      }\n    }, 120);\n  }\n\n  function initDropdowns() {\n    \/\/ Actieknoppen zijn direct zichtbaar; er is geen dropdown meer nodig.\n  }\n\n  function initExplanationToggle() {\n    const toggle = document.getElementById(\"explanationToggle\");\n    const content = document.getElementById(\"explanationContent\");\n\n    if (!toggle || !content) return;\n\n    toggle.addEventListener(\"click\", function() {\n      const isOpen = content.classList.toggle(\"open\");\n      toggle.classList.toggle(\"active\", isOpen);\n      toggle.setAttribute(\"aria-expanded\", isOpen ? \"true\" : \"false\");\n    });\n  }\n\n  window.addEventListener(\"scroll\", function() {\n    hideActiveDropdown();\n  }, true);\n\n  window.addEventListener(\"resize\", function() {\n    hideActiveDropdown();\n    syncMapHeightToGuideTable();\n  });\n\n  document.addEventListener(\"click\", function(e) {\n    if (!e.target.closest(\"#distance-tool .dropdown\")) {\n      hideActiveDropdown();\n    }\n  });\n\n  let debounceTimer;\n  document.getElementById(\"startLocation\").addEventListener(\"input\", function() {\n    clearTimeout(debounceTimer);\n    debounceTimer = setTimeout(calculateDistances, CONFIG.autoCalculateDelay);\n  });\n\n  document.getElementById(\"calculateBtn\").addEventListener(\"click\", function() {\n    clearTimeout(debounceTimer);\n    calculateDistances();\n  });\n\n  document.getElementById(\"startLocation\").addEventListener(\"keydown\", function(e) {\n    if (e.key === \"Enter\") {\n      clearTimeout(debounceTimer);\n      calculateDistances();\n    }\n  });\n\n  document.querySelectorAll('#distance-tool input[name=\"personCount\"]').forEach(input => {\n    input.addEventListener(\"change\", function() {\n      calculateDistances();\n    });\n  });\n\n  document.querySelectorAll('#distance-tool input[name=\"sessionType\"]').forEach(input => {\n    input.addEventListener(\"change\", function() {\n      calculateDistances();\n    });\n  });\n\n  renderExplanationLists();\n  initExplanationToggle();\n<\/script>\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<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f050db8 e-flex e-con-boxed e-con e-parent\" data-id=\"f050db8\" 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-3abae39 elementor-widget elementor-widget-heading\" data-id=\"3abae39\" 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\" id=\"contact-of-intake-invullen\">Contact of intake invullen<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-825692d elementor-widget elementor-widget-text-editor\" data-id=\"825692d\" 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>Wil jij je aanmelden voor een psychedelische sessie bij Triptherapie? Vul nu vrijblijvend de intake in. Heb je vragen? Neem dan onze FAQ-sectie door of neem contact met ons op. Wij kunnen je ook persoonlijk helpen bij het maken van een reservering!<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7943921 e-con-full e-flex e-con e-child\" data-id=\"7943921\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-58cc4be elementor-widget elementor-widget-button\" data-id=\"58cc4be\" 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=\"https:\/\/triptherapie.nl\/intake-triptherapie\/\">\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\">Aanmelden<\/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<div class=\"elementor-element elementor-element-e87b329 elementor-widget elementor-widget-button\" data-id=\"e87b329\" 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=\"https:\/\/wa.me\/31640898455\" target=\"_blank\" rel=\"nofollow noopener\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fab-whatsapp\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Whatsapp<\/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<div class=\"elementor-element elementor-element-ad0ef9a elementor-widget elementor-widget-button\" data-id=\"ad0ef9a\" 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=\"https:\/\/t.me\/Triptherapie\" target=\"_blank\" rel=\"nofollow\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fab-telegram-plane\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Telegram<\/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<div class=\"elementor-element elementor-element-30fd90b elementor-widget elementor-widget-button\" data-id=\"30fd90b\" 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=\"tel:0031640898455\" target=\"_blank\" rel=\"nofollow\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-phone-alt\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">+31640898455<\/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<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-86ec4a2 elementor-widget elementor-widget-toggle\" data-id=\"86ec4a2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"toggle.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-toggle\">\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1411\" class=\"elementor-tab-title\" data-tab=\"1\" role=\"button\" aria-controls=\"elementor-tab-content-1411\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-right\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><svg class=\"e-font-icon-svg e-fas-caret-right\" viewBox=\"0 0 192 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><svg class=\"elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Wat kost psychedelische therapie?<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1411\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"1\" role=\"region\" aria-labelledby=\"elementor-tab-title-1411\"><p>De prijs is afhankelijk van verschillende keuzes. De meeste mensen die psychedelica inzetten als therapie, kiezen voor een priv\u00e9 sessie met een therapeut. Per sessie betaal je dan tussen de \u20ac 750,- en \u20ac 950,- euro per sessie. Deelname aan een groepssessie kan al vanaf \u20ac 650,-<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1412\" class=\"elementor-tab-title\" data-tab=\"2\" role=\"button\" aria-controls=\"elementor-tab-content-1412\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-right\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><svg class=\"e-font-icon-svg e-fas-caret-right\" viewBox=\"0 0 192 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><svg class=\"elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Waar kan ik een vergoeding krijgen?<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1412\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"2\" role=\"region\" aria-labelledby=\"elementor-tab-title-1412\"><p>Zorgverzekeraars vergoeden psychedelische sessies met psilocybine e.d. voorlopig nog niet. Het is dus niet mogelijk om een vergoeding te krijgen.<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1413\" class=\"elementor-tab-title\" data-tab=\"3\" role=\"button\" aria-controls=\"elementor-tab-content-1413\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-right\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><svg class=\"e-font-icon-svg e-fas-caret-right\" viewBox=\"0 0 192 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><svg class=\"elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Kan ik zelf een therapeut kiezen?<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1413\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"3\" role=\"region\" aria-labelledby=\"elementor-tab-title-1413\"><p>Ja, je kunt bij priv\u00e9 psychedelische therapie zelf een therapeut kiezen voor het hele traject. De gekozen therapeut kan naar jou toe komen voor de sessie mits je woonplaats in het werkgebied van de desbetreffende therapeut ligt.<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1414\" class=\"elementor-tab-title\" data-tab=\"4\" role=\"button\" aria-controls=\"elementor-tab-content-1414\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-right\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><svg class=\"e-font-icon-svg e-fas-caret-right\" viewBox=\"0 0 192 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><svg class=\"elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Past een individuele therapie of truffelceremonie beter bij mij?<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1414\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"4\" role=\"region\" aria-labelledby=\"elementor-tab-title-1414\"><p>De overweging tussen een individuele sessie en een groepsceremonie is persoonlijk. Bij beiden opties bieden we de gehele Triptherapie ondersteuning. Om een keuze te maken kan je het artikel lezen over kiezen tussen <a href=\"https:\/\/triptherapie.nl\/psilocybine-therapie-of-truffel-ceremonie\/#individueel-vs-psychedelische-groepssessies\"><span style=\"color: #cc99ff;\">priv\u00e9 psychedelische sessies of groepsceremonies?<\/span><\/a><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1415\" class=\"elementor-tab-title\" data-tab=\"5\" role=\"button\" aria-controls=\"elementor-tab-content-1415\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-right\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><svg class=\"e-font-icon-svg e-fas-caret-right\" viewBox=\"0 0 192 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><svg class=\"elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Waar vinden de groepsceremonie plaats en wat kost dit?<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1415\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"5\" role=\"region\" aria-labelledby=\"elementor-tab-title-1415\"><p>De open groep ceremonies vinden plaats op diverse locaties in Nederland. De tweedaagse ceremonies starten vanaf \u20ac 650,- en zijn inclusief overnachting, eten en drinken. De meerdaagse retraites starten vanaf \u20ac 1150,- \u00a0en bevatten een extra integratiedag met twee gespecialiseerde therapeuten. Bekijk per datum de exacte prijs en de locatie.<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Wat kost psychedelische therapie?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>De prijs is afhankelijk van verschillende keuzes. De meeste mensen die psychedelica inzetten als therapie, kiezen voor een priv\\u00e9 sessie met een therapeut. Per sessie betaal je dan tussen de \\u20ac 750,- en \\u20ac 950,- euro per sessie. Deelname aan een groepssessie kan al vanaf \\u20ac 650,-<\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"Waar kan ik een vergoeding krijgen?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>Zorgverzekeraars vergoeden psychedelische sessies met psilocybine e.d. voorlopig nog niet. Het is dus niet mogelijk om een vergoeding te krijgen.<\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"Kan ik zelf een therapeut kiezen?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>Ja, je kunt bij priv\\u00e9 psychedelische therapie zelf een therapeut kiezen voor het hele traject. De gekozen therapeut kan naar jou toe komen voor de sessie mits je woonplaats in het werkgebied van de desbetreffende therapeut ligt.<\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"Past een individuele therapie of truffelceremonie beter bij mij?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>De overweging tussen een individuele sessie en een groepsceremonie is persoonlijk. Bij beiden opties bieden we de gehele Triptherapie ondersteuning. Om een keuze te maken kan je het artikel lezen over kiezen tussen <a href=\\\"https:\\\/\\\/triptherapie.nl\\\/psilocybine-therapie-of-truffel-ceremonie\\\/#individueel-vs-psychedelische-groepssessies\\\"><span style=\\\"color: #cc99ff;\\\">priv\\u00e9 psychedelische sessies of groepsceremonies?<\\\/span><\\\/a><\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"Waar vinden de groepsceremonie plaats en wat kost dit?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>De open groep ceremonies vinden plaats op diverse locaties in Nederland. De tweedaagse ceremonies starten vanaf \\u20ac 650,- en zijn inclusief overnachting, eten en drinken. De meerdaagse retraites starten vanaf \\u20ac 1150,- \\u00a0en bevatten een extra integratiedag met twee gespecialiseerde therapeuten. Bekijk per datum de exacte prijs en de locatie.<\\\/p>\"}}]}<\/script>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f10d16e elementor-widget elementor-widget-heading\" data-id=\"f10d16e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\" id=\"doorzoek-kennisbank\">Doorzoek kennisbank<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-939ec15 elementor-widget elementor-widget-text-editor\" data-id=\"939ec15\" 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>Mocht je op zoek zijn naar een andere vraag en antwoord? Je kunt er ook voor kiezen om de zoekfunctie op onze site te gebruiken, de meestgestelde vragen-sectie te raadplegen of het te vragen aan onze chatbot Trippy.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-513507d e-con-full e-flex e-con e-child\" data-id=\"513507d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-a9d3e5b e-con-full e-flex e-con e-child\" data-id=\"a9d3e5b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-55bcbf5 elementor-search-form--skin-classic elementor-search-form--button-type-icon elementor-search-form--icon-search elementor-widget elementor-widget-search-form\" data-id=\"55bcbf5\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;skin&quot;:&quot;classic&quot;}\" data-widget_type=\"search-form.default\">\n\t\t\t\t\t\t\t<search role=\"search\">\n\t\t\t<form class=\"elementor-search-form\" action=\"https:\/\/triptherapie.nl\/fr\" method=\"get\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-search-form__container\">\n\t\t\t\t\t<label class=\"elementor-screen-only\" for=\"elementor-search-form-55bcbf5\">Rechercher <\/label>\n\n\t\t\t\t\t\n\t\t\t\t\t<input id=\"elementor-search-form-55bcbf5\" placeholder=\"Zoek...\" class=\"elementor-search-form__input\" type=\"search\" name=\"s\" value=\"\">\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<button class=\"elementor-search-form__submit\" type=\"submit\" aria-label=\"Rechercher \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"e-font-icon-svg-container\"><svg class=\"fa fa-search e-font-icon-svg e-fas-search\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z\"><\/path><\/svg><\/div>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/button>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/form>\n\t\t<\/search>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c1eaf05 e-con-full e-flex e-con e-child\" data-id=\"c1eaf05\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3918e92 elementor-widget elementor-widget-button\" data-id=\"3918e92\" 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=\"https:\/\/triptherapie.nl\/qa\/\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-question-circle\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">FAQ sectie<\/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<div class=\"elementor-element elementor-element-6106f37 elementor-widget elementor-widget-button\" data-id=\"6106f37\" 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=\"https:\/\/triptherapie.nl\/start-trippy-chat\/\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-robot\" viewBox=\"0 0 640 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M32,224H64V416H32A31.96166,31.96166,0,0,1,0,384V256A31.96166,31.96166,0,0,1,32,224Zm512-48V448a64.06328,64.06328,0,0,1-64,64H160a64.06328,64.06328,0,0,1-64-64V176a79.974,79.974,0,0,1,80-80H288V32a32,32,0,0,1,64,0V96H464A79.974,79.974,0,0,1,544,176ZM264,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,264,256Zm-8,128H192v32h64Zm96,0H288v32h64ZM456,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,456,256Zm-8,128H384v32h64ZM640,256V384a31.96166,31.96166,0,0,1-32,32H576V224h32A31.96166,31.96166,0,0,1,640,256Z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Trippy chat<\/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<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Een groepsceremonie of priv\u00e9 sessie? Heb je de keuze gemaakt om deel te nemen aan een groepssessie of liever priv\u00e9 in een individuele sessie met de door jou gekozen begeleider? Gebruik de onderstaande knoppen om direct door te gaan naar de gewenste optie. Kun je geen keuze maken en wil je graag eerst even bellen, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":44135,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-35648","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/triptherapie.nl\/fr\/wp-json\/wp\/v2\/pages\/35648","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/triptherapie.nl\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/triptherapie.nl\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/triptherapie.nl\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/triptherapie.nl\/fr\/wp-json\/wp\/v2\/comments?post=35648"}],"version-history":[{"count":0,"href":"https:\/\/triptherapie.nl\/fr\/wp-json\/wp\/v2\/pages\/35648\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/triptherapie.nl\/fr\/wp-json\/wp\/v2\/pages\/44135"}],"wp:attachment":[{"href":"https:\/\/triptherapie.nl\/fr\/wp-json\/wp\/v2\/media?parent=35648"}],"curies":[{"name":"bien jou\u00e9","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}