{"id":9691,"date":"2025-12-12T10:44:06","date_gmt":"2025-12-12T10:44:06","guid":{"rendered":"https:\/\/soulsensesspa.ae\/?page_id=9691"},"modified":"2026-03-26T07:35:02","modified_gmt":"2026-03-26T07:35:02","slug":"offers","status":"publish","type":"page","link":"https:\/\/soulsensesspa.ae\/ar\/offers\/","title":{"rendered":"Offers"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"9691\" class=\"elementor elementor-9691\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-af2816f e-con-full e-flex e-con e-parent\" data-id=\"af2816f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e5fc4a6 elementor-widget elementor-widget-image\" data-id=\"e5fc4a6\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"2176\" height=\"894\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/OFFER-BANNER-IMAGE-10.jpg\" class=\"attachment-full size-full wp-image-9869\" alt=\"\" srcset=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/OFFER-BANNER-IMAGE-10.jpg 2176w, https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/OFFER-BANNER-IMAGE-10-300x123.jpg 300w, https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/OFFER-BANNER-IMAGE-10-1024x421.jpg 1024w, https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/OFFER-BANNER-IMAGE-10-768x316.jpg 768w, https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/OFFER-BANNER-IMAGE-10-1536x631.jpg 1536w, https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/OFFER-BANNER-IMAGE-10-2048x841.jpg 2048w, https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/OFFER-BANNER-IMAGE-10-18x7.jpg 18w\" sizes=\"(max-width: 2176px) 100vw, 2176px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-38242aee e-flex e-con-boxed e-con e-parent\" data-id=\"38242aee\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-179e526b elementor-widget elementor-widget-heading\" data-id=\"179e526b\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">\u0639\u0631\u0648\u0636 \u0627\u0644\u0627\u0633\u062a\u062c\u0645\u0627\u0645 \u0627\u0644\u0645\u062e\u062a\u0627\u0631\u0629 \u0628\u0639\u0646\u0627\u064a\u0629<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0da2352 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"0da2352\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cd5ae69 e-con-full e-flex e-con e-child\" data-id=\"cd5ae69\" data-element_type=\"container\" id=\"nisiaa\">\n\t\t\t\t<div class=\"elementor-element elementor-element-93f3619 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"93f3619\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n    :root {\n        --accent: #6b0f12;\n        \/* deep burgundy similar to your design *\/\n        --muted: #f3efed;\n        --card-bg: #fff;\n        --text: #222;\n    }\nselect{color: #fff;}\n#nisiaa .select-wrap::after {\n        border-color: #fff !important;\n    }\n\n\n    .sub {\n        font-family: \"Marcellus\", serif !important;\n        font-size: 16.4px;\n        font-weight: bold;\n        color: #8c282e;\n        margin-bottom: 14px;\n        text-transform: uppercase;\n    }\n    \n    .black {\n        color: black;\n    }\n\n    .controls {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 12px;\n        align-items: center;\n        margin-bottom: 12px;\n    }\n\n    .select-wrap {\n        position: relative;\n        padding: 4px 0;\n        flex: 0 1 calc(50% - 6px);\n        min-width: 0;\n        max-width: calc(50% - 6px);\n    }\n    \n    @media (min-width: 769px) {\n        .select-wrap {\n            flex: 0 1 calc(50% - 6px);\n            max-width: calc(50% - 6px);\n        }\n    }\n\n   \n\n    @media (max-width: 768px) {\n        \n        .button-group {\n            flex-direction: column;\n        }\n        \n        .button-group .book-btn {\n            width: 100%;\n        }\n    }\n\n    .desc2 {text-align: center;\n        font-family: \"Calibri\", serif !important;\n        margin-top: 0px;\n        color: #666;\n        line-height: 1.5;\n    }\n\n    .spa-inclusions {\n        max-width: 520px;\n        font-family: \"Calibri\", serif !important;\n        color: #2f2f2f;\n        line-height: 1.7;\n    }\n\n    .spa-note {\n        font-size: 16px;\n        color: #6f6f6f;\n        margin-bottom: 18px;\n    }\n\n    .spa-title {\n        font-size: 15px;\n        font-weight: 700;\n        letter-spacing: 1px;\n        margin-bottom: 12px;\n    }\n\n    .bath-heading {\n        font-size: 14px;\n        font-weight: 700;\n        margin: 10px 0 6px;\n    }\n\n    .spa-list {\n        list-style: none;\n        padding: 0;\n        margin: 0 0 14px 0;\n    }\n\n    .spa-list li {\n        font-size: 14px;\n        margin-bottom: 6px;\n    }\n\n\n    @media (max-width:980px) {\n        .offer {\n            flex-direction: column;\n        }\n\n        .offer .media {\n            width: 100%;\n            flex-basis: auto;\n        }\n\n        \/*.controls {*\/\n        \/*    flex-direction: row;*\/\n        \/*    align-items: flex-start;*\/\n        \/*}*\/\n\n        select {\n            min-width: 100%;\n            max-width: 100%;\n        }\n    }\n\n    @media (max-width: 768px) {\n    .video-modal-content {\n    width: 95% !important;\n    aspect-ratio: 9 \/ 14 !important;\n    } \n\n        #nisiaa select {\n            font-size: 12px !important;\n            padding: 6px 10px;\n        }\n\n        \/*.controls {*\/\n        \/*    flex-direction: row;*\/\n        \/*    align-items: flex-start;*\/\n        \/*}*\/\n\n        .controls {\n            flex-direction: column;\n            align-items: stretch;\n        }\n\n        .select-wrap {\n            flex: 0 1 100% !important;\n            max-width: 100% !important;\n            min-width: 100% !important;\n        }\n\n        .day-type,\n        .treatment-select,\n        .emirate-select,\n        .location-select {\n            width: 100% !important;\n        }\n\n        select {\n            -webkit-appearance: none !important;\n            -moz-appearance: none !important;\n            appearance: none !important;\n            padding: 10px 50px 10px 12px;\n            border-radius: 0px;\n            border: 1px solid #bfbfbf;\n            background: #8c282e !important;\n            background-image: none !important;\n            font-size: 12px;\n            min-width: 100px;\n            text-transform: none;\n            text-align: left;\n            cursor: pointer;\n        }\n        \n        select::-ms-expand {\n            display: none !important;\n        }\n        \n        select::-webkit-inner-spin-button,\n        select::-webkit-outer-spin-button {\n            -webkit-appearance: none !important;\n            margin: 0;\n        }\n\n        .day-type {\n            width: auto;\n            min-width: auto;\n            padding-right: 50px !important;\n        }\n\n        .select-wrap::after {\n            content: \"\";\n            position: absolute;\n            right: 16px;\n            top: 50%;\n            transform: translateY(-50%);\n            width: 12px;\n            height: 12px;\n            \/*background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='%23ffffff' d='M7 10.5L1.5 5h11z'\/%3E%3C\/svg%3E\");*\/\n            background-repeat: no-repeat;\n            background-position: center;\n            background-size: contain;\n            pointer-events: none;\n            z-index: 10;\n        }\n    }\n\n    \/* disabled option style fallback (browsers don't style disabled options consistently) *\/\n    option.unavailable {\n        color: #999;\n    }\n\n \n<\/style>\n <p class=\"desc2\">\u0627\u062f\u062e\u0644 \u0639\u0627\u0644\u0645\u064b\u0627 \u0645\u0646 \u0627\u0644\u0647\u062f\u0648\u0621 \u0648\u0627\u0633\u062a\u0645\u062a\u0639 \u0628\u0639\u0631\u0648\u0636 \u062e\u0627\u0635\u0629 \u0635\u064f\u0645\u0651\u0645\u062a \u0644\u0644\u0627\u0631\u062a\u0642\u0627\u0621 \u0628\u062a\u062c\u0631\u0628\u0629 \u0627\u0644\u0627\u0633\u062a\u0631\u062e\u0627\u0621 \u0641\u064a \u0623\u0628\u0631\u0632 \u0645\u0646\u062a\u062c\u0639\u0627\u062a \u0627\u0644\u0633\u0628\u0627 \u0648\u0627\u0644\u0627\u0633\u062a\u062c\u0645\u0627\u0645 \u0641\u064a \u062f\u0648\u0644\u0629 \u0627\u0644\u0625\u0645\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0645\u062a\u062d\u062f\u0629<\/p>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ef618d9 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"ef618d9\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n    :root {\n        --accent: #6b0f12;\n        \/* deep burgundy similar to your design *\/\n        --muted: #f3efed;\n        --card-bg: #fff;\n        --text: #222;\n    }\n\n    select {\n        color: #fff;\n    }\n\n    #nisiaa .select-wrap::after {\n        border-color: #fff !important;\n    }\n\n    .video-modal {\n        display: none;\n        position: fixed;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        background-color: rgba(0, 0, 0, 0.8);\n        z-index: 9999;\n        justify-content: center;\n        align-items: center;\n    }\n\n    .video-modal.active {\n        display: flex;\n    }\n\n    .video-modal-content {\n        position: relative !important;\n        width: 80% !important;\n        max-width: 900px !important;\n        aspect-ratio: 16 \/ 9 !important;\n        background: #000 !important;\n        border-radius: 8px !important;\n        overflow: hidden !important;\n        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;\n    }\n\n    #nisiaa select {\n        font-family: \"Calibri\", serif !important;\n        background-color: #8c282e !important;\n        border-color: #8c282e !important;\n        color: #fff !important;\n        font-size: 18px !important;\n        border-radius: 0px;\n        padding: 6px 18px;\n    }\n\n    .offer {\n        display: flex;\n        gap: 28px;\n        align-items: flex-start;\n        padding: 26px 0;\n        border-bottom: 1px dotted #bdbdbd;\n    }\n\n    .offer:first-child {\n        padding-top: 0;\n    }\n\n    .offer:last-child {\n        border-bottom: 0;\n        padding-bottom: 6px;\n    }\n\n    .offer .media {\n        flex: 0 0 360px;\n    }\n\n    .offer .media img {\n        width: 100%;\n        height: auto;\n        display: block;\n        border-radius: 6px;\n    }\n\n    .launch-deal-text {\n        background-color: #f5f5f5;\n        padding: 40px 20px;\n        display: flex;\n        flex-direction: column;\n        justify-content: center;\n        align-items: center;\n        min-height: 200px;\n        border-radius: 6px;\n        text-align: center;\n    }\n\n    .launch-deal-text .special-text {\n        font-size: 35px;\n        font-weight: 600;\n        color: #8c282e;\n        text-transform: uppercase;\n        margin-bottom: 0px;\n        font-family: \"Calibri\", sans-serif;\n    }\n\n    .launch-deal-text .launch-deal-text-large {\n        font-size: 60px;\n        font-weight: 700;\n        color: #8c282e;\n        text-transform: uppercase;\n        font-family: \"Calibri\", sans-serif;\n        line-height: 1;\n    }\n\n    .offer .content {\n        flex: 1 1 auto;\n    }\n\n    .headline {\n        font-size: 19.3px;\n        font-weight: bold;\n        letter-spacing: 1px;\n        text-transform: uppercase;\n        margin: 4px 0 12px 0;\n        color: #2e2929;\n        font-family: \"Marcellus\", serif !important;\n    }\n\n    .sub {\n        font-family: \"Marcellus\", serif !important;\n        font-size: 16.4px;\n        font-weight: bold;\n        color: #8c282e;\n        margin-bottom: 14px;\n        text-transform: uppercase;\n    }\n\n    .black {\n        color: black;\n    }\n\n    .controls {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 12px;\n        align-items: center;\n        margin-bottom: 12px;\n    }\n\n    .select-wrap {\n        position: relative;\n        padding: 4px 0;\n        flex: 0 1 calc(50% - 6px);\n        min-width: 0;\n        max-width: calc(50% - 6px);\n    }\n\n    @media (min-width: 769px) {\n        .select-wrap {\n            flex: 0 1 calc(50% - 6px);\n            max-width: calc(50% - 6px);\n        }\n    }\n\n    select {\n        -webkit-appearance: none !important;\n        -moz-appearance: none !important;\n        appearance: none !important;\n        padding: 12px 50px 12px 16px;\n        border-radius: 0px;\n        border: 1px solid #bfbfbf;\n        background: #8c282e !important;\n        background-image: none !important;\n        font-size: 13px;\n        min-width: 250px;\n        text-transform: none;\n        cursor: pointer;\n        font-family: \"Calibri\", serif !important;\n    }\n\n    \/* Hide default dropdown arrow for all browsers *\/\n    select::-ms-expand {\n        display: none !important;\n    }\n\n    select::-webkit-inner-spin-button,\n    select::-webkit-outer-spin-button {\n        -webkit-appearance: none !important;\n        margin: 0;\n    }\n\n    \/* Additional browser-specific hiding *\/\n    select::-webkit-appearance {\n        -webkit-appearance: none !important;\n    }\n\n    select::-moz-appearance {\n        -moz-appearance: none !important;\n    }\n\n    .day-type,\n    .treatment-select,\n    .emirate-select,\n    .location-select {\n        width: 100% !important;\n        min-width: 250px !important;\n        padding-right: 50px !important;\n    }\n\n    .select-wrap::after {\n        content: \"\";\n        position: absolute;\n        right: 35px;\n        top: 50%;\n        transform: translateY(-50%);\n        width: 14px;\n        height: 14px;\n        \/*background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='%23ffffff' d='M7 10.5L1.5 5h11z'\/%3E%3C\/svg%3E\");*\/\n        background-repeat: no-repeat;\n        background-position: center;\n        background-size: contain;\n        pointer-events: none;\n        z-index: 10;\n    }\n\n    \/* Hide disabled placeholder options from dropdown list *\/\n    select option[disabled] {\n        display: none;\n    }\n\n    \/* Show disabled option when it's the selected value *\/\n    select option[disabled][selected] {\n        display: block;\n        color: #999;\n    }\n\n    \/* Style regular options *\/\n    select option:not([disabled]) {\n        color: #fff;\n    }\n\n    .price-block {\n        margin-top: 8px;\n        display: flex;\n        gap: 18px;\n        align-items: center;\n        margin-bottom: 10px;\n        background: #8c282e;\n    }\n\n    .duration-box {\n        font-size: 12px;\n        padding: 8px 12px;\n        border: 1px solid #ddd;\n        border-radius: 0px;\n        background: #8c282e;\n    }\n\n    .price-box {\n        font-size: 20px;\n        color: var(--accent);\n        font-weight: 600;\n        padding: 8px 12px;\n        border: 2px solid var(--accent);\n        border-radius: 0px;\n        background: #8c282e;\n    }\n\n    .book-btn {\n        font-family: \"Calibri\", serif !important;\n        \/*font-family: \"Calibri\"*\/\n        margin-top: 6px;\n        display: inline-block;\n        background: #8c282e;\n        color: #fff;\n        padding: 6px 18px;\n        border-radius: 0px;\n        border: 0;\n        cursor: pointer;\n        font-size: 14px;\n        text-transform: uppercase;\n        width: 120px\n    }\n\n\n    .book-btn:hover {\n\n        background: #b33e3f !important;\n    }\n\n    \/* Button container for side-by-side buttons *\/\n    .button-group {\n        display: flex;\n        gap: 12px;\n        margin-top: 6px;\n        flex-wrap: wrap;\n    }\n\n    \/* Video modal styles *\/\n    .video-modal {\n        display: none;\n        position: fixed;\n        z-index: 10000;\n        left: 0;\n        top: 0;\n        width: 100%;\n        height: 100%;\n        background-color: rgba(0, 0, 0, 0.9);\n        justify-content: center;\n        align-items: center;\n    }\n\n    .video-modal.active {\n        display: flex;\n    }\n\n    .video-modal-content {\n        position: relative;\n        width: 90%;\n        max-width: 1200px;\n        padding: 20px;\n        background-color: #000;\n    }\n\n    .video-modal-close {\n        position: absolute;\n        top: -40px;\n        right: 0;\n        color: #fff;\n        font-size: 40px;\n        font-weight: bold;\n        cursor: pointer;\n        line-height: 1;\n        z-index: 10001;\n    }\n\n    .video-modal-close:hover {\n        color: #b33e3f;\n    }\n\n    .video-modal video {\n        width: 100%;\n        height: auto;\n        display: block;\n    }\n\n    @media (max-width: 768px) {\n\n        .button-group {\n            flex-direction: column;\n        }\n\n        .button-group .book-btn {\n            width: 100%;\n        }\n    }\n\n    .desc {\n        font-family: \"Calibri\", serif !important;\n        margin-top: 10px;\n        color: #666;\n        max-width: 560px;\n        line-height: 1.5;\n    }\n\n    .spa-inclusions {\n        max-width: 520px;\n        font-family: \"Calibri\", serif !important;\n        color: #2f2f2f;\n        line-height: 1.7;\n    }\n\n    .spa-note {\n        font-size: 16px;\n        color: #6f6f6f;\n        margin-bottom: 18px;\n    }\n\n    .spa-title {\n        font-size: 15px;\n        font-weight: 700;\n        letter-spacing: 1px;\n        margin-bottom: 12px;\n    }\n\n    .bath-heading {\n        font-size: 14px;\n        font-weight: 700;\n        margin: 10px 0 6px;\n    }\n\n    .spa-list {\n        list-style: none;\n        padding: 0;\n        margin: 0 0 14px 0;\n    }\n\n    .spa-list li {\n        font-size: 14px;\n        margin-bottom: 6px;\n    }\n\n\n    @media (max-width:980px) {\n        .offer {\n            flex-direction: column;\n        }\n\n        .offer .media {\n            width: 100%;\n            flex-basis: auto;\n        }\n\n        \/*.controls {*\/\n        \/*    flex-direction: row;*\/\n        \/*    align-items: flex-start;*\/\n        \/*}*\/\n\n        select {\n            min-width: 100%;\n            max-width: 100%;\n        }\n    }\n\n    @media (max-width: 768px) {\n        .video-modal-content {\n            width: 95% !important;\n            aspect-ratio: 9 \/ 14 !important;\n        }\n\n        #nisiaa select {\n            font-size: 12px !important;\n            padding: 6px 10px;\n        }\n\n        \/*.controls {*\/\n        \/*    flex-direction: row;*\/\n        \/*    align-items: flex-start;*\/\n        \/*}*\/\n\n        .controls {\n            flex-direction: column;\n            align-items: stretch;\n        }\n\n        .select-wrap {\n            flex: 0 1 100% !important;\n            max-width: 100% !important;\n            min-width: 100% !important;\n        }\n\n        .day-type,\n        .treatment-select,\n        .emirate-select,\n        .location-select {\n            width: 100% !important;\n        }\n\n        select {\n            -webkit-appearance: none !important;\n            -moz-appearance: none !important;\n            appearance: none !important;\n            padding: 10px 50px 10px 12px;\n            border-radius: 0px;\n            border: 1px solid #bfbfbf;\n            background: #8c282e !important;\n            background-image: none !important;\n            font-size: 12px;\n            min-width: 100px;\n            text-transform: none;\n            text-align: left;\n            cursor: pointer;\n            font-family: \"Calibri\", serif !important;\n        }\n\n        select::-ms-expand {\n            display: none !important;\n        }\n\n        select::-webkit-inner-spin-button,\n        select::-webkit-outer-spin-button {\n            -webkit-appearance: none !important;\n            margin: 0;\n        }\n\n        .day-type {\n            width: auto;\n            min-width: auto;\n            padding-right: 50px !important;\n        }\n\n        .select-wrap::after {\n            content: \"\";\n            position: absolute;\n            right: 16px;\n            top: 50%;\n            transform: translateY(-50%);\n            width: 12px;\n            height: 12px;\n            \/*background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='%23ffffff' d='M7 10.5L1.5 5h11z'\/%3E%3C\/svg%3E\");*\/\n            background-repeat: no-repeat;\n            background-position: center;\n            background-size: contain;\n            pointer-events: none;\n            z-index: 10;\n        }\n    }\n\n    \/* disabled option style fallback (browsers don't style disabled options consistently) *\/\n    option.unavailable {\n        color: #999;\n    }\n\n    .container {\n        max-width: 1200px;\n        margin: 0 auto;\n        padding: 20px;\n        width: 100%;\n        box-sizing: border-box;\n    }\n\n    \/* Facilities Styles *\/\n    .facilities-container {\n        display: none;\n        margin-top: 10px;\n        margin-bottom: 10px;\n        background-color: #f8f8f8;\n        padding: 8px 10px;\n        border-radius: 4px;\n        border: 1px solid #eee;\n    }\n\n    .facilities-title {\n        font-family: \"Calibri\", serif !important;\n        font-size: 15px;\n        color: #444;\n        margin-bottom: 7px;\n        font-weight: normal;\n        background-color: #e8e8e8;\n        padding: 6px 10px;\n        display: inline-block;\n        width: 100%;\n        box-sizing: border-box;\n    }\n\n    .facilities-icons {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 14px;\n        align-items: center;\n    }\n\n    .facility-item {\n        display: flex;\n        align-items: center;\n        gap: 6px;\n    }\n\n    .facility-item img {\n        width: 50px;\n        height: 50px;\n        object-fit: contain;\n    }\n\n    .facility-text {\n        font-family: \"Calibri\", serif !important;\n        font-size: 10px;\n        font-weight: 700;\n        text-transform: uppercase;\n        color: #333;\n        letter-spacing: 0.3px;\n        margin-left: -20px;\n    }\n\n    .timing-item {\n        display: flex;\n        align-items: center;\n        gap: 6px;\n        margin-top: 5px;\n        \/* Slight spacing if wrapped *\/\n    }\n\n    .timing-text {\n        color: #8c282e;\n        font-size: 12px;\n        \/* Adjusted to match icons better *\/\n        font-weight: bold;\n        font-family: \"Calibri\", serif !important;\n        white-space: nowrap;\n        margin-left: -20px;\n        \/* Prevent breaking the time string *\/\n    }\n\n    @media (min-width: 981px) {\n        .timing-item {\n            margin-top: 0;\n        }\n    }\n\n    @media (max-width: 980px) {\n        .facilities-icons {\n            gap: 6px;\n        }\n\n        .timing-text {\n            font-family: \"Calibri\", serif !important;\n        }\n\n        .facility-text {\n            font-family: \"Calibri\", serif !important;\n        }\n\n        .facilities-title {\n            font-family: \"Calibri\", serif !important;\n        }\n\n        .timing-item {\n            width: 100%;\n            justify-content: flex-start;\n            \/* Left align on mobile *\/\n        }\n    }\n<\/style>\n\n<div class=\"container\">\n    \n    <!-- Offer: 22 For 22 Launch Special (commented out)\n    <div class=\"offer\" data-category=\"22 For 22 Launch Special\">\n        <div class=\"media\">\n            <div class=\"launch-deal-text\">\n                <div class=\"special-text\">SPECIAL<\/div>\n                <div class=\"launch-deal-text-large\">LAUNCH DEAL<\/div>\n            <\/div>\n        <\/div>\n        <div class=\"content\">\n            <div class=\"headline\">22 For 22 Launch Special!<\/div>\n            <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\n            <p class=\"desc\">\n            CELEBRATING OUR 22ND OUTLET IN STYLE | ONLY FOR 22 DAYS!\nROSE RAYHAAN BY ROTANA, SHEIKH ZAYED ROAD - DIFC<\/p>\n            <div class=\"sub\"><span class=\"duration-label\">60 minutes<\/span> \u2014 <span class=\"price-label\">AED\n                    220<\/span>\n            <\/div>\n            <div class=\"sub\">\n            AED 22 ADD-ON: FACE SHEET MASK + SCALP MASSAGER\n            <\/div>\n\n            <div class=\"controls\">\n                <div class=\"select-wrap\">\n                    <select class=\"treatment-select\">\n                        <option value=\"\">Choose a Treatment<\/option>\n                    <\/select>\n                <\/div>\n            <\/div>\n\n            <button class=\"book-btn\">Book Now<\/button>\n        <\/div>\n    <\/div>\n    -->\n\n    <!-- Offer: Couple Spa Deals -->\n    <div class=\"offer\" data-category=\"Couple Spa Deals\">\n        <div class=\"media\">\n            <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-12-at-12.56.25.png\"\n                alt=\"Couple Spa Deals\">\n        <\/div>\n        <div class=\"content\">\n            <div class=\"headline\">\u0639\u0631\u0648\u0636 \u0633\u0628\u0627 \u0644\u0644\u0623\u0632\u0648\u0627\u062c<\/div>\n            <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\n\n            <p class=\"desc\">\u0627\u062d\u062a\u0641\u0644\u0648\u0627 \u0628\u0644\u062d\u0638\u0627\u062a\u0643\u0645 \u0627\u0644\u0645\u0634\u062a\u0631\u0643\u0629 \u0645\u0639 \u062a\u062c\u0627\u0631\u0628 \u0633\u0628\u0627 \u062d\u0635\u0631\u064a\u0629 \u0644\u0644\u0623\u0632\u0648\u0627\u062c\u060c \u0635\u064f\u0645\u0651\u0645\u062a \u0628\u0639\u0646\u0627\u064a\u0629 \u0648\u062a\u064f\u0642\u062f\u0651\u064e\u0645 \u0641\u064a \u0623\u0631\u0642\u0649 \u0627\u0644\u0641\u0646\u0627\u062f\u0642 \u0648\u0627\u0644\u0645\u0646\u062a\u062c\u0639\u0627\u062a \u0648\u0627\u0644\u0645\u062c\u0645\u0651\u0639\u0627\u062a \u0627\u0644\u062a\u062c\u0627\u0631\u064a\u0629 \u0627\u0644\u0641\u0627\u062e\u0631\u0629 \u0645\u0646 \u0641\u0626\u0629 \u0627\u0644\u062e\u0645\u0633 \u0646\u062c\u0648\u0645<\/p>\n\n            <div class=\"sub\"><span class=\"duration-label\">60 minutes<\/span> \u2014 <span class=\"price-label\">AED\n                    399<\/span>\n            <\/div>\n\n            <div class=\"controls\">\n                <div class=\"select-wrap\">\n                    <select class=\"day-type\">\n                        <option value=\"\" disabled selected>Choose a Day<\/option>\n                        <option value=\"WEEKDAY\">Weekday Specials (monday to thursday)<\/option>\n                        <option value=\"WEEKEND\">Weekend Specials (friday to sunday)<\/option>\n                    <\/select>\n                <\/div>\n\n                <div class=\"select-wrap\">\n                    <select class=\"treatment-select\" disabled>\n                        <option value=\"\">Choose a Treatment<\/option>\n                    <\/select>\n                <\/div>\n\n                <div class=\"select-wrap\">\n                    <select class=\"emirate-select\" disabled>\n                        <option value=\"\">Select the Emirate<\/option>\n                        <option value=\"dubai\">\u062f\u0628\u064a<\/option>\n                        <option value=\"abudhabi\">\u0623\u0628\u0648\u0638\u0628\u064a<\/option>\n                        <option value=\"sharjah\">\u0627\u0644\u0634\u0627\u0631\u0642\u0629<\/option>\n                    <\/select>\n                <\/div>\n\n                <div class=\"select-wrap\">\n                    <select class=\"location-select\" disabled>\n                        <option value=\"\">Preferred Location<\/option>\n                    <\/select>\n                <\/div>\n            <\/div>\n\n            <button class=\"book-btn\">\u0627\u062d\u062c\u0632\u064a \u0627\u0644\u0622\u0646<\/button>\n        <\/div>\n    <\/div>\n\n    <!-- Offer: Self Care Specials -->\n    <div class=\"offer\" data-category=\"Self Care Specials\">\n        <div class=\"media\">\n            <!--<img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-12-at-12.56.31.png\"-->\n            <!--    alt=\"Self Care Specials\">-->\n            <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2026\/01\/Self-Care.webp\"\n                alt=\"Self Care Specials\">\n        <\/div>\n        <div class=\"content\">\n            <div class=\"headline\">\u0639\u0631\u0648\u0636 \u0627\u0644\u0639\u0646\u0627\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629<\/div>\n            <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\n\n            <p class=\"desc\">\u062e\u0630 \u0644\u062d\u0638\u0629 \u0644\u0646\u0641\u0633\u0643. \u0633\u0648\u0627\u0621 \u0643\u0646\u062a \u062a\u0634\u0639\u0631 \u0628\u0627\u0644\u0625\u0631\u0647\u0627\u0642\u060c \u0623\u0648 \u062a\u0639\u0627\u0646\u064a \u0645\u0646 \u0625\u0631\u0647\u0627\u0642 \u0627\u0644\u0633\u0641\u0631\u060c \u0623\u0648 \u062a\u0631\u063a\u0628 \u0628\u0642\u0644\u064a\u0644 \u0645\u0646 \u0627\u0644\u0639\u0646\u0627\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629\u060c \u0641\u0625\u0646 \u0645\u062c\u0645\u0648\u0639\u062a\u0646\u0627 \u0627\u0644\u0645\u062e\u062a\u0627\u0631\u0629 \u0645\u0646 \u0627\u0644\u0639\u0644\u0627\u062c\u0627\u062a \u0647\u0646\u0627 \u0644\u0645\u0633\u0627\u0639\u062f\u062a\u0643 \u0639\u0644\u0649 \u0627\u0644\u0627\u0633\u062a\u0631\u062e\u0627\u0621 \u0648\u062a\u062c\u062f\u064a\u062f \u0646\u0634\u0627\u0637\u0643<\/p>\n\n            <div class=\"sub\"><span class=\"duration-label\">60 minutes<\/span> \u2014 <span class=\"price-label\">AED\n                    199<\/span>\n            <\/div>\n\n            <div class=\"controls\">\n                <div class=\"select-wrap\">\n                    <select class=\"day-type\">\n                        <option value=\"\" disabled selected>Choose a Day<\/option>\n                        <option value=\"WEEKDAY\">Weekday Specials (monday to thursday)<\/option>\n                        <option value=\"WEEKEND\">Weekend Specials (friday to sunday)<\/option>\n                    <\/select>\n                <\/div>\n\n                <div class=\"select-wrap\">\n                    <select class=\"treatment-select\" disabled>\n                        <option value=\"\">Choose a Treatment<\/option>\n                    <\/select>\n                <\/div>\n\n                <div class=\"select-wrap\">\n                    <select class=\"emirate-select\" disabled>\n                        <option value=\"\">Select the Emirate<\/option>\n                        <option value=\"dubai\">\u062f\u0628\u064a<\/option>\n                        <option value=\"abudhabi\">\u0623\u0628\u0648\u0638\u0628\u064a<\/option>\n                        <option value=\"sharjah\">\u0627\u0644\u0634\u0627\u0631\u0642\u0629<\/option>\n                    <\/select>\n                <\/div>\n\n                <div class=\"select-wrap\">\n                    <select class=\"location-select\" disabled>\n                        <option value=\"\">Preferred Location<\/option>\n                    <\/select>\n                <\/div>\n            <\/div>\n\n            <button class=\"book-btn\">\u0627\u062d\u062c\u0632\u064a \u0627\u0644\u0622\u0646<\/button>\n        <\/div>\n    <\/div>\n\n    <!-- Offer: Couple Relaxation -->\n    <div class=\"offer\" data-category=\"Couple Relaxation\">\n        <div class=\"media\">\n            <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-12-at-12.56.37.png\"\n                alt=\"Couple Relaxation\">\n        <\/div>\n        <div class=\"content\">\n            <div class=\"headline\">\u062d\u0645\u0651\u0627\u0645 \u0627\u0644\u0632\u0647\u0648\u0631 \u0627\u0644\u0641\u0627\u062e\u0631<\/div>\n            <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\n            <div class=\"sub\"><span class=\"black\">\u062a\u062c\u0631\u0628\u0629 \u0627\u0644\u0633\u0628\u0627 \u0627\u0644\u0645\u0633\u062a\u0648\u062d\u0627\u0629 \u0645\u0646 \u0646\u062a\u0641\u0644\u064a\u0643\u0633 \u0627\u0644\u062a\u064a \u064a\u062a\u062d\u062f\u062b \u0639\u0646\u0647\u0627 \u0627\u0644\u062c\u0645\u064a\u0639\n                    <br \/><\/span><span class=\"duration-label\">60\n                    minutes<\/span> \u2014 <span class=\"price-label\">AED 399<\/span>\n            <\/div>\n\n            <div class=\"controls\">\n                <div class=\"select-wrap\">\n                    <select class=\"day-type\">\n                        <option value=\"\" disabled selected>Choose a Day<\/option>\n                        <option value=\"WEEKDAY\">Weekday Specials (monday to thursday)<\/option>\n                        <option value=\"WEEKEND\">Weekend Specials (friday to sunday)<\/option>\n                    <\/select>\n                <\/div>\n\n                <div class=\"select-wrap\">\n                    <select class=\"treatment-select\" disabled>\n                        <option value=\"\">Total People<\/option>\n                    <\/select>\n                <\/div>\n\n                <div class=\"select-wrap\">\n                    <select class=\"emirate-select\" disabled>\n                        <option value=\"\">Select the Emirate<\/option>\n                        <option value=\"dubai\">\u062f\u0628\u064a<\/option>\n                        <option value=\"sharjah\">\u0627\u0644\u0634\u0627\u0631\u0642\u0629<\/option>\n                    <\/select>\n                <\/div>\n\n                <div class=\"select-wrap\">\n                    <select class=\"location-select\" disabled>\n                        <option value=\"\">Preferred Location<\/option>\n                    <\/select>\n                <\/div>\n            <\/div>\n\n\n            <!--<p class=\"desc\">Celebrate togetherness with our couple-focused relaxation experiences: classic, premium and-->\n            <!--    hot-stone options available across many locations.<\/p>-->\n\n            <div class=\"spa-inclusions\">\n                <p class=\"spa-note\">\n                    (\u0645\u062b\u0627\u0644\u064a \u0644\u0623\u0639\u064a\u0627\u062f \u0627\u0644\u0645\u064a\u0644\u0627\u062f\u060c \u0648\u0630\u0643\u0631\u0649 \u0627\u0644\u0645\u0646\u0627\u0633\u0628\u0627\u062a \u0627\u0644\u062e\u0627\u0635\u0629\u060c \u0623\u0648 \u0644\u0642\u0636\u0627\u0621 \u0648\u0642\u062a \u0645\u0645\u062a\u0639 \u0645\u0639 \u0627\u0644\u0623\u0635\u062f\u0642\u0627\u0621)\n                <\/p>\n\n                <h4 class=\"spa-title\">: \u064a\u0634\u0645\u0644 \u0627\u0644\u0639\u0631\u0636<\/h4>\n\n                <ul class=\"spa-list\">\n                    <li>\u0627\u0644\u062a\u062c\u0631\u0628\u0629 \u0627\u0644\u0643\u0627\u0645\u0644\u0629: 90 \u062f\u0642\u064a\u0642\u0629-<\/li>\n                    <li>\u0639\u0644\u0627\u062c \u0645\u0633\u0627\u062c \u0643\u0644\u0627\u0633\u064a\u0643\u064a \u2013 60 \u062f\u0642\u064a\u0642\u0629-<\/li>\n                    <li>\u062d\u0645\u0651\u0627\u0645 \u0627\u0644\u0632\u0647\u0648\u0631 \u0627\u0644\u0645\u0645\u064a\u0651\u0632 \u2013 30 \u062f\u0642\u064a\u0642\u0629-<\/li>\n                <\/ul>\n\n                <p class=\"bath-heading\">: \u062e\u064a\u0627\u0631\u0627\u062a \u0627\u0644\u062d\u0645\u0651\u0627\u0645<\/p>\n                <ul class=\"spa-list\">\n                    <li>\u0627\u0644\u0639\u0646\u0628 \u0627\u0644\u0623\u062d\u0645\u0631\u060c \u0627\u0644\u0644\u064a\u0645\u0648\u0646 \u0648\u0627\u0644\u0642\u0631\u0641\u0629-<\/li>\n                    <li>\u062d\u0644\u064a\u0628 \u0639\u0637\u0631\u064a \u0641\u0627\u062e\u0631-<\/li>\n                    <li>\u062d\u0645\u0651\u0627\u0645 \u062c\u0645\u0627\u0644 \u0643\u0644\u064a\u0648\u0628\u0627\u062a\u0631\u0627-<\/li>\n                <\/ul>\n\n                <ul class=\"spa-list\">\n                    <li>\u0639\u0635\u0627\u0626\u0631 \u0637\u0627\u0632\u062c\u0629 \u0648\u0637\u0628\u0642 \u0641\u0648\u0627\u0643\u0647 \u0645\u062c\u0627\u0646\u064b\u0627-<\/li>\n                    <li>\u0627\u062e\u062a\u064a\u0627\u0631\u064a: \u0646\u0628\u064a\u0630 \u0641\u0648\u0627\u0631 \u063a\u064a\u0631 \u0643\u062d\u0648\u0644\u064a \u2014 100 \u062f\u0631\u0647\u0645 \u0625\u0645\u0627\u0631\u0627\u062a\u064a-<\/li>\n                <\/ul>\n            <\/div>\n\n\n\n            <button class=\"book-btn\">\u0627\u062d\u062c\u0632\u064a \u0627\u0644\u0622\u0646<\/button>\n\n\n        <\/div>\n    <\/div>\n\n    <!-- Offer: Me-time Indulgence -->\n    <!--<div class=\"offer\" data-category=\"Me-time Indulgence\">-->\n    <!--    <div class=\"media\">-->\n    <!--        <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-12-at-12.56.44.png\"-->\n    <!--            alt=\"Me-time Indulgence\">-->\n    <!--    <\/div>-->\n    <!--    <div class=\"content\">-->\n    <!--        <div class=\"headline\">Launch Special<\/div>-->\n    <!--        <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">-->\n    <!--        <div class=\"sub\">50% Off on all Services<br \/><span class=\"black\">Celebrate Our 21st Location valid-->\n    <!--                at:<\/span>Pearl Rotana Abu Dhabi<\/div>-->\n            <!--<div class=\"sub\"><span class=\"duration-label\">60 minutes<\/span> \u2014 <span class=\"price-label\">AED 199<\/span>-->\n            <!--<\/div>-->\n\n            <!--<div class=\"controls\">-->\n            <!--    <div class=\"select-wrap\">-->\n            <!--        <select class=\"day-type\">-->\n            <!--            <option value=\"\">Choose a day<\/option>-->\n            <!--            <option value=\"WEEKDAY\">WEEKDAY PRICES - Monday to Thursday<\/option>-->\n            <!--            <option value=\"WEEKEND\">WEEKEND PRICES - Friday to Sunday<\/option>-->\n            <!--        <\/select>-->\n            <!--    <\/div>-->\n\n            <!--    <div class=\"select-wrap\">-->\n            <!--        <select class=\"treatment-select\" disabled>-->\n            <!--            <option value=\"\">Choose treatment<\/option>-->\n            <!--        <\/select>-->\n            <!--    <\/div>-->\n\n            <!--    <div class=\"select-wrap\">-->\n            <!--        <select class=\"location-select\" disabled>-->\n            <!--            <option value=\"\">Preferred location<\/option>-->\n            <!--        <\/select>-->\n            <!--    <\/div>-->\n            <!--<\/div>-->\n\n\n            <!--<p class=\"desc\">Take a moment for yourself with our Me-time treatments: classic, premium and hot-stone-->\n            <!--    packages to help you relax and rejuvenate.<\/p>-->\n\n    <!--        <a href=\"https:\/\/wa.me\/971503010810?text=Hey%21%20I%20can%20book%20a%20Launch%20Special%20-%20Half%20Price\"-->\n    <!--            target=\"_blank\">-->\n    <!--            <button class=\"book-btn\">Book Now<\/button><\/a>-->\n\n\n    <!--    <\/div>-->\n    <!--<\/div>-->\n\n    <!-- Offer: Foot reflexology -->\n    <div class=\"offer\" data-category=\"Foot reflexology Bliss\">\n        <div class=\"media\">\n            <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-12-at-12.56.53.png\"\n                alt=\"Foot reflexology\">\n        <\/div>\n        <div class=\"content\">\n            <div class=\"headline\">\u0639\u0631\u0636 \u0645\u0633\u0627\u062c \u0627\u0644\u0642\u062f\u0645\u064a\u0646<\/div>\n            <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\n            <div class=\"sub\"><span class=\"duration-label\">30 minutes<\/span> \u2014 <span class=\"price-label\">AED\n                    99<\/span>\n            <\/div>\n\n            <div class=\"controls\">\n                <div class=\"select-wrap\">\n                    <select class=\"day-type\">\n                        <option value=\"\" disabled selected>Choose a Day<\/option>\n                        <option value=\"WEEKDAY\">Weekday Specials (monday to thursday)<\/option>\n                        <option value=\"WEEKEND\">Weekend Specials (friday to sunday)<\/option>\n                    <\/select>\n                <\/div>\n\n                <div class=\"select-wrap\">\n                    <select class=\"emirate-select\" disabled>\n                        <option value=\"\">Select the Emirate<\/option>\n                        <option value=\"dubai\">\u062f\u0628\u064a<\/option>\n                        <option value=\"abudhabi\">\u0623\u0628\u0648\u0638\u0628\u064a<\/option>\n                        <option value=\"sharjah\">\u0627\u0644\u0634\u0627\u0631\u0642\u0629<\/option>\n                    <\/select>\n                <\/div>\n\n                <div class=\"select-wrap\">\n                    <select class=\"location-select\" disabled>\n                        <option value=\"\">Preferred Location<\/option>\n                    <\/select>\n                <\/div>\n            <\/div>\n\n            <p class=\"desc\">\u0627\u0633\u062a\u0645\u062a\u0639\u0648\u0627 \u0628\u0647\u0630\u0627 \u0627\u0644\u0639\u0631\u0636 \u0627\u0644\u062d\u0635\u0631\u064a \u0641\u064a \u062c\u0645\u064a\u0639 \u0641\u0631\u0648\u0639\u0646\u0627 \u0627\u0644\u064021 \u0641\u064a \u0623\u0646\u062d\u0627\u0621 \u062f\u0648\u0644\u0629 \u0627\u0644\u0625\u0645\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0645\u062a\u062d\u062f\u0629 \u2014 \u0644\u0643\u0646 \u0633\u0627\u0631\u0639\u0648\u0627\u060c \u0641\u0627\u0644\u0639\u0631\u0636 \u0645\u062a\u0627\u062d \u0644\u0641\u062a\u0631\u0629 \u0645\u062d\u062f\u0648\u062f\u0629 \u0641\u0642\u0637! \u0644\u0627 \u062a\u0641\u0648\u0651\u062a\u0648\u0627 \u0641\u0631\u0635\u0629 \u062a\u062f\u0644\u064a\u0644 \u0623\u0646\u0641\u0633\u0643\u0645<\/p>\n\n            <button class=\"book-btn\">\u0627\u062d\u062c\u0632\u064a \u0627\u0644\u0622\u0646<\/button>\n\n\n        <\/div>\n    <\/div>\n\n    <!-- Offer: Celebration Packages -->\n    <div class=\"offer\" data-category=\"Celebration Packages\">\n        <div class=\"media\">\n            <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/550X413-GIFT-BOX-IMAGE.jpg\"\n                alt=\"Celebration Packages\">\n        <\/div>\n        <div class=\"content\">\n            <div class=\"headline\">\u0642\u0633\u0627\u0626\u0645 \u062d\u0635\u0631\u064a\u0629 \u0648\u0645\u062c\u0645\u0648\u0639\u0627\u062a \u0647\u062f\u0627\u064a\u0627 \u0641\u0627\u062e\u0631\u0629<\/div>\n            <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\n            <!--<div class=\"sub\"><span class=\"duration-label\">90 minutes<\/span> \u2014 <span class=\"price-label\">AED 499<\/span>-->\n            <!--<\/div>-->\n\n            <!--<div class=\"controls\">-->\n            <!--    <div class=\"select-wrap\">-->\n            <!--        <select class=\"day-type\">-->\n            <!--            <option value=\"\">Choose a day<\/option>-->\n            <!--            <option value=\"WEEKDAY\">Weekday Prices - Monday to Thursday<\/option>-->\n            <!--            <option value=\"WEEKEND\">Weekend Prices - Friday to Sunday<\/option>-->\n            <!--        <\/select>-->\n            <!--    <\/div>-->\n\n            <!--    <div class=\"select-wrap\">-->\n            <!--        <select class=\"treatment-select\" disabled>-->\n            <!--            <option value=\"\">Choose treatment<\/option>-->\n            <!--        <\/select>-->\n            <!--    <\/div>-->\n\n            <!--    <div class=\"select-wrap\">-->\n            <!--        <select class=\"location-select\" disabled>-->\n            <!--            <option value=\"\">Preferred location<\/option>-->\n            <!--        <\/select>-->\n            <!--    <\/div>-->\n            <!--<\/div>-->\n\n\n            <p class=\"desc\">\n\n                <span class=\"bath-heading\" style=\"color: #2f2f2f;\">\u0645\u062d\u062a\u0648\u064a\u0627\u062a \u0635\u0646\u062f\u0648\u0642 \u0627\u0644\u0647\u062f\u064a\u0629<\/span><br>\n                \u0635\u0646\u062f\u0648\u0642 \u062a\u0630\u0643\u0627\u0631\u064a \u0641\u0627\u062e\u0631\u060c \u0628\u0637\u0627\u0642\u0629 \u0631\u0633\u0627\u0644\u0629\u060c \u0642\u0633\u064a\u0645\u0629 \u0633\u0628\u0627\u060c \u0648\u0645\u0633\u062a\u0644\u0632\u0645\u0627\u062a \u0645\u062e\u062a\u0627\u0631\u0629 \u0628\u0639\u0646\u0627\u064a\u0629 \u0645\u0646 \u0627\u0644\u0627\u0633\u062a\u062c\u0645\u0627\u0645 \u0648\u0627\u0644\u0639\u0627\u0641\u064a\u0629\u060c \u0635\u064f\u0645\u0651\u0645\u062a \u0644\u062a\u0646\u0627\u0633\u0628 \u062c\u0645\u064a\u0639 \u0627\u0644\u0645\u0646\u0627\u0633\u0628\u0627\u062a<br><br>\n\n                <span class=\"bath-heading\" style=\"color: #2f2f2f;\">\u062e\u064a\u0627\u0631\u0627\u062a \u0627\u0644\u0642\u0633\u0627\u0626\u0645<\/span><br>\n                \u0645\u062a\u0648\u0641\u0631\u0629 \u0643\u0642\u0633\u0627\u0626\u0645 \u0631\u0642\u0645\u064a\u0629 \u0623\u0648 \u0628\u0637\u0627\u0642\u0627\u062a \u0647\u062f\u0627\u064a\u0627 \u0641\u0627\u062e\u0631\u0629\u060c \u0648\u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u0627\u0633\u062a\u0631\u062f\u0627\u062f \u0641\u064a \u062c\u0645\u064a\u0639 \u0641\u0631\u0648\u0639 \u0633\u0648\u0644 \u0633\u0646\u0633\u0632 \u0633\u0628\u0627<br><br>\n\n                <span class=\"bath-heading\" style=\"color: #2f2f2f;\">\u0642\u064a\u0645 \u0627\u0644\u0647\u062f\u0627\u064a\u0627<\/span><br>\n                \u0627\u062e\u062a\u0631 \u0645\u0646 \u0628\u064a\u0646 \u0642\u0633\u0627\u0626\u0645 \u0633\u0628\u0627 \u0628\u0642\u064a\u0645: 500\u060c 1,000 \u0623\u0648 3,000 \u062f\u0631\u0647\u0645 \u0625\u0645\u0627\u0631\u0627\u062a\u064a<br><br>\n\n                <span class=\"bath-heading\" style=\"color: #2f2f2f;\">\u0627\u0644\u0641\u0631\u0648\u0639<\/span><br>\n                \u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u0627\u0633\u062a\u0631\u062f\u0627\u062f \u0641\u064a 21 \u0641\u0631\u0639\u064b\u0627 \u0645\u0646 \u0641\u0631\u0648\u0639 \u0633\u0648\u0644 \u0633\u0646\u0633\u0632 \u0633\u0628\u0627 \u0641\u064a \u0623\u0646\u062d\u0627\u0621 \u062f\u0648\u0644\u0629 \u0627\u0644\u0625\u0645\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0645\u062a\u062d\u062f\u0629<br>\n\n            <\/p>\n\n            <div class=\"button-group\">\n                <button class=\"book-btn\" style=\"width: unset!important;\"\n                    onclick=\"window.location.href='https:\/\/soulsensesspa.ae\/soul-premium-gift-box\/'\">\n                    \u0627\u0634\u062a\u0631\u064a \u0635\u0646\u062f\u0648\u0642 \u0627\u0644\u0647\u062f\u0627\u064a\u0627 \u0627\u0644\u0641\u0627\u062e\u0631\u0647\n                <\/button>\n                <button class=\"book-btn\" style=\"width: unset!important;\"\n                    onclick=\"window.location.href='https:\/\/soulsensesspa.ae\/buy-voucher\/'\">\n                    \u0627\u0634\u062a\u0631\u0650 \u0642\u0633\u064a\u0645\u0629 \u0647\u062f\u064a\u0629\n                <\/button>\n                <button class=\"book-btn play-video-btn\" style=\"width: unset!important;\">\u0634\u0627\u0647\u062f \u0627\u0644\u0641\u064a\u062f\u064a\u0648<\/button>\n            <\/div>\n\n\n        <\/div>\n    <\/div>\n\n    <!-- Video Modal -->\n    <div id=\"videoModal\" class=\"video-modal\">\n        <div class=\"video-modal-content\">\n            <span class=\"video-modal-close\">&times;<\/span>\n            <div id=\"videoContainer\">\n                <video id=\"videoPlayer\" controls preload=\"none\" playsinline webkit-playsinline>\n                    <source src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/soul-33333.mov\"\n                        type=\"video\/quicktime\">\n                    <source src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/soul-33333.mov\" type=\"video\/mp4\">\n                    Your browser does not support the video tag.\n                <\/video>\n\n            <\/div>\n        <\/div>\n    <\/div>\n\n<\/div>\n\n<script>\n    \/\/ Initialize function - works with both direct HTML and Elementor\n    function initSpaDropdowns() {\n        \/\/ Check if elements exist, if not, return and try again later\n        const offers = document.querySelectorAll('.offer');\n        if (offers.length === 0) {\n            return false;\n        }\n\n        \/\/ Check if already initialized for these elements\n        const firstOffer = offers[0];\n        if (firstOffer.dataset.spaInitialized === 'true') {\n            return true;\n        }\n\n        \/\/ Mark as initialized\n        offers.forEach(offer => {\n            offer.dataset.spaInitialized = 'true';\n        });\n\n        \/* Updated pricing data from spreadsheet\n           Treatment mapping:\n           - Classic treatments map to couple_classic\/metime_classic\n           - Premium treatments map to couple_premium\/metime_premium  \n           - High Priced treatments map to couple_hotstone\/metime_hotstone\n        *\/\n\n        \/\/ Treatment name mappings\n        const treatmentMappings = {\n            \/\/ Classic treatments (map to couple_classic\/metime_classic)\n            \"aromatherapy\": { tier: \"classic\", name: \"Aromatherapy Treatment\" },\n            \"thai_traditional\": { tier: \"classic\", name: \"Traditional Thai Massage\" },\n            \"deep_tissue\": { tier: \"classic\", name: \"Deep tissue Massage\" },\n            \"balinese\": { tier: \"classic\", name: \"Balinese Massage\" },\n            \"swedish\": { tier: \"classic\", name: \"Swedish Massage\" },\n            \/\/ Premium treatments (map to couple_premium\/metime_premium): Fusion Hot Oil, Sports Massage\n            \"fusion_hot_oil\": { tier: \"premium\", name: \"Fusion Hot Oil Therapy\" },\n            \"sports\": { tier: \"premium\", name: \"Sports Massage\" },\n            \/\/ High Priced Premium (map to couple_hotstone\/metime_hotstone): Hot Stone, Thai Herbal Compress\n            \"hot_stone\": { tier: \"hotstone\", name: \"Hot stone Massage\" },\n            \"herbal_compress\": { tier: \"hotstone\", name: \"Herbal Compress Thai Ball\" }\n        };\n\n        const pricingData = {\n            \"WEEKDAY\": {\n                treatments: {\n                    \"foot_reflex\": { name: \"Foot reflexology Bliss - 30 mins\", duration: 30 },\n                    \"couple_classic\": { name: \"Couple Relaxation - Classic 60 mins\", duration: 60 },\n                    \"couple_premium\": { name: \"Couple Relaxation - Premium 60 mins\", duration: 60 },\n                    \"couple_hotstone\": { name: \"Couple Relaxation - Hot Stone 60 mins\", duration: 60 },\n                    \"metime_classic\": { name: \"Me-time Indulgence - Classic 60 mins\", duration: 60 },\n                    \"metime_premium\": { name: \"Me-time Indulgence - Premium 60 mins\", duration: 60 },\n                    \"metime_hotstone\": { name: \"Me-time Indulgence - Hot stone 60 mins\", duration: 60 },\n                    \"celebration_single\": { name: \"Celebration Packages - Single 90 mins\", duration: 90 },\n                    \"celebration_couple\": { name: \"Celebration Packages - Couple 90 mins\", duration: 90 }\n                },\n                locations: [\n                    \"akaru\", \"oaks\", \"novotel_ad\", \"majlis\", \"movenpick_jvt\", \"khalidia_palace\", \"zabeel_house\",\n                    \"pearl_rotana\", \"hilton\", \"novotel_hcc\", \"novotel_barsha\", \"marriott_ad\", \"delta_marriott\", \"nh_palm\", \"oasis_mall\", \"lapita\", \"rotana_ad\", \"rose_rayhaan_difc\", \"pullman_shj\", \"bur_dubai\", \"grandeur\"\n                ],\n                pricesByTreatmentAndLocation: {\n                    \"foot_reflex\": {\n                        \"akaru\": 119, \"oaks\": 119, \"novotel_ad\": 119, \"majlis\": 119, \"movenpick_jvt\": 119, \"khalidia_palace\": 119, \"zabeel_house\": 139,\n                        \"pearl_rotana\": 119, \"hilton\": 119, \"novotel_hcc\": 119, \"novotel_barsha\": 119, \"bur_dubai\": 119, \"grandeur\": 119, \"marriott_ad\": 119, \"delta_marriott\": 119, \"nh_palm\": 139, \"oasis_mall\": 119, \"lapita\": 119, \"rotana_ad\": 119, \"rose_rayhaan_difc\": 119, \"pullman_shj\": 119\n                    },\n                    \"couple_classic\": {\n                        \"akaru\": 499, \"oaks\": 499, \"novotel_ad\": 499, \"majlis\": null, \"movenpick_jvt\": 499, \"khalidia_palace\": 439, \"zabeel_house\": 549,\n                        \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 439, \"novotel_barsha\": null, \"bur_dubai\": 439, \"grandeur\": 439, \"marriott_ad\": 499, \"delta_marriott\": 499, \"nh_palm\": 549, \"oasis_mall\": 549, \"lapita\": 549, \"rotana_ad\": 499, \"rose_rayhaan_difc\": 499, \"pullman_shj\": 439\n                    },\n                    \"couple_premium\": {\n                        \"akaru\": 599, \"oaks\": 599, \"novotel_ad\": 599, \"majlis\": null, \"movenpick_jvt\": 599, \"khalidia_palace\": 519, \"zabeel_house\": 619,\n                        \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 519, \"novotel_barsha\": null, \"bur_dubai\": 519, \"grandeur\": 519, \"marriott_ad\": 599, \"delta_marriott\": 599, \"nh_palm\": 619, \"oasis_mall\": 619, \"lapita\": 619, \"rotana_ad\": 599, \"rose_rayhaan_difc\": 599, \"pullman_shj\": 519\n                    },\n                    \"couple_hotstone\": {\n                        \"akaru\": 619, \"oaks\": 619, \"novotel_ad\": 619, \"majlis\": null, \"movenpick_jvt\": 619, \"khalidia_palace\": 549, \"zabeel_house\": 649,\n                        \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 549, \"novotel_barsha\": null, \"bur_dubai\": 549, \"grandeur\": 549, \"marriott_ad\": 619, \"delta_marriott\": 619, \"nh_palm\": 649, \"oasis_mall\": 649, \"lapita\": 649, \"rotana_ad\": 619, \"rose_rayhaan_difc\": 619, \"pullman_shj\": 549\n                    },\n                    \"metime_classic\": {\n                        \"akaru\": 259, \"oaks\": 259, \"novotel_ad\": 259, \"majlis\": 229, \"movenpick_jvt\": 259, \"khalidia_palace\": 229, \"zabeel_house\": 279,\n                        \"pearl_rotana\": 259, \"hilton\": 259, \"novotel_hcc\": 229, \"novotel_barsha\": 259, \"bur_dubai\": 229, \"grandeur\": 229, \"marriott_ad\": 259, \"delta_marriott\": 259, \"nh_palm\": 279, \"oasis_mall\": 279, \"lapita\": 279, \"rotana_ad\": 259, \"rose_rayhaan_difc\": 259, \"pullman_shj\": 229\n                    },\n                    \"metime_premium\": {\n                        \"akaru\": 299, \"oaks\": 299, \"novotel_ad\": 299, \"majlis\": 269, \"movenpick_jvt\": 299, \"khalidia_palace\": 269, \"zabeel_house\": 319,\n                        \"pearl_rotana\": 299, \"hilton\": 299, \"novotel_hcc\": 269, \"novotel_barsha\": 299, \"bur_dubai\": 269, \"grandeur\": 269, \"marriott_ad\": 299, \"delta_marriott\": 299, \"nh_palm\": 319, \"oasis_mall\": 319, \"lapita\": 319, \"rotana_ad\": 299, \"rose_rayhaan_difc\": 299, \"pullman_shj\": 269\n                    },\n                    \"metime_hotstone\": {\n                        \"akaru\": 329, \"oaks\": 329, \"novotel_ad\": 329, \"majlis\": 289, \"movenpick_jvt\": 329, \"khalidia_palace\": 289, \"zabeel_house\": 349,\n                        \"pearl_rotana\": 329, \"hilton\": 329, \"novotel_hcc\": 289, \"novotel_barsha\": 329, \"bur_dubai\": 289, \"grandeur\": 289, \"marriott_ad\": 329, \"delta_marriott\": 329, \"nh_palm\": 349, \"oasis_mall\": 349, \"lapita\": 349, \"rotana_ad\": 329, \"rose_rayhaan_difc\": 329, \"pullman_shj\": 289\n                    },\n                    \"celebration_single\": {\n                        \"akaru\": null, \"oaks\": 599, \"novotel_ad\": null, \"majlis\": null, \"movenpick_jvt\": 599, \"khalidia_palace\": null, \"zabeel_house\": null,\n                        \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": null, \"novotel_barsha\": null, \"bur_dubai\": null, \"grandeur\": null, \"marriott_ad\": null, \"delta_marriott\": null, \"nh_palm\": null, \"oasis_mall\": 599, \"lapita\": 599, \"rotana_ad\": null, \"rose_rayhaan_difc\": null, \"pullman_shj\": 549\n                    },\n                    \"celebration_couple\": {\n                        \"akaru\": null, \"oaks\": 1199, \"novotel_ad\": null, \"majlis\": null, \"movenpick_jvt\": 1199, \"khalidia_palace\": null, \"zabeel_house\": null,\n                        \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": null, \"novotel_barsha\": null, \"bur_dubai\": null, \"grandeur\": null, \"marriott_ad\": null, \"delta_marriott\": null, \"nh_palm\": null, \"oasis_mall\": 1199, \"lapita\": 1199, \"rotana_ad\": null, \"rose_rayhaan_difc\": null, \"pullman_shj\": 1099\n                    }\n                }\n            },\n\n            \"WEEKEND\": {\n                treatments: {\n                    \"foot_reflex\": { name: \"Foot reflexology Bliss - 30 mins\", duration: 30 },\n                    \"couple_classic\": { name: \"Couple Relaxation - Classic 60 mins\", duration: 60 },\n                    \"couple_premium\": { name: \"Couple Relaxation - Premium 60 mins\", duration: 60 },\n                    \"couple_hotstone\": { name: \"Couple Relaxation - Hot Stone 60 mins\", duration: 60 },\n                    \"metime_classic\": { name: \"Me-time Indulgence - Classic 60 mins\", duration: 60 },\n                    \"metime_premium\": { name: \"Me-time Indulgence - Premium 60 mins\", duration: 60 },\n                    \"metime_hotstone\": { name: \"Me-time Indulgence - Hot stone 60 mins\", duration: 60 },\n                    \"celebration_single\": { name: \"Celebration Packages - Single 90 mins\", duration: 90 },\n                    \"celebration_couple\": { name: \"Celebration Packages - Couple 90 mins\", duration: 90 }\n                },\n                locations: [\n                    \"akaru\", \"oaks\", \"novotel_ad\", \"majlis\", \"movenpick_jvt\", \"khalidia_palace\", \"zabeel_house\",\n                    \"pearl_rotana\", \"hilton\", \"novotel_hcc\", \"novotel_barsha\", \"marriott_ad\", \"delta_marriott\", \"nh_palm\", \"oasis_mall\", \"lapita\", \"rotana_ad\", \"rose_rayhaan_difc\", \"pullman_shj\", \"bur_dubai\", \"grandeur\"\n                ],\n                pricesByTreatmentAndLocation: {\n                    \"foot_reflex\": {\n                        \"akaru\": 139, \"oaks\": 139, \"novotel_ad\": 139, \"majlis\": 139, \"movenpick_jvt\": 139, \"khalidia_palace\": 139, \"zabeel_house\": null,\n                        \"pearl_rotana\": 139, \"hilton\": null, \"novotel_hcc\": null, \"novotel_barsha\": 139, \"bur_dubai\": 139, \"grandeur\": 139, \"marriott_ad\": 139, \"delta_marriott\": 139, \"nh_palm\": null, \"oasis_mall\": 139, \"lapita\": 139, \"rotana_ad\": 139, \"rose_rayhaan_difc\": 139, \"pullman_shj\": 139\n                    },\n                    \"couple_classic\": {\n                        \"akaru\": 549, \"oaks\": 549, \"novotel_ad\": 549, \"majlis\": null, \"movenpick_jvt\": 549, \"khalidia_palace\": 499, \"zabeel_house\": 599,\n                        \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 499, \"novotel_barsha\": null, \"bur_dubai\": 499, \"grandeur\": 499, \"marriott_ad\": 549, \"delta_marriott\": 549, \"nh_palm\": 599, \"oasis_mall\": 599, \"lapita\": 599, \"rotana_ad\": 549, \"rose_rayhaan_difc\": 549, \"pullman_shj\": 499\n                    },\n                    \"couple_premium\": {\n                        \"akaru\": 649, \"oaks\": 649, \"novotel_ad\": 649, \"majlis\": null, \"movenpick_jvt\": 649, \"khalidia_palace\": 579, \"zabeel_house\": 679,\n                        \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 579, \"novotel_barsha\": null, \"bur_dubai\": 579, \"grandeur\": 579, \"marriott_ad\": 649, \"delta_marriott\": 649, \"nh_palm\": 679, \"oasis_mall\": 679, \"lapita\": 679, \"rotana_ad\": 649, \"rose_rayhaan_difc\": 649, \"pullman_shj\": 579\n                    },\n                    \"couple_hotstone\": {\n                        \"akaru\": 689, \"oaks\": 689, \"novotel_ad\": 689, \"majlis\": null, \"movenpick_jvt\": 689, \"khalidia_palace\": 619, \"zabeel_house\": 719,\n                        \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 619, \"novotel_barsha\": null, \"bur_dubai\": 619, \"grandeur\": 619, \"marriott_ad\": 689, \"delta_marriott\": 689, \"nh_palm\": 719, \"oasis_mall\": 719, \"lapita\": 719, \"rotana_ad\": 689, \"rose_rayhaan_difc\": 689, \"pullman_shj\": 619\n                    },\n                    \"metime_classic\": {\n                        \"akaru\": 279, \"oaks\": 279, \"novotel_ad\": 279, \"majlis\": 249, \"movenpick_jvt\": 279, \"khalidia_palace\": 249, \"zabeel_house\": 299,\n                        \"pearl_rotana\": 279, \"hilton\": 279, \"novotel_hcc\": 249, \"novotel_barsha\": 279, \"bur_dubai\": 249, \"grandeur\": 249, \"marriott_ad\": 279, \"delta_marriott\": 279, \"nh_palm\": 299, \"oasis_mall\": 299, \"lapita\": 299, \"rotana_ad\": 279, \"rose_rayhaan_difc\": 279, \"pullman_shj\": 249\n                    },\n                    \"metime_premium\": {\n                        \"akaru\": 329, \"oaks\": 329, \"novotel_ad\": 329, \"majlis\": 289, \"movenpick_jvt\": 329, \"khalidia_palace\": 289, \"zabeel_house\": 349,\n                        \"pearl_rotana\": 329, \"hilton\": 329, \"novotel_hcc\": 289, \"novotel_barsha\": 329, \"bur_dubai\": 289, \"grandeur\": 289, \"marriott_ad\": 329, \"delta_marriott\": 329, \"nh_palm\": 349, \"oasis_mall\": 349, \"lapita\": 349, \"rotana_ad\": 329, \"rose_rayhaan_difc\": 329, \"pullman_shj\": 289\n                    },\n                    \"metime_hotstone\": {\n                        \"akaru\": 349, \"oaks\": 349, \"novotel_ad\": 349, \"majlis\": 299, \"movenpick_jvt\": 349, \"khalidia_palace\": 299, \"zabeel_house\": 369,\n                        \"pearl_rotana\": 349, \"hilton\": 349, \"novotel_hcc\": 299, \"novotel_barsha\": 349, \"bur_dubai\": 299, \"grandeur\": 299, \"marriott_ad\": 349, \"delta_marriott\": 349, \"nh_palm\": 369, \"oasis_mall\": 369, \"lapita\": 369, \"rotana_ad\": 349, \"rose_rayhaan_difc\": 349, \"pullman_shj\": 299\n                    },\n                    \"celebration_single\": {\n                        \"akaru\": null, \"oaks\": 629, \"novotel_ad\": null, \"majlis\": null, \"movenpick_jvt\": 629, \"khalidia_palace\": null, \"zabeel_house\": null,\n                        \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": null, \"novotel_barsha\": null, \"bur_dubai\": null, \"grandeur\": null, \"marriott_ad\": null, \"delta_marriott\": null, \"nh_palm\": null, \"oasis_mall\": 629, \"lapita\": 629, \"rotana_ad\": null, \"rose_rayhaan_difc\": null, \"pullman_shj\": 599\n                    },\n                    \"celebration_couple\": {\n                        \"akaru\": null, \"oaks\": 1249, \"novotel_ad\": null, \"majlis\": null, \"movenpick_jvt\": 1249, \"khalidia_palace\": null, \"zabeel_house\": null,\n                        \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": null, \"novotel_barsha\": null, \"bur_dubai\": null, \"grandeur\": null, \"marriott_ad\": null, \"delta_marriott\": null, \"nh_palm\": null, \"oasis_mall\": 1249, \"lapita\": 1249, \"rotana_ad\": null, \"rose_rayhaan_difc\": null, \"pullman_shj\": 1199\n                    }\n                }\n            }\n        };\n\n        \/\/ Friendly mapping of location id -> label\n        const locationLabels = {\n            \"akaru\": \"Jumeirah Creekside Hotel - Al Garhoud, Dubai\",\n            \"oaks\": \"Oaks Hotel - IBN Battuta Gate, Dubai\",\n            \"oasis_mall\": \"Oasis Mall - Sheikh Zayed Road, Dubai\",\n            \"delta_marriott\": \"Delta Hotels By Marriott - DIP, Dubai\",\n            \"lapita\": \"Lapita, Dubai Parks and Resorts, Dubai\",\n            \"zabeel_house\": \"Zabeel House The Greens, Dubai\",\n            \"movenpick_jvt\": \"M\u00f6venpick Hotel - Jumeirah Village Triangle, Dubai\",\n            \"nh_palm\": \"NH Collection Dubai - The Palm, Dubai\",\n            \"hilton\": \"Double Tree By Hilton - Al Mankhool, Dubai\",\n            \"novotel_ad\": \"Novotel Hotel - Healthcare City, Dubai\",\n            \"novotel_barsha\": \"Novotel Hotel - Al Barsha, Dubai\",\n            \"bur_dubai\": \"Atrium Centre - Bur Dubai\",\n            \"grandeur\": \"Grandeur Hotel - Al Barsha, Dubai\",\n            \"khalidia_palace\": \"Khalidia Palace Hotel - Deira, Dubai\",\n            \"marriott_ad\": \"Marriott Hotel - Downtown, Abu Dhabi\",\n            \"rotana_ad\": \"Al Maha Arjaan By Rotana - Abu Dhabi\",\n            \"novotel_hcc\": \"Novotel Hotel - Al Bustan, Abu Dhabi\",\n            \"majlis\": \"Majlis Grand Mercure - Electra Street, Abu Dhabi\",\n            \"pearl_rotana\": \"Pearl Rotana - Al Rawdah, Abu Dhabi\",\n            \"rose_rayhaan_difc\": \"Rose Rayhaan by Rotana - DIFC, Dubai\",\n            \"pullman_shj\": \"Pullman Hotel - Al Taawun St, Sharjah\"\n        };\n\n        \/\/ Emirates to locations mapping (in correct order)\n        const emirateLocations = {\n            \"dubai\": [\"akaru\", \"oaks\", \"oasis_mall\", \"delta_marriott\", \"lapita\", \"zabeel_house\", \"movenpick_jvt\", \"nh_palm\", \"hilton\", \"novotel_ad\", \"novotel_barsha\", \"rose_rayhaan_difc\", \"grandeur\", \"khalidia_palace\", \"bur_dubai\"],\n            \"abudhabi\": [\"marriott_ad\", \"rotana_ad\", \"novotel_hcc\", \"majlis\", \"pearl_rotana\"],\n            \"sharjah\": [\"pullman_shj\"]\n        };\n\n        const facilitiesIcons = {\n            \"steam\": \"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Steam.png\",\n            \"sauna\": \"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Sauna.png\",\n            \"pool\": \"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Pool.png\",\n            \"jacuzzi\": \"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Jacuzzi.png\",\n            \"cold_plunge\": \"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Cold-Plunge.png\",\n            \"shower\": \"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Shower.png\",\n            \"parking\": \"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Parking.png\",\n            \"timing\": \"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Timing.png\"\n        };\n\n        const locationFacilities = {\n            \"akaru\": { timing: \"10:00 AM - 12:00 AM\", steam: true, sauna: true, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\n            \"oaks\": { timing: \"10:00 AM - 11:00 PM\", steam: false, sauna: false, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\n            \"novotel_barsha\": { timing: \"10:00 AM - 12:00 AM\", steam: true, sauna: true, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\n            \"hilton\": { timing: \"10:00 AM - 10:00 PM\", steam: false, sauna: false, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\n            \"bur_dubai\": { timing: \"10:00 AM - 12:00 AM\", steam: false, sauna: false, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\n            \"grandeur\": { timing: \"10:00 AM - 12:00 AM\", steam: false, sauna: false, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\n            \"novotel_ad\": { timing: \"10:00 AM - 10:00 PM\", steam: false, sauna: false, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\n            \"marriott_ad\": { timing: \"10:00 AM - 12:00 AM\", steam: true, sauna: true, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\n            \"novotel_hcc\": { timing: \"10:00 AM - 12:00 AM\", steam: true, sauna: true, jacuzzi: true, pool: false, cold_plunge: false, shower: true, parking: true },\n            \"majlis\": { timing: \"10:00 AM - 12:00 AM\", steam: true, sauna: true, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\n            \"delta_marriott\": { timing: \"10:30 AM - 09:30 PM\", steam: false, sauna: false, jacuzzi: false, pool: true, cold_plunge: false, shower: true, parking: true },\n            \"nh_palm\": { timing: \"09:00 AM - 11:00 PM\", steam: false, sauna: false, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\n            \"oasis_mall\": { timing: \"10:00 AM - 12:00 AM\", steam: true, sauna: true, jacuzzi: false, pool: false, cold_plunge: true, shower: true, parking: true },\n            \"movenpick_jvt\": { timing: \"10:00 AM - 10:00 PM\", steam: true, sauna: true, jacuzzi: true, pool: true, cold_plunge: false, shower: true, parking: true },\n            \"lapita\": { timing: \"09:00 AM - 10:00 PM\", steam: true, sauna: true, jacuzzi: true, pool: true, cold_plunge: false, shower: true, parking: true },\n            \"rotana_ad\": { timing: \"10:00 AM - 10:00 PM\", steam: true, sauna: false, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\n            \"zabeel_house\": { timing: \"10:00 AM - 10:00 PM\", steam: false, sauna: false, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\n            \"pullman_shj\": { timing: \"10:00 AM - 10:00 PM\", steam: true, sauna: true, jacuzzi: true, pool: true, cold_plunge: false, shower: true, parking: true },\n            \"khalidia_palace\": { timing: \"10:00 AM - 11:00 PM\", steam: true, sauna: true, jacuzzi: false, pool: true, cold_plunge: false, shower: true, parking: true },\n            \"pearl_rotana\": { timing: \"10:00 AM - 10:00 PM\", steam: true, sauna: true, jacuzzi: false, pool: true, cold_plunge: false, shower: true, parking: true },\n            \"rose_rayhaan_difc\": { timing: \"10:00 AM - 10:00 PM\", steam: true, sauna: true, jacuzzi: false, pool: true, cold_plunge: false, shower: true, parking: true }\n        };\n\n        function renderFacilities(container, locationKey) {\n            if (!container) return;\n            const data = locationFacilities[locationKey];\n            if (!data) {\n                container.style.display = 'none';\n                return;\n            }\n\n            let html = `\n                <div class=\"facilities-title\">We are pleased to offer the following facilities at no additional charge:<\/div>\n                <div class=\"facilities-icons\">\n            `;\n\n            \/\/ Helper to add icon\n            const addIcon = (key, label) => {\n                if (data[key]) {\n                    html += `\n                        <div class=\"facility-item\">\n                            <img decoding=\"async\" src=\"${facilitiesIcons[key]}\" alt=\"${label}\">\n                            <span class=\"facility-text\">${label}<\/span>\n                        <\/div>\n                    `;\n                }\n            };\n\n            \/\/ Add icons in specific order\n            addIcon('steam', 'STEAM');\n            addIcon('sauna', 'SAUNA');\n            addIcon('pool', 'POOL');\n            addIcon('jacuzzi', 'JACUZZI');\n            addIcon('cold_plunge', 'COLD PLUNGE');\n            addIcon('shower', 'SHOWER');\n            addIcon('parking', 'PARKING');\n\n            \/\/ Add Timing always\n            if (data.timing) {\n                html += `\n                    <div class=\"timing-item\">\n                        <img decoding=\"async\" src=\"${facilitiesIcons.timing}\" alt=\"Timing\" style=\"width: 50px; height: 50px;\">\n                        <span class=\"timing-text\">TIMING: ${data.timing}<\/span>\n                    <\/div>\n                `;\n            }\n\n            html += `<\/div>`;\n            container.innerHTML = html;\n            container.style.display = 'block';\n        }\n\n        \/\/ Function to populate emirate dropdown based on category\n        function populateEmirates(emirateSelect, category) {\n            if (!emirateSelect) return;\n\n            emirateSelect.innerHTML = '';\n            const placeholder = document.createElement('option');\n            placeholder.value = '';\n            placeholder.textContent = 'Select the Emirate';\n            placeholder.disabled = true;\n            placeholder.selected = true;\n            emirateSelect.appendChild(placeholder);\n\n            \/\/ Add Dubai\n            const dubaiOpt = document.createElement('option');\n            dubaiOpt.value = 'dubai';\n            dubaiOpt.textContent = 'Dubai';\n            emirateSelect.appendChild(dubaiOpt);\n\n            \/\/ Add Abu Dhabi for all categories except Couple Relaxation\n            if (category !== 'Couple Relaxation') {\n                const abuDhabiOpt = document.createElement('option');\n                abuDhabiOpt.value = 'abudhabi';\n                abuDhabiOpt.textContent = 'Abu Dhabi';\n                emirateSelect.appendChild(abuDhabiOpt);\n            }\n\n            \/\/ Add Sharjah\n            const sharjahOpt = document.createElement('option');\n            sharjahOpt.value = 'sharjah';\n            sharjahOpt.textContent = 'Sharjah';\n            emirateSelect.appendChild(sharjahOpt);\n        }\n\n        \/\/ Function to resize day-type dropdown to fit content\n        function resizeDayTypeDropdown(select) {\n            if (!select) return;\n\n            \/\/ Create a temporary span to measure text width\n            const tempSpan = document.createElement('span');\n            tempSpan.style.visibility = 'hidden';\n            tempSpan.style.position = 'absolute';\n            tempSpan.style.whiteSpace = 'nowrap';\n            tempSpan.style.fontSize = window.getComputedStyle(select).fontSize;\n            tempSpan.style.fontFamily = window.getComputedStyle(select).fontFamily;\n            tempSpan.style.textTransform = window.getComputedStyle(select).textTransform;\n            tempSpan.style.fontWeight = window.getComputedStyle(select).fontWeight;\n            tempSpan.style.letterSpacing = window.getComputedStyle(select).letterSpacing;\n            document.body.appendChild(tempSpan);\n\n            \/\/ Find the longest option text\n            let maxWidth = 0;\n            Array.from(select.options).forEach(option => {\n                tempSpan.textContent = option.text;\n                const width = tempSpan.offsetWidth;\n                if (width > maxWidth) {\n                    maxWidth = width;\n                }\n            });\n\n            \/\/ Set the select width (add padding for icon)\n            \/\/ Left padding (14px) + Right padding (60px) = 74px total\n            const padding = 74;\n            select.style.width = (maxWidth + padding) + 'px';\n\n            document.body.removeChild(tempSpan);\n        }\n\n        \/\/ For each offer block in DOM, wire up behavior\n        document.querySelectorAll('.offer').forEach(block => {\n            const category = block.dataset.category;\n            const daySelect = block.querySelector('.day-type');\n            const treatSelect = block.querySelector('.treatment-select');\n            const emirateSelect = block.querySelector('.emirate-select');\n            const locSelect = block.querySelector('.location-select');\n            const priceLabel = block.querySelector('.price-label');\n            const durationLabel = block.querySelector('.duration-label');\n            const bookBtn = block.querySelector('.book-btn');\n\n            \/\/ Inject facilities container (if not present)\n            let facilitiesContainer = block.querySelector('.facilities-container');\n            if (!facilitiesContainer) {\n                facilitiesContainer = document.createElement('div');\n                facilitiesContainer.className = 'facilities-container';\n\n                \/\/ Try to insert after .sub (Price section)\n                const priceSection = block.querySelector('.sub');\n                if (priceSection) {\n                    priceSection.parentNode.insertBefore(facilitiesContainer, priceSection.nextSibling);\n                } else {\n                    \/\/ Fallback to after .controls\n                    const controls = block.querySelector('.controls');\n                    if (controls) {\n                        controls.parentNode.insertBefore(facilitiesContainer, controls.nextSibling);\n                    } else {\n                        \/\/ Fallback to before buttons if controls not found\n                        const btnGroup = block.querySelector('.button-group');\n                        if (btnGroup) {\n                            btnGroup.parentNode.insertBefore(facilitiesContainer, btnGroup);\n                        } else if (bookBtn) {\n                            const parent = bookBtn.parentNode;\n                            if (parent.tagName === 'A') {\n                                parent.parentNode.insertBefore(facilitiesContainer, parent);\n                            } else {\n                                bookBtn.parentNode.insertBefore(facilitiesContainer, bookBtn);\n                            }\n                        }\n                    }\n                }\n            }\n\n            \/\/ Store default price\n            let defaultPrice = '';\n            \n            \/\/ Set default price to 220 for 22 For 22 Launch Special\n            if (category === '22 For 22 Launch Special') {\n                defaultPrice = 'AED 220';\n                if (priceLabel) {\n                    priceLabel.textContent = defaultPrice;\n                }\n            }\n\n            \/\/ Resize day-type dropdown on load and when changed\n            if (daySelect) {\n                resizeDayTypeDropdown(daySelect);\n                daySelect.addEventListener('change', () => {\n                    resizeDayTypeDropdown(daySelect);\n                });\n            }\n\n            \/\/ Initialize emirate dropdown\n            if (emirateSelect) {\n                populateEmirates(emirateSelect, category);\n            }\n\n            \/\/ Hide treatment select for Foot reflexology Bliss\n            if (category === 'Foot reflexology Bliss' && treatSelect) {\n                treatSelect.style.display = 'none';\n            }\n\n            \/\/ Special handling for 22 For 22 Launch Special - enable treatment select directly\n            if (category === '22 For 22 Launch Special' && treatSelect) {\n                \/\/ Populate treatments directly without requiring day-type selection\n                treatSelect.innerHTML = '';\n                const placeholder = document.createElement('option');\n                placeholder.value = '';\n                placeholder.textContent = 'Choose a Treatment';\n                placeholder.disabled = true;\n                placeholder.selected = true;\n                treatSelect.appendChild(placeholder);\n\n                \/\/ Add treatment options (same as Couple Spa Deals and Self Care Specials)\n                const treatments = [\n                    { id: 'aromatherapy', name: 'Aromatherapy Massage' },\n                    { id: 'deep_tissue', name: 'Deep Tissue Massage' },\n                    { id: 'swedish', name: 'Swedish Massage' },\n                    { id: 'thai_traditional', name: 'Traditional Thai Massage' },\n                    { id: 'balinese', name: 'Balinese Massage' }\n                ];\n\n                treatments.forEach(t => {\n                    const opt = document.createElement('option');\n                    opt.value = t.id;\n                    opt.textContent = t.name;\n                    opt.dataset.duration = '60';\n                    treatSelect.appendChild(opt);\n                });\n\n                treatSelect.disabled = false;\n            }\n\n            \/\/ Helper function to get treatment tier ID from treatment name and category\n            function getTreatmentTierId(treatmentId, category) {\n                const treatment = treatmentMappings[treatmentId];\n                if (!treatment) return null;\n\n                const tier = treatment.tier;\n                if (category === \"Couple Spa Deals\" || category === \"Couple Relaxation\" || category === \"22 For 22 Launch Special\") {\n                    return `couple_${tier}`;\n                } else if (category === \"Self Care Specials\" || category === \"Me-time Indulgence\") {\n                    return `metime_${tier}`;\n                }\n                return null;\n            }\n\n            \/\/ Build treatment options depending on category\n            function populateTreatmentsForCategory(cat, dayKey) {\n                treatSelect.innerHTML = '';\n\n                \/\/ Categories that use \"Total People\" instead of treatment selection\n                const useTotalPeople = cat === 'Foot reflexology Bliss' || cat === 'Couple Relaxation';\n\n                const placeholder = document.createElement('option');\n                placeholder.value = '';\n                if (useTotalPeople) {\n                    placeholder.textContent = 'Total People';\n                } else if (cat === 'Couple Spa Deals' || cat === 'Self Care Specials' || cat === '22 For 22 Launch Special') {\n                    placeholder.textContent = 'Choose a Treatment';\n                } else {\n                    placeholder.textContent = 'Choose a Treatment';\n                }\n                placeholder.disabled = true;\n                placeholder.selected = true;\n                treatSelect.appendChild(placeholder);\n\n                \/\/ For 22 For 22 Launch Special, don't require dayKey\n                if (!dayKey && cat !== '22 For 22 Launch Special') {\n                    treatSelect.disabled = true;\n                    return;\n                }\n\n                \/\/ For Total People categories, add people options\n                if (useTotalPeople) {\n                    if (cat === 'Couple Relaxation') {\n                        \/\/ For Luxury Flower Bath, add Single and Couple options\n                        const singleOpt = document.createElement('option');\n                        singleOpt.value = 'celebration_single';\n                        singleOpt.textContent = '1 Person';\n                        singleOpt.dataset.duration = '90';\n                        treatSelect.appendChild(singleOpt);\n\n                        const coupleOpt = document.createElement('option');\n                        coupleOpt.value = 'celebration_couple';\n                        coupleOpt.textContent = '2 People';\n                        coupleOpt.dataset.duration = '90';\n                        treatSelect.appendChild(coupleOpt);\n                    } else if (cat === 'Foot reflexology Bliss') {\n                        \/\/ For Foot Massage, just keep it simple - pricing is per person\n                        const singleOpt = document.createElement('option');\n                        singleOpt.value = 'foot_reflex';\n                        singleOpt.textContent = '1 Person';\n                        singleOpt.dataset.duration = '30';\n                        treatSelect.appendChild(singleOpt);\n                    }\n                    treatSelect.disabled = false;\n                    return;\n                }\n\n                \/\/ For Couple Spa Deals, Self Care Specials, and 22 For 22 Launch Special, show individual treatments\n                if (cat === 'Couple Spa Deals' || cat === 'Self Care Specials' || cat === '22 For 22 Launch Special') {\n                    \/\/ Treatments in specified order\n                    \/\/ For 22 For 22 Launch Special, exclude hot_stone, sports, herbal_compress, and fusion_hot_oil\n                    const treatments = cat === '22 For 22 Launch Special' ? [\n                        { id: 'aromatherapy', name: 'Aromatherapy Massage' },\n                        { id: 'deep_tissue', name: 'Deep Tissue Massage' },\n                        { id: 'swedish', name: 'Swedish Massage' },\n                        { id: 'thai_traditional', name: 'Traditional Thai Massage' },\n                        { id: 'balinese', name: 'Balinese Massage' }\n                    ] : [\n                        { id: 'aromatherapy', name: 'Aromatherapy Massage' },\n                        { id: 'deep_tissue', name: 'Deep Tissue Massage' },\n                        { id: 'swedish', name: 'Swedish Massage' },\n                        { id: 'hot_stone', name: 'Hot Stone Massage' },\n                        { id: 'sports', name: 'Sports Massage' },\n                        { id: 'thai_traditional', name: 'Traditional Thai Massage' },\n                        { id: 'balinese', name: 'Balinese Massage' },\n                        { id: 'herbal_compress', name: 'Herbal Compress Thai Ball Massage' },\n                        { id: 'fusion_hot_oil', name: 'Fusion Hot Oil Massage' }\n                    ];\n\n                    treatments.forEach(t => {\n                        const opt = document.createElement('option');\n                        opt.value = t.id;\n                        opt.textContent = t.name;\n                        opt.dataset.duration = '60';\n                        treatSelect.appendChild(opt);\n                    });\n\n                    treatSelect.disabled = false;\n                    return;\n                }\n\n                \/\/ For other categories, use the old mapping\n                const map = {\n                    \"Me-time Indulgence\": [\"metime_classic\", \"metime_premium\", \"metime_hotstone\"],\n                    \"Celebration Packages\": [\"celebration_single\", \"celebration_couple\"]\n                };\n                const ids = map[cat] || [];\n\n                const availableTreatments = pricingData[dayKey] && pricingData[dayKey].treatments ? pricingData[dayKey].treatments : {};\n                ids.forEach(id => {\n                    const label = availableTreatments[id] ? availableTreatments[id].name : id;\n                    const opt = document.createElement('option');\n                    opt.value = id;\n                    opt.textContent = label;\n                    if (availableTreatments[id]) {\n                        opt.dataset.duration = availableTreatments[id].duration;\n                    }\n                    treatSelect.appendChild(opt);\n                });\n                treatSelect.disabled = false;\n            }\n\n            \/\/ Populate locations filtered by emirate (in correct order)\n            function populateLocations(dayKey, emirateKey) {\n                locSelect.innerHTML = '';\n                const placeholder = document.createElement('option');\n                placeholder.value = '';\n                placeholder.textContent = 'Preferred Location';\n                placeholder.disabled = true;\n                placeholder.selected = true;\n                locSelect.appendChild(placeholder);\n\n                if (!dayKey) {\n                    locSelect.disabled = true;\n                    return;\n                }\n\n                \/\/ Only enable location dropdown if emirate is selected\n                if (!emirateKey) {\n                    locSelect.disabled = true;\n                    return;\n                }\n\n                \/\/ Get locations in the correct order from emirateLocations\n                let locsToShow = [];\n                if (emirateLocations[emirateKey]) {\n                    \/\/ Use the order from emirateLocations array\n                    locsToShow = emirateLocations[emirateKey].filter(id => {\n                        \/\/ Check if location exists in pricing data\n                        const allLocs = pricingData[dayKey] && pricingData[dayKey].locations ? pricingData[dayKey].locations : [];\n                        return allLocs.includes(id);\n                    });\n\n                    \/\/ For Couple Relaxation, filter out Abu Dhabi locations\n                    if (category === 'Couple Relaxation') {\n                        const abuDhabiLocs = emirateLocations['abudhabi'] || [];\n                        locsToShow = locsToShow.filter(id => !abuDhabiLocs.includes(id));\n                    }\n                }\n\n                \/\/ Add options in the correct order\n                locsToShow.forEach(id => {\n                    const opt = document.createElement('option');\n                    opt.value = id;\n                    opt.textContent = locationLabels[id] || id;\n                    locSelect.appendChild(opt);\n                });\n\n                if (locsToShow.length > 0) {\n                    locSelect.disabled = false;\n                } else {\n                    locSelect.disabled = true;\n                }\n            }\n\n            \/\/ When day changes: populate treatments & locations and reset price\/duration\n            if (daySelect) {\n                \/\/ Hide placeholder option when dropdown is opened\n                daySelect.addEventListener('mousedown', () => {\n                    const placeholder = daySelect.querySelector('option[value=\"\"][disabled]');\n                    if (placeholder) {\n                        placeholder.style.display = 'none';\n                    }\n                });\n\n                daySelect.addEventListener('change', () => {\n                    const dayKey = daySelect.value;\n                    \/\/ If a real option is selected, keep placeholder hidden\n                    if (dayKey) {\n                        const placeholder = daySelect.querySelector('option[value=\"\"][disabled]');\n                        if (placeholder) {\n                            placeholder.style.display = 'none';\n                        }\n                    } else {\n                        \/\/ If day is cleared, show placeholder\n                        const placeholder = daySelect.querySelector('option[value=\"\"][disabled]');\n                        if (placeholder) {\n                            placeholder.selected = true;\n                            placeholder.style.display = 'block';\n                        }\n                    }\n                    \/\/ Don't reset price to 0, keep default price until all selections are made\n                    updatePriceDisplay();\n                    if (category === 'Foot reflexology Bliss') durationLabel.textContent = '30 minutes';\n                    else if (category === 'Couple Relaxation' || category === 'Celebration Packages') durationLabel.textContent = '90 minutes';\n                    else durationLabel.textContent = '60 minutes';\n\n                    \/\/ For Foot reflexology Bliss, skip treatment selection and enable emirate directly\n                    if (category === 'Foot reflexology Bliss') {\n                        \/\/ Hide treatment select if it exists\n                        if (treatSelect) {\n                            treatSelect.style.display = 'none';\n                        }\n                        \/\/ Enable emirate select directly when day is selected\n                        if (emirateSelect && dayKey) {\n                            emirateSelect.disabled = false;\n                        } else if (emirateSelect) {\n                            emirateSelect.disabled = true;\n                            emirateSelect.value = '';\n                        }\n                        if (locSelect) {\n                            locSelect.value = '';\n                            locSelect.disabled = true;\n                        }\n                        populateLocations(dayKey, null);\n                    } else {\n                        \/\/ For other categories, use normal flow\n                        populateTreatmentsForCategory(category, dayKey);\n\n                        \/\/ Explicitly enable treatment select when day is selected\n                        if (treatSelect && dayKey) {\n                            treatSelect.disabled = false;\n                        } else if (treatSelect) {\n                            treatSelect.disabled = true;\n                        }\n\n                        \/\/ Reset and disable emirate and location when day changes\n                        if (emirateSelect) {\n                            emirateSelect.value = '';\n                            emirateSelect.disabled = true;\n                            \/\/ Reset placeholder\n                            const placeholder = emirateSelect.querySelector('option[value=\"\"][disabled]');\n                            if (placeholder) {\n                                placeholder.selected = true;\n                                placeholder.style.display = 'block';\n                            }\n                        }\n                        if (locSelect) {\n                            locSelect.value = '';\n                            locSelect.disabled = true;\n                            \/\/ Reset placeholder\n                            const placeholder = locSelect.querySelector('option[value=\"\"][disabled]');\n                            if (placeholder) {\n                                placeholder.selected = true;\n                                placeholder.style.display = 'block';\n                            }\n                        }\n                        populateLocations(dayKey, null);\n                    }\n                });\n\n                \/\/ Show placeholder when dropdown closes if no selection made\n                daySelect.addEventListener('blur', () => {\n                    if (!daySelect.value) {\n                        const placeholder = daySelect.querySelector('option[value=\"\"][disabled]');\n                        if (placeholder) {\n                            placeholder.style.display = 'block';\n                            placeholder.selected = true;\n                        }\n                    }\n                });\n            }\n\n            \/\/ When treatment changes: enable emirate select and update\n            if (treatSelect) {\n                \/\/ Hide placeholder option when dropdown is opened\n                treatSelect.addEventListener('mousedown', () => {\n                    const placeholder = treatSelect.querySelector('option[value=\"\"][disabled]');\n                    if (placeholder) {\n                        placeholder.style.display = 'none';\n                    }\n                });\n\n                treatSelect.addEventListener('change', () => {\n                    \/\/ If a real option is selected, keep placeholder hidden\n                    if (treatSelect.value) {\n                        const placeholder = treatSelect.querySelector('option[value=\"\"][disabled]');\n                        if (placeholder) {\n                            placeholder.style.display = 'none';\n                        }\n                    }\n                    const dayKey = daySelect ? daySelect.value : '';\n                    const treatId = treatSelect.value;\n\n                    \/\/ Enable emirate select when treatment is selected, disable when cleared\n                    \/\/ Skip for 22 For 22 Launch Special as it doesn't need emirate\/location selection\n                    if (emirateSelect && category !== '22 For 22 Launch Special') {\n                        if (treatId) {\n                            emirateSelect.disabled = false;\n                            emirateSelect.value = ''; \/\/ Reset value but keep enabled\n                        } else {\n                            emirateSelect.disabled = true;\n                            emirateSelect.value = '';\n                        }\n                    }\n\n                    \/\/ Update duration from dataset\n                    if (treatId) {\n                        const selectedOption = treatSelect.options[treatSelect.selectedIndex];\n                        if (selectedOption && selectedOption.dataset.duration) {\n                            durationLabel.textContent = selectedOption.dataset.duration + ' minutes';\n                        }\n                    }\n\n                    \/\/ Reset location when treatment changes\n                    if (locSelect) {\n                        locSelect.value = '';\n                        locSelect.disabled = true;\n                        \/\/ Reset placeholder\n                        const placeholder = locSelect.querySelector('option[value=\"\"][disabled]');\n                        if (placeholder) {\n                            placeholder.selected = true;\n                            placeholder.style.display = 'block';\n                        }\n                    }\n\n                    \/\/ Reset treatment placeholder if cleared\n                    if (!treatId) {\n                        const placeholder = treatSelect.querySelector('option[value=\"\"][disabled]');\n                        if (placeholder) {\n                            placeholder.selected = true;\n                            placeholder.style.display = 'block';\n                        }\n                    }\n                    updateLocationAvailability();\n                    updatePriceDisplay();\n                });\n\n                \/\/ Show placeholder when dropdown closes if no selection made\n                treatSelect.addEventListener('blur', () => {\n                    if (!treatSelect.value) {\n                        const placeholder = treatSelect.querySelector('option[value=\"\"][disabled]');\n                        if (placeholder) {\n                            placeholder.style.display = 'block';\n                            placeholder.selected = true;\n                        }\n                    }\n                });\n            }\n\n            \/\/ When emirate changes: filter locations and enable location select\n            if (emirateSelect) {\n                \/\/ Hide placeholder option when dropdown is opened\n                emirateSelect.addEventListener('mousedown', () => {\n                    const placeholder = emirateSelect.querySelector('option[value=\"\"][disabled]');\n                    if (placeholder) {\n                        placeholder.style.display = 'none';\n                    }\n                });\n\n                \/\/ Show placeholder again when dropdown closes (if no value selected)\n                emirateSelect.addEventListener('change', () => {\n                    const dayKey = daySelect ? daySelect.value : '';\n                    const emirateKey = emirateSelect.value;\n\n                    \/\/ If a real option is selected, keep placeholder hidden\n                    if (emirateKey) {\n                        const placeholder = emirateSelect.querySelector('option[value=\"\"][disabled]');\n                        if (placeholder) {\n                            placeholder.style.display = 'none';\n                        }\n                    }\n\n                    populateLocations(dayKey, emirateKey);\n\n                    \/\/ Explicitly enable location select when emirate is selected\n                    if (locSelect && emirateKey) {\n                        locSelect.disabled = false;\n                    } else if (locSelect) {\n                        locSelect.value = '';\n                        locSelect.disabled = true;\n                    }\n\n                    \/\/ For Foot reflexology Bliss, update availability without treatment\n                    if (category === 'Foot reflexology Bliss') {\n                        updateLocationAvailabilityForFootMassage();\n                    } else {\n                        updateLocationAvailability();\n                    }\n                    updatePriceDisplay();\n                });\n\n                \/\/ Show placeholder when dropdown closes if no selection made\n                emirateSelect.addEventListener('blur', () => {\n                    if (!emirateSelect.value) {\n                        const placeholder = emirateSelect.querySelector('option[value=\"\"][disabled]');\n                        if (placeholder) {\n                            placeholder.style.display = 'block';\n                            placeholder.selected = true;\n                        }\n                    }\n                });\n            }\n\n            \/\/ When location changes: compute price\n            if (locSelect) {\n                \/\/ Hide placeholder option when dropdown is opened\n                locSelect.addEventListener('mousedown', () => {\n                    const placeholder = locSelect.querySelector('option[value=\"\"][disabled]');\n                    if (placeholder) {\n                        placeholder.style.display = 'none';\n                    }\n                });\n\n                locSelect.addEventListener('change', () => {\n                    \/\/ If a real option is selected, keep placeholder hidden\n                    if (locSelect.value) {\n                        const placeholder = locSelect.querySelector('option[value=\"\"][disabled]');\n                        if (placeholder) {\n                            placeholder.style.display = 'none';\n                        }\n                    }\n                    updatePriceDisplay();\n                    \/\/ Update facilities\n                    if (facilitiesContainer) {\n                        renderFacilities(facilitiesContainer, locSelect.value);\n                    }\n                });\n\n                \/\/ Show placeholder when dropdown closes if no selection made\n                locSelect.addEventListener('blur', () => {\n                    if (!locSelect.value) {\n                        const placeholder = locSelect.querySelector('option[value=\"\"][disabled]');\n                        if (placeholder) {\n                            placeholder.style.display = 'block';\n                            placeholder.selected = true;\n                        }\n                    }\n                });\n            }\n\n            function updateLocationAvailabilityForFootMassage() {\n                const dayKey = daySelect ? daySelect.value : '';\n                if (!dayKey) { return; }\n\n                \/\/ For Foot reflexology Bliss, use 'foot_reflex' directly\n                const pricingTierId = 'foot_reflex';\n\n                \/\/ Remove unavailable options\n                const priceMap = pricingData[dayKey].pricesByTreatmentAndLocation || {};\n                const optionsToRemove = [];\n\n                Array.from(locSelect.options).forEach(opt => {\n                    if (!opt.value) return; \/\/ Keep placeholder\n                    const price = priceMap[pricingTierId] ? priceMap[pricingTierId][opt.value] : null;\n                    if (price === null || typeof price === 'undefined') {\n                        optionsToRemove.push(opt);\n                    } else {\n                        opt.disabled = false;\n                        opt.classList.remove('unavailable');\n                        opt.textContent = (locationLabels[opt.value] || opt.value);\n                    }\n                });\n\n                \/\/ Remove unavailable options\n                optionsToRemove.forEach(opt => {\n                    opt.remove();\n                });\n\n                \/\/ If selected option was removed, reset selection\n                if (locSelect.value && !Array.from(locSelect.options).find(opt => opt.value === locSelect.value)) {\n                    locSelect.value = '';\n                }\n            }\n\n            function updateLocationAvailability() {\n                const dayKey = daySelect ? daySelect.value : '';\n                const treatId = treatSelect ? treatSelect.value : '';\n                if (!dayKey || !treatId) { return; }\n\n                \/\/ Get the actual pricing tier ID\n                let pricingTierId = treatId;\n                if (category === 'Couple Spa Deals' || category === 'Self Care Specials') {\n                    pricingTierId = getTreatmentTierId(treatId, category);\n                    if (!pricingTierId) return;\n                }\n\n                \/\/ Remove unavailable options instead of disabling them\n                const priceMap = pricingData[dayKey].pricesByTreatmentAndLocation || {};\n                const optionsToRemove = [];\n\n                Array.from(locSelect.options).forEach(opt => {\n                    if (!opt.value) return; \/\/ Keep placeholder\n                    const price = priceMap[pricingTierId] ? priceMap[pricingTierId][opt.value] : null;\n                    if (price === null || typeof price === 'undefined') {\n                        optionsToRemove.push(opt);\n                    } else {\n                        opt.disabled = false;\n                        opt.classList.remove('unavailable');\n                        opt.textContent = (locationLabels[opt.value] || opt.value);\n                    }\n                });\n\n                \/\/ Remove unavailable options\n                optionsToRemove.forEach(opt => {\n                    opt.remove();\n                });\n\n                \/\/ If selected option was removed, reset selection\n                if (locSelect.value && !Array.from(locSelect.options).find(opt => opt.value === locSelect.value)) {\n                    locSelect.value = '';\n                }\n            }\n\n            \/\/ Function to update price display - shows default if not all selections made\n            function updatePriceDisplay() {\n                \/\/ For 22 For 22 Launch Special, always show 220\n                if (category === '22 For 22 Launch Special') {\n                    priceLabel.textContent = 'AED 220';\n                    return;\n                }\n                \n                const dayKey = daySelect ? daySelect.value : '';\n                const treatId = treatSelect ? treatSelect.value : '';\n                const locId = locSelect ? locSelect.value : '';\n\n                \/\/ Check if all required selections are made\n                let allSelected = false;\n                if (category === 'Foot reflexology Bliss') {\n                    allSelected = dayKey && locId;\n                } else {\n                    allSelected = dayKey && treatId && locId;\n                }\n\n                \/\/ If not all selected, show default price\n                if (!allSelected) {\n                    if (defaultPrice) {\n                        priceLabel.textContent = defaultPrice;\n                    } else {\n                        const minPrice = getMinimumPrice();\n                        priceLabel.textContent = minPrice > 0 ? `from AED ${minPrice}` : 'AED 0';\n                    }\n                    return;\n                }\n\n                \/\/ All selected, compute actual price\n                computePrice();\n            }\n\n            function computePrice() {\n                \/\/ For 22 For 22 Launch Special, always return 220\n                if (category === '22 For 22 Launch Special') {\n                    priceLabel.textContent = 'AED 220';\n                    return;\n                }\n                \n                const dayKey = daySelect ? daySelect.value : '';\n                const treatId = treatSelect ? treatSelect.value : '';\n                const locId = locSelect ? locSelect.value : '';\n\n                \/\/ For Foot reflexology Bliss, use 'foot_reflex' directly\n                if (category === 'Foot reflexology Bliss') {\n                    if (!dayKey || !locId) {\n                        updatePriceDisplay();\n                        return;\n                    }\n                    const pricingTierId = 'foot_reflex';\n                    const map = pricingData[dayKey] && pricingData[dayKey].pricesByTreatmentAndLocation ? pricingData[dayKey].pricesByTreatmentAndLocation : {};\n                    const p = map[pricingTierId] && typeof map[pricingTierId][locId] !== 'undefined' ? map[pricingTierId][locId] : null;\n                    if (typeof p === 'number') {\n                        priceLabel.textContent = 'AED ' + p;\n                    } else {\n                        updatePriceDisplay();\n                    }\n                    return;\n                }\n\n                if (!dayKey || !treatId || !locId) {\n                    updatePriceDisplay();\n                    return;\n                }\n\n                \/\/ Get the actual pricing tier ID\n                let pricingTierId = treatId;\n                if (category === 'Couple Spa Deals' || category === 'Self Care Specials') {\n                    pricingTierId = getTreatmentTierId(treatId, category);\n                    if (!pricingTierId) {\n                        updatePriceDisplay();\n                        return;\n                    }\n                }\n\n                const map = pricingData[dayKey] && pricingData[dayKey].pricesByTreatmentAndLocation ? pricingData[dayKey].pricesByTreatmentAndLocation : {};\n                const p = map[pricingTierId] && typeof map[pricingTierId][locId] !== 'undefined' ? map[pricingTierId][locId] : null;\n                if (typeof p === 'number') {\n                    priceLabel.textContent = 'AED ' + p;\n                } else {\n                    updatePriceDisplay();\n                }\n            }\n\n            \/\/ Book button: open WhatsApp with formatted message\n            if (bookBtn) {\n                bookBtn.addEventListener('click', () => {\n                    \/\/ For Celebration Packages, handle \"Learn More\" differently\n                    if (category === 'Celebration Packages') {\n                        \/\/ GTM Tracking for Celebration Packages\n                        window.dataLayer = window.dataLayer || [];\n                        window.dataLayer.push({\n                            event: 'whatsapp_redirect',\n                            day: 'N\/A',\n                            treatment: 'Gift Box \/ Voucher',\n                            emirate: 'N\/A',\n                            location: 'N\/A',\n                            category: category\n                        });\n                        window.dataLayer.push({\n                            event: 'book_now_click',\n                            eventCategory: 'Booking',\n                            eventAction: 'Book Now Clicked',\n                            eventLabel: category,\n                            category: category,\n                            day: 'N\/A',\n                            treatment: 'Gift Box \/ Voucher',\n                            emirate: 'N\/A',\n                            location: 'N\/A',\n                            price: 'N\/A'\n                        });\n\n                        \/\/ You can customize this action - for example, scroll to a section, \n                        \/\/ open a modal, or navigate to a page\n                        \/\/ For now, we'll just open WhatsApp with a general inquiry message\n                        const msg = `Hey! I'm interested in learning more about your Exclusive Vouchers & Gift Box Sets.`;\n                        const waNumber = '971503010810';\n                        const url = `https:\/\/wa.me\/${waNumber}?text=${encodeURIComponent(msg)}`;\n                        window.open(url, '_blank');\n                        return;\n                    }\n\n                    const dayKey = daySelect ? daySelect.value : '';\n                    const treatId = treatSelect ? treatSelect.value : '';\n                    const emirateKey = emirateSelect ? emirateSelect.value : '';\n                    const locId = locSelect ? locSelect.value : '';\n                    const priceText = priceLabel.textContent || 'AED 0';\n                    const categoryLabel = category;\n                    const treatLabel = treatSelect && treatSelect.options[treatSelect.selectedIndex] ? treatSelect.options[treatSelect.selectedIndex].text : 'Foot Massage';\n                    const locLabel = locSelect && locSelect.options[locSelect.selectedIndex] ? locSelect.options[locSelect.selectedIndex].text : '';\n\n                    \/\/ For 22 For 22 Launch Special, only need treatment\n                    if (category === '22 For 22 Launch Special') {\n                        if (!treatId) {\n                            alert('Please choose a treatment before booking.');\n                            return;\n                        }\n                    }\n                    \/\/ For Foot reflexology Bliss, only need day and location\n                    else if (category === 'Foot reflexology Bliss') {\n                        if (!dayKey || !locId) {\n                            alert('Please choose day and location before booking.');\n                            return;\n                        }\n                    } else {\n                        if (!dayKey || !treatId || !locId) {\n                            alert('Please choose day, treatment and location before booking.');\n                            return;\n                        }\n                    }\n\n                    \/\/ Validation check - ensure all required fields are selected\n                    \/\/ For 22 For 22 Launch Special, skip emirate\/location validation\n                    if (category === '22 For 22 Launch Special') {\n                        \/\/ Only treatment is required, validation already passed above\n                    }\n                    \/\/ For Foot reflexology Bliss, emirate is still required for tracking\n                    else if (category === 'Foot reflexology Bliss') {\n                        if (!dayKey || !emirateKey || !locId) {\n                            alert('Please choose day and location before booking.');\n                            return;\n                        }\n                    } else {\n                        if (!dayKey || !treatId || !emirateKey || !locId) {\n                            alert('Please choose day, treatment and location before booking.');\n                            return;\n                        }\n                    }\n\n                    \/\/ GTM Tracking - Fire AFTER validation passes\n                    window.dataLayer = window.dataLayer || [];\n\n                    \/\/ Primary GTM Event (as requested by GTM team)\n                    window.dataLayer.push({\n                        event: 'whatsapp_redirect',\n                        day: dayKey || 'N\/A',                    \/\/ e.g., \"WEEKDAY\" or \"WEEKEND\"\n                        treatment: treatLabel || 'Foot Massage',  \/\/ e.g., \"Aromatherapy Massage\" or \"Foot Massage\"\n                        emirate: emirateKey || 'N\/A',            \/\/ e.g., \"dubai\", \"abudhabi\", \"sharjah\"\n                        location: locLabel || 'N\/A'               \/\/ e.g., \"Jumeirah Creekside Hotel - Al Garhoud, Dubai\"\n                    });\n\n                    \/\/ Additional detailed tracking event\n                    window.dataLayer.push({\n                        event: 'book_now_click',\n                        eventCategory: 'Booking',\n                        eventAction: 'Book Now Clicked',\n                        eventLabel: categoryLabel,\n                        category: categoryLabel,\n                        day: dayKey || 'N\/A',\n                        treatment: treatLabel || 'Foot Massage',\n                        treatmentId: treatId || 'foot_reflex',\n                        emirate: emirateKey || 'N\/A',\n                        location: locLabel || 'N\/A',\n                        locationId: locId || 'N\/A',\n                        price: priceText,\n                        duration: durationLabel ? durationLabel.textContent : ''\n                    });\n\n                    \/\/ Build WhatsApp message based on category\n                    let msg;\n                    if (category === '22 For 22 Launch Special') {\n                        \/\/ For 22 For 22 Launch Special, only include treatment and price\n                        msg = `Hey! I want to book a ${categoryLabel}.%0ATreatment: ${encodeURIComponent(treatLabel)}%0APrice: ${encodeURIComponent(priceText)}`;\n                    } else {\n                        \/\/ For other categories, include all details\n                        msg = `Hey! I want to book a ${categoryLabel}.%0ABook for: ${dayKey}%0ATreatment: ${encodeURIComponent(treatLabel)}%0ALocation: ${encodeURIComponent(locLabel)}%0APrice: ${encodeURIComponent(priceText)}`;\n                    }\n                    const waNumber = '971503010810';\n                    const url = `https:\/\/wa.me\/${waNumber}?text=${msg}`;\n                    window.open(url, '_blank');\n                });\n            }\n\n            \/\/ Function to calculate minimum price for this category\n            function getMinimumPrice() {\n                \/\/ For 22 For 22 Launch Special, always return 220\n                if (category === '22 For 22 Launch Special') {\n                    return 220;\n                }\n                \n                let treatmentIds = [];\n\n                if (category === 'Couple Spa Deals') {\n                    treatmentIds = [\"couple_classic\", \"couple_premium\", \"couple_hotstone\"];\n                } else if (category === 'Self Care Specials') {\n                    treatmentIds = [\"metime_classic\", \"metime_premium\", \"metime_hotstone\"];\n                } else if (category === 'Foot reflexology Bliss') {\n                    treatmentIds = [\"foot_reflex\"];\n                } else if (category === 'Couple Relaxation') {\n                    treatmentIds = [\"celebration_single\", \"celebration_couple\"];\n                } else if (category === 'Me-time Indulgence') {\n                    treatmentIds = [\"metime_classic\", \"metime_premium\", \"metime_hotstone\"];\n                } else if (category === 'Celebration Packages') {\n                    treatmentIds = [\"celebration_single\", \"celebration_couple\"];\n                }\n\n                let minPrice = Infinity;\n\n                ['WEEKDAY', 'WEEKEND'].forEach(dayKey => {\n                    treatmentIds.forEach(treatId => {\n                        const priceMap = pricingData[dayKey]?.pricesByTreatmentAndLocation?.[treatId];\n                        if (priceMap) {\n                            Object.values(priceMap).forEach(price => {\n                                if (price !== null && typeof price === 'number' && price < minPrice) {\n                                    minPrice = price;\n                                }\n                            });\n                        }\n                    });\n                });\n\n                return minPrice === Infinity ? 0 : minPrice;\n            }\n\n            \/\/ Initialize default placeholders (no day selected)\n            if (locSelect) {\n                resetBlock();\n            }\n\n            function resetBlock() {\n                if (!locSelect) return;\n\n                \/\/ For Foot reflexology Bliss, hide treatment select\n                if (category === 'Foot reflexology Bliss') {\n                    if (treatSelect) {\n                        treatSelect.style.display = 'none';\n                    }\n                } else {\n                    if (treatSelect) {\n                        treatSelect.style.display = '';\n                        treatSelect.innerHTML = '';\n                        const useTotalPeople = category === 'Couple Relaxation';\n                        const tOpt = document.createElement('option');\n                        tOpt.value = '';\n                        \/\/ Set correct placeholder based on category\n                        if (useTotalPeople) {\n                            tOpt.textContent = 'Total People';\n                        } else if (category === 'Couple Spa Deals' || category === 'Self Care Specials') {\n                            tOpt.textContent = 'Choose a Treatment';\n                        } else {\n                            tOpt.textContent = 'Choose a Treatment';\n                        }\n                        tOpt.disabled = true;\n                        tOpt.selected = true;\n                        treatSelect.appendChild(tOpt);\n                        treatSelect.disabled = true;\n                    }\n                }\n\n                if (emirateSelect) {\n                    populateEmirates(emirateSelect, category);\n                    emirateSelect.value = '';\n                    emirateSelect.disabled = true;\n                }\n\n                locSelect.innerHTML = '';\n                const lOpt = document.createElement('option');\n                lOpt.value = '';\n                lOpt.textContent = 'Preferred Location';\n                lOpt.disabled = true;\n                lOpt.selected = true;\n                locSelect.appendChild(lOpt);\n                locSelect.disabled = true;\n\n                if (category === 'Foot reflexology Bliss') durationLabel.textContent = '30 minutes';\n                else if (category === 'Couple Relaxation' || category === 'Celebration Packages') durationLabel.textContent = '90 minutes';\n                else durationLabel.textContent = '60 minutes';\n\n                \/\/ For 22 For 22 Launch Special, always use 220\n                if (category === '22 For 22 Launch Special') {\n                    defaultPrice = 'AED 220';\n                    priceLabel.textContent = defaultPrice;\n                } else {\n                    const minPrice = getMinimumPrice();\n                    defaultPrice = minPrice > 0 ? `from AED ${minPrice}` : 'AED 0';\n                    priceLabel.textContent = defaultPrice;\n                }\n\n                \/\/ Reset facilities\n                if (facilitiesContainer) {\n                    facilitiesContainer.style.display = 'none';\n                    facilitiesContainer.innerHTML = '';\n                }\n            }\n        });\n    } \/\/ End of initSpaDropdowns function\n\n    \/\/ Video Modal functionality - Initialize outside the function\n    function initVideoModal() {\n        const videoModal = document.getElementById('videoModal');\n        const videoPlayer = document.getElementById('videoPlayer');\n        const videoError = document.getElementById('videoError');\n        const closeVideoBtn = document.querySelector('.video-modal-close');\n\n        if (!videoModal || !videoPlayer) {\n            return; \/\/ Elements not found yet\n        }\n\n        \/\/ Handle video errors with detailed logging\n        videoPlayer.addEventListener('error', (e) => {\n            console.error('Video error:', e);\n            if (videoPlayer.error) {\n                console.error('Video error code:', videoPlayer.error.code);\n                console.error('Video error message:', videoPlayer.error.message);\n\n                \/\/ Show error message\n                if (videoError) {\n                    videoError.style.display = 'block';\n                    videoPlayer.style.display = 'none';\n                }\n            }\n        });\n\n        \/\/ Handle successful video load\n        videoPlayer.addEventListener('loadedmetadata', () => {\n            console.log('Video metadata loaded');\n            if (videoError) videoError.style.display = 'none';\n            videoPlayer.style.display = 'block';\n        });\n\n        videoPlayer.addEventListener('canplay', () => {\n            console.log('Video can play');\n            if (videoError) videoError.style.display = 'none';\n            videoPlayer.style.display = 'block';\n        });\n\n        videoPlayer.addEventListener('canplaythrough', () => {\n            console.log('Video can play through');\n            if (videoError) videoError.style.display = 'none';\n            videoPlayer.style.display = 'block';\n        });\n\n        \/\/ Play button click handler\n        const playVideoBtns = document.querySelectorAll('.play-video-btn');\n        if (playVideoBtns.length > 0) {\n            playVideoBtns.forEach(btn => {\n                btn.addEventListener('click', (e) => {\n                    e.preventDefault();\n                    console.log('Play video button clicked');\n\n                    \/\/ Show modal\n                    videoModal.classList.add('active');\n                    if (videoError) videoError.style.display = 'none';\n                    videoPlayer.style.display = 'block';\n\n                    \/\/ Reset video\n                    videoPlayer.currentTime = 0;\n\n                    \/\/ Load video\n                    videoPlayer.load();\n\n                    \/\/ Wait for video to be ready, then play\n                    const tryPlay = () => {\n                        if (videoPlayer.readyState >= 2) { \/\/ HAVE_CURRENT_DATA\n                            const playPromise = videoPlayer.play();\n                            if (playPromise !== undefined) {\n                                playPromise.then(() => {\n                                    console.log('Video playing successfully');\n                                    if (videoError) videoError.style.display = 'none';\n                                    videoPlayer.style.display = 'block';\n                                }).catch(error => {\n                                    console.error('Autoplay prevented:', error);\n                                    \/\/ Autoplay was prevented - show video with controls\n                                    if (videoError) videoError.style.display = 'none';\n                                    videoPlayer.style.display = 'block';\n                                    \/\/ User can manually click play\n                                });\n                            }\n                        } else {\n                            \/\/ Wait a bit more\n                            setTimeout(tryPlay, 100);\n                        }\n                    };\n\n                    \/\/ Start trying to play after a short delay\n                    setTimeout(tryPlay, 200);\n                });\n            });\n        }\n\n        \/\/ Close button handler\n        if (closeVideoBtn) {\n            closeVideoBtn.addEventListener('click', () => {\n                videoModal.classList.remove('active');\n                videoPlayer.pause();\n                videoPlayer.currentTime = 0;\n                if (videoError) videoError.style.display = 'none';\n            });\n        }\n\n        \/\/ Close modal when clicking outside\n        videoModal.addEventListener('click', (e) => {\n            if (e.target === videoModal) {\n                videoModal.classList.remove('active');\n                videoPlayer.pause();\n                videoPlayer.currentTime = 0;\n                if (videoError) videoError.style.display = 'none';\n            }\n        });\n\n        \/\/ Close modal on Escape key\n        document.addEventListener('keydown', (e) => {\n            if (e.key === 'Escape' && videoModal.classList.contains('active')) {\n                videoModal.classList.remove('active');\n                videoPlayer.pause();\n                videoPlayer.currentTime = 0;\n                if (videoError) videoError.style.display = 'none';\n            }\n        });\n    }\n\n    \/\/ Initialize video modal when DOM is ready\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', initVideoModal);\n    } else {\n        initVideoModal();\n    }\n\n    \/\/ Also try initializing after a delay (for dynamic content)\n    setTimeout(initVideoModal, 500);\n\n    \/\/ Retry initialization if elements are added dynamically\n    const observer = new MutationObserver(function (mutations) {\n        const uninitializedOffers = document.querySelectorAll('.offer:not([data-spa-initialized=\"true\"])');\n        if (uninitializedOffers.length > 0) {\n            initSpaDropdowns();\n        }\n    });\n\n    \/\/ Start observing when DOM is ready\n    if (document.body) {\n        observer.observe(document.body, {\n            childList: true,\n            subtree: true\n        });\n    } else {\n        document.addEventListener('DOMContentLoaded', function () {\n            observer.observe(document.body, {\n                childList: true,\n                subtree: true\n            });\n        });\n    }\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Curated Wellness Offers Step into a world of calm and indulge in special offers designed to elevate your relaxation at the UAE\u2019s leading spa and wellness retreat. Foot Reflexology Bliss 30-Min AED 99 Enjoy this offer at all 21 spa outlets throughout the UAE (Offer valid for a short time only) 30-Min Foot Reflexology BOOK [&hellip;]<\/p>","protected":false},"author":1,"featured_media":9988,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-9691","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Offers - Soul Senses Spa &amp; Wellness<\/title>\n<meta name=\"description\" content=\"Dive into relaxation with exclusive offers best spa in Dubai network. Enjoy wellness packages and deals for a rejuvenating experience.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/soulsensesspa.ae\/ar\/offers\/\" \/>\n<meta property=\"og:locale\" content=\"ar_AR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Offers - Soul Senses Spa &amp; Wellness\" \/>\n<meta property=\"og:description\" content=\"Dive into relaxation with exclusive offers best spa in Dubai network. Enjoy wellness packages and deals for a rejuvenating experience.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/soulsensesspa.ae\/ar\/offers\/\" \/>\n<meta property=\"og:site_name\" content=\"Soul Senses Spa &amp; Wellness\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-26T07:35:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/offer-google.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"838\" \/>\n\t<meta property=\"og:image:height\" content=\"622\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0648\u0642\u062a \u0627\u0644\u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u064f\u0642\u062f\u0651\u0631\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 \u062f\u0642\u0627\u0626\u0642\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/soulsensesspa.ae\/offers\/\",\"url\":\"https:\/\/soulsensesspa.ae\/offers\/\",\"name\":\"Offers - Soul Senses Spa &amp; Wellness\",\"isPartOf\":{\"@id\":\"https:\/\/soulsensesspa.ae\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/soulsensesspa.ae\/offers\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/soulsensesspa.ae\/offers\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/offer-google.jpg\",\"datePublished\":\"2025-12-12T10:44:06+00:00\",\"dateModified\":\"2026-03-26T07:35:02+00:00\",\"description\":\"Dive into relaxation with exclusive offers best spa in Dubai network. Enjoy wellness packages and deals for a rejuvenating experience.\",\"breadcrumb\":{\"@id\":\"https:\/\/soulsensesspa.ae\/offers\/#breadcrumb\"},\"inLanguage\":\"ar\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/soulsensesspa.ae\/offers\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ar\",\"@id\":\"https:\/\/soulsensesspa.ae\/offers\/#primaryimage\",\"url\":\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/offer-google.jpg\",\"contentUrl\":\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/offer-google.jpg\",\"width\":838,\"height\":622},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/soulsensesspa.ae\/offers\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/soulsensesspa.ae\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Offers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/soulsensesspa.ae\/#website\",\"url\":\"https:\/\/soulsensesspa.ae\/\",\"name\":\"Soul Senses Spa &amp; Wellness\",\"description\":\"Luxury wellness since 2012\",\"publisher\":{\"@id\":\"https:\/\/soulsensesspa.ae\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/soulsensesspa.ae\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ar\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/soulsensesspa.ae\/#organization\",\"name\":\"Soul Senses Spa &amp; Wellness\",\"url\":\"https:\/\/soulsensesspa.ae\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ar\",\"@id\":\"https:\/\/soulsensesspa.ae\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2024\/07\/Image20240712170350.png\",\"contentUrl\":\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2024\/07\/Image20240712170350.png\",\"width\":748,\"height\":589,\"caption\":\"Soul Senses Spa &amp; Wellness\"},\"image\":{\"@id\":\"https:\/\/soulsensesspa.ae\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Offers - Soul Senses Spa &amp; Wellness","description":"Dive into relaxation with exclusive offers best spa in Dubai network. Enjoy wellness packages and deals for a rejuvenating experience.","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:\/\/soulsensesspa.ae\/ar\/offers\/","og_locale":"ar_AR","og_type":"article","og_title":"Offers - Soul Senses Spa &amp; Wellness","og_description":"Dive into relaxation with exclusive offers best spa in Dubai network. Enjoy wellness packages and deals for a rejuvenating experience.","og_url":"https:\/\/soulsensesspa.ae\/ar\/offers\/","og_site_name":"Soul Senses Spa &amp; Wellness","article_modified_time":"2026-03-26T07:35:02+00:00","og_image":[{"width":838,"height":622,"url":"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/offer-google.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"\u0648\u0642\u062a \u0627\u0644\u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u064f\u0642\u062f\u0651\u0631":"3 \u062f\u0642\u0627\u0626\u0642"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/soulsensesspa.ae\/offers\/","url":"https:\/\/soulsensesspa.ae\/offers\/","name":"Offers - Soul Senses Spa &amp; Wellness","isPartOf":{"@id":"https:\/\/soulsensesspa.ae\/#website"},"primaryImageOfPage":{"@id":"https:\/\/soulsensesspa.ae\/offers\/#primaryimage"},"image":{"@id":"https:\/\/soulsensesspa.ae\/offers\/#primaryimage"},"thumbnailUrl":"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/offer-google.jpg","datePublished":"2025-12-12T10:44:06+00:00","dateModified":"2026-03-26T07:35:02+00:00","description":"Dive into relaxation with exclusive offers best spa in Dubai network. Enjoy wellness packages and deals for a rejuvenating experience.","breadcrumb":{"@id":"https:\/\/soulsensesspa.ae\/offers\/#breadcrumb"},"inLanguage":"ar","potentialAction":[{"@type":"ReadAction","target":["https:\/\/soulsensesspa.ae\/offers\/"]}]},{"@type":"ImageObject","inLanguage":"ar","@id":"https:\/\/soulsensesspa.ae\/offers\/#primaryimage","url":"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/offer-google.jpg","contentUrl":"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/offer-google.jpg","width":838,"height":622},{"@type":"BreadcrumbList","@id":"https:\/\/soulsensesspa.ae\/offers\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/soulsensesspa.ae\/"},{"@type":"ListItem","position":2,"name":"Offers"}]},{"@type":"WebSite","@id":"https:\/\/soulsensesspa.ae\/#website","url":"https:\/\/soulsensesspa.ae\/","name":"Soul Senses Spa &amp; Wellness","description":"Luxury wellness since 2012","publisher":{"@id":"https:\/\/soulsensesspa.ae\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/soulsensesspa.ae\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ar"},{"@type":"Organization","@id":"https:\/\/soulsensesspa.ae\/#organization","name":"Soul Senses Spa &amp; Wellness","url":"https:\/\/soulsensesspa.ae\/","logo":{"@type":"ImageObject","inLanguage":"ar","@id":"https:\/\/soulsensesspa.ae\/#\/schema\/logo\/image\/","url":"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2024\/07\/Image20240712170350.png","contentUrl":"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2024\/07\/Image20240712170350.png","width":748,"height":589,"caption":"Soul Senses Spa &amp; Wellness"},"image":{"@id":"https:\/\/soulsensesspa.ae\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/soulsensesspa.ae\/ar\/wp-json\/wp\/v2\/pages\/9691","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/soulsensesspa.ae\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/soulsensesspa.ae\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/soulsensesspa.ae\/ar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/soulsensesspa.ae\/ar\/wp-json\/wp\/v2\/comments?post=9691"}],"version-history":[{"count":228,"href":"https:\/\/soulsensesspa.ae\/ar\/wp-json\/wp\/v2\/pages\/9691\/revisions"}],"predecessor-version":[{"id":10996,"href":"https:\/\/soulsensesspa.ae\/ar\/wp-json\/wp\/v2\/pages\/9691\/revisions\/10996"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/soulsensesspa.ae\/ar\/wp-json\/wp\/v2\/media\/9988"}],"wp:attachment":[{"href":"https:\/\/soulsensesspa.ae\/ar\/wp-json\/wp\/v2\/media?parent=9691"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}