{"id":1516,"date":"2024-07-29T16:47:11","date_gmt":"2024-07-29T14:47:11","guid":{"rendered":"https:\/\/foodie.deostudio.com\/?page_id=1516"},"modified":"2025-10-17T12:32:41","modified_gmt":"2025-10-17T10:32:41","slug":"ocio","status":"publish","type":"page","link":"https:\/\/foodieblackweek.com\/barcelona\/ocio\/","title":{"rendered":"OCIO"},"content":{"rendered":"<p>[et_pb_section fb_built=\u00bb1&#8243; admin_label=\u00bbSection\u00bb _builder_version=\u00bb4.27.0&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bbRGBA(255,255,255,0)\u00bb background_enable_image=\u00bboff\u00bb background_video_mp4=\u00bbhttps:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/ocio-foodie-black-week.mp4&#8243; custom_margin=\u00bb0px||-1%||false|false\u00bb custom_padding=\u00bb0px||0px||false|false\u00bb da_disable_devices=\u00bboff|off|off\u00bb global_colors_info=\u00bb{}\u00bb da_is_popup=\u00bboff\u00bb da_exit_intent=\u00bboff\u00bb da_has_close=\u00bbon\u00bb da_alt_close=\u00bboff\u00bb da_dark_close=\u00bboff\u00bb da_not_modal=\u00bbon\u00bb da_is_singular=\u00bboff\u00bb da_with_loader=\u00bboff\u00bb da_has_shadow=\u00bbon\u00bb][et_pb_row column_structure=\u00bb2_5,3_5&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb55%\u00bb custom_margin_tablet=\u00bb\u00bb custom_margin_phone=\u00bb|||0px|false|false\u00bb custom_margin_last_edited=\u00bbon|desktop\u00bb custom_padding=\u00bb|||0px|false|false\u00bb link_option_url=\u00bb\/foodie-black-week\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb2_5&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb custom_padding_tablet=\u00bb\u00bb custom_padding_phone=\u00bb|||15%|false|false\u00bb custom_padding_last_edited=\u00bbon|phone\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_image src=\u00bbhttps:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-white-gif.gif\u00bb alt=\u00bbfoodie-black-week-24-white-gif\u00bb title_text=\u00bbfoodie-black-week-24-white-gif\u00bb _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb50%\u00bb custom_margin=\u00bb0px||||false|false\u00bb custom_padding=\u00bb0px||||false|false\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_image][\/et_pb_column][et_pb_column type=\u00bb3_5&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; admin_label=\u00bbSection\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bb#FF0099&#8243; custom_margin=\u00bb-22px||0px||false|false\u00bb custom_padding=\u00bb0px||0px||false|false\u00bb da_disable_devices=\u00bboff|off|off\u00bb global_colors_info=\u00bb{}\u00bb da_is_popup=\u00bboff\u00bb da_exit_intent=\u00bboff\u00bb da_has_close=\u00bbon\u00bb da_alt_close=\u00bboff\u00bb da_dark_close=\u00bboff\u00bb da_not_modal=\u00bbon\u00bb da_is_singular=\u00bboff\u00bb da_with_loader=\u00bboff\u00bb da_has_shadow=\u00bbon\u00bb][et_pb_row _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb100%\u00bb max_width=\u00bb90%\u00bb custom_margin=\u00bb1%||1%||false|false\u00bb custom_padding=\u00bb0px||0px||false|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_slider show_arrows=\u00bboff\u00bb show_pagination=\u00bboff\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb header_font=\u00bb&#8211;et_global_heading_font|300|||||||\u00bb header_text_color=\u00bb#FFFFFF\u00bb header_font_size=\u00bb53px\u00bb custom_margin=\u00bb||0px||false|false\u00bb custom_margin_tablet=\u00bb0px||0px||false|false\u00bb custom_margin_phone=\u00bb1%||0px||false|false\u00bb custom_margin_last_edited=\u00bbon|phone\u00bb custom_padding=\u00bb1%||1%||false|false\u00bb auto=\u00bbon\u00bb auto_speed=\u00bb4000&#8243; header_font_size_tablet=\u00bb53px\u00bb header_font_size_phone=\u00bb23px\u00bb header_font_size_last_edited=\u00bbon|phone\u00bb border_color_all=\u00bbRGBA(255,255,255,0)\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_slide heading=\u00bbOCIO\u00bb _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb header_font=\u00bbagenda-bold|300|||||||\u00bb body_font=\u00bb|300|||||||\u00bb global_colors_info=\u00bb{}\u00bb sticky_transition=\u00bbon\u00bb][\/et_pb_slide][\/et_pb_slider][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; disabled_on=\u00bboff|off|off\u00bb admin_label=\u00bbSection\u00bb _builder_version=\u00bb4.27.0&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bb#FFFFFF\u00bb custom_margin=\u00bb0px||||false|false\u00bb custom_padding=\u00bb0px||||false|false\u00bb da_disable_devices=\u00bboff|off|off\u00bb global_colors_info=\u00bb{}\u00bb background__hover_enabled=\u00bbon|desktop\u00bb da_is_popup=\u00bboff\u00bb da_exit_intent=\u00bboff\u00bb da_has_close=\u00bbon\u00bb da_alt_close=\u00bboff\u00bb da_dark_close=\u00bboff\u00bb da_not_modal=\u00bbon\u00bb da_is_singular=\u00bboff\u00bb da_with_loader=\u00bboff\u00bb da_has_shadow=\u00bbon\u00bb][et_pb_row _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_code _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb locked=\u00bboff\u00bb global_colors_info=\u00bb{}\u00bb]<script src=\"https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyC55ZMrUS_oWejx3mQBwNseWIPgxBiTvCY&callback=initMap\"><\/script>\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.3\/dist\/css\/bootstrap.min.css\">\n<style>\n.map-container {\n    \/* width: 100%; *\/\n    height: 100%;\n    min-height: 300px;\n}\n\n#map {\n    width: 100%;\n    height: 450px;\n\n    min-height: 450px;\n}\n\n\n.custom-overlay {\n    position: absolute;\n    background: white;\n    border: 1px solid #ccc;\n    padding: 10px 20px 0px 20px;\n    border-radius: 5px;\n    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n    z-index: 1000;\n    width: 260px;\n}\n\n.custom-overlay::after {\n    content: \"\";\n    position: absolute;\n    top: 100%;\n    left: 50%;\n    margin-left: -10px;\n    \/* Ajusta este valor para centrar la flecha horizontalmente *\/\n    width: 0;\n    height: 0;\n    border-style: solid;\n    border-width: 10px 10px 0 10px;\n    \/* Ajusta estos valores para cambiar el tama\u00f1o de la flecha *\/\n    border-color: white transparent transparent transparent;\n    \/* Ajusta el color de la flecha *\/\n}\n\n.et_pb_text {\n    word-wrap: normal;\n}\n\n.et_pb_text_99 {\n    color: #212529;\n    margin: 0 0 16px;\n    font-size: 20px;\n    font-weight: 700;\n}\n\n.et_pb_text_inner .typeComida {\n    color: #FF0099;\n    margin: 0 0 16px;\n    font-size: 18px;\n    font-weight: 700;\n}\n\n\n.et_pb_text_inner .price {\n    color: #212529;\n    margin: 0 0 16px;\n    font-size: 20px;\n    font-weight: 700;\n}\n\n.et_pb_text_inner .address {\n    color: #212529;\n    margin: 0 0 16px;\n    font-size: 18px;\n}\n\n.et_pb_text_inner .phone {\n    color: #212529;\n    margin: 0 0 16px;\n    font-size: 20px;\n    font-weight: 700;\n}\n\n.et_pb_column_6 {\n    border-width: 1px;\n    border-color: #FF0099;\n    padding-top: 2%;\n    padding-right: 2%;\n    padding-bottom: 2%;\n    padding-left: 2%;\n}\n\n.card-title {\n    font-family: 'agendablack', sans-serif;\n    font-size: large;\n}\n\na {\n    text-decoration: none;\n    color: #FF0099;\n}\n\n.card {\n    max-width: 16rem;\n    margin: auto;\n    opacity: 0;\n    transform: translateY(20px);\n    transition: opacity 0.3s ease, transform 0.3s ease;\n    \/* padding-right: 10px; *\/\n    overflow: hidden;\n    display: contents;\n\n}\n\n.card-img-top {\n    width: 100%;\n\n    \/* height: 200px;  *\/\n    object-fit: scale-down;\n    \/* padding-left: 20px;\n            padding-right: 20px; *\/\n    padding-bottom: 10px;\n    padding-top: 10px;\n}\n\n.card-img-top2 {\n    width: 100%;\n\n    height: 200px;\n    object-fit: cover;\n    \/* padding-left: 20px;\n            padding-right: 20px; *\/\n    padding-bottom: 10px;\n    padding-top: 10px;\n}\n\n\n\n.card-body {\n    padding: 0;\n    \/* padding-left: 20px;\n            padding-right: 20px; *\/\n    padding-bottom: 1rem;\n    display: flex;\n    flex-direction: column;\n    justify-content: space-between;\n}\n\n.card-title {\n    font-family: 'agendablack', sans-serif;\n}\n\n.card-subtitle .card-text {\n    font-family: 'agenda-light', sans-serif;\n}\n\n.AgendaBoton {\n    font-family: 'agenda-medium';\n}\n\n.btn-outline {\n    --bs-btn-border-color: #ff00997d;\n    color: #FF0099;\n    border-radius: 0px;\n}\n\n.card-icon {\n    width: 30%;\n    height: auto;\n    margin-right: 8px;\n}\n\n\n@media (max-width: 1200px) {\n    #filtroRestaurantes {\n        margin-bottom: 30px;\n    }\n}\n\n.card.show {\n    opacity: 1;\n    transform: translateY(0);\n}\n\n#previewImagen {\n    width: 100%;\n    object-fit: cover;\n}\n\n#previewDescripcion,\n#previewPrecio {\n    display: block;\n}\n\n.card-text-with-icon {\n    display: flex;\n    align-items: center;\n}\n\n\n\n.card-text-container {\n    \/* flex-grow: 1; *\/\n}\n\n.card-text {\n    margin-bottom: 5px;\n}\n\n\n.boton {\n    border-color: #FF0099;\n    color: #FF0099;\n}\n\nboton:hover {\n    border-color: #FF0099;\n    color: #FF0099;\n    background-color: #FF0099;\n}\n\n.offer-box {\n    border: 1px #FF0099 solid;\n    padding: 4%;\n}\n\n.restaurant-card:nth-child(even) {\n    background-color: #f0ede6;\n    \/* Color de fondo para las filas pares *\/\n}\n\n.restaurant-card:nth-child(odd) {\n    background-color: #fff;\n    \/* Color de fondo para las filas impares *\/\n}\n\n.custom-img {\n    max-width: 100%;\n    \/* Ajustar el ancho m\u00e1ximo seg\u00fan tus necesidades *\/\n    height: auto;\n    \/* Permitir que la altura se ajuste proporcionalmente *\/\n}\n\n.tipodeComida {\n    font-family: 'agenda-bold';\n    color: #FF0099;\n    font-size: large;\n}\n\n.hidden {\n    display: none;\n}\n\nselect {\n    font-family: 'agenda-light';\n}\n\n.aLight {\n    font-family: 'agenda-light';\n}\n\n.aBold {\n    font-family: 'agenda-bold';\n}\n\n.Hev {\n    font-family: 'Helvetica';\n}\n\n.Larg {\n    font-size: large;\n}\n\n.Larg2 {\n    font-size: 1.3rem;\n}\n\n.btncolor {\n    background-color: #FF0099;\n    color: white;\n    border-radius: 0;\n    border-color: #FF0099;\n    font-family: 'agenda-bold';\n    font-size: 1.3rem;\n}\n\ndiv#modalCompartir {\n    width: 500px;\n    height: auto;\n    position: fixed;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n    background-color: white;\n    padding: 40px;\n    border-radius: 10px;\n    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);\n    z-index: 9999;\n}\n\nbutton#botonCompartir {\n    font-family: 'agenda-light';\n    position: absolute;\n    left: 160px;\n    font-size: 16px;\n    font-weight: bold;\n    width: 115px;\n    height: 45px;\n    background-color: black;\n    color: white;\n    border: none;\n    outline: none;\n    box-shadow: none;\n}\n\nbutton#botonCompartir:hover {\n    cursor: pointer;\n}\n\nbutton#botonCompartir:hover::after {\n    content: \"\\203A\";\n    position: absolute;\n    left: 98px;\n    top: 44%;\n    transform: translateY(-50%);\n    font-size: 40px;\n    color: white;\n}\n\n#botonesCompartir {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    justify-content: space-between;\n}\n\n#botonesCompartir a {\n    margin-right: 10px;\n}\n\n#botonesCompartir img {\n    width: 45px;\n    height: 45px;\n    border-radius: 10px;\n    margin-bottom: 10px;\n    margin-left: 5px;\n    margin-right: 10px;\n    margin-top: 20px;\n}\n\n#cerrarModal {\n    background-color: #FF0099;\n    color: white;\n    position: absolute;\n    width: 80px;\n    height: 40px;\n    top: 39px;\n    right: 55px;\n    cursor: pointer;\n    border-radius: 5px;\n    border-style: none;\n}\n\n@media (max-width: 768px) {\n    div#modalCompartir {\n        width: 400px;\n        height: auto;\n        padding: 30px;\n    }\n\n    #botonesCompartir {\n        flex-direction: row;\n        align-items: center;\n        justify-content: space-between;\n    }\n\n    #botonesCompartir a {\n        margin-right: 10px;\n    }\n\n    #botonesCompartir img {\n        width: 40px;\n        height: 40px;\n        border-radius: 10px;\n        margin-bottom: 10px;\n        margin-left: 5px;\n        margin-right: 10px;\n        margin-top: 20px;\n    }\n\n    #cerrarModal {\n        background-color: #FF0099;\n        color: white;\n        position: absolute;\n        width: 80px;\n        height: 40px;\n        top: 24px;\n        right: 45px;\n        cursor: pointer;\n        border-radius: 5px;\n        border-style: none;\n    }\n}\n\n\n.et_pb_section {\n    background: none;\n}\n\n.et_section_regular {\n    background-color: none;\n}\n\n.et_pb_section_4.et_pb_section {\n    background-color: none;\n}\n\n.et_pb_section_3.et_pb_section {\n    z-index: -1;\n}\n\n.fontDesc {\n    font-size: medium;\n    font-weight: 600;\n}\n\n#borrar {\n    display: none !important;\n}\n\n.p {\n    margin-bottom: 0px !important;\n}\n\n.labels {\n    font-family: 'agenda-bold';\n    color: black;\n    font-size: large;\n}\n\n.labelFiltrar {\n    font-size: larger;\n    font-weight: bold;\n}\n\n.displayBlock {\n    display: flex !important;\n}\n\n.displayNone {\n    display: none !important;\n}\n\n.aMedium {\n    font-family: 'AgendaMedium';\n}\n\n\/* mostrarmas *\/\n.text-container {\n    position: relative;\n    max-height: 4.5em;\n    \/* Limita a 3 l\u00edneas aproximadamente *\/\n    overflow: hidden;\n}\n\n.show-more {\n    display: block;\n    color: #FF0099;\n    cursor: pointer;\n}\n\n.text-container.expanded {\n    max-height: none;\n    \/* Permite que el texto se expanda *\/\n}\n\n.text-container.expanded+.show-more {\n    display: none;\n    \/* Oculta el bot\u00f3n cuando el texto est\u00e1 expandido *\/\n}\n\n.show-less {\n    color: #FF0099;\n    cursor: pointer;\n    display: none;\n}\n\n.text-container.expanded+.show-less {\n    display: inline-block;\n    \/* Muestra \"Ver menos\" cuando el texto est\u00e1 expandido *\/\n}\n\n.card-text-scroll {\n    max-height: 100px;\n    \/* Limita la altura a 4 l\u00edneas o lo que consideres necesario *\/\n    overflow: hidden;\n    transition: max-height 0.3s ease;\n}\n\n.card-text-scroll.expanded {\n    max-height: none;\n    \/* Se expande para mostrar el contenido completo *\/\n}\n\n.show-more2,\n.show-less2 {\n    color: #FF0099;\n    cursor: pointer;\n    font-family: 'agenda-bold';\n    font-size: medium;\n}\n\n\/* [NUEVO] Estilos para autocompletado *\/\n.autocomplete-results {\n    position: absolute;\n    background-color: #fff;\n    border: 1px solid #ccc;\n    z-index: 9999;\n    width: 100%;\n}\n\n.autocomplete-item {\n    padding: 5px;\n    cursor: pointer;\n}\n\n.autocomplete-item:hover {\n    background-color: #f0f0f0;\n}\n\n#buscador {\n    font-size: 1.1rem;\n    \/* un pel\u00edn m\u00e1s grande *\/\n    height: 35px;\n    margin-top: 25px;\n    \/* algo m\u00e1s alto *\/\n    border: 2px solid #FF0099;\n    \/* etc. *\/\n}\n\n#buscador::placeholder {\n    color: #999 !important;\n    \/* Color m\u00e1s visible *\/\n    opacity: 1 !important;\n    \/* Asegura que no est\u00e9 oculto *\/\n    font-style: italic;\n    \/* Opcional, para destacar m\u00e1s *\/\n}\n\n#buscador:focus {\n    box-shadow: 0 0 20px rgba(204, 204, 204, 0.8) !important;\n}\n\n\/* #botonCompartir {\n    font-size: 20px;\n}\n\n#botonCompartir:hover {\n    cursor: pointer;\n} *\/\n\n.close {\n    position: absolute;\n    right: 15px;\n    top: 18px;\n    font-size: 30px;\n    cursor: pointer;\n    background-color: transparent;\n    border: none;\n    padding: 0;\n    margin: 0;\n}\n<\/style>\n\n<div class=\"container mt-3\">\n\n    <div class=\"row\">\n        <!-- Filtros (col-md-3) -->\n        <div class=\"col-md-3 d-flex align-items-center\">\n            <form id=\"filtroRestaurantes\">\n                <div class=\"row g-3\">\n                    <div class=\"col-md-12 aBold\">\n                        <h1 style=\"color:#FF0099;\"> \u00bfDemasiado donde elegir?<\/h1>\n                    <\/div>\n\n                    \n\n                    <div class=\"col-md-12\" id=\"divBarrio\">\n                        <label for=\"barrio\" class=\"form-label labels\">Ubicaci\u00f3n<\/label>\n                        <select class=\"form-select\" id=\"barrio\" name=\"barrio\">\n                            <option value=\"\">Todos<\/option>\n                                                        <option value=\"1\">\n                                Barcelona - Sants<\/option>\n                                                        <option value=\"2\">\n                                Barcelona - Horta<\/option>\n                                                        <option value=\"3\">\n                                Barcelona - Cor Eixample<\/option>\n                                                        <option value=\"4\">\n                                Barcelona - Creu Coberta<\/option>\n                                                        <option value=\"5\">\n                                Barcelona - El Clot<\/option>\n                                                        <option value=\"6\">\n                                Barcelona - Sant Andreu<\/option>\n                                                        <option value=\"7\">\n                                Barcelona - Les Corts<\/option>\n                                                        <option value=\"8\">\n                                Barcelona - Encants Nous<\/option>\n                                                        <option value=\"9\">\n                                Barcelona - Fabra Centre<\/option>\n                                                        <option value=\"10\">\n                                Barcelona - Gr\u00e0cia<\/option>\n                                                        <option value=\"11\">\n                                Barcelona - La Marina<\/option>\n                                                        <option value=\"12\">\n                                Barcelona - Maragall<\/option>\n                                                        <option value=\"13\">\n                                Barcelona - Nou Barris<\/option>\n                                                        <option value=\"14\">\n                                Barcelona - Nou Eixample<\/option>\n                                                        <option value=\"15\">\n                                Barcelona - Poblenou<\/option>\n                                                        <option value=\"16\">\n                                Barcelona - Poble Sec i Paral\u00b7lel<\/option>\n                                                        <option value=\"17\">\n                                Barcelona - Sagrada Fam\u00edlia<\/option>\n                                                        <option value=\"18\">\n                                Barcelona - Sant Antoni<\/option>\n                                                        <option value=\"19\">\n                                Barcelona - Sant Gervasi<\/option>\n                                                        <option value=\"20\">\n                                Barcelona - Sant Mart\u00ed<\/option>\n                                                        <option value=\"21\">\n                                Barcelona - Sarri\u00e0<\/option>\n                                                        <option value=\"22\">\n                                Barcelona - Raval<\/option>\n                                                        <option value=\"23\">\n                                Barcelona - Gotic<\/option>\n                                                        <option value=\"24\">\n                                Barcelona - Ciutat Vella<\/option>\n                                                        <option value=\"25\">\n                                Badalona<\/option>\n                                                        <option value=\"26\">\n                                Badia del Vall\u00e8s<\/option>\n                                                        <option value=\"27\">\n                                Barber\u00e0 del Vall\u00e8s<\/option>\n                                                        <option value=\"28\">\n                                Begues<\/option>\n                                                        <option value=\"29\">\n                                Castellbisbal<\/option>\n                                                        <option value=\"30\">\n                                Castelldefels<\/option>\n                                                        <option value=\"31\">\n                                Cervell\u00f3<\/option>\n                                                        <option value=\"32\">\n                                Corbera de Llobregat<\/option>\n                                                        <option value=\"33\">\n                                Cornell\u00e0 de Llobregat<\/option>\n                                                        <option value=\"34\">\n                                El Papiol<\/option>\n                                                        <option value=\"35\">\n                                El Prat de Llobregat<\/option>\n                                                        <option value=\"36\">\n                                Esplugues de Llobregat<\/option>\n                                                        <option value=\"37\">\n                                Gav\u00e0<\/option>\n                                                        <option value=\"38\">\n                                L&#039;Hospitalet de Llobregat<\/option>\n                                                        <option value=\"39\">\n                                La Palma de Cervell\u00f3<\/option>\n                                                        <option value=\"40\">\n                                Molins de Rei<\/option>\n                                                        <option value=\"41\">\n                                Montcada i Reixac<\/option>\n                                                        <option value=\"42\">\n                                Montgat<\/option>\n                                                        <option value=\"43\">\n                                Pallej\u00e0<\/option>\n                                                        <option value=\"44\">\n                                Ripollet<\/option>\n                                                        <option value=\"45\">\n                                Sant Adri\u00e0 de Bes\u00f2s<\/option>\n                                                        <option value=\"46\">\n                                Sant Andreu de la Barca<\/option>\n                                                        <option value=\"47\">\n                                Sant Boi de Llobregat<\/option>\n                                                        <option value=\"48\">\n                                Sant Climent de Llobregat<\/option>\n                                                        <option value=\"49\">\n                                Sant Cugat del Vall\u00e8s<\/option>\n                                                        <option value=\"50\">\n                                Sant Feliu de Llobregat<\/option>\n                                                        <option value=\"51\">\n                                Sant Joan Desp\u00ed<\/option>\n                                                        <option value=\"52\">\n                                Sant Just Desvern<\/option>\n                                                        <option value=\"53\">\n                                Sant Vicen\u00e7 dels Horts<\/option>\n                                                        <option value=\"54\">\n                                Santa Coloma de Cervell\u00f3<\/option>\n                                                        <option value=\"55\">\n                                Santa Coloma de Gramenet<\/option>\n                                                        <option value=\"56\">\n                                Cerdanyola del Vall\u00e8s<\/option>\n                                                        <option value=\"57\">\n                                Tiana<\/option>\n                                                        <option value=\"58\">\n                                Torrelles de Llobregat<\/option>\n                                                        <option value=\"59\">\n                                Viladecans<\/option>\n                                                        <option value=\"60\">\n                                Maresme<\/option>\n                                                        <option value=\"64\">\n                                Barcelona - Cor Eixample<\/option>\n                                                        <option value=\"61\">\n                                Sitges<\/option>\n                                                        <option value=\"62\">\n                                Sabadell<\/option>\n                                                    <\/select>\n                    <\/div>\n                    <div class=\"col-md-12\" id=\"divTipoComida\">\n                        <label for=\"tipo_comida\" class=\"form-label labels\" id=\"label_tipo_comida\">Tipo de comida<\/label>\n                        <select class=\"form-select\" id=\"tipo_comida\" name=\"tipo_comida\">\n                            <option value=\"\">Todos los tipos<\/option>\n                                                        <option value=\"1\"\n                                data-repetido=\"true\">\n                                Comida Turca<\/option>\n                                                        <option value=\"2\"\n                                data-repetido=\"false\">\n                                Comida Marroqu\u00ed<\/option>\n                                                        <option value=\"3\"\n                                data-repetido=\"false\">\n                                Comida Italiana<\/option>\n                                                        <option value=\"4\"\n                                data-repetido=\"false\">\n                                Comida Mexicana<\/option>\n                                                        <option value=\"5\"\n                                data-repetido=\"false\">\n                                Comida Japonesa<\/option>\n                                                        <option value=\"6\"\n                                data-repetido=\"false\">\n                                Comida India<\/option>\n                                                        <option value=\"7\"\n                                data-repetido=\"false\">\n                                Comida Tailandesa<\/option>\n                                                        <option value=\"8\"\n                                data-repetido=\"false\">\n                                Comida Griega<\/option>\n                                                        <option value=\"9\"\n                                data-repetido=\"false\">\n                                Comida Francesa<\/option>\n                                                        <option value=\"10\"\n                                data-repetido=\"false\">\n                                Comida Libanesa<\/option>\n                                                        <option value=\"11\"\n                                data-repetido=\"false\">\n                                Comida Coreana<\/option>\n                                                        <option value=\"12\"\n                                data-repetido=\"false\">\n                                Comida Peruana<\/option>\n                                                        <option value=\"13\"\n                                data-repetido=\"false\">\n                                Comida Vietnamita<\/option>\n                                                        <option value=\"14\"\n                                data-repetido=\"false\">\n                                Comida Americana<\/option>\n                                                        <option value=\"15\"\n                                data-repetido=\"false\">\n                                Comida China<\/option>\n                                                        <option value=\"16\"\n                                data-repetido=\"false\">\n                                Comida Catalana<\/option>\n                                                        <option value=\"17\"\n                                data-repetido=\"false\">\n                                Comida Espa\u00f1ola<\/option>\n                                                        <option value=\"22\"\n                                data-repetido=\"false\">\n                                Comida Venezolana<\/option>\n                                                        <option value=\"23\"\n                                data-repetido=\"false\">\n                                Comida Mediterr\u00e1nea<\/option>\n                                                        <option value=\"24\"\n                                data-repetido=\"false\">\n                                Pizzer\u00eda<\/option>\n                                                        <option value=\"25\"\n                                data-repetido=\"false\">\n                                Marisquer\u00eda<\/option>\n                                                        <option value=\"26\"\n                                data-repetido=\"false\">\n                                Braser\u00eda<\/option>\n                                                        <option value=\"27\"\n                                data-repetido=\"false\">\n                                Vegetariana<\/option>\n                                                        <option value=\"28\"\n                                data-repetido=\"false\">\n                                Gourmet<\/option>\n                                                        <option value=\"29\"\n                                data-repetido=\"false\">\n                                Hamburgueser\u00eda<\/option>\n                                                        <option value=\"30\"\n                                data-repetido=\"false\">\n                                Tapas<\/option>\n                                                        <option value=\"31\"\n                                data-repetido=\"false\">\n                                Brunch<\/option>\n                                                        <option value=\"33\"\n                                data-repetido=\"false\">\n                                Fusi\u00f3n<\/option>\n                                                        <option value=\"34\"\n                                data-repetido=\"false\">\n                                Poke<\/option>\n                                                        <option value=\"35\"\n                                data-repetido=\"false\">\n                                Pasteler\u00edas y dulces<\/option>\n                                                        <option value=\"36\"\n                                data-repetido=\"false\">\n                                Helader\u00edas<\/option>\n                                                        <option value=\"37\"\n                                data-repetido=\"false\">\n                                Otras<\/option>\n                                                    <\/select>\n                    <\/div>\n\n                    <div class=\"col-md-12 mb-2\" id=\"divRango\">\n                        <label for=\"rango_precio\" class=\"form-label labels\">Rango de precio<\/label>\n                        <select class=\"form-select\" id=\"rango_precio\" name=\"rango_precio\">\n                            <option value=\"\">Todos los rangos<\/option>\n                            <option value=\"15-30\">\u20ac<\/option>\n                            <option value=\"30-60\">\u20ac\u20ac<\/option>\n                            <option value=\"60\">\u20ac\u20ac\u20ac<\/option>\n                        <\/select>\n                    <\/div>\n                <\/div>\n            <\/form>\n        <\/div>\n        <!-- Fin col-md-3 de filtros -->\n        <!-- Mapa (col-md-9) -->\n        <div class=\"col-md-9 map-container\">\n            <div id=\"map\"><\/div>        <\/div>\n        <!-- Fin col-md-9 -->\n    <\/div> <!-- Fin row principal -->\n    <!-- FILA NUEVA para el input de b\u00fasqueda, ocupa todo el ancho (col-md-12) -->\n    <div class=\"row mb-3\">\n        <div class=\"col-md-12\" style=\"position: relative;\">\n\n          <input\n  type=\"text\"\n  class=\"form-control\"\n  id=\"buscador\"\n  name=\"buscador\"\n  autocomplete=\"off\"\n  placeholder=\"Buscar ocio\"\n\/>\n            <!-- Contenedor para sugerencias de autocompletado -->\n            <div id=\"autocomplete-results\" class=\"autocomplete-results\" style=\"display:none;\"><\/div>\n        <\/div>\n    <\/div>\n    <!-- FIN FILA NUEVA -->\n<\/div> <!-- Fin container -->\n\n\n<!-- Aqu\u00ed va tu script de Google Maps si $Cargarmapa es true -->\n<script>\nclass CustomOverlay extends google.maps.OverlayView {\n    constructor(position, content, id) {\n        super();\n        this.position = position;\n        this.content = content;\n        this.div = null;\n        this.id = id;\n    }\n\n    onAdd() {\n        this.div = document.createElement('div');\n        this.div.className = 'custom-overlay';\n        this.div.innerHTML = this.content;\n        this.getPanes().overlayMouseTarget.appendChild(this.div);\n\n        this.div.addEventListener('click', (event) => {\n            event.stopPropagation();\n        });\n        this.div.addEventListener('touchstart', (event) => {\n            event.stopPropagation();\n\n        });\n        this.ajustBotonMas();\n        \/\/ Cerrar overlay al hacer clic\n        \/\/ this.div.addEventListener('click', () => {\n        \/\/     this.setMap(null);\n        \/\/ });\n    }\n\n    draw() {\n        const projection = this.getProjection();\n        if (!projection) {\n            return;\n        }\n\n        const position = projection.fromLatLngToDivPixel(this.position);\n\n        \/\/ Ajusta el offset para que el centro del overlay est\u00e9 encima del marcador\n        const offsetX = -(this.div.offsetWidth \/ 2);\n        const offsetY = -this.div.offsetHeight - 45;\n\n        this.div.style.left = `${position.x + offsetX}px`;\n        this.div.style.top = `${position.y + offsetY}px`;\n    }\n    ajustBotonMas() {\n        const textContainer = document.getElementById(`descripcion-2-${this.id}`);\n        const showMore = document.getElementById(`show-more-2-${this.id}`);\n        const showLess = document.getElementById(`show-less-2-${this.id}`);\n        \/\/ Calcula la altura m\u00e1xima permitida para 4 l\u00edneas (aj\u00fastalo seg\u00fan tu dise\u00f1o)\n        const maxHeight = 101; \/\/ Aproximadamente 4.5em (depender\u00e1 de la altura de l\u00ednea en CSS)\n\n        \/\/ Si la altura del contenido del texto es mayor que el maxHeight, muestra los botones\n\n        if (textContainer.scrollHeight > maxHeight) {\n            showMore.style.display = 'block';\n            showLess.style.display = 'none';\n            textContainer.style.maxHeight = maxHeight + 'px'; \/\/ Limita el contenedor a 4 l\u00edneas\n        } else {\n            \/\/ Si no supera 4 l\u00edneas, oculta los botones\n            showMore.style.display = 'none';\n            showLess.style.display = 'none';\n        }\n\n    }\n\n    onRemove() {\n        if (this.div) {\n            this.div.remove();\n            this.div = null;\n        }\n    }\n}\n<\/script>\n\n\n<script>\nlet currentOverlay = null;\n\n\ndocument.addEventListener('DOMContentLoaded', function() {\n    const container = document.querySelector('.map-container');\n    if (container) {\n        initMap();\n    } else {\n        const observer = new MutationObserver((mutationsList, observer) => {\n            for (let mutation of mutationsList) {\n                if (mutation.type === 'childList') {\n                    const container = document.querySelector('.map-container');\n\n                    if (container) {\n                        initMap();\n\n                        observer.disconnect();\n                    }\n                }\n            }\n        });\n\n        observer.observe(document.body, {\n            childList: true,\n            subtree: true\n        });\n    }\n});\n\nwindow.onload = function() {\n    var contenedor = document.getElementById('BotonMas');\n    var boton = document.createElement('button');\n    boton.textContent = \"Cargar M\u00e1s\";\n    boton.classList.add(\"et_pb_button\");\n    boton.classList.add(\"et_pb_button_0\");\n    boton.classList.add(\"et_pb_bg_layout_light\");\n    boton.classList.add(\"aMedium\");\n    contenedor.classList.add(\"d-flex\");\n    contenedor.classList.add(\"justify-content-center\");\n    boton.style.marginBottom = \"20px\";\n    boton.onclick = function() {\n        BotonMas();\n    };\n    contenedor.appendChild(boton);\n};\n\nconst form = document.getElementById('filtroRestaurantes');\n\nform.addEventListener('submit', function(event) {\n    event.preventDefault();\n    aplicarFiltros();\n});\n\nfunction FiltroListener() {\n    current_numb = 15;\n    aplicarFiltros();\n}\n\nfunction aplicarFiltros() {\n    \/\/const tipoEstablecimientoId = 3;;\n    const barrio = document.getElementById('barrio').value;\n    const tipoComida = document.getElementById('tipo_comida').value;\n    const rangoPrecio = document.getElementById('rango_precio').value;\n    const textoBusqueda = document.getElementById('buscador').value.toLowerCase();\n\n    const filtrados = properties.filter(property => {\n        return (\n            (barrio === \"\" || property.eix_comercial_id == barrio) &&\n            (tipoComida === \"\" || property.tipo_comida_id == tipoComida) &&\n            (rangoPrecio === \"\" || property.rango_precios == rangoPrecio) &&\n            (\n                textoBusqueda === \"\" ||\n                property.nombre_restaurante.toLowerCase().includes(textoBusqueda)\n            )\n        );\n    });\n    actualizarMapa(filtrados);\n}\n\nif (3 != 1) {\n    document.getElementById('label_tipo_comida').classList.add('hidden');\n    document.getElementById('tipo_comida').classList.add('hidden');\n}\n\n\n\nfunction SetearTelefono(telefono) {\n    \/\/ Convertir el n\u00famero a una cadena por si no lo es\n    telefono = telefono.toString();\n\n    \/\/ Verificar si el n\u00famero comienza con +34\n    let tienePrefijo = telefono.startsWith('+34');\n\n    \/\/ Si tiene el prefijo +34, quitarlo para formatear el resto del n\u00famero\n    if (tienePrefijo) {\n        telefono = telefono.slice(3);\n    }\n    let telefonoFormateado = \"\";\n    \/\/ Asegurarse de que el n\u00famero tiene exactamente 9 d\u00edgitos\n    if (telefono.length !== 9) {\n        telefonoFormateado = telefono;\n    }\n\n    \/\/ Dividir el n\u00famero en el formato deseado\n    telefonoFormateado = telefono.replace(\/(\\d{2})(\\d{3})(\\d{2})(\\d{2})\/, \"$1 $2 $3 $4\");\n\n    \/\/ Agregar el prefijo +34 si estaba presente\n    if (tienePrefijo) {\n        telefonoFormateado = \"+34 \" + telefonoFormateado;\n    }\n\n    return telefonoFormateado;\n}\n\nfunction SetearPrecio(precio) {\n    switch (precio) {\n        case \"15-30\":\n            return \"\u20ac\"\n            break;\n\n        case \"30-60\":\n            return \"\u20ac\u20ac\"\n            break;\n\n        case \"60\":\n            return \"\u20ac\u20ac\u20ac\"\n            break;\n    }\n}\nvar current_numb = 15;\n\n\/\/ function BotonMas() {\n\/\/     const boton = document.getElementById(\"BotonMas\");\n\/\/     const rect = boton.getBoundingClientRect();\n\/\/     const scrollOffset = window.scrollY + rect.top;\n\n\/\/     \/\/ Evitar que Firefox haga cambios bruscos\n\/\/     document.documentElement.style.scrollBehavior = \"auto\";\n\/\/     document.body.style.overflow = \"hidden\";\n\/\/     document.body.style.height = `${document.body.scrollHeight}px`;\n\n\/\/     current_numb += 15;\n\/\/     aplicarFiltros(false); \/\/ Cargar m\u00e1s contenido\n\n\/\/     requestAnimationFrame(() => {\n\/\/         requestAnimationFrame(() => {\n\/\/             window.scrollTo(0, scrollOffset);\n\/\/             \/\/ Restaurar el scroll sin parpadeos\n\/\/             document.documentElement.style.scrollBehavior = \"\";\n\/\/             document.body.style.overflow = \"\";\n\/\/             document.body.style.height = \"\";\n\/\/         });\n\/\/     });\n\/\/ }\n\nfunction BotonMas() {\n    const boton = document.getElementById(\"BotonMas\");\n    const rect = boton.getBoundingClientRect();\n    const scrollOffset = window.scrollY + rect.top;\n\n    \/\/ Bloquear cualquier animaci\u00f3n de scroll\n    document.documentElement.style.scrollBehavior = \"auto\";\n\n    \/\/ Mantener el tama\u00f1o de la p\u00e1gina para evitar parpadeos\n    const originalHeight = document.body.style.height;\n    document.body.style.height = `${document.body.scrollHeight}px`;\n\n    current_numb += 15;\n    aplicarFiltros(false); \/\/ Cargar m\u00e1s contenido\n\n    requestAnimationFrame(() => {\n        requestAnimationFrame(() => {\n            window.scrollTo(0, scrollOffset);\n\n            \/\/ \ud83e\uddf9 Restaurar estilos sin parpadeo\n            setTimeout(() => {\n                document.documentElement.style.scrollBehavior = \"\";\n                document.body.style.height = originalHeight; \/\/ Restaurar el tama\u00f1o real\n            }, 0);\n        });\n    });\n}\n\n\n\n\nfunction SetearEnlaceOferta(oferta, paginaweb) {\n    let ret;\n    if (oferta) {\n        ret = oferta;\n    } else {\n        ret = paginaweb;\n    }\n    return ret + \"?utm_source=foodieblackweek.com&utm_medium=share_button&utm_campaign=foodie2025bcn\";\n\n}\n\/\/Metodo inutil\nfunction determinarClaseImagen(imagen) {\n    \/\/ Obtenemos el ancho y alto de la imagen\n    const ancho = imagen.width;\n    const alto = imagen.height;\n\n    \/\/ Calculamos la relaci\u00f3n de aspecto\n    const relacionAspecto = ancho \/ alto;\n\n    \/\/ Definimos un umbral para determinar si es rectangular o cuadrada\n    const umbral = 1.2; \/\/ Puedes ajustar este valor seg\u00fan tu definici\u00f3n de \"rectangular\" y \"cuadrada\"\n\n    if (relacionAspecto > umbral) {\n        return 'card-img-top2'; \/\/ La imagen es bastante rectangular\n    } else if (relacionAspecto < (1 \/ umbral)) {\n        return 'card-img-top2'; \/\/ La imagen es bastante rectangular (caso contrario)\n    } else {\n        return 'card-img-top2'; \/\/ La imagen es m\u00e1s cuadrada\n    }\n}\n\nfunction eliminarBarrasInvertidas(texto) {\n    return texto.replace(\/\\\\\/g, '');\n}\n\nfunction comprobarPrecio(precio) {\n    if (precio != 0) {\n        return 'Por ' + precio + '\u20ac'\n    } else {\n        return \"\"\n    }\n\n\n}\n\nfunction SetearTipoDeComdia(tipoComida, otro) {\n    if (otro.length != 0) {\n        if (otro.includes('\u00f1')) {\n            return tipoComida.toUpperCase() + \" (\" + otro.toLowerCase().replace('\/\u00f1', '&#241;') + \")\"\n        } else {\n            return tipoComida.toUpperCase() + \" (\" + otro.toLowerCase() + \")\";\n        }\n\n    } else {\n        return tipoComida.toUpperCase();\n    }\n}\n\nfunction setearDescripcion(desc) {\n    if (desc.length == 0) {\n        return \"\u00a1Se est\u00e1 cocinando la oferta!\"\n    } else {\n        return desc;\n    }\n}\n\nfunction SetearNombre(str) {\n    if (typeof str !== 'string' || str.length === 0) {\n        return '';\n    }\n\n    return str.split(' ')\n        .map(word => {\n            \/\/ Mantener \"MX\" en may\u00fasculas\n            let fixedWord = word.replace(\/mx\/gi, 'MX');\n\n            \/\/ Si \"fixedWord\" tiene \"MX\", se separa el resto de la palabra\n            if (fixedWord.includes('MX')) {\n                \/\/ Se divide la palabra en \"MX\" y el resto\n                const parts = fixedWord.split('MX');\n                \/\/ Se capitaliza la primera letra de la primera parte\n                const capitalizedPart = parts[0].charAt(0).toUpperCase() + parts[0].slice(1).toLowerCase();\n                \/\/ Se junta con \"MX\" y el resto de la palabra\n                return capitalizedPart + 'MX' + parts[1].toLowerCase();\n            } else {\n                \/\/ Si no tiene \"MX\", simplemente capitaliza la palabra\n                return fixedWord.charAt(0).toUpperCase() + fixedWord.slice(1).toLowerCase();\n            }\n        })\n        .join(' ');\n}\n\n\n\nfunction SetearEstiloImagen(imagen) {\n    if (imagen ==\n        \"https:\/\/foodieblackweek.com\/madrid\/wp-content\/uploads\/2025\/02\/LOGO-foodie-black-week-MAD-PANTALLA-tra.png\") {\n        return \"object-fit: scale-down;\";\n    } else {\n        return \"\";\n    }\n}\n\nfunction ajustarBotonesVerMas(index) {\n    const textContainer = document.getElementById(`descripcion-${index}`);\n    const showMore = document.getElementById(`show-more-${index}`);\n    const showLess = document.getElementById(`show-less-${index}`);\n\n    \/\/ Calcula la altura m\u00e1xima permitida para 4 l\u00edneas (aj\u00fastalo seg\u00fan tu dise\u00f1o)\n    const maxHeight = 72; \/\/ Aproximadamente 4.5em (depender\u00e1 de la altura de l\u00ednea en CSS)\n\n    \/\/ Si la altura del contenido del texto es mayor que el maxHeight, muestra los botones\n    if (textContainer) {\n        if (textContainer.scrollHeight > maxHeight) {\n            showMore.style.display = 'inline-block';\n            showLess.style.display = 'none';\n            textContainer.style.maxHeight = maxHeight + 'px'; \/\/ Limita el contenedor a 4 l\u00edneas\n        } else {\n            \/\/ Si no supera 4 l\u00edneas, oculta los botones\n            showMore.style.display = 'none';\n            showLess.style.display = 'none';\n        }\n    }\n\n}\n\nfunction toggleDescription(index) {\n\n    const textContainer = document.getElementById(`descripcion-${index}`);\n    const showMore = document.getElementById(`show-more-${index}`);\n    const showLess = document.getElementById(`show-less-${index}`);\n\n    if (textContainer) {\n        if (textContainer.classList.contains('expanded')) {\n            textContainer.classList.remove('expanded');\n            showMore.style.display = 'inline-block';\n            showLess.style.display = 'none';\n            textContainer.style.maxHeight = '72px'; \/\/ Vuelve a las 4 l\u00edneas\n        } else {\n            textContainer.classList.add('expanded');\n            showMore.style.display = 'none';\n            showLess.style.display = 'inline-block';\n            textContainer.style.maxHeight = 'none'; \/\/ Deja que el contenedor se expanda completamente\n        }\n    }\n\n}\n\nfunction toggleDescription2(index) {\n\n    const textContainer = document.getElementById(`descripcion-2-${index}`);\n    const showMore = document.getElementById(`show-more-2-${index}`);\n    const showLess = document.getElementById(`show-less-2-${index}`);\n    console.warn(\"id:\" + index);\n    if (textContainer) {\n        if (textContainer.classList.contains('expanded')) {\n            textContainer.classList.remove('expanded');\n            showMore.style.display = 'block';\n            showLess.style.display = 'none';\n            textContainer.style.maxHeight = '100px'; \/\/ Vuelve a las 4 l\u00edneas\n        } else {\n            textContainer.classList.add('expanded');\n            showMore.style.display = 'none';\n            showLess.style.display = 'block';\n            textContainer.style.maxHeight = 'none'; \/\/ Deja que el contenedor se expanda completamente\n        }\n    }\n\n}\n\n\n\n\n\nfunction actualizarMapa(restaurantes) {\n    \/\/ Limpiar los marcadores existentes\n    markers.forEach(marker => marker.setMap(null));\n    markers = [];\n\n    const listaCards = document.getElementById('Lista-cards');\n    listaCards.innerHTML = '';\n\n\n\n\n    restaurantes.forEach((property, index) => {\n        \n        let iconUrl;\n        switch (property.tipo_establecimiento_id) {\n            case '1':\n                iconUrl =\n                    \"https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/07\/foodie-black-week-24-mapa-restaurantes-1.png\";\n                break;\n            case '2':\n                iconUrl =\n                    \"https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/07\/foodie-black-week-24-mapa-hoteles-1.png\";\n                break;\n            case '3':\n                iconUrl =\n                    \"https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/07\/foodie-black-week-24mapa-ocio-1.png\";\n                break;\n            default:\n                iconUrl =\n                    \"https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-mapa-restaurantes-1.png\"; \/\/ Icono predeterminado\n                break;\n        }\n\n        const marker = new google.maps.Marker({\n            position: {\n                lat: parseFloat(property.latitud),\n                lng: parseFloat(property.longitud)\n            },\n            map: map,\n            title: property.nombre_restaurante,\n            icon: {\n                url: iconUrl,\n            },\n            id: property.restaurante_id\n        });\n\n        markers.push(marker);\n\n\n        const overlayContent = `\n            <div class=\"card\">\n                <div class=\"cardOver\">\n                    <img decoding=\"async\" src=\"${property.imagen_oferta ? property.imagen_oferta : '\thttps:\/\/foodieblackweek.com\/madrid\/wp-content\/uploads\/2025\/02\/LOGO-foodie-black-week-MAD-PANTALLA-tra.png'}\" style=\"${SetearEstiloImagen(property.imagen_oferta)}\" class=\"card-img-top2\" alt=\"Imagen\">\n                    <div class=\"card-body\">\n                        <h6 class=\"card-title\">${SetearNombre(eliminarBarrasInvertidas(property.nombre_restaurante))}<\/h6>\n                        <div class=\"card-text-with-icon\">\n                            \n                            <div class=\"card-text-container\">\n                            <div id=\"descripcion-2-${index}\" class=\"card-text-scroll\">\n                                    <p class=\"card-text small aLight fontDesc pb-0\">${setearDescripcion(property.descripcion_oferta)}<\/p>\n                                    <p class=\"card-text small aMedium fontDesc\">${comprobarPrecio(property.precio_oferta)}<\/p>\n                                <\/div>\n                                <span id=\"show-more-2-${index}\" class=\"show-more2\" onclick=\"toggleDescription2(${index})\" style=\"display:none;\">Ver m\u00e1s<\/span>\n                       \n                                <span id=\"show-less-2-${index}\" class=\"show-less2\" onclick=\"toggleDescription2(${index})\" style=\"display:none;\">Ver menos<\/span>\n                            <\/div>\n                        <\/div>\n                        <a href=\"${SetearEnlaceOferta(property.enlace_oferta,property.pagina_web)}\" class=\"btn btn-outline btn-sm mt-2 aMedium\" target=\"_blank\">Reserva<\/a>\n                    <\/div>\n                <\/div>\n            <\/div>\n        `;\n\n        const overlay = new CustomOverlay(new google.maps.LatLng(parseFloat(property.latitud), parseFloat(\n            property.longitud)), overlayContent, index);\n\n        marker.addListener('click', () => {\n            \/\/ Centra el mapa en la posici\u00f3n del marcador\n            const position = marker.getPosition(); \/\/ Obtener la posici\u00f3n del marcador\n            const latLng = new google.maps.LatLng(position.lat() + 0.004, position\n                .lng()); \/\/ Ajusta el valor 0.001 para mover el centro hacia arriba\n\n            \/\/ Centra el mapa en la posici\u00f3n del marcador, un poco m\u00e1s arriba\n            map.panTo(latLng);\n            map.setZoom(15);\n\n            if (currentOverlay) {\n                currentOverlay.setMap(null);\n            }\n            currentOverlay = overlay;\n\n            \/\/ Muestra el overlay personalizado\n            overlay.setMap(map);\n\n        });\n\n        \n\n        const nuevaCard = document.createElement('div');\n        nuevaCard.classList.add('restaurant-card');\n\n        const backgroundColor = index % 2 === 0 ? '#f0ede6' : '#ffffff';\n        nuevaCard.style.backgroundColor = backgroundColor;\n        nuevaCard.setAttribute('style', `background-color: ${backgroundColor};`);\n\n\n\n\n        nuevaCard.innerHTML =\n            `<div class=\"et_pb_section et_pb_section_4 et_section_regular\" id=\"card${index}\">\n    <div class=\"et_pb_row et_pb_row_3\">\n        <div class=\"et_pb_column et_pb_column_1_3 et_pb_column_4 et_pb_css_mix_blend_mode_passthrough\">\n            <div class=\"et_pb_module et_pb_image et_pb_image_1\">\n                <span class=\"et_pb_image_wrap\">\n                <img loading=\"lazy\" decoding=\"async\" src=\"${property.imagen_oferta}\"  srcset=\"${property.imagen_oferta}\" style=\"height: 230px; width: 230px; object-fit: cover;\">\n                <\/span>\n            <\/div>\n        <\/div>\n        <div class=\"et_pb_column et_pb_column_1_3 et_pb_column_5 et_pb_css_mix_blend_mode_passthrough\">\n            <div class=\"et_pb_module et_pb_text et_pb_text_99 et_pb_text_align_left et_pb_bg_layout_light\">\n                <div class=\"et_pb_text_inner\">\n                    <p class=\"nameRestaurant\">${SetearNombre(eliminarBarrasInvertidas(property.nombre_restaurante))}<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"et_pb_module et_pb_text et_pb_text_1 et_pb_text_align_left et_pb_bg_layout_light\">\n                <div class=\"et_pb_text_inner\">\n                    <p class=\"typeComida\">${SetearTipoDeComdia(property.nombre_tipo_comida,property.tipo_comida_outlist)}<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"et_pb_module et_pb_text et_pb_text_2 et_pb_text_align_left et_pb_bg_layout_light\">\n                <div class=\"et_pb_text_inner\">\n                    <p class=\"price\">${SetearPrecio(property.rango_precios)}<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\">\n                <div class=\"et_pb_text_inner\">\n                    <p class=\"address\">${eliminarBarrasInvertidas(property.direccion)}<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"et_pb_module et_pb_text et_pb_text_4 et_pb_text_align_left et_pb_bg_layout_light\">\n                <div class=\"et_pb_text_inner\">\n                    <p class=\"phone\">${SetearTelefono(property.telefono)}<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"et_pb_module et_pb_text et_pb_text_5 et_pb_text_align_left et_pb_bg_layout_light\">\n                <div class=\"et_pb_text_inner\">\n                    <p><a href=\"${property.pagina_web}\" target=\"_blank\" rel=\"noopener\">P\u00e1gina web<\/a><\/p>\n                <\/div>\n            <\/div>\n        <\/div>\n        <div class=\"et_pb_with_border et_pb_column_1_3 et_pb_column et_pb_column_6 et_pb_css_mix_blend_mode_passthrough et-last-child\" style=\"min-width: 320px;\">\n            <div class=\"et_pb_module et_pb_image et_pb_image_2\">\n                <span class=\"et_pb_image_wrap\">\n                    <img \n                        loading=\"lazy\" \n                        decoding=\"async\" \n                        width=\"2221\" \n                        height=\"423\" \n                        src=\"https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-promociones-web.png\" \n                        alt=\"https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-promociones-web.png\" \n                        title=\"img_ico\"                         \n                        class=\"wp-image-385\" srcset=\"https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-promociones-web.png 2221w, https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-promociones-web-1280x244.png 1280w, https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-promociones-web-980x187.png 980w, https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-promociones-web-480x91.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2221px, 100vw\" \/>\n                <\/span>\n            <\/div>\n            <div class=\"et_pb_with_border et_pb_module et_pb_text et_pb_text_6 et_pb_text_align_left et_pb_bg_layout_light\">\n            <div class=\"et_pb_text_inne text-container\" id=\"descripcion-${index}\">\n                <p class=\"card-text small aLight fontDesc pb-0\">${eliminarBarrasInvertidas(setearDescripcion(property.descripcion_oferta))} ${comprobarPrecio(property.precio_oferta)}<\/p>\n            <\/div>\n            <span class=\"show-more\" id=\"show-more-${index}\" onclick=\"toggleDescription(${index})\" style=\"display: none;\">Ver m\u00e1s<\/span>\n            <span class=\"show-less\" id=\"show-less-${index}\" onclick=\"toggleDescription(${index})\" style=\"display: none;\">Ver menos<\/span>\n           \n                \n            <\/div>\n            <div class=\"et_pb_button_module_wrapper et_pb_button_0_wrapper et_pb_module\">\n                <a class=\"et_pb_button et_pb_button_0 et_pb_bg_layout_light aSmall\" href=\"${SetearEnlaceOferta(property.enlace_oferta,property.pagina_web)}\" target=\"_blank\">Reserva<\/a>\n                <button id=\"botonCompartir\" data-nombrerest=\"${property.nombre_restaurante}\">Compartir<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n        `;\n\n        var contenedor = document.getElementById('BotonMas');\n        if (index < current_numb) {\n            nuevaCard.style.marginBottom = '20px';\n            listaCards.appendChild(nuevaCard);\n            contenedor.classList.add(\"displayNone\");\n            if (!ButtonVisible) {\n                ButtonVisible = true;\n            }\n        } else {\n            if (ButtonVisible) {\n                contenedor.classList.remove(\"displayNone\");\n                contenedor.classList.add(\"displayBlock\");\n                ButtonVisible = false;\n            }\n\n        }\n        ajustarBotonesVerMas(index);\n\n\n    });\n}\n\n\/\/ Funcio\u0301n para actualizar los botones de compartir\ndocument.addEventListener('DOMContentLoaded', function() {\n    function actualizarBotonesCompartir() {\n        setTimeout(() => {\n            const buttonsOffer = document.querySelectorAll(\"#botonCompartir\");\n\n            if (buttonsOffer.length === 0) {\n                console.error(\"No se encontraron botones de compartir.\");\n                return;\n            }\n\n            buttonsOffer.forEach((button) => {\n  const card = button.closest(\".et_pb_section\");\n\n  const nombre = (card.querySelector(\".nameRestaurant\")?.textContent || \"\").trim();\n  const nombreEscapado = encodeURIComponent(nombre).replace(\/%20\/g, \"+\"); \/\/ espacios -> +, resto escapado\n  const enlaceOferta = nombre ? `#${nombreEscapado}` : \"\";\n\n  const paginaWeb = card.querySelector(\".et_pb_text_5 a\")?.getAttribute(\"href\") || \"\";\n\n  button.dataset.enlace = enlaceOferta;\n  button.dataset.web = paginaWeb;\n  button.dataset.tipo = \"restaurante\";\n});\n\n        }, 500);\n    }\n\n    \/\/ Evento delegado para manejar clicks en los botones de compartir\n    document.addEventListener(\"click\", function(event) {\n        if (event.target && event.target.id === \"botonCompartir\") {\n            let button = event.target;\n            if (navigator.share) {\n              navigator.share({\n                title: 'Foodie Black Week',\n                url: button.dataset.enlace  \/\/ \"?utm_source=foodieblackweek.com&utm_medium=share_button&utm_campaign=foodie2025bcn\"\n              });\n            } else {\n                let property = {\n                    enlace_oferta: button.dataset.enlace,\n                    pagina_web: button.dataset.web,\n                    tipo: button.dataset.tipo,\n                    nombre_restaurante: encodeURIComponent(button.dataset.nombrerest)\n                };\n                shareOffer(property);\n            }\n        }\n    });\n\n    \/\/ Detectar cambios en el buscador y actualizar botones\n    const inputBuscador = document.querySelector(\"#buscador\"); \/\/ Aseg\u00farate de que este es el ID correcto\n    if (inputBuscador) {\n        inputBuscador.addEventListener(\"input\", function() {\n            setTimeout(() => {\n                actualizarBotonesCompartir(); \/\/ Reasignar atributos a los botones\n            }, 500);\n        });\n    }\n\n    \/\/ Detectar cambios en el DOM y reasignar botones autom\u00e1ticamente\n    const observer = new MutationObserver(() => {\n        actualizarBotonesCompartir();\n    });\n\n    observer.observe(document.body, {\n        childList: true,\n        subtree: true\n    });\n\n    \/\/ Ejecutar la actualizaci\u00f3n al cargar la p\u00e1gina\n    actualizarBotonesCompartir();\n\n    function shareOffer(property) {\n        if (!property || !property.enlace_oferta || !property.pagina_web) {\n            console.error(\"Faltan datos para compartir la oferta.\");\n            return;\n        }\n\n        let urlCompartir = window.location.href.split(\"#\")[0] + \"#\" + property.nombre_restaurante \n            \/\/ SetearEnlaceOferta(property.enlace_oferta, property.pagina_web);\n        console.log(urlCompartir);\n\n        let mensaje = \"\u00a1Sabemos que las alegr\u00edas compartidas son\u00a0doble\u00a0alegr\u00eda!\";\n        let mensajeCorreo = \"Ten\u00eda que pas\u00e1rtelo\u2026 \u00a1Foodie Black Week viene con planazos! \u00bfNos\u00a0apuntamos?\";\n\n        \/\/ Eliminar cualquier modal\/overlay previo antes de crear uno nuevo\n        let modalExistente = document.getElementById(\"modalCompartir\");\n        let overlayExistente = document.getElementById(\"overlayCompartir\");\n\n        if (modalExistente) modalExistente.remove();\n        if (overlayExistente) overlayExistente.remove();\n\n        \/\/ Crear el overlay\n        const overlay = document.createElement('div');\n        overlay.id = \"overlayCompartir\";\n        overlay.style.position = \"fixed\";\n        overlay.style.top = \"0\";\n        overlay.style.left = \"0\";\n        overlay.style.width = \"100%\";\n        overlay.style.height = \"100%\";\n        overlay.style.background = \"rgba(0, 0, 0, 0.5)\";\n        overlay.style.zIndex = \"999\";\n        document.body.appendChild(overlay);\n\n        \/\/ Crear el modal\n        const dialog = document.createElement('div');\n        dialog.id = \"modalCompartir\";\n        dialog.innerHTML = `\n        <h2>Compartir oferta<\/h2>\n        <p>${mensaje}<\/p>\n        <div id=\"botonesCompartir\">\n        <a href=\"https:\/\/api.whatsapp.com\/send?text=${encodeURIComponent(mensajeCorreo + \" \" + urlCompartir)}\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/cdn-icons-png.flaticon.com\/512\/124\/124034.png\"><\/a>\n        <a href=\"https:\/\/www.instagram.com\/accounts\/login\/?next=\/share&url=${encodeURIComponent(urlCompartir)}\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/cdn-icons-png.flaticon.com\/512\/2111\/2111463.png\"><\/a>\n        <a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=${encodeURIComponent(urlCompartir)}\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/cdn-icons-png.flaticon.com\/512\/124\/124010.png\"><\/a>\n        <a href=\"https:\/\/twitter.com\/intent\/tweet?text=${encodeURIComponent(mensajeCorreo + \" \" + urlCompartir)}\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcSlSjNPRJt0l1rzDaa3vPGPffxSv1vHv1-S8Q&s\"><\/a>\n        <a href=\"mailto:?subject=Foodie\u00a0Black\u00a0Week&body=${mensajeCorreo} ${encodeURIComponent(urlCompartir)}\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/cdn-icons-png.flaticon.com\/512\/732\/732200.png\"><\/a>\n        <\/div>\n        <button id=\"cerrarModal\">Cerrar<\/button>\n    `;\n        document.body.appendChild(dialog);\n        document.body.style.overflow = \"hidden\";\n\n        \/\/ Cerrar modal y overlay correctamente\n        function cerrarModal() {\n            if (document.getElementById(\"modalCompartir\")) {\n                document.getElementById(\"modalCompartir\").remove();\n            }\n            if (document.getElementById(\"overlayCompartir\")) {\n                document.getElementById(\"overlayCompartir\").remove();\n            }\n            document.body.style.overflow = \"auto\";\n        }\n\n        document.getElementById(\"cerrarModal\").onclick = cerrarModal;\n        overlay.onclick = cerrarModal;\n    }\n    if (window.location.hash) {\n  const raw = window.location.hash.slice(1);\n  const hash = decodeURIComponent(raw.replace(\/\\+\/g, \" \"));\n  if (hash) {\n    document.getElementById(\"buscador\").value = hash;\n    setTimeout(aplicarFiltros, 500);\n  }\n}\n});\n\n\nlet ButtonVisible = true;\n\n\/\/ Inicializar el mapa\nlet map;\nlet markers = [];\nlet properties = [{\"restaurante_id\":\"302\",\"nombre_restaurante\":\"Museo de Cera de Barcelona & Bosc de les Fades\",\"latitud\":\"41.377491\",\"longitud\":\"2.177347\",\"direccion\":\"Passatge de la Banca, 7, Ciutat Vella, 08002 Barcelona\",\"telefono\":\"933172649\",\"pagina_web\":\"https:\\\/\\\/www.museocerabcn.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Con tu entrada al Museo de Cera de Barcelona, disfruta de un 25% de descuento en el Bosc de les Fades.\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodie.deostudio.com\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/foodie-giny-transparente.gif\",\"eix_comercial_id\":\"24\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Ciutat Vella\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"301\",\"nombre_restaurante\":\"Bosc de les Fades\",\"latitud\":\"41.377323\",\"longitud\":\"2.177376\",\"direccion\":\"Passatge de la Banca, 7, Ciutat Vella, 08002 Barcelona\",\"telefono\":\"933172649\",\"pagina_web\":\"https:\\\/\\\/www.boscdelesfades.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"15% de descuento en la cuenta, con cualquier consumici\\u00f3n.\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/DSC5205-Panopv.jpg\",\"eix_comercial_id\":\"24\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Ciutat Vella\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"282\",\"nombre_restaurante\":\"Quiote Mezcaler\\u00eda\",\"latitud\":\"41.379503\",\"longitud\":\"2.155674\",\"direccion\":\"Carrer de Cal\\u00e0bria, 98, L\\\\'Eixample, 08015 Barcelona\",\"telefono\":\"655134904\",\"pagina_web\":\"https:\\\/\\\/quiote-mezcaleria-scp.square.site\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Experiencia Gastron\\u00f3mica Mexicana \\u2013 Especial Foodie Black Week Descubra nuestras cenas pop-up de cocina mexicana. Posibilidad de reservar cenas privadas y catering exclusivo para eventos en Barcelona. Reservando durante la Foodie Black Week, experiencias desde 45 \\u20ac por persona (precio orientativo seg\\u00fan formato y n\\u00famero de comensales). Plazas limitadas. Reserva previa.\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/IMG_8966.jpeg\",\"eix_comercial_id\":\"3\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"30-60\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Cor Eixample\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"257\",\"nombre_restaurante\":\"AiCha Bubble Tea & Especialty Coffee\",\"latitud\":\"41.384965\",\"longitud\":\"2.132401\",\"direccion\":\"Carrer de Joan G\\u00fcell, 137, Les Corts, 08028 Barcelona\",\"telefono\":\"666007007\",\"pagina_web\":\"http:\\\/\\\/www.aichabubbletea.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Gratis un Bubble Tea. \\r\\nHoy es tu dia de suerte ven y disfruta de un Bubble Tea totalmente Gratis!!!\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/1000198603-1.jpg\",\"eix_comercial_id\":\"7\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Les Corts\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"246\",\"nombre_restaurante\":\"Bobby gin\",\"latitud\":\"41.399921\",\"longitud\":\"2.158452\",\"direccion\":\"Carrer de Francisco Giner, 47, Gr\\u00e0cia, 08012 Barcelona\",\"telefono\":\"933681892\",\"pagina_web\":\"http:\\\/\\\/bobbygin.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Cuatro signature gin tonics.\",\"precio_oferta\":\"30.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/1000057578.jpg\",\"eix_comercial_id\":\"10\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Gr\\u00e0cia\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"244\",\"nombre_restaurante\":\"Silvestre flowers and drinks\",\"latitud\":\"41.388147\",\"longitud\":\"2.160052\",\"direccion\":\"C\\\/ d\\\\'Aribau, 52, Eixample, 08011 Barcelona\",\"telefono\":\"34617336653\",\"pagina_web\":\"https:\\\/\\\/www.instagram.com\\\/silvestre.bcn?igsh=azl6cjB6NWN3ZTN0\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Sant Germain\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/silvestreFlowersDrinks-250x300.png\",\"eix_comercial_id\":\"3\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Cor Eixample\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"243\",\"nombre_restaurante\":\"Mirablau\",\"latitud\":\"41.416212\",\"longitud\":\"2.13198\",\"direccion\":\"Pla\\u00e7a del Doctor Andreu, s\\\/n, Sarri\\u00e0-Sant Gervasi, 08035 Barcelona\",\"telefono\":\"934185879\",\"pagina_web\":\"http:\\\/\\\/www.mirablaubcn.cat\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Atr\\u00e9vete a venir a probar nuestra Paloma Turuleca! Un divertido twist de este cl\\u00e1sico q nunca pasa de moda, como nosotros!!\",\"precio_oferta\":\"9.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/3069390c-2854-4c2a-8b5c-71b32f1c1b02.jpeg\",\"eix_comercial_id\":\"19\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Sant Gervasi\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"237\",\"nombre_restaurante\":\"CitySailing\",\"latitud\":\"41.375351\",\"longitud\":\"2.178456\",\"direccion\":\"Moll de les Drassanes, Ciutat Vella, 08039 Barcelona\",\"telefono\":\"658885812\",\"pagina_web\":\"https:\\\/\\\/www.citysailing.es\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Disfruta de un 2x1 en los tours en barco de viernes a domingo! Paseo en velero de madera por Barcelona: 12\\u20ac en lugar de 24\\u20ac. Paseo en velero al atardecer en Barcelona con m\\u00fasica en vivo 15\\u20ac en lugar de 29,50\\u20ac Canjea el c\\u00f3digo: CFBW50 en el carrito de nuestra web!\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/CATAPA-8.jpg\",\"eix_comercial_id\":\"24\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Ciutat Vella\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"216\",\"nombre_restaurante\":\"VERIDIS.CO\",\"latitud\":\"41.389612\",\"longitud\":\"2.163386\",\"direccion\":\"Consell de Cent 319, Barcelona\",\"telefono\":\"645757932\",\"pagina_web\":\"http:\\\/\\\/www.facebook.com\\\/veridis.co\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"\\ud83d\\udc49 2 baby Barcardi Mojitos.\",\"precio_oferta\":\"10.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/IMG_5385.jpeg\",\"eix_comercial_id\":\"14\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Nou Eixample\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"210\",\"nombre_restaurante\":\"My Bar\",\"latitud\":\"41.38072\",\"longitud\":\"2.174525\",\"direccion\":\"Passatge de Madoz, Barcelona\",\"telefono\":\"682380786\",\"pagina_web\":\"http:\\\/\\\/www.mybar.es\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Dos pintas de Cerveza.\",\"precio_oferta\":\"4.95\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/Sin-titulo-1.png\",\"eix_comercial_id\":\"23\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Gotic\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"208\",\"nombre_restaurante\":\"Irish Pub Temple Bar\",\"latitud\":\"41.380654\",\"longitud\":\"2.174483\",\"direccion\":\"Carrer de Ferran 6, Barcelona\",\"telefono\":\"682380786\",\"pagina_web\":\"http:\\\/\\\/www.templebarbcn.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"\\u00a1Smash Burguer DOBLE!\\r\\n\\r\\nDeliciosa Smash Burguer con carne smash 100% de vacuno acompa\\u00f1ada de queso cheddar, pepinillos, lechuga, cebolla morada picada y nuestra salsa secreta.\",\"precio_oferta\":\"3.95\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/95-Temple_Smash_Burger-DSC_2305-Edit.jpg\",\"eix_comercial_id\":\"23\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Gotic\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"188\",\"nombre_restaurante\":\"Siboney BCN\",\"latitud\":\"41.38911\",\"longitud\":\"2.158754\",\"direccion\":\"Carrer d\\\\'Aribau, 70, local 3, Eixample, 08011 Barcelona\",\"telefono\":\"692968715\",\"pagina_web\":\"https:\\\/\\\/www.instagram.com\\\/siboney_bcn\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Consumiendo dos vermouth Martini el tercero es gratis.\",\"precio_oferta\":\"5.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/siboney.png\",\"eix_comercial_id\":\"3\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Cor Eixample\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"174\",\"nombre_restaurante\":\"colors club\",\"latitud\":\"41.3791\",\"longitud\":\"2.174775\",\"direccion\":\"C\\\/la rambla 33, 08002\",\"telefono\":\"667842704\",\"pagina_web\":\"http:\\\/\\\/colorsbcn.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"1 botella de Bacard\\u00ed o Santa Teresa, Bombay, Eristoff, Dewars Caribean, Cazador reposado + 1 Shisha al gusto en vip de 4-6 pax.\",\"precio_oferta\":\"120.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/colorsClub.png\",\"eix_comercial_id\":\"24\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Ciutat Vella\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"172\",\"nombre_restaurante\":\"Taller24\",\"latitud\":\"41.376571\",\"longitud\":\"2.135907\",\"direccion\":\"Carrer de Galileu 22,24, Barcelona\",\"telefono\":\"660727925\",\"pagina_web\":\"http:\\\/\\\/www.taller-24.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Tapas Foodie Week.\",\"precio_oferta\":\"45.00\",\"enlace_oferta\":\"https:\\\/\\\/taller-24.com\\\/producto\\\/tapas-foodie-week\\\/\",\"imagen_oferta\":\"https:\\\/\\\/taller-24.com\\\/wp-content\\\/uploads\\\/2019\\\/01\\\/zhuwb7ks7uh5nlxksk3u-300x300.jpg\",\"eix_comercial_id\":\"1\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"30-60\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Sants\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"168\",\"nombre_restaurante\":\"GANGSTA\\\\\\\\\\\\'S PARADISE SPEAKEASY\",\"latitud\":\"41.383844\",\"longitud\":\"2.184866\",\"direccion\":\"Carrer d\\\\'Ocata 2, Barcelona\",\"telefono\":\"672573649\",\"pagina_web\":\"https:\\\/\\\/www.gangstasparadisebcn.com\\\/es\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"FORGET IT IN CARACAS + CHIPS 15\\u20ac CHILLING ON THE RIVER + OLIVAS 15 \\u20ac\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/static.wixstatic.com\\\/media\\\/67d5d7_3f684acc692e4807aacf58d9d194bb92~mv2.jpg\\\/v1\\\/fill\\\/w_950,h_951,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto\\\/GANGSTAS-PARADISE-20384.jpg\",\"eix_comercial_id\":\"24\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Ciutat Vella\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"167\",\"nombre_restaurante\":\"Juanitos\",\"latitud\":\"41.39233\",\"longitud\":\"2.156282\",\"direccion\":\"Carrer d\\\\'Enric Granados, 91, L\\\\'Eixample, 08008 Barcelona\",\"telefono\":\"933533316\",\"pagina_web\":\"https:\\\/\\\/www.instagram.com\\\/barjuanitos\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"MOSCOW MULE + OLIVAS 12\\u20ac PATRON PALOMA + BRAVAS 14\\u20ac\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/juanitos.png\",\"eix_comercial_id\":\"14\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Nou Eixample\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"166\",\"nombre_restaurante\":\"The Original Old Fashioned\",\"latitud\":\"41.398072\",\"longitud\":\"2.159656\",\"direccion\":\"Carrer de Santa Teresa 1, Barcelona\",\"telefono\":\"690629932\",\"pagina_web\":\"https:\\\/\\\/www.theoriginaloldfashioned.com\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Al Capone + Sandwich de Meatballs \\u2192 20\\u20ac  Cocktail my Moon + Sandwich Pastrami \\u2192 20 \\u20ac St Germain Spritz o Vermut Martini + Bravas \\u2192 12 \\u20ac\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/static.wixstatic.com\\\/media\\\/67d5d7_db30ab1de65544a388c343819bfd4415~mv2.jpg\\\/v1\\\/fill\\\/w_613,h_1381,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto\\\/67d5d7_db30ab1de65544a388c343819bfd4415~mv2.jpg\",\"eix_comercial_id\":\"10\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Gr\\u00e0cia\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"165\",\"nombre_restaurante\":\"Nola Cocktail Bar & Food\",\"latitud\":\"41.398061\",\"longitud\":\"2.159669\",\"direccion\":\"Carrer de Santa Teresa 1, Barcelona\",\"telefono\":\"613277422\",\"pagina_web\":\"https:\\\/\\\/www.nolabarcelona.com\\\/es\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Hurricane + Muffaleta 20\\u20ac Sazerac + Pulled Pork 20\\u20ac St Germain Spritz + Bravas 12\\u20ac\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/static.wixstatic.com\\\/media\\\/ccf6c0_6f14baf86dfe44a6930931c7227afe3d~mv2.jpg\\\/v1\\\/fill\\\/w_1901,h_913,al_br,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto\\\/ccf6c0_6f14baf86dfe44a6930931c7227afe3d~mv2.jpg\",\"eix_comercial_id\":\"10\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Gr\\u00e0cia\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"130\",\"nombre_restaurante\":\"BAR OVISO\",\"latitud\":\"41.380676\",\"longitud\":\"2.177069\",\"direccion\":\"Carrer de n\\\\\\\\\\\\\\\\\\\\\\\\\\\\'Arai 5, Barcelona\",\"telefono\":\"932695146\",\"pagina_web\":\"\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Spritz semana foodieblack Nachos semana foodieblack.\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodie.deostudio.com\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/foodie-giny-transparente.gif\",\"eix_comercial_id\":\"23\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Gotic\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"125\",\"nombre_restaurante\":\"Panam75\",\"latitud\":\"41.387976\",\"longitud\":\"2.161122\",\"direccion\":\"carrer consell de cent 281\",\"telefono\":\"620460354\",\"pagina_web\":\"https:\\\/\\\/maps.app.goo.gl\\\/NFqCtp1daiZKCKQ89?g_st=ipc\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"2 cockteles comprado el tercero regalado.\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/lh3.googleusercontent.com\\\/p\\\/AF1QipOvfUyF_rHIVFLHlIpwUoqA9Q52UTqxXJ0R-2D8=w408-h272-k-no\",\"eix_comercial_id\":\"3\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Cor Eixample\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"123\",\"nombre_restaurante\":\"APOTHUCKER\",\"latitud\":\"41.377058\",\"longitud\":\"2.160588\",\"direccion\":\"Carrer de Viladomat 43 bis, Barcelona\",\"telefono\":\"641735486\",\"pagina_web\":\"https:\\\/\\\/www.instagram.com\\\/apothucker\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"La combinaci\\u00f3n armoniosa de nuestro c\\u00f3ctel de autor, \\u00abAntioxidante\\u00bb, que combina ginebra, pepino, albahaca, pimienta negra, manzana y lima, con su tzatziki casero de la misma composici\\u00f3n.\",\"precio_oferta\":\"13.50\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/APOTHUCKER-Bar.jpg-min-1-224x300.png\",\"eix_comercial_id\":\"18\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Sant Antoni\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"114\",\"nombre_restaurante\":\"GIMLET\",\"latitud\":\"41.396035\",\"longitud\":\"2.14546\",\"direccion\":\"Carrer de Santal\\u00f3 46, Barcelona\",\"telefono\":\"932015306\",\"pagina_web\":\"https:\\\/\\\/drymartiniorg.com\\\/locales\\\/gimlet-v2\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Spritz St. Germain + tapa ensaladilla rusa a un precio muy atractivo.\",\"precio_oferta\":\"9.90\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/St-germain-Spritz-8503-200x300.jpg\",\"eix_comercial_id\":\"19\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Sant Gervasi\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"106\",\"nombre_restaurante\":\"Vesou Rum Bar\",\"latitud\":\"41.38937\",\"longitud\":\"2.156813\",\"direccion\":\"Carrer de Mallorca 184, Barcelona\",\"telefono\":\"627006117\",\"pagina_web\":\"http:\\\/\\\/www.vesoubarcelona.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Cocktail + Tapa por 15\\u20ac. Coctel:  Rosita y el Pastor , Patr\\u00f3n Silver infusionado con pi\\u00f1a, Martini Ambrato infusionado con especias del taco al pastor, Martini Bitter, Perfume de cilantro. Tapa:  Accras de Moure, Bu\\u00f1uelo de bacalao con especias caribe\\u00f1as, t\\u00edpico de las antillas francesas.\",\"precio_oferta\":\"15.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/09\\\/VESOUJULIO2025-95.jpg\",\"eix_comercial_id\":\"3\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Cor Eixample\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"98\",\"nombre_restaurante\":\"Bar Costa\",\"latitud\":\"41.382489\",\"longitud\":\"2.165951\",\"direccion\":\"Carrer de Joaqu\\u00edn Costa, Barcelona\",\"telefono\":\"690835070\",\"pagina_web\":\"https:\\\/\\\/barcosta.com\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Sangr\\u00eda \\u201cBAR COSTA\\u201d \\r\\nLa mezcla perfecta de BOMBAY, ST-GERMAIN, MARTINI \\r\\nVIBRANTE con fruta de la pasi\\u00f3n. P\\u00eddela de vino blanco o cava\",\"precio_oferta\":\"8.50\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodie.deostudio.com\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/foodie-giny-transparente.gif\",\"eix_comercial_id\":\"22\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Raval\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"77\",\"nombre_restaurante\":\"GUAYOYO\",\"latitud\":\"41.40354\",\"longitud\":\"2.13141\",\"direccion\":\"Pla\\u00e7a del Camp, 2, Sarri\\u00e0-Sant Gervasi, 08022 Barcelona\",\"telefono\":\"935632953\",\"pagina_web\":\"https:\\\/\\\/www.instagram.com\\\/guayoyobarcelona\\\/?hl=es\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Cocktail especial de Grey Goose para Foodie Black Week y bravas.\",\"precio_oferta\":\"15.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodie.deostudio.com\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/foodie-giny-transparente.gif\",\"eix_comercial_id\":\"19\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Sant Gervasi\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"72\",\"nombre_restaurante\":\"Never\",\"latitud\":\"41.37908\",\"longitud\":\"2.166418\",\"direccion\":\"Carrer de la Cera 17, Bajos\",\"telefono\":\"660919888\",\"pagina_web\":\"http:\\\/\\\/www.neverbcn.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"2 c\\u00f3cteles de Autor muy originales y exclusivos para amantes de los sabores acompa\\u00f1ado con unos quesos de Gamazo de oveja & queso Majorero con especies.\",\"precio_oferta\":\"25.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/neverBcn-255x300.png\",\"eix_comercial_id\":\"24\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Ciutat Vella\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"49\",\"nombre_restaurante\":\"Foxy Bar\",\"latitud\":\"41.380327\",\"longitud\":\"2.164344\",\"direccion\":\"Carrer de la Riera Alta 59, Barcelona\",\"telefono\":\"935017465\",\"pagina_web\":\"https:\\\/\\\/foxybarbcn.wixsite.com\\\/foxybar\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"St Germain Spritz.\",\"precio_oferta\":\"7.50\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/09\\\/foxy-bar.jpg\",\"eix_comercial_id\":\"22\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Raval\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"5\",\"nombre_restaurante\":\"BPM BAR ENCANTS\",\"latitud\":\"41.406794\",\"longitud\":\"2.184211\",\"direccion\":\"Carrer Arag\\u00f3, 551\",\"telefono\":\"650323165\",\"pagina_web\":\"http:\\\/\\\/bpmbar.es\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"BRAVAS + 2 COPAS DE CERVEZA 9\\u20ac.\\r\\nBRAVAS + 2 COPAS DE VINO 9\\u20ac.\\r\\nFINGERS DE POLLO + 2 COPAS DE CERVEZA 11\\u20ac.\\r\\nFINGERS DE POLLO + 2 COPAS DE VINO 11\\u20ac\\r\\nTABLA DE EMBUTIDOS Y QUESO + 2 COPAS DE CERVEZA 18\\u20ac\\r\\nTABLA DE EMBUTIDOS Y QUESO + 2 COPAS DE VINO 18\\u20ac\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodie.deostudio.com\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/foodie-giny-transparente.gif\",\"eix_comercial_id\":\"8\",\"tipo_comida_id\":\"16\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Encants Nous\",\"nombre_tipo_comida\":\"Comida Catalana\"},{\"restaurante_id\":\"241\",\"nombre_restaurante\":\"Gimlet\",\"latitud\":\"41.396299\",\"longitud\":\"2.145381\",\"direccion\":\"Carrer de Santal\\u00f3, 46, Sarri\\u00e0-Sant Gervasi, 08021 Barcelona\",\"telefono\":\"932 058 070\",\"pagina_web\":\"https:\\\/\\\/www.drymartiniorg.com\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":null,\"precio_oferta\":null,\"enlace_oferta\":null,\"imagen_oferta\":null,\"eix_comercial_id\":\"19\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Sant Gervasi\",\"nombre_tipo_comida\":\"Otras\"}];\n\n\/\/ Mostrar todos los resultados en consola al cargar el mapa\nconsole.log(\"Todos los resultados del mapa:\", properties);\n\nasync function initMap() {\n    \/\/ Importar clases de la API de Google Maps\n    const {\n        Map\n    } = await google.maps.importLibrary(\"maps\");\n    const {\n        AdvancedMarkerElement\n    } = await google.maps.importLibrary(\"marker\");\n\n    \/\/ Centro inicial (Madrid, por ejemplo)\n    const center = {\n        lat: 41.3874,\n        lng: 2.1686\n    };\n\n    \/\/ Crear mapa\n    map = new Map(document.getElementById('map'), {\n        zoom: 11,\n        mapId: \"63c2e3b5f83810ef\",\n        center: center,\n        streetViewControl: false,\n        mapTypeControl: false,\n        clickableIcons: false\n    });\n\n    \/\/ Al hacer clic en el mapa, cierra el overlay (si existe)\n    map.addListener('click', () => {\n        if (currentOverlay) {\n            currentOverlay.setMap(null);\n            currentOverlay = null;\n        }\n        \/\/ map.setZoom(14);\n    });\n\n    \/\/ Cargar y mostrar todos los restaurantes\n    actualizarMapa(properties);\n}\n\ndocument.getElementById('barrio').addEventListener('change', FiltroListener);\ndocument.getElementById('tipo_comida').addEventListener('change', FiltroListener);\ndocument.getElementById('rango_precio').addEventListener('change', FiltroListener);\n\n\/\/ [NUEVO] Variables\/elementos para autocompletado\nconst autocompleteResults = document.getElementById('autocomplete-results');\ndocument.getElementById('buscador').addEventListener('input', onBuscarInput);\n\n\/**\n * Genera las sugerencias de autocompletado en base al input (nombre del restaurante).\n *\/\nfunction onBuscarInput(e) {\n    const valor = e.target.value.toLowerCase();\n\n    \/\/ Limpia el contenedor de sugerencias cada vez\n    autocompleteResults.innerHTML = '';\n    autocompleteResults.style.display = 'none';\n\n    \/\/ Si no hay texto, no mostramos nada y llamamos a filtrar\n    if (!valor) {\n        aplicarFiltros();\n        return;\n    }\n    aplicarFiltros();\n\n    \/\/ Tomamos de tu array \"properties\" solo el nombre_restaurante\n    \/\/ y buscamos coincidencias con lo que escribe el usuario\n    const coincidencias = properties\n        .map(r => r.nombre_restaurante) \/\/ sacamos solo el nombre\n        .filter(nombre => nombre.toLowerCase().includes(valor));\n\n    \/\/ Quitamos duplicados\n    const unicos = [...new Set(coincidencias)];\n\n    \/\/ con esto de aqui abajo creamos un boton para eliminar el texto que se selecciona en el input\n    const closeBtn = document.createElement('button');\n    closeBtn.type = 'button';\n    closeBtn.className = 'close';\n    closeBtn.innerHTML = '<span aria-hidden=\"true\">&times;<\/span>';\n    closeBtn.addEventListener('click', () => {\n        document.getElementById('buscador').value = '';\n        aplicarFiltros();\n        closeBtn.parentNode.removeChild(closeBtn);\n    });\n\n    \/\/ Agregamos el evento de input al input de b\u00fasqueda\n    document.getElementById('buscador').addEventListener('input', () => {\n        \/\/ console.log('Evento input disparado');\n        if (document.getElementById('buscador').value.length > 0) {\n            if (!document.getElementById('buscador').parentNode.querySelector('.close')) {\n                document.getElementById('buscador').parentNode.appendChild(closeBtn);\n            }\n        } else {\n            closeBtn.parentNode.removeChild(closeBtn);\n        }\n    });\n\n    \/\/ Si hay coincidencias, las mostramos\n    if (unicos.length > 0) {\n        autocompleteResults.style.display = 'block';\n\n        \/\/ Mostramos m\u00e1ximo 10 sugerencias\n        unicos.slice(0, 10).forEach(nombre => {\n            const item = document.createElement('div');\n            item.textContent = nombre;\n            item.classList.add('autocomplete-item');\n\n            \/\/ Al hacer clic en una sugerencia:\n            item.addEventListener('click', () => {\n                \/\/ Rellenamos el input\n                document.getElementById('buscador').value = nombre;\n                \/\/ Ocultamos sugerencias\n                autocompleteResults.innerHTML = '';\n                autocompleteResults.style.display = 'none';\n                \/\/ Filtramos con ese nombre\n                aplicarFiltros();\n                if (!document.getElementById('buscador').parentNode.querySelector('.close')) {\n                    document.getElementById('buscador').parentNode.appendChild(closeBtn);\n                }\n            });\n            autocompleteResults.appendChild(item);\n        });\n    }\n}\n<\/script>\n\n\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.3\/dist\/js\/bootstrap.bundle.min.js\"><\/script>\n\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; fullwidth=\u00bbon\u00bb admin_label=\u00bbSection\u00bb module_id=\u00bbLista-cards\u00bb _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bbRGBA(255,255,255,0)\u00bb da_popup_slug=\u00bbLista-cards\u00bb da_disable_devices=\u00bboff|off|off\u00bb global_colors_info=\u00bb{}\u00bb da_is_popup=\u00bboff\u00bb da_exit_intent=\u00bboff\u00bb da_has_close=\u00bbon\u00bb da_alt_close=\u00bboff\u00bb da_dark_close=\u00bboff\u00bb da_not_modal=\u00bbon\u00bb da_is_singular=\u00bboff\u00bb da_with_loader=\u00bboff\u00bb da_has_shadow=\u00bbon\u00bb][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; disabled_on=\u00bboff|off|off\u00bb admin_label=\u00bbSection\u00bb module_id=\u00bbborrar\u00bb _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb custom_margin=\u00bb0px||0px||false|false\u00bb custom_padding=\u00bb1%||1%||false|false\u00bb custom_css_main_element=\u00bbvisibilty:hidden\u00bb da_popup_slug=\u00bbborrar\u00bb da_disable_devices=\u00bboff|off|off\u00bb global_colors_info=\u00bb{}\u00bb da_is_popup=\u00bboff\u00bb da_exit_intent=\u00bboff\u00bb da_has_close=\u00bbon\u00bb da_alt_close=\u00bboff\u00bb da_dark_close=\u00bboff\u00bb da_not_modal=\u00bbon\u00bb da_is_singular=\u00bboff\u00bb da_with_loader=\u00bboff\u00bb da_has_shadow=\u00bbon\u00bb][et_pb_row column_structure=\u00bb1_3,1_3,1_3&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb1_3&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb custom_padding=\u00bb||||false|false\u00bb custom_css_main_element=\u00bbmax-width:270px\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_image src=\u00bbhttps:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/tamano-foto-restauradores-900&#215;900-pixles-cuadrada.jpg\u00bb alt=\u00bbfoodie black week barcelona ofertas restaurantes\u00bb title_text=\u00bbtaman\u0303o-foto-restauradores-900&#215;900-pixles-cuadrada\u00bb _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb90%\u00bb custom_css_main_element=\u00bb\tobject-fit: cover;||\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_image][\/et_pb_column][et_pb_column type=\u00bb1_3&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbagenda-bold||||||||\u00bb text_font_size=\u00bb20px\u00bb text_line_height=\u00bb1em\u00bb custom_margin=\u00bb||0%||false|false\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<p>Nombre del restaurante completo<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbagenda-bold||||||||\u00bb text_text_color=\u00bb#FF0099&#8243; text_font_size=\u00bb18px\u00bb text_line_height=\u00bb1em\u00bb custom_margin=\u00bb||-0.9%||false|false\u00bb custom_padding=\u00bb||0px||false|false\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<p>TIPO DE COMIDA<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbagenda-light||||||||\u00bb text_font_size=\u00bb20px\u00bb text_line_height=\u00bb1em\u00bb custom_margin=\u00bb||3%||false|false\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<p>\u20ac\u20ac\u20ac\u20ac<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbagenda-light||||||||\u00bb text_font_size=\u00bb18px\u00bb custom_margin=\u00bb||3%||false|false\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<p>Direcci\u00f3n completa del restaurante, 08008, Barcelona<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbagenda-bold||||||||\u00bb text_font_size=\u00bb20px\u00bb text_line_height=\u00bb1em\u00bb custom_margin=\u00bb||0%||false|false\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<p>93 450 93 23<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbagenda-bold||||||||\u00bb text_font_size=\u00bb20px\u00bb custom_margin=\u00bb||4%||false|false\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<p><a href=\"http:\/\/www.google.es\" target=\"_blank\" rel=\"noopener\">P\u00e1gina web<\/a><\/p>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=\u00bb1_3&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb custom_padding=\u00bb2%|2%|2%|2%|false|false\u00bb custom_padding_tablet=\u00bb2%|2%|2%|2%|false|false\u00bb custom_padding_phone=\u00bb4%|4%|4%|4%|false|false\u00bb custom_padding_last_edited=\u00bbon|phone\u00bb border_width_all=\u00bb1px\u00bb border_color_all=\u00bb#FF0099&#8243; global_colors_info=\u00bb{}\u00bb][et_pb_image src=\u00bbhttps:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-promociones-web.png\u00bb alt=\u00bbfoodie-black-week-24-promociones-web\u00bb title_text=\u00bbfoodie-black-week-24-promociones-web\u00bb _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_image][et_pb_text _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbagendablack||||||||\u00bb text_font_size=\u00bb20px\u00bb border_color_all=\u00bb#FF0099&#8243; global_colors_info=\u00bb{}\u00bb]<\/p>\n<p>Dos tapas y dos ca\u00f1as por 7\u20ac<\/p>\n<p>[\/et_pb_text][et_pb_button button_text=\u00bbReserva\u00bb _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb custom_button=\u00bbon\u00bb button_text_color=\u00bb#FFFFFF\u00bb button_bg_color=\u00bb#FF0099&#8243; button_border_width=\u00bb0px\u00bb button_border_color=\u00bb#FF0099&#8243; button_border_radius=\u00bb1px\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_button][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbAgendaMedium|100|||||||\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; fullwidth=\u00bbon\u00bb admin_label=\u00bbSection\u00bb module_id=\u00bbBotonMas\u00bb _builder_version=\u00bb4.27.0&#8243; _module_preset=\u00bbdefault\u00bb custom_margin=\u00bb||3%||false|false\u00bb da_popup_slug=\u00bbBotonMas\u00bb da_disable_devices=\u00bboff|off|off\u00bb global_colors_info=\u00bb{}\u00bb da_is_popup=\u00bboff\u00bb da_exit_intent=\u00bboff\u00bb da_has_close=\u00bbon\u00bb da_alt_close=\u00bboff\u00bb da_dark_close=\u00bboff\u00bb da_not_modal=\u00bbon\u00bb da_is_singular=\u00bboff\u00bb da_with_loader=\u00bboff\u00bb da_has_shadow=\u00bbon\u00bb][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bb#FFFFFF\u00bb custom_margin=\u00bb0px||0px||false|false\u00bb custom_margin_tablet=\u00bb0px||0px||false|false\u00bb custom_margin_phone=\u00bb0px||||false|false\u00bb custom_margin_last_edited=\u00bbon|phone\u00bb custom_padding=\u00bb0px||0px||false|false\u00bb da_disable_devices=\u00bboff|off|off\u00bb box_shadow_style=\u00bbpreset1&#8243; global_colors_info=\u00bb{}\u00bb background__hover_enabled=\u00bbon|desktop\u00bb custom_margin__hover_enabled=\u00bbon|desktop\u00bb custom_margin__hover=\u00bb0px||0px||false|false\u00bb da_is_popup=\u00bboff\u00bb da_exit_intent=\u00bboff\u00bb da_has_close=\u00bbon\u00bb da_alt_close=\u00bboff\u00bb da_dark_close=\u00bboff\u00bb da_not_modal=\u00bbon\u00bb da_is_singular=\u00bboff\u00bb da_with_loader=\u00bboff\u00bb da_has_shadow=\u00bbon\u00bb][et_pb_row column_structure=\u00bb1_2,1_2&#8243; use_custom_gutter=\u00bbon\u00bb gutter_width=\u00bb1&#8243; make_equal=\u00bbon\u00bb _builder_version=\u00bb4.27.0&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb100%\u00bb max_width=\u00bb100%\u00bb module_alignment=\u00bbcenter\u00bb custom_margin=\u00bb|0px|0px|0px|false|false\u00bb custom_margin_tablet=\u00bb|0px|0px|0px|false|false\u00bb custom_margin_phone=\u00bb0px||||false|false\u00bb custom_margin_last_edited=\u00bbon|phone\u00bb custom_padding=\u00bb0px|0px|0px|0px|false|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb1_2&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb background_image=\u00bbhttps:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/co-foodie-black-week-24-ofertas-restaurantes-barcelona.jpg\u00bb custom_padding=\u00bb|0px||0px|false|false\u00bb link_option_url=\u00bb\/restaurantes\u00bb global_colors_info=\u00bb{}\u00bb background__hover_enabled=\u00bbon|hover\u00bb background_image__hover=\u00bbhttps:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/b-foodie-black-week-24-ofertas-restaurantes-barcelona.jpg\u00bb background_enable_image__hover=\u00bbon\u00bb filter_saturate__hover_enabled=\u00bbon|hover\u00bb][et_pb_image src=\u00bbhttps:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-restaurantes-ofertas-w.png\u00bb alt=\u00bbfoodie-black-week-restaurantes-ofertas-P\u00bb title_text=\u00bbfoodie-black-week-restaurantes-ofertas-P\u00bb url=\u00bb\/restaurantes\/\u00bb align=\u00bbcenter\u00bb src_last_edited=\u00bboff|desktop\u00bb _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bbRGBA(255,255,255,0)\u00bb width=\u00bb32%\u00bb max_width=\u00bb100%\u00bb module_alignment=\u00bbcenter\u00bb custom_margin=\u00bb28%||0%||false|false\u00bb custom_padding=\u00bb2%|6%|2%|6%|false|true\u00bb global_colors_info=\u00bb{}\u00bb src__hover_enabled=\u00bbon|hover\u00bb src__hover=\u00bbhttps:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-restaurantes-ofertas-P.png\u00bb][\/et_pb_image][et_pb_text _builder_version=\u00bb4.27.0&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbagendablack||||||||\u00bb text_text_color=\u00bb#FFFFFF\u00bb text_font_size=\u00bb43px\u00bb background_color=\u00bb#FF0099&#8243; text_orientation=\u00bbcenter\u00bb custom_padding=\u00bb3%||2%||false|false\u00bb link_option_url=\u00bb\/restaurantes\/\u00bb global_colors_info=\u00bb{}\u00bb text_text_color__hover_enabled=\u00bbon|hover\u00bb text_text_color__hover=\u00bb#000000&#8243;]<\/p>\n<p>RESTAURANTES<\/p>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=\u00bb1_2&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb background_image=\u00bbhttps:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/c-foodie-black-week-24-ofertas-hoteles-barcelona.jpg\u00bb link_option_url=\u00bb\/hoteles\u00bb global_colors_info=\u00bb{}\u00bb background__hover_enabled=\u00bbon|hover\u00bb background_image__hover=\u00bbhttps:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-ofertas-hoteles-barcelona.jpg\u00bb background_enable_image__hover=\u00bbon\u00bb][et_pb_image src=\u00bbhttps:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-hoteles-ofertas-w.png\u00bb alt=\u00bbfoodie-black-week-hoteles-ofertas-P\u00bb title_text=\u00bbfoodie-black-week-hoteles-ofertas-P\u00bb url=\u00bb\/hoteles\u00bb align=\u00bbcenter\u00bb _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bbRGBA(255,255,255,0)\u00bb width=\u00bb32%\u00bb max_width=\u00bb100%\u00bb module_alignment=\u00bbcenter\u00bb custom_margin=\u00bb27%||0%||false|false\u00bb custom_padding=\u00bb2%|6%|2%|6%|false|true\u00bb global_colors_info=\u00bb{}\u00bb src__hover_enabled=\u00bbon|hover\u00bb src__hover=\u00bbhttps:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-hoteles-ofertas-P-1.png\u00bb][\/et_pb_image][et_pb_text _builder_version=\u00bb4.27.0&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbagendablack||||||||\u00bb text_text_color=\u00bb#FFFFFF\u00bb text_font_size=\u00bb43px\u00bb background_color=\u00bb#FF0099&#8243; text_orientation=\u00bbcenter\u00bb custom_padding=\u00bb3%||2%||false|false\u00bb link_option_url=\u00bb\/hoteles\u00bb global_colors_info=\u00bb{}\u00bb text_text_color__hover_enabled=\u00bbon|hover\u00bb text_text_color__hover=\u00bb#000000&#8243;]<\/p>\n<p>HOTELES<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; disabled_on=\u00bboff|off|off\u00bb admin_label=\u00bbPopup &#8211; #promo-rest\u00bb module_id=\u00bbpromo-rest\u00bb module_class=\u00bbpopup dark single\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bb#000000&#8243; background_video_mp4=\u00bbhttps:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-restauradores-24.mp4&#8243; width=\u00bb83%\u00bb width_tablet=\u00bb\u00bb width_phone=\u00bb99%\u00bb width_last_edited=\u00bbon|phone\u00bb max_height_tablet=\u00bb\u00bb max_height_phone=\u00bb\u00bb max_height_last_edited=\u00bbon|phone\u00bb custom_margin=\u00bb-10px||||false|false\u00bb custom_padding=\u00bb0px||13px||false|false\u00bb background_color_phone=\u00bb#000000&#8243; background_last_edited=\u00bbon|desktop\u00bb background_enable_color_phone=\u00bbon\u00bb background_enable_video_mp4_tablet=\u00bboff\u00bb background_enable_video_mp4_phone=\u00bboff\u00bb da_is_popup=\u00bbon\u00bb da_popup_slug=\u00bbpromo-rest\u00bb da_is_singular=\u00bbon\u00bb da_dark_close=\u00bbon\u00bb da_disable_devices=\u00bboff|off|off\u00bb disabled=\u00bbon\u00bb global_module=\u00bb435&#8243; saved_tabs=\u00bball\u00bb global_colors_info=\u00bb{}\u00bb da_exit_intent=\u00bboff\u00bb da_has_close=\u00bbon\u00bb da_alt_close=\u00bboff\u00bb da_not_modal=\u00bbon\u00bb da_with_loader=\u00bboff\u00bb da_has_shadow=\u00bbon\u00bb][et_pb_row column_structure=\u00bb1_2,1_2&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb custom_margin=\u00bb||0px||false|false\u00bb custom_padding=\u00bb||0px||false|false\u00bb link_option_url=\u00bbhttps:\/\/foodieblackweek.com\/barcelona\/profesionales\/#participa\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb1_2&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbagendablack||||||||\u00bb text_text_color=\u00bb#FFFFFF\u00bb text_font_size=\u00bb59px\u00bb text_line_height=\u00bb1.2em\u00bb custom_margin_tablet=\u00bb\u00bb custom_margin_phone=\u00bb\u00bb custom_margin_last_edited=\u00bbon|phone\u00bb custom_padding=\u00bb5%||||false|false\u00bb text_font_size_tablet=\u00bb59px\u00bb text_font_size_phone=\u00bb46px\u00bb text_font_size_last_edited=\u00bbon|phone\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<p>\u00bfEres restaurador?<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.27.0&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbagenda-bold||||||||\u00bb text_text_color=\u00bb#FFFFFF\u00bb text_font_size=\u00bb29px\u00bb text_line_height=\u00bb1.3em\u00bb text_font_size_tablet=\u00bb\u00bb text_font_size_phone=\u00bb22px\u00bb text_font_size_last_edited=\u00bbon|phone\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<p>La semana de la restauraci\u00f3n, hoteles y ocio, con m\u00e1s ofertas, promociones y regalos jam\u00e1s vivida en Barcelona, \u00bfte lo vas a perder?<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=\u00bbhttps:\/\/foodieblackweek.com\/barcelona\/profesionales\/#participa\u00bb url_new_window=\u00bbon\u00bb button_text=\u00bb\u00a1Quiero participar!\u00bb button_alignment=\u00bbleft\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb custom_button=\u00bbon\u00bb button_text_size=\u00bb23px\u00bb button_text_color=\u00bb#FFFFFF\u00bb button_bg_color=\u00bb#FF0099&#8243; button_border_width=\u00bb8px\u00bb button_border_color=\u00bb#FF0099&#8243; button_border_radius=\u00bb0px\u00bb button_font=\u00bbagenda-bold||||||||\u00bb button_bg_color_tablet=\u00bb#FF0099&#8243; button_bg_color_phone=\u00bb#FF0099&#8243; button_bg_color_last_edited=\u00bbon|desktop\u00bb global_colors_info=\u00bb{}\u00bb transform_styles__hover_enabled=\u00bbon|desktop\u00bb transform_scale__hover_enabled=\u00bbon|desktop\u00bb transform_translate__hover_enabled=\u00bbon|desktop\u00bb transform_rotate__hover_enabled=\u00bbon|desktop\u00bb transform_skew__hover_enabled=\u00bbon|desktop\u00bb transform_origin__hover_enabled=\u00bbon|desktop\u00bb button_letter_spacing__hover_enabled=\u00bbon|hover\u00bb button_bg_color__hover_enabled=\u00bbon|hover\u00bb button_border_radius__hover_enabled=\u00bbon|hover\u00bb button_border_radius__hover=\u00bb2px\u00bb button_letter_spacing__hover=\u00bb0px\u00bb button_bg_color__hover=\u00bb#FF0099&#8243; button_bg_enable_color__hover=\u00bbon\u00bb][\/et_pb_button][et_pb_text _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbagenda-light||||||||\u00bb text_text_color=\u00bb#FFFFFF\u00bb text_font_size=\u00bb19px\u00bb text_line_height=\u00bb1.5em\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<p>Participar es totalmente GRATIS.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=\u00bb1_2&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; fullwidth=\u00bbon\u00bb admin_label=\u00bbSection\u00bb _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bb#FF0099&#8243; da_disable_devices=\u00bboff|off|off\u00bb global_colors_info=\u00bb{}\u00bb da_is_popup=\u00bboff\u00bb da_exit_intent=\u00bboff\u00bb da_has_close=\u00bbon\u00bb da_alt_close=\u00bboff\u00bb da_dark_close=\u00bboff\u00bb da_not_modal=\u00bbon\u00bb da_is_singular=\u00bboff\u00bb da_with_loader=\u00bboff\u00bb da_has_shadow=\u00bbon\u00bb][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; admin_label=\u00bbSection\u00bb _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bb#E0D8C9&#8243; da_disable_devices=\u00bboff|off|off\u00bb global_module=\u00bb85&#8243; saved_tabs=\u00bball\u00bb global_colors_info=\u00bb{}\u00bb da_is_popup=\u00bboff\u00bb da_exit_intent=\u00bboff\u00bb da_has_close=\u00bbon\u00bb da_alt_close=\u00bboff\u00bb da_dark_close=\u00bboff\u00bb da_not_modal=\u00bbon\u00bb da_is_singular=\u00bboff\u00bb da_with_loader=\u00bboff\u00bb da_has_shadow=\u00bbon\u00bb][et_pb_row disabled_on=\u00bbon|off|off\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb90%\u00bb max_width=\u00bb100%\u00bb module_alignment=\u00bbcenter\u00bb custom_margin=\u00bb|0%||0%|false|false\u00bb custom_padding=\u00bb|0%||0%|false|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_image src=\u00bbhttps:\/\/foodieblackweek.com\/barcelona\/wp-content\/uploads\/2025\/10\/foodieblackweek-barcelona-apoyos-institucionales-scaled.png\u00bb alt=\u00bbFoodieblackweek barcelona apoyos institucionales\u00bb title_text=\u00bbfoodieblackweek-barcelona-apoyos-institucionales\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb100%\u00bb width_tablet=\u00bb\u00bb width_phone=\u00bb85%\u00bb width_last_edited=\u00bbon|phone\u00bb module_alignment=\u00bbcenter\u00bb custom_margin=\u00bb0px|0px|0px|0px|false|false\u00bb custom_margin_tablet=\u00bb\u00bb custom_margin_phone=\u00bb\u00bb custom_margin_last_edited=\u00bbon|desktop\u00bb custom_padding=\u00bb0%|0px|0px|0px|false|false\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row disabled_on=\u00bboff|on|on\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb100%\u00bb max_width=\u00bb99%\u00bb module_alignment=\u00bbcenter\u00bb custom_margin=\u00bb|0%||0%|false|false\u00bb custom_padding=\u00bb|0%||0%|false|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_image src=\u00bbhttps:\/\/foodieblackweek.com\/barcelona\/wp-content\/uploads\/2025\/10\/m1foodieblackweek-barcelona-apoyos-institucionales.png\u00bb alt=\u00bbM1foodieblackweek barcelona apoyos institucionales\u00bb title_text=\u00bbm1foodieblackweek-barcelona-apoyos-institucionales\u00bb align=\u00bbcenter\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb90%\u00bb width_tablet=\u00bb\u00bb width_phone=\u00bb95%\u00bb width_last_edited=\u00bbon|phone\u00bb module_alignment=\u00bbcenter\u00bb min_height=\u00bb44px\u00bb custom_margin=\u00bb0px|0px|0px|0px|false|false\u00bb custom_margin_tablet=\u00bb\u00bb custom_margin_phone=\u00bb\u00bb custom_margin_last_edited=\u00bbon|desktop\u00bb custom_padding=\u00bb0%|0px|0px|0px|false|false\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;][\/et_pb_image][et_pb_image src=\u00bbhttps:\/\/foodieblackweek.com\/barcelona\/wp-content\/uploads\/2025\/10\/m2-foodieblackweek-barcelona-apoyos-institucionales.png\u00bb alt=\u00bbM2 foodieblackweek barcelona apoyos institucionales\u00bb title_text=\u00bbm2-foodieblackweek-barcelona-apoyos-institucionales\u00bb align=\u00bbcenter\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb100%\u00bb width_tablet=\u00bb\u00bb width_phone=\u00bb95%\u00bb width_last_edited=\u00bbon|phone\u00bb module_alignment=\u00bbcenter\u00bb min_height=\u00bb44px\u00bb custom_margin=\u00bb0px|0px|0px|0px|false|false\u00bb custom_margin_tablet=\u00bb\u00bb custom_margin_phone=\u00bb\u00bb custom_margin_last_edited=\u00bbon|desktop\u00bb custom_padding=\u00bb3%|0px|0px|0px|false|false\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;][\/et_pb_image][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p><script src=\"https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyC55ZMrUS_oWejx3mQBwNseWIPgxBiTvCY&callback=initMap\"><\/script>\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.3\/dist\/css\/bootstrap.min.css\">\n<style>\n.map-container {\n    \/* width: 100%; *\/\n    height: 100%;\n    min-height: 300px;\n}\n\n#map {\n    width: 100%;\n    height: 450px;\n\n    min-height: 450px;\n}\n\n\n.custom-overlay {\n    position: absolute;\n    background: white;\n    border: 1px solid #ccc;\n    padding: 10px 20px 0px 20px;\n    border-radius: 5px;\n    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n    z-index: 1000;\n    width: 260px;\n}\n\n.custom-overlay::after {\n    content: \"\";\n    position: absolute;\n    top: 100%;\n    left: 50%;\n    margin-left: -10px;\n    \/* Ajusta este valor para centrar la flecha horizontalmente *\/\n    width: 0;\n    height: 0;\n    border-style: solid;\n    border-width: 10px 10px 0 10px;\n    \/* Ajusta estos valores para cambiar el tama\u00f1o de la flecha *\/\n    border-color: white transparent transparent transparent;\n    \/* Ajusta el color de la flecha *\/\n}\n\n.et_pb_text {\n    word-wrap: normal;\n}\n\n.et_pb_text_99 {\n    color: #212529;\n    margin: 0 0 16px;\n    font-size: 20px;\n    font-weight: 700;\n}\n\n.et_pb_text_inner .typeComida {\n    color: #FF0099;\n    margin: 0 0 16px;\n    font-size: 18px;\n    font-weight: 700;\n}\n\n\n.et_pb_text_inner .price {\n    color: #212529;\n    margin: 0 0 16px;\n    font-size: 20px;\n    font-weight: 700;\n}\n\n.et_pb_text_inner .address {\n    color: #212529;\n    margin: 0 0 16px;\n    font-size: 18px;\n}\n\n.et_pb_text_inner .phone {\n    color: #212529;\n    margin: 0 0 16px;\n    font-size: 20px;\n    font-weight: 700;\n}\n\n.et_pb_column_6 {\n    border-width: 1px;\n    border-color: #FF0099;\n    padding-top: 2%;\n    padding-right: 2%;\n    padding-bottom: 2%;\n    padding-left: 2%;\n}\n\n.card-title {\n    font-family: 'agendablack', sans-serif;\n    font-size: large;\n}\n\na {\n    text-decoration: none;\n    color: #FF0099;\n}\n\n.card {\n    max-width: 16rem;\n    margin: auto;\n    opacity: 0;\n    transform: translateY(20px);\n    transition: opacity 0.3s ease, transform 0.3s ease;\n    \/* padding-right: 10px; *\/\n    overflow: hidden;\n    display: contents;\n\n}\n\n.card-img-top {\n    width: 100%;\n\n    \/* height: 200px;  *\/\n    object-fit: scale-down;\n    \/* padding-left: 20px;\n            padding-right: 20px; *\/\n    padding-bottom: 10px;\n    padding-top: 10px;\n}\n\n.card-img-top2 {\n    width: 100%;\n\n    height: 200px;\n    object-fit: cover;\n    \/* padding-left: 20px;\n            padding-right: 20px; *\/\n    padding-bottom: 10px;\n    padding-top: 10px;\n}\n\n\n\n.card-body {\n    padding: 0;\n    \/* padding-left: 20px;\n            padding-right: 20px; *\/\n    padding-bottom: 1rem;\n    display: flex;\n    flex-direction: column;\n    justify-content: space-between;\n}\n\n.card-title {\n    font-family: 'agendablack', sans-serif;\n}\n\n.card-subtitle .card-text {\n    font-family: 'agenda-light', sans-serif;\n}\n\n.AgendaBoton {\n    font-family: 'agenda-medium';\n}\n\n.btn-outline {\n    --bs-btn-border-color: #ff00997d;\n    color: #FF0099;\n    border-radius: 0px;\n}\n\n.card-icon {\n    width: 30%;\n    height: auto;\n    margin-right: 8px;\n}\n\n\n@media (max-width: 1200px) {\n    #filtroRestaurantes {\n        margin-bottom: 30px;\n    }\n}\n\n.card.show {\n    opacity: 1;\n    transform: translateY(0);\n}\n\n#previewImagen {\n    width: 100%;\n    object-fit: cover;\n}\n\n#previewDescripcion,\n#previewPrecio {\n    display: block;\n}\n\n.card-text-with-icon {\n    display: flex;\n    align-items: center;\n}\n\n\n\n.card-text-container {\n    \/* flex-grow: 1; *\/\n}\n\n.card-text {\n    margin-bottom: 5px;\n}\n\n\n.boton {\n    border-color: #FF0099;\n    color: #FF0099;\n}\n\nboton:hover {\n    border-color: #FF0099;\n    color: #FF0099;\n    background-color: #FF0099;\n}\n\n.offer-box {\n    border: 1px #FF0099 solid;\n    padding: 4%;\n}\n\n.restaurant-card:nth-child(even) {\n    background-color: #f0ede6;\n    \/* Color de fondo para las filas pares *\/\n}\n\n.restaurant-card:nth-child(odd) {\n    background-color: #fff;\n    \/* Color de fondo para las filas impares *\/\n}\n\n.custom-img {\n    max-width: 100%;\n    \/* Ajustar el ancho m\u00e1ximo seg\u00fan tus necesidades *\/\n    height: auto;\n    \/* Permitir que la altura se ajuste proporcionalmente *\/\n}\n\n.tipodeComida {\n    font-family: 'agenda-bold';\n    color: #FF0099;\n    font-size: large;\n}\n\n.hidden {\n    display: none;\n}\n\nselect {\n    font-family: 'agenda-light';\n}\n\n.aLight {\n    font-family: 'agenda-light';\n}\n\n.aBold {\n    font-family: 'agenda-bold';\n}\n\n.Hev {\n    font-family: 'Helvetica';\n}\n\n.Larg {\n    font-size: large;\n}\n\n.Larg2 {\n    font-size: 1.3rem;\n}\n\n.btncolor {\n    background-color: #FF0099;\n    color: white;\n    border-radius: 0;\n    border-color: #FF0099;\n    font-family: 'agenda-bold';\n    font-size: 1.3rem;\n}\n\ndiv#modalCompartir {\n    width: 500px;\n    height: auto;\n    position: fixed;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n    background-color: white;\n    padding: 40px;\n    border-radius: 10px;\n    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);\n    z-index: 9999;\n}\n\nbutton#botonCompartir {\n    font-family: 'agenda-light';\n    position: absolute;\n    left: 160px;\n    font-size: 16px;\n    font-weight: bold;\n    width: 115px;\n    height: 45px;\n    background-color: black;\n    color: white;\n    border: none;\n    outline: none;\n    box-shadow: none;\n}\n\nbutton#botonCompartir:hover {\n    cursor: pointer;\n}\n\nbutton#botonCompartir:hover::after {\n    content: \"\\203A\";\n    position: absolute;\n    left: 98px;\n    top: 44%;\n    transform: translateY(-50%);\n    font-size: 40px;\n    color: white;\n}\n\n#botonesCompartir {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    justify-content: space-between;\n}\n\n#botonesCompartir a {\n    margin-right: 10px;\n}\n\n#botonesCompartir img {\n    width: 45px;\n    height: 45px;\n    border-radius: 10px;\n    margin-bottom: 10px;\n    margin-left: 5px;\n    margin-right: 10px;\n    margin-top: 20px;\n}\n\n#cerrarModal {\n    background-color: #FF0099;\n    color: white;\n    position: absolute;\n    width: 80px;\n    height: 40px;\n    top: 39px;\n    right: 55px;\n    cursor: pointer;\n    border-radius: 5px;\n    border-style: none;\n}\n\n@media (max-width: 768px) {\n    div#modalCompartir {\n        width: 400px;\n        height: auto;\n        padding: 30px;\n    }\n\n    #botonesCompartir {\n        flex-direction: row;\n        align-items: center;\n        justify-content: space-between;\n    }\n\n    #botonesCompartir a {\n        margin-right: 10px;\n    }\n\n    #botonesCompartir img {\n        width: 40px;\n        height: 40px;\n        border-radius: 10px;\n        margin-bottom: 10px;\n        margin-left: 5px;\n        margin-right: 10px;\n        margin-top: 20px;\n    }\n\n    #cerrarModal {\n        background-color: #FF0099;\n        color: white;\n        position: absolute;\n        width: 80px;\n        height: 40px;\n        top: 24px;\n        right: 45px;\n        cursor: pointer;\n        border-radius: 5px;\n        border-style: none;\n    }\n}\n\n\n.et_pb_section {\n    background: none;\n}\n\n.et_section_regular {\n    background-color: none;\n}\n\n.et_pb_section_4.et_pb_section {\n    background-color: none;\n}\n\n.et_pb_section_3.et_pb_section {\n    z-index: -1;\n}\n\n.fontDesc {\n    font-size: medium;\n    font-weight: 600;\n}\n\n#borrar {\n    display: none !important;\n}\n\n.p {\n    margin-bottom: 0px !important;\n}\n\n.labels {\n    font-family: 'agenda-bold';\n    color: black;\n    font-size: large;\n}\n\n.labelFiltrar {\n    font-size: larger;\n    font-weight: bold;\n}\n\n.displayBlock {\n    display: flex !important;\n}\n\n.displayNone {\n    display: none !important;\n}\n\n.aMedium {\n    font-family: 'AgendaMedium';\n}\n\n\/* mostrarmas *\/\n.text-container {\n    position: relative;\n    max-height: 4.5em;\n    \/* Limita a 3 l\u00edneas aproximadamente *\/\n    overflow: hidden;\n}\n\n.show-more {\n    display: block;\n    color: #FF0099;\n    cursor: pointer;\n}\n\n.text-container.expanded {\n    max-height: none;\n    \/* Permite que el texto se expanda *\/\n}\n\n.text-container.expanded+.show-more {\n    display: none;\n    \/* Oculta el bot\u00f3n cuando el texto est\u00e1 expandido *\/\n}\n\n.show-less {\n    color: #FF0099;\n    cursor: pointer;\n    display: none;\n}\n\n.text-container.expanded+.show-less {\n    display: inline-block;\n    \/* Muestra \"Ver menos\" cuando el texto est\u00e1 expandido *\/\n}\n\n.card-text-scroll {\n    max-height: 100px;\n    \/* Limita la altura a 4 l\u00edneas o lo que consideres necesario *\/\n    overflow: hidden;\n    transition: max-height 0.3s ease;\n}\n\n.card-text-scroll.expanded {\n    max-height: none;\n    \/* Se expande para mostrar el contenido completo *\/\n}\n\n.show-more2,\n.show-less2 {\n    color: #FF0099;\n    cursor: pointer;\n    font-family: 'agenda-bold';\n    font-size: medium;\n}\n\n\/* [NUEVO] Estilos para autocompletado *\/\n.autocomplete-results {\n    position: absolute;\n    background-color: #fff;\n    border: 1px solid #ccc;\n    z-index: 9999;\n    width: 100%;\n}\n\n.autocomplete-item {\n    padding: 5px;\n    cursor: pointer;\n}\n\n.autocomplete-item:hover {\n    background-color: #f0f0f0;\n}\n\n#buscador {\n    font-size: 1.1rem;\n    \/* un pel\u00edn m\u00e1s grande *\/\n    height: 35px;\n    margin-top: 25px;\n    \/* algo m\u00e1s alto *\/\n    border: 2px solid #FF0099;\n    \/* etc. *\/\n}\n\n#buscador::placeholder {\n    color: #999 !important;\n    \/* Color m\u00e1s visible *\/\n    opacity: 1 !important;\n    \/* Asegura que no est\u00e9 oculto *\/\n    font-style: italic;\n    \/* Opcional, para destacar m\u00e1s *\/\n}\n\n#buscador:focus {\n    box-shadow: 0 0 20px rgba(204, 204, 204, 0.8) !important;\n}\n\n\/* #botonCompartir {\n    font-size: 20px;\n}\n\n#botonCompartir:hover {\n    cursor: pointer;\n} *\/\n\n.close {\n    position: absolute;\n    right: 15px;\n    top: 18px;\n    font-size: 30px;\n    cursor: pointer;\n    background-color: transparent;\n    border: none;\n    padding: 0;\n    margin: 0;\n}\n<\/style>\n\n<div class=\"container mt-3\">\n\n    <div class=\"row\">\n        <!-- Filtros (col-md-3) -->\n        <div class=\"col-md-3 d-flex align-items-center\">\n            <form id=\"filtroRestaurantes\">\n                <div class=\"row g-3\">\n                    <div class=\"col-md-12 aBold\">\n                        <h1 style=\"color:#FF0099;\"> \u00bfDemasiado donde elegir?<\/h1>\n                    <\/div>\n\n                    \n\n                    <div class=\"col-md-12\" id=\"divBarrio\">\n                        <label for=\"barrio\" class=\"form-label labels\">Ubicaci\u00f3n<\/label>\n                        <select class=\"form-select\" id=\"barrio\" name=\"barrio\">\n                            <option value=\"\">Todos<\/option>\n                                                        <option value=\"1\">\n                                Barcelona - Sants<\/option>\n                                                        <option value=\"2\">\n                                Barcelona - Horta<\/option>\n                                                        <option value=\"3\">\n                                Barcelona - Cor Eixample<\/option>\n                                                        <option value=\"4\">\n                                Barcelona - Creu Coberta<\/option>\n                                                        <option value=\"5\">\n                                Barcelona - El Clot<\/option>\n                                                        <option value=\"6\">\n                                Barcelona - Sant Andreu<\/option>\n                                                        <option value=\"7\">\n                                Barcelona - Les Corts<\/option>\n                                                        <option value=\"8\">\n                                Barcelona - Encants Nous<\/option>\n                                                        <option value=\"9\">\n                                Barcelona - Fabra Centre<\/option>\n                                                        <option value=\"10\">\n                                Barcelona - Gr\u00e0cia<\/option>\n                                                        <option value=\"11\">\n                                Barcelona - La Marina<\/option>\n                                                        <option value=\"12\">\n                                Barcelona - Maragall<\/option>\n                                                        <option value=\"13\">\n                                Barcelona - Nou Barris<\/option>\n                                                        <option value=\"14\">\n                                Barcelona - Nou Eixample<\/option>\n                                                        <option value=\"15\">\n                                Barcelona - Poblenou<\/option>\n                                                        <option value=\"16\">\n                                Barcelona - Poble Sec i Paral\u00b7lel<\/option>\n                                                        <option value=\"17\">\n                                Barcelona - Sagrada Fam\u00edlia<\/option>\n                                                        <option value=\"18\">\n                                Barcelona - Sant Antoni<\/option>\n                                                        <option value=\"19\">\n                                Barcelona - Sant Gervasi<\/option>\n                                                        <option value=\"20\">\n                                Barcelona - Sant Mart\u00ed<\/option>\n                                                        <option value=\"21\">\n                                Barcelona - Sarri\u00e0<\/option>\n                                                        <option value=\"22\">\n                                Barcelona - Raval<\/option>\n                                                        <option value=\"23\">\n                                Barcelona - Gotic<\/option>\n                                                        <option value=\"24\">\n                                Barcelona - Ciutat Vella<\/option>\n                                                        <option value=\"25\">\n                                Badalona<\/option>\n                                                        <option value=\"26\">\n                                Badia del Vall\u00e8s<\/option>\n                                                        <option value=\"27\">\n                                Barber\u00e0 del Vall\u00e8s<\/option>\n                                                        <option value=\"28\">\n                                Begues<\/option>\n                                                        <option value=\"29\">\n                                Castellbisbal<\/option>\n                                                        <option value=\"30\">\n                                Castelldefels<\/option>\n                                                        <option value=\"31\">\n                                Cervell\u00f3<\/option>\n                                                        <option value=\"32\">\n                                Corbera de Llobregat<\/option>\n                                                        <option value=\"33\">\n                                Cornell\u00e0 de Llobregat<\/option>\n                                                        <option value=\"34\">\n                                El Papiol<\/option>\n                                                        <option value=\"35\">\n                                El Prat de Llobregat<\/option>\n                                                        <option value=\"36\">\n                                Esplugues de Llobregat<\/option>\n                                                        <option value=\"37\">\n                                Gav\u00e0<\/option>\n                                                        <option value=\"38\">\n                                L&#039;Hospitalet de Llobregat<\/option>\n                                                        <option value=\"39\">\n                                La Palma de Cervell\u00f3<\/option>\n                                                        <option value=\"40\">\n                                Molins de Rei<\/option>\n                                                        <option value=\"41\">\n                                Montcada i Reixac<\/option>\n                                                        <option value=\"42\">\n                                Montgat<\/option>\n                                                        <option value=\"43\">\n                                Pallej\u00e0<\/option>\n                                                        <option value=\"44\">\n                                Ripollet<\/option>\n                                                        <option value=\"45\">\n                                Sant Adri\u00e0 de Bes\u00f2s<\/option>\n                                                        <option value=\"46\">\n                                Sant Andreu de la Barca<\/option>\n                                                        <option value=\"47\">\n                                Sant Boi de Llobregat<\/option>\n                                                        <option value=\"48\">\n                                Sant Climent de Llobregat<\/option>\n                                                        <option value=\"49\">\n                                Sant Cugat del Vall\u00e8s<\/option>\n                                                        <option value=\"50\">\n                                Sant Feliu de Llobregat<\/option>\n                                                        <option value=\"51\">\n                                Sant Joan Desp\u00ed<\/option>\n                                                        <option value=\"52\">\n                                Sant Just Desvern<\/option>\n                                                        <option value=\"53\">\n                                Sant Vicen\u00e7 dels Horts<\/option>\n                                                        <option value=\"54\">\n                                Santa Coloma de Cervell\u00f3<\/option>\n                                                        <option value=\"55\">\n                                Santa Coloma de Gramenet<\/option>\n                                                        <option value=\"56\">\n                                Cerdanyola del Vall\u00e8s<\/option>\n                                                        <option value=\"57\">\n                                Tiana<\/option>\n                                                        <option value=\"58\">\n                                Torrelles de Llobregat<\/option>\n                                                        <option value=\"59\">\n                                Viladecans<\/option>\n                                                        <option value=\"60\">\n                                Maresme<\/option>\n                                                        <option value=\"64\">\n                                Barcelona - Cor Eixample<\/option>\n                                                        <option value=\"61\">\n                                Sitges<\/option>\n                                                        <option value=\"62\">\n                                Sabadell<\/option>\n                                                    <\/select>\n                    <\/div>\n                    <div class=\"col-md-12\" id=\"divTipoComida\">\n                        <label for=\"tipo_comida\" class=\"form-label labels\" id=\"label_tipo_comida\">Tipo de comida<\/label>\n                        <select class=\"form-select\" id=\"tipo_comida\" name=\"tipo_comida\">\n                            <option value=\"\">Todos los tipos<\/option>\n                                                        <option value=\"1\"\n                                data-repetido=\"true\">\n                                Comida Turca<\/option>\n                                                        <option value=\"2\"\n                                data-repetido=\"false\">\n                                Comida Marroqu\u00ed<\/option>\n                                                        <option value=\"3\"\n                                data-repetido=\"false\">\n                                Comida Italiana<\/option>\n                                                        <option value=\"4\"\n                                data-repetido=\"false\">\n                                Comida Mexicana<\/option>\n                                                        <option value=\"5\"\n                                data-repetido=\"false\">\n                                Comida Japonesa<\/option>\n                                                        <option value=\"6\"\n                                data-repetido=\"false\">\n                                Comida India<\/option>\n                                                        <option value=\"7\"\n                                data-repetido=\"false\">\n                                Comida Tailandesa<\/option>\n                                                        <option value=\"8\"\n                                data-repetido=\"false\">\n                                Comida Griega<\/option>\n                                                        <option value=\"9\"\n                                data-repetido=\"false\">\n                                Comida Francesa<\/option>\n                                                        <option value=\"10\"\n                                data-repetido=\"false\">\n                                Comida Libanesa<\/option>\n                                                        <option value=\"11\"\n                                data-repetido=\"false\">\n                                Comida Coreana<\/option>\n                                                        <option value=\"12\"\n                                data-repetido=\"false\">\n                                Comida Peruana<\/option>\n                                                        <option value=\"13\"\n                                data-repetido=\"false\">\n                                Comida Vietnamita<\/option>\n                                                        <option value=\"14\"\n                                data-repetido=\"false\">\n                                Comida Americana<\/option>\n                                                        <option value=\"15\"\n                                data-repetido=\"false\">\n                                Comida China<\/option>\n                                                        <option value=\"16\"\n                                data-repetido=\"false\">\n                                Comida Catalana<\/option>\n                                                        <option value=\"17\"\n                                data-repetido=\"false\">\n                                Comida Espa\u00f1ola<\/option>\n                                                        <option value=\"22\"\n                                data-repetido=\"false\">\n                                Comida Venezolana<\/option>\n                                                        <option value=\"23\"\n                                data-repetido=\"false\">\n                                Comida Mediterr\u00e1nea<\/option>\n                                                        <option value=\"24\"\n                                data-repetido=\"false\">\n                                Pizzer\u00eda<\/option>\n                                                        <option value=\"25\"\n                                data-repetido=\"false\">\n                                Marisquer\u00eda<\/option>\n                                                        <option value=\"26\"\n                                data-repetido=\"false\">\n                                Braser\u00eda<\/option>\n                                                        <option value=\"27\"\n                                data-repetido=\"false\">\n                                Vegetariana<\/option>\n                                                        <option value=\"28\"\n                                data-repetido=\"false\">\n                                Gourmet<\/option>\n                                                        <option value=\"29\"\n                                data-repetido=\"false\">\n                                Hamburgueser\u00eda<\/option>\n                                                        <option value=\"30\"\n                                data-repetido=\"false\">\n                                Tapas<\/option>\n                                                        <option value=\"31\"\n                                data-repetido=\"false\">\n                                Brunch<\/option>\n                                                        <option value=\"33\"\n                                data-repetido=\"false\">\n                                Fusi\u00f3n<\/option>\n                                                        <option value=\"34\"\n                                data-repetido=\"false\">\n                                Poke<\/option>\n                                                        <option value=\"35\"\n                                data-repetido=\"false\">\n                                Pasteler\u00edas y dulces<\/option>\n                                                        <option value=\"36\"\n                                data-repetido=\"false\">\n                                Helader\u00edas<\/option>\n                                                        <option value=\"37\"\n                                data-repetido=\"false\">\n                                Otras<\/option>\n                                                    <\/select>\n                    <\/div>\n\n                    <div class=\"col-md-12 mb-2\" id=\"divRango\">\n                        <label for=\"rango_precio\" class=\"form-label labels\">Rango de precio<\/label>\n                        <select class=\"form-select\" id=\"rango_precio\" name=\"rango_precio\">\n                            <option value=\"\">Todos los rangos<\/option>\n                            <option value=\"15-30\">\u20ac<\/option>\n                            <option value=\"30-60\">\u20ac\u20ac<\/option>\n                            <option value=\"60\">\u20ac\u20ac\u20ac<\/option>\n                        <\/select>\n                    <\/div>\n                <\/div>\n            <\/form>\n        <\/div>\n        <!-- Fin col-md-3 de filtros -->\n        <!-- Mapa (col-md-9) -->\n        <div class=\"col-md-9 map-container\">\n            <div id=\"map\"><\/div>        <\/div>\n        <!-- Fin col-md-9 -->\n    <\/div> <!-- Fin row principal -->\n    <!-- FILA NUEVA para el input de b\u00fasqueda, ocupa todo el ancho (col-md-12) -->\n    <div class=\"row mb-3\">\n        <div class=\"col-md-12\" style=\"position: relative;\">\n\n          <input\n  type=\"text\"\n  class=\"form-control\"\n  id=\"buscador\"\n  name=\"buscador\"\n  autocomplete=\"off\"\n  placeholder=\"Buscar ocio\"\n\/>\n            <!-- Contenedor para sugerencias de autocompletado -->\n            <div id=\"autocomplete-results\" class=\"autocomplete-results\" style=\"display:none;\"><\/div>\n        <\/div>\n    <\/div>\n    <!-- FIN FILA NUEVA -->\n<\/div> <!-- Fin container -->\n\n\n<!-- Aqu\u00ed va tu script de Google Maps si $Cargarmapa es true -->\n<script>\nclass CustomOverlay extends google.maps.OverlayView {\n    constructor(position, content, id) {\n        super();\n        this.position = position;\n        this.content = content;\n        this.div = null;\n        this.id = id;\n    }\n\n    onAdd() {\n        this.div = document.createElement('div');\n        this.div.className = 'custom-overlay';\n        this.div.innerHTML = this.content;\n        this.getPanes().overlayMouseTarget.appendChild(this.div);\n\n        this.div.addEventListener('click', (event) => {\n            event.stopPropagation();\n        });\n        this.div.addEventListener('touchstart', (event) => {\n            event.stopPropagation();\n\n        });\n        this.ajustBotonMas();\n        \/\/ Cerrar overlay al hacer clic\n        \/\/ this.div.addEventListener('click', () => {\n        \/\/     this.setMap(null);\n        \/\/ });\n    }\n\n    draw() {\n        const projection = this.getProjection();\n        if (!projection) {\n            return;\n        }\n\n        const position = projection.fromLatLngToDivPixel(this.position);\n\n        \/\/ Ajusta el offset para que el centro del overlay est\u00e9 encima del marcador\n        const offsetX = -(this.div.offsetWidth \/ 2);\n        const offsetY = -this.div.offsetHeight - 45;\n\n        this.div.style.left = `${position.x + offsetX}px`;\n        this.div.style.top = `${position.y + offsetY}px`;\n    }\n    ajustBotonMas() {\n        const textContainer = document.getElementById(`descripcion-2-${this.id}`);\n        const showMore = document.getElementById(`show-more-2-${this.id}`);\n        const showLess = document.getElementById(`show-less-2-${this.id}`);\n        \/\/ Calcula la altura m\u00e1xima permitida para 4 l\u00edneas (aj\u00fastalo seg\u00fan tu dise\u00f1o)\n        const maxHeight = 101; \/\/ Aproximadamente 4.5em (depender\u00e1 de la altura de l\u00ednea en CSS)\n\n        \/\/ Si la altura del contenido del texto es mayor que el maxHeight, muestra los botones\n\n        if (textContainer.scrollHeight > maxHeight) {\n            showMore.style.display = 'block';\n            showLess.style.display = 'none';\n            textContainer.style.maxHeight = maxHeight + 'px'; \/\/ Limita el contenedor a 4 l\u00edneas\n        } else {\n            \/\/ Si no supera 4 l\u00edneas, oculta los botones\n            showMore.style.display = 'none';\n            showLess.style.display = 'none';\n        }\n\n    }\n\n    onRemove() {\n        if (this.div) {\n            this.div.remove();\n            this.div = null;\n        }\n    }\n}\n<\/script>\n\n\n<script>\nlet currentOverlay = null;\n\n\ndocument.addEventListener('DOMContentLoaded', function() {\n    const container = document.querySelector('.map-container');\n    if (container) {\n        initMap();\n    } else {\n        const observer = new MutationObserver((mutationsList, observer) => {\n            for (let mutation of mutationsList) {\n                if (mutation.type === 'childList') {\n                    const container = document.querySelector('.map-container');\n\n                    if (container) {\n                        initMap();\n\n                        observer.disconnect();\n                    }\n                }\n            }\n        });\n\n        observer.observe(document.body, {\n            childList: true,\n            subtree: true\n        });\n    }\n});\n\nwindow.onload = function() {\n    var contenedor = document.getElementById('BotonMas');\n    var boton = document.createElement('button');\n    boton.textContent = \"Cargar M\u00e1s\";\n    boton.classList.add(\"et_pb_button\");\n    boton.classList.add(\"et_pb_button_0\");\n    boton.classList.add(\"et_pb_bg_layout_light\");\n    boton.classList.add(\"aMedium\");\n    contenedor.classList.add(\"d-flex\");\n    contenedor.classList.add(\"justify-content-center\");\n    boton.style.marginBottom = \"20px\";\n    boton.onclick = function() {\n        BotonMas();\n    };\n    contenedor.appendChild(boton);\n};\n\nconst form = document.getElementById('filtroRestaurantes');\n\nform.addEventListener('submit', function(event) {\n    event.preventDefault();\n    aplicarFiltros();\n});\n\nfunction FiltroListener() {\n    current_numb = 15;\n    aplicarFiltros();\n}\n\nfunction aplicarFiltros() {\n    \/\/const tipoEstablecimientoId = 3;;\n    const barrio = document.getElementById('barrio').value;\n    const tipoComida = document.getElementById('tipo_comida').value;\n    const rangoPrecio = document.getElementById('rango_precio').value;\n    const textoBusqueda = document.getElementById('buscador').value.toLowerCase();\n\n    const filtrados = properties.filter(property => {\n        return (\n            (barrio === \"\" || property.eix_comercial_id == barrio) &&\n            (tipoComida === \"\" || property.tipo_comida_id == tipoComida) &&\n            (rangoPrecio === \"\" || property.rango_precios == rangoPrecio) &&\n            (\n                textoBusqueda === \"\" ||\n                property.nombre_restaurante.toLowerCase().includes(textoBusqueda)\n            )\n        );\n    });\n    actualizarMapa(filtrados);\n}\n\nif (3 != 1) {\n    document.getElementById('label_tipo_comida').classList.add('hidden');\n    document.getElementById('tipo_comida').classList.add('hidden');\n}\n\n\n\nfunction SetearTelefono(telefono) {\n    \/\/ Convertir el n\u00famero a una cadena por si no lo es\n    telefono = telefono.toString();\n\n    \/\/ Verificar si el n\u00famero comienza con +34\n    let tienePrefijo = telefono.startsWith('+34');\n\n    \/\/ Si tiene el prefijo +34, quitarlo para formatear el resto del n\u00famero\n    if (tienePrefijo) {\n        telefono = telefono.slice(3);\n    }\n    let telefonoFormateado = \"\";\n    \/\/ Asegurarse de que el n\u00famero tiene exactamente 9 d\u00edgitos\n    if (telefono.length !== 9) {\n        telefonoFormateado = telefono;\n    }\n\n    \/\/ Dividir el n\u00famero en el formato deseado\n    telefonoFormateado = telefono.replace(\/(\\d{2})(\\d{3})(\\d{2})(\\d{2})\/, \"$1 $2 $3 $4\");\n\n    \/\/ Agregar el prefijo +34 si estaba presente\n    if (tienePrefijo) {\n        telefonoFormateado = \"+34 \" + telefonoFormateado;\n    }\n\n    return telefonoFormateado;\n}\n\nfunction SetearPrecio(precio) {\n    switch (precio) {\n        case \"15-30\":\n            return \"\u20ac\"\n            break;\n\n        case \"30-60\":\n            return \"\u20ac\u20ac\"\n            break;\n\n        case \"60\":\n            return \"\u20ac\u20ac\u20ac\"\n            break;\n    }\n}\nvar current_numb = 15;\n\n\/\/ function BotonMas() {\n\/\/     const boton = document.getElementById(\"BotonMas\");\n\/\/     const rect = boton.getBoundingClientRect();\n\/\/     const scrollOffset = window.scrollY + rect.top;\n\n\/\/     \/\/ Evitar que Firefox haga cambios bruscos\n\/\/     document.documentElement.style.scrollBehavior = \"auto\";\n\/\/     document.body.style.overflow = \"hidden\";\n\/\/     document.body.style.height = `${document.body.scrollHeight}px`;\n\n\/\/     current_numb += 15;\n\/\/     aplicarFiltros(false); \/\/ Cargar m\u00e1s contenido\n\n\/\/     requestAnimationFrame(() => {\n\/\/         requestAnimationFrame(() => {\n\/\/             window.scrollTo(0, scrollOffset);\n\/\/             \/\/ Restaurar el scroll sin parpadeos\n\/\/             document.documentElement.style.scrollBehavior = \"\";\n\/\/             document.body.style.overflow = \"\";\n\/\/             document.body.style.height = \"\";\n\/\/         });\n\/\/     });\n\/\/ }\n\nfunction BotonMas() {\n    const boton = document.getElementById(\"BotonMas\");\n    const rect = boton.getBoundingClientRect();\n    const scrollOffset = window.scrollY + rect.top;\n\n    \/\/ Bloquear cualquier animaci\u00f3n de scroll\n    document.documentElement.style.scrollBehavior = \"auto\";\n\n    \/\/ Mantener el tama\u00f1o de la p\u00e1gina para evitar parpadeos\n    const originalHeight = document.body.style.height;\n    document.body.style.height = `${document.body.scrollHeight}px`;\n\n    current_numb += 15;\n    aplicarFiltros(false); \/\/ Cargar m\u00e1s contenido\n\n    requestAnimationFrame(() => {\n        requestAnimationFrame(() => {\n            window.scrollTo(0, scrollOffset);\n\n            \/\/ \ud83e\uddf9 Restaurar estilos sin parpadeo\n            setTimeout(() => {\n                document.documentElement.style.scrollBehavior = \"\";\n                document.body.style.height = originalHeight; \/\/ Restaurar el tama\u00f1o real\n            }, 0);\n        });\n    });\n}\n\n\n\n\nfunction SetearEnlaceOferta(oferta, paginaweb) {\n    let ret;\n    if (oferta) {\n        ret = oferta;\n    } else {\n        ret = paginaweb;\n    }\n    return ret + \"?utm_source=foodieblackweek.com&utm_medium=share_button&utm_campaign=foodie2025bcn\";\n\n}\n\/\/Metodo inutil\nfunction determinarClaseImagen(imagen) {\n    \/\/ Obtenemos el ancho y alto de la imagen\n    const ancho = imagen.width;\n    const alto = imagen.height;\n\n    \/\/ Calculamos la relaci\u00f3n de aspecto\n    const relacionAspecto = ancho \/ alto;\n\n    \/\/ Definimos un umbral para determinar si es rectangular o cuadrada\n    const umbral = 1.2; \/\/ Puedes ajustar este valor seg\u00fan tu definici\u00f3n de \"rectangular\" y \"cuadrada\"\n\n    if (relacionAspecto > umbral) {\n        return 'card-img-top2'; \/\/ La imagen es bastante rectangular\n    } else if (relacionAspecto < (1 \/ umbral)) {\n        return 'card-img-top2'; \/\/ La imagen es bastante rectangular (caso contrario)\n    } else {\n        return 'card-img-top2'; \/\/ La imagen es m\u00e1s cuadrada\n    }\n}\n\nfunction eliminarBarrasInvertidas(texto) {\n    return texto.replace(\/\\\\\/g, '');\n}\n\nfunction comprobarPrecio(precio) {\n    if (precio != 0) {\n        return 'Por ' + precio + '\u20ac'\n    } else {\n        return \"\"\n    }\n\n\n}\n\nfunction SetearTipoDeComdia(tipoComida, otro) {\n    if (otro.length != 0) {\n        if (otro.includes('\u00f1')) {\n            return tipoComida.toUpperCase() + \" (\" + otro.toLowerCase().replace('\/\u00f1', '&#241;') + \")\"\n        } else {\n            return tipoComida.toUpperCase() + \" (\" + otro.toLowerCase() + \")\";\n        }\n\n    } else {\n        return tipoComida.toUpperCase();\n    }\n}\n\nfunction setearDescripcion(desc) {\n    if (desc.length == 0) {\n        return \"\u00a1Se est\u00e1 cocinando la oferta!\"\n    } else {\n        return desc;\n    }\n}\n\nfunction SetearNombre(str) {\n    if (typeof str !== 'string' || str.length === 0) {\n        return '';\n    }\n\n    return str.split(' ')\n        .map(word => {\n            \/\/ Mantener \"MX\" en may\u00fasculas\n            let fixedWord = word.replace(\/mx\/gi, 'MX');\n\n            \/\/ Si \"fixedWord\" tiene \"MX\", se separa el resto de la palabra\n            if (fixedWord.includes('MX')) {\n                \/\/ Se divide la palabra en \"MX\" y el resto\n                const parts = fixedWord.split('MX');\n                \/\/ Se capitaliza la primera letra de la primera parte\n                const capitalizedPart = parts[0].charAt(0).toUpperCase() + parts[0].slice(1).toLowerCase();\n                \/\/ Se junta con \"MX\" y el resto de la palabra\n                return capitalizedPart + 'MX' + parts[1].toLowerCase();\n            } else {\n                \/\/ Si no tiene \"MX\", simplemente capitaliza la palabra\n                return fixedWord.charAt(0).toUpperCase() + fixedWord.slice(1).toLowerCase();\n            }\n        })\n        .join(' ');\n}\n\n\n\nfunction SetearEstiloImagen(imagen) {\n    if (imagen ==\n        \"https:\/\/foodieblackweek.com\/madrid\/wp-content\/uploads\/2025\/02\/LOGO-foodie-black-week-MAD-PANTALLA-tra.png\") {\n        return \"object-fit: scale-down;\";\n    } else {\n        return \"\";\n    }\n}\n\nfunction ajustarBotonesVerMas(index) {\n    const textContainer = document.getElementById(`descripcion-${index}`);\n    const showMore = document.getElementById(`show-more-${index}`);\n    const showLess = document.getElementById(`show-less-${index}`);\n\n    \/\/ Calcula la altura m\u00e1xima permitida para 4 l\u00edneas (aj\u00fastalo seg\u00fan tu dise\u00f1o)\n    const maxHeight = 72; \/\/ Aproximadamente 4.5em (depender\u00e1 de la altura de l\u00ednea en CSS)\n\n    \/\/ Si la altura del contenido del texto es mayor que el maxHeight, muestra los botones\n    if (textContainer) {\n        if (textContainer.scrollHeight > maxHeight) {\n            showMore.style.display = 'inline-block';\n            showLess.style.display = 'none';\n            textContainer.style.maxHeight = maxHeight + 'px'; \/\/ Limita el contenedor a 4 l\u00edneas\n        } else {\n            \/\/ Si no supera 4 l\u00edneas, oculta los botones\n            showMore.style.display = 'none';\n            showLess.style.display = 'none';\n        }\n    }\n\n}\n\nfunction toggleDescription(index) {\n\n    const textContainer = document.getElementById(`descripcion-${index}`);\n    const showMore = document.getElementById(`show-more-${index}`);\n    const showLess = document.getElementById(`show-less-${index}`);\n\n    if (textContainer) {\n        if (textContainer.classList.contains('expanded')) {\n            textContainer.classList.remove('expanded');\n            showMore.style.display = 'inline-block';\n            showLess.style.display = 'none';\n            textContainer.style.maxHeight = '72px'; \/\/ Vuelve a las 4 l\u00edneas\n        } else {\n            textContainer.classList.add('expanded');\n            showMore.style.display = 'none';\n            showLess.style.display = 'inline-block';\n            textContainer.style.maxHeight = 'none'; \/\/ Deja que el contenedor se expanda completamente\n        }\n    }\n\n}\n\nfunction toggleDescription2(index) {\n\n    const textContainer = document.getElementById(`descripcion-2-${index}`);\n    const showMore = document.getElementById(`show-more-2-${index}`);\n    const showLess = document.getElementById(`show-less-2-${index}`);\n    console.warn(\"id:\" + index);\n    if (textContainer) {\n        if (textContainer.classList.contains('expanded')) {\n            textContainer.classList.remove('expanded');\n            showMore.style.display = 'block';\n            showLess.style.display = 'none';\n            textContainer.style.maxHeight = '100px'; \/\/ Vuelve a las 4 l\u00edneas\n        } else {\n            textContainer.classList.add('expanded');\n            showMore.style.display = 'none';\n            showLess.style.display = 'block';\n            textContainer.style.maxHeight = 'none'; \/\/ Deja que el contenedor se expanda completamente\n        }\n    }\n\n}\n\n\n\n\n\nfunction actualizarMapa(restaurantes) {\n    \/\/ Limpiar los marcadores existentes\n    markers.forEach(marker => marker.setMap(null));\n    markers = [];\n\n    const listaCards = document.getElementById('Lista-cards');\n    listaCards.innerHTML = '';\n\n\n\n\n    restaurantes.forEach((property, index) => {\n        \n        let iconUrl;\n        switch (property.tipo_establecimiento_id) {\n            case '1':\n                iconUrl =\n                    \"https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/07\/foodie-black-week-24-mapa-restaurantes-1.png\";\n                break;\n            case '2':\n                iconUrl =\n                    \"https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/07\/foodie-black-week-24-mapa-hoteles-1.png\";\n                break;\n            case '3':\n                iconUrl =\n                    \"https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/07\/foodie-black-week-24mapa-ocio-1.png\";\n                break;\n            default:\n                iconUrl =\n                    \"https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-mapa-restaurantes-1.png\"; \/\/ Icono predeterminado\n                break;\n        }\n\n        const marker = new google.maps.Marker({\n            position: {\n                lat: parseFloat(property.latitud),\n                lng: parseFloat(property.longitud)\n            },\n            map: map,\n            title: property.nombre_restaurante,\n            icon: {\n                url: iconUrl,\n            },\n            id: property.restaurante_id\n        });\n\n        markers.push(marker);\n\n\n        const overlayContent = `\n            <div class=\"card\">\n                <div class=\"cardOver\">\n                    <img decoding=\"async\" src=\"${property.imagen_oferta ? property.imagen_oferta : '\thttps:\/\/foodieblackweek.com\/madrid\/wp-content\/uploads\/2025\/02\/LOGO-foodie-black-week-MAD-PANTALLA-tra.png'}\" style=\"${SetearEstiloImagen(property.imagen_oferta)}\" class=\"card-img-top2\" alt=\"Imagen\">\n                    <div class=\"card-body\">\n                        <h6 class=\"card-title\">${SetearNombre(eliminarBarrasInvertidas(property.nombre_restaurante))}<\/h6>\n                        <div class=\"card-text-with-icon\">\n                            \n                            <div class=\"card-text-container\">\n                            <div id=\"descripcion-2-${index}\" class=\"card-text-scroll\">\n                                    <p class=\"card-text small aLight fontDesc pb-0\">${setearDescripcion(property.descripcion_oferta)}<\/p>\n                                    <p class=\"card-text small aMedium fontDesc\">${comprobarPrecio(property.precio_oferta)}<\/p>\n                                <\/div>\n                                <span id=\"show-more-2-${index}\" class=\"show-more2\" onclick=\"toggleDescription2(${index})\" style=\"display:none;\">Ver m\u00e1s<\/span>\n                       \n                                <span id=\"show-less-2-${index}\" class=\"show-less2\" onclick=\"toggleDescription2(${index})\" style=\"display:none;\">Ver menos<\/span>\n                            <\/div>\n                        <\/div>\n                        <a href=\"${SetearEnlaceOferta(property.enlace_oferta,property.pagina_web)}\" class=\"btn btn-outline btn-sm mt-2 aMedium\" target=\"_blank\">Reserva<\/a>\n                    <\/div>\n                <\/div>\n            <\/div>\n        `;\n\n        const overlay = new CustomOverlay(new google.maps.LatLng(parseFloat(property.latitud), parseFloat(\n            property.longitud)), overlayContent, index);\n\n        marker.addListener('click', () => {\n            \/\/ Centra el mapa en la posici\u00f3n del marcador\n            const position = marker.getPosition(); \/\/ Obtener la posici\u00f3n del marcador\n            const latLng = new google.maps.LatLng(position.lat() + 0.004, position\n                .lng()); \/\/ Ajusta el valor 0.001 para mover el centro hacia arriba\n\n            \/\/ Centra el mapa en la posici\u00f3n del marcador, un poco m\u00e1s arriba\n            map.panTo(latLng);\n            map.setZoom(15);\n\n            if (currentOverlay) {\n                currentOverlay.setMap(null);\n            }\n            currentOverlay = overlay;\n\n            \/\/ Muestra el overlay personalizado\n            overlay.setMap(map);\n\n        });\n\n        \n\n        const nuevaCard = document.createElement('div');\n        nuevaCard.classList.add('restaurant-card');\n\n        const backgroundColor = index % 2 === 0 ? '#f0ede6' : '#ffffff';\n        nuevaCard.style.backgroundColor = backgroundColor;\n        nuevaCard.setAttribute('style', `background-color: ${backgroundColor};`);\n\n\n\n\n        nuevaCard.innerHTML =\n            `<div class=\"et_pb_section et_pb_section_4 et_section_regular\" id=\"card${index}\">\n    <div class=\"et_pb_row et_pb_row_3\">\n        <div class=\"et_pb_column et_pb_column_1_3 et_pb_column_4 et_pb_css_mix_blend_mode_passthrough\">\n            <div class=\"et_pb_module et_pb_image et_pb_image_1\">\n                <span class=\"et_pb_image_wrap\">\n                <img loading=\"lazy\" decoding=\"async\" src=\"${property.imagen_oferta}\"  srcset=\"${property.imagen_oferta}\" style=\"height: 230px; width: 230px; object-fit: cover;\">\n                <\/span>\n            <\/div>\n        <\/div>\n        <div class=\"et_pb_column et_pb_column_1_3 et_pb_column_5 et_pb_css_mix_blend_mode_passthrough\">\n            <div class=\"et_pb_module et_pb_text et_pb_text_99 et_pb_text_align_left et_pb_bg_layout_light\">\n                <div class=\"et_pb_text_inner\">\n                    <p class=\"nameRestaurant\">${SetearNombre(eliminarBarrasInvertidas(property.nombre_restaurante))}<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"et_pb_module et_pb_text et_pb_text_1 et_pb_text_align_left et_pb_bg_layout_light\">\n                <div class=\"et_pb_text_inner\">\n                    <p class=\"typeComida\">${SetearTipoDeComdia(property.nombre_tipo_comida,property.tipo_comida_outlist)}<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"et_pb_module et_pb_text et_pb_text_2 et_pb_text_align_left et_pb_bg_layout_light\">\n                <div class=\"et_pb_text_inner\">\n                    <p class=\"price\">${SetearPrecio(property.rango_precios)}<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\">\n                <div class=\"et_pb_text_inner\">\n                    <p class=\"address\">${eliminarBarrasInvertidas(property.direccion)}<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"et_pb_module et_pb_text et_pb_text_4 et_pb_text_align_left et_pb_bg_layout_light\">\n                <div class=\"et_pb_text_inner\">\n                    <p class=\"phone\">${SetearTelefono(property.telefono)}<\/p>\n                <\/div>\n            <\/div>\n            <div class=\"et_pb_module et_pb_text et_pb_text_5 et_pb_text_align_left et_pb_bg_layout_light\">\n                <div class=\"et_pb_text_inner\">\n                    <p><a href=\"${property.pagina_web}\" target=\"_blank\" rel=\"noopener\">P\u00e1gina web<\/a><\/p>\n                <\/div>\n            <\/div>\n        <\/div>\n        <div class=\"et_pb_with_border et_pb_column_1_3 et_pb_column et_pb_column_6 et_pb_css_mix_blend_mode_passthrough et-last-child\" style=\"min-width: 320px;\">\n            <div class=\"et_pb_module et_pb_image et_pb_image_2\">\n                <span class=\"et_pb_image_wrap\">\n                    <img \n                        loading=\"lazy\" \n                        decoding=\"async\" \n                        width=\"2221\" \n                        height=\"423\" \n                        src=\"https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-promociones-web.png\" \n                        alt=\"https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-promociones-web.png\" \n                        title=\"img_ico\"                         \n                        class=\"wp-image-385\" srcset=\"https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-promociones-web.png 2221w, https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-promociones-web-1280x244.png 1280w, https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-promociones-web-980x187.png 980w, https:\/\/foodie.deostudio.com\/wp-content\/uploads\/2024\/06\/foodie-black-week-24-promociones-web-480x91.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2221px, 100vw\" \/>\n                <\/span>\n            <\/div>\n            <div class=\"et_pb_with_border et_pb_module et_pb_text et_pb_text_6 et_pb_text_align_left et_pb_bg_layout_light\">\n            <div class=\"et_pb_text_inne text-container\" id=\"descripcion-${index}\">\n                <p class=\"card-text small aLight fontDesc pb-0\">${eliminarBarrasInvertidas(setearDescripcion(property.descripcion_oferta))} ${comprobarPrecio(property.precio_oferta)}<\/p>\n            <\/div>\n            <span class=\"show-more\" id=\"show-more-${index}\" onclick=\"toggleDescription(${index})\" style=\"display: none;\">Ver m\u00e1s<\/span>\n            <span class=\"show-less\" id=\"show-less-${index}\" onclick=\"toggleDescription(${index})\" style=\"display: none;\">Ver menos<\/span>\n           \n                \n            <\/div>\n            <div class=\"et_pb_button_module_wrapper et_pb_button_0_wrapper et_pb_module\">\n                <a class=\"et_pb_button et_pb_button_0 et_pb_bg_layout_light aSmall\" href=\"${SetearEnlaceOferta(property.enlace_oferta,property.pagina_web)}\" target=\"_blank\">Reserva<\/a>\n                <button id=\"botonCompartir\" data-nombrerest=\"${property.nombre_restaurante}\">Compartir<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n        `;\n\n        var contenedor = document.getElementById('BotonMas');\n        if (index < current_numb) {\n            nuevaCard.style.marginBottom = '20px';\n            listaCards.appendChild(nuevaCard);\n            contenedor.classList.add(\"displayNone\");\n            if (!ButtonVisible) {\n                ButtonVisible = true;\n            }\n        } else {\n            if (ButtonVisible) {\n                contenedor.classList.remove(\"displayNone\");\n                contenedor.classList.add(\"displayBlock\");\n                ButtonVisible = false;\n            }\n\n        }\n        ajustarBotonesVerMas(index);\n\n\n    });\n}\n\n\/\/ Funcio\u0301n para actualizar los botones de compartir\ndocument.addEventListener('DOMContentLoaded', function() {\n    function actualizarBotonesCompartir() {\n        setTimeout(() => {\n            const buttonsOffer = document.querySelectorAll(\"#botonCompartir\");\n\n            if (buttonsOffer.length === 0) {\n                console.error(\"No se encontraron botones de compartir.\");\n                return;\n            }\n\n            buttonsOffer.forEach((button) => {\n  const card = button.closest(\".et_pb_section\");\n\n  const nombre = (card.querySelector(\".nameRestaurant\")?.textContent || \"\").trim();\n  const nombreEscapado = encodeURIComponent(nombre).replace(\/%20\/g, \"+\"); \/\/ espacios -> +, resto escapado\n  const enlaceOferta = nombre ? `#${nombreEscapado}` : \"\";\n\n  const paginaWeb = card.querySelector(\".et_pb_text_5 a\")?.getAttribute(\"href\") || \"\";\n\n  button.dataset.enlace = enlaceOferta;\n  button.dataset.web = paginaWeb;\n  button.dataset.tipo = \"restaurante\";\n});\n\n        }, 500);\n    }\n\n    \/\/ Evento delegado para manejar clicks en los botones de compartir\n    document.addEventListener(\"click\", function(event) {\n        if (event.target && event.target.id === \"botonCompartir\") {\n            let button = event.target;\n            if (navigator.share) {\n              navigator.share({\n                title: 'Foodie Black Week',\n                url: button.dataset.enlace  \/\/ \"?utm_source=foodieblackweek.com&utm_medium=share_button&utm_campaign=foodie2025bcn\"\n              });\n            } else {\n                let property = {\n                    enlace_oferta: button.dataset.enlace,\n                    pagina_web: button.dataset.web,\n                    tipo: button.dataset.tipo,\n                    nombre_restaurante: encodeURIComponent(button.dataset.nombrerest)\n                };\n                shareOffer(property);\n            }\n        }\n    });\n\n    \/\/ Detectar cambios en el buscador y actualizar botones\n    const inputBuscador = document.querySelector(\"#buscador\"); \/\/ Aseg\u00farate de que este es el ID correcto\n    if (inputBuscador) {\n        inputBuscador.addEventListener(\"input\", function() {\n            setTimeout(() => {\n                actualizarBotonesCompartir(); \/\/ Reasignar atributos a los botones\n            }, 500);\n        });\n    }\n\n    \/\/ Detectar cambios en el DOM y reasignar botones autom\u00e1ticamente\n    const observer = new MutationObserver(() => {\n        actualizarBotonesCompartir();\n    });\n\n    observer.observe(document.body, {\n        childList: true,\n        subtree: true\n    });\n\n    \/\/ Ejecutar la actualizaci\u00f3n al cargar la p\u00e1gina\n    actualizarBotonesCompartir();\n\n    function shareOffer(property) {\n        if (!property || !property.enlace_oferta || !property.pagina_web) {\n            console.error(\"Faltan datos para compartir la oferta.\");\n            return;\n        }\n\n        let urlCompartir = window.location.href.split(\"#\")[0] + \"#\" + property.nombre_restaurante \n            \/\/ SetearEnlaceOferta(property.enlace_oferta, property.pagina_web);\n        console.log(urlCompartir);\n\n        let mensaje = \"\u00a1Sabemos que las alegr\u00edas compartidas son\u00a0doble\u00a0alegr\u00eda!\";\n        let mensajeCorreo = \"Ten\u00eda que pas\u00e1rtelo\u2026 \u00a1Foodie Black Week viene con planazos! \u00bfNos\u00a0apuntamos?\";\n\n        \/\/ Eliminar cualquier modal\/overlay previo antes de crear uno nuevo\n        let modalExistente = document.getElementById(\"modalCompartir\");\n        let overlayExistente = document.getElementById(\"overlayCompartir\");\n\n        if (modalExistente) modalExistente.remove();\n        if (overlayExistente) overlayExistente.remove();\n\n        \/\/ Crear el overlay\n        const overlay = document.createElement('div');\n        overlay.id = \"overlayCompartir\";\n        overlay.style.position = \"fixed\";\n        overlay.style.top = \"0\";\n        overlay.style.left = \"0\";\n        overlay.style.width = \"100%\";\n        overlay.style.height = \"100%\";\n        overlay.style.background = \"rgba(0, 0, 0, 0.5)\";\n        overlay.style.zIndex = \"999\";\n        document.body.appendChild(overlay);\n\n        \/\/ Crear el modal\n        const dialog = document.createElement('div');\n        dialog.id = \"modalCompartir\";\n        dialog.innerHTML = `\n        <h2>Compartir oferta<\/h2>\n        <p>${mensaje}<\/p>\n        <div id=\"botonesCompartir\">\n        <a href=\"https:\/\/api.whatsapp.com\/send?text=${encodeURIComponent(mensajeCorreo + \" \" + urlCompartir)}\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/cdn-icons-png.flaticon.com\/512\/124\/124034.png\"><\/a>\n        <a href=\"https:\/\/www.instagram.com\/accounts\/login\/?next=\/share&url=${encodeURIComponent(urlCompartir)}\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/cdn-icons-png.flaticon.com\/512\/2111\/2111463.png\"><\/a>\n        <a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=${encodeURIComponent(urlCompartir)}\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/cdn-icons-png.flaticon.com\/512\/124\/124010.png\"><\/a>\n        <a href=\"https:\/\/twitter.com\/intent\/tweet?text=${encodeURIComponent(mensajeCorreo + \" \" + urlCompartir)}\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcSlSjNPRJt0l1rzDaa3vPGPffxSv1vHv1-S8Q&s\"><\/a>\n        <a href=\"mailto:?subject=Foodie\u00a0Black\u00a0Week&body=${mensajeCorreo} ${encodeURIComponent(urlCompartir)}\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/cdn-icons-png.flaticon.com\/512\/732\/732200.png\"><\/a>\n        <\/div>\n        <button id=\"cerrarModal\">Cerrar<\/button>\n    `;\n        document.body.appendChild(dialog);\n        document.body.style.overflow = \"hidden\";\n\n        \/\/ Cerrar modal y overlay correctamente\n        function cerrarModal() {\n            if (document.getElementById(\"modalCompartir\")) {\n                document.getElementById(\"modalCompartir\").remove();\n            }\n            if (document.getElementById(\"overlayCompartir\")) {\n                document.getElementById(\"overlayCompartir\").remove();\n            }\n            document.body.style.overflow = \"auto\";\n        }\n\n        document.getElementById(\"cerrarModal\").onclick = cerrarModal;\n        overlay.onclick = cerrarModal;\n    }\n    if (window.location.hash) {\n  const raw = window.location.hash.slice(1);\n  const hash = decodeURIComponent(raw.replace(\/\\+\/g, \" \"));\n  if (hash) {\n    document.getElementById(\"buscador\").value = hash;\n    setTimeout(aplicarFiltros, 500);\n  }\n}\n});\n\n\nlet ButtonVisible = true;\n\n\/\/ Inicializar el mapa\nlet map;\nlet markers = [];\nlet properties = [{\"restaurante_id\":\"302\",\"nombre_restaurante\":\"Museo de Cera de Barcelona & Bosc de les Fades\",\"latitud\":\"41.377491\",\"longitud\":\"2.177347\",\"direccion\":\"Passatge de la Banca, 7, Ciutat Vella, 08002 Barcelona\",\"telefono\":\"933172649\",\"pagina_web\":\"https:\\\/\\\/www.museocerabcn.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Con tu entrada al Museo de Cera de Barcelona, disfruta de un 25% de descuento en el Bosc de les Fades.\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodie.deostudio.com\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/foodie-giny-transparente.gif\",\"eix_comercial_id\":\"24\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Ciutat Vella\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"301\",\"nombre_restaurante\":\"Bosc de les Fades\",\"latitud\":\"41.377323\",\"longitud\":\"2.177376\",\"direccion\":\"Passatge de la Banca, 7, Ciutat Vella, 08002 Barcelona\",\"telefono\":\"933172649\",\"pagina_web\":\"https:\\\/\\\/www.boscdelesfades.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"15% de descuento en la cuenta, con cualquier consumici\\u00f3n.\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/DSC5205-Panopv.jpg\",\"eix_comercial_id\":\"24\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Ciutat Vella\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"282\",\"nombre_restaurante\":\"Quiote Mezcaler\\u00eda\",\"latitud\":\"41.379503\",\"longitud\":\"2.155674\",\"direccion\":\"Carrer de Cal\\u00e0bria, 98, L\\\\'Eixample, 08015 Barcelona\",\"telefono\":\"655134904\",\"pagina_web\":\"https:\\\/\\\/quiote-mezcaleria-scp.square.site\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Experiencia Gastron\\u00f3mica Mexicana \\u2013 Especial Foodie Black Week Descubra nuestras cenas pop-up de cocina mexicana. Posibilidad de reservar cenas privadas y catering exclusivo para eventos en Barcelona. Reservando durante la Foodie Black Week, experiencias desde 45 \\u20ac por persona (precio orientativo seg\\u00fan formato y n\\u00famero de comensales). Plazas limitadas. Reserva previa.\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/IMG_8966.jpeg\",\"eix_comercial_id\":\"3\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"30-60\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Cor Eixample\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"257\",\"nombre_restaurante\":\"AiCha Bubble Tea & Especialty Coffee\",\"latitud\":\"41.384965\",\"longitud\":\"2.132401\",\"direccion\":\"Carrer de Joan G\\u00fcell, 137, Les Corts, 08028 Barcelona\",\"telefono\":\"666007007\",\"pagina_web\":\"http:\\\/\\\/www.aichabubbletea.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Gratis un Bubble Tea. \\r\\nHoy es tu dia de suerte ven y disfruta de un Bubble Tea totalmente Gratis!!!\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/1000198603-1.jpg\",\"eix_comercial_id\":\"7\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Les Corts\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"246\",\"nombre_restaurante\":\"Bobby gin\",\"latitud\":\"41.399921\",\"longitud\":\"2.158452\",\"direccion\":\"Carrer de Francisco Giner, 47, Gr\\u00e0cia, 08012 Barcelona\",\"telefono\":\"933681892\",\"pagina_web\":\"http:\\\/\\\/bobbygin.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Cuatro signature gin tonics.\",\"precio_oferta\":\"30.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/1000057578.jpg\",\"eix_comercial_id\":\"10\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Gr\\u00e0cia\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"244\",\"nombre_restaurante\":\"Silvestre flowers and drinks\",\"latitud\":\"41.388147\",\"longitud\":\"2.160052\",\"direccion\":\"C\\\/ d\\\\'Aribau, 52, Eixample, 08011 Barcelona\",\"telefono\":\"34617336653\",\"pagina_web\":\"https:\\\/\\\/www.instagram.com\\\/silvestre.bcn?igsh=azl6cjB6NWN3ZTN0\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Sant Germain\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/silvestreFlowersDrinks-250x300.png\",\"eix_comercial_id\":\"3\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Cor Eixample\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"243\",\"nombre_restaurante\":\"Mirablau\",\"latitud\":\"41.416212\",\"longitud\":\"2.13198\",\"direccion\":\"Pla\\u00e7a del Doctor Andreu, s\\\/n, Sarri\\u00e0-Sant Gervasi, 08035 Barcelona\",\"telefono\":\"934185879\",\"pagina_web\":\"http:\\\/\\\/www.mirablaubcn.cat\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Atr\\u00e9vete a venir a probar nuestra Paloma Turuleca! Un divertido twist de este cl\\u00e1sico q nunca pasa de moda, como nosotros!!\",\"precio_oferta\":\"9.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/3069390c-2854-4c2a-8b5c-71b32f1c1b02.jpeg\",\"eix_comercial_id\":\"19\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Sant Gervasi\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"237\",\"nombre_restaurante\":\"CitySailing\",\"latitud\":\"41.375351\",\"longitud\":\"2.178456\",\"direccion\":\"Moll de les Drassanes, Ciutat Vella, 08039 Barcelona\",\"telefono\":\"658885812\",\"pagina_web\":\"https:\\\/\\\/www.citysailing.es\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Disfruta de un 2x1 en los tours en barco de viernes a domingo! Paseo en velero de madera por Barcelona: 12\\u20ac en lugar de 24\\u20ac. Paseo en velero al atardecer en Barcelona con m\\u00fasica en vivo 15\\u20ac en lugar de 29,50\\u20ac Canjea el c\\u00f3digo: CFBW50 en el carrito de nuestra web!\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/CATAPA-8.jpg\",\"eix_comercial_id\":\"24\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Ciutat Vella\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"216\",\"nombre_restaurante\":\"VERIDIS.CO\",\"latitud\":\"41.389612\",\"longitud\":\"2.163386\",\"direccion\":\"Consell de Cent 319, Barcelona\",\"telefono\":\"645757932\",\"pagina_web\":\"http:\\\/\\\/www.facebook.com\\\/veridis.co\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"\\ud83d\\udc49 2 baby Barcardi Mojitos.\",\"precio_oferta\":\"10.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/IMG_5385.jpeg\",\"eix_comercial_id\":\"14\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Nou Eixample\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"210\",\"nombre_restaurante\":\"My Bar\",\"latitud\":\"41.38072\",\"longitud\":\"2.174525\",\"direccion\":\"Passatge de Madoz, Barcelona\",\"telefono\":\"682380786\",\"pagina_web\":\"http:\\\/\\\/www.mybar.es\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Dos pintas de Cerveza.\",\"precio_oferta\":\"4.95\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/Sin-titulo-1.png\",\"eix_comercial_id\":\"23\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Gotic\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"208\",\"nombre_restaurante\":\"Irish Pub Temple Bar\",\"latitud\":\"41.380654\",\"longitud\":\"2.174483\",\"direccion\":\"Carrer de Ferran 6, Barcelona\",\"telefono\":\"682380786\",\"pagina_web\":\"http:\\\/\\\/www.templebarbcn.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"\\u00a1Smash Burguer DOBLE!\\r\\n\\r\\nDeliciosa Smash Burguer con carne smash 100% de vacuno acompa\\u00f1ada de queso cheddar, pepinillos, lechuga, cebolla morada picada y nuestra salsa secreta.\",\"precio_oferta\":\"3.95\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/10\\\/95-Temple_Smash_Burger-DSC_2305-Edit.jpg\",\"eix_comercial_id\":\"23\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Gotic\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"188\",\"nombre_restaurante\":\"Siboney BCN\",\"latitud\":\"41.38911\",\"longitud\":\"2.158754\",\"direccion\":\"Carrer d\\\\'Aribau, 70, local 3, Eixample, 08011 Barcelona\",\"telefono\":\"692968715\",\"pagina_web\":\"https:\\\/\\\/www.instagram.com\\\/siboney_bcn\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Consumiendo dos vermouth Martini el tercero es gratis.\",\"precio_oferta\":\"5.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/siboney.png\",\"eix_comercial_id\":\"3\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Cor Eixample\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"174\",\"nombre_restaurante\":\"colors club\",\"latitud\":\"41.3791\",\"longitud\":\"2.174775\",\"direccion\":\"C\\\/la rambla 33, 08002\",\"telefono\":\"667842704\",\"pagina_web\":\"http:\\\/\\\/colorsbcn.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"1 botella de Bacard\\u00ed o Santa Teresa, Bombay, Eristoff, Dewars Caribean, Cazador reposado + 1 Shisha al gusto en vip de 4-6 pax.\",\"precio_oferta\":\"120.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/colorsClub.png\",\"eix_comercial_id\":\"24\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Ciutat Vella\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"172\",\"nombre_restaurante\":\"Taller24\",\"latitud\":\"41.376571\",\"longitud\":\"2.135907\",\"direccion\":\"Carrer de Galileu 22,24, Barcelona\",\"telefono\":\"660727925\",\"pagina_web\":\"http:\\\/\\\/www.taller-24.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Tapas Foodie Week.\",\"precio_oferta\":\"45.00\",\"enlace_oferta\":\"https:\\\/\\\/taller-24.com\\\/producto\\\/tapas-foodie-week\\\/\",\"imagen_oferta\":\"https:\\\/\\\/taller-24.com\\\/wp-content\\\/uploads\\\/2019\\\/01\\\/zhuwb7ks7uh5nlxksk3u-300x300.jpg\",\"eix_comercial_id\":\"1\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"30-60\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Sants\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"168\",\"nombre_restaurante\":\"GANGSTA\\\\\\\\\\\\'S PARADISE SPEAKEASY\",\"latitud\":\"41.383844\",\"longitud\":\"2.184866\",\"direccion\":\"Carrer d\\\\'Ocata 2, Barcelona\",\"telefono\":\"672573649\",\"pagina_web\":\"https:\\\/\\\/www.gangstasparadisebcn.com\\\/es\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"FORGET IT IN CARACAS + CHIPS 15\\u20ac CHILLING ON THE RIVER + OLIVAS 15 \\u20ac\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/static.wixstatic.com\\\/media\\\/67d5d7_3f684acc692e4807aacf58d9d194bb92~mv2.jpg\\\/v1\\\/fill\\\/w_950,h_951,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto\\\/GANGSTAS-PARADISE-20384.jpg\",\"eix_comercial_id\":\"24\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Ciutat Vella\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"167\",\"nombre_restaurante\":\"Juanitos\",\"latitud\":\"41.39233\",\"longitud\":\"2.156282\",\"direccion\":\"Carrer d\\\\'Enric Granados, 91, L\\\\'Eixample, 08008 Barcelona\",\"telefono\":\"933533316\",\"pagina_web\":\"https:\\\/\\\/www.instagram.com\\\/barjuanitos\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"MOSCOW MULE + OLIVAS 12\\u20ac PATRON PALOMA + BRAVAS 14\\u20ac\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/juanitos.png\",\"eix_comercial_id\":\"14\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Nou Eixample\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"166\",\"nombre_restaurante\":\"The Original Old Fashioned\",\"latitud\":\"41.398072\",\"longitud\":\"2.159656\",\"direccion\":\"Carrer de Santa Teresa 1, Barcelona\",\"telefono\":\"690629932\",\"pagina_web\":\"https:\\\/\\\/www.theoriginaloldfashioned.com\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Al Capone + Sandwich de Meatballs \\u2192 20\\u20ac  Cocktail my Moon + Sandwich Pastrami \\u2192 20 \\u20ac St Germain Spritz o Vermut Martini + Bravas \\u2192 12 \\u20ac\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/static.wixstatic.com\\\/media\\\/67d5d7_db30ab1de65544a388c343819bfd4415~mv2.jpg\\\/v1\\\/fill\\\/w_613,h_1381,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto\\\/67d5d7_db30ab1de65544a388c343819bfd4415~mv2.jpg\",\"eix_comercial_id\":\"10\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Gr\\u00e0cia\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"165\",\"nombre_restaurante\":\"Nola Cocktail Bar & Food\",\"latitud\":\"41.398061\",\"longitud\":\"2.159669\",\"direccion\":\"Carrer de Santa Teresa 1, Barcelona\",\"telefono\":\"613277422\",\"pagina_web\":\"https:\\\/\\\/www.nolabarcelona.com\\\/es\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Hurricane + Muffaleta 20\\u20ac Sazerac + Pulled Pork 20\\u20ac St Germain Spritz + Bravas 12\\u20ac\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/static.wixstatic.com\\\/media\\\/ccf6c0_6f14baf86dfe44a6930931c7227afe3d~mv2.jpg\\\/v1\\\/fill\\\/w_1901,h_913,al_br,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto\\\/ccf6c0_6f14baf86dfe44a6930931c7227afe3d~mv2.jpg\",\"eix_comercial_id\":\"10\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Gr\\u00e0cia\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"130\",\"nombre_restaurante\":\"BAR OVISO\",\"latitud\":\"41.380676\",\"longitud\":\"2.177069\",\"direccion\":\"Carrer de n\\\\\\\\\\\\\\\\\\\\\\\\\\\\'Arai 5, Barcelona\",\"telefono\":\"932695146\",\"pagina_web\":\"\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Spritz semana foodieblack Nachos semana foodieblack.\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodie.deostudio.com\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/foodie-giny-transparente.gif\",\"eix_comercial_id\":\"23\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Gotic\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"125\",\"nombre_restaurante\":\"Panam75\",\"latitud\":\"41.387976\",\"longitud\":\"2.161122\",\"direccion\":\"carrer consell de cent 281\",\"telefono\":\"620460354\",\"pagina_web\":\"https:\\\/\\\/maps.app.goo.gl\\\/NFqCtp1daiZKCKQ89?g_st=ipc\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"2 cockteles comprado el tercero regalado.\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/lh3.googleusercontent.com\\\/p\\\/AF1QipOvfUyF_rHIVFLHlIpwUoqA9Q52UTqxXJ0R-2D8=w408-h272-k-no\",\"eix_comercial_id\":\"3\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Cor Eixample\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"123\",\"nombre_restaurante\":\"APOTHUCKER\",\"latitud\":\"41.377058\",\"longitud\":\"2.160588\",\"direccion\":\"Carrer de Viladomat 43 bis, Barcelona\",\"telefono\":\"641735486\",\"pagina_web\":\"https:\\\/\\\/www.instagram.com\\\/apothucker\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"La combinaci\\u00f3n armoniosa de nuestro c\\u00f3ctel de autor, \\u00abAntioxidante\\u00bb, que combina ginebra, pepino, albahaca, pimienta negra, manzana y lima, con su tzatziki casero de la misma composici\\u00f3n.\",\"precio_oferta\":\"13.50\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/APOTHUCKER-Bar.jpg-min-1-224x300.png\",\"eix_comercial_id\":\"18\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Sant Antoni\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"114\",\"nombre_restaurante\":\"GIMLET\",\"latitud\":\"41.396035\",\"longitud\":\"2.14546\",\"direccion\":\"Carrer de Santal\\u00f3 46, Barcelona\",\"telefono\":\"932015306\",\"pagina_web\":\"https:\\\/\\\/drymartiniorg.com\\\/locales\\\/gimlet-v2\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Spritz St. Germain + tapa ensaladilla rusa a un precio muy atractivo.\",\"precio_oferta\":\"9.90\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/St-germain-Spritz-8503-200x300.jpg\",\"eix_comercial_id\":\"19\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Sant Gervasi\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"106\",\"nombre_restaurante\":\"Vesou Rum Bar\",\"latitud\":\"41.38937\",\"longitud\":\"2.156813\",\"direccion\":\"Carrer de Mallorca 184, Barcelona\",\"telefono\":\"627006117\",\"pagina_web\":\"http:\\\/\\\/www.vesoubarcelona.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Cocktail + Tapa por 15\\u20ac. Coctel:  Rosita y el Pastor , Patr\\u00f3n Silver infusionado con pi\\u00f1a, Martini Ambrato infusionado con especias del taco al pastor, Martini Bitter, Perfume de cilantro. Tapa:  Accras de Moure, Bu\\u00f1uelo de bacalao con especias caribe\\u00f1as, t\\u00edpico de las antillas francesas.\",\"precio_oferta\":\"15.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/09\\\/VESOUJULIO2025-95.jpg\",\"eix_comercial_id\":\"3\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Cor Eixample\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"98\",\"nombre_restaurante\":\"Bar Costa\",\"latitud\":\"41.382489\",\"longitud\":\"2.165951\",\"direccion\":\"Carrer de Joaqu\\u00edn Costa, Barcelona\",\"telefono\":\"690835070\",\"pagina_web\":\"https:\\\/\\\/barcosta.com\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Sangr\\u00eda \\u201cBAR COSTA\\u201d \\r\\nLa mezcla perfecta de BOMBAY, ST-GERMAIN, MARTINI \\r\\nVIBRANTE con fruta de la pasi\\u00f3n. P\\u00eddela de vino blanco o cava\",\"precio_oferta\":\"8.50\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodie.deostudio.com\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/foodie-giny-transparente.gif\",\"eix_comercial_id\":\"22\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Raval\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"77\",\"nombre_restaurante\":\"GUAYOYO\",\"latitud\":\"41.40354\",\"longitud\":\"2.13141\",\"direccion\":\"Pla\\u00e7a del Camp, 2, Sarri\\u00e0-Sant Gervasi, 08022 Barcelona\",\"telefono\":\"935632953\",\"pagina_web\":\"https:\\\/\\\/www.instagram.com\\\/guayoyobarcelona\\\/?hl=es\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"Cocktail especial de Grey Goose para Foodie Black Week y bravas.\",\"precio_oferta\":\"15.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodie.deostudio.com\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/foodie-giny-transparente.gif\",\"eix_comercial_id\":\"19\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Sant Gervasi\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"72\",\"nombre_restaurante\":\"Never\",\"latitud\":\"41.37908\",\"longitud\":\"2.166418\",\"direccion\":\"Carrer de la Cera 17, Bajos\",\"telefono\":\"660919888\",\"pagina_web\":\"http:\\\/\\\/www.neverbcn.com\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"2 c\\u00f3cteles de Autor muy originales y exclusivos para amantes de los sabores acompa\\u00f1ado con unos quesos de Gamazo de oveja & queso Majorero con especies.\",\"precio_oferta\":\"25.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/neverBcn-255x300.png\",\"eix_comercial_id\":\"24\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Ciutat Vella\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"49\",\"nombre_restaurante\":\"Foxy Bar\",\"latitud\":\"41.380327\",\"longitud\":\"2.164344\",\"direccion\":\"Carrer de la Riera Alta 59, Barcelona\",\"telefono\":\"935017465\",\"pagina_web\":\"https:\\\/\\\/foxybarbcn.wixsite.com\\\/foxybar\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"St Germain Spritz.\",\"precio_oferta\":\"7.50\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodieblackweek.com\\\/barcelona\\\/wp-content\\\/uploads\\\/ImagenesClientes\\\/2025\\\/09\\\/foxy-bar.jpg\",\"eix_comercial_id\":\"22\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Raval\",\"nombre_tipo_comida\":\"Otras\"},{\"restaurante_id\":\"5\",\"nombre_restaurante\":\"BPM BAR ENCANTS\",\"latitud\":\"41.406794\",\"longitud\":\"2.184211\",\"direccion\":\"Carrer Arag\\u00f3, 551\",\"telefono\":\"650323165\",\"pagina_web\":\"http:\\\/\\\/bpmbar.es\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":\"BRAVAS + 2 COPAS DE CERVEZA 9\\u20ac.\\r\\nBRAVAS + 2 COPAS DE VINO 9\\u20ac.\\r\\nFINGERS DE POLLO + 2 COPAS DE CERVEZA 11\\u20ac.\\r\\nFINGERS DE POLLO + 2 COPAS DE VINO 11\\u20ac\\r\\nTABLA DE EMBUTIDOS Y QUESO + 2 COPAS DE CERVEZA 18\\u20ac\\r\\nTABLA DE EMBUTIDOS Y QUESO + 2 COPAS DE VINO 18\\u20ac\",\"precio_oferta\":\"0.00\",\"enlace_oferta\":\"\",\"imagen_oferta\":\"https:\\\/\\\/foodie.deostudio.com\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/foodie-giny-transparente.gif\",\"eix_comercial_id\":\"8\",\"tipo_comida_id\":\"16\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Encants Nous\",\"nombre_tipo_comida\":\"Comida Catalana\"},{\"restaurante_id\":\"241\",\"nombre_restaurante\":\"Gimlet\",\"latitud\":\"41.396299\",\"longitud\":\"2.145381\",\"direccion\":\"Carrer de Santal\\u00f3, 46, Sarri\\u00e0-Sant Gervasi, 08021 Barcelona\",\"telefono\":\"932 058 070\",\"pagina_web\":\"https:\\\/\\\/www.drymartiniorg.com\\\/\",\"tipo_comida_outlist\":\"\",\"descripcion_oferta\":null,\"precio_oferta\":null,\"enlace_oferta\":null,\"imagen_oferta\":null,\"eix_comercial_id\":\"19\",\"tipo_comida_id\":\"37\",\"rango_precios\":\"15-30\",\"tipo_establecimiento_id\":\"3\",\"prioridad_vision\":\"0\",\"nombre_eix_comercial\":\"Barcelona - Sant Gervasi\",\"nombre_tipo_comida\":\"Otras\"}];\n\n\/\/ Mostrar todos los resultados en consola al cargar el mapa\nconsole.log(\"Todos los resultados del mapa:\", properties);\n\nasync function initMap() {\n    \/\/ Importar clases de la API de Google Maps\n    const {\n        Map\n    } = await google.maps.importLibrary(\"maps\");\n    const {\n        AdvancedMarkerElement\n    } = await google.maps.importLibrary(\"marker\");\n\n    \/\/ Centro inicial (Madrid, por ejemplo)\n    const center = {\n        lat: 41.3874,\n        lng: 2.1686\n    };\n\n    \/\/ Crear mapa\n    map = new Map(document.getElementById('map'), {\n        zoom: 11,\n        mapId: \"63c2e3b5f83810ef\",\n        center: center,\n        streetViewControl: false,\n        mapTypeControl: false,\n        clickableIcons: false\n    });\n\n    \/\/ Al hacer clic en el mapa, cierra el overlay (si existe)\n    map.addListener('click', () => {\n        if (currentOverlay) {\n            currentOverlay.setMap(null);\n            currentOverlay = null;\n        }\n        \/\/ map.setZoom(14);\n    });\n\n    \/\/ Cargar y mostrar todos los restaurantes\n    actualizarMapa(properties);\n}\n\ndocument.getElementById('barrio').addEventListener('change', FiltroListener);\ndocument.getElementById('tipo_comida').addEventListener('change', FiltroListener);\ndocument.getElementById('rango_precio').addEventListener('change', FiltroListener);\n\n\/\/ [NUEVO] Variables\/elementos para autocompletado\nconst autocompleteResults = document.getElementById('autocomplete-results');\ndocument.getElementById('buscador').addEventListener('input', onBuscarInput);\n\n\/**\n * Genera las sugerencias de autocompletado en base al input (nombre del restaurante).\n *\/\nfunction onBuscarInput(e) {\n    const valor = e.target.value.toLowerCase();\n\n    \/\/ Limpia el contenedor de sugerencias cada vez\n    autocompleteResults.innerHTML = '';\n    autocompleteResults.style.display = 'none';\n\n    \/\/ Si no hay texto, no mostramos nada y llamamos a filtrar\n    if (!valor) {\n        aplicarFiltros();\n        return;\n    }\n    aplicarFiltros();\n\n    \/\/ Tomamos de tu array \"properties\" solo el nombre_restaurante\n    \/\/ y buscamos coincidencias con lo que escribe el usuario\n    const coincidencias = properties\n        .map(r => r.nombre_restaurante) \/\/ sacamos solo el nombre\n        .filter(nombre => nombre.toLowerCase().includes(valor));\n\n    \/\/ Quitamos duplicados\n    const unicos = [...new Set(coincidencias)];\n\n    \/\/ con esto de aqui abajo creamos un boton para eliminar el texto que se selecciona en el input\n    const closeBtn = document.createElement('button');\n    closeBtn.type = 'button';\n    closeBtn.className = 'close';\n    closeBtn.innerHTML = '<span aria-hidden=\"true\">&times;<\/span>';\n    closeBtn.addEventListener('click', () => {\n        document.getElementById('buscador').value = '';\n        aplicarFiltros();\n        closeBtn.parentNode.removeChild(closeBtn);\n    });\n\n    \/\/ Agregamos el evento de input al input de b\u00fasqueda\n    document.getElementById('buscador').addEventListener('input', () => {\n        \/\/ console.log('Evento input disparado');\n        if (document.getElementById('buscador').value.length > 0) {\n            if (!document.getElementById('buscador').parentNode.querySelector('.close')) {\n                document.getElementById('buscador').parentNode.appendChild(closeBtn);\n            }\n        } else {\n            closeBtn.parentNode.removeChild(closeBtn);\n        }\n    });\n\n    \/\/ Si hay coincidencias, las mostramos\n    if (unicos.length > 0) {\n        autocompleteResults.style.display = 'block';\n\n        \/\/ Mostramos m\u00e1ximo 10 sugerencias\n        unicos.slice(0, 10).forEach(nombre => {\n            const item = document.createElement('div');\n            item.textContent = nombre;\n            item.classList.add('autocomplete-item');\n\n            \/\/ Al hacer clic en una sugerencia:\n            item.addEventListener('click', () => {\n                \/\/ Rellenamos el input\n                document.getElementById('buscador').value = nombre;\n                \/\/ Ocultamos sugerencias\n                autocompleteResults.innerHTML = '';\n                autocompleteResults.style.display = 'none';\n                \/\/ Filtramos con ese nombre\n                aplicarFiltros();\n                if (!document.getElementById('buscador').parentNode.querySelector('.close')) {\n                    document.getElementById('buscador').parentNode.appendChild(closeBtn);\n                }\n            });\n            autocompleteResults.appendChild(item);\n        });\n    }\n}\n<\/script>\n\n\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.3\/dist\/js\/bootstrap.bundle.min.js\"><\/script>\n\nNombre del restaurante completoTIPO DE COMIDA\u20ac\u20ac\u20ac\u20acDirecci\u00f3n completa del restaurante, 08008, Barcelona93 450 93 23P\u00e1gina webDos tapas y dos ca\u00f1as por 7\u20acRESTAURANTESHOTELES\u00bfEres restaurador?La semana de la restauraci\u00f3n, hoteles y ocio, con m\u00e1s ofertas, promociones y regalos jam\u00e1s vivida en Barcelona, \u00bfte lo vas a perder?Participar es totalmente GRATIS.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","slim_seo":{"title":"OCIO - FOODIE BLACK WEEK - BARCELONA","description":"Nombre del restaurante completo TIPO DE COMIDA \u20ac\u20ac\u20ac\u20ac Direcci\u00f3n completa del restaurante, 08008, Barcelona 93 450 93 23 P\u00e1gina web Dos tapas y dos ca\u00f1as por 7\u20ac RE"},"footnotes":""},"class_list":["post-1516","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/foodieblackweek.com\/barcelona\/wp-json\/wp\/v2\/pages\/1516","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/foodieblackweek.com\/barcelona\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/foodieblackweek.com\/barcelona\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/foodieblackweek.com\/barcelona\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/foodieblackweek.com\/barcelona\/wp-json\/wp\/v2\/comments?post=1516"}],"version-history":[{"count":14,"href":"https:\/\/foodieblackweek.com\/barcelona\/wp-json\/wp\/v2\/pages\/1516\/revisions"}],"predecessor-version":[{"id":3100,"href":"https:\/\/foodieblackweek.com\/barcelona\/wp-json\/wp\/v2\/pages\/1516\/revisions\/3100"}],"wp:attachment":[{"href":"https:\/\/foodieblackweek.com\/barcelona\/wp-json\/wp\/v2\/media?parent=1516"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}