{"id":33,"date":"2025-09-05T12:31:40","date_gmt":"2025-09-05T12:31:40","guid":{"rendered":"https:\/\/www.nanocellcaretherapy.com\/?page_id=33"},"modified":"2026-04-14T09:02:00","modified_gmt":"2026-04-14T09:02:00","slug":"treatment-locator","status":"publish","type":"page","link":"https:\/\/www.nanocellcaretherapy.com\/?page_id=33","title":{"rendered":"Treatment Locator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"33\" class=\"elementor elementor-33\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1c49d98 elementor-hidden-desktop elementor-hidden-tablet e-flex e-con-boxed e-con e-parent\" data-id=\"1c49d98\" 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-2aa4043 e-con-full e-flex e-con e-child\" data-id=\"2aa4043\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d9cc055 elementor-widget elementor-widget-image\" data-id=\"d9cc055\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/www.nanocellcaretherapy.com\/wp-content\/uploads\/2026\/04\/down-arrow.png\" class=\"attachment-large size-large wp-image-205\" alt=\"\" srcset=\"https:\/\/www.nanocellcaretherapy.com\/wp-content\/uploads\/2026\/04\/down-arrow.png 512w, https:\/\/www.nanocellcaretherapy.com\/wp-content\/uploads\/2026\/04\/down-arrow-300x300.png 300w, https:\/\/www.nanocellcaretherapy.com\/wp-content\/uploads\/2026\/04\/down-arrow-150x150.png 150w, https:\/\/www.nanocellcaretherapy.com\/wp-content\/uploads\/2026\/04\/down-arrow-12x12.png 12w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-768d6c6 e-con-full e-flex e-con e-child\" data-id=\"768d6c6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0a099ee elementor-widget elementor-widget-heading\" data-id=\"0a099ee\" 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\">check out the map at the bottom<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9348538 e-con-full e-flex e-con e-child\" data-id=\"9348538\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1b19c48 elementor-widget elementor-widget-image\" data-id=\"1b19c48\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/www.nanocellcaretherapy.com\/wp-content\/uploads\/2026\/04\/down-arrow.png\" class=\"attachment-large size-large wp-image-205\" alt=\"\" srcset=\"https:\/\/www.nanocellcaretherapy.com\/wp-content\/uploads\/2026\/04\/down-arrow.png 512w, https:\/\/www.nanocellcaretherapy.com\/wp-content\/uploads\/2026\/04\/down-arrow-300x300.png 300w, https:\/\/www.nanocellcaretherapy.com\/wp-content\/uploads\/2026\/04\/down-arrow-150x150.png 150w, https:\/\/www.nanocellcaretherapy.com\/wp-content\/uploads\/2026\/04\/down-arrow-12x12.png 12w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/>\t\t\t\t\t\t\t\t\t\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-e47972c e-con-full e-flex e-con e-parent\" data-id=\"e47972c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2a82dcb elementor-widget__width-inherit elementor-widget elementor-widget-shortcode\" data-id=\"2a82dcb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    \n        <style>\n            \/* Centered intro section - variable width to match buttons *\/\n            .treatment-intro {\n                max-width: 1200px;\n                width: 100%;\n                margin: 0 auto 2rem auto;\n                text-align: left;\n                background: #f8f9fa;\n                border: 1px solid #dee2e6;\n                border-radius: 12px;\n                padding: 2rem;\n            }\n    \n            .treatment-intro h2 {\n                margin: 0 0 1rem 0;\n                color: #2c3e50;\n                font-size: 24px;\n            }\n    \n            .treatment-intro p {\n                margin: 0 0 1.5rem 0;\n                font-size: 16px;\n                color: #6c757d;\n                line-height: 1.6;\n            }\n    \n            .specialty-text {\n                font-size: 14px;\n                color: #495057;\n                line-height: 1.8;\n                text-align: left;\n                max-width: 600px;\n            }\n    \n            .specialty-text strong {\n                color: #2c3e50;\n            }\n    \n            \/* Filter section above map *\/\n            .treatment-filters {\n                margin-bottom: 1.5rem;\n                padding: 0 1rem;\n                margin-left: -1rem;\n                margin-right: -1rem;\n            }\n    \n            \/* Search section *\/\n            .treatment-search {\n                margin-bottom: 2rem;\n                padding: 0 1rem;\n            }\n    \n            .search-container {\n                display: flex;\n                gap: 1rem;\n                max-width: 800px;\n                margin: 0 auto;\n                align-items: center;\n            }\n    \n            \/* Main content wrapper *\/\n            #treatment-wrapper {\n                display: flex;\n                flex-direction: row;\n                width: 100%;\n            }\n    \n            #treatment-sidebar {\n                min-width: 450px;\n                max-width: 550px;\n                width: auto;\n                flex-shrink: 0;\n            }\n    \n            \/* Location input styling *\/\n            #treatment-location-input {\n                flex: 1;\n                padding: 12px 16px;\n                border: 2px solid #dee2e6;\n                border-radius: 8px;\n                font-size: 16px;\n                transition: border-color 0.3s ease;\n            }\n    \n            #treatment-location-input:focus {\n                outline: none;\n                border-color: #007cba;\n                box-shadow: 0 0 0 3px rgba(0, 124, 186, 0.1);\n            }\n    \n            \/* Category filter cards - horizontal layout *\/\n            .category-filters {\n                display: grid;\n                grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n                gap: 1rem;\n                max-width: 1200px;\n                margin: 0 auto;\n            }\n    \n            .category-card {\n                background: white;\n                border: 2px solid #dee2e6;\n                border-radius: 12px;\n                padding: 1rem;\n                cursor: pointer;\n                transition: all 0.3s ease;\n                position: relative;\n                text-align: center;\n            }\n    \n            .category-card:hover {\n                border-color: #007cba;\n                transform: translateY(-2px);\n                box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n            }\n    \n            .category-card.active {\n                border-color: #007cba;\n                background: #f0f8ff;\n                box-shadow: 0 2px 8px rgba(0, 124, 186, 0.2);\n                transform: translateY(-1px);\n            }\n    \n            .category-card input[type=\"radio\"] {\n                position: absolute;\n                opacity: 0;\n                pointer-events: none;\n            }\n    \n            .category-header {\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                gap: 0.5rem;\n            }\n    \n            .category-icon {\n                width: 48px;\n                height: 48px;\n                border-radius: 50%;\n                display: flex;\n                align-items: center;\n                justify-content: center;\n                font-weight: bold;\n                color: white;\n                font-size: 16px;\n                margin-bottom: 0.5rem;\n            }\n    \n            .category-all .category-icon {\n                background: #6c757d;\n            }\n    \n            .category-nhc .category-icon {\n                background: #2196F3;\n            }\n    \n            .category-nec .category-icon {\n                background: #8D6E63;\n            }\n    \n            .category-nac .category-icon {\n                background: #4CAF50;\n            }\n    \n            .category-nbc .category-icon {\n                background: #b3a7cf;\n            }\n    \n            .category-title {\n                font-weight: 600;\n                color: #2c3e50;\n                margin: 0;\n                font-size: 16px;\n            }\n    \n            .category-description {\n                color: #6c757d;\n                font-size: 13px;\n                margin: 0;\n                line-height: 1.4;\n            }\n    \n            \/* Search button *\/\n            .search-button {\n                background: #007cba;\n                color: white;\n                border: none;\n                padding: 12px 20px;\n                border-radius: 6px;\n                font-size: 14px;\n                font-weight: 600;\n                cursor: pointer;\n                transition: background-color 0.3s ease;\n            }\n    \n            .search-button:hover {\n                background: #005a87;\n            }\n    \n            #treatment-results {\n                display: flex;\n                flex-direction: column;\n                gap: 0.75rem;\n                max-height: 700px;\n                overflow-y: auto;\n                padding-right: 8px;\n            }\n    \n            #treatment-results::-webkit-scrollbar {\n                width: 6px;\n            }\n    \n            #treatment-results::-webkit-scrollbar-track {\n                background: #f1f1f1;\n                border-radius: 3px;\n            }\n    \n            #treatment-results::-webkit-scrollbar-thumb {\n                background: #888;\n                border-radius: 3px;\n            }\n    \n            #treatment-results::-webkit-scrollbar-thumb:hover {\n                background: #555;\n            }\n    \n            .treatment-entry {\n                background: white;\n                border: 1px solid #dee2e6;\n                border-radius: 0;\n                padding: 1rem;\n                cursor: pointer;\n                transition: all 0.3s ease;\n                position: relative;\n                border-left: 4px solid transparent;\n            }\n    \n            .treatment-entry:hover {\n                border-color: #007cba;\n                box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n                transform: translateY(-1px);\n            }\n    \n            .treatment-entry::before {\n                content: '';\n                position: absolute;\n                left: 0;\n                top: 0;\n                bottom: 0;\n                width: 4px;\n            }\n    \n            .treatment-entry .location-title {\n                font-weight: 600;\n                color: #2c3e50;\n                text-decoration: none;\n                font-size: 16px;\n                display: block;\n                margin-bottom: 0.5rem;\n            }\n    \n            .treatment-entry .location-title:hover {\n                color: #007cba;\n            }\n    \n            .treatment-entry .location-address {\n                color: #6c757d;\n                font-size: 14px;\n                margin-bottom: 0.5rem;\n            }\n    \n            .treatment-entry .location-categories {\n                margin-bottom: 0.5rem;\n            }\n    \n            .category-badge {\n                display: inline-block;\n                padding: 3px 8px;\n                border-radius: 12px;\n                font-size: 10px;\n                font-weight: 600;\n                color: white;\n                margin-right: 0.5rem;\n                margin-bottom: 0.25rem;\n            }\n    \n            .category-badge.primary {\n                font-size: 14px;\n                padding: 4px 10px;\n            }\n    \n            .category-badge.nhc {\n                background: #2196F3;\n            }\n    \n            .category-badge.nec {\n                background: #8D6E63;\n            }\n    \n            .category-badge.nac {\n                background: #4CAF50;\n            }\n    \n            .category-badge.nbc {\n                background: #b3a7cf;\n            }\n    \n            .treatment-entry .location-distance {\n                font-size: 12px;\n                color: #007cba;\n                font-weight: 500;\n            }\n    \n            .treatment-entry .location-actions {\n                margin-top: 0.75rem;\n                padding-top: 0.75rem;\n                border-top: 1px solid #f1f3f4;\n            }\n    \n            .treatment-entry .location-actions a {\n                color: #007cba;\n                text-decoration: none;\n                font-size: 13px;\n                font-weight: 500;\n            }\n    \n            .treatment-entry .location-actions a:hover {\n                text-decoration: underline;\n            }\n    \n            #treatment-locator-map {\n                flex: 1;\n                height: 700px;\n                min-width: 0;\n                border-radius: 8px;\n                overflow: hidden;\n            }\n    \n            \/* Mobile layout *\/\n            @media (max-width: 768px) {\n                .treatment-intro {\n                    max-width: calc(100% - 2rem);\n                    padding: 1.5rem;\n                    margin: 1rem;\n                }\n    \n                .treatment-intro h2 {\n                    font-size: 20px;\n                }\n    \n                .treatment-filters {\n                    margin: 0 1rem;\n                    padding: 0;\n                }\n    \n                .treatment-search {\n                    margin-top: 1rem;\n                    padding: 0 1rem;\n                }\n    \n                .specialty-text {\n                    text-align: left;\n                }\n    \n                .search-container {\n                    flex-direction: column;\n                    gap: 1rem;\n                    max-width: none;\n                }\n    \n                #treatment-location-input {\n                    font-size: 16px;\n                    \/* Prevent zoom on iOS *\/\n                }\n    \n                .category-filters {\n                    grid-template-columns: 1fr;\n                    gap: 1rem;\n                    max-width: none;\n                }\n    \n                .category-card {\n                    padding: 1rem;\n                }\n    \n                .category-header {\n                    flex-direction: row;\n                    text-align: left;\n                }\n    \n                .category-icon {\n                    width: 40px;\n                    height: 40px;\n                    margin-right: 1rem;\n                    margin-bottom: 0;\n                }\n    \n                #treatment-wrapper {\n                    flex-direction: column;\n                    gap: 1.5rem;\n                }\n    \n                #treatment-sidebar {\n                    width: 100%;\n                    min-width: auto;\n                    max-width: none;\n                }\n    \n                #treatment-locator-map {\n                    height: 400px;\n                    flex: none;\n                }\n            }\n    \n            @media (min-width: 769px) and (max-width: 1024px) {\n                .treatment-intro {\n                    max-width: 100%;\n                }\n    \n                .category-filters {\n                    grid-template-columns: repeat(2, 1fr);\n                }\n    \n                .category-card {\n                    padding: 1rem;\n                }\n            }\n    \n            @media (min-width: 1025px) {\n                .category-filters {\n                    grid-template-columns: repeat(5, 1fr);\n                }\n            }\n    \n            .loading-message {\n                text-align: center;\n                padding: 20px;\n                color: #666;\n            }\n        <\/style>\n    \n        <!-- Centered Info Section -->\n        <div class=\"treatment-intro\">\n            <h2>Find Your Nano CellCare Specialist<\/h2>\n            <p>\n                The treatment locator is a convenient online tool that makes it easy to find Nano CellCare therapists\n                specialized in this innovative treatment method.\n    \n                After entering your details, you'll see a list of Nano CellCare therapists in your area or the specific country\n                you're searching for.\n            <\/p>\n            <p>Our certified therapists can work across multiple specialties. Use the filters below to find the right specialist\n                for your needs. Each therapist's main discipline is shown first, followed by their additional qualifications.\n            <\/p>\n    \n            <div class=\"specialty-text\">\n                <strong>Nano Healthcare (NHC)<\/strong> - Therapists specializing in human health and wellness<br>\n                <strong>Nano Beautycare (NBC)<\/strong> - Specialists focused on beauty and wellness<br>\n                <strong>Nano Equicare (NEC)<\/strong> - Specialists focused on horses and ponies<br>\n                <strong>Nano Animalcare (NAC)<\/strong> - Experts in pets and small animals\n            <\/div>\n        <\/div>\n    \n        <!-- Category Filter Section -->\n        <div class=\"treatment-filters\">\n            <div class=\"category-filters\">\n                <div class=\"category-card category-all active\">\n                    <input type=\"radio\" name=\"category\" value=\"\" id=\"cat-all\"  checked='checked'>\n                    <div class=\"category-header\">\n                        <div class=\"category-icon\">ALL<\/div>\n                        <div>\n                            <div class=\"category-title\">All Types<\/div>\n                            <div class=\"category-description\">Show all specialists<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n    \n                <div class=\"category-card category-nhc \">\n                    <input type=\"radio\" name=\"category\" value=\"NHC\" id=\"cat-nhc\" >\n                    <div class=\"category-header\">\n                        <div class=\"category-icon\">NHC<\/div>\n                        <div>\n                            <div class=\"category-title\">Nano Healthcare<\/div>\n                            <div class=\"category-description\">Human specialists<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n    \n                <div class=\"category-card category-nbc \">\n                    <input type=\"radio\" name=\"category\" value=\"NBC\" id=\"cat-nbc\" >\n                    <div class=\"category-header\">\n                        <div class=\"category-icon\">NBC<\/div>\n                        <div>\n                            <div class=\"category-title\">Nano Beautycare<\/div>\n                            <div class=\"category-description\">Beauty & Wellness specialists<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n    \n                <div class=\"category-card category-nec \">\n                    <input type=\"radio\" name=\"category\" value=\"NEC\" id=\"cat-nec\" >\n                    <div class=\"category-header\">\n                        <div class=\"category-icon\">NEC<\/div>\n                        <div>\n                            <div class=\"category-title\">Nano Equicare<\/div>\n                            <div class=\"category-description\">Horse specialists<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n    \n                <div class=\"category-card category-nac \">\n                    <input type=\"radio\" name=\"category\" value=\"NAC\" id=\"cat-nac\" >\n                    <div class=\"category-header\">\n                        <div class=\"category-icon\">NAC<\/div>\n                        <div>\n                            <div class=\"category-title\">Nano Animalcare<\/div>\n                            <div class=\"category-description\">Pet specialists<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    \n        <!-- Location Input Section -->\n        <div class=\"treatment-search\">\n            <div class=\"search-container\">\n                <input id=\"treatment-location-input\" type=\"text\" placeholder=\"Your location (e.g. 1011AB)\">\n                <button class=\"search-button\" onclick=\"loadTreatmentLocations()\">Search Therapists<\/button>\n            <\/div>\n        <\/div>\n    \n        <!-- Map and Results Section -->\n        <div id=\"treatment-wrapper\">\n            <div id=\"treatment-sidebar\">\n                <div id=\"treatment-results\">\n                    <div class=\"loading-message\">Loading locations...<\/div>\n                <\/div>\n            <\/div>\n            <div id=\"treatment-locator-map\"><\/div>\n        <\/div>\n    \n        <script>\n            let map, markers = [], userLatLng;\n            const apiEndpoint = 'https:\/\/www.nanocellcaretherapy.com\/wp-admin\/admin-ajax.php';\n    \n            const darkStyle = [{\"featureType\":\"all\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#202c3e\"}]},{\"featureType\":\"all\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"gamma\":0.01},{\"lightness\":20},{\"weight\":\"1.39\"},{\"color\":\"#ffffff\"}]},{\"featureType\":\"all\",\"elementType\":\"labels.text.stroke\",\"stylers\":[{\"weight\":\"0.96\"},{\"saturation\":\"9\"},{\"visibility\":\"on\"},{\"color\":\"#000000\"}]},{\"featureType\":\"all\",\"elementType\":\"labels.icon\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"landscape\",\"elementType\":\"geometry\",\"stylers\":[{\"lightness\":30},{\"saturation\":\"9\"},{\"color\":\"#697c97\"}]},{\"featureType\":\"poi\",\"elementType\":\"geometry\",\"stylers\":[{\"saturation\":20}]},{\"featureType\":\"poi.park\",\"elementType\":\"geometry\",\"stylers\":[{\"lightness\":20},{\"saturation\":-20}]},{\"featureType\":\"road\",\"elementType\":\"geometry\",\"stylers\":[{\"lightness\":10},{\"saturation\":-30}]},{\"featureType\":\"road\",\"elementType\":\"geometry.fill\",\"stylers\":[{\"color\":\"#193a55\"}]},{\"featureType\":\"road\",\"elementType\":\"geometry.stroke\",\"stylers\":[{\"saturation\":25},{\"lightness\":25},{\"weight\":\"0.01\"}]},{\"featureType\":\"water\",\"elementType\":\"all\",\"stylers\":[{\"lightness\":-20}]}];\n    \n            \/\/ Category colors and names\n            const categoryInfo = {\n                'NHC': { color: '#2196F3', name: 'Nano Healthcare', description: 'Therapists focused on humans' },\n                'NBC': { color: '#b3a7cf', name: 'Nano Beautycare', description: 'Therapists focused on beauty and wellness' },\n                'NAC': { color: '#4CAF50', name: 'Nano Animalcare', description: 'Therapists focused on pets and small animals' },\n                'NEC': { color: '#8D6E63', name: 'Nano Equicare', description: 'Therapists focused on horses and ponies' }\n            };\n    \n            function createColoredMarker(color) {\n                return {\n                    path: google.maps.SymbolPath.CIRCLE,\n                    fillColor: color,\n                    fillOpacity: 0.8,\n                    strokeColor: '#ffffff',\n                    strokeWeight: 2,\n                    scale: 8\n                };\n            }\n    \n            \/\/ Add click handlers for category cards\n            document.addEventListener('DOMContentLoaded', function () {\n                const categoryCards = document.querySelectorAll('.category-card');\n                categoryCards.forEach(card => {\n                    card.addEventListener('click', function () {\n                        \/\/ Remove active class from all cards\n                        categoryCards.forEach(c => c.classList.remove('active'));\n                        \/\/ Add active class to clicked card\n                        this.classList.add('active');\n                        \/\/ Check the radio button\n                        const radio = this.querySelector('input[type=\"radio\"]');\n                        if (radio) {\n                            radio.checked = true;\n                        }\n                        \/\/ Trigger search\n                        loadTreatmentLocations();\n                    });\n                });\n            });\n    \n            \/\/ Function to create multi-colored border gradient\n            function createMultiColorBorder(categories) {\n                if (!categories || categories.length === 0) return '';\n                if (categories.length === 1) {\n                    const color = categoryInfo[categories[0]]?.color || '#999999';\n                    return `background: ${color};`;\n                }\n    \n                \/\/ Create gradient for multiple categories\n                const colors = categories.map(cat => categoryInfo[cat]?.color || '#999999');\n                const gradientStops = colors.map((color, index) => {\n                    const start = (index \/ colors.length) * 100;\n                    const end = ((index + 1) \/ colors.length) * 100;\n                    return `${color} ${start}%, ${color} ${end}%`;\n                }).join(', ');\n    \n                return `background: linear-gradient(to bottom, ${gradientStops});`;\n            }\n    \n            function initTreatmentMap() {\n                \/\/ Default to Amsterdam coordinates\n                const amsterdamCoords = { lat: 52.3676, lng: 4.9041 };\n    \n                map = new google.maps.Map(document.getElementById(\"treatment-locator-map\"), {\n                    center: amsterdamCoords,\n                    zoom: 11,\n                    styles: darkStyle\n                });\n    \n                const locationInput = document.getElementById(\"treatment-location-input\");\n                const autocomplete = new google.maps.places.Autocomplete(locationInput);\n                autocomplete.addListener(\"place_changed\", function () {\n                    const place = autocomplete.getPlace();\n                    if (place.geometry) {\n                        userLatLng = place.geometry.location;\n                        map.setCenter(userLatLng);\n                        map.setZoom(11);\n                        loadTreatmentLocations();\n                    }\n                });\n    \n                \/\/ Function to reverse geocode coordinates to postal code\n                function reverseGeocode(latLng) {\n                    const geocoder = new google.maps.Geocoder();\n                    geocoder.geocode({ location: latLng }, (results, status) => {\n                        if (status === 'OK' && results[0]) {\n                            \/\/ Try to find postal code from the results\n                            let postalCode = '';\n                            let locality = '';\n    \n                            for (const component of results[0].address_components) {\n                                if (component.types.includes('postal_code')) {\n                                    postalCode = component.long_name;\n                                }\n                                if (component.types.includes('locality')) {\n                                    locality = component.long_name;\n                                }\n                            }\n    \n                            \/\/ Populate the input field with postal code or locality\n                            if (postalCode) {\n                                locationInput.value = postalCode;\n                            } else if (locality) {\n                                locationInput.value = locality;\n                            } else {\n                                \/\/ Fallback to formatted address\n                                locationInput.value = results[0].formatted_address;\n                            }\n    \n                            \/\/ Add a small indicator that location was auto-detected\n                            locationInput.style.backgroundColor = '#e8f5e8';\n                            setTimeout(() => {\n                                locationInput.style.backgroundColor = '';\n                            }, 2000);\n                        }\n                    });\n                }\n    \n                \/\/ Try to get user's location, fallback to Amsterdam\n                if (navigator.geolocation) {\n                    \/\/ Show loading indicator\n                    locationInput.placeholder = \"Getting your location...\";\n    \n                    navigator.geolocation.getCurrentPosition(pos => {\n                        userLatLng = new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude);\n                        map.setCenter(userLatLng);\n                        map.setZoom(11);\n    \n                        \/\/ Reverse geocode to get postal code\n                        reverseGeocode(userLatLng);\n    \n                        \/\/ Reset placeholder\n                        locationInput.placeholder = \"Your location (e.g. 1011AB)\";\n    \n                        loadTreatmentLocations();\n                    }, (error) => {\n                        \/\/ Handle different geolocation errors\n                        console.log('Geolocation error:', error);\n                        let errorMessage = \"Your location (e.g. 1011AB)\";\n    \n                        switch (error.code) {\n                            case error.PERMISSION_DENIED:\n                                errorMessage = \"Location access denied - enter manually\";\n                                break;\n                            case error.POSITION_UNAVAILABLE:\n                                errorMessage = \"Location unavailable - enter manually\";\n                                break;\n                            case error.TIMEOUT:\n                                errorMessage = \"Location timeout - enter manually\";\n                                break;\n                        }\n    \n                        locationInput.placeholder = errorMessage;\n    \n                        \/\/ Fallback to Amsterdam if geolocation fails\n                        userLatLng = new google.maps.LatLng(amsterdamCoords.lat, amsterdamCoords.lng);\n                        loadTreatmentLocations();\n                    }, {\n                        enableHighAccuracy: true,\n                        timeout: 10000,\n                        maximumAge: 300000 \/\/ 5 minutes\n                    });\n                } else {\n                    \/\/ Fallback to Amsterdam if geolocation not supported\n                    locationInput.placeholder = \"Geolocation not supported - enter manually\";\n                    userLatLng = new google.maps.LatLng(amsterdamCoords.lat, amsterdamCoords.lng);\n                    loadTreatmentLocations();\n                }\n            }\n    \n            function loadTreatmentLocations() {\n                const selectedCat = document.querySelector(\"input[name='category']:checked\")?.value;\n                const resultsDiv = document.getElementById(\"treatment-results\");\n                resultsDiv.innerHTML = '<div class=\"loading-message\">Loading locations...<\/div>';\n    \n                \/\/ Fetch from our WordPress AJAX endpoint\n                const formData = new FormData();\n                formData.append('action', 'get_treatment_locations');\n                if (selectedCat) {\n                    formData.append('category', selectedCat);\n                }\n    \n                fetch(apiEndpoint, {\n                    method: 'POST',\n                    body: formData\n                })\n                .then(res => res.json())\n                .then(response => {\n                    if (response.success) {\n                        const locations = response.data;\n                        \n                        \/\/ If no user location yet, try to geocode from input\n                        if (!userLatLng) {\n                            const input = document.getElementById(\"treatment-location-input\").value;\n                            if (input) {\n                                new google.maps.Geocoder().geocode({ address: input }, (results, status) => {\n                                    if (status === 'OK') {\n                                        userLatLng = results[0].geometry.location;\n                                        map.setCenter(userLatLng);\n                                        map.setZoom(11);\n                                        plotLocations(locations);\n                                    } else {\n                                        plotLocations(locations);\n                                    }\n                                });\n                            } else {\n                                plotLocations(locations);\n                            }\n                        } else {\n                            plotLocations(locations);\n                        }\n                    } else {\n                        resultsDiv.innerHTML = `<div class=\"loading-message\">Error: ${response.data || 'Failed to load locations'}<\/div>`;\n                    }\n                })\n                .catch(error => {\n                    console.error('Error loading locations:', error);\n                    resultsDiv.innerHTML = '<div class=\"loading-message\">Error loading locations. Please check your connection.<\/div>';\n                });\n            }\n    \n            function plotLocations(locations) {\n                \/\/ Clear existing markers\n                markers.forEach(m => m.setMap(null));\n                markers = [];\n                const resultsDiv = document.getElementById(\"treatment-results\");\n                resultsDiv.innerHTML = \"\";\n    \n                if (!locations || locations.length === 0) {\n                    resultsDiv.innerHTML = \"<div style='text-align: center; color: #6c757d; padding: 2rem;'>No therapists found for the selected criteria.<\/div>\";\n                    return;\n                }\n    \n                \/\/ Calculate distances if user location is available\n                if (userLatLng) {\n                    locations.forEach(loc => {\n                        if (loc.latitude && loc.longitude) {\n                            loc.distance = google.maps.geometry.spherical.computeDistanceBetween(\n                                userLatLng,\n                                new google.maps.LatLng(parseFloat(loc.latitude), parseFloat(loc.longitude))\n                            );\n                        } else {\n                            loc.distance = Infinity; \/\/ Put locations without coords at the end\n                        }\n                    });\n                    \/\/ Sort by distance\n                    locations.sort((a, b) => a.distance - b.distance);\n                }\n    \n                \/\/ Plot markers and create list\n                locations.forEach(loc => {\n                    if (loc.latitude && loc.longitude) {\n                        const position = { lat: parseFloat(loc.latitude), lng: parseFloat(loc.longitude) };\n    \n                        \/\/ Create colored marker based on main category\n                        const markerColor = categoryInfo[loc.category_main]?.color || '#999999';\n                        const marker = new google.maps.Marker({\n                            position,\n                            map,\n                            title: loc.title,\n                            icon: createColoredMarker(markerColor)\n                        });\n    \n                        \/\/ Format website URL properly\n                        function formatWebsiteUrl(url) {\n                            if (!url) return '';\n                            if (url.startsWith('http:\/\/') || url.startsWith('https:\/\/')) {\n                                return url;\n                            }\n                            return 'https:\/\/' + url;\n                        }\n    \n                        \/\/ Create ordered categories list (main category first, then others)\n                        function getOrderedCategories(mainCat, allCats) {\n                            if (!allCats || allCats.length === 0) return [mainCat].filter(Boolean);\n    \n                            const uniqueCats = [...new Set(allCats)]; \/\/ Remove duplicates\n                            const otherCats = uniqueCats.filter(cat => cat !== mainCat);\n    \n                            return [mainCat, ...otherCats].filter(Boolean);\n                        }\n    \n                        const orderedCategories = getOrderedCategories(loc.category_main, loc.category_all);\n    \n                        \/\/ Generate category display for info window\n                        const categoryDisplayHtml = orderedCategories.map((cat, index) => {\n                            const info = categoryInfo[cat];\n                            if (!info) return '';\n    \n                            const isPrimary = index === 0;\n                            const prefix = isPrimary ? '<strong>Main:<\/strong> ' : '';\n                            return `${prefix}<span style=\"color: ${info.color}; font-weight: bold;\">${info.name}<\/span>`;\n                        }).filter(Boolean).join('<br>');\n    \n                        \/\/ Add info window\n                        const websiteUrl = formatWebsiteUrl(loc.website);\n                        const infoWindow = new google.maps.InfoWindow({\n                            content: `\n                                <div style=\"font-family: sans-serif; font-size: 14px; max-width: 280px;\">\n                                    <strong style=\"font-size: 16px;\">${loc.title}<\/strong><br>\n                                    <span style=\"color: #6c757d;\">${loc.address}<br>${loc.city}<\/span><br><br>\n                                    ${categoryDisplayHtml ? `${categoryDisplayHtml}<br><br>` : ''}\n                                    ${loc.phone ? `\ud83d\udcde ${loc.phone}<br>` : ''}\n                                    ${loc.email ? `\ud83d\udce7 ${loc.email}<br>` : ''}\n                                    ${websiteUrl ? `<br><a href=\"${websiteUrl}\" target=\"_blank\" style=\"color: ${markerColor}; text-decoration: underline;\">Visit Website<\/a>` : ''}\n                                <\/div>\n                            `\n                        });\n    \n                        marker.addListener('click', () => {\n                            infoWindow.open(map, marker);\n                        });\n    \n                        markers.push(marker);\n    \n                        \/\/ Create list entry with improved styling\n                        const entry = document.createElement(\"div\");\n                        entry.className = \"treatment-entry\";\n    \n                        let distanceHtml = '';\n                        if (userLatLng && loc.distance !== undefined && loc.distance !== Infinity) {\n                            distanceHtml = `<div class=\"location-distance\">${(loc.distance \/ 1000).toFixed(1)} km away<\/div>`;\n                        }\n    \n                        \/\/ Create title with optional website link\n                        let titleHtml = '';\n                        if (loc.website && loc.website.trim()) {\n                            const websiteUrl = formatWebsiteUrl(loc.website);\n                            titleHtml = `<a href=\"${websiteUrl}\" target=\"_blank\" class=\"location-title\">${loc.title}<\/a>`;\n                        } else {\n                            titleHtml = `<div class=\"location-title\">${loc.title}<\/div>`;\n                        }\n    \n                        \/\/ Generate category badges (main category first, more prominent)\n                        const categoryBadgesHtml = orderedCategories.map((cat, index) => {\n                            const isPrimary = index === 0;\n                            const badgeClass = isPrimary ? 'category-badge primary' : 'category-badge';\n                            return `<span class=\"${badgeClass} ${cat.toLowerCase()}\">${cat}<\/span>`;\n                        }).join('');\n    \n                        entry.innerHTML = `\n                            ${titleHtml}\n                            <div class=\"location-address\">${loc.address}, ${loc.city}<\/div>\n                            ${categoryBadgesHtml ? `<div class=\"location-categories\">${categoryBadgesHtml}<\/div>` : ''}\n                            ${distanceHtml}\n                            <div class=\"location-actions\">\n                                <a href=\"https:\/\/www.google.com\/maps\/dir\/?api=1&destination=${encodeURIComponent(loc.address + ',' + loc.city)}\" target=\"_blank\">Get Directions<\/a>\n                            <\/div>\n                        `;\n    \n                        \/\/ Set colored border based on categories\n                        const borderStyle = createMultiColorBorder(orderedCategories);\n                        if (borderStyle) {\n                            const styleElement = document.createElement('style');\n                            const entryIndex = resultsDiv.children.length + 1;\n                            styleElement.textContent = `\n                                .treatment-entry:nth-child(${entryIndex})::before {\n                                    ${borderStyle}\n                                }\n                            `;\n                            document.head.appendChild(styleElement);\n                        }\n    \n                        entry.addEventListener('click', (e) => {\n                            \/\/ Don't trigger map center if clicking on a link\n                            if (e.target.tagName !== 'A') {\n                                map.setCenter(position);\n                                map.setZoom(15);\n                                infoWindow.open(map, marker);\n                            }\n                        });\n    \n                        resultsDiv.appendChild(entry);\n                    }\n                });\n    \n                \/\/ Adjust map to show all markers if no user location\n                if (!userLatLng && markers.length > 0) {\n                    const bounds = new google.maps.LatLngBounds();\n                    markers.forEach(marker => bounds.extend(marker.getPosition()));\n                    map.fitBounds(bounds);\n                }\n            }\n        <\/script>\n    \n        <script async defer\n            src=\"https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyD6W2hbvp3xWDIKxGZnqfpSR1lgZsmAmA0&libraries=geometry,places&callback=initTreatmentMap\">\n        <\/script>\n        <\/div>\n\t\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>check out the map at the bottom<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-33","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Treatment Locator - Nano Cellcare<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.nanocellcaretherapy.com\/?page_id=33\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Treatment Locator - Nano Cellcare\" \/>\n<meta property=\"og:description\" content=\"check out the map at the bottom\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.nanocellcaretherapy.com\/?page_id=33\" \/>\n<meta property=\"og:site_name\" content=\"Nano Cellcare\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-14T09:02:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.nanocellcaretherapy.com\/wp-content\/uploads\/2026\/04\/down-arrow.png\" \/>\n\t<meta property=\"og:image:width\" content=\"512\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"38 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.nanocellcaretherapy.com\\\/?page_id=33\",\"url\":\"https:\\\/\\\/www.nanocellcaretherapy.com\\\/?page_id=33\",\"name\":\"Treatment Locator - Nano Cellcare\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.nanocellcaretherapy.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.nanocellcaretherapy.com\\\/?page_id=33#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.nanocellcaretherapy.com\\\/?page_id=33#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.nanocellcaretherapy.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/down-arrow.png\",\"datePublished\":\"2025-09-05T12:31:40+00:00\",\"dateModified\":\"2026-04-14T09:02:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.nanocellcaretherapy.com\\\/?page_id=33#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.nanocellcaretherapy.com\\\/?page_id=33\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.nanocellcaretherapy.com\\\/?page_id=33#primaryimage\",\"url\":\"https:\\\/\\\/www.nanocellcaretherapy.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/down-arrow.png\",\"contentUrl\":\"https:\\\/\\\/www.nanocellcaretherapy.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/down-arrow.png\",\"width\":512,\"height\":512},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.nanocellcaretherapy.com\\\/?page_id=33#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.nanocellcaretherapy.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Treatment Locator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.nanocellcaretherapy.com\\\/#website\",\"url\":\"https:\\\/\\\/www.nanocellcaretherapy.com\\\/\",\"name\":\"Nano Cellcare\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.nanocellcaretherapy.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Treatment Locator - Nano Cellcare","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.nanocellcaretherapy.com\/?page_id=33","og_locale":"en_US","og_type":"article","og_title":"Treatment Locator - Nano Cellcare","og_description":"check out the map at the bottom","og_url":"https:\/\/www.nanocellcaretherapy.com\/?page_id=33","og_site_name":"Nano Cellcare","article_modified_time":"2026-04-14T09:02:00+00:00","og_image":[{"width":512,"height":512,"url":"https:\/\/www.nanocellcaretherapy.com\/wp-content\/uploads\/2026\/04\/down-arrow.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"38 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.nanocellcaretherapy.com\/?page_id=33","url":"https:\/\/www.nanocellcaretherapy.com\/?page_id=33","name":"Treatment Locator - Nano Cellcare","isPartOf":{"@id":"https:\/\/www.nanocellcaretherapy.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.nanocellcaretherapy.com\/?page_id=33#primaryimage"},"image":{"@id":"https:\/\/www.nanocellcaretherapy.com\/?page_id=33#primaryimage"},"thumbnailUrl":"https:\/\/www.nanocellcaretherapy.com\/wp-content\/uploads\/2026\/04\/down-arrow.png","datePublished":"2025-09-05T12:31:40+00:00","dateModified":"2026-04-14T09:02:00+00:00","breadcrumb":{"@id":"https:\/\/www.nanocellcaretherapy.com\/?page_id=33#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.nanocellcaretherapy.com\/?page_id=33"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.nanocellcaretherapy.com\/?page_id=33#primaryimage","url":"https:\/\/www.nanocellcaretherapy.com\/wp-content\/uploads\/2026\/04\/down-arrow.png","contentUrl":"https:\/\/www.nanocellcaretherapy.com\/wp-content\/uploads\/2026\/04\/down-arrow.png","width":512,"height":512},{"@type":"BreadcrumbList","@id":"https:\/\/www.nanocellcaretherapy.com\/?page_id=33#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.nanocellcaretherapy.com\/"},{"@type":"ListItem","position":2,"name":"Treatment Locator"}]},{"@type":"WebSite","@id":"https:\/\/www.nanocellcaretherapy.com\/#website","url":"https:\/\/www.nanocellcaretherapy.com\/","name":"Nano Cellcare","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.nanocellcaretherapy.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/www.nanocellcaretherapy.com\/index.php?rest_route=\/wp\/v2\/pages\/33","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nanocellcaretherapy.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.nanocellcaretherapy.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.nanocellcaretherapy.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nanocellcaretherapy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=33"}],"version-history":[{"count":13,"href":"https:\/\/www.nanocellcaretherapy.com\/index.php?rest_route=\/wp\/v2\/pages\/33\/revisions"}],"predecessor-version":[{"id":211,"href":"https:\/\/www.nanocellcaretherapy.com\/index.php?rest_route=\/wp\/v2\/pages\/33\/revisions\/211"}],"wp:attachment":[{"href":"https:\/\/www.nanocellcaretherapy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=33"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}