{"product_id":"arteixo-piso-venta-ref-aa-799m-160","title":"ARTEIXO - PISO - VENTA - REF: AA\/799M - 160","description":"\u003cp\u003e\u003cstrong\u003e\u003cspan\u003eOKHOMES VENDE ✅\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eAmplio y luminoso piso en Venta en Villarrodis (Arteixo)\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eCARACTERÍSTICAS: 105 m2 construidos, 97 m2 (útiles)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eDISTRIBUCIÓN: \u003c\/strong\u003eUn precioso y amplio distribuidor nos da la bienvenida, distribuidor desde el que tenemos acceso a la zona de día, donde se encuentran una preciosa y amplia cocina, totalmente amueblada y equipada con electrodomésticos y un enorme y luminoso salón gracias a sus enormes ventanales casi de suelo a techo y que es la envidia por amplitud. \u003c\/p\u003e\n\u003cp\u003eUna puerta separa está zona de la zona de noche o descanso, donde se encuentran las 3 espaciosas y alegres habitaciones y el pasillo el baño completo y el aseo, ambos muy amplios y con ventana.\u003c\/p\u003e\n\u003cp\u003eLa vivienda combina suelos de tarima flotante y porcelánico en cocina y baños, dispone de calefacción gas ciudad. Ventanas oscilo batientes tipo climalit\u003c\/p\u003e\n\u003cp\u003eEnorme TRASTERO. (25m2)\u003c\/p\u003e\n\u003cp\u003eVivienda reformada\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003c\/strong\u003e\u003cstrong\u003eA DESTACAR:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003ePLAYA: 8 MINUTOS\u003c\/li\u003e\n\u003cli\u003eSERVICIOS PRÓXIMOS: COLEGIOS * FARMACIAS * SUPERMERCADOS\u003c\/li\u003e\n\u003cli\u003eACCESOS Y COMUNICACIONES: BUENOS * SERVICIO AUTOBÚS REGULAR\u003c\/li\u003e\n\u003cli\u003e\n\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eMUY ALEGRE Y SOLEADO!!\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cb\u003eAMUEBLADO \u003c\/b\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eCALIDAD\/SITUACION\/ESTADO\/PRECIO: BUENO!!\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e==================================\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003cstrong\u003e+ INFO y VISITA A ESTA PROPIEDAD EN EL\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003cstrong\u003e☎️ 622 238083\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003cstrong\u003e\u003cspan\u003eOKHOMES LA INMOBILIARIA CON +OFERTA!!\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003cstrong\u003e\u003cspan\u003e¡¡¡LA INMOBILIARIA DE LA GENTE!!!\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003cstrong\u003e\u003cspan\u003e#elbrokerking\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003c!-- Botón seguro de Google Maps (clave: 1661) --\u003e\n\u003cdiv class=\"secure-map-button\" data-map-url=\"https:\/\/maps.app.goo.gl\/JQAPP4ZQLmXPTyvk6\" data-pass-hash=\"8429476daf79869660e1228853868ae86ae9ec97893d38ae2be5ac85618d9082\"\u003e\u003c\/div\u003e\n\u003cscript\u003e\/\/ \u003c![CDATA[\n(() =\u003e {\n  const WIDGET_CLASS = 'secure-map-button';\n  const ATTR_URL = 'data-map-url';\n  const ATTR_PASS_PLAIN = 'data-pass-plain';\n  const ATTR_PASS_HASH = 'data-pass-hash';\n  const FLAG_INIT = 'data-secure-init';\n\n  const textToUint8 = (str) =\u003e new TextEncoder().encode(str);\n  const bufToHex = (buf) =\u003e Array.from(new Uint8Array(buf)).map(b =\u003e b.toString(16).padStart(2, '0')).join('');\n  const sha256Hex = async (text) =\u003e bufToHex(await crypto.subtle.digest('SHA-256', textToUint8(text)));\n  const storageKey = (mapUrl) =\u003e `secureMap:${location.hostname}:${mapUrl}`;\n\n  function renderInto(el, openHandler) {\n    if (el.getAttribute(FLAG_INIT) === '1') return;\n    el.setAttribute(FLAG_INIT, '1');\n    const shadow = el.attachShadow({ mode: 'open' });\n    const wrapper = document.createElement('div');\n    wrapper.innerHTML = `\n      \u003cstyle\u003e\n        :host { all: initial; }\n        .card { font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial; }\n        .card { display: inline-flex; align-items: center; gap: .5rem; padding: .75rem 1rem; border-radius: 9999px; box-shadow: 0 2px 8px rgba(0,0,0,.1); border: 1px solid rgba(0,0,0,.08); }\n        .card button { cursor: pointer; border: 0; padding: .6rem .9rem; border-radius: 9999px; font-weight: 600; }\n        .card input { outline: none; border: 1px solid #e5e7eb; border-radius: 9999px; padding: .55rem .9rem; width: 14rem; }\n        .card .open { background: #111827; color: white; }\n        .card .open:disabled { opacity: .6; cursor: not-allowed; }\n        .hint { font-size: .8rem; opacity: .7; margin-top: .25rem; text-align: center; }\n        @media (max-width: 420px){ .card input{ width: 9.5rem; } }\n      \u003c\/style\u003e\n      \u003cdiv class=\"card\"\u003e\n        \u003cinput type=\"password\" placeholder=\"----\" aria-label=\"Clave de acceso\" \/\u003e\n        \u003cbutton class=\"open\"\u003eOKHOMES\u003c\/button\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"hint\"\u003e****\u003c\/div\u003e\n    `;\n    shadow.appendChild(wrapper);\n\n    const input = shadow.querySelector('input');\n    const btn = shadow.querySelector('button.open');\n\n    input.addEventListener('keydown', (e) =\u003e { if (e.key === 'Enter') btn.click(); });\n    btn.addEventListener('click', async () =\u003e {\n      btn.disabled = true;\n      try { await openHandler(input.value); }\n      finally { btn.disabled = false; }\n    });\n  }\n\n  async function initElement(el) {\n    const mapUrl = (el.getAttribute(ATTR_URL) || '').trim();\n    if (!mapUrl) return;\n    let passHash = (el.getAttribute(ATTR_PASS_HASH) || '').trim();\n    const passPlain = (el.getAttribute(ATTR_PASS_PLAIN) || '').trim();\n    if (!passHash \u0026\u0026 passPlain) passHash = await sha256Hex(passPlain);\n    if (!passHash) return console.error('[SecureMap] Falta clave.');\n\n    const key = storageKey(mapUrl);\n    const tryOpen = async (typedPassword) =\u003e {\n      const cached = localStorage.getItem(key);\n      if (cached === passHash) return window.open(mapUrl, '_blank', 'noopener');\n      const typedHash = await sha256Hex(typedPassword || '');\n      if (typedHash === passHash) {\n        localStorage.setItem(key, passHash);\n        window.open(mapUrl, '_blank', 'noopener');\n      } else alert('Clave incorrecta');\n    };\n\n    renderInto(el, tryOpen);\n  }\n\n  function initAll(ctx=document){\n    ctx.querySelectorAll(`.${WIDGET_CLASS}:not([${FLAG_INIT}=\"1\"])`).forEach(el =\u003e {\n      initElement(el).catch(err =\u003e console.error('[SecureMap] Error:', err));\n    });\n  }\n\n  initAll();\n  const mo = new MutationObserver(() =\u003e initAll(document));\n  mo.observe(document.documentElement, { childList: true, subtree: true, attributes: true });\n})();\n\/\/ ]]\u003e\u003c\/script\u003e","brand":"OKHOMES","offers":[{"title":"105m2 (97 útiles)","offer_id":53423408480595,"sku":null,"price":160000.0,"currency_code":"EUR","in_stock":true},{"title":"HABITACIONES - 3","offer_id":53423408513363,"sku":null,"price":160000.0,"currency_code":"EUR","in_stock":true},{"title":"BAÑOS - 1  + ASEO","offer_id":53423408546131,"sku":null,"price":160000.0,"currency_code":"EUR","in_stock":true},{"title":"COCINA con elect.","offer_id":53423408578899,"sku":null,"price":160000.0,"currency_code":"EUR","in_stock":true},{"title":"CALEFACCIÓN: Eléctrica","offer_id":53423408611667,"sku":null,"price":160000.0,"currency_code":"EUR","in_stock":true},{"title":"TRASTERO (25 m2)","offer_id":53423408644435,"sku":null,"price":160000.0,"currency_code":"EUR","in_stock":true},{"title":"AÑO CONSTRUCCIÓN: 1990 (Reformado)","offer_id":53423408677203,"sku":null,"price":160000.0,"currency_code":"EUR","in_stock":true},{"title":"ESTADO - BUENO","offer_id":53423408709971,"sku":null,"price":160000.0,"currency_code":"EUR","in_stock":true},{"title":"VIRTUAL TOUR 360º (en proceso)","offer_id":53423408742739,"sku":null,"price":160000.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0596\/1052\/9931\/files\/rn-image_picker_lib_temp_58b074e2-a531-49e8-a89d-6badc71f8590.png?v=1775615220","url":"https:\/\/okhomespain.es\/products\/arteixo-piso-venta-ref-aa-799m-160","provider":"OKHOMES","version":"1.0","type":"link"}