PageSourceSearch

https://zinehosteleria.com/account/profile

html zinehosteleria.com collected 2026-09-25 03:08:21 UTC 115,411 bytes, 1,423 lines download raw bytes

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&amp;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&amp;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 + "&nbsp;:&nbsp;</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 + "&nbsp;:&nbsp;</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 + "&nbsp;:&nbsp;</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'>&#10003; 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&#160;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,&nbsp; 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&amp;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.&nbsp; 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.