{"id":465078,"date":"2025-04-15T14:37:03","date_gmt":"2025-04-15T12:37:03","guid":{"rendered":"https:\/\/www.tui.com\/blog\/?p=465078"},"modified":"2026-03-12T10:56:27","modified_gmt":"2026-03-12T09:56:27","slug":"tui-blue-family-fun-hotels","status":"publish","type":"post","link":"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/","title":{"rendered":"10 Jahre Familienspa\u00df mit TUI BLUE: Momente, die bleiben!"},"content":{"rendered":"<p class=\"firstTextGrey\">Seit nunmehr 10 Jahren findest du bei TUI BLUE eine Vielzahl an familienfreundlichen Hotels. F\u00fcr alle, die auf der Suche nach einer extra Portion Familienspa\u00df im Urlaub sind, bieten die Family Fun Hotels von TUI BLUE die perfekte Unterkunft.<\/p>\n\n\n<p>Was dich und deine Liebsten in den rund 20 Hotels in den sch\u00f6nsten Ecken rund ums Mittelmeer erwartet? Zimmer, Suiten oder Appartements \u2013 mit viel Platz. Ein vielf\u00e4ltiges Sport- und Entertainmentangebot. Leckeres Essen f\u00fcr kleine und gro\u00dfe Genie\u00dfer \u2013 auch bei Lebensmittelunvertr\u00e4glichkeiten oder Allergien. Dar\u00fcber hinaus ein tolles Angebot an Aktivit\u00e4ten und Abendentertainment. Und nicht zu vergessen das Betreuungsangebot f\u00fcr Babys, Kids und Teens \u2013 nat\u00fcrlich mit qualifiziertem Personal und f\u00fcr verschiedene Altersgruppen.<\/p>\n\n\n\n<h2 class=\"gb-text\">Wir feiern ein Jahrzehnt TUI BLUE: Mitfeiern und sparen!<\/h2>\n\n\n\n<p>Den ganzen Sommer 2026 \u00fcber erwarten dich in den TUI BLUE Family Fun Hotels besondere Momente \u2013 von kreativen Kids&#8216; Club-Workshops \u00fcber Poolspiele bis hin zu Aktivt\u00e4ten, die Gro\u00df und Klein zusammenbringen. Abend sorgen fr\u00f6hliche Kinderdiscos und interaktive Spielshows f\u00fcr leuchtende Augen. Die Aktivit\u00e4ten variieren je nach Hotel und laden zu kleinen besonderen Familienmomenten ein.<\/p>\n\n\n\n<p><strong>Und das Beste: <\/strong>Bei Buchung eures TUI BLUE Urlaubs bis einschlie\u00dflich 07. April 2026 kannst du bis zu 35% sparen. Mehr Informationen im Reiseb\u00fcro, auf<a href=\"https:\/\/www.tui.com\/tui-blue\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u00a0tui.com\u00a0<\/a>und in der App.\u00a0<\/p>\n\n\n\n<p>Die Entscheidung ist f\u00fcr ein <a href=\"https:\/\/www.tui.com\/tui-blue\/family-fun\/\" target=\"_blank\" rel=\"noreferrer noopener\">TUI BLUE Family Fun<\/a> Hotel gefallen, aber du wei\u00dft noch nicht so recht wohin? Dann lass dich von unserer Top 10 inspirieren \u2013 ein bunter Blumenstrau\u00df an Hotels in verschiedenen L\u00e4ndern: &nbsp;<\/p>\n\n\n<div class=\"table-of-contents\">\r\n    <div class=\"toc-head\">\r\n        <span class=\"toc-headline\">Inhalt<\/span>\r\n        <button class=\"toggle-toc\"\r\n            aria-expanded=\"false\"\r\n            aria-controls=\"toc-list\"\r\n            aria-label=\"Inhaltsverzeichnis ein- oder ausklappen\">\r\n            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"17.503\" height=\"10.303\" viewBox=\"0 0 17.503 10.303\">\r\n                <path id=\"Icon_ionic-ios-arrow-back\" data-name=\"Icon ionic-ios-arrow-back\" d=\"M14.356,14.943l6.819-6.618a1.22,1.22,0,0,0,0-1.766,1.321,1.321,0,0,0-1.824,0l-7.726,7.5a1.223,1.223,0,0,0-.038,1.725l7.758,7.55a1.323,1.323,0,0,0,1.824,0,1.22,1.22,0,0,0,0-1.766Z\" transform=\"translate(23.697 -11.251) rotate(90)\" fill=\"#1B115C\"><\/path>\r\n            <\/svg>\r\n        <\/button>\r\n    <\/div>\r\n    <ul id=\"toc-list\" class=\"toc-list\"><\/ul>\r\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Top 1: TUI BLUE Nevis &#8211; Bulgarien<\/h2>\n\n\n\n<p>Zwischen Sonnenstrand und St. Vlas auf einer Anh\u00f6he gelegen, genie\u00dft du im<a href=\"https:\/\/www.tui.com\/hotels\/tui-blue-nevis-685661\/hotelinformation\/\" target=\"_blank\" rel=\"noreferrer noopener\"> TUI BLUE Nevis<\/a> einen unbeschwerten Familienurlaub etwas abseits des Trubels. Die leckere All Inclusive-Verpflegung l\u00e4dt zum Schlemmen ein und zahlreiche Aktivit\u00e4ten sorgen f\u00fcr beste Unterhaltung. Der<strong> Wasserpark mit Rutschen <\/strong>l\u00e4sst Kinderaugen strahlen, ein besonderes Highlight f\u00fcr gro\u00dfe und kleine Abenteurer ist aber der Besuch des nahe gelegenen Action Aquaparks, der mit einer Vielfalt an Wasserrutschen und weiteren Attraktionen f\u00fcr jedes Alter begeistert.<\/p>\n\n\n\r\n    <tui-image-gallery\r\n            variant=\"love-at-first-sight\"\r\n            type=\"info\"\r\n            giata-id=\"685661\"\r\n            hotel-name=\"TUI BLUE Nevis\"\r\n                            duration=\"7\"                    locale=\"de-DE\"\r\n            data-mode=\"light\"\r\n            data-theme=\"tui-light\"\r\n            data-legacy-font=\"\"\r\n            version=\"2.2.3\">\r\n\r\n        <style>\r\n            body.modal-scroll-fix {\r\n                overflow: hidden;\r\n                height: 100vh;\r\n            }\r\n            body.modal-scroll-fix .image-gallery__slot-a {\r\n                z-index: 10 !important;\r\n            }\r\n            tui-map-consent::part(map-consent) {\r\n                border-radius: var(--border-radius-lafs-elements);\r\n            }\r\n            tui-hotel-map {\r\n                height: 100%;\r\n            }\r\n        <\/style>\r\n\r\n                    &#8222;slot-a&#8220; class=&#8220;image-gallery__slot-a&#8220;>\r\n            <tui-map-consent\r\n                    data-theme=\"tui-light\"\r\n                    data-legacy-font\r\n                    locale=\"de-DE\"\r\n                    version=\"current\"\r\n                    cookie-url=\"https:\/\/www.tui.com\/cookie-hinweis\"\r\n                    privacy-url=\"https:\/\/www.tui.com\/datenschutz\">\r\n            <\/tui-map-consent>\r\n\r\n            <tui-hotel-map\r\n                    id=\"love-at-first-sight-poi\"\r\n                    hotel-id=\"685661\"\r\n                    tenant=\"TUICOM\"\r\n                    locale=\"de-DE\"\r\n                    api-key=\"AIzaSyBwXTpsKTvJ6JFXOEJRrU9qNaup3HNAFpU\"\r\n                    market=\"de\"\r\n                    mode=\"STATIC\"\r\n                    static-map-sizes='[\r\n                    {\"media\":\"(min-width: 960px)\",\"width\":297,\"height\":220},\r\n                    {\"media\":\"(min-width: 580px)\",\"width\":400,\"height\":200},\r\n                    {\"media\":\"(min-width: 0px)\",\"width\":400,\"height\":300}\r\n                ]'\r\n                    style=\"display: none;\">\r\n            <\/tui-hotel-map>\r\n            <\/span>\r\n            <style>\r\n                .best-offer-list {\r\n                    position: relative;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    background: var(--color-theme-base-400, #c6eafb);\r\n                    padding: var(--space-3, 12px) 0;\r\n                    justify-content: flex-start;\r\n                    font-family: var(--font-family-base);\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list {\r\n                        padding: var(--space-3, 12px);\r\n                    }\r\n                }\r\n                .best-offer-list__heading {\r\n                    font-weight: bold;\r\n                    font-size: 18px;\r\n                    text-align: center;\r\n                    margin-bottom: var(--space-2, 8px);\r\n                    display: none;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__heading {\r\n                        display: block;\r\n                    }\r\n                }\r\n                .best-offer-list__parameters {\r\n                    text-align: center;\r\n                }\r\n                .best-offer-list__parameters:empty {\r\n                    height: 18px;\r\n                    border-radius: 9px;\r\n                    background: #fff aa;\r\n                    width: 70%;\r\n                    margin: auto;\r\n                    display: block;\r\n                }\r\n                .best-offer-list__element--header {\r\n                    order: 2;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--header {\r\n                        order: 1;\r\n                    }\r\n                }\r\n                .best-offer-list__element--offers {\r\n                    order: 1;\r\n                    display: flex;\r\n                    flex-direction: row;\r\n                    justify-content: center;\r\n                    gap: 20px;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--offers {\r\n                        flex-grow: 1;\r\n                        flex-direction: column;\r\n                        order: 2;\r\n                    }\r\n                }\r\n                .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    justify-content: space-between;\r\n                    position: relative;\r\n                }\r\n                .best-offer-list__element--inner:first-child::after {\r\n                    background: white;\r\n                    content: ' ';\r\n                    position: absolute;\r\n                    height: 100%;\r\n                    width: 1px;\r\n                    right: -8px;\r\n                    top: 0;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--inner:first-child::after {\r\n                        right: unset;\r\n                        top: unset;\r\n                        bottom: -10px;\r\n                        left: 0%;\r\n                        width: 100%;\r\n                        height: 1px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--fallback {\r\n                    display: grid;\r\n                    height: 100%;\r\n                    place-content: center;\r\n                    text-align: center;\r\n                    place-items: center;\r\n                    gap: var(--space-4, 16px);\r\n                }\r\n                .best-offer-list__element--fallback p {\r\n                    margin: 0;\r\n                }\r\n                .best-offer-list__element--headline {\r\n                    font-size: 24px;\r\n                    font-weight: 700;\r\n                }\r\n                .best-offer-list__element--button {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    padding: 14px 42px;\r\n                    border-radius: 5rem;\r\n                    font-size: 16px;\r\n                    font-family: Ambit, sans-serif;\r\n                    font-weight: 500;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--button {\r\n                        padding: 8px 32px;\r\n                        margin-top: 40px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--button:hover, .best-offer-list__element--button:visited, .best-offer-list__element--button:active, .best-offer-list__element--button:focus {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    text-decoration: none;\r\n                }\r\n                .best-offer-list__element--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-list--block {\r\n                    display: block;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--offers {\r\n                    display: block;\r\n                    height: 100%;\r\n                    padding: 0;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: block;\r\n                    height: 100%;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner:first-child::after {\r\n                    all: unset;\r\n                }\r\n                .best-offer-list--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-loading {\r\n                    width: 100%;\r\n                    height: 100%;\r\n                    display: grid;\r\n                    place-items: center;\r\n                    position: absolute;\r\n                    top: 0;\r\n                    left: 0;\r\n                    background-color: var(--color-theme-base-400, #c6eafb);\r\n                    z-index: 1;\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                    font-weight: bold;\r\n                    font-size: var(--font-size-medium, 18px);\r\n                }\r\n                .best-offer-loading img {\r\n                    animation: rotate infinite ease-in-out 5s;\r\n                }\r\n                @keyframes rotate {\r\n                    0% {\r\n                        transform: rotate(0);\r\n                    }\r\n                    50% {\r\n                        transform: rotate(180deg);\r\n                    }\r\n                    100% {\r\n                        transform: rotate(360deg);\r\n                    }\r\n                }\r\n            <\/style>\r\n\r\n            <script>\r\n                \/\/ Track instances and offers\r\n                let initializedInstancesCount = 0;\r\n                let renderedInstancesCount = 0;\r\n                let hasValidOffer = false;\r\n\r\n                \/\/ Find all image galleries\r\n                const imageGalleries = document.querySelectorAll('tui-image-gallery');\r\n\r\n                \/\/ Function to update UI for a specific image gallery\r\n                const updateUI = (imageGallery) => {\r\n                    const giataId = imageGallery.getAttribute('giata-id');\r\n\r\n                    \/\/ Hide loading spinner\r\n                    const loadingElement = imageGallery.querySelector('.best-offer-loading');\r\n                    if (loadingElement) {\r\n                        loadingElement.style.display = 'none';\r\n                    }\r\n\r\n                    \/\/ Show\/hide offers and fallback based on hasValidOffer\r\n                    const offersElement = imageGallery.querySelector('.best-offer-list__element--offers');\r\n                    const fallbackElement = imageGallery.querySelector('.best-offer-list__element--fallback');\r\n\r\n                    const showOffers = hasValidOffer && offersElement;\r\n                    const showFallback = !hasValidOffer && fallbackElement;\r\n\r\n                    if (showOffers) {\r\n                        offersElement.style.display = 'flex';\r\n                        fallbackElement.style.display = 'none';\r\n                    } else if (showFallback) {\r\n                        offersElement.style.display = 'none';\r\n                        fallbackElement.style.display = 'grid';\r\n                    }\r\n                };\r\n\r\n                \/\/ Listen for instance initialized events\r\n                document.addEventListener('tui-hotel-best-offer.instance-initialized', (event) => {\r\n                    initializedInstancesCount++;\r\n                });\r\n\r\n                \/\/ Listen for instance rendered events\r\n                document.addEventListener('tui-hotel-best-offer.instance-rendered', (event) => {\r\n                    renderedInstancesCount++;\r\n\r\n                    \/\/ Check if we have a valid offer\r\n                    if (event.detail && event.detail.hotelOffer && event.detail.hotelOffer.priceAmountPerPerson) {\r\n                        hasValidOffer = true;\r\n                    }\r\n\r\n                    \/\/ Update UI for all image galleries when all instances are rendered\r\n                    if (renderedInstancesCount === initializedInstancesCount) {\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n\r\n                    \/\/ Set the CTA for the offer on Render\r\n                    const { hotelOffer, searchParameters, hotelName } = event.detail;\r\n\r\n                    if (!hotelOffer || !searchParameters) {\r\n                        console.warn('No offer details available in event');\r\n                        return;\r\n                    }\r\n\r\n                    const getDomainFromTenant = (tenant) => {\r\n                        const tenantDomainMap = {\r\n                            'TUICOM': 'www.tui.com',\r\n                            'TUIAT': 'www.tui.at',\r\n                            'TUICH': 'www.tui.ch',\r\n                        };\r\n\r\n                        return tenantDomainMap[tenant] || 'www.tui.com';\r\n                    };\r\n\r\n                    const generateScopedUrl = (params) => {\r\n                        const baseUrl = encodeURI(`https:\/\/${getDomainFromTenant(params.tenant)}\/suchen\/angebote\/${hotelName}\/${params.hotel.giata}\/`); \/\/ Base URL for offer details\r\n                        const queryParams = new URLSearchParams({\r\n                            startDate: params.startDate,\r\n                            endDate: params.endDate,\r\n                            duration: params.durations,\r\n                            searchScope: params.scope,\r\n                        });\r\n                        return `${baseUrl}?${queryParams.toString()}`;\r\n                    };\r\n\r\n                    const url = generateScopedUrl(searchParameters);\r\n                    event.detail.setCallToActionUrl(url)\r\n                });\r\n\r\n                \/\/ Fallback timeout - if no events are received within 10 seconds\r\n                setTimeout(() => {\r\n                    if (renderedInstancesCount === 0) {\r\n                        hasValidOffer = false;\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n                }, 10000);\r\n            <\/script>\r\n\r\n            <span slot=\"slot-b\" class=\"best-offer-list\">\r\n            <span class=\"best-offer-attributes\"\r\n                                             data-duration=\"7\"                              data-giata-id=\"685661\"\r\n                  data-hotel-name=\"TUI BLUE Nevis\"><\/span>\r\n            <span class=\"best-offer-list__element best-offer-list__element--offers\">\r\n            <tui-hotel-best-offer\r\n                    slot=\"slot-b\"\r\n                    scope=\"HOTEL,PACKAGE\"\r\n                    tenant=\"TUICOM\"\r\n                    variant=\"micro\"\r\n                    brand=\"tui\"\r\n                    theme=\"tui-light\"\r\n                    locale=\"de-DE\"\r\n                    price-type=\"per_person\"\r\n                                                 durations=\"7\"                    giata-id=\"685661\"\r\n                    show-error-ctas=\"false\"\r\n                    show-tooltip=\"false\"\r\n                    show-sun-spinner\r\n            >\r\n            <\/tui-hotel-best-offer>\r\n            <\/span>\r\n\r\n            <span class=\"best-offer-list__element best-offer-list__element--fallback best-offer-list__element--hidden\">\r\n                <img decoding=\"async\" src=\"https:\/\/static.tui.com\/assets\/v2\/icons\/tui-light\/location-track.svg\" width=\"40\" height=\"40\" alt=\"Icon Best Offer Fallback\" \/>\r\n                <span class=\"best-offer-list__element--headline\">Wir konnten leider kein passendes Angebot finden.<\/span>\r\n                <\/span>\r\n            <\/span>\r\n            <\/tui-image-gallery>\r\n\n\n\n<h2 class=\"wp-block-heading\">Top 2: TUI BLUE Lagoon Princess &#8211; Chalkidiki<\/h2>\n\n\n\n<p>Willkommen zum Luxusurlaub im griechischen Familienparadies: Das 5-Sterne Hotel <a href=\"https:\/\/www.tui.com\/hotels\/tui-blue-lagoon-princess-412173\/hotelinformation\/\" target=\"_blank\" rel=\"noreferrer noopener\">TUI BLUE Lagoon Princess<\/a> liegt auf der Halbinsel Chalkidiki und begeistert mit <strong>modernem Lifestyle <\/strong>und stylischem Ambiente. Lasst euch mit<strong> regionalen Speisen<\/strong> so richtig verw\u00f6hnen, testet leckere Smoothies und schaut beim Live-Cooking zu. Springt ins Meer oder in einen der sechs Pools &#8211; f\u00fcr k\u00e4ltere Tage gibt es auch einen Indoor-Pool. Und nach einem erlebnisreichen Tag lasst ihr euch vom Abendentertainment mitrei\u00dfen und verzaubern.<\/p>\n\n\n\r\n    <tui-image-gallery\r\n            variant=\"love-at-first-sight\"\r\n            type=\"info\"\r\n            giata-id=\"412173\"\r\n            hotel-name=\"TUI BLUE Lagoon Princess\"\r\n                            duration=\"7\"                    locale=\"de-DE\"\r\n            data-mode=\"light\"\r\n            data-theme=\"tui-light\"\r\n            data-legacy-font=\"\"\r\n            version=\"2.2.3\">\r\n\r\n        <style>\r\n            body.modal-scroll-fix {\r\n                overflow: hidden;\r\n                height: 100vh;\r\n            }\r\n            body.modal-scroll-fix .image-gallery__slot-a {\r\n                z-index: 10 !important;\r\n            }\r\n            tui-map-consent::part(map-consent) {\r\n                border-radius: var(--border-radius-lafs-elements);\r\n            }\r\n            tui-hotel-map {\r\n                height: 100%;\r\n            }\r\n        <\/style>\r\n\r\n                    &#8222;slot-a&#8220; class=&#8220;image-gallery__slot-a&#8220;>\r\n            <tui-map-consent\r\n                    data-theme=\"tui-light\"\r\n                    data-legacy-font\r\n                    locale=\"de-DE\"\r\n                    version=\"current\"\r\n                    cookie-url=\"https:\/\/www.tui.com\/cookie-hinweis\"\r\n                    privacy-url=\"https:\/\/www.tui.com\/datenschutz\">\r\n            <\/tui-map-consent>\r\n\r\n            <tui-hotel-map\r\n                    id=\"love-at-first-sight-poi\"\r\n                    hotel-id=\"412173\"\r\n                    tenant=\"TUICOM\"\r\n                    locale=\"de-DE\"\r\n                    api-key=\"AIzaSyBwXTpsKTvJ6JFXOEJRrU9qNaup3HNAFpU\"\r\n                    market=\"de\"\r\n                    mode=\"STATIC\"\r\n                    static-map-sizes='[\r\n                    {\"media\":\"(min-width: 960px)\",\"width\":297,\"height\":220},\r\n                    {\"media\":\"(min-width: 580px)\",\"width\":400,\"height\":200},\r\n                    {\"media\":\"(min-width: 0px)\",\"width\":400,\"height\":300}\r\n                ]'\r\n                    style=\"display: none;\">\r\n            <\/tui-hotel-map>\r\n            <\/span>\r\n            <style>\r\n                .best-offer-list {\r\n                    position: relative;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    background: var(--color-theme-base-400, #c6eafb);\r\n                    padding: var(--space-3, 12px) 0;\r\n                    justify-content: flex-start;\r\n                    font-family: var(--font-family-base);\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list {\r\n                        padding: var(--space-3, 12px);\r\n                    }\r\n                }\r\n                .best-offer-list__heading {\r\n                    font-weight: bold;\r\n                    font-size: 18px;\r\n                    text-align: center;\r\n                    margin-bottom: var(--space-2, 8px);\r\n                    display: none;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__heading {\r\n                        display: block;\r\n                    }\r\n                }\r\n                .best-offer-list__parameters {\r\n                    text-align: center;\r\n                }\r\n                .best-offer-list__parameters:empty {\r\n                    height: 18px;\r\n                    border-radius: 9px;\r\n                    background: #fff aa;\r\n                    width: 70%;\r\n                    margin: auto;\r\n                    display: block;\r\n                }\r\n                .best-offer-list__element--header {\r\n                    order: 2;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--header {\r\n                        order: 1;\r\n                    }\r\n                }\r\n                .best-offer-list__element--offers {\r\n                    order: 1;\r\n                    display: flex;\r\n                    flex-direction: row;\r\n                    justify-content: center;\r\n                    gap: 20px;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--offers {\r\n                        flex-grow: 1;\r\n                        flex-direction: column;\r\n                        order: 2;\r\n                    }\r\n                }\r\n                .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    justify-content: space-between;\r\n                    position: relative;\r\n                }\r\n                .best-offer-list__element--inner:first-child::after {\r\n                    background: white;\r\n                    content: ' ';\r\n                    position: absolute;\r\n                    height: 100%;\r\n                    width: 1px;\r\n                    right: -8px;\r\n                    top: 0;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--inner:first-child::after {\r\n                        right: unset;\r\n                        top: unset;\r\n                        bottom: -10px;\r\n                        left: 0%;\r\n                        width: 100%;\r\n                        height: 1px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--fallback {\r\n                    display: grid;\r\n                    height: 100%;\r\n                    place-content: center;\r\n                    text-align: center;\r\n                    place-items: center;\r\n                    gap: var(--space-4, 16px);\r\n                }\r\n                .best-offer-list__element--fallback p {\r\n                    margin: 0;\r\n                }\r\n                .best-offer-list__element--headline {\r\n                    font-size: 24px;\r\n                    font-weight: 700;\r\n                }\r\n                .best-offer-list__element--button {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    padding: 14px 42px;\r\n                    border-radius: 5rem;\r\n                    font-size: 16px;\r\n                    font-family: Ambit, sans-serif;\r\n                    font-weight: 500;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--button {\r\n                        padding: 8px 32px;\r\n                        margin-top: 40px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--button:hover, .best-offer-list__element--button:visited, .best-offer-list__element--button:active, .best-offer-list__element--button:focus {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    text-decoration: none;\r\n                }\r\n                .best-offer-list__element--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-list--block {\r\n                    display: block;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--offers {\r\n                    display: block;\r\n                    height: 100%;\r\n                    padding: 0;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: block;\r\n                    height: 100%;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner:first-child::after {\r\n                    all: unset;\r\n                }\r\n                .best-offer-list--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-loading {\r\n                    width: 100%;\r\n                    height: 100%;\r\n                    display: grid;\r\n                    place-items: center;\r\n                    position: absolute;\r\n                    top: 0;\r\n                    left: 0;\r\n                    background-color: var(--color-theme-base-400, #c6eafb);\r\n                    z-index: 1;\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                    font-weight: bold;\r\n                    font-size: var(--font-size-medium, 18px);\r\n                }\r\n                .best-offer-loading img {\r\n                    animation: rotate infinite ease-in-out 5s;\r\n                }\r\n                @keyframes rotate {\r\n                    0% {\r\n                        transform: rotate(0);\r\n                    }\r\n                    50% {\r\n                        transform: rotate(180deg);\r\n                    }\r\n                    100% {\r\n                        transform: rotate(360deg);\r\n                    }\r\n                }\r\n            <\/style>\r\n\r\n            <script>\r\n                \/\/ Track instances and offers\r\n                let initializedInstancesCount = 0;\r\n                let renderedInstancesCount = 0;\r\n                let hasValidOffer = false;\r\n\r\n                \/\/ Find all image galleries\r\n                const imageGalleries = document.querySelectorAll('tui-image-gallery');\r\n\r\n                \/\/ Function to update UI for a specific image gallery\r\n                const updateUI = (imageGallery) => {\r\n                    const giataId = imageGallery.getAttribute('giata-id');\r\n\r\n                    \/\/ Hide loading spinner\r\n                    const loadingElement = imageGallery.querySelector('.best-offer-loading');\r\n                    if (loadingElement) {\r\n                        loadingElement.style.display = 'none';\r\n                    }\r\n\r\n                    \/\/ Show\/hide offers and fallback based on hasValidOffer\r\n                    const offersElement = imageGallery.querySelector('.best-offer-list__element--offers');\r\n                    const fallbackElement = imageGallery.querySelector('.best-offer-list__element--fallback');\r\n\r\n                    const showOffers = hasValidOffer && offersElement;\r\n                    const showFallback = !hasValidOffer && fallbackElement;\r\n\r\n                    if (showOffers) {\r\n                        offersElement.style.display = 'flex';\r\n                        fallbackElement.style.display = 'none';\r\n                    } else if (showFallback) {\r\n                        offersElement.style.display = 'none';\r\n                        fallbackElement.style.display = 'grid';\r\n                    }\r\n                };\r\n\r\n                \/\/ Listen for instance initialized events\r\n                document.addEventListener('tui-hotel-best-offer.instance-initialized', (event) => {\r\n                    initializedInstancesCount++;\r\n                });\r\n\r\n                \/\/ Listen for instance rendered events\r\n                document.addEventListener('tui-hotel-best-offer.instance-rendered', (event) => {\r\n                    renderedInstancesCount++;\r\n\r\n                    \/\/ Check if we have a valid offer\r\n                    if (event.detail && event.detail.hotelOffer && event.detail.hotelOffer.priceAmountPerPerson) {\r\n                        hasValidOffer = true;\r\n                    }\r\n\r\n                    \/\/ Update UI for all image galleries when all instances are rendered\r\n                    if (renderedInstancesCount === initializedInstancesCount) {\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n\r\n                    \/\/ Set the CTA for the offer on Render\r\n                    const { hotelOffer, searchParameters, hotelName } = event.detail;\r\n\r\n                    if (!hotelOffer || !searchParameters) {\r\n                        console.warn('No offer details available in event');\r\n                        return;\r\n                    }\r\n\r\n                    const getDomainFromTenant = (tenant) => {\r\n                        const tenantDomainMap = {\r\n                            'TUICOM': 'www.tui.com',\r\n                            'TUIAT': 'www.tui.at',\r\n                            'TUICH': 'www.tui.ch',\r\n                        };\r\n\r\n                        return tenantDomainMap[tenant] || 'www.tui.com';\r\n                    };\r\n\r\n                    const generateScopedUrl = (params) => {\r\n                        const baseUrl = encodeURI(`https:\/\/${getDomainFromTenant(params.tenant)}\/suchen\/angebote\/${hotelName}\/${params.hotel.giata}\/`); \/\/ Base URL for offer details\r\n                        const queryParams = new URLSearchParams({\r\n                            startDate: params.startDate,\r\n                            endDate: params.endDate,\r\n                            duration: params.durations,\r\n                            searchScope: params.scope,\r\n                        });\r\n                        return `${baseUrl}?${queryParams.toString()}`;\r\n                    };\r\n\r\n                    const url = generateScopedUrl(searchParameters);\r\n                    event.detail.setCallToActionUrl(url)\r\n                });\r\n\r\n                \/\/ Fallback timeout - if no events are received within 10 seconds\r\n                setTimeout(() => {\r\n                    if (renderedInstancesCount === 0) {\r\n                        hasValidOffer = false;\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n                }, 10000);\r\n            <\/script>\r\n\r\n            <span slot=\"slot-b\" class=\"best-offer-list\">\r\n            <span class=\"best-offer-attributes\"\r\n                                             data-duration=\"7\"                              data-giata-id=\"412173\"\r\n                  data-hotel-name=\"TUI BLUE Lagoon Princess\"><\/span>\r\n            <span class=\"best-offer-list__element best-offer-list__element--offers\">\r\n            <tui-hotel-best-offer\r\n                    slot=\"slot-b\"\r\n                    scope=\"HOTEL,PACKAGE\"\r\n                    tenant=\"TUICOM\"\r\n                    variant=\"micro\"\r\n                    brand=\"tui\"\r\n                    theme=\"tui-light\"\r\n                    locale=\"de-DE\"\r\n                    price-type=\"per_person\"\r\n                                                 durations=\"7\"                    giata-id=\"412173\"\r\n                    show-error-ctas=\"false\"\r\n                    show-tooltip=\"false\"\r\n                    show-sun-spinner\r\n            >\r\n            <\/tui-hotel-best-offer>\r\n            <\/span>\r\n\r\n            <span class=\"best-offer-list__element best-offer-list__element--fallback best-offer-list__element--hidden\">\r\n                <img decoding=\"async\" src=\"https:\/\/static.tui.com\/assets\/v2\/icons\/tui-light\/location-track.svg\" width=\"40\" height=\"40\" alt=\"Icon Best Offer Fallback\" \/>\r\n                <span class=\"best-offer-list__element--headline\">Wir konnten leider kein passendes Angebot finden.<\/span>\r\n                <\/span>\r\n            <\/span>\r\n            <\/tui-image-gallery>\r\n\n\n\n<h2 class=\"wp-block-heading\">Top 3: TUI BLUE Atlantica Aegean Park &#8211; Rhodos<\/h2>\n\n\n\n<p>Das moderne <a href=\"https:\/\/www.tui.com\/hotels\/tui-blue-atlantica-aegean-park-238866\/hotelinformation\/\" target=\"_blank\" rel=\"noreferrer noopener\">TUI BLUE Atlantica Aegean Park <\/a>wurde von unseren G\u00e4sten mit dem<strong> TUI Global Award 2025<\/strong> ausgezeichnet und bietet Qualit\u00e4t und Quality Time f\u00fcr die ganze Familie. Vom Badespa\u00df im Splash Park \u00fcber mehrere Pools bis hin zum vielseitigen Sport- und Fitnessangebot \u2013 hier gestaltet ihr den Urlaub ganz nach euren W\u00fcnschen. F\u00fcr noch mehr Abwechslung sorgt ein Ausflug in das Tal der Schmetterlinge. Ihr k\u00f6nnt euch auf ganz viel Natur, verschlungene Wege, kleine Wasserf\u00e4lle und Br\u00fccken sowie nat\u00fcrlich einer Vielzahl von Schmetterlingen freuen.<\/p>\n\n\n\r\n    <tui-image-gallery\r\n            variant=\"love-at-first-sight\"\r\n            type=\"info\"\r\n            giata-id=\"238866\"\r\n            hotel-name=\"TUI BLUE Atlantica Aegean PArk\"\r\n                            duration=\"7\"                    locale=\"de-DE\"\r\n            data-mode=\"light\"\r\n            data-theme=\"tui-light\"\r\n            data-legacy-font=\"\"\r\n            version=\"2.2.3\">\r\n\r\n        <style>\r\n            body.modal-scroll-fix {\r\n                overflow: hidden;\r\n                height: 100vh;\r\n            }\r\n            body.modal-scroll-fix .image-gallery__slot-a {\r\n                z-index: 10 !important;\r\n            }\r\n            tui-map-consent::part(map-consent) {\r\n                border-radius: var(--border-radius-lafs-elements);\r\n            }\r\n            tui-hotel-map {\r\n                height: 100%;\r\n            }\r\n        <\/style>\r\n\r\n                    &#8222;slot-a&#8220; class=&#8220;image-gallery__slot-a&#8220;>\r\n            <tui-map-consent\r\n                    data-theme=\"tui-light\"\r\n                    data-legacy-font\r\n                    locale=\"de-DE\"\r\n                    version=\"current\"\r\n                    cookie-url=\"https:\/\/www.tui.com\/cookie-hinweis\"\r\n                    privacy-url=\"https:\/\/www.tui.com\/datenschutz\">\r\n            <\/tui-map-consent>\r\n\r\n            <tui-hotel-map\r\n                    id=\"love-at-first-sight-poi\"\r\n                    hotel-id=\"238866\"\r\n                    tenant=\"TUICOM\"\r\n                    locale=\"de-DE\"\r\n                    api-key=\"AIzaSyBwXTpsKTvJ6JFXOEJRrU9qNaup3HNAFpU\"\r\n                    market=\"de\"\r\n                    mode=\"STATIC\"\r\n                    static-map-sizes='[\r\n                    {\"media\":\"(min-width: 960px)\",\"width\":297,\"height\":220},\r\n                    {\"media\":\"(min-width: 580px)\",\"width\":400,\"height\":200},\r\n                    {\"media\":\"(min-width: 0px)\",\"width\":400,\"height\":300}\r\n                ]'\r\n                    style=\"display: none;\">\r\n            <\/tui-hotel-map>\r\n            <\/span>\r\n            <style>\r\n                .best-offer-list {\r\n                    position: relative;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    background: var(--color-theme-base-400, #c6eafb);\r\n                    padding: var(--space-3, 12px) 0;\r\n                    justify-content: flex-start;\r\n                    font-family: var(--font-family-base);\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list {\r\n                        padding: var(--space-3, 12px);\r\n                    }\r\n                }\r\n                .best-offer-list__heading {\r\n                    font-weight: bold;\r\n                    font-size: 18px;\r\n                    text-align: center;\r\n                    margin-bottom: var(--space-2, 8px);\r\n                    display: none;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__heading {\r\n                        display: block;\r\n                    }\r\n                }\r\n                .best-offer-list__parameters {\r\n                    text-align: center;\r\n                }\r\n                .best-offer-list__parameters:empty {\r\n                    height: 18px;\r\n                    border-radius: 9px;\r\n                    background: #fff aa;\r\n                    width: 70%;\r\n                    margin: auto;\r\n                    display: block;\r\n                }\r\n                .best-offer-list__element--header {\r\n                    order: 2;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--header {\r\n                        order: 1;\r\n                    }\r\n                }\r\n                .best-offer-list__element--offers {\r\n                    order: 1;\r\n                    display: flex;\r\n                    flex-direction: row;\r\n                    justify-content: center;\r\n                    gap: 20px;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--offers {\r\n                        flex-grow: 1;\r\n                        flex-direction: column;\r\n                        order: 2;\r\n                    }\r\n                }\r\n                .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    justify-content: space-between;\r\n                    position: relative;\r\n                }\r\n                .best-offer-list__element--inner:first-child::after {\r\n                    background: white;\r\n                    content: ' ';\r\n                    position: absolute;\r\n                    height: 100%;\r\n                    width: 1px;\r\n                    right: -8px;\r\n                    top: 0;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--inner:first-child::after {\r\n                        right: unset;\r\n                        top: unset;\r\n                        bottom: -10px;\r\n                        left: 0%;\r\n                        width: 100%;\r\n                        height: 1px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--fallback {\r\n                    display: grid;\r\n                    height: 100%;\r\n                    place-content: center;\r\n                    text-align: center;\r\n                    place-items: center;\r\n                    gap: var(--space-4, 16px);\r\n                }\r\n                .best-offer-list__element--fallback p {\r\n                    margin: 0;\r\n                }\r\n                .best-offer-list__element--headline {\r\n                    font-size: 24px;\r\n                    font-weight: 700;\r\n                }\r\n                .best-offer-list__element--button {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    padding: 14px 42px;\r\n                    border-radius: 5rem;\r\n                    font-size: 16px;\r\n                    font-family: Ambit, sans-serif;\r\n                    font-weight: 500;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--button {\r\n                        padding: 8px 32px;\r\n                        margin-top: 40px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--button:hover, .best-offer-list__element--button:visited, .best-offer-list__element--button:active, .best-offer-list__element--button:focus {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    text-decoration: none;\r\n                }\r\n                .best-offer-list__element--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-list--block {\r\n                    display: block;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--offers {\r\n                    display: block;\r\n                    height: 100%;\r\n                    padding: 0;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: block;\r\n                    height: 100%;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner:first-child::after {\r\n                    all: unset;\r\n                }\r\n                .best-offer-list--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-loading {\r\n                    width: 100%;\r\n                    height: 100%;\r\n                    display: grid;\r\n                    place-items: center;\r\n                    position: absolute;\r\n                    top: 0;\r\n                    left: 0;\r\n                    background-color: var(--color-theme-base-400, #c6eafb);\r\n                    z-index: 1;\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                    font-weight: bold;\r\n                    font-size: var(--font-size-medium, 18px);\r\n                }\r\n                .best-offer-loading img {\r\n                    animation: rotate infinite ease-in-out 5s;\r\n                }\r\n                @keyframes rotate {\r\n                    0% {\r\n                        transform: rotate(0);\r\n                    }\r\n                    50% {\r\n                        transform: rotate(180deg);\r\n                    }\r\n                    100% {\r\n                        transform: rotate(360deg);\r\n                    }\r\n                }\r\n            <\/style>\r\n\r\n            <script>\r\n                \/\/ Track instances and offers\r\n                let initializedInstancesCount = 0;\r\n                let renderedInstancesCount = 0;\r\n                let hasValidOffer = false;\r\n\r\n                \/\/ Find all image galleries\r\n                const imageGalleries = document.querySelectorAll('tui-image-gallery');\r\n\r\n                \/\/ Function to update UI for a specific image gallery\r\n                const updateUI = (imageGallery) => {\r\n                    const giataId = imageGallery.getAttribute('giata-id');\r\n\r\n                    \/\/ Hide loading spinner\r\n                    const loadingElement = imageGallery.querySelector('.best-offer-loading');\r\n                    if (loadingElement) {\r\n                        loadingElement.style.display = 'none';\r\n                    }\r\n\r\n                    \/\/ Show\/hide offers and fallback based on hasValidOffer\r\n                    const offersElement = imageGallery.querySelector('.best-offer-list__element--offers');\r\n                    const fallbackElement = imageGallery.querySelector('.best-offer-list__element--fallback');\r\n\r\n                    const showOffers = hasValidOffer && offersElement;\r\n                    const showFallback = !hasValidOffer && fallbackElement;\r\n\r\n                    if (showOffers) {\r\n                        offersElement.style.display = 'flex';\r\n                        fallbackElement.style.display = 'none';\r\n                    } else if (showFallback) {\r\n                        offersElement.style.display = 'none';\r\n                        fallbackElement.style.display = 'grid';\r\n                    }\r\n                };\r\n\r\n                \/\/ Listen for instance initialized events\r\n                document.addEventListener('tui-hotel-best-offer.instance-initialized', (event) => {\r\n                    initializedInstancesCount++;\r\n                });\r\n\r\n                \/\/ Listen for instance rendered events\r\n                document.addEventListener('tui-hotel-best-offer.instance-rendered', (event) => {\r\n                    renderedInstancesCount++;\r\n\r\n                    \/\/ Check if we have a valid offer\r\n                    if (event.detail && event.detail.hotelOffer && event.detail.hotelOffer.priceAmountPerPerson) {\r\n                        hasValidOffer = true;\r\n                    }\r\n\r\n                    \/\/ Update UI for all image galleries when all instances are rendered\r\n                    if (renderedInstancesCount === initializedInstancesCount) {\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n\r\n                    \/\/ Set the CTA for the offer on Render\r\n                    const { hotelOffer, searchParameters, hotelName } = event.detail;\r\n\r\n                    if (!hotelOffer || !searchParameters) {\r\n                        console.warn('No offer details available in event');\r\n                        return;\r\n                    }\r\n\r\n                    const getDomainFromTenant = (tenant) => {\r\n                        const tenantDomainMap = {\r\n                            'TUICOM': 'www.tui.com',\r\n                            'TUIAT': 'www.tui.at',\r\n                            'TUICH': 'www.tui.ch',\r\n                        };\r\n\r\n                        return tenantDomainMap[tenant] || 'www.tui.com';\r\n                    };\r\n\r\n                    const generateScopedUrl = (params) => {\r\n                        const baseUrl = encodeURI(`https:\/\/${getDomainFromTenant(params.tenant)}\/suchen\/angebote\/${hotelName}\/${params.hotel.giata}\/`); \/\/ Base URL for offer details\r\n                        const queryParams = new URLSearchParams({\r\n                            startDate: params.startDate,\r\n                            endDate: params.endDate,\r\n                            duration: params.durations,\r\n                            searchScope: params.scope,\r\n                        });\r\n                        return `${baseUrl}?${queryParams.toString()}`;\r\n                    };\r\n\r\n                    const url = generateScopedUrl(searchParameters);\r\n                    event.detail.setCallToActionUrl(url)\r\n                });\r\n\r\n                \/\/ Fallback timeout - if no events are received within 10 seconds\r\n                setTimeout(() => {\r\n                    if (renderedInstancesCount === 0) {\r\n                        hasValidOffer = false;\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n                }, 10000);\r\n            <\/script>\r\n\r\n            <span slot=\"slot-b\" class=\"best-offer-list\">\r\n            <span class=\"best-offer-attributes\"\r\n                                             data-duration=\"7\"                              data-giata-id=\"238866\"\r\n                  data-hotel-name=\"TUI BLUE Atlantica Aegean PArk\"><\/span>\r\n            <span class=\"best-offer-list__element best-offer-list__element--offers\">\r\n            <tui-hotel-best-offer\r\n                    slot=\"slot-b\"\r\n                    scope=\"HOTEL,PACKAGE\"\r\n                    tenant=\"TUICOM\"\r\n                    variant=\"micro\"\r\n                    brand=\"tui\"\r\n                    theme=\"tui-light\"\r\n                    locale=\"de-DE\"\r\n                    price-type=\"per_person\"\r\n                                                 durations=\"7\"                    giata-id=\"238866\"\r\n                    show-error-ctas=\"false\"\r\n                    show-tooltip=\"false\"\r\n                    show-sun-spinner\r\n            >\r\n            <\/tui-hotel-best-offer>\r\n            <\/span>\r\n\r\n            <span class=\"best-offer-list__element best-offer-list__element--fallback best-offer-list__element--hidden\">\r\n                <img decoding=\"async\" src=\"https:\/\/static.tui.com\/assets\/v2\/icons\/tui-light\/location-track.svg\" width=\"40\" height=\"40\" alt=\"Icon Best Offer Fallback\" \/>\r\n                <span class=\"best-offer-list__element--headline\">Wir konnten leider kein passendes Angebot finden.<\/span>\r\n                <\/span>\r\n            <\/span>\r\n            <\/tui-image-gallery>\r\n\n\n\n<h2 class=\"wp-block-heading\">Top 4: TUI BLUE Tres Vidas &#8211; Gran Canaria<\/h2>\n\n\n\n<p>Das ganzj\u00e4hrig milde Klima und die tollen Str\u00e4nde machen die<a href=\"https:\/\/www.tui.com\/urlaub\/spanien\/kanaren\/\" target=\"_blank\" rel=\"noreferrer noopener\"> Kanarischen Inseln <\/a>zu einem idealen Reiseziel f\u00fcr Familien \u2013 gerade auch im Fr\u00fchling oder Herbst. Im <a href=\"https:\/\/www.tui.com\/hotels\/tui-blue-tres-vidas-81943\/hotelinformation\/\" target=\"_blank\" rel=\"noreferrer noopener\">TUI BLUE Tres Vidas<\/a> im S\u00fcdosten der Insel Gran Canaria erwarten euch<strong> ger\u00e4umige Studios und Appartements<\/strong>, die alle mit einer Kochnische ausgestattet sind. So seid ihr ganz flexibel und k\u00f6nnt euch entweder selbst verpflegen oder im Restaurant mit Fr\u00fchst\u00fcck, Halbpension oder sogar All Inclusive-Verpflegung verw\u00f6hnen lassen. Klingt gut, oder? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\n\n\n\r\n    <tui-image-gallery\r\n            variant=\"love-at-first-sight\"\r\n            type=\"info\"\r\n            giata-id=\"81943\"\r\n            hotel-name=\"TUI BLUE Tres Vidas\"\r\n                            duration=\"7\"                    locale=\"de-DE\"\r\n            data-mode=\"light\"\r\n            data-theme=\"tui-light\"\r\n            data-legacy-font=\"\"\r\n            version=\"2.2.3\">\r\n\r\n        <style>\r\n            body.modal-scroll-fix {\r\n                overflow: hidden;\r\n                height: 100vh;\r\n            }\r\n            body.modal-scroll-fix .image-gallery__slot-a {\r\n                z-index: 10 !important;\r\n            }\r\n            tui-map-consent::part(map-consent) {\r\n                border-radius: var(--border-radius-lafs-elements);\r\n            }\r\n            tui-hotel-map {\r\n                height: 100%;\r\n            }\r\n        <\/style>\r\n\r\n                    &#8222;slot-a&#8220; class=&#8220;image-gallery__slot-a&#8220;>\r\n            <tui-map-consent\r\n                    data-theme=\"tui-light\"\r\n                    data-legacy-font\r\n                    locale=\"de-DE\"\r\n                    version=\"current\"\r\n                    cookie-url=\"https:\/\/www.tui.com\/cookie-hinweis\"\r\n                    privacy-url=\"https:\/\/www.tui.com\/datenschutz\">\r\n            <\/tui-map-consent>\r\n\r\n            <tui-hotel-map\r\n                    id=\"love-at-first-sight-poi\"\r\n                    hotel-id=\"81943\"\r\n                    tenant=\"TUICOM\"\r\n                    locale=\"de-DE\"\r\n                    api-key=\"AIzaSyBwXTpsKTvJ6JFXOEJRrU9qNaup3HNAFpU\"\r\n                    market=\"de\"\r\n                    mode=\"STATIC\"\r\n                    static-map-sizes='[\r\n                    {\"media\":\"(min-width: 960px)\",\"width\":297,\"height\":220},\r\n                    {\"media\":\"(min-width: 580px)\",\"width\":400,\"height\":200},\r\n                    {\"media\":\"(min-width: 0px)\",\"width\":400,\"height\":300}\r\n                ]'\r\n                    style=\"display: none;\">\r\n            <\/tui-hotel-map>\r\n            <\/span>\r\n            <style>\r\n                .best-offer-list {\r\n                    position: relative;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    background: var(--color-theme-base-400, #c6eafb);\r\n                    padding: var(--space-3, 12px) 0;\r\n                    justify-content: flex-start;\r\n                    font-family: var(--font-family-base);\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list {\r\n                        padding: var(--space-3, 12px);\r\n                    }\r\n                }\r\n                .best-offer-list__heading {\r\n                    font-weight: bold;\r\n                    font-size: 18px;\r\n                    text-align: center;\r\n                    margin-bottom: var(--space-2, 8px);\r\n                    display: none;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__heading {\r\n                        display: block;\r\n                    }\r\n                }\r\n                .best-offer-list__parameters {\r\n                    text-align: center;\r\n                }\r\n                .best-offer-list__parameters:empty {\r\n                    height: 18px;\r\n                    border-radius: 9px;\r\n                    background: #fff aa;\r\n                    width: 70%;\r\n                    margin: auto;\r\n                    display: block;\r\n                }\r\n                .best-offer-list__element--header {\r\n                    order: 2;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--header {\r\n                        order: 1;\r\n                    }\r\n                }\r\n                .best-offer-list__element--offers {\r\n                    order: 1;\r\n                    display: flex;\r\n                    flex-direction: row;\r\n                    justify-content: center;\r\n                    gap: 20px;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--offers {\r\n                        flex-grow: 1;\r\n                        flex-direction: column;\r\n                        order: 2;\r\n                    }\r\n                }\r\n                .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    justify-content: space-between;\r\n                    position: relative;\r\n                }\r\n                .best-offer-list__element--inner:first-child::after {\r\n                    background: white;\r\n                    content: ' ';\r\n                    position: absolute;\r\n                    height: 100%;\r\n                    width: 1px;\r\n                    right: -8px;\r\n                    top: 0;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--inner:first-child::after {\r\n                        right: unset;\r\n                        top: unset;\r\n                        bottom: -10px;\r\n                        left: 0%;\r\n                        width: 100%;\r\n                        height: 1px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--fallback {\r\n                    display: grid;\r\n                    height: 100%;\r\n                    place-content: center;\r\n                    text-align: center;\r\n                    place-items: center;\r\n                    gap: var(--space-4, 16px);\r\n                }\r\n                .best-offer-list__element--fallback p {\r\n                    margin: 0;\r\n                }\r\n                .best-offer-list__element--headline {\r\n                    font-size: 24px;\r\n                    font-weight: 700;\r\n                }\r\n                .best-offer-list__element--button {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    padding: 14px 42px;\r\n                    border-radius: 5rem;\r\n                    font-size: 16px;\r\n                    font-family: Ambit, sans-serif;\r\n                    font-weight: 500;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--button {\r\n                        padding: 8px 32px;\r\n                        margin-top: 40px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--button:hover, .best-offer-list__element--button:visited, .best-offer-list__element--button:active, .best-offer-list__element--button:focus {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    text-decoration: none;\r\n                }\r\n                .best-offer-list__element--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-list--block {\r\n                    display: block;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--offers {\r\n                    display: block;\r\n                    height: 100%;\r\n                    padding: 0;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: block;\r\n                    height: 100%;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner:first-child::after {\r\n                    all: unset;\r\n                }\r\n                .best-offer-list--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-loading {\r\n                    width: 100%;\r\n                    height: 100%;\r\n                    display: grid;\r\n                    place-items: center;\r\n                    position: absolute;\r\n                    top: 0;\r\n                    left: 0;\r\n                    background-color: var(--color-theme-base-400, #c6eafb);\r\n                    z-index: 1;\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                    font-weight: bold;\r\n                    font-size: var(--font-size-medium, 18px);\r\n                }\r\n                .best-offer-loading img {\r\n                    animation: rotate infinite ease-in-out 5s;\r\n                }\r\n                @keyframes rotate {\r\n                    0% {\r\n                        transform: rotate(0);\r\n                    }\r\n                    50% {\r\n                        transform: rotate(180deg);\r\n                    }\r\n                    100% {\r\n                        transform: rotate(360deg);\r\n                    }\r\n                }\r\n            <\/style>\r\n\r\n            <script>\r\n                \/\/ Track instances and offers\r\n                let initializedInstancesCount = 0;\r\n                let renderedInstancesCount = 0;\r\n                let hasValidOffer = false;\r\n\r\n                \/\/ Find all image galleries\r\n                const imageGalleries = document.querySelectorAll('tui-image-gallery');\r\n\r\n                \/\/ Function to update UI for a specific image gallery\r\n                const updateUI = (imageGallery) => {\r\n                    const giataId = imageGallery.getAttribute('giata-id');\r\n\r\n                    \/\/ Hide loading spinner\r\n                    const loadingElement = imageGallery.querySelector('.best-offer-loading');\r\n                    if (loadingElement) {\r\n                        loadingElement.style.display = 'none';\r\n                    }\r\n\r\n                    \/\/ Show\/hide offers and fallback based on hasValidOffer\r\n                    const offersElement = imageGallery.querySelector('.best-offer-list__element--offers');\r\n                    const fallbackElement = imageGallery.querySelector('.best-offer-list__element--fallback');\r\n\r\n                    const showOffers = hasValidOffer && offersElement;\r\n                    const showFallback = !hasValidOffer && fallbackElement;\r\n\r\n                    if (showOffers) {\r\n                        offersElement.style.display = 'flex';\r\n                        fallbackElement.style.display = 'none';\r\n                    } else if (showFallback) {\r\n                        offersElement.style.display = 'none';\r\n                        fallbackElement.style.display = 'grid';\r\n                    }\r\n                };\r\n\r\n                \/\/ Listen for instance initialized events\r\n                document.addEventListener('tui-hotel-best-offer.instance-initialized', (event) => {\r\n                    initializedInstancesCount++;\r\n                });\r\n\r\n                \/\/ Listen for instance rendered events\r\n                document.addEventListener('tui-hotel-best-offer.instance-rendered', (event) => {\r\n                    renderedInstancesCount++;\r\n\r\n                    \/\/ Check if we have a valid offer\r\n                    if (event.detail && event.detail.hotelOffer && event.detail.hotelOffer.priceAmountPerPerson) {\r\n                        hasValidOffer = true;\r\n                    }\r\n\r\n                    \/\/ Update UI for all image galleries when all instances are rendered\r\n                    if (renderedInstancesCount === initializedInstancesCount) {\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n\r\n                    \/\/ Set the CTA for the offer on Render\r\n                    const { hotelOffer, searchParameters, hotelName } = event.detail;\r\n\r\n                    if (!hotelOffer || !searchParameters) {\r\n                        console.warn('No offer details available in event');\r\n                        return;\r\n                    }\r\n\r\n                    const getDomainFromTenant = (tenant) => {\r\n                        const tenantDomainMap = {\r\n                            'TUICOM': 'www.tui.com',\r\n                            'TUIAT': 'www.tui.at',\r\n                            'TUICH': 'www.tui.ch',\r\n                        };\r\n\r\n                        return tenantDomainMap[tenant] || 'www.tui.com';\r\n                    };\r\n\r\n                    const generateScopedUrl = (params) => {\r\n                        const baseUrl = encodeURI(`https:\/\/${getDomainFromTenant(params.tenant)}\/suchen\/angebote\/${hotelName}\/${params.hotel.giata}\/`); \/\/ Base URL for offer details\r\n                        const queryParams = new URLSearchParams({\r\n                            startDate: params.startDate,\r\n                            endDate: params.endDate,\r\n                            duration: params.durations,\r\n                            searchScope: params.scope,\r\n                        });\r\n                        return `${baseUrl}?${queryParams.toString()}`;\r\n                    };\r\n\r\n                    const url = generateScopedUrl(searchParameters);\r\n                    event.detail.setCallToActionUrl(url)\r\n                });\r\n\r\n                \/\/ Fallback timeout - if no events are received within 10 seconds\r\n                setTimeout(() => {\r\n                    if (renderedInstancesCount === 0) {\r\n                        hasValidOffer = false;\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n                }, 10000);\r\n            <\/script>\r\n\r\n            <span slot=\"slot-b\" class=\"best-offer-list\">\r\n            <span class=\"best-offer-attributes\"\r\n                                             data-duration=\"7\"                              data-giata-id=\"81943\"\r\n                  data-hotel-name=\"TUI BLUE Tres Vidas\"><\/span>\r\n            <span class=\"best-offer-list__element best-offer-list__element--offers\">\r\n            <tui-hotel-best-offer\r\n                    slot=\"slot-b\"\r\n                    scope=\"HOTEL,PACKAGE\"\r\n                    tenant=\"TUICOM\"\r\n                    variant=\"micro\"\r\n                    brand=\"tui\"\r\n                    theme=\"tui-light\"\r\n                    locale=\"de-DE\"\r\n                    price-type=\"per_person\"\r\n                                                 durations=\"7\"                    giata-id=\"81943\"\r\n                    show-error-ctas=\"false\"\r\n                    show-tooltip=\"false\"\r\n                    show-sun-spinner\r\n            >\r\n            <\/tui-hotel-best-offer>\r\n            <\/span>\r\n\r\n            <span class=\"best-offer-list__element best-offer-list__element--fallback best-offer-list__element--hidden\">\r\n                <img decoding=\"async\" src=\"https:\/\/static.tui.com\/assets\/v2\/icons\/tui-light\/location-track.svg\" width=\"40\" height=\"40\" alt=\"Icon Best Offer Fallback\" \/>\r\n                <span class=\"best-offer-list__element--headline\">Wir konnten leider kein passendes Angebot finden.<\/span>\r\n                <\/span>\r\n            <\/span>\r\n            <\/tui-image-gallery>\r\n\n\n\n<h2 class=\"wp-block-heading\">Top 5: TUI BLUE Flamingo Beach &#8211; Lanzarote<\/h2>\n\n\n\n<p>Das <a href=\"https:\/\/www.tui.com\/hotels\/tui-blue-flamingo-beach-63729\/hotelinformation\/\" target=\"_blank\" rel=\"noreferrer noopener\">TUI BLUE Flamingo Beach<\/a> im S\u00fcden der Insel <a href=\"https:\/\/www.tui.com\/urlaub\/spanien\/kanaren\/lanzarote\/\" target=\"_blank\" rel=\"noreferrer noopener\">Lanzarote<\/a> besticht durch seine <strong>direkte Lage am malerischen Sandstrand<\/strong> Playa Flamingo. Hier k\u00f6nnt ihr nach Herzenslust im flachen Meerwasser baden und an der Strandpromenade bummeln gehen. Lust auf Sport? W\u00e4hrend Mama und Papa sich in einem Fitnesskurs auspowern, sind die Kids bestens im <strong>Kinderclub <\/strong>betreut und haben jede Menge Spa\u00df. Dank der All Inclusive-Verpflegung sind auch die Nebenkosten \u00fcberschaubar und auch das zweite Eis ist inklusive. Hier f\u00fchlen sich alle rundum wohl!<\/p>\n\n\n\r\n    <tui-image-gallery\r\n            variant=\"love-at-first-sight\"\r\n            type=\"info\"\r\n            giata-id=\"63729\"\r\n            hotel-name=\"TUI BLUE Flamingo Beach\"\r\n                            duration=\"7\"                    locale=\"de-DE\"\r\n            data-mode=\"light\"\r\n            data-theme=\"tui-light\"\r\n            data-legacy-font=\"\"\r\n            version=\"2.2.3\">\r\n\r\n        <style>\r\n            body.modal-scroll-fix {\r\n                overflow: hidden;\r\n                height: 100vh;\r\n            }\r\n            body.modal-scroll-fix .image-gallery__slot-a {\r\n                z-index: 10 !important;\r\n            }\r\n            tui-map-consent::part(map-consent) {\r\n                border-radius: var(--border-radius-lafs-elements);\r\n            }\r\n            tui-hotel-map {\r\n                height: 100%;\r\n            }\r\n        <\/style>\r\n\r\n                    &#8222;slot-a&#8220; class=&#8220;image-gallery__slot-a&#8220;>\r\n            <tui-map-consent\r\n                    data-theme=\"tui-light\"\r\n                    data-legacy-font\r\n                    locale=\"de-DE\"\r\n                    version=\"current\"\r\n                    cookie-url=\"https:\/\/www.tui.com\/cookie-hinweis\"\r\n                    privacy-url=\"https:\/\/www.tui.com\/datenschutz\">\r\n            <\/tui-map-consent>\r\n\r\n            <tui-hotel-map\r\n                    id=\"love-at-first-sight-poi\"\r\n                    hotel-id=\"63729\"\r\n                    tenant=\"TUICOM\"\r\n                    locale=\"de-DE\"\r\n                    api-key=\"AIzaSyBwXTpsKTvJ6JFXOEJRrU9qNaup3HNAFpU\"\r\n                    market=\"de\"\r\n                    mode=\"STATIC\"\r\n                    static-map-sizes='[\r\n                    {\"media\":\"(min-width: 960px)\",\"width\":297,\"height\":220},\r\n                    {\"media\":\"(min-width: 580px)\",\"width\":400,\"height\":200},\r\n                    {\"media\":\"(min-width: 0px)\",\"width\":400,\"height\":300}\r\n                ]'\r\n                    style=\"display: none;\">\r\n            <\/tui-hotel-map>\r\n            <\/span>\r\n            <style>\r\n                .best-offer-list {\r\n                    position: relative;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    background: var(--color-theme-base-400, #c6eafb);\r\n                    padding: var(--space-3, 12px) 0;\r\n                    justify-content: flex-start;\r\n                    font-family: var(--font-family-base);\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list {\r\n                        padding: var(--space-3, 12px);\r\n                    }\r\n                }\r\n                .best-offer-list__heading {\r\n                    font-weight: bold;\r\n                    font-size: 18px;\r\n                    text-align: center;\r\n                    margin-bottom: var(--space-2, 8px);\r\n                    display: none;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__heading {\r\n                        display: block;\r\n                    }\r\n                }\r\n                .best-offer-list__parameters {\r\n                    text-align: center;\r\n                }\r\n                .best-offer-list__parameters:empty {\r\n                    height: 18px;\r\n                    border-radius: 9px;\r\n                    background: #fff aa;\r\n                    width: 70%;\r\n                    margin: auto;\r\n                    display: block;\r\n                }\r\n                .best-offer-list__element--header {\r\n                    order: 2;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--header {\r\n                        order: 1;\r\n                    }\r\n                }\r\n                .best-offer-list__element--offers {\r\n                    order: 1;\r\n                    display: flex;\r\n                    flex-direction: row;\r\n                    justify-content: center;\r\n                    gap: 20px;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--offers {\r\n                        flex-grow: 1;\r\n                        flex-direction: column;\r\n                        order: 2;\r\n                    }\r\n                }\r\n                .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    justify-content: space-between;\r\n                    position: relative;\r\n                }\r\n                .best-offer-list__element--inner:first-child::after {\r\n                    background: white;\r\n                    content: ' ';\r\n                    position: absolute;\r\n                    height: 100%;\r\n                    width: 1px;\r\n                    right: -8px;\r\n                    top: 0;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--inner:first-child::after {\r\n                        right: unset;\r\n                        top: unset;\r\n                        bottom: -10px;\r\n                        left: 0%;\r\n                        width: 100%;\r\n                        height: 1px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--fallback {\r\n                    display: grid;\r\n                    height: 100%;\r\n                    place-content: center;\r\n                    text-align: center;\r\n                    place-items: center;\r\n                    gap: var(--space-4, 16px);\r\n                }\r\n                .best-offer-list__element--fallback p {\r\n                    margin: 0;\r\n                }\r\n                .best-offer-list__element--headline {\r\n                    font-size: 24px;\r\n                    font-weight: 700;\r\n                }\r\n                .best-offer-list__element--button {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    padding: 14px 42px;\r\n                    border-radius: 5rem;\r\n                    font-size: 16px;\r\n                    font-family: Ambit, sans-serif;\r\n                    font-weight: 500;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--button {\r\n                        padding: 8px 32px;\r\n                        margin-top: 40px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--button:hover, .best-offer-list__element--button:visited, .best-offer-list__element--button:active, .best-offer-list__element--button:focus {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    text-decoration: none;\r\n                }\r\n                .best-offer-list__element--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-list--block {\r\n                    display: block;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--offers {\r\n                    display: block;\r\n                    height: 100%;\r\n                    padding: 0;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: block;\r\n                    height: 100%;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner:first-child::after {\r\n                    all: unset;\r\n                }\r\n                .best-offer-list--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-loading {\r\n                    width: 100%;\r\n                    height: 100%;\r\n                    display: grid;\r\n                    place-items: center;\r\n                    position: absolute;\r\n                    top: 0;\r\n                    left: 0;\r\n                    background-color: var(--color-theme-base-400, #c6eafb);\r\n                    z-index: 1;\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                    font-weight: bold;\r\n                    font-size: var(--font-size-medium, 18px);\r\n                }\r\n                .best-offer-loading img {\r\n                    animation: rotate infinite ease-in-out 5s;\r\n                }\r\n                @keyframes rotate {\r\n                    0% {\r\n                        transform: rotate(0);\r\n                    }\r\n                    50% {\r\n                        transform: rotate(180deg);\r\n                    }\r\n                    100% {\r\n                        transform: rotate(360deg);\r\n                    }\r\n                }\r\n            <\/style>\r\n\r\n            <script>\r\n                \/\/ Track instances and offers\r\n                let initializedInstancesCount = 0;\r\n                let renderedInstancesCount = 0;\r\n                let hasValidOffer = false;\r\n\r\n                \/\/ Find all image galleries\r\n                const imageGalleries = document.querySelectorAll('tui-image-gallery');\r\n\r\n                \/\/ Function to update UI for a specific image gallery\r\n                const updateUI = (imageGallery) => {\r\n                    const giataId = imageGallery.getAttribute('giata-id');\r\n\r\n                    \/\/ Hide loading spinner\r\n                    const loadingElement = imageGallery.querySelector('.best-offer-loading');\r\n                    if (loadingElement) {\r\n                        loadingElement.style.display = 'none';\r\n                    }\r\n\r\n                    \/\/ Show\/hide offers and fallback based on hasValidOffer\r\n                    const offersElement = imageGallery.querySelector('.best-offer-list__element--offers');\r\n                    const fallbackElement = imageGallery.querySelector('.best-offer-list__element--fallback');\r\n\r\n                    const showOffers = hasValidOffer && offersElement;\r\n                    const showFallback = !hasValidOffer && fallbackElement;\r\n\r\n                    if (showOffers) {\r\n                        offersElement.style.display = 'flex';\r\n                        fallbackElement.style.display = 'none';\r\n                    } else if (showFallback) {\r\n                        offersElement.style.display = 'none';\r\n                        fallbackElement.style.display = 'grid';\r\n                    }\r\n                };\r\n\r\n                \/\/ Listen for instance initialized events\r\n                document.addEventListener('tui-hotel-best-offer.instance-initialized', (event) => {\r\n                    initializedInstancesCount++;\r\n                });\r\n\r\n                \/\/ Listen for instance rendered events\r\n                document.addEventListener('tui-hotel-best-offer.instance-rendered', (event) => {\r\n                    renderedInstancesCount++;\r\n\r\n                    \/\/ Check if we have a valid offer\r\n                    if (event.detail && event.detail.hotelOffer && event.detail.hotelOffer.priceAmountPerPerson) {\r\n                        hasValidOffer = true;\r\n                    }\r\n\r\n                    \/\/ Update UI for all image galleries when all instances are rendered\r\n                    if (renderedInstancesCount === initializedInstancesCount) {\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n\r\n                    \/\/ Set the CTA for the offer on Render\r\n                    const { hotelOffer, searchParameters, hotelName } = event.detail;\r\n\r\n                    if (!hotelOffer || !searchParameters) {\r\n                        console.warn('No offer details available in event');\r\n                        return;\r\n                    }\r\n\r\n                    const getDomainFromTenant = (tenant) => {\r\n                        const tenantDomainMap = {\r\n                            'TUICOM': 'www.tui.com',\r\n                            'TUIAT': 'www.tui.at',\r\n                            'TUICH': 'www.tui.ch',\r\n                        };\r\n\r\n                        return tenantDomainMap[tenant] || 'www.tui.com';\r\n                    };\r\n\r\n                    const generateScopedUrl = (params) => {\r\n                        const baseUrl = encodeURI(`https:\/\/${getDomainFromTenant(params.tenant)}\/suchen\/angebote\/${hotelName}\/${params.hotel.giata}\/`); \/\/ Base URL for offer details\r\n                        const queryParams = new URLSearchParams({\r\n                            startDate: params.startDate,\r\n                            endDate: params.endDate,\r\n                            duration: params.durations,\r\n                            searchScope: params.scope,\r\n                        });\r\n                        return `${baseUrl}?${queryParams.toString()}`;\r\n                    };\r\n\r\n                    const url = generateScopedUrl(searchParameters);\r\n                    event.detail.setCallToActionUrl(url)\r\n                });\r\n\r\n                \/\/ Fallback timeout - if no events are received within 10 seconds\r\n                setTimeout(() => {\r\n                    if (renderedInstancesCount === 0) {\r\n                        hasValidOffer = false;\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n                }, 10000);\r\n            <\/script>\r\n\r\n            <span slot=\"slot-b\" class=\"best-offer-list\">\r\n            <span class=\"best-offer-attributes\"\r\n                                             data-duration=\"7\"                              data-giata-id=\"63729\"\r\n                  data-hotel-name=\"TUI BLUE Flamingo Beach\"><\/span>\r\n            <span class=\"best-offer-list__element best-offer-list__element--offers\">\r\n            <tui-hotel-best-offer\r\n                    slot=\"slot-b\"\r\n                    scope=\"HOTEL,PACKAGE\"\r\n                    tenant=\"TUICOM\"\r\n                    variant=\"micro\"\r\n                    brand=\"tui\"\r\n                    theme=\"tui-light\"\r\n                    locale=\"de-DE\"\r\n                    price-type=\"per_person\"\r\n                                                 durations=\"7\"                    giata-id=\"63729\"\r\n                    show-error-ctas=\"false\"\r\n                    show-tooltip=\"false\"\r\n                    show-sun-spinner\r\n            >\r\n            <\/tui-hotel-best-offer>\r\n            <\/span>\r\n\r\n            <span class=\"best-offer-list__element best-offer-list__element--fallback best-offer-list__element--hidden\">\r\n                <img decoding=\"async\" src=\"https:\/\/static.tui.com\/assets\/v2\/icons\/tui-light\/location-track.svg\" width=\"40\" height=\"40\" alt=\"Icon Best Offer Fallback\" \/>\r\n                <span class=\"best-offer-list__element--headline\">Wir konnten leider kein passendes Angebot finden.<\/span>\r\n                <\/span>\r\n            <\/span>\r\n            <\/tui-image-gallery>\r\n\n\n\n<h2 class=\"wp-block-heading\">Top 6: TUI BLUE Grupotel Mallorca Mar &#8211; Mallorca<\/h2>\n\n\n\n<p>Das <a href=\"https:\/\/www.tui.com\/hotels\/tui-blue-grupotel-mallorca-mar-12216\/hotelinformation\/\" target=\"_blank\" rel=\"noreferrer noopener\">TUI BLUE Grupotel Mallorca Mar<\/a> ist ein <strong>wahres Paradies f\u00fcr Familien<\/strong>, die Flexibilit\u00e4t und Komfort suchen. Die modernen Suiten und Appartements sind gro\u00dfz\u00fcgig gestaltet und bieten ausreichend Platz f\u00fcr alle \u2013 perfekt f\u00fcr entspannte Momente nach einem aufregenden Tag. Die Umgebung des Family Fun Hotels l\u00e4dt zu vielf\u00e4ltigen Ausfl\u00fcgen ein: Ob eine<strong> Fahrradtour ins Naturschutzgebiet<\/strong> Sa Punta de n\u2019Amer oder ein Abstecher in den Jachthafen Cala Bona \u2013 hier herrschen die besten Bedingungen f\u00fcr einen erlebnisreichen Urlaub.<\/p>\n\n\n\r\n    <tui-image-gallery\r\n            variant=\"love-at-first-sight\"\r\n            type=\"info\"\r\n            giata-id=\"12216\"\r\n            hotel-name=\"TUI BLUE Grupotel Mallorca Mar\"\r\n                            duration=\"7\"                    locale=\"de-DE\"\r\n            data-mode=\"light\"\r\n            data-theme=\"tui-light\"\r\n            data-legacy-font=\"\"\r\n            version=\"2.2.3\">\r\n\r\n        <style>\r\n            body.modal-scroll-fix {\r\n                overflow: hidden;\r\n                height: 100vh;\r\n            }\r\n            body.modal-scroll-fix .image-gallery__slot-a {\r\n                z-index: 10 !important;\r\n            }\r\n            tui-map-consent::part(map-consent) {\r\n                border-radius: var(--border-radius-lafs-elements);\r\n            }\r\n            tui-hotel-map {\r\n                height: 100%;\r\n            }\r\n        <\/style>\r\n\r\n                    &#8222;slot-a&#8220; class=&#8220;image-gallery__slot-a&#8220;>\r\n            <tui-map-consent\r\n                    data-theme=\"tui-light\"\r\n                    data-legacy-font\r\n                    locale=\"de-DE\"\r\n                    version=\"current\"\r\n                    cookie-url=\"https:\/\/www.tui.com\/cookie-hinweis\"\r\n                    privacy-url=\"https:\/\/www.tui.com\/datenschutz\">\r\n            <\/tui-map-consent>\r\n\r\n            <tui-hotel-map\r\n                    id=\"love-at-first-sight-poi\"\r\n                    hotel-id=\"12216\"\r\n                    tenant=\"TUICOM\"\r\n                    locale=\"de-DE\"\r\n                    api-key=\"AIzaSyBwXTpsKTvJ6JFXOEJRrU9qNaup3HNAFpU\"\r\n                    market=\"de\"\r\n                    mode=\"STATIC\"\r\n                    static-map-sizes='[\r\n                    {\"media\":\"(min-width: 960px)\",\"width\":297,\"height\":220},\r\n                    {\"media\":\"(min-width: 580px)\",\"width\":400,\"height\":200},\r\n                    {\"media\":\"(min-width: 0px)\",\"width\":400,\"height\":300}\r\n                ]'\r\n                    style=\"display: none;\">\r\n            <\/tui-hotel-map>\r\n            <\/span>\r\n            <style>\r\n                .best-offer-list {\r\n                    position: relative;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    background: var(--color-theme-base-400, #c6eafb);\r\n                    padding: var(--space-3, 12px) 0;\r\n                    justify-content: flex-start;\r\n                    font-family: var(--font-family-base);\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list {\r\n                        padding: var(--space-3, 12px);\r\n                    }\r\n                }\r\n                .best-offer-list__heading {\r\n                    font-weight: bold;\r\n                    font-size: 18px;\r\n                    text-align: center;\r\n                    margin-bottom: var(--space-2, 8px);\r\n                    display: none;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__heading {\r\n                        display: block;\r\n                    }\r\n                }\r\n                .best-offer-list__parameters {\r\n                    text-align: center;\r\n                }\r\n                .best-offer-list__parameters:empty {\r\n                    height: 18px;\r\n                    border-radius: 9px;\r\n                    background: #fff aa;\r\n                    width: 70%;\r\n                    margin: auto;\r\n                    display: block;\r\n                }\r\n                .best-offer-list__element--header {\r\n                    order: 2;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--header {\r\n                        order: 1;\r\n                    }\r\n                }\r\n                .best-offer-list__element--offers {\r\n                    order: 1;\r\n                    display: flex;\r\n                    flex-direction: row;\r\n                    justify-content: center;\r\n                    gap: 20px;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--offers {\r\n                        flex-grow: 1;\r\n                        flex-direction: column;\r\n                        order: 2;\r\n                    }\r\n                }\r\n                .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    justify-content: space-between;\r\n                    position: relative;\r\n                }\r\n                .best-offer-list__element--inner:first-child::after {\r\n                    background: white;\r\n                    content: ' ';\r\n                    position: absolute;\r\n                    height: 100%;\r\n                    width: 1px;\r\n                    right: -8px;\r\n                    top: 0;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--inner:first-child::after {\r\n                        right: unset;\r\n                        top: unset;\r\n                        bottom: -10px;\r\n                        left: 0%;\r\n                        width: 100%;\r\n                        height: 1px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--fallback {\r\n                    display: grid;\r\n                    height: 100%;\r\n                    place-content: center;\r\n                    text-align: center;\r\n                    place-items: center;\r\n                    gap: var(--space-4, 16px);\r\n                }\r\n                .best-offer-list__element--fallback p {\r\n                    margin: 0;\r\n                }\r\n                .best-offer-list__element--headline {\r\n                    font-size: 24px;\r\n                    font-weight: 700;\r\n                }\r\n                .best-offer-list__element--button {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    padding: 14px 42px;\r\n                    border-radius: 5rem;\r\n                    font-size: 16px;\r\n                    font-family: Ambit, sans-serif;\r\n                    font-weight: 500;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--button {\r\n                        padding: 8px 32px;\r\n                        margin-top: 40px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--button:hover, .best-offer-list__element--button:visited, .best-offer-list__element--button:active, .best-offer-list__element--button:focus {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    text-decoration: none;\r\n                }\r\n                .best-offer-list__element--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-list--block {\r\n                    display: block;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--offers {\r\n                    display: block;\r\n                    height: 100%;\r\n                    padding: 0;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: block;\r\n                    height: 100%;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner:first-child::after {\r\n                    all: unset;\r\n                }\r\n                .best-offer-list--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-loading {\r\n                    width: 100%;\r\n                    height: 100%;\r\n                    display: grid;\r\n                    place-items: center;\r\n                    position: absolute;\r\n                    top: 0;\r\n                    left: 0;\r\n                    background-color: var(--color-theme-base-400, #c6eafb);\r\n                    z-index: 1;\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                    font-weight: bold;\r\n                    font-size: var(--font-size-medium, 18px);\r\n                }\r\n                .best-offer-loading img {\r\n                    animation: rotate infinite ease-in-out 5s;\r\n                }\r\n                @keyframes rotate {\r\n                    0% {\r\n                        transform: rotate(0);\r\n                    }\r\n                    50% {\r\n                        transform: rotate(180deg);\r\n                    }\r\n                    100% {\r\n                        transform: rotate(360deg);\r\n                    }\r\n                }\r\n            <\/style>\r\n\r\n            <script>\r\n                \/\/ Track instances and offers\r\n                let initializedInstancesCount = 0;\r\n                let renderedInstancesCount = 0;\r\n                let hasValidOffer = false;\r\n\r\n                \/\/ Find all image galleries\r\n                const imageGalleries = document.querySelectorAll('tui-image-gallery');\r\n\r\n                \/\/ Function to update UI for a specific image gallery\r\n                const updateUI = (imageGallery) => {\r\n                    const giataId = imageGallery.getAttribute('giata-id');\r\n\r\n                    \/\/ Hide loading spinner\r\n                    const loadingElement = imageGallery.querySelector('.best-offer-loading');\r\n                    if (loadingElement) {\r\n                        loadingElement.style.display = 'none';\r\n                    }\r\n\r\n                    \/\/ Show\/hide offers and fallback based on hasValidOffer\r\n                    const offersElement = imageGallery.querySelector('.best-offer-list__element--offers');\r\n                    const fallbackElement = imageGallery.querySelector('.best-offer-list__element--fallback');\r\n\r\n                    const showOffers = hasValidOffer && offersElement;\r\n                    const showFallback = !hasValidOffer && fallbackElement;\r\n\r\n                    if (showOffers) {\r\n                        offersElement.style.display = 'flex';\r\n                        fallbackElement.style.display = 'none';\r\n                    } else if (showFallback) {\r\n                        offersElement.style.display = 'none';\r\n                        fallbackElement.style.display = 'grid';\r\n                    }\r\n                };\r\n\r\n                \/\/ Listen for instance initialized events\r\n                document.addEventListener('tui-hotel-best-offer.instance-initialized', (event) => {\r\n                    initializedInstancesCount++;\r\n                });\r\n\r\n                \/\/ Listen for instance rendered events\r\n                document.addEventListener('tui-hotel-best-offer.instance-rendered', (event) => {\r\n                    renderedInstancesCount++;\r\n\r\n                    \/\/ Check if we have a valid offer\r\n                    if (event.detail && event.detail.hotelOffer && event.detail.hotelOffer.priceAmountPerPerson) {\r\n                        hasValidOffer = true;\r\n                    }\r\n\r\n                    \/\/ Update UI for all image galleries when all instances are rendered\r\n                    if (renderedInstancesCount === initializedInstancesCount) {\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n\r\n                    \/\/ Set the CTA for the offer on Render\r\n                    const { hotelOffer, searchParameters, hotelName } = event.detail;\r\n\r\n                    if (!hotelOffer || !searchParameters) {\r\n                        console.warn('No offer details available in event');\r\n                        return;\r\n                    }\r\n\r\n                    const getDomainFromTenant = (tenant) => {\r\n                        const tenantDomainMap = {\r\n                            'TUICOM': 'www.tui.com',\r\n                            'TUIAT': 'www.tui.at',\r\n                            'TUICH': 'www.tui.ch',\r\n                        };\r\n\r\n                        return tenantDomainMap[tenant] || 'www.tui.com';\r\n                    };\r\n\r\n                    const generateScopedUrl = (params) => {\r\n                        const baseUrl = encodeURI(`https:\/\/${getDomainFromTenant(params.tenant)}\/suchen\/angebote\/${hotelName}\/${params.hotel.giata}\/`); \/\/ Base URL for offer details\r\n                        const queryParams = new URLSearchParams({\r\n                            startDate: params.startDate,\r\n                            endDate: params.endDate,\r\n                            duration: params.durations,\r\n                            searchScope: params.scope,\r\n                        });\r\n                        return `${baseUrl}?${queryParams.toString()}`;\r\n                    };\r\n\r\n                    const url = generateScopedUrl(searchParameters);\r\n                    event.detail.setCallToActionUrl(url)\r\n                });\r\n\r\n                \/\/ Fallback timeout - if no events are received within 10 seconds\r\n                setTimeout(() => {\r\n                    if (renderedInstancesCount === 0) {\r\n                        hasValidOffer = false;\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n                }, 10000);\r\n            <\/script>\r\n\r\n            <span slot=\"slot-b\" class=\"best-offer-list\">\r\n            <span class=\"best-offer-attributes\"\r\n                                             data-duration=\"7\"                              data-giata-id=\"12216\"\r\n                  data-hotel-name=\"TUI BLUE Grupotel Mallorca Mar\"><\/span>\r\n            <span class=\"best-offer-list__element best-offer-list__element--offers\">\r\n            <tui-hotel-best-offer\r\n                    slot=\"slot-b\"\r\n                    scope=\"HOTEL,PACKAGE\"\r\n                    tenant=\"TUICOM\"\r\n                    variant=\"micro\"\r\n                    brand=\"tui\"\r\n                    theme=\"tui-light\"\r\n                    locale=\"de-DE\"\r\n                    price-type=\"per_person\"\r\n                                                 durations=\"7\"                    giata-id=\"12216\"\r\n                    show-error-ctas=\"false\"\r\n                    show-tooltip=\"false\"\r\n                    show-sun-spinner\r\n            >\r\n            <\/tui-hotel-best-offer>\r\n            <\/span>\r\n\r\n            <span class=\"best-offer-list__element best-offer-list__element--fallback best-offer-list__element--hidden\">\r\n                <img decoding=\"async\" src=\"https:\/\/static.tui.com\/assets\/v2\/icons\/tui-light\/location-track.svg\" width=\"40\" height=\"40\" alt=\"Icon Best Offer Fallback\" \/>\r\n                <span class=\"best-offer-list__element--headline\">Wir konnten leider kein passendes Angebot finden.<\/span>\r\n                <\/span>\r\n            <\/span>\r\n            <\/tui-image-gallery>\r\n\n\n\n<h2 class=\"wp-block-heading\">Top 7: TUI BLUE Manar &#8211; Tunesien <\/h2>\n\n\n\n<p>Hier hat Langeweile keine Chance, denn <strong>zahlreiche Wassersportm\u00f6glichkeiten<\/strong>, eine Kletterwand und viele weitere Aktivit\u00e4ten versprechen Action f\u00fcr alle. Am langen und flach abfallenden Sandstrand, der direkt an den Garten des 5-Sterne Hotels <a href=\"https:\/\/www.tui.com\/hotels\/tui-blue-manar-4008\/hotelinformation\/\" target=\"_blank\" rel=\"noreferrer noopener\">TUI BLUE Manar<\/a> angrenzt, l\u00e4sst es sich hingegen in den sanften Wellen herrlich planschen! Der aufmerksame und herzliche Service sowie die <strong>malerischen Sonnenunterg\u00e4nge<\/strong> runden den Urlaub in Hammamet ab \u2013 so wird der Aufenthalt zu einem unvergesslichen Erlebnis.<\/p>\n\n\n\r\n    <tui-image-gallery\r\n            variant=\"love-at-first-sight\"\r\n            type=\"info\"\r\n            giata-id=\"4008\"\r\n            hotel-name=\"TUI BLUE Manar\"\r\n                            duration=\"7\"                    locale=\"de-DE\"\r\n            data-mode=\"light\"\r\n            data-theme=\"tui-light\"\r\n            data-legacy-font=\"\"\r\n            version=\"2.2.3\">\r\n\r\n        <style>\r\n            body.modal-scroll-fix {\r\n                overflow: hidden;\r\n                height: 100vh;\r\n            }\r\n            body.modal-scroll-fix .image-gallery__slot-a {\r\n                z-index: 10 !important;\r\n            }\r\n            tui-map-consent::part(map-consent) {\r\n                border-radius: var(--border-radius-lafs-elements);\r\n            }\r\n            tui-hotel-map {\r\n                height: 100%;\r\n            }\r\n        <\/style>\r\n\r\n                    &#8222;slot-a&#8220; class=&#8220;image-gallery__slot-a&#8220;>\r\n            <tui-map-consent\r\n                    data-theme=\"tui-light\"\r\n                    data-legacy-font\r\n                    locale=\"de-DE\"\r\n                    version=\"current\"\r\n                    cookie-url=\"https:\/\/www.tui.com\/cookie-hinweis\"\r\n                    privacy-url=\"https:\/\/www.tui.com\/datenschutz\">\r\n            <\/tui-map-consent>\r\n\r\n            <tui-hotel-map\r\n                    id=\"love-at-first-sight-poi\"\r\n                    hotel-id=\"4008\"\r\n                    tenant=\"TUICOM\"\r\n                    locale=\"de-DE\"\r\n                    api-key=\"AIzaSyBwXTpsKTvJ6JFXOEJRrU9qNaup3HNAFpU\"\r\n                    market=\"de\"\r\n                    mode=\"STATIC\"\r\n                    static-map-sizes='[\r\n                    {\"media\":\"(min-width: 960px)\",\"width\":297,\"height\":220},\r\n                    {\"media\":\"(min-width: 580px)\",\"width\":400,\"height\":200},\r\n                    {\"media\":\"(min-width: 0px)\",\"width\":400,\"height\":300}\r\n                ]'\r\n                    style=\"display: none;\">\r\n            <\/tui-hotel-map>\r\n            <\/span>\r\n            <style>\r\n                .best-offer-list {\r\n                    position: relative;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    background: var(--color-theme-base-400, #c6eafb);\r\n                    padding: var(--space-3, 12px) 0;\r\n                    justify-content: flex-start;\r\n                    font-family: var(--font-family-base);\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list {\r\n                        padding: var(--space-3, 12px);\r\n                    }\r\n                }\r\n                .best-offer-list__heading {\r\n                    font-weight: bold;\r\n                    font-size: 18px;\r\n                    text-align: center;\r\n                    margin-bottom: var(--space-2, 8px);\r\n                    display: none;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__heading {\r\n                        display: block;\r\n                    }\r\n                }\r\n                .best-offer-list__parameters {\r\n                    text-align: center;\r\n                }\r\n                .best-offer-list__parameters:empty {\r\n                    height: 18px;\r\n                    border-radius: 9px;\r\n                    background: #fff aa;\r\n                    width: 70%;\r\n                    margin: auto;\r\n                    display: block;\r\n                }\r\n                .best-offer-list__element--header {\r\n                    order: 2;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--header {\r\n                        order: 1;\r\n                    }\r\n                }\r\n                .best-offer-list__element--offers {\r\n                    order: 1;\r\n                    display: flex;\r\n                    flex-direction: row;\r\n                    justify-content: center;\r\n                    gap: 20px;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--offers {\r\n                        flex-grow: 1;\r\n                        flex-direction: column;\r\n                        order: 2;\r\n                    }\r\n                }\r\n                .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    justify-content: space-between;\r\n                    position: relative;\r\n                }\r\n                .best-offer-list__element--inner:first-child::after {\r\n                    background: white;\r\n                    content: ' ';\r\n                    position: absolute;\r\n                    height: 100%;\r\n                    width: 1px;\r\n                    right: -8px;\r\n                    top: 0;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--inner:first-child::after {\r\n                        right: unset;\r\n                        top: unset;\r\n                        bottom: -10px;\r\n                        left: 0%;\r\n                        width: 100%;\r\n                        height: 1px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--fallback {\r\n                    display: grid;\r\n                    height: 100%;\r\n                    place-content: center;\r\n                    text-align: center;\r\n                    place-items: center;\r\n                    gap: var(--space-4, 16px);\r\n                }\r\n                .best-offer-list__element--fallback p {\r\n                    margin: 0;\r\n                }\r\n                .best-offer-list__element--headline {\r\n                    font-size: 24px;\r\n                    font-weight: 700;\r\n                }\r\n                .best-offer-list__element--button {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    padding: 14px 42px;\r\n                    border-radius: 5rem;\r\n                    font-size: 16px;\r\n                    font-family: Ambit, sans-serif;\r\n                    font-weight: 500;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--button {\r\n                        padding: 8px 32px;\r\n                        margin-top: 40px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--button:hover, .best-offer-list__element--button:visited, .best-offer-list__element--button:active, .best-offer-list__element--button:focus {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    text-decoration: none;\r\n                }\r\n                .best-offer-list__element--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-list--block {\r\n                    display: block;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--offers {\r\n                    display: block;\r\n                    height: 100%;\r\n                    padding: 0;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: block;\r\n                    height: 100%;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner:first-child::after {\r\n                    all: unset;\r\n                }\r\n                .best-offer-list--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-loading {\r\n                    width: 100%;\r\n                    height: 100%;\r\n                    display: grid;\r\n                    place-items: center;\r\n                    position: absolute;\r\n                    top: 0;\r\n                    left: 0;\r\n                    background-color: var(--color-theme-base-400, #c6eafb);\r\n                    z-index: 1;\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                    font-weight: bold;\r\n                    font-size: var(--font-size-medium, 18px);\r\n                }\r\n                .best-offer-loading img {\r\n                    animation: rotate infinite ease-in-out 5s;\r\n                }\r\n                @keyframes rotate {\r\n                    0% {\r\n                        transform: rotate(0);\r\n                    }\r\n                    50% {\r\n                        transform: rotate(180deg);\r\n                    }\r\n                    100% {\r\n                        transform: rotate(360deg);\r\n                    }\r\n                }\r\n            <\/style>\r\n\r\n            <script>\r\n                \/\/ Track instances and offers\r\n                let initializedInstancesCount = 0;\r\n                let renderedInstancesCount = 0;\r\n                let hasValidOffer = false;\r\n\r\n                \/\/ Find all image galleries\r\n                const imageGalleries = document.querySelectorAll('tui-image-gallery');\r\n\r\n                \/\/ Function to update UI for a specific image gallery\r\n                const updateUI = (imageGallery) => {\r\n                    const giataId = imageGallery.getAttribute('giata-id');\r\n\r\n                    \/\/ Hide loading spinner\r\n                    const loadingElement = imageGallery.querySelector('.best-offer-loading');\r\n                    if (loadingElement) {\r\n                        loadingElement.style.display = 'none';\r\n                    }\r\n\r\n                    \/\/ Show\/hide offers and fallback based on hasValidOffer\r\n                    const offersElement = imageGallery.querySelector('.best-offer-list__element--offers');\r\n                    const fallbackElement = imageGallery.querySelector('.best-offer-list__element--fallback');\r\n\r\n                    const showOffers = hasValidOffer && offersElement;\r\n                    const showFallback = !hasValidOffer && fallbackElement;\r\n\r\n                    if (showOffers) {\r\n                        offersElement.style.display = 'flex';\r\n                        fallbackElement.style.display = 'none';\r\n                    } else if (showFallback) {\r\n                        offersElement.style.display = 'none';\r\n                        fallbackElement.style.display = 'grid';\r\n                    }\r\n                };\r\n\r\n                \/\/ Listen for instance initialized events\r\n                document.addEventListener('tui-hotel-best-offer.instance-initialized', (event) => {\r\n                    initializedInstancesCount++;\r\n                });\r\n\r\n                \/\/ Listen for instance rendered events\r\n                document.addEventListener('tui-hotel-best-offer.instance-rendered', (event) => {\r\n                    renderedInstancesCount++;\r\n\r\n                    \/\/ Check if we have a valid offer\r\n                    if (event.detail && event.detail.hotelOffer && event.detail.hotelOffer.priceAmountPerPerson) {\r\n                        hasValidOffer = true;\r\n                    }\r\n\r\n                    \/\/ Update UI for all image galleries when all instances are rendered\r\n                    if (renderedInstancesCount === initializedInstancesCount) {\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n\r\n                    \/\/ Set the CTA for the offer on Render\r\n                    const { hotelOffer, searchParameters, hotelName } = event.detail;\r\n\r\n                    if (!hotelOffer || !searchParameters) {\r\n                        console.warn('No offer details available in event');\r\n                        return;\r\n                    }\r\n\r\n                    const getDomainFromTenant = (tenant) => {\r\n                        const tenantDomainMap = {\r\n                            'TUICOM': 'www.tui.com',\r\n                            'TUIAT': 'www.tui.at',\r\n                            'TUICH': 'www.tui.ch',\r\n                        };\r\n\r\n                        return tenantDomainMap[tenant] || 'www.tui.com';\r\n                    };\r\n\r\n                    const generateScopedUrl = (params) => {\r\n                        const baseUrl = encodeURI(`https:\/\/${getDomainFromTenant(params.tenant)}\/suchen\/angebote\/${hotelName}\/${params.hotel.giata}\/`); \/\/ Base URL for offer details\r\n                        const queryParams = new URLSearchParams({\r\n                            startDate: params.startDate,\r\n                            endDate: params.endDate,\r\n                            duration: params.durations,\r\n                            searchScope: params.scope,\r\n                        });\r\n                        return `${baseUrl}?${queryParams.toString()}`;\r\n                    };\r\n\r\n                    const url = generateScopedUrl(searchParameters);\r\n                    event.detail.setCallToActionUrl(url)\r\n                });\r\n\r\n                \/\/ Fallback timeout - if no events are received within 10 seconds\r\n                setTimeout(() => {\r\n                    if (renderedInstancesCount === 0) {\r\n                        hasValidOffer = false;\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n                }, 10000);\r\n            <\/script>\r\n\r\n            <span slot=\"slot-b\" class=\"best-offer-list\">\r\n            <span class=\"best-offer-attributes\"\r\n                                             data-duration=\"7\"                              data-giata-id=\"4008\"\r\n                  data-hotel-name=\"TUI BLUE Manar\"><\/span>\r\n            <span class=\"best-offer-list__element best-offer-list__element--offers\">\r\n            <tui-hotel-best-offer\r\n                    slot=\"slot-b\"\r\n                    scope=\"HOTEL,PACKAGE\"\r\n                    tenant=\"TUICOM\"\r\n                    variant=\"micro\"\r\n                    brand=\"tui\"\r\n                    theme=\"tui-light\"\r\n                    locale=\"de-DE\"\r\n                    price-type=\"per_person\"\r\n                                                 durations=\"7\"                    giata-id=\"4008\"\r\n                    show-error-ctas=\"false\"\r\n                    show-tooltip=\"false\"\r\n                    show-sun-spinner\r\n            >\r\n            <\/tui-hotel-best-offer>\r\n            <\/span>\r\n\r\n            <span class=\"best-offer-list__element best-offer-list__element--fallback best-offer-list__element--hidden\">\r\n                <img decoding=\"async\" src=\"https:\/\/static.tui.com\/assets\/v2\/icons\/tui-light\/location-track.svg\" width=\"40\" height=\"40\" alt=\"Icon Best Offer Fallback\" \/>\r\n                <span class=\"best-offer-list__element--headline\">Wir konnten leider kein passendes Angebot finden.<\/span>\r\n                <\/span>\r\n            <\/span>\r\n            <\/tui-image-gallery>\r\n\n\n\n<h2 class=\"wp-block-heading\">Top 8: TUI BLUE Elounda Breeze &#8211; Kreta<\/h2>\n\n\n\n<p>Sanftes Meeresrauschen, warme Sonnenstrahlen und der Blick auf die Insel Spinalonga machen das <a href=\"https:\/\/www.tui.com\/hotels\/tui-blue-elounda-breeze-12078\/hotelinformation\/\" target=\"_blank\" rel=\"noreferrer noopener\">TUI BLUE Elounda Breeze<\/a> zu einem ganz besonderen Urlaubsort. Direkt am<strong> privaten Sandstrand <\/strong>gelegen, erwartet Familien hier ein entspannter All-Inclusive-Urlaub mit jeder Menge Abwechslung. W\u00e4hrend Kinder im Kids Club, auf den Abenteuerrutschen oder beim Kinderbuffet Spa\u00df haben, genie\u00dfen Erwachsene das stylische Ambiente, das Sportangebot oder entspannte Stunden am Pool. Auch die Umgebung l\u00e4dt zum Entdecken ein: Die charmanten Gassen von Elounda verspr\u00fchen <strong>authentisches Kreta-Flair<\/strong> und eine Bootstour zur historischen Insel Spinalonga sorgt f\u00fcr unvergessliche Urlaubsmomente f\u00fcr die ganze Familie.<\/p>\n\n\n\r\n    <tui-image-gallery\r\n            variant=\"love-at-first-sight\"\r\n            type=\"info\"\r\n            giata-id=\"12078\"\r\n            hotel-name=\"TUI BLUE Elounda Breeze\"\r\n                            duration=\"7\"                    locale=\"de-DE\"\r\n            data-mode=\"light\"\r\n            data-theme=\"tui-light\"\r\n            data-legacy-font=\"\"\r\n            version=\"2.2.3\">\r\n\r\n        <style>\r\n            body.modal-scroll-fix {\r\n                overflow: hidden;\r\n                height: 100vh;\r\n            }\r\n            body.modal-scroll-fix .image-gallery__slot-a {\r\n                z-index: 10 !important;\r\n            }\r\n            tui-map-consent::part(map-consent) {\r\n                border-radius: var(--border-radius-lafs-elements);\r\n            }\r\n            tui-hotel-map {\r\n                height: 100%;\r\n            }\r\n        <\/style>\r\n\r\n                    &#8222;slot-a&#8220; class=&#8220;image-gallery__slot-a&#8220;>\r\n            <tui-map-consent\r\n                    data-theme=\"tui-light\"\r\n                    data-legacy-font\r\n                    locale=\"de-DE\"\r\n                    version=\"current\"\r\n                    cookie-url=\"https:\/\/www.tui.com\/cookie-hinweis\"\r\n                    privacy-url=\"https:\/\/www.tui.com\/datenschutz\">\r\n            <\/tui-map-consent>\r\n\r\n            <tui-hotel-map\r\n                    id=\"love-at-first-sight-poi\"\r\n                    hotel-id=\"12078\"\r\n                    tenant=\"TUICOM\"\r\n                    locale=\"de-DE\"\r\n                    api-key=\"AIzaSyBwXTpsKTvJ6JFXOEJRrU9qNaup3HNAFpU\"\r\n                    market=\"de\"\r\n                    mode=\"STATIC\"\r\n                    static-map-sizes='[\r\n                    {\"media\":\"(min-width: 960px)\",\"width\":297,\"height\":220},\r\n                    {\"media\":\"(min-width: 580px)\",\"width\":400,\"height\":200},\r\n                    {\"media\":\"(min-width: 0px)\",\"width\":400,\"height\":300}\r\n                ]'\r\n                    style=\"display: none;\">\r\n            <\/tui-hotel-map>\r\n            <\/span>\r\n            <style>\r\n                .best-offer-list {\r\n                    position: relative;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    background: var(--color-theme-base-400, #c6eafb);\r\n                    padding: var(--space-3, 12px) 0;\r\n                    justify-content: flex-start;\r\n                    font-family: var(--font-family-base);\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list {\r\n                        padding: var(--space-3, 12px);\r\n                    }\r\n                }\r\n                .best-offer-list__heading {\r\n                    font-weight: bold;\r\n                    font-size: 18px;\r\n                    text-align: center;\r\n                    margin-bottom: var(--space-2, 8px);\r\n                    display: none;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__heading {\r\n                        display: block;\r\n                    }\r\n                }\r\n                .best-offer-list__parameters {\r\n                    text-align: center;\r\n                }\r\n                .best-offer-list__parameters:empty {\r\n                    height: 18px;\r\n                    border-radius: 9px;\r\n                    background: #fff aa;\r\n                    width: 70%;\r\n                    margin: auto;\r\n                    display: block;\r\n                }\r\n                .best-offer-list__element--header {\r\n                    order: 2;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--header {\r\n                        order: 1;\r\n                    }\r\n                }\r\n                .best-offer-list__element--offers {\r\n                    order: 1;\r\n                    display: flex;\r\n                    flex-direction: row;\r\n                    justify-content: center;\r\n                    gap: 20px;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--offers {\r\n                        flex-grow: 1;\r\n                        flex-direction: column;\r\n                        order: 2;\r\n                    }\r\n                }\r\n                .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    justify-content: space-between;\r\n                    position: relative;\r\n                }\r\n                .best-offer-list__element--inner:first-child::after {\r\n                    background: white;\r\n                    content: ' ';\r\n                    position: absolute;\r\n                    height: 100%;\r\n                    width: 1px;\r\n                    right: -8px;\r\n                    top: 0;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--inner:first-child::after {\r\n                        right: unset;\r\n                        top: unset;\r\n                        bottom: -10px;\r\n                        left: 0%;\r\n                        width: 100%;\r\n                        height: 1px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--fallback {\r\n                    display: grid;\r\n                    height: 100%;\r\n                    place-content: center;\r\n                    text-align: center;\r\n                    place-items: center;\r\n                    gap: var(--space-4, 16px);\r\n                }\r\n                .best-offer-list__element--fallback p {\r\n                    margin: 0;\r\n                }\r\n                .best-offer-list__element--headline {\r\n                    font-size: 24px;\r\n                    font-weight: 700;\r\n                }\r\n                .best-offer-list__element--button {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    padding: 14px 42px;\r\n                    border-radius: 5rem;\r\n                    font-size: 16px;\r\n                    font-family: Ambit, sans-serif;\r\n                    font-weight: 500;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--button {\r\n                        padding: 8px 32px;\r\n                        margin-top: 40px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--button:hover, .best-offer-list__element--button:visited, .best-offer-list__element--button:active, .best-offer-list__element--button:focus {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    text-decoration: none;\r\n                }\r\n                .best-offer-list__element--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-list--block {\r\n                    display: block;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--offers {\r\n                    display: block;\r\n                    height: 100%;\r\n                    padding: 0;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: block;\r\n                    height: 100%;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner:first-child::after {\r\n                    all: unset;\r\n                }\r\n                .best-offer-list--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-loading {\r\n                    width: 100%;\r\n                    height: 100%;\r\n                    display: grid;\r\n                    place-items: center;\r\n                    position: absolute;\r\n                    top: 0;\r\n                    left: 0;\r\n                    background-color: var(--color-theme-base-400, #c6eafb);\r\n                    z-index: 1;\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                    font-weight: bold;\r\n                    font-size: var(--font-size-medium, 18px);\r\n                }\r\n                .best-offer-loading img {\r\n                    animation: rotate infinite ease-in-out 5s;\r\n                }\r\n                @keyframes rotate {\r\n                    0% {\r\n                        transform: rotate(0);\r\n                    }\r\n                    50% {\r\n                        transform: rotate(180deg);\r\n                    }\r\n                    100% {\r\n                        transform: rotate(360deg);\r\n                    }\r\n                }\r\n            <\/style>\r\n\r\n            <script>\r\n                \/\/ Track instances and offers\r\n                let initializedInstancesCount = 0;\r\n                let renderedInstancesCount = 0;\r\n                let hasValidOffer = false;\r\n\r\n                \/\/ Find all image galleries\r\n                const imageGalleries = document.querySelectorAll('tui-image-gallery');\r\n\r\n                \/\/ Function to update UI for a specific image gallery\r\n                const updateUI = (imageGallery) => {\r\n                    const giataId = imageGallery.getAttribute('giata-id');\r\n\r\n                    \/\/ Hide loading spinner\r\n                    const loadingElement = imageGallery.querySelector('.best-offer-loading');\r\n                    if (loadingElement) {\r\n                        loadingElement.style.display = 'none';\r\n                    }\r\n\r\n                    \/\/ Show\/hide offers and fallback based on hasValidOffer\r\n                    const offersElement = imageGallery.querySelector('.best-offer-list__element--offers');\r\n                    const fallbackElement = imageGallery.querySelector('.best-offer-list__element--fallback');\r\n\r\n                    const showOffers = hasValidOffer && offersElement;\r\n                    const showFallback = !hasValidOffer && fallbackElement;\r\n\r\n                    if (showOffers) {\r\n                        offersElement.style.display = 'flex';\r\n                        fallbackElement.style.display = 'none';\r\n                    } else if (showFallback) {\r\n                        offersElement.style.display = 'none';\r\n                        fallbackElement.style.display = 'grid';\r\n                    }\r\n                };\r\n\r\n                \/\/ Listen for instance initialized events\r\n                document.addEventListener('tui-hotel-best-offer.instance-initialized', (event) => {\r\n                    initializedInstancesCount++;\r\n                });\r\n\r\n                \/\/ Listen for instance rendered events\r\n                document.addEventListener('tui-hotel-best-offer.instance-rendered', (event) => {\r\n                    renderedInstancesCount++;\r\n\r\n                    \/\/ Check if we have a valid offer\r\n                    if (event.detail && event.detail.hotelOffer && event.detail.hotelOffer.priceAmountPerPerson) {\r\n                        hasValidOffer = true;\r\n                    }\r\n\r\n                    \/\/ Update UI for all image galleries when all instances are rendered\r\n                    if (renderedInstancesCount === initializedInstancesCount) {\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n\r\n                    \/\/ Set the CTA for the offer on Render\r\n                    const { hotelOffer, searchParameters, hotelName } = event.detail;\r\n\r\n                    if (!hotelOffer || !searchParameters) {\r\n                        console.warn('No offer details available in event');\r\n                        return;\r\n                    }\r\n\r\n                    const getDomainFromTenant = (tenant) => {\r\n                        const tenantDomainMap = {\r\n                            'TUICOM': 'www.tui.com',\r\n                            'TUIAT': 'www.tui.at',\r\n                            'TUICH': 'www.tui.ch',\r\n                        };\r\n\r\n                        return tenantDomainMap[tenant] || 'www.tui.com';\r\n                    };\r\n\r\n                    const generateScopedUrl = (params) => {\r\n                        const baseUrl = encodeURI(`https:\/\/${getDomainFromTenant(params.tenant)}\/suchen\/angebote\/${hotelName}\/${params.hotel.giata}\/`); \/\/ Base URL for offer details\r\n                        const queryParams = new URLSearchParams({\r\n                            startDate: params.startDate,\r\n                            endDate: params.endDate,\r\n                            duration: params.durations,\r\n                            searchScope: params.scope,\r\n                        });\r\n                        return `${baseUrl}?${queryParams.toString()}`;\r\n                    };\r\n\r\n                    const url = generateScopedUrl(searchParameters);\r\n                    event.detail.setCallToActionUrl(url)\r\n                });\r\n\r\n                \/\/ Fallback timeout - if no events are received within 10 seconds\r\n                setTimeout(() => {\r\n                    if (renderedInstancesCount === 0) {\r\n                        hasValidOffer = false;\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n                }, 10000);\r\n            <\/script>\r\n\r\n            <span slot=\"slot-b\" class=\"best-offer-list\">\r\n            <span class=\"best-offer-attributes\"\r\n                                             data-duration=\"7\"                              data-giata-id=\"12078\"\r\n                  data-hotel-name=\"TUI BLUE Elounda Breeze\"><\/span>\r\n            <span class=\"best-offer-list__element best-offer-list__element--offers\">\r\n            <tui-hotel-best-offer\r\n                    slot=\"slot-b\"\r\n                    scope=\"HOTEL,PACKAGE\"\r\n                    tenant=\"TUICOM\"\r\n                    variant=\"micro\"\r\n                    brand=\"tui\"\r\n                    theme=\"tui-light\"\r\n                    locale=\"de-DE\"\r\n                    price-type=\"per_person\"\r\n                                                 durations=\"7\"                    giata-id=\"12078\"\r\n                    show-error-ctas=\"false\"\r\n                    show-tooltip=\"false\"\r\n                    show-sun-spinner\r\n            >\r\n            <\/tui-hotel-best-offer>\r\n            <\/span>\r\n\r\n            <span class=\"best-offer-list__element best-offer-list__element--fallback best-offer-list__element--hidden\">\r\n                <img decoding=\"async\" src=\"https:\/\/static.tui.com\/assets\/v2\/icons\/tui-light\/location-track.svg\" width=\"40\" height=\"40\" alt=\"Icon Best Offer Fallback\" \/>\r\n                <span class=\"best-offer-list__element--headline\">Wir konnten leider kein passendes Angebot finden.<\/span>\r\n                <\/span>\r\n            <\/span>\r\n            <\/tui-image-gallery>\r\n\n\n\n<h2 class=\"wp-block-heading\">Top 9: TUI BLUE Ephesus &#8211; T\u00fcrkische \u00c4g\u00e4is<\/h2>\n\n\n\n<p>An der westt\u00fcrkischen \u00c4g\u00e4is liegt das <a href=\"https:\/\/www.tui.com\/hotels\/tui-blue-ephesus-910998\/hotelinformation\/\" target=\"_blank\" rel=\"noreferrer noopener\">TUI BLUE Ephesus<\/a> \u2013 der ideale Ort f\u00fcr einen Urlaub abseits des Alltags. Frisch renoviert bietet das 5-Sterne-Hotel eine <strong>perfekte Mischung aus Abenteuer und Erholung<\/strong>. W\u00e4hrend die Kids bei der Minidisco und im Teensprogramm betreut sind, kannst du dich im hoteleigenen Spa mit einer wohltuenden Massage verw\u00f6hnen lassen. Bei<strong> traumhafter Strandlage<\/strong> und vielf\u00e4ltigen sportlichen Aktivit\u00e4ten, darunter Tennis und Windsurfen, wird dieses Hotel zu einem Ort, um gemeinsam Erinnerungen zu schaffen.<\/p>\n\n\n\r\n    <tui-image-gallery\r\n            variant=\"love-at-first-sight\"\r\n            type=\"info\"\r\n            giata-id=\"910998\"\r\n            hotel-name=\"TUI BLUE Ephesus\"\r\n                            duration=\"7\"                    locale=\"de-DE\"\r\n            data-mode=\"light\"\r\n            data-theme=\"tui-light\"\r\n            data-legacy-font=\"\"\r\n            version=\"2.2.3\">\r\n\r\n        <style>\r\n            body.modal-scroll-fix {\r\n                overflow: hidden;\r\n                height: 100vh;\r\n            }\r\n            body.modal-scroll-fix .image-gallery__slot-a {\r\n                z-index: 10 !important;\r\n            }\r\n            tui-map-consent::part(map-consent) {\r\n                border-radius: var(--border-radius-lafs-elements);\r\n            }\r\n            tui-hotel-map {\r\n                height: 100%;\r\n            }\r\n        <\/style>\r\n\r\n                    &#8222;slot-a&#8220; class=&#8220;image-gallery__slot-a&#8220;>\r\n            <tui-map-consent\r\n                    data-theme=\"tui-light\"\r\n                    data-legacy-font\r\n                    locale=\"de-DE\"\r\n                    version=\"current\"\r\n                    cookie-url=\"https:\/\/www.tui.com\/cookie-hinweis\"\r\n                    privacy-url=\"https:\/\/www.tui.com\/datenschutz\">\r\n            <\/tui-map-consent>\r\n\r\n            <tui-hotel-map\r\n                    id=\"love-at-first-sight-poi\"\r\n                    hotel-id=\"910998\"\r\n                    tenant=\"TUICOM\"\r\n                    locale=\"de-DE\"\r\n                    api-key=\"AIzaSyBwXTpsKTvJ6JFXOEJRrU9qNaup3HNAFpU\"\r\n                    market=\"de\"\r\n                    mode=\"STATIC\"\r\n                    static-map-sizes='[\r\n                    {\"media\":\"(min-width: 960px)\",\"width\":297,\"height\":220},\r\n                    {\"media\":\"(min-width: 580px)\",\"width\":400,\"height\":200},\r\n                    {\"media\":\"(min-width: 0px)\",\"width\":400,\"height\":300}\r\n                ]'\r\n                    style=\"display: none;\">\r\n            <\/tui-hotel-map>\r\n            <\/span>\r\n            <style>\r\n                .best-offer-list {\r\n                    position: relative;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    background: var(--color-theme-base-400, #c6eafb);\r\n                    padding: var(--space-3, 12px) 0;\r\n                    justify-content: flex-start;\r\n                    font-family: var(--font-family-base);\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list {\r\n                        padding: var(--space-3, 12px);\r\n                    }\r\n                }\r\n                .best-offer-list__heading {\r\n                    font-weight: bold;\r\n                    font-size: 18px;\r\n                    text-align: center;\r\n                    margin-bottom: var(--space-2, 8px);\r\n                    display: none;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__heading {\r\n                        display: block;\r\n                    }\r\n                }\r\n                .best-offer-list__parameters {\r\n                    text-align: center;\r\n                }\r\n                .best-offer-list__parameters:empty {\r\n                    height: 18px;\r\n                    border-radius: 9px;\r\n                    background: #fff aa;\r\n                    width: 70%;\r\n                    margin: auto;\r\n                    display: block;\r\n                }\r\n                .best-offer-list__element--header {\r\n                    order: 2;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--header {\r\n                        order: 1;\r\n                    }\r\n                }\r\n                .best-offer-list__element--offers {\r\n                    order: 1;\r\n                    display: flex;\r\n                    flex-direction: row;\r\n                    justify-content: center;\r\n                    gap: 20px;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--offers {\r\n                        flex-grow: 1;\r\n                        flex-direction: column;\r\n                        order: 2;\r\n                    }\r\n                }\r\n                .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    justify-content: space-between;\r\n                    position: relative;\r\n                }\r\n                .best-offer-list__element--inner:first-child::after {\r\n                    background: white;\r\n                    content: ' ';\r\n                    position: absolute;\r\n                    height: 100%;\r\n                    width: 1px;\r\n                    right: -8px;\r\n                    top: 0;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--inner:first-child::after {\r\n                        right: unset;\r\n                        top: unset;\r\n                        bottom: -10px;\r\n                        left: 0%;\r\n                        width: 100%;\r\n                        height: 1px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--fallback {\r\n                    display: grid;\r\n                    height: 100%;\r\n                    place-content: center;\r\n                    text-align: center;\r\n                    place-items: center;\r\n                    gap: var(--space-4, 16px);\r\n                }\r\n                .best-offer-list__element--fallback p {\r\n                    margin: 0;\r\n                }\r\n                .best-offer-list__element--headline {\r\n                    font-size: 24px;\r\n                    font-weight: 700;\r\n                }\r\n                .best-offer-list__element--button {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    padding: 14px 42px;\r\n                    border-radius: 5rem;\r\n                    font-size: 16px;\r\n                    font-family: Ambit, sans-serif;\r\n                    font-weight: 500;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--button {\r\n                        padding: 8px 32px;\r\n                        margin-top: 40px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--button:hover, .best-offer-list__element--button:visited, .best-offer-list__element--button:active, .best-offer-list__element--button:focus {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    text-decoration: none;\r\n                }\r\n                .best-offer-list__element--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-list--block {\r\n                    display: block;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--offers {\r\n                    display: block;\r\n                    height: 100%;\r\n                    padding: 0;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: block;\r\n                    height: 100%;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner:first-child::after {\r\n                    all: unset;\r\n                }\r\n                .best-offer-list--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-loading {\r\n                    width: 100%;\r\n                    height: 100%;\r\n                    display: grid;\r\n                    place-items: center;\r\n                    position: absolute;\r\n                    top: 0;\r\n                    left: 0;\r\n                    background-color: var(--color-theme-base-400, #c6eafb);\r\n                    z-index: 1;\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                    font-weight: bold;\r\n                    font-size: var(--font-size-medium, 18px);\r\n                }\r\n                .best-offer-loading img {\r\n                    animation: rotate infinite ease-in-out 5s;\r\n                }\r\n                @keyframes rotate {\r\n                    0% {\r\n                        transform: rotate(0);\r\n                    }\r\n                    50% {\r\n                        transform: rotate(180deg);\r\n                    }\r\n                    100% {\r\n                        transform: rotate(360deg);\r\n                    }\r\n                }\r\n            <\/style>\r\n\r\n            <script>\r\n                \/\/ Track instances and offers\r\n                let initializedInstancesCount = 0;\r\n                let renderedInstancesCount = 0;\r\n                let hasValidOffer = false;\r\n\r\n                \/\/ Find all image galleries\r\n                const imageGalleries = document.querySelectorAll('tui-image-gallery');\r\n\r\n                \/\/ Function to update UI for a specific image gallery\r\n                const updateUI = (imageGallery) => {\r\n                    const giataId = imageGallery.getAttribute('giata-id');\r\n\r\n                    \/\/ Hide loading spinner\r\n                    const loadingElement = imageGallery.querySelector('.best-offer-loading');\r\n                    if (loadingElement) {\r\n                        loadingElement.style.display = 'none';\r\n                    }\r\n\r\n                    \/\/ Show\/hide offers and fallback based on hasValidOffer\r\n                    const offersElement = imageGallery.querySelector('.best-offer-list__element--offers');\r\n                    const fallbackElement = imageGallery.querySelector('.best-offer-list__element--fallback');\r\n\r\n                    const showOffers = hasValidOffer && offersElement;\r\n                    const showFallback = !hasValidOffer && fallbackElement;\r\n\r\n                    if (showOffers) {\r\n                        offersElement.style.display = 'flex';\r\n                        fallbackElement.style.display = 'none';\r\n                    } else if (showFallback) {\r\n                        offersElement.style.display = 'none';\r\n                        fallbackElement.style.display = 'grid';\r\n                    }\r\n                };\r\n\r\n                \/\/ Listen for instance initialized events\r\n                document.addEventListener('tui-hotel-best-offer.instance-initialized', (event) => {\r\n                    initializedInstancesCount++;\r\n                });\r\n\r\n                \/\/ Listen for instance rendered events\r\n                document.addEventListener('tui-hotel-best-offer.instance-rendered', (event) => {\r\n                    renderedInstancesCount++;\r\n\r\n                    \/\/ Check if we have a valid offer\r\n                    if (event.detail && event.detail.hotelOffer && event.detail.hotelOffer.priceAmountPerPerson) {\r\n                        hasValidOffer = true;\r\n                    }\r\n\r\n                    \/\/ Update UI for all image galleries when all instances are rendered\r\n                    if (renderedInstancesCount === initializedInstancesCount) {\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n\r\n                    \/\/ Set the CTA for the offer on Render\r\n                    const { hotelOffer, searchParameters, hotelName } = event.detail;\r\n\r\n                    if (!hotelOffer || !searchParameters) {\r\n                        console.warn('No offer details available in event');\r\n                        return;\r\n                    }\r\n\r\n                    const getDomainFromTenant = (tenant) => {\r\n                        const tenantDomainMap = {\r\n                            'TUICOM': 'www.tui.com',\r\n                            'TUIAT': 'www.tui.at',\r\n                            'TUICH': 'www.tui.ch',\r\n                        };\r\n\r\n                        return tenantDomainMap[tenant] || 'www.tui.com';\r\n                    };\r\n\r\n                    const generateScopedUrl = (params) => {\r\n                        const baseUrl = encodeURI(`https:\/\/${getDomainFromTenant(params.tenant)}\/suchen\/angebote\/${hotelName}\/${params.hotel.giata}\/`); \/\/ Base URL for offer details\r\n                        const queryParams = new URLSearchParams({\r\n                            startDate: params.startDate,\r\n                            endDate: params.endDate,\r\n                            duration: params.durations,\r\n                            searchScope: params.scope,\r\n                        });\r\n                        return `${baseUrl}?${queryParams.toString()}`;\r\n                    };\r\n\r\n                    const url = generateScopedUrl(searchParameters);\r\n                    event.detail.setCallToActionUrl(url)\r\n                });\r\n\r\n                \/\/ Fallback timeout - if no events are received within 10 seconds\r\n                setTimeout(() => {\r\n                    if (renderedInstancesCount === 0) {\r\n                        hasValidOffer = false;\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n                }, 10000);\r\n            <\/script>\r\n\r\n            <span slot=\"slot-b\" class=\"best-offer-list\">\r\n            <span class=\"best-offer-attributes\"\r\n                                             data-duration=\"7\"                              data-giata-id=\"910998\"\r\n                  data-hotel-name=\"TUI BLUE Ephesus\"><\/span>\r\n            <span class=\"best-offer-list__element best-offer-list__element--offers\">\r\n            <tui-hotel-best-offer\r\n                    slot=\"slot-b\"\r\n                    scope=\"HOTEL,PACKAGE\"\r\n                    tenant=\"TUICOM\"\r\n                    variant=\"micro\"\r\n                    brand=\"tui\"\r\n                    theme=\"tui-light\"\r\n                    locale=\"de-DE\"\r\n                    price-type=\"per_person\"\r\n                                                 durations=\"7\"                    giata-id=\"910998\"\r\n                    show-error-ctas=\"false\"\r\n                    show-tooltip=\"false\"\r\n                    show-sun-spinner\r\n            >\r\n            <\/tui-hotel-best-offer>\r\n            <\/span>\r\n\r\n            <span class=\"best-offer-list__element best-offer-list__element--fallback best-offer-list__element--hidden\">\r\n                <img decoding=\"async\" src=\"https:\/\/static.tui.com\/assets\/v2\/icons\/tui-light\/location-track.svg\" width=\"40\" height=\"40\" alt=\"Icon Best Offer Fallback\" \/>\r\n                <span class=\"best-offer-list__element--headline\">Wir konnten leider kein passendes Angebot finden.<\/span>\r\n                <\/span>\r\n            <\/span>\r\n            <\/tui-image-gallery>\r\n\n\n\n<h2 class=\"wp-block-heading\">Top 10: TUI BLUE Atlantica Aeneas Resort &#8211; Zypern<\/h2>\n\n\n\n<p>An Zyperns K\u00fcste, wo <strong>t\u00fcrkisblaues Meer<\/strong> auf feinen wei\u00dfen Sand trifft, wartet das <a href=\"https:\/\/www.tui.com\/hotels\/tui-blue-atlantica-aeneas-resort-5014\/hotelinformation\/\" target=\"_blank\" rel=\"noreferrer noopener\">TUI BLUE Atlantica Aeneas Resort<\/a>, ein Unterhaltungsparadies f\u00fcr die ganze Familie. Von spannenden Quiz Storm-Wettbewerben, bis hin zu professionellen Shows, Kabarett und der innovativen Silent Disco \u2013 hier findet jeder sein pers\u00f6nliches Highlight. Das <strong>vielf\u00e4ltige Unterhaltungsprogramm<\/strong>, einschlie\u00dflich Cocktail- und Kochkursen, bietet dir die perfekte Balance zwischen Spa\u00df und Bereicherung. Erlebe einen Urlaub der nicht nur entspannt, sondern auch inspiriert!<\/p>\n\n\n\r\n    <tui-image-gallery\r\n            variant=\"love-at-first-sight\"\r\n            type=\"info\"\r\n            giata-id=\"5014\"\r\n            hotel-name=\"TUI BLUE Atlantica Aeneas\"\r\n                            duration=\"7\"                    locale=\"de-DE\"\r\n            data-mode=\"light\"\r\n            data-theme=\"tui-light\"\r\n            data-legacy-font=\"\"\r\n            version=\"2.2.3\">\r\n\r\n        <style>\r\n            body.modal-scroll-fix {\r\n                overflow: hidden;\r\n                height: 100vh;\r\n            }\r\n            body.modal-scroll-fix .image-gallery__slot-a {\r\n                z-index: 10 !important;\r\n            }\r\n            tui-map-consent::part(map-consent) {\r\n                border-radius: var(--border-radius-lafs-elements);\r\n            }\r\n            tui-hotel-map {\r\n                height: 100%;\r\n            }\r\n        <\/style>\r\n\r\n                    &#8222;slot-a&#8220; class=&#8220;image-gallery__slot-a&#8220;>\r\n            <tui-map-consent\r\n                    data-theme=\"tui-light\"\r\n                    data-legacy-font\r\n                    locale=\"de-DE\"\r\n                    version=\"current\"\r\n                    cookie-url=\"https:\/\/www.tui.com\/cookie-hinweis\"\r\n                    privacy-url=\"https:\/\/www.tui.com\/datenschutz\">\r\n            <\/tui-map-consent>\r\n\r\n            <tui-hotel-map\r\n                    id=\"love-at-first-sight-poi\"\r\n                    hotel-id=\"5014\"\r\n                    tenant=\"TUICOM\"\r\n                    locale=\"de-DE\"\r\n                    api-key=\"AIzaSyBwXTpsKTvJ6JFXOEJRrU9qNaup3HNAFpU\"\r\n                    market=\"de\"\r\n                    mode=\"STATIC\"\r\n                    static-map-sizes='[\r\n                    {\"media\":\"(min-width: 960px)\",\"width\":297,\"height\":220},\r\n                    {\"media\":\"(min-width: 580px)\",\"width\":400,\"height\":200},\r\n                    {\"media\":\"(min-width: 0px)\",\"width\":400,\"height\":300}\r\n                ]'\r\n                    style=\"display: none;\">\r\n            <\/tui-hotel-map>\r\n            <\/span>\r\n            <style>\r\n                .best-offer-list {\r\n                    position: relative;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    background: var(--color-theme-base-400, #c6eafb);\r\n                    padding: var(--space-3, 12px) 0;\r\n                    justify-content: flex-start;\r\n                    font-family: var(--font-family-base);\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list {\r\n                        padding: var(--space-3, 12px);\r\n                    }\r\n                }\r\n                .best-offer-list__heading {\r\n                    font-weight: bold;\r\n                    font-size: 18px;\r\n                    text-align: center;\r\n                    margin-bottom: var(--space-2, 8px);\r\n                    display: none;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__heading {\r\n                        display: block;\r\n                    }\r\n                }\r\n                .best-offer-list__parameters {\r\n                    text-align: center;\r\n                }\r\n                .best-offer-list__parameters:empty {\r\n                    height: 18px;\r\n                    border-radius: 9px;\r\n                    background: #fff aa;\r\n                    width: 70%;\r\n                    margin: auto;\r\n                    display: block;\r\n                }\r\n                .best-offer-list__element--header {\r\n                    order: 2;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--header {\r\n                        order: 1;\r\n                    }\r\n                }\r\n                .best-offer-list__element--offers {\r\n                    order: 1;\r\n                    display: flex;\r\n                    flex-direction: row;\r\n                    justify-content: center;\r\n                    gap: 20px;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--offers {\r\n                        flex-grow: 1;\r\n                        flex-direction: column;\r\n                        order: 2;\r\n                    }\r\n                }\r\n                .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: flex;\r\n                    flex-direction: column;\r\n                    justify-content: space-between;\r\n                    position: relative;\r\n                }\r\n                .best-offer-list__element--inner:first-child::after {\r\n                    background: white;\r\n                    content: ' ';\r\n                    position: absolute;\r\n                    height: 100%;\r\n                    width: 1px;\r\n                    right: -8px;\r\n                    top: 0;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--inner:first-child::after {\r\n                        right: unset;\r\n                        top: unset;\r\n                        bottom: -10px;\r\n                        left: 0%;\r\n                        width: 100%;\r\n                        height: 1px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--fallback {\r\n                    display: grid;\r\n                    height: 100%;\r\n                    place-content: center;\r\n                    text-align: center;\r\n                    place-items: center;\r\n                    gap: var(--space-4, 16px);\r\n                }\r\n                .best-offer-list__element--fallback p {\r\n                    margin: 0;\r\n                }\r\n                .best-offer-list__element--headline {\r\n                    font-size: 24px;\r\n                    font-weight: 700;\r\n                }\r\n                .best-offer-list__element--button {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    padding: 14px 42px;\r\n                    border-radius: 5rem;\r\n                    font-size: 16px;\r\n                    font-family: Ambit, sans-serif;\r\n                    font-weight: 500;\r\n                }\r\n                @media (min-width: 580px) {\r\n                    .best-offer-list__element--button {\r\n                        padding: 8px 32px;\r\n                        margin-top: 40px;\r\n                    }\r\n                }\r\n                .best-offer-list__element--button:hover, .best-offer-list__element--button:visited, .best-offer-list__element--button:active, .best-offer-list__element--button:focus {\r\n                    background: #1b115c;\r\n                    color: white;\r\n                    text-decoration: none;\r\n                }\r\n                .best-offer-list__element--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-list--block {\r\n                    display: block;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--offers {\r\n                    display: block;\r\n                    height: 100%;\r\n                    padding: 0;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner {\r\n                    padding: 0;\r\n                    display: block;\r\n                    height: 100%;\r\n                }\r\n                .best-offer-list--block .best-offer-list__element--inner:first-child::after {\r\n                    all: unset;\r\n                }\r\n                .best-offer-list--hidden {\r\n                    display: none;\r\n                }\r\n                .best-offer-loading {\r\n                    width: 100%;\r\n                    height: 100%;\r\n                    display: grid;\r\n                    place-items: center;\r\n                    position: absolute;\r\n                    top: 0;\r\n                    left: 0;\r\n                    background-color: var(--color-theme-base-400, #c6eafb);\r\n                    z-index: 1;\r\n                    color: var(--color-theme-variant, #1b115c);\r\n                    font-weight: bold;\r\n                    font-size: var(--font-size-medium, 18px);\r\n                }\r\n                .best-offer-loading img {\r\n                    animation: rotate infinite ease-in-out 5s;\r\n                }\r\n                @keyframes rotate {\r\n                    0% {\r\n                        transform: rotate(0);\r\n                    }\r\n                    50% {\r\n                        transform: rotate(180deg);\r\n                    }\r\n                    100% {\r\n                        transform: rotate(360deg);\r\n                    }\r\n                }\r\n            <\/style>\r\n\r\n            <script>\r\n                \/\/ Track instances and offers\r\n                let initializedInstancesCount = 0;\r\n                let renderedInstancesCount = 0;\r\n                let hasValidOffer = false;\r\n\r\n                \/\/ Find all image galleries\r\n                const imageGalleries = document.querySelectorAll('tui-image-gallery');\r\n\r\n                \/\/ Function to update UI for a specific image gallery\r\n                const updateUI = (imageGallery) => {\r\n                    const giataId = imageGallery.getAttribute('giata-id');\r\n\r\n                    \/\/ Hide loading spinner\r\n                    const loadingElement = imageGallery.querySelector('.best-offer-loading');\r\n                    if (loadingElement) {\r\n                        loadingElement.style.display = 'none';\r\n                    }\r\n\r\n                    \/\/ Show\/hide offers and fallback based on hasValidOffer\r\n                    const offersElement = imageGallery.querySelector('.best-offer-list__element--offers');\r\n                    const fallbackElement = imageGallery.querySelector('.best-offer-list__element--fallback');\r\n\r\n                    const showOffers = hasValidOffer && offersElement;\r\n                    const showFallback = !hasValidOffer && fallbackElement;\r\n\r\n                    if (showOffers) {\r\n                        offersElement.style.display = 'flex';\r\n                        fallbackElement.style.display = 'none';\r\n                    } else if (showFallback) {\r\n                        offersElement.style.display = 'none';\r\n                        fallbackElement.style.display = 'grid';\r\n                    }\r\n                };\r\n\r\n                \/\/ Listen for instance initialized events\r\n                document.addEventListener('tui-hotel-best-offer.instance-initialized', (event) => {\r\n                    initializedInstancesCount++;\r\n                });\r\n\r\n                \/\/ Listen for instance rendered events\r\n                document.addEventListener('tui-hotel-best-offer.instance-rendered', (event) => {\r\n                    renderedInstancesCount++;\r\n\r\n                    \/\/ Check if we have a valid offer\r\n                    if (event.detail && event.detail.hotelOffer && event.detail.hotelOffer.priceAmountPerPerson) {\r\n                        hasValidOffer = true;\r\n                    }\r\n\r\n                    \/\/ Update UI for all image galleries when all instances are rendered\r\n                    if (renderedInstancesCount === initializedInstancesCount) {\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n\r\n                    \/\/ Set the CTA for the offer on Render\r\n                    const { hotelOffer, searchParameters, hotelName } = event.detail;\r\n\r\n                    if (!hotelOffer || !searchParameters) {\r\n                        console.warn('No offer details available in event');\r\n                        return;\r\n                    }\r\n\r\n                    const getDomainFromTenant = (tenant) => {\r\n                        const tenantDomainMap = {\r\n                            'TUICOM': 'www.tui.com',\r\n                            'TUIAT': 'www.tui.at',\r\n                            'TUICH': 'www.tui.ch',\r\n                        };\r\n\r\n                        return tenantDomainMap[tenant] || 'www.tui.com';\r\n                    };\r\n\r\n                    const generateScopedUrl = (params) => {\r\n                        const baseUrl = encodeURI(`https:\/\/${getDomainFromTenant(params.tenant)}\/suchen\/angebote\/${hotelName}\/${params.hotel.giata}\/`); \/\/ Base URL for offer details\r\n                        const queryParams = new URLSearchParams({\r\n                            startDate: params.startDate,\r\n                            endDate: params.endDate,\r\n                            duration: params.durations,\r\n                            searchScope: params.scope,\r\n                        });\r\n                        return `${baseUrl}?${queryParams.toString()}`;\r\n                    };\r\n\r\n                    const url = generateScopedUrl(searchParameters);\r\n                    event.detail.setCallToActionUrl(url)\r\n                });\r\n\r\n                \/\/ Fallback timeout - if no events are received within 10 seconds\r\n                setTimeout(() => {\r\n                    if (renderedInstancesCount === 0) {\r\n                        hasValidOffer = false;\r\n                        imageGalleries.forEach(updateUI);\r\n                    }\r\n                }, 10000);\r\n            <\/script>\r\n\r\n            <span slot=\"slot-b\" class=\"best-offer-list\">\r\n            <span class=\"best-offer-attributes\"\r\n                                             data-duration=\"7\"                              data-giata-id=\"5014\"\r\n                  data-hotel-name=\"TUI BLUE Atlantica Aeneas\"><\/span>\r\n            <span class=\"best-offer-list__element best-offer-list__element--offers\">\r\n            <tui-hotel-best-offer\r\n                    slot=\"slot-b\"\r\n                    scope=\"HOTEL,PACKAGE\"\r\n                    tenant=\"TUICOM\"\r\n                    variant=\"micro\"\r\n                    brand=\"tui\"\r\n                    theme=\"tui-light\"\r\n                    locale=\"de-DE\"\r\n                    price-type=\"per_person\"\r\n                                                 durations=\"7\"                    giata-id=\"5014\"\r\n                    show-error-ctas=\"false\"\r\n                    show-tooltip=\"false\"\r\n                    show-sun-spinner\r\n            >\r\n            <\/tui-hotel-best-offer>\r\n            <\/span>\r\n\r\n            <span class=\"best-offer-list__element best-offer-list__element--fallback best-offer-list__element--hidden\">\r\n                <img decoding=\"async\" src=\"https:\/\/static.tui.com\/assets\/v2\/icons\/tui-light\/location-track.svg\" width=\"40\" height=\"40\" alt=\"Icon Best Offer Fallback\" \/>\r\n                <span class=\"best-offer-list__element--headline\">Wir konnten leider kein passendes Angebot finden.<\/span>\r\n                <\/span>\r\n            <\/span>\r\n            <\/tui-image-gallery>\r\n\n\n\n<h2 class=\"gb-text\">Das gro\u00dfe TUI BLUE Jubil\u00e4umsgewinnspiel: Anmelden und gewinnen!<\/h2>\n\n\n\n<p class=\"has-tui-sky-blue-40-background-color has-background\">Zum 10-J\u00e4hrigen verlost TUI BLUE zehn tolle Preise: f\u00fcnf Gutscheine im Wert von je 1.000 \u20ac f\u00fcr einen TUI BLUE Hotelaufenthalt sowie f\u00fcnf TUI BLUE Fan-Sets. Details und Teilnahme auf&nbsp;<a href=\"https:\/\/my.tui.com\/tuibluegewinnspiel26\" target=\"_blank\" rel=\"noreferrer noopener\">my.tui.com<\/a><\/p>\n\n\n        <div class=\"button-wrapper\">\r\n            <a class=\"tui-button-default\" href=\"https:\/\/www.tui.com\/tui-blue\/family-fun\/\"\r\n               target=\"_blank\">\r\n                Mehr zu TUI BLUE Family Fun            <\/a>\r\n        <\/div>\r\n    \n\n\n<p><\/p>\n\n\n\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bei TUI BLUE findest du eine Vielzahl an familienfreundlichen Hotels. Wenn du aber auf der Suche nach einer extra Portion Familienspa\u00df f\u00fcr eine unvergessliche Familienzeit bist, dann solltest du ein Family Fun Hotel von TUI BLUE w\u00e4hlen. Wir zeigen dir die TOP 10 Hotellieblinge.<\/p>\n","protected":false},"author":116,"featured_media":500648,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4052,4072,4060],"tags":[523,602,1338],"class_list":["post-465078","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-archiv-reisearten","category-archiv-reiseplanung","category-archiv-urlaub-mit-familie","tag-familienurlaub","tag-hoteltipps","tag-tui-blue"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>10 Jahre Familienspa\u00df mit TUI BLUE: Momente, die bleiben! - TUI.com Reiseblog \u2600<\/title>\n<meta name=\"description\" content=\"Entdecke die TOP 10 TUI BLUE Family Fun Hotels - perfekt f\u00fcr Familien, die mehr erleben wollen. Mehr Spa\u00df, mehr Familienzeit!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"10 Jahre Familienspa\u00df mit TUI BLUE: Momente, die bleiben! - TUI.com Reiseblog \u2600\" \/>\n<meta property=\"og:description\" content=\"Entdecke die TOP 10 TUI BLUE Family Fun Hotels - perfekt f\u00fcr Familien, die mehr erleben wollen. Mehr Spa\u00df, mehr Familienzeit!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/\" \/>\n<meta property=\"og:site_name\" content=\"TUI.com Reiseblog \u2600\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-15T12:37:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-12T09:56:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2025\/04\/D260018_TB_Familie_26_1920x1080_2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Julia W\u00fcbbelmann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Julia W\u00fcbbelmann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/\"},\"author\":{\"name\":\"Julia W\u00fcbbelmann\",\"@id\":\"https:\/\/www.tui.com\/blog\/#\/schema\/person\/4755e7914e8aefb9ac11dab2e3a0203c\"},\"headline\":\"10 Jahre Familienspa\u00df mit TUI BLUE: Momente, die bleiben!\",\"datePublished\":\"2025-04-15T12:37:03+00:00\",\"dateModified\":\"2026-03-12T09:56:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/\"},\"wordCount\":1227,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.tui.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2025\/04\/D260018_TB_Familie_26_1920x1080_2.jpg\",\"keywords\":[\"Familienurlaub\",\"Hoteltipps\",\"TUI BLUE\"],\"articleSection\":[\"Reisearten\",\"Reiseplanung\",\"Urlaub mit Familie\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/\",\"url\":\"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/\",\"name\":\"10 Jahre Familienspa\u00df mit TUI BLUE: Momente, die bleiben! - TUI.com Reiseblog \u2600\",\"isPartOf\":{\"@id\":\"https:\/\/www.tui.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2025\/04\/D260018_TB_Familie_26_1920x1080_2.jpg\",\"datePublished\":\"2025-04-15T12:37:03+00:00\",\"dateModified\":\"2026-03-12T09:56:27+00:00\",\"description\":\"Entdecke die TOP 10 TUI BLUE Family Fun Hotels - perfekt f\u00fcr Familien, die mehr erleben wollen. Mehr Spa\u00df, mehr Familienzeit!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/#primaryimage\",\"url\":\"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2025\/04\/D260018_TB_Familie_26_1920x1080_2.jpg\",\"contentUrl\":\"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2025\/04\/D260018_TB_Familie_26_1920x1080_2.jpg\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/www.tui.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"10 Jahre Familienspa\u00df mit TUI BLUE: Momente, die bleiben!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.tui.com\/blog\/#website\",\"url\":\"https:\/\/www.tui.com\/blog\/\",\"name\":\"TUI.com Reiseblog \u2600\",\"description\":\"Abenteuer oder lieber an den Strand? \u2600 Der TUI Reiseblog bietet tolle Infos rund um deine n\u00e4chste Reise \u2708 Komm vorbei und lass dich inspirieren \u221a\",\"publisher\":{\"@id\":\"https:\/\/www.tui.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.tui.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.tui.com\/blog\/#organization\",\"name\":\"TUI.com Reiseblog \u2600\",\"url\":\"https:\/\/www.tui.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.tui.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2023\/04\/cropped-tui-logo-3.png\",\"contentUrl\":\"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2023\/04\/cropped-tui-logo-3.png\",\"width\":164,\"height\":72,\"caption\":\"TUI.com Reiseblog \u2600\"},\"image\":{\"@id\":\"https:\/\/www.tui.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.tui.com\/blog\/#\/schema\/person\/4755e7914e8aefb9ac11dab2e3a0203c\",\"name\":\"Julia W\u00fcbbelmann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2026\/02\/julia_tuerkei_profilbild-96x96.jpg\",\"url\":\"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2026\/02\/julia_tuerkei_profilbild-96x96.jpg\",\"contentUrl\":\"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2026\/02\/julia_tuerkei_profilbild-96x96.jpg\",\"caption\":\"Julia W\u00fcbbelmann\"},\"url\":\"https:\/\/www.tui.com\/blog\/author\/tui-bloggerin-julia\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"10 Jahre Familienspa\u00df mit TUI BLUE: Momente, die bleiben! - TUI.com Reiseblog \u2600","description":"Entdecke die TOP 10 TUI BLUE Family Fun Hotels - perfekt f\u00fcr Familien, die mehr erleben wollen. Mehr Spa\u00df, mehr Familienzeit!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/","og_locale":"de_DE","og_type":"article","og_title":"10 Jahre Familienspa\u00df mit TUI BLUE: Momente, die bleiben! - TUI.com Reiseblog \u2600","og_description":"Entdecke die TOP 10 TUI BLUE Family Fun Hotels - perfekt f\u00fcr Familien, die mehr erleben wollen. Mehr Spa\u00df, mehr Familienzeit!","og_url":"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/","og_site_name":"TUI.com Reiseblog \u2600","article_published_time":"2025-04-15T12:37:03+00:00","article_modified_time":"2026-03-12T09:56:27+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2025\/04\/D260018_TB_Familie_26_1920x1080_2.jpg","type":"image\/jpeg"}],"author":"Julia W\u00fcbbelmann","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Julia W\u00fcbbelmann","Gesch\u00e4tzte Lesezeit":"6\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/#article","isPartOf":{"@id":"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/"},"author":{"name":"Julia W\u00fcbbelmann","@id":"https:\/\/www.tui.com\/blog\/#\/schema\/person\/4755e7914e8aefb9ac11dab2e3a0203c"},"headline":"10 Jahre Familienspa\u00df mit TUI BLUE: Momente, die bleiben!","datePublished":"2025-04-15T12:37:03+00:00","dateModified":"2026-03-12T09:56:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/"},"wordCount":1227,"commentCount":0,"publisher":{"@id":"https:\/\/www.tui.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/#primaryimage"},"thumbnailUrl":"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2025\/04\/D260018_TB_Familie_26_1920x1080_2.jpg","keywords":["Familienurlaub","Hoteltipps","TUI BLUE"],"articleSection":["Reisearten","Reiseplanung","Urlaub mit Familie"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/","url":"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/","name":"10 Jahre Familienspa\u00df mit TUI BLUE: Momente, die bleiben! - TUI.com Reiseblog \u2600","isPartOf":{"@id":"https:\/\/www.tui.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/#primaryimage"},"image":{"@id":"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/#primaryimage"},"thumbnailUrl":"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2025\/04\/D260018_TB_Familie_26_1920x1080_2.jpg","datePublished":"2025-04-15T12:37:03+00:00","dateModified":"2026-03-12T09:56:27+00:00","description":"Entdecke die TOP 10 TUI BLUE Family Fun Hotels - perfekt f\u00fcr Familien, die mehr erleben wollen. Mehr Spa\u00df, mehr Familienzeit!","breadcrumb":{"@id":"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/#primaryimage","url":"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2025\/04\/D260018_TB_Familie_26_1920x1080_2.jpg","contentUrl":"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2025\/04\/D260018_TB_Familie_26_1920x1080_2.jpg","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/www.tui.com\/blog\/tui-blue-family-fun-hotels\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.tui.com\/blog\/"},{"@type":"ListItem","position":2,"name":"10 Jahre Familienspa\u00df mit TUI BLUE: Momente, die bleiben!"}]},{"@type":"WebSite","@id":"https:\/\/www.tui.com\/blog\/#website","url":"https:\/\/www.tui.com\/blog\/","name":"TUI.com Reiseblog \u2600","description":"Abenteuer oder lieber an den Strand? \u2600 Der TUI Reiseblog bietet tolle Infos rund um deine n\u00e4chste Reise \u2708 Komm vorbei und lass dich inspirieren \u221a","publisher":{"@id":"https:\/\/www.tui.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.tui.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.tui.com\/blog\/#organization","name":"TUI.com Reiseblog \u2600","url":"https:\/\/www.tui.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.tui.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2023\/04\/cropped-tui-logo-3.png","contentUrl":"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2023\/04\/cropped-tui-logo-3.png","width":164,"height":72,"caption":"TUI.com Reiseblog \u2600"},"image":{"@id":"https:\/\/www.tui.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.tui.com\/blog\/#\/schema\/person\/4755e7914e8aefb9ac11dab2e3a0203c","name":"Julia W\u00fcbbelmann","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2026\/02\/julia_tuerkei_profilbild-96x96.jpg","url":"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2026\/02\/julia_tuerkei_profilbild-96x96.jpg","contentUrl":"https:\/\/www.tui.com\/blog\/wp-content\/uploads\/2026\/02\/julia_tuerkei_profilbild-96x96.jpg","caption":"Julia W\u00fcbbelmann"},"url":"https:\/\/www.tui.com\/blog\/author\/tui-bloggerin-julia\/"}]}},"_links":{"self":[{"href":"https:\/\/www.tui.com\/blog\/wp-json\/wp\/v2\/posts\/465078","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tui.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tui.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tui.com\/blog\/wp-json\/wp\/v2\/users\/116"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tui.com\/blog\/wp-json\/wp\/v2\/comments?post=465078"}],"version-history":[{"count":30,"href":"https:\/\/www.tui.com\/blog\/wp-json\/wp\/v2\/posts\/465078\/revisions"}],"predecessor-version":[{"id":502058,"href":"https:\/\/www.tui.com\/blog\/wp-json\/wp\/v2\/posts\/465078\/revisions\/502058"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tui.com\/blog\/wp-json\/wp\/v2\/media\/500648"}],"wp:attachment":[{"href":"https:\/\/www.tui.com\/blog\/wp-json\/wp\/v2\/media?parent=465078"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tui.com\/blog\/wp-json\/wp\/v2\/categories?post=465078"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tui.com\/blog\/wp-json\/wp\/v2\/tags?post=465078"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}