{"id":7,"date":"2025-05-01T23:32:59","date_gmt":"2025-05-01T21:32:59","guid":{"rendered":"https:\/\/komertio.com\/demo\/?page_id=7"},"modified":"2025-07-29T00:14:19","modified_gmt":"2025-07-28T22:14:19","slug":"demo","status":"publish","type":"page","link":"https:\/\/komertio.com\/demo\/","title":{"rendered":"demo"},"content":{"rendered":"<p>[et_pb_section fb_built=\u00bb1&#8243; custom_padding_last_edited=\u00bbon|phone\u00bb admin_label=\u00bbSecci\u00f3n\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bb#000000&#8243; custom_margin=\u00bb0px||0px||false|false\u00bb custom_margin_tablet=\u00bb0px||0px||false|false\u00bb custom_margin_phone=\u00bb0px||0px||false|false\u00bb custom_margin_last_edited=\u00bbon|desktop\u00bb custom_padding=\u00bb0px||4px||false|false\u00bb custom_padding_tablet=\u00bb0px||12px||false|false\u00bb custom_padding_phone=\u00bb0px||0px||false|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_row column_structure=\u00bb1_2,1_2&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb90%\u00bb max_width=\u00bb100%\u00bb height=\u00bb55px\u00bb custom_margin=\u00bb0px||0px||true|false\u00bb custom_padding=\u00bb0px||0px||true|false\u00bb custom_css_main_element=\u00bbdisplay: flex;\u00bb global_colors_info=\u00bb{}\u00bb custom_css_main_element_last_edited=\u00bbon|phone\u00bb custom_css_main_element_phone=\u00bbdisplay: flex;\u00bb custom_css_main_element_tablet=\u00bbdisplay: flex;\u00bb][et_pb_column type=\u00bb1_2&#8243; admin_label=\u00bbcol-izq\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb custom_padding=\u00bb10px||10px||false|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_code raw_content_tablet=\u00bb<!-- Font Awesome en el <head> si a\u00fan no lo tienes -->\n<link rel=%22stylesheet%22 href=%22https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.0\/css\/all.min.css%22>\n<p><!-- Bot\u00f3n que abre el modal con tooltip --><\/p>\n<div class=%22tooltip-container%22>\n  <button id=%22btnContactoDivi%22 class=%22boton-info%22><br \/>\n    <i class=%22fas fa-info-circle%22><\/i><br \/>\n  <\/button><br \/>\n  <span class=%22tooltip-text%22>Ver informaci\u00f3n del negocio<\/span>\n<\/div>\n<p><!-- Modal --><\/p>\n<div id=%22modalContactoDivi%22>\n<div>\n<h3>Informaci\u00f3n de Contacto<\/h3>\n<div id=%22contenidoContactoDivi%22>Cargando&#8230;<\/div>\n<p>    <button id=%22cerrarModalContacto%22>Cerrar<\/button>\n  <\/div>\n<\/div>\n<style>\n.boton-info {\n  background-color: #3b8bbd !important;\n  color: #fff;\n  border: none;\n  border-radius: 50%;\n  width: 36px;\n  height: 36px;\n  margin-top: 0px;\n  cursor: pointer;\n  transition: background-color 0.3s ease;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 16px;\n  line-height: 30px;\n  text-align: center;\n  vertical-align: middle;\n}<\/p>\n<p>.boton-info:hover {\n  background-color: #222;\n}\n.boton-info i {\n  vertical-align: middle;\n  line-height: 1;\n  transform: translateY(1px);\n}\n@media (max-width: 480px) {\n  .boton-info {\n    width: 28px;\n    height: 28px;\n    font-size: 13px;\n    margin: 0 0 8px 0; \/* a\u00fan m\u00e1s compacto en m\u00f3vil *\/\n  }<\/p>\n<p>  .tooltip-container .tooltip-text {\n    font-size: 10.5px;\n    padding: 5px 5px;\n  }\n}<\/p>\n<p>\/* Tooltip *\/\n.tooltip-container {\n  position: relative;\n  display: inline-block;\n}\n.tooltip-container .tooltip-text {\n  visibility: hidden;\n  opacity: 0;\n  background-color: #333;\n  color: #fff;\n  padding: 4px 8px;\n  border-radius: 5px;\n  font-size: 12px;\n  position: absolute;\n  bottom: 130%;\n  left: 50%;\n  transform: translateX(-50%);\n  white-space: nowrap;\n  transition: opacity 0.3s ease;\n  z-index: 20;\n}\n.tooltip-container .tooltip-text::after {\n  content: %22%22;\n  position: absolute;\n  top: 100%;\n  left: 50%;\n  transform: translateX(-50%);\n  border-width: 5px;\n  border-style: solid;\n  border-color: #333 transparent transparent transparent;\n}\n.tooltip-container:hover .tooltip-text {\n  visibility: visible;\n  opacity: 1;\n}<\/p>\n<p>\/* Modal estilos *\/\n#modalContactoDivi {\n  display: none;\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100vw;\n  height: 100vh;\n  background: rgba(0, 0, 0, 0.65);\n  z-index: 999999 !important;\n  justify-content: center;\n  align-items: center;\n  padding: 15px;\n}\n#modalContactoDivi > div {\n  background-color: #fff;\n  padding: 20px 20px 16px;\n  border-radius: 14px;\n  width: 100%;\n  max-width: 420px;\n  max-height: 90vh;\n  overflow-y: auto;\n  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);\n  animation: fadeInModal 0.3s ease-out;\n  font-family: 'Segoe UI', 'Roboto', sans-serif;\n}\n#modalContactoDivi h3 {\n  margin-top: 0;\n  margin-bottom: 12px;\n  font-size: 20px;\n  color: #222;\n  font-weight: 600;\n}\n#contenidoContactoDivi {\n  font-size: 13px;\n  color: #444;\n  line-height: 1.25;\n  white-space: pre-line;\n  word-break: break-word;\n  overflow-wrap: break-word;\n}\n#modalContactoDivi button {\n  margin-top: 20px;\n  background-color: #ef4444;\n  color: white;\n  border: none;\n  padding: 8px 18px;\n  border-radius: 6px;\n  cursor: pointer;\n  font-weight: 500;\n  font-size: 13.5px;\n  transition: background-color 0.3s ease;\n}\n#modalContactoDivi button:hover {\n  background-color: #dc2626;\n}\n#contenidoContactoDivi .info-item {\n  display: flex;\n  align-items: baseline;\n  gap: 6px;\n  margin: 0;\n  padding: 0;\n  font-size: 12.5px;\n  line-height: 1.1;\n  border: none;\n}\n#contenidoContactoDivi .icono {\n  font-size: 12px;\n  min-width: 12px;\n  color: #6b7280;\n  margin-top: 0;\n}\n#contenidoContactoDivi strong {\n  font-weight: 600;\n  color: #111827;\n  font-size: 12.5px;\n}\n#contenidoContactoDivi a {\n  font-size: 12.5px;\n  font-weight: 500;\n  text-decoration: none;\n  color: #1f2937;\n}\n#contenidoContactoDivi a:hover {\n  text-decoration: underline;\n}\n<\/style>\n<p><script>\ndocument.getElementById('btnContactoDivi').addEventListener('click', async function () {\n  const modal = document.getElementById('modalContactoDivi');\n  const contenido = document.getElementById('contenidoContactoDivi');\n  modal.style.display = 'flex';\n  contenido.innerText = 'Cargando...';<\/p>\n<p>  try {\n    const res = await fetch('https:\/\/script.google.com\/macros\/s\/AKfycbxCdGYHxjKQ0g-vxNL2Y15GF0U2dU1eueRJkaP1j0EUZ_DFsY0VO3w5wXrBY-fxMmE\/exec');\n    const data = await res.json();<\/p>\n<p>    if (data.config && data.config.infoContacto) {\n      let info = data.config.infoContacto;\n      let lineas = info.split(\/s*%91,|n%93s*\/);\n      const iconos = {\n        %22Horarios%22: %22fas fa-clock%22,\n        %22Ubicaci\u00f3n%22: %22fas fa-map-marker-alt%22,\n        %22WhatsApp%22: %22fab fa-whatsapp%22,\n        %22Tipos de env\u00edo%22: %22fas fa-box%22\n      };<\/p>\n<p>      contenido.innerHTML = %22%22;<\/p>\n<p>      lineas.forEach(linea => {\n        const %91clave, valor%93 = linea.split(%22:%22).map(str => str.trim());\n        if (clave && valor) {\n          const icono = iconos%91clave%93 || %22fas fa-info-circle%22;\n          let htmlValor = valor;<\/p>\n<p>          if (clave === %22WhatsApp%22) {\n            const numero = valor.replace(\/s+\/g, '');\n            htmlValor = `<a href=%22https:\/\/wa.me\/${numero}%22 data-et-target-link=%22_blank%22 style=%22color:#25D366;%22>${valor}<\/a>`;\n          }<\/p>\n<p>          contenido.innerHTML += `<\/p>\n<div class=%22info-item%22>\n              <i class=%22${icono} icono%22><\/i><\/p>\n<div><strong>${clave}:<\/strong> ${htmlValor}<\/div>\n<\/p><\/div>\n<p>          `;\n        }\n      });\n    } else {\n      contenido.innerText = %22No se encontr\u00f3 la informaci\u00f3n de contacto.%22;\n    }\n  } catch (err) {\n    contenido.innerText = %22Error al cargar la informaci\u00f3n.%22;\n  }\n});<\/p>\n<p>document.getElementById('cerrarModalContacto').addEventListener('click', function () {\n  document.getElementById('modalContactoDivi').style.display = 'none';\n});\ndocument.addEventListener(%22DOMContentLoaded%22, function () {\n  const modal = document.getElementById('modalContactoDivi');\n  if (modal && modal.parentNode !== document.body) {\n    document.body.appendChild(modal);\n  }\n});\ndocument.addEventListener('keydown', function (e) {\n  if (e.key === 'Escape') {\n    document.getElementById('modalContactoDivi').style.display = 'none';\n  }\n});\ndocument.getElementById('modalContactoDivi').addEventListener('click', function (e) {\n  const contenido = document.querySelector('#modalContactoDivi > div');\n  if (!contenido.contains(e.target)) {\n    this.style.display = 'none';\n  }\n});\n<\/script><\/p>\n<p>\u00bb raw_content_phone=\u00bb<!-- Font Awesome en el <head> si a\u00fan no lo tienes -->\n<link rel=%22stylesheet%22 href=%22https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.0\/css\/all.min.css%22>\n<p><!-- Bot\u00f3n que abre el modal con tooltip --><\/p>\n<div class=%22tooltip-container%22>\n  <button id=%22btnContactoDivi%22 class=%22boton-info%22><br \/>\n    <i class=%22fas fa-info-circle%22><\/i><br \/>\n  <\/button><br \/>\n  <span class=%22tooltip-text%22>Ver informaci\u00f3n del negocio<\/span>\n<\/div>\n<p><!-- Modal --><\/p>\n<div id=%22modalContactoDivi%22>\n<div>\n<h3>Informaci\u00f3n de Contacto<\/h3>\n<div id=%22contenidoContactoDivi%22>Cargando&#8230;<\/div>\n<p>    <button id=%22cerrarModalContacto%22>Cerrar<\/button>\n  <\/div>\n<\/div>\n<style>\n.boton-info {\n  background-color: #3b8bbd !important;\n  color: #fff;\n  border: none;\n  border-radius: 50%;\n  width: 36px;\n  height: 36px;\n  margin-top: 0px;\n  cursor: pointer;\n  transition: background-color 0.3s ease;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 16px;\n  line-height: 30px;\n  text-align: center;\n  vertical-align: middle;\n}<\/p>\n<p>.boton-info:hover {\n  background-color: #222;\n}\n.boton-info i {\n  vertical-align: middle;\n  line-height: 1;\n  transform: translateY(1px);\n}\n@media (max-width: 480px) {\n  .boton-info {\n    width: 28px;\n    height: 28px;\n    font-size: 13px;\n    margin: 0 0 8px 0; \/* a\u00fan m\u00e1s compacto en m\u00f3vil *\/\n  }<\/p>\n<p>  .tooltip-container .tooltip-text {\n    font-size: 10.5px;\n    padding: 5px 5px;\n  }\n}<\/p>\n<p>\/* Tooltip *\/\n.tooltip-container {\n  position: relative;\n  display: inline-block;\n}\n.tooltip-container .tooltip-text {\n  visibility: hidden;\n  opacity: 0;\n  background-color: #333;\n  color: #fff;\n  padding: 4px 8px;\n  border-radius: 5px;\n  font-size: 12px;\n  position: absolute;\n  bottom: 130%;\n  left: 50%;\n  transform: translateX(-50%);\n  white-space: nowrap;\n  transition: opacity 0.3s ease;\n  z-index: 20;\n}\n.tooltip-container .tooltip-text::after {\n  content: %22%22;\n  position: absolute;\n  top: 100%;\n  left: 50%;\n  transform: translateX(-50%);\n  border-width: 5px;\n  border-style: solid;\n  border-color: #333 transparent transparent transparent;\n}\n.tooltip-container:hover .tooltip-text {\n  visibility: visible;\n  opacity: 1;\n}<\/p>\n<p>\/* Modal estilos *\/\n#modalContactoDivi {\n  display: none;\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100vw;\n  height: 100vh;\n  background: rgba(0, 0, 0, 0.65);\n  z-index: 999999 !important;\n  justify-content: center;\n  align-items: center;\n  padding: 15px;\n}\n#modalContactoDivi > div {\n  background-color: #fff;\n  padding: 20px 20px 16px;\n  border-radius: 14px;\n  width: 100%;\n  max-width: 420px;\n  max-height: 90vh;\n  overflow-y: auto;\n  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);\n  animation: fadeInModal 0.3s ease-out;\n  font-family: 'Segoe UI', 'Roboto', sans-serif;\n}\n#modalContactoDivi h3 {\n  margin-top: 0;\n  margin-bottom: 12px;\n  font-size: 20px;\n  color: #222;\n  font-weight: 600;\n}\n#contenidoContactoDivi {\n  font-size: 13px;\n  color: #444;\n  line-height: 1.25;\n  white-space: pre-line;\n  word-break: break-word;\n  overflow-wrap: break-word;\n}\n#modalContactoDivi button {\n  margin-top: 20px;\n  background-color: #ef4444;\n  color: white;\n  border: none;\n  padding: 8px 18px;\n  border-radius: 6px;\n  cursor: pointer;\n  font-weight: 500;\n  font-size: 13.5px;\n  transition: background-color 0.3s ease;\n}\n#modalContactoDivi button:hover {\n  background-color: #dc2626;\n}\n#contenidoContactoDivi .info-item {\n  display: flex;\n  align-items: baseline;\n  gap: 6px;\n  margin: 0;\n  padding: 0;\n  font-size: 12.5px;\n  line-height: 1.1;\n  border: none;\n}\n#contenidoContactoDivi .icono {\n  font-size: 12px;\n  min-width: 12px;\n  color: #6b7280;\n  margin-top: 0;\n}\n#contenidoContactoDivi strong {\n  font-weight: 600;\n  color: #111827;\n  font-size: 12.5px;\n}\n#contenidoContactoDivi a {\n  font-size: 12.5px;\n  font-weight: 500;\n  text-decoration: none;\n  color: #1f2937;\n}\n#contenidoContactoDivi a:hover {\n  text-decoration: underline;\n}\n<\/style>\n<p><script>\ndocument.getElementById('btnContactoDivi').addEventListener('click', async function () {\n  const modal = document.getElementById('modalContactoDivi');\n  const contenido = document.getElementById('contenidoContactoDivi');\n  modal.style.display = 'flex';\n  contenido.innerText = 'Cargando...';<\/p>\n<p>  try {\n    const res = await fetch('https:\/\/script.google.com\/macros\/s\/AKfycbxCdGYHxjKQ0g-vxNL2Y15GF0U2dU1eueRJkaP1j0EUZ_DFsY0VO3w5wXrBY-fxMmE\/exec');\n    const data = await res.json();<\/p>\n<p>    if (data.config && data.config.infoContacto) {\n      let info = data.config.infoContacto;\n      let lineas = info.split(\/s*%91,|n%93s*\/);\n      const iconos = {\n        %22Horarios%22: %22fas fa-clock%22,\n        %22Ubicaci\u00f3n%22: %22fas fa-map-marker-alt%22,\n        %22WhatsApp%22: %22fab fa-whatsapp%22,\n        %22Tipos de env\u00edo%22: %22fas fa-box%22\n      };<\/p>\n<p>      contenido.innerHTML = %22%22;<\/p>\n<p>      lineas.forEach(linea => {\n        const %91clave, valor%93 = linea.split(%22:%22).map(str => str.trim());\n        if (clave && valor) {\n          const icono = iconos%91clave%93 || %22fas fa-info-circle%22;\n          let htmlValor = valor;<\/p>\n<p>          if (clave === %22WhatsApp%22) {\n            const numero = valor.replace(\/s+\/g, '');\n            htmlValor = `<a href=%22https:\/\/wa.me\/${numero}%22 data-et-target-link=%22_blank%22 style=%22color:#25D366;%22>${valor}<\/a>`;\n          }<\/p>\n<p>          contenido.innerHTML += `<\/p>\n<div class=%22info-item%22>\n              <i class=%22${icono} icono%22><\/i><\/p>\n<div><strong>${clave}:<\/strong> ${htmlValor}<\/div>\n<\/p><\/div>\n<p>          `;\n        }\n      });\n    } else {\n      contenido.innerText = %22No se encontr\u00f3 la informaci\u00f3n de contacto.%22;\n    }\n  } catch (err) {\n    contenido.innerText = %22Error al cargar la informaci\u00f3n.%22;\n  }\n});<\/p>\n<p>document.getElementById('cerrarModalContacto').addEventListener('click', function () {\n  document.getElementById('modalContactoDivi').style.display = 'none';\n});\ndocument.addEventListener(%22DOMContentLoaded%22, function () {\n  const modal = document.getElementById('modalContactoDivi');\n  if (modal && modal.parentNode !== document.body) {\n    document.body.appendChild(modal);\n  }\n});\ndocument.addEventListener('keydown', function (e) {\n  if (e.key === 'Escape') {\n    document.getElementById('modalContactoDivi').style.display = 'none';\n  }\n});\ndocument.getElementById('modalContactoDivi').addEventListener('click', function (e) {\n  const contenido = document.querySelector('#modalContactoDivi > div');\n  if (!contenido.contains(e.target)) {\n    this.style.display = 'none';\n  }\n});\n<\/script><\/p>\n<p>\u00bb raw_content_last_edited=\u00bbon|desktop\u00bb admin_label=\u00bbBoton Info de negocio\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb custom_margin=\u00bb0px||0px||false|false\u00bb custom_padding=\u00bb0px||0px||false|false\u00bb global_colors_info=\u00bb{}\u00bb]<!-- Font Awesome en el <head> si a\u00fan no lo tienes --><!-- [et_pb_line_break_holder] --><link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.0\/css\/all.min.css\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Bot\u00f3n que abre el modal con tooltip --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"tooltip-container\"><!-- [et_pb_line_break_holder] -->  <button id=\"btnContactoDivi\" class=\"boton-info\"><!-- [et_pb_line_break_holder] -->    <i class=\"fas fa-info-circle\"><\/i><!-- [et_pb_line_break_holder] -->  <\/button><!-- [et_pb_line_break_holder] -->  <span class=\"tooltip-text\">Ver informaci\u00f3n del negocio<\/span><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Modal --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"modalContactoDivi\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div><!-- [et_pb_line_break_holder] -->    <\/p>\n<h3>Informaci\u00f3n de Contacto<\/h3>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"contenidoContactoDivi\">Cargando&#8230;<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <button id=\"cerrarModalContacto\">Cerrar<\/button><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->.boton-info {<!-- [et_pb_line_break_holder] -->  background-color: #3b8bbd !important;<!-- [et_pb_line_break_holder] -->  color: #fff;<!-- [et_pb_line_break_holder] -->  border: none;<!-- [et_pb_line_break_holder] -->  border-radius: 50%;<!-- [et_pb_line_break_holder] -->  width: 36px;<!-- [et_pb_line_break_holder] -->  height: 36px;<!-- [et_pb_line_break_holder] -->  margin: 0;<!-- [et_pb_line_break_holder] -->  padding: 0;<!-- [et_pb_line_break_holder] -->  cursor: pointer;<!-- [et_pb_line_break_holder] -->  display: inline-flex;<!-- [et_pb_line_break_holder] -->  align-items: center;<!-- [et_pb_line_break_holder] -->  justify-content: center;<!-- [et_pb_line_break_holder] -->  font-size: 18px;<!-- [et_pb_line_break_holder] -->  transition: background-color 0.3s ease;<!-- [et_pb_line_break_holder] -->  box-sizing: border-box;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->.boton-info:hover {<!-- [et_pb_line_break_holder] -->  background-color: #222;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->.boton-info i {<!-- [et_pb_line_break_holder] -->  line-height: 1;<!-- [et_pb_line_break_holder] -->  vertical-align: middle;<!-- [et_pb_line_break_holder] -->  transform: translateY(0px); \/* m\u00e1s limpio *\/<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->@media (max-width: 480px) {<!-- [et_pb_line_break_holder] -->  .boton-info {<!-- [et_pb_line_break_holder] -->    width: 28px;<!-- [et_pb_line_break_holder] -->    height: 28px;<!-- [et_pb_line_break_holder] -->    font-size: 15px;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  .tooltip-container .tooltip-text {<!-- [et_pb_line_break_holder] -->    font-size: 10.5px;<!-- [et_pb_line_break_holder] -->    padding: 3px 7px;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* Tooltip *\/<!-- [et_pb_line_break_holder] -->.tooltip-container {<!-- [et_pb_line_break_holder] -->  position: relative;<!-- [et_pb_line_break_holder] -->  display: inline-block;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.tooltip-container .tooltip-text {<!-- [et_pb_line_break_holder] -->  visibility: hidden;<!-- [et_pb_line_break_holder] -->  opacity: 0;<!-- [et_pb_line_break_holder] -->  background-color: #333;<!-- [et_pb_line_break_holder] -->  color: #fff;<!-- [et_pb_line_break_holder] -->  padding: 4px 8px;<!-- [et_pb_line_break_holder] -->  border-radius: 5px;<!-- [et_pb_line_break_holder] -->  font-size: 12px;<!-- [et_pb_line_break_holder] -->  position: absolute;<!-- [et_pb_line_break_holder] -->  bottom: 130%;<!-- [et_pb_line_break_holder] -->  left: 50%;<!-- [et_pb_line_break_holder] -->  transform: translateX(-50%);<!-- [et_pb_line_break_holder] -->  white-space: nowrap;<!-- [et_pb_line_break_holder] -->  transition: opacity 0.3s ease;<!-- [et_pb_line_break_holder] -->  z-index: 20;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.tooltip-container .tooltip-text::after {<!-- [et_pb_line_break_holder] -->  content: \"\";<!-- [et_pb_line_break_holder] -->  position: absolute;<!-- [et_pb_line_break_holder] -->  top: 100%;<!-- [et_pb_line_break_holder] -->  left: 50%;<!-- [et_pb_line_break_holder] -->  transform: translateX(-50%);<!-- [et_pb_line_break_holder] -->  border-width: 5px;<!-- [et_pb_line_break_holder] -->  border-style: solid;<!-- [et_pb_line_break_holder] -->  border-color: #333 transparent transparent transparent;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.tooltip-container:hover .tooltip-text {<!-- [et_pb_line_break_holder] -->  visibility: visible;<!-- [et_pb_line_break_holder] -->  opacity: 1;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* Modal estilos *\/<!-- [et_pb_line_break_holder] -->#modalContactoDivi {<!-- [et_pb_line_break_holder] -->  display: none;<!-- [et_pb_line_break_holder] -->  position: fixed;<!-- [et_pb_line_break_holder] -->  top: 0;<!-- [et_pb_line_break_holder] -->  left: 0;<!-- [et_pb_line_break_holder] -->  width: 100vw;<!-- [et_pb_line_break_holder] -->  height: 100vh;<!-- [et_pb_line_break_holder] -->  background: rgba(0, 0, 0, 0.65);<!-- [et_pb_line_break_holder] -->  z-index: 999999 !important;<!-- [et_pb_line_break_holder] -->  justify-content: center;<!-- [et_pb_line_break_holder] -->  align-items: center;<!-- [et_pb_line_break_holder] -->  padding: 15px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#modalContactoDivi > div {<!-- [et_pb_line_break_holder] -->  background-color: #fff;<!-- [et_pb_line_break_holder] -->  padding: 20px 20px 16px;<!-- [et_pb_line_break_holder] -->  border-radius: 14px;<!-- [et_pb_line_break_holder] -->  width: 100%;<!-- [et_pb_line_break_holder] -->  max-width: 420px;<!-- [et_pb_line_break_holder] -->  max-height: 90vh;<!-- [et_pb_line_break_holder] -->  overflow-y: auto;<!-- [et_pb_line_break_holder] -->  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);<!-- [et_pb_line_break_holder] -->  animation: fadeInModal 0.3s ease-out;<!-- [et_pb_line_break_holder] -->  font-family: 'Segoe UI', 'Roboto', sans-serif;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#modalContactoDivi h3 {<!-- [et_pb_line_break_holder] -->  margin-top: 0;<!-- [et_pb_line_break_holder] -->  margin-bottom: 12px;<!-- [et_pb_line_break_holder] -->  font-size: 20px;<!-- [et_pb_line_break_holder] -->  color: #222;<!-- [et_pb_line_break_holder] -->  font-weight: 600;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#contenidoContactoDivi {<!-- [et_pb_line_break_holder] -->  font-size: 13px;<!-- [et_pb_line_break_holder] -->  color: #444;<!-- [et_pb_line_break_holder] -->  line-height: 1.25;<!-- [et_pb_line_break_holder] -->  white-space: pre-line;<!-- [et_pb_line_break_holder] -->  word-break: break-word;<!-- [et_pb_line_break_holder] -->  overflow-wrap: break-word;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#modalContactoDivi button {<!-- [et_pb_line_break_holder] -->  margin-top: 20px;<!-- [et_pb_line_break_holder] -->  background-color: #ef4444;<!-- [et_pb_line_break_holder] -->  color: white;<!-- [et_pb_line_break_holder] -->  border: none;<!-- [et_pb_line_break_holder] -->  padding: 8px 18px;<!-- [et_pb_line_break_holder] -->  border-radius: 6px;<!-- [et_pb_line_break_holder] -->  cursor: pointer;<!-- [et_pb_line_break_holder] -->  font-weight: 500;<!-- [et_pb_line_break_holder] -->  font-size: 13.5px;<!-- [et_pb_line_break_holder] -->  transition: background-color 0.3s ease;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#modalContactoDivi button:hover {<!-- [et_pb_line_break_holder] -->  background-color: #dc2626;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#contenidoContactoDivi .info-item {<!-- [et_pb_line_break_holder] -->  display: flex;<!-- [et_pb_line_break_holder] -->  align-items: baseline;<!-- [et_pb_line_break_holder] -->  gap: 6px;<!-- [et_pb_line_break_holder] -->  margin: 0;<!-- [et_pb_line_break_holder] -->  padding: 0;<!-- [et_pb_line_break_holder] -->  font-size: 12.5px;<!-- [et_pb_line_break_holder] -->  line-height: 1.1;<!-- [et_pb_line_break_holder] -->  border: none;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#contenidoContactoDivi .icono {<!-- [et_pb_line_break_holder] -->  font-size: 12px;<!-- [et_pb_line_break_holder] -->  min-width: 12px;<!-- [et_pb_line_break_holder] -->  color: #6b7280;<!-- [et_pb_line_break_holder] -->  margin-top: 0;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#contenidoContactoDivi strong {<!-- [et_pb_line_break_holder] -->  font-weight: 600;<!-- [et_pb_line_break_holder] -->  color: #111827;<!-- [et_pb_line_break_holder] -->  font-size: 12.5px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#contenidoContactoDivi a {<!-- [et_pb_line_break_holder] -->  font-size: 12.5px;<!-- [et_pb_line_break_holder] -->  font-weight: 500;<!-- [et_pb_line_break_holder] -->  text-decoration: none;<!-- [et_pb_line_break_holder] -->  color: #1f2937;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#contenidoContactoDivi a:hover {<!-- [et_pb_line_break_holder] -->  text-decoration: underline;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->document.getElementById('btnContactoDivi').addEventListener('click', async function () {<!-- [et_pb_line_break_holder] -->  const modal = document.getElementById('modalContactoDivi');<!-- [et_pb_line_break_holder] -->  const contenido = document.getElementById('contenidoContactoDivi');<!-- [et_pb_line_break_holder] -->  modal.style.display = 'flex';<!-- [et_pb_line_break_holder] -->  contenido.innerText = 'Cargando...';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  try {<!-- [et_pb_line_break_holder] -->    const res = await fetch('https:\/\/script.google.com\/macros\/s\/AKfycbxCdGYHxjKQ0g-vxNL2Y15GF0U2dU1eueRJkaP1j0EUZ_DFsY0VO3w5wXrBY-fxMmE\/exec');<!-- [et_pb_line_break_holder] -->    const data = await res.json();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    if (data.config && data.config.infoContacto) {<!-- [et_pb_line_break_holder] -->      let info = data.config.infoContacto;<!-- [et_pb_line_break_holder] -->      let lineas = info.split(\/\\s*[,|\\n]\\s*\/);<!-- [et_pb_line_break_holder] -->      const iconos = {<!-- [et_pb_line_break_holder] -->        \"Horarios\": \"fas fa-clock\",<!-- [et_pb_line_break_holder] -->        \"Ubicaci\u00f3n\": \"fas fa-map-marker-alt\",<!-- [et_pb_line_break_holder] -->        \"WhatsApp\": \"fab fa-whatsapp\",<!-- [et_pb_line_break_holder] -->        \"Tipos de env\u00edo\": \"fas fa-box\"<!-- [et_pb_line_break_holder] -->      };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      contenido.innerHTML = \"\";<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      lineas.forEach(linea => {<!-- [et_pb_line_break_holder] -->        const [clave, valor] = linea.split(\":\").map(str => str.trim());<!-- [et_pb_line_break_holder] -->        if (clave && valor) {<!-- [et_pb_line_break_holder] -->          const icono = iconos[clave] || \"fas fa-info-circle\";<!-- [et_pb_line_break_holder] -->          let htmlValor = valor;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          if (clave === \"WhatsApp\") {<!-- [et_pb_line_break_holder] -->            const numero = valor.replace(\/\\s+\/g, '');<!-- [et_pb_line_break_holder] -->            htmlValor = `<a href=\"https:\/\/wa.me\/${numero}\" target=\"_blank\" style=\"color:#25D366;\">${valor}<\/a>`;<!-- [et_pb_line_break_holder] -->          }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          contenido.innerHTML += `<!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"info-item\"><!-- [et_pb_line_break_holder] -->              <i class=\"${icono} icono\"><\/i><!-- [et_pb_line_break_holder] -->              <\/p>\n<div><strong>${clave}:<\/strong> ${htmlValor}<\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          `;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      contenido.innerText = \"No se encontr\u00f3 la informaci\u00f3n de contacto.\";<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  } catch (err) {<!-- [et_pb_line_break_holder] -->    contenido.innerText = \"Error al cargar la informaci\u00f3n.\";<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->document.getElementById('cerrarModalContacto').addEventListener('click', function () {<!-- [et_pb_line_break_holder] -->  document.getElementById('modalContactoDivi').style.display = 'none';<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] -->document.addEventListener(\"DOMContentLoaded\", function () {<!-- [et_pb_line_break_holder] -->  const modal = document.getElementById('modalContactoDivi');<!-- [et_pb_line_break_holder] -->  if (modal && modal.parentNode !== document.body) {<!-- [et_pb_line_break_holder] -->    document.body.appendChild(modal);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] -->document.addEventListener('keydown', function (e) {<!-- [et_pb_line_break_holder] -->  if (e.key === 'Escape') {<!-- [et_pb_line_break_holder] -->    document.getElementById('modalContactoDivi').style.display = 'none';<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] -->document.getElementById('modalContactoDivi').addEventListener('click', function (e) {<!-- [et_pb_line_break_holder] -->  const contenido = document.querySelector('#modalContactoDivi > div');<!-- [et_pb_line_break_holder] -->  if (!contenido.contains(e.target)) {<!-- [et_pb_line_break_holder] -->    this.style.display = 'none';<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><\/script><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->[\/et_pb_code][\/et_pb_column][et_pb_column type=\u00bb1_2&#8243; admin_label=\u00bbcol-centro\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb custom_padding=\u00bb10px||10px||false|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_code admin_label=\u00bbBoton Compartir Cat\u00e1logo\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb text_orientation=\u00bbright\u00bb module_alignment=\u00bbright\u00bb custom_margin=\u00bb||6px|||\u00bb custom_padding=\u00bb||5px|||\u00bb global_colors_info=\u00bb{}\u00bb]<!-- Bot\u00f3n WhatsApp --><!-- [et_pb_line_break_holder] --><a href=\"https:\/\/wa.me\/5213323257675?text=Hola%2C%20me%20interesa%20m\u00e1s%20informaci\u00f3n%20sobre%20el%20cat\u00e1logo%20digital\" target=\"_blank\" class=\"btn whatsapp-info\" id=\"btnWhatsappInfo\"><!-- [et_pb_line_break_holder] -->  <i class=\"fab fa-whatsapp btn-icon\"><\/i><!-- [et_pb_line_break_holder] -->  <span class=\"texto-whatsapp\">Contacto<\/span><!-- [et_pb_line_break_holder] --><\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Bot\u00f3n Compartir --><!-- [et_pb_line_break_holder] --><button class=\"btn compartir-catalogo\" id=\"compartirCatalogo\"><!-- [et_pb_line_break_holder] -->  <i class=\"fas fa-share-alt btn-icon\"><\/i><!-- [et_pb_line_break_holder] -->  <span class=\"texto-compartir\">Compartir cat\u00e1logo<\/span><!-- [et_pb_line_break_holder] --><\/button><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Toast --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"toast-notificacion\" id=\"toastCompartido\">\ud83d\udd17 Enlace copiado al portapapeles<\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- ESTILOS --><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->\/* ===== ESTILO GENERAL DE BOTONES ===== *\/<!-- [et_pb_line_break_holder] -->.btn {<!-- [et_pb_line_break_holder] -->  display: inline-flex;<!-- [et_pb_line_break_holder] -->  align-items: center;<!-- [et_pb_line_break_holder] -->  justify-content: center;<!-- [et_pb_line_break_holder] -->  gap: 5px;<!-- [et_pb_line_break_holder] -->  padding: 5px 5px;<!-- [et_pb_line_break_holder] -->  font-size: 14px;<!-- [et_pb_line_break_holder] -->  border-radius: 5px;<!-- [et_pb_line_break_holder] -->  transition: all 0.3s ease;<!-- [et_pb_line_break_holder] -->  color: white;<!-- [et_pb_line_break_holder] -->  text-decoration: none;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* ===== BOT\u00d3N WHATSAPP ===== *\/<!-- [et_pb_line_break_holder] -->.whatsapp-info {<!-- [et_pb_line_break_holder] -->  background-color: #25d366;<!-- [et_pb_line_break_holder] -->  margin-right: 10px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* ===== BOT\u00d3N COMPARTIR (color diferente) ===== *\/<!-- [et_pb_line_break_holder] -->.compartir-catalogo {<!-- [et_pb_line_break_holder] -->  background-color: #10b981; \/* verde menta *\/<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* ===== DISE\u00d1O M\u00d3VIL (solo \u00edcono cuadrado) ===== *\/<!-- [et_pb_line_break_holder] -->@media (max-width: 767px) {<!-- [et_pb_line_break_holder] -->  .compartir-catalogo,<!-- [et_pb_line_break_holder] -->  .whatsapp-info {<!-- [et_pb_line_break_holder] -->    width: 30px;<!-- [et_pb_line_break_holder] -->    height: 30px;<!-- [et_pb_line_break_holder] -->    padding: 0;<!-- [et_pb_line_break_holder] -->    border-radius: 10%;<!-- [et_pb_line_break_holder] -->    justify-content: center;<!-- [et_pb_line_break_holder] -->    align-items: center;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  .compartir-catalogo .texto-compartir,<!-- [et_pb_line_break_holder] -->  .whatsapp-info .texto-whatsapp {<!-- [et_pb_line_break_holder] -->    display: none;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  .compartir-catalogo i,<!-- [et_pb_line_break_holder] -->  .whatsapp-info i {<!-- [et_pb_line_break_holder] -->    font-size: 16px;<!-- [et_pb_line_break_holder] -->    margin: 0;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->@media (min-width: 768px) {<!-- [et_pb_line_break_holder] -->  #btnWhatsappInfo,<!-- [et_pb_line_break_holder] -->  #compartirCatalogo {<!-- [et_pb_line_break_holder] -->    padding-top: 5px !important;<!-- [et_pb_line_break_holder] -->    padding-bottom: 5px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- SCRIPT --><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->document.getElementById('compartirCatalogo').addEventListener('click', function () {<!-- [et_pb_line_break_holder] -->  const url = window.location.href;<!-- [et_pb_line_break_holder] -->  const titulo = document.title;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  if (navigator.share) {<!-- [et_pb_line_break_holder] -->    navigator.share({<!-- [et_pb_line_break_holder] -->      title: titulo,<!-- [et_pb_line_break_holder] -->      text: \"Echa un vistazo a este cat\u00e1logo digital \ud83d\udcf2\",<!-- [et_pb_line_break_holder] -->      url: url<!-- [et_pb_line_break_holder] -->    }).then(() => {<!-- [et_pb_line_break_holder] -->      console.log('Compartido con \u00e9xito');<!-- [et_pb_line_break_holder] -->    }).catch(err => {<!-- [et_pb_line_break_holder] -->      console.error('Error al compartir:', err);<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  } else {<!-- [et_pb_line_break_holder] -->    const tempInput = document.createElement(\"input\");<!-- [et_pb_line_break_holder] -->    document.body.appendChild(tempInput);<!-- [et_pb_line_break_holder] -->    tempInput.value = url;<!-- [et_pb_line_break_holder] -->    tempInput.select();<!-- [et_pb_line_break_holder] -->    document.execCommand(\"copy\");<!-- [et_pb_line_break_holder] -->    document.body.removeChild(tempInput);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const toast = document.getElementById(\"toastCompartido\");<!-- [et_pb_line_break_holder] -->    toast.classList.add(\"show\");<!-- [et_pb_line_break_holder] -->    setTimeout(() => toast.classList.remove(\"show\"), 3000);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><\/script><!-- [et_pb_line_break_holder] -->[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; custom_padding_last_edited=\u00bbon|desktop\u00bb admin_label=\u00bbHero\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bb#f8fafc\u00bb custom_margin=\u00bb-19px|||||\u00bb custom_padding=\u00bb0px||20px||false|false\u00bb custom_padding_tablet=\u00bb||||false|false\u00bb custom_padding_phone=\u00bb||||false|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_row admin_label=\u00bbImagen Portada\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bbrgba(0,0,0,0.3)\u00bb background_image=\u00bbhttps:\/\/komertio.com\/demo\/wp-content\/uploads\/sites\/2\/2025\/05\/ChatGPT-Image-3-may-2025-05_47_30-p.m.webp\u00bb background_blend=\u00bbmultiply\u00bb width=\u00bb100%\u00bb max_width=\u00bb100%\u00bb module_alignment=\u00bbcenter\u00bb height=\u00bb260px\u00bb height_tablet=\u00bb160px\u00bb height_phone=\u00bb140px\u00bb height_last_edited=\u00bbon|phone\u00bb custom_margin=\u00bb13px|0px|0px|0px|false|false\u00bb custom_padding=\u00bb0px|0px|0px|0px|false|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=\u00bbMarquesina\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bb#000000&#8243; background_enable_image=\u00bboff\u00bb background_blend=\u00bbmultiply\u00bb width=\u00bb100%\u00bb max_width=\u00bb100%\u00bb module_alignment=\u00bbcenter\u00bb height_tablet=\u00bb\u00bb height_phone=\u00bb\u00bb height_last_edited=\u00bbon|phone\u00bb custom_margin=\u00bb0px|0px|0px|0px|false|false\u00bb custom_padding=\u00bb0px|0px|0px|0px|false|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb custom_padding=\u00bb0px||0px||false|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_code _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb custom_margin=\u00bb0px||-5px||false|false\u00bb custom_padding=\u00bb0px||0px||false|false\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<div class=\"custom-marquee js-marquee\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"custom-marquee-inner\"><!-- [et_pb_line_break_holder] --><span>Tenis<\/span><!-- [et_pb_line_break_holder] -->    <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Sneakers<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Nike<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Pumas<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Fitness<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Casual<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Clasicos<\/span><!-- [et_pb_line_break_holder] -->    <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->   <span>Converse<\/span><!-- [et_pb_line_break_holder] --><span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Tenis<\/span><!-- [et_pb_line_break_holder] -->    <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Sneakers<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Nike<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Pumas<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Fitness<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Casual<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Clasicos<\/span><!-- [et_pb_line_break_holder] -->    <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->   <span>Converse<\/span><!-- [et_pb_line_break_holder] --><span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Tenis<\/span><!-- [et_pb_line_break_holder] -->    <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Sneakers<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Nike<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Pumas<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Fitness<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Casual<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Clasicos<\/span><!-- [et_pb_line_break_holder] -->    <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->   <span>Converse<\/span><!-- [et_pb_line_break_holder] --><span> &#8211; <\/span><!-- [et_pb_line_break_holder] --><span>Tenis<\/span><!-- [et_pb_line_break_holder] -->    <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Sneakers<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Nike<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Pumas<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Fitness<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Casual<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Clasicos<\/span><!-- [et_pb_line_break_holder] -->    <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->   <span>Converse<\/span><!-- [et_pb_line_break_holder] --><span> &#8211; <\/span>  <!-- [et_pb_line_break_holder] --><span>Tenis<\/span><!-- [et_pb_line_break_holder] -->    <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Sneakers<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Nike<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Pumas<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Fitness<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Casual<\/span><!-- [et_pb_line_break_holder] -->     <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->    <span>Clasicos<\/span><!-- [et_pb_line_break_holder] -->    <span> &#8211; <\/span><!-- [et_pb_line_break_holder] -->   <span>Converse<\/span><!-- [et_pb_line_break_holder] --><span> &#8211; <\/span>    <!-- [et_pb_line_break_holder] --> <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] -->[\/et_pb_code][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=\u00bbImagen Perfil\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bb#cecece\u00bb background_image=\u00bbhttps:\/\/komertio.com\/demo\/wp-content\/uploads\/sites\/2\/2025\/05\/ChatGPT-Image-3-may-2025-05_38_01-p.m.webp\u00bb transform_scale_tablet=\u00bb\u00bb transform_scale_phone=\u00bb\u00bb transform_scale_last_edited=\u00bbon|desktop\u00bb transform_translate=\u00bb0px|-80px\u00bb transform_translate_tablet=\u00bb0px|-80px\u00bb transform_translate_phone=\u00bb0px|-60px\u00bb transform_translate_last_edited=\u00bbon|phone\u00bb transform_translate_linked=\u00bboff\u00bb transform_rotate_tablet=\u00bb\u00bb transform_rotate_phone=\u00bb\u00bb transform_rotate_last_edited=\u00bbon|desktop\u00bb transform_skew_tablet=\u00bb\u00bb transform_skew_phone=\u00bb\u00bb transform_skew_last_edited=\u00bbon|desktop\u00bb transform_origin_tablet=\u00bb\u00bb transform_origin_phone=\u00bb\u00bb transform_origin_last_edited=\u00bbon|desktop\u00bb transform_styles_last_edited=\u00bbon|phone\u00bb z_index=\u00bb500&#8243; width=\u00bb100%\u00bb max_width=\u00bb160px\u00bb max_width_tablet=\u00bb140px\u00bb max_width_phone=\u00bb120px\u00bb max_width_last_edited=\u00bbon|desktop\u00bb height=\u00bb160px\u00bb height_tablet=\u00bb140px\u00bb height_phone=\u00bb120px\u00bb height_last_edited=\u00bbon|desktop\u00bb custom_margin=\u00bb0px||0px||false|false\u00bb custom_margin_tablet=\u00bb-75px||30px||false|false\u00bb custom_margin_phone=\u00bb-65px||20px||false|false\u00bb custom_margin_last_edited=\u00bbon|desktop\u00bb custom_padding=\u00bb0px|0px|0px|0px|true|false\u00bb transform_styles_tablet=\u00bb\u00bb transform_styles_phone=\u00bb\u00bb border_radii=\u00bbon|100px|100px|100px|100px\u00bb border_width_all=\u00bb7px\u00bb border_color_all=\u00bb#FFFFFF\u00bb border_width_all_tablet=\u00bb6px\u00bb border_width_all_phone=\u00bb4px\u00bb border_width_all_last_edited=\u00bbon|phone\u00bb box_shadow_style=\u00bbpreset1&#8243; box_shadow_color=\u00bbrgba(0,0,0,0.16)\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb90%\u00bb max_width=\u00bb798px\u00bb custom_margin=\u00bb-40px||||false|false\u00bb custom_margin_tablet=\u00bb-40px||||false|false\u00bb custom_margin_phone=\u00bb-60px||||false|false\u00bb custom_margin_last_edited=\u00bbon|phone\u00bb custom_padding=\u00bb0px||0px||true|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text admin_label=\u00bbT\u00edtulo\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbMontserrat|700|||||||\u00bb header_font=\u00bbMontserrat|700|||||||\u00bb header_text_align=\u00bbcenter\u00bb header_text_color=\u00bb#000000&#8243; header_font_size=\u00bb35px\u00bb header_line_height=\u00bb1.3em\u00bb custom_margin=\u00bb||10px||false|false\u00bb header_font_size_tablet=\u00bb26px\u00bb header_font_size_phone=\u00bb25px\u00bb header_font_size_last_edited=\u00bbon|phone\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h1>Tenis &amp; Co.<\/h1>\n<div id=\"gtx-trans\" style=\"position: absolute; left: 2px; top: 63.5347px;\">\n<div class=\"gtx-trans-icon\"><\/div>\n<\/div>\n<p>[\/et_pb_text][et_pb_text admin_label=\u00bbDescripci\u00f3n\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbMontserrat||||||||\u00bb text_font_size=\u00bb15px\u00bb text_orientation=\u00bbcenter\u00bb text_font_size_tablet=\u00bb14px\u00bb text_font_size_phone=\u00bb13px\u00bb text_font_size_last_edited=\u00bbon|desktop\u00bb text_line_height_tablet=\u00bb1.7em\u00bb text_line_height_phone=\u00bb1.4em\u00bb text_line_height_last_edited=\u00bbon|phone\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<p>Tienda especializada en tenis para todas las edades y estilos. Ofrecemos modelos c\u00f3modos, modernos y duraderos, ideales para el uso diario, actividades deportivas o looks casuales.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; custom_padding_last_edited=\u00bbon|desktop\u00bb admin_label=\u00bbProductos\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bb#f8fafc\u00bb custom_margin=\u00bb||||false|false\u00bb custom_padding=\u00bb0px||70px||false|false\u00bb custom_padding_tablet=\u00bb0px||50px||false|false\u00bb custom_padding_phone=\u00bb0px||30px||false|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_row _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb90%\u00bb max_width=\u00bb1200px\u00bb custom_padding=\u00bb0px||0px||true|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.23.1&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb custom_css_main_element_last_edited=\u00bboff|desktop\u00bb][et_pb_code admin_label=\u00bbEstructura HTML WA GS\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<!-- Preloader --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"preloader\" class=\"loadingio-spinner-rolling-zt8qwybayi\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"ldio-pk6mhbe1fco\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- B\u00fasqueda y categor\u00edas --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"contenedor-buscador\" style=\"display: none;\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"input-container\"><!-- [et_pb_line_break_holder] -->    <input type=\"text\" id=\"buscar-producto\" placeholder=\"Buscar producto...\"><!-- [et_pb_line_break_holder] -->    <button id=\"limpiar-busqueda\" style=\"display: none;\">\u00d7<\/button><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"categorias-contenedor-wrapper\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div id=\"categorias-contenedor\" class=\"categorias-contenedor\"><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Controles superiores --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"controles-superiores\" class=\"controles-superiores\" style=\"display: none;\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"info-productos\"><!-- [et_pb_line_break_holder] -->    <span id=\"contador-productos\">0 productos<\/span><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"filtros-contenedor\"><!-- [et_pb_line_break_holder] -->    <select id=\"ordenar-productos\" class=\"ordenar-productos\"><!-- [et_pb_line_break_holder] --><option value=\"default\">Ordenar por<\/option><!-- [et_pb_line_break_holder] --><option value=\"a-z\">A-Z<\/option><!-- [et_pb_line_break_holder] --><option value=\"z-a\">Z-A<\/option><!-- [et_pb_line_break_holder] --><option value=\"precio-asc\">Precio: menor a mayor<\/option><!-- [et_pb_line_break_holder] --><option value=\"precio-desc\">Precio: mayor a menor<\/option><!-- [et_pb_line_break_holder] --><option value=\"reciente\">M\u00e1s recientes<\/option><!-- [et_pb_line_break_holder] --><option value=\"popular\">M\u00e1s populares<\/option><!-- [et_pb_line_break_holder] -->    <\/select><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Contenedor de productos y mensaje de no encontrado --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"contenedor-productos\" class=\"contenedor-productos\"><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"mensaje-no-encontrado\" style=\"display: none;\">No se encontraron productos.<\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Paginaci\u00f3n --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"paginacion\" class=\"paginacion\" style=\"display: none;\"><!-- [et_pb_line_break_holder] -->  <button id=\"pagina-anterior\" class=\"pagina-btn\" disabled>\u00ab Anterior<\/button><!-- [et_pb_line_break_holder] -->  <\/p>\n<div id=\"numeros-paginas\" class=\"numeros-paginas\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <button id=\"pagina-siguiente\" class=\"pagina-btn\">Siguiente \u00bb<\/button><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Branding abajo --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"branding-bottom\" style=\"text-align: center; margin-top: 30px; padding: 10px 0;\"><!-- [et_pb_line_break_holder] -->  <a href=\"https:\/\/komertio.com\" target=\"_blank\" rel=\"noopener noreferrer\"><!-- [et_pb_line_break_holder] -->    <img decoding=\"async\" src=\"https:\/\/komertio.com\/demo\/wp-content\/uploads\/sites\/2\/2025\/05\/LogitoKomertio.webp\" alt=\"Marca\" style=\"max-width: 150px; opacity: 0.6;\"><!-- [et_pb_line_break_holder] -->  <\/a><!-- [et_pb_line_break_holder] -->  <pee style=\"font-size: 10px; color: #888;\">Desarrollado por <strong>Ariel Gomez<\/strong><\/pee><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; disabled_on=\u00bboff|off|off\u00bb admin_label=\u00bbIcono carrito + contador\u00bb module_id=\u00bbcarrito-icon\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bb#128c7e\u00bb position_origin_f=\u00bbbottom_right\u00bb z_index=\u00bb99999&#8243; vertical_offset_tablet=\u00bb35px\u00bb vertical_offset_last_edited=\u00bboff|phone\u00bb horizontal_offset_tablet=\u00bb35px\u00bb horizontal_offset_last_edited=\u00bboff|phone\u00bb width_tablet=\u00bb68px\u00bb width_last_edited=\u00bboff|phone\u00bb height_tablet=\u00bb68px\u00bb height_last_edited=\u00bboff|phone\u00bb overflow-x=\u00bbvisible\u00bb overflow-y=\u00bbvisible\u00bb custom_margin=\u00bb||0px||false|false\u00bb custom_padding=\u00bb0px||0px||true|false\u00bb global_colors_info=\u00bb{}\u00bb background__hover_enabled=\u00bbon|desktop\u00bb background_color__hover=\u00bb#075e54&#8243; background_enable_color__hover=\u00bbon\u00bb][et_pb_row _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb100%\u00bb max_width=\u00bb100%\u00bb height=\u00bb100%\u00bb custom_padding=\u00bb0px||0px||true|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.23&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text admin_label=\u00bbContador\u00bb module_id=\u00bbcarrito-contador\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbPoppins||||||||\u00bb text_text_color=\u00bb#FFFFFF\u00bb text_font_size=\u00bb16px\u00bb background_color=\u00bb#E02B20&#8243; position_origin_a=\u00bbtop_right\u00bb z_index=\u00bb99&#8243; text_orientation=\u00bbcenter\u00bb width=\u00bb24px\u00bb width_tablet=\u00bb24px\u00bb width_phone=\u00bb23px\u00bb width_last_edited=\u00bbon|desktop\u00bb height=\u00bb24px\u00bb height_tablet=\u00bb24px\u00bb height_phone=\u00bb23px\u00bb height_last_edited=\u00bbon|desktop\u00bb custom_margin=\u00bb||0px||false|false\u00bb text_font_size_tablet=\u00bb16px\u00bb text_font_size_phone=\u00bb14px\u00bb text_font_size_last_edited=\u00bbon|desktop\u00bb border_radii=\u00bbon|100px|100px|100px|100px\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<p>0<\/p>\n<p>[\/et_pb_text][et_pb_icon font_icon=\u00bb&#xf290;||fa||900&#8243; icon_color=\u00bb#FFFFFF\u00bb icon_width=\u00bb32px\u00bb icon_width_tablet=\u00bb32px\u00bb icon_width_phone=\u00bb23px\u00bb icon_width_last_edited=\u00bbon|desktop\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb custom_padding=\u00bb17px||||false|false\u00bb custom_padding_tablet=\u00bb||||false|false\u00bb custom_padding_phone=\u00bb16px||||false|false\u00bb custom_padding_last_edited=\u00bboff|desktop\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_icon][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb custom_margin=\u00bb||0px||false|false\u00bb custom_padding=\u00bb0px||0px||true|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_row _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb custom_padding=\u00bb0px||0px||true|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.23&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_code admin_label=\u00bbModales Popup HTML\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb custom_margin=\u00bb||0px||false|false\u00bb global_colors_info=\u00bb{}\u00bb]<!-- Modal\/Popup de producto --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"producto-modal\" class=\"modal\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"modal-contenido\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"modal-header\"><!-- [et_pb_line_break_holder] -->      <span class=\"cerrar-modal\">\u00d7<\/span><!-- [et_pb_line_break_holder] -->      <\/p>\n<h2 id=\"modal-titulo\"><\/h2>\n<p><!-- [et_pb_line_break_holder] -->      <pee id=\"modal-subtitulo\" class=\"modal-subtitulo\"><\/pee><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"modal-body\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"modal-izquierda\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"modal-galeria-principal\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div id=\"etiqueta-producto\" class=\"etiqueta-producto\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <img decoding=\"async\" id=\"modal-imagen-principal\" class=\"modal-imagen-principal\" src=\"\" alt=\"Imagen del producto\"><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div id=\"modal-miniaturas\" class=\"modal-miniaturas\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"modal-derecha\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"modal-detalles\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div id=\"modal-categorias\" class=\"modal-categorias\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<h3 id=\"modal-precio\" class=\"modal-precio\"><\/h3>\n<p><!-- [et_pb_line_break_holder] -->          <pee id=\"modal-descripcion\" class=\"modal-descripcion\"><\/pee><!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"modal-meta\"><!-- [et_pb_line_break_holder] -->            <span id=\"modal-sku\" class=\"modal-sku\"><\/span><!-- [et_pb_line_break_holder] -->            <span id=\"modal-stock\" class=\"modal-stock\"><\/span><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          <\/p>\n<div id=\"modal-atributos\" class=\"modal-atributos\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"modal-cantidad\"><!-- [et_pb_line_break_holder] -->            <label for=\"modal-input-cantidad\">Cantidad:<\/label><!-- [et_pb_line_break_holder] -->           <\/p>\n<div class=\"cantidad-controles\"><!-- [et_pb_line_break_holder] -->  <button type=\"button\" id=\"cantidad-menos\" class=\"cantidad-btn\">\u2212<\/button><!-- [et_pb_line_break_holder] -->  <input type=\"text\" id=\"modal-input-cantidad\" value=\"1\" \/><!-- [et_pb_line_break_holder] -->  <button type=\"button\" id=\"cantidad-mas\" class=\"cantidad-btn\">+<\/button><!-- [et_pb_line_break_holder] -->  <button type=\"button\" id=\"cantidad-limpiar\" class=\"btn btn-outline btn-sm\" title=\"Limpiar\">\u2715<\/button><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          <button id=\"modal-agregar\" class=\"modal-agregar\">Agregar al carrito<\/button><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Modal para t\u00e9rminos y condiciones --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"terminos-modal\" class=\"modal\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"modal-contenido\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"modal-header\"><!-- [et_pb_line_break_holder] -->      <span class=\"cerrar-modal\">\u00d7<\/span><!-- [et_pb_line_break_holder] -->      <\/p>\n<h2>T\u00e9rminos y Condiciones<\/h2>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"modal-body\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div id=\"terminos-contenido\" class=\"terminos-contenido\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Modal de confirmaci\u00f3n de pedido --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"confirmacion-modal\" class=\"modal\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"modal-contenido confirmacion-contenido\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"modal-header\"><!-- [et_pb_line_break_holder] -->      <span class=\"cerrar-modal\">\u00d7<\/span><!-- [et_pb_line_break_holder] -->      <\/p>\n<h2>Pedido Enviado<\/h2>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"modal-body\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"confirmacion-mensaje\"><!-- [et_pb_line_break_holder] -->        <i class=\"confirmacion-icono\">\u2713<\/i><!-- [et_pb_line_break_holder] -->        <pee>\u00a1Tu pedido ha sido enviado con \u00e9xito!<\/pee><!-- [et_pb_line_break_holder] -->        <pee>Pronto nos pondremos en contacto contigo.<\/pee><!-- [et_pb_line_break_holder] -->        <pee>N\u00famero de pedido: <strong id=\"confirmacion-numero\"><\/strong><\/pee><!-- [et_pb_line_break_holder] -->        <button id=\"volver-catalogo\" class=\"btn-volver\">Volver al cat\u00e1logo<\/button><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][et_pb_code admin_label=\u00bbC\u00f3digo JavaScript Cat\u00e1logo Productos WA GS\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb custom_margin=\u00bb||0px||false|false\u00bb global_colors_info=\u00bb{}\u00bb]<script><!-- [et_pb_line_break_holder] -->\/\/ Variables globales<!-- [et_pb_line_break_holder] -->let carrito = [];<!-- [et_pb_line_break_holder] -->let carritoTotal = 0;<!-- [et_pb_line_break_holder] -->let subtotal = 0;<!-- [et_pb_line_break_holder] -->let impuesto = 0;<!-- [et_pb_line_break_holder] -->let descuento = 0;<!-- [et_pb_line_break_holder] -->let costoEnvio = 0;<!-- [et_pb_line_break_holder] -->let productosFiltrados = [];<!-- [et_pb_line_break_holder] -->let datosProductos = [];<!-- [et_pb_line_break_holder] -->let config = {};<!-- [et_pb_line_break_holder] -->let cupones = [];<!-- [et_pb_line_break_holder] -->let zonasEnvio = [];<!-- [et_pb_line_break_holder] -->let paginaActual = 1;<!-- [et_pb_line_break_holder] -->let productosPorPagina = 12;<!-- [et_pb_line_break_holder] -->let totalPaginas = 1;<!-- [et_pb_line_break_holder] -->let ordenActual = 'default';<!-- [et_pb_line_break_holder] -->let productoSeleccionado = null;<!-- [et_pb_line_break_holder] -->let variantesPrecioSeleccionadas = {};<!-- [et_pb_line_break_holder] -->let cuponAplicado = null;<!-- [et_pb_line_break_holder] -->let galleryImages = [];<!-- [et_pb_line_break_holder] -->let currentImageIndex = 0;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Elementos del DOM<!-- [et_pb_line_break_holder] -->const preloader = document.getElementById('preloader');<!-- [et_pb_line_break_holder] -->preloader.style.display = 'block';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->const contenedorProductos = document.getElementById('contenedor-productos');<!-- [et_pb_line_break_holder] -->const mensajeNoEncontrado = document.getElementById('mensaje-no-encontrado');<!-- [et_pb_line_break_holder] -->contenedorProductos.style.opacity = '0';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ URL del API (reemplazar con tu URL)<!-- [et_pb_line_break_holder] -->const urlAPI = 'https:\/\/script.google.com\/macros\/s\/AKfycbxCdGYHxjKQ0g-vxNL2Y15GF0U2dU1eueRJkaP1j0EUZ_DFsY0VO3w5wXrBY-fxMmE\/exec';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Mover carrito despues de et main area divi<!-- [et_pb_line_break_holder] -->document.addEventListener('DOMContentLoaded', function() {<!-- [et_pb_line_break_holder] -->  const carritoContainer = document.getElementById('carrito-container');<!-- [et_pb_line_break_holder] -->  const etMainArea = document.getElementById('et-main-area');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (carritoContainer && etMainArea) {<!-- [et_pb_line_break_holder] -->    etMainArea.parentNode.insertBefore(carritoContainer, etMainArea.nextSibling);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Tambi\u00e9n mover el icono del carrito<!-- [et_pb_line_break_holder] -->  const carritoIcon = document.getElementById('carrito-icon');<!-- [et_pb_line_break_holder] -->  if (carritoIcon && etMainArea) {<!-- [et_pb_line_break_holder] -->    etMainArea.parentNode.insertBefore(carritoIcon, etMainArea.nextSibling);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  const modales = document.querySelectorAll('.modal');<!-- [et_pb_line_break_holder] -->  modales.forEach(modal => {<!-- [et_pb_line_break_holder] -->    document.body.appendChild(modal);<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Inicializaci\u00f3n al cargar la p\u00e1gina<!-- [et_pb_line_break_holder] -->document.addEventListener('DOMContentLoaded', function() {<!-- [et_pb_line_break_holder] -->  inicializarApp();<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] --> function handleResize() {<!-- [et_pb_line_break_holder] -->  const carritoContainer = document.getElementById('carrito-container');<!-- [et_pb_line_break_holder] -->  const formularioPedido = document.getElementById('formulario-pedido');<!-- [et_pb_line_break_holder] -->  const anchoPantalla = window.innerWidth;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  const estaEscribiendo = document.activeElement.tagName === 'INPUT' || document.activeElement.tagName === 'TEXTAREA';<!-- [et_pb_line_break_holder] -->  const esVisibleFormulario = formularioPedido && formularioPedido.style.display !== 'none';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ \ud83d\udeab No cerrar si hay foco en inputs o si el formulario est\u00e1 activo<!-- [et_pb_line_break_holder] -->  if (estaEscribiendo || esVisibleFormulario) {<!-- [et_pb_line_break_holder] -->    return;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  if (carritoContainer.style.right === '0px') {<!-- [et_pb_line_break_holder] -->    if (anchoPantalla <= 576) {<!-- [et_pb_line_break_holder] -->      carritoContainer.style.right = '-100%';<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      carritoContainer.style.right = '-400px';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  } else {<!-- [et_pb_line_break_holder] -->    if (anchoPantalla <= 576) {<!-- [et_pb_line_break_holder] -->      carritoContainer.style.right = '-100%';<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      carritoContainer.style.right = '-400px';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ A\u00f1adir el event listener<!-- [et_pb_line_break_holder] -->  window.addEventListener('resize', handleResize);<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Funci\u00f3n principal de inicializaci\u00f3n<!-- [et_pb_line_break_holder] -->async function inicializarApp() {<!-- [et_pb_line_break_holder] -->  try {<!-- [et_pb_line_break_holder] -->    \/\/ Cargar configuraci\u00f3n primero<!-- [et_pb_line_break_holder] -->    await cargarConfiguracion();<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Verificar disponibilidad del cat\u00e1logo<!-- [et_pb_line_break_holder] -->    if (!verificarDisponibilidadCatalogo()) {<!-- [et_pb_line_break_holder] -->      \/\/ Si no est\u00e1 disponible, la funci\u00f3n mostrarMensajeCatalogoCerrado ya se encarg\u00f3 de mostrar el mensaje<!-- [et_pb_line_break_holder] -->      return;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Si est\u00e1 disponible, continuar con la carga normal<!-- [et_pb_line_break_holder] -->    await cargarProductos();<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Inicializar componentes de UI<!-- [et_pb_line_break_holder] -->    inicializarOrdenamiento();<!-- [et_pb_line_break_holder] -->    inicializarBuscador();<!-- [et_pb_line_break_holder] -->    inicializarPaginacion();<!-- [et_pb_line_break_holder] -->    inicializarCarrito();<!-- [et_pb_line_break_holder] -->    inicializarFormularioPedido();<!-- [et_pb_line_break_holder] -->    inicializarModales();<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Mostrar contenido y ocultar preloader<!-- [et_pb_line_break_holder] -->    preloader.style.display = 'none';<!-- [et_pb_line_break_holder] -->    contenedorProductos.style.opacity = '1';<!-- [et_pb_line_break_holder] -->    document.getElementById('contenedor-buscador').style.display = '';<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Mostrar controles superiores si existen<!-- [et_pb_line_break_holder] -->    const controlesSuperiores = document.getElementById('controles-superiores');<!-- [et_pb_line_break_holder] -->    if (controlesSuperiores) {<!-- [et_pb_line_break_holder] -->      controlesSuperiores.style.display = '';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Actualizar contador<!-- [et_pb_line_break_holder] -->    actualizarContadorProductos();<!-- [et_pb_line_break_holder] -->  } catch (error) {<!-- [et_pb_line_break_holder] -->    console.error('Error al inicializar la aplicaci\u00f3n:', error);<!-- [et_pb_line_break_holder] -->    preloader.style.display = 'none';<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Cargar configuraci\u00f3n desde la API<!-- [et_pb_line_break_holder] -->async function cargarConfiguracion() {<!-- [et_pb_line_break_holder] -->  try {<!-- [et_pb_line_break_holder] -->    const respuesta = await fetch(`${urlAPI}?action=config`);<!-- [et_pb_line_break_holder] -->    const datos = await respuesta.json();<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    config = datos.config || {};<!-- [et_pb_line_break_holder] -->    cupones = datos.cupones || [];<!-- [et_pb_line_break_holder] -->    zonasEnvio = datos.zonasEnvio || [];<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Configurar valores por defecto si no existen<!-- [et_pb_line_break_holder] -->    config.moneda = config.moneda || 'USD';<!-- [et_pb_line_break_holder] -->    config.simboloMoneda = config.simboloMoneda || '$';<!-- [et_pb_line_break_holder] -->    config.formatoMoneda = config.formatoMoneda || 'en-US';<!-- [et_pb_line_break_holder] -->    config.productosPerPagina = parseInt(config.productosPerPagina) || 12;<!-- [et_pb_line_break_holder] -->    config.ordenDefault = config.ordenDefault || 'default';<!-- [et_pb_line_break_holder] -->    config.mostrarImpuestos = config.mostrarImpuestos === 'true' || config.mostrarImpuestos === true;<!-- [et_pb_line_break_holder] -->    config.porcentajeImpuesto = parseFloat(config.porcentajeImpuesto) || 0;<!-- [et_pb_line_break_holder] -->    config.nombreImpuesto = config.nombreImpuesto || 'Impuesto';<!-- [et_pb_line_break_holder] -->    config.impuestoIncluido = config.impuestoIncluido === 'true' || config.impuestoIncluido === true;<!-- [et_pb_line_break_holder] -->    config.costoEnvioDomicilio = parseFloat(datos.config.costoEnvioDomicilio) || 0;<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    productosPorPagina = config.productosPerPagina;<!-- [et_pb_line_break_holder] -->    ordenActual = config.ordenDefault;<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Inicializar formulario de zonas de env\u00edo<!-- [et_pb_line_break_holder] -->    const selectZonaEnvio = document.getElementById('zona-envio');<!-- [et_pb_line_break_holder] -->    if (selectZonaEnvio) {<!-- [et_pb_line_break_holder] -->      \/\/ Limpiar opciones existentes<!-- [et_pb_line_break_holder] -->      selectZonaEnvio.innerHTML = '<option value=\"\">Seleccionar punto<\/option>';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ A\u00f1adir zonas de env\u00edo al select<!-- [et_pb_line_break_holder] -->      zonasEnvio.forEach(zona => {<!-- [et_pb_line_break_holder] -->        const option = document.createElement('option');<!-- [et_pb_line_break_holder] -->        option.value = zona.zona;<!-- [et_pb_line_break_holder] -->        option.textContent = `${zona.zona} - ${mostrarPrecioConMoneda(zona.costo)}`;<!-- [et_pb_line_break_holder] -->        option.dataset.costo = zona.costo;<!-- [et_pb_line_break_holder] -->        selectZonaEnvio.appendChild(option);<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->     \/\/ 2) Aqu\u00ed a\u00f1ades el snippet que quita \"En punto de entrega\"<!-- [et_pb_line_break_holder] -->  const entregaSelect = document.getElementById('entrega');<!-- [et_pb_line_break_holder] -->  if (entregaSelect && config.activarPuntoEntrega === false) {<!-- [et_pb_line_break_holder] -->    \/\/ Busca la opci\u00f3n cuyo valor sea exactamente \"En punto de entrega\"<!-- [et_pb_line_break_holder] -->    const opcion = Array.from(entregaSelect.options)<!-- [et_pb_line_break_holder] -->      .find(opt => opt.value.trim() === 'En punto de entrega');<!-- [et_pb_line_break_holder] -->    if (opcion) {<!-- [et_pb_line_break_holder] -->      \/\/ Eliminarla por completo<!-- [et_pb_line_break_holder] -->      entregaSelect.removeChild(opcion);<!-- [et_pb_line_break_holder] -->      \/\/ \u2014 o si prefieres s\u00f3lo deshabilitarla:<!-- [et_pb_line_break_holder] -->      \/\/ opcion.disabled = true;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Actualizar nombre del impuesto en el carrito<!-- [et_pb_line_break_holder] -->    const nombreImpuestoElement = document.getElementById('nombre-impuesto');<!-- [et_pb_line_break_holder] -->    if (nombreImpuestoElement && config.nombreImpuesto) {<!-- [et_pb_line_break_holder] -->      nombreImpuestoElement.textContent = `${config.nombreImpuesto}:`;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Mostrar datos de transferencia si est\u00e1n configurados<!-- [et_pb_line_break_holder] -->const nombreTransf = document.getElementById('nombre-transferencia');<!-- [et_pb_line_break_holder] -->const bancoTransf = document.getElementById('banco-transferencia');<!-- [et_pb_line_break_holder] -->const clabeTransf = document.getElementById('clabe-text');<!-- [et_pb_line_break_holder] -->const tarjetaTransf = document.getElementById('tarjeta-text');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->if (nombreTransf) nombreTransf.textContent = config.nombreTransferencia || '';<!-- [et_pb_line_break_holder] -->if (bancoTransf) bancoTransf.textContent = config.bancoTransferencia || '';<!-- [et_pb_line_break_holder] -->if (clabeTransf) clabeTransf.textContent = config.clabeTransferencia || '';<!-- [et_pb_line_break_holder] -->if (tarjetaTransf) tarjetaTransf.textContent = config.tarjetaTransferencia || '';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->  } catch (error) {<!-- [et_pb_line_break_holder] -->    console.error('Error al cargar la configuraci\u00f3n:', error);<!-- [et_pb_line_break_holder] -->    \/\/ Valores por defecto si falla la carga<!-- [et_pb_line_break_holder] -->    config = {<!-- [et_pb_line_break_holder] -->      moneda: 'USD',<!-- [et_pb_line_break_holder] -->      simboloMoneda: '$',<!-- [et_pb_line_break_holder] -->      formatoMoneda: 'en-US',<!-- [et_pb_line_break_holder] -->      productosPerPagina: 12,<!-- [et_pb_line_break_holder] -->      ordenDefault: 'default',<!-- [et_pb_line_break_holder] -->      mostrarImpuestos: false,<!-- [et_pb_line_break_holder] -->      porcentajeImpuesto: 0,<!-- [et_pb_line_break_holder] -->      nombreImpuesto: 'Impuesto',<!-- [et_pb_line_break_holder] -->      impuestoIncluido: false<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] -->    productosPorPagina = 12;<!-- [et_pb_line_break_holder] -->    ordenActual = 'default';<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Cargar productos desde la API<!-- [et_pb_line_break_holder] -->async function cargarProductos() {<!-- [et_pb_line_break_holder] -->  try {<!-- [et_pb_line_break_holder] -->    const respuesta = await fetch(urlAPI);<!-- [et_pb_line_break_holder] -->    const datos = await respuesta.json();<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    datosProductos = datos.products || datos;<!-- [et_pb_line_break_holder] -->    productosFiltrados = [...datosProductos];<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Aplicar ordenamiento por defecto<!-- [et_pb_line_break_holder] -->    ordenarProductos(ordenActual);<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Generar categor\u00edas<!-- [et_pb_line_break_holder] -->    generarCategorias(datosProductos);<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Renderizar productos<!-- [et_pb_line_break_holder] -->    renderizarProductos(productosFiltrados);<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    return datosProductos;<!-- [et_pb_line_break_holder] -->  } catch (error) {<!-- [et_pb_line_break_holder] -->    console.error('Error al cargar los productos:', error);<!-- [et_pb_line_break_holder] -->    return [];<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Formatear precio seg\u00fan configuraci\u00f3n<!-- [et_pb_line_break_holder] -->function formatearPrecio(precio) {<!-- [et_pb_line_break_holder] -->  if (!precio && precio !== 0) return '';<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  try {<!-- [et_pb_line_break_holder] -->    return new Intl.NumberFormat(config.formatoMoneda).format(precio);<!-- [et_pb_line_break_holder] -->  } catch (error) {<!-- [et_pb_line_break_holder] -->    console.error('Error al formatear el precio:', error);<!-- [et_pb_line_break_holder] -->    return precio.toLocaleString('en-US');<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Mostrar s\u00edmbolo de moneda seg\u00fan configuraci\u00f3n<!-- [et_pb_line_break_holder] -->function mostrarPrecioConMoneda(precio) {<!-- [et_pb_line_break_holder] -->  if (!precio && precio !== 0) return '';<!-- [et_pb_line_break_holder] -->  const precioFormateado = formatearPrecio(precio);<!-- [et_pb_line_break_holder] -->  return `${config.simboloMoneda}${precioFormateado} ${config.moneda}`;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Actualizar contador de productos<!-- [et_pb_line_break_holder] -->function actualizarContadorProductos() {<!-- [et_pb_line_break_holder] -->  const contadorProductos = document.getElementById('contador-productos');<!-- [et_pb_line_break_holder] -->  if (contadorProductos) {<!-- [et_pb_line_break_holder] -->    contadorProductos.textContent = productosFiltrados.length === 1 <!-- [et_pb_line_break_holder] -->      ? 'Total: 1 producto' <!-- [et_pb_line_break_holder] -->      : `Total: ${productosFiltrados.length} productos`;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Inicializar ordenamiento de productos<!-- [et_pb_line_break_holder] -->function inicializarOrdenamiento() {<!-- [et_pb_line_break_holder] -->  const selectOrdenar = document.getElementById('ordenar-productos');<!-- [et_pb_line_break_holder] -->  if (selectOrdenar) {<!-- [et_pb_line_break_holder] -->    \/\/ Seleccionar opci\u00f3n por defecto<!-- [et_pb_line_break_holder] -->    for (const option of selectOrdenar.options) {<!-- [et_pb_line_break_holder] -->      if (option.value === ordenActual) {<!-- [et_pb_line_break_holder] -->        option.selected = true;<!-- [et_pb_line_break_holder] -->        break;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Evento de cambio<!-- [et_pb_line_break_holder] -->    selectOrdenar.addEventListener('change', function() {<!-- [et_pb_line_break_holder] -->      ordenActual = this.value;<!-- [et_pb_line_break_holder] -->      ordenarProductos(ordenActual);<!-- [et_pb_line_break_holder] -->      paginaActual = 1; \/\/ Volver a la primera p\u00e1gina<!-- [et_pb_line_break_holder] -->      renderizarProductos(productosFiltrados);<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Ordenar productos seg\u00fan criterio seleccionado<!-- [et_pb_line_break_holder] -->function ordenarProductos(criterio) {<!-- [et_pb_line_break_holder] -->  if (!productosFiltrados || productosFiltrados.length === 0) return;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  switch (criterio) {<!-- [et_pb_line_break_holder] -->    case 'a-z':<!-- [et_pb_line_break_holder] -->      productosFiltrados.sort((a, b) => a.titulo.localeCompare(b.titulo));<!-- [et_pb_line_break_holder] -->      break;<!-- [et_pb_line_break_holder] -->    case 'z-a':<!-- [et_pb_line_break_holder] -->      productosFiltrados.sort((a, b) => b.titulo.localeCompare(a.titulo));<!-- [et_pb_line_break_holder] -->      break;<!-- [et_pb_line_break_holder] -->    case 'precio-asc':<!-- [et_pb_line_break_holder] -->      productosFiltrados.sort((a, b) => a.precio - b.precio);<!-- [et_pb_line_break_holder] -->      break;<!-- [et_pb_line_break_holder] -->    case 'precio-desc':<!-- [et_pb_line_break_holder] -->      productosFiltrados.sort((a, b) => b.precio - a.precio);<!-- [et_pb_line_break_holder] -->      break;<!-- [et_pb_line_break_holder] -->    case 'reciente':<!-- [et_pb_line_break_holder] -->      productosFiltrados.sort((a, b) => {<!-- [et_pb_line_break_holder] -->        const fechaA = a.fecha ? new Date(a.fecha) : new Date(0);<!-- [et_pb_line_break_holder] -->        const fechaB = b.fecha ? new Date(b.fecha) : new Date(0);<!-- [et_pb_line_break_holder] -->        return fechaB - fechaA;<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      break;<!-- [et_pb_line_break_holder] -->    case 'popular':<!-- [et_pb_line_break_holder] -->      productosFiltrados.sort((a, b) => {<!-- [et_pb_line_break_holder] -->        const popularA = a.popular || 0;<!-- [et_pb_line_break_holder] -->        const popularB = b.popular || 0;<!-- [et_pb_line_break_holder] -->        return popularB - popularA;<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      break;<!-- [et_pb_line_break_holder] -->    default:<!-- [et_pb_line_break_holder] -->      \/\/ No hacer nada, mantener orden original<!-- [et_pb_line_break_holder] -->      break;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Inicializar buscador<!-- [et_pb_line_break_holder] -->function inicializarBuscador() {<!-- [et_pb_line_break_holder] -->  const buscarInput = document.getElementById('buscar-producto');<!-- [et_pb_line_break_holder] -->  const limpiarBusqueda = document.getElementById('limpiar-busqueda');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (buscarInput && limpiarBusqueda) {<!-- [et_pb_line_break_holder] -->    \/\/ Agregar animaci\u00f3n al buscar<!-- [et_pb_line_break_holder] -->    buscarInput.addEventListener('focus', function() {<!-- [et_pb_line_break_holder] -->      this.parentElement.style.boxShadow = '0 0 0 3px rgba(14, 165, 233, 0.15)';<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    buscarInput.addEventListener('blur', function() {<!-- [et_pb_line_break_holder] -->      this.parentElement.style.boxShadow = '';<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Mejorar la respuesta de b\u00fasqueda<!-- [et_pb_line_break_holder] -->    let timeoutId = null;<!-- [et_pb_line_break_holder] -->    buscarInput.addEventListener('input', function(e) {<!-- [et_pb_line_break_holder] -->      const busqueda = e.target.value.toLowerCase();<!-- [et_pb_line_break_holder] -->      limpiarBusqueda.style.display = busqueda ? '' : 'none';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Usar debounce para mejorar rendimiento<!-- [et_pb_line_break_holder] -->      clearTimeout(timeoutId);<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Mostrar indicador de b\u00fasqueda<!-- [et_pb_line_break_holder] -->      if (busqueda.length > 0) {<!-- [et_pb_line_break_holder] -->        const buscandoIndicator = document.createElement('div');<!-- [et_pb_line_break_holder] -->        buscandoIndicator.id = 'buscando-indicator';<!-- [et_pb_line_break_holder] -->        buscandoIndicator.textContent = 'Buscando...';<!-- [et_pb_line_break_holder] -->        buscandoIndicator.style.position = 'absolute';<!-- [et_pb_line_break_holder] -->        buscandoIndicator.style.right = '45px';<!-- [et_pb_line_break_holder] -->        buscandoIndicator.style.top = '50%';<!-- [et_pb_line_break_holder] -->        buscandoIndicator.style.transform = 'translateY(-50%)';<!-- [et_pb_line_break_holder] -->        buscandoIndicator.style.fontSize = '14px';<!-- [et_pb_line_break_holder] -->        buscandoIndicator.style.color = 'var(--color-primary)';<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Eliminar si ya existe<!-- [et_pb_line_break_holder] -->        const existingIndicator = document.getElementById('buscando-indicator');<!-- [et_pb_line_break_holder] -->        if (existingIndicator) {<!-- [et_pb_line_break_holder] -->          existingIndicator.remove();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        if (busqueda.length > 2) {<!-- [et_pb_line_break_holder] -->          this.parentElement.appendChild(buscandoIndicator);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      timeoutId = setTimeout(() => {<!-- [et_pb_line_break_holder] -->        filtrarProductosPorBusqueda(busqueda);<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Eliminar indicador de b\u00fasqueda<!-- [et_pb_line_break_holder] -->        const buscandoIndicator = document.getElementById('buscando-indicator');<!-- [et_pb_line_break_holder] -->        if (buscandoIndicator) {<!-- [et_pb_line_break_holder] -->          buscandoIndicator.remove();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }, 300);<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Mejorar el bot\u00f3n de limpiar<!-- [et_pb_line_break_holder] -->    limpiarBusqueda.addEventListener('click', function() {<!-- [et_pb_line_break_holder] -->      buscarInput.value = '';<!-- [et_pb_line_break_holder] -->      this.style.display = 'none';<!-- [et_pb_line_break_holder] -->      productosFiltrados = [...datosProductos];<!-- [et_pb_line_break_holder] -->      ordenarProductos(ordenActual);<!-- [et_pb_line_break_holder] -->      paginaActual = 1;<!-- [et_pb_line_break_holder] -->      renderizarProductos(productosFiltrados);<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Efecto visual de limpieza<!-- [et_pb_line_break_holder] -->      buscarInput.focus();<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Mostrar notificaci\u00f3n<!-- [et_pb_line_break_holder] -->      mostrarNotificacion('info', 'B\u00fasqueda limpiada');<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Permitir b\u00fasqueda al presionar Enter<!-- [et_pb_line_break_holder] -->    buscarInput.addEventListener('keydown', function(e) {<!-- [et_pb_line_break_holder] -->      if (e.key === 'Enter') {<!-- [et_pb_line_break_holder] -->        const busqueda = e.target.value.toLowerCase();<!-- [et_pb_line_break_holder] -->        filtrarProductosPorBusqueda(busqueda);<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Remover foco para ocultar teclado en m\u00f3viles<!-- [et_pb_line_break_holder] -->        this.blur();<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Filtrar productos por b\u00fasqueda<!-- [et_pb_line_break_holder] -->function filtrarProductosPorBusqueda(busqueda) {<!-- [et_pb_line_break_holder] -->  if (!busqueda) {<!-- [et_pb_line_break_holder] -->    productosFiltrados = [...datosProductos];<!-- [et_pb_line_break_holder] -->  } else {<!-- [et_pb_line_break_holder] -->    productosFiltrados = datosProductos.filter(producto => {<!-- [et_pb_line_break_holder] -->      \/\/ Buscar en t\u00edtulo<!-- [et_pb_line_break_holder] -->      if (producto.titulo.toLowerCase().includes(busqueda)) return true;<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Buscar en categor\u00edas<!-- [et_pb_line_break_holder] -->      if (producto.categorias && producto.categorias.some(cat => cat.toLowerCase().includes(busqueda))) return true;<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Buscar en descripci\u00f3n<!-- [et_pb_line_break_holder] -->      if (producto.descripcion && producto.descripcion.toLowerCase().includes(busqueda)) return true;<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Buscar en subt\u00edtulo<!-- [et_pb_line_break_holder] -->      if (producto.subtitulo && producto.subtitulo.toLowerCase().includes(busqueda)) return true;<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Buscar en SKU<!-- [et_pb_line_break_holder] -->      if (producto.sku && producto.sku.toLowerCase().includes(busqueda)) return true;<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      return false;<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  ordenarProductos(ordenActual);<!-- [et_pb_line_break_holder] -->  paginaActual = 1; \/\/ Resetear a primera p\u00e1gina<!-- [et_pb_line_break_holder] -->  renderizarProductos(productosFiltrados);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Generar categor\u00edas<!-- [et_pb_line_break_holder] -->function generarCategorias(productos) {<!-- [et_pb_line_break_holder] -->  const categorias = new Set(['Todos']);<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  productos.forEach(producto => {<!-- [et_pb_line_break_holder] -->    if (producto.categorias && producto.categorias.length > 0) {<!-- [et_pb_line_break_holder] -->      producto.categorias.forEach(categoria => {<!-- [et_pb_line_break_holder] -->        if (categoria) {<!-- [et_pb_line_break_holder] -->          categorias.add(categoria);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  const contenedorCategorias = document.getElementById('categorias-contenedor');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (contenedorCategorias) {<!-- [et_pb_line_break_holder] -->    contenedorCategorias.innerHTML = '';<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    if (categorias.size === 1) {<!-- [et_pb_line_break_holder] -->      contenedorCategorias.parentElement.style.display = 'none';<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      contenedorCategorias.parentElement.style.display = '';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      categorias.forEach(categoria => {<!-- [et_pb_line_break_holder] -->        let botonCategoria = document.createElement('button');<!-- [et_pb_line_break_holder] -->        botonCategoria.textContent = categoria;<!-- [et_pb_line_break_holder] -->        if (categoria === 'Todos') {<!-- [et_pb_line_break_holder] -->          botonCategoria.classList.add('active');<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        botonCategoria.onclick = () => filtrarPorCategoria(categoria, botonCategoria);<!-- [et_pb_line_break_holder] -->        contenedorCategorias.appendChild(botonCategoria);<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  ajustarJustificacionCategorias();<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function ajustarJustificacionCategorias() {<!-- [et_pb_line_break_holder] -->  const contenedor = document.getElementById('categorias-contenedor');<!-- [et_pb_line_break_holder] -->  if (!contenedor) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  if (contenedor.scrollWidth > contenedor.clientWidth) {<!-- [et_pb_line_break_holder] -->    contenedor.style.justifyContent = 'flex-start';<!-- [et_pb_line_break_holder] -->  } else {<!-- [et_pb_line_break_holder] -->    contenedor.style.justifyContent = 'center';<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Filtrar por categor\u00eda<!-- [et_pb_line_break_holder] -->function filtrarPorCategoria(categoriaSeleccionada, botonClickeado) {<!-- [et_pb_line_break_holder] -->  if (categoriaSeleccionada === 'Todos') {<!-- [et_pb_line_break_holder] -->    productosFiltrados = [...datosProductos];<!-- [et_pb_line_break_holder] -->  } else {<!-- [et_pb_line_break_holder] -->    productosFiltrados = datosProductos.filter(producto => <!-- [et_pb_line_break_holder] -->      producto.categorias && producto.categorias.includes(categoriaSeleccionada)<!-- [et_pb_line_break_holder] -->    );<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  actualizarBotonActivo(botonClickeado);<!-- [et_pb_line_break_holder] -->  ordenarProductos(ordenActual);<!-- [et_pb_line_break_holder] -->  paginaActual = 1; \/\/ Resetear a primera p\u00e1gina<!-- [et_pb_line_break_holder] -->  renderizarProductos(productosFiltrados);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Actualizar bot\u00f3n activo<!-- [et_pb_line_break_holder] -->function actualizarBotonActivo(botonClickeado) {<!-- [et_pb_line_break_holder] -->  const botonesCategoria = document.querySelectorAll('#categorias-contenedor button');<!-- [et_pb_line_break_holder] -->  botonesCategoria.forEach(boton => {<!-- [et_pb_line_break_holder] -->    boton.classList.remove('active');<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  botonClickeado.classList.add('active');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Animaci\u00f3n visual al seleccionar una categor\u00eda<!-- [et_pb_line_break_holder] -->  botonClickeado.style.transform = 'translateY(-5px)';<!-- [et_pb_line_break_holder] -->  setTimeout(() => {<!-- [et_pb_line_break_holder] -->    botonClickeado.style.transform = '';<!-- [et_pb_line_break_holder] -->  }, 300);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Inicializar paginaci\u00f3n<!-- [et_pb_line_break_holder] -->function inicializarPaginacion() {<!-- [et_pb_line_break_holder] -->  const btnPaginaAnterior = document.getElementById('pagina-anterior');<!-- [et_pb_line_break_holder] -->  const btnPaginaSiguiente = document.getElementById('pagina-siguiente');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (btnPaginaAnterior && btnPaginaSiguiente) {<!-- [et_pb_line_break_holder] -->    \/\/ Agregar iconos para mejor visualizaci\u00f3n<!-- [et_pb_line_break_holder] -->    btnPaginaAnterior.innerHTML = '\u00ab Anterior';<!-- [et_pb_line_break_holder] -->    btnPaginaSiguiente.innerHTML = 'Siguiente \u00bb';<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Mejorar UX con smoothScroll al cambiar p\u00e1gina<!-- [et_pb_line_break_holder] -->    btnPaginaAnterior.addEventListener('click', () => {<!-- [et_pb_line_break_holder] -->      if (paginaActual > 1) {<!-- [et_pb_line_break_holder] -->        paginaActual--;<!-- [et_pb_line_break_holder] -->        renderizarProductos(productosFiltrados);<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Desplazamiento suave a la parte superior de los productos<!-- [et_pb_line_break_holder] -->        const contenedorProductos = document.getElementById('contenedor-productos');<!-- [et_pb_line_break_holder] -->        if (contenedorProductos) {<!-- [et_pb_line_break_holder] -->          window.scrollTo({<!-- [et_pb_line_break_holder] -->            top: contenedorProductos.offsetTop - 20,<!-- [et_pb_line_break_holder] -->            behavior: 'smooth'<!-- [et_pb_line_break_holder] -->          });<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    btnPaginaSiguiente.addEventListener('click', () => {<!-- [et_pb_line_break_holder] -->      if (paginaActual < totalPaginas) {<!-- [et_pb_line_break_holder] -->        paginaActual++;<!-- [et_pb_line_break_holder] -->        renderizarProductos(productosFiltrados);<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Desplazamiento suave a la parte superior de los productos<!-- [et_pb_line_break_holder] -->        const contenedorProductos = document.getElementById('contenedor-productos');<!-- [et_pb_line_break_holder] -->        if (contenedorProductos) {<!-- [et_pb_line_break_holder] -->          window.scrollTo({<!-- [et_pb_line_break_holder] -->            top: contenedorProductos.offsetTop - 20,<!-- [et_pb_line_break_holder] -->            behavior: 'smooth'<!-- [et_pb_line_break_holder] -->          });<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Renderizar productos con paginaci\u00f3n<!-- [et_pb_line_break_holder] -->function renderizarProductos(productos) {<!-- [et_pb_line_break_holder] -->  \/\/ Actualizar contador<!-- [et_pb_line_break_holder] -->  actualizarContadorProductos();<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Calcular paginaci\u00f3n<!-- [et_pb_line_break_holder] -->  totalPaginas = Math.ceil(productos.length \/ productosPorPagina);<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Ajustar p\u00e1gina actual si es necesario<!-- [et_pb_line_break_holder] -->  if (paginaActual > totalPaginas) {<!-- [et_pb_line_break_holder] -->    paginaActual = totalPaginas > 0 ? totalPaginas : 1;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Calcular \u00edndices de productos a mostrar<!-- [et_pb_line_break_holder] -->  const inicio = (paginaActual - 1) * productosPorPagina;<!-- [et_pb_line_break_holder] -->  const fin = Math.min(inicio + productosPorPagina, productos.length);<!-- [et_pb_line_break_holder] -->  const productosAMostrar = productos.slice(inicio, fin);<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Limpiar contenedor<!-- [et_pb_line_break_holder] -->  contenedorProductos.innerHTML = '';<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Mostrar mensaje si no hay productos<!-- [et_pb_line_break_holder] -->  if (productos.length === 0) {<!-- [et_pb_line_break_holder] -->    mensajeNoEncontrado.style.display = 'block';<!-- [et_pb_line_break_holder] -->    const paginacionContainer = document.getElementById('paginacion');<!-- [et_pb_line_break_holder] -->    if (paginacionContainer) {<!-- [et_pb_line_break_holder] -->      paginacionContainer.style.display = 'none';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  } else {<!-- [et_pb_line_break_holder] -->    mensajeNoEncontrado.style.display = 'none';<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Renderizar productos<!-- [et_pb_line_break_holder] -->    productosAMostrar.forEach((producto) => {<!-- [et_pb_line_break_holder] -->      const productoDiv = document.createElement('div');<!-- [et_pb_line_break_holder] -->      productoDiv.className = 'producto';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Determinar la etiqueta a mostrar<!-- [et_pb_line_break_holder] -->      let etiquetaHTML = '';<!-- [et_pb_line_break_holder] -->      if (producto.etiqueta) {<!-- [et_pb_line_break_holder] -->        const claseEtiqueta = producto.etiqueta.toLowerCase().replace(\/ \/g, '');<!-- [et_pb_line_break_holder] -->        etiquetaHTML = `<\/p>\n<div class=\"etiqueta ${claseEtiqueta}\">${producto.etiqueta}<\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Determinar categor\u00eda principal<!-- [et_pb_line_break_holder] -->      let categoriaPrincipal = '';<!-- [et_pb_line_break_holder] -->      if (producto.categorias && producto.categorias.length > 0) {<!-- [et_pb_line_break_holder] -->        categoriaPrincipal = producto.categorias[0];<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      productoDiv.innerHTML = `<!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"imagen-container\"><!-- [et_pb_line_break_holder] -->          ${etiquetaHTML}<!-- [et_pb_line_break_holder] -->          <img decoding=\"async\" src=\"${producto.imagen}\" alt=\"${producto.titulo}\" class=\"imagen\"><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"info\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"categoria\">${categoriaPrincipal}<\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<h4 class=\"titulo\">${producto.titulo}<\/h4>\n<p><!-- [et_pb_line_break_holder] -->          <pee class=\"subtitulo\">${producto.subtitulo || ''}<\/pee><!-- [et_pb_line_break_holder] -->          <\/p>\n<h3 class=\"precio\">${mostrarPrecioConMoneda(producto.precio)}<\/h3>\n<p><!-- [et_pb_line_break_holder] -->          <button class=\"ver-producto\" data-id=\"${producto.id || 0}\">Ver producto<\/button><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      `;<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Agregar evento al bot\u00f3n<!-- [et_pb_line_break_holder] -->      const btnVerProducto = productoDiv.querySelector('.ver-producto');<!-- [et_pb_line_break_holder] -->      btnVerProducto.addEventListener('click', () => {<!-- [et_pb_line_break_holder] -->        \/\/ Efecto de clic<!-- [et_pb_line_break_holder] -->        btnVerProducto.style.transform = 'scale(0.95)';<!-- [et_pb_line_break_holder] -->        setTimeout(() => {<!-- [et_pb_line_break_holder] -->          btnVerProducto.style.transform = '';<!-- [et_pb_line_break_holder] -->        }, 200);<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        abrirModalProducto(producto);<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Mejorar interacci\u00f3n con tarjetas de productos<!-- [et_pb_line_break_holder] -->      productoDiv.addEventListener('mouseover', function() {<!-- [et_pb_line_break_holder] -->        this.style.zIndex = '2';<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Animar imagen<!-- [et_pb_line_break_holder] -->        const imagen = this.querySelector('.imagen');<!-- [et_pb_line_break_holder] -->        if (imagen) {<!-- [et_pb_line_break_holder] -->          imagen.style.transform = 'scale(1.05)';<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      productoDiv.addEventListener('mouseout', function() {<!-- [et_pb_line_break_holder] -->        \/\/ Restaurar zIndex<!-- [et_pb_line_break_holder] -->        setTimeout(() => {<!-- [et_pb_line_break_holder] -->          this.style.zIndex = '';<!-- [et_pb_line_break_holder] -->        }, 300);<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Restaurar imagen<!-- [et_pb_line_break_holder] -->        const imagen = this.querySelector('.imagen');<!-- [et_pb_line_break_holder] -->        if (imagen) {<!-- [et_pb_line_break_holder] -->          imagen.style.transform = '';<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      contenedorProductos.appendChild(productoDiv);<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Actualizar paginaci\u00f3n<!-- [et_pb_line_break_holder] -->    actualizarPaginacion();<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Aplicar animaci\u00f3n de entrada<!-- [et_pb_line_break_holder] -->    setTimeout(() => {<!-- [et_pb_line_break_holder] -->      document.querySelectorAll('.producto').forEach((producto, index) => {<!-- [et_pb_line_break_holder] -->        setTimeout(() => {<!-- [et_pb_line_break_holder] -->          producto.style.opacity = '0';<!-- [et_pb_line_break_holder] -->          producto.style.transform = 'translateY(20px)';<!-- [et_pb_line_break_holder] -->          producto.style.transition = 'opacity 0.3s ease, transform 0.3s ease';<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          setTimeout(() => {<!-- [et_pb_line_break_holder] -->            producto.style.opacity = '1';<!-- [et_pb_line_break_holder] -->            producto.style.transform = 'translateY(0)';<!-- [et_pb_line_break_holder] -->          }, 10);<!-- [et_pb_line_break_holder] -->        }, index * 50);<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }, 100);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Actualizar controles de paginaci\u00f3n<!-- [et_pb_line_break_holder] -->function actualizarPaginacion() {<!-- [et_pb_line_break_holder] -->  const paginacionContainer = document.getElementById('paginacion');<!-- [et_pb_line_break_holder] -->  const numerosPaginas = document.getElementById('numeros-paginas');<!-- [et_pb_line_break_holder] -->  const btnPaginaAnterior = document.getElementById('pagina-anterior');<!-- [et_pb_line_break_holder] -->  const btnPaginaSiguiente = document.getElementById('pagina-siguiente');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (!paginacionContainer || !numerosPaginas) return;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (totalPaginas <= 1) {<!-- [et_pb_line_break_holder] -->    paginacionContainer.style.display = 'none';<!-- [et_pb_line_break_holder] -->    return;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  paginacionContainer.style.display = 'flex';<!-- [et_pb_line_break_holder] -->  numerosPaginas.innerHTML = '';<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Botones anterior\/siguiente<!-- [et_pb_line_break_holder] -->  if (btnPaginaAnterior) {<!-- [et_pb_line_break_holder] -->    btnPaginaAnterior.disabled = paginaActual === 1;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (btnPaginaSiguiente) {<!-- [et_pb_line_break_holder] -->    btnPaginaSiguiente.disabled = paginaActual === totalPaginas;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Determinar qu\u00e9 n\u00fameros mostrar<!-- [et_pb_line_break_holder] -->  let inicio = Math.max(1, paginaActual - 2);<!-- [et_pb_line_break_holder] -->  let fin = Math.min(totalPaginas, inicio + 4);<!-- [et_pb_line_break_holder] -->  if (fin - inicio < 4) {<!-- [et_pb_line_break_holder] -->    inicio = Math.max(1, fin - 4);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Agregar bot\u00f3n para primera p\u00e1gina si no est\u00e1 incluida<!-- [et_pb_line_break_holder] -->  if (inicio > 1) {<!-- [et_pb_line_break_holder] -->    agregarBotonPagina(1);<!-- [et_pb_line_break_holder] -->    if (inicio > 2) {<!-- [et_pb_line_break_holder] -->      agregarPuntosSuspensivos();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Agregar botones de p\u00e1ginas<!-- [et_pb_line_break_holder] -->  for (let i = inicio; i <= fin; i++) {<!-- [et_pb_line_break_holder] -->    agregarBotonPagina(i);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Agregar bot\u00f3n para \u00faltima p\u00e1gina si no est\u00e1 incluida<!-- [et_pb_line_break_holder] -->  if (fin < totalPaginas) {<!-- [et_pb_line_break_holder] -->    if (fin < totalPaginas - 1) {<!-- [et_pb_line_break_holder] -->      agregarPuntosSuspensivos();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    agregarBotonPagina(totalPaginas);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Agregar bot\u00f3n de n\u00famero de p\u00e1gina<!-- [et_pb_line_break_holder] -->function agregarBotonPagina(numero) {<!-- [et_pb_line_break_holder] -->  const numerosPaginas = document.getElementById('numeros-paginas');<!-- [et_pb_line_break_holder] -->  if (!numerosPaginas) return;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  const btn = document.createElement('div');<!-- [et_pb_line_break_holder] -->  btn.className = `numero-pagina${numero === paginaActual ? ' active' : ''}`;<!-- [et_pb_line_break_holder] -->  btn.textContent = numero;<!-- [et_pb_line_break_holder] -->  btn.onclick = () => {<!-- [et_pb_line_break_holder] -->    paginaActual = numero;<!-- [et_pb_line_break_holder] -->    renderizarProductos(productosFiltrados);<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Desplazamiento suave a la parte superior de los productos<!-- [et_pb_line_break_holder] -->    const contenedorProductos = document.getElementById('contenedor-productos');<!-- [et_pb_line_break_holder] -->    if (contenedorProductos) {<!-- [et_pb_line_break_holder] -->      window.scrollTo({<!-- [et_pb_line_break_holder] -->        top: contenedorProductos.offsetTop - 20,<!-- [et_pb_line_break_holder] -->        behavior: 'smooth'<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  };<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Animaci\u00f3n de hover para botones de p\u00e1gina<!-- [et_pb_line_break_holder] -->  btn.addEventListener('mouseover', function() {<!-- [et_pb_line_break_holder] -->    if (!this.classList.contains('active') && !this.classList.contains('puntos')) {<!-- [et_pb_line_break_holder] -->      this.style.transform = 'translateY(-2px)';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  btn.addEventListener('mouseout', function() {<!-- [et_pb_line_break_holder] -->    if (!this.classList.contains('active') && !this.classList.contains('puntos')) {<!-- [et_pb_line_break_holder] -->      this.style.transform = '';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  numerosPaginas.appendChild(btn);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Agregar puntos suspensivos para paginaci\u00f3n<!-- [et_pb_line_break_holder] -->function agregarPuntosSuspensivos() {<!-- [et_pb_line_break_holder] -->  const numerosPaginas = document.getElementById('numeros-paginas');<!-- [et_pb_line_break_holder] -->  if (!numerosPaginas) return;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  const puntos = document.createElement('div');<!-- [et_pb_line_break_holder] -->  puntos.className = 'numero-pagina puntos';<!-- [et_pb_line_break_holder] -->  puntos.textContent = '...';<!-- [et_pb_line_break_holder] -->  puntos.style.cursor = 'default';<!-- [et_pb_line_break_holder] -->  numerosPaginas.appendChild(puntos);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Inicializar modales<!-- [et_pb_line_break_holder] -->function inicializarModales() {<!-- [et_pb_line_break_holder] -->  \/\/ Modal de producto<!-- [et_pb_line_break_holder] -->  const productoModal = document.getElementById('producto-modal');<!-- [et_pb_line_break_holder] -->  const botonesModalCerrar = document.querySelectorAll('.cerrar-modal');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  botonesModalCerrar.forEach(boton => {<!-- [et_pb_line_break_holder] -->    boton.addEventListener('click', function() {<!-- [et_pb_line_break_holder] -->      const modal = this.closest('.modal');<!-- [et_pb_line_break_holder] -->      if (modal) {<!-- [et_pb_line_break_holder] -->        const modalContent = modal.querySelector('.modal-contenido');<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        if (modalContent) {<!-- [et_pb_line_break_holder] -->          \/\/ Animaci\u00f3n suave al cerrar<!-- [et_pb_line_break_holder] -->          modalContent.style.opacity = '0';<!-- [et_pb_line_break_holder] -->          modalContent.style.transform = 'translateY(-20px)';<!-- [et_pb_line_break_holder] -->          setTimeout(() => {<!-- [et_pb_line_break_holder] -->            modal.style.display = 'none';<!-- [et_pb_line_break_holder] -->            modalContent.style.transform = '';<!-- [et_pb_line_break_holder] -->          }, 300);<!-- [et_pb_line_break_holder] -->        } else {<!-- [et_pb_line_break_holder] -->          modal.style.display = 'none';<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Efecto hover<!-- [et_pb_line_break_holder] -->    boton.addEventListener('mouseover', function() {<!-- [et_pb_line_break_holder] -->      this.style.backgroundColor = 'var(--color-surface)';<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    boton.addEventListener('mouseout', function() {<!-- [et_pb_line_break_holder] -->      this.style.backgroundColor = '';<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Cerrar modal al hacer clic fuera<!-- [et_pb_line_break_holder] --> window.addEventListener('click', function(event) {<!-- [et_pb_line_break_holder] -->  if (event.target.classList.contains('modal')) {<!-- [et_pb_line_break_holder] -->    const modal = event.target;<!-- [et_pb_line_break_holder] -->    const modalContent = modal.querySelector('.modal-contenido');<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    if (modalContent) {<!-- [et_pb_line_break_holder] -->      modalContent.style.opacity = '0';<!-- [et_pb_line_break_holder] -->      modalContent.style.transform = 'translateY(-20px)';<!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        modal.style.display = 'none';<!-- [et_pb_line_break_holder] -->        modalContent.style.transform = '';<!-- [et_pb_line_break_holder] -->      }, 300);<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      modal.style.display = 'none';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] --> \/\/ Controles de cantidad en modal<!-- [et_pb_line_break_holder] -->const btnCantidadMenos = document.getElementById('cantidad-menos');<!-- [et_pb_line_break_holder] -->const btnCantidadMas   = document.getElementById('cantidad-mas');<!-- [et_pb_line_break_holder] -->const inputCantidad    = document.getElementById('modal-input-cantidad');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->if (btnCantidadMenos && btnCantidadMas && inputCantidad) {<!-- [et_pb_line_break_holder] -->  let intervalId, timeoutId;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  btnCantidadMenos.addEventListener('mousedown', () => {<!-- [et_pb_line_break_holder] -->    decrementarCantidad();<!-- [et_pb_line_break_holder] -->    timeoutId = setTimeout(() => intervalId = setInterval(decrementarCantidad, 150), 500);<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  btnCantidadMas.addEventListener('mousedown', () => {<!-- [et_pb_line_break_holder] -->    incrementarCantidad();<!-- [et_pb_line_break_holder] -->    timeoutId = setTimeout(() => intervalId = setInterval(incrementarCantidad, 150), 500);<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  [btnCantidadMenos, btnCantidadMas].forEach(btn => {<!-- [et_pb_line_break_holder] -->    btn.addEventListener('mouseup', detenerIntervalo);<!-- [et_pb_line_break_holder] -->    btn.addEventListener('mouseleave', detenerIntervalo);<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function detenerIntervalo() {<!-- [et_pb_line_break_holder] -->    clearInterval(intervalId);<!-- [et_pb_line_break_holder] -->    clearTimeout(timeoutId);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function decrementarCantidad() {<!-- [et_pb_line_break_holder] -->    const cantidad = parseInt(inputCantidad.value, 10) || 0;<!-- [et_pb_line_break_holder] -->    inputCantidad.value = Math.max(0, cantidad - 1);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Efecto visual<!-- [et_pb_line_break_holder] -->    inputCantidad.style.backgroundColor = 'rgba(14, 165, 233, 0.1)';<!-- [et_pb_line_break_holder] -->    setTimeout(() => inputCantidad.style.backgroundColor = '', 200);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Recalcular precio<!-- [et_pb_line_break_holder] -->    actualizarPrecioModal();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function incrementarCantidad() {<!-- [et_pb_line_break_holder] -->    const cantidad = parseInt(inputCantidad.value, 10) || 0;<!-- [et_pb_line_break_holder] -->    const max = parseInt(inputCantidad.max, 10) || Infinity;<!-- [et_pb_line_break_holder] -->    if (cantidad + 1 > max) {<!-- [et_pb_line_break_holder] -->      mostrarNotificacion('warning', `Solo quedan ${max} unidades.`);<!-- [et_pb_line_break_holder] -->      return;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    inputCantidad.value = cantidad + 1;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Efecto visual<!-- [et_pb_line_break_holder] -->    inputCantidad.style.backgroundColor = 'rgba(14, 165, 233, 0.1)';<!-- [et_pb_line_break_holder] -->    setTimeout(() => inputCantidad.style.backgroundColor = '', 200);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Recalcular precio<!-- [et_pb_line_break_holder] -->    actualizarPrecioModal();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Validaci\u00f3n manual<!-- [et_pb_line_break_holder] -->  inputCantidad.addEventListener('input', function() {<!-- [et_pb_line_break_holder] -->    let cantidad = this.value.replace(\/\\D\/g, '');<!-- [et_pb_line_break_holder] -->    const max = parseInt(this.max, 10) || Infinity;<!-- [et_pb_line_break_holder] -->    if (+cantidad > max) {<!-- [et_pb_line_break_holder] -->      cantidad = max;<!-- [et_pb_line_break_holder] -->      mostrarNotificacion('warning', `M\u00e1ximo ${max} unidades disponibles.`);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    this.value = cantidad || '0';<!-- [et_pb_line_break_holder] -->    actualizarPrecioModal();<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->    \/\/ Bot\u00f3n limpiar cantidad<!-- [et_pb_line_break_holder] -->  const btnCantidadLimpiar = document.getElementById('cantidad-limpiar');<!-- [et_pb_line_break_holder] -->  if (btnCantidadLimpiar && inputCantidad) {<!-- [et_pb_line_break_holder] -->    btnCantidadLimpiar.addEventListener('click', () => {<!-- [et_pb_line_break_holder] -->      inputCantidad.value = '0';       \/\/ o '1' si prefieres<!-- [et_pb_line_break_holder] -->      actualizarPrecioModal();         \/\/ recalcula el precio en el modal<!-- [et_pb_line_break_holder] -->      inputCantidad.style.backgroundColor = 'rgba(239, 68, 68, 0.1)';<!-- [et_pb_line_break_holder] -->      setTimeout(() => inputCantidad.style.backgroundColor = '', 300);<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Bot\u00f3n agregar al carrito desde modal<!-- [et_pb_line_break_holder] -->  const btnAgregarCarrito = document.getElementById('modal-agregar');<!-- [et_pb_line_break_holder] -->  if (btnAgregarCarrito) {<!-- [et_pb_line_break_holder] -->    btnAgregarCarrito.addEventListener('click', function() {<!-- [et_pb_line_break_holder] -->      \/\/ Efecto visual al hacer clic<!-- [et_pb_line_break_holder] -->      this.style.transform = 'scale(0.95)';<!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        this.style.transform = '';<!-- [et_pb_line_break_holder] -->      }, 200);<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      agregarProductoDesdeModal();<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Modal de t\u00e9rminos y condiciones<!-- [et_pb_line_break_holder] -->  const btnVerTerminos = document.getElementById('ver-terminos');<!-- [et_pb_line_break_holder] -->  const terminosModal = document.getElementById('terminos-modal');<!-- [et_pb_line_break_holder] -->  const terminosContenido = document.getElementById('terminos-contenido');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (btnVerTerminos && terminosModal && terminosContenido) {<!-- [et_pb_line_break_holder] -->    btnVerTerminos.addEventListener('click', function(e) {<!-- [et_pb_line_break_holder] -->      e.preventDefault();<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Si hay una URL de t\u00e9rminos, redirigir<!-- [et_pb_line_break_holder] -->      if (config.urlTerminos) {<!-- [et_pb_line_break_holder] -->        window.open(config.urlTerminos, '_blank');<!-- [et_pb_line_break_holder] -->        return;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Si hay texto de t\u00e9rminos, mostrar en modal<!-- [et_pb_line_break_holder] -->      if (config.textoTerminos) {<!-- [et_pb_line_break_holder] -->  \/\/ 1) Escapar HTML por seguridad<!-- [et_pb_line_break_holder] -->  const raw = config.textoTerminos<!-- [et_pb_line_break_holder] -->    .replace(\/&\/g, \"&\")<!-- [et_pb_line_break_holder] -->    .replace(\/<\/g, \"<\")<!-- [et_pb_line_break_holder] -->    .replace(\/>\/g, \">\");<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ 2) Dividir en p\u00e1rrafos por doble salto de l\u00ednea<!-- [et_pb_line_break_holder] -->  const paras = raw.split(\/\\r?\\n\\r?\\n\/).map(p =><!-- [et_pb_line_break_holder] -->    `<pee class=\"terminos-p\">${p.trim().replace(\/\\r?\\n\/g, \"<!\u2013- [et_pb_br_holder] -\u2013>\")}<\/pee>`<!-- [et_pb_line_break_holder] -->  );<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  terminosContenido.innerHTML = paras.join(\"\");<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Mostrar modal con animaci\u00f3n<!-- [et_pb_line_break_holder] -->        terminosModal.style.display = 'block';<!-- [et_pb_line_break_holder] -->        const modalContent = terminosModal.querySelector('.modal-contenido');<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        if (modalContent) {<!-- [et_pb_line_break_holder] -->          modalContent.style.opacity = '0';<!-- [et_pb_line_break_holder] -->          modalContent.style.transform = 'translateY(20px)';<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          setTimeout(() => {<!-- [et_pb_line_break_holder] -->            modalContent.style.opacity = '1';<!-- [et_pb_line_break_holder] -->            modalContent.style.transform = 'translateY(0)';<!-- [et_pb_line_break_holder] -->          }, 10);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      } else {<!-- [et_pb_line_break_holder] -->        terminosContenido.innerHTML = '<pee>No se han definido t\u00e9rminos y condiciones.<\/pee>';<!-- [et_pb_line_break_holder] -->        terminosModal.style.display = 'block';<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Modal de confirmaci\u00f3n<!-- [et_pb_line_break_holder] -->  const btnVolverCatalogo = document.getElementById('volver-catalogo');<!-- [et_pb_line_break_holder] -->    if (btnVolverCatalogo) {<!-- [et_pb_line_break_holder] -->    btnVolverCatalogo.addEventListener('click', function() {<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        mostrarNotificacion('success', 'Pedido completado. \u00a1Gracias por tu compra!');<!-- [et_pb_line_break_holder] -->        setTimeout(() => {<!-- [et_pb_line_break_holder] -->        window.location.reload();<!-- [et_pb_line_break_holder] -->        }, 1500);<!-- [et_pb_line_break_holder] -->    }); <!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Abrir modal de producto<!-- [et_pb_line_break_holder] -->function abrirModalProducto(producto) {<!-- [et_pb_line_break_holder] -->  productoSeleccionado = producto;<!-- [et_pb_line_break_holder] -->  variantesPrecioSeleccionadas = {};<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  const modal = document.getElementById('producto-modal');<!-- [et_pb_line_break_holder] -->  if (!modal) return;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Elementos del modal<!-- [et_pb_line_break_holder] -->  const modalTitulo = document.getElementById('modal-titulo');<!-- [et_pb_line_break_holder] -->  const modalSubtitulo = document.getElementById('modal-subtitulo');<!-- [et_pb_line_break_holder] -->  const modalImagenPrincipal = document.getElementById('modal-imagen-principal');<!-- [et_pb_line_break_holder] -->  const modalMiniaturas = document.getElementById('modal-miniaturas');<!-- [et_pb_line_break_holder] -->  const modalCategorias = document.getElementById('modal-categorias');<!-- [et_pb_line_break_holder] -->  const modalPrecio = document.getElementById('modal-precio');<!-- [et_pb_line_break_holder] -->  const modalDescripcion = document.getElementById('modal-descripcion');<!-- [et_pb_line_break_holder] -->  const modalSku = document.getElementById('modal-sku');<!-- [et_pb_line_break_holder] -->  const modalStock = document.getElementById('modal-stock');<!-- [et_pb_line_break_holder] -->  const modalAtributos = document.getElementById('modal-atributos');<!-- [et_pb_line_break_holder] -->  const modalInputCantidad = document.getElementById('modal-input-cantidad');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  const etiquetaProducto = document.getElementById('etiqueta-producto');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Datos b\u00e1sicos<!-- [et_pb_line_break_holder] -->  modalTitulo.textContent = producto.titulo;<!-- [et_pb_line_break_holder] -->  modalSubtitulo.textContent = producto.subtitulo || '';<!-- [et_pb_line_break_holder] -->  modalImagenPrincipal.src = producto.imagen;<!-- [et_pb_line_break_holder] -->  modalImagenPrincipal.alt = producto.titulo;<!-- [et_pb_line_break_holder] -->  modalPrecio.textContent = mostrarPrecioConMoneda(producto.precio);<!-- [et_pb_line_break_holder] -->  modalDescripcion.innerHTML = producto.descripcion || '';<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  modalInputCantidad.value = 1;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] --> \/\/ \u2014 Limitar cantidad al stock global \u2014<!-- [et_pb_line_break_holder] -->modalInputCantidad.max = producto.stock;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ \ud83d\udd04 1) Re-habilitar siempre al abrir el modal<!-- [et_pb_line_break_holder] -->const btnAgregarCarrito = document.getElementById('modal-agregar');<!-- [et_pb_line_break_holder] -->modalInputCantidad.disabled = false;<!-- [et_pb_line_break_holder] -->if (btnAgregarCarrito) btnAgregarCarrito.disabled = false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ 2) Si no hay unidades, deshabilito cantidad y bot\u00f3n<!-- [et_pb_line_break_holder] -->if (producto.stock <= 0) {<!-- [et_pb_line_break_holder] -->  modalInputCantidad.value = 0;<!-- [et_pb_line_break_holder] -->  modalInputCantidad.disabled = true;<!-- [et_pb_line_break_holder] -->  if (btnAgregarCarrito) btnAgregarCarrito.disabled = true;<!-- [et_pb_line_break_holder] -->  mostrarNotificacion('agotado', 'Lo siento, este producto est\u00e1 agotado.');<!-- [et_pb_line_break_holder] -->  return;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Etiqueta<!-- [et_pb_line_break_holder] -->  if (producto.etiqueta) {<!-- [et_pb_line_break_holder] -->    etiquetaProducto.textContent = producto.etiqueta;<!-- [et_pb_line_break_holder] -->    etiquetaProducto.className = `etiqueta-producto ${producto.etiqueta.toLowerCase().replace(\/ \/g, '')}`;<!-- [et_pb_line_break_holder] -->    etiquetaProducto.style.display = 'block';<!-- [et_pb_line_break_holder] -->  } else {<!-- [et_pb_line_break_holder] -->    etiquetaProducto.style.display = 'none';<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ SKU y Stock<!-- [et_pb_line_break_holder] -->  modalSku.innerHTML = producto.sku ? `<span>SKU:<\/span> ${producto.sku}` : '';<!-- [et_pb_line_break_holder] -->  modalStock.innerHTML = producto.stock ? `<span>Stock:<\/span> ${producto.stock} unidades` : '';<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Categor\u00edas<!-- [et_pb_line_break_holder] -->  modalCategorias.innerHTML = '';<!-- [et_pb_line_break_holder] -->  if (producto.categorias && producto.categorias.length > 0) {<!-- [et_pb_line_break_holder] -->    producto.categorias.forEach(categoria => {<!-- [et_pb_line_break_holder] -->      const span = document.createElement('span');<!-- [et_pb_line_break_holder] -->      span.className = 'modal-categoria';<!-- [et_pb_line_break_holder] -->      span.textContent = categoria;<!-- [et_pb_line_break_holder] -->      modalCategorias.appendChild(span);<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Galer\u00eda de im\u00e1genes<!-- [et_pb_line_break_holder] -->  galleryImages = [producto.imagen];<!-- [et_pb_line_break_holder] -->  if (producto.galeria && producto.galeria.length > 0) {<!-- [et_pb_line_break_holder] -->    galleryImages = galleryImages.concat(producto.galeria);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  modalMiniaturas.innerHTML = '';<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Solo mostrar miniaturas si hay m\u00e1s de una imagen<!-- [et_pb_line_break_holder] -->  if (galleryImages.length > 1) {<!-- [et_pb_line_break_holder] -->    galleryImages.forEach((img, index) => {<!-- [et_pb_line_break_holder] -->      const miniatura = document.createElement('div');<!-- [et_pb_line_break_holder] -->      miniatura.className = `modal-miniatura${index === 0 ? ' active' : ''}`;<!-- [et_pb_line_break_holder] -->      miniatura.innerHTML = `<img decoding=\"async\" src=\"${img}\" alt=\"Miniatura ${index + 1}\">`;<!-- [et_pb_line_break_holder] -->      miniatura.addEventListener('click', () => {<!-- [et_pb_line_break_holder] -->        \/\/ Actualizar imagen principal con transici\u00f3n suave<!-- [et_pb_line_break_holder] -->        modalImagenPrincipal.style.opacity = '0';<!-- [et_pb_line_break_holder] -->        modalImagenPrincipal.style.transform = 'scale(0.95)';<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        setTimeout(() => {<!-- [et_pb_line_break_holder] -->          modalImagenPrincipal.src = img;<!-- [et_pb_line_break_holder] -->          modalImagenPrincipal.style.opacity = '1';<!-- [et_pb_line_break_holder] -->          modalImagenPrincipal.style.transform = 'scale(1)';<!-- [et_pb_line_break_holder] -->        }, 200);<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Actualizar estado activo<!-- [et_pb_line_break_holder] -->        document.querySelectorAll('.modal-miniatura').forEach(m => m.classList.remove('active'));<!-- [et_pb_line_break_holder] -->        miniatura.classList.add('active');<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Actualizar \u00edndice actual<!-- [et_pb_line_break_holder] -->        currentImageIndex = index;<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Efectos de hover<!-- [et_pb_line_break_holder] -->      miniatura.addEventListener('mouseover', function() {<!-- [et_pb_line_break_holder] -->        if (!this.classList.contains('active')) {<!-- [et_pb_line_break_holder] -->          this.style.transform = 'translateY(-3px)';<!-- [et_pb_line_break_holder] -->          this.style.boxShadow = 'var(--shadow-md)';<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      miniatura.addEventListener('mouseout', function() {<!-- [et_pb_line_break_holder] -->        if (!this.classList.contains('active')) {<!-- [et_pb_line_break_holder] -->          this.style.transform = '';<!-- [et_pb_line_break_holder] -->          this.style.boxShadow = '';<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      modalMiniaturas.appendChild(miniatura);<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Atributos<!-- [et_pb_line_break_holder] -->  modalAtributos.innerHTML = '';<!-- [et_pb_line_break_holder] -->  if (producto.atributos) {<!-- [et_pb_line_break_holder] -->    Object.entries(producto.atributos).forEach(([nombreAtributo, valores]) => {<!-- [et_pb_line_break_holder] -->      if (valores && valores.length > 0) {<!-- [et_pb_line_break_holder] -->        const div = document.createElement('div');<!-- [et_pb_line_break_holder] -->        div.className = 'modal-atributo';<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        const label = document.createElement('label');<!-- [et_pb_line_break_holder] -->        label.textContent = nombreAtributo;<!-- [et_pb_line_break_holder] -->        label.htmlFor = `atributo-${nombreAtributo.toLowerCase().replace(\/ \/g, '-')}`;<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        const select = document.createElement('select');<!-- [et_pb_line_break_holder] -->        select.id = `atributo-${nombreAtributo.toLowerCase().replace(\/ \/g, '-')}`;<!-- [et_pb_line_break_holder] -->        select.name = nombreAtributo;<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Opci\u00f3n por defecto<!-- [et_pb_line_break_holder] -->        const defaultOption = document.createElement('option');<!-- [et_pb_line_break_holder] -->        defaultOption.value = '';<!-- [et_pb_line_break_holder] -->        defaultOption.textContent = `Seleccionar ${nombreAtributo}`;<!-- [et_pb_line_break_holder] -->        \/\/- defaultOption.disabled = true;   \/\/ \u274c quita\/deshabilita esta l\u00ednea<!-- [et_pb_line_break_holder] -->        defaultOption.selected = true;<!-- [et_pb_line_break_holder] -->        select.appendChild(defaultOption);<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Agregar opciones<!-- [et_pb_line_break_holder] -->        valores.forEach(valor => {<!-- [et_pb_line_break_holder] -->  \/\/ \u2014 Ocultar variantes sin stock \u2014<!-- [et_pb_line_break_holder] -->  if (valor.stock > 0) {<!-- [et_pb_line_break_holder] -->    const option = document.createElement('option');<!-- [et_pb_line_break_holder] -->    let textoOpcion = valor.valor || valor;<!-- [et_pb_line_break_holder] -->    let precioExtra = 0;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Si es un objeto con precio<!-- [et_pb_line_break_holder] -->    if (valor.valor !== undefined && valor.precio !== undefined) {<!-- [et_pb_line_break_holder] -->      precioExtra = parseFloat(valor.precio);<!-- [et_pb_line_break_holder] -->      if (precioExtra > 0) {<!-- [et_pb_line_break_holder] -->        textoOpcion += ` (+${mostrarPrecioConMoneda(precioExtra)})`;<!-- [et_pb_line_break_holder] -->      } else if (precioExtra < 0) {<!-- [et_pb_line_break_holder] -->        textoOpcion += ` (-${mostrarPrecioConMoneda(Math.abs(precioExtra))})`;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2014 Agregar stock al lado \u2014<!-- [et_pb_line_break_holder] -->    textoOpcion += ` (Stock: ${valor.stock})`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    option.value = JSON.stringify({<!-- [et_pb_line_break_holder] -->      valor: valor.valor || valor,<!-- [et_pb_line_break_holder] -->      precio: precioExtra,<!-- [et_pb_line_break_holder] -->      stock: valor.stock<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    option.textContent = textoOpcion;<!-- [et_pb_line_break_holder] -->    select.appendChild(option);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Evento de cambio<!-- [et_pb_line_break_holder] -->      select.addEventListener('change', function() {<!-- [et_pb_line_break_holder] -->  try {<!-- [et_pb_line_break_holder] -->    \/\/ \u2014\u2014\u2014 1) Si vuelves a la opci\u00f3n \u201cSeleccionar \u2026\u201d \u2014\u2014\u2014<!-- [et_pb_line_break_holder] -->    if (this.value === \"\") {<!-- [et_pb_line_break_holder] -->      delete variantesPrecioSeleccionadas[nombreAtributo];<!-- [et_pb_line_break_holder] -->      \/\/ Restaurar el m\u00e1ximo global del producto<!-- [et_pb_line_break_holder] -->      modalInputCantidad.max = productoSeleccionado.stock;<!-- [et_pb_line_break_holder] -->      actualizarPrecioModal();<!-- [et_pb_line_break_holder] -->      return;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2014\u2014\u2014 2) Parseo normal de la variante \u2014\u2014\u2014<!-- [et_pb_line_break_holder] -->    const valorSeleccionado = JSON.parse(this.value);<!-- [et_pb_line_break_holder] -->    variantesPrecioSeleccionadas[nombreAtributo] = valorSeleccionado;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2014\u2014\u2014 3) Ajustar el max seg\u00fan el stock de la variante \u2014\u2014\u2014<!-- [et_pb_line_break_holder] -->    if (valorSeleccionado.stock != null) {<!-- [et_pb_line_break_holder] -->      modalInputCantidad.max = valorSeleccionado.stock;<!-- [et_pb_line_break_holder] -->      if (parseInt(modalInputCantidad.value, 10) > valorSeleccionado.stock) {<!-- [et_pb_line_break_holder] -->        modalInputCantidad.value = valorSeleccionado.stock;<!-- [et_pb_line_break_holder] -->        mostrarNotificacion(<!-- [et_pb_line_break_holder] -->          'warning',<!-- [et_pb_line_break_holder] -->          `Solo quedan ${valorSeleccionado.stock} unidades de esta variante.`<!-- [et_pb_line_break_holder] -->        );<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2014\u2014\u2014 4) Recalcular precio con las selecciones actuales \u2014\u2014\u2014<!-- [et_pb_line_break_holder] -->    actualizarPrecioModal();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2014\u2014\u2014 5) Feedback visual \u2014\u2014\u2014<!-- [et_pb_line_break_holder] -->    modalPrecio.classList.add('flash');<!-- [et_pb_line_break_holder] -->    setTimeout(() => modalPrecio.classList.remove('flash'), 500);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  } catch (error) {<!-- [et_pb_line_break_holder] -->    console.error('Error al procesar selecci\u00f3n de atributo:', error);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        div.appendChild(label);<!-- [et_pb_line_break_holder] -->        div.appendChild(select);<!-- [et_pb_line_break_holder] -->        modalAtributos.appendChild(div);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Centrar modal en la pantalla<!-- [et_pb_line_break_holder] -->  const modalContenido = modal.querySelector('.modal-contenido');<!-- [et_pb_line_break_holder] -->  if (modalContenido) {<!-- [et_pb_line_break_holder] -->    \/\/ Resetear estilos para calcular correctamente<!-- [et_pb_line_break_holder] -->    modalContenido.style.opacity = '0';<!-- [et_pb_line_break_holder] -->    modal.style.display = 'block';<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Peque\u00f1o retraso para asegurar que el modal est\u00e9 visible y se pueda calcular su altura<!-- [et_pb_line_break_holder] -->    setTimeout(() => {<!-- [et_pb_line_break_holder] -->      const alturaVentana = window.innerHeight;<!-- [et_pb_line_break_holder] -->      const alturaModal = modalContenido.offsetHeight;<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Si el modal es m\u00e1s alto que la ventana, ajustar el margen superior<!-- [et_pb_line_break_holder] -->      if (alturaModal > alturaVentana * 0.9) {<!-- [et_pb_line_break_holder] -->        modalContenido.style.margin = '20px auto';<!-- [et_pb_line_break_holder] -->        modalContenido.style.maxHeight = '90vh';<!-- [et_pb_line_break_holder] -->      } else {<!-- [et_pb_line_break_holder] -->        \/\/ Centrar verticalmente<!-- [et_pb_line_break_holder] -->        const margenSuperior = Math.max(20, (alturaVentana - alturaModal) \/ 2);<!-- [et_pb_line_break_holder] -->        modalContenido.style.margin = `${margenSuperior}px auto`;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Mostrar con animaci\u00f3n<!-- [et_pb_line_break_holder] -->      modalContenido.style.opacity = '1';<!-- [et_pb_line_break_holder] -->      modalContenido.style.transform = 'translateY(0)';<!-- [et_pb_line_break_holder] -->    }, 10);<!-- [et_pb_line_break_holder] -->  } else {<!-- [et_pb_line_break_holder] -->    modal.style.display = 'block';<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Establecer foco en el primer elemento interactivo para mejorar accesibilidad<!-- [et_pb_line_break_holder] -->  setTimeout(() => {<!-- [et_pb_line_break_holder] -->  const primerSelect = modal.querySelector('select');<!-- [et_pb_line_break_holder] -->  if (primerSelect) {<!-- [et_pb_line_break_holder] -->    primerSelect.focus({ preventScroll: true });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}, 500);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Actualizar precio en modal seg\u00fan atributos seleccionados<!-- [et_pb_line_break_holder] -->function actualizarPrecioModal() {<!-- [et_pb_line_break_holder] -->  if (!productoSeleccionado) return;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  let precioBase = productoSeleccionado.precio;<!-- [et_pb_line_break_holder] -->  let precioTotal = precioBase;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Sumar precios adicionales de los atributos seleccionados<!-- [et_pb_line_break_holder] -->  Object.values(variantesPrecioSeleccionadas).forEach(variante => {<!-- [et_pb_line_break_holder] -->    if (variante && variante.precio) {<!-- [et_pb_line_break_holder] -->      precioTotal += parseFloat(variante.precio);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Actualizar precio mostrado multiplicado por cantidad \ud83d\udea9<!-- [et_pb_line_break_holder] -->const modalPrecio = document.getElementById('modal-precio');<!-- [et_pb_line_break_holder] -->if (modalPrecio) {<!-- [et_pb_line_break_holder] -->  \/\/ Animar cambio de precio<!-- [et_pb_line_break_holder] -->  modalPrecio.style.transition = 'color 0.3s ease';<!-- [et_pb_line_break_holder] -->  modalPrecio.style.color = 'var(--color-success)';<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ \ud83d\udea9 Obtener cantidad seleccionada<!-- [et_pb_line_break_holder] -->  const qty = parseInt(document.getElementById('modal-input-cantidad').value, 10) || 1;<!-- [et_pb_line_break_holder] -->  \/\/ \ud83d\udea9 Mostrar precio total \u00d7 qty<!-- [et_pb_line_break_holder] -->  modalPrecio.textContent = mostrarPrecioConMoneda(precioTotal * qty);<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  setTimeout(() => {<!-- [et_pb_line_break_holder] -->    modalPrecio.style.color = '';<!-- [et_pb_line_break_holder] -->  }, 500);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/\/ Agregar producto desde modal al carrito<!-- [et_pb_line_break_holder] -->function agregarProductoDesdeModal() {<!-- [et_pb_line_break_holder] -->  if (!productoSeleccionado) return;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Validar que se hayan seleccionado todos los atributos<!-- [et_pb_line_break_holder] -->  const selectsAtributos = document.querySelectorAll('#modal-atributos select');<!-- [et_pb_line_break_holder] -->  let todosAtributosSeleccionados = true;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  selectsAtributos.forEach(select => {<!-- [et_pb_line_break_holder] -->    if (!select.value) {<!-- [et_pb_line_break_holder] -->      todosAtributosSeleccionados = false;<!-- [et_pb_line_break_holder] -->      select.style.borderColor = 'var(--color-danger)';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Restaurar estilo despu\u00e9s de un momento<!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        select.style.borderColor = '';<!-- [et_pb_line_break_holder] -->      }, 2000);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (!todosAtributosSeleccionados && selectsAtributos.length > 0) {<!-- [et_pb_line_break_holder] -->    \/\/ Usar notificaci\u00f3n personalizada en lugar de alert<!-- [et_pb_line_break_holder] -->    mostrarNotificacion('error', 'Por favor, selecciona todas las opciones antes de agregar al carrito.');<!-- [et_pb_line_break_holder] -->    return;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Obtener cantidad<!-- [et_pb_line_break_holder] -->  const cantidad = parseInt(document.getElementById('modal-input-cantidad').value) || 1;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Calcular precio con atributos<!-- [et_pb_line_break_holder] -->  let precioBase = productoSeleccionado.precio;<!-- [et_pb_line_break_holder] -->  let precioTotal = precioBase;<!-- [et_pb_line_break_holder] -->  let atributosTexto = [];<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  Object.entries(variantesPrecioSeleccionadas).forEach(([nombre, variante]) => {<!-- [et_pb_line_break_holder] -->    if (variante && variante.valor) {<!-- [et_pb_line_break_holder] -->      atributosTexto.push(`${nombre}: ${variante.valor}`);<!-- [et_pb_line_break_holder] -->      if (variante.precio) {<!-- [et_pb_line_break_holder] -->        precioTotal += parseFloat(variante.precio);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Crear objeto de producto para el carrito<!-- [et_pb_line_break_holder] -->  const productoCarrito = {<!-- [et_pb_line_break_holder] -->    id: productoSeleccionado.id,<!-- [et_pb_line_break_holder] -->    titulo: productoSeleccionado.titulo,<!-- [et_pb_line_break_holder] -->    imagen: productoSeleccionado.imagen,<!-- [et_pb_line_break_holder] -->    precio: precioTotal * cantidad,<!-- [et_pb_line_break_holder] -->    precioUnitario: precioTotal,<!-- [et_pb_line_break_holder] -->    cantidad: cantidad,<!-- [et_pb_line_break_holder] -->    sku: productoSeleccionado.sku || '',<!-- [et_pb_line_break_holder] -->    atributos: atributosTexto,<!-- [et_pb_line_break_holder] -->    atributosObj: {...variantesPrecioSeleccionadas}<!-- [et_pb_line_break_holder] -->  };<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Agregar al carrito<!-- [et_pb_line_break_holder] -->  agregarAlCarrito(productoCarrito);<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Cerrar modal con animaci\u00f3n<!-- [et_pb_line_break_holder] -->  const modal = document.getElementById('producto-modal');<!-- [et_pb_line_break_holder] -->  const modalContenido = modal.querySelector('.modal-contenido');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (modalContenido) {<!-- [et_pb_line_break_holder] -->    modalContenido.style.opacity = '0';<!-- [et_pb_line_break_holder] -->    modalContenido.style.transform = 'translateY(-20px)';<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    setTimeout(() => {<!-- [et_pb_line_break_holder] -->      modal.style.display = 'none';<!-- [et_pb_line_break_holder] -->      modalContenido.style.transform = '';<!-- [et_pb_line_break_holder] -->    }, 300);<!-- [et_pb_line_break_holder] -->  } else {<!-- [et_pb_line_break_holder] -->    modal.style.display = 'none';<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function cerrarCarrito() {<!-- [et_pb_line_break_holder] -->  const carritoContainer = document.getElementById('carrito-container');<!-- [et_pb_line_break_holder] -->  const anchoPantalla = window.innerWidth;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (anchoPantalla <= 576) {<!-- [et_pb_line_break_holder] -->    carritoContainer.style.right = '-100%';<!-- [et_pb_line_break_holder] -->  } else {<!-- [et_pb_line_break_holder] -->    carritoContainer.style.right = '-400px';<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Inicializar carrito<!-- [et_pb_line_break_holder] -->function inicializarCarrito() {<!-- [et_pb_line_break_holder] -->  const carritoContainer = document.getElementById('carrito-container');<!-- [et_pb_line_break_holder] -->  const carritoIcon = document.getElementById('carrito-icon');<!-- [et_pb_line_break_holder] -->  const cerrarCarrito = document.getElementById('cerrar-carrito');<!-- [et_pb_line_break_holder] -->  const vaciarCarritoBtn = document.getElementById('vaciar-carrito');<!-- [et_pb_line_break_holder] -->  const mostrarFormularioBtn = document.getElementById('mostrar-formulario');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (carritoIcon && carritoContainer) {<!-- [et_pb_line_break_holder] -->    \/\/ Estilizar el icono del carrito<!-- [et_pb_line_break_holder] -->    if (!carritoIcon.innerHTML) {<!-- [et_pb_line_break_holder] -->      carritoIcon.innerHTML = `<!-- [et_pb_line_break_holder] -->        <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><!-- [et_pb_line_break_holder] -->          <path d=\"M6 2L3 6V20C3 20.5304 3.21071 21.0391 3.58579 21.4142C3.96086 21.7893 4.46957 22 5 22H19C19.5304 22 20.0391 21.7893 20.4142 21.4142C20.7893 21.0391 21 20.5304 21 20V6L18 2H6Z\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><!-- [et_pb_line_break_holder] -->          <path d=\"M3 6H21\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><!-- [et_pb_line_break_holder] -->          <path d=\"M16 10C16 11.0609 15.5786 12.0783 14.8284 12.8284C14.0783 13.5786 13.0609 14 12 14C10.9391 14 9.92172 13.5786 9.17157 12.8284C8.42143 12.0783 8 11.0609 8 10\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><!-- [et_pb_line_break_holder] -->        <\/svg><!-- [et_pb_line_break_holder] -->        <span id=\"carrito-contador\" style=\"display: none;\">0<\/span><!-- [et_pb_line_break_holder] -->      `;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Abrir\/cerrar carrito con animaci\u00f3n<!-- [et_pb_line_break_holder] -->    carritoIcon.addEventListener('click', function() {<!-- [et_pb_line_break_holder] -->      const carritoVisible = carritoContainer.style.right === '0px';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      if (carritoVisible) {<!-- [et_pb_line_break_holder] -->        \/\/ Cerrar con animaci\u00f3n<!-- [et_pb_line_break_holder] -->        cerrarCarrito();<!-- [et_pb_line_break_holder] -->      } else {<!-- [et_pb_line_break_holder] -->        \/\/ Abrir con animaci\u00f3n<!-- [et_pb_line_break_holder] -->        carritoContainer.style.right = '0px';<!-- [et_pb_line_break_holder] -->         carritoIcon.classList.remove('pulsando'); \/\/ \ud83d\udc48 Detener el pulso al abrir<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Efecto de resaltado para los elementos del carrito<!-- [et_pb_line_break_holder] -->        setTimeout(() => {<!-- [et_pb_line_break_holder] -->          const items = document.querySelectorAll('#carrito-lista li');<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          items.forEach((item, index) => {<!-- [et_pb_line_break_holder] -->            setTimeout(() => {<!-- [et_pb_line_break_holder] -->              item.style.backgroundColor = 'rgba(14, 165, 233, 0.05)';<!-- [et_pb_line_break_holder] -->              setTimeout(() => {<!-- [et_pb_line_break_holder] -->                item.style.backgroundColor = '';<!-- [et_pb_line_break_holder] -->              }, 500);<!-- [et_pb_line_break_holder] -->            }, index * 100);<!-- [et_pb_line_break_holder] -->          });<!-- [et_pb_line_break_holder] -->        }, 300);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Efectos visuales al hover<!-- [et_pb_line_break_holder] -->    carritoIcon.addEventListener('mouseover', function() {<!-- [et_pb_line_break_holder] -->      this.style.transform = 'scale(1.1)';<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    carritoIcon.addEventListener('mouseout', function() {<!-- [et_pb_line_break_holder] -->      this.style.transform = '';<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    if (cerrarCarrito) {<!-- [et_pb_line_break_holder] -->        cerrarCarrito.addEventListener('click', function() {<!-- [et_pb_line_break_holder] -->          const anchoPantalla = window.innerWidth;<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          if (anchoPantalla <= 576) {<!-- [et_pb_line_break_holder] -->            carritoContainer.style.right = '-100%';<!-- [et_pb_line_break_holder] -->          } else {<!-- [et_pb_line_break_holder] -->            carritoContainer.style.right = '-400px';<!-- [et_pb_line_break_holder] -->          }<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Vaciar carrito<!-- [et_pb_line_break_holder] -->    if (vaciarCarritoBtn) {<!-- [et_pb_line_break_holder] -->      vaciarCarritoBtn.addEventListener('click', function() {<!-- [et_pb_line_break_holder] -->  if (carrito.length === 0) {<!-- [et_pb_line_break_holder] -->    mostrarNotificacion('info', 'El carrito ya est\u00e1 vac\u00edo');<!-- [et_pb_line_break_holder] -->    return;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  Swal.fire({<!-- [et_pb_line_break_holder] -->    title: '\u00bfEst\u00e1s seguro?',<!-- [et_pb_line_break_holder] -->    text: 'Se vaciar\u00e1 todo tu carrito.',<!-- [et_pb_line_break_holder] -->    icon: 'warning',<!-- [et_pb_line_break_holder] -->    showCancelButton: true,<!-- [et_pb_line_break_holder] -->    confirmButtonText: 'S\u00ed, vaciar',<!-- [et_pb_line_break_holder] -->    cancelButtonText: 'No, cancelar',<!-- [et_pb_line_break_holder] -->    customClass: {<!-- [et_pb_line_break_holder] -->      confirmButton: 'bg-red-500 hover:bg-red-600 text-white px-4 py-2 rounded',<!-- [et_pb_line_break_holder] -->      cancelButton: 'bg-gray-200 hover:bg-gray-300 text-gray-800 px-4 py-2 rounded'<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }).then((result) => {<!-- [et_pb_line_break_holder] -->    if (result.isConfirmed) {<!-- [et_pb_line_break_holder] -->      \/\/ animaciones...<!-- [et_pb_line_break_holder] -->      vaciarCarrito();<!-- [et_pb_line_break_holder] -->      Swal.fire('\u00a1Hecho!', 'Carrito vaciado.', 'success');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    }  <!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Mostrar formulario de pedido<!-- [et_pb_line_break_holder] -->    if (mostrarFormularioBtn) {<!-- [et_pb_line_break_holder] -->      mostrarFormularioBtn.addEventListener('click', function() {<!-- [et_pb_line_break_holder] -->        if (carrito.length === 0) {<!-- [et_pb_line_break_holder] -->          mostrarNotificacion('error', 'Para completar el pedido, debes agregar productos al carrito.');<!-- [et_pb_line_break_holder] -->        } else {<!-- [et_pb_line_break_holder] -->          mostrarFormularioPedido(); \/\/ Llama a la funci\u00f3n que incluye el resumen<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Efectos visuales<!-- [et_pb_line_break_holder] -->      mostrarFormularioBtn.addEventListener('mouseover', function() {<!-- [et_pb_line_break_holder] -->        this.style.transform = 'translateY(-2px)';<!-- [et_pb_line_break_holder] -->        this.style.boxShadow = 'var(--shadow-lg)';<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      mostrarFormularioBtn.addEventListener('mouseout', function() {<!-- [et_pb_line_break_holder] -->        this.style.transform = '';<!-- [et_pb_line_break_holder] -->        this.style.boxShadow = '';<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Mover carrito y su icono al page-container si no est\u00e1n ah\u00ed<!-- [et_pb_line_break_holder] -->    const pageContainer = document.getElementById('page-container');<!-- [et_pb_line_break_holder] -->    if (pageContainer && !carritoContainer.closest('#page-container')) {<!-- [et_pb_line_break_holder] -->      pageContainer.appendChild(carritoContainer);<!-- [et_pb_line_break_holder] -->      if (!carritoIcon.closest('#page-container')) {<!-- [et_pb_line_break_holder] -->        pageContainer.appendChild(carritoIcon);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Agregar producto al carrito<!-- [et_pb_line_break_holder] -->function agregarAlCarrito(producto) {<!-- [et_pb_line_break_holder] -->  const indiceExistente = carrito.findIndex(item => {<!-- [et_pb_line_break_holder] -->    if (item.id === producto.id) {<!-- [et_pb_line_break_holder] -->      if (item.atributos.length !== producto.atributos.length) {<!-- [et_pb_line_break_holder] -->        return false;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      return JSON.stringify(item.atributosObj) === JSON.stringify(producto.atributosObj);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    return false;<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (indiceExistente !== -1) {<!-- [et_pb_line_break_holder] -->    carrito[indiceExistente].cantidad += producto.cantidad;<!-- [et_pb_line_break_holder] -->    carrito[indiceExistente].precio = carrito[indiceExistente].precioUnitario * carrito[indiceExistente].cantidad;<!-- [et_pb_line_break_holder] -->  } else {<!-- [et_pb_line_break_holder] -->    carrito.push({...producto});<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  actualizarCarritoUI();<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->const carritoIcon = document.getElementById('carrito-icon');<!-- [et_pb_line_break_holder] -->if (carritoIcon) {<!-- [et_pb_line_break_holder] -->  carritoIcon.classList.add('pulsando'); \/\/ \ud83d\udc48 Efecto visual hasta que abran el carrito<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  carritoIcon.classList.add('shaking');<!-- [et_pb_line_break_holder] -->  carritoIcon.style.transform = 'scale(1.2)';<!-- [et_pb_line_break_holder] -->  carritoIcon.style.backgroundColor = 'var(--color-primary-dark)';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  setTimeout(() => {<!-- [et_pb_line_break_holder] -->    carritoIcon.classList.remove('shaking');<!-- [et_pb_line_break_holder] -->    carritoIcon.style.transform = '';<!-- [et_pb_line_break_holder] -->    carritoIcon.style.backgroundColor = '';<!-- [et_pb_line_break_holder] -->  }, 500);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  const esMobil = window.innerWidth <= 768;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (!esMobil) {<!-- [et_pb_line_break_holder] -->    const carritoContainer = document.getElementById('carrito-container');<!-- [et_pb_line_break_holder] -->    if (carritoContainer) {<!-- [et_pb_line_break_holder] -->      carritoContainer.style.right = '0px';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        const ultimoItem = document.querySelector('#carrito-lista li:last-child');<!-- [et_pb_line_break_holder] -->        if (ultimoItem) {<!-- [et_pb_line_break_holder] -->          ultimoItem.style.backgroundColor = 'rgba(14, 165, 233, 0.1)';<!-- [et_pb_line_break_holder] -->          setTimeout(() => {<!-- [et_pb_line_break_holder] -->            ultimoItem.style.backgroundColor = '';<!-- [et_pb_line_break_holder] -->          }, 1500);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }, 300);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Mostrar notificaci\u00f3n de \u00e9xito<!-- [et_pb_line_break_holder] -->  Swal.fire({<!-- [et_pb_line_break_holder] -->  toast: true,<!-- [et_pb_line_break_holder] -->  position: 'top-end',<!-- [et_pb_line_break_holder] -->  showConfirmButton: false,<!-- [et_pb_line_break_holder] -->  timer: 3000,<!-- [et_pb_line_break_holder] -->  icon: 'success',<!-- [et_pb_line_break_holder] -->  title: 'Producto agregado al carrito',<!-- [et_pb_line_break_holder] -->  customClass: { popup: 'shadow-lg rounded-lg' }<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function actualizarCarritoUI() {<!-- [et_pb_line_break_holder] -->  const carritoLista = document.getElementById('carrito-lista');<!-- [et_pb_line_break_holder] -->  const carritoVacioMensaje = document.getElementById('carrito-vacio-mensaje');<!-- [et_pb_line_break_holder] -->  const carritoContador = document.getElementById('carrito-contador');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (carritoLista && carritoVacioMensaje) {<!-- [et_pb_line_break_holder] -->    \/\/ Limpiar lista<!-- [et_pb_line_break_holder] -->    carritoLista.innerHTML = '';<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Mostrar mensaje si el carrito est\u00e1 vac\u00edo<!-- [et_pb_line_break_holder] -->    if (carrito.length === 0) {<!-- [et_pb_line_break_holder] -->      carritoVacioMensaje.style.display = 'block';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Mejorar mensaje vac\u00edo<!-- [et_pb_line_break_holder] -->      carritoVacioMensaje.innerHTML = `<!-- [et_pb_line_break_holder] -->        <pee>Tu carrito est\u00e1 vac\u00edo<\/pee><!-- [et_pb_line_break_holder] -->        <pee style=\"font-size: 14px; color: var(--color-text-light); margin-top: 10px;\">Agrega productos para continuar<\/pee><!-- [et_pb_line_break_holder] -->      `;<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      carritoVacioMensaje.style.display = 'none';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Agregar productos a la lista con animaci\u00f3n de entrada<!-- [et_pb_line_break_holder] -->      carrito.forEach((producto, index) => {<!-- [et_pb_line_break_holder] -->        const listItem = document.createElement('li');<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        const atributosHTML = producto.atributos.length > 0 <!-- [et_pb_line_break_holder] -->          ? `<\/p>\n<div class=\"carrito-item-variantes\">${producto.atributos.join(' \/ ')}<\/div>\n<p>` <!-- [et_pb_line_break_holder] -->          : '';<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        listItem.innerHTML = `<!-- [et_pb_line_break_holder] -->          <img decoding=\"async\" src=\"${producto.imagen}\" alt=\"${producto.titulo}\" class=\"carrito-item-img\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"carrito-item-detalles\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"carrito-item-titulo\">${producto.titulo}<\/div>\n<p><!-- [et_pb_line_break_holder] -->            ${atributosHTML}<!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"carrito-item-precio\">${mostrarPrecioConMoneda(producto.precioUnitario)}<\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"carrito-item-cantidad\">Cantidad: ${producto.cantidad}<\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <a class=\"eliminar\">\u00d7<\/a><!-- [et_pb_line_break_holder] -->        `;<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Bot\u00f3n eliminar<!-- [et_pb_line_break_holder] -->        const eliminarBtn = listItem.querySelector('.eliminar');<!-- [et_pb_line_break_holder] -->        eliminarBtn.addEventListener('click', () => {<!-- [et_pb_line_break_holder] -->          \/\/ Animar eliminaci\u00f3n<!-- [et_pb_line_break_holder] -->          listItem.style.transition = 'all 0.3s ease';<!-- [et_pb_line_break_holder] -->          listItem.style.transform = 'translateX(100%)';<!-- [et_pb_line_break_holder] -->          listItem.style.opacity = '0';<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          \/\/ Eliminar despu\u00e9s de la animaci\u00f3n<!-- [et_pb_line_break_holder] -->          setTimeout(() => {<!-- [et_pb_line_break_holder] -->            eliminarDelCarrito(index);<!-- [et_pb_line_break_holder] -->          }, 300);<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Agregar efectos de hover<!-- [et_pb_line_break_holder] -->        listItem.addEventListener('mouseover', function() {<!-- [et_pb_line_break_holder] -->          this.style.backgroundColor = 'rgba(14, 165, 233, 0.05)';<!-- [et_pb_line_break_holder] -->          this.style.borderRadius = 'var(--radius-md)';<!-- [et_pb_line_break_holder] -->          this.style.paddingLeft = '10px';<!-- [et_pb_line_break_holder] -->          this.style.paddingRight = '10px';<!-- [et_pb_line_break_holder] -->          this.style.marginLeft = '-10px';<!-- [et_pb_line_break_holder] -->          this.style.marginRight = '-10px';<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        listItem.addEventListener('mouseout', function() {<!-- [et_pb_line_break_holder] -->          this.style.backgroundColor = '';<!-- [et_pb_line_break_holder] -->          this.style.borderRadius = '';<!-- [et_pb_line_break_holder] -->          this.style.paddingLeft = '';<!-- [et_pb_line_break_holder] -->          this.style.paddingRight = '';<!-- [et_pb_line_break_holder] -->          this.style.marginLeft = '';<!-- [et_pb_line_break_holder] -->          this.style.marginRight = '';<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ A\u00f1adir elemento con animaci\u00f3n de entrada<!-- [et_pb_line_break_holder] -->        listItem.style.opacity = '0';<!-- [et_pb_line_break_holder] -->        listItem.style.transform = 'translateX(20px)';<!-- [et_pb_line_break_holder] -->        carritoLista.appendChild(listItem);<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        setTimeout(() => {<!-- [et_pb_line_break_holder] -->          listItem.style.transition = 'all 0.3s ease';<!-- [et_pb_line_break_holder] -->          listItem.style.opacity = '1';<!-- [et_pb_line_break_holder] -->          listItem.style.transform = 'translateX(0)';<!-- [et_pb_line_break_holder] -->        }, index * 50);<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Actualizar contador<!-- [et_pb_line_break_holder] -->    if (carritoContador) {<!-- [et_pb_line_break_holder] -->      carritoContador.textContent = carrito.length;<!-- [et_pb_line_break_holder] -->      carritoContador.style.display = carrito.length > 0 ? '' : 'none';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Animar contador cuando cambia<!-- [et_pb_line_break_holder] -->      if (carrito.length > 0) {<!-- [et_pb_line_break_holder] -->        carritoContador.style.transform = 'scale(1.2)';<!-- [et_pb_line_break_holder] -->        carritoContador.style.backgroundColor = 'var(--color-danger)';<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        setTimeout(() => {<!-- [et_pb_line_break_holder] -->          carritoContador.style.transform = '';<!-- [et_pb_line_break_holder] -->          carritoContador.style.backgroundColor = '';<!-- [et_pb_line_break_holder] -->        }, 300);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Actualizar resumen<!-- [et_pb_line_break_holder] -->    actualizarResumenCarrito();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Actualizar resumen de carrito (subtotal, impuestos, total)<!-- [et_pb_line_break_holder] -->function actualizarResumenCarrito() {<!-- [et_pb_line_break_holder] -->  const subtotalElemento = document.getElementById('subtotal');<!-- [et_pb_line_break_holder] -->  const impuestoElemento = document.getElementById('impuesto');<!-- [et_pb_line_break_holder] -->  const totalElemento = document.getElementById('total');<!-- [et_pb_line_break_holder] -->  const impuestoRow = document.getElementById('impuesto-row');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (subtotalElemento || totalElemento) {<!-- [et_pb_line_break_holder] -->    \/\/ Calcular subtotal<!-- [et_pb_line_break_holder] -->    subtotal = carrito.reduce((sum, producto) => sum + producto.precio, 0);<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Mostrar subtotal con animaci\u00f3n<!-- [et_pb_line_break_holder] -->    if (subtotalElemento) {<!-- [et_pb_line_break_holder] -->      \/\/ Efecto de cambio de valor<!-- [et_pb_line_break_holder] -->      subtotalElemento.style.transition = 'color 0.3s ease';<!-- [et_pb_line_break_holder] -->      subtotalElemento.style.color = 'var(--color-primary)';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      subtotalElemento.textContent = mostrarPrecioConMoneda(subtotal);<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        subtotalElemento.style.color = '';<!-- [et_pb_line_break_holder] -->      }, 500);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Calcular y mostrar impuesto si est\u00e1 habilitado<!-- [et_pb_line_break_holder] -->    if (config.mostrarImpuestos && impuestoElemento && impuestoRow) {<!-- [et_pb_line_break_holder] -->      impuestoRow.style.display = '';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      if (config.impuestoIncluido) {<!-- [et_pb_line_break_holder] -->        \/\/ Si el impuesto ya est\u00e1 incluido, calcularlo sobre el subtotal<!-- [et_pb_line_break_holder] -->        const porcentaje = parseFloat(config.porcentajeImpuesto) \/ 100;<!-- [et_pb_line_break_holder] -->        impuesto = subtotal - (subtotal \/ (1 + porcentaje));<!-- [et_pb_line_break_holder] -->      } else {<!-- [et_pb_line_break_holder] -->        \/\/ Si el impuesto no est\u00e1 incluido, agregarlo al subtotal<!-- [et_pb_line_break_holder] -->        const porcentaje = parseFloat(config.porcentajeImpuesto) \/ 100;<!-- [et_pb_line_break_holder] -->        impuesto = subtotal * porcentaje;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Animar cambio de valor<!-- [et_pb_line_break_holder] -->      impuestoElemento.style.transition = 'color 0.3s ease';<!-- [et_pb_line_break_holder] -->      impuestoElemento.style.color = 'var(--color-primary)';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      impuestoElemento.textContent = `${mostrarPrecioConMoneda(impuesto)} (${config.porcentajeImpuesto}%)`;<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        impuestoElemento.style.color = '';<!-- [et_pb_line_break_holder] -->      }, 500);<!-- [et_pb_line_break_holder] -->    } else if (impuestoRow) {<!-- [et_pb_line_break_holder] -->      impuestoRow.style.display = 'none';<!-- [et_pb_line_break_holder] -->      impuesto = 0;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Calcular total<!-- [et_pb_line_break_holder] -->    carritoTotal = config.impuestoIncluido ? subtotal : subtotal + impuesto;<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Mostrar total con animaci\u00f3n<!-- [et_pb_line_break_holder] -->    if (totalElemento) {<!-- [et_pb_line_break_holder] -->      \/\/ Efecto de cambio de valor<!-- [et_pb_line_break_holder] -->      totalElemento.style.transition = 'color 0.3s ease';<!-- [et_pb_line_break_holder] -->      totalElemento.style.color = 'var(--color-primary)';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      totalElemento.textContent = mostrarPrecioConMoneda(carritoTotal);<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        totalElemento.style.color = '';<!-- [et_pb_line_break_holder] -->      }, 500);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Eliminar producto del carrito<!-- [et_pb_line_break_holder] -->function eliminarDelCarrito(index) {<!-- [et_pb_line_break_holder] -->  if (index >= 0 && index < carrito.length) {<!-- [et_pb_line_break_holder] -->    \/\/ Guardar una referencia al producto que se va a eliminar para la notificaci\u00f3n<!-- [et_pb_line_break_holder] -->    const productoEliminado = carrito[index];<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    carrito.splice(index, 1);<!-- [et_pb_line_break_holder] -->    actualizarCarritoUI();<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Mostrar notificaci\u00f3n<!-- [et_pb_line_break_holder] -->    mostrarNotificacion('info', `\"${productoEliminado.titulo}\" eliminado del carrito`);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Vaciar carrito y resetear cup\u00f3n<!-- [et_pb_line_break_holder] -->function vaciarCarrito() {<!-- [et_pb_line_break_holder] -->  carrito = [];<!-- [et_pb_line_break_holder] -->  carritoTotal = 0;<!-- [et_pb_line_break_holder] -->  subtotal = 0;<!-- [et_pb_line_break_holder] -->  impuesto = 0;<!-- [et_pb_line_break_holder] -->  descuento = 0;<!-- [et_pb_line_break_holder] -->  costoEnvio = 0;<!-- [et_pb_line_break_holder] -->  cuponAplicado = null;          \/\/ <\u2014 limpiamos el cup\u00f3n activo<!-- [et_pb_line_break_holder] -->  document.getElementById('cupon').value = '';            \/\/ <\u2014 opcional: limpiar input<!-- [et_pb_line_break_holder] -->  document.getElementById('mensaje-cupon').textContent = ''; \/\/ <\u2014 ocultar mensaje<!-- [et_pb_line_break_holder] -->  actualizarCarritoUI();<!-- [et_pb_line_break_holder] -->  \/\/ Si tienes el formulario abierto<!-- [et_pb_line_break_holder] -->  if (document.getElementById('formulario-pedido').style.display === 'block') {<!-- [et_pb_line_break_holder] -->    actualizarResumenMontos();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Inicializar formulario de pedido<!-- [et_pb_line_break_holder] -->function inicializarFormularioPedido() {<!-- [et_pb_line_break_holder] -->  const entregaSelect = document.getElementById('entrega');<!-- [et_pb_line_break_holder] -->  const campoDireccion = document.getElementById('campo-direccion');<!-- [et_pb_line_break_holder] -->  const campoZona = document.getElementById('campo-zona');<!-- [et_pb_line_break_holder] -->  const campoReferencias = document.getElementById('campo-referencias');<!-- [et_pb_line_break_holder] -->  const referenciaInput  = document.getElementById('referencias');<!-- [et_pb_line_break_holder] -->  const volverListaBtn = document.getElementById('volver-lista-productos');<!-- [et_pb_line_break_holder] -->  const aceptarTerminos = document.getElementById('aceptar-terminos');<!-- [et_pb_line_break_holder] -->  const enviarWhatsapp = document.getElementById('enviar-whatsapp');<!-- [et_pb_line_break_holder] -->  const aplicarCuponBtn = document.getElementById('aplicar-cupon');<!-- [et_pb_line_break_holder] -->  const zonaEnvioSelect = document.getElementById('zona-envio');<!-- [et_pb_line_break_holder] -->  const metodoPagoSelect = document.getElementById('pago');<!-- [et_pb_line_break_holder] -->  const infoTransferenciaBox = document.getElementById('info-transferencia');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  const telefonoInput = document.getElementById('telefono');<!-- [et_pb_line_break_holder] -->if (telefonoInput) {<!-- [et_pb_line_break_holder] -->  \/\/ Al pegar o escribir, elimina todo lo que no sea d\u00edgito<!-- [et_pb_line_break_holder] -->  telefonoInput.addEventListener('input', () => {<!-- [et_pb_line_break_holder] -->    telefonoInput.value = telefonoInput.value.replace(\/\\D\/g, '');<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->if (metodoPagoSelect && infoTransferenciaBox) {<!-- [et_pb_line_break_holder] -->  metodoPagoSelect.addEventListener('change', function () {<!-- [et_pb_line_break_holder] -->    if (this.value === 'Transferencia') {<!-- [et_pb_line_break_holder] -->      infoTransferenciaBox.style.display = 'block';<!-- [et_pb_line_break_holder] -->      infoTransferenciaBox.style.maxHeight = '500px';<!-- [et_pb_line_break_holder] -->      infoTransferenciaBox.style.transition = 'all 0.3s ease';<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      infoTransferenciaBox.style.maxHeight = '0';<!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        infoTransferenciaBox.style.display = 'none';<!-- [et_pb_line_break_holder] -->      }, 300);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> \/\/ \u2705 Agrega esto justo despu\u00e9s del bloque anterior<!-- [et_pb_line_break_holder] -->document.querySelectorAll('.btn-copiar').forEach(boton => {<!-- [et_pb_line_break_holder] -->  boton.addEventListener('click', () => {<!-- [et_pb_line_break_holder] -->    const targetId = boton.getAttribute('data-copiar');<!-- [et_pb_line_break_holder] -->    const texto = document.getElementById(targetId)?.textContent.trim() || '';<!-- [et_pb_line_break_holder] -->    navigator.clipboard.writeText(texto)<!-- [et_pb_line_break_holder] -->      .then(() => {<!-- [et_pb_line_break_holder] -->        mostrarNotificacion('success', '\ud83d\udccb Copiado con \u00e9xito');<!-- [et_pb_line_break_holder] -->      })<!-- [et_pb_line_break_holder] -->      .catch(err => {<!-- [et_pb_line_break_holder] -->        console.error('Error al copiar:', err);<!-- [et_pb_line_break_holder] -->        mostrarNotificacion('error', 'No se pudo copiar al portapapeles');<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ dentro de inicializarFormularioPedido(), sustituye este trozo:<!-- [et_pb_line_break_holder] --> if (entregaSelect) {<!-- [et_pb_line_break_holder] -->    entregaSelect.addEventListener('change', function() {<!-- [et_pb_line_break_holder] -->      const opcion = this.value;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      campoDireccion.style.display   = (opcion === 'Envio a domicilio')   ? 'block' : 'none';<!-- [et_pb_line_break_holder] -->      campoReferencias.style.display = (opcion === 'Envio a domicilio')   ? 'block' : 'none';<!-- [et_pb_line_break_holder] -->      campoZona.style.display        = (opcion === 'En punto de entrega') ? 'block' : 'none';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      actualizarCostoEnvio();<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (volverListaBtn) {<!-- [et_pb_line_break_holder] -->    volverListaBtn.addEventListener('click', function() {<!-- [et_pb_line_break_holder] -->      const listaProductos = document.getElementById('lista-productos');<!-- [et_pb_line_break_holder] -->      const formularioPedido = document.getElementById('formulario-pedido');<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      if (listaProductos && formularioPedido) {<!-- [et_pb_line_break_holder] -->        \/\/ Animar transici\u00f3n al volver<!-- [et_pb_line_break_holder] -->        formularioPedido.style.opacity = '0';<!-- [et_pb_line_break_holder] -->        formularioPedido.style.transform = 'translateY(20px)';<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        setTimeout(() => {<!-- [et_pb_line_break_holder] -->          formularioPedido.style.display = 'none';<!-- [et_pb_line_break_holder] -->          listaProductos.style.display = 'block';<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          \/\/ Animar aparici\u00f3n<!-- [et_pb_line_break_holder] -->          listaProductos.style.opacity = '0';<!-- [et_pb_line_break_holder] -->          setTimeout(() => {<!-- [et_pb_line_break_holder] -->            listaProductos.style.opacity = '1';<!-- [et_pb_line_break_holder] -->            listaProductos.style.transition = 'opacity 0.3s ease';<!-- [et_pb_line_break_holder] -->          }, 10);<!-- [et_pb_line_break_holder] -->        }, 300);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Efectos visuales<!-- [et_pb_line_break_holder] -->    volverListaBtn.addEventListener('mouseover', function() {<!-- [et_pb_line_break_holder] -->      this.style.color = 'var(--color-primary)';<!-- [et_pb_line_break_holder] -->      this.style.backgroundColor = 'var(--color-surface)';<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    volverListaBtn.addEventListener('mouseout', function() {<!-- [et_pb_line_break_holder] -->      this.style.color = '';<!-- [et_pb_line_break_holder] -->      this.style.backgroundColor = '';<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (aceptarTerminos && enviarWhatsapp) {<!-- [et_pb_line_break_holder] -->    \/\/ Mejorar feedback visual para checkbox<!-- [et_pb_line_break_holder] -->    aceptarTerminos.addEventListener('change', function() {<!-- [et_pb_line_break_holder] -->      const container = this.closest('.terminos-container');<!-- [et_pb_line_break_holder] -->      if (container) {<!-- [et_pb_line_break_holder] -->        if (this.checked) {<!-- [et_pb_line_break_holder] -->          container.style.backgroundColor = 'rgba(14, 165, 233, 0.05)';<!-- [et_pb_line_break_holder] -->          container.style.borderColor = 'var(--color-primary-light)';<!-- [et_pb_line_break_holder] -->        } else {<!-- [et_pb_line_break_holder] -->          container.style.backgroundColor = '';<!-- [et_pb_line_break_holder] -->          container.style.borderColor = '';<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Actualizar estado del bot\u00f3n<!-- [et_pb_line_break_holder] -->      if (enviarWhatsapp) {<!-- [et_pb_line_break_holder] -->        enviarWhatsapp.disabled = !this.checked;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (enviarWhatsapp) {<!-- [et_pb_line_break_holder] -->    \/\/ Actualizar formato del bot\u00f3n si no tiene contenido<!-- [et_pb_line_break_holder] -->    if (!enviarWhatsapp.innerHTML.includes('WhatsApp')) {<!-- [et_pb_line_break_holder] -->      enviarWhatsapp.innerHTML = `<!-- [et_pb_line_break_holder] -->        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"#fff\" style=\"margin-right: 8px;\"><!-- [et_pb_line_break_holder] -->          <path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z\"\/><!-- [et_pb_line_break_holder] -->        <\/svg><!-- [et_pb_line_break_holder] -->        Enviar pedido por WhatsApp<!-- [et_pb_line_break_holder] -->      `;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    enviarWhatsapp.addEventListener('click', function(e) {<!-- [et_pb_line_break_holder] -->      \/\/ Verificar si est\u00e1 habilitado<!-- [et_pb_line_break_holder] -->      if (this.disabled) return;<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Solo deshabilitamos el bot\u00f3n para evitar m\u00faltiples env\u00edos<!-- [et_pb_line_break_holder] -->      this.disabled = true;<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Enviar pedido<!-- [et_pb_line_break_holder] -->      enviarPedidoPorWhatsapp(e);<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Efectos visuales<!-- [et_pb_line_break_holder] -->    enviarWhatsapp.addEventListener('mouseover', function() {<!-- [et_pb_line_break_holder] -->      if (!this.disabled) {<!-- [et_pb_line_break_holder] -->        this.style.transform = 'translateY(-2px)';<!-- [et_pb_line_break_holder] -->        this.style.boxShadow = 'var(--shadow-lg)';<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    enviarWhatsapp.addEventListener('mouseout', function() {<!-- [et_pb_line_break_holder] -->      this.style.transform = '';<!-- [et_pb_line_break_holder] -->      this.style.boxShadow = '';<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (aplicarCuponBtn) {<!-- [et_pb_line_break_holder] -->    aplicarCuponBtn.addEventListener('click', function() {<!-- [et_pb_line_break_holder] -->      \/\/ Efectos visuales al aplicar cup\u00f3n<!-- [et_pb_line_break_holder] -->      this.style.transform = 'scale(0.95)';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Mostrar indicador de carga<!-- [et_pb_line_break_holder] -->      const textoOriginal = this.textContent;<!-- [et_pb_line_break_holder] -->      this.textContent = 'Aplicando...';<!-- [et_pb_line_break_holder] -->      this.disabled = true;<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Peque\u00f1o retraso para simular procesamiento<!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        this.style.transform = '';<!-- [et_pb_line_break_holder] -->        this.textContent = textoOriginal;<!-- [et_pb_line_break_holder] -->        this.disabled = false;<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Llamar a la funci\u00f3n original<!-- [et_pb_line_break_holder] -->        aplicarCupon();<!-- [et_pb_line_break_holder] -->      }, 300);<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (zonaEnvioSelect) {<!-- [et_pb_line_break_holder] -->    zonaEnvioSelect.addEventListener('change', function() {<!-- [et_pb_line_break_holder] -->      \/\/ Animaci\u00f3n al cambiar zona<!-- [et_pb_line_break_holder] -->      this.style.borderColor = 'var(--color-primary)';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        this.style.borderColor = '';<!-- [et_pb_line_break_holder] -->      }, 1000);<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      actualizarCostoEnvio();<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ A\u00f1adir validaci\u00f3n en tiempo real para campos del formulario<!-- [et_pb_line_break_holder] --> \/\/ ahora s\u00f3lo nombre y whatsapp son obligatorios<!-- [et_pb_line_break_holder] -->const camposObligatorios = ['whatsapp', 'nombre'];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  camposObligatorios.forEach(id => {<!-- [et_pb_line_break_holder] -->    const campo = document.getElementById(id);<!-- [et_pb_line_break_holder] -->    if (campo) {<!-- [et_pb_line_break_holder] -->      campo.addEventListener('blur', function() {<!-- [et_pb_line_break_holder] -->        if (!this.value.trim()) {<!-- [et_pb_line_break_holder] -->          this.style.borderColor = 'var(--color-danger)';<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          \/\/ A\u00f1adir mensaje de error si no existe<!-- [et_pb_line_break_holder] -->          let mensajeError = this.nextElementSibling;<!-- [et_pb_line_break_holder] -->          if (!mensajeError || !mensajeError.classList.contains('campo-error')) {<!-- [et_pb_line_break_holder] -->            mensajeError = document.createElement('div');<!-- [et_pb_line_break_holder] -->            mensajeError.className = 'campo-error';<!-- [et_pb_line_break_holder] -->            mensajeError.style.color = 'var(--color-danger)';<!-- [et_pb_line_break_holder] -->            mensajeError.style.fontSize = '12px';<!-- [et_pb_line_break_holder] -->            mensajeError.style.marginTop = '-15px';<!-- [et_pb_line_break_holder] -->            mensajeError.style.marginBottom = '15px';<!-- [et_pb_line_break_holder] -->            mensajeError.textContent = 'Este campo es obligatorio';<!-- [et_pb_line_break_holder] -->            this.parentNode.insertBefore(mensajeError, this.nextSibling);<!-- [et_pb_line_break_holder] -->          }<!-- [et_pb_line_break_holder] -->        } else {<!-- [et_pb_line_break_holder] -->          this.style.borderColor = 'var(--color-success)';<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          \/\/ Quitar mensaje de error si existe<!-- [et_pb_line_break_holder] -->          const mensajeError = this.nextElementSibling;<!-- [et_pb_line_break_holder] -->          if (mensajeError && mensajeError.classList.contains('campo-error')) {<!-- [et_pb_line_break_holder] -->            mensajeError.remove();<!-- [et_pb_line_break_holder] -->          }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Restaurar estilo al editar<!-- [et_pb_line_break_holder] -->      campo.addEventListener('input', function() {<!-- [et_pb_line_break_holder] -->        this.style.borderColor = '';<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Quitar mensaje de error si existe<!-- [et_pb_line_break_holder] -->        const mensajeError = this.nextElementSibling;<!-- [et_pb_line_break_holder] -->        if (mensajeError && mensajeError.classList.contains('campo-error')) {<!-- [et_pb_line_break_holder] -->          mensajeError.remove();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Funci\u00f3n para mostrar el formulario de pedido con resumen completo<!-- [et_pb_line_break_holder] -->function mostrarFormularioPedido() {<!-- [et_pb_line_break_holder] -->  const listaProductos = document.getElementById('lista-productos');<!-- [et_pb_line_break_holder] -->  const formularioPedido = document.getElementById('formulario-pedido');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (listaProductos && formularioPedido) {<!-- [et_pb_line_break_holder] -->    \/\/ Animar transici\u00f3n<!-- [et_pb_line_break_holder] -->    listaProductos.style.opacity = '0';<!-- [et_pb_line_break_holder] -->    listaProductos.style.transition = 'opacity 0.3s ease';<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    setTimeout(() => {<!-- [et_pb_line_break_holder] -->      \/\/ Generar lista de productos en el resumen<!-- [et_pb_line_break_holder] -->      const resumenPedidoLista = document.getElementById('resumen-pedido-lista');<!-- [et_pb_line_break_holder] -->      if (resumenPedidoLista) {<!-- [et_pb_line_break_holder] -->        resumenPedidoLista.innerHTML = '';<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        carrito.forEach(producto => {<!-- [et_pb_line_break_holder] -->          const itemResumen = document.createElement('div');<!-- [et_pb_line_break_holder] -->          itemResumen.className = 'resumen-item';<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          const atributosTexto = producto.atributos.length > 0 ? <!-- [et_pb_line_break_holder] -->            `<span class=\"resumen-atributos\">${producto.atributos.join(' \/ ')}<\/span>` : '';<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          itemResumen.innerHTML = `<!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"resumen-item-info\"><!-- [et_pb_line_break_holder] -->              <span class=\"resumen-item-cantidad\">${producto.cantidad}x<\/span><!-- [et_pb_line_break_holder] -->              <span class=\"resumen-item-titulo\">${producto.titulo}<\/span><!-- [et_pb_line_break_holder] -->              ${atributosTexto}<!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <span class=\"resumen-item-precio\">${mostrarPrecioConMoneda(producto.precio)}<\/span><!-- [et_pb_line_break_holder] -->          `;<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          resumenPedidoLista.appendChild(itemResumen);<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Actualizar montos del resumen<!-- [et_pb_line_break_holder] -->      actualizarResumenMontos();<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Mostrar formulario y ocultar lista de productos<!-- [et_pb_line_break_holder] -->      listaProductos.style.display = 'none';<!-- [et_pb_line_break_holder] -->      formularioPedido.style.display = 'block';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Animar aparici\u00f3n del formulario<!-- [et_pb_line_break_holder] -->      formularioPedido.style.opacity = '0';<!-- [et_pb_line_break_holder] -->      formularioPedido.style.transform = 'translateY(20px)';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        formularioPedido.style.opacity = '1';<!-- [et_pb_line_break_holder] -->        formularioPedido.style.transform = 'translateY(0)';<!-- [et_pb_line_break_holder] -->        formularioPedido.style.transition = 'opacity 0.3s ease, transform 0.3s ease';<!-- [et_pb_line_break_holder] -->      }, 10);<!-- [et_pb_line_break_holder] -->    }, 300);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Funci\u00f3n para actualizar los montos en el resumen del pedido<!-- [et_pb_line_break_holder] -->function actualizarResumenMontos() {<!-- [et_pb_line_break_holder] -->  const resumenSubtotal = document.getElementById('resumen-subtotal');<!-- [et_pb_line_break_holder] -->  const resumenImpuesto = document.getElementById('resumen-impuesto');<!-- [et_pb_line_break_holder] -->  const resumenImpuestoRow = document.getElementById('resumen-impuesto-row');<!-- [et_pb_line_break_holder] -->  const resumenNombreImpuesto = document.getElementById('resumen-nombre-impuesto');<!-- [et_pb_line_break_holder] -->  const resumenDescuento = document.getElementById('resumen-descuento');<!-- [et_pb_line_break_holder] -->  const resumenDescuentoRow = document.getElementById('resumen-descuento-row');<!-- [et_pb_line_break_holder] -->  const resumenCostoEnvio = document.getElementById('resumen-costo-envio');<!-- [et_pb_line_break_holder] -->  const resumenEnvioRow = document.getElementById('resumen-envio-row');<!-- [et_pb_line_break_holder] -->  const resumenTotal = document.getElementById('resumen-total');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Actualizar subtotal<!-- [et_pb_line_break_holder] -->  if (resumenSubtotal) {<!-- [et_pb_line_break_holder] -->    resumenSubtotal.textContent = mostrarPrecioConMoneda(subtotal);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Actualizar impuesto<!-- [et_pb_line_break_holder] -->  if (resumenImpuestoRow && resumenImpuesto) {<!-- [et_pb_line_break_holder] -->    if (config.mostrarImpuestos && impuesto > 0) {<!-- [et_pb_line_break_holder] -->      resumenImpuestoRow.style.display = '';<!-- [et_pb_line_break_holder] -->      if (resumenNombreImpuesto) {<!-- [et_pb_line_break_holder] -->        resumenNombreImpuesto.textContent = `${config.nombreImpuesto}:`;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      resumenImpuesto.textContent = `${mostrarPrecioConMoneda(impuesto)} (${config.porcentajeImpuesto}%)`;<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      resumenImpuestoRow.style.display = 'none';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Actualizar descuento<!-- [et_pb_line_break_holder] -->  if (resumenDescuentoRow && resumenDescuento) {<!-- [et_pb_line_break_holder] -->    if (descuento > 0) {<!-- [et_pb_line_break_holder] -->      resumenDescuentoRow.style.display = '';<!-- [et_pb_line_break_holder] -->      resumenDescuento.textContent = `-${mostrarPrecioConMoneda(descuento)}`;<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Destacar descuento con animaci\u00f3n<!-- [et_pb_line_break_holder] -->      resumenDescuento.style.transition = 'color 0.3s ease';<!-- [et_pb_line_break_holder] -->      resumenDescuento.style.color = 'var(--color-success)';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        resumenDescuento.style.color = '';<!-- [et_pb_line_break_holder] -->      }, 1000);<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      resumenDescuentoRow.style.display = 'none';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Actualizar costo de env\u00edo<!-- [et_pb_line_break_holder] -->  if (resumenEnvioRow && resumenCostoEnvio) {<!-- [et_pb_line_break_holder] -->    if (costoEnvio > 0) {<!-- [et_pb_line_break_holder] -->      resumenEnvioRow.style.display = '';<!-- [et_pb_line_break_holder] -->      resumenCostoEnvio.textContent = mostrarPrecioConMoneda(costoEnvio);<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      resumenEnvioRow.style.display = 'none';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Actualizar total<!-- [et_pb_line_break_holder] -->  if (resumenTotal) {<!-- [et_pb_line_break_holder] -->    \/\/ Animar cambio de total<!-- [et_pb_line_break_holder] -->    resumenTotal.style.transition = 'color 0.3s ease';<!-- [et_pb_line_break_holder] -->    resumenTotal.style.color = 'var(--color-primary)';<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    resumenTotal.textContent = mostrarPrecioConMoneda(carritoTotal);<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    setTimeout(() => {<!-- [et_pb_line_break_holder] -->      resumenTotal.style.color = '';<!-- [et_pb_line_break_holder] -->    }, 500);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Actualizar costo de env\u00edo seg\u00fan opci\u00f3n seleccionada<!-- [et_pb_line_break_holder] -->function actualizarCostoEnvio() {<!-- [et_pb_line_break_holder] -->  const entregaSelect   = document.getElementById('entrega');<!-- [et_pb_line_break_holder] -->  const zonaEnvioSelect = document.getElementById('zona-envio');<!-- [et_pb_line_break_holder] -->  const textoCosto      = document.getElementById('costo-envio-texto');<!-- [et_pb_line_break_holder] -->  if (!entregaSelect || !textoCosto) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  const opcion = entregaSelect.value;<!-- [et_pb_line_break_holder] -->  let nuevoCosto = 0;<!-- [et_pb_line_break_holder] -->  let etiqueta   = '';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Cargo fijo configurable para domicilio<!-- [et_pb_line_break_holder] -->  if (opcion === 'Envio a domicilio') {<!-- [et_pb_line_break_holder] -->    nuevoCosto = config.costoEnvioDomicilio;<!-- [et_pb_line_break_holder] -->    etiqueta   = 'Costo de env\u00edo:';<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  \/\/ Cargo por zona para punto de entrega<!-- [et_pb_line_break_holder] -->  else if (opcion === 'En punto de entrega' && zonaEnvioSelect.value) {<!-- [et_pb_line_break_holder] -->    nuevoCosto = parseFloat(zonaEnvioSelect.selectedOptions[0].dataset.costo) || 0;<!-- [et_pb_line_break_holder] -->    etiqueta   = 'Costo punto de entrega:';<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  \/\/ Ninguna opci\u00f3n => limpiamos<!-- [et_pb_line_break_holder] -->  else {<!-- [et_pb_line_break_holder] -->    costoEnvio = 0;<!-- [et_pb_line_break_holder] -->    textoCosto.textContent = '';<!-- [et_pb_line_break_holder] -->    actualizarTotalesPedido();<!-- [et_pb_line_break_holder] -->    if (document.getElementById('formulario-pedido').style.display === 'block') {<!-- [et_pb_line_break_holder] -->      actualizarResumenMontos();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    return;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Animaci\u00f3n y chequeo de cup\u00f3n<!-- [et_pb_line_break_holder] -->  textoCosto.style.opacity = '0';<!-- [et_pb_line_break_holder] -->  setTimeout(() => {<!-- [et_pb_line_break_holder] -->    if (cuponAplicado && cuponAplicado.tipo === 'envio_gratis') {<!-- [et_pb_line_break_holder] -->      costoEnvio = 0;<!-- [et_pb_line_break_holder] -->      textoCosto.textContent = 'Env\u00edo gratuito (cup\u00f3n aplicado)';<!-- [et_pb_line_break_holder] -->      textoCosto.style.color = 'var(--color-success)';<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      costoEnvio = nuevoCosto;<!-- [et_pb_line_break_holder] -->      textoCosto.textContent = `${etiqueta} ${mostrarPrecioConMoneda(costoEnvio)}`;<!-- [et_pb_line_break_holder] -->      textoCosto.style.color = '';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    textoCosto.style.transition = 'opacity 0.3s ease';<!-- [et_pb_line_break_holder] -->    textoCosto.style.opacity    = '1';<!-- [et_pb_line_break_holder] -->    setTimeout(() => { textoCosto.style.color = ''; }, 1000);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Recalculamos todos los totales<!-- [et_pb_line_break_holder] -->    actualizarTotalesPedido();<!-- [et_pb_line_break_holder] -->    if (document.getElementById('formulario-pedido').style.display === 'block') {<!-- [et_pb_line_break_holder] -->      actualizarResumenMontos();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }, 300);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Aplicar cup\u00f3n de descuento<!-- [et_pb_line_break_holder] -->function aplicarCupon() {<!-- [et_pb_line_break_holder] -->  const cuponInput = document.getElementById('cupon');<!-- [et_pb_line_break_holder] -->  const mensajeCupon = document.getElementById('mensaje-cupon');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (!cuponInput || !mensajeCupon) return;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  const codigoCupon = cuponInput.value.trim();<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (!codigoCupon) {<!-- [et_pb_line_break_holder] -->    mensajeCupon.textContent = 'Ingresa un c\u00f3digo de cup\u00f3n v\u00e1lido.';<!-- [et_pb_line_break_holder] -->    mensajeCupon.className = 'mensaje-cupon error';<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Animar mensaje de error<!-- [et_pb_line_break_holder] -->    mensajeCupon.style.animation = 'shake 0.5s cubic-bezier(.36,.07,.19,.97) both';<!-- [et_pb_line_break_holder] -->    setTimeout(() => {<!-- [et_pb_line_break_holder] -->      mensajeCupon.style.animation = '';<!-- [et_pb_line_break_holder] -->    }, 500);<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    return;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Animar mensaje mientras valida<!-- [et_pb_line_break_holder] -->  mensajeCupon.textContent = 'Verificando cup\u00f3n...';<!-- [et_pb_line_break_holder] -->  mensajeCupon.className = 'mensaje-cupon';<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Simular peque\u00f1o retraso para mejor UX<!-- [et_pb_line_break_holder] -->  setTimeout(() => {<!-- [et_pb_line_break_holder] -->    \/\/ Buscar cup\u00f3n en la lista<!-- [et_pb_line_break_holder] -->    const cupon = cupones.find(c => <!-- [et_pb_line_break_holder] -->      c.codigo.toLowerCase() === codigoCupon.toLowerCase() && c.activo<!-- [et_pb_line_break_holder] -->    );<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    if (!cupon) {<!-- [et_pb_line_break_holder] -->      mensajeCupon.textContent = 'El cup\u00f3n ingresado no es v\u00e1lido o est\u00e1 inactivo.';<!-- [et_pb_line_break_holder] -->      mensajeCupon.className = 'mensaje-cupon error';<!-- [et_pb_line_break_holder] -->      cuponAplicado = null;<!-- [et_pb_line_break_holder] -->      descuento = 0;<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Animar mensaje de error<!-- [et_pb_line_break_holder] -->      mensajeCupon.style.animation = 'shake 0.5s cubic-bezier(.36,.07,.19,.97) both';<!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        mensajeCupon.style.animation = '';<!-- [et_pb_line_break_holder] -->      }, 500);<!-- [et_pb_line_break_holder] -->    } else if (cupon.minimo > 0 && subtotal < cupon.minimo) {<!-- [et_pb_line_break_holder] -->      mensajeCupon.textContent = `Este cup\u00f3n requiere un m\u00ednimo de ${mostrarPrecioConMoneda(cupon.minimo)} en tu pedido.`;<!-- [et_pb_line_break_holder] -->      mensajeCupon.className = 'mensaje-cupon error';<!-- [et_pb_line_break_holder] -->      cuponAplicado = null;<!-- [et_pb_line_break_holder] -->      descuento = 0;<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Animar mensaje de error<!-- [et_pb_line_break_holder] -->      mensajeCupon.style.animation = 'shake 0.5s cubic-bezier(.36,.07,.19,.97) both';<!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        mensajeCupon.style.animation = '';<!-- [et_pb_line_break_holder] -->      }, 500);<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      \/\/ Aplicar descuento seg\u00fan tipo de cup\u00f3n<!-- [et_pb_line_break_holder] -->      cuponAplicado = cupon;<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      if (cupon.tipo === 'porcentaje') {<!-- [et_pb_line_break_holder] -->        descuento = subtotal * (cupon.valor \/ 100);<!-- [et_pb_line_break_holder] -->        mensajeCupon.textContent = `\u00a1Cup\u00f3n aplicado! ${cupon.valor}% de descuento.`;<!-- [et_pb_line_break_holder] -->      } else if (cupon.tipo === 'monto') {<!-- [et_pb_line_break_holder] -->        descuento = Math.min(subtotal, cupon.valor);<!-- [et_pb_line_break_holder] -->        mensajeCupon.textContent = `\u00a1Cup\u00f3n aplicado! ${mostrarPrecioConMoneda(descuento)} de descuento.`;<!-- [et_pb_line_break_holder] -->      } else if (cupon.tipo === 'envio_gratis') {<!-- [et_pb_line_break_holder] -->        costoEnvio = 0;<!-- [et_pb_line_break_holder] -->        descuento = 0;<!-- [et_pb_line_break_holder] -->        mensajeCupon.textContent = '\u00a1Cup\u00f3n aplicado! Env\u00edo gratis.';<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Actualizar texto de costo de env\u00edo<!-- [et_pb_line_break_holder] -->        const costoEnvioTexto = document.getElementById('costo-envio-texto');<!-- [et_pb_line_break_holder] -->        if (costoEnvioTexto) {<!-- [et_pb_line_break_holder] -->          costoEnvioTexto.textContent = 'Env\u00edo gratuito (cup\u00f3n aplicado)';<!-- [et_pb_line_break_holder] -->          costoEnvioTexto.style.color = 'var(--color-success)';<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          \/\/ Restaurar color despu\u00e9s de un momento<!-- [et_pb_line_break_holder] -->          setTimeout(() => {<!-- [et_pb_line_break_holder] -->            costoEnvioTexto.style.color = '';<!-- [et_pb_line_break_holder] -->          }, 2000);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      mensajeCupon.className = 'mensaje-cupon success';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Animar cuadro de cup\u00f3n con efecto de \u00e9xito<!-- [et_pb_line_break_holder] -->      cuponInput.style.borderColor = 'var(--color-success)';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Mostrar notificaci\u00f3n<!-- [et_pb_line_break_holder] -->      mostrarNotificacion('success', '\u00a1Cup\u00f3n aplicado con \u00e9xito!');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Actualizar totales<!-- [et_pb_line_break_holder] -->    actualizarTotalesPedido();<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Actualizar tambi\u00e9n el resumen en el formulario si est\u00e1 visible<!-- [et_pb_line_break_holder] -->    if (document.getElementById('formulario-pedido').style.display === 'block') {<!-- [et_pb_line_break_holder] -->      actualizarResumenMontos();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }, 500);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Actualizar totales del pedido<!-- [et_pb_line_break_holder] -->function actualizarTotalesPedido() {<!-- [et_pb_line_break_holder] -->  \/\/ Recalcular total con impuestos, env\u00edo y descuento<!-- [et_pb_line_break_holder] -->  carritoTotal = config.impuestoIncluido ? subtotal : subtotal + impuesto;<!-- [et_pb_line_break_holder] -->  carritoTotal = carritoTotal - descuento + costoEnvio;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Actualizar elementos en UI<!-- [et_pb_line_break_holder] -->  const descuentoRow = document.getElementById('descuento-row');<!-- [et_pb_line_break_holder] -->  const descuentoElemento = document.getElementById('descuento');<!-- [et_pb_line_break_holder] -->  const envioRow = document.getElementById('envio-row');<!-- [et_pb_line_break_holder] -->  const costoEnvioElemento = document.getElementById('costo-envio');<!-- [et_pb_line_break_holder] -->  const totalElemento = document.getElementById('total');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Actualizar descuento<!-- [et_pb_line_break_holder] -->  if (descuentoRow && descuentoElemento) {<!-- [et_pb_line_break_holder] -->    if (descuento > 0) {<!-- [et_pb_line_break_holder] -->      descuentoRow.style.display = '';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Animar cambio<!-- [et_pb_line_break_holder] -->      descuentoElemento.style.transition = 'color 0.3s ease';<!-- [et_pb_line_break_holder] -->      descuentoElemento.style.color = 'var(--color-success)';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      descuentoElemento.textContent = `-${mostrarPrecioConMoneda(descuento)}`;<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        descuentoElemento.style.color = '';<!-- [et_pb_line_break_holder] -->      }, 1000);<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      descuentoRow.style.display = 'none';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Actualizar costo de env\u00edo<!-- [et_pb_line_break_holder] -->  if (envioRow && costoEnvioElemento) {<!-- [et_pb_line_break_holder] -->    if (costoEnvio > 0) {<!-- [et_pb_line_break_holder] -->      envioRow.style.display = '';<!-- [et_pb_line_break_holder] -->      costoEnvioElemento.textContent = mostrarPrecioConMoneda(costoEnvio);<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      envioRow.style.display = 'none';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Actualizar total<!-- [et_pb_line_break_holder] -->  if (totalElemento) {<!-- [et_pb_line_break_holder] -->    \/\/ Animar cambio<!-- [et_pb_line_break_holder] -->    totalElemento.style.transition = 'color 0.3s ease';<!-- [et_pb_line_break_holder] -->    totalElemento.style.color = 'var(--color-primary)';<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    totalElemento.textContent = mostrarPrecioConMoneda(carritoTotal);<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    setTimeout(() => {<!-- [et_pb_line_break_holder] -->      totalElemento.style.color = '';<!-- [et_pb_line_break_holder] -->    }, 1000);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Generar n\u00famero de pedido basado en la fecha actual (formato: ddMMyyyyHHmmss + random)<!-- [et_pb_line_break_holder] -->function generarNumeroPedido() {<!-- [et_pb_line_break_holder] -->  const ahora = new Date();<!-- [et_pb_line_break_holder] -->  const fecha = ahora.toISOString().replace(\/\\\\D\/g, '').slice(2, 12); \/\/ yymmddhhmm<!-- [et_pb_line_break_holder] -->  const random = Math.floor(Math.random() * 900 + 100); \/\/ 3 d\u00edgitos aleatorios<!-- [et_pb_line_break_holder] -->  return `KMT-${fecha}-${random}`;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Enviar pedido por WhatsApp<!-- [et_pb_line_break_holder] -->function enviarPedidoPorWhatsapp(event) {<!-- [et_pb_line_break_holder] -->  event.preventDefault();<!-- [et_pb_line_break_holder] -->   const btnEnviar = document.getElementById('enviar-whatsapp'); \/\/ \u2b05\ufe0f importante<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Validar formulario<!-- [et_pb_line_break_holder] -->  const whatsappUser = document.getElementById('whatsapp').value;<!-- [et_pb_line_break_holder] -->  const nombre = document.getElementById('nombre').value;<!-- [et_pb_line_break_holder] -->  const telefono = document.getElementById('telefono').value;<!-- [et_pb_line_break_holder] -->  const entrega = document.getElementById('entrega').value;<!-- [et_pb_line_break_holder] -->  const pago = document.getElementById('pago').value;<!-- [et_pb_line_break_holder] -->  const direccion = document.getElementById('direccion').value;<!-- [et_pb_line_break_holder] -->  const zonaEnvio = document.getElementById('zona-envio').value;<!-- [et_pb_line_break_holder] -->    const zonaSelect   = document.getElementById('zona-envio');<!-- [et_pb_line_break_holder] -->  const puntoEntrega = zonaSelect.options[zonaSelect.selectedIndex].text;<!-- [et_pb_line_break_holder] -->  const referencia = document.getElementById('referencias').value;<!-- [et_pb_line_break_holder] -->  const nota = document.getElementById('nota').value;<!-- [et_pb_line_break_holder] -->  const aceptarTerminos = document.getElementById('aceptar-terminos').checked;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Validaciones b\u00e1sicas<!-- [et_pb_line_break_holder] --> if (!whatsappUser || !nombre || !entrega || !pago) {<!-- [et_pb_line_break_holder] -->    \/\/ Usar notificaci\u00f3n personalizada en lugar de alert<!-- [et_pb_line_break_holder] -->    mostrarNotificacion('error', 'Por favor, completa todos los campos obligatorios del formulario.');<!-- [et_pb_line_break_holder] -->     if (btnEnviar) btnEnviar.disabled = false;<!-- [et_pb_line_break_holder] -->    return;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Destacar campos vac\u00edos<!-- [et_pb_line_break_holder] -->    ['nombre', 'telefono', 'entrega', 'pago'].forEach(id => {<!-- [et_pb_line_break_holder] -->      const campo = document.getElementById(id);<!-- [et_pb_line_break_holder] -->      if (campo && !campo.value) {<!-- [et_pb_line_break_holder] -->        campo.style.borderColor = 'var(--color-danger)';<!-- [et_pb_line_break_holder] -->        campo.scrollIntoView({ behavior: 'smooth', block: 'center' });<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->   <!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->   if (entrega === 'Envio a domicilio') {<!-- [et_pb_line_break_holder] -->    \/\/ s\u00f3lo validamos direcci\u00f3n<!-- [et_pb_line_break_holder] -->    if (!direccion) {<!-- [et_pb_line_break_holder] -->      mostrarNotificacion('error', 'Por favor ingresa tu direcci\u00f3n para env\u00edo a domicilio.');<!-- [et_pb_line_break_holder] -->      document.getElementById('direccion').style.borderColor = 'var(--color-danger)';<!-- [et_pb_line_break_holder] -->      document.getElementById('direccion').scrollIntoView({ behavior: 'smooth', block: 'center' });<!-- [et_pb_line_break_holder] -->      if (btnEnviar) btnEnviar.disabled = false;<!-- [et_pb_line_break_holder] -->      return;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  else if (entrega === 'En punto de entrega') {<!-- [et_pb_line_break_holder] -->    \/\/ s\u00f3lo validamos zona<!-- [et_pb_line_break_holder] -->    if (!zonaEnvio) {<!-- [et_pb_line_break_holder] -->      mostrarNotificacion('error', 'Por favor selecciona tu punto de entrega.');<!-- [et_pb_line_break_holder] -->      document.getElementById('zona-envio').style.borderColor = 'var(--color-danger)';<!-- [et_pb_line_break_holder] -->      document.getElementById('zona-envio').scrollIntoView({ behavior: 'smooth', block: 'center' });<!-- [et_pb_line_break_holder] -->      if (btnEnviar) btnEnviar.disabled = false;<!-- [et_pb_line_break_holder] -->      return;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (!aceptarTerminos) {<!-- [et_pb_line_break_holder] -->    mostrarNotificacion('error', 'Debes aceptar los t\u00e9rminos y condiciones para continuar.');<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Destacar checkbox<!-- [et_pb_line_break_holder] -->    const terminosContainer = document.querySelector('.terminos-container');<!-- [et_pb_line_break_holder] -->    if (terminosContainer) {<!-- [et_pb_line_break_holder] -->      terminosContainer.style.borderColor = 'var(--color-danger)';<!-- [et_pb_line_break_holder] -->      terminosContainer.style.backgroundColor = 'rgba(239, 68, 68, 0.05)';<!-- [et_pb_line_break_holder] -->      terminosContainer.scrollIntoView({ behavior: 'smooth', block: 'center' });<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Restaurar despu\u00e9s de un momento<!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        terminosContainer.style.borderColor = '';<!-- [et_pb_line_break_holder] -->        terminosContainer.style.backgroundColor = '';<!-- [et_pb_line_break_holder] -->      }, 2000);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    const btnEnviar = document.getElementById('enviar-whatsapp');<!-- [et_pb_line_break_holder] -->    if (btnEnviar) btnEnviar.disabled = false;<!-- [et_pb_line_break_holder] -->    return;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Generar n\u00famero de pedido<!-- [et_pb_line_break_holder] -->  const orderId = generarNumeroPedido();<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  const carritoTexto = carrito.map(producto => {<!-- [et_pb_line_break_holder] -->    const cantidadTexto = producto.cantidad > 1 ? `${producto.cantidad}x ` : '';<!-- [et_pb_line_break_holder] -->    const atributosTexto = producto.atributos && producto.atributos.length > 0 ? <!-- [et_pb_line_break_holder] -->      ` (${producto.atributos.join(' \/ ')})` : '';<!-- [et_pb_line_break_holder] -->    return `${cantidadTexto}${producto.titulo} (SKU: ${producto.sku})${atributosTexto} \u2013 ${mostrarPrecioConMoneda(producto.precio)}`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  }).join('\\\\n');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  let resumenTexto = `*Subtotal: ${mostrarPrecioConMoneda(subtotal)}*`;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (config && config.mostrarImpuestos && impuesto > 0) {<!-- [et_pb_line_break_holder] -->    resumenTexto += `\\n*${config.nombreImpuesto} (${config.porcentajeImpuesto}%): ${mostrarPrecioConMoneda(impuesto)}*`;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (descuento > 0) {<!-- [et_pb_line_break_holder] -->    resumenTexto += `\\n*Descuento: -${mostrarPrecioConMoneda(descuento)}*`;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  if (costoEnvio > 0) {<!-- [et_pb_line_break_holder] -->    resumenTexto += `\\n*Costo de env\u00edo: ${mostrarPrecioConMoneda(costoEnvio)}*`;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  resumenTexto += `\\n*TOTAL: ${mostrarPrecioConMoneda(carritoTotal)}*`;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Generamos siempre el m\u00e9todo de entrega<!-- [et_pb_line_break_holder] -->let datosCliente = `*\ud83d\udc64 Datos del cliente:*\\n` +<!-- [et_pb_line_break_holder] -->  `*\ud83d\udcf1 WhatsApp:* ${whatsappUser}\\n` +<!-- [et_pb_line_break_holder] -->  `*\ud83e\uddd1 Nombre:* ${nombre}\\n` +<!-- [et_pb_line_break_holder] -->  `*\ud83d\udcde Tel\u00e9fono:* ${telefono}\\n` +<!-- [et_pb_line_break_holder] -->  `*\ud83d\ude9a Entrega:* ${entrega}\\n`;   \/\/ \u2190 aqu\u00ed incluimos siempre la selecci\u00f3n<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Luego, si aplica, a\u00f1adimos datos extra<!-- [et_pb_line_break_holder] -->if (entrega === 'Envio a domicilio') {<!-- [et_pb_line_break_holder] -->  datosCliente += `*\ud83c\udfe0 Direcci\u00f3n:* ${direccion}\\n`;<!-- [et_pb_line_break_holder] -->  if (referencia) datosCliente += `*\ud83d\udccd Referencias:* ${referencia}\\n`;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->else if (entrega === 'En punto de entrega') {<!-- [et_pb_line_break_holder] -->  datosCliente += `*\ud83d\udccd Punto de entrega:* ${puntoEntrega}\\n`;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/\/ Si es \u201cRetirar personalmente\u201d no necesitamos m\u00e1s campos, pero al menos ya aparece arriba.<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->datosCliente += `*\ud83d\udcb3 Pago:* ${pago}\\n`;<!-- [et_pb_line_break_holder] -->if (cuponAplicado) datosCliente += `*\ud83c\udf9f\ufe0f Cup\u00f3n:* ${cuponAplicado.codigo}\\n`;<!-- [et_pb_line_break_holder] -->if (nota)          datosCliente += `*\ud83d\udcdd Nota:* ${nota}\\n`;<!-- [et_pb_line_break_holder] -->datosCliente += `*\ud83d\udd22 Pedido:* ${orderId}`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ \u2014\u2014\u2014 Montamos el mensaje completo \u2014\u2014\u2014<!-- [et_pb_line_break_holder] -->const lines = [<!-- [et_pb_line_break_holder] -->  `*\ud83e\uddfe NUEVO PEDIDO*`,<!-- [et_pb_line_break_holder] -->  `\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501`,<!-- [et_pb_line_break_holder] -->  `*\ud83d\udecd Productos:*`,<!-- [et_pb_line_break_holder] -->  carritoTexto,<!-- [et_pb_line_break_holder] -->  ``,<!-- [et_pb_line_break_holder] -->  `*\ud83d\udcb0 Resumen:*`,<!-- [et_pb_line_break_holder] -->  resumenTexto,<!-- [et_pb_line_break_holder] -->  ``,<!-- [et_pb_line_break_holder] -->  datosCliente,<!-- [et_pb_line_break_holder] -->  `\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501`,<!-- [et_pb_line_break_holder] -->  `\u2705 *\u00a1Gracias, ${nombre}! Nos pondremos en contacto para confirmar tu pedido.*`,<!-- [et_pb_line_break_holder] -->  `\ud83d\udcf2 _Enviado desde Komertio_`<!-- [et_pb_line_break_holder] -->];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->const mensajeWhatsApp = lines.join('\\n');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  const numeroWhatsapp = typeof config !== 'undefined' && config.numeroWhatsapp ? <!-- [et_pb_line_break_holder] -->    config.numeroWhatsapp : '529512345678'; \/\/ N\u00famero por defecto<!-- [et_pb_line_break_holder] -->  const whatsappURL = `https:\/\/wa.me\/${numeroWhatsapp}?text=${encodeURIComponent(mensajeWhatsApp)}`;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Abrir la ventana inmediatamente despu\u00e9s del clic<!-- [et_pb_line_break_holder] -->  window.open(whatsappURL, '_blank');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Limpiar formulario<!-- [et_pb_line_break_holder] -->document.getElementById('nombre').value = '';<!-- [et_pb_line_break_holder] -->document.getElementById('telefono').value = '';<!-- [et_pb_line_break_holder] -->document.getElementById('entrega').value = '';<!-- [et_pb_line_break_holder] -->document.getElementById('direccion').value = '';<!-- [et_pb_line_break_holder] -->document.getElementById('zona-envio').value = '';<!-- [et_pb_line_break_holder] -->document.getElementById('pago').value = '';<!-- [et_pb_line_break_holder] -->document.getElementById('nota').value = '';<!-- [et_pb_line_break_holder] -->document.getElementById('aceptar-terminos').checked = false;<!-- [et_pb_line_break_holder] -->document.getElementById('campo-direccion').style.display = 'none';<!-- [et_pb_line_break_holder] -->document.getElementById('cupon').value = '';<!-- [et_pb_line_break_holder] -->document.getElementById('mensaje-cupon').textContent = '';<!-- [et_pb_line_break_holder] -->document.getElementById('mensaje-cupon').className = 'mensaje-cupon'; <!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Preparar datos del pedido<!-- [et_pb_line_break_holder] -->  const datosPedido = {<!-- [et_pb_line_break_holder] -->    id: orderId,<!-- [et_pb_line_break_holder] -->     whatsapp: whatsappUser,<!-- [et_pb_line_break_holder] -->    nombre: nombre,<!-- [et_pb_line_break_holder] -->    telefono: telefono,<!-- [et_pb_line_break_holder] -->    entrega: entrega,<!-- [et_pb_line_break_holder] -->    \/\/ Direcci\u00f3n solo para domicilio<!-- [et_pb_line_break_holder] -->  direccion: entrega === 'Envio a domicilio' ? direccion : '',<!-- [et_pb_line_break_holder] -->  \/\/ Zona para domicilio o punto de entrega<!-- [et_pb_line_break_holder] -->  zona: ['Envio a domicilio', 'En punto de entrega'].includes(entrega) ? zonaEnvio : '',<!-- [et_pb_line_break_holder] -->     referencias: entrega === 'Envio a domicilio' ? referencia : '',<!-- [et_pb_line_break_holder] -->  pago: pago,<!-- [et_pb_line_break_holder] -->    pago: pago,<!-- [et_pb_line_break_holder] -->    nota: nota,<!-- [et_pb_line_break_holder] -->    productos: carrito.map(producto => ({<!-- [et_pb_line_break_holder] -->      titulo: producto.titulo,<!-- [et_pb_line_break_holder] -->      sku: producto.sku || '',<!-- [et_pb_line_break_holder] -->      atributos: producto.atributos || [],<!-- [et_pb_line_break_holder] -->      cantidad: producto.cantidad || 1,<!-- [et_pb_line_break_holder] -->      precio: producto.precioUnitario || producto.precio,<!-- [et_pb_line_break_holder] -->      total: producto.precio<!-- [et_pb_line_break_holder] -->    })),<!-- [et_pb_line_break_holder] -->    subtotal: subtotal,<!-- [et_pb_line_break_holder] -->    impuesto: impuesto,<!-- [et_pb_line_break_holder] -->    descuento: descuento,<!-- [et_pb_line_break_holder] -->    costoEnvio: costoEnvio,<!-- [et_pb_line_break_holder] -->    total: carritoTotal,<!-- [et_pb_line_break_holder] -->    cupon: cuponAplicado ? cuponAplicado.codigo : '',<!-- [et_pb_line_break_holder] -->    fecha: new Date().toISOString()<!-- [et_pb_line_break_holder] -->  };<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Guardar pedido en la hoja de pedidos de forma as\u00edncrona pero sin bloquear la UI<!-- [et_pb_line_break_holder] -->  fetch(`${urlAPI}?action=recordOrder`, {<!-- [et_pb_line_break_holder] -->    method: 'POST',<!-- [et_pb_line_break_holder] -->    headers: {<!-- [et_pb_line_break_holder] -->      'Content-Type': 'application\/x-www-form-urlencoded',<!-- [et_pb_line_break_holder] -->    },<!-- [et_pb_line_break_holder] -->    body: `orderData=${encodeURIComponent(JSON.stringify(datosPedido))}`<!-- [et_pb_line_break_holder] -->  })<!-- [et_pb_line_break_holder] -->  .then(response => response.json())<!-- [et_pb_line_break_holder] -->  .then(result => {<!-- [et_pb_line_break_holder] -->    console.log('Respuesta del servidor:', result);<!-- [et_pb_line_break_holder] -->  })<!-- [et_pb_line_break_holder] -->  .catch(error => {<!-- [et_pb_line_break_holder] -->    console.error('Error al guardar el pedido:', error);<!-- [et_pb_line_break_holder] -->    mostrarNotificacion('warning', 'Hubo un problema al guardar el pedido en el servidor, pero tu pedido ya fue enviado a WhatsApp.');<!-- [et_pb_line_break_holder] -->  })<!-- [et_pb_line_break_holder] -->  .finally(() => {<!-- [et_pb_line_break_holder] -->    \/\/ Mostrar modal de confirmaci\u00f3n<!-- [et_pb_line_break_holder] -->    const confirmacionModal = document.getElementById('confirmacion-modal');<!-- [et_pb_line_break_holder] -->    const confirmacionNumero = document.getElementById('confirmacion-numero');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    if (confirmacionModal) {<!-- [et_pb_line_break_holder] -->      if (confirmacionNumero) {<!-- [et_pb_line_break_holder] -->        confirmacionNumero.textContent = orderId;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Mostrar modal con animaci\u00f3n<!-- [et_pb_line_break_holder] -->      confirmacionModal.style.display = 'block';<!-- [et_pb_line_break_holder] -->      const modalContent = confirmacionModal.querySelector('.modal-contenido');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (modalContent) {<!-- [et_pb_line_break_holder] -->        modalContent.style.opacity = '0';<!-- [et_pb_line_break_holder] -->        modalContent.style.transform = 'translateY(20px)';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        setTimeout(() => {<!-- [et_pb_line_break_holder] -->          modalContent.style.opacity = '1';<!-- [et_pb_line_break_holder] -->          modalContent.style.transform = 'translateY(0)';<!-- [et_pb_line_break_holder] -->          modalContent.style.transition = 'opacity 0.3s ease, transform 0.3s ease';<!-- [et_pb_line_break_holder] -->        }, 10);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Animar icono de confirmaci\u00f3n<!-- [et_pb_line_break_holder] -->      const confirmacionIcono = confirmacionModal.querySelector('.confirmacion-icono');<!-- [et_pb_line_break_holder] -->      if (confirmacionIcono) {<!-- [et_pb_line_break_holder] -->        confirmacionIcono.style.transform = 'scale(0)';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        setTimeout(() => {<!-- [et_pb_line_break_holder] -->          confirmacionIcono.style.transform = 'scale(1)';<!-- [et_pb_line_break_holder] -->          confirmacionIcono.style.transition = 'transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275)';<!-- [et_pb_line_break_holder] -->        }, 300);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Vaciar carrito y actualizar UI<!-- [et_pb_line_break_holder] -->vaciarCarrito();<!-- [et_pb_line_break_holder] -->actualizarCarritoUI();<!-- [et_pb_line_break_holder] -->document.getElementById('resumen-pedido-lista').innerHTML = '';<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Restaurar bot\u00f3n de env\u00edo<!-- [et_pb_line_break_holder] -->    const btnEnviar = document.getElementById('enviar-whatsapp');<!-- [et_pb_line_break_holder] -->    if (btnEnviar) {<!-- [et_pb_line_break_holder] -->      btnEnviar.disabled = false;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Desplazar pesta\u00f1a categor\u00edas en m\u00f3viles<!-- [et_pb_line_break_holder] -->function mejorarScrollCategorias() {<!-- [et_pb_line_break_holder] -->  const categoriasWrapper = document.getElementById('categorias-contenedor-wrapper');<!-- [et_pb_line_break_holder] -->  if (!categoriasWrapper) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Detectar toques en dispositivos m\u00f3viles<!-- [et_pb_line_break_holder] -->  let touchStartX = 0;<!-- [et_pb_line_break_holder] -->  let scrollStartX = 0;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  categoriasWrapper.addEventListener('touchstart', function(e) {<!-- [et_pb_line_break_holder] -->    touchStartX = e.touches[0].clientX;<!-- [et_pb_line_break_holder] -->    scrollStartX = this.scrollLeft;<!-- [et_pb_line_break_holder] -->    this.style.scrollBehavior = 'auto';<!-- [et_pb_line_break_holder] -->  }, { passive: true });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  categoriasWrapper.addEventListener('touchmove', function(e) {<!-- [et_pb_line_break_holder] -->    if (!touchStartX) return;<!-- [et_pb_line_break_holder] -->    const touchX = e.touches[0].clientX;<!-- [et_pb_line_break_holder] -->    const diff = touchStartX - touchX;<!-- [et_pb_line_break_holder] -->    this.scrollLeft = scrollStartX + diff;<!-- [et_pb_line_break_holder] -->  }, { passive: true });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  categoriasWrapper.addEventListener('touchend', function() {<!-- [et_pb_line_break_holder] -->    touchStartX = 0;<!-- [et_pb_line_break_holder] -->    this.style.scrollBehavior = 'smooth';<!-- [et_pb_line_break_holder] -->  }, { passive: true });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Centrar la categor\u00eda activa<!-- [et_pb_line_break_holder] -->  document.addEventListener('click', function(e) {<!-- [et_pb_line_break_holder] -->    if (e.target && e.target.closest('#categorias-contenedor button')) {<!-- [et_pb_line_break_holder] -->      const boton = e.target.closest('#categorias-contenedor button');<!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        const wrapperRect = categoriasWrapper.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->        const buttonRect = boton.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Calcular posici\u00f3n para centrar el bot\u00f3n activo<!-- [et_pb_line_break_holder] -->        const scrollPos = buttonRect.left - wrapperRect.left - (wrapperRect.width \/ 2) + (buttonRect.width \/ 2);<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Aplicar desplazamiento suave<!-- [et_pb_line_break_holder] -->        categoriasWrapper.scrollTo({<!-- [et_pb_line_break_holder] -->          left: categoriasWrapper.scrollLeft + scrollPos,<!-- [et_pb_line_break_holder] -->          behavior: 'smooth'<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->      }, 50);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Funci\u00f3n para mostrar notificaciones personalizadas<!-- [et_pb_line_break_holder] -->function mostrarNotificacion(tipo, mensaje) {<!-- [et_pb_line_break_holder] -->  \/\/ Eliminar notificaciones anteriores<!-- [et_pb_line_break_holder] -->  const notificacionesExistentes = document.querySelectorAll('.notification');<!-- [et_pb_line_break_holder] -->  notificacionesExistentes.forEach(notif => notif.remove());<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Crear nueva notificaci\u00f3n<!-- [et_pb_line_break_holder] -->  const notificacion = document.createElement('div');<!-- [et_pb_line_break_holder] -->  notificacion.className = `notification notification-${tipo}`;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  let icono = '';<!-- [et_pb_line_break_holder] -->  switch(tipo) {<!-- [et_pb_line_break_holder] -->    case 'success': icono = '\u2713'; break;<!-- [et_pb_line_break_holder] -->    case 'error': icono = '\u2717'; break;<!-- [et_pb_line_break_holder] -->    case 'info': icono = '\u2139'; break;<!-- [et_pb_line_break_holder] -->    case 'warning': icono = '\u26a0'; break;<!-- [et_pb_line_break_holder] -->    case 'agotado': icono = '\ud83d\ude22'; break;  \/\/ nuevo  <!-- [et_pb_line_break_holder] -->    default: icono = '\u2139';<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Agregar estilos inline por si no est\u00e1n definidos en CSS<!-- [et_pb_line_break_holder] -->  notificacion.style.position = 'fixed';<!-- [et_pb_line_break_holder] -->  notificacion.style.bottom = '20px';<!-- [et_pb_line_break_holder] -->  notificacion.style.right = '20px';<!-- [et_pb_line_break_holder] -->  notificacion.style.backgroundColor = 'white';<!-- [et_pb_line_break_holder] -->  notificacion.style.color = 'var(--color-text-dark)';<!-- [et_pb_line_break_holder] -->  notificacion.style.borderRadius = 'var(--radius-md)';<!-- [et_pb_line_break_holder] -->  notificacion.style.padding = '15px 20px';<!-- [et_pb_line_break_holder] -->  notificacion.style.boxShadow = 'var(--shadow-lg)';<!-- [et_pb_line_break_holder] -->  notificacion.style.zIndex = '9999999';<!-- [et_pb_line_break_holder] -->  notificacion.style.transform = 'translateY(100px)';<!-- [et_pb_line_break_holder] -->  notificacion.style.opacity = '0';<!-- [et_pb_line_break_holder] -->  notificacion.style.transition = 'transform 0.3s ease, opacity 0.3s ease';<!-- [et_pb_line_break_holder] -->  notificacion.style.maxWidth = '300px';<!-- [et_pb_line_break_holder] -->  notificacion.style.display = 'flex';<!-- [et_pb_line_break_holder] -->  notificacion.style.alignItems = 'center';<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Agregar borde de color seg\u00fan el tipo<!-- [et_pb_line_break_holder] -->  switch(tipo) {<!-- [et_pb_line_break_holder] -->    case 'success': <!-- [et_pb_line_break_holder] -->      notificacion.style.borderLeft = '4px solid var(--color-success)';<!-- [et_pb_line_break_holder] -->      break;<!-- [et_pb_line_break_holder] -->    case 'error': <!-- [et_pb_line_break_holder] -->      notificacion.style.borderLeft = '4px solid var(--color-danger)';<!-- [et_pb_line_break_holder] -->      break;<!-- [et_pb_line_break_holder] -->    case 'info': <!-- [et_pb_line_break_holder] -->      notificacion.style.borderLeft = '4px solid var(--color-primary)';<!-- [et_pb_line_break_holder] -->      break;<!-- [et_pb_line_break_holder] -->    case 'warning': <!-- [et_pb_line_break_holder] -->      notificacion.style.borderLeft = '4px solid var(--color-warning)';<!-- [et_pb_line_break_holder] -->      break;<!-- [et_pb_line_break_holder] -->   case 'agotado':<!-- [et_pb_line_break_holder] -->    notificacion.style.borderLeft = '4px solid #D97706'; \/\/ nuevo<!-- [et_pb_line_break_holder] -->    break;   <!-- [et_pb_line_break_holder] -->    default: <!-- [et_pb_line_break_holder] -->      notificacion.style.borderLeft = '4px solid var(--color-primary)';<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Estilo para el icono<!-- [et_pb_line_break_holder] -->  const iconoSpan = document.createElement('span');<!-- [et_pb_line_break_holder] -->  iconoSpan.textContent = icono;<!-- [et_pb_line_break_holder] -->  iconoSpan.style.marginRight = '10px';<!-- [et_pb_line_break_holder] -->  iconoSpan.style.fontWeight = 'bold';<!-- [et_pb_line_break_holder] -->  iconoSpan.style.fontSize = '16px';<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Color del icono seg\u00fan tipo<!-- [et_pb_line_break_holder] -->  switch(tipo) {<!-- [et_pb_line_break_holder] -->    case 'success': iconoSpan.style.color = 'var(--color-success)'; break;<!-- [et_pb_line_break_holder] -->    case 'error': iconoSpan.style.color = 'var(--color-danger)'; break;<!-- [et_pb_line_break_holder] -->    case 'info': iconoSpan.style.color = 'var(--color-primary)'; break;<!-- [et_pb_line_break_holder] -->    case 'warning': iconoSpan.style.color = 'var(--color-warning)'; break;<!-- [et_pb_line_break_holder] -->     case 'agotado': iconoSpan.style.color = '#D97706';              break; \/\/ nuevo  <!-- [et_pb_line_break_holder] -->    default: iconoSpan.style.color = 'var(--color-primary)';<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  const mensajeSpan = document.createElement('span');<!-- [et_pb_line_break_holder] -->  mensajeSpan.textContent = mensaje;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  notificacion.appendChild(iconoSpan);<!-- [et_pb_line_break_holder] -->  notificacion.appendChild(mensajeSpan);<!-- [et_pb_line_break_holder] -->  document.body.appendChild(notificacion);<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Mostrar con animaci\u00f3n<!-- [et_pb_line_break_holder] -->  setTimeout(() => {<!-- [et_pb_line_break_holder] -->    notificacion.style.transform = 'translateY(0)';<!-- [et_pb_line_break_holder] -->    notificacion.style.opacity = '1';<!-- [et_pb_line_break_holder] -->  }, 10);<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Ocultar despu\u00e9s de 3 segundos<!-- [et_pb_line_break_holder] -->  setTimeout(() => {<!-- [et_pb_line_break_holder] -->    notificacion.style.transform = 'translateY(100px)';<!-- [et_pb_line_break_holder] -->    notificacion.style.opacity = '0';<!-- [et_pb_line_break_holder] -->    setTimeout(() => {<!-- [et_pb_line_break_holder] -->      notificacion.remove();<!-- [et_pb_line_break_holder] -->    }, 300);<!-- [et_pb_line_break_holder] -->  }, 3000);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Verificar disponibilidad del cat\u00e1logo<!-- [et_pb_line_break_holder] -->function verificarDisponibilidadCatalogo() {<!-- [et_pb_line_break_holder] -->  \/\/ Verificar switch principal<!-- [et_pb_line_break_holder] -->  if (config.catalogoActivo !== true && config.catalogoActivo !== \"true\") {<!-- [et_pb_line_break_holder] -->    mostrarMensajeCatalogoCerrado(config.mensajeFueraSistema || \"El cat\u00e1logo no est\u00e1 disponible en este momento.\");<!-- [et_pb_line_break_holder] -->    return false;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Verificar si est\u00e1 habilitada la restricci\u00f3n por horarios<!-- [et_pb_line_break_holder] -->  if (config.horariosActivos === true || config.horariosActivos === \"true\") {<!-- [et_pb_line_break_holder] -->    const ahora = new Date();<!-- [et_pb_line_break_holder] -->    const diaSemana = ahora.getDay() || 7; \/\/ 0 = domingo, 1-6 = lunes-s\u00e1bado, convertimos 0 a 7<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Verificar d\u00eda de la semana<!-- [et_pb_line_break_holder] -->    const diasActivos = (config.diasActivos || \"1,2,3,4,5\").split(\",\").map(d => parseInt(d.trim()));<!-- [et_pb_line_break_holder] -->    if (!diasActivos.includes(diaSemana)) {<!-- [et_pb_line_break_holder] -->      mostrarMensajeCatalogoCerrado(config.mensajeFueraHorario || \"Estamos fuera de horario de atenci\u00f3n.\");<!-- [et_pb_line_break_holder] -->      return false;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Verificar hora<!-- [et_pb_line_break_holder] -->    const horaActual = ahora.getHours() * 60 + ahora.getMinutes(); \/\/ Convertir a minutos<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    const [horaApertura, minutosApertura] = (config.horarioApertura || \"09:00\").split(\":\").map(Number);<!-- [et_pb_line_break_holder] -->    const [horaCierre, minutosCierre] = (config.horarioCierre || \"20:00\").split(\":\").map(Number);<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    const aperturaEnMinutos = horaApertura * 60 + minutosApertura;<!-- [et_pb_line_break_holder] -->    const cierreEnMinutos = horaCierre * 60 + minutosCierre;<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    if (horaActual < aperturaEnMinutos || horaActual >= cierreEnMinutos) {<!-- [et_pb_line_break_holder] -->      mostrarMensajeCatalogoCerrado(config.mensajeFueraHorario || \"Estamos fuera de horario de atenci\u00f3n.\");<!-- [et_pb_line_break_holder] -->      return false;<!-- [et_pb_line_break_holder] -->    }    <!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  return true;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Mostrar mensaje de cat\u00e1logo cerrado<!-- [et_pb_line_break_holder] -->function mostrarMensajeCatalogoCerrado(mensaje) {<!-- [et_pb_line_break_holder] -->  \/\/ Crear overlay que cubra toda la pantalla y no permita interacci\u00f3n<!-- [et_pb_line_break_holder] -->  const overlay = document.createElement('div');<!-- [et_pb_line_break_holder] -->  overlay.className = 'overlay-no-disponible';<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Agregar estilos inline por si no est\u00e1n en CSS<!-- [et_pb_line_break_holder] -->  overlay.style.position = 'fixed';<!-- [et_pb_line_break_holder] -->  overlay.style.top = '0';<!-- [et_pb_line_break_holder] -->  overlay.style.left = '0';<!-- [et_pb_line_break_holder] -->  overlay.style.width = '100%';<!-- [et_pb_line_break_holder] -->  overlay.style.height = '100%';<!-- [et_pb_line_break_holder] -->  overlay.style.backgroundColor = 'rgba(0, 0, 0, 0.7)';<!-- [et_pb_line_break_holder] -->  overlay.style.backdropFilter = 'blur(5px)';<!-- [et_pb_line_break_holder] -->  overlay.style.zIndex = '99999';<!-- [et_pb_line_break_holder] -->  overlay.style.display = 'flex';<!-- [et_pb_line_break_holder] -->  overlay.style.alignItems = 'center';<!-- [et_pb_line_break_holder] -->  overlay.style.justifyContent = 'center';<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Crear contenido del mensaje<!-- [et_pb_line_break_holder] -->  const mensajeContainer = document.createElement('div');<!-- [et_pb_line_break_holder] -->  mensajeContainer.className = 'mensaje-no-disponible';<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Agregar estilos inline<!-- [et_pb_line_break_holder] -->  mensajeContainer.style.backgroundColor = 'white';<!-- [et_pb_line_break_holder] -->  mensajeContainer.style.borderRadius = 'var(--radius-lg, 16px)';<!-- [et_pb_line_break_holder] -->  mensajeContainer.style.padding = '40px';<!-- [et_pb_line_break_holder] -->  mensajeContainer.style.boxShadow = 'var(--shadow-xl, 0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.04))';<!-- [et_pb_line_break_holder] -->  mensajeContainer.style.maxWidth = '500px';<!-- [et_pb_line_break_holder] -->  mensajeContainer.style.width = '90%';<!-- [et_pb_line_break_holder] -->  mensajeContainer.style.textAlign = 'center';<!-- [et_pb_line_break_holder] -->  mensajeContainer.style.animation = 'fadeInUp 0.5s ease forwards';<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Agregar keyframes para la animaci\u00f3n si no est\u00e1 en CSS<!-- [et_pb_line_break_holder] -->  if (!document.getElementById('mensaje-cerrado-keyframes')) {<!-- [et_pb_line_break_holder] -->    const style = document.createElement('style');<!-- [et_pb_line_break_holder] -->    style.id = 'mensaje-cerrado-keyframes';<!-- [et_pb_line_break_holder] -->    style.textContent = `<!-- [et_pb_line_break_holder] -->      @keyframes fadeInUp {<!-- [et_pb_line_break_holder] -->        from { opacity: 0; transform: translateY(30px); }<!-- [et_pb_line_break_holder] -->        to { opacity: 1; transform: translateY(0); }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      @keyframes pulse {<!-- [et_pb_line_break_holder] -->        0% { transform: scale(1); }<!-- [et_pb_line_break_holder] -->        50% { transform: scale(1.05); }<!-- [et_pb_line_break_holder] -->        100% { transform: scale(1); }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    `;<!-- [et_pb_line_break_holder] -->    document.head.appendChild(style);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  mensajeContainer.innerHTML = `<!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"mensaje-cerrado\"><!-- [et_pb_line_break_holder] -->      <i class=\"icono-cerrado\" style=\"<!-- [et_pb_line_break_holder] -->        font-size: 70px;<!-- [et_pb_line_break_holder] -->        font-style: normal;<!-- [et_pb_line_break_holder] -->        display: block;<!-- [et_pb_line_break_holder] -->        margin-bottom: 30px;<!-- [et_pb_line_break_holder] -->        color: var(--color-primary, #0EA5E9);<!-- [et_pb_line_break_holder] -->        animation: pulse 2s infinite;<!-- [et_pb_line_break_holder] -->        width: 120px;<!-- [et_pb_line_break_holder] -->        height: 120px;<!-- [et_pb_line_break_holder] -->        background-color: var(--color-surface, #F8FAFC);<!-- [et_pb_line_break_holder] -->        border-radius: 50%;<!-- [et_pb_line_break_holder] -->        display: flex;<!-- [et_pb_line_break_holder] -->        align-items: center;<!-- [et_pb_line_break_holder] -->        justify-content: center;<!-- [et_pb_line_break_holder] -->        margin: 0 auto 30px;<!-- [et_pb_line_break_holder] -->        box-shadow: var(--shadow-lg, 0 10px 15px rgba(0, 0, 0, 0.07), 0 5px 8px rgba(0, 0, 0, 0.05));<!-- [et_pb_line_break_holder] -->      \">\u23f1\ufe0f<\/i><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 style=\"<!-- [et_pb_line_break_holder] -->        color: var(--color-text-dark, #334155);<!-- [et_pb_line_break_holder] -->        font-size: 26px;<!-- [et_pb_line_break_holder] -->        margin-bottom: 20px;<!-- [et_pb_line_break_holder] -->      \">Cat\u00e1logo no disponible<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee style=\"<!-- [et_pb_line_break_holder] -->        color: var(--color-text, #475569);<!-- [et_pb_line_break_holder] -->        font-size: 16px;<!-- [et_pb_line_break_holder] -->        line-height: 1.6;<!-- [et_pb_line_break_holder] -->        margin-bottom: 0;<!-- [et_pb_line_break_holder] -->      \">${mensaje}<\/pee><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  `;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ A\u00f1adir al body<!-- [et_pb_line_break_holder] -->  document.body.appendChild(overlay);<!-- [et_pb_line_break_holder] -->  document.body.appendChild(mensajeContainer);<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Centrar el mensaje en la pantalla<!-- [et_pb_line_break_holder] -->  mensajeContainer.style.position = 'fixed';<!-- [et_pb_line_break_holder] -->  mensajeContainer.style.top = '50%';<!-- [et_pb_line_break_holder] -->  mensajeContainer.style.left = '50%';<!-- [et_pb_line_break_holder] -->  mensajeContainer.style.setProperty('transform', 'translate(-50%, -50%)', 'important');<!-- [et_pb_line_break_holder] -->  mensajeContainer.style.zIndex = '100000';<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Ocultar preloader<!-- [et_pb_line_break_holder] -->  const preloader = document.getElementById('preloader');<!-- [et_pb_line_break_holder] -->  if (preloader) preloader.style.display = 'none';<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Cerrar modales con ESC<!-- [et_pb_line_break_holder] -->document.addEventListener('keydown', function(event) {<!-- [et_pb_line_break_holder] -->  if (event.key === 'Escape') {<!-- [et_pb_line_break_holder] -->    \/\/ Cerrar todos los modales de forma suave<!-- [et_pb_line_break_holder] -->    document.querySelectorAll('.modal').forEach(modal => {<!-- [et_pb_line_break_holder] -->      const modalContent = modal.querySelector('.modal-contenido');<!-- [et_pb_line_break_holder] -->      if (modal.style.display === 'block') {<!-- [et_pb_line_break_holder] -->        if (modalContent) {<!-- [et_pb_line_break_holder] -->          modalContent.style.opacity = '0';<!-- [et_pb_line_break_holder] -->          modalContent.style.transform = 'translateY(-20px)';<!-- [et_pb_line_break_holder] -->          setTimeout(() => {<!-- [et_pb_line_break_holder] -->            modal.style.display = 'none';<!-- [et_pb_line_break_holder] -->            modalContent.style.transform = '';<!-- [et_pb_line_break_holder] -->          }, 300);<!-- [et_pb_line_break_holder] -->        } else {<!-- [et_pb_line_break_holder] -->          modal.style.display = 'none';<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Cerrar carrito lateral suavemente<!-- [et_pb_line_break_holder] -->    const carritoContainer = document.getElementById('carrito-container');<!-- [et_pb_line_break_holder] -->    if (carritoContainer && carritoContainer.style.right === '0px') {<!-- [et_pb_line_break_holder] -->        cerrarCarrito();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Limpiar b\u00fasqueda<!-- [et_pb_line_break_holder] -->    const buscarInput = document.getElementById('buscar-producto');<!-- [et_pb_line_break_holder] -->    const limpiarBusqueda = document.getElementById('limpiar-busqueda');<!-- [et_pb_line_break_holder] -->    if (buscarInput && buscarInput.value && document.activeElement === buscarInput) {<!-- [et_pb_line_break_holder] -->      buscarInput.value = '';<!-- [et_pb_line_break_holder] -->      if (limpiarBusqueda) limpiarBusqueda.style.display = 'none';<!-- [et_pb_line_break_holder] -->      productosFiltrados = [...datosProductos];<!-- [et_pb_line_break_holder] -->      ordenarProductos(ordenActual);<!-- [et_pb_line_break_holder] -->      paginaActual = 1;<!-- [et_pb_line_break_holder] -->      renderizarProductos(productosFiltrados);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Implementar lazy loading de im\u00e1genes<!-- [et_pb_line_break_holder] -->function implementarLazyLoading() {<!-- [et_pb_line_break_holder] -->  \/\/ Verificar si IntersectionObserver est\u00e1 disponible<!-- [et_pb_line_break_holder] -->  if ('IntersectionObserver' in window) {<!-- [et_pb_line_break_holder] -->    \/\/ Crear un IntersectionObserver para cargar im\u00e1genes solo cuando est\u00e9n cerca del viewport<!-- [et_pb_line_break_holder] -->    const imgObserver = new IntersectionObserver((entries, observer) => {<!-- [et_pb_line_break_holder] -->      entries.forEach(entry => {<!-- [et_pb_line_break_holder] -->        if (entry.isIntersecting) {<!-- [et_pb_line_break_holder] -->          const img = entry.target;<!-- [et_pb_line_break_holder] -->          const dataSrc = img.getAttribute('data-src');<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          if (dataSrc) {<!-- [et_pb_line_break_holder] -->            \/\/ Imagen fantasma para precargar<!-- [et_pb_line_break_holder] -->            const preloadImg = new Image();<!-- [et_pb_line_break_holder] -->            preloadImg.onload = function() {<!-- [et_pb_line_break_holder] -->              \/\/ Una vez cargada, actualizar la src real<!-- [et_pb_line_break_holder] -->              img.src = dataSrc;<!-- [et_pb_line_break_holder] -->              img.removeAttribute('data-src');<!-- [et_pb_line_break_holder] -->              img.style.opacity = '1';<!-- [et_pb_line_break_holder] -->            };<!-- [et_pb_line_break_holder] -->            preloadImg.src = dataSrc;<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            \/\/ Dejar de observar esta imagen<!-- [et_pb_line_break_holder] -->            observer.unobserve(img);<!-- [et_pb_line_break_holder] -->          }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }, {<!-- [et_pb_line_break_holder] -->      rootMargin: '200px' \/\/ Empezar a cargar cuando est\u00e9 a 200px de distancia<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Funci\u00f3n para convertir im\u00e1genes normales a lazy load<!-- [et_pb_line_break_holder] -->    function prepareLazyImages() {<!-- [et_pb_line_break_holder] -->      const images = document.querySelectorAll('.producto .imagen');<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      images.forEach(img => {<!-- [et_pb_line_break_holder] -->        \/\/ Si no tiene ya configurado el lazy loading<!-- [et_pb_line_break_holder] -->        if (!img.hasAttribute('data-src')) {<!-- [et_pb_line_break_holder] -->          \/\/ Guardar la URL original en data-src<!-- [et_pb_line_break_holder] -->          img.setAttribute('data-src', img.src);<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          \/\/ Establecer un placeholder de baja resoluci\u00f3n<!-- [et_pb_line_break_holder] -->          img.src = 'data:image\/svg+xml,%3Csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1 1\"%3E%3C\/svg%3E';<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          \/\/ Estilo inicial<!-- [et_pb_line_break_holder] -->          img.style.transition = 'opacity 0.3s ease';<!-- [et_pb_line_break_holder] -->          img.style.opacity = '0.5';<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          \/\/ Empezar a observar<!-- [et_pb_line_break_holder] -->          imgObserver.observe(img);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Aplicar lazy loading a im\u00e1genes iniciales<!-- [et_pb_line_break_holder] -->    document.addEventListener('DOMContentLoaded', prepareLazyImages);<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Sobrescribir la funci\u00f3n de renderizar productos para aplicar lazy loading<!-- [et_pb_line_break_holder] -->    const originalRenderizarProductos = window.renderizarProductos;<!-- [et_pb_line_break_holder] -->    window.renderizarProductos = function(...args) {<!-- [et_pb_line_break_holder] -->      \/\/ Llamar a la funci\u00f3n original<!-- [et_pb_line_break_holder] -->      originalRenderizarProductos.apply(this, args);<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Configurar lazy loading despu\u00e9s de renderizar<!-- [et_pb_line_break_holder] -->      setTimeout(prepareLazyImages, 100);<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Mejorar experiencia de scroll<!-- [et_pb_line_break_holder] -->function mejorarExperienciaScroll() {<!-- [et_pb_line_break_holder] -->  \/\/ Bot\u00f3n para volver arriba<!-- [et_pb_line_break_holder] -->  const btnVolverArriba = document.createElement('button');<!-- [et_pb_line_break_holder] -->  btnVolverArriba.id = 'volver-arriba';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.innerHTML = '\u2191';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.position = 'fixed';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.bottom = '20px';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.left = '20px';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.width = '50px';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.height = '50px';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.borderRadius = '50%';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.backgroundColor = 'var(--color-primary, #0EA5E9)';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.color = 'white';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.border = 'none';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.fontSize = '24px';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.display = 'flex';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.alignItems = 'center';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.justifyContent = 'center';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.cursor = 'pointer';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.boxShadow = 'var(--shadow-lg, 0 10px 15px rgba(0, 0, 0, 0.1))';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.opacity = '0';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.transform = 'translateY(20px)';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.transition = 'all 0.3s ease';<!-- [et_pb_line_break_holder] -->  btnVolverArriba.style.zIndex = '9997';<!-- [et_pb_line_break_holder] -->  document.body.appendChild(btnVolverArriba);<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Mostrar\/ocultar bot\u00f3n seg\u00fan posici\u00f3n de scroll<!-- [et_pb_line_break_holder] -->  window.addEventListener('scroll', function() {<!-- [et_pb_line_break_holder] -->    if (window.scrollY > 300) {<!-- [et_pb_line_break_holder] -->      btnVolverArriba.style.opacity = '1';<!-- [et_pb_line_break_holder] -->      btnVolverArriba.style.transform = 'translateY(0)';<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      btnVolverArriba.style.opacity = '0';<!-- [et_pb_line_break_holder] -->      btnVolverArriba.style.transform = 'translateY(20px)';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Acci\u00f3n al hacer clic en el bot\u00f3n<!-- [et_pb_line_break_holder] -->  btnVolverArriba.addEventListener('click', function() {<!-- [et_pb_line_break_holder] -->    window.scrollTo({<!-- [et_pb_line_break_holder] -->      top: 0,<!-- [et_pb_line_break_holder] -->      behavior: 'smooth'<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Efectos visuales<!-- [et_pb_line_break_holder] -->  btnVolverArriba.addEventListener('mouseover', function() {<!-- [et_pb_line_break_holder] -->    this.style.backgroundColor = 'var(--color-primary-dark, #0284C7)';<!-- [et_pb_line_break_holder] -->    this.style.transform = 'translateY(-3px)';<!-- [et_pb_line_break_holder] -->    this.style.boxShadow = 'var(--shadow-xl, 0 20px 25px rgba(0, 0, 0, 0.1))';<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  btnVolverArriba.addEventListener('mouseout', function() {<!-- [et_pb_line_break_holder] -->    this.style.backgroundColor = 'var(--color-primary, #0EA5E9)';<!-- [et_pb_line_break_holder] -->    this.style.transform = 'translateY(0)';<!-- [et_pb_line_break_holder] -->    this.style.boxShadow = 'var(--shadow-lg, 0 10px 15px rgba(0, 0, 0, 0.1))';<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Funci\u00f3n para mejorar la accesibilidad<!-- [et_pb_line_break_holder] -->function mejorarAccesibilidad() {<!-- [et_pb_line_break_holder] -->  \/\/ A\u00f1adir atributos ARIA a elementos interactivos<!-- [et_pb_line_break_holder] -->  const elementosInteractivos = document.querySelectorAll('button, a, select, input');<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  elementosInteractivos.forEach(elemento => {<!-- [et_pb_line_break_holder] -->    \/\/ Si no tiene un atributo aria-label o title, a\u00f1adir uno basado en el texto<!-- [et_pb_line_break_holder] -->    if (!elemento.hasAttribute('aria-label') && !elemento.hasAttribute('title') && elemento.textContent) {<!-- [et_pb_line_break_holder] -->      elemento.setAttribute('title', elemento.textContent.trim());<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Asegurar que los botones sin texto tienen una etiqueta<!-- [et_pb_line_break_holder] -->    if ((elemento.tagName === 'BUTTON' || elemento.tagName === 'A') && <!-- [et_pb_line_break_holder] -->        !elemento.textContent.trim() && <!-- [et_pb_line_break_holder] -->        !elemento.hasAttribute('aria-label')) {<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Intentar deducir el prop\u00f3sito del bot\u00f3n<!-- [et_pb_line_break_holder] -->      if (elemento.classList.contains('cerrar-modal') || elemento.id === 'cerrar-carrito') {<!-- [et_pb_line_break_holder] -->        elemento.setAttribute('aria-label', 'Cerrar');<!-- [et_pb_line_break_holder] -->      } else if (elemento.classList.contains('eliminar')) {<!-- [et_pb_line_break_holder] -->        elemento.setAttribute('aria-label', 'Eliminar del carrito');<!-- [et_pb_line_break_holder] -->      } else if (elemento.id === 'limpiar-busqueda') {<!-- [et_pb_line_break_holder] -->        elemento.setAttribute('aria-label', 'Limpiar b\u00fasqueda');<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Mejorar navegaci\u00f3n por teclado<!-- [et_pb_line_break_holder] -->  document.addEventListener('keydown', function(e) {<!-- [et_pb_line_break_holder] -->    \/\/ Navegaci\u00f3n con Tab<!-- [et_pb_line_break_holder] -->    if (e.key === 'Tab') {<!-- [et_pb_line_break_holder] -->      \/\/ Agregar un indicador visual al elemento enfocado<!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        const elementoActivo = document.activeElement;<!-- [et_pb_line_break_holder] -->        if (elementoActivo && elementoActivo.tagName !== 'BODY') {<!-- [et_pb_line_break_holder] -->          \/\/ Almacenar estilo original<!-- [et_pb_line_break_holder] -->          const estiloOriginal = elementoActivo.style.outline;<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          \/\/ Aplicar un outline visible<!-- [et_pb_line_break_holder] -->          elementoActivo.style.outline = '3px solid var(--color-primary, #0EA5E9)';<!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          \/\/ Restaurar cuando pierda el foco<!-- [et_pb_line_break_holder] -->          elementoActivo.addEventListener('blur', function onBlur() {<!-- [et_pb_line_break_holder] -->            this.style.outline = estiloOriginal;<!-- [et_pb_line_break_holder] -->            this.removeEventListener('blur', onBlur);<!-- [et_pb_line_break_holder] -->          });<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }, 10);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Funci\u00f3n global para inicializar todas las mejoras de UI<!-- [et_pb_line_break_holder] -->function inicializarMejorasUI() {<!-- [et_pb_line_break_holder] -->  \/\/ CSS para efectos visuales adicionales<!-- [et_pb_line_break_holder] -->  const style = document.createElement('style');<!-- [et_pb_line_break_holder] -->  style.textContent = `<!-- [et_pb_line_break_holder] -->    :root {<!-- [et_pb_line_break_holder] -->      --color-primary: #0EA5E9;<!-- [et_pb_line_break_holder] -->      --color-primary-dark: #0284C7;<!-- [et_pb_line_break_holder] -->      --color-primary-light: #BAE6FD;<!-- [et_pb_line_break_holder] -->      --color-secondary: #334155;<!-- [et_pb_line_break_holder] -->      --color-secondary-light: #64748B;<!-- [et_pb_line_break_holder] -->      --color-success: #10B981;<!-- [et_pb_line_break_holder] -->      --color-danger: #EF4444;<!-- [et_pb_line_break_holder] -->      --color-warning: #F59E0B;<!-- [et_pb_line_break_holder] -->      --color-info: #3B82F6;<!-- [et_pb_line_break_holder] -->      --color-background: #FFFFFF;<!-- [et_pb_line_break_holder] -->      --color-surface: #F8FAFC;<!-- [et_pb_line_break_holder] -->      --color-border: #E2E8F0;<!-- [et_pb_line_break_holder] -->      --color-text: #475569;<!-- [et_pb_line_break_holder] -->      --color-text-dark: #334155;<!-- [et_pb_line_break_holder] -->      --color-text-light: #94A3B8;<!-- [et_pb_line_break_holder] -->      --radius-sm: 4px;<!-- [et_pb_line_break_holder] -->      --radius-md: 8px;<!-- [et_pb_line_break_holder] -->      --radius-lg: 16px;<!-- [et_pb_line_break_holder] -->      --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);<!-- [et_pb_line_break_holder] -->      --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07), 0 1px 3px rgba(0, 0, 0, 0.05);<!-- [et_pb_line_break_holder] -->      --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.07), 0 5px 8px rgba(0, 0, 0, 0.05);<!-- [et_pb_line_break_holder] -->      --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.04);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .flash {<!-- [et_pb_line_break_holder] -->      animation: flash-animation 0.5s;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    @keyframes flash-animation {<!-- [et_pb_line_break_holder] -->      0% { color: var(--color-primary); }<!-- [et_pb_line_break_holder] -->      50% { color: var(--color-success); }<!-- [et_pb_line_break_holder] -->      100% { color: var(--color-primary); }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .fadeOut {<!-- [et_pb_line_break_holder] -->      opacity: 0;<!-- [et_pb_line_break_holder] -->      transition: opacity 0.3s ease;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .campo-error {<!-- [et_pb_line_break_holder] -->      animation: shake 0.5s cubic-bezier(.36,.07,.19,.97) both;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    @keyframes shake {<!-- [et_pb_line_break_holder] -->      10%, 90% { transform: translate3d(-1px, 0, 0); }<!-- [et_pb_line_break_holder] -->      20%, 80% { transform: translate3d(2px, 0, 0); }<!-- [et_pb_line_break_holder] -->      30%, 50%, 70% { transform: translate3d(-3px, 0, 0); }<!-- [et_pb_line_break_holder] -->      40%, 60% { transform: translate3d(3px, 0, 0); }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/* Animaciones adicionales *\/<!-- [et_pb_line_break_holder] -->    @keyframes fadeIn {<!-- [et_pb_line_break_holder] -->      from { opacity: 0; }<!-- [et_pb_line_break_holder] -->      to { opacity: 1; }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    @keyframes fadeInUp {<!-- [et_pb_line_break_holder] -->      from { opacity: 0; transform: translateY(20px); }<!-- [et_pb_line_break_holder] -->      to { opacity: 1; transform: translateY(0); }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    @keyframes fadeInDown {<!-- [et_pb_line_break_holder] -->      from { opacity: 0; transform: translateY(-20px); }<!-- [et_pb_line_break_holder] -->      to { opacity: 1; transform: translateY(0); }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    @keyframes spin {<!-- [et_pb_line_break_holder] -->      to { transform: rotate(360deg); }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    @keyframes pulse {<!-- [et_pb_line_break_holder] -->      0% { transform: scale(1); }<!-- [et_pb_line_break_holder] -->      50% { transform: scale(1.05); }<!-- [et_pb_line_break_holder] -->      100% { transform: scale(1); }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  `;<!-- [et_pb_line_break_holder] -->  document.head.appendChild(style);<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Inicializar todas las mejoras<!-- [et_pb_line_break_holder] -->  mejorarBuscador();<!-- [et_pb_line_break_holder] -->  mejorarScrollCategorias();<!-- [et_pb_line_break_holder] -->  mejorarTarjetasProductos();<!-- [et_pb_line_break_holder] -->  mejorarCarritoLateral();<!-- [et_pb_line_break_holder] -->  mejorarFormularioPedido();<!-- [et_pb_line_break_holder] -->  mejorarModal();<!-- [et_pb_line_break_holder] -->  mejorarPaginacion();<!-- [et_pb_line_break_holder] -->  mejorarExperienciaScroll();<!-- [et_pb_line_break_holder] -->  mejorarAccesibilidad();<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Implementar lazy loading si el navegador lo soporta<!-- [et_pb_line_break_holder] -->  if ('IntersectionObserver' in window) {<!-- [et_pb_line_break_holder] -->    implementarLazyLoading();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Verificar si hay par\u00e1metros en la URL para abrir modales autom\u00e1ticamente<!-- [et_pb_line_break_holder] -->  const urlParams = new URLSearchParams(window.location.search);<!-- [et_pb_line_break_holder] -->  if (urlParams.has('pedido_enviado')) {<!-- [et_pb_line_break_holder] -->    \/\/ Mostrar modal de confirmaci\u00f3n al regresar de WhatsApp<!-- [et_pb_line_break_holder] -->    const orderId = urlParams.get('orden');<!-- [et_pb_line_break_holder] -->    const confirmacionModal = document.getElementById('confirmacion-modal');<!-- [et_pb_line_break_holder] -->    const confirmacionNumero = document.getElementById('confirmacion-numero');<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    if (confirmacionModal) {<!-- [et_pb_line_break_holder] -->      if (confirmacionNumero && orderId) {<!-- [et_pb_line_break_holder] -->        confirmacionNumero.textContent = orderId;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      setTimeout(() => {<!-- [et_pb_line_break_holder] -->        confirmacionModal.style.display = 'block';<!-- [et_pb_line_break_holder] -->      }, 500);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Limpiar URL<!-- [et_pb_line_break_holder] -->    window.history.replaceState({}, document.title, window.location.pathname);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ Detectar si es la primera visita para mostrar notificaci\u00f3n de bienvenida<!-- [et_pb_line_break_holder] -->  const primeraVisita = localStorage.getItem('catalogoVisitado') ? false : true;<!-- [et_pb_line_break_holder] -->  if (primeraVisita) {<!-- [et_pb_line_break_holder] -->    localStorage.setItem('catalogoVisitado', 'true');<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Mostrar notificaci\u00f3n de bienvenida con peque\u00f1o retraso<!-- [et_pb_line_break_holder] -->    setTimeout(() => {<!-- [et_pb_line_break_holder] -->      mostrarNotificacion('info', '\u00a1Bienvenido a nuestro cat\u00e1logo en l\u00ednea!');<!-- [et_pb_line_break_holder] -->    }, 1500);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Llama a esta funci\u00f3n despu\u00e9s de inicializar la aplicaci\u00f3n<!-- [et_pb_line_break_holder] -->document.addEventListener('DOMContentLoaded', function() {<!-- [et_pb_line_break_holder] -->  \/\/ La funci\u00f3n existente inicializarApp() ya se est\u00e1 llamando, agregamos esto al final<!-- [et_pb_line_break_holder] -->  const appInitCheckInterval = setInterval(() => {<!-- [et_pb_line_break_holder] -->    if (document.getElementById('contenedor-productos').style.opacity === '1') {<!-- [et_pb_line_break_holder] -->      \/\/ La app ya termin\u00f3 de cargar<!-- [et_pb_line_break_holder] -->      clearInterval(appInitCheckInterval);<!-- [et_pb_line_break_holder] -->      inicializarMejorasUI();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }, 100);<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->window.addEventListener('resize', ajustarJustificacionCategorias);<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/script>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; disabled_on=\u00bboff|off|off\u00bb admin_label=\u00bbSidebar Listado Carrito\u00bb module_id=\u00bbcarrito-container\u00bb module_class=\u00bbcarrito-container\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb transform_translate_linked=\u00bboff\u00bb custom_margin=\u00bb||0px||false|false\u00bb custom_padding=\u00bb0px||0px||true|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_row admin_label=\u00bbFila\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb100%\u00bb max_width=\u00bb100%\u00bb custom_padding=\u00bb0px||0px||true|false\u00bb locked=\u00bboff\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_code admin_label=\u00bbHTML Sidebar Carrito\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<div id=\"carrito-header\" class=\"carrito-header\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<h3 id=\"carrito-titulo\">Tu Carrito<\/h3>\n<p><!-- [et_pb_line_break_holder] -->  <button id=\"cerrar-carrito\" class=\"cerrar-carrito\">\u00d7<\/button><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"lista-productos\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div id=\"carrito-vacio-mensaje\">Tu carrito est\u00e1 vac\u00edo<\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<ul id=\"carrito-lista\"><\/ul>\n<p><!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  <\/p>\n<div id=\"carrito-resumen\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"resumen-fila\"><!-- [et_pb_line_break_holder] -->      <span>Subtotal:<\/span><!-- [et_pb_line_break_holder] -->      <span id=\"subtotal\">$0<\/span><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"resumen-fila\" id=\"impuesto-row\" style=\"display: none;\"><!-- [et_pb_line_break_holder] -->      <span id=\"nombre-impuesto\">Impuesto:<\/span><!-- [et_pb_line_break_holder] -->      <span id=\"impuesto\">$0<\/span><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"resumen-fila\" id=\"descuento-row\" style=\"display: none;\"><!-- [et_pb_line_break_holder] -->      <span>Descuento:<\/span><!-- [et_pb_line_break_holder] -->      <span id=\"descuento\">-$0<\/span><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"resumen-fila\" id=\"envio-row\" style=\"display: none;\"><!-- [et_pb_line_break_holder] -->      <span>Env\u00edo:<\/span><!-- [et_pb_line_break_holder] -->      <span id=\"costo-envio\">$0<\/span><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"resumen-fila total\"><!-- [et_pb_line_break_holder] -->      <span>Total:<\/span><!-- [et_pb_line_break_holder] -->      <span id=\"total\">0<\/span><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  <\/p>\n<div id=\"carrito-acciones\"><!-- [et_pb_line_break_holder] -->    <button id=\"vaciar-carrito\" class=\"vaciar-carrito\">Vaciar carrito<\/button><!-- [et_pb_line_break_holder] -->    <button id=\"mostrar-formulario\" class=\"completar-pedido\">Completar pedido<\/button><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Formulario de pedido --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"formulario-pedido\" style=\"display: none;\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"formulario-header\"><!-- [et_pb_line_break_holder] -->    <button id=\"volver-lista-productos\" class=\"volver-btn\">Volver<\/button><!-- [et_pb_line_break_holder] -->    <\/p>\n<h3>Finalizar Pedido<\/h3>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  <!-- Resumen de pedido --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"resumen-pedido\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<h4>Resumen del pedido<\/h4>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"resumen-pedido-lista\" class=\"resumen-pedido-lista\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"resumen-totales\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"resumen-linea\"><!-- [et_pb_line_break_holder] -->        <span>Subtotal:<\/span><!-- [et_pb_line_break_holder] -->        <span id=\"resumen-subtotal\">$0<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"resumen-linea\" id=\"resumen-impuesto-row\" style=\"display:none\"><!-- [et_pb_line_break_holder] -->        <span id=\"resumen-nombre-impuesto\">Impuesto:<\/span><!-- [et_pb_line_break_holder] -->        <span id=\"resumen-impuesto\">$0<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"resumen-linea\" id=\"resumen-descuento-row\" style=\"display:none\"><!-- [et_pb_line_break_holder] -->        <span>Descuento:<\/span><!-- [et_pb_line_break_holder] -->        <span id=\"resumen-descuento\">-$0<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"resumen-linea\" id=\"resumen-envio-row\" style=\"display:none\"><!-- [et_pb_line_break_holder] -->        <span>Env\u00edo:<\/span><!-- [et_pb_line_break_holder] -->        <span id=\"resumen-costo-envio\">$0<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"resumen-linea total\"><!-- [et_pb_line_break_holder] -->        <span>Total:<\/span><!-- [et_pb_line_break_holder] -->        <span id=\"resumen-total\">$0<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->   <!-- [et_pb_line_break_holder] -->   <\/p>\n<form id=\"form-pedido\"><!-- [et_pb_line_break_holder] -->     <!-- [et_pb_line_break_holder] -->     <!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"form-group\"><!-- [et_pb_line_break_holder] -->    <label for=\"whatsapp\">WhatsApp<span class=\"requerido\">Obligatorio<\/span><\/label><!-- [et_pb_line_break_holder] -->    <input <!-- [et_pb_line_break_holder] -->      type=\u00bbtel\u00bb <!-- [et_pb_line_break_holder] -->      id=\u00bbwhatsapp\u00bb <!-- [et_pb_line_break_holder] -->      name=\u00bbwhatsapp\u00bb <!-- [et_pb_line_break_holder] -->      required<!-- [et_pb_line_break_holder] -->      pattern=\u00bb[0-9]{7,15}\u00bb <!-- [et_pb_line_break_holder] -->      inputmode=\u00bbnumeric\u00bb <!-- [et_pb_line_break_holder] -->      title=\u00bbS\u00f3lo n\u00fameros (7\u201315 d\u00edgitos)\u00bb <!-- [et_pb_line_break_holder] -->    \/><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"form-group\"><!-- [et_pb_line_break_holder] -->      <label for=\"nombre\">Nombre <span class=\"requerido\">Obligatorio<\/span><\/label><!-- [et_pb_line_break_holder] -->      <input type=\"text\" id=\"nombre\" name=\"nombre\" required><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"form-group\"><!-- [et_pb_line_break_holder] -->  <label for=\"telefono\"><!-- [et_pb_line_break_holder] -->    Otro tel\u00e9fono <small class=\"opcional\">(Opcional)<\/small><!-- [et_pb_line_break_holder] -->  <\/label><!-- [et_pb_line_break_holder] -->  <input <!-- [et_pb_line_break_holder] -->    type=\u00bbtel\u00bb <!-- [et_pb_line_break_holder] -->    id=\u00bbtelefono\u00bb <!-- [et_pb_line_break_holder] -->    name=\u00bbtelefono\u00bb<!-- [et_pb_line_break_holder] -->    inputmode=\u00bbnumeric\u00bb <!-- [et_pb_line_break_holder] -->    title=\u00bbS\u00f3lo n\u00fameros (7\u201315 d\u00edgitos)\u00bb <!-- [et_pb_line_break_holder] -->  \/><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"form-group\"><!-- [et_pb_line_break_holder] -->  <label for=\"entrega\">Opciones de entrega <span class=\"requerido\">Obligatorio<\/span><\/label><!-- [et_pb_line_break_holder] -->  <select id=\"entrega\" name=\"entrega\" required><!-- [et_pb_line_break_holder] --><option value=\"\">Seleccionar opci\u00f3n<\/option><!-- [et_pb_line_break_holder] --><option value=\"Envio a domicilio\">Env\u00edo a domicilio<\/option><!-- [et_pb_line_break_holder] --><option value=\"Retirar personalmente\">Retirar personalmente<\/option><!-- [et_pb_line_break_holder] --><option value=\"En punto de entrega\">En punto de entrega<\/option><!-- [et_pb_line_break_holder] -->  <\/select><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- ESTE bloque aparece solo cuando se elige \u201cEn punto de entrega\u201d --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div id=\"campo-zona\" style=\"display: none; margin-top: 8px;\"><!-- [et_pb_line_break_holder] -->    <label for=\"zona-envio\">Selecciona el punto de entrega <span class=\"requerido\">Obligatorio<\/span><\/label><!-- [et_pb_line_break_holder] -->    <select id=\"zona-envio\" name=\"zona-envio\"><!-- [et_pb_line_break_holder] --><option value=\"\">Seleccionar punto de entrega<\/option><!-- [et_pb_line_break_holder] -->      <!-- Se llenar\u00e1 din\u00e1micamente --><!-- [et_pb_line_break_holder] -->    <\/select><!-- [et_pb_line_break_holder] -->    <pee id=\"costo-envio-texto\" class=\"nota-envio\"><\/pee><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"campo-direccion\" style=\"display: none;\" class=\"form-group\"><!-- [et_pb_line_break_holder] -->      <label for=\"direccion\">Direcci\u00f3n <span class=\"requerido\">Obligatorio<\/span><\/label><!-- [et_pb_line_break_holder] -->      <textarea id=\"direccion\" name=\"direccion\" placeholder=\"Ej: Calle Principal 123,\u2026\"><\/textarea><!-- [et_pb_line_break_holder] -->      <pee class=\"nota-direccion\">Puedes escribir o copiar y pegar la direcci\u00f3n&#8230;<\/pee><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"campo-referencias\" style=\"display: none;\" class=\"form-group\"><!-- [et_pb_line_break_holder] -->      <label for=\"referencias\">Referencias:<\/label><!-- [et_pb_line_break_holder] -->      <textarea id=\"referencias\" name=\"referencias\" placeholder=\"Ej: Casa roja, junto al parque\"><\/textarea><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"form-group\"><!-- [et_pb_line_break_holder] -->      <label for=\"pago\">Formas de pago <span class=\"requerido\">Obligatorio<\/span><\/label><!-- [et_pb_line_break_holder] -->      <select id=\"pago\" name=\"pago\" required><!-- [et_pb_line_break_holder] --><option value=\"\">Seleccionar opci\u00f3n<\/option><!-- [et_pb_line_break_holder] --><option value=\"Efectivo\">Efectivo<\/option><!-- [et_pb_line_break_holder] --><option value=\"Transferencia\">Transferencia<\/option><!-- [et_pb_line_break_holder] --><option value=\"Tarjeta\">Tarjeta (Terminal bancaria)<\/option><!-- [et_pb_line_break_holder] -->      <\/select><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"info-transferencia\" class=\"tarjeta-transferencia\" style=\"display: none;\"><!-- [et_pb_line_break_holder] -->      <pee><strong>Nombre:<\/strong> <span id=\"nombre-transferencia\"><\/span><\/pee><!-- [et_pb_line_break_holder] -->      <pee><strong>Banco:<\/strong> <span id=\"banco-transferencia\"><\/span><\/pee><!-- [et_pb_line_break_holder] -->      <pee><strong>CLABE:<\/strong> <span id=\"clabe-text\"><\/span><!-- [et_pb_line_break_holder] -->        <button type=\"button\" class=\"btn-copiar\" data-copiar=\"clabe-text\"><!-- [et_pb_line_break_holder] -->          <i class=\"fas fa-copy\"><\/i><!-- [et_pb_line_break_holder] -->        <\/button><!-- [et_pb_line_break_holder] -->      <\/pee><!-- [et_pb_line_break_holder] -->      <pee><strong>No. Tarjeta:<\/strong> <span id=\"tarjeta-text\"><\/span><!-- [et_pb_line_break_holder] -->        <button type=\"button\" class=\"btn-copiar\" data-copiar=\"tarjeta-text\"><!-- [et_pb_line_break_holder] -->          <i class=\"fas fa-copy\"><\/i><!-- [et_pb_line_break_holder] -->        <\/button><!-- [et_pb_line_break_holder] -->      <\/pee><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"campo-cupon\" class=\"form-group\"><!-- [et_pb_line_break_holder] -->      <label for=\"cupon\">\u00bfTienes un cup\u00f3n de descuento?<\/label><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"cupon-container\"><!-- [et_pb_line_break_holder] -->        <input type=\"text\" id=\"cupon\" name=\"cupon\" placeholder=\"C\u00f3digo de cup\u00f3n\"><!-- [et_pb_line_break_holder] -->        <button type=\"button\" id=\"aplicar-cupon\">Aplicar<\/button><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <pee id=\"mensaje-cupon\" class=\"mensaje-cupon\"><\/pee><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->   <\/p>\n<div class=\"form-group\"><!-- [et_pb_line_break_holder] -->  <label for=\"nota\"><!-- [et_pb_line_break_holder] -->    Agregar nota <small class=\"opcional\">(Opcional)<\/small><!-- [et_pb_line_break_holder] -->  <\/label><!-- [et_pb_line_break_holder] -->  <textarea id=\"nota\" name=\"nota\"><\/textarea><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"terminos-container form-group\"><!-- [et_pb_line_break_holder] -->      <input type=\"checkbox\" id=\"aceptar-terminos\" name=\"aceptar-terminos\"><!-- [et_pb_line_break_holder] -->      <label for=\"aceptar-terminos\">Acepto los <a href=\"#\" id=\"ver-terminos\">t\u00e9rminos y condiciones<\/a>*<\/label><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <pee class=\"aviso-importante\">\u2139\ufe0f <strong>Importante:<\/strong> Al enviar este pedido, usted se compromete a no modificar el mensaje generado en WhatsApp. La alteraci\u00f3n del contenido, precios o cantidades constituye una violaci\u00f3n de nuestros t\u00e9rminos y condiciones.<\/pee><!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    <button type=\"button\" id=\"enviar-whatsapp\" disabled>Enviar pedido por WhatsApp<\/button><!-- [et_pb_line_break_holder] -->  <\/form>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Impulsa tus ventas con un cat\u00e1logo digital atractivo. Te ayudo a crear una soluci\u00f3n intuitiva que potenciara tus ventas a WhatsApp. \u2728 \u00a1Aumenta tus ingresos con esta herramienta digital!<\/p>\n","protected":false},"author":1,"featured_media":456,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-template-blank.php","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","slim_seo":{"facebook_image":"http:\/\/komertio.com\/demo\/wp-content\/uploads\/sites\/2\/2025\/05\/banner1.webp","title":"Komertio Catalogo Demo - Una herramienta creada para simplificar el comercio digital","description":"Impulsa tus ventas con un cat\u00e1logo digital atractivo. Te ayudo a crear una soluci\u00f3n intuitiva que potenciara tus ventas a WhatsApp. \u2728 \u00a1Aumenta tus ingresos con"},"uix_meta_title":"","uix_meta_description":"","uix_canonical_url":"","footnotes":""},"class_list":["post-7","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/komertio.com\/demo\/wp-json\/wp\/v2\/pages\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/komertio.com\/demo\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/komertio.com\/demo\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/komertio.com\/demo\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/komertio.com\/demo\/wp-json\/wp\/v2\/comments?post=7"}],"version-history":[{"count":809,"href":"https:\/\/komertio.com\/demo\/wp-json\/wp\/v2\/pages\/7\/revisions"}],"predecessor-version":[{"id":1090,"href":"https:\/\/komertio.com\/demo\/wp-json\/wp\/v2\/pages\/7\/revisions\/1090"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/komertio.com\/demo\/wp-json\/wp\/v2\/media\/456"}],"wp:attachment":[{"href":"https:\/\/komertio.com\/demo\/wp-json\/wp\/v2\/media?parent=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}