{"id":3848,"date":"2026-04-17T06:46:24","date_gmt":"2026-04-17T06:46:24","guid":{"rendered":"https:\/\/finestfamilyhotels.com\/?page_id=3848"},"modified":"2026-06-11T14:49:18","modified_gmt":"2026-06-11T14:49:18","slug":"destinations","status":"publish","type":"page","link":"https:\/\/finestfamilyhotels.com\/fr\/destinations\/","title":{"rendered":"Destinations"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3848\" class=\"elementor elementor-3848 elementor-bc-flex-widget\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d7bc490 e-flex e-con-boxed e-con e-parent\" data-id=\"d7bc490\" 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<div class=\"elementor-element elementor-element-9f143a4 e-con-full e-flex e-con e-child\" data-id=\"9f143a4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-beb4b1e elementor-widget elementor-widget-shortcode\" data-id=\"beb4b1e\" 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\"><nav class=\"ffh-breadcrumbs\" aria-label=\"Breadcrumb\"><ol class=\"ffh-breadcrumbs__list\"><li class=\"ffh-breadcrumbs__item ffh-breadcrumbs__item--current\"><span class=\"ffh-breadcrumbs__text\" aria-current=\"page\">Home<\/span><\/li><\/ol><\/nav><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-53d6ed4 destination-score-hide elementor-widget elementor-widget-shortcode\" data-id=\"53d6ed4\" 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\">\t<div id=\"ffh-destination-explorer-1\" class=\"ffh-dx-root\" data-map-height=\"520px\"><\/div>\n\t<script>\n\t(function(){\n\t\tvar root = document.getElementById(\"ffh-destination-explorer-1\");\n\t\tif (!root) { return; }\n\n\t\tvar config = {\n\t\t\tcontinents: [\"Africa\",\"Asia\",\"Caribbean\",\"Europe\",\"Indian Ocean\",\"Middle East\",\"North America\",\"Pacific & Australasia\"],\n\t\t\tdata: {\"Africa\":[{\"id\":922,\"name\":\"Morocco\",\"slug\":\"morocco\",\"context\":\"Africa\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/fairmont-taghazout-bay-beach-01-300x225.webp\",\"hotels\":[{\"id\":6561,\"title\":\"Fairmont Taghazout Bay\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/fairmont-taghazout-bay\\\/\",\"rating\":\"8.8\",\"address\":\"KM 17, Route d'Essaouira, Station Touristique, Taghazout Bay, 80750 Taghazout, Morocco\",\"amenities\":\"airport-shuttle,babysitting-service,basketball-court,bicycle-rental,black-out-curtains,board-games-puzzles,boutique-gift-shop,childrens-menu,complimentary-breakfast,concierge-service,connecting-rooms,direct-beach-access,ev-charging-stations,extra-bathrooms,family-suites,free-secure-parking,full-service-spa,game-room-billiards,high-chairs,indoor-soft-play,kids-club,kids-pool,laundry-dry-cleaning,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-playground,outdoor-pool,personal-trainer-sessions,pool-beach-towel-service,poolside-bar,private-balcony-terrace,smoke-free-rooms,soccer-pitch,step-free-access,stroller-friendly-pathways,teen-lounge-arcade,valet-parking,yoga-pilates-classes\",\"amenity_slugs\":[\"airport-shuttle\",\"arts-and-crafts-studio\",\"babysitting-service\",\"basketball-court\",\"bicycle-rental\",\"black-out-curtains\",\"board-games-puzzles\",\"boutique-gift-shop\",\"childrens-menu\",\"complimentary-breakfast\",\"concierge-service\",\"connecting-rooms\",\"direct-beach-access\",\"ev-charging-stations\",\"extra-bathrooms\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"game-room-billiards\",\"high-chairs\",\"indoor-soft-play\",\"kids-club\",\"kids-pool\",\"laundry-dry-cleaning\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"personal-trainer-sessions\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"sauna-and-steam-room\",\"smoke-free-rooms\",\"soccer-pitch\",\"step-free-access\",\"stroller-friendly-pathways\",\"teen-lounge-arcade\",\"valet-parking\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\",\"water-wonderlands\"],\"primary_category\":\"Beach Escapes\",\"secondary_categories\":\"Water Wonderlands\",\"latitude\":30.5166,\"longitude\":-9.6868,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/fairmont-taghazout-bay-beach-01-300x225.webp\"}]},{\"id\":994,\"name\":\"Tanzania\",\"slug\":\"tanzania\",\"context\":\"Africa\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/four-seasons-safari-lodge-serengeti-pool-01-300x169.webp\",\"hotels\":[{\"id\":6557,\"title\":\"Four Seasons Safari Lodge Serengeti\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/four-seasons-safari-lodge-serengeti\\\/\",\"rating\":\"9.2\",\"address\":\"Central Serengeti, Serengeti National Park, Tanzania\",\"amenities\":\"24-h-doctor-on-call,24-h-fitness-center,24-h-room-service,adults-only-fine-dining,airport-shuttle,all-day-family-restaurant,allergen-coded-menus,babysitting-service,black-out-curtains,board-games-puzzles,boutique-gift-shop,car-seats-for-transfers,childrens-menu,complimentary-breakfast,complimentary-strollers,concierge-service,daily-family-activities,evening-family-entertainment,family-suites,full-service-spa,high-chairs,in-room-family-safety-kit,infinity-rooftop-pool,kids-club,kids-cooking-class,laundry-dry-cleaning,lifeguard-on-duty,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-playground,outdoor-pool,pool-beach-towel-service,poolside-bar,private-balcony-terrace,smoke-free-rooms,step-free-access,teen-lounge-arcade,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-doctor-on-call\",\"24-h-fitness-center\",\"24-h-room-service\",\"24-h-security-and-cctv\",\"adults-only-fine-dining\",\"airport-shuttle\",\"all-day-family-restaurant\",\"allergen-coded-menus\",\"arts-and-crafts-studio\",\"baby-steriliser-and-bottle-warmer\",\"babysitting-service\",\"black-out-curtains\",\"board-games-puzzles\",\"boutique-gift-shop\",\"car-seats-for-transfers\",\"childrens-menu\",\"complimentary-breakfast\",\"complimentary-strollers\",\"concierge-service\",\"daily-family-activities\",\"evening-family-entertainment\",\"family-suites\",\"full-service-spa\",\"high-chairs\",\"hiking-and-nature-trails\",\"in-room-family-safety-kit\",\"infinity-rooftop-pool\",\"kids-club\",\"kids-cooking-class\",\"laundry-dry-cleaning\",\"lifeguard-on-duty\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"sauna-and-steam-room\",\"smoke-free-rooms\",\"step-free-access\",\"teen-lounge-arcade\",\"yoga-pilates-classes\"],\"category_slugs\":[\"nature-wilderness\",\"top-worldwide\"],\"primary_category\":\"Top Worldwide\",\"secondary_categories\":\"Nature & Wilderness\",\"latitude\":-2.234435,\"longitude\":34.919056,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/four-seasons-safari-lodge-serengeti-pool-01-300x169.webp\"}]},{\"id\":999,\"name\":\"South Africa\",\"slug\":\"south-africa\",\"context\":\"Africa\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Ecca-Lodge11-300x202.webp\",\"hotels\":[{\"id\":7626,\"title\":\"Kwandwe Ecca Lodge\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/kwandwe-ecca-lodge\\\/\",\"rating\":\"8.4\",\"address\":\"Heatherton Towers, Fort Brown, Kwandwe Private Game Reserve, Eastern Cape, 6140, South Africa\",\"amenities\":\"babysitting-service,boutique-gift-shop,hiking-and-nature-trails,kids-stay-free,laundry-dry-cleaning,mini-fridge,outdoor-pool,private-balcony-terrace,private-plunge-pools\",\"amenity_slugs\":[\"babysitting-service\",\"boutique-gift-shop\",\"hiking-and-nature-trails\",\"kids-stay-free\",\"laundry-dry-cleaning\",\"mini-fridge\",\"outdoor-pool\",\"private-balcony-terrace\",\"private-plunge-pools\"],\"category_slugs\":[\"nature-wilderness\"],\"primary_category\":\"Nature & Wilderness\",\"secondary_categories\":\"\",\"latitude\":-33.146321,\"longitude\":26.5256,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Ecca-Lodge11-300x202.webp\"},{\"id\":6555,\"title\":\"Morukuru Family Madikwe\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/morukuru-family-madikwe\\\/\",\"rating\":\"8.9\",\"address\":\"Madikwe Game Reserve, North West Province, South Africa\",\"amenities\":\"24-h-security-and-cctv,airport-shuttle,babysitting-service,board-games-puzzles,car-seats-for-transfers,childrens-menu,concierge-service,daily-family-activities,evening-family-entertainment,extra-bathrooms,family-bunk-bed-rooms,family-suites,full-service-spa,high-chairs,hiking-and-nature-trails,infinity-rooftop-pool,kids-teens-spa-menu,kids-cooking-class,laundry-dry-cleaning,multilingual-staff,outdoor-dining-terrace,outdoor-pool,private-balcony-terrace\",\"amenity_slugs\":[\"24-h-security-and-cctv\",\"airport-shuttle\",\"babysitting-service\",\"board-games-puzzles\",\"car-seats-for-transfers\",\"childrens-menu\",\"concierge-service\",\"daily-family-activities\",\"evening-family-entertainment\",\"extra-bathrooms\",\"family-bunk-bed-rooms\",\"family-suites\",\"full-service-spa\",\"high-chairs\",\"hiking-and-nature-trails\",\"infinity-rooftop-pool\",\"kids-teens-spa-menu\",\"kids-cooking-class\",\"laundry-dry-cleaning\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-pool\",\"private-balcony-terrace\"],\"category_slugs\":[\"nature-wilderness\",\"top-worldwide\"],\"primary_category\":\"Nature & Wilderness\",\"secondary_categories\":\"Top Worldwide\",\"latitude\":-24.75,\"longitude\":26.15,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/morukuru-family-madikwe-exterior-courtyard-02-300x200.webp\"}]},{\"id\":921,\"name\":\"Cape Town\",\"slug\":\"cape-town\",\"context\":\"Africa\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/one-only-cape-town-exterior-01-300x200.webp\",\"hotels\":[{\"id\":7621,\"title\":\"One&#038;Only Cape Town\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/one-only-cape-town\\\/\",\"rating\":\"8.3\",\"address\":\"Dock Road, Victoria & Alfred Waterfront, 8001 Cape Town, South Africa\",\"amenities\":\"24-h-fitness-center,24-h-security-and-cctv,airport-shuttle,arts-and-crafts-studio,atm-on-site,baby-equipment-rental,babysitting-service,board-games-puzzles,childrens-menu,complimentary-strollers,concierge-service,connecting-rooms,daily-family-activities,extra-bathrooms,family-suites,free-secure-parking,full-service-spa,game-room-billiards,hiking-and-nature-trails,hypo-allergenic-rooms,indoor-soft-play,infinity-rooftop-pool,kid-friendly-buffet,kids-club,kids-stay-free,laundry-dry-cleaning,multilingual-staff,outdoor-dining-terrace,outdoor-playground,outdoor-pool,personal-trainer-sessions,pool-beach-towel-service,poolside-bar,private-balcony-terrace,sauna-and-steam-room,smoke-free-rooms,stand-up-paddleboard-and-kayaks,valet-parking,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-fitness-center\",\"24-h-security-and-cctv\",\"airport-shuttle\",\"arts-and-crafts-studio\",\"atm-on-site\",\"baby-equipment-rental\",\"babysitting-service\",\"board-games-puzzles\",\"childrens-menu\",\"complimentary-strollers\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"extra-bathrooms\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"game-room-billiards\",\"hiking-and-nature-trails\",\"hypo-allergenic-rooms\",\"indoor-soft-play\",\"infinity-rooftop-pool\",\"kid-friendly-buffet\",\"kids-club\",\"kids-stay-free\",\"laundry-dry-cleaning\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"personal-trainer-sessions\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"sauna-and-steam-room\",\"smoke-free-rooms\",\"stand-up-paddleboard-and-kayaks\",\"valet-parking\",\"yoga-pilates-classes\"],\"category_slugs\":[\"top-worldwide\",\"urban-sanctuaries\"],\"primary_category\":\"Urban Sanctuaries\",\"secondary_categories\":\"Top Worldwide\",\"latitude\":-33.9086,\"longitude\":18.4165,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/one-only-cape-town-exterior-01-300x200.webp\"}]}],\"Asia\":[{\"id\":925,\"name\":\"Japan\",\"slug\":\"japan\",\"context\":\"Asia\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/E383AAE382BEE3838AE383BCE383ACE585ABE383B6E5B2B3_E38395E382A1E3839FE383AAE383BCE383AFE383BCE382B1E383BCE382B7E383A7E383B3E6BB9EE59CA8E382A4E383A1E383BCE382B8_1_sl9iux-300x169.webp\",\"hotels\":[{\"id\":6730,\"title\":\"Hoshino Resorts RISONARE Yatsugatake\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/hoshino-resorts-risonare-yatsugatake\\\/\",\"rating\":\"8.4\",\"address\":\"129-1 Kobuchisawa-cho, Hokuto, Yamanashi 408-0044, Japan\",\"amenities\":\"airport-shuttle,all-day-family-restaurant,baby-equipment-rental,babysitting-service,bicycle-rental,boutique-gift-shop,childrens-menu,daily-family-activities,ev-charging-stations,family-bike-tours,family-bunk-bed-rooms,family-suites,free-secure-parking,full-service-spa,high-chairs,horseback-riding,indoor-climbing-wall,indoor-heated-pool,indoor-soft-play,kid-friendly-buffet,kids-cooking-class,kids-pool,kids-stay-free,kitchenette-microwave,lifeguard-on-duty,multilingual-staff,outdoor-dining-terrace,outdoor-playground,pool-beach-towel-service,poolside-bar,private-balcony-terrace,private-plunge-pools,seasonal-ski-school-rental,smoke-free-rooms,waterslide\",\"amenity_slugs\":[\"airport-shuttle\",\"all-day-family-restaurant\",\"arts-and-crafts-studio\",\"baby-equipment-rental\",\"babysitting-service\",\"bicycle-rental\",\"boutique-gift-shop\",\"childrens-menu\",\"daily-family-activities\",\"ev-charging-stations\",\"family-bike-tours\",\"family-bunk-bed-rooms\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"high-chairs\",\"hiking-and-nature-trails\",\"horseback-riding\",\"indoor-climbing-wall\",\"indoor-heated-pool\",\"indoor-soft-play\",\"kid-friendly-buffet\",\"kids-cooking-class\",\"kids-pool\",\"kids-stay-free\",\"kitchenette-microwave\",\"lifeguard-on-duty\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"private-plunge-pools\",\"sauna-and-steam-room\",\"seasonal-ski-school-rental\",\"smoke-free-rooms\",\"stand-up-paddleboard-and-kayaks\",\"waterslide\"],\"category_slugs\":[\"nature-wilderness\",\"ski-resorts\",\"water-wonderlands\"],\"primary_category\":\"Nature & Wilderness\",\"secondary_categories\":\"Water Wonderlands|Ski Resorts\",\"latitude\":35.869311,\"longitude\":138.327204,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/E383AAE382BEE3838AE383BCE383ACE585ABE383B6E5B2B3_E38395E382A1E3839FE383AAE383BCE383AFE383BCE382B1E383BCE382B7E383A7E383B3E6BB9EE59CA8E382A4E383A1E383BCE382B8_1_sl9iux-300x169.webp\"}]},{\"id\":1001,\"name\":\"Philippines\",\"slug\":\"philippines\",\"context\":\"Asia\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/680939450-300x256.webp\",\"hotels\":[{\"id\":6720,\"title\":\"Shangri-La Mactan, Cebu\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/shangri-la-mactan-cebu\\\/\",\"rating\":\"8.7\",\"address\":\"\",\"amenities\":\"24-h-doctor-on-call,24-h-fitness-center,24-h-room-service,airport-shuttle,all-day-family-restaurant,allergen-coded-menus,archery-range,babysitting-service,black-out-curtains,board-games-puzzles,boutique-gift-shop,childrens-menu,complimentary-strollers,complimentary-water-sports,concierge-service,connecting-rooms,daily-family-activities,direct-beach-access,evening-family-entertainment,extra-bathrooms,family-suites,free-secure-parking,full-service-spa,game-room-billiards,high-chairs,indoor-soft-play,kid-friendly-buffet,kids-club,kids-pool,laundry-dry-cleaning,lifeguard-on-duty,mini-fridge,mini-golf-putting-green,multilingual-staff,outdoor-dining-terrace,outdoor-playground,outdoor-pool,pool-beach-towel-service,poolside-bar,private-balcony-terrace,shaded-toddler-splash-zone,snorkelling-gear,step-free-access,teen-lounge-arcade,tennis-court,waterslide\",\"amenity_slugs\":[\"24-h-doctor-on-call\",\"24-h-fitness-center\",\"24-h-room-service\",\"24-h-security-and-cctv\",\"airport-shuttle\",\"all-day-family-restaurant\",\"allergen-coded-menus\",\"archery-range\",\"babysitting-service\",\"black-out-curtains\",\"board-games-puzzles\",\"boutique-gift-shop\",\"childrens-menu\",\"complimentary-strollers\",\"complimentary-water-sports\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"direct-beach-access\",\"evening-family-entertainment\",\"extra-bathrooms\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"game-room-billiards\",\"high-chairs\",\"indoor-soft-play\",\"kid-friendly-buffet\",\"kids-club\",\"kids-pool\",\"laundry-dry-cleaning\",\"lifeguard-on-duty\",\"mini-fridge\",\"mini-golf-putting-green\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"sauna-and-steam-room\",\"shaded-toddler-splash-zone\",\"snorkel-and-scuba-lessons\",\"snorkelling-gear\",\"stand-up-paddleboard-and-kayaks\",\"step-free-access\",\"teen-lounge-arcade\",\"tennis-court\",\"waterslide\"],\"category_slugs\":[\"beach-escapes\",\"water-wonderlands\"],\"primary_category\":\"Beach Escapes\",\"secondary_categories\":\"Water Wonderlands\",\"latitude\":10.310491,\"longitude\":124.022174,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/680939450-300x256.webp\"}]},{\"id\":1002,\"name\":\"Malaysia\",\"slug\":\"malaysia\",\"context\":\"Asia\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/7B9E0923F1-46AC-4354-8D85-A91CC02AF84C7DWebsiteBanner_1920x800-300x125.webp\",\"hotels\":[{\"id\":6660,\"title\":\"Shangri-La Rasa Ria\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/shangri-la-rasa-ria\\\/\",\"rating\":\"8.9\",\"address\":\"Pantai Dalit, PO Box 600, Tuaran, Kota Kinabalu, Sabah 89208, Malaysia\",\"amenities\":\"24-h-fitness-center,24-h-room-service,airport-shuttle,all-day-family-restaurant,archery-range,babysitting-service,beach-volleyball,bicycle-rental,board-games-puzzles,boutique-gift-shop,childrens-menu,chromecast-streaming,concierge-service,connecting-rooms,daily-family-activities,direct-beach-access,ev-charging-stations,evening-family-entertainment,extra-bathrooms,family-bunk-bed-rooms,family-suites,free-secure-parking,full-service-spa,game-room-billiards,golf-driving-range,high-chairs,horseback-riding,in-room-family-safety-kit,kid-friendly-buffet,kids-club,kids-pillow-menu,kids-pool,kids-stay-free,laundry-dry-cleaning,lifeguard-on-duty,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-playground,outdoor-pool,pool-beach-towel-service,poolside-bar,private-balcony-terrace,smoke-free-rooms,snorkelling-gear,step-free-access,stroller-friendly-pathways,tennis-court,waterslide,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-fitness-center\",\"24-h-room-service\",\"airport-shuttle\",\"all-day-family-restaurant\",\"archery-range\",\"arts-and-crafts-studio\",\"babysitting-service\",\"beach-volleyball\",\"bicycle-rental\",\"board-games-puzzles\",\"boutique-gift-shop\",\"childrens-menu\",\"chromecast-streaming\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"direct-beach-access\",\"ev-charging-stations\",\"evening-family-entertainment\",\"extra-bathrooms\",\"family-bunk-bed-rooms\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"game-room-billiards\",\"golf-driving-range\",\"high-chairs\",\"hiking-and-nature-trails\",\"horseback-riding\",\"in-room-family-safety-kit\",\"kid-friendly-buffet\",\"kids-club\",\"kids-pillow-menu\",\"kids-pool\",\"kids-stay-free\",\"laundry-dry-cleaning\",\"lifeguard-on-duty\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"sauna-and-steam-room\",\"smoke-free-rooms\",\"snorkelling-gear\",\"stand-up-paddleboard-and-kayaks\",\"step-free-access\",\"stroller-friendly-pathways\",\"tennis-court\",\"waterslide\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\",\"nature-wilderness\"],\"primary_category\":\"Nature & Wilderness\",\"secondary_categories\":\"Beach Escapes\",\"latitude\":6.1535,\"longitude\":116.1483,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/7B9E0923F1-46AC-4354-8D85-A91CC02AF84C7DWebsiteBanner_1920x800-300x125.webp\"}]}],\"Caribbean\":[{\"id\":926,\"name\":\"Turks & Caicos\",\"slug\":\"turks-caicos\",\"context\":\"Caribbean\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero_btc_desktop_7bbbfdd9ef-300x139.webp\",\"hotels\":[{\"id\":8223,\"title\":\"Beaches Turks &#038; Caicos Resort Villages &#038; Spa\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/beaches-turks-and-caicos\\\/\",\"rating\":\"8.2\",\"address\":\"Lower Bight Road, The Bight Settlement, Providenciales, TKCA 1ZZ, Turks and Caicos Islands\",\"amenities\":\"24-h-fitness-center,airport-shuttle,all-day-family-restaurant,arts-and-crafts-studio,babysitting-service,basketball-court,beach-volleyball,childrens-menu,complimentary-breakfast,complimentary-strollers,complimentary-water-sports,concierge-service,connecting-rooms,daily-family-activities,direct-beach-access,evening-family-entertainment,family-bunk-bed-rooms,family-movie-nights,family-suites,free-secure-parking,full-service-spa,game-room-billiards,high-chairs,infinity-rooftop-pool,kid-friendly-buffet,kids-teens-spa-menu,kids-club,kids-pool,lazy-river-splash-pad,lifeguard-on-duty,mini-fridge,outdoor-dining-terrace,outdoor-pool,pool-beach-towel-service,poolside-bar,private-balcony-terrace,sensory-kits-autism-friendly,smoke-free-rooms,snorkel-and-scuba-lessons,snorkelling-gear,soccer-pitch,stand-up-paddleboard-and-kayaks,step-free-access,teen-lounge-arcade,tennis-court,waterslide\",\"amenity_slugs\":[\"24-h-fitness-center\",\"airport-shuttle\",\"all-day-family-restaurant\",\"arts-and-crafts-studio\",\"babysitting-service\",\"basketball-court\",\"beach-volleyball\",\"childrens-menu\",\"complimentary-breakfast\",\"complimentary-strollers\",\"complimentary-water-sports\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"direct-beach-access\",\"evening-family-entertainment\",\"family-bunk-bed-rooms\",\"family-movie-nights\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"game-room-billiards\",\"high-chairs\",\"infinity-rooftop-pool\",\"kid-friendly-buffet\",\"kids-teens-spa-menu\",\"kids-club\",\"kids-pool\",\"lazy-river-splash-pad\",\"lifeguard-on-duty\",\"mini-fridge\",\"outdoor-dining-terrace\",\"outdoor-pool\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"sensory-kits-autism-friendly\",\"smoke-free-rooms\",\"snorkel-and-scuba-lessons\",\"snorkelling-gear\",\"soccer-pitch\",\"stand-up-paddleboard-and-kayaks\",\"step-free-access\",\"teen-lounge-arcade\",\"tennis-court\",\"waterslide\"],\"category_slugs\":[\"all-inclusive-resorts\",\"beach-escapes\",\"top-worldwide\",\"water-wonderlands\"],\"primary_category\":\"All-Inclusive Resorts\",\"secondary_categories\":\"Beach Escapes|Water Wonderlands|Top Worldwide\",\"latitude\":21.789904,\"longitude\":-72.193641,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero_btc_desktop_7bbbfdd9ef-300x139.webp\"}]},{\"id\":995,\"name\":\"Grenada\",\"slug\":\"grenada\",\"context\":\"Caribbean\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/aerial-view-300x169.webp\",\"hotels\":[{\"id\":6240,\"title\":\"Six Senses La Sagesse\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/six-senses-la-sagesse\\\/\",\"rating\":\"8.9\",\"address\":\"La Sagesse Beach, Saint David, Grenada W.I.\",\"amenities\":\"24-h-fitness-center,airport-shuttle,all-day-family-restaurant,babysitting-service,bicycle-rental,black-out-curtains,board-games-puzzles,boutique-gift-shop,childrens-menu,complimentary-breakfast,complimentary-water-sports,concierge-service,daily-family-activities,direct-beach-access,evening-family-entertainment,extra-bathrooms,family-bike-tours,family-movie-nights,family-suites,free-secure-parking,full-service-spa,game-room-billiards,high-chairs,hypo-allergenic-rooms,kids-club,kids-cooking-class,kids-teens-spa-menu,laundry-dry-cleaning,meditation-garden,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-playground,outdoor-pool,personal-trainer-sessions,pool-beach-towel-service,poolside-bar,private-balcony-terrace,private-plunge-pools,smoke-free-rooms,snorkelling-gear,teen-lounge-arcade,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-fitness-center\",\"airport-shuttle\",\"all-day-family-restaurant\",\"arts-and-crafts-studio\",\"babysitting-service\",\"bicycle-rental\",\"black-out-curtains\",\"board-games-puzzles\",\"boutique-gift-shop\",\"childrens-menu\",\"complimentary-breakfast\",\"complimentary-water-sports\",\"concierge-service\",\"daily-family-activities\",\"direct-beach-access\",\"evening-family-entertainment\",\"extra-bathrooms\",\"family-bike-tours\",\"family-movie-nights\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"game-room-billiards\",\"high-chairs\",\"hiking-and-nature-trails\",\"hypo-allergenic-rooms\",\"kids-teens-spa-menu\",\"kids-club\",\"kids-cooking-class\",\"laundry-dry-cleaning\",\"meditation-garden\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"personal-trainer-sessions\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"private-plunge-pools\",\"sauna-and-steam-room\",\"smoke-free-rooms\",\"snorkelling-gear\",\"stand-up-paddleboard-and-kayaks\",\"teen-lounge-arcade\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\",\"water-wonderlands\"],\"primary_category\":\"Beach Escapes\",\"secondary_categories\":\"Water Wonderlands\",\"latitude\":12.021795,\"longitude\":-61.674556,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/aerial-view-300x169.webp\"}]}],\"Croatia\":[],\"Europe\":[{\"id\":992,\"name\":\"Val Gardena\",\"slug\":\"val-gardena\",\"context\":\"Europe\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/28C2920Hannes20Niederkofler_WEB_6011-300x200.webp\",\"hotels\":[{\"id\":6185,\"title\":\"Cavallino Bianco Family Spa Grand Hotel\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/cavallino-bianco-family-spa-grand-hotel\\\/\",\"rating\":\"8.7\",\"address\":\"Streda Rezia 22, 39046 Ortisei (Urtij\\u00ebi \\\/ St. Ulrich), Val Gardena, South Tyrol, Italy\",\"amenities\":\"24-h-doctor-on-call,24-h-fitness-center,arts-and-crafts-studio,baby-equipment-rental,baby-steriliser-and-bottle-warmer,babysitting-service,bicycle-rental,board-games-puzzles,childrens-menu,complimentary-breakfast,complimentary-strollers,concierge-service,evening-family-entertainment,extra-bathrooms,family-bike-tours,family-bunk-bed-rooms,family-suites,full-service-spa,high-chairs,hiking-and-nature-trails,horseback-riding,indoor-heated-pool,indoor-soft-play,kid-friendly-buffet,kids-teens-spa-menu,kids-club,kids-pool,kitchenette-microwave,laundry-dry-cleaning,outdoor-playground,outdoor-pool,personal-trainer-sessions,pool-beach-towel-service,poolside-bar,private-balcony-terrace,sauna-and-steam-room,teen-lounge-arcade,waterslide,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-doctor-on-call\",\"24-h-fitness-center\",\"arts-and-crafts-studio\",\"baby-equipment-rental\",\"baby-steriliser-and-bottle-warmer\",\"babysitting-service\",\"bicycle-rental\",\"board-games-puzzles\",\"childrens-menu\",\"complimentary-breakfast\",\"complimentary-strollers\",\"concierge-service\",\"evening-family-entertainment\",\"extra-bathrooms\",\"family-bike-tours\",\"family-bunk-bed-rooms\",\"family-suites\",\"full-service-spa\",\"high-chairs\",\"hiking-and-nature-trails\",\"horseback-riding\",\"indoor-heated-pool\",\"indoor-soft-play\",\"kid-friendly-buffet\",\"kids-teens-spa-menu\",\"kids-club\",\"kids-pool\",\"kitchenette-microwave\",\"laundry-dry-cleaning\",\"outdoor-playground\",\"outdoor-pool\",\"personal-trainer-sessions\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"sauna-and-steam-room\",\"seasonal-ski-school-and-rental\",\"teen-lounge-arcade\",\"waterslide\",\"yoga-pilates-classes\"],\"category_slugs\":[\"nature-wilderness\",\"ski-resorts\",\"top-worldwide\",\"water-wonderlands\"],\"primary_category\":\"Ski Resorts\",\"secondary_categories\":\"Top Worldwide|Water Wonderlands|Nature & Wilderness\",\"latitude\":46.5742,\"longitude\":11.6708,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/28C2920Hannes20Niederkofler_WEB_6011-300x200.webp\"}]},{\"id\":940,\"name\":\"Gosau\",\"slug\":\"gosau\",\"context\":\"Europe\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/kinderhotel-dachsteinkoenig-gosau-austria-01-300x201.jpg\",\"hotels\":[{\"id\":5488,\"title\":\"Dachsteink\\u00f6nig Familux Resort\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/kinderhotel-dachsteinkoenig-gosau-austria\\\/\",\"rating\":\"9.2\",\"address\":\"Am Hornspitz 1, 4824 Gosau, Austria\",\"amenities\":\"airport-shuttle,baby-equipment-rental,babysitting-service,bicycle-rental,black-out-curtains,bowling-alley,childrens-menu,complimentary-breakfast,complimentary-strollers,connecting-rooms,daily-family-activities,ev-charging-stations,evening-family-entertainment,extra-bathrooms,family-bunk-bed-rooms,family-suites,full-service-spa,game-room-billiards,high-chairs,hypo-allergenic-rooms,indoor-heated-pool,indoor-soft-play,kid-friendly-buffet,kids-club,kids-pool,kids-teens-spa-menu,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-playground,outdoor-pool,personal-trainer-sessions,private-balcony-terrace,private-plunge-pools,seasonal-ski-school-rental,smoke-free-rooms,step-free-access,stroller-friendly-pathways,teen-lounge-arcade,waterslide,yoga-pilates-classes\",\"amenity_slugs\":[\"airport-shuttle\",\"arts-and-crafts-studio\",\"baby-equipment-rental\",\"babysitting-service\",\"bicycle-rental\",\"black-out-curtains\",\"bowling-alley\",\"childrens-menu\",\"complimentary-breakfast\",\"complimentary-strollers\",\"connecting-rooms\",\"daily-family-activities\",\"ev-charging-stations\",\"evening-family-entertainment\",\"extra-bathrooms\",\"family-bunk-bed-rooms\",\"family-suites\",\"full-service-spa\",\"game-room-billiards\",\"high-chairs\",\"hiking-and-nature-trails\",\"hypo-allergenic-rooms\",\"indoor-heated-pool\",\"indoor-soft-play\",\"kid-friendly-buffet\",\"kids-teens-spa-menu\",\"kids-club\",\"kids-pool\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"personal-trainer-sessions\",\"private-balcony-terrace\",\"private-plunge-pools\",\"sauna-and-steam-room\",\"seasonal-ski-school-rental\",\"smoke-free-rooms\",\"step-free-access\",\"stroller-friendly-pathways\",\"teen-lounge-arcade\",\"waterslide\",\"yoga-pilates-classes\"],\"category_slugs\":[\"all-inclusive-resorts\",\"nature-wilderness\",\"ski-resorts\",\"water-wonderlands\"],\"primary_category\":\"Ski Resorts\",\"secondary_categories\":\"Water Wonderlands|All-Inclusive Resorts|Nature & Wilderness\",\"latitude\":47.582373,\"longitude\":13.534298,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/kinderhotel-dachsteinkoenig-gosau-austria-01-300x201.jpg\"}]},{\"id\":799,\"name\":\"Spain\",\"slug\":\"spain\",\"context\":\"Europe\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/Frame-499-1-300x300.webp\",\"hotels\":[{\"id\":5583,\"title\":\"Ikos Andalusia\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/ikos-andalusia\\\/\",\"rating\":\"9\",\"address\":\"N-340, Km 164, 29680 Estepona, M\\u00e1laga, Andalusia, Spain\",\"amenities\":\"24-h-room-service,adults-only-fine-dining,all-day-family-restaurant,allergen-coded-menus,allergy-friendly-public-areas,baby-equipment-rental,babysitting-service,beach-volleyball,bicycle-rental,black-out-curtains,childrens-menu,complimentary-water-sports,complimentary-welcome-ice-cream,concierge-service,connecting-rooms,daily-family-activities,direct-beach-access,evening-family-entertainment,family-bike-tours,family-suites,free-secure-parking,full-service-spa,high-chairs,indoor-heated-pool,kid-friendly-buffet,kids-club,kids-cooking-class,kids-pool,laundry-dry-cleaning,lifeguard-on-duty,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-playground,outdoor-pool,personal-trainer-sessions,pool-beach-towel-service,poolside-bar,private-balcony-terrace,private-plunge-pools,shaded-toddler-splash-zone,stroller-friendly-pathways,teen-lounge-arcade,tennis-court,valet-parking,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-room-service\",\"adults-only-fine-dining\",\"all-day-family-restaurant\",\"allergen-coded-menus\",\"allergy-friendly-public-areas\",\"arts-and-crafts-studio\",\"baby-equipment-rental\",\"babysitting-service\",\"beach-volleyball\",\"bicycle-rental\",\"black-out-curtains\",\"childrens-menu\",\"complimentary-water-sports\",\"complimentary-welcome-ice-cream\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"direct-beach-access\",\"evening-family-entertainment\",\"family-bike-tours\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"high-chairs\",\"indoor-heated-pool\",\"kid-friendly-buffet\",\"kids-club\",\"kids-cooking-class\",\"kids-pool\",\"laundry-dry-cleaning\",\"lifeguard-on-duty\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"personal-trainer-sessions\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"private-plunge-pools\",\"sauna-and-steam-room\",\"shaded-toddler-splash-zone\",\"stand-up-paddleboard-and-kayaks\",\"stroller-friendly-pathways\",\"teen-lounge-arcade\",\"tennis-court\",\"valet-parking\",\"yoga-pilates-classes\"],\"category_slugs\":[\"all-inclusive-resorts\",\"beach-escapes\",\"top-worldwide\"],\"primary_category\":\"All-Inclusive Resorts\",\"secondary_categories\":\"Beach Escapes|Top Worldwide\",\"latitude\":36.45195,\"longitude\":-5.06026,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/ikos-andalusia-family-15-300x208.webp\"}]},{\"id\":955,\"name\":\"Greece\",\"slug\":\"greece\",\"context\":\"Europe\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/ikos-dassia-exterior-02-300x225.jpg\",\"hotels\":[{\"id\":5693,\"title\":\"Ikos Dassia\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/ikos-dassia\\\/\",\"rating\":\"9.1\",\"address\":\"49083 Dassia, Corfu, Greece\",\"amenities\":\"24-h-fitness-center,24-h-room-service,adults-only-fine-dining,airport-shuttle,all-day-family-restaurant,allergy-friendly-public-areas,baby-equipment-rental,babysitting-service,beach-volleyball,bicycle-rental,board-games-puzzles,car-seats-for-transfers,childrens-menu,complimentary-breakfast,complimentary-water-sports,complimentary-welcome-ice-cream,concierge-service,connecting-rooms,daily-family-activities,direct-beach-access,ev-charging-stations,evening-family-entertainment,family-suites,free-secure-parking,full-service-spa,high-chairs,indoor-heated-pool,kid-friendly-buffet,kids-club,kids-cooking-class,kids-pool,kids-stay-free,mini-fridge,multilingual-staff,outdoor-playground,outdoor-pool,pool-beach-towel-service,poolside-bar,priority-family-check-in-desk,private-balcony-terrace,private-plunge-pools,shaded-toddler-splash-zone,smoke-free-rooms,step-free-access,stroller-friendly-pathways,teen-lounge-arcade,tennis-court,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-fitness-center\",\"24-h-room-service\",\"adults-only-fine-dining\",\"airport-shuttle\",\"all-day-family-restaurant\",\"allergy-friendly-public-areas\",\"baby-equipment-rental\",\"babysitting-service\",\"beach-volleyball\",\"bicycle-rental\",\"board-games-puzzles\",\"car-seats-for-transfers\",\"childrens-menu\",\"complimentary-breakfast\",\"complimentary-water-sports\",\"complimentary-welcome-ice-cream\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"direct-beach-access\",\"ev-charging-stations\",\"evening-family-entertainment\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"high-chairs\",\"indoor-heated-pool\",\"kid-friendly-buffet\",\"kids-club\",\"kids-cooking-class\",\"kids-pool\",\"kids-stay-free\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-playground\",\"outdoor-pool\",\"pool-beach-towel-service\",\"poolside-bar\",\"priority-family-check-in-desk\",\"private-balcony-terrace\",\"private-plunge-pools\",\"sauna-and-steam-room\",\"shaded-toddler-splash-zone\",\"smoke-free-rooms\",\"stand-up-paddleboard-and-kayaks\",\"step-free-access\",\"stroller-friendly-pathways\",\"teen-lounge-arcade\",\"tennis-court\",\"yoga-pilates-classes\"],\"category_slugs\":[\"all-inclusive-resorts\",\"beach-escapes\",\"top-worldwide\"],\"primary_category\":\"All-Inclusive Resorts\",\"secondary_categories\":\"Beach Escapes|Top Worldwide\",\"latitude\":39.6800565,\"longitude\":19.8391743,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/ikos-dassia-exterior-02-300x225.jpg\"}]},{\"id\":991,\"name\":\"Mallorca\",\"slug\":\"mallorca\",\"context\":\"Europe\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/IPP23_2-2760_2880x2020-scaled-e1695382089317-300x210.webp\",\"hotels\":[{\"id\":6184,\"title\":\"Ikos Porto Petro\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/ikos-porto-petro\\\/\",\"rating\":\"8.8\",\"address\":\"Carrer d'es Far, 16, 07691 Portopetro, Illes Balears, Spain\",\"amenities\":\"24-h-fitness-center,24-h-room-service,airport-shuttle,atm-on-site,baby-equipment-rental,baby-steriliser-and-bottle-warmer,babysitting-service,bicycle-rental,black-out-curtains,childrens-menu,complimentary-breakfast,complimentary-strollers,complimentary-water-sports,concierge-service,connecting-rooms,daily-family-activities,direct-beach-access,ev-charging-stations,evening-family-entertainment,extra-bathrooms,family-movie-nights,family-suites,full-service-spa,high-chairs,hiking-and-nature-trails,hypo-allergenic-rooms,kid-friendly-buffet,kids-club,kids-pool,laundry-dry-cleaning,lifeguard-on-duty,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-playground,outdoor-pool,pool-beach-towel-service,poolside-bar,private-balcony-terrace,private-plunge-pools,sauna-and-steam-room,shaded-toddler-splash-zone,smoke-free-rooms,soccer-pitch,stand-up-paddleboard-and-kayaks,stroller-friendly-pathways,teen-lounge-arcade,tennis-court,valet-parking,waterslide,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-fitness-center\",\"24-h-room-service\",\"airport-shuttle\",\"atm-on-site\",\"baby-equipment-rental\",\"baby-steriliser-and-bottle-warmer\",\"babysitting-service\",\"bicycle-rental\",\"black-out-curtains\",\"childrens-menu\",\"complimentary-breakfast\",\"complimentary-strollers\",\"complimentary-water-sports\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"direct-beach-access\",\"ev-charging-stations\",\"evening-family-entertainment\",\"extra-bathrooms\",\"family-movie-nights\",\"family-suites\",\"full-service-spa\",\"high-chairs\",\"hiking-and-nature-trails\",\"hypo-allergenic-rooms\",\"kid-friendly-buffet\",\"kids-club\",\"kids-pool\",\"laundry-dry-cleaning\",\"lifeguard-on-duty\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"private-plunge-pools\",\"sauna-and-steam-room\",\"shaded-toddler-splash-zone\",\"smoke-free-rooms\",\"soccer-pitch\",\"stand-up-paddleboard-and-kayaks\",\"stroller-friendly-pathways\",\"teen-lounge-arcade\",\"tennis-court\",\"valet-parking\",\"waterslide\",\"yoga-pilates-classes\"],\"category_slugs\":[\"all-inclusive-resorts\",\"beach-escapes\",\"top-worldwide\"],\"primary_category\":\"All-Inclusive Resorts\",\"secondary_categories\":\"Beach Escapes|Top Worldwide\",\"latitude\":39.35903,\"longitude\":3.21019,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/IPP23_2-2760_2880x2020-scaled-e1695382089317-300x210.webp\"}]},{\"id\":990,\"name\":\"Belek\",\"slug\":\"belek\",\"context\":\"Europe\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/regnum-the-crown-pool-01-300x113.webp\",\"hotels\":[{\"id\":5759,\"title\":\"Regnum The Crown\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/regnum-the-crown\\\/\",\"rating\":\"9.4\",\"address\":\"Belek Turizm Merkezi, Kadriye Mahallesi, Ta\\u015fl\\u0131burun Mevki, 07525 Serik-Antalya, T\\u00fcrkiye\",\"amenities\":\"24-h-doctor-on-call,24-h-room-service,adults-only-fine-dining,airport-shuttle,all-day-family-restaurant,atm-on-site,baby-equipment-rental,babysitting-service,basketball-court,beach-volleyball,bicycle-rental,black-out-curtains,board-games-puzzles,boutique-gift-shop,bowling-alley,car-seats-for-transfers,childrens-menu,complimentary-breakfast,complimentary-strollers,concierge-service,daily-family-activities,direct-beach-access,evening-family-entertainment,extra-bathrooms,family-movie-nights,family-suites,free-secure-parking,full-service-spa,game-room-billiards,golf-driving-range,heated-saline-pool,high-chairs,indoor-heated-pool,indoor-soft-play,infinity-rooftop-pool,kid-friendly-buffet,kids-club,kids-cooking-class,kids-pool,kids-teens-spa-menu,kitchenette-microwave,laundry-dry-cleaning,lazy-river-splash-pad,lifeguard-on-duty,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-playground,outdoor-pool,personal-trainer-sessions,pool-beach-towel-service,poolside-bar,private-balcony-terrace,shaded-toddler-splash-zone,smoke-free-rooms,soccer-pitch,step-free-access,stroller-friendly-pathways,teen-lounge-arcade,tennis-court,valet-parking,waterslide,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-doctor-on-call\",\"24-h-room-service\",\"adults-only-fine-dining\",\"airport-shuttle\",\"all-day-family-restaurant\",\"arts-and-crafts-studio\",\"atm-on-site\",\"baby-equipment-rental\",\"baby-steriliser-and-bottle-warmer\",\"babysitting-service\",\"basketball-court\",\"beach-volleyball\",\"bicycle-rental\",\"black-out-curtains\",\"board-games-puzzles\",\"boutique-gift-shop\",\"bowling-alley\",\"car-seats-for-transfers\",\"childrens-menu\",\"complimentary-breakfast\",\"complimentary-strollers\",\"concierge-service\",\"daily-family-activities\",\"direct-beach-access\",\"evening-family-entertainment\",\"extra-bathrooms\",\"family-movie-nights\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"game-room-billiards\",\"golf-driving-range\",\"heated-saline-pool\",\"high-chairs\",\"hiking-and-nature-trails\",\"indoor-heated-pool\",\"indoor-soft-play\",\"infinity-rooftop-pool\",\"kid-friendly-buffet\",\"kids-teens-spa-menu\",\"kids-club\",\"kids-cooking-class\",\"kids-pool\",\"kitchenette-microwave\",\"laundry-dry-cleaning\",\"lazy-river-splash-pad\",\"lifeguard-on-duty\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"personal-trainer-sessions\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"sauna-and-steam-room\",\"shaded-toddler-splash-zone\",\"smoke-free-rooms\",\"soccer-pitch\",\"step-free-access\",\"stroller-friendly-pathways\",\"teen-lounge-arcade\",\"tennis-court\",\"valet-parking\",\"waterslide\",\"yoga-pilates-classes\"],\"category_slugs\":[\"all-inclusive-resorts\",\"beach-escapes\",\"top-worldwide\",\"water-wonderlands\"],\"primary_category\":\"Water Wonderlands\",\"secondary_categories\":\"All-Inclusive Resorts|Beach Escapes|Top Worldwide\",\"latitude\":36.855278,\"longitude\":31.008333,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/regnum-the-crown-pool-01-300x113.webp\"}]},{\"id\":949,\"name\":\"Halkidiki Greece\",\"slug\":\"halkidiki-greece\",\"context\":\"Europe\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/24_beach-_hotel_0252-scaled-300x203.webp\",\"hotels\":[{\"id\":5126,\"title\":\"Sani Beach\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/sani-beach-halkidiki-greece\\\/\",\"rating\":\"9\",\"address\":\"Sani Resort, Kassandra, Halkidiki 630 77, Greece\",\"amenities\":\"24-h-doctor-on-call,adults-only-fine-dining,airport-shuttle,all-day-family-restaurant,allergy-friendly-public-areas,archery-range,baby-equipment-rental,babysitting-service,beach-volleyball,bicycle-rental,boutique-gift-shop,car-seats-for-transfers,childrens-menu,complimentary-breakfast,complimentary-strollers,complimentary-water-sports,concierge-service,connecting-rooms,daily-family-activities,direct-beach-access,evening-family-entertainment,family-bike-tours,family-suites,free-secure-parking,full-service-spa,high-chairs,indoor-heated-pool,kid-friendly-buffet,kids-teens-spa-menu,kids-club,kids-pool,kids-stay-free,laundry-dry-cleaning,lifeguard-on-duty,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-pool,pool-beach-towel-service,poolside-bar,private-balcony-terrace,shaded-toddler-splash-zone,smoke-free-rooms,snorkelling-gear,soccer-pitch,stem-coding-lab,stroller-friendly-pathways,teen-lounge-arcade,tennis-court,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-doctor-on-call\",\"24-h-security-and-cctv\",\"adults-only-fine-dining\",\"airport-shuttle\",\"all-day-family-restaurant\",\"allergy-friendly-public-areas\",\"archery-range\",\"arts-and-crafts-studio\",\"baby-equipment-rental\",\"baby-steriliser-and-bottle-warmer\",\"babysitting-service\",\"beach-volleyball\",\"bicycle-rental\",\"boutique-gift-shop\",\"car-seats-for-transfers\",\"childrens-menu\",\"complimentary-breakfast\",\"complimentary-strollers\",\"complimentary-water-sports\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"direct-beach-access\",\"evening-family-entertainment\",\"family-bike-tours\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"high-chairs\",\"hiking-and-nature-trails\",\"indoor-heated-pool\",\"kid-friendly-buffet\",\"kids-teens-spa-menu\",\"kids-club\",\"kids-pool\",\"kids-stay-free\",\"laundry-dry-cleaning\",\"lifeguard-on-duty\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-pool\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"sauna-and-steam-room\",\"shaded-toddler-splash-zone\",\"smoke-free-rooms\",\"snorkel-and-scuba-lessons\",\"snorkelling-gear\",\"soccer-pitch\",\"stand-up-paddleboard-and-kayaks\",\"stem-coding-lab\",\"stroller-friendly-pathways\",\"teen-lounge-arcade\",\"tennis-court\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\",\"nature-wilderness\",\"top-worldwide\"],\"primary_category\":\"Top Worldwide\",\"secondary_categories\":\"Beach Escapes|Nature & Wilderness\",\"latitude\":39.9606,\"longitude\":23.4006,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/24_beach-_hotel_0252-scaled-300x203.webp\"}]},{\"id\":36,\"name\":\"Dolomites Luson\",\"slug\":\"dolomites-luson\",\"context\":\"Europe\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/sonnwies-dolomites-italy-featured-300x225.webp\",\"hotels\":[{\"id\":3554,\"title\":\"Sonnwies Dolomites\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/sonnwies-dolomites-italy\\\/\",\"rating\":\"8.9\",\"address\":\"Alter Runggerweg 20, 39040 L\\u00fcsen (Luson), South Tyrol, Italy\",\"amenities\":\"24-h-doctor-on-call,all-day-family-restaurant,baby-equipment-rental,babysitting-service,bicycle-rental,black-out-curtains,board-games-puzzles,car-seats-for-transfers,childrens-menu,complimentary-breakfast,complimentary-strollers,connecting-rooms,daily-family-activities,ev-charging-stations,evening-family-entertainment,family-movie-nights,family-suites,free-secure-parking,full-service-spa,high-chairs,horseback-riding,indoor-climbing-wall,indoor-heated-pool,indoor-soft-play,kid-friendly-buffet,kids-club,kids-pool,lifeguard-on-duty,multilingual-staff,outdoor-playground,outdoor-pool,private-balcony-terrace,seasonal-ski-school-rental,shaded-toddler-splash-zone,smoke-free-rooms,teen-lounge-arcade,waterslide\",\"amenity_slugs\":[\"24-h-doctor-on-call\",\"all-day-family-restaurant\",\"arts-and-crafts-studio\",\"baby-equipment-rental\",\"baby-steriliser-and-bottle-warmer\",\"babysitting-service\",\"bicycle-rental\",\"black-out-curtains\",\"board-games-puzzles\",\"car-seats-for-transfers\",\"childrens-menu\",\"complimentary-breakfast\",\"complimentary-strollers\",\"connecting-rooms\",\"daily-family-activities\",\"ev-charging-stations\",\"evening-family-entertainment\",\"family-movie-nights\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"high-chairs\",\"hiking-and-nature-trails\",\"horseback-riding\",\"indoor-climbing-wall\",\"indoor-heated-pool\",\"indoor-soft-play\",\"kid-friendly-buffet\",\"kids-club\",\"kids-pool\",\"lifeguard-on-duty\",\"multilingual-staff\",\"outdoor-playground\",\"outdoor-pool\",\"private-balcony-terrace\",\"sauna-and-steam-room\",\"seasonal-ski-school-rental\",\"shaded-toddler-splash-zone\",\"smoke-free-rooms\",\"teen-lounge-arcade\",\"waterslide\"],\"category_slugs\":[\"nature-wilderness\",\"ski-resorts\",\"top-worldwide\",\"water-wonderlands\"],\"primary_category\":\"Nature & Wilderness\",\"secondary_categories\":\"Ski Resorts|Water Wonderlands|Top Worldwide\",\"latitude\":46.74581,\"longitude\":11.77456,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/sonnwies-dolomites-italy-featured-300x225.webp\"}]},{\"id\":987,\"name\":\"Algarve\",\"slug\":\"algarve\",\"context\":\"Europe\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/vila-vita-parc-hero-300x225.webp\",\"hotels\":[{\"id\":5400,\"title\":\"Vila Vita Parc\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/vila-vita-parc\\\/\",\"rating\":\"8.8\",\"address\":\"Rua Anneliese Pohl, Alporchinhos, 8400-450 Porches, Algarve, Portugal\",\"amenities\":\"24-h-fitness-center,24-h-room-service,adults-only-fine-dining,airport-shuttle,all-day-family-restaurant,baby-equipment-rental,babysitting-service,board-games-puzzles,boutique-gift-shop,car-seats-for-transfers,childrens-menu,complimentary-breakfast,complimentary-water-sports,concierge-service,connecting-rooms,daily-family-activities,direct-beach-access,ev-charging-stations,family-suites,free-secure-parking,full-service-spa,high-chairs,indoor-heated-pool,kid-friendly-buffet,kids-club,kids-pool,laundry-dry-cleaning,multilingual-staff,outdoor-dining-terrace,outdoor-playground,outdoor-pool,poolside-bar,private-balcony-terrace,snorkelling-gear,soccer-pitch,tennis-court,valet-parking,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-fitness-center\",\"24-h-room-service\",\"adults-only-fine-dining\",\"airport-shuttle\",\"all-day-family-restaurant\",\"arts-and-crafts-studio\",\"baby-equipment-rental\",\"babysitting-service\",\"board-games-puzzles\",\"boutique-gift-shop\",\"car-seats-for-transfers\",\"childrens-menu\",\"complimentary-breakfast\",\"complimentary-water-sports\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"direct-beach-access\",\"ev-charging-stations\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"high-chairs\",\"indoor-heated-pool\",\"kid-friendly-buffet\",\"kids-club\",\"kids-pool\",\"laundry-dry-cleaning\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"poolside-bar\",\"private-balcony-terrace\",\"sauna-and-steam-room\",\"snorkelling-gear\",\"soccer-pitch\",\"tennis-court\",\"valet-parking\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\",\"top-worldwide\"],\"primary_category\":\"Beach Escapes\",\"secondary_categories\":\"Top Worldwide\",\"latitude\":37.1015,\"longitude\":-8.3802,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/vila-vita-parc-hero-300x225.webp\"}]}],\"Indian Ocean\":[{\"id\":930,\"name\":\"Maldives\",\"slug\":\"maldives\",\"context\":\"Indian Ocean\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Z88InRsAHJWomSkz_WebRGB-ChevalBlancRandheli-LagoonVilla-OliverFly-2024-300x225.jpg\",\"hotels\":[{\"id\":5317,\"title\":\"Cheval Blanc Randheli\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/cheval-blanc-randheli\\\/\",\"rating\":\"8.9\",\"address\":\"Randheli Island, Noonu Atoll, Republic of Maldives\",\"amenities\":\"24-h-fitness-center,24-h-room-service,24-h-security-and-cctv,airport-shuttle,all-day-family-restaurant,arts-and-crafts-studio,baby-equipment-rental,baby-steriliser-and-bottle-warmer,babysitting-service,board-games-puzzles,boutique-gift-shop,car-seats-for-transfers,childrens-menu,complimentary-strollers,complimentary-water-sports,concierge-service,daily-family-activities,direct-beach-access,evening-family-entertainment,extra-bathrooms,family-bike-tours,family-movie-nights,family-suites,full-service-spa,game-room-billiards,hiking-and-nature-trails,hypo-allergenic-rooms,in-room-family-safety-kit,indoor-soft-play,infinity-rooftop-pool,kids-teens-spa-menu,kids-club,kids-cooking-class,kids-pool,kitchenette-microwave,laundry-dry-cleaning,lazy-river-splash-pad,mini-fridge,mini-golf-putting-green,multilingual-staff,outdoor-dining-terrace,outdoor-playground,outdoor-pool,personal-trainer-sessions,pool-beach-towel-service,poolside-bar,private-balcony-terrace,private-plunge-pools,sauna-and-steam-room,smoke-free-rooms,snorkel-and-scuba-lessons,stand-up-paddleboard-and-kayaks,step-free-access,teen-lounge-arcade,tennis-court,waterslide,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-fitness-center\",\"24-h-room-service\",\"24-h-security-and-cctv\",\"airport-shuttle\",\"all-day-family-restaurant\",\"arts-and-crafts-studio\",\"baby-equipment-rental\",\"baby-steriliser-and-bottle-warmer\",\"babysitting-service\",\"board-games-puzzles\",\"boutique-gift-shop\",\"car-seats-for-transfers\",\"childrens-menu\",\"complimentary-strollers\",\"complimentary-water-sports\",\"concierge-service\",\"daily-family-activities\",\"direct-beach-access\",\"evening-family-entertainment\",\"extra-bathrooms\",\"family-bike-tours\",\"family-movie-nights\",\"family-suites\",\"full-service-spa\",\"game-room-billiards\",\"hiking-and-nature-trails\",\"hypo-allergenic-rooms\",\"in-room-family-safety-kit\",\"indoor-soft-play\",\"infinity-rooftop-pool\",\"kids-teens-spa-menu\",\"kids-club\",\"kids-cooking-class\",\"kids-pool\",\"kitchenette-microwave\",\"laundry-dry-cleaning\",\"lazy-river-splash-pad\",\"mini-fridge\",\"mini-golf-putting-green\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"personal-trainer-sessions\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"private-plunge-pools\",\"sauna-and-steam-room\",\"smoke-free-rooms\",\"snorkel-and-scuba-lessons\",\"stand-up-paddleboard-and-kayaks\",\"step-free-access\",\"teen-lounge-arcade\",\"tennis-court\",\"waterslide\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\",\"top-worldwide\",\"water-wonderlands\"],\"primary_category\":\"Beach Escapes\",\"secondary_categories\":\"Water Wonderlands|Top Worldwide\",\"latitude\":5.69187,\"longitude\":73.3406,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Z88InRsAHJWomSkz_WebRGB-ChevalBlancRandheli-LagoonVilla-OliverFly-2024-300x225.jpg\"},{\"id\":8366,\"title\":\"Niyama Private Islands\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/niyama-private-islands\\\/\",\"rating\":\"8.6\",\"address\":\"Dhaalu Atoll, PO Box 2002, Republic of Maldives\",\"amenities\":\"24-h-fitness-center,beach-volleyball,bicycle-rental,childrens-menu,daily-family-activities,direct-beach-access,evening-family-entertainment,family-movie-nights,family-suites,full-service-spa,kids-club,lazy-river-splash-pad,outdoor-dining-terrace,outdoor-pool,private-balcony-terrace,private-plunge-pools,snorkel-and-scuba-lessons,stand-up-paddleboard-and-kayaks,teen-lounge-arcade,tennis-court,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-fitness-center\",\"beach-volleyball\",\"bicycle-rental\",\"childrens-menu\",\"daily-family-activities\",\"direct-beach-access\",\"evening-family-entertainment\",\"family-movie-nights\",\"family-suites\",\"full-service-spa\",\"kids-club\",\"lazy-river-splash-pad\",\"outdoor-dining-terrace\",\"outdoor-pool\",\"private-balcony-terrace\",\"private-plunge-pools\",\"snorkel-and-scuba-lessons\",\"stand-up-paddleboard-and-kayaks\",\"teen-lounge-arcade\",\"tennis-court\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\",\"top-worldwide\"],\"primary_category\":\"Beach Escapes\",\"secondary_categories\":\"Top Worldwide\",\"latitude\":2.68179,\"longitude\":72.93257,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/600487-Niyama20Private20Islands20-20Chill20and20Play-a29796-original-1752048006-300x200.webp\"},{\"id\":6148,\"title\":\"One&#038;Only Reethi Rah\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/one-only-reethi-rah\\\/\",\"rating\":\"9.4\",\"address\":\"One&Only Reethi Rah, North Mal\\u00e9 Atoll, Mal\\u00e9 08440, Maldives\",\"amenities\":\"24-h-doctor-on-call,24-h-room-service,airport-shuttle,all-day-family-restaurant,baby-equipment-rental,babysitting-service,bicycle-rental,boutique-gift-shop,childrens-menu,complimentary-breakfast,complimentary-water-sports,concierge-service,daily-family-activities,direct-beach-access,evening-family-entertainment,extra-bathrooms,family-movie-nights,family-suites,full-service-spa,golf-driving-range,high-chairs,indoor-climbing-wall,kid-friendly-buffet,kids-club,kids-cooking-class,kids-pool,kids-stay-free,laundry-dry-cleaning,lifeguard-on-duty,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-playground,outdoor-pool,personal-trainer-sessions,pool-beach-towel-service,poolside-bar,private-balcony-terrace,private-plunge-pools,shaded-toddler-splash-zone,smoke-free-rooms,snorkelling-gear,soccer-pitch,stroller-friendly-pathways,tennis-court,waterslide,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-doctor-on-call\",\"24-h-room-service\",\"airport-shuttle\",\"all-day-family-restaurant\",\"arts-and-crafts-studio\",\"baby-equipment-rental\",\"baby-steriliser-and-bottle-warmer\",\"babysitting-service\",\"bicycle-rental\",\"boutique-gift-shop\",\"childrens-menu\",\"complimentary-breakfast\",\"complimentary-water-sports\",\"concierge-service\",\"daily-family-activities\",\"direct-beach-access\",\"evening-family-entertainment\",\"extra-bathrooms\",\"family-movie-nights\",\"family-suites\",\"full-service-spa\",\"golf-driving-range\",\"high-chairs\",\"indoor-climbing-wall\",\"kid-friendly-buffet\",\"kids-club\",\"kids-cooking-class\",\"kids-pool\",\"kids-stay-free\",\"laundry-dry-cleaning\",\"lifeguard-on-duty\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"personal-trainer-sessions\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"private-plunge-pools\",\"sauna-and-steam-room\",\"shaded-toddler-splash-zone\",\"smoke-free-rooms\",\"snorkel-and-scuba-lessons\",\"snorkelling-gear\",\"soccer-pitch\",\"stand-up-paddleboard-and-kayaks\",\"stroller-friendly-pathways\",\"tennis-court\",\"waterslide\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\",\"top-worldwide\"],\"primary_category\":\"Beach Escapes\",\"secondary_categories\":\"Top Worldwide\",\"latitude\":4.520509,\"longitude\":73.366933,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/OneOnly_Reethi_Rah_Tapasake_Aerial_Side-300x225.webp\"},{\"id\":4857,\"title\":\"Soneva Fushi\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/soneva-fushi-kunfunadhoo-maldives\\\/\",\"rating\":\"9\",\"address\":\"Kunfunadhoo Island, Baa Atoll 06170, Maldives\",\"amenities\":\"24-h-room-service,airport-shuttle,all-day-family-restaurant,baby-equipment-rental,babysitting-service,beach-volleyball,bicycle-rental,boutique-gift-shop,childrens-menu,complimentary-water-sports,complimentary-welcome-ice-cream,concierge-service,daily-family-activities,direct-beach-access,evening-family-entertainment,extra-bathrooms,family-movie-nights,family-suites,filtered-water-refill-stations,full-service-spa,game-room-billiards,kid-friendly-buffet,kids-club,kids-cooking-class,kids-pool,kitchenette-microwave,laundry-dry-cleaning,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-playground,outdoor-pool,pool-beach-towel-service,private-balcony-terrace,private-plunge-pools,smoke-free-rooms,snorkelling-gear,teen-lounge-arcade,tennis-court,waterslide,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-room-service\",\"airport-shuttle\",\"all-day-family-restaurant\",\"arts-and-crafts-studio\",\"baby-equipment-rental\",\"babysitting-service\",\"beach-volleyball\",\"bicycle-rental\",\"boutique-gift-shop\",\"childrens-menu\",\"complimentary-water-sports\",\"complimentary-welcome-ice-cream\",\"concierge-service\",\"daily-family-activities\",\"direct-beach-access\",\"evening-family-entertainment\",\"extra-bathrooms\",\"family-movie-nights\",\"family-suites\",\"filtered-water-refill-stations\",\"full-service-spa\",\"game-room-billiards\",\"kid-friendly-buffet\",\"kids-club\",\"kids-cooking-class\",\"kids-pool\",\"kitchenette-microwave\",\"laundry-dry-cleaning\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"pool-beach-towel-service\",\"private-balcony-terrace\",\"private-plunge-pools\",\"smoke-free-rooms\",\"snorkel-and-scuba-lessons\",\"snorkelling-gear\",\"stand-up-paddleboard-and-kayaks\",\"teen-lounge-arcade\",\"tennis-court\",\"waterslide\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\",\"nature-wilderness\",\"top-worldwide\"],\"primary_category\":\"Beach Escapes\",\"secondary_categories\":\"Top Worldwide|Nature & Wilderness\",\"latitude\":5.112055,\"longitude\":73.078026,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/soneva-fushi-kunfunadhoo-maldives-exterior-01-300x169.jpg\"}]},{\"id\":931,\"name\":\"Seychelles\",\"slug\":\"seychelles\",\"context\":\"Indian Ocean\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/North-Island-Dining-and-Cuisine-West-Beach-Bar-view-from-the-ocean-300x216.webp\",\"hotels\":[{\"id\":5955,\"title\":\"North Island, Seychelles\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/north-island-a-luxury-collection-resort\\\/\",\"rating\":\"7.9\",\"address\":\"North Island, Seychelles (PO Box 1176, Victoria, Mah\\u00e9, Seychelles)\",\"amenities\":\"24-h-room-service,airport-shuttle,babysitting-service,bicycle-rental,complimentary-breakfast,complimentary-water-sports,concierge-service,daily-family-activities,direct-beach-access,family-suites,full-service-spa,hiking-and-nature-trails,infinity-rooftop-pool,kids-cooking-class,kids-stay-free,laundry-dry-cleaning,multilingual-staff,outdoor-playground,outdoor-pool,private-balcony-terrace,private-plunge-pools,snorkel-and-scuba-lessons,snorkelling-gear,stand-up-paddleboard-and-kayaks,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-room-service\",\"airport-shuttle\",\"babysitting-service\",\"bicycle-rental\",\"complimentary-breakfast\",\"complimentary-water-sports\",\"concierge-service\",\"daily-family-activities\",\"direct-beach-access\",\"family-suites\",\"full-service-spa\",\"hiking-and-nature-trails\",\"infinity-rooftop-pool\",\"kids-cooking-class\",\"kids-stay-free\",\"laundry-dry-cleaning\",\"multilingual-staff\",\"outdoor-playground\",\"outdoor-pool\",\"private-balcony-terrace\",\"private-plunge-pools\",\"snorkel-and-scuba-lessons\",\"snorkelling-gear\",\"stand-up-paddleboard-and-kayaks\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\",\"top-worldwide\",\"water-wonderlands\"],\"primary_category\":\"Beach Escapes\",\"secondary_categories\":\"Water Wonderlands|Top Worldwide\",\"latitude\":-4.395,\"longitude\":55.243,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/North-Island-Dining-and-Cuisine-West-Beach-Bar-view-from-the-ocean-300x216.webp\"}]}],\"Middle East\":[{\"id\":34,\"name\":\"Dubai Jumeirah Beach\",\"slug\":\"dubai-jumeirah-beach\",\"context\":\"Middle East\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/Rectangle-764-4-300x300.webp\",\"hotels\":[{\"id\":7219,\"title\":\"Atlantis The Royal\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/atlantis-the-royal\\\/\",\"rating\":\"9.1\",\"address\":\"Crescent Road, Palm Jumeirah, Dubai, United Arab Emirates\",\"amenities\":\"24-h-doctor-on-call,24-h-room-service,airport-shuttle,all-day-family-restaurant,atm-on-site,babysitting-service,basketball-court,beach-volleyball,board-games-puzzles,boutique-gift-shop,childrens-menu,complimentary-breakfast,concierge-service,connecting-rooms,daily-family-activities,direct-beach-access,evening-family-entertainment,extra-bathrooms,family-suites,free-secure-parking,full-service-spa,game-room-billiards,indoor-soft-play,infinity-rooftop-pool,kid-friendly-buffet,kids-club,kids-pool,laundry-dry-cleaning,lazy-river-splash-pad,lifeguard-on-duty,meditation-garden,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-pool,personal-trainer-sessions,pool-beach-towel-service,poolside-bar,private-balcony-terrace,private-plunge-pools,smoke-free-rooms,soccer-pitch,step-free-access,stroller-friendly-pathways,teen-lounge-arcade,tennis-court,valet-parking,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-doctor-on-call\",\"24-h-room-service\",\"24-h-security-and-cctv\",\"airport-shuttle\",\"all-day-family-restaurant\",\"arts-and-crafts-studio\",\"atm-on-site\",\"babysitting-service\",\"basketball-court\",\"beach-volleyball\",\"board-games-puzzles\",\"boutique-gift-shop\",\"childrens-menu\",\"complimentary-breakfast\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"direct-beach-access\",\"evening-family-entertainment\",\"extra-bathrooms\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"game-room-billiards\",\"indoor-soft-play\",\"infinity-rooftop-pool\",\"kid-friendly-buffet\",\"kids-club\",\"kids-pool\",\"laundry-dry-cleaning\",\"lazy-river-splash-pad\",\"lifeguard-on-duty\",\"meditation-garden\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-pool\",\"personal-trainer-sessions\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"private-plunge-pools\",\"sauna-and-steam-room\",\"smoke-free-rooms\",\"snorkel-and-scuba-lessons\",\"soccer-pitch\",\"stand-up-paddleboard-and-kayaks\",\"step-free-access\",\"stroller-friendly-pathways\",\"teen-lounge-arcade\",\"tennis-court\",\"valet-parking\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\",\"top-worldwide\",\"water-wonderlands\"],\"primary_category\":\"Water Wonderlands\",\"secondary_categories\":\"Top Worldwide|Beach Escapes\",\"latitude\":25.130366,\"longitude\":55.117378,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/atlantis-the-royal-21.webp\"},{\"id\":6533,\"title\":\"Jumeirah Al Naseem\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/jumeirah-al-naseem\\\/\",\"rating\":\"8.2\",\"address\":\"Jumeirah Street (Al Sufouh Road), Umm Suqeim 3, PO Box 75157, Dubai, UAE\",\"amenities\":\"24-h-fitness-center,24-h-room-service,adults-only-fine-dining,airport-shuttle,all-day-family-restaurant,allergen-coded-menus,baby-equipment-rental,babysitting-service,black-out-curtains,board-games-puzzles,childrens-menu,complimentary-welcome-ice-cream,concierge-service,connecting-rooms,daily-family-activities,direct-beach-access,family-movie-nights,family-suites,full-service-spa,game-room-billiards,high-chairs,kid-friendly-buffet,kids-club,kids-pool,laundry-dry-cleaning,lifeguard-on-duty,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-playground,outdoor-pool,pool-beach-towel-service,poolside-bar,private-balcony-terrace,shaded-toddler-splash-zone,smoke-free-rooms,step-free-access,stroller-friendly-pathways,teen-lounge-arcade,tennis-court,valet-parking,waterslide,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-fitness-center\",\"24-h-room-service\",\"adults-only-fine-dining\",\"airport-shuttle\",\"all-day-family-restaurant\",\"allergen-coded-menus\",\"arts-and-crafts-studio\",\"baby-equipment-rental\",\"babysitting-service\",\"black-out-curtains\",\"board-games-puzzles\",\"childrens-menu\",\"complimentary-welcome-ice-cream\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"direct-beach-access\",\"family-movie-nights\",\"family-suites\",\"full-service-spa\",\"game-room-billiards\",\"high-chairs\",\"kid-friendly-buffet\",\"kids-club\",\"kids-pool\",\"laundry-dry-cleaning\",\"lifeguard-on-duty\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"sauna-and-steam-room\",\"shaded-toddler-splash-zone\",\"smoke-free-rooms\",\"stand-up-paddleboard-and-kayaks\",\"step-free-access\",\"stroller-friendly-pathways\",\"teen-lounge-arcade\",\"tennis-court\",\"valet-parking\",\"waterslide\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\",\"top-worldwide\",\"water-wonderlands\"],\"primary_category\":\"Beach Escapes\",\"secondary_categories\":\"Water Wonderlands|Top Worldwide\",\"latitude\":25.1338,\"longitude\":55.1873,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/ffh-import-tcxecrgsbjz1-300x200.webp\"},{\"id\":6382,\"title\":\"Jumeirah Beach Hotel\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/jumeirah-beach-hotel-dubai\\\/\",\"rating\":\"8.6\",\"address\":\"Jumeirah Beach Road, Umm Suqeim 3, Dubai, United Arab Emirates\",\"amenities\":\"24-h-fitness-center,24-h-room-service,adults-only-fine-dining,airport-shuttle,all-day-family-restaurant,babysitting-service,beach-volleyball,board-games-puzzles,boutique-gift-shop,childrens-menu,complimentary-water-sports,concierge-service,connecting-rooms,daily-family-activities,direct-beach-access,ev-charging-stations,evening-family-entertainment,family-suites,full-service-spa,high-chairs,indoor-soft-play,kid-friendly-buffet,kids-club,kids-pool,kids-stay-free,laundry-dry-cleaning,lazy-river-splash-pad,lifeguard-on-duty,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-pool,personal-trainer-sessions,pool-beach-towel-service,poolside-bar,private-balcony-terrace,private-plunge-pools,shaded-toddler-splash-zone,smoke-free-rooms,snorkelling-gear,stroller-friendly-pathways,teen-lounge-arcade,tennis-court,valet-parking,waterslide,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-fitness-center\",\"24-h-room-service\",\"24-h-security-and-cctv\",\"adults-only-fine-dining\",\"airport-shuttle\",\"all-day-family-restaurant\",\"arts-and-crafts-studio\",\"babysitting-service\",\"beach-volleyball\",\"board-games-puzzles\",\"boutique-gift-shop\",\"childrens-menu\",\"complimentary-water-sports\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"direct-beach-access\",\"ev-charging-stations\",\"evening-family-entertainment\",\"family-suites\",\"full-service-spa\",\"high-chairs\",\"indoor-soft-play\",\"kid-friendly-buffet\",\"kids-club\",\"kids-pool\",\"kids-stay-free\",\"laundry-dry-cleaning\",\"lazy-river-splash-pad\",\"lifeguard-on-duty\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-pool\",\"personal-trainer-sessions\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"private-plunge-pools\",\"sauna-and-steam-room\",\"shaded-toddler-splash-zone\",\"smoke-free-rooms\",\"snorkel-and-scuba-lessons\",\"snorkelling-gear\",\"stand-up-paddleboard-and-kayaks\",\"stroller-friendly-pathways\",\"teen-lounge-arcade\",\"tennis-court\",\"valet-parking\",\"waterslide\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\",\"top-worldwide\",\"water-wonderlands\"],\"primary_category\":\"Water Wonderlands\",\"secondary_categories\":\"Beach Escapes|Top Worldwide\",\"latitude\":25.1417,\"longitude\":55.1906,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/jumeirah-beach-hotel-dubai-01-300x169.webp\"},{\"id\":3552,\"title\":\"Mandarin Oriental Jumeira, Dubai\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/mandarin-oriental-jumeira-dubai\\\/\",\"rating\":\"8.6\",\"address\":\"Jumeira 1, Jumeirah Beach Road, Dubai, United Arab Emirates\",\"amenities\":\"24-h-room-service,all-day-family-restaurant,allergen-coded-menus,arts-and-crafts-studio,babysitting-service,childrens-menu,concierge-service,connecting-rooms,daily-family-activities,direct-beach-access,extra-bathrooms,family-movie-nights,family-suites,free-secure-parking,full-service-spa,kid-friendly-buffet,kids-club,kids-cooking-class,kids-pool,multilingual-staff,outdoor-dining-terrace,outdoor-playground,outdoor-pool,personal-trainer-sessions,poolside-bar,private-balcony-terrace,private-plunge-pools,sauna-and-steam-room,smoke-free-rooms,step-free-access,valet-parking,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-room-service\",\"all-day-family-restaurant\",\"allergen-coded-menus\",\"arts-and-crafts-studio\",\"babysitting-service\",\"childrens-menu\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"direct-beach-access\",\"extra-bathrooms\",\"family-movie-nights\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"kid-friendly-buffet\",\"kids-club\",\"kids-cooking-class\",\"kids-pool\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"personal-trainer-sessions\",\"poolside-bar\",\"private-balcony-terrace\",\"private-plunge-pools\",\"sauna-and-steam-room\",\"smoke-free-rooms\",\"step-free-access\",\"valet-parking\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\",\"top-worldwide\",\"urban-sanctuaries\",\"water-wonderlands\"],\"primary_category\":\"Beach Escapes\",\"secondary_categories\":\"Top Worldwide|Urban Sanctuaries|Water Wonderlands\",\"latitude\":25.217673,\"longitude\":55.251285,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/ndUkyLUipdZBu5y1kSJZ-scaled-300x200.webp\"}]}],\"North America\":[{\"id\":996,\"name\":\"Colorado\",\"slug\":\"colorado\",\"context\":\"North America\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/clazyu_hero-300x200.webp\",\"hotels\":[{\"id\":6585,\"title\":\"C Lazy U Ranch\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/c-lazy-u-ranch\\\/\",\"rating\":\"8.7\",\"address\":\"3640 Colorado Hwy 125, Granby, Colorado 80446, USA\",\"amenities\":\"24-h-fitness-center,all-day-family-restaurant,archery-range,basketball-court,board-games-puzzles,boutique-gift-shop,childrens-menu,concierge-service,connecting-rooms,daily-family-activities,evening-family-entertainment,family-bike-tours,family-bunk-bed-rooms,family-movie-nights,family-suites,free-secure-parking,full-service-spa,game-room-billiards,high-chairs,horseback-riding,in-room-family-safety-kit,kids-club,laundry-dry-cleaning,mini-fridge,outdoor-dining-terrace,outdoor-playground,outdoor-pool,pool-beach-towel-service,private-balcony-terrace,seasonal-ski-school-rental,smoke-free-rooms,step-free-access,tennis-court,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-fitness-center\",\"all-day-family-restaurant\",\"archery-range\",\"arts-and-crafts-studio\",\"basketball-court\",\"board-games-puzzles\",\"boutique-gift-shop\",\"childrens-menu\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"evening-family-entertainment\",\"family-bike-tours\",\"family-bunk-bed-rooms\",\"family-movie-nights\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"game-room-billiards\",\"high-chairs\",\"horseback-riding\",\"in-room-family-safety-kit\",\"kids-club\",\"laundry-dry-cleaning\",\"mini-fridge\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"pool-beach-towel-service\",\"private-balcony-terrace\",\"sauna-and-steam-room\",\"seasonal-ski-school-rental\",\"smoke-free-rooms\",\"step-free-access\",\"tennis-court\",\"yoga-pilates-classes\"],\"category_slugs\":[\"all-inclusive-resorts\",\"nature-wilderness\"],\"primary_category\":\"Nature & Wilderness\",\"secondary_categories\":\"All-Inclusive Resorts\",\"latitude\":40.1515,\"longitude\":-105.9996,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/clazyu_hero-300x200.webp\"}]},{\"id\":691,\"name\":\"United States\",\"slug\":\"united-states\",\"context\":\"North America\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/four-seasons-oahu-at-ko-olina-exterior-01-300x193.webp\",\"hotels\":[{\"id\":6535,\"title\":\"Four Seasons Resort Oahu at Ko Olina\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/four-seasons-oahu-at-ko-olina\\\/\",\"rating\":\"8.8\",\"address\":\"92-1001 Olani Street, Kapolei, Hawaii 96707, United States\",\"amenities\":\"24-h-fitness-center,24-h-room-service,allergen-coded-menus,atm-on-site,babysitting-service,basketball-court,black-out-curtains,board-games-puzzles,boutique-gift-shop,childrens-menu,complimentary-water-sports,concierge-service,connecting-rooms,daily-family-activities,direct-beach-access,ev-charging-stations,evening-family-entertainment,extra-bathrooms,family-movie-nights,family-suites,full-service-spa,game-room-billiards,high-chairs,hypo-allergenic-rooms,infinity-rooftop-pool,kids-teens-spa-menu,kids-club,kids-cooking-class,kids-pool,kids-stay-free,laundry-dry-cleaning,lifeguard-on-duty,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-pool,personal-trainer-sessions,pool-beach-towel-service,poolside-bar,private-balcony-terrace,private-plunge-pools,smoke-free-rooms,snorkelling-gear,step-free-access,stroller-friendly-pathways,tennis-court,valet-parking,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-fitness-center\",\"24-h-room-service\",\"24-h-security-and-cctv\",\"allergen-coded-menus\",\"atm-on-site\",\"baby-steriliser-and-bottle-warmer\",\"babysitting-service\",\"basketball-court\",\"black-out-curtains\",\"board-games-puzzles\",\"boutique-gift-shop\",\"childrens-menu\",\"complimentary-water-sports\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"direct-beach-access\",\"ev-charging-stations\",\"evening-family-entertainment\",\"extra-bathrooms\",\"family-movie-nights\",\"family-suites\",\"full-service-spa\",\"game-room-billiards\",\"high-chairs\",\"hiking-and-nature-trails\",\"hypo-allergenic-rooms\",\"infinity-rooftop-pool\",\"kids-teens-spa-menu\",\"kids-club\",\"kids-cooking-class\",\"kids-pool\",\"kids-stay-free\",\"laundry-dry-cleaning\",\"lifeguard-on-duty\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-pool\",\"personal-trainer-sessions\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"private-plunge-pools\",\"sauna-and-steam-room\",\"smoke-free-rooms\",\"snorkel-and-scuba-lessons\",\"snorkelling-gear\",\"stand-up-paddleboard-and-kayaks\",\"step-free-access\",\"stroller-friendly-pathways\",\"tennis-court\",\"valet-parking\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\"],\"primary_category\":\"Beach Escapes\",\"secondary_categories\":\"\",\"latitude\":21.339464,\"longitude\":-158.125148,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/four-seasons-oahu-at-ko-olina-exterior-01-300x193.webp\"}]},{\"id\":35,\"name\":\"Orlando Walt Disney World\",\"slug\":\"orlando-walt-disney-world\",\"context\":\"North America\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/Frame-498-300x300.webp\",\"hotels\":[{\"id\":3553,\"title\":\"Four Seasons Resort Orlando at Walt Disney World Resort\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/four-seasons-resort-orlando\\\/\",\"rating\":\"9\",\"address\":\"10100 Dream Tree Blvd, Lake Buena Vista, FL 32836, USA\",\"amenities\":\"24-h-fitness-center,24-h-room-service,all-day-family-restaurant,arts-and-crafts-studio,babysitting-service,basketball-court,bicycle-rental,boutique-gift-shop,childrens-menu,concierge-service,connecting-rooms,daily-family-activities,evening-family-entertainment,family-movie-nights,family-suites,full-service-spa,game-room-billiards,golf-driving-range,high-chairs,hiking-and-nature-trails,hypo-allergenic-rooms,kid-friendly-buffet,kids-teens-spa-menu,kids-club,kids-pool,kitchenette-microwave,lazy-river-splash-pad,mini-fridge,mini-golf-putting-green,multilingual-staff,outdoor-dining-terrace,outdoor-pool,personal-trainer-sessions,poolside-bar,private-balcony-terrace,shaded-toddler-splash-zone,smoke-free-rooms,soccer-pitch,teen-lounge-arcade,tennis-court,valet-parking,waterslide,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-fitness-center\",\"24-h-room-service\",\"all-day-family-restaurant\",\"arts-and-crafts-studio\",\"babysitting-service\",\"basketball-court\",\"bicycle-rental\",\"boutique-gift-shop\",\"childrens-menu\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"evening-family-entertainment\",\"family-movie-nights\",\"family-suites\",\"full-service-spa\",\"game-room-billiards\",\"golf-driving-range\",\"high-chairs\",\"hiking-and-nature-trails\",\"hypo-allergenic-rooms\",\"kid-friendly-buffet\",\"kids-teens-spa-menu\",\"kids-club\",\"kids-pool\",\"kitchenette-microwave\",\"lazy-river-splash-pad\",\"mini-fridge\",\"mini-golf-putting-green\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-pool\",\"personal-trainer-sessions\",\"poolside-bar\",\"private-balcony-terrace\",\"shaded-toddler-splash-zone\",\"smoke-free-rooms\",\"soccer-pitch\",\"teen-lounge-arcade\",\"tennis-court\",\"valet-parking\",\"waterslide\",\"yoga-pilates-classes\"],\"category_slugs\":[\"theme-park-retreats\",\"top-worldwide\",\"water-wonderlands\"],\"primary_category\":\"Theme Park Retreats\",\"secondary_categories\":\"Top Worldwide|Water Wonderlands\",\"latitude\":28.40195,\"longitude\":-81.54542,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/ffh-import-glvueisgnww9-300x169.webp\"}]},{\"id\":997,\"name\":\"Los Cabos\",\"slug\":\"los-cabos\",\"context\":\"North America\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/grand-velas-los-cabos-exterior-02-300x200.webp\",\"hotels\":[{\"id\":6192,\"title\":\"Grand Velas Los Cabos\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/grand-velas-los-cabos\\\/\",\"rating\":\"8.8\",\"address\":\"Carretera Transpeninsular Km. 17.3, Corredor Tur\\u00edstico, San Jos\\u00e9 del Cabo, Baja California Sur 23405, Mexico\",\"amenities\":\"24-h-room-service,24-h-security-and-cctv,airport-shuttle,all-day-family-restaurant,arts-and-crafts-studio,baby-equipment-rental,babysitting-service,boutique-gift-shop,childrens-menu,complimentary-strollers,complimentary-water-sports,concierge-service,connecting-rooms,daily-family-activities,direct-beach-access,evening-family-entertainment,family-suites,free-secure-parking,full-service-spa,game-room-billiards,high-chairs,kid-friendly-buffet,kids-club,kids-pool,laundry-dry-cleaning,lazy-river-splash-pad,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-pool,pool-beach-towel-service,poolside-bar,private-balcony-terrace,private-plunge-pools,sauna-and-steam-room,smoke-free-rooms,snorkelling-gear,stand-up-paddleboard-and-kayaks,stroller-friendly-pathways,teen-lounge-arcade,valet-parking,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-room-service\",\"24-h-security-and-cctv\",\"airport-shuttle\",\"all-day-family-restaurant\",\"arts-and-crafts-studio\",\"baby-equipment-rental\",\"babysitting-service\",\"boutique-gift-shop\",\"childrens-menu\",\"complimentary-strollers\",\"complimentary-water-sports\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"direct-beach-access\",\"evening-family-entertainment\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"game-room-billiards\",\"high-chairs\",\"kid-friendly-buffet\",\"kids-club\",\"kids-pool\",\"laundry-dry-cleaning\",\"lazy-river-splash-pad\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-pool\",\"pool-beach-towel-service\",\"poolside-bar\",\"private-balcony-terrace\",\"private-plunge-pools\",\"sauna-and-steam-room\",\"smoke-free-rooms\",\"snorkelling-gear\",\"stand-up-paddleboard-and-kayaks\",\"stroller-friendly-pathways\",\"teen-lounge-arcade\",\"valet-parking\",\"yoga-pilates-classes\"],\"category_slugs\":[\"all-inclusive-resorts\",\"beach-escapes\",\"top-worldwide\",\"water-wonderlands\"],\"primary_category\":\"All-Inclusive Resorts\",\"secondary_categories\":\"Beach Escapes|Top Worldwide|Water Wonderlands\",\"latitude\":23.044,\"longitude\":-109.72,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/grand-velas-los-cabos-exterior-02-300x200.webp\"}]},{\"id\":1003,\"name\":\"Cayman Islands\",\"slug\":\"cayman-islands\",\"context\":\"Caribbean\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/gcmrz-great-lawn-9136-hor-wide-300x169.webp\",\"hotels\":[{\"id\":6521,\"title\":\"The Ritz-Carlton, Grand Cayman\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/the-ritz-carlton-grand-cayman\\\/\",\"rating\":\"8.4\",\"address\":\"1066 West Bay Road, Seven Mile Beach, Grand Cayman, Cayman Islands, KY1-1209\",\"amenities\":\"24-h-fitness-center,24-h-room-service,24-h-security-and-cctv,adults-only-fine-dining,airport-shuttle,all-day-family-restaurant,allergen-coded-menus,babysitting-service,basketball-court,bicycle-rental,childrens-menu,complimentary-breakfast,complimentary-water-sports,concierge-service,connecting-rooms,daily-family-activities,direct-beach-access,evening-family-entertainment,family-suites,full-service-spa,game-room-billiards,golf-driving-range,in-room-family-safety-kit,kids-club,kids-pool,laundry-dry-cleaning,mini-fridge,multilingual-staff,outdoor-dining-terrace,outdoor-pool,personal-trainer-sessions,poolside-bar,private-balcony-terrace,sauna-and-steam-room,shaded-toddler-splash-zone,smoke-free-rooms,snorkel-and-scuba-lessons,snorkelling-gear,stand-up-paddleboard-and-kayaks,step-free-access,teen-lounge-arcade,tennis-court,valet-parking,waterslide,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-fitness-center\",\"24-h-room-service\",\"24-h-security-and-cctv\",\"adults-only-fine-dining\",\"airport-shuttle\",\"all-day-family-restaurant\",\"allergen-coded-menus\",\"babysitting-service\",\"basketball-court\",\"bicycle-rental\",\"childrens-menu\",\"complimentary-breakfast\",\"complimentary-water-sports\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"direct-beach-access\",\"evening-family-entertainment\",\"family-suites\",\"full-service-spa\",\"game-room-billiards\",\"golf-driving-range\",\"in-room-family-safety-kit\",\"kids-club\",\"kids-pool\",\"laundry-dry-cleaning\",\"mini-fridge\",\"multilingual-staff\",\"outdoor-dining-terrace\",\"outdoor-pool\",\"personal-trainer-sessions\",\"poolside-bar\",\"private-balcony-terrace\",\"sauna-and-steam-room\",\"shaded-toddler-splash-zone\",\"smoke-free-rooms\",\"snorkel-and-scuba-lessons\",\"snorkelling-gear\",\"stand-up-paddleboard-and-kayaks\",\"step-free-access\",\"teen-lounge-arcade\",\"tennis-court\",\"valet-parking\",\"waterslide\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\",\"water-wonderlands\"],\"primary_category\":\"Beach Escapes\",\"secondary_categories\":\"Water Wonderlands\",\"latitude\":19.33611,\"longitude\":-81.37972,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/gcmrz-great-lawn-9136-hor-wide-300x169.webp\"}]}],\"Pacific & Australasia\":[{\"id\":936,\"name\":\"Fiji\",\"slug\":\"fiji\",\"context\":\"Pacific & Australasia\",\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/1-Large-Family-Vacation-Fiji-300x200.webp\",\"hotels\":[{\"id\":5165,\"title\":\"Jean-Michel Cousteau Resort\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/jean-michel-cousteau-resort-fiji\\\/\",\"rating\":\"9.1\",\"address\":\"Lesiaceva Point Road, Savusavu, Vanua Levu, Fiji\",\"amenities\":\"24-h-fitness-center,adults-only-fine-dining,airport-shuttle,all-day-family-restaurant,babysitting-service,board-games-puzzles,childrens-menu,complimentary-breakfast,complimentary-water-sports,concierge-service,connecting-rooms,daily-family-activities,evening-family-entertainment,extra-bathrooms,family-suites,free-secure-parking,full-service-spa,high-chairs,hiking-and-nature-trails,kids-club,kids-pool,kitchenette-microwave,laundry-dry-cleaning,mini-fridge,outdoor-dining-terrace,outdoor-playground,outdoor-pool,private-balcony-terrace,shaded-toddler-splash-zone,snorkel-and-scuba-lessons,snorkelling-gear,stand-up-paddleboard-and-kayaks,tennis-court,waterslide,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-fitness-center\",\"adults-only-fine-dining\",\"airport-shuttle\",\"all-day-family-restaurant\",\"babysitting-service\",\"board-games-puzzles\",\"childrens-menu\",\"complimentary-breakfast\",\"complimentary-water-sports\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"evening-family-entertainment\",\"extra-bathrooms\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"high-chairs\",\"hiking-and-nature-trails\",\"kids-club\",\"kids-pool\",\"kitchenette-microwave\",\"laundry-dry-cleaning\",\"mini-fridge\",\"outdoor-dining-terrace\",\"outdoor-playground\",\"outdoor-pool\",\"private-balcony-terrace\",\"shaded-toddler-splash-zone\",\"snorkel-and-scuba-lessons\",\"snorkelling-gear\",\"stand-up-paddleboard-and-kayaks\",\"tennis-court\",\"waterslide\",\"yoga-pilates-classes\"],\"category_slugs\":[\"all-inclusive-resorts\",\"nature-wilderness\",\"top-worldwide\"],\"primary_category\":\"\",\"secondary_categories\":\"\",\"latitude\":-16.81,\"longitude\":179.31,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/1-Large-Family-Vacation-Fiji-300x200.webp\"},{\"id\":6547,\"title\":\"Nanuku Resort\",\"url\":\"https:\\\/\\\/finestfamilyhotels.com\\\/fr\\\/hotels\\\/nanuku-resort-fiji\\\/\",\"rating\":\"8.7\",\"address\":\"11 Nanuku Drive, Pacific Harbour, Viti Levu, Fiji Islands\",\"amenities\":\"24-h-fitness-center,24-h-room-service,airport-shuttle,all-day-family-restaurant,baby-equipment-rental,babysitting-service,bicycle-rental,board-games-puzzles,childrens-menu,complimentary-water-sports,concierge-service,connecting-rooms,daily-family-activities,direct-beach-access,family-suites,free-secure-parking,full-service-spa,high-chairs,kids-club,kids-cooking-class,laundry-dry-cleaning,outdoor-pool,poolside-bar,private-balcony-terrace,private-plunge-pools,smoke-free-rooms,snorkelling-gear,valet-parking,yoga-pilates-classes\",\"amenity_slugs\":[\"24-h-fitness-center\",\"24-h-room-service\",\"airport-shuttle\",\"all-day-family-restaurant\",\"arts-and-crafts-studio\",\"baby-equipment-rental\",\"babysitting-service\",\"bicycle-rental\",\"board-games-puzzles\",\"childrens-menu\",\"complimentary-water-sports\",\"concierge-service\",\"connecting-rooms\",\"daily-family-activities\",\"direct-beach-access\",\"family-suites\",\"free-secure-parking\",\"full-service-spa\",\"high-chairs\",\"kids-club\",\"kids-cooking-class\",\"laundry-dry-cleaning\",\"outdoor-pool\",\"poolside-bar\",\"private-balcony-terrace\",\"private-plunge-pools\",\"smoke-free-rooms\",\"snorkel-and-scuba-lessons\",\"snorkelling-gear\",\"stand-up-paddleboard-and-kayaks\",\"valet-parking\",\"yoga-pilates-classes\"],\"category_slugs\":[\"beach-escapes\",\"nature-wilderness\"],\"primary_category\":\"Beach Escapes\",\"secondary_categories\":\"Nature & Wilderness\",\"latitude\":-18.341092,\"longitude\":178.161309,\"image\":\"https:\\\/\\\/finestfamilyhotels.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/nanuku-resort-fiji-exterior-01-300x200.webp\"}]}],\"South America\":[]},\n\t\t\tinitialContinent: \"\",\n\t\t\tcategoryLabels: {\"all-inclusive-resorts\":\"All-Inclusive Resorts\",\"beach-escapes\":\"Beach Escapes\",\"nature-wilderness\":\"Nature & Wilderness\",\"ski-resorts\":\"Ski Resorts\",\"theme-park-retreats\":\"Theme Park Retreats\",\"top-worldwide\":\"Top Worldwide\",\"urban-sanctuaries\":\"Urban Sanctuaries\",\"water-wonderlands\":\"Water Wonderlands\"},\n\t\t\tamenitySections: [{\"title\":\"Accessibility & Safety\",\"parent_slug\":\"accessibility-safety\",\"slugs\":[\"24-h-security-and-cctv\",\"aed-and-cpr-trained-staff\",\"aed-cpr-trained-staff\",\"allergy-friendly-public-areas\",\"in-room-family-safety-kit\",\"sensory-quiet-zones\",\"smoke-free-rooms\",\"step-free-access\",\"stroller-friendly-pathways\"]},{\"title\":\"Activities & Sports\",\"parent_slug\":\"activities-sports\",\"slugs\":[\"archery-range\",\"basketball-court\",\"beach-volleyball\",\"bowling-alley\",\"evening-family-entertainment\",\"family-bike-tours\",\"game-room-billiards\",\"golf-driving-range\",\"hiking-and-nature-trails\",\"horseback-riding\",\"indoor-climbing-wall\",\"mini-golf-putting-green\",\"seasonal-ski-school-and-rental\",\"seasonal-ski-school-rental\",\"snorkel-and-scuba-lessons\",\"soccer-pitch\",\"tennis-court\",\"walkable-city\"]},{\"title\":\"Dining & Bars\",\"parent_slug\":\"dining-bars\",\"slugs\":[\"24-h-room-service\",\"adults-only-fine-dining\",\"all-day-family-restaurant\",\"allergen-coded-menus\",\"complimentary-breakfast\",\"complimentary-welcome-ice-cream\",\"kid-friendly-buffet\",\"kids-cooking-class\",\"outdoor-dining-terrace\",\"poolside-bar\"]},{\"title\":\"Kids & Family\",\"parent_slug\":\"kids-family\",\"slugs\":[\"arts-and-crafts-studio\",\"babysitting-service\",\"board-games-puzzles\",\"car-seats-for-transfers\",\"childrens-menu\",\"complimentary-strollers\",\"daily-family-activities\",\"family-movie-nights\",\"free-beach-toy-library\",\"high-chairs\",\"indoor-soft-play\",\"kids-club\",\"kids-pool\",\"kids-stay-free\",\"outdoor-playground\",\"sensory-kits-autism-friendly\",\"stem-coding-lab\",\"teen-lounge-arcade\",\"waterslide\"]},{\"title\":\"Pools & Beach\",\"parent_slug\":\"pools-beach\",\"slugs\":[\"complimentary-water-sports\",\"direct-beach-access\",\"heated-saline-pool\",\"indoor-heated-pool\",\"infinity-rooftop-pool\",\"lazy-river-splash-pad\",\"lifeguard-on-duty\",\"outdoor-pool\",\"pool-beach-towel-service\",\"private-plunge-pools\",\"shaded-toddler-splash-zone\",\"snorkelling-gear\",\"stand-up-paddleboard-and-kayaks\"]},{\"title\":\"Room & Suite\",\"parent_slug\":\"room-suite\",\"slugs\":[\"baby-steriliser-and-bottle-warmer\",\"black-out-curtains\",\"chromecast-streaming\",\"connecting-rooms\",\"extra-bathrooms\",\"family-bunk-bed-rooms\",\"family-suites\",\"hypo-allergenic-rooms\",\"kids-pillow-menu\",\"kitchenette-microwave\",\"mini-fridge\",\"private-balcony-terrace\"]},{\"title\":\"Services & Conveniences\",\"parent_slug\":\"services-conveniences\",\"slugs\":[\"24-h-doctor-on-call\",\"airport-shuttle\",\"atm-on-site\",\"baby-equipment-rental\",\"bicycle-rental\",\"boutique-gift-shop\",\"concierge-service\",\"ev-charging-stations\",\"filtered-water-refill-stations\",\"free-secure-parking\",\"laundry-dry-cleaning\",\"multilingual-staff\",\"priority-family-check-in-desk\",\"stroller-friendly-pathways-map\",\"valet-parking\"]},{\"title\":\"Wellness & Fitness\",\"parent_slug\":\"wellness-fitness\",\"slugs\":[\"24-h-fitness-center\",\"full-service-spa\",\"kids-teens-spa-menu\",\"meditation-garden\",\"personal-trainer-sessions\",\"sauna-and-steam-room\",\"yoga-pilates-classes\"]}]\t\t};\n\n\t\troot.innerHTML = ''\n\t\t\t+ '<div class=\"ffh-dx-header\">'\n\t\t\t+ '<h1>Destinations<\/h1>'\n\t\t\t+ '<span class=\"ffh-dx-underline\"><\/span>'\n\t\t\t+ '<\/div>'\n\t\t\t+ '<div class=\"ffh-dx-layout\">'\n\t\t\t+ '<div class=\"ffh-dx-left\">'\n\t\t\t+ '<div class=\"ffh-dx-map-control\">'\n\t\t\t+ '<label class=\"ffh-dx-continent-label\" for=\"ffh-destination-explorer-1-continent\">Continent<\/label>'\n\t\t\t+ '<select id=\"ffh-destination-explorer-1-continent\" class=\"ffh-dx-continent\"><\/select>'\n\t\t\t+ '<\/div>'\n\t\t\t+ '<div class=\"ffh-dx-destination-intro\"><strong>Popular destinations<\/strong><span>Most FFH-reviewed hotels first<\/span><\/div>'\n\t\t\t+ '<div class=\"ffh-dx-destination-list\"><\/div>'\n\t\t\t+ '<div class=\"ffh-dx-hotel-panel\" hidden>'\n\t\t\t+ '<div class=\"ffh-dx-toolbar\"><button type=\"button\" class=\"ffh-dx-back\">Back to Destinations<\/button><\/div>'\n\t\t\t+ '<div class=\"ffh-dx-filters\">'\n\t\t\t+ '<select class=\"ffh-dx-filter-destination\" aria-label=\"Filter by destination\"><\/select>'\n\t\t\t+ '<select class=\"ffh-dx-filter-category\" aria-label=\"Filter by category\"><option value=\"\">Select Category<\/option><\/select>'\n\t\t\t+ '<button type=\"button\" class=\"ffh-dx-filter-toggle\" aria-expanded=\"false\">Filter <span class=\"ffh-dx-filter-badge\">0<\/span><\/button>'\n\t\t\t+ '<div class=\"ffh-dx-amenity-modal\" hidden>'\n\t\t\t+ '<button type=\"button\" class=\"ffh-dx-amenity-modal-backdrop\" aria-label=\"Close\"><\/button>'\n\t\t\t+ '<div class=\"ffh-dx-amenity-modal-dialog\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"ffh-destination-explorer-1-amenity-modal-title\">'\n\t\t\t+ '<div class=\"ffh-dx-amenity-modal-header\">'\n\t\t\t+ '<h3 id=\"ffh-destination-explorer-1-amenity-modal-title\">Family &amp; Stay details<\/h3>'\n\t\t\t+ '<button type=\"button\" class=\"ffh-dx-amenity-modal-close\" aria-label=\"Close\">&times;<\/button>'\n\t\t\t+ '<\/div>'\n\t\t\t+ '<div class=\"ffh-dx-amenity-modal-body\"><\/div>'\n\t\t\t+ '<div class=\"ffh-dx-amenity-modal-footer\">'\n\t\t\t+ '<button type=\"button\" class=\"ffh-dx-amenity-modal-clear\">Clear<\/button>'\n\t\t\t+ '<button type=\"button\" class=\"ffh-dx-amenity-modal-apply\">Apply<\/button>'\n\t\t\t+ '<\/div><\/div><\/div>'\n\t\t\t+ '<input type=\"search\" class=\"ffh-dx-filter-search\" placeholder=\"Search for a destination or hotel\" aria-label=\"Search hotels\">'\n\t\t\t+ '<select class=\"ffh-dx-filter-sort\" aria-label=\"Sort hotels\"><option value=\"rating_desc\">Highest Rating<\/option><option value=\"rating_asc\">Lowest Rating<\/option><option value=\"name_asc\">Name A-Z<\/option><option value=\"name_desc\">Name Z-A<\/option><\/select>'\n\t\t\t+ '<\/div>'\n\t\t\t+ '<div class=\"ffh-dx-filter-meta\"><span class=\"ffh-dx-filter-count\"><\/span><button type=\"button\" class=\"ffh-dx-clear-filters\">Clear All Filters<\/button><\/div>'\n\t\t\t+ '<div class=\"ffh-dx-hotel-list\"><\/div>'\n\t\t\t+ '<\/div>'\n\t\t\t+ '<\/div>'\n\t\t\t+ '<div class=\"ffh-dx-map-wrap\">'\n\t\t\t+ '<div class=\"ffh-dx-map ffh-leaflet-tint\"><\/div>'\n\t\t\t+ '<\/div>'\n\t\t\t+ '<\/div>';\n\n\t\tvar continentSelect = root.querySelector('.ffh-dx-continent');\n\t\tvar destinationList = root.querySelector('.ffh-dx-destination-list');\n\t\tvar hotelPanel = root.querySelector('.ffh-dx-hotel-panel');\n\t\tvar hotelList = root.querySelector('.ffh-dx-hotel-list');\n\t\tvar backButton = root.querySelector('.ffh-dx-back');\n\t\tvar searchInput = root.querySelector('.ffh-dx-filter-search');\n\t\tvar destinationFilterSelect = root.querySelector('.ffh-dx-filter-destination');\n\t\tvar categoryFilterSelect = root.querySelector('.ffh-dx-filter-category');\n\t\tvar filterToggleButton = root.querySelector('.ffh-dx-filter-toggle');\n\t\tvar filterBadge = root.querySelector('.ffh-dx-filter-badge');\n\t\tvar amenityModal = root.querySelector('.ffh-dx-amenity-modal');\n\t\tvar amenityModalBackdrop = root.querySelector('.ffh-dx-amenity-modal-backdrop');\n\t\tvar amenityModalDialog = root.querySelector('.ffh-dx-amenity-modal-dialog');\n\t\tvar amenityModalBody = root.querySelector('.ffh-dx-amenity-modal-body');\n\t\tvar amenityModalClose = root.querySelector('.ffh-dx-amenity-modal-close');\n\t\tvar amenityModalApply = root.querySelector('.ffh-dx-amenity-modal-apply');\n\t\tvar amenityModalClear = root.querySelector('.ffh-dx-amenity-modal-clear');\n\t\tvar sortSelect = root.querySelector('.ffh-dx-filter-sort');\n\t\tvar filterCount = root.querySelector('.ffh-dx-filter-count');\n\t\tvar clearFiltersButton = root.querySelector('.ffh-dx-clear-filters');\n\t\tvar mapEl = root.querySelector('.ffh-dx-map');\n\t\tvar explorerLayout = root.querySelector('.ffh-dx-layout');\n\t\tmapEl.style.setProperty('--ffh-dx-map-height', root.getAttribute('data-map-height') || '520px');\n\n\t\tvar selectedDestinationId = '';\n\t\tvar previewDestinationId = '';\n\t\tvar map = null;\n\t\tvar markerLayer = null;\n\t\tvar markers = [];\n\t\tvar filters = { search: '', sort: 'rating_desc', category: '', amenities: [] };\n\n\t\t\/* --- Page breadcrumb hierarchy (2026-06-27) -------------------------------\n\t\t   Reflect the explorer drill-down in the site breadcrumb:\n\t\t   Home -> Destinations -> {Continent} -> {Destination}. The continent and\n\t\t   \"Destinations\" crumbs are clickable and drive the explorer state (SPA, no\n\t\t   reload). Replaces the in-panel \"Back to Destinations\" button. Rebuilds from\n\t\t   a snapshot each time so TranslatePress labels are preserved. *\/\n\t\tvar pageBcList = document.querySelector('.ffh-breadcrumbs__list');\n\t\tvar pageBcBase = pageBcList ? pageBcList.innerHTML : '';\n\n\t\tfunction continentOfDestination(dest){\n\t\t\tif (!dest) return '';\n\t\t\tfor (var i = 0; i < config.continents.length; i++) {\n\t\t\t\tvar c = config.continents[i];\n\t\t\t\tvar arr = Array.isArray(config.data[c]) ? config.data[c] : [];\n\t\t\t\tfor (var j = 0; j < arr.length; j++) {\n\t\t\t\t\tif (String(arr[j].id) === String(dest.id)) return c;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn '';\n\t\t}\n\t\tfunction bcResetToAll(){\n\t\t\tcontinentSelect.value = '';\n\t\t\tselectedDestinationId = '';\n\t\t\tfilters.search = ''; filters.category = ''; filters.amenities = [];\n\t\t\tif (searchInput) searchInput.value = '';\n\t\t\tif (categoryFilterSelect) categoryFilterSelect.value = '';\n\t\t\tcloseAmenityModal();\n\t\t\trenderAll();\n\t\t}\n\t\tfunction bcGoToContinent(continent){\n\t\t\tcontinentSelect.value = continent || '';\n\t\t\tselectedDestinationId = '';\n\t\t\tfilters.search = ''; filters.category = ''; filters.amenities = [];\n\t\t\tif (searchInput) searchInput.value = '';\n\t\t\tif (categoryFilterSelect) categoryFilterSelect.value = '';\n\t\t\tcloseAmenityModal();\n\t\t\trenderAll();\n\t\t}\n\t\tfunction bcAppendCrumb(label, isCurrent, onClick){\n\t\t\tvar li = document.createElement('li');\n\t\t\tli.className = 'ffh-breadcrumbs__item' + (isCurrent ? ' ffh-breadcrumbs__item--current' : '');\n\t\t\tif (isCurrent || typeof onClick !== 'function') {\n\t\t\t\tvar span = document.createElement('span');\n\t\t\t\tspan.className = 'ffh-breadcrumbs__text';\n\t\t\t\tif (isCurrent) span.setAttribute('aria-current', 'page');\n\t\t\t\tspan.textContent = label;\n\t\t\t\tli.appendChild(span);\n\t\t\t} else {\n\t\t\t\tvar a = document.createElement('a');\n\t\t\t\ta.className = 'ffh-breadcrumbs__link';\n\t\t\t\ta.href = '#';\n\t\t\t\ta.textContent = label;\n\t\t\t\ta.addEventListener('click', function(e){ e.preventDefault(); onClick(); });\n\t\t\t\tli.appendChild(a);\n\t\t\t}\n\t\t\tpageBcList.appendChild(li);\n\t\t}\n\t\tfunction updateBreadcrumb(){\n\t\t\tif (!pageBcList) return;\n\t\t\tpageBcList.innerHTML = pageBcBase;\n\t\t\t\/\/ FFH fix 2026-07-09 (Claude): when the page is entered directly via\n\t\t\t\/\/ \/destinations\/{continent}\/ the server already renders a trailing continent\n\t\t\t\/\/ crumb (Home > Destinations > Asia). The append logic below assumes the base\n\t\t\t\/\/ ends at \"Destinations\", so it would relabel that Asia into a reset link and\n\t\t\t\/\/ append a second Asia (=> \"Asia > Asia\"). Normalize the base back to the first\n\t\t\t\/\/ two crumbs (Home > Destinations) so both entry paths behave identically.\n\t\t\tvar baseItems = pageBcList.querySelectorAll('.ffh-breadcrumbs__item');\n\t\t\tfor (var bi = baseItems.length - 1; bi >= 2; bi--) {\n\t\t\t\tif (baseItems[bi].parentNode) baseItems[bi].parentNode.removeChild(baseItems[bi]);\n\t\t\t}\n\t\t\tvar continent = currentContinent();\n\t\t\tvar dest = selectedDestinationId ? getSelectedDestination() : null;\n\t\t\tif (dest && !continent) continent = continentOfDestination(dest);\n\t\t\tif (!continent && !dest) return; \/\/ default view -> keep base breadcrumb\n\t\t\t\/\/ Turn the trailing \"Destinations\" crumb into a reset link.\n\t\t\tvar items = pageBcList.querySelectorAll('.ffh-breadcrumbs__item');\n\t\t\tvar last = items[items.length - 1];\n\t\t\tif (last) {\n\t\t\t\tvar label = last.textContent.trim();\n\t\t\t\tlast.classList.remove('ffh-breadcrumbs__item--current');\n\t\t\t\tlast.innerHTML = '';\n\t\t\t\tvar a = document.createElement('a');\n\t\t\t\ta.className = 'ffh-breadcrumbs__link';\n\t\t\t\ta.href = '#';\n\t\t\t\ta.textContent = label;\n\t\t\t\ta.addEventListener('click', function(e){ e.preventDefault(); bcResetToAll(); });\n\t\t\t\tlast.appendChild(a);\n\t\t\t}\n\t\t\tif (continent) {\n\t\t\t\tbcAppendCrumb(continent, !dest, dest ? function(){ bcGoToContinent(continent); } : null);\n\t\t\t}\n\t\t\tif (dest) {\n\t\t\t\tbcAppendCrumb(dest.name, true, null);\n\t\t\t}\n\t\t}\n\n\t\tfunction clearMarkers(){\n\t\t\tmarkers = [];\n\t\t\tif (markerLayer) {\n\t\t\t\tmarkerLayer.clearLayers();\n\t\t\t}\n\t\t}\n\n\t\tfunction currentContinent(){\n\t\t\treturn continentSelect.value || '';\n\t\t}\n\n\t\tfunction currentDestinations(){\n\t\t\tvar continent = currentContinent();\n\t\t\tif (continent === '') {\n\t\t\t\tvar all = [];\n\t\t\t\tconfig.continents.forEach(function(c){\n\t\t\t\t\tif (Array.isArray(config.data[c])) all = all.concat(config.data[c]);\n\t\t\t\t});\n\t\t\t\treturn sortDestinationsByHotelCoverage(all);\n\t\t\t}\n\t\t\treturn sortDestinationsByHotelCoverage(Array.isArray(config.data[continent]) ? config.data[continent].slice() : []);\n\t\t}\n\n\t\tfunction sortDestinationsByHotelCoverage(destinations){\n\t\t\treturn destinations.sort(function(a, b){\n\t\t\t\tvar aHotels = Array.isArray(a.hotels) ? a.hotels : [];\n\t\t\t\tvar bHotels = Array.isArray(b.hotels) ? b.hotels : [];\n\t\t\t\tif (aHotels.length !== bHotels.length) return bHotels.length - aHotels.length;\n\t\t\t\tfunction averageRating(hotels){\n\t\t\t\t\tvar ratings = hotels.map(function(hotel){ return parseFloat(hotel.rating || ''); }).filter(function(rating){ return !isNaN(rating); });\n\t\t\t\t\treturn ratings.length ? ratings.reduce(function(sum, rating){ return sum + rating; }, 0) \/ ratings.length : 0;\n\t\t\t\t}\n\t\t\t\tvar ratingDifference = averageRating(bHotels) - averageRating(aHotels);\n\t\t\t\treturn ratingDifference || String(a.name || '').localeCompare(String(b.name || ''));\n\t\t\t});\n\t\t}\n\n\t\tfunction getSelectedDestination(){\n\t\t\tvar destinations = currentDestinations();\n\t\t\treturn destinations.find(function(dest){ return String(dest.id) === String(selectedDestinationId); }) || null;\n\t\t}\n\n\t\tfunction baseHotelsForView(){\n\t\t\tvar destinations = currentDestinations();\n\t\t\tif (!selectedDestinationId) {\n\t\t\t\treturn destinations.reduce(function(acc, dest){\n\t\t\t\t\treturn acc.concat(dest.hotels || []);\n\t\t\t\t}, []);\n\t\t\t}\n\t\t\tvar selected = getSelectedDestination();\n\t\t\treturn selected && Array.isArray(selected.hotels) ? selected.hotels : [];\n\t\t}\n\n\t\tfunction slugifyLabel(str){\n\t\t\treturn String(str || '').trim().toLowerCase().replace(\/[^a-z0-9]+\/g, '-').replace(\/^-+|-+$\/g, '');\n\t\t}\n\n\t\tfunction extractCategoryTokens(hotel){\n\t\t\tvar tokens = [];\n\t\t\tif (Array.isArray(hotel.category_slugs)) {\n\t\t\t\thotel.category_slugs.forEach(function(s){\n\t\t\t\t\ts = String(s || '').trim();\n\t\t\t\t\tif (s) { tokens.push(s); }\n\t\t\t\t});\n\t\t\t}\n\t\t\t[String(hotel.primary_category || ''), String(hotel.secondary_categories || '')].forEach(function(raw){\n\t\t\t\traw.split(\/[|,]\/).forEach(function(v){\n\t\t\t\t\tvar item = String(v || '').trim();\n\t\t\t\t\tif (!item) { return; }\n\t\t\t\t\tvar asSlug = slugifyLabel(item);\n\t\t\t\t\tif (asSlug) { tokens.push(asSlug); }\n\t\t\t\t});\n\t\t\t});\n\t\t\treturn Array.from(new Set(tokens));\n\t\t}\n\n\t\tfunction extractAmenityTokens(hotel){\n\t\t\tvar fromTax = Array.isArray(hotel.amenity_slugs)\n\t\t\t\t? hotel.amenity_slugs.map(function(v){ return String(v || '').trim(); }).filter(Boolean)\n\t\t\t\t: [];\n\t\t\tif (fromTax.length) {\n\t\t\t\t\/\/ Taxonomy slugs are source of truth for destination cards + filtering.\n\t\t\t\treturn Array.from(new Set(fromTax));\n\t\t\t}\n\t\t\tvar fromMeta = String(hotel.amenities || '')\n\t\t\t\t.split(\/[|,]\/)\n\t\t\t\t.map(function(v){ return String(v || '').trim(); })\n\t\t\t\t.filter(Boolean);\n\t\t\treturn Array.from(new Set(fromMeta));\n\t\t}\n\n\t\tfunction collectHotelLatLngs(hotels){\n\t\t\tvar out = [];\n\t\t\t(hotels || []).forEach(function(hotel){\n\t\t\t\tif (typeof hotel.latitude === 'number' && typeof hotel.longitude === 'number') {\n\t\t\t\t\tout.push([hotel.latitude, hotel.longitude]);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn out;\n\t\t}\n\n\t\tfunction continentHotelLatLngs(){\n\t\t\treturn collectHotelLatLngs(\n\t\t\t\tcurrentDestinations().reduce(function(acc, dest){\n\t\t\t\t\treturn acc.concat(dest.hotels || []);\n\t\t\t\t}, [])\n\t\t\t);\n\t\t}\n\n\t\tfunction fitMapToLatLngs(latLngs){\n\t\t\tif (!map || !latLngs.length) { return; }\n\t\t\tif (window.ffhLeafletFit) {\n\t\t\t\twindow.ffhLeafletFit(map, latLngs, [28, 28]);\n\t\t\t} else {\n\t\t\t\tmap.fitBounds(latLngs, { padding: [28, 28], maxZoom: 14 });\n\t\t\t}\n\t\t}\n\n\t\tfunction destinationHotelsForMap(destination){\n\t\t\treturn destination && Array.isArray(destination.hotels) ? destination.hotels : [];\n\t\t}\n\n\t\tfunction setDestinationMarkerEmphasis(destinationId){\n\t\t\tmarkers.forEach(function(marker){\n\t\t\t\tvar active = !!destinationId && (marker.ffhDestinationIds || []).indexOf(String(destinationId)) !== -1;\n\t\t\t\tif (typeof marker.setRadius === 'function') marker.setRadius(active ? 9 : 4);\n\t\t\t\tmarker.setStyle({\n\t\t\t\t\tfillColor: active ? '#C59D5F' : '#b6a58e',\n\t\t\t\t\tcolor: active ? '#231F20' : '#807767',\n\t\t\t\t\tweight: active ? 3 : 1,\n\t\t\t\t\topacity: active ? 1 : 0.55,\n\t\t\t\t\tfillOpacity: active ? 1 : 0.28\n\t\t\t\t});\n\t\t\t\tif (active && typeof marker.bringToFront === 'function') marker.bringToFront();\n\t\t\t});\n\t\t}\n\n\t\tfunction focusDestinationOnMap(destinationId){\n\t\t\tif (!map || !destinationId) return false;\n\t\t\tvar destination = currentDestinations().find(function(item){ return String(item.id) === String(destinationId); });\n\t\t\tvar latLngs = collectHotelLatLngs(destinationHotelsForMap(destination));\n\t\t\tif (!latLngs.length) return false;\n\t\t\tif (latLngs.length === 1) {\n\t\t\t\tmap.setView(latLngs[0], 5.5, { animate: true });\n\t\t\t} else {\n\t\t\t\tmap.fitBounds(latLngs, { padding: [36, 36], maxZoom: 8, animate: true });\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tfunction restoreActiveMapView(){\n\t\t\tvar destinationId = previewDestinationId || selectedDestinationId;\n\t\t\tsetDestinationMarkerEmphasis(destinationId);\n\t\t\tif (destinationId && focusDestinationOnMap(destinationId)) return;\n\t\t\tvar isGlobalView = (currentContinent() === '' && !selectedDestinationId && !filters.search && !filters.category && (!filters.amenities || !filters.amenities.length));\n\t\t\tif (isGlobalView) {\n\t\t\t\ttry { map.fitWorld({ padding: [10, 10] }); }\n\t\t\t\tcatch (e) { map.setView([25, 0], 2); }\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar latLngs = collectHotelLatLngs(currentHotels());\n\t\t\tif (latLngs.length) {\n\t\t\t\tfitMapToLatLngs(latLngs);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallback = continentHotelLatLngs();\n\t\t\tif (fallback.length) fitMapToLatLngs(fallback);\n\t\t}\n\n\t\tfunction setDestinationPreview(destinationId){\n\t\t\tdestinationId = destinationId ? String(destinationId) : '';\n\t\t\tif (previewDestinationId === destinationId) return;\n\t\t\tpreviewDestinationId = destinationId;\n\t\t\tdestinationList.querySelectorAll('.ffh-dx-destination').forEach(function(card){\n\t\t\t\tvar button = card.querySelector('[data-destination-id]');\n\t\t\t\tcard.classList.toggle('ffh-dx-destination--preview', !!button && String(button.getAttribute('data-destination-id')) === destinationId);\n\t\t\t});\n\t\t\tif (destinationId) {\n\t\t\t\tsetDestinationMarkerEmphasis(destinationId);\n\t\t\t\tfocusDestinationOnMap(destinationId);\n\t\t\t} else {\n\t\t\t\trestoreActiveMapView();\n\t\t\t}\n\t\t}\n\n\t\tfunction currentHotels(){\n\t\t\tvar hotels = baseHotelsForView().slice();\n\t\t\tif (filters.search) {\n\t\t\t\tvar needle = filters.search.toLowerCase();\n\t\t\t\thotels = hotels.filter(function(hotel){\n\t\t\t\t\tvar title = String(hotel.title || '').toLowerCase();\n\t\t\t\t\tvar address = String(hotel.address || '').toLowerCase();\n\t\t\t\t\treturn title.indexOf(needle) !== -1 || address.indexOf(needle) !== -1;\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (filters.category) {\n\t\t\t\thotels = hotels.filter(function(hotel){\n\t\t\t\t\treturn extractCategoryTokens(hotel).indexOf(filters.category) !== -1;\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (filters.amenities.length) {\n\t\t\t\thotels = hotels.filter(function(hotel){\n\t\t\t\t\tvar hotelAmenities = extractAmenityTokens(hotel);\n\t\t\t\t\treturn filters.amenities.every(function(token){\n\t\t\t\t\t\treturn hotelAmenities.indexOf(token) !== -1;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (filters.sort === 'rating_asc') {\n\t\t\t\thotels.sort(function(a, b){\n\t\t\t\t\treturn (parseFloat(a.rating || '0') || 0) - (parseFloat(b.rating || '0') || 0);\n\t\t\t\t});\n\t\t\t} else if (filters.sort === 'name_asc') {\n\t\t\t\thotels.sort(function(a, b){ return String(a.title || '').localeCompare(String(b.title || '')); });\n\t\t\t} else if (filters.sort === 'name_desc') {\n\t\t\t\thotels.sort(function(a, b){ return String(b.title || '').localeCompare(String(a.title || '')); });\n\t\t\t} else {\n\t\t\t\thotels.sort(function(a, b){\n\t\t\t\t\treturn (parseFloat(b.rating || '0') || 0) - (parseFloat(a.rating || '0') || 0);\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn hotels;\n\t\t}\n\n\t\tfunction titleizeSlug(slug){\n\t\t\treturn String(slug || '').replace(\/[-_]+\/g, ' ').replace(\/\\b\\w\/g, function(c){ return c.toUpperCase(); });\n\t\t}\n\n\t\tfunction buildDestinationFilterOptions(){\n\t\t\tvar options = ['<option value=\"\">All Destinations<\/option>'];\n\t\t\tcurrentDestinations().forEach(function(dest){\n\t\t\t\tvar selected = String(dest.id) === String(selectedDestinationId) ? ' selected' : '';\n\t\t\t\toptions.push('<option value=\"' + dest.id + '\"' + selected + '>' + dest.name + '<\/option>');\n\t\t\t});\n\t\t\tdestinationFilterSelect.innerHTML = options.join('');\n\t\t}\n\n\t\tfunction escAttr(s){\n\t\t\treturn String(s == null ? '' : s).replace(\/&\/g,'&amp;').replace(\/\"\/g,'&quot;').replace(\/<\/g,'&lt;');\n\t\t}\n\n\t\tfunction buildCategoryFilterOptions(){\n\t\t\tvar used = new Set();\n\t\t\tbaseHotelsForView().forEach(function(hotel){\n\t\t\t\textractCategoryTokens(hotel).forEach(function(t){ used.add(t); });\n\t\t\t});\n\t\t\tvar labels = config.categoryLabels || {};\n\t\t\tvar options = ['<option value=\"\">Select Category<\/option>'];\n\t\t\tArray.from(used).sort(function(a, b){\n\t\t\t\treturn String(labels[a] || a).localeCompare(String(labels[b] || b));\n\t\t\t}).forEach(function(slug){\n\t\t\t\tvar selected = filters.category === slug ? ' selected' : '';\n\t\t\t\tvar lab = labels[slug] || titleizeSlug(slug);\n\t\t\t\toptions.push('<option value=\"' + escAttr(slug) + '\"' + selected + '>' + escAttr(lab) + '<\/option>');\n\t\t\t});\n\t\t\tcategoryFilterSelect.innerHTML = options.join('');\n\t\t}\n\n\t\tfunction renderAmenityModalBody(){\n\t\t\tif (!amenityModalBody) { return; }\n\t\t\tvar sections = Array.isArray(config.amenitySections) ? config.amenitySections : [];\n\t\t\tif (!sections.length) {\n\t\t\t\tamenityModalBody.innerHTML = '<p class=\"ffh-dx-empty\">No amenity groups configured.<\/p>';\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar html = '';\n\t\t\tsections.forEach(function(sec){\n\t\t\t\tvar slugs = Array.isArray(sec.slugs) ? sec.slugs : [];\n\t\t\t\tif (!slugs.length) { return; }\n\t\t\t\tvar checks = slugs.map(function(slug){\n\t\t\t\t\tvar checked = filters.amenities.indexOf(slug) !== -1 ? ' checked' : '';\n\t\t\t\t\treturn '<label class=\"ffh-dx-filter-check\"><input type=\"checkbox\" name=\"ffh-dx-amenity\" value=\"' + escAttr(slug) + '\"' + checked + '> <span>' + escAttr(titleizeSlug(slug)) + '<\/span><\/label>';\n\t\t\t\t}).join('');\n\t\t\t\thtml += ''\n\t\t\t\t\t+ '<section class=\"ffh-dx-amenity-section\">'\n\t\t\t\t\t+ '<h4>' + escAttr(String(sec.title || '')) + '<\/h4>'\n\t\t\t\t\t+ '<div class=\"ffh-dx-amenity-check-grid\">' + checks + '<\/div>'\n\t\t\t\t\t+ '<\/section>';\n\t\t\t});\n\t\t\tamenityModalBody.innerHTML = html || '<p class=\"ffh-dx-empty\">No amenities available.<\/p>';\n\t\t}\n\n\t\tfunction openAmenityModal(){\n\t\t\tif (!amenityModal) { return; }\n\t\t\trenderAmenityModalBody();\n\t\t\tamenityModal.hidden = false;\n\t\t\tfilterToggleButton.setAttribute('aria-expanded', 'true');\n\t\t\tdocument.body.style.overflow = 'hidden';\n\t\t}\n\n\t\tfunction closeAmenityModal(){\n\t\t\tif (!amenityModal || amenityModal.hidden) { return; }\n\t\t\tamenityModal.hidden = true;\n\t\t\tfilterToggleButton.setAttribute('aria-expanded', 'false');\n\t\t\tdocument.body.style.overflow = '';\n\t\t\tfilterToggleButton.focus({ preventScroll: true });\n\t\t}\n\n\t\tfunction hotelCardAmenitiesHtml(hotel){\n\t\t\tvar maxPills = 5;\n\t\t\tvar slugs = extractAmenityTokens(hotel);\n\t\t\tif (!slugs.length) {\n\t\t\t\treturn '';\n\t\t\t}\n\t\t\tslugs.sort(function(a, b){\n\t\t\t\treturn titleizeSlug(a).localeCompare(titleizeSlug(b));\n\t\t\t});\n\t\t\tvar labels = slugs.map(function(s){ return titleizeSlug(s); });\n\t\t\tvar shown = labels.slice(0, maxPills);\n\t\t\tvar extraCount = labels.length - shown.length;\n\t\t\tvar pills = shown.map(function(item){\n\t\t\t\treturn '<span class=\"ffh-dx-amenity\">' + escAttr(item) + '<\/span>';\n\t\t\t}).join('');\n\t\t\tif (extraCount > 0) {\n\t\t\t\tvar restTitle = labels.slice(maxPills).join(', ');\n\t\t\t\tpills += '<span class=\"ffh-dx-amenity ffh-dx-amenity--more\" title=\"' + escAttr(restTitle) + '\">+' + extraCount + ' more<\/span>';\n\t\t\t}\n\t\t\treturn '<div class=\"ffh-dx-amenities\">' + pills + '<\/div>';\n\t\t}\n\n\t\tfunction hotelCard(hotel){\n\t\t\tvar imageHtml = hotel.image ? '<img decoding=\"async\" src=\"' + hotel.image + '\" alt=\"' + hotel.title + '\">' : '<span class=\"ffh-dx-placeholder\"><\/span>';\n\t\t\tvar numericRating = parseFloat(hotel.rating || '');\n\t\t\tvar score = !isNaN(numericRating) ? Math.max(0, Math.min(10, numericRating)) : null;\n\t\t\tvar scorePercent = score !== null ? Math.round(score * 10) : 0;\n\t\t\tvar scoreHtml = '';\n\t\t\tif (score !== null) {\n\t\t\t\tscoreHtml = ''\n\t\t\t\t\t+ '<div class=\"ffh-dx-score-wrap\">'\n\t\t\t\t\t+ '<div class=\"ffh-dx-score-ring\" style=\"--ffh-score:' + scorePercent + ';\">'\n\t\t\t\t\t+ '<span class=\"ffh-dx-score-value\">' + score.toFixed(1) + '<\/span>'\n\t\t\t\t\t+ '<\/div>'\n\t\t\t\t\t+ '<div class=\"ffh-dx-score-label\">FFH Score<\/div>'\n\t\t\t\t\t+ '<\/div>';\n\t\t\t}\n\t\t\tvar address = hotel.address ? '<span class=\"ffh-dx-address\">' + hotel.address + '<\/span>' : '';\n\t\t\tvar amenityHtml = hotelCardAmenitiesHtml(hotel);\n\t\t\treturn ''\n\t\t\t\t+ '<article class=\"ffh-dx-hotel\" data-hotel-id=\"' + escAttr(String(hotel.id || '')) + '\">'\n\t\t\t\t+ '<a class=\"ffh-dx-hotel-thumb\" href=\"' + hotel.url + '\">' + imageHtml + '<\/a>'\n\t\t\t\t+ '<div class=\"ffh-dx-meta\">'\n\t\t\t\t+ '<a class=\"ffh-dx-title\" href=\"' + hotel.url + '\">' + hotel.title + '<\/a>'\n\t\t\t\t+ address\n\t\t\t\t+ amenityHtml\n\t\t\t\t+ '<\/div>'\n\t\t\t\t+ scoreHtml\n\t\t\t\t+ '<\/article>';\n\t\t}\n\n\t\tfunction renderDestinations(){\n\t\t\tvar destinations = currentDestinations();\n\t\t\tif (!destinations.length) {\n\t\t\t\tdestinationList.innerHTML = '<p class=\"ffh-dx-empty\">No destinations available for this continent yet.<\/p>';\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdestinationList.innerHTML = destinations.map(function(dest){\n\t\t\t\tvar imageHtml = dest.image ? '<img decoding=\"async\" src=\"' + dest.image + '\" alt=\"' + dest.name + '\">' : '<span class=\"ffh-dx-placeholder\"><\/span>';\n\t\t\t\tvar context = dest.context ? '<div class=\"ffh-dx-context\"><span class=\"ffh-dx-dot\"><\/span>' + dest.context + '<\/div>' : '';\n\t\t\t\tvar hotelCount = Array.isArray(dest.hotels) ? dest.hotels.length : 0;\n\t\t\t\tvar isSelected = String(dest.id) === String(selectedDestinationId);\n\t\t\t\tvar currentState = isSelected ? ' aria-current=\"true\"' : '';\n\t\t\t\tvar previewClass = (String(dest.id) === String(previewDestinationId) ? ' ffh-dx-destination--preview' : '') + (isSelected ? ' ffh-dx-destination--selected' : '');\n\t\t\t\treturn ''\n\t\t\t\t\t+ '<div class=\"ffh-dx-destination' + previewClass + '\">'\n\t\t\t\t\t+ '<button type=\"button\" class=\"ffh-dx-destination-card\" data-destination-id=\"' + dest.id + '\"' + currentState + '>'\n\t\t\t\t\t+ '<span class=\"ffh-dx-thumb\">' + imageHtml + '<\/span>'\n\t\t\t\t\t+ '<span class=\"ffh-dx-name-wrap\"><span class=\"ffh-dx-name\">' + dest.name + '<\/span>' + context + '<span class=\"ffh-dx-hotel-count\">' + hotelCount + ' FFH-reviewed ' + (hotelCount === 1 ? 'hotel' : 'hotels') + '<\/span><\/span>'\n\t\t\t\t\t+ '<\/button>'\n\t\t\t\t\t+ '<\/div>';\n\t\t\t}).join('');\n\t\t}\n\n\t\tfunction renderHotelsPanel(){\n\t\t\tif (!selectedDestinationId) {\n\t\t\t\texplorerLayout.classList.remove('ffh-dx-layout--hotel-results');\n\t\t\t\tdestinationList.hidden = false;\n\t\t\t\tdestinationList.style.display = 'flex';\n\t\t\t\thotelPanel.hidden = true;\n\t\t\t\thotelPanel.style.display = 'none';\n\t\t\t\treturn;\n\t\t\t}\n\t\t\texplorerLayout.classList.add('ffh-dx-layout--hotel-results');\n\t\t\tdestinationList.hidden = true;\n\t\t\tdestinationList.style.display = 'none';\n\t\t\thotelPanel.hidden = false;\n\t\t\thotelPanel.style.display = 'flex';\n\n\t\t\tvar selected = getSelectedDestination();\n\t\t\tif (!selected) {\n\t\t\t\thotelList.innerHTML = '<p class=\"ffh-dx-empty\">Destination not found.<\/p>';\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tbuildDestinationFilterOptions();\n\t\t\tbuildCategoryFilterOptions();\n\t\t\tfilterBadge.textContent = String(filters.amenities.length);\n\t\t\tdestinationFilterSelect.classList.toggle('is-active', !!destinationFilterSelect.value);\n\t\t\tcategoryFilterSelect.classList.toggle('is-active', !!categoryFilterSelect.value);\n\t\t\tsearchInput.classList.toggle('is-active', !!String(searchInput.value || '').trim());\n\t\t\tsortSelect.classList.toggle('is-active', sortSelect.value !== 'rating_desc');\n\t\t\tfilterToggleButton.classList.toggle('is-active', filters.amenities.length > 0);\n\n\t\t\tvar hotels = currentHotels();\n\t\t\tfilterCount.textContent = hotels.length + (hotels.length === 1 ? ' hotel matches your filters' : ' hotels match your filters');\n\t\t\tif (!hotels.length) {\n\t\t\t\thotelList.innerHTML = '<p class=\"ffh-dx-empty\">No hotels match these filters.<\/p>';\n\t\t\t\treturn;\n\t\t\t}\n\t\t\thotelList.innerHTML = hotels.map(hotelCard).join('');\n\t\t}\n\n\t\tfunction syncHotelHighlight(hotelId, openPopup, closePopup){\n\t\t\tvar id = String(hotelId || '');\n\t\t\tif (id && openPopup) {\n\t\t\t\tmarkers.forEach(function(marker){\n\t\t\t\t\tif (marker.ffhHotelId !== id && marker.isPopupOpen && marker.isPopupOpen()) marker.closePopup();\n\t\t\t\t});\n\t\t\t}\n\t\t\thotelList.querySelectorAll('.ffh-dx-hotel[data-hotel-id]').forEach(function(card){\n\t\t\t\tcard.classList.toggle('is-active', !!id && card.getAttribute('data-hotel-id') === id);\n\t\t\t});\n\t\t\tmarkers.forEach(function(marker){\n\t\t\t\tvar active = !!id && marker.ffhHotelId === id;\n\t\t\t\tif (marker.setStyle) marker.setStyle({ fillColor: active ? '#8A672B' : '#c49a6c', radius: active ? 8 : 6 });\n\t\t\t\tif (active && openPopup && marker.openPopup) marker.openPopup();\n\t\t\t\telse if (!id && closePopup && marker.closePopup) marker.closePopup();\n\t\t\t});\n\t\t}\n\n\t\tfunction renderMap(){\n\t\t\tif (!map || !window.L || !markerLayer) { return; }\n\t\t\tclearMarkers();\n\t\t\tvar hotels = currentHotels();\n\t\t\tvar latLngs = collectHotelLatLngs(hotels);\n\t\t\tvar destinationIdsByHotel = {};\n\t\t\tcurrentDestinations().forEach(function(destination){\n\t\t\t\t(destination.hotels || []).forEach(function(hotel){\n\t\t\t\t\tvar hotelId = String(hotel.id);\n\t\t\t\t\tif (!destinationIdsByHotel[hotelId]) destinationIdsByHotel[hotelId] = [];\n\t\t\t\t\tdestinationIdsByHotel[hotelId].push(String(destination.id));\n\t\t\t\t});\n\t\t\t});\n\n\t\t\thotels.forEach(function(hotel){\n\t\t\t\tif (typeof hotel.latitude !== 'number' || typeof hotel.longitude !== 'number') { return; }\n\t\t\t\tvar marker = L.circleMarker([hotel.latitude, hotel.longitude], {\n\t\t\t\t\tradius: 6,\n\t\t\t\t\tfillColor: '#c49a6c',\n\t\t\t\t\tcolor: '#6d5228',\n\t\t\t\t\tweight: 2,\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tfillOpacity: 0.9\n\t\t\t\t});\n\t\t\t\tmarker.ffhDestinationIds = destinationIdsByHotel[String(hotel.id)] || [];\n\t\t\t\tmarker.ffhHotelId = String(hotel.id || '');\n\t\t\t\tvar popupImage = hotel.image\n\t\t\t\t\t? '<img decoding=\"async\" class=\"ffh-hotels-grid-image\" src=\"' + escAttr(hotel.image) + '\" alt=\"' + escAttr(hotel.title || '') + '\" loading=\"lazy\">'\n\t\t\t\t\t: '<span class=\"ffh-hotels-grid-image ffh-dx-placeholder\"><\/span>';\n\t\t\t\tvar hotelRating = parseFloat(hotel.rating || '');\n\t\t\t\tvar scoreRing = !isNaN(hotelRating)\n\t\t\t\t\t? '<span class=\"ffh-hotels-grid-score-ring ffh-hotels-grid-score-ring--overlay\" style=\"--ffh-score:' + Math.round(Math.max(0, Math.min(10, hotelRating)) * 10) + ';\" title=\"Family score out of 10\"><span class=\"ffh-hotels-grid-score-value\">' + hotelRating.toFixed(1) + '<\/span><\/span>'\n\t\t\t\t\t: '';\n\t\t\t\tvar popupLocation = hotel.address ? '<div class=\"ffh-hotels-grid-location\">' + escAttr(hotel.address) + '<\/div>' : '';\n\t\t\t\tvar popupHtml = '<article class=\"ffh-hotels-grid-item ffh-dir-map-theme-card\" data-hotel-id=\"' + escAttr(marker.ffhHotelId) + '\">'\n\t\t\t\t\t+ '<a href=\"' + escAttr(hotel.url || '#') + '\" class=\"ffh-hotels-grid-link\">'\n\t\t\t\t\t+ '<div class=\"ffh-hotels-grid-media\">' + popupImage + scoreRing + '<\/div>'\n\t\t\t\t\t+ '<div class=\"ffh-hotels-grid-content\">' + popupLocation + '<h3 class=\"ffh-hotels-grid-title\">' + escAttr(hotel.title || '') + '<\/h3><div class=\"ffh-hotels-grid-cta\">View hotel &rarr;<\/div><\/div>'\n\t\t\t\t\t+ '<\/a><\/article>';\n\t\t\t\tmarker.bindPopup(popupHtml, { closeButton: true, autoPan: true, maxWidth: 300, minWidth: 260, className: 'ffh-dir-map-popup-wrap' });\n\t\t\t\tmarker.bindTooltip(String(hotel.title || ''), { sticky: true });\n\t\t\t\t\/\/ Let Leaflet's bound click handler own the popup. Opening it on hover\n\t\t\t\t\/\/ makes the following click toggle it closed instead of selecting it.\n\t\t\t\tmarker.on('mouseover', function(){ syncHotelHighlight(marker.ffhHotelId, false); });\n\t\t\t\tmarker.on('mouseout', function(){ if (!marker.isPopupOpen()) syncHotelHighlight('', false); });\n\t\t\t\tmarker.on('click', function(){ syncHotelHighlight(marker.ffhHotelId, false); });\n\t\t\t\tmarkerLayer.addLayer(marker);\n\t\t\t\tmarkers.push(marker);\n\t\t\t});\n\n\t\t\tif (previewDestinationId) {\n\t\t\t\tsetDestinationMarkerEmphasis(previewDestinationId);\n\t\t\t\tif (focusDestinationOnMap(previewDestinationId)) return;\n\t\t\t}\n\n\t\t\t\/* B2a (2026-07-09): on the \"All\" view with no destination selected and no\n\t\t\t   active search\/filter, show a worldwide overview instead of tightly\n\t\t\t   fitting the (mostly European) markers. Any specific continent, a\n\t\t\t   selected destination, or an active filter keeps the fit-to-markers\n\t\t\t   behavior below. *\/\n\t\t\tvar isGlobalView = (currentContinent() === '' && !selectedDestinationId && !filters.search && !filters.category && (!filters.amenities || !filters.amenities.length));\n\t\t\tif (selectedDestinationId) {\n\t\t\t\tsetDestinationMarkerEmphasis(selectedDestinationId);\n\t\t\t\tif (focusDestinationOnMap(selectedDestinationId)) return;\n\t\t\t}\n\t\t\tif (isGlobalView) {\n\t\t\t\ttry { map.fitWorld({ padding: [10, 10] }); }\n\t\t\t\tcatch (e) { map.setView([25, 0], 2); }\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (latLngs.length) {\n\t\t\t\tfitMapToLatLngs(latLngs);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallback = continentHotelLatLngs();\n\t\t\tif (fallback.length) {\n\t\t\t\tfitMapToLatLngs(fallback);\n\t\t\t}\n\t\t}\n\n\t\tfunction renderAll(){\n\t\t\trenderDestinations();\n\t\t\trenderHotelsPanel();\n\t\t\trenderMap();\n\t\t\tupdateBreadcrumb();\n\t\t}\n\n\t\tfunction initMap(){\n\t\t\tif (!window.L) { return; }\n\t\t\tif (map) {\n\t\t\t\ttry { map.remove(); } catch (e) {}\n\t\t\t\tmap = null;\n\t\t\t\tmarkerLayer = null;\n\t\t\t}\n\t\t\t\/* B2a (2026-07-09): allow this explorer map to zoom out to a true world\n\t\t\t   overview (minZoom 2, below the site-wide default of 3) for both the map\n\t\t\t   and its tile layer, and relax the hard maxBounds so fitWorld\/setView can\n\t\t\t   frame the whole globe on the \"All\" view without snapping back. *\/\n\t\t\tvar mapOpts = window.ffhLeafletMapOpts\n\t\t\t\t? Object.assign({}, window.ffhLeafletMapOpts, { zoomControl: true, minZoom: 2, maxBoundsViscosity: 0.5 })\n\t\t\t\t: { scrollWheelZoom: false, zoomControl: true, minZoom: 2, maxZoom: 18, worldCopyJump: false, maxBounds: [[-85, -180], [85, 180]], maxBoundsViscosity: 0.5 };\n\t\t\tvar tileOpts = window.ffhLeafletTileOpts\n\t\t\t\t? Object.assign({}, window.ffhLeafletTileOpts, { minZoom: 2 })\n\t\t\t\t: { minZoom: 2, maxZoom: 18, noWrap: true, attribution: '\\u00a9 OpenStreetMap' };\n\t\t\tmap = L.map(mapEl, mapOpts);\n\t\t\tmap.on('popupclose', function(){ syncHotelHighlight('', false); });\n\t\t\tL.tileLayer('https:\/\/{s}.tile.openstreetmap.org\/{z}\/{x}\/{y}.png', tileOpts).addTo(map);\n\t\t\tmarkerLayer = L.featureGroup().addTo(map);\n\t\t\trenderAll();\n\t\t\twindow.setTimeout(function(){\n\t\t\t\tif (map && typeof map.invalidateSize === 'function') {\n\t\t\t\t\tmap.invalidateSize(true);\n\t\t\t\t}\n\t\t\t}, 120);\n\t\t}\n\n\t\tfunction bootMap(){\n\t\t\tif (!window.L) {\n\t\t\t\troot.querySelector('.ffh-dx-map-wrap').insertAdjacentHTML('beforeend', '<p class=\"ffh-dx-empty ffh-dx-map-error\">Unable to load map.<\/p>');\n\t\t\t\trenderAll();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tinitMap();\n\t\t}\n\n\t\tcontinentSelect.innerHTML = '<option value=\"\">All Destinations<\/option>' + config.continents.map(function(continent){\n\t\t\treturn '<option value=\"' + continent + '\">' + continent + '<\/option>';\n\t\t}).join('');\n\n\t\tvar defaultContinent = '';\n\t\tvar requestedContinent = String(config.initialContinent || '');\n\t\tif (requestedContinent && config.continents.indexOf(requestedContinent) !== -1) {\n\t\t\tdefaultContinent = requestedContinent;\n\t\t}\n\t\tcontinentSelect.value = defaultContinent;\n\n\t\tcontinentSelect.addEventListener('change', function(){\n\t\t\tselectedDestinationId = '';\n\t\t\tpreviewDestinationId = '';\n\t\t\tfilters.search = '';\n\t\t\tsearchInput.value = '';\n\t\t\tfilters.category = '';\n\t\t\tfilters.amenities = [];\n\t\t\tcategoryFilterSelect.value = '';\n\t\t\tcloseAmenityModal();\n\t\t\trenderAll();\n\t\t});\n\n\t\tdestinationList.addEventListener('click', function(event){\n\t\t\tvar item = event.target.closest('[data-destination-id]');\n\t\t\tif (!item) { return; }\n\t\t\tselectedDestinationId = String(item.getAttribute('data-destination-id') || '');\n\t\t\tpreviewDestinationId = '';\n\t\t\t\/\/ Always open a destination with a clean filter state so all hotels are visible first.\n\t\t\tfilters.search = '';\n\t\t\tfilters.sort = 'rating_desc';\n\t\t\tfilters.category = '';\n\t\t\tfilters.amenities = [];\n\t\t\tsearchInput.value = '';\n\t\t\tcategoryFilterSelect.value = '';\n\t\t\tsortSelect.value = 'rating_desc';\n\t\t\tcloseAmenityModal();\n\t\t\trenderAll();\n\t\t});\n\t\thotelList.addEventListener('pointerover', function(event){\n\t\t\tvar card = event.target.closest('.ffh-dx-hotel[data-hotel-id]');\n\t\t\tif (card && hotelList.contains(card)) syncHotelHighlight(card.getAttribute('data-hotel-id'), true);\n\t\t});\n\t\thotelList.addEventListener('pointerout', function(event){\n\t\t\tvar card = event.target.closest('.ffh-dx-hotel[data-hotel-id]');\n\t\t\tif (card && hotelList.contains(card) && (!event.relatedTarget || !card.contains(event.relatedTarget))) syncHotelHighlight('', false);\n\t\t});\n\t\thotelList.addEventListener('focusin', function(event){\n\t\t\tvar card = event.target.closest('.ffh-dx-hotel[data-hotel-id]');\n\t\t\tif (card && hotelList.contains(card)) syncHotelHighlight(card.getAttribute('data-hotel-id'), true);\n\t\t});\n\t\thotelList.addEventListener('focusout', function(event){\n\t\t\tvar card = event.target.closest('.ffh-dx-hotel[data-hotel-id]');\n\t\t\tif (card && hotelList.contains(card) && (!event.relatedTarget || !card.contains(event.relatedTarget))) syncHotelHighlight('', false, true);\n\t\t});\n\t\thotelList.addEventListener('pointerleave', function(){ syncHotelHighlight('', false); });\n\t\tdestinationList.addEventListener('pointerover', function(event){\n\t\t\tvar card = event.target.closest('[data-destination-id]');\n\t\t\tif (card && destinationList.contains(card)) setDestinationPreview(card.getAttribute('data-destination-id'));\n\t\t});\n\t\tdestinationList.addEventListener('pointerout', function(event){\n\t\t\tvar card = event.target.closest('[data-destination-id]');\n\t\t\tif (card && destinationList.contains(card) && (!event.relatedTarget || !card.contains(event.relatedTarget))) setDestinationPreview('');\n\t\t});\n\t\tdestinationList.addEventListener('focusin', function(event){\n\t\t\tvar card = event.target.closest('[data-destination-id]');\n\t\t\tif (card && destinationList.contains(card)) setDestinationPreview(card.getAttribute('data-destination-id'));\n\t\t});\n\t\tdestinationList.addEventListener('focusout', function(event){\n\t\t\tvar card = event.target.closest('[data-destination-id]');\n\t\t\tif (card && destinationList.contains(card) && (!event.relatedTarget || !card.contains(event.relatedTarget))) setDestinationPreview('');\n\t\t});\n\t\tbackButton.addEventListener('click', function(){\n\t\t\tselectedDestinationId = '';\n\t\t\tfilters.search = '';\n\t\t\tfilters.category = '';\n\t\t\tfilters.amenities = [];\n\t\t\tsearchInput.value = '';\n\t\t\tcategoryFilterSelect.value = '';\n\t\t\tcloseAmenityModal();\n\t\t\trenderAll();\n\t\t});\n\t\tdestinationFilterSelect.addEventListener('change', function(){\n\t\t\tselectedDestinationId = String(destinationFilterSelect.value || '');\n\t\t\tif (!selectedDestinationId) {\n\t\t\t\tdestinationList.hidden = false;\n\t\t\t\tdestinationList.style.display = 'flex';\n\t\t\t\thotelPanel.hidden = true;\n\t\t\t\thotelPanel.style.display = 'none';\n\t\t\t}\n\t\t\tcloseAmenityModal();\n\t\t\trenderAll();\n\t\t});\n\t\tcategoryFilterSelect.addEventListener('change', function(){\n\t\t\tfilters.category = String(categoryFilterSelect.value || '');\n\t\t\trenderAll();\n\t\t});\n\t\tsearchInput.addEventListener('input', function(){\n\t\t\tfilters.search = String(searchInput.value || '').trim();\n\t\t\trenderAll();\n\t\t});\n\t\tsortSelect.addEventListener('change', function(){\n\t\t\tfilters.sort = String(sortSelect.value || 'rating_desc');\n\t\t\trenderAll();\n\t\t});\n\t\tfilterToggleButton.addEventListener('click', function(e){\n\t\t\te.preventDefault();\n\t\t\tif (!amenityModal) { return; }\n\t\t\tif (amenityModal.hidden) {\n\t\t\t\topenAmenityModal();\n\t\t\t} else {\n\t\t\t\tcloseAmenityModal();\n\t\t\t}\n\t\t});\n\t\tif (amenityModalBackdrop) {\n\t\t\tamenityModalBackdrop.addEventListener('click', function(){ closeAmenityModal(); });\n\t\t}\n\t\tif (amenityModalClose) {\n\t\t\tamenityModalClose.addEventListener('click', function(){ closeAmenityModal(); });\n\t\t}\n\t\t\/\/ Capture-phase delegation: avoids parent stopPropagation \/ theme quirks blocking footer buttons.\n\t\tif (amenityModal) {\n\t\t\tamenityModal.addEventListener('click', function(ev){\n\t\t\t\tif (!amenityModalBody) { return; }\n\t\t\t\tvar t = ev.target;\n\t\t\t\tif (!t || !t.closest) { return; }\n\t\t\t\tif (t.closest('.ffh-dx-amenity-modal-clear')) {\n\t\t\t\t\tev.preventDefault();\n\t\t\t\t\tev.stopPropagation();\n\t\t\t\t\tamenityModalBody.querySelectorAll('input[type=\"checkbox\"]').forEach(function(inp){ inp.checked = false; });\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (t.closest('.ffh-dx-amenity-modal-apply')) {\n\t\t\t\t\tev.preventDefault();\n\t\t\t\t\tev.stopPropagation();\n\t\t\t\t\tvar next = [];\n\t\t\t\t\tamenityModalBody.querySelectorAll('input[type=\"checkbox\"]:checked').forEach(function(inp){\n\t\t\t\t\t\tvar v = String(inp.value || '').trim();\n\t\t\t\t\t\tif (v && next.indexOf(v) === -1) { next.push(v); }\n\t\t\t\t\t});\n\t\t\t\t\tfilters.amenities = next;\n\t\t\t\t\tfilterBadge.textContent = String(filters.amenities.length);\n\t\t\t\t\tcloseAmenityModal();\n\t\t\t\t\trenderAll();\n\t\t\t\t}\n\t\t\t}, true);\n\t\t}\n\t\tdocument.addEventListener('keydown', function(ev){\n\t\t\tif (ev.key !== 'Escape') { return; }\n\t\t\tif (!amenityModal || amenityModal.hidden) { return; }\n\t\t\tif (!root.contains(amenityModal)) { return; }\n\t\t\tcloseAmenityModal();\n\t\t});\n\t\tclearFiltersButton.addEventListener('click', function(){\n\t\t\tfilters.search = '';\n\t\t\tfilters.sort = 'rating_desc';\n\t\t\tfilters.category = '';\n\t\t\tfilters.amenities = [];\n\t\t\tsearchInput.value = '';\n\t\t\tcategoryFilterSelect.value = '';\n\t\t\tsortSelect.value = 'rating_desc';\n\t\t\tcloseAmenityModal();\n\t\t\trenderAll();\n\t\t});\n\n\t\tif (document.readyState === 'loading') {\n\t\t\tdocument.addEventListener('DOMContentLoaded', bootMap);\n\t\t} else {\n\t\t\tbootMap();\n\t\t}\n\t})();\n\t<\/script>\n\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\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Destinations<\/p>","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-3848","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/finestfamilyhotels.com\/fr\/wp-json\/wp\/v2\/pages\/3848","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/finestfamilyhotels.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/finestfamilyhotels.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/finestfamilyhotels.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/finestfamilyhotels.com\/fr\/wp-json\/wp\/v2\/comments?post=3848"}],"version-history":[{"count":10,"href":"https:\/\/finestfamilyhotels.com\/fr\/wp-json\/wp\/v2\/pages\/3848\/revisions"}],"predecessor-version":[{"id":5469,"href":"https:\/\/finestfamilyhotels.com\/fr\/wp-json\/wp\/v2\/pages\/3848\/revisions\/5469"}],"wp:attachment":[{"href":"https:\/\/finestfamilyhotels.com\/fr\/wp-json\/wp\/v2\/media?parent=3848"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}