{"id":2412,"date":"2025-07-03T20:07:43","date_gmt":"2025-07-03T20:07:43","guid":{"rendered":"https:\/\/godsgalaxygame.com\/GGG\/?page_id=2412"},"modified":"2026-04-30T18:19:31","modified_gmt":"2026-04-30T18:19:31","slug":"accomodations","status":"publish","type":"page","link":"https:\/\/godsgalaxygame.com\/GGG\/accomodations\/","title":{"rendered":"Accomodations"},"content":{"rendered":"\n<!-- =====================\nPOP-UP BEFORE RESERVATION (LEVEL 2)\n===================== -->\n\n<style>\n  #reservePopupOverlay {\n    position: fixed;\n    top: 0; left: 0;\n    width: 100%; height: 100%;\n    background: rgba(0,0,0,0.85);\n    display: none;\n    justify-content: center;\n    align-items: center;\n    z-index: 999999;\n  }\n\n  #reservePopup {\n    background: #111;\n    border: 2px solid #ffffff55;\n    padding: 30px 35px;\n    border-radius: 18px;\n    text-align: center;\n    width: 300px;\n    box-shadow: 0 0 25px #ffffff88;\n  }\n\n  #reservePopup h2 {\n    color: white;\n    font-size: 20px;\n    margin-bottom: 25px;\n  }\n\n  .reserve-btn {\n    padding: 10px 20px;\n    margin: 8px;\n    border-radius: 10px;\n    border: none;\n    cursor: pointer;\n    font-weight: bold;\n    font-size: 15px;\n  }\n\n  .yes-tours {\n    background: #6a00ff;\n    color: white;\n    box-shadow: 0 0 12px #6a00ff;\n  }\n\n  .no-continue {\n    background: #ff0066;\n    color: white;\n    box-shadow: 0 0 12px #ff0066;\n  }\n<\/style>\n\n<div id=\"reservePopupOverlay\">\n  <div id=\"reservePopup\">\n    <h2>Would you like to see Thematic Tours of the area?<\/h2>\n    <button class=\"reserve-btn yes-tours\" onclick=\"goToThematic()\">Yes<\/button>\n    <button class=\"reserve-btn no-continue\" onclick=\"handleReserveClick()\">No<\/button>\n  <\/div>\n<\/div>\n\n<script>\n  const THEMATIC_URL = \"\/GGG\/thematic-tours\/\"; \n  const ELEMENTS_URL = \"https:\/\/godsgalaxygame.com\/GGG\/medayork-pyramid-2\/?travelclub=1\";\n\n  function openReservePopup() {\n    document.getElementById(\"reservePopupOverlay\").style.display = \"flex\";\n  }\n\n  function goToThematic() {\n  if (window.gggOpenThematicGate) {\n    window.gggOpenThematicGate(THEMATIC_URL); \/\/ opens popup from footer\n  } else {\n    window.location.href = THEMATIC_URL; \/\/ fallback if footer missing\n  }\n}\n\n\n  function continueReservation() {\n    window.location.href = ELEMENTS_URL;\n  }\n<\/script>\n\n\n\n<!-- BLOQUE 2 - Accomodations Cube V19 Completo + Mapa Circular + API -->\n<style>\n  @media (max-width: 768px) {\n    #glowMapContainer {\n      margin-top: -55px !important;\n    }\n<\/style>\n<div id=\"accomodationsCubeContainer\" style=\"opacity:1; pointer-events: auto; transition: opacity 0.6s ease;\">\n  <!-- ESCENA CUBO -->\n  <div class=\"cube-scene\" style=\"width:180px; height:180px; perspective:1000px; position:fixed; bottom:20px; left:20px; z-index:1000;\">\n    <div class=\"cube\" id=\"accomodationsCube\" style=\"width:100%; height:100%; position:relative; transform-style:preserve-3d; transform:rotateX(0deg) rotateY(0deg); transition:transform 0.3s ease;\">\n   <!-- FRONT -->\n      <div class=\"face front\" style=\"width:180px; height:180px; background:transparent; border:2px solid white; box-shadow:0 0 20px white; position:absolute; transform:rotateY(0deg) translateZ(90px); display:flex; flex-direction:column; justify-content:center; align-items:center; font-family:Orbitron;\">\n        <div style=\"font-size:42px; color:white; text-shadow:0 0 15px white;\">\ud83c\udfe0<\/div>\n        <div style=\"font-size:16px; color:white; font-weight:bold; text-shadow:0 0 10px white; margin-top:6px;\">Accomodations<\/div>\n      <\/div>\n\n      <!-- Cara Trasera del Cubo: Transportation -->\n<!-- Back Face - Transportation Cube - Nuevo Dise\u00f1o con Botones Circulares -->\n<div class=\"face back\" style=\"width:180px; height:180px; background:#000; border:2px solid white; box-shadow:0 0 15px white; position:absolute; transform:rotateY(180deg) translateZ(90px); font-family:Orbitron,sans-serif;\">\n\n  <!-- Sol central -->\n  <img decoding=\"async\" src=\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/1000065346-scaled.jpg\"\n       style=\"width:70px; height:70px; border-radius:50%; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); box-shadow:0 0 20px white;\" \/>\n\n  <a onclick=\"openReservePopup()\" \n   style=\"position:absolute; top:8px; left:8px; width:44px; height:44px; border-radius:50%; background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20240108-225452_Chrome-scaled.jpg'); background-size:cover; box-shadow:0 0 12px cyan; cursor:pointer;\"\n   title=\"Reserve\"><\/a>\n\n\n  <!-- Bliss Coin -->\n  <div onclick=\"openBlissCoinPopup()\"\n       style=\"position:absolute; top:8px; right:8px; width:44px; height:44px; border-radius:50%; background:#222; font-size:40px; display:flex; justify-content:center; align-items:center; color:white; box-shadow:0 0 10px cyan; cursor:pointer;\"\n       title=\"Pay with Bliss Coin\">\ud83d\udcb3<\/div>\n\n  <!-- Coupon Button (Bottom-Left Corner) -->\n<a href=\"https:\/\/godsgalaxygame.com\/GGG\/discounts-gift\/\"\n   target=\"_blank\"\n   style=\"position: absolute;\n          bottom: 8px;\n          left: 8px;\n          width: 44px;\n          height: 44px;\n          border-radius: 50%;\n          background-image: url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20240108-225546_Chrome.jpg');\n          background-size: cover;\n          box-shadow: 0 0 12px cyan;\n          cursor: pointer;\"\n   title=\"Get Coupons\">\n<\/a>\n\n\n  <!-- Become a Host -->\n  <a href=\"https:\/\/luxus2.godaddysites.com\/\" target=\"_blank\"\n     style=\"position:absolute; bottom:8px; right:8px; width:44px; height:44px; border-radius:50%; background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20240108-224514_Chrome-scaled.jpg'); background-size:cover; box-shadow:0 0 12px cyan;\"\n     title=\"Become a Host\"><\/a>\n<\/div>\n\n\n\n      <!-- RIGHT (High-Rise) -->\n      <div class=\"face right\" style=\"width:180px; height:180px; background:#000; border:2px solid beige; box-shadow:0 0 15px beige; position:absolute; transform:rotateY(90deg) translateZ(90px); font-family:Orbitron;\">\n        <button onclick=\"showHostButtons('highrise-one')\" style=\"position:absolute; top:8px; left:27px; width:126px; height:17px; border:1px solid beige; color:white; background:transparent;\">1-3 Days<\/button>\n        <button onclick=\"showHostButtons('highrise-five')\" style=\"position:absolute; bottom:8px; left:27px; width:126px; height:17px; border:1px solid beige; color:white; background:transparent;\">4-6 Days<\/button>\n        <button onclick=\"showHostButtons('highrise-seven')\" style=\"position:absolute; top:27px; left:8px; height:126px; width:17px; border:1px solid beige; color:white; writing-mode:vertical-rl; background:transparent;\">7 Days<\/button>\n        <button onclick=\"showHostButtons('highrise-month')\" style=\"position:absolute; top:27px; right:8px; height:126px; width:17px; border:1px solid beige; color:white; writing-mode:vertical-lr; background:transparent;\">1 Month<\/button>\n        <div style=\"position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); text-align:center;\">\n          <div style=\"color:beige; font-size:16px; font-weight:bold;\">High-Rise<\/div>\n          <img decoding=\"async\" src=\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20250612_075245_Gallery.jpg\" style=\"width:65px; height:65px; border-radius:50%; box-shadow:0 0 12px beige;\">\n        <\/div>\n      <\/div>\n\n      <!-- LEFT (Historic) -->\n      <div class=\"face left\" style=\"width:180px; height:180px; background:#000; border:2px solid #00ccff; box-shadow:0 0 15px #00ccff; position:absolute; transform:rotateY(-90deg) translateZ(90px); font-family:Orbitron;\">\n        <button onclick=\"showHostButtons('historic-one')\" style=\"position:absolute; top:8px; left:27px; width:126px; height:17px; border:1px solid #00ccff; color:white; background:transparent;\">1-3 Days<\/button>\n        <button onclick=\"showHostButtons('historic-five')\" style=\"position:absolute; bottom:8px; left:27px; width:126px; height:17px; border:1px solid #00ccff; color:white; background:transparent;\">4-6 Days<\/button>\n        <button onclick=\"showHostButtons('historic-seven')\" style=\"position:absolute; top:27px; left:8px; height:126px; width:17px; border:1px solid #00ccff; color:white; writing-mode:vertical-rl; background:transparent;\">7 Days<\/button>\n        <button onclick=\"showHostButtons('historic-month')\" style=\"position:absolute; top:27px; right:8px; height:126px; width:17px; border:1px solid #00ccff; color:white; writing-mode:vertical-lr; background:transparent;\">1 Month<\/button>\n        <div style=\"position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); text-align:center;\">\n          <div style=\"color:#00ccff; font-size:16px; font-weight:bold;\">Historic<\/div>\n          <img decoding=\"async\" src=\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20250612_075344_Gallery.jpg\" style=\"width:65px; height:65px; border-radius:50%; box-shadow:0 0 12px #00ccff;\">\n        <\/div>\n      <\/div>\n\n      <!-- TOP (Eco-Stay) -->\n      <div class=\"face top\" style=\"width:180px; height:180px; background:#000; border:2px solid green; box-shadow:0 0 15px #33ff33; position:absolute; transform:rotateX(90deg) translateZ(90px); font-family:Orbitron;\">\n        <button onclick=\"showHostButtons('ecostay-one')\" style=\"position:absolute; top:8px; left:27px; width:126px; height:17px; border:1px solid green; color:white; background:transparent;\">1-3 Days<\/button>\n        <button onclick=\"showHostButtons('ecostay-five')\" style=\"position:absolute; bottom:8px; left:27px; width:126px; height:17px; border:1px solid green; color:white; background:transparent;\">4-6 Days<\/button>\n        <button onclick=\"showHostButtons('ecostay-seven')\" style=\"position:absolute; top:27px; left:8px; height:126px; width:17px; border:1px solid green; color:white; writing-mode:vertical-rl; background:transparent;\">7 Days<\/button>\n        <button onclick=\"showHostButtons('ecostay-month')\" style=\"position:absolute; top:27px; right:8px; height:126px; width:17px; border:1px solid green; color:white; writing-mode:vertical-lr; background:transparent;\">1 Month<\/button>\n        <div style=\"position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); text-align:center;\">\n          <div style=\"color:#33ff33; font-size:16px; font-weight:bold;\">Eco-Stay<\/div>\n          <img decoding=\"async\" src=\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20250612_075305_Gallery.jpg\" style=\"width:65px; height:65px; border-radius:50%; box-shadow:0 0 12px #33ff33;\">\n        <\/div>\n      <\/div>\n\n      <!-- BOTTOM (Mansions) -->\n      <div class=\"face bottom\" style=\"width:180px; height:180px; background:#000; border:2px solid red; box-shadow:0 0 15px red; position:absolute; transform:rotateX(-90deg) translateZ(90px); font-family:Orbitron;\">\n        <button onclick=\"showHostButtons('mansions-one')\" style=\"position:absolute; top:8px; left:27px; width:126px; height:17px; border:1px solid red; color:white; background:transparent;\">1-3 Days<\/button>\n        <button onclick=\"showHostButtons('mansions-five')\" style=\"position:absolute; bottom:8px; left:27px; width:126px; height:17px; border:1px solid red; color:white; background:transparent;\">4-6 Days<\/button>\n        <button onclick=\"showHostButtons('mansions-seven')\" style=\"position:absolute; top:27px; left:8px; height:126px; width:17px; border:1px solid red; color:white; writing-mode:vertical-rl; background:transparent;\">7 Days<\/button>\n        <button onclick=\"showHostButtons('mansions-month')\" style=\"position:absolute; top:27px; right:8px; height:126px; width:17px; border:1px solid red; color:white; writing-mode:vertical-lr; background:transparent;\">1 Month<\/button>\n        <div style=\"position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); text-align:center;\">\n          <div style=\"color:red; font-size:16px; font-weight:bold;\">Mansions<\/div>\n          <img decoding=\"async\" src=\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20250612_075325_Gallery.jpg\" style=\"width:65px; height:65px; border-radius:50%; box-shadow:0 0 12px red;\">\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n\n  <!-- MAPA CIRCULAR -->\n  <div id=\"glowMapContainer\" style=\"opacity:1; pointer-events:auto; transition: opacity 0.6s ease; margin: 0 auto; margin-top: -95px; margin-bottom: 40px; width: 320px; height: 320px; border-radius: 50%; overflow: hidden; border: 6px solid rgba(0,255,255,0.6); box-shadow: 0 0 25px cyan; position: relative; z-index: 900;\">\n    <div id=\"googleMap\" style=\"width:100%; height:100%;\"><\/div>\n  <\/div>\n<\/div>\n\n<!-- Google Maps API (clave v\u00e1lida y correcta) -->\n<script src=\"https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyDLPhx98z9AgoqXS6VeoESE9NV6URuOhiE&#038;callback=initMap\" async defer><\/script>\n\n<script>\n  function activateaccomodationsCube() {\n    \/\/ Oculta el grid de opciones\n    const rrGrid = document.getElementById(\"rrGrid\");\n    if (rrGrid) {\n      rrGrid.style.display = \"none\";\n    }\n\n    \/\/ Muestra el contenedor del cubo\n    const container = document.getElementById(\"accomodationsCubeContainer\");\n    if (container) {\n      container.style.opacity = \"1\";\n      container.style.pointerEvents = \"auto\";\n    }\n\n    \/\/ Muestra el mapa\n    const map = document.getElementById(\"glowMapContainer\");\n    if (map) {\n      map.style.opacity = \"1\";\n      map.style.pointerEvents = \"auto\";\n    }\n\n    \/\/ Reinicia el mapa si es necesario\n    if (typeof initMap === \"function\") {\n      initMap();\n    }\n  }\n<\/script>\n<script>\n function initMap() {\n  const map = new google.maps.Map(document.getElementById(\"googleMap\"), {\n    center: { lat: 6.2414088, lng: -75.22951 },  \/\/ Bliss Glamping\n    zoom: 15,\n    disableDefaultUI: true,\n    gestureHandling: \"greedy\"\n  });\n\n  \/\/ \ud83d\udfe2 Add this to show the marker\n  const marker = new google.maps.Marker({\n    position: { lat: 6.2414088, lng: -75.22951 },\n    map: map,\n    title: \"Bliss Glamping\"\n  });\n\n  \/\/ Optional: save the map to global variable if needed later\n  window.ggMap = map;\n}\n<\/script>\n<!-- POP-UP para Bliss Coin -->\n<div id=\"blissCoinPopup\" style=\"display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.9); z-index:9999; justify-content:center; align-items:center; font-family:Orbitron;\">\n  <div style=\"background:#111; padding:30px 20px; border:2px solid cyan; border-radius:20px; color:white; width:300px; text-align:center; box-shadow:0 0 20px cyan;\">\n    <h3 style=\"font-size:18px;\">\ud83d\udcb3 Pay with Bliss Coin<\/h3>\n    <p style=\"font-size:14px;\">Enter your digital wallet #:<\/p>\n    <input type=\"text\" placeholder=\"Your Wallet #\" style=\"width:90%; padding:8px; border-radius:10px; border:1px solid white; background:#000; color:white; margin-top:8px;\" \/>\n    <p style=\"margin-top:14px;\">Send payment to:<\/p>\n    <div style=\"margin:8px auto; padding:6px; background:#222; border:1px solid cyan; border-radius:8px;\">\n      <code style=\"font-size:13px;\">HOST-WALLET-ADDRESS-123<\/code>\n    <\/div>\n    <button onclick=\"closeBlissCoinPopup()\" style=\"margin-top:12px; padding:6px 16px; border-radius:10px; background:cyan; border:none; color:#000; font-weight:bold; cursor:pointer;\">\n      Close\n    <\/button>\n  <\/div>\n<\/div>\n\n<script>\n  function openBlissCoinPopup() {\n    document.getElementById('blissCoinPopup').style.display = 'flex';\n  }\n  function closeBlissCoinPopup() {\n    document.getElementById('blissCoinPopup').style.display = 'none';\n  }\n<\/script>\n\n\n\n<!-- =========================================\nACCOMODATIONS \u2014 PREVIEW ON MAP (ONE-BLOCK VERSION)\n- Click any .host-circle inside #hostButtons\n- Shows \"See Preview\" button\n- Clicking the button opens a circular media preview (image or video) centered on the map\n- Edit media in PREVIEW_MEDIA below\n========================================= -->\n<script id=\"ggg-accomodations-preview-oneblock\">\n(() => {\n  \/* ============ 1) EDIT YOUR MEDIA HERE ============ *\/\n  const PREVIEW_MEDIA = {\n    \/\/ HIGH-RISE (beige)\n    \"highrise-one\":   { type:\"image\", src:\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20250609_201035_One-UI-Home.jpg\" },\n    \"highrise-five\":  { type:\"image\", src:\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20240821_173212_Instagram.jpg\" },\n    \"highrise-seven\": { type:\"image\", src:\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20240823_233326_Chrome.jpg\" },\n    \"highrise-month\": { type:\"image\", src:\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20240824_022520_PowerPoint.jpg\" },\n\n    \/\/ HISTORIC (cyan)\n    \"historic-one\":   { type:\"image\", src:\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20250609_201035_One-UI-Home.jpg\" },\n    \"historic-five\":  { type:\"image\", src:\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20240821_175227_Instagram.jpg\" },\n    \"historic-seven\": { type:\"image\", src:\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20240823_214134_Google.jpg\" },\n    \"historic-month\": { type:\"image\", src:\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20240824_035333_PowerPoint.jpg\" },\n\n    \/\/ ECO-STAY (green)\n    \"ecostay-one\":    { type:\"image\", src:\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20250609_201035_One-UI-Home.jpg\" },\n    \"ecostay-five\":   { type:\"image\", src:\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20240823_214134_Google.jpg\" },\n    \"ecostay-seven\":  { type:\"video\", src:\"https:\/\/youtu.be\/dQw4w9WgXcQ\" }, \/* example video *\/\n    \"ecostay-month\":  { type:\"image\", src:\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20240824_022932_PowerPoint.jpg\" },\n\n    \/\/ MANSIONS (red)\n    \"mansions-one\":   { type:\"image\", src:\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20250609_201035_One-UI-Home.jpg\" },\n    \"mansions-five\":  { type:\"image\", src:\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20240824_022520_PowerPoint.jpg\" },\n    \"mansions-seven\": { type:\"video\", src:\"https:\/\/www.instagram.com\/reel\/Cu5CJ2TscIt\/\" }, \/* non-embeddable \u2192 opens link *\/\n    \"mansions-month\": { type:\"image\", src:\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20240824_022520_PowerPoint.jpg\" }\n  };\n\n  \/* ============ 2) INTERNALS (no edits needed) ============ *\/\n  let state = { key:null, type:null, src:null, title:null };\n\n  const until = (fn, timeout=8000, every=120) => new Promise((res, rej) => {\n    const t0 = performance.now();\n    const tick = () => {\n      const out = fn();\n      if (out) return res(out);\n      if (performance.now() - t0 > timeout) return rej(new Error(\"timeout\"));\n      setTimeout(tick, every);\n    };\n    tick();\n  });\n\n  const getBgURL = (el) => {\n    const bg = (getComputedStyle(el).backgroundImage || \"\").trim();\n    return bg.replace(\/^url\\((['\"]?)(.*)\\1\\)$\/,\"$2\");\n  };\n\n  const make = (tag, attrs = {}, html = \"\") => {\n    const el = document.createElement(tag);\n    Object.entries(attrs).forEach(([k, v]) => el.setAttribute(k, v));\n    if (html) el.innerHTML = html;\n    return el;\n  };\n\n  const embedFrom = (url) => {\n    const yt = url.match(\/(?:youtu\\.be\\\/|youtube\\.com\\\/watch\\?v=)([\\w\\-]+)\/i);\n    const vm = url.match(\/vimeo\\.com\\\/(\\d+)\/i);\n\n    if (yt) {\n      return `<iframe src=\"https:\/\/www.youtube.com\/embed\/${yt[1]}?rel=0&#038;playsinline=1\"\n        allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n        allowfullscreen><\/iframe>`;\n    }\n    if (vm) {\n      return `<iframe src=\"https:\/\/player.vimeo.com\/video\/${vm[1]}\"\n        allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write\"\n        allowfullscreen><\/iframe>`;\n    }\n\n    \/\/ Instagram reels \/ blocked embeds \u2192 just a link\n    return `<a href=\"${url}\" target=\"_blank\"\n      style=\"color:#00ffff; font-weight:900; text-decoration:underline;\">Open video<\/a>`;\n  };\n\n  function injectStyles() {\n    if (document.getElementById(\"accom-preview-styles\")) return;\n    const css = `\n#glowMapContainer{ position:relative; }\n#accomSeePreview{\n  position:absolute; left:50%; bottom:10px; transform:translateX(-50%);\n  padding:8px 14px; border-radius:999px;\n  border:2px solid rgba(0,255,255,.7);\n  background:rgba(0,0,0,.65);\n  color:#eafcff;\n  font-family:Orbitron,system-ui,sans-serif;\n  font-weight:900;\n  letter-spacing:.2px;\n  box-shadow:0 0 16px rgba(0,255,255,.45);\n  cursor:pointer; z-index:1200; display:none;\n}\n#accomSeePreview:hover{ box-shadow:0 0 22px rgba(0,255,255,.85); }\n\n#accomPreviewOverlay{\n  position:absolute; inset:0; display:none; place-items:center;\n  background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.30), rgba(0,0,0,.65) 70%);\n  z-index:1300;\n}\n\n.accom-preview-circle{\n  width: clamp(200px, 62%, 300px);\n  aspect-ratio:1\/1;\n  border-radius:50%;\n  border:4px solid rgba(0,255,255,.75);\n  box-shadow: 0 0 28px rgba(0,255,255,.6), inset 0 0 22px rgba(0,255,255,.25);\n  background:#000; overflow:hidden; position:relative;\n  display:grid; place-items:center;\n}\n\n.accom-closeX{\n  position:absolute; top:6px; right:8px; z-index:2;\n  border:0;\n  background:rgba(0,0,0,.55);\n  color:#9fefff;\n  font-size:20px;\n  font-weight:900;\n  width:28px; height:28px;\n  border-radius:50%;\n  cursor:pointer;\n  line-height:26px;\n  box-shadow:0 0 10px rgba(0,255,255,.35);\n}\n\n#accomPreviewMedia{ width:92%; height:92%; display:grid; place-items:center; }\n#accomPreviewMedia img{ width:100%; height:100%; object-fit:cover; border-radius:50%; display:block; }\n#accomPreviewMedia iframe{ width:100%; height:100%; border:0; border-radius:50%; }\n`;\n    document.head.appendChild(make(\"style\", { id: \"accom-preview-styles\" }, css));\n  }\n\n  function mountUI(mapWrap) {\n    if (document.getElementById(\"accomSeePreview\")) return;\n    const btn = make(\"button\", { id: \"accomSeePreview\", \"aria-haspopup\": \"dialog\" }, \"\ud83d\udc41\ufe0f See Preview\");\n    const overlay = make(\"div\", { id: \"accomPreviewOverlay\", \"aria-hidden\": \"true\" });\n\n    overlay.innerHTML = `\n      <div class=\"accom-preview-circle\" role=\"dialog\" aria-label=\"Map preview\">\n        <button class=\"accom-closeX\" aria-label=\"Close preview\">\u00d7<\/button>\n        <div id=\"accomPreviewMedia\"><\/div>\n      <\/div>\n    `;\n\n    mapWrap.appendChild(btn);\n    mapWrap.appendChild(overlay);\n\n    const media = document.getElementById(\"accomPreviewMedia\");\n    const closeBtn = overlay.querySelector(\".accom-closeX\");\n\n    btn.addEventListener(\"click\", () => {\n      if (!state.src) return;\n\n      if (state.type === \"video\") {\n        media.innerHTML = embedFrom(state.src);\n      } else {\n        media.innerHTML = `<img decoding=\"async\" src=\"${state.src}\" alt=\"${state.title || \"Preview\"}\">`;\n      }\n      overlay.style.display = \"grid\";\n      overlay.setAttribute(\"aria-hidden\", \"false\");\n    });\n\n    const close = () => {\n      overlay.style.display = \"none\";\n      overlay.setAttribute(\"aria-hidden\", \"true\");\n      media.innerHTML = \"\";\n    };\n\n    closeBtn.addEventListener(\"click\", close);\n    overlay.addEventListener(\"click\", (e) => { if (e.target === overlay) close(); });\n    window.addEventListener(\"keydown\", (e) => { if (e.key === \"Escape\") close(); }, { passive: true });\n\n    return { btn };\n  }\n\n  function hookCircles(btnRef) {\n    const wrap = document.getElementById(\"hostButtons\"); \/\/ \u2705 Accomodations circles container\n    if (!wrap) return;\n\n    wrap.addEventListener(\"click\", (e) => {\n      const el = e.target.closest(\".host-circle\");\n      if (!el) return;\n\n      \/\/ Find a class that matches PREVIEW_MEDIA keys\n      const classList = [...el.classList];\n      const key = classList.find(c => PREVIEW_MEDIA[c]) || null;\n\n      const title = el.getAttribute(\"title\") || key || \"\";\n      const fallbackImg = getBgURL(el);\n\n      \/\/ Use PREVIEW_MEDIA when available, otherwise fallback to circle background\n      if (key && PREVIEW_MEDIA[key]) {\n        state = {\n  key,\n  type: \"image\",\n  src: fallbackImg,\n  title\n        };\n      } else {\n        state = { key:null, type:\"image\", src: fallbackImg, title };\n      }\n\n      \/\/ Show CTA\n      if (btnRef) btnRef.style.display = state.src ? \"block\" : \"none\";\n\n      \/\/ Optional: recenter map if you stored lat\/lng on the circle\n      const lat = parseFloat(el.dataset.lat);\n      const lng = parseFloat(el.dataset.lng);\n      if (Number.isFinite(lat) && Number.isFinite(lng)) {\n        if (typeof window.focusOnHost === \"function\") {\n          window.focusOnHost(lat, lng);\n        } else if (window.ggMap && window.google) {\n          const pos = new google.maps.LatLng(lat, lng);\n          window.ggMap.setCenter(pos);\n          window.ggMap.setZoom(15);\n          new google.maps.Marker({ position: pos, map: window.ggMap });\n        }\n      }\n    }, { passive: true });\n  }\n\n  async function boot() {\n    try {\n      injectStyles();\n      const mapWrap = await until(() => document.getElementById(\"glowMapContainer\"));\n      const refs = mountUI(mapWrap);\n\n      await until(() => document.getElementById(\"hostButtons\"));\n      hookCircles(refs?.btn);\n\n      \/\/ If WP re-renders\n      new MutationObserver(() => {\n        if (!document.getElementById(\"accomSeePreview\") && document.getElementById(\"glowMapContainer\")) {\n          const nrefs = mountUI(document.getElementById(\"glowMapContainer\"));\n          hookCircles(nrefs?.btn);\n        }\n      }).observe(document.body, { childList: true, subtree: true });\n\n      console.log(\"%c[Accomodations Preview] Ready\", \"color:#0ff\");\n    } catch (e) {\n      console.warn(\"[Accomodations Preview] init failed:\", e);\n    }\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", boot);\n  } else {\n    boot();\n  }\n})();\n<\/script>\n\n\n\n<!-- ESTILOS -->\n<style>\n  #floatingButtons {\n    position: fixed;\n    top: 14px;\n    right: 14px;\n    display: flex;\n    flex-direction: row;\n    gap: 10px;\n    z-index: 3000;\n  }\n\n  #favoritesBtn, #signinBtn {\n    font-size: 15px;\n    padding: 6px 10px;\n    border-radius: 8px;\n    border: 2px solid white;\n    color: white;\n    background: rgba(0, 0, 0, 0.6);\n    cursor: pointer;\n    box-shadow: 0 0 8px cyan;\n    font-family: Orbitron;\n  }\n\n  #favoritesBtn:hover::after {\n    content: ' Double click a Host to add \ud83d\udc98';\n    font-size: 10px;\n    margin-left: 8px;\n    color: cyan;\n  }\n\n  #signinBtn:hover::after {\n    content: ' Sign in to save your Favorites';\n    font-size: 10px;\n    margin-left: 8px;\n    color: cyan;\n  }\n#pyramidBtn {\n    width: 38px;\n    height: 38px;\n    background-color: black;\n    border: 2px solid white;\n    border-radius: 50%;\n    box-shadow: 0 0 10px cyan; \/* glow *\/\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    font-size: 20px; \/* emoji size *\/\n    cursor: pointer;\n    margin-top: 2px; \/* align with rose *\/\n  }\n\n  #pyramidBtn:hover {\n    transform: scale(1.2);\n  }\n\n  #swipeImage {\n    position: fixed;\n    top: 0;\n    left: 50%;\n    transform: translateX(-50%);\n    width: 160px;\n    z-index: 1200;\n    display: none;\n  }\n#swipeImage {\n  display: none !important;\n}\n\n<\/style>\n\n<!-- BOTONES FLOTANTES -->\n<div id=\"floatingButtons\">\n<button\n    id=\"pyramidBtn\"\n    title=\"Back to MedaYork Pyramid\"\n    onclick=\"window.location.href='https:\/\/godsgalaxygame.com\/GGG\/medayork-pyramid-2\/';\">\n    \ud83e\uddca\n  <\/button>\n  <button id=\"favoritesBtn\">\ud83d\udc96<\/button>\n  <button id=\"signinBtn\">Sign In \/ Sign Up<\/button>\n<\/div>\n\n<!-- IMAGEN DE SWIPE -->\n<img decoding=\"async\" id=\"swipeImage\" src=\"https:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/06\/Screenshot_20250627_154147_Gallery.jpg\" alt=\"Swipe\" \/>\n\n<!-- SCRIPT DE FUNCIONALIDAD -->\n<script>\n  \/\/ Movimiento del cubo Accomodations\n  let isDragging = false, startX, startY, rotateX = 0, rotateY = 0;\n  const cube = document.getElementById('accomodationsCube');\n\n  function updateRotation(x, y) {\n    cube.style.transform = `rotateX(${x}deg) rotateY(${y}deg)`;\n  }\n\n  function onMouseDown(e) {\n    isDragging = true;\n    startX = e.clientX;\n    startY = e.clientY;\n  }\n\n  function onMouseMove(e) {\n    if (!isDragging) return;\n    const deltaX = e.clientX - startX;\n    const deltaY = e.clientY - startY;\n    rotateY += deltaX * 0.5;\n    rotateX -= deltaY * 0.5;\n    updateRotation(rotateX, rotateY);\n    startX = e.clientX;\n    startY = e.clientY;\n  }\n\n  function onMouseUp() {\n    isDragging = false;\n  }\n\n  function onTouchStart(e) {\n    isDragging = true;\n    startX = e.touches[0].clientX;\n    startY = e.touches[0].clientY;\n  }\n\n  function onTouchMove(e) {\n    if (!isDragging) return;\n    const deltaX = e.touches[0].clientX - startX;\n    const deltaY = e.touches[0].clientY - startY;\n    rotateY += deltaX * 0.5;\n    rotateX -= deltaY * 0.5;\n    updateRotation(rotateX, rotateY);\n    startX = e.touches[0].clientX;\n    startY = e.touches[0].clientY;\n  }\n\n  function onTouchEnd() {\n    isDragging = false;\n  }\n\n  const cubeContainer = document.querySelector('.cube-scene');\n  if (cubeContainer) {\n    cubeContainer.addEventListener('mousedown', onMouseDown);\n    window.addEventListener('mousemove', onMouseMove);\n    window.addEventListener('mouseup', onMouseUp);\n    cubeContainer.addEventListener('touchstart', onTouchStart);\n    window.addEventListener('touchmove', onTouchMove);\n    window.addEventListener('touchend', onTouchEnd);\n  }\n\n  \/\/ Mostrar swipe cuando aparece el cubo\n  const observer = new MutationObserver(() => {\n    const transport = document.getElementById('accomodationsCubeContainer');\n    if (accomodations && accomodations.style.opacity === \"1\") {\n      const swipe = document.getElementById('swipeImage');\n      swipe.style.display = 'block';\n      setTimeout(() => {\n        swipe.style.display = 'none';\n      }, 3500);\n      observer.disconnect();\n    }\n  });\n  observer.observe(document.body, { childList: true, subtree: true });\n\n  \/\/ Sistema de favoritos \ud83d\udc96 \u2192 \ud83d\udc98\n  const favorites = [];\n\n  function toggleFavorite(id, imgUrl, mapLat, mapLng) {\n    if (!favorites.some(f => f.id === id)) {\n      favorites.push({ id, imgUrl, lat: mapLat, lng: mapLng });\n      document.getElementById(\"favoritesBtn\").textContent = \"\ud83d\udc98\";\n      console.log(\"Favorito agregado:\", id);\n    }\n  }\n\n  function clearFavorites() {\n    favorites.length = 0;\n    document.getElementById(\"favoritesBtn\").textContent = \"\ud83d\udc96\";\n  }\nfunction handleReserveClick() {\n  \/\/ Use favorites if they exist, otherwise empty array\n  const selected = Array.isArray(favorites) ? favorites : [];\n\n  \/\/ If there ARE favorites \u2192 send email\n  if (selected.length > 0) {\n    const lines = selected.map((f, i) =>\n      `${i + 1}. ${f.id} (${f.lat}, ${f.lng})`\n    );\n\n    const subject = encodeURIComponent(\"GGG \u2013 Selected Hosts\");\n    const body = encodeURIComponent(\n      \"User selected the following hosts:\\n\\n\" +\n      lines.join(\"\\n\")\n    );\n\n    \/\/ Send email\n    window.location.href =\n      `mailto:edwardraigozallc@gmail.com?subject=${subject}&body=${body}`;\n  }\n\n  \/\/ ALWAYS go to Travel Club (favorites or not)\n  setTimeout(() => {\n    window.location.href =\n      \"https:\/\/godsgalaxygame.com\/GGG\/medayork-pyramid-2\/?travelclub=1\";\n  }, 600);\n}\n\n\n  function focusOnHost(lat, lng) {\n    if (window.ggMap) {\n      window.ggMap.setCenter({ lat, lng });\n      window.ggMap.setZoom(15);\n      new google.maps.Marker({ position: { lat, lng }, map: window.ggMap });\n    }\n  }\n\n  document.getElementById(\"favoritesBtn\").addEventListener(\"click\", () => {\n    if (favorites.length === 0) return;\n    document.querySelectorAll('.host-circle').forEach(btn => btn.style.display = 'none');\n    favorites.forEach(fav => {\n      const existing = document.querySelector(`.${fav.id}`);\n      if (existing) existing.style.display = 'inline-block';\n    });\n  });\n<\/script>\n\n\n\n<!-- HOST CIRCLES \u2014 CSS (Accommodations) -->\n<style>\n  #hostButtons{\n    display:none;                 \/* hidden until a sub-option is clicked *\/\n    position:absolute;\n    top:50%; left:50%;\n    transform:translate(-50%,-50%);\n    width:100%; max-width:500px; height:500px;\n    pointer-events:none;          \/* turned ON in JS when shown *\/\n    z-index:3000;\n  }\n\n  \/* buttons *\/\n  #hostButtons .host-circle{\n    width:80px; height:80px; border-radius:50%;\n    border:2px solid #fff; box-shadow:0 0 14px #fff;\n    background-size:cover; background-position:center;\n    position:absolute; pointer-events:auto; cursor:pointer;\n    transition:transform .3s, box-shadow .3s;\n  }\n  #hostButtons .host-circle:hover{ transform:scale(1.15); box-shadow:0 0 20px cyan; }\n\n  \/* desktop placement (around the circle) *\/\n  #hostButtons .one    { top:4%;    left:10%; }\n  #hostButtons .five   { top:4%;    right:10%; }\n  #hostButtons .seven  { bottom:8%; left:10%; }\n  #hostButtons .month  { bottom:8%; right:10%; }\n\n  \/* color accents per family (match cube face glows) *\/\n  #hostButtons .highrise { border-color:beige;   box-shadow:0 0 14px beige; }\n  #hostButtons .historic { border-color:#00ccff; box-shadow:0 0 14px #00ccff; }\n  #hostButtons .ecostay  { border-color:#33ff33; box-shadow:0 0 14px #33ff33; }\n  #hostButtons .mansions { border-color:red;     box-shadow:0 0 14px red; }\n\n  \/* phone: turn into one row under the map *\/\n  @media (max-width:768px){\n    #hostButtons{\n      position:relative; top:auto; left:auto; transform:none;\n      height:auto; margin-top:-35px;\n      display:none;               \/* still hidden by default *\/\n      flex-wrap:nowrap; justify-content:center; gap:10px;\n    }\n    #hostButtons .host-circle{ position:relative; width:75px; height:75px; margin:0 6px; }\n  }\n\n<\/style>\n\n<!-- HOST CIRCLES \u2014 HTML (Accommodations: High-Rise\n \/ Historic \/ Eco-Stay \/ Mansions) -->\n<div id=\"hostButtons\">\n  <!-- HIGH-RISE (beige) -->\n  <button class=\"host-circle highrise highrise-one one\"\n    data-lat=\"6.241568778606768\" data-lng=\"-75.22695655776336\"\n    style=\"background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/07\/Screenshot_20250713_165526_Instagram.jpg');\"\n    title=\"High-Rise \u2022 1\u20133 Days\"><\/button>\n\n  <button class=\"host-circle highrise highrise-five five\"\n    data-lat=\"6.241568778606768\" data-lng=\"-75.22695655776336\"\n    style=\"background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/07\/Screenshot_20250713_165526_Instagram.jpg');\"\n    title=\"High-Rise \u2022 4\u20136 Days\"><\/button>\n\n  <button class=\"host-circle highrise highrise-seven seven\"\n    data-lat=\"6.24267\" data-lng=\"-75.22668\"\n    style=\"background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/12\/Screenshot_20251205_124508_Gallery.jpg');\"\n    title=\"High-Rise \u2022 7 Days\"><\/button>\n\n  <button class=\"host-circle highrise highrise-month month\"\n    data-lat=\"6.24267\" data-lng=\"-75.22668\"\n    style=\"background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/12\/Screenshot_20251205_124508_Gallery.jpg');\"\n    title=\"High-Rise \u2022 1 Month\"><\/button>\n\n  <!-- HISTORIC (cyan) -->\n  <button class=\"host-circle historic historic-one one\"\n    data-lat=\"6.23796\" data-lng=\"-75.21421\"\n    style=\"background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/12\/Screenshot_20251220_133742_Gallery-scaled.jpg');\"\n    title=\"Historic \u2022 1\u20133 Days\"><\/button>\n\n  <button class=\"host-circle historic historic-five five\"\n    data-lat=\"6.23796\" data-lng=\"-75.21421\"\n    style=\"background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/12\/Screenshot_20251220_133742_Gallery-scaled.jpg');\"\n    title=\"Historic \u2022 4\u20136 Days\"><\/button>\n\n  <button class=\"host-circle historic historic-seven seven\"\n    data-lat=\"6.24006\" data-lng=\"-75.18750\"\n    style=\"background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/12\/Screenshot_20251220_134617_Maps.jpg');\"\n    title=\"Historic \u2022 7 Days\"><\/button>\n\n  <button class=\"host-circle historic historic-month month\"\n    data-lat=\"6.22670\" data-lng=\"-75.18056\"\n    style=\"background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/12\/Screenshot_20251220_134941_Google.jpg');\"\n    title=\"Historic \u2022 1 Month\"><\/button>\n\n  <!-- ECO-STAY (green) -->\n  <button class=\"host-circle ecostay ecostay-one one\"\n    data-lat=\"6.241568778606768\" data-lng=\"-75.22695655776336\"\n    style=\"background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/12\/Screenshot_20231228-073229_Instagram.jpg');\"\n    title=\"Eco-Stay \u2022 1\u20133 Days\"><\/button>\n\n  <button class=\"host-circle ecostay ecostay-five five\"\n    data-lat=\"6.241568778606768\" data-lng=\"-75.22695655776336\"\n    style=\"background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/12\/Screenshot_20231228-073229_Instagram.jpg');\"\n    title=\"Eco-Stay \u2022 4\u20136 Days\"><\/button>\n\n  <button class=\"host-circle ecostay ecostay-seven seven\"\n    data-lat=\"6.22879\" data-lng=\"-75.21184\"\n    style=\"background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/12\/Screenshot_20240824_063827_Chrome.jpg');\"\n    title=\"Eco-Stay \u2022 7 Days\"><\/button>\n\n  <button class=\"host-circle ecostay ecostay-month month\"\n    data-lat=\"6.22879\" data-lng=\"-75.21184\"\n    style=\"background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/12\/Screenshot_20240824_063827_Chrome.jpg');\"\n    title=\"Eco-Stay \u2022 1 Month\"><\/button>\n\n  <!-- MANSIONS (red) -->\n  <button class=\"host-circle mansions mansions-one one\"\n    data-lat=\"6.24203\" data-lng=\"-75.22696\"\n    style=\"background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/12\/Screenshot_20251205_124548_Gallery.jpg');\"\n    title=\"Mansions \u2022 1\u20133 Days\"><\/button>\n\n  <button class=\"host-circle mansions mansions-five five\"\n    data-lat=\"6.24203\" data-lng=\"-75.22696\"\n    style=\"background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/12\/Screenshot_20251205_124548_Gallery.jpg');\"\n    title=\"Mansions \u2022 4\u20136 Days\"><\/button>\n\n  <button class=\"host-circle mansions mansions-seven seven\"\n    data-lat=\"6.24203\" data-lng=\"-75.22696\"\n    style=\"background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/12\/Screenshot_20251205_124548_Gallery.jpg');\"\n    title=\"Mansions \u2022 7 Days\"><\/button>\n\n  <button class=\"host-circle mansions mansions-month month\"\n    data-lat=\"6.24203\" data-lng=\"-75.22696\"\n    style=\"background-image:url('http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/12\/Screenshot_20251205_124548_Gallery.jpg');\"\n    title=\"Mansions \u2022 1 Month\"><\/button>\n<\/div>\n\n<!-- HOST CIRCLES \u2014 JS (Accommodations) -->\n<script>\n  \/* Show only the requested key, e.g., 'highrise-one' *\/\n  function showHostButtons(suboption){\n    const wrap = document.getElementById('hostButtons');\n    if(!wrap) return;\n\n    \/\/ hide all\n    wrap.querySelectorAll('.host-circle').forEach(el => el.style.display = 'none');\n\n    \/\/ show only requested group (class names include exact key)\n    wrap.querySelectorAll('.' + suboption).forEach(el => el.style.display = 'inline-block');\n\n    \/\/ reveal the container and allow clicks\n    wrap.style.display = 'flex';\n    wrap.style.pointerEvents = 'auto';\n  }\n\n  \/\/ dbl-tap \/ dbl-click to favorite (uses your existing toggleFavorite)\n  document.addEventListener('DOMContentLoaded', () => {\n    document.querySelectorAll('#hostButtons .host-circle').forEach(btn => {\n      btn.addEventListener('dblclick', (e) => {\n        e.preventDefault();\n\n        \/\/ \u2705 Get the specific key like \"heli-around\" \/ \"yacht-goto\"\n        const id = [...btn.classList].find(c =>\n          c.includes('-') &&\n          !['host-circle','around','goto','emergency','adventure'].includes(c)\n        );\n\n        if (!id) {\n          console.warn(\"No favorite id found for button:\", btn.className);\n          return;\n        }\n\n        \/\/ background-image: url(\"...\") or url('...')\n        const bg = btn.style.backgroundImage || '';\n        const img = bg.startsWith('url(')\n          ? bg.slice(4, -1).replace(\/^[\"']|[\"']$\/g, '')\n          : '';\n\n        const lat = parseFloat(btn.dataset.lat);\n        const lng = parseFloat(btn.dataset.lng);\n\n        if (typeof toggleFavorite === 'function') {\n          toggleFavorite(id, img, lat, lng);\n        } else {\n          console.warn(\"toggleFavorite() is not defined yet.\");\n        }\n      });\n    });\n  });\n\n\n\n  \/* Center the map when any host circle is clicked *\/\n  document.addEventListener('click', function (e) {\n    const btn = e.target.closest('#hostButtons .host-circle');\n    if (!btn) return;\n\n    const lat = parseFloat(btn.dataset.lat);\n    const lng = parseFloat(btn.dataset.lng);\n    if (!Number.isFinite(lat) || !Number.isFinite(lng)) return;\n\n    if (typeof window.focusOnHost === 'function') {\n      focusOnHost(lat, lng);\n      return;\n    }\n\n    if (window.ggMap && window.google) {\n      const pos = new google.maps.LatLng(lat, lng);\n      ggMap.setCenter(pos);\n      ggMap.setZoom(15);\n      new google.maps.Marker({ position: pos, map: ggMap });\n    }\n  });\n<\/script>\n\n\n\n&#8211; AVATAR &#8211;>\n<div id=\"avatarContainer\" onclick=\"showAvatarCloud()\" \n     style=\"position:fixed; bottom:80px; right:20px; z-index:9999; cursor:pointer; display:none;\">\n  <img decoding=\"async\" src=\"http:\/\/godsgalaxygame.com\/GGG\/wp-content\/uploads\/2025\/07\/Screenshot_20231118-120724_Instagram-scaled.jpg\" \n       style=\"width:180px; height:auto; border-radius: 50% \/ 30%; object-fit: cover; box-shadow: 0 0 12px aqua; filter: invert(100%) contrast(120%) brightness(110%);\">\n<\/div>\n\n<!-- CLOUD BUBBLE -->\n<div id=\"avatarCloud\" style=\"position:fixed; bottom:310px; right:30px; max-width:250px; background:rgba(0,0,0,0.7); \n     color:white; font-family:Orbitron, sans-serif; font-size:12px; line-height:16px; border-radius:20px 20px 20px 0px; \n     padding:14px 16px; box-shadow:0 0 15px aqua; display:none; z-index:9999; text-align:center;\n     border: 1px solid aqua;\">\n  <div id=\"avatarCloudMsg\">Loading&#8230;<\/div>\n  <div style=\"margin-top:10px;\">\n    <button onclick=\"acceptAvatarSuggestion()\" style=\"background:lime; color:black; border:none; padding:6px 10px; font-weight:bold;\">Yes<\/button>\n    <button onclick=\"dismissAvatarCloud()\" style=\"background:aqua; color:white; border:none; padding:6px 10px; font-weight:bold;\">No<\/button>\n  <\/div>\n  <div style=\"position:absolute; bottom:-18px; right:10px; width:0; height:0; border-left:10px solid transparent; \n              border-right:10px solid transparent; border-top:18px solid rgba(0,255,255,0.6); filter:blur(0.5px);\">\n  <\/div>\n<\/div>\n\n<!-- MOBILE ASSISTANT BUTTON -->\n<div id=\"avatarMobileBtn\" onclick=\"toggleMobileAvatar()\" style=\"display:none;\">\n  \ud83d\udc64 Assistant\n<\/div>\n\n<!-- ESTILOS -->\n<style>\n  #avatarMobileBtn {\n    position: fixed;\n    bottom: 18px;\n    right: 18px;\n    z-index: 9999;\n    background: rgba(0, 0, 0, 0.7);\n    color: white;\n    font-family: Orbitron, sans-serif;\n    font-size: 13px;\n    padding: 10px 14px;\n    border: 2px solid aqua;\n    border-radius: 14px;\n    box-shadow: 0 0 12px aqua;\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n  }\n\n  @media (min-width: 769px) {\n    #avatarMobileBtn {\n      display: none !important;\n    }\n  }\n\n  @media (max-width: 768px) {\n    #avatarContainer {\n      bottom: 30px !important;\n      right: 90px !important;\n      width: 100px !important;\n      display: none;\n      pointer-events: none;\n    }\n\n    #avatarContainer img {\n      width: 100%;\n      height: auto;\n      border-radius: 50% \/ 30%;\n      object-fit: cover;\n      filter: grayscale(0%) brightness(1.1) contrast(1.2);\n      box-shadow: 0 0 12px aqua;\n    }\n  }\n\n  @media (min-width: 769px) {\n    #avatarContainer {\n      pointer-events: auto;\n    }\n  }\n<\/style>\n\n<!-- L\u00d3GICA -->\n<script>\n  const entertainmentQuestions = [\n    \"Ready to see what\u2019s out there today?\",\n    \"Want entertainment options nearby?\",\n    \"Looking for something fun to do?\",\n    \"Need ideas for your free time?\",\n    \"Want something exciting tonight?\"\n  ];\n\n  const gastronomyQuestions = [\n    \"Want to see gastronomy options nearby?\",\n    \"Ready to have dinner tonight?\",\n    \"Would you like some brunch spots?\",\n    \"Hungry for something special?\",\n    \"Looking for restaurants around you?\"\n  ];\n\n  function showAvatarCloud(forcedType = null) {\n    const hour = new Date().getHours();\n    const type = forcedType || (hour % 2 === 0 ? \"gastronomy\" : \"entertainment\");\n    const question = (type === \"gastronomy\" ? gastronomyQuestions : entertainmentQuestions)[Math.floor(Math.random() * 5)];\n\n    document.getElementById(\"avatarCloudMsg\").innerText = question;\n    document.getElementById(\"avatarCloud\").style.display = \"block\";\n  }\n\n  function acceptAvatarSuggestion() {\n    dismissAvatarCloud();\n    alert(\"\u2705 Showing Aries recommendations near you...\");\n  }\n\n  function dismissAvatarCloud() {\n    document.getElementById(\"avatarCloud\").style.display = \"none\";\n  }\n\n  \/\/ \ud83d\udcbb Show avatar automatically after 3 seconds (desktop only)\n  function showAvatarAssistant() {\n    const avatar = document.getElementById(\"avatarContainer\");\n    if (window.innerWidth > 768) {\n      avatar.style.display = \"block\";\n      avatar.style.pointerEvents = \"auto\";\n    }\n  }\n  setTimeout(showAvatarAssistant, 3000);\n\n  \/\/ \ud83d\udcf1 Toggle mobile avatar on\/off\n  let avatarVisible = false;\n  function toggleMobileAvatar() {\n    const avatar = document.getElementById(\"avatarContainer\");\n    const btn = document.getElementById(\"avatarMobileBtn\");\n\n    if (!avatarVisible) {\n      avatar.style.display = \"block\";\n      avatar.style.pointerEvents = \"auto\";\n      showAvatarCloud();\n      btn.innerHTML = \"\u274c Close\";\n    } else {\n      avatar.style.display = \"none\";\n      avatar.style.pointerEvents = \"none\";\n      dismissAvatarCloud();\n      btn.innerHTML = \"\ud83d\udc64 Assistant\";\n    }\n\n    avatarVisible = !avatarVisible;\n  }\n\n  \/\/ \ud83d\udcf1 Show mobile button on load\n  window.addEventListener(\"load\", () => {\n    if (window.innerWidth <= 768) {\n      document.getElementById(\"avatarMobileBtn\").style.display = \"flex\";\n    }\n  });\n<\/script>\n\n\n\n<!-- =========================================\nCIRCLE WALLET CONTROL PANEL (FINAL FIXED)\nURL: ?walletpanel=1\n========================================= -->\n\n<style>\n\/* ===== BASE ===== *\/\n#walletPanel{\n  display:none;\n}\n\n\/* ===== ACTIVATE ===== *\/\nbody.ggg-wallet-open{\n  margin:0 !important;\n  overflow:hidden !important;\n  background:#02050d !important;\n}\n\n\/* PANEL AS FULL OVERLAY *\/\nbody.ggg-wallet-open #walletPanel{\n  display:flex !important;\n  flex-direction:column !important;\n  position:fixed !important;\n  inset:0 !important;\n  z-index:2147483647 !important;\n  overflow:hidden !important;\n  font-family:Arial;\n  color:white;\n  background:#02050d;\n}\n\n\/* ===== SCROLL AREA ===== *\/\n.walletScroll{\n  flex:1;\n  overflow-y:auto;\n  -webkit-overflow-scrolling:touch;\n  padding:30px;\n  padding-bottom:120px;\n}\n\n\/* ===== TITLE ===== *\/\n.walletTitle{\n  font-size:38px;\n  font-weight:900;\n  margin-bottom:20px;\n  color:#8deeff;\n}\n\n\/* ===== GRID ===== *\/\n.walletGrid{\n  display:grid;\n  grid-template-columns:repeat(2,1fr);\n  gap:20px;\n  max-width:1000px;\n}\n\n\/* ===== BOX ===== *\/\n.walletBox{\n  background:rgba(255,255,255,.05);\n  padding:20px;\n  border-radius:20px;\n  border:1px solid rgba(255,255,255,.1);\n}\n\n.walletBox h3{\n  margin-bottom:10px;\n  color:#f4d27a;\n}\n\n\/* ===== INPUT ===== *\/\n.walletBox input{\n  width:100%;\n  margin-bottom:10px;\n  padding:12px;\n  border-radius:12px;\n  border:none;\n  outline:none;\n  font-size:14px;\n}\n\n\/* ===== SAVE BAR ===== *\/\n.walletSaveBar{\n  position:fixed;\n  left:0;\n  right:0;\n  bottom:0;\n  z-index:2147483647;\n  padding:14px 20px;\n  background:rgba(2,5,13,.96);\n  border-top:1px solid rgba(141,238,255,.25);\n}\n\n\/* ===== SAVE BUTTON ===== *\/\n.saveBtn{\n  width:100%;\n  padding:16px;\n  border:none;\n  border-radius:18px;\n  background:#8deeff;\n  color:black;\n  font-weight:bold;\n  cursor:pointer;\n  font-size:16px;\n}\n\n\/* ===== MOBILE ===== *\/\n@media(max-width:700px){\n  .walletGrid{\n    grid-template-columns:1fr;\n  }\n\n  .walletScroll{\n    padding:26px 18px 130px;\n  }\n}\n<\/style>\n\n<script>\n(function(){\n  const params = new URLSearchParams(window.location.search);\n  const openWallet = params.get(\"walletpanel\") === \"1\";\n\n  if(openWallet){\n    document.addEventListener(\"DOMContentLoaded\", function(){\n      document.body.classList.add(\"ggg-wallet-open\");\n    });\n  }\n})();\n<\/script>\n\n<div id=\"walletPanel\">\n\n  <!-- SCROLLABLE CONTENT -->\n  <div class=\"walletScroll\">\n\n    <div class=\"walletTitle\">Circle Wallet Control Panel<\/div>\n\n    <div class=\"walletGrid\">\n\n      <!-- USER -->\n      <div class=\"walletBox\">\n        <h3>User Info<\/h3>\n        <input id=\"userName\" placeholder=\"User Name\">\n        <input id=\"avatarName\" placeholder=\"Avatar Name\">\n        <input id=\"avatarImage\" placeholder=\"Avatar Image URL\">\n      <\/div>\n\n      <!-- COINS -->\n      <div class=\"walletBox\">\n        <h3>Coins<\/h3>\n        <input id=\"travelCoins\" type=\"number\" placeholder=\"Travel Coins\">\n        <input id=\"blissCoin\" type=\"number\" placeholder=\"Bliss Coin\">\n      <\/div>\n\n      <!-- CITY CARD -->\n      <div class=\"walletBox\">\n        <h3>City Card<\/h3>\n        <input id=\"airHours\" type=\"number\" placeholder=\"Air Hours\">\n        <input id=\"aquaHours\" type=\"number\" placeholder=\"Aqua Hours\">\n        <input id=\"gastroCredits\" type=\"number\" placeholder=\"Gastro Credits\">\n        <input id=\"landIntervals\" type=\"number\" placeholder=\"Land Intervals\">\n      <\/div>\n\n      <!-- OWNERSHIP -->\n      <div class=\"walletBox\">\n        <h3>Ownership<\/h3>\n        <input id=\"propertyName\" placeholder=\"Property Name\">\n        <input id=\"weekNumber\" placeholder=\"Week Number\">\n        <input id=\"nightsTotal\" placeholder=\"Total Nights\">\n        <input id=\"nightsRemaining\" placeholder=\"Remaining Nights\">\n      <\/div>\n\n    <\/div>\n\n  <\/div>\n\n  <!-- FIXED SAVE BUTTON -->\n  <div class=\"walletSaveBar\">\n    <button class=\"saveBtn\" onclick=\"saveWallet()\">Save Wallet<\/button>\n  <\/div>\n\n<\/div>\n\n<script>\nfunction saveWallet(){\n  const wallet = {\n    userName: document.getElementById(\"userName\").value,\n    avatar:{\n      name: document.getElementById(\"avatarName\").value,\n      image: document.getElementById(\"avatarImage\").value\n    },\n    balances:{\n      travelCoins: Number(document.getElementById(\"travelCoins\").value || 0),\n      blissCoin: Number(document.getElementById(\"blissCoin\").value || 0),\n      airHours: Number(document.getElementById(\"airHours\").value || 0),\n      aquaHours: Number(document.getElementById(\"aquaHours\").value || 0),\n      gastroCredits: Number(document.getElementById(\"gastroCredits\").value || 0),\n      landIntervals: Number(document.getElementById(\"landIntervals\").value || 0)\n    },\n    ownership:{\n      propertyName: document.getElementById(\"propertyName\").value,\n      weekNumber: document.getElementById(\"weekNumber\").value,\n      nightsTotal: document.getElementById(\"nightsTotal\").value,\n      nightsRemaining: document.getElementById(\"nightsRemaining\").value\n    }\n  };\n\n  localStorage.setItem(\"ggg_wallet_admin\", JSON.stringify(wallet));\n\n  alert(\"Wallet Saved \u2714\");\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Would you like to see Thematic Tours of the area? Yes No \ud83c\udfe0 Accomodations \ud83d\udcb3 1-3 Days 4-6 Days 7 Days 1 Month High-Rise 1-3 Days 4-6 Days 7 Days 1 Month Historic 1-3 Days 4-6 Days 7 Days 1 Month Eco-Stay 1-3 Days 4-6 Days 7 Days 1 Month Mansions \ud83d\udcb3 Pay with Bliss [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2412","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/godsgalaxygame.com\/GGG\/wp-json\/wp\/v2\/pages\/2412","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/godsgalaxygame.com\/GGG\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/godsgalaxygame.com\/GGG\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/godsgalaxygame.com\/GGG\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/godsgalaxygame.com\/GGG\/wp-json\/wp\/v2\/comments?post=2412"}],"version-history":[{"count":104,"href":"https:\/\/godsgalaxygame.com\/GGG\/wp-json\/wp\/v2\/pages\/2412\/revisions"}],"predecessor-version":[{"id":8929,"href":"https:\/\/godsgalaxygame.com\/GGG\/wp-json\/wp\/v2\/pages\/2412\/revisions\/8929"}],"wp:attachment":[{"href":"https:\/\/godsgalaxygame.com\/GGG\/wp-json\/wp\/v2\/media?parent=2412"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}