{"id":6615,"date":"2025-07-24T04:36:36","date_gmt":"2025-07-24T04:36:36","guid":{"rendered":"https:\/\/soulsensesspa.ae\/?page_id=6615"},"modified":"2025-12-24T07:42:00","modified_gmt":"2025-12-24T07:42:00","slug":"test","status":"publish","type":"page","link":"https:\/\/soulsensesspa.ae\/ar\/test\/","title":{"rendered":"Test"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"6615\" class=\"elementor elementor-6615\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-07aebcf e-flex e-con-boxed e-con e-parent\" data-id=\"07aebcf\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-49e1299 elementor-widget elementor-widget-heading\" data-id=\"49e1299\" 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\">Curated Wellness Offers<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8d0d017 e-con-full e-flex e-con e-child\" data-id=\"8d0d017\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f4b7903 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"f4b7903\" 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\">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.<\/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-daa6234 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"daa6234\" 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>\r\n    :root {\r\n        --accent: #6b0f12;\r\n        \/* deep burgundy similar to your design *\/\r\n        --muted: #f3efed;\r\n        --card-bg: #fff;\r\n        --text: #222;\r\n    }\r\n\r\n    select {\r\n        color: #fff;\r\n    }\r\n\r\n    #nisiaa .select-wrap::after {\r\n        border-color: #fff !important;\r\n    }\r\n\r\n    .video-modal {\r\n        display: none;\r\n        position: fixed;\r\n        top: 0;\r\n        left: 0;\r\n        width: 100%;\r\n        height: 100%;\r\n        background-color: rgba(0, 0, 0, 0.8);\r\n        z-index: 9999;\r\n        justify-content: center;\r\n        align-items: center;\r\n    }\r\n\r\n    .video-modal.active {\r\n        display: flex;\r\n    }\r\n\r\n    .video-modal-content {\r\n        position: relative !important;\r\n        width: 80% !important;\r\n        max-width: 900px !important;\r\n        aspect-ratio: 16 \/ 9 !important;\r\n        background: #000 !important;\r\n        border-radius: 8px !important;\r\n        overflow: hidden !important;\r\n        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;\r\n    }\r\n\r\n    #nisiaa select {\r\n        font-family: \"Calibri\", serif !important;\r\n        background-color: #8c282e !important;\r\n        border-color: #8c282e !important;\r\n        color: #fff !important;\r\n        font-size: 18px !important;\r\n        border-radius: 0px;\r\n        padding: 6px 18px;\r\n    }\r\n\r\n    .offer {\r\n        display: flex;\r\n        gap: 28px;\r\n        align-items: flex-start;\r\n        padding: 26px 0;\r\n        border-bottom: 1px dotted #bdbdbd;\r\n    }\r\n\r\n    .offer:first-child {\r\n        padding-top: 0;\r\n    }\r\n\r\n    .offer:last-child {\r\n        border-bottom: 0;\r\n        padding-bottom: 6px;\r\n    }\r\n\r\n    .offer .media {\r\n        flex: 0 0 360px;\r\n    }\r\n\r\n    .offer .media img {\r\n        width: 100%;\r\n        height: auto;\r\n        display: block;\r\n        border-radius: 6px;\r\n    }\r\n\r\n    .offer .content {\r\n        flex: 1 1 auto;\r\n    }\r\n\r\n    .headline {\r\n        font-size: 19.3px;\r\n        font-weight: bold;\r\n        letter-spacing: 1px;\r\n        text-transform: uppercase;\r\n        margin: 4px 0 12px 0;\r\n        color: #2e2929;\r\n        font-family: \"Marcellus\", serif !important;\r\n    }\r\n\r\n    .sub {\r\n        font-family: \"Marcellus\", serif !important;\r\n        font-size: 16.4px;\r\n        font-weight: bold;\r\n        color: #8c282e;\r\n        margin-bottom: 14px;\r\n        text-transform: uppercase;\r\n    }\r\n\r\n    .black {\r\n        color: black;\r\n    }\r\n\r\n    .controls {\r\n        display: flex;\r\n        flex-wrap: wrap;\r\n        gap: 12px;\r\n        align-items: center;\r\n        margin-bottom: 12px;\r\n    }\r\n\r\n    .select-wrap {\r\n        position: relative;\r\n        padding: 4px 0;\r\n        flex: 0 1 calc(50% - 6px);\r\n        min-width: 0;\r\n        max-width: calc(50% - 6px);\r\n    }\r\n\r\n    @media (min-width: 769px) {\r\n        .select-wrap {\r\n            flex: 0 1 calc(50% - 6px);\r\n            max-width: calc(50% - 6px);\r\n        }\r\n    }\r\n\r\n    select {\r\n        -webkit-appearance: none !important;\r\n        -moz-appearance: none !important;\r\n        appearance: none !important;\r\n        padding: 12px 50px 12px 16px;\r\n        border-radius: 0px;\r\n        border: 1px solid #bfbfbf;\r\n        background: #8c282e !important;\r\n        background-image: none !important;\r\n        font-size: 13px;\r\n        min-width: 250px;\r\n        text-transform: none;\r\n        cursor: pointer;\r\n        font-family: \"Calibri\", serif !important;\r\n    }\r\n\r\n    \/* Hide default dropdown arrow for all browsers *\/\r\n    select::-ms-expand {\r\n        display: none !important;\r\n    }\r\n\r\n    select::-webkit-inner-spin-button,\r\n    select::-webkit-outer-spin-button {\r\n        -webkit-appearance: none !important;\r\n        margin: 0;\r\n    }\r\n\r\n    \/* Additional browser-specific hiding *\/\r\n    select::-webkit-appearance {\r\n        -webkit-appearance: none !important;\r\n    }\r\n\r\n    select::-moz-appearance {\r\n        -moz-appearance: none !important;\r\n    }\r\n\r\n    .day-type,\r\n    .treatment-select,\r\n    .emirate-select,\r\n    .location-select {\r\n        width: 100% !important;\r\n        min-width: 250px !important;\r\n        padding-right: 50px !important;\r\n    }\r\n\r\n    .select-wrap::after {\r\n        content: \"\";\r\n        position: absolute;\r\n        right: 35px;\r\n        top: 50%;\r\n        transform: translateY(-50%);\r\n        width: 14px;\r\n        height: 14px;\r\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\");*\/\r\n        background-repeat: no-repeat;\r\n        background-position: center;\r\n        background-size: contain;\r\n        pointer-events: none;\r\n        z-index: 10;\r\n    }\r\n\r\n    \/* Hide disabled placeholder options from dropdown list *\/\r\n    select option[disabled] {\r\n        display: none;\r\n    }\r\n\r\n    \/* Show disabled option when it's the selected value *\/\r\n    select option[disabled][selected] {\r\n        display: block;\r\n        color: #999;\r\n    }\r\n\r\n    \/* Style regular options *\/\r\n    select option:not([disabled]) {\r\n        color: #fff;\r\n    }\r\n\r\n    .price-block {\r\n        margin-top: 8px;\r\n        display: flex;\r\n        gap: 18px;\r\n        align-items: center;\r\n        margin-bottom: 10px;\r\n        background: #8c282e;\r\n    }\r\n\r\n    .duration-box {\r\n        font-size: 12px;\r\n        padding: 8px 12px;\r\n        border: 1px solid #ddd;\r\n        border-radius: 0px;\r\n        background: #8c282e;\r\n    }\r\n\r\n    .price-box {\r\n        font-size: 20px;\r\n        color: var(--accent);\r\n        font-weight: 600;\r\n        padding: 8px 12px;\r\n        border: 2px solid var(--accent);\r\n        border-radius: 0px;\r\n        background: #8c282e;\r\n    }\r\n\r\n    .book-btn {\r\n        font-family: \"Calibri\", serif !important;\r\n        \/*font-family: \"Calibri\"*\/\r\n        margin-top: 6px;\r\n        display: inline-block;\r\n        background: #8c282e;\r\n        color: #fff;\r\n        padding: 6px 18px;\r\n        border-radius: 0px;\r\n        border: 0;\r\n        cursor: pointer;\r\n        font-size: 14px;\r\n        text-transform: uppercase;\r\n        width: 120px\r\n    }\r\n\r\n\r\n    .book-btn:hover {\r\n\r\n        background: #b33e3f !important;\r\n    }\r\n\r\n    \/* Button container for side-by-side buttons *\/\r\n    .button-group {\r\n        display: flex;\r\n        gap: 12px;\r\n        margin-top: 6px;\r\n        flex-wrap: wrap;\r\n    }\r\n\r\n    \/* Video modal styles *\/\r\n    .video-modal {\r\n        display: none;\r\n        position: fixed;\r\n        z-index: 10000;\r\n        left: 0;\r\n        top: 0;\r\n        width: 100%;\r\n        height: 100%;\r\n        background-color: rgba(0, 0, 0, 0.9);\r\n        justify-content: center;\r\n        align-items: center;\r\n    }\r\n\r\n    .video-modal.active {\r\n        display: flex;\r\n    }\r\n\r\n    .video-modal-content {\r\n        position: relative;\r\n        width: 90%;\r\n        max-width: 1200px;\r\n        padding: 20px;\r\n        background-color: #000;\r\n    }\r\n\r\n    .video-modal-close {\r\n        position: absolute;\r\n        top: -40px;\r\n        right: 0;\r\n        color: #fff;\r\n        font-size: 40px;\r\n        font-weight: bold;\r\n        cursor: pointer;\r\n        line-height: 1;\r\n        z-index: 10001;\r\n    }\r\n\r\n    .video-modal-close:hover {\r\n        color: #b33e3f;\r\n    }\r\n\r\n    .video-modal video {\r\n        width: 100%;\r\n        height: auto;\r\n        display: block;\r\n    }\r\n\r\n    @media (max-width: 768px) {\r\n\r\n        .button-group {\r\n            flex-direction: column;\r\n        }\r\n\r\n        .button-group .book-btn {\r\n            width: 100%;\r\n        }\r\n    }\r\n\r\n    .desc {\r\n        font-family: \"Calibri\", serif !important;\r\n        margin-top: 10px;\r\n        color: #666;\r\n        max-width: 560px;\r\n        line-height: 1.5;\r\n    }\r\n\r\n    .spa-inclusions {\r\n        max-width: 520px;\r\n        font-family: \"Calibri\", serif !important;\r\n        color: #2f2f2f;\r\n        line-height: 1.7;\r\n    }\r\n\r\n    .spa-note {\r\n        font-size: 16px;\r\n        color: #6f6f6f;\r\n        margin-bottom: 18px;\r\n    }\r\n\r\n    .spa-title {\r\n        font-size: 15px;\r\n        font-weight: 700;\r\n        letter-spacing: 1px;\r\n        margin-bottom: 12px;\r\n    }\r\n\r\n    .bath-heading {\r\n        font-size: 14px;\r\n        font-weight: 700;\r\n        margin: 10px 0 6px;\r\n    }\r\n\r\n    .spa-list {\r\n        list-style: none;\r\n        padding: 0;\r\n        margin: 0 0 14px 0;\r\n    }\r\n\r\n    .spa-list li {\r\n        font-size: 14px;\r\n        margin-bottom: 6px;\r\n    }\r\n\r\n\r\n    @media (max-width:980px) {\r\n        .offer {\r\n            flex-direction: column;\r\n        }\r\n\r\n        .offer .media {\r\n            width: 100%;\r\n            flex-basis: auto;\r\n        }\r\n\r\n        \/*.controls {*\/\r\n        \/*    flex-direction: row;*\/\r\n        \/*    align-items: flex-start;*\/\r\n        \/*}*\/\r\n\r\n        select {\r\n            min-width: 100%;\r\n            max-width: 100%;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 768px) {\r\n        .video-modal-content {\r\n            width: 95% !important;\r\n            aspect-ratio: 9 \/ 14 !important;\r\n        }\r\n\r\n        #nisiaa select {\r\n            font-size: 12px !important;\r\n            padding: 6px 10px;\r\n        }\r\n\r\n        \/*.controls {*\/\r\n        \/*    flex-direction: row;*\/\r\n        \/*    align-items: flex-start;*\/\r\n        \/*}*\/\r\n\r\n        .controls {\r\n            flex-direction: column;\r\n            align-items: stretch;\r\n        }\r\n\r\n        .select-wrap {\r\n            flex: 0 1 100% !important;\r\n            max-width: 100% !important;\r\n            min-width: 100% !important;\r\n        }\r\n\r\n        .day-type,\r\n        .treatment-select,\r\n        .emirate-select,\r\n        .location-select {\r\n            width: 100% !important;\r\n        }\r\n\r\n        select {\r\n            -webkit-appearance: none !important;\r\n            -moz-appearance: none !important;\r\n            appearance: none !important;\r\n            padding: 10px 50px 10px 12px;\r\n            border-radius: 0px;\r\n            border: 1px solid #bfbfbf;\r\n            background: #8c282e !important;\r\n            background-image: none !important;\r\n            font-size: 12px;\r\n            min-width: 100px;\r\n            text-transform: none;\r\n            text-align: left;\r\n            cursor: pointer;\r\n            font-family: \"Calibri\", serif !important;\r\n        }\r\n\r\n        select::-ms-expand {\r\n            display: none !important;\r\n        }\r\n\r\n        select::-webkit-inner-spin-button,\r\n        select::-webkit-outer-spin-button {\r\n            -webkit-appearance: none !important;\r\n            margin: 0;\r\n        }\r\n\r\n        .day-type {\r\n            width: auto;\r\n            min-width: auto;\r\n            padding-right: 50px !important;\r\n        }\r\n\r\n        .select-wrap::after {\r\n            content: \"\";\r\n            position: absolute;\r\n            right: 16px;\r\n            top: 50%;\r\n            transform: translateY(-50%);\r\n            width: 12px;\r\n            height: 12px;\r\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\");*\/\r\n            background-repeat: no-repeat;\r\n            background-position: center;\r\n            background-size: contain;\r\n            pointer-events: none;\r\n            z-index: 10;\r\n        }\r\n    }\r\n\r\n    \/* disabled option style fallback (browsers don't style disabled options consistently) *\/\r\n    option.unavailable {\r\n        color: #999;\r\n    }\r\n\r\n    .container {\r\n        max-width: 1200px;\r\n        margin: 0 auto;\r\n        padding: 20px;\r\n        width: 100%;\r\n        box-sizing: border-box;\r\n    }\r\n\r\n    \/* Facilities Styles *\/\r\n    .facilities-container {\r\n        display: none;\r\n        margin-top: 10px;\r\n        margin-bottom: 10px;\r\n        background-color: #f8f8f8;\r\n        padding: 8px 10px;\r\n        border-radius: 4px;\r\n        border: 1px solid #eee;\r\n    }\r\n\r\n    .facilities-title {\r\n        font-family: \"Calibri\", serif !important;\r\n        font-size: 15px;\r\n        color: #444;\r\n        margin-bottom: 7px;\r\n        font-weight: normal;\r\n        background-color: #e8e8e8;\r\n        padding: 6px 10px;\r\n        display: inline-block;\r\n        width: 100%;\r\n        box-sizing: border-box;\r\n    }\r\n\r\n    .facilities-icons {\r\n        display: flex;\r\n        flex-wrap: wrap;\r\n        gap: 14px;\r\n        align-items: center;\r\n    }\r\n\r\n    .facility-item {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 6px;\r\n    }\r\n\r\n    .facility-item img {\r\n        width: 50px;\r\n        height: 50px;\r\n        object-fit: contain;\r\n    }\r\n\r\n    .facility-text {\r\n        font-family: \"Calibri\", serif !important;\r\n        font-size: 10px;\r\n        font-weight: 700;\r\n        text-transform: uppercase;\r\n        color: #333;\r\n        letter-spacing: 0.3px;\r\n        margin-left: -20px;\r\n    }\r\n\r\n    .timing-item {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 6px;\r\n        margin-top: 5px;\r\n        \/* Slight spacing if wrapped *\/\r\n    }\r\n\r\n    .timing-text {\r\n        color: #8c282e;\r\n        font-size: 12px;\r\n        \/* Adjusted to match icons better *\/\r\n        font-weight: bold;\r\n        font-family: \"Calibri\", serif !important;\r\n        white-space: nowrap;\r\n        margin-left: -20px;\r\n        \/* Prevent breaking the time string *\/\r\n    }\r\n\r\n    @media (min-width: 981px) {\r\n        .timing-item {\r\n            margin-top: 0;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 980px) {\r\n        .facilities-icons {\r\n            gap: 6px;\r\n        }\r\n\r\n        .timing-text {\r\n            font-family: \"Calibri\", serif !important;\r\n        }\r\n\r\n        .facility-text {\r\n            font-family: \"Calibri\", serif !important;\r\n        }\r\n\r\n        .facilities-title {\r\n            font-family: \"Calibri\", serif !important;\r\n        }\r\n\r\n        .timing-item {\r\n            width: 100%;\r\n            justify-content: flex-start;\r\n            \/* Left align on mobile *\/\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<div class=\"container\">\r\n\r\n    <!-- Offer: Couple Spa Deals -->\r\n    <div class=\"offer\" data-category=\"Couple Spa Deals\">\r\n        <div class=\"media\">\r\n            <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-12-at-12.56.25.png\"\r\n                alt=\"Couple Spa Deals\">\r\n        <\/div>\r\n        <div class=\"content\">\r\n            <div class=\"headline\">Couple Spa Deals<\/div>\r\n            <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\r\n\r\n            <p class=\"desc\">Celebrate togetherness with our exclusive couple's spa experiences, thoughtfully\r\n                designed\r\n                and offered in the finest 5-star high-end hotels, resorts, and malls.<\/p>\r\n\r\n            <div class=\"sub\"><span class=\"duration-label\">60 minutes<\/span> \u2014 <span class=\"price-label\">AED\r\n                    399<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"controls\">\r\n                <div class=\"select-wrap\">\r\n                    <select class=\"day-type\">\r\n                        <option value=\"\" disabled selected>Choose a Day<\/option>\r\n                        <option value=\"WEEKDAY\">Weekday Specials (monday to thursday)<\/option>\r\n                        <option value=\"WEEKEND\">Weekend Specials (friday to sunday)<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"select-wrap\">\r\n                    <select class=\"treatment-select\" disabled>\r\n                        <option value=\"\">Choose a Treatment<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"select-wrap\">\r\n                    <select class=\"emirate-select\" disabled>\r\n                        <option value=\"\">Select the Emirate<\/option>\r\n                        <option value=\"dubai\">Dubai<\/option>\r\n                        <option value=\"abudhabi\">Abu Dhabi<\/option>\r\n                        <option value=\"sharjah\">Sharjah<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"select-wrap\">\r\n                    <select class=\"location-select\" disabled>\r\n                        <option value=\"\">Preferred Location<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <button class=\"book-btn\">Book Now<\/button>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Offer: Self Care Specials -->\r\n    <div class=\"offer\" data-category=\"Self Care Specials\">\r\n        <div class=\"media\">\r\n            <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-12-at-12.56.31.png\"\r\n                alt=\"Self Care Specials\">\r\n        <\/div>\r\n        <div class=\"content\">\r\n            <div class=\"headline\">Self Care Specials<\/div>\r\n            <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\r\n\r\n            <p class=\"desc\">Take a moment for yourself. Whether you're tired, jet lagged, or simply craving a little\r\n                self-care, our selection of treatments is here to help you relax and rejuvenate.<\/p>\r\n\r\n            <div class=\"sub\"><span class=\"duration-label\">60 minutes<\/span> \u2014 <span class=\"price-label\">AED\r\n                    199<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"controls\">\r\n                <div class=\"select-wrap\">\r\n                    <select class=\"day-type\">\r\n                        <option value=\"\" disabled selected>Choose a Day<\/option>\r\n                        <option value=\"WEEKDAY\">Weekday Specials (monday to thursday)<\/option>\r\n                        <option value=\"WEEKEND\">Weekend Specials (friday to sunday)<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"select-wrap\">\r\n                    <select class=\"treatment-select\" disabled>\r\n                        <option value=\"\">Choose a Treatment<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"select-wrap\">\r\n                    <select class=\"emirate-select\" disabled>\r\n                        <option value=\"\">Select the Emirate<\/option>\r\n                        <option value=\"dubai\">Dubai<\/option>\r\n                        <option value=\"abudhabi\">Abu Dhabi<\/option>\r\n                        <option value=\"sharjah\">Sharjah<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"select-wrap\">\r\n                    <select class=\"location-select\" disabled>\r\n                        <option value=\"\">Preferred Location<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <button class=\"book-btn\">Book Now<\/button>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Offer: Couple Relaxation -->\r\n    <div class=\"offer\" data-category=\"Couple Relaxation\">\r\n        <div class=\"media\">\r\n            <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-12-at-12.56.37.png\"\r\n                alt=\"Couple Relaxation\">\r\n        <\/div>\r\n        <div class=\"content\">\r\n            <div class=\"headline\">Luxury Flower Bath<\/div>\r\n            <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\r\n            <div class=\"sub\"><span class=\"black\">THE NETFLIX SPA EXPERIENCE EVERYONE'S TALKING ABOUT\r\n                    <br \/><\/span><span class=\"duration-label\">60\r\n                    minutes<\/span> \u2014 <span class=\"price-label\">AED 399<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"controls\">\r\n                <div class=\"select-wrap\">\r\n                    <select class=\"day-type\">\r\n                        <option value=\"\" disabled selected>Choose a Day<\/option>\r\n                        <option value=\"WEEKDAY\">Weekday Specials (monday to thursday)<\/option>\r\n                        <option value=\"WEEKEND\">Weekend Specials (friday to sunday)<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"select-wrap\">\r\n                    <select class=\"treatment-select\" disabled>\r\n                        <option value=\"\">Total People<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"select-wrap\">\r\n                    <select class=\"emirate-select\" disabled>\r\n                        <option value=\"\">Select the Emirate<\/option>\r\n                        <option value=\"dubai\">Dubai<\/option>\r\n                        <option value=\"sharjah\">Sharjah<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"select-wrap\">\r\n                    <select class=\"location-select\" disabled>\r\n                        <option value=\"\">Preferred Location<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n            <\/div>\r\n\r\n\r\n            <!--<p class=\"desc\">Celebrate togetherness with our couple-focused relaxation experiences: classic, premium and-->\r\n            <!--    hot-stone options available across many locations.<\/p>-->\r\n\r\n            <div class=\"spa-inclusions\">\r\n                <p class=\"spa-note\">\r\n                    (Perfect for birthdays, anniversaries, or a fun outing with friends)\r\n                <\/p>\r\n\r\n                <h4 class=\"spa-title\">INCLUSIONS:<\/h4>\r\n\r\n                <ul class=\"spa-list\">\r\n                    <li>- Total Experience: 90 minutes<\/li>\r\n                    <li>- Classic Massage Treatment \u2013 60 minutes<\/li>\r\n                    <li>- \ud83c\udf38 Signature Flower Bath \u2013 30 minutes<\/li>\r\n                <\/ul>\r\n\r\n                <p class=\"bath-heading\">- Bath Selections:<\/p>\r\n                <ul class=\"spa-list\">\r\n                    <li>* Red Grapes, Lime &amp; Cinnamon<\/li>\r\n                    <li>* Aromatic Milk Indulgence<\/li>\r\n                    <li>* Cleopatra's Beauty Bath<\/li>\r\n                <\/ul>\r\n\r\n                <ul class=\"spa-list\">\r\n                    <li>- \ud83c\udf77 Complimentary fresh juices &amp; fruit platter<\/li>\r\n                    <li>- \u2728 Optional: Non-alcoholic sparkling wine \u2014 AED 100<\/li>\r\n                <\/ul>\r\n            <\/div>\r\n\r\n\r\n\r\n            <button class=\"book-btn\">Book Now<\/button>\r\n\r\n\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Offer: Me-time Indulgence -->\r\n    <div class=\"offer\" data-category=\"Me-time Indulgence\">\r\n        <div class=\"media\">\r\n            <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-12-at-12.56.44.png\"\r\n                alt=\"Me-time Indulgence\">\r\n        <\/div>\r\n        <div class=\"content\">\r\n            <div class=\"headline\">Launch Special<\/div>\r\n            <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\r\n            <div class=\"sub\">50% Off on all Services<br \/><span class=\"black\">Celebrate Our 21st Location valid\r\n                    at:<\/span>Pearl Rotana Abu Dhabi<\/div>\r\n            <!--<div class=\"sub\"><span class=\"duration-label\">60 minutes<\/span> \u2014 <span class=\"price-label\">AED 199<\/span>-->\r\n            <!--<\/div>-->\r\n\r\n            <!--<div class=\"controls\">-->\r\n            <!--    <div class=\"select-wrap\">-->\r\n            <!--        <select class=\"day-type\">-->\r\n            <!--            <option value=\"\">Choose a day<\/option>-->\r\n            <!--            <option value=\"WEEKDAY\">WEEKDAY PRICES - Monday to Thursday<\/option>-->\r\n            <!--            <option value=\"WEEKEND\">WEEKEND PRICES - Friday to Sunday<\/option>-->\r\n            <!--        <\/select>-->\r\n            <!--    <\/div>-->\r\n\r\n            <!--    <div class=\"select-wrap\">-->\r\n            <!--        <select class=\"treatment-select\" disabled>-->\r\n            <!--            <option value=\"\">Choose treatment<\/option>-->\r\n            <!--        <\/select>-->\r\n            <!--    <\/div>-->\r\n\r\n            <!--    <div class=\"select-wrap\">-->\r\n            <!--        <select class=\"location-select\" disabled>-->\r\n            <!--            <option value=\"\">Preferred location<\/option>-->\r\n            <!--        <\/select>-->\r\n            <!--    <\/div>-->\r\n            <!--<\/div>-->\r\n\r\n\r\n            <!--<p class=\"desc\">Take a moment for yourself with our Me-time treatments: classic, premium and hot-stone-->\r\n            <!--    packages to help you relax and rejuvenate.<\/p>-->\r\n\r\n            <a href=\"https:\/\/wa.me\/971544527101?text=Hey%21%20I%20can%20book%20a%20Launch%20Special%20-%20Half%20Price\"\r\n                target=\"_blank\">\r\n                <button class=\"book-btn\">Book Now<\/button><\/a>\r\n\r\n\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Offer: Foot reflexology -->\r\n    <div class=\"offer\" data-category=\"Foot reflexology Bliss\">\r\n        <div class=\"media\">\r\n            <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-12-at-12.56.53.png\"\r\n                alt=\"Foot reflexology\">\r\n        <\/div>\r\n        <div class=\"content\">\r\n            <div class=\"headline\">Foot Massage Special<\/div>\r\n            <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\r\n            <div class=\"sub\"><span class=\"duration-label\">30 minutes<\/span> \u2014 <span class=\"price-label\">AED\r\n                    99<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"controls\">\r\n                <div class=\"select-wrap\">\r\n                    <select class=\"day-type\">\r\n                        <option value=\"\" disabled selected>Choose a Day<\/option>\r\n                        <option value=\"WEEKDAY\">Weekday Specials (monday to thursday)<\/option>\r\n                        <option value=\"WEEKEND\">Weekend Specials (friday to sunday)<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"select-wrap\">\r\n                    <select class=\"emirate-select\" disabled>\r\n                        <option value=\"\">Select the Emirate<\/option>\r\n                        <option value=\"dubai\">Dubai<\/option>\r\n                        <option value=\"abudhabi\">Abu Dhabi<\/option>\r\n                        <option value=\"sharjah\">Sharjah<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"select-wrap\">\r\n                    <select class=\"location-select\" disabled>\r\n                        <option value=\"\">Preferred Location<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <p class=\"desc\">Enjoy this exclusive offer at all 21 locations across the UAE - but hurry, it's only\r\n                available for a limited time! Don't miss your chance to treat yourself.<\/p>\r\n\r\n            <button class=\"book-btn\">Book Now<\/button>\r\n\r\n\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Offer: Celebration Packages -->\r\n    <div class=\"offer\" data-category=\"Celebration Packages\">\r\n        <div class=\"media\">\r\n            <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/550X413-GIFT-BOX-IMAGE.jpg\"\r\n                alt=\"Celebration Packages\">\r\n        <\/div>\r\n        <div class=\"content\">\r\n            <div class=\"headline\">EXCLUSIVE VOUCHERS & GIFT BOX SETS<\/div>\r\n            <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\r\n            <!--<div class=\"sub\"><span class=\"duration-label\">90 minutes<\/span> \u2014 <span class=\"price-label\">AED 499<\/span>-->\r\n            <!--<\/div>-->\r\n\r\n            <!--<div class=\"controls\">-->\r\n            <!--    <div class=\"select-wrap\">-->\r\n            <!--        <select class=\"day-type\">-->\r\n            <!--            <option value=\"\">Choose a day<\/option>-->\r\n            <!--            <option value=\"WEEKDAY\">Weekday Prices - Monday to Thursday<\/option>-->\r\n            <!--            <option value=\"WEEKEND\">Weekend Prices - Friday to Sunday<\/option>-->\r\n            <!--        <\/select>-->\r\n            <!--    <\/div>-->\r\n\r\n            <!--    <div class=\"select-wrap\">-->\r\n            <!--        <select class=\"treatment-select\" disabled>-->\r\n            <!--            <option value=\"\">Choose treatment<\/option>-->\r\n            <!--        <\/select>-->\r\n            <!--    <\/div>-->\r\n\r\n            <!--    <div class=\"select-wrap\">-->\r\n            <!--        <select class=\"location-select\" disabled>-->\r\n            <!--            <option value=\"\">Preferred location<\/option>-->\r\n            <!--        <\/select>-->\r\n            <!--    <\/div>-->\r\n            <!--<\/div>-->\r\n\r\n\r\n            <p class=\"desc\">\r\n\r\n                <span class=\"bath-heading\" style=\"color: #2f2f2f;\">What\u2019s Inside the Gift Box<\/span><br>\r\n                Premium keepsake box, message card, spa gift voucher, and curated wellness essentials, thoughtfully\r\n                designed for every occasion.<br><br>\r\n\r\n                <span class=\"bath-heading\" style=\"color: #2f2f2f;\">Voucher Options<\/span><br>\r\n                Available as digital vouchers or premium physical gift cards, redeemable at all Soul Senses Spa\r\n                branches.<br><br>\r\n\r\n                <span class=\"bath-heading\" style=\"color: #2f2f2f;\">Gift Values<\/span><br>\r\n                Choose from AED 500, AED 1,000, or AED 3,000 spa voucher values.<br><br>\r\n\r\n                <span class=\"bath-heading\" style=\"color: #2f2f2f;\">Locations<\/span><br>\r\n                Redeemable across 21 Soul Senses Spa & Wellness locations across the UAE.<br>\r\n\r\n            <\/p>\r\n\r\n            <div class=\"button-group\">\r\n                <button class=\"book-btn\" style=\"width: unset!important;\"\r\n                    onclick=\"window.location.href='https:\/\/soulsensesspa.ae\/soul-premium-gift-box\/'\">\r\n                    \u2060Buy Premium Gift Box\r\n                <\/button>\r\n                <button class=\"book-btn\" style=\"width: unset!important;\"\r\n                    onclick=\"window.location.href='https:\/\/soulsensesspa.ae\/buy-voucher\/'\">\r\n                    Buy Gift Voucher\r\n                <\/button>\r\n                <button class=\"book-btn play-video-btn\" style=\"width: unset!important;\">Watch Video<\/button>\r\n            <\/div>\r\n\r\n\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Video Modal -->\r\n    <div id=\"videoModal\" class=\"video-modal\">\r\n        <div class=\"video-modal-content\">\r\n            <span class=\"video-modal-close\">&times;<\/span>\r\n            <div id=\"videoContainer\">\r\n                <video id=\"videoPlayer\" controls preload=\"none\" playsinline webkit-playsinline>\r\n                    <source src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/soul-33333.mov\"\r\n                        type=\"video\/quicktime\">\r\n                    <source src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/soul-33333.mov\" type=\"video\/mp4\">\r\n                    Your browser does not support the video tag.\r\n                <\/video>\r\n\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\n    \/\/ Initialize function - works with both direct HTML and Elementor\r\n    function initSpaDropdowns() {\r\n        \/\/ Check if elements exist, if not, return and try again later\r\n        const offers = document.querySelectorAll('.offer');\r\n        if (offers.length === 0) {\r\n            return false;\r\n        }\r\n\r\n        \/\/ Check if already initialized for these elements\r\n        const firstOffer = offers[0];\r\n        if (firstOffer.dataset.spaInitialized === 'true') {\r\n            return true;\r\n        }\r\n\r\n        \/\/ Mark as initialized\r\n        offers.forEach(offer => {\r\n            offer.dataset.spaInitialized = 'true';\r\n        });\r\n\r\n        \/* Updated pricing data from spreadsheet\r\n           Treatment mapping:\r\n           - Classic treatments map to couple_classic\/metime_classic\r\n           - Premium treatments map to couple_premium\/metime_premium  \r\n           - High Priced treatments map to couple_hotstone\/metime_hotstone\r\n        *\/\r\n\r\n        \/\/ Treatment name mappings\r\n        const treatmentMappings = {\r\n            \/\/ Classic treatments (map to couple_classic\/metime_classic)\r\n            \"aromatherapy\": { tier: \"classic\", name: \"Aromatherapy Treatment\" },\r\n            \"thai_traditional\": { tier: \"classic\", name: \"Traditional Thai Massage\" },\r\n            \"deep_tissue\": { tier: \"classic\", name: \"Deep tissue Massage\" },\r\n            \"balinese\": { tier: \"classic\", name: \"Balinese Massage\" },\r\n            \"swedish\": { tier: \"classic\", name: \"Swedish Massage\" },\r\n            \/\/ Premium treatments (map to couple_premium\/metime_premium)\r\n            \"fusion_hot_oil\": { tier: \"premium\", name: \"Fusion Hot Oil Therapy\" },\r\n            \/\/ High Priced treatments (map to couple_hotstone\/metime_hotstone)\r\n            \"hot_stone\": { tier: \"hotstone\", name: \"Hot stone Massage\" },\r\n            \"herbal_compress\": { tier: \"hotstone\", name: \"Herbal Compress Thai Ball\" },\r\n            \"sports\": { tier: \"hotstone\", name: \"Sports Massage\" }\r\n        };\r\n\r\n        const pricingData = {\r\n            \"WEEKDAY\": {\r\n                treatments: {\r\n                    \"foot_reflex\": { name: \"Foot reflexology Bliss - 30 mins\", duration: 30 },\r\n                    \"couple_classic\": { name: \"Couple Relaxation - Classic 60 mins\", duration: 60 },\r\n                    \"couple_premium\": { name: \"Couple Relaxation - Premium 60 mins\", duration: 60 },\r\n                    \"couple_hotstone\": { name: \"Couple Relaxation - Hot Stone 60 mins\", duration: 60 },\r\n                    \"metime_classic\": { name: \"Me-time Indulgence - Classic 60 mins\", duration: 60 },\r\n                    \"metime_premium\": { name: \"Me-time Indulgence - Premium 60 mins\", duration: 60 },\r\n                    \"metime_hotstone\": { name: \"Me-time Indulgence - Hot stone 60 mins\", duration: 60 },\r\n                    \"celebration_single\": { name: \"Celebration Packages - Single 90 mins\", duration: 90 },\r\n                    \"celebration_couple\": { name: \"Celebration Packages - Couple 90 mins\", duration: 90 }\r\n                },\r\n                locations: [\r\n                    \"akaru\", \"oaks\", \"novotel_ad\", \"majlis\", \"movenpick_jvt\", \"khalidia_palace\", \"zabeel_house\",\r\n                    \"pearl_rotana\", \"hilton\", \"novotel_hcc\", \"novotel_barsha\", \"marriott_ad\", \"delta_marriott\", \"nh_palm\", \"oasis_mall\", \"lapita\", \"rotana_ad\", \"pullman_shj\", \"bur_dubai\", \"grandeur\"\r\n                ],\r\n                pricesByTreatmentAndLocation: {\r\n                    \"foot_reflex\": {\r\n                        \"akaru\": 99, \"oaks\": 99, \"novotel_ad\": null, \"majlis\": 99, \"movenpick_jvt\": 99, \"khalidia_palace\": 99, \"zabeel_house\": 129,\r\n                        \"pearl_rotana\": 99, \"hilton\": null, \"novotel_hcc\": 99, \"novotel_barsha\": 99, \"bur_dubai\": 99, \"grandeur\": 99, \"marriott_ad\": 99, \"delta_marriott\": 99, \"nh_palm\": 129, \"oasis_mall\": 99, \"lapita\": 99, \"rotana_ad\": 99, \"pullman_shj\": 99\r\n                    },\r\n                    \"couple_classic\": {\r\n                        \"akaru\": 449, \"oaks\": 449, \"novotel_ad\": 399, \"majlis\": null, \"movenpick_jvt\": 449, \"khalidia_palace\": 399, \"zabeel_house\": 499,\r\n                        \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 449, \"novotel_barsha\": null, \"bur_dubai\": 449, \"grandeur\": 449, \"marriott_ad\": 449, \"delta_marriott\": 449, \"nh_palm\": 499, \"oasis_mall\": 499, \"lapita\": 499, \"rotana_ad\": 449, \"pullman_shj\": 399\r\n                    },\r\n                    \"couple_premium\": {\r\n                        \"akaru\": 539, \"oaks\": 539, \"novotel_ad\": 479, \"majlis\": null, \"movenpick_jvt\": 539, \"khalidia_palace\": 479, \"zabeel_house\": 579,\r\n                        \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 539, \"novotel_barsha\": null, \"bur_dubai\": 539, \"grandeur\": 539, \"marriott_ad\": 539, \"delta_marriott\": 539, \"nh_palm\": 579, \"oasis_mall\": 579, \"lapita\": 579, \"rotana_ad\": 539, \"pullman_shj\": 479\r\n                    },\r\n                    \"couple_hotstone\": {\r\n                        \"akaru\": 559, \"oaks\": 559, \"novotel_ad\": 499, \"majlis\": null, \"movenpick_jvt\": 559, \"khalidia_palace\": 499, \"zabeel_house\": 599,\r\n                        \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 559, \"novotel_barsha\": null, \"bur_dubai\": 559, \"grandeur\": 559, \"marriott_ad\": 559, \"delta_marriott\": 559, \"nh_palm\": 599, \"oasis_mall\": 599, \"lapita\": 599, \"rotana_ad\": 559, \"pullman_shj\": 499\r\n                    },\r\n                    \"metime_classic\": {\r\n                        \"akaru\": 229, \"oaks\": 229, \"novotel_ad\": 199, \"majlis\": 229, \"movenpick_jvt\": 229, \"khalidia_palace\": 199, \"zabeel_house\": 249,\r\n                        \"pearl_rotana\": 229, \"hilton\": 229, \"novotel_hcc\": 229, \"novotel_barsha\": 199, \"bur_dubai\": 229, \"grandeur\": 229, \"marriott_ad\": 229, \"delta_marriott\": 229, \"nh_palm\": 249, \"oasis_mall\": 249, \"lapita\": 249, \"rotana_ad\": 229, \"pullman_shj\": 199\r\n                    },\r\n                    \"metime_premium\": {\r\n                        \"akaru\": 269, \"oaks\": 269, \"novotel_ad\": 239, \"majlis\": 269, \"movenpick_jvt\": 269, \"khalidia_palace\": 239, \"zabeel_house\": 289,\r\n                        \"pearl_rotana\": 269, \"hilton\": 269, \"novotel_hcc\": 269, \"novotel_barsha\": 239, \"bur_dubai\": 269, \"grandeur\": 269, \"marriott_ad\": 269, \"delta_marriott\": 269, \"nh_palm\": 289, \"oasis_mall\": 289, \"lapita\": 289, \"rotana_ad\": 269, \"pullman_shj\": 239\r\n                    },\r\n                    \"metime_hotstone\": {\r\n                        \"akaru\": 289, \"oaks\": 289, \"novotel_ad\": 259, \"majlis\": 289, \"movenpick_jvt\": 289, \"khalidia_palace\": 259, \"zabeel_house\": 319,\r\n                        \"pearl_rotana\": 289, \"hilton\": 289, \"novotel_hcc\": 289, \"novotel_barsha\": 259, \"bur_dubai\": 289, \"grandeur\": 289, \"marriott_ad\": 289, \"delta_marriott\": 289, \"nh_palm\": 319, \"oasis_mall\": 319, \"lapita\": 319, \"rotana_ad\": 289, \"pullman_shj\": 259\r\n                    },\r\n                    \"celebration_single\": {\r\n                        \"akaru\": null, \"oaks\": 499, \"novotel_ad\": null, \"majlis\": null, \"movenpick_jvt\": 499, \"khalidia_palace\": null, \"zabeel_house\": null,\r\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\": 499, \"lapita\": 499, \"rotana_ad\": null, \"pullman_shj\": 499\r\n                    },\r\n                    \"celebration_couple\": {\r\n                        \"akaru\": null, \"oaks\": 999, \"novotel_ad\": null, \"majlis\": null, \"movenpick_jvt\": 999, \"khalidia_palace\": null, \"zabeel_house\": null,\r\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\": 999, \"lapita\": 999, \"rotana_ad\": null, \"pullman_shj\": 999\r\n                    }\r\n                }\r\n            },\r\n\r\n            \"WEEKEND\": {\r\n                treatments: {\r\n                    \"foot_reflex\": { name: \"Foot reflexology Bliss - 30 mins\", duration: 30 },\r\n                    \"couple_classic\": { name: \"Couple Relaxation - Classic 60 mins\", duration: 60 },\r\n                    \"couple_premium\": { name: \"Couple Relaxation - Premium 60 mins\", duration: 60 },\r\n                    \"couple_hotstone\": { name: \"Couple Relaxation - Hot Stone 60 mins\", duration: 60 },\r\n                    \"metime_classic\": { name: \"Me-time Indulgence - Classic 60 mins\", duration: 60 },\r\n                    \"metime_premium\": { name: \"Me-time Indulgence - Premium 60 mins\", duration: 60 },\r\n                    \"metime_hotstone\": { name: \"Me-time Indulgence - Hot stone 60 mins\", duration: 60 },\r\n                    \"celebration_single\": { name: \"Celebration Packages - Single 90 mins\", duration: 90 },\r\n                    \"celebration_couple\": { name: \"Celebration Packages - Couple 90 mins\", duration: 90 }\r\n                },\r\n                locations: [\r\n                    \"akaru\", \"oaks\", \"novotel_ad\", \"majlis\", \"movenpick_jvt\", \"khalidia_palace\", \"zabeel_house\",\r\n                    \"pearl_rotana\", \"hilton\", \"novotel_hcc\", \"novotel_barsha\", \"marriott_ad\", \"delta_marriott\", \"nh_palm\", \"oasis_mall\", \"lapita\", \"rotana_ad\", \"pullman_shj\", \"bur_dubai\", \"grandeur\"\r\n                ],\r\n                pricesByTreatmentAndLocation: {\r\n                    \"foot_reflex\": {\r\n                        \"akaru\": 129, \"oaks\": 129, \"novotel_ad\": null, \"majlis\": 129, \"movenpick_jvt\": 129, \"khalidia_palace\": 129, \"zabeel_house\": null,\r\n                        \"pearl_rotana\": 129, \"hilton\": null, \"novotel_hcc\": 129, \"novotel_barsha\": 129, \"bur_dubai\": 129, \"grandeur\": 129, \"marriott_ad\": 129, \"delta_marriott\": 129, \"nh_palm\": null, \"oasis_mall\": 129, \"lapita\": 129, \"rotana_ad\": 129, \"pullman_shj\": 129\r\n                    },\r\n                    \"couple_classic\": {\r\n                        \"akaru\": 499, \"oaks\": 499, \"novotel_ad\": 449, \"majlis\": null, \"movenpick_jvt\": 499, \"khalidia_palace\": 449, \"zabeel_house\": 549,\r\n                        \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 499, \"novotel_barsha\": null, \"bur_dubai\": 499, \"grandeur\": 499, \"marriott_ad\": 499, \"delta_marriott\": 499, \"nh_palm\": 549, \"oasis_mall\": 549, \"lapita\": 549, \"rotana_ad\": 499, \"pullman_shj\": 449\r\n                    },\r\n                    \"couple_premium\": {\r\n                        \"akaru\": 579, \"oaks\": 579, \"novotel_ad\": 529, \"majlis\": null, \"movenpick_jvt\": 579, \"khalidia_palace\": 529, \"zabeel_house\": 629,\r\n                        \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 579, \"novotel_barsha\": null, \"bur_dubai\": 579, \"grandeur\": 579, \"marriott_ad\": 579, \"delta_marriott\": 579, \"nh_palm\": 629, \"oasis_mall\": 629, \"lapita\": 629, \"rotana_ad\": 579, \"pullman_shj\": 529\r\n                    },\r\n                    \"couple_hotstone\": {\r\n                        \"akaru\": 599, \"oaks\": 599, \"novotel_ad\": 549, \"majlis\": null, \"movenpick_jvt\": 599, \"khalidia_palace\": 549, \"zabeel_house\": 649,\r\n                        \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 599, \"novotel_barsha\": null, \"bur_dubai\": 599, \"grandeur\": 599, \"marriott_ad\": 599, \"delta_marriott\": 599, \"nh_palm\": 649, \"oasis_mall\": 649, \"lapita\": 649, \"rotana_ad\": 599, \"pullman_shj\": 549\r\n                    },\r\n                    \"metime_classic\": {\r\n                        \"akaru\": 259, \"oaks\": 259, \"novotel_ad\": 229, \"majlis\": 229, \"movenpick_jvt\": 259, \"khalidia_palace\": 229, \"zabeel_house\": 279,\r\n                        \"pearl_rotana\": 259, \"hilton\": 229, \"novotel_hcc\": 259, \"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, \"pullman_shj\": 229\r\n                    },\r\n                    \"metime_premium\": {\r\n                        \"akaru\": 299, \"oaks\": 299, \"novotel_ad\": 269, \"majlis\": 269, \"movenpick_jvt\": 299, \"khalidia_palace\": 269, \"zabeel_house\": 319,\r\n                        \"pearl_rotana\": 299, \"hilton\": 269, \"novotel_hcc\": 299, \"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, \"pullman_shj\": 269\r\n                    },\r\n                    \"metime_hotstone\": {\r\n                        \"akaru\": 319, \"oaks\": 319, \"novotel_ad\": 289, \"majlis\": 289, \"movenpick_jvt\": 319, \"khalidia_palace\": 289, \"zabeel_house\": 339,\r\n                        \"pearl_rotana\": 319, \"hilton\": 269, \"novotel_hcc\": 319, \"novotel_barsha\": 319, \"bur_dubai\": 289, \"grandeur\": 289, \"marriott_ad\": 319, \"delta_marriott\": 319, \"nh_palm\": 339, \"oasis_mall\": 339, \"lapita\": 339, \"rotana_ad\": 319, \"pullman_shj\": 289\r\n                    },\r\n                    \"celebration_single\": {\r\n                        \"akaru\": null, \"oaks\": 599, \"novotel_ad\": null, \"majlis\": null, \"movenpick_jvt\": 599, \"khalidia_palace\": null, \"zabeel_house\": null,\r\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, \"pullman_shj\": 599\r\n                    },\r\n                    \"celebration_couple\": {\r\n                        \"akaru\": null, \"oaks\": 1149, \"novotel_ad\": null, \"majlis\": null, \"movenpick_jvt\": 1149, \"khalidia_palace\": null, \"zabeel_house\": null,\r\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\": 1149, \"lapita\": 1149, \"rotana_ad\": null, \"pullman_shj\": 1149\r\n                    }\r\n                }\r\n            }\r\n        };\r\n\r\n        \/\/ Friendly mapping of location id -> label\r\n        const locationLabels = {\r\n            \"akaru\": \"Jumeirah Creekside Hotel - Al Garhoud, Dubai\",\r\n            \"oaks\": \"Oaks Hotel - IBN Battuta Gate, Dubai\",\r\n            \"oasis_mall\": \"Oasis Mall - Sheikh Zayed Road, Dubai\",\r\n            \"delta_marriott\": \"Delta Hotels By Marriott - DIP, Dubai\",\r\n            \"lapita\": \"Lapita, Dubai Parks and Resorts, Dubai\",\r\n            \"zabeel_house\": \"Zabeel House The Greens, Dubai\",\r\n            \"movenpick_jvt\": \"M\u00f6venpick Hotel - Jumeirah Village Triangle, Dubai\",\r\n            \"nh_palm\": \"NH Collection Dubai - The Palm, Dubai\",\r\n            \"hilton\": \"Double Tree By Hilton - Al Mankhool, Dubai\",\r\n            \"novotel_ad\": \"Novotel Hotel - Healthcare City, Dubai\",\r\n            \"novotel_barsha\": \"Novotel Hotel - Al Barsha, Dubai\",\r\n            \"bur_dubai\": \"Atrium Centre - Bur Dubai\",\r\n            \"grandeur\": \"Grandeur Hotel - Al Barsha, Dubai\",\r\n            \"khalidia_palace\": \"Khalidia Palace Hotel - Deira, Dubai\",\r\n            \"marriott_ad\": \"Marriott Hotel - Downtown, Abu Dhabi\",\r\n            \"rotana_ad\": \"Al Maha Arjaan By Rotana - Abu Dhabi\",\r\n            \"novotel_hcc\": \"Novotel Hotel - Al Bustan, Abu Dhabi\",\r\n            \"majlis\": \"Majlis Grand Mercure - Electra Street, Abu Dhabi\",\r\n            \"pearl_rotana\": \"Pearl Rotana - Al Rawdah, Abu Dhabi\",\r\n            \"pullman_shj\": \"Pullman Hotel - Al Taawun St, Sharjah\"\r\n        };\r\n\r\n        \/\/ Emirates to locations mapping (in correct order)\r\n        const emirateLocations = {\r\n            \"dubai\": [\"akaru\", \"oaks\", \"oasis_mall\", \"delta_marriott\", \"lapita\", \"zabeel_house\", \"movenpick_jvt\", \"nh_palm\", \"hilton\", \"novotel_ad\", \"novotel_barsha\", \"grandeur\", \"khalidia_palace\", \"bur_dubai\"],\r\n            \"abudhabi\": [\"marriott_ad\", \"rotana_ad\", \"novotel_hcc\", \"majlis\", \"pearl_rotana\"],\r\n            \"sharjah\": [\"pullman_shj\"]\r\n        };\r\n\r\n        const facilitiesIcons = {\r\n            \"steam\": \"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Steam.png\",\r\n            \"sauna\": \"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Sauna.png\",\r\n            \"pool\": \"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Pool.png\",\r\n            \"jacuzzi\": \"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Jacuzzi.png\",\r\n            \"cold_plunge\": \"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Cold-Plunge.png\",\r\n            \"shower\": \"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Shower.png\",\r\n            \"parking\": \"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Parking.png\",\r\n            \"timing\": \"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Timing.png\"\r\n        };\r\n\r\n        const locationFacilities = {\r\n            \"akaru\": { timing: \"10:00 AM - 12:00 AM\", steam: true, sauna: true, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\r\n            \"oaks\": { timing: \"10:00 AM - 11:00 PM\", steam: false, sauna: false, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\r\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 },\r\n            \"hilton\": { timing: \"10:00 AM - 10:00 PM\", steam: false, sauna: false, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\r\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 },\r\n            \"grandeur\": { timing: \"10:00 AM - 12:00 AM\", steam: false, sauna: false, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\r\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 },\r\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 },\r\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 },\r\n            \"majlis\": { timing: \"10:00 AM - 12:00 AM\", steam: true, sauna: true, jacuzzi: false, pool: false, cold_plunge: false, shower: true, parking: true },\r\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 },\r\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 },\r\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 },\r\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 },\r\n            \"lapita\": { timing: \"09:00 AM - 10:00 PM\", steam: true, sauna: true, jacuzzi: true, pool: true, cold_plunge: false, shower: true, parking: true },\r\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 },\r\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 },\r\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 },\r\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 },\r\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 }\r\n        };\r\n\r\n        function renderFacilities(container, locationKey) {\r\n            if (!container) return;\r\n            const data = locationFacilities[locationKey];\r\n            if (!data) {\r\n                container.style.display = 'none';\r\n                return;\r\n            }\r\n\r\n            let html = `\r\n                <div class=\"facilities-title\">We are pleased to offer the following facilities at no additional charge:<\/div>\r\n                <div class=\"facilities-icons\">\r\n            `;\r\n\r\n            \/\/ Helper to add icon\r\n            const addIcon = (key, label) => {\r\n                if (data[key]) {\r\n                    html += `\r\n                        <div class=\"facility-item\">\r\n                            <img decoding=\"async\" src=\"${facilitiesIcons[key]}\" alt=\"${label}\">\r\n                            <span class=\"facility-text\">${label}<\/span>\r\n                        <\/div>\r\n                    `;\r\n                }\r\n            };\r\n\r\n            \/\/ Add icons in specific order\r\n            addIcon('steam', 'STEAM');\r\n            addIcon('sauna', 'SAUNA');\r\n            addIcon('pool', 'POOL');\r\n            addIcon('jacuzzi', 'JACUZZI');\r\n            addIcon('cold_plunge', 'COLD PLUNGE');\r\n            addIcon('shower', 'SHOWER');\r\n            addIcon('parking', 'PARKING');\r\n\r\n            \/\/ Add Timing always\r\n            if (data.timing) {\r\n                html += `\r\n                    <div class=\"timing-item\">\r\n                        <img decoding=\"async\" src=\"${facilitiesIcons.timing}\" alt=\"Timing\" style=\"width: 50px; height: 50px;\">\r\n                        <span class=\"timing-text\">TIMING: ${data.timing}<\/span>\r\n                    <\/div>\r\n                `;\r\n            }\r\n\r\n            html += `<\/div>`;\r\n            container.innerHTML = html;\r\n            container.style.display = 'block';\r\n        }\r\n\r\n        \/\/ Function to populate emirate dropdown based on category\r\n        function populateEmirates(emirateSelect, category) {\r\n            if (!emirateSelect) return;\r\n\r\n            emirateSelect.innerHTML = '';\r\n            const placeholder = document.createElement('option');\r\n            placeholder.value = '';\r\n            placeholder.textContent = 'Select the Emirate';\r\n            placeholder.disabled = true;\r\n            placeholder.selected = true;\r\n            emirateSelect.appendChild(placeholder);\r\n\r\n            \/\/ Add Dubai\r\n            const dubaiOpt = document.createElement('option');\r\n            dubaiOpt.value = 'dubai';\r\n            dubaiOpt.textContent = 'Dubai';\r\n            emirateSelect.appendChild(dubaiOpt);\r\n\r\n            \/\/ Add Abu Dhabi for all categories except Couple Relaxation\r\n            if (category !== 'Couple Relaxation') {\r\n                const abuDhabiOpt = document.createElement('option');\r\n                abuDhabiOpt.value = 'abudhabi';\r\n                abuDhabiOpt.textContent = 'Abu Dhabi';\r\n                emirateSelect.appendChild(abuDhabiOpt);\r\n            }\r\n\r\n            \/\/ Add Sharjah\r\n            const sharjahOpt = document.createElement('option');\r\n            sharjahOpt.value = 'sharjah';\r\n            sharjahOpt.textContent = 'Sharjah';\r\n            emirateSelect.appendChild(sharjahOpt);\r\n        }\r\n\r\n        \/\/ Function to resize day-type dropdown to fit content\r\n        function resizeDayTypeDropdown(select) {\r\n            if (!select) return;\r\n\r\n            \/\/ Create a temporary span to measure text width\r\n            const tempSpan = document.createElement('span');\r\n            tempSpan.style.visibility = 'hidden';\r\n            tempSpan.style.position = 'absolute';\r\n            tempSpan.style.whiteSpace = 'nowrap';\r\n            tempSpan.style.fontSize = window.getComputedStyle(select).fontSize;\r\n            tempSpan.style.fontFamily = window.getComputedStyle(select).fontFamily;\r\n            tempSpan.style.textTransform = window.getComputedStyle(select).textTransform;\r\n            tempSpan.style.fontWeight = window.getComputedStyle(select).fontWeight;\r\n            tempSpan.style.letterSpacing = window.getComputedStyle(select).letterSpacing;\r\n            document.body.appendChild(tempSpan);\r\n\r\n            \/\/ Find the longest option text\r\n            let maxWidth = 0;\r\n            Array.from(select.options).forEach(option => {\r\n                tempSpan.textContent = option.text;\r\n                const width = tempSpan.offsetWidth;\r\n                if (width > maxWidth) {\r\n                    maxWidth = width;\r\n                }\r\n            });\r\n\r\n            \/\/ Set the select width (add padding for icon)\r\n            \/\/ Left padding (14px) + Right padding (60px) = 74px total\r\n            const padding = 74;\r\n            select.style.width = (maxWidth + padding) + 'px';\r\n\r\n            document.body.removeChild(tempSpan);\r\n        }\r\n\r\n        \/\/ For each offer block in DOM, wire up behavior\r\n        document.querySelectorAll('.offer').forEach(block => {\r\n            const category = block.dataset.category;\r\n            const daySelect = block.querySelector('.day-type');\r\n            const treatSelect = block.querySelector('.treatment-select');\r\n            const emirateSelect = block.querySelector('.emirate-select');\r\n            const locSelect = block.querySelector('.location-select');\r\n            const priceLabel = block.querySelector('.price-label');\r\n            const durationLabel = block.querySelector('.duration-label');\r\n            const bookBtn = block.querySelector('.book-btn');\r\n\r\n            \/\/ Inject facilities container (if not present)\r\n            let facilitiesContainer = block.querySelector('.facilities-container');\r\n            if (!facilitiesContainer) {\r\n                facilitiesContainer = document.createElement('div');\r\n                facilitiesContainer.className = 'facilities-container';\r\n\r\n                \/\/ Try to insert after .sub (Price section)\r\n                const priceSection = block.querySelector('.sub');\r\n                if (priceSection) {\r\n                    priceSection.parentNode.insertBefore(facilitiesContainer, priceSection.nextSibling);\r\n                } else {\r\n                    \/\/ Fallback to after .controls\r\n                    const controls = block.querySelector('.controls');\r\n                    if (controls) {\r\n                        controls.parentNode.insertBefore(facilitiesContainer, controls.nextSibling);\r\n                    } else {\r\n                        \/\/ Fallback to before buttons if controls not found\r\n                        const btnGroup = block.querySelector('.button-group');\r\n                        if (btnGroup) {\r\n                            btnGroup.parentNode.insertBefore(facilitiesContainer, btnGroup);\r\n                        } else if (bookBtn) {\r\n                            const parent = bookBtn.parentNode;\r\n                            if (parent.tagName === 'A') {\r\n                                parent.parentNode.insertBefore(facilitiesContainer, parent);\r\n                            } else {\r\n                                bookBtn.parentNode.insertBefore(facilitiesContainer, bookBtn);\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n\r\n            \/\/ Store default price\r\n            let defaultPrice = '';\r\n\r\n            \/\/ Resize day-type dropdown on load and when changed\r\n            if (daySelect) {\r\n                resizeDayTypeDropdown(daySelect);\r\n                daySelect.addEventListener('change', () => {\r\n                    resizeDayTypeDropdown(daySelect);\r\n                });\r\n            }\r\n\r\n            \/\/ Initialize emirate dropdown\r\n            if (emirateSelect) {\r\n                populateEmirates(emirateSelect, category);\r\n            }\r\n\r\n            \/\/ Hide treatment select for Foot reflexology Bliss\r\n            if (category === 'Foot reflexology Bliss' && treatSelect) {\r\n                treatSelect.style.display = 'none';\r\n            }\r\n\r\n            \/\/ Helper function to get treatment tier ID from treatment name and category\r\n            function getTreatmentTierId(treatmentId, category) {\r\n                const treatment = treatmentMappings[treatmentId];\r\n                if (!treatment) return null;\r\n\r\n                const tier = treatment.tier;\r\n                if (category === \"Couple Spa Deals\" || category === \"Couple Relaxation\") {\r\n                    return `couple_${tier}`;\r\n                } else if (category === \"Self Care Specials\" || category === \"Me-time Indulgence\") {\r\n                    return `metime_${tier}`;\r\n                }\r\n                return null;\r\n            }\r\n\r\n            \/\/ Build treatment options depending on category\r\n            function populateTreatmentsForCategory(cat, dayKey) {\r\n                treatSelect.innerHTML = '';\r\n\r\n                \/\/ Categories that use \"Total People\" instead of treatment selection\r\n                const useTotalPeople = cat === 'Foot reflexology Bliss' || cat === 'Couple Relaxation';\r\n\r\n                const placeholder = document.createElement('option');\r\n                placeholder.value = '';\r\n                if (useTotalPeople) {\r\n                    placeholder.textContent = 'Total People';\r\n                } else if (cat === 'Couple Spa Deals' || cat === 'Self Care Specials') {\r\n                    placeholder.textContent = 'Choose a Treatment';\r\n                } else {\r\n                    placeholder.textContent = 'Choose a Treatment';\r\n                }\r\n                placeholder.disabled = true;\r\n                placeholder.selected = true;\r\n                treatSelect.appendChild(placeholder);\r\n\r\n                if (!dayKey) {\r\n                    treatSelect.disabled = true;\r\n                    return;\r\n                }\r\n\r\n                \/\/ For Total People categories, add people options\r\n                if (useTotalPeople) {\r\n                    if (cat === 'Couple Relaxation') {\r\n                        \/\/ For Luxury Flower Bath, add Single and Couple options\r\n                        const singleOpt = document.createElement('option');\r\n                        singleOpt.value = 'celebration_single';\r\n                        singleOpt.textContent = '1 Person';\r\n                        singleOpt.dataset.duration = '90';\r\n                        treatSelect.appendChild(singleOpt);\r\n\r\n                        const coupleOpt = document.createElement('option');\r\n                        coupleOpt.value = 'celebration_couple';\r\n                        coupleOpt.textContent = '2 People';\r\n                        coupleOpt.dataset.duration = '90';\r\n                        treatSelect.appendChild(coupleOpt);\r\n                    } else if (cat === 'Foot reflexology Bliss') {\r\n                        \/\/ For Foot Massage, just keep it simple - pricing is per person\r\n                        const singleOpt = document.createElement('option');\r\n                        singleOpt.value = 'foot_reflex';\r\n                        singleOpt.textContent = '1 Person';\r\n                        singleOpt.dataset.duration = '30';\r\n                        treatSelect.appendChild(singleOpt);\r\n                    }\r\n                    treatSelect.disabled = false;\r\n                    return;\r\n                }\r\n\r\n                \/\/ For Couple Spa Deals and Self Care Specials, show individual treatments\r\n                if (cat === 'Couple Spa Deals' || cat === 'Self Care Specials') {\r\n                    \/\/ Treatments in specified order\r\n                    const treatments = [\r\n                        { id: 'aromatherapy', name: 'Aromatherapy Massage' },\r\n                        { id: 'deep_tissue', name: 'Deep Tissue Massage' },\r\n                        { id: 'swedish', name: 'Swedish Massage' },\r\n                        { id: 'hot_stone', name: 'Hot Stone Massage' },\r\n                        { id: 'sports', name: 'Sports Massage' },\r\n                        { id: 'thai_traditional', name: 'Traditional Thai Massage' },\r\n                        { id: 'balinese', name: 'Balinese Massage' },\r\n                        { id: 'herbal_compress', name: 'Herbal Compress Thai Ball Massage' },\r\n                        { id: 'fusion_hot_oil', name: 'Fusion Hot Oil Massage' }\r\n                    ];\r\n\r\n                    treatments.forEach(t => {\r\n                        const opt = document.createElement('option');\r\n                        opt.value = t.id;\r\n                        opt.textContent = t.name;\r\n                        opt.dataset.duration = '60';\r\n                        treatSelect.appendChild(opt);\r\n                    });\r\n\r\n                    treatSelect.disabled = false;\r\n                    return;\r\n                }\r\n\r\n                \/\/ For other categories, use the old mapping\r\n                const map = {\r\n                    \"Me-time Indulgence\": [\"metime_classic\", \"metime_premium\", \"metime_hotstone\"],\r\n                    \"Celebration Packages\": [\"celebration_single\", \"celebration_couple\"]\r\n                };\r\n                const ids = map[cat] || [];\r\n\r\n                const availableTreatments = pricingData[dayKey] && pricingData[dayKey].treatments ? pricingData[dayKey].treatments : {};\r\n                ids.forEach(id => {\r\n                    const label = availableTreatments[id] ? availableTreatments[id].name : id;\r\n                    const opt = document.createElement('option');\r\n                    opt.value = id;\r\n                    opt.textContent = label;\r\n                    if (availableTreatments[id]) {\r\n                        opt.dataset.duration = availableTreatments[id].duration;\r\n                    }\r\n                    treatSelect.appendChild(opt);\r\n                });\r\n                treatSelect.disabled = false;\r\n            }\r\n\r\n            \/\/ Populate locations filtered by emirate (in correct order)\r\n            function populateLocations(dayKey, emirateKey) {\r\n                locSelect.innerHTML = '';\r\n                const placeholder = document.createElement('option');\r\n                placeholder.value = '';\r\n                placeholder.textContent = 'Preferred Location';\r\n                placeholder.disabled = true;\r\n                placeholder.selected = true;\r\n                locSelect.appendChild(placeholder);\r\n\r\n                if (!dayKey) {\r\n                    locSelect.disabled = true;\r\n                    return;\r\n                }\r\n\r\n                \/\/ Only enable location dropdown if emirate is selected\r\n                if (!emirateKey) {\r\n                    locSelect.disabled = true;\r\n                    return;\r\n                }\r\n\r\n                \/\/ Get locations in the correct order from emirateLocations\r\n                let locsToShow = [];\r\n                if (emirateLocations[emirateKey]) {\r\n                    \/\/ Use the order from emirateLocations array\r\n                    locsToShow = emirateLocations[emirateKey].filter(id => {\r\n                        \/\/ Check if location exists in pricing data\r\n                        const allLocs = pricingData[dayKey] && pricingData[dayKey].locations ? pricingData[dayKey].locations : [];\r\n                        return allLocs.includes(id);\r\n                    });\r\n\r\n                    \/\/ For Couple Relaxation, filter out Abu Dhabi locations\r\n                    if (category === 'Couple Relaxation') {\r\n                        const abuDhabiLocs = emirateLocations['abudhabi'] || [];\r\n                        locsToShow = locsToShow.filter(id => !abuDhabiLocs.includes(id));\r\n                    }\r\n                }\r\n\r\n                \/\/ Add options in the correct order\r\n                locsToShow.forEach(id => {\r\n                    const opt = document.createElement('option');\r\n                    opt.value = id;\r\n                    opt.textContent = locationLabels[id] || id;\r\n                    locSelect.appendChild(opt);\r\n                });\r\n\r\n                if (locsToShow.length > 0) {\r\n                    locSelect.disabled = false;\r\n                } else {\r\n                    locSelect.disabled = true;\r\n                }\r\n            }\r\n\r\n            \/\/ When day changes: populate treatments & locations and reset price\/duration\r\n            if (daySelect) {\r\n                \/\/ Hide placeholder option when dropdown is opened\r\n                daySelect.addEventListener('mousedown', () => {\r\n                    const placeholder = daySelect.querySelector('option[value=\"\"][disabled]');\r\n                    if (placeholder) {\r\n                        placeholder.style.display = 'none';\r\n                    }\r\n                });\r\n\r\n                daySelect.addEventListener('change', () => {\r\n                    const dayKey = daySelect.value;\r\n                    \/\/ If a real option is selected, keep placeholder hidden\r\n                    if (dayKey) {\r\n                        const placeholder = daySelect.querySelector('option[value=\"\"][disabled]');\r\n                        if (placeholder) {\r\n                            placeholder.style.display = 'none';\r\n                        }\r\n                    } else {\r\n                        \/\/ If day is cleared, show placeholder\r\n                        const placeholder = daySelect.querySelector('option[value=\"\"][disabled]');\r\n                        if (placeholder) {\r\n                            placeholder.selected = true;\r\n                            placeholder.style.display = 'block';\r\n                        }\r\n                    }\r\n                    \/\/ Don't reset price to 0, keep default price until all selections are made\r\n                    updatePriceDisplay();\r\n                    if (category === 'Foot reflexology Bliss') durationLabel.textContent = '30 minutes';\r\n                    else if (category === 'Couple Relaxation' || category === 'Celebration Packages') durationLabel.textContent = '90 minutes';\r\n                    else durationLabel.textContent = '60 minutes';\r\n\r\n                    \/\/ For Foot reflexology Bliss, skip treatment selection and enable emirate directly\r\n                    if (category === 'Foot reflexology Bliss') {\r\n                        \/\/ Hide treatment select if it exists\r\n                        if (treatSelect) {\r\n                            treatSelect.style.display = 'none';\r\n                        }\r\n                        \/\/ Enable emirate select directly when day is selected\r\n                        if (emirateSelect && dayKey) {\r\n                            emirateSelect.disabled = false;\r\n                        } else if (emirateSelect) {\r\n                            emirateSelect.disabled = true;\r\n                            emirateSelect.value = '';\r\n                        }\r\n                        if (locSelect) {\r\n                            locSelect.value = '';\r\n                            locSelect.disabled = true;\r\n                        }\r\n                        populateLocations(dayKey, null);\r\n                    } else {\r\n                        \/\/ For other categories, use normal flow\r\n                        populateTreatmentsForCategory(category, dayKey);\r\n\r\n                        \/\/ Explicitly enable treatment select when day is selected\r\n                        if (treatSelect && dayKey) {\r\n                            treatSelect.disabled = false;\r\n                        } else if (treatSelect) {\r\n                            treatSelect.disabled = true;\r\n                        }\r\n\r\n                        \/\/ Reset and disable emirate and location when day changes\r\n                        if (emirateSelect) {\r\n                            emirateSelect.value = '';\r\n                            emirateSelect.disabled = true;\r\n                            \/\/ Reset placeholder\r\n                            const placeholder = emirateSelect.querySelector('option[value=\"\"][disabled]');\r\n                            if (placeholder) {\r\n                                placeholder.selected = true;\r\n                                placeholder.style.display = 'block';\r\n                            }\r\n                        }\r\n                        if (locSelect) {\r\n                            locSelect.value = '';\r\n                            locSelect.disabled = true;\r\n                            \/\/ Reset placeholder\r\n                            const placeholder = locSelect.querySelector('option[value=\"\"][disabled]');\r\n                            if (placeholder) {\r\n                                placeholder.selected = true;\r\n                                placeholder.style.display = 'block';\r\n                            }\r\n                        }\r\n                        populateLocations(dayKey, null);\r\n                    }\r\n                });\r\n\r\n                \/\/ Show placeholder when dropdown closes if no selection made\r\n                daySelect.addEventListener('blur', () => {\r\n                    if (!daySelect.value) {\r\n                        const placeholder = daySelect.querySelector('option[value=\"\"][disabled]');\r\n                        if (placeholder) {\r\n                            placeholder.style.display = 'block';\r\n                            placeholder.selected = true;\r\n                        }\r\n                    }\r\n                });\r\n            }\r\n\r\n            \/\/ When treatment changes: enable emirate select and update\r\n            if (treatSelect) {\r\n                \/\/ Hide placeholder option when dropdown is opened\r\n                treatSelect.addEventListener('mousedown', () => {\r\n                    const placeholder = treatSelect.querySelector('option[value=\"\"][disabled]');\r\n                    if (placeholder) {\r\n                        placeholder.style.display = 'none';\r\n                    }\r\n                });\r\n\r\n                treatSelect.addEventListener('change', () => {\r\n                    \/\/ If a real option is selected, keep placeholder hidden\r\n                    if (treatSelect.value) {\r\n                        const placeholder = treatSelect.querySelector('option[value=\"\"][disabled]');\r\n                        if (placeholder) {\r\n                            placeholder.style.display = 'none';\r\n                        }\r\n                    }\r\n                    const dayKey = daySelect ? daySelect.value : '';\r\n                    const treatId = treatSelect.value;\r\n\r\n                    \/\/ Enable emirate select when treatment is selected, disable when cleared\r\n                    if (emirateSelect) {\r\n                        if (treatId) {\r\n                            emirateSelect.disabled = false;\r\n                            emirateSelect.value = ''; \/\/ Reset value but keep enabled\r\n                        } else {\r\n                            emirateSelect.disabled = true;\r\n                            emirateSelect.value = '';\r\n                        }\r\n                    }\r\n\r\n                    \/\/ Update duration from dataset\r\n                    if (treatId) {\r\n                        const selectedOption = treatSelect.options[treatSelect.selectedIndex];\r\n                        if (selectedOption && selectedOption.dataset.duration) {\r\n                            durationLabel.textContent = selectedOption.dataset.duration + ' minutes';\r\n                        }\r\n                    }\r\n\r\n                    \/\/ Reset location when treatment changes\r\n                    if (locSelect) {\r\n                        locSelect.value = '';\r\n                        locSelect.disabled = true;\r\n                        \/\/ Reset placeholder\r\n                        const placeholder = locSelect.querySelector('option[value=\"\"][disabled]');\r\n                        if (placeholder) {\r\n                            placeholder.selected = true;\r\n                            placeholder.style.display = 'block';\r\n                        }\r\n                    }\r\n\r\n                    \/\/ Reset treatment placeholder if cleared\r\n                    if (!treatId) {\r\n                        const placeholder = treatSelect.querySelector('option[value=\"\"][disabled]');\r\n                        if (placeholder) {\r\n                            placeholder.selected = true;\r\n                            placeholder.style.display = 'block';\r\n                        }\r\n                    }\r\n                    updateLocationAvailability();\r\n                    updatePriceDisplay();\r\n                });\r\n\r\n                \/\/ Show placeholder when dropdown closes if no selection made\r\n                treatSelect.addEventListener('blur', () => {\r\n                    if (!treatSelect.value) {\r\n                        const placeholder = treatSelect.querySelector('option[value=\"\"][disabled]');\r\n                        if (placeholder) {\r\n                            placeholder.style.display = 'block';\r\n                            placeholder.selected = true;\r\n                        }\r\n                    }\r\n                });\r\n            }\r\n\r\n            \/\/ When emirate changes: filter locations and enable location select\r\n            if (emirateSelect) {\r\n                \/\/ Hide placeholder option when dropdown is opened\r\n                emirateSelect.addEventListener('mousedown', () => {\r\n                    const placeholder = emirateSelect.querySelector('option[value=\"\"][disabled]');\r\n                    if (placeholder) {\r\n                        placeholder.style.display = 'none';\r\n                    }\r\n                });\r\n\r\n                \/\/ Show placeholder again when dropdown closes (if no value selected)\r\n                emirateSelect.addEventListener('change', () => {\r\n                    const dayKey = daySelect ? daySelect.value : '';\r\n                    const emirateKey = emirateSelect.value;\r\n\r\n                    \/\/ If a real option is selected, keep placeholder hidden\r\n                    if (emirateKey) {\r\n                        const placeholder = emirateSelect.querySelector('option[value=\"\"][disabled]');\r\n                        if (placeholder) {\r\n                            placeholder.style.display = 'none';\r\n                        }\r\n                    }\r\n\r\n                    populateLocations(dayKey, emirateKey);\r\n\r\n                    \/\/ Explicitly enable location select when emirate is selected\r\n                    if (locSelect && emirateKey) {\r\n                        locSelect.disabled = false;\r\n                    } else if (locSelect) {\r\n                        locSelect.value = '';\r\n                        locSelect.disabled = true;\r\n                    }\r\n\r\n                    \/\/ For Foot reflexology Bliss, update availability without treatment\r\n                    if (category === 'Foot reflexology Bliss') {\r\n                        updateLocationAvailabilityForFootMassage();\r\n                    } else {\r\n                        updateLocationAvailability();\r\n                    }\r\n                    updatePriceDisplay();\r\n                });\r\n\r\n                \/\/ Show placeholder when dropdown closes if no selection made\r\n                emirateSelect.addEventListener('blur', () => {\r\n                    if (!emirateSelect.value) {\r\n                        const placeholder = emirateSelect.querySelector('option[value=\"\"][disabled]');\r\n                        if (placeholder) {\r\n                            placeholder.style.display = 'block';\r\n                            placeholder.selected = true;\r\n                        }\r\n                    }\r\n                });\r\n            }\r\n\r\n            \/\/ When location changes: compute price\r\n            if (locSelect) {\r\n                \/\/ Hide placeholder option when dropdown is opened\r\n                locSelect.addEventListener('mousedown', () => {\r\n                    const placeholder = locSelect.querySelector('option[value=\"\"][disabled]');\r\n                    if (placeholder) {\r\n                        placeholder.style.display = 'none';\r\n                    }\r\n                });\r\n\r\n                locSelect.addEventListener('change', () => {\r\n                    \/\/ If a real option is selected, keep placeholder hidden\r\n                    if (locSelect.value) {\r\n                        const placeholder = locSelect.querySelector('option[value=\"\"][disabled]');\r\n                        if (placeholder) {\r\n                            placeholder.style.display = 'none';\r\n                        }\r\n                    }\r\n                    updatePriceDisplay();\r\n                    \/\/ Update facilities\r\n                    if (facilitiesContainer) {\r\n                        renderFacilities(facilitiesContainer, locSelect.value);\r\n                    }\r\n                });\r\n\r\n                \/\/ Show placeholder when dropdown closes if no selection made\r\n                locSelect.addEventListener('blur', () => {\r\n                    if (!locSelect.value) {\r\n                        const placeholder = locSelect.querySelector('option[value=\"\"][disabled]');\r\n                        if (placeholder) {\r\n                            placeholder.style.display = 'block';\r\n                            placeholder.selected = true;\r\n                        }\r\n                    }\r\n                });\r\n            }\r\n\r\n            function updateLocationAvailabilityForFootMassage() {\r\n                const dayKey = daySelect ? daySelect.value : '';\r\n                if (!dayKey) { return; }\r\n\r\n                \/\/ For Foot reflexology Bliss, use 'foot_reflex' directly\r\n                const pricingTierId = 'foot_reflex';\r\n\r\n                \/\/ Remove unavailable options\r\n                const priceMap = pricingData[dayKey].pricesByTreatmentAndLocation || {};\r\n                const optionsToRemove = [];\r\n\r\n                Array.from(locSelect.options).forEach(opt => {\r\n                    if (!opt.value) return; \/\/ Keep placeholder\r\n                    const price = priceMap[pricingTierId] ? priceMap[pricingTierId][opt.value] : null;\r\n                    if (price === null || typeof price === 'undefined') {\r\n                        optionsToRemove.push(opt);\r\n                    } else {\r\n                        opt.disabled = false;\r\n                        opt.classList.remove('unavailable');\r\n                        opt.textContent = (locationLabels[opt.value] || opt.value);\r\n                    }\r\n                });\r\n\r\n                \/\/ Remove unavailable options\r\n                optionsToRemove.forEach(opt => {\r\n                    opt.remove();\r\n                });\r\n\r\n                \/\/ If selected option was removed, reset selection\r\n                if (locSelect.value && !Array.from(locSelect.options).find(opt => opt.value === locSelect.value)) {\r\n                    locSelect.value = '';\r\n                }\r\n            }\r\n\r\n            function updateLocationAvailability() {\r\n                const dayKey = daySelect ? daySelect.value : '';\r\n                const treatId = treatSelect ? treatSelect.value : '';\r\n                if (!dayKey || !treatId) { return; }\r\n\r\n                \/\/ Get the actual pricing tier ID\r\n                let pricingTierId = treatId;\r\n                if (category === 'Couple Spa Deals' || category === 'Self Care Specials') {\r\n                    pricingTierId = getTreatmentTierId(treatId, category);\r\n                    if (!pricingTierId) return;\r\n                }\r\n\r\n                \/\/ Remove unavailable options instead of disabling them\r\n                const priceMap = pricingData[dayKey].pricesByTreatmentAndLocation || {};\r\n                const optionsToRemove = [];\r\n\r\n                Array.from(locSelect.options).forEach(opt => {\r\n                    if (!opt.value) return; \/\/ Keep placeholder\r\n                    const price = priceMap[pricingTierId] ? priceMap[pricingTierId][opt.value] : null;\r\n                    if (price === null || typeof price === 'undefined') {\r\n                        optionsToRemove.push(opt);\r\n                    } else {\r\n                        opt.disabled = false;\r\n                        opt.classList.remove('unavailable');\r\n                        opt.textContent = (locationLabels[opt.value] || opt.value);\r\n                    }\r\n                });\r\n\r\n                \/\/ Remove unavailable options\r\n                optionsToRemove.forEach(opt => {\r\n                    opt.remove();\r\n                });\r\n\r\n                \/\/ If selected option was removed, reset selection\r\n                if (locSelect.value && !Array.from(locSelect.options).find(opt => opt.value === locSelect.value)) {\r\n                    locSelect.value = '';\r\n                }\r\n            }\r\n\r\n            \/\/ Function to update price display - shows default if not all selections made\r\n            function updatePriceDisplay() {\r\n                const dayKey = daySelect ? daySelect.value : '';\r\n                const treatId = treatSelect ? treatSelect.value : '';\r\n                const locId = locSelect ? locSelect.value : '';\r\n\r\n                \/\/ Check if all required selections are made\r\n                let allSelected = false;\r\n                if (category === 'Foot reflexology Bliss') {\r\n                    allSelected = dayKey && locId;\r\n                } else {\r\n                    allSelected = dayKey && treatId && locId;\r\n                }\r\n\r\n                \/\/ If not all selected, show default price\r\n                if (!allSelected) {\r\n                    if (defaultPrice) {\r\n                        priceLabel.textContent = defaultPrice;\r\n                    } else {\r\n                        const minPrice = getMinimumPrice();\r\n                        priceLabel.textContent = minPrice > 0 ? `from AED ${minPrice}` : 'AED 0';\r\n                    }\r\n                    return;\r\n                }\r\n\r\n                \/\/ All selected, compute actual price\r\n                computePrice();\r\n            }\r\n\r\n            function computePrice() {\r\n                const dayKey = daySelect ? daySelect.value : '';\r\n                const treatId = treatSelect ? treatSelect.value : '';\r\n                const locId = locSelect ? locSelect.value : '';\r\n\r\n                \/\/ For Foot reflexology Bliss, use 'foot_reflex' directly\r\n                if (category === 'Foot reflexology Bliss') {\r\n                    if (!dayKey || !locId) {\r\n                        updatePriceDisplay();\r\n                        return;\r\n                    }\r\n                    const pricingTierId = 'foot_reflex';\r\n                    const map = pricingData[dayKey] && pricingData[dayKey].pricesByTreatmentAndLocation ? pricingData[dayKey].pricesByTreatmentAndLocation : {};\r\n                    const p = map[pricingTierId] && typeof map[pricingTierId][locId] !== 'undefined' ? map[pricingTierId][locId] : null;\r\n                    if (typeof p === 'number') {\r\n                        priceLabel.textContent = 'AED ' + p;\r\n                    } else {\r\n                        updatePriceDisplay();\r\n                    }\r\n                    return;\r\n                }\r\n\r\n                if (!dayKey || !treatId || !locId) {\r\n                    updatePriceDisplay();\r\n                    return;\r\n                }\r\n\r\n                \/\/ Get the actual pricing tier ID\r\n                let pricingTierId = treatId;\r\n                if (category === 'Couple Spa Deals' || category === 'Self Care Specials') {\r\n                    pricingTierId = getTreatmentTierId(treatId, category);\r\n                    if (!pricingTierId) {\r\n                        updatePriceDisplay();\r\n                        return;\r\n                    }\r\n                }\r\n\r\n                const map = pricingData[dayKey] && pricingData[dayKey].pricesByTreatmentAndLocation ? pricingData[dayKey].pricesByTreatmentAndLocation : {};\r\n                const p = map[pricingTierId] && typeof map[pricingTierId][locId] !== 'undefined' ? map[pricingTierId][locId] : null;\r\n                if (typeof p === 'number') {\r\n                    priceLabel.textContent = 'AED ' + p;\r\n                } else {\r\n                    updatePriceDisplay();\r\n                }\r\n            }\r\n\r\n            \/\/ Book button: open WhatsApp with formatted message\r\n            if (bookBtn) {\r\n                bookBtn.addEventListener('click', () => {\r\n                    \/\/ For Celebration Packages, handle \"Learn More\" differently\r\n                    if (category === 'Celebration Packages') {\r\n                        \/\/ GTM Tracking for Celebration Packages\r\n                        window.dataLayer = window.dataLayer || [];\r\n                        window.dataLayer.push({\r\n                            event: 'whatsapp_redirect',\r\n                            day: 'N\/A',\r\n                            treatment: 'Gift Box \/ Voucher',\r\n                            emirate: 'N\/A',\r\n                            location: 'N\/A',\r\n                            category: category\r\n                        });\r\n                        window.dataLayer.push({\r\n                            event: 'book_now_click',\r\n                            eventCategory: 'Booking',\r\n                            eventAction: 'Book Now Clicked',\r\n                            eventLabel: category,\r\n                            category: category,\r\n                            day: 'N\/A',\r\n                            treatment: 'Gift Box \/ Voucher',\r\n                            emirate: 'N\/A',\r\n                            location: 'N\/A',\r\n                            price: 'N\/A'\r\n                        });\r\n\r\n                        \/\/ You can customize this action - for example, scroll to a section, \r\n                        \/\/ open a modal, or navigate to a page\r\n                        \/\/ For now, we'll just open WhatsApp with a general inquiry message\r\n                        const msg = `Hey! I'm interested in learning more about your Exclusive Vouchers & Gift Box Sets.`;\r\n                        const waNumber = '971544527101';\r\n                        const url = `https:\/\/wa.me\/${waNumber}?text=${encodeURIComponent(msg)}`;\r\n                        window.open(url, '_blank');\r\n                        return;\r\n                    }\r\n\r\n                    const dayKey = daySelect ? daySelect.value : '';\r\n                    const treatId = treatSelect ? treatSelect.value : '';\r\n                    const emirateKey = emirateSelect ? emirateSelect.value : '';\r\n                    const locId = locSelect ? locSelect.value : '';\r\n                    const priceText = priceLabel.textContent || 'AED 0';\r\n                    const categoryLabel = category;\r\n                    const treatLabel = treatSelect && treatSelect.options[treatSelect.selectedIndex] ? treatSelect.options[treatSelect.selectedIndex].text : 'Foot Massage';\r\n                    const locLabel = locSelect && locSelect.options[locSelect.selectedIndex] ? locSelect.options[locSelect.selectedIndex].text : '';\r\n\r\n                    \/\/ For Foot reflexology Bliss, only need day and location\r\n                    if (category === 'Foot reflexology Bliss') {\r\n                        if (!dayKey || !locId) {\r\n                            alert('Please choose day and location before booking.');\r\n                            return;\r\n                        }\r\n                    } else {\r\n                        if (!dayKey || !treatId || !locId) {\r\n                            alert('Please choose day, treatment and location before booking.');\r\n                            return;\r\n                        }\r\n                    }\r\n\r\n                    \/\/ Validation check - ensure all required fields are selected\r\n                    \/\/ For Foot reflexology Bliss, emirate is still required for tracking\r\n                    if (category === 'Foot reflexology Bliss') {\r\n                        if (!dayKey || !emirateKey || !locId) {\r\n                            alert('Please choose day and location before booking.');\r\n                            return;\r\n                        }\r\n                    } else {\r\n                        if (!dayKey || !treatId || !emirateKey || !locId) {\r\n                            alert('Please choose day, treatment and location before booking.');\r\n                            return;\r\n                        }\r\n                    }\r\n\r\n                    \/\/ GTM Tracking - Fire AFTER validation passes\r\n                    window.dataLayer = window.dataLayer || [];\r\n\r\n                    \/\/ Primary GTM Event (as requested by GTM team)\r\n                    window.dataLayer.push({\r\n                        event: 'whatsapp_redirect',\r\n                        day: dayKey,                    \/\/ e.g., \"WEEKDAY\" or \"WEEKEND\"\r\n                        treatment: treatLabel || 'Foot Massage',  \/\/ e.g., \"Aromatherapy Massage\" or \"Foot Massage\"\r\n                        emirate: emirateKey,            \/\/ e.g., \"dubai\", \"abudhabi\", \"sharjah\"\r\n                        location: locLabel               \/\/ e.g., \"Jumeirah Creekside Hotel - Al Garhoud, Dubai\"\r\n                    });\r\n\r\n                    \/\/ Additional detailed tracking event\r\n                    window.dataLayer.push({\r\n                        event: 'book_now_click',\r\n                        eventCategory: 'Booking',\r\n                        eventAction: 'Book Now Clicked',\r\n                        eventLabel: categoryLabel,\r\n                        category: categoryLabel,\r\n                        day: dayKey,\r\n                        treatment: treatLabel || 'Foot Massage',\r\n                        treatmentId: treatId || 'foot_reflex',\r\n                        emirate: emirateKey,\r\n                        location: locLabel,\r\n                        locationId: locId,\r\n                        price: priceText,\r\n                        duration: durationLabel ? durationLabel.textContent : ''\r\n                    });\r\n\r\n                    const msg = `Hey! I want to book a ${categoryLabel}.%0ABook for: ${dayKey}%0ATreatment: ${encodeURIComponent(treatLabel)}%0ALocation: ${encodeURIComponent(locLabel)}%0APrice: ${encodeURIComponent(priceText)}`;\r\n                    const waNumber = '971544527101';\r\n                    const url = `https:\/\/wa.me\/${waNumber}?text=${msg}`;\r\n                    window.open(url, '_blank');\r\n                });\r\n            }\r\n\r\n            \/\/ Function to calculate minimum price for this category\r\n            function getMinimumPrice() {\r\n                let treatmentIds = [];\r\n\r\n                if (category === 'Couple Spa Deals') {\r\n                    treatmentIds = [\"couple_classic\", \"couple_premium\", \"couple_hotstone\"];\r\n                } else if (category === 'Self Care Specials') {\r\n                    treatmentIds = [\"metime_classic\", \"metime_premium\", \"metime_hotstone\"];\r\n                } else if (category === 'Foot reflexology Bliss') {\r\n                    treatmentIds = [\"foot_reflex\"];\r\n                } else if (category === 'Couple Relaxation') {\r\n                    treatmentIds = [\"celebration_single\", \"celebration_couple\"];\r\n                } else if (category === 'Me-time Indulgence') {\r\n                    treatmentIds = [\"metime_classic\", \"metime_premium\", \"metime_hotstone\"];\r\n                } else if (category === 'Celebration Packages') {\r\n                    treatmentIds = [\"celebration_single\", \"celebration_couple\"];\r\n                }\r\n\r\n                let minPrice = Infinity;\r\n\r\n                ['WEEKDAY', 'WEEKEND'].forEach(dayKey => {\r\n                    treatmentIds.forEach(treatId => {\r\n                        const priceMap = pricingData[dayKey]?.pricesByTreatmentAndLocation?.[treatId];\r\n                        if (priceMap) {\r\n                            Object.values(priceMap).forEach(price => {\r\n                                if (price !== null && typeof price === 'number' && price < minPrice) {\r\n                                    minPrice = price;\r\n                                }\r\n                            });\r\n                        }\r\n                    });\r\n                });\r\n\r\n                return minPrice === Infinity ? 0 : minPrice;\r\n            }\r\n\r\n            \/\/ Initialize default placeholders (no day selected)\r\n            if (locSelect) {\r\n                resetBlock();\r\n            }\r\n\r\n            function resetBlock() {\r\n                if (!locSelect) return;\r\n\r\n                \/\/ For Foot reflexology Bliss, hide treatment select\r\n                if (category === 'Foot reflexology Bliss') {\r\n                    if (treatSelect) {\r\n                        treatSelect.style.display = 'none';\r\n                    }\r\n                } else {\r\n                    if (treatSelect) {\r\n                        treatSelect.style.display = '';\r\n                        treatSelect.innerHTML = '';\r\n                        const useTotalPeople = category === 'Couple Relaxation';\r\n                        const tOpt = document.createElement('option');\r\n                        tOpt.value = '';\r\n                        \/\/ Set correct placeholder based on category\r\n                        if (useTotalPeople) {\r\n                            tOpt.textContent = 'Total People';\r\n                        } else if (category === 'Couple Spa Deals' || category === 'Self Care Specials') {\r\n                            tOpt.textContent = 'Choose a Treatment';\r\n                        } else {\r\n                            tOpt.textContent = 'Choose a Treatment';\r\n                        }\r\n                        tOpt.disabled = true;\r\n                        tOpt.selected = true;\r\n                        treatSelect.appendChild(tOpt);\r\n                        treatSelect.disabled = true;\r\n                    }\r\n                }\r\n\r\n                if (emirateSelect) {\r\n                    populateEmirates(emirateSelect, category);\r\n                    emirateSelect.value = '';\r\n                    emirateSelect.disabled = true;\r\n                }\r\n\r\n                locSelect.innerHTML = '';\r\n                const lOpt = document.createElement('option');\r\n                lOpt.value = '';\r\n                lOpt.textContent = 'Preferred Location';\r\n                lOpt.disabled = true;\r\n                lOpt.selected = true;\r\n                locSelect.appendChild(lOpt);\r\n                locSelect.disabled = true;\r\n\r\n                if (category === 'Foot reflexology Bliss') durationLabel.textContent = '30 minutes';\r\n                else if (category === 'Couple Relaxation' || category === 'Celebration Packages') durationLabel.textContent = '90 minutes';\r\n                else durationLabel.textContent = '60 minutes';\r\n\r\n                const minPrice = getMinimumPrice();\r\n                defaultPrice = minPrice > 0 ? `from AED ${minPrice}` : 'AED 0';\r\n                priceLabel.textContent = defaultPrice;\r\n\r\n                \/\/ Reset facilities\r\n                if (facilitiesContainer) {\r\n                    facilitiesContainer.style.display = 'none';\r\n                    facilitiesContainer.innerHTML = '';\r\n                }\r\n            }\r\n        });\r\n    } \/\/ End of initSpaDropdowns function\r\n\r\n    \/\/ Video Modal functionality - Initialize outside the function\r\n    function initVideoModal() {\r\n        const videoModal = document.getElementById('videoModal');\r\n        const videoPlayer = document.getElementById('videoPlayer');\r\n        const videoError = document.getElementById('videoError');\r\n        const closeVideoBtn = document.querySelector('.video-modal-close');\r\n\r\n        if (!videoModal || !videoPlayer) {\r\n            return; \/\/ Elements not found yet\r\n        }\r\n\r\n        \/\/ Handle video errors with detailed logging\r\n        videoPlayer.addEventListener('error', (e) => {\r\n            console.error('Video error:', e);\r\n            if (videoPlayer.error) {\r\n                console.error('Video error code:', videoPlayer.error.code);\r\n                console.error('Video error message:', videoPlayer.error.message);\r\n\r\n                \/\/ Show error message\r\n                if (videoError) {\r\n                    videoError.style.display = 'block';\r\n                    videoPlayer.style.display = 'none';\r\n                }\r\n            }\r\n        });\r\n\r\n        \/\/ Handle successful video load\r\n        videoPlayer.addEventListener('loadedmetadata', () => {\r\n            console.log('Video metadata loaded');\r\n            if (videoError) videoError.style.display = 'none';\r\n            videoPlayer.style.display = 'block';\r\n        });\r\n\r\n        videoPlayer.addEventListener('canplay', () => {\r\n            console.log('Video can play');\r\n            if (videoError) videoError.style.display = 'none';\r\n            videoPlayer.style.display = 'block';\r\n        });\r\n\r\n        videoPlayer.addEventListener('canplaythrough', () => {\r\n            console.log('Video can play through');\r\n            if (videoError) videoError.style.display = 'none';\r\n            videoPlayer.style.display = 'block';\r\n        });\r\n\r\n        \/\/ Play button click handler\r\n        const playVideoBtns = document.querySelectorAll('.play-video-btn');\r\n        if (playVideoBtns.length > 0) {\r\n            playVideoBtns.forEach(btn => {\r\n                btn.addEventListener('click', (e) => {\r\n                    e.preventDefault();\r\n                    console.log('Play video button clicked');\r\n\r\n                    \/\/ Show modal\r\n                    videoModal.classList.add('active');\r\n                    if (videoError) videoError.style.display = 'none';\r\n                    videoPlayer.style.display = 'block';\r\n\r\n                    \/\/ Reset video\r\n                    videoPlayer.currentTime = 0;\r\n\r\n                    \/\/ Load video\r\n                    videoPlayer.load();\r\n\r\n                    \/\/ Wait for video to be ready, then play\r\n                    const tryPlay = () => {\r\n                        if (videoPlayer.readyState >= 2) { \/\/ HAVE_CURRENT_DATA\r\n                            const playPromise = videoPlayer.play();\r\n                            if (playPromise !== undefined) {\r\n                                playPromise.then(() => {\r\n                                    console.log('Video playing successfully');\r\n                                    if (videoError) videoError.style.display = 'none';\r\n                                    videoPlayer.style.display = 'block';\r\n                                }).catch(error => {\r\n                                    console.error('Autoplay prevented:', error);\r\n                                    \/\/ Autoplay was prevented - show video with controls\r\n                                    if (videoError) videoError.style.display = 'none';\r\n                                    videoPlayer.style.display = 'block';\r\n                                    \/\/ User can manually click play\r\n                                });\r\n                            }\r\n                        } else {\r\n                            \/\/ Wait a bit more\r\n                            setTimeout(tryPlay, 100);\r\n                        }\r\n                    };\r\n\r\n                    \/\/ Start trying to play after a short delay\r\n                    setTimeout(tryPlay, 200);\r\n                });\r\n            });\r\n        }\r\n\r\n        \/\/ Close button handler\r\n        if (closeVideoBtn) {\r\n            closeVideoBtn.addEventListener('click', () => {\r\n                videoModal.classList.remove('active');\r\n                videoPlayer.pause();\r\n                videoPlayer.currentTime = 0;\r\n                if (videoError) videoError.style.display = 'none';\r\n            });\r\n        }\r\n\r\n        \/\/ Close modal when clicking outside\r\n        videoModal.addEventListener('click', (e) => {\r\n            if (e.target === videoModal) {\r\n                videoModal.classList.remove('active');\r\n                videoPlayer.pause();\r\n                videoPlayer.currentTime = 0;\r\n                if (videoError) videoError.style.display = 'none';\r\n            }\r\n        });\r\n\r\n        \/\/ Close modal on Escape key\r\n        document.addEventListener('keydown', (e) => {\r\n            if (e.key === 'Escape' && videoModal.classList.contains('active')) {\r\n                videoModal.classList.remove('active');\r\n                videoPlayer.pause();\r\n                videoPlayer.currentTime = 0;\r\n                if (videoError) videoError.style.display = 'none';\r\n            }\r\n        });\r\n    }\r\n\r\n    \/\/ Initialize video modal when DOM is ready\r\n    if (document.readyState === 'loading') {\r\n        document.addEventListener('DOMContentLoaded', initVideoModal);\r\n    } else {\r\n        initVideoModal();\r\n    }\r\n\r\n    \/\/ Also try initializing after a delay (for dynamic content)\r\n    setTimeout(initVideoModal, 500);\r\n\r\n    \/\/ Retry initialization if elements are added dynamically\r\n    const observer = new MutationObserver(function (mutations) {\r\n        const uninitializedOffers = document.querySelectorAll('.offer:not([data-spa-initialized=\"true\"])');\r\n        if (uninitializedOffers.length > 0) {\r\n            initSpaDropdowns();\r\n        }\r\n    });\r\n\r\n    \/\/ Start observing when DOM is ready\r\n    if (document.body) {\r\n        observer.observe(document.body, {\r\n            childList: true,\r\n            subtree: true\r\n        });\r\n    } else {\r\n        document.addEventListener('DOMContentLoaded', function () {\r\n            observer.observe(document.body, {\r\n                childList: true,\r\n                subtree: true\r\n            });\r\n        });\r\n    }\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d9ff1d5 elementor-widget__width-inherit elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-html\" data-id=\"d9ff1d5\" 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>\r\n        :root {\r\n            --accent: #6b0f12;\r\n            \/* deep burgundy similar to your design *\/\r\n            --muted: #f3efed;\r\n            --card-bg: #fff;\r\n            --text: #222;\r\n        }\r\n\r\n        select {\r\n            color: #fff;\r\n        }\r\n\r\n        #nisiaa .select-wrap::after {\r\n            border-color: #fff !important;\r\n        }\r\n\r\n        .video-modal-content {\r\n            position: relative !important;\r\n            width: 80% !important;\r\n            max-width: 900px !important;\r\n            aspect-ratio: 16 \/ 9 !important;\r\n            background: #000 !important;\r\n            border-radius: 8px !important;\r\n            overflow: hidden !important;\r\n            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;\r\n        }\r\n\r\n        #nisiaa select {\r\n            font-family: \"Calibri\", serif !important;\r\n            background-color: #8c282e !important;\r\n            border-color: #8c282e !important;\r\n            color: #fff !important;\r\n            font-size: 18px !important;\r\n            border-radius: 0px;\r\n            padding: 6px 18px;\r\n        }\r\n\r\n        .offer {\r\n            display: flex;\r\n            gap: 28px;\r\n            align-items: flex-start;\r\n            padding: 26px 0;\r\n            border-bottom: 1px dotted #bdbdbd;\r\n        }\r\n\r\n        .offer:first-child {\r\n            padding-top: 0;\r\n        }\r\n\r\n        .offer:last-child {\r\n            border-bottom: 0;\r\n            padding-bottom: 6px;\r\n        }\r\n\r\n        .offer .media {\r\n            flex: 0 0 360px;\r\n        }\r\n\r\n        .offer .media img {\r\n            width: 100%;\r\n            height: auto;\r\n            display: block;\r\n            border-radius: 6px;\r\n        }\r\n\r\n        .offer .content {\r\n            flex: 1 1 auto;\r\n        }\r\n\r\n        .headline {\r\n            font-size: 19.3px;\r\n            font-weight: bold;\r\n            letter-spacing: 1px;\r\n            text-transform: uppercase;\r\n            margin: 4px 0 12px 0;\r\n            color: #2e2929;\r\n            font-family: \"Marcellus\", serif !important;\r\n        }\r\n\r\n        .sub {\r\n            font-family: \"Marcellus\", serif !important;\r\n            font-size: 16.4px;\r\n            font-weight: bold;\r\n            color: #8c282e;\r\n            margin-bottom: 14px;\r\n            text-transform: uppercase;\r\n        }\r\n\r\n        .black {\r\n            color: black;\r\n        }\r\n\r\n        .controls {\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            gap: 12px;\r\n            align-items: center;\r\n            margin-bottom: 12px;\r\n        }\r\n\r\n        .select-wrap {\r\n            position: relative;\r\n            padding: 4px 0;\r\n            flex: 0 1 calc(50% - 6px);\r\n            min-width: 0;\r\n            max-width: calc(50% - 6px);\r\n        }\r\n\r\n        @media (min-width: 769px) {\r\n            .select-wrap {\r\n                flex: 0 1 calc(50% - 6px);\r\n                max-width: calc(50% - 6px);\r\n            }\r\n        }\r\n\r\n        select {\r\n            -webkit-appearance: none !important;\r\n            -moz-appearance: none !important;\r\n            appearance: none !important;\r\n            padding: 12px 50px 12px 16px;\r\n            border-radius: 0px;\r\n            border: 1px solid #bfbfbf;\r\n            background: #8c282e !important;\r\n            background-image: none !important;\r\n            font-size: 13px;\r\n            min-width: 250px;\r\n            text-transform: none;\r\n            cursor: pointer;\r\n        }\r\n\r\n        \/* Hide default dropdown arrow for all browsers *\/\r\n        select::-ms-expand {\r\n            display: none !important;\r\n        }\r\n\r\n        select::-webkit-inner-spin-button,\r\n        select::-webkit-outer-spin-button {\r\n            -webkit-appearance: none !important;\r\n            margin: 0;\r\n        }\r\n\r\n        \/* Additional browser-specific hiding *\/\r\n        select::-webkit-appearance {\r\n            -webkit-appearance: none !important;\r\n        }\r\n\r\n        select::-moz-appearance {\r\n            -moz-appearance: none !important;\r\n        }\r\n\r\n        .day-type,\r\n        .treatment-select,\r\n        .emirate-select,\r\n        .location-select {\r\n            width: 100% !important;\r\n            min-width: 250px !important;\r\n            padding-right: 50px !important;\r\n        }\r\n\r\n        .select-wrap::after {\r\n            content: \"\";\r\n            position: absolute;\r\n            right: 35px;\r\n            top: 50%;\r\n            transform: translateY(-50%);\r\n            width: 14px;\r\n            height: 14px;\r\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\");*\/\r\n            background-repeat: no-repeat;\r\n            background-position: center;\r\n            background-size: contain;\r\n            pointer-events: none;\r\n            z-index: 10;\r\n        }\r\n\r\n        \/* Hide disabled placeholder options from dropdown list *\/\r\n        select option[disabled] {\r\n            display: none;\r\n        }\r\n\r\n        \/* Show disabled option when it's the selected value *\/\r\n        select option[disabled][selected] {\r\n            display: block;\r\n            color: #999;\r\n        }\r\n\r\n        \/* Style regular options *\/\r\n        select option:not([disabled]) {\r\n            color: #fff;\r\n        }\r\n\r\n        .price-block {\r\n            margin-top: 8px;\r\n            display: flex;\r\n            gap: 18px;\r\n            align-items: center;\r\n            margin-bottom: 10px;\r\n            background: #8c282e;\r\n        }\r\n\r\n        .duration-box {\r\n            font-size: 12px;\r\n            padding: 8px 12px;\r\n            border: 1px solid #ddd;\r\n            border-radius: 0px;\r\n            background: #8c282e;\r\n        }\r\n\r\n        .price-box {\r\n            font-size: 20px;\r\n            color: var(--accent);\r\n            font-weight: 600;\r\n            padding: 8px 12px;\r\n            border: 2px solid var(--accent);\r\n            border-radius: 0px;\r\n            background: #8c282e;\r\n        }\r\n\r\n        .book-btn {\r\n            font-family: \"Calibri\", serif !important;\r\n            \/*font-family: \"Calibri\"*\/\r\n            margin-top: 6px;\r\n            display: inline-block;\r\n            background: #8c282e;\r\n            color: #fff;\r\n            padding: 6px 18px;\r\n            border-radius: 0px;\r\n            border: 0;\r\n            cursor: pointer;\r\n            font-size: 14px;\r\n            text-transform: uppercase;\r\n            width: 120px\r\n        }\r\n\r\n\r\n        .book-btn:hover {\r\n\r\n            background: #b33e3f !important;\r\n        }\r\n\r\n        \/* Button container for side-by-side buttons *\/\r\n        .button-group {\r\n            display: flex;\r\n            gap: 12px;\r\n            margin-top: 6px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        \/* Video modal styles *\/\r\n        .video-modal {\r\n            display: none;\r\n            position: fixed;\r\n            z-index: 10000;\r\n            left: 0;\r\n            top: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background-color: rgba(0, 0, 0, 0.9);\r\n            justify-content: center;\r\n            align-items: center;\r\n        }\r\n\r\n        .video-modal.active {\r\n            display: flex;\r\n        }\r\n\r\n        .video-modal-content {\r\n            position: relative;\r\n            width: 90%;\r\n            max-width: 1200px;\r\n            padding: 20px;\r\n            background-color: #000;\r\n        }\r\n\r\n        .video-modal-close {\r\n            position: absolute;\r\n            top: -40px;\r\n            right: 0;\r\n            color: #fff;\r\n            font-size: 40px;\r\n            font-weight: bold;\r\n            cursor: pointer;\r\n            line-height: 1;\r\n            z-index: 10001;\r\n        }\r\n\r\n        .video-modal-close:hover {\r\n            color: #b33e3f;\r\n        }\r\n\r\n        .video-modal video {\r\n            width: 100%;\r\n            height: auto;\r\n            display: block;\r\n        }\r\n\r\n        @media (max-width: 768px) {\r\n\r\n            .button-group {\r\n                flex-direction: column;\r\n            }\r\n\r\n            .button-group .book-btn {\r\n                width: 100%;\r\n            }\r\n        }\r\n\r\n        .desc {\r\n            font-family: \"Calibri\", serif !important;\r\n            margin-top: 10px;\r\n            color: #666;\r\n            max-width: 560px;\r\n            line-height: 1.5;\r\n        }\r\n\r\n        .spa-inclusions {\r\n            max-width: 520px;\r\n            font-family: \"Calibri\", serif !important;\r\n            color: #2f2f2f;\r\n            line-height: 1.7;\r\n        }\r\n\r\n        .spa-note {\r\n            font-size: 16px;\r\n            color: #6f6f6f;\r\n            margin-bottom: 18px;\r\n        }\r\n\r\n        .spa-title {\r\n            font-size: 15px;\r\n            font-weight: 700;\r\n            letter-spacing: 1px;\r\n            margin-bottom: 12px;\r\n        }\r\n\r\n        .bath-heading {\r\n            font-size: 14px;\r\n            font-weight: 700;\r\n            margin: 10px 0 6px;\r\n        }\r\n\r\n        .spa-list {\r\n            list-style: none;\r\n            padding: 0;\r\n            margin: 0 0 14px 0;\r\n        }\r\n\r\n        .spa-list li {\r\n            font-size: 14px;\r\n            margin-bottom: 6px;\r\n        }\r\n\r\n\r\n        @media (max-width:980px) {\r\n            .offer {\r\n                flex-direction: column;\r\n            }\r\n\r\n            .offer .media {\r\n                width: 100%;\r\n                flex-basis: auto;\r\n            }\r\n\r\n            \/*.controls {*\/\r\n            \/*    flex-direction: row;*\/\r\n            \/*    align-items: flex-start;*\/\r\n            \/*}*\/\r\n\r\n            select {\r\n                min-width: 100%;\r\n                max-width: 100%;\r\n            }\r\n        }\r\n\r\n        @media (max-width: 768px) {\r\n            .video-modal-content {\r\n                width: 95% !important;\r\n                aspect-ratio: 9 \/ 14 !important;\r\n            }\r\n\r\n            #nisiaa select {\r\n                font-size: 12px !important;\r\n                padding: 6px 10px;\r\n            }\r\n\r\n            \/*.controls {*\/\r\n            \/*    flex-direction: row;*\/\r\n            \/*    align-items: flex-start;*\/\r\n            \/*}*\/\r\n\r\n            .controls {\r\n                flex-direction: column;\r\n                align-items: stretch;\r\n            }\r\n\r\n            .select-wrap {\r\n                flex: 0 1 100% !important;\r\n                max-width: 100% !important;\r\n                min-width: 100% !important;\r\n            }\r\n\r\n            .day-type,\r\n            .treatment-select,\r\n            .emirate-select,\r\n            .location-select {\r\n                width: 100% !important;\r\n            }\r\n\r\n            select {\r\n                -webkit-appearance: none !important;\r\n                -moz-appearance: none !important;\r\n                appearance: none !important;\r\n                padding: 10px 50px 10px 12px;\r\n                border-radius: 0px;\r\n                border: 1px solid #bfbfbf;\r\n                background: #8c282e !important;\r\n                background-image: none !important;\r\n                font-size: 12px;\r\n                min-width: 100px;\r\n                text-transform: none;\r\n                text-align: left;\r\n                cursor: pointer;\r\n            }\r\n\r\n            select::-ms-expand {\r\n                display: none !important;\r\n            }\r\n\r\n            select::-webkit-inner-spin-button,\r\n            select::-webkit-outer-spin-button {\r\n                -webkit-appearance: none !important;\r\n                margin: 0;\r\n            }\r\n\r\n            .day-type {\r\n                width: auto;\r\n                min-width: auto;\r\n                padding-right: 50px !important;\r\n            }\r\n\r\n            .select-wrap::after {\r\n                content: \"\";\r\n                position: absolute;\r\n                right: 16px;\r\n                top: 50%;\r\n                transform: translateY(-50%);\r\n                width: 12px;\r\n                height: 12px;\r\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\");*\/\r\n                background-repeat: no-repeat;\r\n                background-position: center;\r\n                background-size: contain;\r\n                pointer-events: none;\r\n                z-index: 10;\r\n            }\r\n        }\r\n\r\n        \/* disabled option style fallback (browsers don't style disabled options consistently) *\/\r\n        option.unavailable {\r\n            color: #999;\r\n        }\r\n\r\n        .container {\r\n            max-width: 1200px;\r\n            margin: 0 auto;\r\n            padding: 20px;\r\n            width: 100%;\r\n            box-sizing: border-box;\r\n        }\r\n    <\/style>\r\n\r\n    <div class=\"container\">\r\n\r\n        <!-- Offer: Couple Spa Deals -->\r\n        <div class=\"offer\" data-category=\"Couple Spa Deals\">\r\n            <div class=\"media\">\r\n                <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-12-at-12.56.25.png\"\r\n                    alt=\"Couple Spa Deals\">\r\n            <\/div>\r\n            <div class=\"content\">\r\n                <div class=\"headline\">Couple Spa Deals<\/div>\r\n                <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\r\n\r\n                <p class=\"desc\">Celebrate togetherness with our exclusive couple's spa experiences, thoughtfully\r\n                    designed\r\n                    and offered in the finest 5-star high-end hotels, resorts, and malls.<\/p>\r\n\r\n                <div class=\"sub\"><span class=\"duration-label\">60 minutes<\/span> \u2014 <span class=\"price-label\">AED\r\n                        399<\/span>\r\n                <\/div>\r\n\r\n                <div class=\"controls\">\r\n                    <div class=\"select-wrap\">\r\n                        <select class=\"day-type\">\r\n                            <option value=\"\" disabled selected>Choose a Day<\/option>\r\n                            <option value=\"WEEKDAY\">Weekday Specials (monday to thursday)<\/option>\r\n                            <option value=\"WEEKEND\">Weekend Specials (friday to sunday)<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n\r\n                    <div class=\"select-wrap\">\r\n                        <select class=\"treatment-select\" disabled>\r\n                            <option value=\"\">Choose a Treatment<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n\r\n                    <div class=\"select-wrap\">\r\n                        <select class=\"emirate-select\" disabled>\r\n                            <option value=\"\">Select the Emirate<\/option>\r\n                            <option value=\"dubai\">Dubai<\/option>\r\n                            <option value=\"abudhabi\">Abu Dhabi<\/option>\r\n                            <option value=\"sharjah\">Sharjah<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n\r\n                    <div class=\"select-wrap\">\r\n                        <select class=\"location-select\" disabled>\r\n                            <option value=\"\">Preferred Location<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <button class=\"book-btn\">Book Now<\/button>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Offer: Self Care Specials -->\r\n        <div class=\"offer\" data-category=\"Self Care Specials\">\r\n            <div class=\"media\">\r\n                <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-12-at-12.56.31.png\"\r\n                    alt=\"Self Care Specials\">\r\n            <\/div>\r\n            <div class=\"content\">\r\n                <div class=\"headline\">Self Care Specials<\/div>\r\n                <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\r\n\r\n                <p class=\"desc\">Take a moment for yourself. Whether you're tired, jet lagged, or simply craving a little\r\n                    self-care, our selection of treatments is here to help you relax and rejuvenate.<\/p>\r\n\r\n                <div class=\"sub\"><span class=\"duration-label\">60 minutes<\/span> \u2014 <span class=\"price-label\">AED\r\n                        199<\/span>\r\n                <\/div>\r\n\r\n                <div class=\"controls\">\r\n                    <div class=\"select-wrap\">\r\n                        <select class=\"day-type\">\r\n                            <option value=\"\" disabled selected>Choose a Day<\/option>\r\n                            <option value=\"WEEKDAY\">Weekday Specials (monday to thursday)<\/option>\r\n                            <option value=\"WEEKEND\">Weekend Specials (friday to sunday)<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n\r\n                    <div class=\"select-wrap\">\r\n                        <select class=\"treatment-select\" disabled>\r\n                            <option value=\"\">Choose a Treatment<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n\r\n                    <div class=\"select-wrap\">\r\n                        <select class=\"emirate-select\" disabled>\r\n                            <option value=\"\">Select the Emirate<\/option>\r\n                            <option value=\"dubai\">Dubai<\/option>\r\n                            <option value=\"abudhabi\">Abu Dhabi<\/option>\r\n                            <option value=\"sharjah\">Sharjah<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n\r\n                    <div class=\"select-wrap\">\r\n                        <select class=\"location-select\" disabled>\r\n                            <option value=\"\">Preferred Location<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <button class=\"book-btn\">Book Now<\/button>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Offer: Couple Relaxation -->\r\n        <div class=\"offer\" data-category=\"Couple Relaxation\">\r\n            <div class=\"media\">\r\n                <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-12-at-12.56.37.png\"\r\n                    alt=\"Couple Relaxation\">\r\n            <\/div>\r\n            <div class=\"content\">\r\n                <div class=\"headline\">Luxury Flower Bath<\/div>\r\n                <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\r\n                <div class=\"sub\"><span class=\"black\">THE NETFLIX SPA EXPERIENCE EVERYONE'S TALKING ABOUT\r\n                        <br \/><\/span><span class=\"duration-label\">60\r\n                        minutes<\/span> \u2014 <span class=\"price-label\">AED 399<\/span>\r\n                <\/div>\r\n\r\n                <div class=\"controls\">\r\n                    <div class=\"select-wrap\">\r\n                        <select class=\"day-type\">\r\n                            <option value=\"\" disabled selected>Choose a Day<\/option>\r\n                            <option value=\"WEEKDAY\">Weekday Specials (monday to thursday)<\/option>\r\n                            <option value=\"WEEKEND\">Weekend Specials (friday to sunday)<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n\r\n                    <div class=\"select-wrap\">\r\n                        <select class=\"treatment-select\" disabled>\r\n                            <option value=\"\">Total People<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n\r\n                    <div class=\"select-wrap\">\r\n                        <select class=\"emirate-select\" disabled>\r\n                            <option value=\"\">Select the Emirate<\/option>\r\n                            <option value=\"dubai\">Dubai<\/option>\r\n                            <option value=\"sharjah\">Sharjah<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n\r\n                    <div class=\"select-wrap\">\r\n                        <select class=\"location-select\" disabled>\r\n                            <option value=\"\">Preferred Location<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n\r\n                <!--<p class=\"desc\">Celebrate togetherness with our couple-focused relaxation experiences: classic, premium and-->\r\n                <!--    hot-stone options available across many locations.<\/p>-->\r\n\r\n                <div class=\"spa-inclusions\">\r\n                    <p class=\"spa-note\">\r\n                        (Perfect for birthdays, anniversaries, or a fun outing with friends)\r\n                    <\/p>\r\n\r\n                    <h4 class=\"spa-title\">INCLUSIONS:<\/h4>\r\n\r\n                    <ul class=\"spa-list\">\r\n                        <li>- Total Experience: 90 minutes<\/li>\r\n                        <li>- Classic Massage Treatment \u2013 60 minutes<\/li>\r\n                        <li>- \ud83c\udf38 Signature Flower Bath \u2013 30 minutes<\/li>\r\n                    <\/ul>\r\n\r\n                    <p class=\"bath-heading\">- Bath Selections:<\/p>\r\n                    <ul class=\"spa-list\">\r\n                        <li>* Red Grapes, Lime &amp; Cinnamon<\/li>\r\n                        <li>* Aromatic Milk Indulgence<\/li>\r\n                        <li>* Cleopatra's Beauty Bath<\/li>\r\n                    <\/ul>\r\n\r\n                    <ul class=\"spa-list\">\r\n                        <li>- \ud83c\udf77 Complimentary fresh juices &amp; fruit platter<\/li>\r\n                        <li>- \u2728 Optional: Non-alcoholic sparkling wine \u2014 AED 100<\/li>\r\n                    <\/ul>\r\n                <\/div>\r\n\r\n\r\n\r\n                <button class=\"book-btn\">Book Now<\/button>\r\n\r\n\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Offer: Me-time Indulgence -->\r\n        <div class=\"offer\" data-category=\"Me-time Indulgence\">\r\n            <div class=\"media\">\r\n                <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-12-at-12.56.44.png\"\r\n                    alt=\"Me-time Indulgence\">\r\n            <\/div>\r\n            <div class=\"content\">\r\n                <div class=\"headline\">Launch Special<\/div>\r\n                <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\r\n                <div class=\"sub\">50% Off on all Services<br \/><span class=\"black\">Celebrate Our 21st Location valid\r\n                        at:<\/span>Pearl Rotana Abu Dhabi<\/div>\r\n                <!--<div class=\"sub\"><span class=\"duration-label\">60 minutes<\/span> \u2014 <span class=\"price-label\">AED 199<\/span>-->\r\n                <!--<\/div>-->\r\n\r\n                <!--<div class=\"controls\">-->\r\n                <!--    <div class=\"select-wrap\">-->\r\n                <!--        <select class=\"day-type\">-->\r\n                <!--            <option value=\"\">Choose a day<\/option>-->\r\n                <!--            <option value=\"WEEKDAY\">WEEKDAY PRICES - Monday to Thursday<\/option>-->\r\n                <!--            <option value=\"WEEKEND\">WEEKEND PRICES - Friday to Sunday<\/option>-->\r\n                <!--        <\/select>-->\r\n                <!--    <\/div>-->\r\n\r\n                <!--    <div class=\"select-wrap\">-->\r\n                <!--        <select class=\"treatment-select\" disabled>-->\r\n                <!--            <option value=\"\">Choose treatment<\/option>-->\r\n                <!--        <\/select>-->\r\n                <!--    <\/div>-->\r\n\r\n                <!--    <div class=\"select-wrap\">-->\r\n                <!--        <select class=\"location-select\" disabled>-->\r\n                <!--            <option value=\"\">Preferred location<\/option>-->\r\n                <!--        <\/select>-->\r\n                <!--    <\/div>-->\r\n                <!--<\/div>-->\r\n\r\n\r\n                <!--<p class=\"desc\">Take a moment for yourself with our Me-time treatments: classic, premium and hot-stone-->\r\n                <!--    packages to help you relax and rejuvenate.<\/p>-->\r\n\r\n\r\n                <button class=\"book-btn\">Book Now<\/button>\r\n\r\n\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Offer: Foot reflexology -->\r\n        <div class=\"offer\" data-category=\"Foot reflexology Bliss\">\r\n            <div class=\"media\">\r\n                <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-12-at-12.56.53.png\"\r\n                    alt=\"Foot reflexology\">\r\n            <\/div>\r\n            <div class=\"content\">\r\n                <div class=\"headline\">Foot Massage Special<\/div>\r\n                <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\r\n                <div class=\"sub\"><span class=\"duration-label\">30 minutes<\/span> \u2014 <span class=\"price-label\">AED\r\n                        99<\/span>\r\n                <\/div>\r\n\r\n                <div class=\"controls\">\r\n                    <div class=\"select-wrap\">\r\n                        <select class=\"day-type\">\r\n                            <option value=\"\" disabled selected>Choose a Day<\/option>\r\n                            <option value=\"WEEKDAY\">Weekday Specials (monday to thursday)<\/option>\r\n                            <option value=\"WEEKEND\">Weekend Specials (friday to sunday)<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n\r\n                    <div class=\"select-wrap\">\r\n                        <select class=\"emirate-select\" disabled>\r\n                            <option value=\"\">Select the Emirate<\/option>\r\n                            <option value=\"dubai\">Dubai<\/option>\r\n                            <option value=\"abudhabi\">Abu Dhabi<\/option>\r\n                            <option value=\"sharjah\">Sharjah<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n\r\n                    <div class=\"select-wrap\">\r\n                        <select class=\"location-select\" disabled>\r\n                            <option value=\"\">Preferred Location<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <p class=\"desc\">Enjoy this exclusive offer at all 21 locations across the UAE - but hurry, it's only\r\n                    available for a limited time! Don't miss your chance to treat yourself.<\/p>\r\n\r\n                <button class=\"book-btn\">Book Now<\/button>\r\n\r\n\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Offer: Celebration Packages -->\r\n        <div class=\"offer\" data-category=\"Celebration Packages\">\r\n            <div class=\"media\">\r\n                <img decoding=\"async\" src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/550X413-GIFT-BOX-IMAGE.jpg\"\r\n                    alt=\"Celebration Packages\">\r\n            <\/div>\r\n            <div class=\"content\">\r\n                <div class=\"headline\">EXCLUSIVE VOUCHERS & GIFT BOX SETS<\/div>\r\n                <hr style=\"width:10%;background-color:#b33e3e;height:2.3px;    border: none;margin-bottom:30px\">\r\n                <!--<div class=\"sub\"><span class=\"duration-label\">90 minutes<\/span> \u2014 <span class=\"price-label\">AED 499<\/span>-->\r\n                <!--<\/div>-->\r\n\r\n                <!--<div class=\"controls\">-->\r\n                <!--    <div class=\"select-wrap\">-->\r\n                <!--        <select class=\"day-type\">-->\r\n                <!--            <option value=\"\">Choose a day<\/option>-->\r\n                <!--            <option value=\"WEEKDAY\">Weekday Prices - Monday to Thursday<\/option>-->\r\n                <!--            <option value=\"WEEKEND\">Weekend Prices - Friday to Sunday<\/option>-->\r\n                <!--        <\/select>-->\r\n                <!--    <\/div>-->\r\n\r\n                <!--    <div class=\"select-wrap\">-->\r\n                <!--        <select class=\"treatment-select\" disabled>-->\r\n                <!--            <option value=\"\">Choose treatment<\/option>-->\r\n                <!--        <\/select>-->\r\n                <!--    <\/div>-->\r\n\r\n                <!--    <div class=\"select-wrap\">-->\r\n                <!--        <select class=\"location-select\" disabled>-->\r\n                <!--            <option value=\"\">Preferred location<\/option>-->\r\n                <!--        <\/select>-->\r\n                <!--    <\/div>-->\r\n                <!--<\/div>-->\r\n\r\n\r\n                <p class=\"desc\">\r\n\r\n                    <span class=\"bath-heading\" style=\"color: #2f2f2f;\">What\u2019s Inside the Gift Box<\/span><br>\r\n                    Premium keepsake box, message card, spa gift voucher, and curated wellness essentials, thoughtfully\r\n                    designed for every occasion.<br><br>\r\n\r\n                    <span class=\"bath-heading\" style=\"color: #2f2f2f;\">Voucher Options<\/span><br>\r\n                    Available as digital vouchers or premium physical gift cards, redeemable at all Soul Senses Spa\r\n                    branches.<br><br>\r\n\r\n                    <span class=\"bath-heading\" style=\"color: #2f2f2f;\">Gift Values<\/span><br>\r\n                    Choose from AED 500, AED 1,000, or AED 3,000 spa voucher values.<br><br>\r\n\r\n                    <span class=\"bath-heading\" style=\"color: #2f2f2f;\">Locations<\/span><br>\r\n                    Redeemable across 21 Soul Senses Spa & Wellness locations across the UAE.<br>\r\n\r\n                <\/p>\r\n\r\n                <div class=\"button-group\">\r\n                    <button class=\"book-btn\" style=\"width: unset!important;\"\r\n                        onclick=\"window.location.href='https:\/\/soulsensesspa.ae\/soul-premium-gift-box\/'\">\r\n                        \u2060Buy Premium Gift Box\r\n                    <\/button>\r\n                    <button class=\"book-btn\" style=\"width: unset!important;\"\r\n                        onclick=\"window.location.href='https:\/\/soulsensesspa.ae\/buy-voucher\/'\">\r\n                        Buy Gift Voucher\r\n                    <\/button>\r\n                    <button class=\"book-btn play-video-btn\" style=\"width: unset!important;\">Watch Video<\/button>\r\n                <\/div>\r\n\r\n\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Video Modal -->\r\n        <div id=\"videoModal\" class=\"video-modal\">\r\n            <div class=\"video-modal-content\">\r\n                <span class=\"video-modal-close\">&times;<\/span>\r\n                <div id=\"videoContainer\">\r\n                    <video id=\"videoPlayer\" controls preload=\"none\" playsinline webkit-playsinline>\r\n                        <source src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/soul-33333.mov\"\r\n                            type=\"video\/quicktime\">\r\n                        <source src=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/soul-33333.mov\"\r\n                            type=\"video\/mp4\">\r\n                        Your browser does not support the video tag.\r\n                    <\/video>\r\n\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n    <\/div>\r\n\r\n    <script>\r\n        \/\/ Initialize function - works with both direct HTML and Elementor\r\n        function initSpaDropdowns() {\r\n            \/\/ Check if elements exist, if not, return and try again later\r\n            const offers = document.querySelectorAll('.offer');\r\n            if (offers.length === 0) {\r\n                return false;\r\n            }\r\n\r\n            \/\/ Check if already initialized for these elements\r\n            const firstOffer = offers[0];\r\n            if (firstOffer.dataset.spaInitialized === 'true') {\r\n                return true;\r\n            }\r\n\r\n            \/\/ Mark as initialized\r\n            offers.forEach(offer => {\r\n                offer.dataset.spaInitialized = 'true';\r\n            });\r\n\r\n            \/* Updated pricing data from spreadsheet\r\n               Treatment mapping:\r\n               - Classic treatments map to couple_classic\/metime_classic\r\n               - Premium treatments map to couple_premium\/metime_premium  \r\n               - High Priced treatments map to couple_hotstone\/metime_hotstone\r\n            *\/\r\n\r\n            \/\/ Treatment name mappings\r\n            const treatmentMappings = {\r\n                \/\/ Classic treatments (map to couple_classic\/metime_classic)\r\n                \"aromatherapy\": { tier: \"classic\", name: \"Aromatherapy Treatment\" },\r\n                \"thai_traditional\": { tier: \"classic\", name: \"Traditional Thai Massage\" },\r\n                \"deep_tissue\": { tier: \"classic\", name: \"Deep tissue Massage\" },\r\n                \"balinese\": { tier: \"classic\", name: \"Balinese Massage\" },\r\n                \"swedish\": { tier: \"classic\", name: \"Swedish Massage\" },\r\n                \/\/ Premium treatments (map to couple_premium\/metime_premium)\r\n                \"fusion_hot_oil\": { tier: \"premium\", name: \"Fusion Hot Oil Therapy\" },\r\n                \/\/ High Priced treatments (map to couple_hotstone\/metime_hotstone)\r\n                \"hot_stone\": { tier: \"hotstone\", name: \"Hot stone Massage\" },\r\n                \"herbal_compress\": { tier: \"hotstone\", name: \"Herbal Compress Thai Ball\" },\r\n                \"sports\": { tier: \"hotstone\", name: \"Sports Massage\" }\r\n            };\r\n\r\n            const pricingData = {\r\n                \"WEEKDAY\": {\r\n                    treatments: {\r\n                        \"foot_reflex\": { name: \"Foot reflexology Bliss - 30 mins\", duration: 30 },\r\n                        \"couple_classic\": { name: \"Couple Relaxation - Classic 60 mins\", duration: 60 },\r\n                        \"couple_premium\": { name: \"Couple Relaxation - Premium 60 mins\", duration: 60 },\r\n                        \"couple_hotstone\": { name: \"Couple Relaxation - Hot Stone 60 mins\", duration: 60 },\r\n                        \"metime_classic\": { name: \"Me-time Indulgence - Classic 60 mins\", duration: 60 },\r\n                        \"metime_premium\": { name: \"Me-time Indulgence - Premium 60 mins\", duration: 60 },\r\n                        \"metime_hotstone\": { name: \"Me-time Indulgence - Hot stone 60 mins\", duration: 60 },\r\n                        \"celebration_single\": { name: \"Celebration Packages - Single 90 mins\", duration: 90 },\r\n                        \"celebration_couple\": { name: \"Celebration Packages - Couple 90 mins\", duration: 90 }\r\n                    },\r\n                    locations: [\r\n                        \"akaru\", \"oaks\", \"novotel_ad\", \"majlis\", \"movenpick_jvt\", \"khalidia_palace\", \"zabeel_house\",\r\n                        \"pearl_rotana\", \"hilton\", \"novotel_hcc\", \"novotel_barsha\", \"marriott_ad\", \"delta_marriott\", \"nh_palm\", \"oasis_mall\", \"lapita\", \"rotana_ad\", \"pullman_shj\", \"bur_dubai\", \"grandeur\"\r\n                    ],\r\n                    pricesByTreatmentAndLocation: {\r\n                        \"foot_reflex\": {\r\n                            \"akaru\": 99, \"oaks\": 99, \"novotel_ad\": 99, \"majlis\": 99, \"movenpick_jvt\": 99, \"khalidia_palace\": 99, \"zabeel_house\": 129,\r\n                            \"pearl_rotana\": 99, \"hilton\": null, \"novotel_hcc\": null, \"novotel_barsha\": 99, \"bur_dubai\": 99, \"grandeur\": 99, \"marriott_ad\": 99, \"delta_marriott\": 99, \"nh_palm\": 129, \"oasis_mall\": 99, \"lapita\": 99, \"rotana_ad\": 99, \"pullman_shj\": 99\r\n                        },\r\n                        \"couple_classic\": {\r\n                            \"akaru\": 449, \"oaks\": 449, \"novotel_ad\": 449, \"majlis\": null, \"movenpick_jvt\": 449, \"khalidia_palace\": 399, \"zabeel_house\": 499,\r\n                            \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 399, \"novotel_barsha\": null, \"bur_dubai\": 449, \"grandeur\": 449, \"marriott_ad\": 449, \"delta_marriott\": 449, \"nh_palm\": 499, \"oasis_mall\": 499, \"lapita\": 499, \"rotana_ad\": 449, \"pullman_shj\": 399\r\n                        },\r\n                        \"couple_premium\": {\r\n                            \"akaru\": 539, \"oaks\": 539, \"novotel_ad\": 539, \"majlis\": null, \"movenpick_jvt\": 539, \"khalidia_palace\": 479, \"zabeel_house\": 579,\r\n                            \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 479, \"novotel_barsha\": null, \"bur_dubai\": 539, \"grandeur\": 539, \"marriott_ad\": 539, \"delta_marriott\": 539, \"nh_palm\": 579, \"oasis_mall\": 579, \"lapita\": 579, \"rotana_ad\": 539, \"pullman_shj\": 479\r\n                        },\r\n                        \"couple_hotstone\": {\r\n                            \"akaru\": 559, \"oaks\": 559, \"novotel_ad\": 559, \"majlis\": null, \"movenpick_jvt\": 559, \"khalidia_palace\": 499, \"zabeel_house\": 599,\r\n                            \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 499, \"novotel_barsha\": null, \"bur_dubai\": 559, \"grandeur\": 559, \"marriott_ad\": 559, \"delta_marriott\": 559, \"nh_palm\": 599, \"oasis_mall\": 599, \"lapita\": 599, \"rotana_ad\": 559, \"pullman_shj\": 499\r\n                        },\r\n                        \"metime_classic\": {\r\n                            \"akaru\": 229, \"oaks\": 229, \"novotel_ad\": 229, \"majlis\": 229, \"movenpick_jvt\": 229, \"khalidia_palace\": 199, \"zabeel_house\": 249,\r\n                            \"pearl_rotana\": 229, \"hilton\": 229, \"novotel_hcc\": 199, \"novotel_barsha\": 199, \"bur_dubai\": 229, \"grandeur\": 229, \"marriott_ad\": 229, \"delta_marriott\": 229, \"nh_palm\": 249, \"oasis_mall\": 249, \"lapita\": 249, \"rotana_ad\": 229, \"pullman_shj\": 199\r\n                        },\r\n                        \"metime_premium\": {\r\n                            \"akaru\": 269, \"oaks\": 269, \"novotel_ad\": 269, \"majlis\": 269, \"movenpick_jvt\": 269, \"khalidia_palace\": 239, \"zabeel_house\": 289,\r\n                            \"pearl_rotana\": 269, \"hilton\": 269, \"novotel_hcc\": 239, \"novotel_barsha\": 239, \"bur_dubai\": 269, \"grandeur\": 269, \"marriott_ad\": 269, \"delta_marriott\": 269, \"nh_palm\": 289, \"oasis_mall\": 289, \"lapita\": 289, \"rotana_ad\": 269, \"pullman_shj\": 239\r\n                        },\r\n                        \"metime_hotstone\": {\r\n                            \"akaru\": 289, \"oaks\": 289, \"novotel_ad\": 289, \"majlis\": 289, \"movenpick_jvt\": 289, \"khalidia_palace\": 259, \"zabeel_house\": 319,\r\n                            \"pearl_rotana\": 289, \"hilton\": 269, \"novotel_hcc\": 259, \"novotel_barsha\": 259, \"bur_dubai\": 289, \"grandeur\": 289, \"marriott_ad\": 289, \"delta_marriott\": 289, \"nh_palm\": 319, \"oasis_mall\": 319, \"lapita\": 319, \"rotana_ad\": 289, \"pullman_shj\": 259\r\n                        },\r\n                        \"celebration_single\": {\r\n                            \"akaru\": null, \"oaks\": 499, \"novotel_ad\": null, \"majlis\": null, \"movenpick_jvt\": 499, \"khalidia_palace\": null, \"zabeel_house\": null,\r\n                            \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": null, \"novotel_barsha\": null, \"bur_dubai\": 499, \"grandeur\": 499, \"marriott_ad\": null, \"delta_marriott\": null, \"nh_palm\": null, \"oasis_mall\": 499, \"lapita\": 499, \"rotana_ad\": null, \"pullman_shj\": 499\r\n                        },\r\n                        \"celebration_couple\": {\r\n                            \"akaru\": null, \"oaks\": 999, \"novotel_ad\": null, \"majlis\": null, \"movenpick_jvt\": 999, \"khalidia_palace\": null, \"zabeel_house\": null,\r\n                            \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": null, \"novotel_barsha\": null, \"bur_dubai\": 999, \"grandeur\": 999, \"marriott_ad\": null, \"delta_marriott\": null, \"nh_palm\": null, \"oasis_mall\": 999, \"lapita\": 999, \"rotana_ad\": null, \"pullman_shj\": 999\r\n                        }\r\n                    }\r\n                },\r\n\r\n                \"WEEKEND\": {\r\n                    treatments: {\r\n                        \"foot_reflex\": { name: \"Foot reflexology Bliss - 30 mins\", duration: 30 },\r\n                        \"couple_classic\": { name: \"Couple Relaxation - Classic 60 mins\", duration: 60 },\r\n                        \"couple_premium\": { name: \"Couple Relaxation - Premium 60 mins\", duration: 60 },\r\n                        \"couple_hotstone\": { name: \"Couple Relaxation - Hot Stone 60 mins\", duration: 60 },\r\n                        \"metime_classic\": { name: \"Me-time Indulgence - Classic 60 mins\", duration: 60 },\r\n                        \"metime_premium\": { name: \"Me-time Indulgence - Premium 60 mins\", duration: 60 },\r\n                        \"metime_hotstone\": { name: \"Me-time Indulgence - Hot stone 60 mins\", duration: 60 },\r\n                        \"celebration_single\": { name: \"Celebration Packages - Single 90 mins\", duration: 90 },\r\n                        \"celebration_couple\": { name: \"Celebration Packages - Couple 90 mins\", duration: 90 }\r\n                    },\r\n                    locations: [\r\n                        \"akaru\", \"oaks\", \"novotel_ad\", \"majlis\", \"movenpick_jvt\", \"khalidia_palace\", \"zabeel_house\",\r\n                        \"pearl_rotana\", \"hilton\", \"novotel_hcc\", \"novotel_barsha\", \"marriott_ad\", \"delta_marriott\", \"nh_palm\", \"oasis_mall\", \"lapita\", \"rotana_ad\", \"pullman_shj\", \"bur_dubai\", \"grandeur\"\r\n                    ],\r\n                    pricesByTreatmentAndLocation: {\r\n                        \"foot_reflex\": {\r\n                            \"akaru\": 129, \"oaks\": 129, \"novotel_ad\": 129, \"majlis\": 129, \"movenpick_jvt\": 129, \"khalidia_palace\": 129, \"zabeel_house\": null,\r\n                            \"pearl_rotana\": 129, \"hilton\": null, \"novotel_hcc\": null, \"novotel_barsha\": 129, \"bur_dubai\": 129, \"grandeur\": 129, \"marriott_ad\": 129, \"delta_marriott\": 129, \"nh_palm\": null, \"oasis_mall\": 129, \"lapita\": 129, \"rotana_ad\": 129, \"pullman_shj\": 129\r\n                        },\r\n                        \"couple_classic\": {\r\n                            \"akaru\": 499, \"oaks\": 499, \"novotel_ad\": 499, \"majlis\": null, \"movenpick_jvt\": 499, \"khalidia_palace\": 449, \"zabeel_house\": 549,\r\n                            \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 449, \"novotel_barsha\": null, \"bur_dubai\": 499, \"grandeur\": 499, \"marriott_ad\": 499, \"delta_marriott\": 499, \"nh_palm\": 549, \"oasis_mall\": 549, \"lapita\": 549, \"rotana_ad\": 499, \"pullman_shj\": 449\r\n                        },\r\n                        \"couple_premium\": {\r\n                            \"akaru\": 579, \"oaks\": 579, \"novotel_ad\": 579, \"majlis\": null, \"movenpick_jvt\": 579, \"khalidia_palace\": 529, \"zabeel_house\": 629,\r\n                            \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 529, \"novotel_barsha\": null, \"bur_dubai\": 579, \"grandeur\": 579, \"marriott_ad\": 579, \"delta_marriott\": 579, \"nh_palm\": 629, \"oasis_mall\": 629, \"lapita\": 629, \"rotana_ad\": 579, \"pullman_shj\": 529\r\n                        },\r\n                        \"couple_hotstone\": {\r\n                            \"akaru\": 599, \"oaks\": 599, \"novotel_ad\": 599, \"majlis\": null, \"movenpick_jvt\": 599, \"khalidia_palace\": 549, \"zabeel_house\": 649,\r\n                            \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": 549, \"novotel_barsha\": null, \"bur_dubai\": 599, \"grandeur\": 599, \"marriott_ad\": 599, \"delta_marriott\": 599, \"nh_palm\": 649, \"oasis_mall\": 649, \"lapita\": 649, \"rotana_ad\": 599, \"pullman_shj\": 549\r\n                        },\r\n                        \"metime_classic\": {\r\n                            \"akaru\": 259, \"oaks\": 259, \"novotel_ad\": 259, \"majlis\": 229, \"movenpick_jvt\": 259, \"khalidia_palace\": 229, \"zabeel_house\": 279,\r\n                            \"pearl_rotana\": 259, \"hilton\": 229, \"novotel_hcc\": 229, \"novotel_barsha\": 259, \"bur_dubai\": 259, \"grandeur\": 259, \"marriott_ad\": 259, \"delta_marriott\": 259, \"nh_palm\": 279, \"oasis_mall\": 279, \"lapita\": 279, \"rotana_ad\": 259, \"pullman_shj\": 229\r\n                        },\r\n                        \"metime_premium\": {\r\n                            \"akaru\": 299, \"oaks\": 299, \"novotel_ad\": 299, \"majlis\": 269, \"movenpick_jvt\": 299, \"khalidia_palace\": 269, \"zabeel_house\": 319,\r\n                            \"pearl_rotana\": 299, \"hilton\": 269, \"novotel_hcc\": 269, \"novotel_barsha\": 299, \"bur_dubai\": 299, \"grandeur\": 299, \"marriott_ad\": 299, \"delta_marriott\": 299, \"nh_palm\": 319, \"oasis_mall\": 319, \"lapita\": 319, \"rotana_ad\": 299, \"pullman_shj\": 269\r\n                        },\r\n                        \"metime_hotstone\": {\r\n                            \"akaru\": 319, \"oaks\": 319, \"novotel_ad\": 319, \"majlis\": 289, \"movenpick_jvt\": 319, \"khalidia_palace\": 289, \"zabeel_house\": 339,\r\n                            \"pearl_rotana\": 319, \"hilton\": 269, \"novotel_hcc\": 289, \"novotel_barsha\": 319, \"bur_dubai\": 319, \"grandeur\": 319, \"marriott_ad\": 319, \"delta_marriott\": 319, \"nh_palm\": 339, \"oasis_mall\": 339, \"lapita\": 339, \"rotana_ad\": 319, \"pullman_shj\": 289\r\n                        },\r\n                        \"celebration_single\": {\r\n                            \"akaru\": null, \"oaks\": 599, \"novotel_ad\": null, \"majlis\": null, \"movenpick_jvt\": 599, \"khalidia_palace\": null, \"zabeel_house\": null,\r\n                            \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": null, \"novotel_barsha\": null, \"bur_dubai\": 599, \"grandeur\": 599, \"marriott_ad\": null, \"delta_marriott\": null, \"nh_palm\": null, \"oasis_mall\": 599, \"lapita\": 599, \"rotana_ad\": null, \"pullman_shj\": 599\r\n                        },\r\n                        \"celebration_couple\": {\r\n                            \"akaru\": null, \"oaks\": 1149, \"novotel_ad\": null, \"majlis\": null, \"movenpick_jvt\": 1149, \"khalidia_palace\": null, \"zabeel_house\": null,\r\n                            \"pearl_rotana\": null, \"hilton\": null, \"novotel_hcc\": null, \"novotel_barsha\": null, \"bur_dubai\": 1149, \"grandeur\": 1149, \"marriott_ad\": null, \"delta_marriott\": null, \"nh_palm\": null, \"oasis_mall\": 1149, \"lapita\": 1149, \"rotana_ad\": null, \"pullman_shj\": 1149\r\n                        }\r\n                    }\r\n                }\r\n            };\r\n\r\n            \/\/ Friendly mapping of location id -> label\r\n            const locationLabels = {\r\n                \"akaru\": \"Jumeirah Creekside Hotel - Al Garhoud, Dubai\",\r\n                \"oaks\": \"Oaks Hotel - IBN Battuta Gate, Dubai\",\r\n                \"oasis_mall\": \"Oasis Mall - Sheikh Zayed Road, Dubai\",\r\n                \"delta_marriott\": \"Delta Hotels By Marriott - DIP, Dubai\",\r\n                \"lapita\": \"Lapita, Dubai Parks and Resorts, Dubai\",\r\n                \"zabeel_house\": \"Zabeel House The Greens, Dubai\",\r\n                \"movenpick_jvt\": \"M\u00f6venpick Hotel - Jumeirah Village Triangle, Dubai\",\r\n                \"nh_palm\": \"NH Collection Dubai - The Palm, Dubai\",\r\n                \"hilton\": \"Double Tree By Hilton - Al Mankhool, Dubai\",\r\n                \"novotel_ad\": \"Novotel Hotel - Healthcare City, Dubai\",\r\n                \"novotel_barsha\": \"Novotel Hotel - Al Barsha, Dubai\",\r\n                \"bur_dubai\": \"Atrium Centre - Bur Dubai\",\r\n                \"grandeur\": \"Grandeur Hotel - Al Barsha, Dubai\",\r\n                \"khalidia_palace\": \"Khalidia Palace Hotel - Deira, Dubai\",\r\n                \"marriott_ad\": \"Marriott Hotel - Downtown, Abu Dhabi\",\r\n                \"rotana_ad\": \"Al Maha Arjaan By Rotana - Abu Dhabi\",\r\n                \"novotel_hcc\": \"Novotel Hotel - Al Bustan, Abu Dhabi\",\r\n                \"majlis\": \"Majlis Grand Mercure - Electra Street, Abu Dhabi\",\r\n                \"pearl_rotana\": \"Pearl Rotana - Al Rawdah, Abu Dhabi\",\r\n                \"pullman_shj\": \"Pullman Hotel - Al Taawun St, Sharjah\"\r\n            };\r\n\r\n            \/\/ Emirates to locations mapping (in correct order)\r\n            const emirateLocations = {\r\n                \"dubai\": [\"akaru\", \"oaks\", \"oasis_mall\", \"delta_marriott\", \"lapita\", \"zabeel_house\", \"movenpick_jvt\", \"nh_palm\", \"hilton\", \"novotel_ad\", \"novotel_barsha\", \"grandeur\", \"khalidia_palace\", \"bur_dubai\"],\r\n                \"abudhabi\": [\"marriott_ad\", \"rotana_ad\", \"novotel_hcc\", \"majlis\", \"pearl_rotana\"],\r\n                \"sharjah\": [\"pullman_shj\"]\r\n            };\r\n\r\n            \/\/ Function to populate emirate dropdown based on category\r\n            function populateEmirates(emirateSelect, category) {\r\n                if (!emirateSelect) return;\r\n\r\n                emirateSelect.innerHTML = '';\r\n                const placeholder = document.createElement('option');\r\n                placeholder.value = '';\r\n                placeholder.textContent = 'Select the Emirate';\r\n                placeholder.disabled = true;\r\n                placeholder.selected = true;\r\n                emirateSelect.appendChild(placeholder);\r\n\r\n                \/\/ Add Dubai\r\n                const dubaiOpt = document.createElement('option');\r\n                dubaiOpt.value = 'dubai';\r\n                dubaiOpt.textContent = 'Dubai';\r\n                emirateSelect.appendChild(dubaiOpt);\r\n\r\n                \/\/ Add Abu Dhabi for all categories except Couple Relaxation\r\n                if (category !== 'Couple Relaxation') {\r\n                    const abuDhabiOpt = document.createElement('option');\r\n                    abuDhabiOpt.value = 'abudhabi';\r\n                    abuDhabiOpt.textContent = 'Abu Dhabi';\r\n                    emirateSelect.appendChild(abuDhabiOpt);\r\n                }\r\n\r\n                \/\/ Add Sharjah\r\n                const sharjahOpt = document.createElement('option');\r\n                sharjahOpt.value = 'sharjah';\r\n                sharjahOpt.textContent = 'Sharjah';\r\n                emirateSelect.appendChild(sharjahOpt);\r\n            }\r\n\r\n            \/\/ Function to resize day-type dropdown to fit content\r\n            function resizeDayTypeDropdown(select) {\r\n                if (!select) return;\r\n\r\n                \/\/ Create a temporary span to measure text width\r\n                const tempSpan = document.createElement('span');\r\n                tempSpan.style.visibility = 'hidden';\r\n                tempSpan.style.position = 'absolute';\r\n                tempSpan.style.whiteSpace = 'nowrap';\r\n                tempSpan.style.fontSize = window.getComputedStyle(select).fontSize;\r\n                tempSpan.style.fontFamily = window.getComputedStyle(select).fontFamily;\r\n                tempSpan.style.textTransform = window.getComputedStyle(select).textTransform;\r\n                tempSpan.style.fontWeight = window.getComputedStyle(select).fontWeight;\r\n                tempSpan.style.letterSpacing = window.getComputedStyle(select).letterSpacing;\r\n                document.body.appendChild(tempSpan);\r\n\r\n                \/\/ Find the longest option text\r\n                let maxWidth = 0;\r\n                Array.from(select.options).forEach(option => {\r\n                    tempSpan.textContent = option.text;\r\n                    const width = tempSpan.offsetWidth;\r\n                    if (width > maxWidth) {\r\n                        maxWidth = width;\r\n                    }\r\n                });\r\n\r\n                \/\/ Set the select width (add padding for icon)\r\n                \/\/ Left padding (14px) + Right padding (60px) = 74px total\r\n                const padding = 74;\r\n                select.style.width = (maxWidth + padding) + 'px';\r\n\r\n                document.body.removeChild(tempSpan);\r\n            }\r\n\r\n            \/\/ For each offer block in DOM, wire up behavior\r\n            document.querySelectorAll('.offer').forEach(block => {\r\n                const category = block.dataset.category;\r\n                const daySelect = block.querySelector('.day-type');\r\n                const treatSelect = block.querySelector('.treatment-select');\r\n                const emirateSelect = block.querySelector('.emirate-select');\r\n                const locSelect = block.querySelector('.location-select');\r\n                const priceLabel = block.querySelector('.price-label');\r\n                const durationLabel = block.querySelector('.duration-label');\r\n                const bookBtn = block.querySelector('.book-btn');\r\n\r\n                \/\/ Store default price\r\n                let defaultPrice = '';\r\n\r\n                \/\/ Resize day-type dropdown on load and when changed\r\n                if (daySelect) {\r\n                    resizeDayTypeDropdown(daySelect);\r\n                    daySelect.addEventListener('change', () => {\r\n                        resizeDayTypeDropdown(daySelect);\r\n                    });\r\n                }\r\n\r\n                \/\/ Initialize emirate dropdown\r\n                if (emirateSelect) {\r\n                    populateEmirates(emirateSelect, category);\r\n                }\r\n\r\n                \/\/ Hide treatment select for Foot reflexology Bliss\r\n                if (category === 'Foot reflexology Bliss' && treatSelect) {\r\n                    treatSelect.style.display = 'none';\r\n                }\r\n\r\n                \/\/ Helper function to get treatment tier ID from treatment name and category\r\n                function getTreatmentTierId(treatmentId, category) {\r\n                    const treatment = treatmentMappings[treatmentId];\r\n                    if (!treatment) return null;\r\n\r\n                    const tier = treatment.tier;\r\n                    if (category === \"Couple Spa Deals\" || category === \"Couple Relaxation\") {\r\n                        return `couple_${tier}`;\r\n                    } else if (category === \"Self Care Specials\" || category === \"Me-time Indulgence\") {\r\n                        return `metime_${tier}`;\r\n                    }\r\n                    return null;\r\n                }\r\n\r\n                \/\/ Build treatment options depending on category\r\n                function populateTreatmentsForCategory(cat, dayKey) {\r\n                    treatSelect.innerHTML = '';\r\n\r\n                    \/\/ Categories that use \"Total People\" instead of treatment selection\r\n                    const useTotalPeople = cat === 'Foot reflexology Bliss' || cat === 'Couple Relaxation';\r\n\r\n                    const placeholder = document.createElement('option');\r\n                    placeholder.value = '';\r\n                    if (useTotalPeople) {\r\n                        placeholder.textContent = 'Total People';\r\n                    } else if (cat === 'Couple Spa Deals' || cat === 'Self Care Specials') {\r\n                        placeholder.textContent = 'Choose a Treatment';\r\n                    } else {\r\n                        placeholder.textContent = 'Choose a Treatment';\r\n                    }\r\n                    placeholder.disabled = true;\r\n                    placeholder.selected = true;\r\n                    treatSelect.appendChild(placeholder);\r\n\r\n                    if (!dayKey) {\r\n                        treatSelect.disabled = true;\r\n                        return;\r\n                    }\r\n\r\n                    \/\/ For Total People categories, add people options\r\n                    if (useTotalPeople) {\r\n                        if (cat === 'Couple Relaxation') {\r\n                            \/\/ For Luxury Flower Bath, add Single and Couple options\r\n                            const singleOpt = document.createElement('option');\r\n                            singleOpt.value = 'celebration_single';\r\n                            singleOpt.textContent = '1 Person';\r\n                            singleOpt.dataset.duration = '90';\r\n                            treatSelect.appendChild(singleOpt);\r\n\r\n                            const coupleOpt = document.createElement('option');\r\n                            coupleOpt.value = 'celebration_couple';\r\n                            coupleOpt.textContent = '2 People';\r\n                            coupleOpt.dataset.duration = '90';\r\n                            treatSelect.appendChild(coupleOpt);\r\n                        } else if (cat === 'Foot reflexology Bliss') {\r\n                            \/\/ For Foot Massage, just keep it simple - pricing is per person\r\n                            const singleOpt = document.createElement('option');\r\n                            singleOpt.value = 'foot_reflex';\r\n                            singleOpt.textContent = '1 Person';\r\n                            singleOpt.dataset.duration = '30';\r\n                            treatSelect.appendChild(singleOpt);\r\n                        }\r\n                        treatSelect.disabled = false;\r\n                        return;\r\n                    }\r\n\r\n                    \/\/ For Couple Spa Deals and Self Care Specials, show individual treatments\r\n                    if (cat === 'Couple Spa Deals' || cat === 'Self Care Specials') {\r\n                        \/\/ Treatments in specified order\r\n                        const treatments = [\r\n                            { id: 'aromatherapy', name: 'Aromatherapy Massage' },\r\n                            { id: 'deep_tissue', name: 'Deep Tissue Massage' },\r\n                            { id: 'swedish', name: 'Swedish Massage' },\r\n                            { id: 'hot_stone', name: 'Hot Stone Massage' },\r\n                            { id: 'sports', name: 'Sports Massage' },\r\n                            { id: 'thai_traditional', name: 'Traditional Thai Massage' },\r\n                            { id: 'balinese', name: 'Balinese Massage' },\r\n                            { id: 'herbal_compress', name: 'Herbal Compress Thai Ball Massage' },\r\n                            { id: 'fusion_hot_oil', name: 'Fusion Hot Oil Massage' }\r\n                        ];\r\n\r\n                        treatments.forEach(t => {\r\n                            const opt = document.createElement('option');\r\n                            opt.value = t.id;\r\n                            opt.textContent = t.name;\r\n                            opt.dataset.duration = '60';\r\n                            treatSelect.appendChild(opt);\r\n                        });\r\n\r\n                        treatSelect.disabled = false;\r\n                        return;\r\n                    }\r\n\r\n                    \/\/ For other categories, use the old mapping\r\n                    const map = {\r\n                        \"Me-time Indulgence\": [\"metime_classic\", \"metime_premium\", \"metime_hotstone\"],\r\n                        \"Celebration Packages\": [\"celebration_single\", \"celebration_couple\"]\r\n                    };\r\n                    const ids = map[cat] || [];\r\n\r\n                    const availableTreatments = pricingData[dayKey] && pricingData[dayKey].treatments ? pricingData[dayKey].treatments : {};\r\n                    ids.forEach(id => {\r\n                        const label = availableTreatments[id] ? availableTreatments[id].name : id;\r\n                        const opt = document.createElement('option');\r\n                        opt.value = id;\r\n                        opt.textContent = label;\r\n                        if (availableTreatments[id]) {\r\n                            opt.dataset.duration = availableTreatments[id].duration;\r\n                        }\r\n                        treatSelect.appendChild(opt);\r\n                    });\r\n                    treatSelect.disabled = false;\r\n                }\r\n\r\n                \/\/ Populate locations filtered by emirate (in correct order)\r\n                function populateLocations(dayKey, emirateKey) {\r\n                    locSelect.innerHTML = '';\r\n                    const placeholder = document.createElement('option');\r\n                    placeholder.value = '';\r\n                    placeholder.textContent = 'Preferred Location';\r\n                    placeholder.disabled = true;\r\n                    placeholder.selected = true;\r\n                    locSelect.appendChild(placeholder);\r\n\r\n                    if (!dayKey) {\r\n                        locSelect.disabled = true;\r\n                        return;\r\n                    }\r\n\r\n                    \/\/ Only enable location dropdown if emirate is selected\r\n                    if (!emirateKey) {\r\n                        locSelect.disabled = true;\r\n                        return;\r\n                    }\r\n\r\n                    \/\/ Get locations in the correct order from emirateLocations\r\n                    let locsToShow = [];\r\n                    if (emirateLocations[emirateKey]) {\r\n                        \/\/ Use the order from emirateLocations array\r\n                        locsToShow = emirateLocations[emirateKey].filter(id => {\r\n                            \/\/ Check if location exists in pricing data\r\n                            const allLocs = pricingData[dayKey] && pricingData[dayKey].locations ? pricingData[dayKey].locations : [];\r\n                            return allLocs.includes(id);\r\n                        });\r\n\r\n                        \/\/ For Couple Relaxation, filter out Abu Dhabi locations\r\n                        if (category === 'Couple Relaxation') {\r\n                            const abuDhabiLocs = emirateLocations['abudhabi'] || [];\r\n                            locsToShow = locsToShow.filter(id => !abuDhabiLocs.includes(id));\r\n                        }\r\n                    }\r\n\r\n                    \/\/ Add options in the correct order\r\n                    locsToShow.forEach(id => {\r\n                        const opt = document.createElement('option');\r\n                        opt.value = id;\r\n                        opt.textContent = locationLabels[id] || id;\r\n                        locSelect.appendChild(opt);\r\n                    });\r\n\r\n                    if (locsToShow.length > 0) {\r\n                        locSelect.disabled = false;\r\n                    } else {\r\n                        locSelect.disabled = true;\r\n                    }\r\n                }\r\n\r\n                \/\/ When day changes: populate treatments & locations and reset price\/duration\r\n                if (daySelect) {\r\n                    \/\/ Hide placeholder option when dropdown is opened\r\n                    daySelect.addEventListener('mousedown', () => {\r\n                        const placeholder = daySelect.querySelector('option[value=\"\"][disabled]');\r\n                        if (placeholder) {\r\n                            placeholder.style.display = 'none';\r\n                        }\r\n                    });\r\n\r\n                    daySelect.addEventListener('change', () => {\r\n                        const dayKey = daySelect.value;\r\n                        \/\/ If a real option is selected, keep placeholder hidden\r\n                        if (dayKey) {\r\n                            const placeholder = daySelect.querySelector('option[value=\"\"][disabled]');\r\n                            if (placeholder) {\r\n                                placeholder.style.display = 'none';\r\n                            }\r\n                        } else {\r\n                            \/\/ If day is cleared, show placeholder\r\n                            const placeholder = daySelect.querySelector('option[value=\"\"][disabled]');\r\n                            if (placeholder) {\r\n                                placeholder.selected = true;\r\n                                placeholder.style.display = 'block';\r\n                            }\r\n                        }\r\n                        \/\/ Don't reset price to 0, keep default price until all selections are made\r\n                        updatePriceDisplay();\r\n                        if (category === 'Foot reflexology Bliss') durationLabel.textContent = '30 minutes';\r\n                        else if (category === 'Couple Relaxation' || category === 'Celebration Packages') durationLabel.textContent = '90 minutes';\r\n                        else durationLabel.textContent = '60 minutes';\r\n\r\n                        \/\/ For Foot reflexology Bliss, skip treatment selection and enable emirate directly\r\n                        if (category === 'Foot reflexology Bliss') {\r\n                            \/\/ Hide treatment select if it exists\r\n                            if (treatSelect) {\r\n                                treatSelect.style.display = 'none';\r\n                            }\r\n                            \/\/ Enable emirate select directly when day is selected\r\n                            if (emirateSelect && dayKey) {\r\n                                emirateSelect.disabled = false;\r\n                            } else if (emirateSelect) {\r\n                                emirateSelect.disabled = true;\r\n                                emirateSelect.value = '';\r\n                            }\r\n                            if (locSelect) {\r\n                                locSelect.value = '';\r\n                                locSelect.disabled = true;\r\n                            }\r\n                            populateLocations(dayKey, null);\r\n                        } else {\r\n                            \/\/ For other categories, use normal flow\r\n                            populateTreatmentsForCategory(category, dayKey);\r\n\r\n                            \/\/ Explicitly enable treatment select when day is selected\r\n                            if (treatSelect && dayKey) {\r\n                                treatSelect.disabled = false;\r\n                            } else if (treatSelect) {\r\n                                treatSelect.disabled = true;\r\n                            }\r\n\r\n                            \/\/ Reset and disable emirate and location when day changes\r\n                            if (emirateSelect) {\r\n                                emirateSelect.value = '';\r\n                                emirateSelect.disabled = true;\r\n                                \/\/ Reset placeholder\r\n                                const placeholder = emirateSelect.querySelector('option[value=\"\"][disabled]');\r\n                                if (placeholder) {\r\n                                    placeholder.selected = true;\r\n                                    placeholder.style.display = 'block';\r\n                                }\r\n                            }\r\n                            if (locSelect) {\r\n                                locSelect.value = '';\r\n                                locSelect.disabled = true;\r\n                                \/\/ Reset placeholder\r\n                                const placeholder = locSelect.querySelector('option[value=\"\"][disabled]');\r\n                                if (placeholder) {\r\n                                    placeholder.selected = true;\r\n                                    placeholder.style.display = 'block';\r\n                                }\r\n                            }\r\n                            populateLocations(dayKey, null);\r\n                        }\r\n                    });\r\n\r\n                    \/\/ Show placeholder when dropdown closes if no selection made\r\n                    daySelect.addEventListener('blur', () => {\r\n                        if (!daySelect.value) {\r\n                            const placeholder = daySelect.querySelector('option[value=\"\"][disabled]');\r\n                            if (placeholder) {\r\n                                placeholder.style.display = 'block';\r\n                                placeholder.selected = true;\r\n                            }\r\n                        }\r\n                    });\r\n                }\r\n\r\n                \/\/ When treatment changes: enable emirate select and update\r\n                if (treatSelect) {\r\n                    \/\/ Hide placeholder option when dropdown is opened\r\n                    treatSelect.addEventListener('mousedown', () => {\r\n                        const placeholder = treatSelect.querySelector('option[value=\"\"][disabled]');\r\n                        if (placeholder) {\r\n                            placeholder.style.display = 'none';\r\n                        }\r\n                    });\r\n\r\n                    treatSelect.addEventListener('change', () => {\r\n                        \/\/ If a real option is selected, keep placeholder hidden\r\n                        if (treatSelect.value) {\r\n                            const placeholder = treatSelect.querySelector('option[value=\"\"][disabled]');\r\n                            if (placeholder) {\r\n                                placeholder.style.display = 'none';\r\n                            }\r\n                        }\r\n                        const dayKey = daySelect ? daySelect.value : '';\r\n                        const treatId = treatSelect.value;\r\n\r\n                        \/\/ Enable emirate select when treatment is selected, disable when cleared\r\n                        if (emirateSelect) {\r\n                            if (treatId) {\r\n                                emirateSelect.disabled = false;\r\n                                emirateSelect.value = ''; \/\/ Reset value but keep enabled\r\n                            } else {\r\n                                emirateSelect.disabled = true;\r\n                                emirateSelect.value = '';\r\n                            }\r\n                        }\r\n\r\n                        \/\/ Update duration from dataset\r\n                        if (treatId) {\r\n                            const selectedOption = treatSelect.options[treatSelect.selectedIndex];\r\n                            if (selectedOption && selectedOption.dataset.duration) {\r\n                                durationLabel.textContent = selectedOption.dataset.duration + ' minutes';\r\n                            }\r\n                        }\r\n\r\n                        \/\/ Reset location when treatment changes\r\n                        if (locSelect) {\r\n                            locSelect.value = '';\r\n                            locSelect.disabled = true;\r\n                            \/\/ Reset placeholder\r\n                            const placeholder = locSelect.querySelector('option[value=\"\"][disabled]');\r\n                            if (placeholder) {\r\n                                placeholder.selected = true;\r\n                                placeholder.style.display = 'block';\r\n                            }\r\n                        }\r\n\r\n                        \/\/ Reset treatment placeholder if cleared\r\n                        if (!treatId) {\r\n                            const placeholder = treatSelect.querySelector('option[value=\"\"][disabled]');\r\n                            if (placeholder) {\r\n                                placeholder.selected = true;\r\n                                placeholder.style.display = 'block';\r\n                            }\r\n                        }\r\n                        updateLocationAvailability();\r\n                        updatePriceDisplay();\r\n                    });\r\n\r\n                    \/\/ Show placeholder when dropdown closes if no selection made\r\n                    treatSelect.addEventListener('blur', () => {\r\n                        if (!treatSelect.value) {\r\n                            const placeholder = treatSelect.querySelector('option[value=\"\"][disabled]');\r\n                            if (placeholder) {\r\n                                placeholder.style.display = 'block';\r\n                                placeholder.selected = true;\r\n                            }\r\n                        }\r\n                    });\r\n                }\r\n\r\n                \/\/ When emirate changes: filter locations and enable location select\r\n                if (emirateSelect) {\r\n                    \/\/ Hide placeholder option when dropdown is opened\r\n                    emirateSelect.addEventListener('mousedown', () => {\r\n                        const placeholder = emirateSelect.querySelector('option[value=\"\"][disabled]');\r\n                        if (placeholder) {\r\n                            placeholder.style.display = 'none';\r\n                        }\r\n                    });\r\n\r\n                    \/\/ Show placeholder again when dropdown closes (if no value selected)\r\n                    emirateSelect.addEventListener('change', () => {\r\n                        const dayKey = daySelect ? daySelect.value : '';\r\n                        const emirateKey = emirateSelect.value;\r\n\r\n                        \/\/ If a real option is selected, keep placeholder hidden\r\n                        if (emirateKey) {\r\n                            const placeholder = emirateSelect.querySelector('option[value=\"\"][disabled]');\r\n                            if (placeholder) {\r\n                                placeholder.style.display = 'none';\r\n                            }\r\n                        }\r\n\r\n                        populateLocations(dayKey, emirateKey);\r\n\r\n                        \/\/ Explicitly enable location select when emirate is selected\r\n                        if (locSelect && emirateKey) {\r\n                            locSelect.disabled = false;\r\n                        } else if (locSelect) {\r\n                            locSelect.value = '';\r\n                            locSelect.disabled = true;\r\n                        }\r\n\r\n                        \/\/ For Foot reflexology Bliss, update availability without treatment\r\n                        if (category === 'Foot reflexology Bliss') {\r\n                            updateLocationAvailabilityForFootMassage();\r\n                        } else {\r\n                            updateLocationAvailability();\r\n                        }\r\n                        updatePriceDisplay();\r\n                    });\r\n\r\n                    \/\/ Show placeholder when dropdown closes if no selection made\r\n                    emirateSelect.addEventListener('blur', () => {\r\n                        if (!emirateSelect.value) {\r\n                            const placeholder = emirateSelect.querySelector('option[value=\"\"][disabled]');\r\n                            if (placeholder) {\r\n                                placeholder.style.display = 'block';\r\n                                placeholder.selected = true;\r\n                            }\r\n                        }\r\n                    });\r\n                }\r\n\r\n                \/\/ When location changes: compute price\r\n                if (locSelect) {\r\n                    \/\/ Hide placeholder option when dropdown is opened\r\n                    locSelect.addEventListener('mousedown', () => {\r\n                        const placeholder = locSelect.querySelector('option[value=\"\"][disabled]');\r\n                        if (placeholder) {\r\n                            placeholder.style.display = 'none';\r\n                        }\r\n                    });\r\n\r\n                    locSelect.addEventListener('change', () => {\r\n                        \/\/ If a real option is selected, keep placeholder hidden\r\n                        if (locSelect.value) {\r\n                            const placeholder = locSelect.querySelector('option[value=\"\"][disabled]');\r\n                            if (placeholder) {\r\n                                placeholder.style.display = 'none';\r\n                            }\r\n                        }\r\n                        updatePriceDisplay();\r\n                    });\r\n\r\n                    \/\/ Show placeholder when dropdown closes if no selection made\r\n                    locSelect.addEventListener('blur', () => {\r\n                        if (!locSelect.value) {\r\n                            const placeholder = locSelect.querySelector('option[value=\"\"][disabled]');\r\n                            if (placeholder) {\r\n                                placeholder.style.display = 'block';\r\n                                placeholder.selected = true;\r\n                            }\r\n                        }\r\n                    });\r\n                }\r\n\r\n                function updateLocationAvailabilityForFootMassage() {\r\n                    const dayKey = daySelect ? daySelect.value : '';\r\n                    if (!dayKey) { return; }\r\n\r\n                    \/\/ For Foot reflexology Bliss, use 'foot_reflex' directly\r\n                    const pricingTierId = 'foot_reflex';\r\n\r\n                    \/\/ Remove unavailable options\r\n                    const priceMap = pricingData[dayKey].pricesByTreatmentAndLocation || {};\r\n                    const optionsToRemove = [];\r\n\r\n                    Array.from(locSelect.options).forEach(opt => {\r\n                        if (!opt.value) return; \/\/ Keep placeholder\r\n                        const price = priceMap[pricingTierId] ? priceMap[pricingTierId][opt.value] : null;\r\n                        if (price === null || typeof price === 'undefined') {\r\n                            optionsToRemove.push(opt);\r\n                        } else {\r\n                            opt.disabled = false;\r\n                            opt.classList.remove('unavailable');\r\n                            opt.textContent = (locationLabels[opt.value] || opt.value);\r\n                        }\r\n                    });\r\n\r\n                    \/\/ Remove unavailable options\r\n                    optionsToRemove.forEach(opt => {\r\n                        opt.remove();\r\n                    });\r\n\r\n                    \/\/ If selected option was removed, reset selection\r\n                    if (locSelect.value && !Array.from(locSelect.options).find(opt => opt.value === locSelect.value)) {\r\n                        locSelect.value = '';\r\n                    }\r\n                }\r\n\r\n                function updateLocationAvailability() {\r\n                    const dayKey = daySelect ? daySelect.value : '';\r\n                    const treatId = treatSelect ? treatSelect.value : '';\r\n                    if (!dayKey || !treatId) { return; }\r\n\r\n                    \/\/ Get the actual pricing tier ID\r\n                    let pricingTierId = treatId;\r\n                    if (category === 'Couple Spa Deals' || category === 'Self Care Specials') {\r\n                        pricingTierId = getTreatmentTierId(treatId, category);\r\n                        if (!pricingTierId) return;\r\n                    }\r\n\r\n                    \/\/ Remove unavailable options instead of disabling them\r\n                    const priceMap = pricingData[dayKey].pricesByTreatmentAndLocation || {};\r\n                    const optionsToRemove = [];\r\n\r\n                    Array.from(locSelect.options).forEach(opt => {\r\n                        if (!opt.value) return; \/\/ Keep placeholder\r\n                        const price = priceMap[pricingTierId] ? priceMap[pricingTierId][opt.value] : null;\r\n                        if (price === null || typeof price === 'undefined') {\r\n                            optionsToRemove.push(opt);\r\n                        } else {\r\n                            opt.disabled = false;\r\n                            opt.classList.remove('unavailable');\r\n                            opt.textContent = (locationLabels[opt.value] || opt.value);\r\n                        }\r\n                    });\r\n\r\n                    \/\/ Remove unavailable options\r\n                    optionsToRemove.forEach(opt => {\r\n                        opt.remove();\r\n                    });\r\n\r\n                    \/\/ If selected option was removed, reset selection\r\n                    if (locSelect.value && !Array.from(locSelect.options).find(opt => opt.value === locSelect.value)) {\r\n                        locSelect.value = '';\r\n                    }\r\n                }\r\n\r\n                \/\/ Function to update price display - shows default if not all selections made\r\n                function updatePriceDisplay() {\r\n                    const dayKey = daySelect ? daySelect.value : '';\r\n                    const treatId = treatSelect ? treatSelect.value : '';\r\n                    const locId = locSelect ? locSelect.value : '';\r\n\r\n                    \/\/ Check if all required selections are made\r\n                    let allSelected = false;\r\n                    if (category === 'Foot reflexology Bliss') {\r\n                        allSelected = dayKey && locId;\r\n                    } else {\r\n                        allSelected = dayKey && treatId && locId;\r\n                    }\r\n\r\n                    \/\/ If not all selected, show default price\r\n                    if (!allSelected) {\r\n                        if (defaultPrice) {\r\n                            priceLabel.textContent = defaultPrice;\r\n                        } else {\r\n                            const minPrice = getMinimumPrice();\r\n                            priceLabel.textContent = minPrice > 0 ? `from AED ${minPrice}` : 'AED 0';\r\n                        }\r\n                        return;\r\n                    }\r\n\r\n                    \/\/ All selected, compute actual price\r\n                    computePrice();\r\n                }\r\n\r\n                function computePrice() {\r\n                    const dayKey = daySelect ? daySelect.value : '';\r\n                    const treatId = treatSelect ? treatSelect.value : '';\r\n                    const locId = locSelect ? locSelect.value : '';\r\n\r\n                    \/\/ For Foot reflexology Bliss, use 'foot_reflex' directly\r\n                    if (category === 'Foot reflexology Bliss') {\r\n                        if (!dayKey || !locId) {\r\n                            updatePriceDisplay();\r\n                            return;\r\n                        }\r\n                        const pricingTierId = 'foot_reflex';\r\n                        const map = pricingData[dayKey] && pricingData[dayKey].pricesByTreatmentAndLocation ? pricingData[dayKey].pricesByTreatmentAndLocation : {};\r\n                        const p = map[pricingTierId] && typeof map[pricingTierId][locId] !== 'undefined' ? map[pricingTierId][locId] : null;\r\n                        if (typeof p === 'number') {\r\n                            priceLabel.textContent = 'AED ' + p;\r\n                        } else {\r\n                            updatePriceDisplay();\r\n                        }\r\n                        return;\r\n                    }\r\n\r\n                    if (!dayKey || !treatId || !locId) {\r\n                        updatePriceDisplay();\r\n                        return;\r\n                    }\r\n\r\n                    \/\/ Get the actual pricing tier ID\r\n                    let pricingTierId = treatId;\r\n                    if (category === 'Couple Spa Deals' || category === 'Self Care Specials') {\r\n                        pricingTierId = getTreatmentTierId(treatId, category);\r\n                        if (!pricingTierId) {\r\n                            updatePriceDisplay();\r\n                            return;\r\n                        }\r\n                    }\r\n\r\n                    const map = pricingData[dayKey] && pricingData[dayKey].pricesByTreatmentAndLocation ? pricingData[dayKey].pricesByTreatmentAndLocation : {};\r\n                    const p = map[pricingTierId] && typeof map[pricingTierId][locId] !== 'undefined' ? map[pricingTierId][locId] : null;\r\n                    if (typeof p === 'number') {\r\n                        priceLabel.textContent = 'AED ' + p;\r\n                    } else {\r\n                        updatePriceDisplay();\r\n                    }\r\n                }\r\n\r\n                \/\/ Book button: open WhatsApp with formatted message\r\n                if (bookBtn) {\r\n                    bookBtn.addEventListener('click', () => {\r\n                        \/\/ For Celebration Packages, handle \"Learn More\" differently\r\n                        if (category === 'Celebration Packages') {\r\n                            \/\/ You can customize this action - for example, scroll to a section, \r\n                            \/\/ open a modal, or navigate to a page\r\n                            \/\/ For now, we'll just open WhatsApp with a general inquiry message\r\n                            const msg = `Hey! I'm interested in learning more about your Exclusive Vouchers & Gift Box Sets.`;\r\n                            const waNumber = '971544527101';\r\n                            const url = `https:\/\/wa.me\/${waNumber}?text=${encodeURIComponent(msg)}`;\r\n                            window.open(url, '_blank');\r\n                            return;\r\n                        }\r\n\r\n                        const dayKey = daySelect ? daySelect.value : '';\r\n                        const treatId = treatSelect ? treatSelect.value : '';\r\n                        const locId = locSelect ? locSelect.value : '';\r\n                        const priceText = priceLabel.textContent || 'AED 0';\r\n                        const categoryLabel = category;\r\n                        const treatLabel = treatSelect && treatSelect.options[treatSelect.selectedIndex] ? treatSelect.options[treatSelect.selectedIndex].text : 'Foot Massage';\r\n                        const locLabel = locSelect && locSelect.options[locSelect.selectedIndex] ? locSelect.options[locSelect.selectedIndex].text : '';\r\n\r\n                        \/\/ For Foot reflexology Bliss, only need day and location\r\n                        if (category === 'Foot reflexology Bliss') {\r\n                            if (!dayKey || !locId) {\r\n                                alert('Please choose day and location before booking.');\r\n                                return;\r\n                            }\r\n                        } else {\r\n                            if (!dayKey || !treatId || !locId) {\r\n                                alert('Please choose day, treatment and location before booking.');\r\n                                return;\r\n                            }\r\n                        }\r\n\r\n                        const msg = `Hey! I want to book a ${categoryLabel}.%0ABook for: ${dayKey}%0ATreatment: ${encodeURIComponent(treatLabel)}%0ALocation: ${encodeURIComponent(locLabel)}%0APrice: ${encodeURIComponent(priceText)}`;\r\n                        const waNumber = '971544527101';\r\n                        const url = `https:\/\/wa.me\/${waNumber}?text=${msg}`;\r\n                        window.open(url, '_blank');\r\n                    });\r\n                }\r\n\r\n                \/\/ Function to calculate minimum price for this category\r\n                function getMinimumPrice() {\r\n                    let treatmentIds = [];\r\n\r\n                    if (category === 'Couple Spa Deals') {\r\n                        treatmentIds = [\"couple_classic\", \"couple_premium\", \"couple_hotstone\"];\r\n                    } else if (category === 'Self Care Specials') {\r\n                        treatmentIds = [\"metime_classic\", \"metime_premium\", \"metime_hotstone\"];\r\n                    } else if (category === 'Foot reflexology Bliss') {\r\n                        treatmentIds = [\"foot_reflex\"];\r\n                    } else if (category === 'Couple Relaxation') {\r\n                        treatmentIds = [\"celebration_single\", \"celebration_couple\"];\r\n                    } else if (category === 'Me-time Indulgence') {\r\n                        treatmentIds = [\"metime_classic\", \"metime_premium\", \"metime_hotstone\"];\r\n                    } else if (category === 'Celebration Packages') {\r\n                        treatmentIds = [\"celebration_single\", \"celebration_couple\"];\r\n                    }\r\n\r\n                    let minPrice = Infinity;\r\n\r\n                    ['WEEKDAY', 'WEEKEND'].forEach(dayKey => {\r\n                        treatmentIds.forEach(treatId => {\r\n                            const priceMap = pricingData[dayKey]?.pricesByTreatmentAndLocation?.[treatId];\r\n                            if (priceMap) {\r\n                                Object.values(priceMap).forEach(price => {\r\n                                    if (price !== null && typeof price === 'number' && price < minPrice) {\r\n                                        minPrice = price;\r\n                                    }\r\n                                });\r\n                            }\r\n                        });\r\n                    });\r\n\r\n                    return minPrice === Infinity ? 0 : minPrice;\r\n                }\r\n\r\n                \/\/ Initialize default placeholders (no day selected)\r\n                if (locSelect) {\r\n                    resetBlock();\r\n                }\r\n\r\n                function resetBlock() {\r\n                    if (!locSelect) return;\r\n\r\n                    \/\/ For Foot reflexology Bliss, hide treatment select\r\n                    if (category === 'Foot reflexology Bliss') {\r\n                        if (treatSelect) {\r\n                            treatSelect.style.display = 'none';\r\n                        }\r\n                    } else {\r\n                        if (treatSelect) {\r\n                            treatSelect.style.display = '';\r\n                            treatSelect.innerHTML = '';\r\n                            const useTotalPeople = category === 'Couple Relaxation';\r\n                            const tOpt = document.createElement('option');\r\n                            tOpt.value = '';\r\n                            \/\/ Set correct placeholder based on category\r\n                            if (useTotalPeople) {\r\n                                tOpt.textContent = 'Total People';\r\n                            } else if (category === 'Couple Spa Deals' || category === 'Self Care Specials') {\r\n                                tOpt.textContent = 'Choose a Treatment';\r\n                            } else {\r\n                                tOpt.textContent = 'Choose a Treatment';\r\n                            }\r\n                            tOpt.disabled = true;\r\n                            tOpt.selected = true;\r\n                            treatSelect.appendChild(tOpt);\r\n                            treatSelect.disabled = true;\r\n                        }\r\n                    }\r\n\r\n                    if (emirateSelect) {\r\n                        populateEmirates(emirateSelect, category);\r\n                        emirateSelect.value = '';\r\n                        emirateSelect.disabled = true;\r\n                    }\r\n\r\n                    locSelect.innerHTML = '';\r\n                    const lOpt = document.createElement('option');\r\n                    lOpt.value = '';\r\n                    lOpt.textContent = 'Preferred Location';\r\n                    lOpt.disabled = true;\r\n                    lOpt.selected = true;\r\n                    locSelect.appendChild(lOpt);\r\n                    locSelect.disabled = true;\r\n\r\n                    if (category === 'Foot reflexology Bliss') durationLabel.textContent = '30 minutes';\r\n                    else if (category === 'Couple Relaxation' || category === 'Celebration Packages') durationLabel.textContent = '90 minutes';\r\n                    else durationLabel.textContent = '60 minutes';\r\n\r\n                    const minPrice = getMinimumPrice();\r\n                    defaultPrice = minPrice > 0 ? `from AED ${minPrice}` : 'AED 0';\r\n                    priceLabel.textContent = defaultPrice;\r\n                }\r\n            });\r\n        } \/\/ End of initSpaDropdowns function\r\n\r\n        \/\/ Video Modal functionality - Initialize outside the function\r\n        function initVideoModal() {\r\n            const videoModal = document.getElementById('videoModal');\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const videoError = document.getElementById('videoError');\r\n            const playVideoBtn = document.querySelector('.play-video-btn');\r\n            const closeVideoBtn = document.querySelector('.video-modal-close');\r\n\r\n            if (!videoModal || !videoPlayer) {\r\n                return; \/\/ Elements not found yet\r\n            }\r\n\r\n            \/\/ Handle video errors with detailed logging\r\n            videoPlayer.addEventListener('error', (e) => {\r\n                console.error('Video error:', e);\r\n                if (videoPlayer.error) {\r\n                    console.error('Video error code:', videoPlayer.error.code);\r\n                    console.error('Video error message:', videoPlayer.error.message);\r\n\r\n                    \/\/ Show error message\r\n                    if (videoError) {\r\n                        videoError.style.display = 'block';\r\n                        videoPlayer.style.display = 'none';\r\n                    }\r\n                }\r\n            });\r\n\r\n            \/\/ Handle successful video load\r\n            videoPlayer.addEventListener('loadedmetadata', () => {\r\n                console.log('Video metadata loaded');\r\n                if (videoError) videoError.style.display = 'none';\r\n                videoPlayer.style.display = 'block';\r\n            });\r\n\r\n            videoPlayer.addEventListener('canplay', () => {\r\n                console.log('Video can play');\r\n                if (videoError) videoError.style.display = 'none';\r\n                videoPlayer.style.display = 'block';\r\n            });\r\n\r\n            videoPlayer.addEventListener('canplaythrough', () => {\r\n                console.log('Video can play through');\r\n                if (videoError) videoError.style.display = 'none';\r\n                videoPlayer.style.display = 'block';\r\n            });\r\n\r\n            \/\/ Play button click handler\r\n            if (playVideoBtn) {\r\n                playVideoBtn.addEventListener('click', (e) => {\r\n                    e.preventDefault();\r\n                    console.log('Play video button clicked');\r\n\r\n                    \/\/ Show modal\r\n                    videoModal.classList.add('active');\r\n                    if (videoError) videoError.style.display = 'none';\r\n                    videoPlayer.style.display = 'block';\r\n\r\n                    \/\/ Reset video\r\n                    videoPlayer.currentTime = 0;\r\n\r\n                    \/\/ Load video\r\n                    videoPlayer.load();\r\n\r\n                    \/\/ Wait for video to be ready, then play\r\n                    const tryPlay = () => {\r\n                        if (videoPlayer.readyState >= 2) { \/\/ HAVE_CURRENT_DATA\r\n                            const playPromise = videoPlayer.play();\r\n                            if (playPromise !== undefined) {\r\n                                playPromise.then(() => {\r\n                                    console.log('Video playing successfully');\r\n                                    if (videoError) videoError.style.display = 'none';\r\n                                    videoPlayer.style.display = 'block';\r\n                                }).catch(error => {\r\n                                    console.error('Autoplay prevented:', error);\r\n                                    \/\/ Autoplay was prevented - show video with controls\r\n                                    if (videoError) videoError.style.display = 'none';\r\n                                    videoPlayer.style.display = 'block';\r\n                                    \/\/ User can manually click play\r\n                                });\r\n                            }\r\n                        } else {\r\n                            \/\/ Wait a bit more\r\n                            setTimeout(tryPlay, 100);\r\n                        }\r\n                    };\r\n\r\n                    \/\/ Start trying to play after a short delay\r\n                    setTimeout(tryPlay, 200);\r\n                });\r\n            }\r\n\r\n            \/\/ Close button handler\r\n            if (closeVideoBtn) {\r\n                closeVideoBtn.addEventListener('click', () => {\r\n                    videoModal.classList.remove('active');\r\n                    videoPlayer.pause();\r\n                    videoPlayer.currentTime = 0;\r\n                    if (videoError) videoError.style.display = 'none';\r\n                });\r\n            }\r\n\r\n            \/\/ Close modal when clicking outside\r\n            videoModal.addEventListener('click', (e) => {\r\n                if (e.target === videoModal) {\r\n                    videoModal.classList.remove('active');\r\n                    videoPlayer.pause();\r\n                    videoPlayer.currentTime = 0;\r\n                    if (videoError) videoError.style.display = 'none';\r\n                }\r\n            });\r\n\r\n            \/\/ Close modal on Escape key\r\n            document.addEventListener('keydown', (e) => {\r\n                if (e.key === 'Escape' && videoModal.classList.contains('active')) {\r\n                    videoModal.classList.remove('active');\r\n                    videoPlayer.pause();\r\n                    videoPlayer.currentTime = 0;\r\n                    if (videoError) videoError.style.display = 'none';\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initialize video modal when DOM is ready\r\n        if (document.readyState === 'loading') {\r\n            document.addEventListener('DOMContentLoaded', initVideoModal);\r\n        } else {\r\n            initVideoModal();\r\n        }\r\n\r\n        \/\/ Also try initializing after a delay (for dynamic content)\r\n        setTimeout(initVideoModal, 500);\r\n\r\n        \/\/ Retry initialization if elements are added dynamically\r\n        const observer = new MutationObserver(function (mutations) {\r\n            const uninitializedOffers = document.querySelectorAll('.offer:not([data-spa-initialized=\"true\"])');\r\n            if (uninitializedOffers.length > 0) {\r\n                initSpaDropdowns();\r\n            }\r\n        });\r\n\r\n        \/\/ Start observing when DOM is ready\r\n        if (document.body) {\r\n            observer.observe(document.body, {\r\n                childList: true,\r\n                subtree: true\r\n            });\r\n        } else {\r\n            document.addEventListener('DOMContentLoaded', function () {\r\n                observer.observe(document.body, {\r\n                    childList: true,\r\n                    subtree: true\r\n                });\r\n            });\r\n        }\r\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<div class=\"elementor-element elementor-element-0d873c7 e-flex e-con-boxed e-con e-parent\" data-id=\"0d873c7\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8323f5f elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-html\" data-id=\"8323f5f\" 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    <script src=\"https:\/\/api.mapbox.com\/mapbox-gl-js\/v2.15.0\/mapbox-gl.js\"><\/script>\r\n    <link href=\"https:\/\/api.mapbox.com\/mapbox-gl-js\/v2.15.0\/mapbox-gl.css\" rel=\"stylesheet\" \/>\r\n    <style>\r\n        body { margin: 0; padding: 0; }\r\n        #map { width: 100%; height: 100vh; }\r\n        .marker {\r\n            background-color: #ff0000;\r\n            border-radius: 50%;\r\n            color: #fff;\r\n            width: 30px;\r\n            height: 30px;\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            font-weight: bold;\r\n            font-size: 14px;\r\n            border: 2px solid white;\r\n            cursor: pointer;\r\n        }\r\n    <\/style>\r\n\r\n<div id=\"map\"><\/div>\r\n\r\n<script>\r\nmapboxgl.accessToken = 'pk.eyJ1Ijoic2FjaGlubTEyMyIsImEiOiJjbWFmMzMybXYwMWQ3MmpvZXR2Z3l2MGYyIn0.7qJWM6pNDLa0ZJpbmA4TuA';\r\n\r\n\/\/ Parse URL params for direct location navigation\r\nconst urlParams = new URLSearchParams(window.location.search);\r\nconst lat = parseFloat(urlParams.get('lat'));\r\nconst lng = parseFloat(urlParams.get('lng'));\r\nconst zoom = parseFloat(urlParams.get('zoom')) || 10;\r\n\r\nconst map = new mapboxgl.Map({\r\n    container: 'map',\r\n    style: 'mapbox:\/\/styles\/mapbox\/streets-v12',\r\n    center: (lat && lng) ? [lng, lat] : [55.2708, 25.2048], \/\/ Default Dubai\r\n    zoom: zoom\r\n});\r\n\r\n\/\/ Locations array\r\nconst locations = [\r\n    { name: \"JUMEIRAH CREEKSIDE HOTEL\", address: \"Rebat Street, Al Garhoud, Dubai\", coords: [55.3454, 25.2474] },\r\n    { name: \"Novotel Hotel (Al Barsha)\", address: \"Level 7, Al Barsha 1, Sheikh Zayed Road, Dubai\", coords: [55.1927, 25.1124] },\r\n    { name: \"Oaks Hotel\", address: \"Ibn Battuta Gate Hotel, Dubai\", coords: [55.1225, 25.0465] },\r\n    { name: \"Lapita, Dubai Parks & Resorts\", address: \"Sheikh Zayed Rd \u2013 Dubai\", coords: [55.0140, 24.9821] },\r\n    { name: \"DoubleTree by Hilton Dubai M Square\", address: \"Al Mankhool, Dubai\", coords: [55.2930, 25.2484] },\r\n    { name: \"Zabeel House The Greens\", address: \"The Onyx, Sheikh Zayed Rd - Dubai\", coords: [55.1713, 25.0992] },\r\n    { name: \"Novotel Hotel (Al Bustan, Abu Dhabi)\", address: \"Sheikh Rashid Bin Saeed Street cor. Rabdan Street, Abu Dhabi\", coords: [54.3921, 24.4252] },\r\n    { name: \"Marriott Hotel Downtown\", address: \"Near Al Wada Mall, Abu Dhabi\", coords: [54.3775, 24.4667] },\r\n    { name: \"Novotel Hotel (Healthcare City)\", address: \"Umm Hurair 2, Dubai\", coords: [55.3184, 25.2292] },\r\n    { name: \"Al Maha Arjaan by Rotana\", address: \"Saeed Bin Ahmed Al Otaiba St - Abu Dhabi\", coords: [54.3782, 24.4930] },\r\n    { name: \"Delta Hotels By Marriott\", address: \"Dubai Investment Park\", coords: [55.0330, 24.9875] },\r\n    { name: \"NH Collection Dubai The Palm\", address: \"Near Nakheel Mall \u2013 Dubai\", coords: [55.1467, 25.1115] },\r\n    { name: \"Oasis Mall\", address: \"2nd Interchange, Sheikh Zayed Road, Dubai\", coords: [55.2112, 25.1535] },\r\n    { name: \"M\u00f6venpick Jumeirah Hotel\", address: \"Jumeirah Village Triangle, Dubai\", coords: [55.1796, 25.0557] },\r\n    { name: \"Adagio Hotel\", address: \"Al Bustan, Abu Dhabi\", coords: [54.3921, 24.4252] },\r\n    { name: \"Atrium Center\", address: \"Khalid Bin Al Waleed Road, Bur Dubai\", coords: [55.3000, 25.2583] },\r\n    { name: \"Majlis Grand Mercure Residence\", address: \"Electra Street, Abu Dhabi\", coords: [54.3790, 24.4963] },\r\n    { name: \"Grandeur Hotel\", address: \"Behind Mall of the Emirates, Dubai\", coords: [55.2007, 25.1146] },\r\n    { name: \"Khalidia Palace\", address: \"33 Al Maktoum Rd - Deira - Dubai\", coords: [55.3173, 25.2666] },\r\n    { name: \"PULLMAN SHARJAH\", address: \"Al Taawun St - Al Khan - Sharjah\", coords: [55.3700, 25.3246] }\r\n];\r\n\r\n\/\/ Add numbered markers\r\nlocations.forEach((loc, index) => {\r\n    const el = document.createElement('div');\r\n    el.className = 'marker';\r\n    el.textContent = index + 1;\r\n\r\n    const shareLink = `${window.location.origin}${window.location.pathname}?lat=${loc.coords[1]}&lng=${loc.coords[0]}&zoom=15`;\r\n\r\n    const popup = new mapboxgl.Popup({ offset: 25 })\r\n        .setHTML(`<h3>${loc.name}<\/h3>\r\n                  <p>${loc.address}<\/p>`);\r\n\r\n    new mapboxgl.Marker(el)\r\n        .setLngLat(loc.coords)\r\n        .setPopup(popup)\r\n        .addTo(map);\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-6615","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Test - Soul Senses Spa &amp; Wellness<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/soulsensesspa.ae\/ar\/test\/\" \/>\n<meta property=\"og:locale\" content=\"ar_AR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Test - Soul Senses Spa &amp; Wellness\" \/>\n<meta property=\"og:url\" content=\"https:\/\/soulsensesspa.ae\/ar\/test\/\" \/>\n<meta property=\"og:site_name\" content=\"Soul Senses Spa &amp; Wellness\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-24T07:42:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/image1.jpg\" \/>\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=\"6 \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\\\/test\\\/\",\"url\":\"https:\\\/\\\/soulsensesspa.ae\\\/test\\\/\",\"name\":\"Test - Soul Senses Spa &amp; Wellness\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/soulsensesspa.ae\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/soulsensesspa.ae\\\/test\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/soulsensesspa.ae\\\/test\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/soulsensesspa.ae\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/image1.jpg\",\"datePublished\":\"2025-07-24T04:36:36+00:00\",\"dateModified\":\"2025-12-24T07:42:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/soulsensesspa.ae\\\/test\\\/#breadcrumb\"},\"inLanguage\":\"ar\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/soulsensesspa.ae\\\/test\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ar\",\"@id\":\"https:\\\/\\\/soulsensesspa.ae\\\/test\\\/#primaryimage\",\"url\":\"https:\\\/\\\/soulsensesspa.ae\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/image1.jpg\",\"contentUrl\":\"https:\\\/\\\/soulsensesspa.ae\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/image1.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/soulsensesspa.ae\\\/test\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/soulsensesspa.ae\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Test\"}]},{\"@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":"Test - Soul Senses Spa &amp; Wellness","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\/test\/","og_locale":"ar_AR","og_type":"article","og_title":"Test - Soul Senses Spa &amp; Wellness","og_url":"https:\/\/soulsensesspa.ae\/ar\/test\/","og_site_name":"Soul Senses Spa &amp; Wellness","article_modified_time":"2025-12-24T07:42:00+00:00","og_image":[{"url":"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/image1.jpg","type":"","width":"","height":""}],"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":"6 \u062f\u0642\u0627\u0626\u0642"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/soulsensesspa.ae\/test\/","url":"https:\/\/soulsensesspa.ae\/test\/","name":"Test - Soul Senses Spa &amp; Wellness","isPartOf":{"@id":"https:\/\/soulsensesspa.ae\/#website"},"primaryImageOfPage":{"@id":"https:\/\/soulsensesspa.ae\/test\/#primaryimage"},"image":{"@id":"https:\/\/soulsensesspa.ae\/test\/#primaryimage"},"thumbnailUrl":"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/image1.jpg","datePublished":"2025-07-24T04:36:36+00:00","dateModified":"2025-12-24T07:42:00+00:00","breadcrumb":{"@id":"https:\/\/soulsensesspa.ae\/test\/#breadcrumb"},"inLanguage":"ar","potentialAction":[{"@type":"ReadAction","target":["https:\/\/soulsensesspa.ae\/test\/"]}]},{"@type":"ImageObject","inLanguage":"ar","@id":"https:\/\/soulsensesspa.ae\/test\/#primaryimage","url":"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/image1.jpg","contentUrl":"https:\/\/soulsensesspa.ae\/wp-content\/uploads\/2025\/12\/image1.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/soulsensesspa.ae\/test\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/soulsensesspa.ae\/"},{"@type":"ListItem","position":2,"name":"Test"}]},{"@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\/6615","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=6615"}],"version-history":[{"count":119,"href":"https:\/\/soulsensesspa.ae\/ar\/wp-json\/wp\/v2\/pages\/6615\/revisions"}],"predecessor-version":[{"id":10061,"href":"https:\/\/soulsensesspa.ae\/ar\/wp-json\/wp\/v2\/pages\/6615\/revisions\/10061"}],"wp:attachment":[{"href":"https:\/\/soulsensesspa.ae\/ar\/wp-json\/wp\/v2\/media?parent=6615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}