{
  "id": "ahv-page-maharaja-suite-mobile",
  "file": "AHV Page Maharaja Suite Mobile.dc.html",
  "sourceSha256": "890bbd400689c7393660daf21072b53991488de005b6150d10e23378dab3ccf4",
  "variant": "mobile",
  "template": "\n<helmet>\n<link href=\"/ahv/fonts/ahv-33eeac48ab44.css\" rel=\"stylesheet\">\n\n<style>\nbody{margin:0;background:#F7F4EA;color:#2A2118;font-family:'Mulish',sans-serif;font-size:18px;line-height:1.7}\na{color:#006038;text-decoration:none}a:hover{color:#004226;text-decoration:underline}\n:focus-visible{outline:3px solid #6B7726;outline-offset:2px;box-shadow:0 0 0 6px rgba(247,244,234,.85)}\na:active,button:active{filter:brightness(.88)}\nh1,h2,h3,h4{font-weight:400;margin:0}\ndl,dt,dd{margin:0}\nbutton{font-family:'Mulish',sans-serif;cursor:pointer}\n@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}\n@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}\n</style>\n<title>Maharaja Suite | Kairali – The Ayurvedic Healing Village</title>\n<meta name=\"description\" content=\"أقِم في جناح المهراجا في Kairali Ayurvedic Healing Village لتجربة عافية ملكية مع الأيورفيدا واليوغا والشفاء الشمولي في كيرالا.\">\n<link rel=\"canonical\" href=\"https://ayurvedichealingvillage.com/ar/maharaja-suite/\">\n<meta name=\"robots\" content=\"noindex, nofollow\">\n<meta property=\"og:locale\" content=\"ar_AR\">\n<meta property=\"og:type\" content=\"article\">\n<meta property=\"og:title\" content=\"جناح المهراجا\">\n<meta property=\"og:description\" content=\"أقِم في جناح المهراجا في Kairali Ayurvedic Healing Village لتجربة عافية ملكية مع الأيورفيدا واليوغا والشفاء الشمولي في كيرالا.\">\n<meta property=\"og:url\" content=\"https://ayurvedichealingvillage.com/ar/maharaja-suite/\">\n<meta property=\"og:site_name\" content=\"Ayurvedic Healing Village\">\n<meta name=\"twitter:card\" content=\"summary_large_image\">\n<link rel=\"icon\" href=\"/ahv/assets/img/logo_color-da22eb.svg\" sizes=\"192x192\">\n<script type=\"application/ld+json\">\n{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https://ayurvedichealingvillage.com/ar/maharaja-suite/\",\"url\":\"https://ayurvedichealingvillage.com/ar/maharaja-suite/\",\"name\":\"جناح المهراجا | Kairali – قرية الشفاء الأيورفيدية\",\"description\":\"أقِم في جناح المهراجا في Kairali Ayurvedic Healing Village لتجربة عافية ملكية مع الأيورفيدا واليوغا والشفاء الشمولي في كيرالا.\",\"isPartOf\":{\"@id\":\"https://ayurvedichealingvillage.com/ar/#website\"},\"inLanguage\":\"ar\"},{\"@type\":\"WebSite\",\"@id\":\"https://ayurvedichealingvillage.com/ar/#website\",\"url\":\"https://ayurvedichealingvillage.com/ar/\",\"name\":\"Kairali — The Ayurvedic Healing Village\",\"inLanguage\":\"ar\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://ayurvedichealingvillage.com/ar/maharaja-suite/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"الرئيسية\",\"item\":\"https://ayurvedichealingvillage.com/ar/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"الفلل\",\"item\":\"https://ayurvedichealingvillage.com/ar/our-villas/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"جناح المهراجا\",\"item\":\"https://ayurvedichealingvillage.com/ar/maharaja-suite/\"}]}]}\n</script>\n</helmet>\n<div data-screen-label=\"Maharaja Suite — Mobile\" style=\"max-width:430px;margin:0 auto;background:#F7F4EA;box-shadow:0 0 40px rgba(70,50,20,.15);position:relative;box-sizing:border-box\">\n<a href=\"#main-content\" style=\"position:fixed;left:-9999px;top:12px;z-index:120;background:#5A4420;color:#F7F4EA;padding:14px 24px;border-radius:4px;font-weight:700;font-size:15px\" style-focus=\"left:16px\">انتقل إلى المحتوى الرئيسي</a>\n<dc-import name=\"AHV Chrome Header\" narrow=\"true\" style=\"position:sticky;top:0;z-index:80\" hint-size=\"100%,64px\"></dc-import>\n<main id=\"main-content\">\n<section style=\"width:min(1220px,94%);margin:0 auto;padding:20px 0 0\">\n  <nav aria-label=\"مسار التنقل\" style=\"font-size:15px;color:#75695A;display:flex;flex-wrap:wrap;gap:0 8px;align-items:center;line-height:1.4\"><a href=\"https://ayurvedichealingvillage.com/ar/\" onClick=\"{{ guard }}\" style=\"display:inline-flex;align-items:center;min-height:44px;min-width:44px\">الرئيسية</a><span aria-hidden=\"true\">/</span><a href=\"https://ayurvedichealingvillage.com/ar/our-villas/\" onClick=\"{{ guard }}\" style=\"display:inline-flex;align-items:center;min-height:44px;min-width:44px\">الفلل لدينا</a><span aria-hidden=\"true\">/</span><span aria-current=\"page\" style=\"color:#2A2118;display:inline-flex;align-items:center;min-height:44px\">جناح المهراجا</span></nav>\n  <div style=\"font-weight:700;font-size:13px;letter-spacing:2.6px;color:#8F6212;text-transform:uppercase;margin-top:4px\">الفلل</div>\n  <h1 style=\"font-family:'Marcellus',serif;font-size:30px;line-height:1.2;margin:12px 0 0;text-wrap:balance\">جناح المهراجا</h1>\n  <div><ul aria-label=\"معلومات الفيلا\" style=\"list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px\">\n    <sc-for list=\"{{ D.facts }}\" as=\"f\" hint-placeholder-count=\"4\"><li style=\"display:inline-flex;align-items:center;min-height:44px;padding:0 14px;background:#fff;border:1px solid #E0D7C4;border-radius:4px;font-size:15.5px;font-weight:600\">{{ f }}</li></sc-for>\n  </ul><div data-ahv-villa-rate=\"1\" style=\"margin-top:18px;max-width:62ch\"><p style=\"margin:0;font-weight:700;font-size:15px\">الإقامة الاستشفائية اليومية حسب الفيلا</p><p style=\"margin:4px 0 0;font-size:16px\">الإشغال الفردي، لكل فيلا في الليلة الواحدة: {{ villaRate }}.</p><p style=\"margin:6px 0 0;font-size:15px;line-height:1.6\">تشمل الإقامة، والوجبات النباتية، وجلسة تدليك واحدة بالزيت العشبي الأيورفيدي لكل شخص، واستشارة طبية واحدة، وجلسة واحدة لليوغا والتأمل. هذه أسعار إقامة استشفائية، وليست أسعار غرف فقط. <a href=\"/documents/pdf/daily-admission-tariff/ar/KTAHV-Daily-Admission-Tariff-AR-USD_20260925-R1.pdf\">تعرفة الإقامة الاستشفائية اليومية ومدة سريانها وشروطها</a></p></div></div>\n  <img src=\"/ahv/assets/img/AHV-Maharaja-G18.webp\" alt=\"واجهة جناح المهراجا الخارجية وممر الحديقة\" width=\"1400\" height=\"1000\" style=\"width:100%;max-width:1400px;height:auto;display:block;border-radius:4px;margin-top:22px\">\n</section>\n\n<section aria-labelledby=\"about-h\" style=\"width:min(1220px,94%);margin:0 auto;padding:32px 0 0;display:flex;flex-direction:column;gap:24px\">\n  <blockquote style=\"margin:0;padding:18px 20px;background:#fff;border:1px solid #E0D7C4;border-left:6px solid #C1882C;border-radius:4px;font-family:'Marcellus',serif;font-size:19px;line-height:1.5;color:#2A2118\">{{ D.quote }}</blockquote>\n  <div>\n    <h2 id=\"about-h\" style=\"font-family:'Marcellus',serif;font-size:25px;line-height:1.22;margin:0 0 16px\">حول الجناح</h2>\n    <sc-for list=\"{{ aboutBlocks }}\" as=\"b\" hint-placeholder-count=\"6\"><div><sc-if value=\"{{ b.isP }}\" hint-placeholder-val=\"{{ true }}\"><p style=\"margin:0 0 14px;font-size:17px\">{{ b.text }}</p></sc-if><sc-if value=\"{{ b.isUl }}\" hint-placeholder-val=\"{{ false }}\"><ul style=\"margin:0 0 14px;padding:0;list-style:none;display:flex;flex-direction:column;border-top:1px solid #E0D7C4\"><sc-for list=\"{{ b.items }}\" as=\"it\" hint-placeholder-count=\"5\"><li style=\"display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #E0D7C4;font-size:17px;line-height:1.55\"><span aria-hidden=\"true\" style=\"color:#C1882C;flex:none\">◆</span><span>{{ it }}</span></li></sc-for></ul></sc-if></div></sc-for>\n  </div>\n  <div aria-label=\"الاستفسار\" style=\"background:#43331E;color:#F7F4EA;border-radius:4px;padding:20px 18px;display:flex;flex-direction:column;gap:12px\">\n    <a href=\"https://ayurvedichealingvillage.com/ar/contact-us/\" onClick=\"{{ guard }}\" style=\"display:flex;align-items:center;justify-content:center;min-height:52px;background:#EEB41E;color:#2A2118;border-radius:4px;font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;padding:6px 16px;text-align:center;line-height:1.35\" style-hover=\"background:#D9A317;color:#2A2118;text-decoration:none\">استفسر عن إقامتك</a> <a href=\"https://ayurvedichealingvillage.com/ar/all-programs/\" onClick=\"{{ guard }}\" style=\"display:flex;align-items:center;justify-content:center;min-height:52px;border:1.5px solid rgba(247,244,234,.7);color:#F7F4EA;border-radius:4px;font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;padding:6px 16px;text-align:center;line-height:1.35\" style-hover=\"background:rgba(247,244,234,.12);color:#F7F4EA;text-decoration:none\">استكشف البرامج</a>\n  </div>\n</section>\n\n<section id=\"amenities\" aria-labelledby=\"amenities-h\" style=\"width:min(1220px,94%);margin:32px auto 0;padding-top:28px;border-top:1px solid #E9E2D3\">\n  <h2 id=\"amenities-h\" style=\"font-family:'Marcellus',serif;font-size:25px;line-height:1.22;margin:0 0 16px\">مزايا الجناح</h2>\n  <h3 style=\"font-family:'Marcellus',serif;font-size:21px;line-height:1.25;margin:0 0 10px\">جناحان. تصميمان مختلفان.</h3>\n  <p style=\"margin:0 0 18px;max-width:68ch;font-size:17px;line-height:1.65;color:#514a3f\">اختر غرفة نوم بسرير كبير (King) مع غرفة معيشة منفصلة، أو جناحًا بغرفتَي نوم فيهما سرير كبير (King) وسريران منفصلان. ويضمّ كلا الجناحين حمّامين وخزانتَي ملابس، بواقع حمّام وخزانة في كل غرفة.</p>\n  <ul aria-label=\"مخططات الجناح\" style=\"list-style:none;margin:0 0 36px;padding:0;display:flex;flex-direction:column;gap:16px\">\n    <sc-for list=\"{{ F.layouts }}\" as=\"l\" hint-placeholder-count=\"2\">\n      <li style=\"min-width:0;background:#fff;border:1px solid #E0D7C4;border-radius:4px;padding:20px 18px 8px\">\n        <p style=\"margin:0;font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#8F6212\">{{ l.suite }}</p>\n        <h4 style=\"font-family:'Marcellus',serif;font-weight:400;font-size:21px;line-height:1.25;margin:6px 0 10px\">{{ l.title }}</h4>\n        <ul style=\"margin:0;padding:0;list-style:none\">\n          <sc-for list=\"{{ l.items }}\" as=\"it\" hint-placeholder-count=\"4\"><li style=\"padding:10px 0;border-top:1px solid #E9E2D3;font-size:17px;line-height:1.55\">{{ it }}</li></sc-for>\n        </ul>\n      </li>\n    </sc-for>\n  </ul>\n  <h3 style=\"font-family:'Marcellus',serif;font-size:21px;line-height:1.25;margin:0 0 16px\">في جناحك</h3>\n  <div style=\"display:flex;flex-direction:column;gap:28px\">\n    <sc-for list=\"{{ F.groups }}\" as=\"g\" hint-placeholder-count=\"3\">\n      <div style=\"min-width:0;border-top:2px solid #006038;padding-top:14px\">\n        <h4 style=\"font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#004226;margin:0 0 6px;font-family:'Mulish',sans-serif\">{{ g.title }}</h4>\n        <ul style=\"margin:0;padding:0;list-style:none\">\n          <sc-for list=\"{{ g.items }}\" as=\"it\" hint-placeholder-count=\"4\"><li style=\"padding:10px 0;border-bottom:1px solid #E9E2D3;font-size:17px;line-height:1.55\">{{ it }}</li></sc-for>\n        </ul>\n      </div>\n    </sc-for>\n  </div>\n</section>\n\n<section id=\"gallery\" aria-labelledby=\"gallery-h\" style=\"width:min(1220px,94%);margin:32px auto 0;padding-top:28px;border-top:1px solid #E9E2D3\">\n  <h2 id=\"gallery-h\" style=\"font-family:'Marcellus',serif;font-size:25px;line-height:1.22;margin:0 0 20px\">معرض الصور</h2>\n  <sc-for list=\"{{ galleryGroups }}\" as=\"grp\" hint-placeholder-count=\"2\">\n    <div style=\"margin-bottom:32px\">\n      <h3 id=\"{{ grp.hid }}\" style=\"font-family:'Marcellus',serif;font-size:22px;line-height:1.25;margin:0 0 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap\"><span aria-hidden=\"true\" style=\"color:#C1882C;font-size:13px\">◆</span>{{ grp.name }}<span style=\"font-family:'Mulish',sans-serif;font-size:15px;color:#75695A;font-weight:600\">{{ grp.countLabel }}</span></h3>\n      <ul aria-labelledby=\"{{ grp.hid }}\" style=\"list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px\">\n        <sc-for list=\"{{ grp.items }}\" as=\"g\" hint-placeholder-count=\"15\">\n          <li style=\"background:#fff;border:1px solid #E9E2D3;border-radius:4px;overflow:hidden\">\n            <button type=\"button\" data-gallery-index=\"{{ g.i }}\" aria-label=\"{{ g.btnLabel }}\" onClick=\"{{ g.open }}\" style=\"display:flex;flex-direction:column;width:100%;padding:0;border:0;background:#fff;color:#2A2118;text-align:left\" style-hover=\"color:#006038\">\n              <img src=\"{{ g.image }}\" alt=\"{{ g.alt }}\" width=\"{{ g.width }}\" height=\"{{ g.height }}\" loading=\"lazy\" style=\"width:100%;height:auto;display:block\">\n              <span style=\"display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:4px 12px;font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#006038\">عرض<span aria-hidden=\"true\" style=\"color:#C1882C\">→</span></span>\n            </button>\n          </li>\n        </sc-for>\n      </ul>\n    </div>\n  </sc-for>\n</section>\n\n<section id=\"rooms\" aria-labelledby=\"rooms-h\" style=\"width:min(1220px,94%);margin:0 auto;padding-top:28px;border-top:1px solid #E9E2D3\">\n  <h2 id=\"rooms-h\" style=\"font-family:'Marcellus',serif;font-size:25px;line-height:1.22;margin:0 0 16px\">اسم الجناح وأرقامه</h2>\n  <ul aria-labelledby=\"rooms-h\" style=\"list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid #E0D7C4\">\n    <sc-for list=\"{{ rooms }}\" as=\"r\" hint-placeholder-count=\"2\">\n      <li style=\"padding:14px 0;border-bottom:1px solid #E0D7C4;display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px 14px;align-items:center\">\n        <img src=\"{{ r.zodiacImage.image }}\" alt=\"{{ r.zodiacImage.alt }}\" width=\"120\" height=\"120\" loading=\"lazy\" style=\"width:48px;height:48px;display:block\">\n        <dl style=\"display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;font-size:16.5px;line-height:1.45\">\n          <dt style=\"font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#75695A;align-self:center\">الفيلا</dt><dd style=\"font-family:'Marcellus',serif;font-size:20px\">{{ r.name }}</dd>\n          <dt style=\"font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#75695A;align-self:center\">السرير</dt><dd>{{ r.bed }}</dd>\n          <dt style=\"font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#75695A;align-self:center\">الغرفة</dt><dd>{{ r.room }}</dd>\n        </dl>\n        <button type=\"button\" data-room-index=\"{{ r.i }}\" onClick=\"{{ r.open }}\" style=\"grid-column:1 / -1;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 16px;border:1.5px solid #006038;border-radius:4px;background:transparent;color:#006038;font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase\" style-hover=\"background:#006038;color:#F7F4EA\">{{ r.btnLabel }}<span aria-hidden=\"true\">→</span></button>\n      </li>\n    </sc-for>\n  </ul>\n</section>\n\n<section id=\"related\" aria-labelledby=\"related-h\" style=\"width:min(1220px,94%);margin:32px auto 0;padding:28px 0 56px;border-top:1px solid #E9E2D3\">\n  <h2 id=\"related-h\" style=\"font-family:'Marcellus',serif;font-size:25px;margin:0 0 18px\">الفلل الأخرى</h2>\n  <ul style=\"list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px\">\n    <sc-for list=\"{{ relatedVillas }}\" as=\"o\" hint-placeholder-count=\"3\">\n      <li><a href=\"{{ o.url }}\" onClick=\"{{ guard }}\" style=\"display:flex;flex-direction:column;background:#fff;border:1px solid #E9E2D3;border-radius:4px;overflow:hidden;color:#2A2118\" style-hover=\"border-color:#C1882C;text-decoration:none;color:#006038\">\n        <img src=\"{{ o.image }}\" alt=\"{{ o.alt }}\" width=\"378\" height=\"335\" loading=\"lazy\" style=\"width:100%;max-width:378px;height:auto;display:block;align-self:center\">\n        <span style=\"display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 16px;font-family:'Marcellus',serif;font-size:20px\"><span aria-hidden=\"true\" style=\"color:#C1882C;font-size:13px\">◆</span>{{ o.label }}</span>\n      </a></li>\n    </sc-for>\n  </ul>\n</section>\n</main>\n<dc-import name=\"AHV Chrome Footer\" narrow=\"true\" hint-size=\"100%,900px\"></dc-import>\n\n<div id=\"villa-dialog\" role=\"dialog\" aria-modal=\"true\" aria-label=\"{{ dlgLabel }}\" onKeyDown=\"{{ dlgKey }}\" style=\"display:{{ dlgDisplay }};position:fixed;inset:0;z-index:200;background:rgba(26,20,12,.94);flex-direction:column;align-items:center;justify-content:center;padding:16px;box-sizing:border-box\">\n  <div style=\"width:100%;max-width:430px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;color:#F7F4EA\">\n    <div aria-live=\"polite\" style=\"font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;min-height:44px;display:inline-flex;align-items:center\">{{ counter }}</div>\n    <button type=\"button\" id=\"villa-close\" onClick=\"{{ close }}\" style=\"display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;border:1px solid rgba(247,244,234,.5);border-radius:4px;background:transparent;color:#F7F4EA;font-weight:700;font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase\" style-hover=\"background:rgba(247,244,234,.12)\">إغلاق الصورة<span aria-hidden=\"true\">✕</span></button>\n  </div>\n  <sc-if value=\"{{ dlgOpen }}\" hint-placeholder-val=\"{{ false }}\"><img id=\"villa-expanded\" ref=\"{{ curRef }}\" alt=\"{{ cur.alt }}\" width=\"{{ cur.width }}\" height=\"{{ cur.height }}\" style=\"display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 200px);object-fit:contain;margin:16px 0;border-radius:4px;background:#000\"></sc-if>\n  <div style=\"width:100%;max-width:430px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap\">\n    <button type=\"button\" id=\"villa-prev\" onClick=\"{{ prev }}\" style=\"display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;border:1px solid rgba(247,244,234,.5);border-radius:4px;background:transparent;color:#F7F4EA;font-weight:700;font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase\" style-hover=\"background:rgba(247,244,234,.12)\"><span aria-hidden=\"true\">→</span>السابق</button>\n    <button type=\"button\" id=\"villa-next\" onClick=\"{{ next }}\" style=\"display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;border:1px solid #EEB41E;border-radius:4px;background:#EEB41E;color:#2A2118;font-weight:700;font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase\" style-hover=\"filter:brightness(.94)\">التالي<span aria-hidden=\"true\">→</span></button>\n  </div>\n</div>\n</div>\n",
  "logic": "\n// TF-19 villa daily-admission rate (28 Sep 2026): approved edition 20260925-R1, APAI single occupancy (english-candidate/final-rates) —\n// the same figures the homepage prints under \"Daily admission by villa\". Selection by currency, never conversion.\nconst VILLA_DAY = {'INR':{\"deluxe\":26700,\"classic\":29145,\"royal\":33450,\"suite\":53400},'USD':{\"deluxe\":381,\"classic\":416,\"royal\":478,\"suite\":763},'EUR':{\"deluxe\":334,\"classic\":364,\"royal\":418,\"suite\":668}};\nconst villaMoney = (n, c) => { const s = String(n); if (c === 'INR') { const l3 = s.slice(-3), r = s.slice(0, -3); return '₹' + (r ? r.replace(/\\B(?=(\\d{2})+(?!\\d))/g, ',') + ',' : '') + l3; } return (c === 'USD' ? '$' : '€') + s.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ','); };\n\nclass Component extends DCLogic {\n  state = { open: false, set: null, i: 0, ret: null, cur: 'USD' };\n  componentDidMount() { try { const c = localStorage.getItem('ahv-cur'); if (c && VILLA_DAY[c] && c !== this.state.cur) this.setState({ cur: c }); } catch (e) {} document.documentElement.lang = 'ar'; }\n  componentWillUnmount() { document.body.style.overflow = ''; }\n  openSet(set, idx, ret, label) {\n    this.setState({ open: true, set, i: idx, ret, label });\n    document.body.style.overflow = 'hidden';\n    setTimeout(() => { const c = document.getElementById('villa-close'); if (c) c.focus(); }, 30);\n  }\n  closeViewer() {\n    const ret = this.state.ret;\n    this.setState({ open: false });\n    document.body.style.overflow = '';\n    setTimeout(() => { const btn = ret ? document.querySelector(ret) : null; if (btn) btn.focus(); }, 30);\n  }\n  renderVals() {\n    const D = window.AHV_ROOMS_2026.apply('maharaja', window.AHV_MAHARAJA) || { facts: [], aboutBlocks: [], amenities: [], gallery: [], galleryGroups: [], rooms: [], relatedVillas: [], quote: '' };\n    const A = 'https://ayurvedichealingvillage.com';\n    const gallery = D.gallery || [];\n    const groups = (D.galleryGroups || []).map(name => {\n      const items = gallery.map((g, idx) => ({ ...g, i: idx })).filter(g => g.group === name);\n      return { name, hid: 'gallery-' + name.toLowerCase() + '-h', countLabel: items.length + ' photographs', items: items.map(g => ({ ...g, btnLabel: 'عرض الصورة: ' + g.alt, open: () => this.openSet(gallery, g.i, 'button[data-gallery-index=\"' + g.i + '\"]', 'معرض صور جناح Maharaja') })) };\n    });\n    const rooms = (D.rooms || []).map((r, idx) => ({ ...r, i: idx, btnLabel: r.images.length + ' صور', open: () => this.openSet(r.images, 0, 'button[data-room-index=\"' + idx + '\"]', r.name + ' غرفة ' + r.room + ' صور') }));\n    const set = this.state.set || [];\n    const n = set.length, i = this.state.i;\n    const cur = set[i] || { image: '', alt: '', width: 1400, height: 1000 };\n    const go = (d) => this.setState(s => ({ i: (s.i + d + n) % n }));\n    const villaCur = VILLA_DAY[this.state.cur] ? this.state.cur : 'USD';\n    return { F: window.AHV_ROOMS_2026.features('maharaja'), villaRate: villaMoney(VILLA_DAY[villaCur].suite, villaCur), guard: () => {} /* preview-only nav guard neutralised for the published site */,\n      D, galleryGroups: groups, rooms, aboutBlocks: (D.aboutBlocks || []).map(b => ({ ...b, isP: b.type === 'p', isUl: b.type === 'ul' })),\n      relatedVillas: (D.relatedVillas || []).map(o => ({ ...o, url: A + o.href })),\n      dlgDisplay: this.state.open ? 'flex' : 'none', dlgOpen: this.state.open, dlgLabel: this.state.label || 'معرض صور جناح Maharaja',\n      cur,\n      // New closure per render, so React re-attaches and assigns the current source each time cur changes.\n      curRef: (el) => { if (el && cur.image) { el.setAttribute('src', cur.image); } },\n      counter: n ? (i + 1) + ' من ' + n : '',\n      close: () => this.closeViewer(), prev: () => go(-1), next: () => go(1),\n      dlgKey: (e) => {\n        if (e.key === 'Escape') { e.preventDefault(); this.closeViewer(); return; }\n        if (e.key === 'ArrowLeft') { e.preventDefault(); go(-1); return; }\n        if (e.key === 'ArrowRight') { e.preventDefault(); go(1); return; }\n        if (e.key === 'Tab') {\n          const f = [...e.currentTarget.querySelectorAll('button')];\n          const first = f[0], last = f[f.length - 1];\n          if (e.shiftKey && document.activeElement === first) { e.preventDefault(); last.focus(); }\n          else if (!e.shiftKey && document.activeElement === last) { e.preventDefault(); first.focus(); }\n        }\n      }\n    };\n  }\n}\n",
  "props": "",
  "scripts": [
    "/ahv/l10n/ar/assets/maharaja-suite-data.js",
    "/ahv/l10n/ar/assets/rooms-2026-candidate.js"
  ],
  "revision": {
    "task": "WOPS-AHV-FINAL-DRAFT-20260924-001",
    "source": "AHV Page Maharaja Suite Mobile 2026 Candidate.dc.html",
    "sha256": "02ecba60ef6efee1142b22c0e1afd79d1f46aa877ef671c391018d0ec67429ca"
  },
  "locale": "ar"
}
