{"id":7,"date":"2025-12-29T01:42:47","date_gmt":"2025-12-29T07:42:47","guid":{"rendered":"https:\/\/ironside.directorio-comercial.com\/?page_id=7"},"modified":"2025-12-30T11:30:35","modified_gmt":"2025-12-30T17:30:35","slug":"inicio","status":"publish","type":"page","link":"https:\/\/ironside.directorio-comercial.com\/","title":{"rendered":"Inicio"},"content":{"rendered":"\n<div class=\"wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<p class=\"gb-text gb-text-c28e697a\">En &#8220;Nombre&#8221;, estamos listos para ayudarte a dar forma a tu <strong>visi\u00f3n<\/strong> de entrenamiento con los <strong>mejores equipos y un servicio personalizado<\/strong>.<\/p>\n\n\n\n<p class=\"gb-text gb-text-fb92a20c\">Nuestro Equipo se compromete a ofrecer <strong>asesor\u00edas y cotizaciones adaptadas<\/strong> a tus necesidades espec\u00edficas.<\/p>\n\n\n\n<p class=\"gb-text gb-text-7124f1a6\"><strong>Creamos soluciones para cualquier tipo de instalaci\u00f3n de entrenamiento<\/strong>, desde gimnasios comerciales hasta centros de rehabilitaci\u00f3n y cl\u00ednicas.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div id=\"pwa-install-wrapper\" style=\"text-align:center;\">\n  <button id=\"pwa-install-btn\">Descargar app<\/button>\n<\/div>\n\n<!-- Modal iOS -->\n<div id=\"pwa-ios-modal\">\n  <div class=\"pwa-ios-content\">\n    <h3>Instalar aplicaci\u00f3n<\/h3>\n    <ol>\n      <li>Presiona el bot\u00f3n <strong>Compartir<\/strong><\/li>\n      <li>Desliza y selecciona <strong>\u201cAgregar a inicio\u201d<\/strong><\/li>\n      <li>Presiona <strong>Agregar<\/strong><\/li>\n    <\/ol>\n    <button id=\"pwa-ios-close\">Cerrar<\/button>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Bot\u00f3n principal *\/\n  #pwa-install-btn{\n    background:#000;\n    color:#fff;\n    border:none;\n    padding:14px 28px;\n    font-size:16px;\n    font-weight:600;\n    border-radius:15px;\n    cursor:pointer;\n  }\n\n  #pwa-install-btn:hover{\n    opacity:0.9;\n  }\n\n  \/* Modal iOS *\/\n  #pwa-ios-modal{\n    position:fixed;\n    inset:0;\n    background:rgba(0,0,0,.6);\n    display:none;\n    align-items:center;\n    justify-content:center;\n    z-index:9999;\n  }\n\n  .pwa-ios-content{\n    background:#fff;\n    padding:24px;\n    border-radius:16px;\n    max-width:320px;\n    width:90%;\n    text-align:left;\n  }\n\n  .pwa-ios-content h3{\n    margin-top:0;\n    margin-bottom:12px;\n  }\n\n  .pwa-ios-content ol{\n    padding-left:18px;\n    margin-bottom:20px;\n  }\n\n  #pwa-ios-close{\n    background:#000;\n    color:#fff;\n    border:none;\n    padding:10px 18px;\n    border-radius:12px;\n    cursor:pointer;\n    width:100%;\n  }\n<\/style>\n\n<script>\n  let deferredPrompt = null;\n\n  \/\/ Detectar Android \/ Chrome\n  window.addEventListener('beforeinstallprompt', (e) => {\n    e.preventDefault();\n    deferredPrompt = e;\n  });\n\n  const isIos = () => {\n    return \/iphone|ipad|ipod\/i.test(window.navigator.userAgent);\n  };\n\n  const isInStandaloneMode = () => {\n    return window.matchMedia('(display-mode: standalone)').matches || window.navigator.standalone === true;\n  };\n\n  const btn = document.getElementById('pwa-install-btn');\n  const wrapper = document.getElementById('pwa-install-wrapper');\n  const iosModal = document.getElementById('pwa-ios-modal');\n  const iosClose = document.getElementById('pwa-ios-close');\n\n  \/\/ Ocultar bot\u00f3n si ya est\u00e1 instalada\n  if (isInStandaloneMode()) {\n    wrapper.style.display = 'none';\n  }\n\n  btn.addEventListener('click', async () => {\n    \/\/ iOS\n    if (isIos()) {\n      iosModal.style.display = 'flex';\n      return;\n    }\n\n    \/\/ Android \/ Desktop\n    if (deferredPrompt) {\n      deferredPrompt.prompt();\n      const { outcome } = await deferredPrompt.userChoice;\n      deferredPrompt = null;\n    } else {\n      alert(\"La instalaci\u00f3n no est\u00e1 disponible en este momento.\");\n    }\n  });\n\n  iosClose.addEventListener('click', () => {\n    iosModal.style.display = 'none';\n  });\n<\/script>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading has-text-align-center\">Ven y Con\u00f3cenos <\/h2>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignwide is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-9817af40 wp-block-group-is-layout-flex\" style=\"padding-right:0;padding-left:0\">\n<iframe src=\"https:\/\/www.google.com\/maps\/embed?pb=!1m18!1m12!1m3!1d3702.5941649770853!2d-102.28831439999999!3d21.873184399999996!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x8429ef51dedc4b39%3A0x2572b089d41a493!2sEquipos%20de%20Gym%20Guerrero!5e0!3m2!1ses-419!2smx!4v1767115796915!5m2!1ses-419!2smx\" width=\"380\" height=\"380\" style=\"border:0;\" allowfullscreen=\"\" loading=\"lazy\" referrerpolicy=\"no-referrer-when-downgrade\"><\/iframe>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading has-text-align-center\">Solicita una cotizaci\u00f3n<\/h2>\n\n\n\n<div class=\"wp-wa-form\">\n  <form id=\"waQuoteForm\" novalidate>\n    <div class=\"wa-row\">\n      <label for=\"waNombre\">Nombre <span class=\"req\">*<\/span><\/label>\n      <input id=\"waNombre\" name=\"nombre\" type=\"text\" placeholder=\"Tu nombre\" required \/>\n      <small class=\"wa-error\" data-err=\"nombre\"><\/small>\n    <\/div>\n\n    <div class=\"wa-row\">\n      <label for=\"waCorreo\">Correo <span class=\"req\">*<\/span><\/label>\n      <input id=\"waCorreo\" name=\"correo\" type=\"email\" placeholder=\"tunombre@correo.com\" required \/>\n      <small class=\"wa-error\" data-err=\"correo\"><\/small>\n    <\/div>\n\n    <div class=\"wa-row\">\n      <label for=\"waCategoria\">Categor\u00eda del equipo<\/label>\n      <select id=\"waCategoria\" name=\"categoria\">\n        <option value=\"\" selected disabled>Selecciona una categor\u00eda<\/option>\n        <option value=\"Cardio\">Cardio<\/option>\n        <option value=\"Maquinas\">Maquinas<\/option>\n        <option value=\"Mancuernas\">Mancuernas<\/option>\n        <option value=\"Discos\">Discos<\/option>\n        <option value=\"Barras\">Barras<\/option>\n        <option value=\"Racks\">Racks<\/option>\n        <option value=\"Bancos\">Bancos<\/option>\n        <option value=\"Accesorios\">Accesorios<\/option>\n        <option value=\"Almacenamiento\">Almacenamiento<\/option>\n        <option value=\"Pisos y Suelo de gimnasio\">Pisos y Suelo de gimnasio<\/option>\n        <option value=\"Mochilas\">Mochilas<\/option>\n        <option value=\"Otro\">Otro<\/option>\n      <\/select>\n    <\/div>\n\n    <div class=\"wa-row\" id=\"waEquipoSelectWrap\">\n      <label for=\"waEquipo\">Equipo<\/label>\n      <select id=\"waEquipo\" name=\"equipo\" disabled>\n        <option value=\"\" selected disabled>Primero elige una categor\u00eda<\/option>\n      <\/select>\n    <\/div>\n\n    <div class=\"wa-row wa-hide\" id=\"waEquipoOtroWrap\">\n      <label for=\"waEquipoOtro\">Especifica el equipo<\/label>\n      <input id=\"waEquipoOtro\" name=\"equipo_otro\" type=\"text\" placeholder=\"Escribe el equipo\" \/>\n    <\/div>\n\n    <button type=\"submit\" class=\"wa-btn\">Enviar<\/button>\n    <p class=\"wa-note\">Se abrir\u00e1 WhatsApp con el mensaje listo para enviar.<\/p>\n  <\/form>\n<\/div>\n\n<style>\n  .wp-wa-form{\n    max-width: 520px;\n    margin: 0 auto;\n    padding: 16px;\n    border-radius: 14px;\n  }\n  .wp-wa-form *{ box-sizing: border-box; }\n  .wa-row{ margin-bottom: 14px; }\n  .wa-row label{\n    display:block;\n    font-weight: 600;\n    margin-bottom: 8px;\n  }\n  .req{ color:#b00020; }\n  .wa-row input,\n  .wa-row select{\n    width: 100%;\n    padding: 12px 12px;\n    border: 1px solid rgba(0,0,0,.18);\n    border-radius: 12px;\n    outline: none;\n    font-size: 15px;\n    background: #fff;\n  }\n  .wa-row input:focus,\n  .wa-row select:focus{\n    border-color: rgba(0,0,0,.45);\n  }\n  .wa-btn{\n    width: 100%;\n    padding: 12px 14px;\n    border: 0;\n    border-radius: 14px;\n    background: #000;\n    color: #fff;\n    font-weight: 700;\n    font-size: 16px;\n    cursor: pointer;\n  }\n  .wa-btn:active{ transform: scale(0.99); }\n  .wa-note{\n    margin-top: 10px;\n    font-size: 13px;\n    opacity: .75;\n    text-align:center;\n  }\n  .wa-error{\n    display:block;\n    margin-top: 6px;\n    color:#b00020;\n    font-size: 12.5px;\n    min-height: 16px;\n  }\n  .wa-hide{ display:none; }\n<\/style>\n\n<script>\n  (function(){\n    const equiposPorCategoria = {\n      \"Cardio\": [\n        \"Caminadoras\",\"Air Bikes\",\"Bicicletas de Spinning\",\"Bicicletas Estaticas\",\n        \"Remadoras\",\"El\u00edpticas\",\"Escaladoras\",\"SkiErg\"\n      ],\n      \"Maquinas\": [\n        \"M\u00e1quinas Selectorizadas - Pin Loaded\",\n        \"M\u00e1quinas con Carga de Disco - Plate Loaded\",\n        \"Maquina Smith  - Smith Machines\",\n        \"M\u00e1quinas con Poleas - Pulleys\",\n        \"M\u00e1quinas Multi Estaciones y Duales\"\n      ],\n      \"Mancuernas\": [\n        \"Mancuernas Ajustables\",\"Mancuernas Hexagonales\",\"Mancuerdas Circulares\",\"Kettlebells\"\n      ],\n      \"Discos\": [\n        \"Discos Bumper\",\"Discos con Agarres\",\"Discos Calibrados\",\"Discos Fraccionales\"\n      ],\n      \"Barras\": [\n        \"Barras Olimpicas 20kg\",\"Barras Olimpicas 15kg\",\"Barra con peso fijo\",\"Barras Cerakote\",\n        \"Barras Fullpower\",\"Barras Hexagonales\",\"Barras EZ\",\"Barras T\u00e9cnicas\",\"Barras Romanas\"\n      ],\n      \"Racks\": [\"Power Racks\",\"Half Racks\",\"Squat Racks\"],\n      \"Bancos\": [\n        \"Bancos reclinables\",\"Banco plano\",\"Banco para Press Olimpico\",\n        \"Banco Militares\",\"Bancos Funcionales\"\n      ],\n      \"Accesorios\": [\n        \"Accesorios Funcionales\",\"Agerres de Poleas\",\"Bandas Deportivas\",\n        \"Colchonetas\",\"Mats\",\"Crash Pds\"\n      ],\n      \"Pisos y Suelo de gimnasio\": [\"Piso de Caucho\",\"Pisos Interlock\"],\n      \/\/ Si quieres, aqu\u00ed puedes agregar opciones para estas categor\u00edas:\n      \"Almacenamiento\": [],\n      \"Mochilas\": []\n    };\n\n    const form = document.getElementById(\"waQuoteForm\");\n    const nombre = document.getElementById(\"waNombre\");\n    const correo = document.getElementById(\"waCorreo\");\n    const categoria = document.getElementById(\"waCategoria\");\n    const equipo = document.getElementById(\"waEquipo\");\n\n    const equipoSelectWrap = document.getElementById(\"waEquipoSelectWrap\");\n    const equipoOtroWrap = document.getElementById(\"waEquipoOtroWrap\");\n    const equipoOtro = document.getElementById(\"waEquipoOtro\");\n\n    const errNombre = form.querySelector('[data-err=\"nombre\"]');\n    const errCorreo = form.querySelector('[data-err=\"correo\"]');\n\n    function setEquipoOptions(cat){\n      equipo.innerHTML = \"\";\n\n      if(!cat){\n        equipo.disabled = true;\n        equipo.innerHTML = '<option value=\"\" selected disabled>Primero elige una categor\u00eda<\/option>';\n        return;\n      }\n\n      \/\/ Si la categor\u00eda es \"Otro\": ocultamos select y mostramos input\n      if(cat === \"Otro\"){\n        equipoSelectWrap.classList.add(\"wa-hide\");\n        equipoOtroWrap.classList.remove(\"wa-hide\");\n        equipo.disabled = true;\n        equipoOtro.value = \"\";\n        return;\n      } else {\n        equipoSelectWrap.classList.remove(\"wa-hide\");\n        equipoOtroWrap.classList.add(\"wa-hide\");\n        equipo.disabled = false;\n      }\n\n      const lista = equiposPorCategoria[cat] || [];\n\n      \/\/ Si no hay opciones definidas (ej. Almacenamiento\/Mochilas), permitimos escribir manual\n      if(lista.length === 0){\n        equipoSelectWrap.classList.add(\"wa-hide\");\n        equipoOtroWrap.classList.remove(\"wa-hide\");\n        equipoOtro.value = \"\";\n        equipoOtro.placeholder = \"Escribe el equipo\";\n        return;\n      }\n\n      const opt0 = document.createElement(\"option\");\n      opt0.value = \"\";\n      opt0.textContent = \"Selecciona un equipo\";\n      opt0.disabled = true;\n      opt0.selected = true;\n      equipo.appendChild(opt0);\n\n      lista.forEach(item => {\n        const opt = document.createElement(\"option\");\n        opt.value = item;\n        opt.textContent = item;\n        equipo.appendChild(opt);\n      });\n    }\n\n    function validar(){\n      let ok = true;\n      errNombre.textContent = \"\";\n      errCorreo.textContent = \"\";\n\n      if(!nombre.value.trim()){\n        errNombre.textContent = \"El nombre es obligatorio.\";\n        ok = false;\n      }\n\n      const email = correo.value.trim();\n      const emailRegex = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/;\n      if(!email){\n        errCorreo.textContent = \"El correo es obligatorio.\";\n        ok = false;\n      } else if(!emailRegex.test(email)){\n        errCorreo.textContent = \"Escribe un correo v\u00e1lido.\";\n        ok = false;\n      }\n\n      return ok;\n    }\n\n    categoria.addEventListener(\"change\", (e) => {\n      setEquipoOptions(e.target.value);\n    });\n\n    form.addEventListener(\"submit\", (e) => {\n      e.preventDefault();\n      if(!validar()) return;\n\n      const cat = categoria.value || \"Sin categor\u00eda\";\n      let eq = \"\";\n\n      if(cat === \"Otro\"){\n        eq = (equipoOtro.value || \"\").trim() || \"No especificado\";\n      } else {\n        \/\/ si el select est\u00e1 oculto, usamos el input\n        if(!equipoSelectWrap.classList.contains(\"wa-hide\")){\n          eq = equipo.value || \"No especificado\";\n        } else {\n          eq = (equipoOtro.value || \"\").trim() || \"No especificado\";\n        }\n      }\n\n      const msg =\n`Hola, mi nombre es ${nombre.value.trim()}, me gustar\u00eda cotizar un equipo de ${cat}, seria un\/a ${eq}.\nPuede ofrecerme m\u00e1s informaci\u00f3n por este medio o por mi correo: ${correo.value.trim()}`;\n\n      \/\/ \u2705 REMARCADO para que lo cambies despu\u00e9s:\n      const PHONE_NUMBER = \"AQUI_VA_EL_NUMERO\";\n\n      const url = \"https:\/\/wa.me\/\" + encodeURIComponent(PHONE_NUMBER)\n        + \"?text=\" + encodeURIComponent(msg);\n\n      window.open(url, \"_blank\");\n    });\n\n    \/\/ Estado inicial\n    setEquipoOptions(\"\");\n  })();\n<\/script>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>En &#8220;Nombre&#8221;, estamos listos para ayudarte a dar forma a tu visi\u00f3n de entrenamiento con los mejores equipos y un servicio personalizado. Nuestro Equipo se compromete a ofrecer asesor\u00edas y cotizaciones adaptadas a tus necesidades espec\u00edficas. Creamos soluciones para cualquier tipo de instalaci\u00f3n de entrenamiento, desde gimnasios comerciales hasta centros de rehabilitaci\u00f3n y cl\u00ednicas. Descargar [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":488,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-no-title","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-7","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/ironside.directorio-comercial.com\/index.php?rest_route=\/wp\/v2\/pages\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ironside.directorio-comercial.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ironside.directorio-comercial.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ironside.directorio-comercial.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ironside.directorio-comercial.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7"}],"version-history":[{"count":5,"href":"https:\/\/ironside.directorio-comercial.com\/index.php?rest_route=\/wp\/v2\/pages\/7\/revisions"}],"predecessor-version":[{"id":638,"href":"https:\/\/ironside.directorio-comercial.com\/index.php?rest_route=\/wp\/v2\/pages\/7\/revisions\/638"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ironside.directorio-comercial.com\/index.php?rest_route=\/wp\/v2\/media\/488"}],"wp:attachment":[{"href":"https:\/\/ironside.directorio-comercial.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}