1<!doctype html><html lang="es-ES" dir="ltr" data-nojs><head><title>ZINE HOSTELERÃA</title><meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><meta name="generator" content="Zoho Commerce, https://www.zoho.com/commerce"/><link rel="icon" href="/favicon.png"/><link href="https://ecommerce-stratus.zohostratus.eu/IDC/css/zstore-core.css" rel="preload" type="text/css" as="style"><link href="https://ecommerce-stratus.zohostratus.eu/IDC/css/zstore-core.css" rel="stylesheet" type="text/css"><link rel="preconnect" href="//img.zohostatic.com"><link rel="preconnect" href="//static.zohocdn.com"><link rel="preconnect" href="//https://cdn3.zohoecommerce.com"><link href="https://cdn3.zohoecommerce.com/template/3a2fea83678c452c89866391b23c9403/stylesheets/style.css?v=1788866743923&storefront_domain=www.zinehosteleria.com" onerror="this.onerror=null;this.href='/template/3a2fea83678c452c89866391b23c9403/stylesheets/style.css'" rel="preload" type="text/css" as="style"><link href="https://cdn3.zohoecommerce.com/template/3a2fea83678c452c89866391b23c9403/stylesheets/style.css?v=1788866743923&storefront_domain=www.zinehosteleria.com" onerror="this.onerror=null;this.href='/template/3a2fea83678c452c89866391b23c9403/stylesheets/style.css'" rel="stylesheet" type="text/css"><link href="https://cdn3.zohoecommerce.com/template/3a2fea83678c452c89866391b23c9403/stylesheets/sub-style.css?v=1788866743923&storefront_domain=www.zinehosteleria.com" onerror="this.onerror=null;this.href='/template/3a2fea83678c452c89866391b23c9403/stylesheets/sub-style.css'" rel="preload" type="text/css" as="style"><link href="https://cdn3.zohoecommerce.com/template/3a2fea83678c452c89866391b23c9403/stylesheets/sub-style.css?v=1788866743923&storefront_domain=www.zinehosteleria.com" onerror="this.onerror=null;this.href='/template/3a2fea83678c452c89866391b23c9403/stylesheets/sub-style.css'" rel="stylesheet" type="text/css"><link href="https://cdn3.zohoecommerce.com/template/3a2fea83678c452c89866391b23c9403/stylesheets/portal-signin.css?v=1788866743923&storefront_domain=www.zinehosteleria.com" onerror="this.onerror=null;this.href='/template/3a2fea83678c452c89866391b23c9403/stylesheets/portal-signin.css'" rel="preload" type="text/css" as="style"><link href="https://cdn3.zohoecommerce.com/template/3a2fea83678c452c89866391b23c9403/stylesheets/portal-signin.css?v=1788866743923&storefront_domain=www.zinehosteleria.com" onerror="this.onerror=null;this.href='/template/3a2fea83678c452c89866391b23c9403/stylesheets/portal-signin.css'" rel="stylesheet" type="text/css"><link rel="preload" type="text/css" href="//webfonts.zoho.eu/css?family=Alice/Source Sans Pro:300,400,600,700/Source Code Pro/Poppins:100,200,300,400,500,600,700/Roboto:900,700,500,300,100,400,900i,700i,500i,400i,100i,300i/Playfair Display:900,700,400,900i,700i,400i/Raleway:900,800,700,600,500,300,200,100,400/Libre Baskerville:700,400/Inter:200,700,400/Arimo:400,700/Nunito/Source Sans Pro:100,300,400/Muli:100,300,400/Karla/Noto Sans:100,300,400/Arvo/Rubik:300,400,500,700,900/Abel/Architects Daughter:400/Caveat:400/Kalam:400/Gochi Hand:400/Marck Script:400/Iceland:400/Handlee:400/Bebas:400/Exo:400/Poppins:400&display=swap" as="style"><link rel="stylesheet" type="text/css" href="//webfonts.zoho.eu/css?family=Alice/Source Sans Pro:300,400,600,700/Source Code Pro/Poppins:100,200,300,400,500,600,700/Roboto:900,700,500,300,100,400,900i,700i,500i,400i,100i,300i/Playfair Display:900,700,400,900i,700i,400i/Raleway:900,800,700,600,500,300,200,100,400/Libre Baskerville:700,400/Inter:200,700,400/Arimo:400,700/Nunito/Source Sans Pro:100,300,400/Muli:100,300,400/Karla/Noto Sans:100,300,400/Arvo/Rubik:300,400,500,700,900/Abel/Architects Daughter:400/Caveat:400/Kalam:400/Gochi Hand:400/Marck Script:400/Iceland:400/Handlee:400/Bebas:400/Exo:400/Poppins:400&display=swap"><link href="https://cdn3.zohoecommerce.com/zs-customcss.css?v=1788866743923&storefront_domain=www.zinehosteleria.com" rel="preload" type="text/css" as="style"><link href="https://cdn3.zohoecommerce.com/zs-customcss.css?v=1788866743923&storefront_domain=www.zinehosteleria.com" rel="stylesheet" type="text/css">
1<script src="https://cdn3.zohoecommerce.com/zs-lang_es_ES.js?v=1788866743923&storefront_domain=www.zinehosteleria.com" defer></script>
1<script src="https://ecommerce-stratus.zohostratus.eu/IDC/js/zstore-core.js" defer></script>
1<script src="https://cdn3.zohoecommerce.com/template/3a2fea83678c452c89866391b23c9403/js/header.js?v=1788866743923&storefront_domain=www.zinehosteleria.com" onerror="this.onerror=null;this.src='/template/3a2fea83678c452c89866391b23c9403/js/header.js'" defer></script>
1<script src="https://cdn3.zohoecommerce.com/template/3a2fea83678c452c89866391b23c9403/js/eventhandler.js?v=1788866743923&storefront_domain=www.zinehosteleria.com" onerror="this.onerror=null;this.src='/template/3a2fea83678c452c89866391b23c9403/js/eventhandler.js'" defer></script>
1<script src="https://cdn3.zohoecommerce.com/template/3a2fea83678c452c89866391b23c9403/js/megamenu.js?v=1788866743923&storefront_domain=www.zinehosteleria.com" onerror="this.onerror=null;this.src='/template/3a2fea83678c452c89866391b23c9403/js/megamenu.js'" defer></script>
1<script src="https://cdn3.zohoecommerce.com/template/3a2fea83678c452c89866391b23c9403/js/language-list.js?v=1788866743923&storefront_domain=www.zinehosteleria.com" onerror="this.onerror=null;this.src='/template/3a2fea83678c452c89866391b23c9403/js/language-list.js'" defer></script>
1<script src="https://cdn3.zohoecommerce.com/template/3a2fea83678c452c89866391b23c9403/js/custom.js?v=1788866743923&storefront_domain=www.zinehosteleria.com" onerror="this.onerror=null;this.src='/template/3a2fea83678c452c89866391b23c9403/js/custom.js'" defer></script>
1<script src="https://cdn3.zohoecommerce.com/template/3a2fea83678c452c89866391b23c9403/js/store.js?v=1788866743923&storefront_domain=www.zinehosteleria.com" onerror="this.onerror=null;this.src='/template/3a2fea83678c452c89866391b23c9403/js/store.js'" defer></script>
1<script src="https://cdn3.zohoecommerce.com/template/3a2fea83678c452c89866391b23c9403/js/products-pagination.js?v=1788866743923&storefront_domain=www.zinehosteleria.com" onerror="this.onerror=null;this.src='/template/3a2fea83678c452c89866391b23c9403/js/products-pagination.js'" defer></script>
1<script>window.zs_data_center="Europe";</script>
1<script>window.stand_alone_path="";</script>
1<script>window.zs_rendering_mode="live";</script>
1<script>window.is_social_share_enabled="true";</script>
1<script src="https://ecommerce-stratus.zohostratus.eu/IDC/js/browser_compatibility.js" defer></script>
1<script src="https://ecommerce-stratus.zohostratus.eu/IDC/js/portal_signup.js" defer></script>
1<script type="application/javascript">window.zs_view="signin"</script>
1<!-- ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ ZINE HOSTELERÃA â JAVASCRIPT COMPLETO (HEADER) ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ -->
1<script> 2 // Define el estado de consentimiento por defecto. 3 // Esto DEBE ejecutarse ANTES de tu script de Google Tag Manager. 4 window.dataLayer = window.dataLayer || []; 5 function gtag(){dataLayer.push(arguments);} 6 7 gtag('consent', 'default', { 8 'ad_storage': 'denied', 9 'ad_user_data': 'denied', 10 'ad_personalization': 'denied', 11 'analytics_storage': 'denied', 12 'functionality_storage': 'denied', 13 'personalization_storage': 'denied', 14 'security_storage': 'denied' 15 }); 16</script>
16<!-- Google Tag Manager -->
16<script>
vendor: 327 bytes, lines 16-20
16(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 17new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 18j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 19'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 20})(window,document,'script','dataLayer','
20GTM-KNHN6T4
vendor: 3 bytes, line 20
20');
20</script>
20<!-- End Google Tag Manager -->
20<script type="text/javascript" src='https://crm.zoho.eu/crm/javascript/zcga.js'> </script>
20<!-- Stripe.js: necesario para el mensaje de Klarna en producto (defer=no bloquea el renderizado) -->
20<script src="https://js.stripe.com/v3/" defer></script>
20<script> 21function addingCustomText(){ 22 const custom_text = "+ IVA "; // espacio delante 23 const priceContainer = document.querySelectorAll("[data-zs-selling-price]"); 24 priceContainer.forEach(priceTag => { 25 // evita duplicados 26 const next = priceTag.nextElementSibling; 27 if (next && next.classList && next.classList.contains("iva-text")) return; 28 29 const custom_text_elem = document.createElement("span"); 30 custom_text_elem.className = "iva-text"; 31 custom_text_elem.textContent = custom_text; 32 priceTag.insertAdjacentElement("afterend", custom_text_elem); 33 }); 34} 35document.addEventListener("zs-event-get-products-list-success", addingCustomText); 36document.addEventListener("quickview:opened", addingCustomText); 37document.addEventListener("DOMContentLoaded", () => setTimeout(addingCustomText, 2000)); 38</script>
38<script type="application/javascript"> 39 /* 40 ZINE - Producto (v2 - reordenado para conversión B2B) 41 42 Orden final del contenido en la ficha: 43 1. Modelo / Referencia + Marca (identificación rápida del producto) 44 2. BUY BOX: descuento + PVP + precio + IVA + cantidad + CTA carrito/presupuesto 45 3. Entrega aproximada 46 4. Beneficios (garantÃa / portes / servicio técnico) 47 5. CaracterÃsticas (acordeón nativo, reposicionado) 48 6. Formas de pago 49 7. Disclaimer de foto 50 8. Contacto (teléfono / email) 51 9. Bloque de consulta por WhatsApp 52 53 Técnica: construye los bloques nuevos como elementos sueltos y los va 54 insertando con insertAdjacentElement("afterend", ...) encadenados a un 55 cursor, en vez de hacer appendChild dentro del price-area como antes. 56 Los nodos NATIVOS (fila de cantidad+botones, acordeón) se reubican con 57 insertAdjacentElement/appendChild, lo que preserva sus listeners nativos 58 (no se clonan ni se recrean). 59 */ 60 61 function repositionOldPrice(priceContainer) { 62 if (!priceContainer) return; 63 if (priceContainer.querySelector(".zine-pvp-line")) return; 64 var oldPriceSpan = priceContainer.querySelector(".theme-product-old-price"); 65 if (!oldPriceSpan) return; 66 var priceSpan = priceContainer.querySelector("[data-zs-selling-price]"); 67 if (!priceSpan) return; 68 var pvpDiv = document.createElement("div"); 69 pvpDiv.className = "zine-pvp-line"; 70 pvpDiv.innerHTML = 71 "<span class='zine-pvp-label'>PVP:</span>" + 72 "<s class='zine-pvp-price'>" + oldPriceSpan.textContent.trim() + "</s>"; 73 priceSpan.parentNode.insertBefore(pvpDiv, priceSpan); 74 oldPriceSpan.style.display = "none"; 75 } 76 77 function addIVAPrice(main_container) { 78 if (!main_container) return; 79 if (main_container.querySelector(".zine-iva-price")) return; 80 var priceSpan = main_container.querySelector("[data-zs-selling-price]"); 81 if (!priceSpan) return; 82 var priceRaw = parseFloat(priceSpan.getAttribute("data-zs-selling-price")); 83 if (isNaN(priceRaw) || priceRaw <= 0) return; 84 var priceWithIVA = priceRaw * 1.21; 85 var formattedAmount = priceWithIVA.toLocaleString("es-ES", { 86 minimumFractionDigits: 2, 87 maximumFractionDigits: 2 88 }) + " â¬"; 89 var ivaElem = document.createElement("div"); 90 ivaElem.className = "zine-iva-price"; 91 ivaElem.innerHTML = 92 "<span class='zine-iva-content'>" + 93 "<span class='zine-iva-label'>Precio final (+21%):</span>" + 94 "<span class='zine-iva-amount'>" + formattedAmount + "</span>" + 95 "</span>"; 96 main_container.appendChild(ivaElem); 97 } 98 99 function buildModeloRefElement(title, content) { 100 var model_elem = document.createElement("div"); 101 model_elem.className = "zine-model-line"; 102 model_elem.innerHTML = 103 "<span class='zine-model-icon' aria-hidden='true'>" + 104 "<svg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'>" + 105 "<path d='M4 12L9 17L20 7' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/>" + 106 "</svg>" + 107 "</span>" + 108 "<b>" + title + " : </b>" + 109 "<span>" + content + "</span>"; 110 return model_elem; 111 } 112 113 function buildBrandElement(title, content) { 114 var brand_elem = document.createElement("div"); 115 brand_elem.className = "zine-brand-line"; 116 brand_elem.innerHTML = 117 "<span class='zine-brand-icon' aria-hidden='true'>" + 118 "<svg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'>" + 119 "<path d='M4 4H11.5L20 12.5L12.5 20L4 11.5V4Z' stroke='currentColor' stroke-width='1.8' stroke-linejoin='round'/>" + 120 "<circle cx='8.2' cy='8.2' r='1.2' fill='currentColor'/>" + 121 "</svg>" + 122 "</span>" + 123 "<b>" + title + " : </b>" + 124 "<span>" + content + "</span>"; 125 return brand_elem; 126 } 127 128 function buildDeliveryElement(title, content) { 129 var delivery_elem = document.createElement("div"); 130 delivery_elem.className = "zine-delivery-line"; 131 delivery_elem.innerHTML = 132 "<span class='zine-delivery-icon' aria-hidden='true'>" + 133 "<svg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'>" + 134 "<path d='M3 7H15V16H3V7Z' stroke='currentColor' stroke-width='1.8' stroke-linejoin='round'/>" + 135 "<path d='M15 10H19L21 13V16H15V10Z' stroke='currentColor' stroke-width='1.8' stroke-linejoin='round'/>" + 136 "<circle cx='7' cy='18' r='2' stroke='currentColor' stroke-width='1.8'/>" + 137 "<circle cx='17' cy='18' r='2' stroke='currentColor' stroke-width='1.8'/>" + 138 "<path d='M3 16H5' stroke='currentColor' stroke-width='1.8' stroke-linecap='round'/>" + 139 "<path d='M9 16H15' stroke='currentColor' stroke-width='1.8' stroke-linecap='round'/>" + 140 "</svg>" + 141 "</span>" + 142 "<b>" + title + " : </b>" + 143 "<span class='zine-delivery-value'>" + content + "</span>"; 144 return delivery_elem; 145 } 146 147 function buildPhotoDisclaimer() { 148 var disclaimer = document.createElement("p"); 149 disclaimer.className = "zine-photo-disclaimer"; 150 disclaimer.innerHTML = 151 "<svg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'>" + 152 "<circle cx='12' cy='12' r='9.5' stroke='currentColor' stroke-width='1.8'/>" + 153 "<path d='M12 8v4.5' stroke='currentColor' stroke-width='1.8' stroke-linecap='round'/>" + 154 "<circle cx='12' cy='16' r='0.9' fill='currentColor'/>" + 155 "</svg>" + 156 "<span>La foto puede diferenciarse levemente del original</span>"; 157 return disclaimer; 158 } 159 160 function getProductNameForWhatsapp() { 161 if (window.zs_product && window.zs_product.name) return window.zs_product.name; 162 var h1 = document.querySelector("h1"); 163 if (h1 && h1.textContent.trim()) return h1.textContent.trim(); 164 return document.title.replace(" - Zine HostelerÃa", "").trim(); 165 } 166 167 function buildContactLinks() { 168 var contactDiv = document.createElement("div"); 169 contactDiv.className = "zine-contact-links"; 170 contactDiv.innerHTML = 171 "<a class='zine-contact-link' href='tel:+34871043524'>" + 172 "<svg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'>" + 173 "<path d='M6.6 3H4a1 1 0 0 0-1 1c0 9.4 7.6 17 17 17a1 1 0 0 0 1-1v-2.6a1 1 0 0 0-.7-1l-4.4-1.3a1 1 0 0 0-1.1.5L14.5 17A11 11 0 0 1 7 9.5l1.4-1.3a1 1 0 0 0 .4-1.1L7.6 3.7A1 1 0 0 0 6.6 3Z' stroke='currentColor' stroke-width='1.8' stroke-linejoin='round'/>" + 174 "</svg>" + 175 "+34 871 043 524" + 176 "</a>" + 177 "<a class='zine-contact-link' href='mailto:[email protected]'>" + 178 "<svg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'>" + 179 "<rect x='3' y='5' width='18' height='14' rx='2' stroke='currentColor' stroke-width='1.8'/>" + 180 "<path d='M3 8l9 5 9-5' stroke='currentColor' stroke-width='1.8' stroke-linecap='round'/>" + 181 "</svg>" + 182 "[email protected]" + 183 "</a>"; 184 return contactDiv; 185 } 186 187 function buildWhatsappConsultationBlock() { 188 var productName = getProductNameForWhatsapp(); 189 var productUrl = window.location.href.split("#")[0]; 190 var whatsappMessage = 191 "Hola, vengo desde la WEB de Zine HostelerÃa.%0A%0A" + 192 "Origen: WEB - Ficha de producto.%0A" + 193 "Producto: " + encodeURIComponent(productName) + "%0A" + 194 "Enlace: " + encodeURIComponent(productUrl) + "%0A%0A" + 195 "Quisiera consultar disponibilidad, plazo de entrega y/o presupuesto."; 196 var whatsappUrl = "https://wa.me/34871043524?text=" + whatsappMessage; 197 var whatsappBlock = document.createElement("div"); 198 whatsappBlock.className = "zine-whatsapp-consultation"; 199 whatsappBlock.innerHTML = ` 200 <p class="zine-whatsapp-title">¿Necesitas confirmar stock, medidas o transporte?</p> 201 <p class="zine-whatsapp-text">EscrÃbenos por WhatsApp y un comercial te ayudará con la disponibilidad, el plazo de entrega o un presupuesto personalizado.</p> 202 <a class="zine-whatsapp-button" href="${whatsappUrl}" target="_blank" rel="noopener noreferrer"> 203 <svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"> 204 <path d="M16.04 4C9.42 4 4.04 9.28 4.04 15.78C4.04 17.86 4.6 19.86 5.66 21.62L4 28L10.56 26.3C12.24 27.22 14.12 27.7 16.04 27.7C22.66 27.7 28.04 22.42 28.04 15.92C28.04 9.42 22.66 4 16.
20404 4Z" fill="currentColor"/> 205 <path d="M22.92 19.48C22.62 20.32 21.2 21.06 20.5 21.16C19.86 21.26 19.04 21.3 18.14 21.02C17.6 20.84 16.9 20.62 16 20.24C12.24 18.66 9.78 14.98 9.58 14.74C9.4 14.5 8.04 12.72 8.04 10.88C8.04 9.04 9 8.14 9.34 7.76C9.68 7.38 10.08 7.28 10.34 7.28C10.58 7.28 10.84 7.28 11.06 7.3C11.3 7.32 11.6 7.2 11.9 7.94C12.2 8.68 12.92 10.52 13.02 10.72C13.12 10.92 13.18 11.16 13.06 11.4C12.94 11.64 12.88 11.78 12.7 12C12.52 12.2 12.32 12.46 12.16 12.62C11.98 12.8 11.8 13 12 13.38C12.2 13.76 12.9 14.86 13.94 15.78C15.28 16.96 16.4 17.32 16.78 17.52C17.16 17.72 17.38 17.68 17.6 17.42C17.82 17.16 18.54 16.34 18.8 15.98C19.06 15.62 19.3 15.68 19.64 15.8C19.98 15.92 21.82 16.82 22.2 17.02C22.58 17.22 22.84 17.32 22.94 17.48C23.04 17.66 23.04 18.64 22.92 19.48Z" fill="#25D366"/> 206 </svg> 207 Consultar por WhatsApp 208 </a> 209 `; 210 return whatsappBlock; 211 } 212 213 function buildProductBenefitsBlock() { 214 var benefits = document.createElement("div"); 215 benefits.className = "zine-product-benefits"; 216 benefits.innerHTML = ` 217 <div class="zine-product-benefit"> 218 <span class="zine-product-benefit-icon" aria-hidden="true"> 219 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 220 <path d="M12 3L19 6V11C19 15.6 16.2 19.4 12 21C7.8 19.4 5 15.6 5 11V6L12 3Z" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round"/> 221 <path d="M9.5 12L11.2 13.7L15 9.8" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/> 222 </svg> 223 </span> 224 <span class="zine-product-benefit-text">1 año de garantÃa</span> 225 </div> 226 <div class="zine-product-benefit"> 227 <span class="zine-product-benefit-icon" aria-hidden="true"> 228 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 229 <path d="M3 7H15V16H3V7Z" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round"/> 230 <path d="M15 10H19L21 13V16H15V10Z" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round"/> 231 <circle cx="7" cy="18" r="2" stroke="currentColor" stroke-width="1.8"/> 232 <circle cx="17" cy="18" r="2" stroke="currentColor" stroke-width="1.8"/> 233 </svg> 234 </span> 235 <span class="zine-product-benefit-text">Portes gratis desde 350â¬</span> 236 </div> 237 <div class="zine-product-benefit"> 238 <span class="zine-product-benefit-icon" aria-hidden="true"> 239 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 240 <path d="M14.8 4.5C16.2 4.1 17.8 4.5 18.8 5.5C20 6.7 20.3 8.4 19.7 9.9L17 7.2L15.2 9L17.9 11.7C16.4 12.3 14.7 12 13.5 10.8C12.5 9.8 12.1 8.2 12.5 6.8L5.4 13.9C4.5 14.8 4.5 16.2 5.4 17.1L6.9 18.6C7.8 19.5 9.2 19.5 10.1 18.6L17.2 11.5" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/> 241 <circle cx="7.6" cy="16.4" r="1.1" stroke="currentColor" stroke-width="1.6"/> 242 </svg> 243 </span> 244 <span class="zine-product-benefit-text">Servicio técnico post venta</span> 245 </div> 246 `; 247 return benefits; 248 } 249 250 function buildPaymentMethods() { 251 var paymentDiv = document.createElement("div"); 252 paymentDiv.className = "zine-payment-methods"; 253 254 /* Para añadir/quitar métodos en el futuro, edita este array: 255 { src: "URL_imagen", alt: "Nombre método" } */ 256 var methods = [ 257 { src: "https://www.zinehosteleria.com/Formas%20de%20pago/transferencia-svgrepo-com.svg", alt: "Transferencia bancaria" }, 258 { src: "https://www.zinehosteleria.com/Formas%20de%20pago/stripe-svgrepo-com.svg", alt: "Stripe" }, 259 { src: "https://www.zinehosteleria.com/Formas%20de%20pago/paypal-svgrepo-com.svg", alt: "PayPal" }, 260 { src: "https://www.zinehosteleria.com/Formas%20de%20pago/mastercard-full-svgrepo-com.svg", alt: "Mastercard" }, 261 { src: "https://www.zinehosteleria.com/Formas%20de%20pago/apple-pay-svgrepo-com.svg", alt: "Apple Pay" }, 262 { src: "https://www.zinehosteleria.com/Formas%20de%20pago/google-pay-svgrepo-com.svg", alt: "Google Pay" } 263 ]; 264 265 var iconsHtml = methods.map(function(m) { 266 return "<span class='zine-payment-icon'><img src='" + m.src + "' alt='" + m.alt + "' loading='lazy'></span>"; 267 }).join(""); 268 paymentDiv.innerHTML = 269 "<p class='zine-payment-title'>Formas de pago</p>" + 270 "<div class='zine-payment-icons'>
270" + iconsHtml + "</div>"; 271 return paymentDiv; 272 } 273 274 /* ââ Mensaje de Klarna (Payment Method Messaging Element de Stripe) ââ 275 Muestra "Paga en 3 plazos con Klarna" debajo del precio, con un 276 popup de "Más información" gestionado por Stripe/Klarna directamente. */ 277 function buildKlarnaMessagingBlock() { 278 var outer = document.createElement("div"); 279 outer.className = "zine-klarna-wrap"; 280 281 var wrap = document.createElement("div"); 282 wrap.className = "zine-klarna-messaging"; 283 wrap.id = "klarna-messaging-element"; 284 outer.appendChild(wrap); 285 286 var note = document.createElement("p"); 287 note.className = "zine-klarna-note"; 288 note.textContent = "Podrás elegir esta opción como método de pago al finalizar tu compra."; 289 outer.appendChild(note); 290 291 return outer; 292 } 293 294 function mountKlarnaMessaging(amountCents) { 295 var attempts = 0; 296 var maxAttempts = 25; // ~5 segundos de margen 297 298 function tryMount() { 299 if (window.Stripe) { 300 try { 301 var stripe = window.Stripe("pk_live_51PAqSqA0Vpnylgto7cm6emwRC4kvo0vumxkmpHfwPVztz7bRdWHHTucbBRH9L70pH41w6sxSuflUxHo3vZZRFV8i00Cxg7mvh1"); 302 var elements = stripe.elements(); 303 var messageElement = elements.create("paymentMethodMessaging", { 304 amount: amountCents, 305 currency: "EUR", 306 paymentMethodTypes: ["klarna"], 307 countryCode: "ES" 308 }); 309 messageElement.mount("#klarna-messaging-element"); 310 console.log("Zine Klarna: mensaje montado correctamente."); 311 } catch (e) { 312 console.error("Zine: error al montar el mensaje de Klarna:", e); 313 } 314 return; 315 } 316 317 attempts++; 318 if (attempts >= maxAttempts) { 319 console.warn("Zine Klarna: Stripe.js no llegó a cargar a tiempo (5s). Revisa si el script de js.stripe.com se está cargando en el header."); 320 return; 321 } 322 setTimeout(tryMount, 200); 323 } 324 325 tryMount(); 326 } 327 328 function normalizeText(text) { 329 return (text || "").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, ""); 330 } 331 332 function getCustomFieldContainerByLabel(labelName) { 333 var labels = document.querySelectorAll("[data-zs-customfield-label]"); 334 var searchText = normalizeText(labelName); 335 for (var i = 0; i < labels.length; i++) { 336 var labelText = normalizeText(labels[i].textContent); 337 if (labelText === searchText || labelText.indexOf(searchText) === 0) { 338 var container = labels[i].closest(".theme-custom-field-container"); 339 if (container) return container; 340 } 341 } 342 return null; 343 } 344 345 function getCustomFieldValueByLabel(labelName) { 346 var container = getCustomFieldContainerByLabel(labelName); 347 if (!container) return ""; 348 var valueElem = container.querySelector("[data-zs-customfield-display-value], .theme-custom-field-value"); 349 if (!valueElem) return ""; 350 return valueElem.textContent.trim(); 351 } 352 353 function hideCustomFieldByLabel(labelName) { 354 var container = getCustomFieldContainerByLabel(labelName); 355 if (container) container.style.display = "none"; 356 } 357 358 function getModeloRefValue() { 359 if (window.zs_product && window.zs_product.cf_modelo) { 360 return String(window.zs_product.cf_modelo).trim(); 361 } 362 return getCustomFieldValueByLabel("Modelo / Referencia"); 363 } 364 365 function buildProductLayout() { 366 if (!window.zs_product || window.zs_view !== "product") return; 367 368 var product_container = document.querySelector( 369 '[data-zs-product-id="' + window.zs_product.product_id + '"]' 370 ); 371 if (!product_container) return; 372 if (product_container.getAttribute("data-zine-layout-built")) return; 373 374 var price_container_array = product_container.querySelectorAll( 375 "[data-zs-pricings][data-zs-variant-id]" 376 ); 377 if (!price_container_array.length) return; 378 379 var priceContainer = price_container_array[0]; 380 381 if (!window.zs_product.has_variants) { 382 priceContainer.style.display = "block"; 383 } 384 385 /* 1. Ajustes nativos del precio: PVP arriba + caja de IVA debajo */ 386 repositionOldPrice(priceContainer); 387 addIVAPrice(priceContainer); 388 389 /* Contenedor padre donde viven price-area, badge de descuento, 390 fila de cantidad/CTA y el acordeón de caracterÃsticas */ 391 var priceWrapper = priceContainer.closest("[data-zs-pricing-container]") || priceContainer.parentElement; 392 var variantsContainer = priceWrapper.parentElement; 393 394 var brand = window.zs_product.brand || ""; 395 var deliveryValue = getCustomFieldValueByLabel("Entrega aproximada"); 396 var modeloRefValue = getModeloRefValue(); 397 398 /* 2. Modelo / Referencia + Marca + Entrega, ANTES de toda la zona de precio 399 (el primero insertado queda más arriba; cada insertBefore(X, priceWrapper) 400 coloca X justo encima de priceWrapper, empujando los anteriores hacia arriba) */ 401 if (modeloRefValue !== "") { 402 variantsContainer.insertBefore(buildModeloRefElement("Modelo / Referencia", modeloRefValue), priceWrapper); 403 } 404 if (brand !== "") {
405 variantsContainer.insertBefore(buildBrandElement("Marca", brand), priceWrapper); 406 } 407 if (deliveryValue !== "") { 408 variantsContainer.insertBefore(buildDeliveryElement("Entrega aproximada", deliveryValue), priceWrapper); 409 } 410 411 /* 3. Buy box: agrupa descuento + precio + IVA + cantidad/CTA */ 412 var buyBox = document.createElement("div"); 413 buyBox.className = "zine-buy-box"; 414 variantsContainer.insertBefore(buyBox, priceWrapper); 415 buyBox.appendChild(priceWrapper); 416 417 /* Mensaje de Klarna: justo después del precio, antes de cantidad/CTA */ 418 var klarnaBlock = buildKlarnaMessagingBlock(); 419 buyBox.appendChild(klarnaBlock); 420 var klarnaPriceEl = priceContainer.querySelector("[data-zs-selling-price]"); 421 var klarnaPriceRaw = klarnaPriceEl ? parseFloat(klarnaPriceEl.getAttribute("data-zs-selling-price")) : NaN; 422 if (!isNaN(klarnaPriceRaw) && klarnaPriceRaw > 0) { 423 mountKlarnaMessaging(Math.round(klarnaPriceRaw * 1.21 * 100)); 424 } 425 426 var cartRow = variantsContainer.querySelector("[data-nostock-cart-add]"); 427 if (cartRow) buyBox.appendChild(cartRow); 428 429 /* 4. Resto del contenido, en orden, justo después de la buy box */ 430 var cursor = buyBox; 431 function place(el) { 432 if (!el) return; 433 cursor.insertAdjacentElement("afterend", el); 434 cursor = el; 435 } 436 437 place(buildProductBenefitsBlock()); 438 place(buildWhatsappConsultationBlock()); 439 440 var accordion = variantsContainer.querySelector(".theme-custom-field-accordion"); 441 if (accordion) { 442 cursor.insertAdjacentElement("afterend", accordion); 443 cursor = accordion; 444 accordion.style.marginTop = "0"; 445 accordion.style.marginBottom = "26px"; 446 } 447 448 place(buildPaymentMethods()); 449 place(buildPhotoDisclaimer()); 450 place(buildContactLinks()); 451 452 hideCustomFieldByLabel("Entrega aproximada"); 453 454 455 product_container.setAttribute("data-zine-layout-built", "1"); 456 } 457 458 function getProductPrice(p) { 459 if (p.has_variants && p.variants && p.variants.length) { 460 return p.variants[0].selling_price; 461 } 462 return p.selling_price; 463} 464 465function getProductAvailability(p) { 466 var oos = p.is_out_of_stock; 467 if (p.has_variants && p.variants && p.variants.length) { 468 oos = p.variants[0].is_out_of_stock; 469 } 470 return oos ? "https://schema.org/OutOfStock" : "https://schema.org/InStock"; 471} 472 473function getProductImageUrl(p) { 474 if (!p.images || !p.images.length) return ""; 475 var url = p.images[0].url; 476 if (url.indexOf("http") !== 0) { 477 url = "https://www.zinehosteleria.com" + url; 478 } 479 return url; 480} 481 482function injectProductMicrodata() { 483 if (!window.zs_product || window.zs_view !== "product") return; 484 if (document.getElementById("zine-product-jsonld")) return; 485 486 var p = window.zs_product; 487 488 var jsonld = { 489 "@context": "https://schema.org/", 490 "@type": "Product", 491 "name": p.name || document.title, 492 "sku": p.product_id, 493 "brand": { "@type": "Brand", "name": p.brand || "" }, 494 "image": getProductImageUrl(p), 495 "description": p.short_description || p.description || "", 496 "offers": { 497 "@type": "Offer", 498 "priceCurrency": "EUR", 499 "price": getProductPrice(p), 500 "availability": getProductAvailability(p), 501 "url": window.location.href 502 } 503 }; 504 505 var script = document.createElement("script"); 506 script.type = "application/ld+json"; 507 script.id = "zine-product-jsonld"; 508 script.textContent = JSON.stringify(jsonld); 509 document.head.appendChild(script); 510} 511 512function productPageOnLoad() { 513 if (window.zs_view === "product") { 514 setTimeout(buildProductLayout, 600); 515 setTimeout(injectProductMicrodata, 600); 516 } 517} 518 519window.addEventListener("load", productPageOnLoad); 520</script>
520<script type="text/javascript" src='https://crm.zoho.eu/crm/javascript/zcga.js'> /* Rastreo de CRM */ </script>
520<script> 521(function () { 522 "use strict"; 523 524 function parsePrice(value) { 525 if (value === null || value === undefined) return NaN; 526 527 value = String(value).trim(); 528 value = value.replace(/[^\d,.-]/g, ""); 529 530 if (value.indexOf(",") > -1 && value.indexOf(".") > -1) { 531 if (value.lastIndexOf(",") > value.lastIndexOf(".")) { 532 value = value.replace(/\./g, "").replace(",", "."); 533 } else { 534 value = value.replace(/,/g, ""); 535 } 536 } else if (value.indexOf(",") > -1) { 537 value = value.replace(",", "."); 538 } 539 540 return parseFloat(value); 541 } 542 543 function formatEuros(value) { 544 if (isNaN(value)) return ""; 545 return value.toLocaleString("es-ES", { 546 minimumFractionDigits: 0, 547 maximumFractionDigits: 0 548 }) + "â¬"; 549 } 550 551 function getPriceFromElement(el, attrName) { 552 if (!el) return NaN; 553 554 var attrValue = el.getAttribute(attrName); 555 if (attrValue) { 556 var parsedAttr = parsePrice(attrValue); 557 if (!isNaN(parsedAttr)) return parsedAttr; 558 } 559 560 var textValue = el.textContent || el.innerText || ""; 561 return parsePrice(textValue); 562 } 563 564 function createImageBadge(percent) { 565 var badge = document.createElement("div"); 566 badge.className = "custom-discount-badge"; 567 badge.setAttribute("data-custom-discount-badge", "true"); 568 badge.textContent = "-" + percent + "%"; 569 return badge; 570 } 571 572 function createPriceDiscountText(percent, savings) { 573 var wrap = document.createElement("div"); 574 wrap.className = "custom-price-discount-text"; 575 wrap.setAttribute("data-custom-price-discount", "true"); 576 wrap.textContent = "-" + percent + "% (Ahorras " + formatEuros(savings) + ")"; 577 return wrap; 578 } 579 580 function processProductCard(productCard) { 581 if (!productCard) return; 582 583 /* Evita procesar la ficha de producto como si fuera una card */ 584 if ( 585 productCard.closest(".theme-product-detail-container") || 586 productCard.closest(".theme-product-details-style-06") || 587 productCard.closest(".theme-product-details-area") || 588 productCard.matches('[data-zs-view="product"]') 589 ) { 590 return; 591 } 592 593 var imageArea = productCard.querySelector(".theme-product-image-area"); 594 if (!imageArea) return; 595 596 var oldBadge = imageArea.querySelector("[data-custom-discount-badge]"); 597 if (oldBadge) oldBadge.remove(); 598 599 var oldPriceDiscount = productCard.querySelector("[data-custom-price-discount]"); 600 if (oldPriceDiscount) oldPriceDiscount.remove(); 601 602 var labelPriceEl = productCard.querySelector("[data-zs-label-price]"); 603 var sellingPriceEl = productCard.querySelector("[data-zs-selling-price]"); 604 605 if (!labelPriceEl || !sellingPriceEl) return; 606 607 var labelPrice = getPriceFromElement(labelPriceEl, "data-zs-label-price"); 608 var sellingPrice = getPriceFromElement(sellingPriceEl, "data-zs-selling-price"); 609 610 if (isNaN(labelPrice) || isNaN(sellingPrice)) return; 611 if (labelPrice <= 0 || sellingPrice <= 0) return; 612 if (sellingPrice >= labelPrice) return; 613 614 var savings = labelPrice - sellingPrice; 615 var discountPercent = Math.round((savings / labelPrice) * 100); 616 617 if (!discountPercent || discountPercent <= 0) return; 618 619 if (window.getComputedStyle(imageArea).position === "static") { 620 imageArea.style.position = "relative"; 621 } 622 623 var badge = createImageBadge(discountPercent); 624 imageArea.appendChild(badge); 625 626 var priceText = createPriceDiscountText(discountPercent, savings); 627 628 var sellingPriceParent = sellingPriceEl.parentElement; 629 if (sellingPriceParent && !sellingPriceParent.querySelector("[data-custom-price-discount]")) { 630 sellingPriceParent.insertAdjacentElement("beforebegin", priceText); 631 } 632 } 633 634 function processProductDetails() { 635 var detailsRoot = document.querySelector('[data-zs-view="product"], .theme-product-detail-container, .theme-product-details-style-06, .theme-product-details-area'); 636 if (!detailsRoot) return; 637 638 /* Limpia posibles descuentos heredados del procesamiento de cards */ 639 var duplicatedListDiscounts = detailsRoot.querySelectorAll("[data-custom-price-discount]:not([data-custom-price-discount-details])");
640 duplicatedListDiscounts.forEach(function (el) { 641 el.remove(); 642 }); 643 644 var duplicatedListBadges = detailsRoot.querySelectorAll(".custom-discount-badge:not([data-custom-discount-badge-details])"); 645 duplicatedListBadges.forEach(function (el) { 646 el.remove(); 647 }); 648 649 var oldDetailsBadge = detailsRoot.querySelector("[data-custom-discount-badge-details]"); 650 if (oldDetailsBadge) oldDetailsBadge.remove(); 651 652 var oldDetailsPriceDiscount = detailsRoot.querySelector("[data-custom-price-discount-details]"); 653 if (oldDetailsPriceDiscount) oldDetailsPriceDiscount.remove(); 654 655 var labelPriceEl = detailsRoot.querySelector("[data-zs-label-price]"); 656 var sellingPriceEl = detailsRoot.querySelector("[data-zs-selling-price]"); 657 var imageArea = detailsRoot.querySelector(".theme-product-image-area, .theme-product-detail-left-panel, .theme-product-detail-image-container, .theme-product-image-main-container"); 658 var priceArea = sellingPriceEl ? sellingPriceEl.parentElement : null; 659 660 if (!labelPriceEl || !sellingPriceEl) return; 661 662 var labelPrice = getPriceFromElement(labelPriceEl, "data-zs-label-price"); 663 var sellingPrice = getPriceFromElement(sellingPriceEl, "data-zs-selling-price"); 664 665 if (isNaN(labelPrice) || isNaN(sellingPrice)) return; 666 if (labelPrice <= 0 || sellingPrice <= 0) return; 667 if (sellingPrice >= labelPrice) return; 668 669 var savings = labelPrice - sellingPrice; 670 var discountPercent = Math.round((savings / labelPrice) * 100); 671 672 if (!discountPercent || discountPercent <= 0) return; 673 674 if (imageArea) { 675 if (window.getComputedStyle(imageArea).position === "static") { 676 imageArea.style.position = "relative"; 677 } 678 679 var detailsBadge = createImageBadge(discountPercent); 680 detailsBadge.setAttribute("data-custom-discount-badge-details", "true"); 681 detailsBadge.classList.add("custom-discount-badge-details"); 682 imageArea.appendChild(detailsBadge); 683 } 684 685 if (priceArea) { 686 var priceText = createPriceDiscountText(discountPercent, savings); 687 priceText.setAttribute("data-custom-price-discount-details", "true"); 688 priceText.classList.add("custom-price-discount-text-details"); 689 priceArea.insertAdjacentElement("beforebegin", priceText); 690 } 691 } 692 693 function processAllProducts() { 694 var productCards = document.querySelectorAll("[data-zs-product-id]"); 695 for (var i = 0; i < productCards.length; i++) { 696 processProductCard(productCards[i]); 697 } 698 699 processProductDetails(); 700 } 701 702 function runWithDelay() { 703 setTimeout(processAllProducts, 300); 704 } 705 706 var observer; 707 function initObserver() { 708 if (observer) observer.disconnect(); 709 710 observer = new MutationObserver(function (mutations) { 711 var shouldRun = false; 712 713 for (var i = 0; i < mutations.length; i++) { 714 if (mutations[i].addedNodes && mutations[i].addedNodes.length > 0) { 715 shouldRun = true; 716 break; 717 } 718 } 719 720 if (shouldRun) runWithDelay(); 721 }); 722 723 observer.observe(document.body, { 724 childList: true, 725 subtree: true 726 }); 727 } 728 729 window.addEventListener("load", function () { 730 runWithDelay(); 731 initObserver(); 732 }); 733 734 document.addEventListener("DOMContentLoaded", runWithDelay, false); 735 document.addEventListener("zs-event-get-products-list-success", runWithDelay, false); 736 document.addEventListener("zp-event-search-success", runWithDelay, false); 737 document.addEventListener("quickview:opened", runWithDelay, false); 738 document.addEventListener("quickview:closed", runWithDelay, false); 739 document.addEventListener("pricelist:afterLoad", runWithDelay, false); 740})(); 741</script>
741<script> 742 /* Abre el acordeón en el producto */ 743document.addEventListener("DOMContentLoaded", function () { 744 const accordion = document.querySelector("details.theme-custom-field-accordion"); 745 if (accordion) { 746 accordion.setAttribute("open", "open"); 747 } 748}); 749</script>
749<script> 750(function () { 751 "use strict"; 752 753 var CACHE_PREFIX = "zineQI_"; 754 var CACHE_TTL_MS = 30 * 60 * 1000; // 30 minutos 755 756 function normalizeText(text) { 757 return (text || "").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, ""); 758 } 759 760 /* Busca un campo personalizado por etiqueta dentro de un documento 761 (puede ser el document real o uno parseado con DOMParser). 762 matchMode "prefix" tolera variantes como "Ancho (cm)" / "Ancho (mm)" */ 763 function getCustomFieldFrom(rootDoc, labelName, matchMode) { 764 var labels = rootDoc.querySelectorAll("[data-zs-customfield-label]"); 765 var searchText = normalizeText(labelName); 766 for (var i = 0; i < labels.length; i++) { 767 var labelText = normalizeText(labels[i].textContent); 768 var matches = matchMode === "prefix" 769 ? labelText.indexOf(searchText) === 0 770 : labelText === searchText; 771 if (matches) { 772 var container = labels[i].closest(".theme-custom-field-container"); 773 if (!container) continue; 774 var valueElem = container.querySelector("[data-zs-customfield-display-value], .theme-custom-field-value"); 775 if (valueElem) { 776 return { label: labels[i].textContent.trim(), value: valueElem.textContent.trim() }; 777 } 778 } 779 } 780 return null; 781 } 782 783 function extractUnitFromLabel(label) { 784 var match = /\(([^)]+)\)/.exec(label || ""); 785 return match ? match[1].trim() : ""; 786 } 787 788 function formatDimension(value) { 789 var num = parseFloat(String(value).replace(",", ".")); 790 if (isNaN(num)) return value; 791 return num % 1 === 0 ? String(num) : num.toLocaleString("es-ES"); 792 } 793 794 /* Best effort: extrae la marca del JSON embebido en window.zs_product 795 a partir del HTML crudo de la ficha de producto */ 796 function extractBrandFromHtml(rawHtml) { 797 var match = /"brand"\s*:\s*"((?:[^"\\]|\\.)*)"/.exec(rawHtml); 798 if (!match) return ""; 799 return match[1].replace(/\\"/g, '"').replace(/\\\\/g, "\\").trim(); 800 } 801 802 function getCachedData(url) { 803 try { 804 var raw = localStorage.getItem(CACHE_PREFIX + url); 805 if (!raw) return null; 806 var parsed = JSON.parse(raw); 807 if (!parsed || (Date.now() - parsed.ts) > CACHE_TTL_MS) return null; 808 return parsed; 809 } catch (e) { 810 return null; 811 } 812 } 813 814 function setCachedData(url, data) { 815 try { 816 data.ts = Date.now(); 817 localStorage.setItem(CACHE_PREFIX + url, JSON.stringify(data)); 818 } catch (e) { 819 /* localStorage lleno o bloqueado: simplemente no se cachea */ 820 } 821 } 822 823 function fetchProductInfo(url, callback) { 824 var cached = getCachedData(url); 825 if (cached) { callback(cached); return; } 826 827 fetch(url) 828 .then(function (resp) { 829 if (!resp.ok) throw new Error("HTTP " + resp.status); 830 return resp.text(); 831 }) 832 .then(function (html) { 833 var parsedDoc = new DOMParser().parseFromString(html, "text/html"); 834 835 var anchoField = getCustomFieldFrom(parsedDoc, "ancho", "prefix"); 836 var fondoField = getCustomFieldFrom(parsedDoc, "fondo", "prefix"); 837 var altoField = getCustomFieldFrom(parsedDoc, "alto", "prefix"); 838 var entregaField = getCustomFieldFrom(parsedDoc, "entrega aproximada", "prefix"); 839 840 var data = { 841 brand: extractBrandFromHtml(html), 842 ancho: anchoField ? formatDimension(anchoField.value) : "", 843 fondo: fondoField ? formatDimension(fondoField.value) : "", 844 alto: altoField ? formatDimension(altoField.value) : "", 845 unidad: anchoField ? extractUnitFromLabel(anchoField.label) : "", 846 entrega: entregaField ? entregaField.value : "" 847 }; 848 849 setCachedData(url, data); 850 callback(data); 851 }) 852 .catch(function () { callback(null); }); 853 } 854 855 function formatPrecioFinal(card) { 856 var priceEl = card.querySelector("[data-zs-selling-price]"); 857 if (!priceEl) return ""; 858 var num = parseFloat(priceEl.getAttribute("data-zs-selling-price")); 859 if (isNaN(num) || num <= 0) return ""; 860 return (num * 1.21).toLocaleString("es-ES", { 861 minimumFractionDigits: 2, 862 maximumFractionDigits: 2 863 }) + " â¬"; 864 } 865 866 function buildPanelRows(precioFinal) { 867 return ( 868 '<div class="zine-qi-inner">' + 869 '<div class="zine-qi-row" data-zine-qi-row="marca"><span class="zine-qi-label">Marca</span><span class="zine-qi-value zine-qi-loading">Cargandoâ¦</span></div>' + 870 '<div class="zine-qi-row" data-zine-qi-row="medidas"><span class="zine-qi-label">Medidas</span><span class="zine-qi-value zine-qi-loading">Cargandoâ¦</span></div>' + 871 '<div class="zine-qi-row" data-zine-qi-row="disponibilidad"><span class="zine-qi-label">Disponibilidad</span><span class="zine-qi-value zine-qi-loading">Cargandoâ¦</span></div>' + 872 '<div class="zine-qi-row" data-zine-qi-row="precio"><span class="zine-qi-label">Precio final (+21%)</span><span class="zine-qi-value">' + (precioFinal || "Consultar") + '</span></div>' + 873 '</div>' 874 ); 875 } 876 877 function setRowVisibility(panel, rowName, value) { 878 var row = panel.querySelector('[data-zine-qi-row="' + rowName + '"]'); 879 if (!row) return; 880 if (!value) { 881 row.style.display = "none"; 882 return; 883 } 884 row.style.display = ""; 885 var valueEl = row.querySelector(".zine-qi-value"); 886 if (valueEl) { 887 valueEl.textContent = value; 888 valueEl.classList.remove("zine-qi-loading"); 889 } 890 } 891 892 function applyFetchedData(panel, data) { 893 if (!data) { 894 setRowVisibility(panel, "marca", ""); 895 setRowVisibility(panel, "medidas", ""); 896 setRowVisibility(panel, "disponibilidad", ""); 897 return; 898 } 899 setRowVisibility(panel, "marca", data.brand); 900 var medidas = ""; 901 if (data.ancho && data.fondo && data.alto) { 902 medidas = data.ancho + " x " + data.fondo + " x " + data.alto + (data.unidad ? " " + data.unidad : ""); 903 } 904 setRowVisibility(panel, "medidas", medidas); 905 setRowVisibility(panel, "disponibilidad", data.entrega); 906 } 907 908 /* Reposiciona el PVP tachado a su propia lÃnea, debajo del badge de 909 descuento (si existe) y arriba del precio de venta */ 910 function repositionCardOldPrice(card) { 911 var priceEl = card.querySelector("[data-zs-selling-price]"); 912 if (!priceEl) return; 913 914 var priceArea = priceEl.closest(".theme-product-detail-price-area") || priceEl.closest("[data-zs-pricings]"); 915 if (!priceArea) return; 916 var pricingContainer = priceArea.parentElement; 917 if (!pricingContainer) return; 918 if (pricingContainer.querySelector(".zine-card-pvp-line")) return; 919 920 var oldPriceSpan = priceArea.querySelector(".theme-product-old-price"); 921 if (!oldPriceSpan) return; 922 923 var pvpDiv = document.createElement("div"); 924 pvpDiv.className = "zine-card-pvp-line"; 925 pvpDiv.innerHTML = 926 "<span class='zine-card-pvp-label'>PVP:</span>" + 927 "<s class='zine-card-pvp-price'>" + oldPriceSpan.textContent.trim() + "</s>"; 928 929 /* Si ya existe el badge "-XX% (Ahorras...)" se coloca justo después 930 de ese badge; si no existe (producto sin descuento), justo antes 931 del precio */ 932 var discountPill = pricingContainer.querySelector(".custom-price-discount-text"); 933 if (discountPill && discountPill.parentNode === pricingContainer) { 934 discountPill.insertAdjacentElement("afterend", pvpDiv); 935 } else { 936 pricingContainer.insertBefore(pvpDiv, priceArea); 937 } 938 oldPriceSpan.style.display = "none"; 939 } 940 941 function getProductUrl(card) { 942 var links = card.querySelectorAll("a[href]"); 943 for (var i = 0; i < links.length; i++) { 944 if (links[i].href.indexOf("/products/") > -1) return links[i].href; 945 } 946 return links.length ? links[0].href : null; 947 } 948 949 function addQuickInfoButton(card) { 950 if (card.getAttribute("data-zine-qi-init")) return; 951 952 var excluded = card.closest(".theme-product-detail-container") || 953 card.closest(".theme-product-details-style-06") || 954 card.closest(".theme-product-details-area") || 955 card.matches('[data-zs-view="product"]'); 956 if (excluded) return; 957 958 var priceEl = card.querySelector("[data-zs-selling-price]"); 959 if (!priceEl) return; 960 961 card.setAttribute("data-zine-qi-init", "1"); 962 963 repositionCardOldPrice(card); 964 965 var precioFinal = formatPrecioFinal(card); 966 967 var btn = document.createElement("button"); 968 btn.type = "button"; 969 btn.className = "zine-qi-btn"; 970 btn.innerHTML = 971 '<span class="zine-qi-btn-label"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="1.8"/><path d="M12 11v5" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/><circle cx="12" cy="8" r="0.9" fill="currentColor"/></svg>Info rápida</span>' + 972 '<span class="zine-qi-chev"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></span>'; 973 974 var panel = document.createElement("div"); 975 panel.className = "zine-qi-panel"; 976 panel.innerHTML = buildPanelRows(precioFinal); 977 978 var fetched = false;
979 980 btn.addEventListener("click", function (e) { 981 e.preventDefault(); 982 e.stopPropagation(); 983 var isOpen = btn.classList.contains("zine-qi-open"); 984 if (isOpen) { 985 btn.classList.remove("zine-qi-open"); 986 panel.classList.remove("zine-qi-open"); 987 return; 988 } 989 /* Cierra cualquier otro panel abierto antes de abrir este */ 990 var openButtons = document.querySelectorAll(".zine-qi-btn.zine-qi-open"); 991 for (var j = 0; j < openButtons.length; j++) { 992 var openBtn = openButtons[j]; 993 var openPanel = openBtn.nextElementSibling; 994 openBtn.classList.remove("zine-qi-open"); 995 if (openPanel && openPanel.classList.contains("zine-qi-panel")) { 996 openPanel.classList.remove("zine-qi-open"); 997 } 998 } 999 1000 btn.classList.add("zine-qi-open"); 1001 panel.classList.add("zine-qi-open"); 1002 if (!fetched) { 1003 fetched = true; 1004 var productUrl = getProductUrl(card); 1005 if (productUrl) { 1006 fetchProductInfo(productUrl, function (data) { applyFetchedData(panel, data); }); 1007 } else { 1008 applyFetchedData(panel, null); 1009 } 1010 } 1011 }); 1012 1013 /* Agrupa botón + panel en un único contenedor para que el padre 1014 (.theme-product-details-area) solo aplique su "gap" una vez, 1015 en vez de una vez por cada uno (lo que generaba aire de más) */ 1016 var wrapper = document.createElement("div"); 1017 wrapper.className = "zine-qi-wrapper"; 1018 wrapper.appendChild(btn); 1019 wrapper.appendChild(panel); 1020 1021 /* Inserta el wrapper como hijo directo de .theme-product-details-area, 1022 justo después del bloque que contiene el precio, para heredar el 1023 mismo ancho que "VER DETALLES" en vez de un contenedor más estrecho */ 1024 var detailsArea = card.querySelector(".theme-product-details-area") || card; 1025 var refNode = priceEl; 1026 while (refNode.parentNode && refNode.parentNode !== detailsArea) { 1027 refNode = refNode.parentNode; 1028 } 1029 if (refNode.parentNode === detailsArea) { 1030 detailsArea.insertBefore(wrapper, refNode.nextSibling); 1031 } else { 1032 detailsArea.appendChild(wrapper); 1033 } 1034 } 1035 1036 function processAllCards() { 1037 var cards = document.querySelectorAll("[data-zs-product-id]"); 1038 for (var i = 0; i < cards.length; i++) addQuickInfoButton(cards[i]); 1039 } 1040 1041 function runWithDelay() { setTimeout(processAllCards, 600); } 1042 1043 var qiObserver; 1044 function initQiObserver() { 1045 if (qiObserver) qiObserver.disconnect(); 1046 qiObserver = new MutationObserver(function (mutations) { 1047 var shouldRun = false; 1048 for (var i = 0; i < mutations.length; i++) { 1049 if (mutations[i].addedNodes && mutations[i].addedNodes.length > 0) { shouldRun = true; break; } 1050 } 1051 if (shouldRun) runWithDelay(); 1052 }); 1053 qiObserver.observe(document.body, { childList: true, subtree: true }); 1054 } 1055 1056 window.addEventListener("load", function () { 1057 runWithDelay(); 1058 initQiObserver(); 1059 }); 1060 1061 document.addEventListener("DOMContentLoaded", runWithDelay, false); 1062 document.addEventListener("zs-event-get-products-list-success", runWithDelay, false); 1063 document.addEventListener("zp-event-search-success", runWithDelay, false); 1064 document.addEventListener("quickview:opened", runWithDelay, false); 1065 document.addEventListener("pricelist:afterLoad", runWithDelay, false); 1066})(); 1067</script>
1067<script> 1068(function () { 1069 "use strict"; 1070 1071 var FREE_SHIPPING_THRESHOLD = 350; 1072 1073 function formatEuros(value) { 1074 return value.toLocaleString("es-ES", { 1075 minimumFractionDigits: 2, 1076 maximumFractionDigits: 2 1077 }) + " â¬"; 1078 } 1079 1080 /* El texto del botón ("Checkout" â "Finalizar pedido") se gestiona 1081 desde la configuración de la plantilla, no por script. */ 1082 1083 /* Reestructura cada bloque .item-price: quita el texto suelto 1084 "Precio: ", pone el PVP tachado arriba, el precio de venta 1085 debajo y el badge de descuento aparte */ 1086 function restructureItemPrice(priceBlock) { 1087 if (!priceBlock || priceBlock.getAttribute("data-zine-restructured")) return; 1088 1089 var sellingSpan = priceBlock.querySelector(".theme-cart-selling-price"); 1090 if (!sellingSpan) return; 1091 var labelSpan = priceBlock.querySelector(".theme-cart-label-price"); 1092 1093 var discountSpan = null; 1094 var allSpans = priceBlock.querySelectorAll("span"); 1095 for (var i = 0; i < allSpans.length; i++) { 1096 if (allSpans[i] !== sellingSpan && allSpans[i] !== labelSpan) { 1097 discountSpan = allSpans[i]; 1098 break; 1099 } 1100 } 1101 1102 /* Limpia nodos de texto sueltos como "Precio: " */ 1103 Array.prototype.forEach.call(priceBlock.childNodes, function (node) { 1104 if (node.nodeType === 3) node.textContent = ""; 1105 }); 1106 1107 var wrapper = document.createElement("div"); 1108 wrapper.className = "zine-cart-price-block"; 1109 1110 if (labelSpan) { 1111 var pvpLine = document.createElement("div"); 1112 pvpLine.className = "zine-cart-pvp-line"; 1113 pvpLine.innerHTML = "PVP: <s>" + labelSpan.textContent.trim() + "</s>"; 1114 wrapper.appendChild(pvpLine); 1115 labelSpan.style.display = "none"; 1116 } 1117 1118 if (discountSpan) { 1119 var pctMatch = /([\d.,]+)\s*%/.exec(discountSpan.textContent); 1120 if (pctMatch) { 1121 var pctRounded = Math.round(parseFloat(pctMatch[1].replace(",", "."))); 1122 discountSpan.textContent = "-" + pctRounded + "%"; 1123 } 1124 discountSpan.classList.add("zine-cart-discount-pill"); 1125 wrapper.appendChild(discountSpan); 1126 } 1127 1128 wrapper.appendChild(sellingSpan); 1129 1130 priceBlock.appendChild(wrapper); 1131 priceBlock.setAttribute("data-zine-restructured", "1"); 1132 } 1133 1134 /* Estimado con IVA, justo después de "Has guardado" (o del 1135 subtotal si no hay ahorro). Se actualiza en cada pasada. */ 1136 function addIvaEstimate(subtotalRaw) { 1137 var summaryDetails = document.querySelector(".theme-cart-summary-details"); 1138 if (!summaryDetails) return; 1139 1140 var ivaLine = summaryDetails.querySelector(".zine-cart-iva-line"); 1141 if (!ivaLine) { 1142 ivaLine = document.createElement("div"); 1143 ivaLine.className = "zine-cart-iva-line"; 1144 var savedP = summaryDetails.querySelector("[data-zs-cart-savedamount-container]"); 1145 var subtotalP = summaryDetails.querySelector(".theme-cart-details-summary-list-item.theme-scart-details-summary-main"); 1146 var anchor = savedP || subtotalP; 1147 if (anchor) { 1148 anchor.insertAdjacentElement("afterend", ivaLine); 1149 } else { 1150 summaryDetails.appendChild(ivaLine); 1151 } 1152 } 1153 ivaLine.innerHTML = 1154 "<span>Estimado con IVA (+21%)</span><b>" + formatEuros(subtotalRaw * 1.21) + "</b>"; 1155 } 1156 1157 /* Barra "te faltan X⬠para portes gratis", arriba del resumen. 1158 Se actualiza en cada pasada según el subtotal actual. */ 1159 function addShippingProgressBar(subtotalRaw) { 1160 var summaryDetails = document.querySelector(".theme-cart-summary-details"); 1161 if (!summaryDetails) return; 1162 1163 var bar = summaryDetails.querySelector(".zine-cart-shipping-bar"); 1164 if (!bar) { 1165 bar = document.createElement("div"); 1166 bar.className = "zine-cart-shipping-bar"; 1167 summaryDetails.insertBefore(bar, summaryDetails.firstChild); 1168 } 1169 1170 if (subtotalRaw >= FREE_SHIPPING_THRESHOLD) { 1171 bar.innerHTML = 1172 "<p class='zine-cart-shipping-text zine-cart-shipping-success'>✓ Tu pedido tiene portes gratis</p>" + 1173 "<div class='zine-cart-shipping-track'><div class='zine-cart-shipping-fill' style='width:100%'></div></div>"; 1174 } else { 1175 var remaining = FREE_SHIPPING_THRESHOLD - subtotalRaw; 1176 var percent = Math.max(4, Math.min(100, Math.round((subtotalRaw / FREE_SHIPPING_THRESHOLD) * 100))); 1177 bar.innerHTML = 1178 "<p class='zine-cart-shipping-text'>
1178Añade <b>" + formatEuros(remaining) + "</b> más y consigue portes gratis</p>" + 1179 "<div class='zine-cart-shipping-track'><div class='zine-cart-shipping-fill' style='width:" + percent + "%'></div></div>"; 1180 } 1181 } 1182 1183 /* Icono de "Pago 100% seguro" justo antes del botón Checkout */ 1184 function addTrustIcons() { 1185 var buttonArea = document.querySelector(".theme-checkout-button-area"); 1186 if (!buttonArea) return; 1187 if (buttonArea.querySelector(".zine-cart-trust-icons")) return; 1188 1189 var trust = document.createElement("div"); 1190 trust.className = "zine-cart-trust-icons"; 1191 trust.innerHTML = 1192 "<svg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'>" + 1193 "<rect x='5' y='10' width='14' height='10' rx='2' stroke='currentColor' stroke-width='1.8'/>" + 1194 "<path d='M8 10V7a4 4 0 0 1 8 0v3' stroke='currentColor' stroke-width='1.8'/>" + 1195 "</svg>" + 1196 "<span>Pago 100% seguro</span>"; 1197 1198 buttonArea.insertBefore(trust, buttonArea.firstChild); 1199 } 1200 1201 function processCartPage() { 1202 if (!document.querySelector(".theme-cart-summary-container")) return; 1203 1204 addTrustIcons(); 1205 1206 var subtotalSpan = document.querySelector("[data-zs-cart-subtotal]"); 1207 var subtotalRaw = subtotalSpan ? parseFloat(subtotalSpan.getAttribute("data-zs-cart-subtotal")) : NaN; 1208 if (!isNaN(subtotalRaw)) { 1209 addShippingProgressBar(subtotalRaw); 1210 addIvaEstimate(subtotalRaw); 1211 } 1212 1213 var priceBlocks = document.querySelectorAll(".item-price"); 1214 for (var i = 0; i < priceBlocks.length; i++) { 1215 restructureItemPrice(priceBlocks[i]); 1216 } 1217 } 1218 1219 function runWithDelay() { setTimeout(processCartPage, 500); } 1220 1221 /* Reprocesa tras cambios de cantidad / eliminar artÃculo, 1222 dando tiempo a que termine la actualización nativa de Zoho */ 1223 document.addEventListener("click", function (e) { 1224 var target = e.target.closest ? e.target.closest(".theme-cart-qty, .theme-cart-item-remove") : null; 1225 if (target) setTimeout(processCartPage, 700); 1226 }, false); 1227 1228 var cartObserver; 1229 function initCartObserver() { 1230 if (cartObserver) cartObserver.disconnect(); 1231 cartObserver = new MutationObserver(function (mutations) { 1232 var shouldRun = false; 1233 for (var i = 0; i < mutations.length; i++) { 1234 if (mutations[i].addedNodes && mutations[i].addedNodes.length > 0) { shouldRun = true; break; } 1235 } 1236 if (shouldRun) runWithDelay(); 1237 }); 1238 cartObserver.observe(document.body, { childList: true, subtree: true }); 1239 } 1240 1241 window.addEventListener("load", function () { 1242 runWithDelay(); 1243 initCartObserver(); 1244 }); 1245 document.addEventListener("DOMContentLoaded", runWithDelay, false); 1246})(); 1247</script>
1247<!-- Facebook Pixel Code -->
1247<script>
vendor: 414 bytes, lines 1247-1255
1247!function(f,b,e,v,n,t,s) 1248 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 1249 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 1250 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 1251 n.queue=[];t=b.createElement(e);t.async=!0; 1252 t.src=v;s=b.getElementsByTagName(e)[0]; 1253 s.parentNode.insertBefore(t,s)}(window, document,'script', 1254 'https://connect.facebook.net/en_US/fbevents.js'); 1255 fbq('init', '
12551280749312672333
vendor: 31 bytes, lines 1255-1256
1255'); 1256 fbq('track', 'PageView');
1256</script>
1256<noscript><img height="1" width="1" style="display:none;" src="https://www.facebook.com/tr?id=1280749312672333&ev=PageView&noscript=1"/></noscript><!-- End Facebook Pixel Code --><!-- On load Functions -->
1256<script> 1257 1258 1259 function isVisible(el) { 1260 const style = getComputedStyle(el); 1261 return ( 1262 style.display !== 'none' && 1263 style.visibility !== 'hidden' && 1264 el.offsetParent !== null 1265 ); 1266 } 1267 1268 function skipToMain() { 1269 let mainContent = document.getElementById('main-content'); 1270 if (mainContent) { 1271 mainContent.scrollIntoView(); 1272 const focusableElements = mainContent.querySelectorAll('a, button, input, textarea, select, [tabindex]:not([tabindex="-1"])'); 1273 const focusableElement = Array.from(focusableElements).find(isVisible); 1274 if (focusableElement) { 1275 focusableElement.focus(); 1276 } 1277 } 1278 } 1279 1280 function onListImageLoaded(elem){ 1281 let productCard = elem.closest('[data-zs-product-id]'); // No i18n 1282 let imageLoader = productCard ? productCard.querySelector('[data-theme-product-image-skeleton-loader]') : null; 1283 if(imageLoader){ 1284 imageLoader.style.opacity = 0; 1285 startFadeInAnimation(elem); 1286 } 1287 } 1288 function startFadeInAnimation(imgElement) { 1289 imgElement.classList.add('theme-shimmer-animation'); 1290 } 1291 1292function handleFallBackForImage(elem) { 1293 elem.onerror = null; 1294 1295 const fallbackSrc = elem.getAttribute('data-fallback'); 1296 const fallBackResolution = elem.getAttribute('data-fallback-resolution'); 1297 const pictureElem = elem.closest('picture'); 1298 1299 const originalImgSrc = elem.src; 1300 1301 elem.src = fallbackSrc; 1302 if(fallBackResolution){ 1303 elem.setAttribute('data-image-resolution', fallBackResolution); 1304 } 1305 // If srcset available change the url to fallback 1306 if (pictureElem) { 1307 const sources = pictureElem.querySelectorAll('source'); 1308 sources.forEach(source => { 1309 const srcset = source.getAttribute('srcset'); 1310 if (!srcset) return; 1311 1312 const newSrcSet = srcset 1313 .split(',') 1314 .map(item => { 1315 const [path, size] = item.trim().split(' '); 1316 return `${fallbackSrc} ${size}`; 1317 }) 1318 .join(', '); 1319 1320 source.setAttribute('srcset', newSrcSet); 1321 }); 1322 } 1323}
1324function validateBackgroundImage(elem) { 1325 const basePath = elem.getAttribute('data-bg'); 1326 const fallback = elem.getAttribute('data-bg-fallback'); 1327 if (!basePath) return; 1328 1329 // Creating a new image with the same url to check if it is a valid url 1330 const img = new Image(); 1331 img.src = basePath; 1332 img.onload = () => { 1333 // image is valid, do nothing 1334 }; 1335 img.onerror = () => { 1336 // image is not valid, change the background url to fallback 1337 elem.style.backgroundImage = `url('${fallback}')`; 1338 }; 1339 1340} 1341document.addEventListener('DOMContentLoaded', () => { 1342 document.querySelectorAll('[data-fallback-init]').forEach(elem => { 1343 validateBackgroundImage(elem); 1344 }); 1345}); 1346</script>
1346</head><body data-zs-home="true" data-zs-subsite="" data-zs-display-mode="default"><button onclick="skipToMain()" type="button" class="main-content-nav-btn zpbutton-type-primary zpbutton-style-roundcorner">Saltar al contenido principal</button><div class="theme-header " data-portal-header><button 1347 type="button" class="theme-responsive-goback theme-mobile-header-goback" data-zs-mobile-header-responsive-goback aria-label="Go back" onclick="history.go(-1);"><svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path 1348 fill="#3E4152" fill-rule="evenodd" d="M20.25 11.25H5.555l6.977-6.976a.748.748 0 000-1.056.749.749 0 00-1.056 0L3.262 11.43A.745.745 0 003 12a.745.745 0 00.262.57l8.214 8.212a.75.75 0 001.056 0 .748.748 0 000-1.056L5.555 12.75H20.25a.75.75 0 000-1.5"></path></svg></button><div data-zs-branding class="theme-branding-info " data-theme-branding-info="zptheme-branding-info"><div data-zs-logo-container class="theme-logo-parent "><a href="/"><img data-zs-logo src="/ZINE_icono.png" alt="ZINE HOSTELERÃA" style="height:50px;width:50px;"/></a></div> 1349</div></div><div data-zs-mobile-content-wrap class="theme-mobile-content-wrap "><div class="theme-portal-form-container" id="main-content" role="main"><iframe src="https://www.zinehosteleria.com/accounts/p/30004625979/signin?service_language=es&orgtype=13&servicename=ZohoBooks&css_url=/template/3a2fea83678c452c89866391b23c9403/stylesheets/portal-signin.css&serviceurl=https%3A%2F%2Fwww.zinehosteleria.com%2Fsso_redirect%3Fto_url%3DL3BvcnRhbC9jcmVhdGVwb3J0YWxjdXN0b21lcj91cmk9L2FjY291bnQvcHJvZmlsZQ" class="signin-iframe" frameborder="0"></iframe><div class="theme-noaccount-signup"><span>¿Aún no tiene una cuenta? <a href="/signup">Registro</a></span><span><a href="/forgotpassword">Olvidé la contraseña</a></span></div> 1350</div><div class="theme-footer-area zpdark-section zpdark-section-bg theme-pages-full-stretch "><div data-footer-type='site_footer'><div class="zpcontent-container footer-container "><div data-element-id="elm_KzIF_AENAj8rFqh3E1fc7A" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg zscustom-section-73 " style="background-color:rgba(246, 246, 246, 1);background-image:unset;"><style type="text/css"> [data-element-id="elm_KzIF_AENAj8rFqh3E1fc7A"].zpsection{ border-radius:1px; } @media (max-width: 767px) { [data-element-id="elm_KzIF_AENAj8rFqh3E1fc7A"].zpsection{ padding-block-start:40px; padding-inline-end:12px; padding-block-end:20px; padding-inline-start:12px; } } </style><div class="zpcontainer"><div data-element-id="elm_XlmT2CoAkKYRRWx1pTyhxg" data-element-type="row" class="zprow zpalign-items-flex-start zpjustify-content-flex-start "><style type="text/css"></style><div data-element-id="elm_uiiEyCm-p01yHWwdfXm6QQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_uiiEyCm-p01yHWwdfXm6QQ"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_V-VMpAL1jbJmKpJ3hKBmGw" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_V-VMpAL1jbJmKpJ3hKBmGw"] h2.zpheading{ font-family:'Poppins',sans-serif; font-weight:400; } [data-element-id="elm_V-VMpAL1jbJmKpJ3hKBmGw"].zpelem-heading { border-radius:1px; margin-block-start:42px; } @media (max-width: 767px) { [data-element-id="elm_V-VMpAL1jbJmKpJ3hKBmGw"] h2.zpheading{ font-size:10px; line-height:28px; } } </style><h2 1351 class="zpheading zpheading-style-none zpheading-align-center " data-editor="true"><span style="font-weight:bold;font-size:28px;color:rgb(17, 17, 17);">¿No encuentra lo que está buscando?</span></h2></div> 1352<div data-element-id="elm_-GymagWmV2qAYbT-PaGx7g" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_-GymagWmV2qAYbT-PaGx7g"].zpelem-text{ font-family:039 Poppins 039 ,sans-serif; font-weight:400; margin-block-start:5px; margin-block-end:20px; } @media (max-width: 767px) { [data-element-id="elm_-GymagWmV2qAYbT-PaGx7g"].zpelem-text{ line-height:20px; } } </style><div class="zptext zptext-align-center " data-editor="true"><p><span style="font-size:18px;color:rgb(17, 17, 17);">Si no encuentra su maquinaria de hostelerÃa, no se preocupe: contáctenos y nos encargaremos de buscarla por usted</span></p></div> 1353</div><div data-element-id="elm_lDWdiX08hFjo5ec4gAzbrw" data-element-type="buttonicon" class="zpelement zpelem-buttonicon "><style> [data-element-id="elm_lDWdiX08hFjo5ec4gAzbrw"].zpelem-buttonicon{ border-radius:1px; } </style><div class="zpbutton-container zpbutton-align-center"><style type="text/css"> [data-element-id="elm_lDWdiX08hFjo5ec4gAzbrw"] .zpbutton.zpbutton-type-primary{ background-color:rgba(255,0,0,0) !important; padding:0px; margin:0px; } </style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-lg zpbutton-style-none zpbutton-icon-align-left " href="/contacto"><span class="zpbutton-icon "><svg viewBox="0 0 640 512" height="640" width="512" xmlns="http://www.w3.org/2000/svg"><path d="M320 144c-53.02 0-96 50.14-96 112 0 61.85 42.98 112 96 112 53 0 96-50.13 96-112 0-61.86-42.98-112-96-112zm40 168c0 4.42-3.58 8-8 8h-64c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h16v-55.44l-.47.31a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09l15.33-10.22a23.99 23.99 0 0 1 13.31-4.03H328c4.42 0 8 3.58 8 8v88h16c4.42 0 8 3.58 8 8v16zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zm-16 272c-35.35 0-64 28.65-64 64H112c0-35.35-28.65-64-64-64V176c35.35 0 64-28.65 64-64h416c0 35.35 28.65 64 64 64v160z"></path></svg></span><span class="zpbutton-content">Contacto</span></a></div> 1354</div><div data-element-id="elm_K9zZXyfDDiVx1SifSKdT0A" data-element-type="divider" class="zpelement zpelem-divider "><style type="text/css"> [data-element-id="elm_K9zZXyfDDiVx1SifSKdT0A"].zpelem-divider{ border-radius:1px; } </style><style> [data-element-id="elm_K9zZXyfDDiVx1SifSKdT0A"] .zpdivider-container .zpdivider-common:after, [data-element-id="elm_K9zZXyfDDiVx1SifSKdT0A"] .zpdivider-container .zpdivider-common:before{ border-color:#000000 } </style><div class="zpdivider-container zpdivider-line zpdivider-align-center zpdivider-width80 zpdivider-line-style-solid "><div class="zpdivider-common"></div> 1355</div></div><div data-element-id="elm_IqCEF7sD63ddghdIUZTn-w" data-element-type="row" class="zprow zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_IqCEF7sD63ddghdIUZTn-w"].zprow{ border-radius:1px; margin-inline-end:90px; margin-inline-start:90px; } </style><div data-element-id="elm_0NGTE8YHB7Y1JtY4_SGPMw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_0NGTE8YHB7Y1JtY4_SGPMw"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_baos9-alAzZomA8iI1HNnA" data-element-type="buttonicon" class="zpelement zpelem-buttonicon "><style> [data-element-id="elm_baos9-alAzZomA8iI1HNnA"].zpelem-buttonicon{ border-radius:1px; } </style><div class="zpbutton-container zpbutton-align-center"><style type="text/css"> [data-element-id="elm_baos9-alAzZomA8iI1HNnA"] .zpbutton.zpbutton-type-primary{ background-color:rgba(255,0,0,0) !important; padding:0px; margin:0px; } </style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-lg zpbutton-style-none zpbutton-icon-align-left " href="/como-comprar"><span class="zpbutton-icon "><svg viewBox="0 0 640 512" height="640" width="512" xmlns="http://www.w3.org/2000/svg"><path d="M320 144c-53.02 0-96 50.14-96 112 0 61.85 42.98 112 96 112 53 0 96-50.13 96-112 0-61.86-42.98-112-96-112zm40 168c0 4.42-3.58 8-8 8h-64c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h16v-55.44l-.47.31a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09l15.33-10.22a23.99 23.99 0 0 1 13.31-4.03H328c4.42 0 8 3.58 8 8v88h16c4.42 0 8 3.58 8 8v16zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zm-16 272c-35.35 0-64 28.65-64 64H112c0-35.35-28.65-64-64-64V176c35.35 0 64-28.65 64-64h416c0 35.35 28.65 64 64 64v160z"></path></svg></span><span class="zpbutton-content">Cómo comprar</span></a></div> 1356</div></div><div data-element-id="elm_QuPZsxGWmFdJCyAL4yRdaQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_QuPZsxGWmFdJCyAL4yRdaQ"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_3z0Uwc0SInuw6HjcscOxcg" data-element-type="buttonicon" class="zpelement zpelem-buttonicon "><style> [data-element-id="elm_3z0Uwc0SInuw6HjcscOxcg"].zpelem-buttonicon{ border-radius:1px; } </style><div class="zpbutton-container zpbutton-align-center"><style type="text/css"> [data-element-id="elm_3z0Uwc0SInuw6HjcscOxcg"] .zpbutton.zpbutton-type-primary{ background-color:rgba(255,0,0,0) !important; padding:0px; margin:0px; } </style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-lg zpbutton-style-none zpbutton-icon-align-left " href="/entregas-y-envÃos"><span class="zpbutton-icon "><svg viewBox="0 0 640 512" height="640" width="512" xmlns="http://www.w3.org/2000/svg"><path d="M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"></path></svg></span><span class="zpbutton-content">EnvÃos y plazos</span></a></div> 1357</div></div></div></div></div></div></div><div data-element-id="elm_PkzPOFgLR0erSRoD4DvWdA" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg zs_custom_footer " style="background-color:rgb(17, 17, 17);background-image:unset;"><style type="text/css"> [data-element-id="elm_PkzPOFgLR0erSRoD4DvWdA"].zpsection{ border-radius:1px; } @media (max-width: 767px) { [data-element-id="elm_PkzPOFgLR0erSRoD4DvWdA"].zpsection{ padding-block-start:40px; padding-inline-end:12px; padding-block-end:20px; padding-inline-start:12px; } } </style><div class="zpcontainer"><div data-element-id="elm_7vmACfd4RpSx5jxrtq2zRQ" data-element-type="row" class="zprow zpalign-items- zpjustify-content- "><style type="text/css"></style><div data-element-id="elm_MfQhvtykSoqoT9MKcE70TA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_R8yh6prtGidkELG56zTgDw" data-element-type="row" class="zprow zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_R8yh6prtGidkELG56zTgDw"].zprow{ border-radius:1px; } </style><div data-element-id="elm_FOnd9zhxz0vaGd9SflZJRQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_FOnd9zhxz0vaGd9SflZJRQ"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_bJ7ByyPzDb0DMx1HvO0DlQ" data-element-type="iconHeadingText" class="zpelement zpelem-iconheadingtext "><style type="text/css"> [data-element-id="elm_bJ7ByyPzDb0DMx1HvO0DlQ"].zpelem-iconheadingtext{ border-radius:1px;
1357 margin-block-start:0px; } </style><div class="zpicon-container zpicon-align-left "><style></style><span class="zpicon zpicon-common zpicon-size-md zpicon-style-none "><svg viewBox="0 0 512 513.5" height="512" width="513.5" xmlns="http://www.w3.org/2000/svg"><path d="M144 64h32v16h160V64h32v16h64v352H80V80h64V64zm-32 48v32h288v-32h-32v16h-32v-16H176v16h-32v-16h-32zm0 64v224h288V176H112zm96 32h32v32h-32v-32zm64 0h32v32h-32v-32zm64 0h32v32h-32v-32zm-192 64h32v32h-32v-32zm64 0h32v32h-32v-32zm64 0h32v32h-32v-32zm64 0h32v32h-32v-32zm-192 64h32v32h-32v-32zm64 0h32v32h-32v-32zm64 0h32v32h-32v-32z"></path></svg></span><h5 class="zpicon-heading " data-editor="true">GarantÃa 1 año<br></h5><div class="zpicon-text-container " data-editor="true"><p><span style="color:inherit;">Desde la entrega del producto, con uso normal, adecuado y mantenimiento</span></p></div> 1358</div></div><div data-element-id="elm_hNnEmZYxxfio77qzexzvrg" data-element-type="spacer" class="zpelement zpelem-spacer "><style> div[data-element-id="elm_hNnEmZYxxfio77qzexzvrg"] div.zpspacer { height:30px; } @media (max-width: 768px) { div[data-element-id="elm_hNnEmZYxxfio77qzexzvrg"] div.zpspacer { height:calc(30px / 3); } } </style><div class="zpspacer " data-height="30"></div> 1359</div></div><div data-element-id="elm_HsDP-Jrw5i-XsXv2BvuHFQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_HsDP-Jrw5i-XsXv2BvuHFQ"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_Yhar6mFgPUh_ewHb2pUaag" data-element-type="iconHeadingText" class="zpelement zpelem-iconheadingtext "><style type="text/css"> [data-element-id="elm_Yhar6mFgPUh_ewHb2pUaag"].zpelem-iconheadingtext{ border-radius:1px;
1359 margin-block-start:0px; } </style><div class="zpicon-container zpicon-align-left "><style></style><span class="zpicon zpicon-common zpicon-size-md zpicon-style-none "><svg viewBox="0 0 512 513.5" height="512" width="513.5" xmlns="http://www.w3.org/2000/svg"><path d="M240 48c61.527 0 112 50.473 112 112v46c29.559 29.053 48 69.412 48 114 0 88.176-71.824 160-160 160S80 408.176 80 320c0-44.588 18.441-84.947 48-114v-46c0-61.527 50.473-112 112-112zm0 32c-44.072 0-80 35.928-80 80v22c23.605-13.748 50.79-22 80-22s56.395 8.252 80 22v-22c0-44.072-35.928-80-80-80zm0 112c-70.882 0-128 57.118-128 128s57.118 128 128 128 128-57.118 128-128-57.118-128-128-128zm0 96c17.673 0 32 14.327 32 32 0 11.834-6.45 21.963-16 27.5V400h-32v-52.5c-9.55-5.537-16-15.666-16-27.5 0-17.673 14.327-32 32-32z"></path></svg></span><h5 class="zpicon-heading " data-editor="true">Pago seguro<br></h5><div class="zpicon-text-container " data-editor="true"><p><span style="color:inherit;"><span><span style="color:inherit;">Garantizamos la total seguridad de las transacciones y pagos con nuestros clientes.</span></span></span></p></div> 1360</div></div><div data-element-id="elm_JgF_6xInskvmPhR_FgJt1Q" data-element-type="spacer" class="zpelement zpelem-spacer "><style> div[data-element-id="elm_JgF_6xInskvmPhR_FgJt1Q"] div.zpspacer { height:30px; } @media (max-width: 768px) { div[data-element-id="elm_JgF_6xInskvmPhR_FgJt1Q"] div.zpspacer { height:calc(30px / 3); } } </style><div class="zpspacer " data-height="30"></div> 1361</div></div><div data-element-id="elm_dvEsVMZCk5k8-R2et3zN0A" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-4 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_dvEsVMZCk5k8-R2et3zN0A"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_PcMuWbowHPgZ_EnBNMw9lQ" data-element-type="iconHeadingText" class="zpelement zpelem-iconheadingtext "><style type="text/css"> [data-element-id="elm_PcMuWbowHPgZ_EnBNMw9lQ"].zpelem-iconheadingtext{ border-radius:1px;
1361 margin-block-start:0px; } </style><div class="zpicon-container zpicon-align-left "><style></style><span class="zpicon zpicon-common zpicon-size-md zpicon-style-none "><svg viewBox="0 0 512 513.5" height="512" width="513.5" xmlns="http://www.w3.org/2000/svg"><path d="M256 64c105.85 0 192 86.15 192 192s-86.15 192-192 192S64 361.85 64 256 150.15 64 256 64zm0 32c-88.555 0-160 71.445-160 160s71.445 160 160 160 160-71.445 160-160S344.555 96 256 96zm-16 32h32v112h80v32H240V128z"></path></svg></span><h5 class="zpicon-heading " data-editor="true">Atención personalizada<br></h5><div class="zpicon-text-container " data-editor="true"><p><span style="color:inherit;">Contamos con un equipo altamente cualificado que le resolverá todas sus dudas sobre nuestros producto.</span></p></div> 1362</div></div><div data-element-id="elm_ywfyXdYHY8QjxXr73MVchw" data-element-type="spacer" class="zpelement zpelem-spacer "><style> div[data-element-id="elm_ywfyXdYHY8QjxXr73MVchw"] div.zpspacer { height:30px; } @media (max-width: 768px) { div[data-element-id="elm_ywfyXdYHY8QjxXr73MVchw"] div.zpspacer { height:calc(30px / 3); } } </style><div class="zpspacer " data-height="30"></div> 1363</div></div></div></div></div><div data-element-id="elm_cqza_IYLdeO3R-1fjVnC7w" data-element-type="row" class="zprow zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_cqza_IYLdeO3R-1fjVnC7w"].zprow{ border-radius:1px; } </style><div data-element-id="elm_RCZ3E7zGbCCq88PrJfdO3A" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg zp-hidden-xs "><style type="text/css"> [data-element-id="elm_RCZ3E7zGbCCq88PrJfdO3A"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_3drSaMNKRzrUkGy9O-5nQg" data-element-type="divider" class="zpelement zpelem-divider "><style type="text/css"> [data-element-id="elm_3drSaMNKRzrUkGy9O-5nQg"].zpelem-divider{ border-radius:1px; } </style><style> [data-element-id="elm_3drSaMNKRzrUkGy9O-5nQg"] .zpdivider-container .zpdivider-common:after, [data-element-id="elm_3drSaMNKRzrUkGy9O-5nQg"] .zpdivider-container .zpdivider-common:before{ border-color:rgba(255,255,255,0.1) } </style><div class="zpdivider-container zpdivider-line zpdivider-align-center zpdivider-width100 zpdivider-line-style-solid "><div class="zpdivider-common"></div> 1364</div></div><div data-element-id="elm_WFauEghoAKhWQIQVKTe-Nw" data-element-type="spacer" class="zpelement zpelem-spacer zp-hidden-xs "><style> div[data-element-id="elm_WFauEghoAKhWQIQVKTe-Nw"] div.zpspacer { height:8px; } @media (max-width: 768px) { div[data-element-id="elm_WFauEghoAKhWQIQVKTe-Nw"] div.zpspacer { height:calc(8px / 3); } } </style><div class="zpspacer " data-height="8"></div> 1365</div></div></div><div data-element-id="elm_A3Wp0l-QM5XmHlKc-XoFiA" data-element-type="row" class="zprow zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_A3Wp0l-QM5XmHlKc-XoFiA"].zprow{ border-radius:1px; } </style><div data-element-id="elm__qKtB_6Vmxtcd8C5y3RVTA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-3 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm__qKtB_6Vmxtcd8C5y3RVTA"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_YPqJCfiD8AuX1Ltqo3hEKw" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_YPqJCfiD8AuX1Ltqo3hEKw"].zpelem-heading { border-radius:1px; } </style><h5 1366 class="zpheading zpheading-style-none zpheading-align-left " data-editor="true">Dónde encontrarnos<br></h5></div> 1367<div data-element-id="elm_P5HcIddVDXQBDrfzIXMECA" data-element-type="iconHeading" class="zpelement zpelem-iconheading "><style type="text/css"> [data-element-id="elm_P5HcIddVDXQBDrfzIXMECA"].zpelem-iconheading h6.zpicon-heading{ color:#ffffff ; font-family:'Inter',sans-serif; font-weight:400; } [data-element-id="elm_P5HcIddVDXQBDrfzIXMECA"].zpelem-iconheading{ border-radius:1px; margin-block-start:22px; } </style><div class="zpicon-container zpicon-align-left "><style>[data-element-id="elm_P5HcIddVDXQBDrfzIXMECA"] .zpicon-common svg{ fill:#ffffff !important } [data-element-id="elm_P5HcIddVDXQBDrfzIXMECA"] .zpicon-common{ border-color:#ffffff !important }</style><span class="zpicon zpicon-common zpicon-size-sm zpicon-style-border "><svg viewBox="0 0 512 512" height="512" width="512" xmlns="http://www.w3.org/2000/svg"><path d="M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z"></path></svg></span><h6 class="zpicon-heading " data-editor="true"><span style="color:inherit;"><a href="https://wa.me/%2B34871043524" title="+34 871 04 35 24" target="_blank" rel="">+348</a><a href="https://wa.me/%2B34871043524" title="+34 871 04 35 24" target="_blank" rel="">71043524</a></span><br></h6></div> 1368</div><div data-element-id="elm_hD0VYs4NUr0l2hDyK62uFg" data-element-type="iconHeading" class="zpelement zpelem-iconheading "><style type="text/css"> [data-element-id="elm_hD0VYs4NUr0l2hDyK62uFg"].zpelem-iconheading h6.zpicon-heading{ color:#FFffff ; font-family:'Inter',sans-serif; font-weight:400; } [data-element-id="elm_hD0VYs4NUr0l2hDyK62uFg"].zpelem-iconheading{ border-radius:1px; margin-block-start:10px; } </style><div class="zpicon-container zpicon-align-left "><style>[data-element-id="elm_hD0VYs4NUr0l2hDyK62uFg"] .zpicon-common svg{ fill:#ffffff !important } [data-element-id="elm_hD0VYs4NUr0l2hDyK62uFg"] .zpicon-common{ border-color:#ffffff !important }</style><span class="zpicon zpicon-common zpicon-size-sm zpicon-style-border "><svg viewBox="0 0 24 24" height="24" width="24" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.00977 5.83789C3.00977 5.28561 3.45748 4.83789 4.00977 4.83789H20C20.5523 4.83789 21 5.28561 21 5.83789V17.1621C21 18.2667 20.1046 19.1621 19 19.1621H5C3.89543 19.1621 3 18.2667 3 17.1621V6.16211C3 6.11449 3.00333 6.06765 3.00977 6.0218V5.83789ZM5 8.06165V17.1621H19V8.06199L14.1215 12.9405C12.9499 14.1121 11.0504 14.1121 9.87885 12.9405L5 8.06165ZM6.57232 6.80554H17.428L12.7073 11.5263C12.3168 11.9168 11.6836 11.9168 11.2931 11.5263L6.57232 6.80554Z"></path></svg></span><h6 class="zpicon-heading " data-editor="true"><a href="/cdn-cgi/l/email-protection#e2ab8c848da2988b8c878a8d9196878e87908b83cc818d8fdd91978088878196dfaf878c91838887c7d0d28687918687c7d0d2b88b8c878a8d9196878e8790c7a1d1c7a3a683cc818d8f" title="[email protected]" rel=""><span class="__cf_email__" data-cfemail="02786b6c676f63707063767a6b42656f636b6e2c616d6f">[email protected]</span></a><br></h6></div> 1369</div><div data-element-id="elm_I05ZCa7J-5Lofx4ByozghA" data-element-type="iconHeading" class="zpelement zpelem-iconheading "><style type="text/css"> [data-element-id="elm_I05ZCa7J-5Lofx4ByozghA"].zpelem-iconheading h6.zpicon-heading{ font-family:'Inter',sans-serif; font-weight:400; } [data-element-id="elm_I05ZCa7J-5Lofx4ByozghA"].zpelem-iconheading{ border-radius:1px; margin-block-start:10px; } </style><div class="zpicon-container zpicon-align-left "><style></style><span class="zpicon zpicon-common zpicon-size-sm zpicon-style-border "><svg viewBox="0 0 512 512" height="512" width="512" xmlns="http://www.w3.org/2000/svg"><path d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z"></path></svg></span><h6 class="zpicon-heading " data-editor="true"><span><span><span style="font-size:14px;"><span><span style="color:inherit;">Lunes a Viernes de 8hs a 16hs</span></span></span></span></span></h6></div> 1370</div><div data-element-id="elm_izo8AvhoxnCT_fE6QYEwPw" data-element-type="iconHeading" class="zpelement zpelem-iconheading "><style type="text/css"> [data-element-id="elm_izo8AvhoxnCT_fE6QYEwPw"].zpelem-iconheading h6.zpicon-heading{ font-family:'Inter',sans-serif; font-weight:400; } [data-element-id="elm_izo8AvhoxnCT_fE6QYEwPw"].zpelem-iconheading{ border-radius:1px; margin-block-start:10px; } </style><div class="zpicon-container zpicon-align-left "><style></style><span class="zpicon zpicon-common zpicon-size-sm zpicon-style-border "><svg viewBox="0 0 576 512" height="576" width="512" xmlns="http://www.w3.org/2000/svg"><path d="M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z"></path></svg></span><h6 class="zpicon-heading " data-editor="true"><span><span><span style="font-size:14px;"><span><span style="color:inherit;"><div style="color:inherit;"><h6><span><span style="font-size:14px;"><span>D'es Siurells, 27, MarratxÃ, Illes Balears</span></span></span></h6></div></span></span></span></span></span></h6></div> 1371</div><div data-element-id="elm_QrvNXXqwZdtP1_yAOu_FQw" data-element-type="spacer" class="zpelement zpelem-spacer "><style> div[data-element-id="elm_QrvNXXqwZdtP1_yAOu_FQw"] div.zpspacer { height:30px; } @media (max-width: 768px) { div[data-element-id="elm_QrvNXXqwZdtP1_yAOu_FQw"] div.zpspacer { height:calc(30px / 3); } } </style><div class="zpspacer " data-height="30"></div> 1372</div></div><div data-element-id="elm_WksIZoKp6OYzgk0pEPxknw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_WksIZoKp6OYzgk0pEPxknw"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_hmW-f_NKPeF12B42gi-Cog" data-element-type="row" class="zprow zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_hmW-f_NKPeF12B42gi-Cog"].zprow{ border-radius:1px; } </style><div data-element-id="elm_WY5EXUusQWEmNH2c0jsq4Q" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_WY5EXUusQWEmNH2c0jsq4Q"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_Lmn-NnkRnCmnVxJwlSvaLw" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_Lmn-NnkRnCmnVxJwlSvaLw"].zpelem-heading { border-radius:1px; } </style><h5 1373 class="zpheading zpheading-style-none zpheading-align-left " data-editor="true">Nuestros Servicios<br></h5></div> 1374<div data-element-id="elm_GTr2zDy13SkmB80_7eC8BA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_GTr2zDy13SkmB80_7eC8BA"].zpelem-text{ border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ul><li><span style="color:inherit;font-size:14px;">V<a href="/servicios" title="Compra y Venta de maquinaria" rel="">enta de maquinaria</a></span></li><li><a href="/servicios" title="Asesoramiento personalizado" rel=""><span style="font-size:14px;">Asesoramiento personalizado</span></a><br></li><li><a href="/servicios" title="Instalación y reparación" rel=""><span style="font-size:14px;">Instalación y reparación</span></a></li><li><span style="font-size:14px;"><a href="/contacto" title="Contacto" rel="">Contacto</a></span><br></li></ul></div> 1375</div><div data-element-id="elm_gKdH7Mw_ZRuN3TiyQ8AamQ" data-element-type="spacer" class="zpelement zpelem-spacer "><style> div[data-element-id="elm_gKdH7Mw_ZRuN3TiyQ8AamQ"] div.zpspacer { height:30px; } @media (max-width: 768px) { div[data-element-id="elm_gKdH7Mw_ZRuN3TiyQ8AamQ"] div.zpspacer { height:calc(30px / 3); } } </style><div class="zpspacer " data-height="30"></div> 1376</div></div><div data-element-id="elm_YSeAtP0dh3ym5wopX122ag" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_YSeAtP0dh3ym5wopX122ag"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_k-ZiZrtXYlcgp4AlUY9EoQ" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_k-ZiZrtXYlcgp4AlUY9EoQ"].zpelem-heading { border-radius:1px; } </style><h5 1377 class="zpheading zpheading-style-none zpheading-align-left " data-editor="true">Información legal<br></h5></div> 1378<div data-element-id="elm_MN01TYzwZSuKY_6tQUN85g" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_MN01TYzwZSuKY_6tQUN85g"].zpelem-text{ border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ul><li><span style="font-size:14px;"><a href="/politica-privacidad" title="PolÃtica de privacidad" rel="">PolÃtica de privacidad</a></span></li><li><a href="/aviso-legal" title="Aviso legal" rel=""><span style="font-size:14px;">Aviso legal</span></a></li></ul></div> 1379</div><div data-element-id="elm_fZ0HhDYdZmXvDpuqMZsZGQ" data-element-type="spacer" class="zpelement zpelem-spacer "><style> div[data-element-id="elm_fZ0HhDYdZmXvDpuqMZsZGQ"] div.zpspacer { height:30px; } @media (max-width: 768px) { div[data-element-id="elm_fZ0HhDYdZmXvDpuqMZsZGQ"] div.zpspacer { height:calc(30px / 3); } } </style><div class="zpspacer " data-height="30"></div> 1380</div></div></div></div><div data-element-id="elm_TtG6xQeFuNI8UbhkCLVXcA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-3 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_TtG6xQeFuNI8UbhkCLVXcA"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_WiSCIK2SJgZYHeupWWlAWg" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_WiSCIK2SJgZYHeupWWlAWg"].zpelem-heading { border-radius:1px; } </style><h5 1381 class="zpheading zpheading-style-none zpheading-align-left " data-editor="true">App Zine HostelerÃa<br></h5></div> 1382<div data-element-id="elm_bLnu4Oz9UK5YbArtYfRzCA" data-element-type="row" class="zprow zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_jcXJSdhCyxg9gdsYWRWnqg" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_7M-YWwRE0nSUDL29fLcgIA" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_7M-YWwRE0nSUDL29fLcgIA"] .zpimage-container figure img { width: 141px ; height: 42.30px ; } } @media (max-width: 991px) and (min-width: 768px) { [data-element-id="elm_7M-YWwRE0nSUDL29fLcgIA"] .zpimage-container figure img { width:200
1382px ; height:60.00px ; } } @media (max-width: 767px) { [data-element-id="elm_7M-YWwRE0nSUDL29fLcgIA"] .zpimage-container figure img { width:200px ; height:60.00px ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-left zpimage-mobile-align-left zpimage-size-fit zpimage-tablet-fallback-medium zpimage-mobile-fallback-small "><figure role="none" class="zpimage-data-ref"><a class="zpimage-anchor" href="https://play.google.com/store/apps/details?id=com.zine&pcampaignid=web_share" target="_blank" title="APP Android" rel=""><picture><img class="zpimage zpimage-style-none zpimage-space-none " src='https://cdn3.zohoecommerce.com/android.png?v=1781688773&storefront_domain=www.zinehosteleria.com' width="200" height="60.00" loading="lazy" size="fit" alt=""/></picture></a></figure></div> 1383</div></div><div data-element-id="elm_LQjYfBZVJNM0LU2GUapgxw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-6 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_NdqFRg-UjxlOwzcBjZz7vA" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_NdqFRg-UjxlOwzcBjZz7vA"] .zpimage-container figure img { width: 141px ; height: 42.30px ; } } @media (max-width: 991px) and (min-width: 768px) { [data-element-id="elm_NdqFRg-UjxlOwzcBjZz7vA"] .zpimage-container figure img { width:200px ; height:60.00px ; } } @media (max-width: 767px) { [data-element-id="elm_NdqFRg-UjxlOwzcBjZz7vA"] .zpimage-container figure img { width:200px ; height:60.00px ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-left zpimage-mobile-align-left zpimage-size-fit zpimage-tablet-fallback-small zpimage-mobile-fallback-small "><figure role="none" class="zpimage-data-ref"><a class="zpimage-anchor" href="https://apps.apple.com/us/app/zine-hosteleria/id6451390882" target="_blank" title="APP ios" rel=""><picture><img class="zpimage zpimage-style-none zpimage-space-none " src='https://cdn3.zohoecommerce.com/apple.png?v=1781688786&storefront_domain=www.zinehosteleria.com' width="200" height="60.00" loading="lazy" size="fit" alt=""/></picture></a></figure></div> 1384</div></div></div><div data-element-id="elm_5w3ZyH2njY85y_OPO_ce-w" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_5w3ZyH2njY85y_OPO_ce-w"].zpelem-heading { border-radius:1px; } </style><h5 1385 class="zpheading zpheading-style-none zpheading-align-left " data-editor="true">SÃguenos<br></h5></div> 1386<div data-element-id="elm_kBXJ5OGYaVcur43M6J2KGw" itemscope="" data-element-type="socialprofile" class="zpelement zpelem-socialprofile" data-element-id="elm_kBXJ5OGYaVcur43M6J2KGw"><style type="text/css"> [data-element-id="elm_kBXJ5OGYaVcur43M6J2KGw"].zpelem-socialprofile{ border-radius:1px; } </style><div data-socialprofile_container class="zpsocialprofile-container zpsocialprofile-size-md zpsocialprofile-halign-left zpsocialprofile-style-none zpsocialprofile-type-color "><a href="https://es-la.facebook.com/zinemaquinariadehosteleria/" class="zpsocialprofile-wrapper zpsocialprofile-facebook" target="_blank" title="Facebook"><svg aria-hidden="true" class="zpsocialprofile" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><path d="M64,32.1989637 C64,14.4248705 49.6642636,0 32,0 C14.3357364,0 -8.52651283e-14,14.4248705 -8.52651283e-14,32.1989637 C-8.52651283e-14,48.2818653 11.6992791,61.6124352 27.0236869,64 L27.0236869,41.4839378 L18.8506694,41.4839378 L18.8506694,32.1989637 L27.0236869,32.1989637 L27.0236869,25.1025907 C27.0236869,17.0445596 31.76931,12.5678756 39.0854789,12.5678756 C42.5787848,12.5678756 46.2039135,13.2310881 46.2039135,13.2310881 L46.2039135,21.0901554 L42.1833162,21.0901554 C38.1956746,21.0901554 36.9433574,23.6103627 36.9433574,26.1305699 L36.9433574,32.1658031 L45.8414006,32.1658031 L44.4243048,41.4507772 L36.9433574,41.4507772 L36.9433574,63.9668394 C52.3007209,61.6124352 64,48.2818653 64,32.1989637 Z"></path></svg></a><a href="https://www.linkedin.com/company/zine-hosteler%C3%ADa/" class="zpsocialprofile-wrapper zpsocialprofile-linkedin" target="_blank" title="LinkedIn"><svg aria-hidden="true" class="zpsocialprofile" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><path d="M64 4.706v54.588A4.706 4.706 0 0 1 59.294 64H4.706A4.706 4.706 0 0 1 0 59.294V4.706A4.706 4.706 0 0 1 4.706 0h54.588A4.706 4.706 0 0 1 64 4.706zM18.824 24.47H9.412v30.117h9.412V24.471zm.847-10.353a5.421 5.421 0 0 0-5.384-5.46h-.17a5.459 5.459 0 0 0 0 10.918 5.421 5.421 0 0 0 5.554-5.289v-.17zm34.917 22.174c0-9.054-5.76-12.574-11.482-12.574a10.73 10.73 0 0 0-9.525 4.856h-.263v-4.103H24.47v30.117h9.411V38.57a6.25 6.25 0 0 1 5.647-6.738h.358c2.993 0 5.214 1.882 5.214 6.625v16.132h9.412l.075-18.296z"/></svg></a><a href="https://www.instagram.com/zinehosteleria/" class="zpsocialprofile-wrapper zpsocialprofile-instagram" target="_blank" title="Instagram"><svg aria-hidden="true" class="zpsocialprofile" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient x1="72.5875139%" y1="0%" x2="28.281045%" y2="106.524963%" id="linearGradient-1"><stop stop-color="#9A1DF1" offset="0%"></stop><stop stop-color="#ED1E64" offset="49.3618943%"></stop><stop stop-color="#FFD002" offset="100%"></stop></linearGradient><path d="M18.7470755,0.221595251 C15.3422244,0.382299247 13.0166948,0.927668835 10.9845413,1.72394402 C8.8808805,2.5440464 7.09761014,3.64310557 5.32364538,5.42434073 C3.54758782,7.20661909 2.45687425,8.99304465 1.64301187,11.0988238 C0.855031083,13.1361614 0.321066295,15.4627981 0.170711099,18.8697484 C0.0214311023,22.2829708 -0.012802497,23.3716107 0.00383750267,32.0611721 C0.0204135023,40.7496967 0.0587623014,41.8403975 0.221527098,45.254631 C0.384285494,48.6585158 0.927619882,50.9830597 1.72388866,53.0162565 C2.54502785,55.1199428 3.64296062,56.9022276 5.42521338,58.6772547 C7.20645494,60.4522883 8.9939045,61.5419779 11.1006629,62.3569282 C13.1359204,63.1438722 15.46353,63.6799042 18.8694627,63.8291842 C22.2826082,63.9795458 23.3722466,64.0127042 32.0596384,63.9961282 C40.7511454,63.9795458 41.8408478,63.941165 45.2539933,63.7794178 C48.6588444,63.616653 50.9822875,63.0712898 53.0165275,62.2770946 C55.1201883,61.4538563 56.9034586,60.3579395 58.6774234,58.5756547 C60.4513945,56.7943876 61.5421081,55.0069188 62.3560345,52.9001285 C63.1440153,50.8648453 63.6800089,48.5372038 63.8282777,45.1333446 C63.9775577,41.7180679 64.0128665,40.6273351 63.9962265,31.9388169 C63.9796441,23.2492555 63.9402841,22.1606092 63.7785369,18.7484684 C63.6167897,15.3414861 63.0714329,13.0179854 62.2761753,10.9837454 C61.4540249,8.88005905 60.3571033,7.0987919 58.5758618,5.32274074 C56.7946202,3.54875038 55.0071771,2.4559312 52.9004123,1.64411682 C50.8641371,0.856129637 48.5375324,0.319048049 45.1316061,0.171822452 C41.7184606,0.0204496555 40.6288222,-0.0127087437 31.9383264,0.00387365592 C23.2499298,0.0204560555 22.160285,0.0577936547 18.7470755,0.221595251 M19.1203747,58.0696835 C16.0006051,57.9338499 14.3064996,57.4154436 13.1774308,56.9810372 C11.682346,56.4024772 10.6154853,55.7088452 9.49261809,54.5942852 C8.37184371,53.4755524 7.67612533,52.4117765 7.09241974,50.9
1386198021 C6.65381495,49.7906885 6.12611576,48.0986182 5.97993337,44.9788358 C5.82129017,41.6060871 5.78502777,40.5941383 5.76945657,32.0497481 C5.75287417,23.5074443 5.78394617,22.4954955 5.93120377,19.1196428 C6.06491897,16.0019213 6.58648055,14.3057037 7.01983094,13.1776334 C7.59834613,11.6804686 8.28988531,10.6156558 9.40655089,9.49280784 C10.5252389,8.36992787 11.5889956,7.67628948 13.081994,7.0925775 C14.2100452,6.65191191 15.9021283,6.12831512 19.0208227,5.98007832 C22.3956194,5.82038552 23.4064738,5.78618392 31.9486944,5.76960153 C40.4929438,5.75298713 41.5048734,5.78307992 44.8807453,5.93134872 C47.9983644,6.06715032 49.6945564,6.58350231 50.8216028,7.0199951 C52.3176987,7.59852308 53.3845595,8.28801427 54.5064091,9.40674704 C55.628201,10.5254798 56.323913,11.5871694 56.9076186,13.0832846 C57.3482458,14.2082189 57.8718362,15.9023821 58.0190938,19.0201036 C58.1797594,22.3949387 58.2160858,23.4068555 58.231593,31.9491913 C58.2481754,40.4935879 58.2171034,41.5054983 58.0688346,44.8792902 C57.933033,47.9990726 57.4156442,49.6942725 56.9802074,50.8243973 C56.4016858,52.3184581 55.710089,53.3853316 54.5924123,54.5082116 C53.4747995,55.6269444 52.4110427,56.3246916 50.9169691,56.9084356 C49.7910044,57.348026 48.0968988,57.8726723 44.9802333,58.0209411 C41.6055006,58.1795587 40.5945822,58.2158467 32.0492576,58.2314179 C23.507037,58.2480131 22.4961826,58.2158659 19.1203747,58.0696835 M45.2073489,14.8946189 C45.2114717,17.0138765 46.9346204,18.729806 49.053846,18.7256663 C51.1740891,18.7215116 52.8900251,16.9993549 52.8869253,14.8800973 C52.8827483,12.7608398 51.1595931,11.043899 49.03935,11.0480387 C46.9191132,11.052187 45.2031773,12.7753614 45.2073489,14.8946189 M15.5693094,32.0310857 C15.5869347,41.1063495 22.957565,48.4469894 32.0305952,48.4293954 C41.1046942,48.4117446 48.4493852,41.0430983 48.4318231,31.9678665 C48.414134,22.8957323 41.0424926,15.5509133 31.967376,15.5685072 C22.8942818,15.5861645 15.5516836,22.9579403 15.5693094,32.0310857 M21.3328633,32.0196937 C21.3225058,26.1295435 26.0897377,21.344654 31.978768,21.3342528 C37.868867,21.3228812 42.6547101,26.0880651 42.6661227,31.9792585 C42.6775581,37.870452 37.9103198,42.6542983 32.0192032,42.6657427 C26.1301793,42.6771143 21.3442722,37.9108872 21.3328633,32.0196937" id="path-2"></path></defs><g stroke="none" stroke-width="1" fill-rule="evenodd"><mask fill="white"><use xlink:href="#path-2"></use></mask><use class="cl-path-inherit" fill="url(#linearGradient-1)" xlink:href="#path-2"></use></g></svg></a></div> 1387</div></div></div><div data-element-id="elm_Ykj-cY9znmpHqlsNFtdjEQ" data-element-type="row" class="zprow zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_Ykj-cY9znmpHqlsNFtdjEQ"].zprow{ border-radius:1px; } </style><div data-element-id="elm_53jhlpfqbBwpF5iEPk23Jg" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_53jhlpfqbBwpF5iEPk23Jg"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_Rw1Rc-3l2_UTIYKr7oOO4g" data-element-type="divider" class="zpelement zpelem-divider "><style type="text/css"> [data-element-id="elm_Rw1Rc-3l2_UTIYKr7oOO4g"].zpelem-divider{ border-radius:1px; } </style><style> [data-element-id="elm_Rw1Rc-3l2_UTIYKr7oOO4g"] .zpdivider-container .zpdivider-common:after, [data-element-id="elm_Rw1Rc-3l2_UTIYKr7oOO4g"] .zpdivider-container .zpdivider-common:before{ border-color:rgba(255,255,255,0.1) } </style><div class="zpdivider-container zpdivider-line zpdivider-align-center zpdivider-width100 zpdivider-line-style-solid "><div class="zpdivider-common"></div> 1388</div></div><div data-element-id="elm_AYgrd2cnoPSV2tCsiKhVFg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_AYgrd2cnoPSV2tCsiKhVFg"].zpelem-text{ border-radius:1px; } </style><div class="zptext zptext-align-center " data-editor="true"><p>2025. Todos los derechos reservados<br></p></div> 1389</div></div></div></div></div></div></div></div><div id="product_quick_look"></div> 1390<div data-cart-buyagain-success="theme-cart-buyagain-success" class="buyagain-cart-message buyagain-cart-success-message"> Los artÃculos se han añadido al carrito. </div> 1391<div data-cart-buyagain-failure="theme-cart-buyagain-failure" class="buyagain-cart-message buyagain-cart-failure-message"> No se pudo agregar uno o más artÃculos al carrito debido a ciertas restricciones. </div> 1392<div data-cart-add-success="theme-cart-add-success" class="theme-cart-add-success-message" data-theme-message-one><div class="theme-cart-success-inner-container"><button type="button" class="theme-cart-message-close" onclick="closeSuccessMessage();" aria-label="Cerrar"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none"><rect width="32" height="32" rx="16" fill="black"/><path d="M10.4 23L9 21.6L14.6 16L9 10.4L10.4 9L16 14.6L21.6 9L23 10.4L17.4 16L23 21.6L21.6 23L16 17.4L10.4 23Z" fill="white"/></svg></button><div class="theme-cart-item"><div class="theme-cart-message-item theme-cart-message-prod-img"><div class="theme-cart-message-prod-img-inner"><picture><img alt="" width="200" height="200" data-cart-add-success-prod-img="theme-cart-add-success-prod-img"/></picture></div> 1393</div><div class="theme-cart-success-item-details"><div class="theme-cart-message-item theme-cart-message-prod-name" data-cart-add-success-prod-name="theme-cart-add-success-prod-name"></div> 1394</div></div><div class="theme-cart-message-item theme-cart-message-buttons"><a href="javascript:;" class="zpbutton zpbutton-type-primary zpbutton-style-roundcorner zpbutton-size-lg" data-zs-view-cart>
1394Ver carrito</a><a href="javascript:;" class="zpbutton zpbutton-type-primary zpbutton-style-roundcorner zpbutton-size-lg" data-zs-view-quote style="display:none;">Ver Presupuesto</a></div> 1395<div class="theme-cart-message-item theme-cart-message-text"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 17 17" fill="none"><path d="M8.25153 0.925049L10.2214 2.36205L12.66 2.35755L13.4089 4.67805L15.3844 6.10755L14.6265 8.42505L15.3844 10.7425L13.4089 12.172L12.66 14.4925L10.2214 14.488L8.25153 15.925L6.28165 14.488L3.84303 14.4925L3.09415 12.172L1.11865 10.7425L1.87653 8.42505L1.11865 6.10755L3.09415 4.67805L3.84303 2.35755L6.28165 2.36205L8.25153 0.925049Z" stroke="#008805" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M5.62646 8.42505L7.50146 10.3L11.2515 6.55005" stroke="#008805" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg><span class="theme-added-to-cart-msg">Agregado al carrito</span><span class="theme-added-to-quote-msg" style="display:none;">Agregado</span></div> 1396</div></div><div role="alert" data-cart-add-failure="theme-cart-add-failure" class="theme-cart-add-failure-message"><div class="theme-cart-success-inner-container"><div class="theme-cart-message-item theme-cart-message-text theme-cart-message-failure"><button type="button" onclick="closemessage()" aria-label="Cerrar"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none"><rect x="1" y="1" width="24" height="24" rx="12" stroke="#E0242B" stroke-width="2"/><path d="M8.66602 8.66699L17.3327 17.3337" stroke="#E0242B" stroke-width="2" stroke-linecap="round"/><path d="M17.332 8.66699L8.66536 17.3337" stroke="#E0242B" stroke-width="2" stroke-linecap="round"/></svg></button><div class="theme-failure-reason"><span data-theme-failure-reason="theme-failure-reason"></span><span> - </span>No se puede agregar este producto al carrito en este momento. Inténtelo de nuevo más tarde. </div> 1397</div></div></div><div data-cart-update-success="theme-cart-update-success" class="theme-cart-update-success-message"><div class="theme-cart-success-inner-container"><div class="theme-cart-message-item theme-cart-message-text theme-cart-message-success"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30" fill="none"><rect x="1" y="1" width="28" height="28" rx="14" stroke="#008849" stroke-width="2"/><path d="M9.375 15L12.75 18.75L20.625 11.25" stroke="#008849" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg> Se actualizó la cantidad </div> 1398</div></div><div data-cart-update-failure="theme-cart-update-failure" class="theme-cart-update-failure-message"><div class="theme-cart-success-inner-container"><div class="theme-cart-message-item theme-cart-message-text theme-cart-message-failure"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none"><rect x="1" y="1" width="24" height="24" rx="12" stroke="#E0242B" stroke-width="2"/><path d="M8.66602 8.66699L17.3327 17.3337" stroke="#E0242B" stroke-width="2" stroke-linecap="round"/><path d="M17.332 8.66699L8.66536 17.3337" stroke="#E0242B" stroke-width="2" stroke-linecap="round"/></svg><div><span data-theme-update-failure-reason="theme-update-failure-reason"></span><span> - </span> Ocurrió un error. Inténtelo de nuevo más tarde. </div> 1399</div></div></div><div data-cart-delete-success="theme-cart-delete-success" class="theme-cart-delete-success-message"><div class="theme-cart-success-inner-container"><div class="theme-cart-message-item theme-cart-message-text theme-cart-message-success"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30" fill="none"><rect x="1" y="1" width="28" height="28" rx="14" stroke="#008849" stroke-width="2"/><path d="M9.375 15L12.75 18.75L20.625 11.25" stroke="#008849" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg> Eliminado del carrito </div> 1400</div></div><div data-cart-delete-failure="theme-cart-delete-failure" class="theme-cart-delete-failure-message"><div class="theme-cart-success-inner-container"><div class="theme-cart-message-item theme-cart-message-text theme-cart-message-failure"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none"><rect x="1" y="1" width="24" height="24" rx="12" stroke="#E0242B" stroke-width="2"/><path d="M8.66602 8.66699L17.3327 17.3337" stroke="#E0242B" stroke-width="2" stroke-linecap="round"/>
1400<path d="M17.332 8.66699L8.66536 17.3337" stroke="#E0242B" stroke-width="2" stroke-linecap="round"/></svg><div><span data-theme-delete-failure-reason="theme-delete-failure-reason"></span><span> - </span> No se puede eliminar este producto del carrito en este momento. Inténtelo de nuevo más tarde. </div> 1401</div></div></div><div data-wishlist-alert-update="theme-wishlist-alert-update" class="theme-wishlist-alert-update theme-wishlist-success-message"><div class="theme-cart-success-inner-container"><div class="theme-cart-message-item theme-cart-message-text" data-zs-alert-inner-container><span style="display:flex;" data-zs-success-icon><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30" fill="none"><rect x="1" y="1" width="28" height="28" rx="14" stroke="#008849" stroke-width="2"/><path d="M9.375 15L12.75 18.75L20.625 11.25" stroke="#008849" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></span><span style="display:flex;" data-zs-failure-icon><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none"><rect x="1" y="1" width="24" height="24" rx="12" stroke="#E0242B" stroke-width="2"/><path d="M8.66602 8.66699L17.3327 17.3337" stroke="#E0242B" stroke-width="2" stroke-linecap="round"/><path d="M17.332 8.66699L8.66536 17.3337" stroke="#E0242B" stroke-width="2" stroke-linecap="round"/></svg></span><span data-zs-message-text></span></div> 1402</div></div><div data-save-for-later-alert-update="theme-save-for-later-alert-update" class="theme-save-for-later-success-message"><div class="theme-cart-success-inner-container"><div class="theme-cart-message-item theme-cart-message-text" data-zs-alert-inner-container><span style="display:flex;" data-zs-success-icon><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30" fill="none"><rect x="1" y="1" width="28" height="28" rx="14" stroke="#008849" stroke-width="2"/><path d="M9.375 15L12.75 18.75L20.625 11.25" stroke="#008849" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></span><span style="display:flex;" data-zs-failure-icon><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none"><rect x="1" y="1" width="24" height="24" rx="12" stroke="#E0242B" stroke-width="2"/><path d="M8.66602 8.66699L17.3327 17.3337" stroke="#E0242B" stroke-width="2" stroke-linecap="round"/><path d="M17.332 8.66699L8.66536 17.3337" stroke="#E0242B" stroke-width="2" stroke-linecap="round"/></svg></span><span data-zs-message-text></span></div> 1403</div></div><div data-custom-checkout-alert-update="theme-custom-checkout-alert-update" class="theme-custom-checkout-failure-message"><div class="theme-cart-success-inner-container"><div class="theme-cart-message-item theme-cart-message-text" data-zs-alert-inner-container><span style="display:flex;" data-zs-failure-icon><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none"><rect x="1" y="1" width="24" height="24" rx="12" stroke="#E0242B" stroke-width="2"/><path d="M8.66602 8.66699L17.3327 17.3337" stroke="#E0242B" stroke-width="2" stroke-linecap="round"/><path d="M17.332 8.66699L8.66536 17.3337" stroke="#E0242B" stroke-width="2" stroke-linecap="round"/></svg></span><span data-zs-message-text></span></div> 1404</div></div><!-- Google Tag Manager (noscript) --><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KNHN6T4" height="0" width="0" style="display:none;visibility:hidden;"></iframe></noscript><!-- End Google Tag Manager (noscript) -->
vendor: 108 bytes, line 1404
1404<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1404<script type="speculationrules"> 1405 { 1406 "prefetch": [ 1407 { 1408 "where": { 1409 "and": [ 1410 { "href_matches": "/*" }, 1411 { "not": { "href_matches": "/checkout" } }, 1412 { "not": { "href_matches": "/cart" } }, 1413 { "not": { "href_matches": "/account" } }, 1414 { "not": { "selector_matches": ".no-prerender" } }, 1415 { "not": { "selector_matches": "[rel~=nofollow]" } } 1416 ] 1417 }, 1418 "eagerness": "moderate" 1419 } 1420 ] 1421 } 1422 </script>
1422<div class="zpmm-backdrop zpmm-backdrop-disabled"></div> 1423</div></body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.