{"id":1548,"date":"2025-09-14T21:48:51","date_gmt":"2025-09-14T21:48:51","guid":{"rendered":"https:\/\/peptilife.co\/?page_id=1548"},"modified":"2026-01-06T00:07:10","modified_gmt":"2026-01-06T00:07:10","slug":"health","status":"publish","type":"page","link":"https:\/\/peptilife.co\/es\/health\/","title":{"rendered":"Health Calculator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1548\" class=\"elementor elementor-1548\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-19fff60 e-flex e-con-boxed e-con e-parent\" data-id=\"19fff60\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4c51f10 elementor-widget elementor-widget-html\" data-id=\"4c51f10\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- MINI-APP: Ideal Weight Calculator + PDF Report + Recommendations -->\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/@phosphor-icons\/web@2.1.2\/src\/regular\/style.css\">\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/jspdf@2.5.2\/dist\/jspdf.umd.min.js\"><\/script>\n\n<style>\n  .pl-miniapp{--pl-primary:#3F39A0;--pl-accent:#969AFF;--pl-bg:rgba(150,154,255,.06);--pl-card:rgba(255,255,255,.9);--pl-text:#0f1226;--pl-muted:#6b6e9a;--pl-success:#1bbf72;--pl-danger:#ff5a7a;--pl-radius:18px;--pl-shadow:0 12px 30px rgba(63,57,160,.15)}\n  .pl-miniapp *{box-sizing:border-box}\n  .pl-miniapp{font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--pl-text)}\n  .pl-wrap{background:linear-gradient(180deg,var(--pl-bg),transparent);border:1px solid rgba(63,57,160,.09);backdrop-filter:saturate(120%) blur(8px);border-radius:24px;padding:22px;box-shadow:var(--pl-shadow)}\n  .pl-header{display:flex;align-items:center;gap:12px;margin-bottom:18px}\n  .pl-ico{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--pl-primary),var(--pl-accent));color:#fff}\n  .pl-title{font-size:1.2rem;font-weight:700;margin:0}\n  .pl-sub{font-size:.9rem;color:var(--pl-muted);margin:2px 0 0}\n\n  .pl-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}\n  @media (max-width:900px){.pl-grid{grid-template-columns:1fr}}\n\n  .pl-card{background:var(--pl-card);border:1px solid rgba(63,57,160,.10);border-radius:var(--pl-radius);padding:18px;box-shadow:var(--pl-shadow)}\n\n  .pl-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}\n  @media (max-width:680px){.pl-fields{grid-template-columns:1fr}}\n  .pl-field{position:relative}\n  .pl-label{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--pl-muted);margin-bottom:6px}\n  .pl-input{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e9e9f6;border-radius:14px;padding:12px 14px;transition:.25s ease;box-shadow:inset 0 0 0 1px transparent}\n  .pl-input:focus-within{border-color:var(--pl-accent);box-shadow:inset 0 0 0 1px var(--pl-accent)}\n  .pl-input i{font-size:20px;color:var(--pl-primary)}\n  .pl-input input{width:100%;border:none;outline:0;font:600 1rem\/1 Inter;color:var(--pl-text)}\n  .pl-suffix{font-size:.85rem;color:var(--pl-muted);font-weight:600}\n\n  .pl-sep{height:1px;background:linear-gradient(90deg,transparent,rgba(63,57,160,.2),transparent);margin:14px 0}\n  .pl-seg{display:flex;gap:8px;flex-wrap:wrap}\n  .pl-pill{flex:1 1 120px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed rgba(63,57,160,.35);padding:10px 12px;border-radius:14px;background:#fff;cursor:pointer;transition:.22s ease}\n  .pl-pill i{font-size:18px}\n  .pl-pill.active{background:linear-gradient(180deg,#fff,rgba(150,154,255,.12));border:1px solid var(--pl-accent);box-shadow:0 6px 16px rgba(150,154,255,.3)}\n\n  .pl-cta{display:flex;align-items:center;gap:10px;justify-content:center;background:linear-gradient(135deg,var(--pl-primary),var(--pl-accent));color:#fff;border:none;width:100%;padding:14px;border-radius:16px;font-weight:800;letter-spacing:.2px;cursor:pointer;transition:.2s transform}\n  .pl-cta i{font-size:20px}\n  .pl-cta:hover{transform:translateY(-1px)}\n\n  .pl-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}\n  .pl-download{display:inline-flex;align-items:center;gap:10px;justify-content:center;background:#fff;color:var(--pl-primary);border:1px solid var(--pl-accent);width:100%;padding:12px;border-radius:14px;font-weight:800;letter-spacing:.1px;cursor:pointer;transition:.2s ease}\n  .pl-download:disabled{opacity:.5;cursor:not-allowed}\n\n  .pl-result{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}\n  @media (max-width:680px){.pl-result{grid-template-columns:1fr}}\n  .pl-kpi{background:#fff;border:1px solid #ecebfd;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:6px}\n  .pl-kpi .k{font-size:.8rem;color:var(--pl-muted)}\n  .pl-kpi .v{font-size:1.3rem;font-weight:800}\n  .pl-delta.positive{color:var(--pl-success)} .pl-delta.negative{color:var(--pl-danger)}\n  .pl-note{font-size:.86rem;color:var(--pl-muted)}\n\n  .pl-products h3{display:flex;align-items:center;gap:10px;margin:0 0 10px 0;font-size:1rem}\n  .pl-products h3 i{color:var(--pl-primary)}\n  .pl-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}\n  @media (max-width:520px){.pl-row{grid-template-columns:1fr}}\n  .pl-p{background:#fff;border:1px solid #edf;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:.25s box-shadow}\n  .pl-p:hover{box-shadow:0 10px 24px rgba(63,57,160,.18)}\n  .pl-thumb{aspect-ratio:1\/1;background:#f6f6ff;display:grid;place-items:center;overflow:hidden}\n  .pl-thumb img{width:100%;height:100%;object-fit:cover}\n  .pl-body{padding:10px 12px;display:flex;flex-direction:column;gap:6px}\n  .pl-price{font-weight:800;color:var(--pl-primary);font-size:.98rem}\n  .pl-name{font-size:.92rem;line-height:1.2}\n  .pl-open{margin-top:auto;display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--pl-accent);border-radius:12px;color:var(--pl-primary);font-weight:700;text-decoration:none}\n  .pl-skel{height:150px;background:linear-gradient(90deg,#f2f2ff,#fbfbff,#f2f2ff);background-size:200% 100%;animation:plShine 1.1s linear infinite;border-radius:14px}\n  @keyframes plShine{to{background-position:-200% 0}}\n  .pl-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(150,154,255,.18);border:1px solid rgba(150,154,255,.5);color:var(--pl-primary);font-weight:700;border-radius:999px;padding:6px 10px}\n  .pl-foot{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:6px}\n<\/style>\n\n<!-- MINI-APP: Calculadora de Peso Ideal + Reporte PDF + Recomendaciones -->\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/@phosphor-icons\/web@2.1.2\/src\/regular\/style.css\">\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/jspdf@2.5.2\/dist\/jspdf.umd.min.js\"><\/script>\n\n<div class=\"pl-miniapp\">\n  <div class=\"pl-wrap\">\n    <div class=\"pl-header\">\n      <span class=\"pl-ico\"><i class=\"ph ph-heartbeat\"><\/i><\/span>\n      <div>\n        <h3 class=\"pl-title\">Calculadora de Peso Ideal<\/h3>\n        <p class=\"pl-sub\">Ingresa tus datos y obt\u00e9n recomendaciones personalizadas.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"pl-grid\">\n      <!-- Columna: Formulario -->\n      <section class=\"pl-card\" aria-label=\"Formulario de la calculadora\">\n        <div class=\"pl-fields\">\n          <div class=\"pl-field\">\n            <label class=\"pl-label\"><i class=\"ph ph-identification-card\"><\/i> Nombre<\/label>\n            <div class=\"pl-input\">\n              <i class=\"ph ph-identification-card\"><\/i>\n              <input id=\"pl-name\" type=\"text\" placeholder=\"Ej.: Juan P\u00e9rez\" maxlength=\"60\" aria-label=\"Tu nombre\">\n            <\/div>\n          <\/div>\n          <div class=\"pl-field\">\n            <label class=\"pl-label\"><i class=\"ph ph-scales\"><\/i> Peso actual<\/label>\n            <div class=\"pl-input\">\n              <i class=\"ph ph-scales\"><\/i>\n              <input id=\"pl-weight\" type=\"number\" min=\"20\" max=\"400\" step=\"0.1\" placeholder=\"Ej.: 85\" inputmode=\"decimal\" aria-label=\"Peso en kilogramos\">\n              <span class=\"pl-suffix\">kg<\/span>\n            <\/div>\n          <\/div>\n          <div class=\"pl-field\">\n            <label class=\"pl-label\"><i class=\"ph ph-ruler\"><\/i> Estatura<\/label>\n            <div class=\"pl-input\">\n              <i class=\"ph ph-ruler\"><\/i>\n              <input id=\"pl-height\" type=\"number\" min=\"120\" max=\"230\" step=\"0.1\" placeholder=\"Ej.: 175\" inputmode=\"decimal\" aria-label=\"Estatura en cent\u00edmetros\">\n              <span class=\"pl-suffix\">cm<\/span>\n            <\/div>\n          <\/div>\n          <div class=\"pl-field\">\n            <label class=\"pl-label\"><i class=\"ph ph-cake\"><\/i> Edad<\/label>\n            <div class=\"pl-input\">\n              <i class=\"ph ph-cake\"><\/i>\n              <input id=\"pl-age\" type=\"number\" min=\"14\" max=\"100\" step=\"1\" placeholder=\"Ej.: 34\" aria-label=\"Edad en a\u00f1os\">\n              <span class=\"pl-suffix\">a\u00f1os<\/span>\n            <\/div>\n          <\/div>\n          <div class=\"pl-field\">\n            <label class=\"pl-label\"><i class=\"ph ph-user\"><\/i> Sexo<\/label>\n            <div class=\"pl-seg\" role=\"tablist\" aria-label=\"Seleccionar sexo\">\n              <button class=\"pl-pill active\" data-gender=\"m\" role=\"tab\" aria-selected=\"true\"><i class=\"ph ph-gender-male\"><\/i> Masculino<\/button>\n              <button class=\"pl-pill\" data-gender=\"f\" role=\"tab\" aria-selected=\"false\"><i class=\"ph ph-gender-female\"><\/i> Femenino<\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"pl-sep\"><\/div>\n        <div class=\"pl-actions\">\n          <button id=\"pl-calc\" class=\"pl-cta\" style=\"flex:1\"><i class=\"ph ph-magic-wand\"><\/i> Calcular<\/button>\n          <button id=\"pl-pdf\" class=\"pl-download\" style=\"flex:1\" disabled><i class=\"ph ph-file-pdf\"><\/i> Descargar reporte de salud (PDF)<\/button>\n        <\/div>\n        <p class=\"pl-note\" style=\"margin-top:10px\">\n          Usamos un <strong>IMC objetivo de 22<\/strong> para estimar el \u201cpeso ideal\u201d y mostrar un rango saludable (18.5\u201324.9). Esta herramienta es orientativa y no sustituye el consejo m\u00e9dico.\n        <\/p>\n      <\/section>\n\n      <!-- Columna: Resultados + Productos -->\n      <section class=\"pl-card\" aria-live=\"polite\">\n        <div class=\"pl-result\" id=\"pl-result\" hidden>\n          <div class=\"pl-kpi\">\n            <span class=\"k\">Peso ideal (IMC 22)<\/span>\n            <span class=\"v\" id=\"pl-ideal\">\u2013 kg<\/span>\n            <span class=\"k\">Rango saludable<\/span>\n            <span class=\"v\" id=\"pl-range\">\u2013 kg<\/span>\n          <\/div>\n          <div class=\"pl-kpi\">\n            <span class=\"k\">Tu IMC<\/span>\n            <span class=\"v\" id=\"pl-bmi\">\u2013<\/span>\n            <span class=\"k\">Objetivo vs. actual<\/span>\n            <span class=\"v pl-delta\" id=\"pl-delta\">\u2013<\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"pl-sep\"><\/div>\n\n        <div class=\"pl-products\">\n          <h3><i class=\"ph ph-shopping-bag\"><\/i> Recomendado para ti<\/h3>\n          <div class=\"pl-row\" id=\"pl-prods\">\n            <div class=\"pl-skel\"><\/div><div class=\"pl-skel\"><\/div>\n          <\/div>\n          <div class=\"pl-foot\">\n            <span class=\"pl-badge\"><i class=\"ph ph-lightning\"><\/i> Se actualiza en cada c\u00e1lculo<\/span>\n            <a href=\"\/shop\/\" class=\"pl-open\" aria-label=\"Abrir tienda completa\"><i class=\"ph ph-storefront\"><\/i> Ver tienda<\/a>\n          <\/div>\n        <\/div>\n      <\/section>\n    <\/div>\n  <\/div>\n<\/div>\n<script>\n(function(){\n  const $ = s=>document.querySelector(s);\n  const $$ = s=>document.querySelectorAll(s);\n  const el = {\n    name:   $('#pl-name'),\n    weight: $('#pl-weight'),\n    height: $('#pl-height'),\n    age:    $('#pl-age'),\n    pills:  $$('.pl-pill'),\n    calc:   $('#pl-calc'),\n    pdf:    $('#pl-pdf'),\n    result: $('#pl-result'),\n    ideal:  $('#pl-ideal'),\n    range:  $('#pl-range'),\n    bmi:    $('#pl-bmi'),\n    delta:  $('#pl-delta'),\n    prods:  $('#pl-prods')\n  };\n  let gender = 'm';\n  let cache = null; \/\/ guarda \u00faltimos resultados para el PDF\n\n  \/\/ Toggle pills\n  el.pills.forEach(b=>{\n    b.addEventListener('click',()=>{\n      el.pills.forEach(x=>{x.classList.remove('active');x.setAttribute('aria-selected','false')});\n      b.classList.add('active');b.setAttribute('aria-selected','true');\n      gender = b.dataset.gender;\n    });\n  });\n\n  function formatDateEN(d=new Date()){\n    return d.toLocaleDateString('en-US',{weekday:'long', year:'numeric', month:'long', day:'numeric'});\n  }\n\n  \/\/ Core calc (BMI target 22)\n  function calc(){\n    const name = (el.name.value || '').trim();\n    const w = parseFloat(el.weight.value);\n    const hcm = parseFloat(el.height.value);\n    const age = parseInt(el.age.value,10);\n\n    if(!w || !hcm || !age || hcm < 80 || hcm > 260 || age < 14 || age > 100){\n      el.result.hidden = true;\n      el.pdf.disabled = true;\n      return;\n    }\n\n    const m = hcm \/ 100;\n    const bmi = w \/ (m*m);\n    const ideal = 22 * (m*m);\n    const minW = 18.5 * (m*m);\n    const maxW = 24.9 * (m*m);\n    const delta = ideal - w;\n    const deltaClass = delta>=0 ? 'positive' : 'negative';\n\n    el.ideal.textContent = ideal.toFixed(1) + ' kg';\n    el.range.textContent = minW.toFixed(1) + ' \u2013 ' + maxW.toFixed(1) + ' kg';\n    el.bmi.textContent = bmi.toFixed(1);\n\n    \/\/ Correct Lose\/Gain\n    el.delta.textContent = (delta>0 ? 'Gain ' : 'Lose ') + Math.abs(delta).toFixed(1) + ' kg';\n    el.delta.classList.remove('positive','negative');\n    el.delta.classList.add(deltaClass);\n\n    el.result.hidden = false;\n    el.pdf.disabled = false;\n\n    cache = {\n      name, weight:w, height:hcm, age, sex: (gender==='m'?'Male':'Female'),\n      bmi: bmi.toFixed(1),\n      ideal: ideal.toFixed(1),\n      range: `${minW.toFixed(1)} \u2013 ${maxW.toFixed(1)}`,\n      deltaTxt: (delta>0 ? 'Gain ' : 'Lose ') + Math.abs(delta).toFixed(1) + ' kg',\n      deltaSign: delta>=0 ? 'positive' : 'negative',\n      date: formatDateEN()\n    };\n\n    \/\/ Refresh recommendations every time\n    loadProducts(true);\n  }\n\n  el.calc.addEventListener('click', ()=>{\n    calc();\n    el.calc.animate(\n      [{transform:'translateY(0)'},{transform:'translateY(-2px)'},{transform:'translateY(0)'}],\n      {duration:240,easing:'ease-out'}\n    );\n  });\n\n  \/\/ Create PDF\n  async function toDataURL(url){\n    \/\/ intenta convertir imagen a base64 (puede requerir CORS permitido; el logo est\u00e1 en tu dominio)\n    const res = await fetch(url, {mode:'cors'});\n    const blob = await res.blob();\n    return await new Promise((resolve)=>{\n      const reader = new FileReader();\n      reader.onloadend = ()=>resolve(reader.result);\n      reader.readAsDataURL(blob);\n    });\n  }\n\n  async function generatePDF(){\n    if(!cache){ return; }\n    const { jsPDF } = window.jspdf;\n    const doc = new jsPDF({ unit:'pt', format:'a4' });\n\n    const primary = [63,57,160];   \/\/ #3F39A0\n    const accent  = [150,154,255]; \/\/ #969AFF\n    const text    = [15,18,38];\n\n    \/\/ Header band\n    doc.setFillColor(245,246,255);\n    doc.rect(0,0,595,120,'F');\n\n    \/\/ Logo\n    try{\n      const logo = await toDataURL('https:\/\/peptilife.co\/wp-content\/uploads\/2025\/09\/peptilife.png');\n      doc.addImage(logo, 'PNG', 40, 28, 140, 40);\n    }catch(e){\n      \/\/ fallback: text\n      doc.setTextColor(primary[0],primary[1],primary[2]);\n      doc.setFont('helvetica','bold'); doc.setFontSize(20);\n      doc.text('PeptiLife', 40, 55);\n    }\n\n    \/\/ Title + date\n    doc.setTextColor(text[0],text[1],text[2]);\n    doc.setFont('helvetica','bold'); doc.setFontSize(22);\n    doc.text('Health Report', 40, 100);\n    doc.setFont('helvetica','normal'); doc.setFontSize(11);\n    doc.setTextColor(105,110,154);\n    doc.text(formatDateEN(new Date()), 480, 100, {align:'right'});\n\n    \/\/ Card: Client info\n    const cardX = 40, cardY = 140, cardW = 515, cardH = 88;\n    doc.setDrawColor(accent[0],accent[1],accent[2]);\n    doc.setFillColor(255,255,255);\n    doc.roundedRect(cardX, cardY, cardW, cardH, 12, 12, 'FD');\n\n    doc.setFont('helvetica','bold'); doc.setFontSize(12);\n    doc.setTextColor(text[0],text[1],text[2]);\n    doc.text('Client', cardX+16, cardY+22);\n    doc.setFont('helvetica','normal'); doc.setTextColor(105,110,154);\n    doc.text(`Name: ${cache.name || '\u2014'}`, cardX+16, cardY+44);\n    doc.text(`Age: ${cache.age} yrs`, cardX+200, cardY+44);\n    doc.text(`Sex: ${cache.sex}`, cardX+320, cardY+44);\n    doc.text(`Height: ${cache.height} cm    Weight: ${cache.weight} kg`, cardX+16, cardY+66);\n\n    \/\/ Two KPI cards\n    const kY = cardY + cardH + 20;\n    const kW = (cardW - 12)\/2;\n    const k1X = cardX, k2X = cardX + kW + 12;\n\n    function kpi(x,y,w,title,rows,color){\n      doc.setDrawColor(accent[0],accent[1],accent[2]);\n      doc.roundedRect(x,y,w,120,12,12,'S');\n      doc.setFont('helvetica','bold'); doc.setFontSize(12);\n      doc.setTextColor(105,110,154);\n      doc.text(title, x+16, y+22);\n      doc.setFont('helvetica','bold'); doc.setFontSize(22);\n      doc.setTextColor(text[0],text[1],text[2]);\n      doc.text(rows[0], x+16, y+54);\n      doc.setFont('helvetica','bold'); doc.setFontSize(12);\n      doc.setTextColor(105,110,154);\n      doc.text(rows[1].label, x+16, y+80);\n      doc.setFont('helvetica','bold'); doc.setFontSize(16);\n      doc.setTextColor(color[0],color[1],color[2]);\n      doc.text(rows[1].value, x+16, y+104);\n    }\n\n    kpi(k1X, kY, kW, 'Ideal weight (BMI 22)', [\n      `${cache.ideal} kg`,\n      {label:'Healthy range', value: cache.range}\n    ], primary);\n\n    const deltaColor = cache.deltaSign==='positive' ? [27,191,114] : [255,90,122];\n    kpi(k2X, kY, kW, 'Your BMI', [\n      `${cache.bmi}`,\n      {label:'Goal vs. current', value: cache.deltaTxt}\n    ], deltaColor);\n\n    \/\/ Footer note\n    doc.setFont('helvetica','normal'); doc.setFontSize(9);\n    doc.setTextColor(120,124,160);\n    doc.text(\n      'This report is informational only and does not replace professional medical advice. Target and ranges are estimated using BMI.',\n      40, 520\n    );\n\n    \/\/ Save\n    const safeName = (cache.name||'Guest').replace(\/[^a-z0-9\\-_\\s]\/gi,'').trim().replace(\/\\s+\/g,'_');\n    const file = `Health-Report-${safeName || 'PeptiLife'}-${new Date().toISOString().slice(0,10)}.pdf`;\n    doc.save(file);\n  }\n\n  el.pdf.addEventListener('click', async ()=>{\n    el.pdf.disabled = true;\n    try{ await generatePDF(); } finally { el.pdf.disabled = false; }\n  });\n\n  \/\/ Products (pick 2 random from latest)\n  async function loadProducts(refresh=false){\n    try{\n      if(refresh){\n        el.prods.innerHTML = '<div class=\"pl-skel\"><\/div><div class=\"pl-skel\"><\/div>';\n      }\n      const base = window.location.origin;\n      const url = `${base}\/wp-json\/wc\/store\/products?orderby=date&per_page=12&_=${Date.now()}`;\n      const res = await fetch(url, {credentials:'same-origin'});\n      if(!res.ok) throw new Error('HTTP '+res.status);\n      const items = await res.json();\n      if(!Array.isArray(items) || !items.length){\n        el.prods.innerHTML = '<p class=\"pl-note\">No products available.<\/p>'; \n        return;\n      }\n      const shuffled = items.sort(()=>Math.random()-0.5).slice(0,2);\n      el.prods.innerHTML = shuffled.map(p=>{\n        const img = (p.images && p.images[0] && p.images[0].src) ? p.images[0].src : '';\n        const price = (p.prices && p.prices.price!=null)\n          ? (p.prices.currency_prefix||'') + (p.prices.price\/100).toFixed(2) + (p.prices.currency_suffix||'')\n          : '';\n        const url = p.permalink || '#';\n        const name = p.name || 'Product';\n        return `\n          <article class=\"pl-p\">\n            <div class=\"pl-thumb\">${img?`<img decoding=\"async\" alt=\"${name}\" src=\"${img}\" loading=\"lazy\">`:'<i class=\"ph ph-image\"><\/i>'}<\/div>\n            <div class=\"pl-body\">\n              <div class=\"pl-name\">${name}<\/div>\n              <div class=\"pl-price\">${price}<\/div>\n              <a class=\"pl-open\" href=\"${url}\" aria-label=\"Open ${name}\"><i class=\"ph ph-arrow-up-right\"><\/i> View<\/a>\n            <\/div>\n          <\/article>\n        `;\n      }).join('');\n    }catch(e){\n      console.error(e);\n      el.prods.innerHTML = '<p class=\"pl-note\">Recommendations are not available right now.<\/p>';\n    }\n  }\n\n  \/\/ Initial load\n  loadProducts();\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Calculadora de Peso Ideal Ingresa tus datos y obt\u00e9n recomendaciones personalizadas. Nombre Peso actual kg Estatura cm Edad a\u00f1os Sexo Masculino Femenino Calcular Descargar reporte de salud (PDF) Usamos un IMC objetivo de 22 para estimar el \u201cpeso ideal\u201d y mostrar un rango saludable (18.5\u201324.9). Esta herramienta es orientativa y no sustituye el consejo m\u00e9dico. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-1548","page","type-page","status-publish","hentry"],"acf":[],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/peptilife.co\/es\/wp-json\/wp\/v2\/pages\/1548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/peptilife.co\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/peptilife.co\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/peptilife.co\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/peptilife.co\/es\/wp-json\/wp\/v2\/comments?post=1548"}],"version-history":[{"count":13,"href":"https:\/\/peptilife.co\/es\/wp-json\/wp\/v2\/pages\/1548\/revisions"}],"predecessor-version":[{"id":2053,"href":"https:\/\/peptilife.co\/es\/wp-json\/wp\/v2\/pages\/1548\/revisions\/2053"}],"wp:attachment":[{"href":"https:\/\/peptilife.co\/es\/wp-json\/wp\/v2\/media?parent=1548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}