{"id":10166,"date":"2026-02-01T10:02:49","date_gmt":"2026-02-01T17:02:49","guid":{"rendered":"https:\/\/tripdust.com\/thailand\/?page_id=10166"},"modified":"2026-04-01T05:23:22","modified_gmt":"2026-04-01T12:23:22","slug":"fantasea","status":"publish","type":"page","link":"https:\/\/tripdust.com\/thailand\/phuket\/fantasea\/","title":{"rendered":"Phuket FantaSea"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"10166\" class=\"elementor elementor-10166\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-85e1e37 e-flex e-con-boxed e-con e-parent\" data-id=\"85e1e37\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-80f16f6 elementor-widget elementor-widget-woocommerce-breadcrumb\" data-id=\"80f16f6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"woocommerce-breadcrumb.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<nav class=\"woocommerce-breadcrumb\" aria-label=\"Breadcrumb\">Home<\/nav>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cc1c915 elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed e-con e-parent\" data-id=\"cc1c915\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;],&quot;sticky_offset&quot;:0,&quot;sticky_effects_offset&quot;:0,&quot;sticky_anchor_link_offset&quot;:0}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1bc3ea6 elementor-icon-list--layout-inline elementor-align-start elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"1bc3ea6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items elementor-inline-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"#about_package\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">About This Tour<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"#standard_package\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Standard Package Details<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"#mini_package\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Mini Package Details<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"#premier_package\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Premier Package Details<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"#why_choose\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Why Choose<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"#faq\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">FAQ<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"#reviews\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Reviews<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-77b3f05 e-flex e-con-boxed e-con e-parent\" data-id=\"77b3f05\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-deec2bd elementor-widget elementor-widget-spacer\" data-id=\"deec2bd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-dc7fa23 e-flex e-con-boxed e-con e-parent\" data-id=\"dc7fa23\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-af6b44d elementor-widget elementor-widget-rating\" data-id=\"af6b44d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"rating.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"e-rating\" itemtype=\"https:\/\/schema.org\/Rating\" itemscope=\"\" itemprop=\"reviewRating\">\n\t\t\t<meta itemprop=\"worstRating\" content=\"0\">\n\t\t\t<meta itemprop=\"bestRating\" content=\"5\">\n\t\t\t<div class=\"e-rating-wrapper\" itemprop=\"ratingValue\" content=\"5\" role=\"img\" aria-label=\"Rated 5 out of 5\">\n\t\t\t\t\t\t\t<div class=\"e-icon\">\n\t\t\t\t<div class=\"e-icon-wrapper e-icon-marked\">\n\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-star\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M450 75L338 312 88 350C46 354 25 417 58 450L238 633 196 896C188 942 238 975 275 954L500 837 725 954C767 975 813 942 804 896L763 633 942 450C975 417 954 358 913 350L663 312 550 75C529 33 471 33 450 75Z\"><\/path><\/svg>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"e-icon-wrapper e-icon-unmarked\">\n\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-star\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M450 75L338 312 88 350C46 354 25 417 58 450L238 633 196 896C188 942 238 975 275 954L500 837 725 954C767 975 813 942 804 896L763 633 942 450C975 417 954 358 913 350L663 312 550 75C529 33 471 33 450 75Z\"><\/path><\/svg>\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"e-icon\">\n\t\t\t\t<div class=\"e-icon-wrapper e-icon-marked\">\n\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-star\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M450 75L338 312 88 350C46 354 25 417 58 450L238 633 196 896C188 942 238 975 275 954L500 837 725 954C767 975 813 942 804 896L763 633 942 450C975 417 954 358 913 350L663 312 550 75C529 33 471 33 450 75Z\"><\/path><\/svg>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"e-icon-wrapper e-icon-unmarked\">\n\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-star\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M450 75L338 312 88 350C46 354 25 417 58 450L238 633 196 896C188 942 238 975 275 954L500 837 725 954C767 975 813 942 804 896L763 633 942 450C975 417 954 358 913 350L663 312 550 75C529 33 471 33 450 75Z\"><\/path><\/svg>\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"e-icon\">\n\t\t\t\t<div class=\"e-icon-wrapper e-icon-marked\">\n\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-star\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M450 75L338 312 88 350C46 354 25 417 58 450L238 633 196 896C188 942 238 975 275 954L500 837 725 954C767 975 813 942 804 896L763 633 942 450C975 417 954 358 913 350L663 312 550 75C529 33 471 33 450 75Z\"><\/path><\/svg>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"e-icon-wrapper e-icon-unmarked\">\n\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-star\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M450 75L338 312 88 350C46 354 25 417 58 450L238 633 196 896C188 942 238 975 275 954L500 837 725 954C767 975 813 942 804 896L763 633 942 450C975 417 954 358 913 350L663 312 550 75C529 33 471 33 450 75Z\"><\/path><\/svg>\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"e-icon\">\n\t\t\t\t<div class=\"e-icon-wrapper e-icon-marked\">\n\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-star\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M450 75L338 312 88 350C46 354 25 417 58 450L238 633 196 896C188 942 238 975 275 954L500 837 725 954C767 975 813 942 804 896L763 633 942 450C975 417 954 358 913 350L663 312 550 75C529 33 471 33 450 75Z\"><\/path><\/svg>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"e-icon-wrapper e-icon-unmarked\">\n\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-star\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M450 75L338 312 88 350C46 354 25 417 58 450L238 633 196 896C188 942 238 975 275 954L500 837 725 954C767 975 813 942 804 896L763 633 942 450C975 417 954 358 913 350L663 312 550 75C529 33 471 33 450 75Z\"><\/path><\/svg>\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"e-icon\">\n\t\t\t\t<div class=\"e-icon-wrapper e-icon-marked\">\n\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-star\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M450 75L338 312 88 350C46 354 25 417 58 450L238 633 196 896C188 942 238 975 275 954L500 837 725 954C767 975 813 942 804 896L763 633 942 450C975 417 954 358 913 350L663 312 550 75C529 33 471 33 450 75Z\"><\/path><\/svg>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"e-icon-wrapper e-icon-unmarked\">\n\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-star\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M450 75L338 312 88 350C46 354 25 417 58 450L238 633 196 896C188 942 238 975 275 954L500 837 725 954C767 975 813 942 804 896L763 633 942 450C975 417 954 358 913 350L663 312 550 75C529 33 471 33 450 75Z\"><\/path><\/svg>\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f1c1090 elementor-widget elementor-widget-heading\" data-id=\"f1c1090\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Phuket FantaSea<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2cc9c6e e-con-full e-flex e-con e-child\" data-id=\"2cc9c6e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2a8dd3d e-flex e-con-boxed e-con e-parent\" data-id=\"2a8dd3d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-a315b82 e-con-full e-flex e-con e-child\" data-id=\"a315b82\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-7753521 e-con-full e-flex e-con e-child\" data-id=\"7753521\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-97200fc elementor-widget elementor-widget-heading\" data-id=\"97200fc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Highlights<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-40bf96f elementor-widget elementor-widget-gallery\" data-id=\"40bf96f\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;columns_mobile&quot;:2,&quot;aspect_ratio&quot;:&quot;4:3&quot;,&quot;columns&quot;:3,&quot;lazyload&quot;:&quot;yes&quot;,&quot;gallery_layout&quot;:&quot;grid&quot;,&quot;columns_tablet&quot;:2,&quot;gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;link_to&quot;:&quot;file&quot;,&quot;overlay_background&quot;:&quot;yes&quot;,&quot;content_hover_animation&quot;:&quot;fade-in&quot;}\" data-widget_type=\"gallery.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-gallery__container\">\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/Phuket-Fantaa-Sea.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"40bf96f\" data-elementor-lightbox-title=\"Phuket Fantaa Sea\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTAxNzcsInVybCI6Imh0dHBzOlwvXC90cmlwZHVzdC5jb21cL3RoYWlsYW5kXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wMVwvUGh1a2V0LUZhbnRhYS1TZWEud2VicCIsInNsaWRlc2hvdyI6IjQwYmY5NmYifQ%3D%3D\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/Phuket-Fantaa-Sea.webp\" data-width=\"680\" data-height=\"510\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/Phuket-FantaaSea.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"40bf96f\" data-elementor-lightbox-title=\"Phuket FantaaSea\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTAxNzYsInVybCI6Imh0dHBzOlwvXC90cmlwZHVzdC5jb21cL3RoYWlsYW5kXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wMVwvUGh1a2V0LUZhbnRhYVNlYS53ZWJwIiwic2xpZGVzaG93IjoiNDBiZjk2ZiJ9\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/Phuket-FantaaSea.webp\" data-width=\"677\" data-height=\"510\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/Phuket-FantaSeaa.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"40bf96f\" data-elementor-lightbox-title=\"Phuket FantaSeaa\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTAxNzEsInVybCI6Imh0dHBzOlwvXC90cmlwZHVzdC5jb21cL3RoYWlsYW5kXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wMVwvUGh1a2V0LUZhbnRhU2VhYS53ZWJwIiwic2xpZGVzaG93IjoiNDBiZjk2ZiJ9\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/Phuket-FantaSeaa.webp\" data-width=\"680\" data-height=\"510\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/FantaSeaa.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"40bf96f\" data-elementor-lightbox-title=\"FantaSeaa\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTAxNzIsInVybCI6Imh0dHBzOlwvXC90cmlwZHVzdC5jb21cL3RoYWlsYW5kXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wMVwvRmFudGFTZWFhLndlYnAiLCJzbGlkZXNob3ciOiI0MGJmOTZmIn0%3D\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/FantaSeaa.webp\" data-width=\"680\" data-height=\"510\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/Fantaa-Sea.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"40bf96f\" data-elementor-lightbox-title=\"Fantaa Sea\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTAxNzMsInVybCI6Imh0dHBzOlwvXC90cmlwZHVzdC5jb21cL3RoYWlsYW5kXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wMVwvRmFudGFhLVNlYS53ZWJwIiwic2xpZGVzaG93IjoiNDBiZjk2ZiJ9\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/Fantaa-Sea.webp\" data-width=\"680\" data-height=\"453\" aria-label=\"Phuket FantaSea cultural theme park with elephant show and carnival night\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/Fanta-Seaa.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"40bf96f\" data-elementor-lightbox-title=\"Fanta Seaa\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTAxNzQsInVybCI6Imh0dHBzOlwvXC90cmlwZHVzdC5jb21cL3RoYWlsYW5kXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wMVwvRmFudGEtU2VhYS53ZWJwIiwic2xpZGVzaG93IjoiNDBiZjk2ZiJ9\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/Fanta-Seaa.webp\" data-width=\"680\" data-height=\"510\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/10.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"40bf96f\" data-elementor-lightbox-title=\"10\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTA1NDAsInVybCI6Imh0dHBzOlwvXC90cmlwZHVzdC5jb21cL3RoYWlsYW5kXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wMVwvMTAud2VicCIsInNsaWRlc2hvdyI6IjQwYmY5NmYifQ%3D%3D\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/10.webp\" data-width=\"1920\" data-height=\"1280\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/4.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"40bf96f\" data-elementor-lightbox-title=\"4\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTA1MzksInVybCI6Imh0dHBzOlwvXC90cmlwZHVzdC5jb21cL3RoYWlsYW5kXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wMVwvNC53ZWJwIiwic2xpZGVzaG93IjoiNDBiZjk2ZiJ9\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/4.webp\" data-width=\"1920\" data-height=\"1280\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/2.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"40bf96f\" data-elementor-lightbox-title=\"2\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTA1MzgsInVybCI6Imh0dHBzOlwvXC90cmlwZHVzdC5jb21cL3RoYWlsYW5kXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wMVwvMi53ZWJwIiwic2xpZGVzaG93IjoiNDBiZjk2ZiJ9\">\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/2.webp\" data-width=\"1920\" data-height=\"1280\" aria-label=\"\" role=\"img\" ><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\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<div class=\"elementor-element elementor-element-79094f5 e-con-full e-flex e-con e-child\" data-id=\"79094f5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-eb4ed26 e-con-full e-flex e-con e-child\" data-id=\"eb4ed26\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b3c9e04 elementor-widget elementor-widget-shortcode\" data-id=\"b3c9e04\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\">\n  <style>\n    \/* ====== Theme tokens ====== *\/\n    :root{\n      --cpb-dark:#0c1324;\n      --cpb-dark-2:#111827;\n      --cpb-accent:#f57b18;\n      --cpb-accent-dark:#e65c00;\n      --cpb-accent-soft:#FFF3E0;\n      --cpb-accent-border:#FFCCBC;\n      --cpb-orange-1:#ff9040;\n      --cpb-orange-2:#f57b18;\n      --cpb-green-1:#22c55e;\n      --cpb-green-2:#16a34a;\n      --cpb-border:#e6eaf2;\n      --cpb-muted:#64748b;\n      --cpb-soft:#f5f7fb;\n      --cpb-shadow:0 8px 22px rgba(0,0,0,.06);\n    }\n\n    .cpb-root{font-family:\"Inter\",\"Segoe UI\",\"Roboto\",Arial,sans-serif;color:#0f172a}\n    .cpb-wrap{max-width:860px;margin:0 auto;}\n\n    .cpb-card{background:#fff;border:1px solid var(--cpb-border);border-radius:16px;box-shadow:var(--cpb-shadow);padding:14px;margin:16px 0}\n\n    .cpb-head{background:var(--cpb-dark);color:#fff;border-radius:12px;text-align:center;font-weight:800;padding:14px;margin:10px 0}\n\n    \/* Orange date button (acts as the opener) *\/\n    .cpb-date-btn{width:100%;background:linear-gradient(90deg,var(--cpb-orange-2),var(--cpb-orange-1));\n      color:#fff;border:0;border-radius:12px;padding:14px 16px;font-weight:800;letter-spacing:.2px;\n      display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}\n    .cpb-date-btn:active{transform:translateY(1px)}\n\n  \/* keep the input real but invisible *\/\n.cpb-date-input{\n  position:absolute;\n  opacity:0;\n  pointer-events:none;\n  width:0;\n  height:0;\n}\n\n\/* make sure the calendar can float above everything *\/\n.flatpickr-calendar{ z-index: 999999 !important; }\n\n\n    \/* Sub-package card *\/\n    .cpb-sub{border:1.5px solid var(--cpb-accent-border);background:#fff;border-radius:14px;padding:10px 12px;margin:12px 0}\n    .cpb-sub.selected{background:#FFF8F5;border-color:#FF8A65;box-shadow:0 6px 16px rgba(255,87,34,.09)}\n    \n    \/* NEW: MANDATORY STYLES *\/\n    .cpb-sub.mandatory { border-color: #fcd34d !important; background: #fffbeb !important; }\n    .cpb-sub.mandatory .cpb-subheader { background: #fff7ed !important; border-color: #fed7aa !important; }\n    .cpb-req-badge { display:inline-block; font-size:10px; background:#fcd34d; color:#92400e; padding:2px 6px; border-radius:4px; text-transform:uppercase; margin-left:6px; vertical-align:middle; }\n\n    .cpb-subheader{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:top;\n      border-radius:10px;background:var(--cpb-accent-soft);border:1px solid var(--cpb-accent-border);padding:10px 12px;cursor:pointer}\n    .cpb-subheader:hover{filter:brightness(1.01)}\n    .cpb-check{width:18px;height:18px;accent-color:var(--cpb-accent);cursor:pointer;margin-top:5px}\n    .cpb-title{font-weight:800;color:#1f2937;line-height: 22px;}\n\n    .cpb-rates{display:flex;gap:24px;color:var(--cpb-accent-dark);font-weight:700;margin:10px 0 6px 0; padding:0 6px}\n\n    \/* Stepper row (3 columns), with centered labels above controls *\/\n    .cpb-stepper-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:center;padding:10px 0px 6px 0px}\n    .cpb-stepper{display:block !important;grid-template-rows:auto auto;justify-items:center;gap:6px}\n    .cpb-stepper .cpb-label{font-weight:700;color:#374151}\n\n    .cpb-ctrl{display:flex;align-items:center;gap:8px}\n    .cpb-btn{width:25px;height:36px;border-radius:8px;border:1.5px solid #ffd38a;background:#ffe3b0;color:#a35200;font-size:18px;cursor:pointer}\n    .cpb-btn.plus{background:#ffb74d;color:#fff;border-color:#ff9f2a}\n    .cpb-input{width:45px;height:36px;border:1.5px solid #cbd5e1;border-radius:10px;text-align:center;font-weight:800}\n    \/* No arrows *\/\n    .cpb-input::-webkit-outer-spin-button,\n    .cpb-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n    .cpb-input[type=number]{-moz-appearance:textfield}\n\n    \/* Show time *\/\n    .cpb-select{width:100%;height:46px;border:1.5px solid #cbd5e1;border-radius:10px;padding:8px 10px;background:#fff;margin-top:8px}\n    .cpb-time-block{border:1px dashed #cbd5e1;background:#f8fafc;border-radius:12px;padding:12px 12px 14px;margin-top:12px;display:none}\n    .cpb-time-block.show{display:block}\n    .cpb-time-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}\n    .cpb-time-title{font-weight:800;color:#0f172a}\n    .cpb-time-note{background:#fff7ed;border:1px solid #fde68a;color:#92400e;font-weight:700;padding:6px 10px;border-radius:8px;font-size:13px}\n    .cpb-time-block .cpb-select{margin-top:10px}\n\n    \/* Summary *\/\n    .cpb-summary{background:#f7f9fd;border:1px solid #e6ecf7;border-radius:12px;margin-top:10px}\n    .cpb-sum-hd{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #e6ecf7}\n    .cpb-lines{padding:10px 12px 0 12px}\n    .cpb-line{display:flex;justify-content:space-between;padding:6px 0}\n    .cpb-meta{padding:8px 12px;color:#6b7280;border-top:1px dashed #e5e7eb;display:flex;gap:24px;flex-wrap:wrap}\n    .cpb-total{padding:10px 12px;display:flex;justify-content:flex-end;align-items:center;gap:8px;border-top:1px solid #e6ecf7}\n    .cpb-badge{background:var(--cpb-accent-soft);border:1px solid var(--cpb-accent-border);border-radius:10px;padding:6px 12px;font-weight:900;color:var(--cpb-accent-dark)}\n\n    \/* Actions *\/\n    .cpb-actions{display:flex;gap:12px;margin-top:12px}\n    .cpb-primary{flex:1;background:linear-gradient(180deg,#ff9040,#f57b18);color:#fff;border:1px solid rgba(255,87,34,.35);border-radius:12px;height:50px;font-weight:900;cursor:pointer}\n\n    \/* Mobile *\/\n    @media(max-width:640px){\n      \/* .cpb-stepper-row{grid-template-columns:1fr;gap:10px} *\/\n      .cpb-stepper-row{gap:6px}\n      .cpb-input{width:35px !important}\n      .cpb-ctrl{gap:5px}\n      .cpb-btn, .cpb-stepper .cpb-btn{width: 22px !important;}\n    }\n\n    \/* Spinner modal *\/\n#cpb-processing-modal{position:fixed;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center;z-index:9999}\n#cpb-processing-modal .box{background:#fff;border:1px solid #e5e7eb;border-radius:16px;display:flex;gap:12px;align-items:center;padding:18px 20px;box-shadow:0 18px 50px rgba(0,0,0,.25)}\n#cpb-processing-modal .spin{width:26px;height:26px;border:3px solid #bae6fd;border-top-color:#0284c7;border-radius:50%;animation:cpbspin .8s linear infinite}\n@keyframes cpbspin{to{transform:rotate(360deg)}}\n\n\/* --- Error emphasis for missing date --- *\/\n.cpb-date-btn.error{\n  outline:3px solid #ef4444;                \/* red ring *\/\n  box-shadow:0 0 0 6px rgba(239,68,68,.18); \/* soft glow *\/\n  animation:cpb-shake .4s linear 1;\n}\n.cpb-time-error{\n  outline:3px solid #ef4444;\n  box-shadow:0 0 0 6px rgba(239,68,68,.18);\n}\n.cpb-date-hint{color:#b91c1c;font-weight:800;text-align:center;margin-top:6px;display:none}\n.cpb-date-hint.show{display:block}\n@keyframes cpb-shake{\n  0%,100%{transform:translateX(0)}\n  25%{transform:translateX(-4px)}\n  75%{transform:translateX(4px)}\n}\n  <\/style>\n\n<style>\n\/* --- Center the steppers perfectly and keep 2\u20133 digits visible --- *\/\n.cpb-stepper,\n.cpb-qty,\n.cpb-persons .row {\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:8px;\n}\n\n.cpb-btn,\n.cpb-stepper .cpb-btn {\n  width:25px; height:36px;\n  padding:0; line-height:1;\n  display:flex; align-items:center; justify-content:center;\n  \/* Prevent double-tap zoom on iOS for these tappable controls *\/\n  touch-action: manipulation;\n}\n\n\/* number input same height and true vertical centering *\/\n.cpb-num,\n.cpb-stepper input[type=\"number\"],\n.cpb-persons input[type=\"number\"]{\n  width:45px;\n  height:36px;\n  line-height:36px;\n  font-weight:700;\n  text-align:center;\n  padding:0;\n}\n\n\/* remove browser arrows so text is centered cleanly *\/\n.cpb-persons input[type=number]::-webkit-outer-spin-button,\n.cpb-persons input[type=number]::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }\n.cpb-persons input[type=number]{ -moz-appearance:textfield; }\n\n\/* center the labels above each column *\/\n.cpb-qty-head,\n.cpb-person-grid .head {\n  display:grid;\n  grid-template-columns:repeat(3,1fr);\n  text-align:center;\n  margin:6px 0 8px;\n}\n\n\/* ===== iPhone anti-zoom fix: ensure 16px font on form controls inside widget ===== *\/\n.cpb-root input,\n.cpb-root select,\n.cpb-root button {\n  font-size:16px;              \/* key fix: iOS zooms if <16px *\/\n  -webkit-text-size-adjust:100%;\n}\n<\/style>\n\n\n  <div id=\"cpb-processing-modal\" aria-live=\"polite\" aria-modal=\"true\" role=\"dialog\">\n    <div class=\"box\"><div class=\"spin\" aria-hidden=\"true\"><\/div><div class=\"txt\" style=\"font-weight:900;color:#0b1324\">Processing\u2026<\/div><\/div>\n  <\/div>\n\n  <div class=\"cpb-root\">\n    <div class=\"cpb-wrap\">\n            <div class=\"cpb-card cpb-package\" data-package-id=\"10167\">\n        <button type=\"button\" class=\"cpb-date-btn js-open-date\" aria-describedby=\"date-hint\">\n  <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n    <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\" stroke=\"#fff\" stroke-width=\"2\"\/>\n    <line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\" stroke=\"#fff\" stroke-width=\"2\" \/>\n    <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\" stroke=\"#fff\" stroke-width=\"2\" \/>\n    <line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\" stroke=\"#fff\" stroke-width=\"2\"\/>\n  <\/svg>\n  <span class=\"js-date-text\">Select Journey Date<\/span>\n<\/button>\n<input type=\"text\" class=\"cpb-date-input js-date\" name=\"cpb_journey_date\" \/>\n<div id=\"date-hint\" class=\"cpb-date-hint js-date-hint\">Please select your journey date.<\/div>\n\n                  <div class=\"cpb-sub\" data-sub-index=\"0\" data-end-time=\"\" data-advance-booking=\"1\" data-allow-child=\"1\" data-allow-infant=\"1\" data-closed-days=\"\">\n            <label class=\"cpb-subheader js-toggle\">\n              <input type=\"checkbox\" class=\"cpb-check js-check\" >\n              <span class=\"cpb-title\">\n                  Show And Buffet Dinner                                <\/span>\n            <\/label>\n\n                                    <div class=\"cpb-rates\">\n                              <span>Adult: \u0e3f2200<\/span>\n                                                              <span>Child: \u0e3f2000<\/span>\n                                                                              <span>Infant: \u0e3f0<\/span>\n                                          <\/div>\n            \n            <div class=\"cpb-stepper-row js-steppers\" data-cols=\"3\" style=\"display:none;grid-template-columns:repeat(3,1fr);\">\n              <div class=\"cpb-stepper\">\n                <div class=\"cpb-label\">Adults<\/div>\n                <div class=\"cpb-ctrl\">\n                  <button type=\"button\" class=\"cpb-btn js-minus\" data-type=\"adults\">\u2013<\/button>\n                  <input type=\"number\" min=\"0\" value=\"0\" class=\"cpb-input js-val-adults\" inputmode=\"numeric\">\n                  <button type=\"button\" class=\"cpb-btn plus js-plus\" data-type=\"adults\">+<\/button>\n                <\/div>\n              <\/div>\n                            <div class=\"cpb-stepper\">\n                <div class=\"cpb-label\">Children<\/div>\n                <div class=\"cpb-ctrl\">\n                  <button type=\"button\" class=\"cpb-btn js-minus\" data-type=\"children\">\u2013<\/button>\n                  <input type=\"number\" min=\"0\" value=\"0\" class=\"cpb-input js-val-children\" inputmode=\"numeric\">\n                  <button type=\"button\" class=\"cpb-btn plus js-plus\" data-type=\"children\">+<\/button>\n                <\/div>\n              <\/div>\n                                          <div class=\"cpb-stepper\">\n                <div class=\"cpb-label\">Infants<\/div>\n                <div class=\"cpb-ctrl\">\n                  <button type=\"button\" class=\"cpb-btn js-minus\" data-type=\"infants\">\u2013<\/button>\n                  <input type=\"number\" min=\"0\" value=\"0\" class=\"cpb-input js-val-infants\" inputmode=\"numeric\">\n                  <button type=\"button\" class=\"cpb-btn plus js-plus\" data-type=\"infants\">+<\/button>\n                <\/div>\n              <\/div>\n                          <\/div>\n\n                        <div class=\"js-price\" data-adult=\"2200\"\n                 data-child=\"2000\"\n                 data-infant=\"0\"\n                 data-orig-adult=\"2200\"\n                 data-orig-child=\"2000\"\n                 data-orig-infant=\"0\"><\/div>\n          <\/div>\n                  <div class=\"cpb-sub\" data-sub-index=\"1\" data-end-time=\"\" data-advance-booking=\"1\" data-allow-child=\"1\" data-allow-infant=\"1\" data-closed-days=\"\">\n            <label class=\"cpb-subheader js-toggle\">\n              <input type=\"checkbox\" class=\"cpb-check js-check\" >\n              <span class=\"cpb-title\">\n                  Show Only                                <\/span>\n            <\/label>\n\n                                    <div class=\"cpb-rates\">\n                              <span>Adult: \u0e3f1800<\/span>\n                                                              <span>Child: \u0e3f1800<\/span>\n                                                                              <span>Infant: \u0e3f0<\/span>\n                                          <\/div>\n            \n            <div class=\"cpb-stepper-row js-steppers\" data-cols=\"3\" style=\"display:none;grid-template-columns:repeat(3,1fr);\">\n              <div class=\"cpb-stepper\">\n                <div class=\"cpb-label\">Adults<\/div>\n                <div class=\"cpb-ctrl\">\n                  <button type=\"button\" class=\"cpb-btn js-minus\" data-type=\"adults\">\u2013<\/button>\n                  <input type=\"number\" min=\"0\" value=\"0\" class=\"cpb-input js-val-adults\" inputmode=\"numeric\">\n                  <button type=\"button\" class=\"cpb-btn plus js-plus\" data-type=\"adults\">+<\/button>\n                <\/div>\n              <\/div>\n                            <div class=\"cpb-stepper\">\n                <div class=\"cpb-label\">Children<\/div>\n                <div class=\"cpb-ctrl\">\n                  <button type=\"button\" class=\"cpb-btn js-minus\" data-type=\"children\">\u2013<\/button>\n                  <input type=\"number\" min=\"0\" value=\"0\" class=\"cpb-input js-val-children\" inputmode=\"numeric\">\n                  <button type=\"button\" class=\"cpb-btn plus js-plus\" data-type=\"children\">+<\/button>\n                <\/div>\n              <\/div>\n                                          <div class=\"cpb-stepper\">\n                <div class=\"cpb-label\">Infants<\/div>\n                <div class=\"cpb-ctrl\">\n                  <button type=\"button\" class=\"cpb-btn js-minus\" data-type=\"infants\">\u2013<\/button>\n                  <input type=\"number\" min=\"0\" value=\"0\" class=\"cpb-input js-val-infants\" inputmode=\"numeric\">\n                  <button type=\"button\" class=\"cpb-btn plus js-plus\" data-type=\"infants\">+<\/button>\n                <\/div>\n              <\/div>\n                          <\/div>\n\n                        <div class=\"js-price\" data-adult=\"1800\"\n                 data-child=\"1800\"\n                 data-infant=\"0\"\n                 data-orig-adult=\"1800\"\n                 data-orig-child=\"1800\"\n                 data-orig-infant=\"0\"><\/div>\n          <\/div>\n        \n        \n        <div class=\"cpb-summary\">\n  <div class=\"cpb-sum-hd\">\n    <strong>Booking Summary<\/strong>\n  <\/div>\n          <div style=\"font-weight:600\" class=\"cpb-lines js-lines\"><\/div>\n          <div class=\"cpb-meta\">\n            <span>Date: <strong class=\"js-summary-date\">\u2014<\/strong><\/span>\n            <span>Time: <strong class=\"js-summary-time\">\u2014<\/strong><\/span>\n          <\/div>\n          <div class=\"cpb-total\">\n            <span style=\"font-weight:900\">Total<\/span>\n            <span class=\"cpb-badge\">\u0e3f <span class=\"js-total\">0.00<\/span><\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"cpb-actions\">\n          <button type=\"button\" class=\"cpb-primary js-book\">Book Now<\/button>\n          <\/div>\n                      <\/div>\n          <\/div>\n  <\/div>\n\n  <link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr@4.6.13\/dist\/flatpickr.min.css\" \/>\n  <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr@4.6.13\/dist\/flatpickr.min.js\"><\/script>\n\n  <script>\n  (function(){\n    const fmt = n => Number(n||0).toLocaleString('en-US',{minimumFractionDigits:2,maximumFractionDigits:2});\n\n    \/\/ Bangkok helpers for cutoff\n    function ymdBk(d){const p=new Intl.DateTimeFormat('en-CA',{timeZone:'Asia\/Bangkok',year:'numeric',month:'2-digit',day:'2-digit'}).formatToParts(d||new Date());let y,m,dd;p.forEach(x=>{if(x.type==='year')y=x.value;if(x.type==='month')m=x.value;if(x.type==='day')dd=x.value});return `${y}-${m}-${dd}`;}\n    function nowBk(){const p=new Intl.DateTimeFormat('en-GB',{timeZone:'Asia\/Bangkok',year:'numeric',month:'2-digit',day:'2-digit',hour:'2-digit',minute:'2-digit',hour12:false}).formatToParts(new Date());const o={};p.forEach(x=>o[x.type]=parseInt(x.value,10));return o;}\n    function parseCutoff(t){const m=(t||'').match(\/(\\d{1,2}):(\\d{2})\\s*(AM|PM|am|pm)?\/);if(!m)return null;let h=+m[1],mi=+m[2];const ap=(m[3]||'').toUpperCase();if(ap==='PM'&&h<12)h+=12;if(ap==='AM'&&h===12)h=0;const n=nowBk();return new Date(n.year,n.month-1,n.day,h,mi,0);}\n    function shouldDisableToday(card){\n      const selectedSubs = Array.from(card.querySelectorAll('.cpb-sub')).filter(s=>s.querySelector('.js-check').checked);\n      if(!selectedSubs.length) return false;\n      \n      \/\/ Check if any selected sub-package requires advance booking\n      const hasAdvanceBooking = selectedSubs.some(s=>s.getAttribute('data-advance-booking')==='1');\n      if(hasAdvanceBooking) return true;\n      \n      \/\/ Check end time cutoff\n      const selEnds = selectedSubs.map(s=>s.getAttribute('data-end-time')||'').filter(Boolean);\n      if(!selEnds.length) return false;\n      const n=nowBk(); const now=new Date(n.year,n.month-1,n.day,n.hour,n.minute,0);\n      return selEnds.some(t=>{ const c=parseCutoff(t); return c && now>c; });\n    }\n\n    document.querySelectorAll('.cpb-package').forEach(function(card){\n\n      const dateInput = card.querySelector('.js-date');\n      const dateBtn   = card.querySelector('.js-open-date');\n      const dateText  = card.querySelector('.js-date-text');\n      const timeSel   = card.querySelector('.js-time');\n      const timeBlock = card.querySelector('.js-time-block');\n      const getQty = (sp, selector) => {\n        const el = sp ? sp.querySelector(selector) : null;\n        return el ? +(el.value || 0) : 0;\n      };\n\n      function syncTimeSummary(){\n        const t = timeSel && timeSel.value ? timeSel.value : '\u2014';\n        card.querySelector('.js-summary-time').textContent = t || '\u2014';\n      }\n\n      const fp = flatpickr(dateInput,{\n        altInput: false,\n        dateFormat: 'Y-m-d',\n        minDate: ymdBk(new Date()),\n        disableMobile: true,\n        clickOpens: false,            \/\/ we open via the orange button\n        positionElement: dateBtn,     \/\/ anchor to the orange button\n        appendTo: document.body       \/\/ <\u2014 important: append to BODY so positioning is correct\n      });\n\n      \/\/ Button opens calendar; after select, show on button & summary\n      dateBtn.addEventListener('click', ()=> fp && fp.open());\n      dateInput.addEventListener('change', ()=>{\n        const d = dateInput.value || '';\n        dateText.textContent = d ? new Date(d+'T00:00:00').toLocaleDateString('en-GB') : 'Select Journey Date';\n        card.querySelector('.js-summary-date').textContent = d ? new Date(d+'T00:00:00').toLocaleDateString('en-GB') : '\u2014';\n        showClosedNotices();\n      });\n\n      let disabledDow = new Set();\n\n      function collectDisabledDays(){\n        const set = new Set();\n        card.querySelectorAll('.cpb-sub').forEach(sp=>{\n          if (!sp.querySelector('.js-check').checked) return;\n          const raw = sp.getAttribute('data-closed-days') || '';\n          raw.split(',').forEach(v=>{\n            const n = parseInt(v, 10);\n            if (!isNaN(n) && n >= 0 && n <= 6) set.add(n);\n          });\n        });\n        return set;\n      }\n\n      function isBlocked(dateObj){\n        if (!dateObj) return false;\n        return disabledDow.has(dateObj.getDay());\n      }\n\n      function applyDisabledDays(){\n        disabledDow = collectDisabledDays();\n        const disableFn = (date)=> disabledDow.has(date.getDay());\n        const disableList = disabledDow.size ? [disableFn] : [];\n        if (fp) fp.set('disable', disableList);\n        const current = fp && fp.selectedDates ? fp.selectedDates[0] : null;\n        if (current && isBlocked(current)) {\n          fp.clear();\n          dateText.textContent = 'Select Journey Date';\n          card.querySelector('.js-summary-date').textContent = '\u2014';\n        }\n      }\n\n      function showClosedNotices(){\n        const rawDate = dateInput.value || '';\n        const hasDate = !!rawDate;\n        const dObj = hasDate ? new Date(rawDate+'T00:00:00') : null;\n        const dow = dObj ? dObj.getDay() : null;\n        card.querySelectorAll('.cpb-sub').forEach(sp=>{\n          const closed = (sp.getAttribute('data-closed-days')||'').split(',').map(v=>parseInt(v,10)).filter(v=>!isNaN(v));\n          const msg = sp.querySelector('.cpb-closed-msg');\n          if (!msg) return;\n          if (hasDate && dow !== null && closed.includes(dow)) {\n            const labels = msg.getAttribute('data-closed-label') || '';\n            msg.textContent = 'Not available on selected date (' + (['Sun','Mon','Tue','Wed','Thu','Fri','Sat'][dow] || '') + ').';\n            msg.style.display = 'block';\n          } else {\n            msg.style.display = 'none';\n          }\n        });\n      }\n\n      function enforceMin(){\n        if (shouldDisableToday(card)) {\n          const t = new Date(Date.now()+86400000);\n          const tStr = ymdBk(t);\n          fp.set('minDate', tStr);\n          \/\/ Only clear if a date IS selected AND it's before the minimum \u2014 never auto-fill empty\n          if (fp.selectedDates[0] && ymdBk(fp.selectedDates[0]) < tStr) {\n            fp.clear();\n            dateText.textContent = 'Select Journey Date';\n            card.querySelector('.js-summary-date').textContent = '\\u2014';\n          }\n        } else {\n          const today = ymdBk(new Date());\n          fp.set('minDate', today);\n          if (fp.selectedDates[0] && ymdBk(fp.selectedDates[0]) < today) {\n            fp.clear();\n            dateText.textContent = 'Select Journey Date';\n            card.querySelector('.js-summary-date').textContent = '\\u2014';\n          }\n        }\n      }\n\n      \/\/ Toggle package by clicking header row\n      card.querySelectorAll('.cpb-sub').forEach(function(sp){\n        const header  = sp.querySelector('.js-toggle');\nconst check   = sp.querySelector('.js-check');\nconst steppers= sp.querySelector('.js-steppers');\nconst cols    = steppers ? parseInt(steppers.getAttribute('data-cols')||'3',10) : 3;\n\nfunction sync(){\n  \/\/ CRITICAL FIX: IF MANDATORY, FORCE CHECKED\n  if (check.disabled) {\n    check.checked = true;\n  }\n  sp.classList.toggle('selected', check.checked);\n  if (steppers){\n    steppers.style.gridTemplateColumns = `repeat(${cols||3},1fr)`;\n    steppers.style.display = check.checked ? 'grid' : 'none';\n  }\n  enforceMin(); calc(); applyDisabledDays(); showClosedNotices();\n}\n\/\/ Let the native <label> + checkbox toggle handle state; just sync after click\nheader.addEventListener('click', ()=> {\n  if (check.disabled) return; \/\/ Prevent toggling if mandatory\n  setTimeout(sync, 0);\n});\ncheck.addEventListener('change', sync);\n\n        \/\/ plus\/minus\n        sp.querySelectorAll('.js-plus, .js-minus').forEach(btn=>{\n          btn.addEventListener('click', ()=>{\n            const type = btn.getAttribute('data-type');\n            const input = sp.querySelector('.js-val-'+type);\n            let v = parseInt(input.value||'0',10) || 0;\n            if (btn.classList.contains('js-plus')) v++;\n            else v = Math.max(0, v-1);\n            input.value = v;\n            calc();\n          });\n        });\n        sp.querySelectorAll('input[type=\"number\"]').forEach(i=> i.addEventListener('input', calc));\n\n        sync(); \/\/ initial\n      });\n\n      if (timeSel){\n        timeSel.addEventListener('change', ()=>{\n          timeSel.classList.remove('cpb-time-error');\n          syncTimeSummary();\n        });\n      }\n\n      function calc(){\n        let total = 0;\n        const lines = [];\n        let hasAnyTickets = false;\n\n        card.querySelectorAll('.cpb-sub').forEach(sp=>{\n          if (!sp.querySelector('.js-check').checked) return;\n\n          const name = sp.querySelector('.cpb-title').textContent.trim();\n          const price = sp.querySelector('.js-price');\n          const allowChild = sp.getAttribute('data-allow-child') === '1';\n          const allowInfant = sp.getAttribute('data-allow-infant') === '1';\n          const ap = +(price.getAttribute('data-adult')||0);\n          const cp = +(price.getAttribute('data-child')||0);\n          const ip = +(price.getAttribute('data-infant')||0);\n          const origAp = +(price.getAttribute('data-orig-adult')||0);\n          const origCp = +(price.getAttribute('data-orig-child')||0);\n          const origIp = +(price.getAttribute('data-orig-infant')||0);\n          const a  = getQty(sp, '.js-val-adults');\n          const c  = allowChild ? getQty(sp, '.js-val-children') : 0;\n          const i  = allowInfant ? getQty(sp, '.js-val-infants') : 0;\n          const sub = a*ap + c*cp + i*ip;\n          const origSub = a*origAp + c*origCp + i*origIp;\n          const saved = origSub - sub;\n          const qtyTotal = (a||0) + (c||0) + (i||0);\n\n          total += sub;\n          if (qtyTotal > 0) hasAnyTickets = true;\n\n          const det = [];\n          if(a) det.push(`${a} \u00d7 Adult (\u0e3f${fmt(ap)}) = \u0e3f${fmt(a*ap)}` + (ap < origAp ? ` <span style=\"color:#16a34a;font-size:12px;\">was \u0e3f${fmt(origAp)}<\/span>` : ''));\n          if(c) det.push(`${c} \u00d7 Child (\u0e3f${fmt(cp)}) = \u0e3f${fmt(c*cp)}` + (cp < origCp ? ` <span style=\"color:#16a34a;font-size:12px;\">was \u0e3f${fmt(origCp)}<\/span>` : ''));\n          if(i) det.push(`${i} \u00d7 Infant (\u0e3f${fmt(ip)}) = \u0e3f${fmt(i*ip)}` + (ip < origIp ? ` <span style=\"color:#16a34a;font-size:12px;\">was \u0e3f${fmt(origIp)}<\/span>` : ''));\n\n          const saveLine = saved > 0 ? `<div style=\"color:#16a34a;font-weight:700;font-size:12px;padding:2px 6px;\">You save \u0e3f${fmt(saved)}!<\/div>` : '';\n          lines.push(`<div class=\"cpb-line\"><strong>${name}<\/strong><strong>\u0e3f${fmt(sub)}<\/strong><\/div>${det.length?`<div style=\"padding-left:6px;color:#374151;padding-bottom: 10px;border-bottom: 1px solid #d6d6d6;\">${det.join('<br>')}${saveLine}<\/div>`:''}`);\n        });\n\n        card.querySelector('.js-lines').innerHTML = lines.length ? lines.join('') : '<div style=\"padding:12px;color:#6b7280\">No packages selected.<\/div>';\n        \n        \/\/ Render base total (without taxi). Taxi price is added at submit step if chosen.\n        card.querySelector('.js-total').textContent = fmt(total);\n        card.dataset.baseTotal = String(total);\n\n        if (timeBlock && timeSel){\n          if (hasAnyTickets) {\n            timeBlock.classList.add('show');\n            timeSel.disabled = false;\n            if (!timeSel.value && timeSel.options.length === 2) {\n              timeSel.selectedIndex = 1;\n            }\n          } else {\n            timeBlock.classList.remove('show');\n            timeSel.disabled = true;\n            timeSel.value = '';\n            timeSel.classList.remove('cpb-time-error');\n          }\n        }\n\n        syncTimeSummary();\n      }\n\n      \/\/ Initial paint\n      calc();\n      enforceMin();\n\n      \/\/ BOOK NOW & WHATSAPP\n      \/\/ BOOK NOW & WHATSAPP\nconst modal = document.getElementById('cpb-processing-modal');\n\n\/* Inline toast for errors + strong visual cue on date *\/\nfunction showMsg(m, type){\n  if(type === 'error'){\n    \/\/ lightweight toast near top of screen\n    modal.style.display = 'none';\n    alert(m); \/\/ minimal inline error; avoids \"processing\" feel\n    return;\n  }\n  modal.querySelector('.txt').textContent = m || 'Processing\u2026';\n  modal.style.display='flex';\n  setTimeout(()=>modal.style.display='none', 2200);\n}\n\n\/* Emphasize & scroll to date picker, open the calendar *\/\nfunction nudgeDate(){\n  dateBtn.classList.add('error');\n  const hint = card.querySelector('.js-date-hint');\n  if (hint) hint.classList.add('show');\n  dateBtn.scrollIntoView({behavior:'smooth', block:'center'});\n  setTimeout(()=>{ try{ fp.open(); }catch(e){} }, 250);\n  setTimeout(()=> dateBtn.classList.remove('error'), 900);\n}\n\ncard.querySelector('.js-book').addEventListener('click', function(){\n  const date = dateInput.value || '';\n  const time = timeSel ? (timeSel.value||'') : '';\n  const chosen = [];\n\n  card.querySelectorAll('.cpb-sub').forEach(sp=>{\n    if (!sp.querySelector('.js-check').checked) return;\n    const price = sp.querySelector('.js-price');\n    const allowChild = sp.getAttribute('data-allow-child') === '1';\n    const allowInfant = sp.getAttribute('data-allow-infant') === '1';\n    chosen.push({\n      index: parseInt(sp.getAttribute('data-sub-index')||'0',10),\n      name: sp.querySelector('.cpb-title').textContent.trim(),\n      adults: getQty(sp, '.js-val-adults'),\n      children: allowChild ? getQty(sp, '.js-val-children') : 0,\n      infants: allowInfant ? getQty(sp, '.js-val-infants') : 0,\n      adult_price: +(price.getAttribute('data-adult')||0),\n      child_price: allowChild ? +(price.getAttribute('data-child')||0) : 0,\n      infant_price: allowInfant ? +(price.getAttribute('data-infant')||0) : 0\n    });\n  });\n\n  const total = +(card.querySelector('.js-total').textContent||'0').replace(\/[^0-9.]\/g,'') || 0;\n\n  \/\/ --- Clear hint on valid date\n  if (date){\n    const hint = card.querySelector('.js-date-hint');\n    if (hint) hint.classList.remove('show');\n    dateBtn.classList.remove('error');\n  }\n\n  if (!date){\n    nudgeDate();\n    return showMsg('Please select your journey date.', 'error');\n  }\n  if (chosen.length===0){\n    return showMsg('Please select at least one package.', 'error');\n  }\n  const adultsTotal = chosen.reduce((s,p)=>s+(p.adults||0),0);\n  if (total<=0 || adultsTotal<1){\n    return showMsg('Kindly add at least 1 adult.', 'error');\n  }\n  if (timeSel && timeSel.options.length>1 && !time){\n    \/\/ draw attention to time selector as well\n    timeSel.scrollIntoView({behavior:'smooth', block:'center'});\n    timeSel.classList.add('cpb-time-error');\n    setTimeout(()=> timeSel.classList.remove('cpb-time-error'), 1000);\n    return showMsg('Please select a show time.', 'error');\n  }\n  if (disabledDow.size) {\n    const dObj = new Date(date + 'T00:00:00');\n    if (disabledDow.has(dObj.getDay())) {\n      nudgeDate();\n      return showMsg('Selected date is unavailable for one of the chosen activities. Please pick another day.', 'error');\n    }\n  }\n\n  \/\/ If taxi feature enabled, open modal to optionally choose one, else proceed\n  const taxiState = card.__cpbTaxi || {enabled:false};\n  const proceed = (selectedTaxi)=>{\n    const baseTotal = +(card.dataset.baseTotal||'0');\n    const taxiPrice = selectedTaxi? +(selectedTaxi.price||0) : 0;\n    const grandTotal = baseTotal + taxiPrice;\n    \/\/ reflect grand total on UI before sending\n    card.querySelector('.js-total').textContent = fmt(grandTotal);\n\n    modal.querySelector('.txt').textContent='Processing your booking\u2026';\n    modal.style.display='flex';\n\n    const nonce = '7fae7b6e09';\n\n    const payload = {\n      package_id: parseInt(card.getAttribute('data-package-id')||'0',10),\n      package_name: 'Phuket FantaSea',\n      date, show_time: time, sub_packages: chosen, total_price: grandTotal,\n      taxi: selectedTaxi || null\n    };\n\n    fetch('https:\/\/tripdust.com\/thailand\/wp-admin\/admin-ajax.php',{\n      method:'POST',\n      headers:{'Content-Type':'application\/x-www-form-urlencoded'},\n      body:new URLSearchParams({action:'cpb_add_to_cart', nonce: nonce, data:JSON.stringify(payload), cpb_booking:JSON.stringify(payload)})\n    })\n    .then(r=>r.json())\n    .then(res=>{\n      if (res && res.success && res.data && res.data.redirect){ \n        window.location.href = res.data.redirect; \n      } else { \n        modal.style.display='none'; \n        const errorMsg = res && res.data && res.data.message ? res.data.message : 'Could not add to cart. Please try again.';\n        showMsg(errorMsg, 'error'); \n      }\n    })\n    .catch((err)=>{ \n      modal.style.display='none'; \n      console.error('Add to cart error:', err);\n      showMsg('Network error. Please check your connection and try again.', 'error'); \n    });\n  };\n\n  if (taxiState.enabled && Array.isArray(taxiState.taxis) && taxiState.taxis.length){\n    const mm = card.querySelector('.cpb-taxi-modal');\n    if (mm){\n      mm.style.display = 'flex';\n      const onClick = (e)=>{\n        const act = e.target && e.target.getAttribute && e.target.getAttribute('data-act');\n        if (!act) return;\n        e.preventDefault();\n        mm.style.display = 'none';\n        mm.removeEventListener('click', onClick);\n        if (act==='skip') return proceed(null);\n        \/\/ confirm: get selected radio\n        const r = mm.querySelector('input[type=\"radio\"]:checked');\n        const idx = r ? parseInt(r.value||'-1',10) : -1;\n        const chosenTaxi = (idx>=0 && taxiState.taxis[idx]) ? taxiState.taxis[idx] : null;\n        return proceed(chosenTaxi);\n      };\n      mm.addEventListener('click', onClick);\n    } else {\n      proceed(null);\n    }\n  } else {\n    proceed(null);\n  }\n      });\n\n    });\n  })();\n  <\/script>\n  <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\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>About This Tour Standard Package Details Mini Package Details Premier Package Details Why Choose FAQ Reviews Phuket FantaSea Highlights<\/p>\n","protected":false},"author":7,"featured_media":9962,"parent":11426,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"search_group":[68],"class_list":["post-10166","page","type-page","status-publish","has-post-thumbnail","hentry","search_group-searchable"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Phuket FantaSea | Cultural Theme Park - Starting at \u0e3f1,800<\/title>\n<meta name=\"description\" content=\"Experience the &quot;Disney of Thailand&quot; with cultural shows and buffet dinners starting at \u0e3f2,160\u2014book your Phuket FantaSea magic with Trip Dust.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tripdust.com\/thailand\/phuket\/fantasea\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Phuket FantaSea | Cultural Theme Park - Starting at \u0e3f1,800\" \/>\n<meta property=\"og:description\" content=\"Experience the &quot;Disney of Thailand&quot; with cultural shows and buffet dinners starting at \u0e3f2,160\u2014book your Phuket FantaSea magic with Trip Dust.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tripdust.com\/thailand\/phuket\/fantasea\/\" \/>\n<meta property=\"og:site_name\" content=\"Thailand Tripdust\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-01T12:23:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/FantaSea-phuket-img-1024x1024.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/phuket\\\/fantasea\\\/\",\"url\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/phuket\\\/fantasea\\\/\",\"name\":\"Phuket FantaSea | Cultural Theme Park\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/phuket\\\/fantasea\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/phuket\\\/fantasea\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/FantaSea-phuket-img.png\",\"datePublished\":\"2026-02-01T17:02:49+00:00\",\"dateModified\":\"2026-04-01T12:23:22+00:00\",\"description\":\"Experience the \\\"Disney of Thailand\\\" with cultural shows and buffet dinners starting at \u0e3f2,160\u2014book your Phuket FantaSea magic with Trip Dust.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/phuket\\\/fantasea\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tripdust.com\\\/thailand\\\/phuket\\\/fantasea\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/phuket\\\/fantasea\\\/#primaryimage\",\"url\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/FantaSea-phuket-img.png\",\"contentUrl\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/FantaSea-phuket-img.png\",\"width\":1080,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/phuket\\\/fantasea\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Activities In Phuket\",\"item\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/phuket\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Phuket FantaSea\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/#website\",\"url\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/\",\"name\":\"Thailand Tripdust\",\"description\":\"Thailand Awaits: Dive Into the Adventure\",\"publisher\":{\"@id\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/#organization\",\"name\":\"Thailand Tripdust\",\"url\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/logo-for-dark-background-scaled-1.png\",\"contentUrl\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/logo-for-dark-background-scaled-1.png\",\"width\":2560,\"height\":1527,\"caption\":\"Thailand Tripdust\"},\"image\":{\"@id\":\"https:\\\/\\\/tripdust.com\\\/thailand\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Phuket FantaSea | Cultural Theme Park - Starting at \u0e3f1,800","description":"Experience the \"Disney of Thailand\" with cultural shows and buffet dinners starting at \u0e3f2,160\u2014book your Phuket FantaSea magic with Trip Dust.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tripdust.com\/thailand\/phuket\/fantasea\/","og_locale":"en_US","og_type":"article","og_title":"Phuket FantaSea | Cultural Theme Park - Starting at \u0e3f1,800","og_description":"Experience the \"Disney of Thailand\" with cultural shows and buffet dinners starting at \u0e3f2,160\u2014book your Phuket FantaSea magic with Trip Dust.","og_url":"https:\/\/tripdust.com\/thailand\/phuket\/fantasea\/","og_site_name":"Thailand Tripdust","article_modified_time":"2026-04-01T12:23:22+00:00","og_image":[{"width":1080,"height":1080,"url":"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/FantaSea-phuket-img-1024x1024.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/tripdust.com\/thailand\/phuket\/fantasea\/","url":"https:\/\/tripdust.com\/thailand\/phuket\/fantasea\/","name":"Phuket FantaSea | Cultural Theme Park","isPartOf":{"@id":"https:\/\/tripdust.com\/thailand\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tripdust.com\/thailand\/phuket\/fantasea\/#primaryimage"},"image":{"@id":"https:\/\/tripdust.com\/thailand\/phuket\/fantasea\/#primaryimage"},"thumbnailUrl":"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/FantaSea-phuket-img.png","datePublished":"2026-02-01T17:02:49+00:00","dateModified":"2026-04-01T12:23:22+00:00","description":"Experience the \"Disney of Thailand\" with cultural shows and buffet dinners starting at \u0e3f2,160\u2014book your Phuket FantaSea magic with Trip Dust.","breadcrumb":{"@id":"https:\/\/tripdust.com\/thailand\/phuket\/fantasea\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tripdust.com\/thailand\/phuket\/fantasea\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tripdust.com\/thailand\/phuket\/fantasea\/#primaryimage","url":"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/FantaSea-phuket-img.png","contentUrl":"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2026\/01\/FantaSea-phuket-img.png","width":1080,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/tripdust.com\/thailand\/phuket\/fantasea\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/tripdust.com\/thailand\/"},{"@type":"ListItem","position":2,"name":"Activities In Phuket","item":"https:\/\/tripdust.com\/thailand\/phuket\/"},{"@type":"ListItem","position":3,"name":"Phuket FantaSea"}]},{"@type":"WebSite","@id":"https:\/\/tripdust.com\/thailand\/#website","url":"https:\/\/tripdust.com\/thailand\/","name":"Thailand Tripdust","description":"Thailand Awaits: Dive Into the Adventure","publisher":{"@id":"https:\/\/tripdust.com\/thailand\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tripdust.com\/thailand\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/tripdust.com\/thailand\/#organization","name":"Thailand Tripdust","url":"https:\/\/tripdust.com\/thailand\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tripdust.com\/thailand\/#\/schema\/logo\/image\/","url":"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2025\/07\/logo-for-dark-background-scaled-1.png","contentUrl":"https:\/\/tripdust.com\/thailand\/wp-content\/uploads\/2025\/07\/logo-for-dark-background-scaled-1.png","width":2560,"height":1527,"caption":"Thailand Tripdust"},"image":{"@id":"https:\/\/tripdust.com\/thailand\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/tripdust.com\/thailand\/wp-json\/wp\/v2\/pages\/10166","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tripdust.com\/thailand\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tripdust.com\/thailand\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tripdust.com\/thailand\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/tripdust.com\/thailand\/wp-json\/wp\/v2\/comments?post=10166"}],"version-history":[{"count":0,"href":"https:\/\/tripdust.com\/thailand\/wp-json\/wp\/v2\/pages\/10166\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/tripdust.com\/thailand\/wp-json\/wp\/v2\/pages\/11426"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tripdust.com\/thailand\/wp-json\/wp\/v2\/media\/9962"}],"wp:attachment":[{"href":"https:\/\/tripdust.com\/thailand\/wp-json\/wp\/v2\/media?parent=10166"}],"wp:term":[{"taxonomy":"search_group","embeddable":true,"href":"https:\/\/tripdust.com\/thailand\/wp-json\/wp\/v2\/search_group?post=10166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}