{"id":983,"date":"2026-07-06T06:54:09","date_gmt":"2026-07-06T06:54:09","guid":{"rendered":"https:\/\/pedalmoto.com\/blog\/?p=983"},"modified":"2026-08-03T07:11:18","modified_gmt":"2026-08-03T07:11:18","slug":"calculadora-de-autonomia-real-de-e-bike","status":"publish","type":"post","link":"https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/","title":{"rendered":"Calculadora de autonom\u00eda real de e-bike"},"content":{"rendered":"\n<section class=\"pm-ebike\" id=\"pm-ebike\">\n  <style>\n\n  .pm-ebike{\n    --pm-brand:        var(--brand, #009AEF);\n    --pm-brand-dark:   var(--brand-dark, #0f99e9);\n    --pm-brand-light:  var(--brand-light, #33B6FF);\n    --pm-ink:          var(--dark, #232323);\n    --pm-ink-soft:     var(--dark-light, #525356);\n    --pm-line:         var(--border-color, #ededed);\n    --pm-input-line:   var(--input-border-color, #cdcdcd);\n    --pm-tint:         var(--neutral-light, #eef9ff);\n    --pm-tint-strong:  var(--neutral, #CAECFF);\n    --pm-tint-soft:    var(--neutral-base, #F6FCFF);\n    --pm-hl:           var(--highlight, rgba(228,255,170,.6));\n    --pm-r:            var(--border-radius-sm, 8px);\n    --pm-pill:         100px;\n    --pm-skew:         var(--degreesNeg, skew(-9deg));\n    --pm-unskew:       var(--degreesPos, skew(9deg));\n    --pm-bold:         var(--font-weight-bold, 700);\n    --pm-light:        var(--font-weight-light, 300);\n    --pm-title:        var(--font-family-title, 'Archivo Black', sans-serif);\n\n    font-family: var(--font-family-base, 'Geist', sans-serif);\n    font-weight: 400;\n    line-height: 1.55;\n    color: var(--pm-ink);\n    display: block;\n    max-width: 1120px;\n    margin: 0 auto;\n    box-sizing: border-box;\n    -webkit-font-smoothing: antialiased;\n  }\n  .pm-ebike *,.pm-ebike *::before,.pm-ebike *::after{box-sizing:border-box;}\n  .pm-ebike h2,.pm-ebike h3,.pm-ebike h4,.pm-ebike p,.pm-ebike ul,.pm-ebike li{margin:0;}\n  .pm-ebike ul{list-style:none;padding:0;}\n  .pm-ebike h2,.pm-ebike h3,.pm-ebike h4{\n    font-family:var(--pm-title);font-weight:400;\n    letter-spacing:var(--letter-spacing-headings,-.01em);line-height:1.15;\n  }\n  .pm-ebike b,.pm-ebike strong{font-weight:var(--pm-bold);}\n  .pm-ebike a{color:var(--pm-brand-dark);}\n  .pm-ebike .icon{line-height:1;}\n  .pm-ebike a:focus-visible,.pm-ebike button:focus-visible{outline:2px solid var(--pm-brand);outline-offset:2px;}\n  @media(prefers-reduced-motion:reduce){.pm-ebike *{transition:none !important;}}\n\n  .pm-ebike .pm-intro{\n    font-weight:var(--pm-light);font-size:1.0625rem;margin-bottom:24px;text-wrap:pretty;\n  }\n\n  .pm-ebike .pm-grid{display:grid;grid-template-columns:1fr;gap:24px;}\n  @media(min-width:960px){\n    .pm-ebike .pm-grid{grid-template-columns:1fr minmax(320px,380px);align-items:start;}\n    .pm-ebike .pm-results{position:sticky;top:16px;}\n  }\n\n  .pm-ebike .pm-stepper{display:none;flex-wrap:wrap;gap:9px;margin-bottom:20px;}\n  .pm-ebike[data-js] .pm-stepper{display:flex;}\n  .pm-ebike .pm-stepper button{\n    transform:var(--pm-skew);background:var(--pm-tint);color:var(--pm-ink);\n    border:0;cursor:pointer;padding:.5rem 1.25rem;font-family:inherit;\n    font-size:.8125rem;font-weight:var(--pm-bold);\n    transition:background-color .15s,color .15s;\n  }\n  .pm-ebike .pm-stepper button > span{display:flex;align-items:center;gap:8px;transform:var(--pm-unskew);}\n  .pm-ebike .pm-stepper button .n{\n    font-family:var(--pm-title);font-size:1rem;color:var(--pm-brand);line-height:1;\n  }\n  .pm-ebike .pm-stepper button:hover{background:var(--pm-hl);}\n  .pm-ebike .pm-stepper button[aria-current=\"step\"]{background:var(--pm-brand);color:#fff;}\n  .pm-ebike .pm-stepper button[aria-current=\"step\"] .n{color:#fff;}\n  .pm-ebike .pm-stepper button.done{background:var(--pm-tint-strong);}\n\n  .pm-ebike .pm-stepp{\n    background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-r);padding:22px;\n  }\n  .pm-ebike .pm-stepp + .pm-stepp{margin-top:16px;}\n  .pm-ebike[data-js] .pm-stepp{margin-top:0;}\n  .pm-ebike[data-js] .pm-stepp[hidden]{display:none;}\n  .pm-ebike .pm-stepp-h{\n    display:flex;align-items:center;gap:10px;\n    margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--pm-line);\n  }\n  .pm-ebike .pm-stepp-h .icon{font-size:1.75rem;opacity:.8;}\n  .pm-ebike .pm-stepp-h h3{font-size:1.125rem;outline:none;}\n  .pm-ebike .pm-stepp-h .of{\n    margin-left:auto;font-size:.75rem;font-weight:var(--pm-bold);\n    text-transform:uppercase;letter-spacing:var(--letter-spacing-small,.03em);\n    color:var(--pm-ink-soft);white-space:nowrap;flex:0 0 auto;\n  }\n  .pm-ebike .pm-stepp-h h3{margin-right:8px;}\n\n  .pm-ebike .pm-field + .pm-field{margin-top:22px;}\n  .pm-ebike .pm-label{\n    display:block;font-size:.8125rem;font-weight:var(--pm-bold);\n    text-transform:uppercase;letter-spacing:var(--letter-spacing-small,.03em);\n    color:var(--pm-ink);margin-bottom:9px;\n  }\n  .pm-ebike .pm-hint{\n    font-size:.8125rem;color:var(--pm-ink-soft);font-weight:var(--pm-light);margin-top:8px;\n  }\n\n  .pm-ebike .pm-live{\n    display:flex;align-items:flex-start;gap:9px;\n    margin-top:10px;padding:9px 11px;border-radius:var(--pm-r);\n    font-size:.8125rem;font-weight:var(--pm-light);line-height:1.45;\n    color:var(--pm-ink);background:var(--pm-tint-soft);\n    border-left:3px solid var(--pm-brand);\n  }\n  .pm-ebike .pm-live .icon{font-size:1.0625rem;color:var(--pm-brand);margin-top:1px;}\n  .pm-ebike .pm-live.on{animation:pmFlash 1.4s ease-out 1;}\n  @keyframes pmFlash{\n    0%{background:var(--pm-hl);}\n    35%{background:var(--pm-hl);}\n    100%{background:var(--pm-tint-soft);}\n  }\n  @media(prefers-reduced-motion:reduce){\n    .pm-ebike .pm-live.on{animation:none;}\n  }\n\n  .pm-ebike .pm-pen{\n    display:inline-block;margin-top:6px;\n    background:var(--pm-brand);color:#fff;border-radius:var(--pm-pill);\n    font-size:.6875rem;font-weight:var(--pm-bold);text-transform:uppercase;\n    letter-spacing:var(--letter-spacing-small,.03em);padding:2px 10px;\n  }\n  .pm-ebike .pm-pen[hidden]{display:none;}\n  .pm-ebike input[type=number]{\n    width:100%;padding:10px 12px;font-size:1rem;font-family:inherit;font-weight:400;\n    color:var(--pm-ink);background:#fff;border:1px solid var(--pm-input-line);\n    border-radius:var(--pm-r);outline:none;-webkit-appearance:none;appearance:none;\n    transition:border-color .15s,box-shadow .15s;\n  }\n  .pm-ebike input[type=number]:focus{\n    border-color:var(--pm-brand);box-shadow:0 0 0 3px rgba(0,154,239,.18);\n  }\n  .pm-ebike .pm-sub{margin-top:12px;}\n  .pm-ebike .pm-sub[hidden]{display:none;}\n\n  .pm-ebike .pm-seg{display:flex;flex-wrap:wrap;gap:9px;position:relative;}\n  .pm-ebike .pm-seg input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}\n  .pm-ebike .pm-seg label{\n    transform:var(--pm-skew);background:var(--pm-tint);color:var(--pm-ink);\n    padding:.45rem 1.15rem;font-size:.8125rem;font-weight:var(--pm-bold);\n    cursor:pointer;-webkit-user-select:none;user-select:none;\n    transition:background-color .15s,color .15s;\n  }\n  .pm-ebike .pm-seg label > span{display:block;transform:var(--pm-unskew);}\n  .pm-ebike .pm-seg label:hover{background:var(--pm-hl);}\n  .pm-ebike .pm-seg input:checked + label{background:var(--pm-brand);color:#fff;}\n  .pm-ebike .pm-seg input:checked + label:hover{background:var(--pm-brand-dark);}\n  .pm-ebike .pm-seg input:focus-visible + label{outline:2px solid var(--pm-brand);outline-offset:3px;}\n\n  .pm-ebike .pm-seg.two label > span{display:block;text-align:left;}\n  .pm-ebike .pm-seg.two .km{\n    display:block;font-weight:var(--pm-light);font-size:.75rem;\n    opacity:.75;margin-top:2px;font-variant-numeric:tabular-nums;\n  }\n\n  .pm-ebike .pm-slider-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;}\n  .pm-ebike .pm-slider-h .pm-label{margin-bottom:0;}\n  .pm-ebike .pm-slider-v{\n    font-family:var(--pm-title);font-size:1.0625rem;color:var(--pm-brand);font-variant-numeric:tabular-nums;\n  }\n  .pm-ebike input[type=range]{\n    width:100%;-webkit-appearance:none;appearance:none;\n    height:6px;border-radius:var(--pm-pill);background:var(--pm-tint-strong);outline:none;\n  }\n  .pm-ebike input[type=range]::-webkit-slider-thumb{\n    -webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;\n    background:var(--pm-brand);border:4px solid #fff;box-shadow:0 0 0 1px var(--pm-input-line);cursor:pointer;\n  }\n  .pm-ebike input[type=range]::-moz-range-thumb{\n    width:18px;height:18px;border-radius:50%;\n    background:var(--pm-brand);border:4px solid #fff;box-shadow:0 0 0 1px var(--pm-input-line);cursor:pointer;\n  }\n  .pm-ebike input[type=range]:focus-visible{outline:2px solid var(--pm-brand);outline-offset:4px;}\n  .pm-ebike .pm-check{\n    display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9375rem;font-weight:var(--pm-bold);\n  }\n  .pm-ebike .pm-check input{width:20px;height:20px;accent-color:var(--pm-brand);cursor:pointer;}\n\n  .pm-ebike .pm-link{\n    background:none;border:0;padding:0;margin-top:10px;cursor:pointer;\n    font-family:inherit;font-size:.8125rem;font-weight:var(--pm-bold);\n    color:var(--pm-brand-dark);text-decoration:underline;\n  }\n\n  .pm-ebike .pm-fine{\n    margin-top:16px;background:var(--pm-tint-soft);\n    border:1px solid var(--pm-line);border-radius:var(--pm-r);overflow:hidden;\n  }\n  .pm-ebike .pm-fine-t{\n    width:100%;background:none;border:0;cursor:pointer;font-family:inherit;\n    display:flex;align-items:center;gap:12px;padding:16px 18px;text-align:left;\n  }\n  .pm-ebike .pm-fine-t:hover{background:var(--pm-tint);}\n  .pm-ebike .pm-fine-t .icon{font-size:1.5rem;color:var(--pm-brand);transition:transform .2s;}\n  .pm-ebike .pm-fine-t[aria-expanded=\"true\"] .icon{transform:rotate(180deg);}\n  .pm-ebike .pm-fine-t .tt{font-size:.9375rem;font-weight:var(--pm-bold);display:block;}\n  .pm-ebike .pm-fine-t .ss{\n    font-size:.8125rem;font-weight:var(--pm-light);color:var(--pm-ink-soft);display:block;margin-top:2px;\n  }\n  .pm-ebike .pm-fine-b{padding:0 18px 20px;}\n  .pm-ebike .pm-fine-b[hidden]{display:none;}\n  .pm-ebike .pm-fine-grid{display:grid;grid-template-columns:1fr;gap:20px;}\n  @media(min-width:560px){.pm-ebike .pm-fine-grid{grid-template-columns:1fr 1fr;}}\n  .pm-ebike .pm-fine-grid .pm-field{margin-top:0;}\n\n  .pm-ebike .pm-nav{display:none;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap;}\n  .pm-ebike[data-js] .pm-nav{display:flex;}\n  .pm-ebike .pm-btn{\n    display:inline-flex;align-items:center;gap:9px;text-decoration:none;border:0;\n    font-family:inherit;font-weight:var(--pm-bold);font-size:1.0625rem;\n    padding:11px 22px;border-radius:var(--pm-r);cursor:pointer;\n    transition:background-color .15s,box-shadow .15s;white-space:nowrap;\n  }\n  .pm-ebike .pm-btn .icon{font-size:1.25rem;}\n  .pm-ebike .pm-btn.brand{background:var(--pm-brand);color:#fff;}\n  .pm-ebike .pm-btn.brand:hover{background:var(--pm-brand-dark);color:#fff;}\n  .pm-ebike .pm-btn.ghost{background:#fff;color:var(--pm-ink);box-shadow:inset 0 0 0 1px var(--pm-input-line);}\n  .pm-ebike .pm-btn.ghost:hover{background:var(--pm-tint);}\n  .pm-ebike .pm-btn[hidden]{display:none;}\n  .pm-ebike .pm-reset{\n    margin-left:auto;background:none;border:0;cursor:pointer;font-family:inherit;\n    font-size:.8125rem;color:var(--pm-ink-soft);text-decoration:underline;\n  }\n\n  .pm-ebike .pm-out{\n    background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-r);padding:24px;\n  }\n  .pm-ebike .pm-out-label{\n    display:block;font-size:.8125rem;font-weight:var(--pm-bold);\n    text-transform:uppercase;letter-spacing:var(--letter-spacing-small,.03em);\n    color:var(--pm-ink-soft);margin-bottom:6px;\n  }\n  .pm-ebike .pm-figure{\n    font-family:var(--pm-title);font-size:clamp(2.8rem,1.8rem + 5vw,4.25rem);\n    line-height:.95;letter-spacing:-.02em;display:inline-block;\n  }\n  .pm-ebike .pm-mark{background:linear-gradient(to top,var(--pm-hl) 32%,transparent 32%);padding:0 .08em;}\n  .pm-ebike .pm-figure .u{font-size:.42em;letter-spacing:0;}\n  .pm-ebike .pm-out-sub{margin-top:12px;font-size:1rem;font-weight:var(--pm-light);}\n  .pm-ebike .pm-band{\n    display:inline-flex;align-items:center;gap:8px;margin-top:14px;\n    background:var(--pm-tint);border-radius:var(--pm-pill);padding:8px 16px;font-size:.9375rem;\n  }\n  .pm-ebike .pm-band .icon{font-size:1.125rem;color:var(--pm-brand);}\n  .pm-ebike .pm-band b{font-variant-numeric:tabular-nums;}\n\n  .pm-ebike .pm-spec{\n    display:grid;grid-template-columns:1fr;gap:2px;margin-top:16px;\n    background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-r);padding:8px;\n  }\n  .pm-ebike .pm-spec li{\n    display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;\n    padding:11px 12px;font-size:.9375rem;font-weight:var(--pm-light);\n  }\n  .pm-ebike .pm-spec li .icon{font-size:1.625rem;opacity:.8;}\n  .pm-ebike .pm-spec li b{\n    display:block;font-size:.75rem;text-transform:uppercase;\n    letter-spacing:var(--letter-spacing-small,.03em);color:var(--pm-ink-soft);\n  }\n  .pm-ebike .pm-spec li span > span{font-variant-numeric:tabular-nums;}\n\n  .pm-ebike .pm-bars{margin-top:16px;background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-r);padding:20px;}\n  .pm-ebike .pm-bars h4{font-size:.9375rem;margin-bottom:16px;}\n  .pm-ebike .pm-bar + .pm-bar{margin-top:14px;}\n  .pm-ebike .pm-bar-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.875rem;margin-bottom:6px;}\n  .pm-ebike .pm-bar-h .v{font-variant-numeric:tabular-nums;color:var(--pm-ink-soft);font-weight:var(--pm-light);}\n  .pm-ebike .pm-bar-t{height:10px;border-radius:var(--pm-pill);background:var(--pm-tint);overflow:hidden;}\n  .pm-ebike .pm-bar-f{height:100%;border-radius:var(--pm-pill);width:0;transition:width .4s cubic-bezier(.4,0,.2,1);}\n\n  .pm-ebike .pm-next{\n    margin-top:16px;padding:22px;border-radius:var(--pm-r);background:var(--pm-tint);\n  }\n  .pm-ebike .pm-next h3{font-size:1.125rem;text-wrap:balance;}\n  .pm-ebike .pm-next p{font-size:.9375rem;font-weight:var(--pm-light);margin:8px 0 16px;}\n  .pm-ebike .pm-next .pm-btn{width:100%;justify-content:center;}\n\n  .pm-ebike .pm-foot{\n    margin-top:20px;padding-top:16px;border-top:1px solid var(--pm-line);\n    font-size:.8125rem;color:var(--pm-ink-soft);font-weight:var(--pm-light);\n  }\n\n  .pm-ebike .pm-mini{display:none;}\n  @media(max-width:959px){\n    .pm-ebike[data-js] .pm-mini{\n      display:flex;align-items:center;justify-content:space-between;gap:14px;\n      position:sticky;bottom:0;z-index:5;margin-top:16px;\n      background:var(--pm-ink);color:#fff;border-radius:var(--pm-r);padding:12px 18px;\n    }\n    .pm-ebike .pm-mini .lb{\n      font-size:.6875rem;font-weight:var(--pm-bold);text-transform:uppercase;\n      letter-spacing:var(--letter-spacing-small,.03em);opacity:.7;display:block;\n    }\n    .pm-ebike .pm-mini .vv{font-family:var(--pm-title);font-size:1.5rem;line-height:1.1;}\n    .pm-ebike .pm-mini .ex{font-size:.8125rem;font-weight:var(--pm-light);opacity:.85;text-align:right;}\n  }\n  <\/style>\n\n  <p class=\"pm-intro\">Tres preguntas r\u00e1pidas y te decimos cu\u00e1nto vas a rodar de verdad de la buena.\n  El resultado se actualiza <strong>desde la primera<\/strong>, as\u00ed que puedes ir probando.<\/p>\n\n  <div class=\"pm-grid\">\n\n    <div class=\"pm-wizard\">\n\n      <nav class=\"pm-stepper\" id=\"pm-stepper\" aria-label=\"Pasos de la calculadora\">\n        <button type=\"button\" data-go=\"0\"><span><span class=\"n\">1<\/span> Tu bici<\/span><\/button>\n        <button type=\"button\" data-go=\"1\"><span><span class=\"n\">2<\/span> Tu ruta<\/span><\/button>\n        <button type=\"button\" data-go=\"2\"><span><span class=\"n\">3<\/span> T\u00fa<\/span><\/button>\n      <\/nav>\n\n      <div class=\"pm-stepp\" data-step=\"0\" role=\"group\" aria-labelledby=\"st1-h\">\n        <div class=\"pm-stepp-h\">\n          <i class=\"icon icon-feature-15\" aria-hidden=\"true\"><\/i>\n          <h3 id=\"st1-h\" tabindex=\"-1\">Tu bici<\/h3>\n          <span class=\"of\">Paso 1 de 3<\/span>\n        <\/div>\n\n        <div class=\"pm-field\">\n          <span class=\"pm-label\" id=\"lbl-wh\">Capacidad de la bater\u00eda<\/span>\n          <div class=\"pm-seg\" role=\"radiogroup\" aria-labelledby=\"lbl-wh\">\n            <input type=\"radio\" name=\"pm-whpreset\" id=\"wh-400\" value=\"400\"><label for=\"wh-400\"><span>400 Wh<\/span><\/label>\n            <input type=\"radio\" name=\"pm-whpreset\" id=\"wh-500\" value=\"500\"><label for=\"wh-500\"><span>500 Wh<\/span><\/label>\n            <input type=\"radio\" name=\"pm-whpreset\" id=\"wh-625\" value=\"625\"><label for=\"wh-625\"><span>625 Wh<\/span><\/label>\n            <input type=\"radio\" name=\"pm-whpreset\" id=\"wh-750\" value=\"750\"><label for=\"wh-750\"><span>750 Wh<\/span><\/label>\n            <input type=\"radio\" name=\"pm-whpreset\" id=\"wh-800\" value=\"800\" checked><label for=\"wh-800\"><span>800 Wh<\/span><\/label>\n            <input type=\"radio\" name=\"pm-whpreset\" id=\"wh-otra\" value=\"custom\"><label for=\"wh-otra\"><span>Otra<\/span><\/label>\n          <\/div>\n          <div class=\"pm-sub\" id=\"pm-wh-wrap\" hidden>\n            <label class=\"pm-hint\" for=\"pm-wh\">Capacidad exacta en Wh<\/label>\n            <input type=\"number\" id=\"pm-wh\" value=\"800\" min=\"100\" max=\"1500\" step=\"25\">\n          <\/div>\n          <p class=\"pm-hint\">Va serigrafiada en la bater\u00eda o en la app del motor.<\/p>\n        <\/div>\n\n        <div class=\"pm-field\">\n          <span class=\"pm-label\" id=\"lbl-biketype\">Tipo de bicicleta<\/span>\n          <div class=\"pm-seg\" role=\"radiogroup\" aria-labelledby=\"lbl-biketype\">\n            <input type=\"radio\" name=\"pm-biketype\" id=\"bt-urbana\" value=\"urbana\"><label for=\"bt-urbana\"><span>Urbana<\/span><\/label>\n            <input type=\"radio\" name=\"pm-biketype\" id=\"bt-plegable\" value=\"plegable\"><label for=\"bt-plegable\"><span>Plegable<\/span><\/label>\n            <input type=\"radio\" name=\"pm-biketype\" id=\"bt-hibrida\" value=\"hibrida\"><label for=\"bt-hibrida\"><span>Trekking<\/span><\/label>\n            <input type=\"radio\" name=\"pm-biketype\" id=\"bt-emtb\" value=\"emtb\" checked><label for=\"bt-emtb\"><span>e-MTB<\/span><\/label>\n            <input type=\"radio\" name=\"pm-biketype\" id=\"bt-fat\" value=\"fat\"><label for=\"bt-fat\"><span>Fat<\/span><\/label>\n            <input type=\"radio\" name=\"pm-biketype\" id=\"bt-cargo\" value=\"cargo\"><label for=\"bt-cargo\"><span>Cargo<\/span><\/label>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"pm-stepp\" data-step=\"1\" role=\"group\" aria-labelledby=\"st2-h\">\n        <div class=\"pm-stepp-h\">\n          <i class=\"icon icon-mtb-1\" aria-hidden=\"true\"><\/i>\n          <h3 id=\"st2-h\" tabindex=\"-1\">Tu ruta<\/h3>\n          <span class=\"of\">Paso 2 de 3<\/span>\n        <\/div>\n\n        <div class=\"pm-field\">\n          <span class=\"pm-label\" id=\"lbl-terrain\">Terreno<\/span>\n          <div class=\"pm-seg\" role=\"radiogroup\" aria-labelledby=\"lbl-terrain\">\n            <input type=\"radio\" name=\"pm-terrain\" id=\"tr-flat\" value=\"flat\"><label for=\"tr-flat\"><span>Llano<\/span><\/label>\n            <input type=\"radio\" name=\"pm-terrain\" id=\"tr-rolling\" value=\"rolling\" checked><label for=\"tr-rolling\"><span>Ondulado<\/span><\/label>\n            <input type=\"radio\" name=\"pm-terrain\" id=\"tr-mid\" value=\"mountain_mid\"><label for=\"tr-mid\"><span>Monta\u00f1a<\/span><\/label>\n            <input type=\"radio\" name=\"pm-terrain\" id=\"tr-high\" value=\"mountain_high\"><label for=\"tr-high\"><span>Alta monta\u00f1a<\/span><\/label>\n          <\/div>\n          <p class=\"pm-hint\">Equivale a <b id=\"pm-slope-txt\">12 m de desnivel por kil\u00f3metro<\/b>.<\/p>\n          <button type=\"button\" class=\"pm-link\" id=\"pm-slope-toggle\" aria-expanded=\"false\" aria-controls=\"pm-slope-wrap\">Ajustar el desnivel exacto<\/button>\n          <div class=\"pm-sub\" id=\"pm-slope-wrap\" hidden>\n            <div class=\"pm-slider-h\">\n              <label class=\"pm-label\" for=\"pm-profile\">Desnivel por kil\u00f3metro<\/label>\n              <span class=\"pm-slider-v\" id=\"pm-profile-val\">12 m\/km<\/span>\n            <\/div>\n            <input type=\"range\" id=\"pm-profile\" min=\"0\" max=\"40\" value=\"12\" step=\"1\">\n          <\/div>\n          <p class=\"pm-live\" id=\"nota-terreno\" aria-live=\"polite\"><i class=\"icon icon-information-line\" aria-hidden=\"true\"><\/i><span><\/span><\/p>\n        <\/div>\n\n        <div class=\"pm-field\">\n          <span class=\"pm-label\" id=\"lbl-mode\">Modo de asistencia<\/span>\n          <div class=\"pm-seg two\" role=\"radiogroup\" aria-labelledby=\"lbl-mode\">\n            <input type=\"radio\" name=\"pm-mode\" id=\"md-eco\" value=\"eco\"><label for=\"md-eco\"><span>Eco<span class=\"km\" id=\"km-eco\">&#8212;<\/span><\/span><\/label>\n            <input type=\"radio\" name=\"pm-mode\" id=\"md-tour\" value=\"tour\" checked><label for=\"md-tour\"><span>Tour<span class=\"km\" id=\"km-tour\">&#8212;<\/span><\/span><\/label>\n            <input type=\"radio\" name=\"pm-mode\" id=\"md-sport\" value=\"sport\"><label for=\"md-sport\"><span>Sport<span class=\"km\" id=\"km-sport\">&#8212;<\/span><\/span><\/label>\n            <input type=\"radio\" name=\"pm-mode\" id=\"md-turbo\" value=\"turbo\"><label for=\"md-turbo\"><span>Turbo<span class=\"km\" id=\"km-turbo\">&#8212;<\/span><\/span><\/label>\n          <\/div>\n          <p class=\"pm-hint\">Cada modo muestra los kil\u00f3metros que te dar\u00eda con el resto de tus datos.<\/p>\n          <p class=\"pm-live\" id=\"nota-modo\" aria-live=\"polite\"><i class=\"icon icon-feature-14\" aria-hidden=\"true\"><\/i><span><\/span><\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"pm-stepp\" data-step=\"2\" role=\"group\" aria-labelledby=\"st3-h\">\n        <div class=\"pm-stepp-h\">\n          <i class=\"icon icon-casco\" aria-hidden=\"true\"><\/i>\n          <h3 id=\"st3-h\" tabindex=\"-1\">T\u00fa<\/h3>\n          <span class=\"of\">Paso 3 de 3<\/span>\n        <\/div>\n\n        <div class=\"pm-field\">\n          <div class=\"pm-slider-h\">\n            <label class=\"pm-label\" for=\"pm-rider\">Peso ciclista + equipaje<\/label>\n            <span class=\"pm-slider-v\" id=\"pm-rider-val\">80 kg<\/span>\n          <\/div>\n          <input type=\"range\" id=\"pm-rider\" min=\"45\" max=\"160\" value=\"80\" step=\"1\">\n          <p class=\"pm-live\" id=\"nota-peso\" aria-live=\"polite\"><i class=\"icon icon-ruler-line\" aria-hidden=\"true\"><\/i><span><\/span><\/p>\n        <\/div>\n\n        <div class=\"pm-field\">\n          <span class=\"pm-label\" id=\"lbl-legs\">Tus piernas<\/span>\n          <div class=\"pm-seg\" role=\"radiogroup\" aria-labelledby=\"lbl-legs\">\n            <input type=\"radio\" name=\"pm-rider-profile\" id=\"rp-novato\" value=\"novato\"><label for=\"rp-novato\"><span>Novato<\/span><\/label>\n            <input type=\"radio\" name=\"pm-rider-profile\" id=\"rp-ocasional\" value=\"ocasional\" checked><label for=\"rp-ocasional\"><span>Ocasional<\/span><\/label>\n            <input type=\"radio\" name=\"pm-rider-profile\" id=\"rp-pro\" value=\"pro\"><label for=\"rp-pro\"><span>Rodador<\/span><\/label>\n            <input type=\"radio\" name=\"pm-rider-profile\" id=\"rp-leyenda\" value=\"leyenda\"><label for=\"rp-leyenda\"><span>Leyenda<\/span><\/label>\n          <\/div>\n          <p class=\"pm-hint\" id=\"pm-legs-hint\">De 1 a 2 a\u00f1os de e-bike, sin fondo de bici de carretera.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"pm-fine\">\n        <button type=\"button\" class=\"pm-fine-t\" id=\"pm-fine-t\" aria-expanded=\"false\" aria-controls=\"pm-fine-b\">\n          <i class=\"icon icon-arrow-down-s-line\" aria-hidden=\"true\"><\/i>\n          <span>\n            <span class=\"tt\">Ajuste fino (opcional)<\/span>\n            <span class=\"ss\" id=\"pm-fine-sum\">20 \u00b0C \u00b7 sin viento \u00b7 cubierta lisa \u00b7 sin luces<\/span>\n            <span class=\"pm-pen\" id=\"pm-pen\" hidden><\/span>\n          <\/span>\n        <\/button>\n        <div class=\"pm-fine-b\" id=\"pm-fine-b\" hidden>\n          <div class=\"pm-fine-grid\">\n            <div class=\"pm-field\">\n              <div class=\"pm-slider-h\">\n                <label class=\"pm-label\" for=\"pm-temp\">Temperatura<\/label>\n                <span class=\"pm-slider-v\" id=\"pm-temp-val\">20 \u00b0C<\/span>\n              <\/div>\n              <input type=\"range\" id=\"pm-temp\" min=\"-10\" max=\"40\" value=\"20\" step=\"1\">\n              <p class=\"pm-live\" id=\"nota-temp\" aria-live=\"polite\"><i class=\"icon icon-feature-15\" aria-hidden=\"true\"><\/i><span><\/span><\/p>\n            <\/div>\n            <div class=\"pm-field\">\n              <span class=\"pm-label\" id=\"lbl-wind\">Viento de cara<\/span>\n              <div class=\"pm-seg\" role=\"radiogroup\" aria-labelledby=\"lbl-wind\">\n                <input type=\"radio\" name=\"pm-wind\" id=\"wi-none\" value=\"none\" checked><label for=\"wi-none\"><span>No<\/span><\/label>\n                <input type=\"radio\" name=\"pm-wind\" id=\"wi-mod\" value=\"moderate\"><label for=\"wi-mod\"><span>Moderado<\/span><\/label>\n                <input type=\"radio\" name=\"pm-wind\" id=\"wi-str\" value=\"strong\"><label for=\"wi-str\"><span>Fuerte<\/span><\/label>\n              <\/div>\n              <p class=\"pm-live\" id=\"nota-viento\" aria-live=\"polite\"><i class=\"icon icon-mallot\" aria-hidden=\"true\"><\/i><span><\/span><\/p>\n            <\/div>\n            <div class=\"pm-field\">\n              <span class=\"pm-label\" id=\"lbl-tire\">Cubierta<\/span>\n              <div class=\"pm-seg\" role=\"radiogroup\" aria-labelledby=\"lbl-tire\">\n                <input type=\"radio\" name=\"pm-tire\" id=\"ti-slick\" value=\"slick\" checked><label for=\"ti-slick\"><span>Lisa<\/span><\/label>\n                <input type=\"radio\" name=\"pm-tire\" id=\"ti-mixed\" value=\"mixed\"><label for=\"ti-mixed\"><span>Mixta<\/span><\/label>\n                <input type=\"radio\" name=\"pm-tire\" id=\"ti-knobby\" value=\"knobby\"><label for=\"ti-knobby\"><span>Tacos<\/span><\/label>\n              <\/div>\n            <\/div>\n            <div class=\"pm-field\">\n              <span class=\"pm-label\">Iluminaci\u00f3n<\/span>\n              <label class=\"pm-check\"><input type=\"checkbox\" id=\"pm-lights\"> Luces siempre encendidas<\/label>\n              <p class=\"pm-hint\">Reserva un 3 % extra de bater\u00eda.<\/p>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"pm-nav\">\n        <button type=\"button\" class=\"pm-btn ghost\" id=\"pm-prev\" hidden>\n          <i class=\"icon icon-arrow-left-s-line\" aria-hidden=\"true\"><\/i> Atr\u00e1s\n        <\/button>\n        <button type=\"button\" class=\"pm-btn brand\" id=\"pm-next\">\n          Siguiente <i class=\"icon icon-arrow-right-s-line\" aria-hidden=\"true\"><\/i>\n        <\/button>\n        <button type=\"button\" class=\"pm-reset\" id=\"pm-reset\">Empezar de nuevo<\/button>\n      <\/div>\n\n      <div class=\"pm-mini\" id=\"pm-mini\">\n        <span>\n          <span class=\"lb\">Autonom\u00eda estimada<\/span>\n          <span class=\"vv\"><span id=\"pm-mini-km\">&#8212;<\/span> km<\/span>\n        <\/span>\n        <span class=\"ex\">+ <span id=\"pm-mini-elev\">&#8212;<\/span> m<br>de desnivel<\/span>\n      <\/div>\n    <\/div>\n\n    <div class=\"pm-results\">\n      <div class=\"pm-out\">\n        <span class=\"pm-out-label\">Autonom\u00eda real estimada<\/span>\n        <div class=\"pm-figure\"><span class=\"pm-mark\" id=\"pm-km\">&#8212;<\/span> <span class=\"u\">km<\/span><\/div>\n        <p class=\"pm-out-sub\">acumulando <b id=\"pm-elev\">&#8212;<\/b> m de desnivel positivo<\/p>\n        <div class=\"pm-band\">\n          <i class=\"icon icon-checkbox-circle-line\" aria-hidden=\"true\"><\/i>\n          <span>Entre <b id=\"pm-range-min\">&#8212;<\/b> y <b id=\"pm-range-max\">&#8212;<\/b> km<\/span>\n        <\/div>\n      <\/div>\n\n      <ul class=\"pm-spec\">\n        <li><i class=\"icon icon-cuentakm\" aria-hidden=\"true\"><\/i><span><b>Consumo en esta ruta<\/b> <span id=\"pm-spec-cons\">&#8212;<\/span> Wh\/km<\/span><\/li>\n        <li><i class=\"icon icon-feature-15\" aria-hidden=\"true\"><\/i><span><b>Energ\u00eda utilizable<\/b> <span id=\"pm-spec-util\">&#8212;<\/span> Wh<\/span><\/li>\n        <li><i class=\"icon icon-ruler-line\" aria-hidden=\"true\"><\/i><span><b>Peso en movimiento<\/b> <span id=\"pm-spec-mass\">&#8212;<\/span> kg<\/span><\/li>\n        <li><i class=\"icon icon-information-line\" aria-hidden=\"true\"><\/i><span><b>Reservas aplicadas<\/b> <span id=\"pm-spec-res\">&#8212;<\/span><\/span><\/li>\n      <\/ul>\n\n      <div class=\"pm-bars\">\n        <h4>\u00bfA d\u00f3nde se va la energ\u00eda?<\/h4>\n        <div id=\"pm-losses\"><\/div>\n      <\/div>\n\n      <div class=\"pm-next\">\n        <h3>\u00bfTe cuadran los n\u00fameros?<\/h3>\n        <p>Dinos el desnivel que haces cada fin de semana y te decimos qu\u00e9 bater\u00eda necesitas de verdad.<\/p>\n        <a class=\"pm-btn brand\" href=\"https:\/\/pedalmoto.com\/es\/3003-bicicletas-electricas\">\n          <i class=\"icon icon-mtb-1\" aria-hidden=\"true\"><\/i> Ver bicicletas el\u00e9ctricas\n        <\/a>\n      <\/div>\n\n      <p class=\"pm-foot\">Estimaci\u00f3n orientativa: calcula el balance entre la energ\u00eda disponible en la bater\u00eda\n      y la que exigen la rodadura, el aire y el desnivel. Si quieres una cifra ajustada a tu bici,\n      <a href=\"tel:+34958132154\">ll\u00e1manos<\/a>.<\/p>\n    <\/div>\n  <\/div>\n\n  <script>\n  (function(){\n    \"use strict\";\n\n    var scope = document.getElementById('pm-ebike');\n    if(!scope) return;\n    var $ = function(id){ return document.getElementById(id); };\n\n    var FLAT = { eco:4.8, tour:6.5, sport:8.0, turbo:9.5 };\n    var BIKE_F  = { urbana:0.80, plegable:0.85, hibrida:0.90, emtb:1.0, fat:1.20, cargo:1.25 };\n    var BIKE_KG = { urbana:22, plegable:20, hibrida:24, emtb:24, fat:30, cargo:35 };\n    var TERRAIN_K = { flat:0.30, rolling:0.45, mountain_mid:0.55, mountain_high:0.70 };\n    var TERRAIN_R = { flat:0, rolling:12, mountain_mid:22, mountain_high:35 };\n    var GRAV = 9.81, DRIVE_EFF = 0.78;\n    var CLIMB_SHARE = { eco:0.50, tour:0.65, sport:0.80, turbo:0.92 };\n    var RIDER_F = { novato:1.15, ocasional:1.0, pro:0.88, leyenda:0.75 };\n    var TIRE_F = { slick:1.0, mixed:1.05, knobby:1.10 };\n    var WIND_F = { none:1.0, moderate:1.12, strong:1.22 };\n    var MASA_REF = 95, RESERVA_BMS = 0.08, RESERVA_LUZ = 0.03;\n\n    var LEGS_HINT = {\n      novato:    'Sin experiencia previa en bici: la bater\u00eda carga con casi todo.',\n      ocasional: 'De 1 a 2 a\u00f1os de e-bike, sin fondo de bici de carretera.',\n      pro:       'M\u00e1s de 2 a\u00f1os de e-bike y rutas exigentes: aportas bastante.',\n      leyenda:   'A\u00f1os de bici sin motor a las piernas: tu aportaci\u00f3n es alta.'\n    };\n    var TERR_TXT = {\n      flat:          'terreno llano, sin desnivel apreciable',\n      rolling:       '12 m de desnivel por kil\u00f3metro',\n      mountain_mid:  '22 m de desnivel por kil\u00f3metro',\n      mountain_high: '35 m de desnivel por kil\u00f3metro'\n    };\n\n    function tempFactor(t){\n      if(t >= 20) return 1.0;\n      if(t >= 10) return 0.95;\n      if(t >= 0)  return 0.85;\n      return 0.70;\n    }\n    function pick(name){\n      var el = scope.querySelector('input[name=\"' + name + '\"]:checked');\n      return el ? el.value : null;\n    }\n    function nf(n){ return n.toLocaleString('es-ES'); }\n    function dec(n){ return n.toFixed(1).replace('.', ','); }\n\n    function readWh(){\n      var p = pick('pm-whpreset');\n      if(p === 'custom'){ return parseFloat($('pm-wh').value) || 0; }\n      return parseFloat(p) || 0;\n    }\n\n    function readState(){\n      return {\n        wh:      readWh(),\n        bike:    pick('pm-biketype'),\n        mode:    pick('pm-mode'),\n        riderP:  pick('pm-rider-profile'),\n        rider:   parseInt($('pm-rider').value, 10),\n        terrain: pick('pm-terrain'),\n        tire:    pick('pm-tire'),\n        wind:    pick('pm-wind'),\n        temp:    parseInt($('pm-temp').value, 10),\n        lights:  $('pm-lights').checked,\n        slope:   parseInt($('pm-profile').value, 10) || 0\n      };\n    }\n\n    function model(s){\n      var fTemp   = tempFactor(s.temp);\n      var reserva = RESERVA_BMS + (s.lights ? RESERVA_LUZ : 0);\n      var eNet    = s.wh * fTemp * (1 - reserva);\n\n      var totalMass = s.rider + (BIKE_KG[s.bike] || 22);\n      var fMass = Math.max(0.7, 1 + ((totalMass - MASA_REF) \/ MASA_REF) * TERRAIN_K[s.terrain]);\n      var fRider = RIDER_F[s.riderP] || 1.0;\n\n      var flatConsumo = FLAT[s.mode] * (BIKE_F[s.bike] || 1) * fMass * TIRE_F[s.tire] * WIND_F[s.wind] * fRider;\n      var share = Math.min(1, (CLIMB_SHARE[s.mode] || 0.65) * fRider);\n      var climbCost = (totalMass * GRAV \/ 3600) \/ DRIVE_EFF * share;\n\n      var consumoOp = flatConsumo + s.slope * climbCost;\n      var km = consumoOp > 0 ? eNet \/ consumoOp : 0;\n\n      var eGrav = s.slope * climbCost;\n      var eAero = flatConsumo * 0.28;\n      var eRod  = Math.max(0, consumoOp - eGrav - eAero);\n\n      return {\n        km:km, kmMin:km*0.9, kmMax:km*1.1, elev:km*s.slope,\n        consumoOp:consumoOp, eNet:eNet, totalMass:totalMass, fTemp:fTemp, fMass:fMass,\n        losses:{ rod:eRod, aero:eAero, grav:eGrav }\n      };\n    }\n\n    function render(){\n      var s = readState();\n      var r = model(s);\n      var kmR = Math.round(r.km);\n\n      $('pm-km').textContent        = isFinite(kmR) ? nf(kmR) : '\u2014';\n      $('pm-mini-km').textContent   = isFinite(kmR) ? nf(kmR) : '\u2014';\n      $('pm-range-min').textContent = isFinite(r.kmMin) ? nf(Math.round(r.kmMin)) : '\u2014';\n      $('pm-range-max').textContent = isFinite(r.kmMax) ? nf(Math.round(r.kmMax)) : '\u2014';\n\n      var elevR = Math.round(r.elev \/ 10) * 10;\n      var elevTxt = isFinite(elevR) ? nf(elevR) : '\u2014';\n      $('pm-elev').textContent      = elevTxt;\n      $('pm-mini-elev').textContent = elevTxt;\n\n      $('pm-spec-cons').textContent = isFinite(r.consumoOp) ? dec(r.consumoOp) : '\u2014';\n      $('pm-spec-util').textContent = nf(Math.round(r.eNet)) + ' de ' + nf(Math.round(s.wh));\n      $('pm-spec-mass').textContent = nf(Math.round(r.totalMass));\n      $('pm-spec-res').textContent  = '8 % del BMS'\n        + (s.lights ? ' + 3 % de luces' : '')\n        + (r.fTemp < 1 ? ' + ' + Math.round((1 - r.fTemp) * 100) + ' % por fr\u00edo' : '');\n\n      var L = r.losses;\n      var maxL = Math.max(L.rod, L.aero, L.grav, 0.001);\n      $('pm-losses').innerHTML =\n        bar('Rodadura y transmisi\u00f3n', L.rod,  maxL, 'var(--brand, #009AEF)') +\n        bar('Resistencia del aire',   L.aero, maxL, 'var(--brand-light, #33B6FF)') +\n        bar('Subir el desnivel',      L.grav, maxL, 'var(--dark, #232323)');\n\n      renderModeCompare(s);\n      renderNotes(s, r);\n\n      $('pm-slope-txt').textContent = (s.slope === TERRAIN_R[s.terrain])\n        ? TERR_TXT[s.terrain]\n        : s.slope + ' m de desnivel por kil\u00f3metro';\n      $('pm-profile-val').textContent = s.slope + ' m\/km';\n      $('pm-rider-val').textContent   = s.rider + ' kg';\n      $('pm-temp-val').textContent    = s.temp + ' \u00b0C';\n      $('pm-legs-hint').textContent   = LEGS_HINT[s.riderP] || '';\n      $('pm-fine-sum').textContent = s.temp + ' \u00b0C \u00b7 '\n        + (s.wind === 'none' ? 'sin viento' : (s.wind === 'moderate' ? 'viento moderado' : 'viento fuerte')) + ' \u00b7 '\n        + 'cubierta ' + (s.tire === 'slick' ? 'lisa' : (s.tire === 'mixed' ? 'mixta' : 'de tacos')) + ' \u00b7 '\n        + (s.lights ? 'con luces' : 'sin luces');\n\n      writeHash(s);\n    }\n\n    function bar(label, val, max, color){\n      var pct = Math.max(2, (val \/ max) * 100);\n      return '<div class=\"pm-bar\"><div class=\"pm-bar-h\"><b>' + label +\n        '<\/b><span class=\"v\">' + dec(val) + ' Wh\/km<\/span><\/div>' +\n        '<div class=\"pm-bar-t\"><div class=\"pm-bar-f\" style=\"width:' + pct + '%;background:' + color + '\"><\/div><\/div><\/div>';\n    }\n\n    var modeKm = {};\n    function renderModeCompare(s){\n      ['eco','tour','sport','turbo'].forEach(function(m){\n        var alt = {};\n        for(var k in s){ if(s.hasOwnProperty(k)) alt[k] = s[k]; }\n        alt.mode = m;\n        var km = Math.round(model(alt).km);\n        modeKm[m] = km;\n        var el = $('km-' + m);\n        if(el){ el.textContent = isFinite(km) ? nf(km) + ' km' : '\u2014'; }\n      });\n    }\n\n    var notaPrev = {};\n    var primeraVez = true;\n\n    function setNota(id, texto){\n      var el = $(id);\n      if(!el) return;\n      var sp = el.querySelector('span');\n      if(!sp) return;\n      if(notaPrev[id] === texto){ return; }\n      notaPrev[id] = texto;\n      sp.textContent = texto;\n      if(primeraVez) return;\n      el.classList.remove('on');\n      void el.offsetWidth;          \n      el.classList.add('on');\n    }\n\n    function renderNotes(s, r){\n\n      var t;\n      if(s.slope === 0)       t = 'En llano el motor casi no pelea con la gravedad: la energ\u00eda se va en rodadura y en aire.';\n      else if(s.slope < 10)   t = 'Con poco desnivel el consumo se mantiene cerca del de una ruta llana.';\n      else if(s.slope < 20)   t = 'Los repechos suman consumo, pero en las bajadas recuperas cadencia y el motor descansa.';\n      else if(s.slope < 30)   t = 'Con desniveles sostenidos conviene guardar bater\u00eda para las rampas largas del final.';\n      else                    t = 'Aqu\u00ed el desnivel manda sobre todo lo dem\u00e1s: es donde el modo de asistencia decide si vuelves pedaleando o empujando.';\n      setNota('nota-terreno', t);\n\n      var m;\n      var difEco = (modeKm.eco || 0) - (modeKm[s.mode] || 0);\n      if(s.mode === 'eco'){\n        m = 'Es el modo que m\u00e1s lejos te lleva. A cambio, en las rampas vas a poner m\u00e1s de tu parte.';\n      } else if(difEco > 0){\n        m = 'En ' + (s.mode === 'tour' ? 'Tour' : (s.mode === 'sport' ? 'Sport' : 'Turbo'))\n          + ' dejas ' + nf(difEco) + ' km respecto a Eco. Reserva la potencia para las cuestas y ganar\u00e1s buena parte de ellos.';\n      } else {\n        m = 'Con esta configuraci\u00f3n el modo apenas cambia el resultado.';\n      }\n      setNota('nota-modo', m);\n\n      var p;\n      if(r.fMass > 1.25){\n        p = 'Vas cargado, y con este terreno el peso se paga sobre todo cuesta arriba.';\n      } else if(r.fMass > 1.05){\n        p = 'Algo por encima de los 95 kg de referencia: impacto moderado'\n          + (s.slope === 0 ? ', y en llano se nota menos todav\u00eda.' : ', y crece con el desnivel.');\n      } else {\n        p = 'Masa contenida: poco impacto en la rodadura y en las subidas.';\n      }\n      setNota('nota-peso', p);\n\n      var c;\n      if(s.temp < 0)       c = 'Cerca de un 30 % menos de capacidad. Guarda la bater\u00eda en casa y m\u00f3ntala justo antes de salir.';\n      else if(s.temp < 10) c = 'Las celdas rinden por debajo de su \u00f3ptimo: alrededor de un 15 % menos de energ\u00eda disponible.';\n      else if(s.temp < 20) c = 'P\u00e9rdida leve, en torno al 5 %.';\n      else                 c = 'Temperatura \u00f3ptima para las celdas de litio: sin penalizaci\u00f3n t\u00e9rmica.';\n      setNota('nota-temp', c);\n\n      var v;\n      if(s.wind === 'strong')        v = 'Con viento fuerte de cara, bajar 3 o 4 km\/h ahorra m\u00e1s bater\u00eda que cambiar de modo.';\n      else if(s.wind === 'moderate') v = 'Un viento moderado sube el consumo en torno a un 12 %.';\n      else                           v = 'Sin penalizaci\u00f3n aerodin\u00e1mica a\u00f1adida.';\n      setNota('nota-viento', v);\n\n      var pen = 0;\n      if(s.temp < 20)        pen++;\n      if(s.wind !== 'none')  pen++;\n      if(s.tire !== 'slick') pen++;\n      if(s.lights)           pen++;\n      var badge = $('pm-pen');\n      if(pen > 0){\n        badge.textContent = pen === 1 ? '1 factor en contra' : pen + ' factores en contra';\n        badge.removeAttribute('hidden');\n      } else {\n        badge.setAttribute('hidden','');\n      }\n    }\n\n    var steps = [].slice.call(scope.querySelectorAll('.pm-stepp'));\n    var stepBtns = [].slice.call(scope.querySelectorAll('.pm-stepper button'));\n    var cur = 0;\n\n    function showStep(i, focus){\n      cur = Math.max(0, Math.min(steps.length - 1, i));\n      steps.forEach(function(el, n){\n        if(n === cur){ el.removeAttribute('hidden'); } else { el.setAttribute('hidden',''); }\n      });\n      stepBtns.forEach(function(b, n){\n        if(n === cur){ b.setAttribute('aria-current','step'); } else { b.removeAttribute('aria-current'); }\n        if(n < cur){ b.classList.add('done'); } else { b.classList.remove('done'); }\n      });\n      if(cur === 0){ $('pm-prev').setAttribute('hidden',''); } else { $('pm-prev').removeAttribute('hidden'); }\n      if(cur === steps.length - 1){ $('pm-next').setAttribute('hidden',''); } else { $('pm-next').removeAttribute('hidden'); }\n      if(focus){\n        var h = steps[cur].querySelector('h3');\n        if(h){ h.focus(); }\n      }\n      track('calc_step_view', { step: cur + 1 });\n    }\n\n    var hashLock = false;\n    var hashTimer = null;\n    var SEP = ';';\n\n    function writeHash(s){\n      if(hashLock) return;\n      if(hashTimer){ clearTimeout(hashTimer); }\n      hashTimer = setTimeout(function(){ doWriteHash(s); }, 400);\n    }\n\n    function doWriteHash(s){\n      var p = [];\n      p.push('wh=' + (pick('pm-whpreset') === 'custom' ? 'c' + s.wh : s.wh));\n      p.push('bk=' + s.bike); p.push('md=' + s.mode); p.push('tr=' + s.terrain);\n      p.push('sl=' + s.slope); p.push('rw=' + s.rider); p.push('rp=' + s.riderP);\n      p.push('tp=' + s.temp); p.push('ai=' + s.wind); p.push('ty=' + s.tire);\n      p.push('lg=' + (s.lights ? 1 : 0));\n      try{ history.replaceState(null, '', '#pm-' + p.join(SEP)); }catch(e){}\n    }\n\n    function readHash(){\n      var h = location.hash || '';\n      if(h.indexOf('#pm-') !== 0) return false;\n      var q = {};\n      h.slice(4).split(SEP).forEach(function(kv){\n        var a = kv.split('=');\n        if(a.length === 2){ q[a[0]] = a[1]; }\n      });\n      hashLock = true;\n      if(q.wh){\n        if(q.wh.charAt(0) === 'c'){\n          setRadio('pm-whpreset','custom');\n          $('pm-wh').value = q.wh.slice(1);\n        } else { setRadio('pm-whpreset', q.wh); }\n      }\n      if(q.bk) setRadio('pm-biketype', q.bk);\n      if(q.md) setRadio('pm-mode', q.md);\n      if(q.tr) setRadio('pm-terrain', q.tr);\n      if(q.rp) setRadio('pm-rider-profile', q.rp);\n      if(q.ai) setRadio('pm-wind', q.ai);\n      if(q.ty) setRadio('pm-tire', q.ty);\n      if(q.sl) $('pm-profile').value = q.sl;\n      if(q.rw) $('pm-rider').value = q.rw;\n      if(q.tp) $('pm-temp').value = q.tp;\n      if(q.lg) $('pm-lights').checked = (q.lg === '1');\n      syncWhInput();\n\n      if(q.sl){\n        if(TERRAIN_R[pick('pm-terrain')] !== parseInt(q.sl, 10)){\n          $('pm-slope-wrap').removeAttribute('hidden');\n          $('pm-slope-toggle').setAttribute('aria-expanded','true');\n          $('pm-slope-toggle').textContent = 'Usar el desnivel del terreno elegido';\n        }\n      }\n      hashLock = false;\n      return true;\n    }\n\n    function setRadio(name, val){\n      var el = scope.querySelector('input[name=\"' + name + '\"][value=\"' + val + '\"]');\n      if(el){ el.checked = true; }\n    }\n\n    function syncWhInput(){\n      if(pick('pm-whpreset') === 'custom'){ $('pm-wh-wrap').removeAttribute('hidden'); }\n      else { $('pm-wh-wrap').setAttribute('hidden',''); }\n    }\n\n    function track(ev, params){\n      if(!window.dataLayer) return;\n      if(typeof window.dataLayer.push !== 'function') return;\n      var o = { event: ev };\n      if(params){ for(var k in params){ if(params.hasOwnProperty(k)) o[k] = params[k]; } }\n      window.dataLayer.push(o);\n    }\n\n    scope.querySelectorAll('input[name=\"pm-whpreset\"]').forEach(function(el){\n      el.addEventListener('change', function(){\n        syncWhInput();\n        if(this.value === 'custom'){ $('pm-wh').focus(); }\n      });\n    });\n\n    scope.querySelectorAll('input[name=\"pm-terrain\"]').forEach(function(el){\n      el.addEventListener('change', function(){\n        if(TERRAIN_R.hasOwnProperty(this.value)){ $('pm-profile').value = TERRAIN_R[this.value]; }\n      });\n    });\n\n    $('pm-slope-toggle').addEventListener('click', function(){\n      var open = this.getAttribute('aria-expanded') === 'true';\n      this.setAttribute('aria-expanded', String(!open));\n      if(open){ $('pm-slope-wrap').setAttribute('hidden',''); }\n      else { $('pm-slope-wrap').removeAttribute('hidden'); $('pm-profile').focus(); }\n      this.textContent = open ? 'Ajustar el desnivel exacto' : 'Usar el desnivel del terreno elegido';\n      if(open){\n        var t = pick('pm-terrain');\n        if(TERRAIN_R.hasOwnProperty(t)){ $('pm-profile').value = TERRAIN_R[t]; render(); }\n      }\n    });\n\n    $('pm-fine-t').addEventListener('click', function(){\n      var open = this.getAttribute('aria-expanded') === 'true';\n      this.setAttribute('aria-expanded', String(!open));\n      if(open){ $('pm-fine-b').setAttribute('hidden',''); }\n      else { $('pm-fine-b').removeAttribute('hidden'); track('calc_fine_open', {}); }\n    });\n\n    $('pm-next').addEventListener('click', function(){\n      showStep(cur + 1, true);\n      if(cur === steps.length - 1){ track('calc_complete', {}); }\n    });\n    $('pm-prev').addEventListener('click', function(){ showStep(cur - 1, true); });\n    stepBtns.forEach(function(b){\n      b.addEventListener('click', function(){ showStep(parseInt(b.getAttribute('data-go'), 10), true); });\n    });\n\n    $('pm-reset').addEventListener('click', function(){\n      setRadio('pm-whpreset','800'); $('pm-wh').value = 800;\n      setRadio('pm-biketype','emtb'); setRadio('pm-mode','tour');\n      setRadio('pm-terrain','rolling'); setRadio('pm-rider-profile','ocasional');\n      setRadio('pm-wind','none'); setRadio('pm-tire','slick');\n      $('pm-profile').value = 12; $('pm-rider').value = 80; $('pm-temp').value = 20;\n      $('pm-lights').checked = false;\n      $('pm-rider-val').textContent = '80 kg';\n      $('pm-temp-val').textContent = '20 \u00b0C';\n      syncWhInput(); render(); showStep(0, true);\n      track('calc_reset', {});\n    });\n\n    scope.querySelectorAll('.pm-results a.pm-btn').forEach(function(a){\n      a.addEventListener('click', function(){ track('calc_cta_click', {}); });\n    });\n\n    scope.querySelectorAll('input').forEach(function(el){\n      el.addEventListener('input', render);\n      el.addEventListener('change', render);\n    });\n\n    scope.setAttribute('data-js','on');\n    readHash();\n    render();\n    primeraVez = false;   \n    showStep(0, false);\n  })();\n  <\/script>\n<\/section>\n\n\n\n<section class=\"pm-ebike-content\" id=\"pm-ebike-content\">\n  <style>\n  .pm-ebike-content{\n    --pm-brand:       var(--brand, #009AEF);\n    --pm-brand-dark:  var(--brand-dark, #0f99e9);\n    --pm-ink:         var(--dark, #232323);\n    --pm-ink-soft:    var(--dark-light, #525356);\n    --pm-line:        var(--border-color, #ededed);\n    --pm-tint:        var(--neutral-light, #eef9ff);\n    --pm-tint-strong: var(--neutral, #CAECFF);\n    --pm-tint-soft:   var(--neutral-base, #F6FCFF);\n    --pm-hl:          var(--highlight, rgba(228,255,170,.6));\n    --pm-r:           var(--border-radius-sm, 8px);\n    --pm-pill:        100px;\n    --pm-skew:        var(--degreesNeg, skew(-9deg));\n    --pm-unskew:      var(--degreesPos, skew(9deg));\n\n    font-family: var(--font-family-base, 'Geist', sans-serif);\n    font-weight: var(--font-weight-light, 300);\n    color: var(--pm-ink);\n    line-height: 1.65;\n    display: block;\n    max-width: 1120px;\n    margin: clamp(2.5rem,5vw,4rem) auto 0;\n    box-sizing: border-box;\n    -webkit-font-smoothing: antialiased;\n  }\n  .pm-ebike-content *,.pm-ebike-content *::before,.pm-ebike-content *::after{box-sizing:border-box;}\n  .pm-ebike-content h2,.pm-ebike-content h3,.pm-ebike-content h4,\n  .pm-ebike-content p,.pm-ebike-content ul,.pm-ebike-content li{margin:0;}\n  .pm-ebike-content ul{list-style:none;padding:0;}\n  .pm-ebike-content h2,.pm-ebike-content h3,.pm-ebike-content h4{\n    font-family: var(--font-family-title, 'Archivo Black', sans-serif);\n    font-weight: 400;\n    letter-spacing: var(--letter-spacing-headings, -.01em);\n    line-height: 1.15;\n  }\n  .pm-ebike-content .icon{line-height:1;}\n  .pm-ebike-content a{color:var(--pm-brand-dark);}\n  .pm-ebike-content b,.pm-ebike-content strong{font-weight:var(--font-weight-bold,700);}\n\n  .pm-ebike-content .pm-s{margin-top:clamp(2.5rem,5vw,4rem);}\n  .pm-ebike-content .pm-s:first-of-type{margin-top:0;}\n\n  .pm-ebike-content .pm-s.tint{\n    background:var(--pm-tint);border-radius:var(--pm-r);\n    padding:clamp(1.5rem,3vw,2.25rem);\n  }\n  .pm-ebike-content .pm-s.soft{\n    background:var(--pm-tint-soft);border-radius:var(--pm-r);\n    padding:clamp(1.5rem,3vw,2.25rem);\n  }\n  .pm-ebike-content .pm-s > h2{font-size:var(--font-size-lg, clamp(1.37rem,.79vw + 1.17rem,1.96rem));}\n  .pm-ebike-content .pm-lead{\n    font-size:1.0625rem;max-width:68ch;margin-top:12px;\n  }\n  .pm-ebike-content .pm-head{margin-bottom:24px;}\n\n  .pm-ebike-content .pm-steps{display:flex;flex-wrap:wrap;gap:10px;}\n  .pm-ebike-content .pm-step{\n    transform:var(--pm-skew);\n    background:#fff;border:1px solid var(--pm-line);\n    padding:.7rem 1.4rem;flex:1 1 260px;\n  }\n  .pm-ebike-content .pm-step-i{\n    display:flex;align-items:center;gap:12px;transform:var(--pm-unskew);\n  }\n  .pm-ebike-content .pm-step .n{\n    font-family:var(--font-family-title,'Archivo Black',sans-serif);\n    font-size:1.5rem;color:var(--pm-brand);line-height:1;flex:0 0 auto;\n  }\n  .pm-ebike-content .pm-step .t{font-size:.9375rem;font-weight:400;line-height:1.35;}\n\n  .pm-ebike-content .pm-list{display:grid;grid-template-columns:1fr;gap:22px;}\n  @media(min-width:640px){.pm-ebike-content .pm-list.c2{grid-template-columns:1fr 1fr;}}\n  @media(min-width:860px){.pm-ebike-content .pm-list.c3{grid-template-columns:repeat(3,1fr);}}\n  .pm-ebike-content .pm-list li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;}\n  .pm-ebike-content .pm-list li > .icon{font-size:2.375rem;opacity:.8;color:var(--pm-ink);}\n  .pm-ebike-content .pm-list h3{font-size:1.0625rem;margin-bottom:4px;}\n  .pm-ebike-content .pm-list p{font-size:.9375rem;}\n\n  .pm-ebike-content .pm-defs{display:grid;grid-template-columns:1fr;gap:20px;}\n  @media(min-width:720px){.pm-ebike-content .pm-defs{grid-template-columns:1fr 1fr;}}\n  .pm-ebike-content .pm-defs p{font-size:.9375rem;}\n  .pm-ebike-content .pm-defs p > b{\n    font-family:var(--font-family-title,'Archivo Black',sans-serif);\n    font-weight:400;color:var(--pm-ink);\n  }\n\n  .pm-ebike-content .pm-figs{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}\n  .pm-ebike-content .pm-fig{\n    transform:var(--pm-skew);background:#fff;\n    padding:.85rem 1.5rem;flex:1 1 200px;\n  }\n  .pm-ebike-content .pm-fig > span{display:block;transform:var(--pm-unskew);}\n  .pm-ebike-content .pm-fig .k{\n    font-family:var(--font-family-title,'Archivo Black',sans-serif);\n    font-size:1.5rem;color:var(--pm-brand);line-height:1;display:block;\n  }\n  .pm-ebike-content .pm-fig .l{font-size:.8125rem;margin-top:7px;display:block;line-height:1.35;}\n\n  .pm-ebike-content .pm-tw{border:1px solid var(--pm-line);border-radius:var(--pm-r);overflow:hidden;}\n  .pm-ebike-content table{width:100%;border-collapse:collapse;font-size:.9375rem;background:#fff;}\n  .pm-ebike-content thead th{\n    background:var(--pm-ink);color:#fff;text-align:left;padding:12px 16px;\n    font-family:var(--font-family-base,'Geist',sans-serif);\n    font-size:.75rem;text-transform:uppercase;\n    letter-spacing:var(--letter-spacing-small,.03em);font-weight:var(--font-weight-bold,700);\n  }\n  .pm-ebike-content tbody td{padding:12px 16px;border-top:1px solid var(--pm-line);}\n  .pm-ebike-content tbody tr:nth-child(even) td{background:var(--pm-tint-soft);}\n  .pm-ebike-content tbody td b{font-variant-numeric:tabular-nums;}\n  .pm-ebike-content .pm-note{font-size:.8125rem;color:var(--pm-ink-soft);margin-top:12px;}\n\n  .pm-ebike-content .pm-motors{display:grid;grid-template-columns:1fr;gap:16px;}\n  @media(min-width:720px){.pm-ebike-content .pm-motors{grid-template-columns:1fr 1fr;}}\n  .pm-ebike-content .pm-motor{\n    background:#fff;border:1px solid var(--pm-line);\n    border-radius:var(--pm-r);padding:22px;\n  }\n  .pm-ebike-content .pm-motor .h{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap;}\n  .pm-ebike-content .pm-motor .h .icon{font-size:2rem;opacity:.8;}\n  .pm-ebike-content .pm-motor h3{font-size:1.125rem;}\n\n  .pm-ebike-content .pm-badge{\n    background:var(--pm-brand);color:#fff;border-radius:var(--pm-pill);\n    font-size:.8rem;font-weight:var(--font-weight-bold,700);\n    text-transform:uppercase;padding:3px 12px;line-height:1.5;\n  }\n  .pm-ebike-content .pm-motor p{font-size:.9375rem;}\n\n  .pm-ebike-content .pm-chips{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px;}\n  .pm-ebike-content .pm-chip{\n    display:inline-flex;align-items:center;gap:7px;\n    background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-pill);\n    padding:7px 15px;font-size:.875rem;font-weight:400;\n  }\n  .pm-ebike-content .pm-chip .icon{color:var(--pm-brand);font-size:1.0625rem;}\n  .pm-ebike-content .pm-callout{\n    display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;\n    background:#fff;border-left:4px solid var(--pm-brand);\n    border-radius:0 var(--pm-r) var(--pm-r) 0;padding:20px 22px;\n  }\n  .pm-ebike-content .pm-callout > .icon{font-size:2.375rem;color:var(--pm-brand);opacity:.9;}\n  .pm-ebike-content .pm-callout h3{font-size:1.0625rem;margin-bottom:6px;}\n  .pm-ebike-content .pm-callout p{font-size:.9375rem;}\n\n  .pm-ebike-content .pm-faq{border:1px solid var(--pm-line);border-radius:var(--pm-r);overflow:hidden;background:#fff;}\n  .pm-ebike-content .pm-qa + .pm-qa{border-top:1px solid var(--pm-line);}\n  .pm-ebike-content .pm-qa button{\n    width:100%;background:#fff;border:0;text-align:left;cursor:pointer;\n    display:flex;align-items:center;justify-content:space-between;gap:16px;\n    padding:16px 18px;font-family:inherit;font-size:1rem;\n    font-weight:var(--font-weight-bold,700);color:var(--pm-ink);line-height:1.4;\n  }\n  .pm-ebike-content .pm-qa button:hover{background:var(--pm-tint-soft);}\n  .pm-ebike-content .pm-qa button .icon{\n    font-size:1.5rem;color:var(--pm-brand);flex:0 0 auto;transition:transform .2s;\n  }\n  .pm-ebike-content .pm-qa button[aria-expanded=\"true\"] .icon{transform:rotate(180deg);}\n  .pm-ebike-content .pm-qa .a{max-height:0;overflow:hidden;transition:max-height .28s ease;}\n  .pm-ebike-content .pm-qa .a p{font-size:.9375rem;padding:0 18px 18px;max-width:80ch;}\n\n  .pm-ebike-content .pm-cta{\n    background:var(--pm-brand);color:#fff;border-radius:var(--pm-r);\n    padding:clamp(1.75rem,4vw,2.75rem);\n    display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;\n  }\n  @media(max-width:640px){.pm-ebike-content .pm-cta{grid-template-columns:1fr;}}\n  .pm-ebike-content .pm-cta > .icon{font-size:3.5rem;opacity:.85;}\n  .pm-ebike-content .pm-cta h2{color:#fff;font-size:var(--font-size-lg,1.7rem);}\n  .pm-ebike-content .pm-cta p{color:#fff;margin-top:10px;max-width:60ch;}\n  .pm-ebike-content .pm-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;}\n  .pm-ebike-content .pm-btn{\n    display:inline-flex;align-items:center;gap:9px;text-decoration:none;\n    font-weight:var(--font-weight-bold,700);font-size:1.0625rem;\n    padding:11px 22px;border-radius:var(--pm-r);transition:.15s;\n  }\n  .pm-ebike-content .pm-btn .icon{font-size:1.25rem;}\n  .pm-ebike-content .pm-btn.solid{background:#fff;color:var(--pm-brand-dark);}\n  .pm-ebike-content .pm-btn.solid:hover{background:var(--pm-tint);}\n  .pm-ebike-content .pm-btn.line{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6);}\n  .pm-ebike-content .pm-btn.line:hover{background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 2px #fff;color:#fff;}\n\n  .pm-ebike-content a:focus-visible,.pm-ebike-content button:focus-visible{outline:2px solid var(--pm-brand);outline-offset:2px;}\n  @media(prefers-reduced-motion:reduce){.pm-ebike-content *{transition:none !important;}}\n  <\/style>\n\n  <div class=\"pm-s\">\n    <div class=\"pm-head\">\n      <h2>\u00bfC\u00f3mo calcular la autonom\u00eda de una bicicleta el\u00e9ctrica?<\/h2>\n      <p class=\"pm-lead\">La autonom\u00eda depende de muchos m\u00e1s factores que la capacidad de la bater\u00eda. Dos bicis con 500 Wh\n      pueden recorrer distancias muy distintas seg\u00fan el peso, el terreno, los neum\u00e1ticos o el modo de asistencia.\n      Para una estimaci\u00f3n personalizada, completa los datos de la calculadora:<\/p>\n    <\/div>\n    <div class=\"pm-steps\">\n      <div class=\"pm-step\"><div class=\"pm-step-i\"><span class=\"n\">1<\/span><span class=\"t\">Introduce la capacidad y el estado de la bater\u00eda.<\/span><\/div><\/div>\n      <div class=\"pm-step\"><div class=\"pm-step-i\"><span class=\"n\">2<\/span><span class=\"t\">Selecciona el tipo de bicicleta y de motor.<\/span><\/div><\/div>\n      <div class=\"pm-step\"><div class=\"pm-step-i\"><span class=\"n\">3<\/span><span class=\"t\">Indica el peso aproximado del ciclista y la carga.<\/span><\/div><\/div>\n      <div class=\"pm-step\"><div class=\"pm-step-i\"><span class=\"n\">4<\/span><span class=\"t\">Elige el perfil del terreno y el modo de asistencia.<\/span><\/div><\/div>\n      <div class=\"pm-step\"><div class=\"pm-step-i\"><span class=\"n\">5<\/span><span class=\"t\">A\u00f1ade las condiciones ambientales de la ruta.<\/span><\/div><\/div>\n    <\/div>\n    <p class=\"pm-lead\">La herramienta calcula una <strong>autonom\u00eda estimada en kil\u00f3metros<\/strong>, el consumo previsto\n    y el margen de seguridad recomendado.<\/p>\n  <\/div>\n\n  <div class=\"pm-s\">\n    <div class=\"pm-head\">\n      <h2>\u00bfPor qu\u00e9 utilizar una calculadora de autonom\u00eda de e-bike?<\/h2>\n    <\/div>\n    <ul class=\"pm-list c2\">\n      <li>\n        <i class=\"icon icon-cuentakm\" aria-hidden=\"true\"><\/i>\n        <div>\n          <h3>Estimaci\u00f3n m\u00e1s realista<\/h3>\n          <p>Los datos del fabricante se miden en condiciones favorables: llano, poco peso, 20&nbsp;\u00b0C y asistencia m\u00ednima.\n          Aqu\u00ed el resultado se ajusta a tu uso real para evitar cifras demasiado optimistas.<\/p>\n        <\/div>\n      <\/li>\n      <li>\n        <i class=\"icon icon-map-pin-line\" aria-hidden=\"true\"><\/i>\n        <div>\n          <h3>Planificaci\u00f3n de rutas<\/h3>\n          <p>Sabes qu\u00e9 recorrido puedes completar, cu\u00e1nto margen necesitas para volver y cu\u00e1ndo conviene\n          localizar un punto de recarga.<\/p>\n        <\/div>\n      <\/li>\n      <li>\n        <i class=\"icon icon-transactions\" aria-hidden=\"true\"><\/i>\n        <div>\n          <h3>Comparaci\u00f3n entre configuraciones<\/h3>\n          <p>Cambia el modo de asistencia, la presi\u00f3n de los neum\u00e1ticos, el terreno o el peso y comprueba\n          c\u00f3mo afecta cada variable al consumo.<\/p>\n        <\/div>\n      <\/li>\n      <li>\n        <i class=\"icon icon-feature-15\" aria-hidden=\"true\"><\/i>\n        <div>\n          <h3>Menos riesgo de quedarte sin bater\u00eda<\/h3>\n          <p>El resultado incorpora un margen orientativo para compensar cambios de pendiente, viento,\n          temperatura y otros factores dif\u00edciles de prever.<\/p>\n        <\/div>\n      <\/li>\n    <\/ul>\n  <\/div>\n\n  <div class=\"pm-s tint\">\n    <div class=\"pm-head\">\n      <h2>\u00bfDe qu\u00e9 depende la autonom\u00eda de una bicicleta el\u00e9ctrica?<\/h2>\n    <\/div>\n    <div class=\"pm-defs\">\n      <p><b>Capacidad \u00fatil de la bater\u00eda.<\/b> Se expresa en Wh, pero la capacidad \u00fatil suele ser menor que la nominal\n      por el desgaste, la temperatura, la reserva de seguridad del BMS y el consumo de las luces.\n      Una bater\u00eda de 500&nbsp;Wh no siempre ofrece 500&nbsp;Wh aprovechables.<\/p>\n      <p><b>Tipo de bicicleta.<\/b> Cada bici opone una resistencia distinta al avance. Una urbana consume poco en asfalto;\n      una e-MTB gasta m\u00e1s por su peso, suspensiones y neum\u00e1ticos anchos; y una cargo necesita m\u00e1s energ\u00eda\n      para mover la carga.<\/p>\n      <p><b>Peso del conjunto.<\/b> El motor debe desplazar el peso total de ciclista, bici y equipaje. En llano el impacto\n      es moderado, pero aumenta de forma considerable en rutas con desnivel.<\/p>\n      <p><b>Nivel de asistencia.<\/b> En Eco la bater\u00eda entrega menos potencia y llegas m\u00e1s lejos. En Sport, Boost o Turbo\n      la asistencia es m\u00e1s intensa y el consumo se dispara. Los modos adaptativos ajustan la potencia\n      seg\u00fan la pendiente y tu pedaleo.<\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"pm-s\">\n    <div class=\"pm-head\">\n      <h2>\u00bfC\u00f3mo afecta el terreno a la autonom\u00eda?<\/h2>\n    <\/div>\n    <div class=\"pm-defs\">\n      <p><b>Terreno llano.<\/b> El escenario m\u00e1s eficiente: la bater\u00eda se usa sobre todo para vencer la rodadura y el aire.\n      Mantener velocidad y cadencia estables reduce el consumo.<\/p>\n      <p><b>Terreno ondulado.<\/b> Los repechos provocan picos de potencia. Aunque las bajadas compensan algo,\n      el consumo supera al de una ruta llana.<\/p>\n      <p><b>Rutas de monta\u00f1a.<\/b> El desnivel positivo es lo que m\u00e1s bater\u00eda consume: el motor eleva el peso contra\n      la gravedad. Pedalear activo puede gastar mucho menos que subir a asistencia m\u00e1xima.<\/p>\n    <\/div>\n    <div class=\"pm-figs\">\n      <div class=\"pm-fig\"><span><span class=\"k\">40\u201360&nbsp;%<\/span><span class=\"l\">del cat\u00e1logo es lo que sueles obtener en uso real<\/span><\/span><\/div>\n      <div class=\"pm-fig\"><span><span class=\"k\">+20 km\/h<\/span><span class=\"l\">el aire pasa a ser la fuerza que m\u00e1s consume<\/span><\/span><\/div>\n      <div class=\"pm-fig\"><span><span class=\"k\">7,5 Wh\/km<\/span><span class=\"l\">consumo t\u00edpico de una urbana eficiente<\/span><\/span><\/div>\n      <div class=\"pm-fig\"><span><span class=\"k\">\u00b110&nbsp;%<\/span><span class=\"l\">margen de seguridad que aplica la calculadora<\/span><\/span><\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"pm-s\">\n    <div class=\"pm-head\">\n      <h2>Autonom\u00eda aproximada seg\u00fan el tipo de bicicleta<\/h2>\n    <\/div>\n    <div class=\"pm-tw\">\n      <table>\n        <thead><tr><th>Tipo de bicicleta<\/th><th>Consumo base en llano<\/th><\/tr><\/thead>\n        <tbody>\n          <tr><td>Urbana o commuter<\/td><td><b>7,5 \u2013 11,2 Wh\/km<\/b><\/td><\/tr>\n          <tr><td>Plegable urbana<\/td><td><b>9,3 \u2013 13,7 Wh\/km<\/b><\/td><\/tr>\n          <tr><td>H\u00edbrida o trekking<\/td><td><b>11,2 \u2013 15,5 Wh\/km<\/b><\/td><\/tr>\n          <tr><td>Bicicleta el\u00e9ctrica de monta\u00f1a<\/td><td><b>13,7 \u2013 21,7 Wh\/km<\/b><\/td><\/tr>\n          <tr><td>Fat bike<\/td><td><b>15,5 \u2013 24,8 Wh\/km<\/b><\/td><\/tr>\n          <tr><td>Cargo bike<\/td><td><b>15,5 \u2013 24,8 Wh\/km<\/b><\/td><\/tr>\n        <\/tbody>\n      <\/table>\n    <\/div>\n    <p class=\"pm-note\">Valores orientativos. El consumo final cambia seg\u00fan el modo de asistencia, el desnivel,\n    la temperatura, el viento, el estado de la bater\u00eda y el peso transportado.<\/p>\n  <\/div>\n\n  <div class=\"pm-s\">\n    <div class=\"pm-head\">\n      <h2>Motor central o motor de buje: \u00bfcu\u00e1l ofrece m\u00e1s autonom\u00eda?<\/h2>\n    <\/div>\n    <div class=\"pm-motors\">\n      <div class=\"pm-motor\">\n        <div class=\"h\">\n          <i class=\"icon icon-feature-14\" aria-hidden=\"true\"><\/i>\n          <h3>Motor central<\/h3>\n          <span class=\"pm-badge\">Mejor en monta\u00f1a<\/span>\n        <\/div>\n        <p>Transmite la potencia por la cadena y aprovecha las marchas. En subida, elegir la marcha adecuada\n        mantiene una cadencia eficiente, reduce el sobrecalentamiento y aprovecha mejor la bater\u00eda.\n        Especialmente eficaz en rutas con desnivel.<\/p>\n      <\/div>\n      <div class=\"pm-motor\">\n        <div class=\"h\">\n          <i class=\"icon icon-rueda\" aria-hidden=\"true\"><\/i>\n          <h3>Motor de buje<\/h3>\n        <\/div>\n        <p>Va integrado en una rueda y funciona independientemente del cambio. Sencillo y eficiente en ciudad\n        y llano, pero pierde rendimiento en pendientes pronunciadas, cuando la rueda gira despacio,\n        lo que aumenta el consumo en monta\u00f1a exigente.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"pm-s tint\">\n    <div class=\"pm-head\">\n      <h2>C\u00f3mo conseguir m\u00e1s autonom\u00eda con tu e-bike<\/h2>\n    <\/div>\n    <ul class=\"pm-list c3\">\n      <li>\n        <i class=\"icon icon-feature-14\" aria-hidden=\"true\"><\/i>\n        <div><h3>Asistencia progresiva<\/h3><p>Reserva los modos potentes para las pendientes. En llano, Eco o Tour suelen bastar.<\/p><\/div>\n      <\/li>\n      <li>\n        <i class=\"icon icon-feature-19\" aria-hidden=\"true\"><\/i>\n        <div><h3>Cadencia adecuada<\/h3><p>Pedalear constante ayuda al motor a trabajar en su rango eficiente. Evita marchas demasiado largas.<\/p><\/div>\n      <\/li>\n      <li>\n        <i class=\"icon icon-bomba\" aria-hidden=\"true\"><\/i>\n        <div><h3>Presi\u00f3n de neum\u00e1ticos<\/h3><p>Una presi\u00f3n baja incrementa la rodadura. Revisa el rango recomendado por el fabricante.<\/p><\/div>\n      <\/li>\n      <li>\n        <i class=\"icon icon-bidon\" aria-hidden=\"true\"><\/i>\n        <div><h3>Reduce peso innecesario<\/h3><p>El equipaje afecta sobre todo en desnivel. Lleva lo justo y reparte bien la carga.<\/p><\/div>\n      <\/li>\n      <li>\n        <i class=\"icon icon-cuentakm\" aria-hidden=\"true\"><\/i>\n        <div><h3>Evita velocidades excesivas<\/h3><p>La resistencia del aire crece r\u00e1pido por encima de 20 km\/h y exige cada vez m\u00e1s potencia.<\/p><\/div>\n      <\/li>\n      <li>\n        <i class=\"icon icon-feature-15\" aria-hidden=\"true\"><\/i>\n        <div><h3>Protege la bater\u00eda del clima<\/h3><p>El fr\u00edo reduce la capacidad disponible y el calor extremo acelera la degradaci\u00f3n.\n        M\u00e1s en <a href=\"https:\/\/pedalmoto.com\/blog\/cuanto-dura-la-bateria-de-una-bicicleta-electrica\/\">c\u00f3mo cuidar la bater\u00eda<\/a>.<\/p><\/div>\n      <\/li>\n    <\/ul>\n  <\/div>\n\n  <div class=\"pm-s\">\n    <div class=\"pm-head\">\n      <h2>Temperatura, viento y condiciones de la ruta<\/h2>\n    <\/div>\n    <div class=\"pm-tw\">\n      <table>\n        <thead><tr><th>Temperatura exterior<\/th><th>Rendimiento de la bater\u00eda<\/th><th>Capacidad \u00fatil (500 Wh)<\/th><\/tr><\/thead>\n        <tbody>\n          <tr><td>M\u00e1s de 20 \u00b0C<\/td><td>100 %<\/td><td><b>500 Wh<\/b><\/td><\/tr>\n          <tr><td>10 \u2013 20 \u00b0C<\/td><td>~95 %<\/td><td><b>475 Wh<\/b><\/td><\/tr>\n          <tr><td>0 \u2013 10 \u00b0C<\/td><td>~85 %<\/td><td><b>425 Wh<\/b><\/td><\/tr>\n          <tr><td>Menos de 0 \u00b0C<\/td><td>~70 %<\/td><td><b>350 Wh<\/b><\/td><\/tr>\n        <\/tbody>\n      <\/table>\n    <\/div>\n    <p class=\"pm-lead\">El viento de cara tambi\u00e9n incrementa la energ\u00eda necesaria para mantener la velocidad:\n    uno moderado puede elevar el consumo entre un 15&nbsp;% y un 25&nbsp;%, sobre todo en zonas abiertas\n    y recorridos r\u00e1pidos.<\/p>\n  <\/div>\n\n  <div class=\"pm-s soft\">\n    <div class=\"pm-head\">\n      <h2>\u00bfPor qu\u00e9 la autonom\u00eda real no coincide con la anunciada?<\/h2>\n      <p class=\"pm-lead\">Las cifras comerciales se calculan en circunstancias controladas:<\/p>\n    <\/div>\n    <div class=\"pm-chips\">\n      <span class=\"pm-chip\"><i class=\"icon icon-checkbox-circle-line\" aria-hidden=\"true\"><\/i> Ciclista ligero<\/span>\n      <span class=\"pm-chip\"><i class=\"icon icon-checkbox-circle-line\" aria-hidden=\"true\"><\/i> Terreno llano y asfaltado<\/span>\n      <span class=\"pm-chip\"><i class=\"icon icon-checkbox-circle-line\" aria-hidden=\"true\"><\/i> Ausencia de viento<\/span>\n      <span class=\"pm-chip\"><i class=\"icon icon-checkbox-circle-line\" aria-hidden=\"true\"><\/i> Temperatura \u2248 20 \u00b0C<\/span>\n      <span class=\"pm-chip\"><i class=\"icon icon-checkbox-circle-line\" aria-hidden=\"true\"><\/i> Presi\u00f3n \u00f3ptima<\/span>\n      <span class=\"pm-chip\"><i class=\"icon icon-checkbox-circle-line\" aria-hidden=\"true\"><\/i> Asistencia m\u00ednima<\/span>\n    <\/div>\n    <div class=\"pm-callout\">\n      <i class=\"icon icon-information-line\" aria-hidden=\"true\"><\/i>\n      <div>\n        <h3>En una ruta real todo cambia a la vez<\/h3>\n        <p>Aparecen pendientes, frenadas, aceleraciones, cambios de firme y variaciones meteorol\u00f3gicas.\n        Por eso la distancia conseguida puede quedar muy por debajo del m\u00e1ximo anunciado. Calcular el consumo\n        con las condiciones concretas de tu recorrido acerca bastante m\u00e1s la cifra a lo que ver\u00e1s en el cuentakil\u00f3metros.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"pm-s\">\n    <div class=\"pm-head\">\n      <h2>Preguntas frecuentes sobre la autonom\u00eda<\/h2>\n    <\/div>\n    <div class=\"pm-faq\">\n      <div class=\"pm-qa\">\n        <button type=\"button\" aria-expanded=\"false\" aria-controls=\"faq-1\">\u00bfCu\u00e1ntos kil\u00f3metros dura la bater\u00eda de una bicicleta el\u00e9ctrica?<i class=\"icon icon-arrow-down-s-line\" aria-hidden=\"true\"><\/i><\/button>\n        <div class=\"a\" id=\"faq-1\"><p>Depende de la capacidad y del consumo medio. Una bater\u00eda de 500 Wh puede ofrecer desde menos de 30 km en condiciones muy exigentes hasta m\u00e1s de 80 o 100 km en condiciones favorables.<\/p><\/div>\n      <\/div>\n      <div class=\"pm-qa\">\n        <button type=\"button\" aria-expanded=\"false\" aria-controls=\"faq-2\">\u00bfC\u00f3mo se calcula la autonom\u00eda de una e-bike?<i class=\"icon icon-arrow-down-s-line\" aria-hidden=\"true\"><\/i><\/button>\n        <div class=\"a\" id=\"faq-2\"><p>La f\u00f3rmula b\u00e1sica divide la capacidad \u00fatil de la bater\u00eda (Wh) entre el consumo medio (Wh\/km). La estimaci\u00f3n debe corregirse seg\u00fan el peso, la pendiente, el motor, la temperatura, el viento y la asistencia.<\/p><\/div>\n      <\/div>\n      <div class=\"pm-qa\">\n        <button type=\"button\" aria-expanded=\"false\" aria-controls=\"faq-3\">\u00bfCu\u00e1nto consume una bicicleta el\u00e9ctrica por kil\u00f3metro?<i class=\"icon icon-arrow-down-s-line\" aria-hidden=\"true\"><\/i><\/button>\n        <div class=\"a\" id=\"faq-3\"><p>Una urbana eficiente consume entre 7 y 11 Wh\/km. Una bici de monta\u00f1a, una fat bike o una cargo puede superar los 15 o 20 Wh\/km.<\/p><\/div>\n      <\/div>\n      <div class=\"pm-qa\">\n        <button type=\"button\" aria-expanded=\"false\" aria-controls=\"faq-4\">\u00bfQu\u00e9 modo de asistencia consume menos bater\u00eda?<i class=\"icon icon-arrow-down-s-line\" aria-hidden=\"true\"><\/i><\/button>\n        <div class=\"a\" id=\"faq-4\"><p>El modo Eco suele ser el m\u00e1s eficiente. Turbo o Boost dan m\u00e1s potencia pero reducen notablemente la distancia disponible.<\/p><\/div>\n      <\/div>\n      <div class=\"pm-qa\">\n        <button type=\"button\" aria-expanded=\"false\" aria-controls=\"faq-5\">\u00bfLas pendientes gastan mucha bater\u00eda?<i class=\"icon icon-arrow-down-s-line\" aria-hidden=\"true\"><\/i><\/button>\n        <div class=\"a\" id=\"faq-5\"><p>S\u00ed. Subir desnivel exige elevar todo el peso del conjunto. El consumo depende de la inclinaci\u00f3n, la duraci\u00f3n de la subida y el esfuerzo del ciclista.<\/p><\/div>\n      <\/div>\n      <div class=\"pm-qa\">\n        <button type=\"button\" aria-expanded=\"false\" aria-controls=\"faq-6\">\u00bfEl fr\u00edo reduce la autonom\u00eda?<i class=\"icon icon-arrow-down-s-line\" aria-hidden=\"true\"><\/i><\/button>\n        <div class=\"a\" id=\"faq-6\"><p>S\u00ed. Las bajas temperaturas aumentan la resistencia interna de la bater\u00eda y reducen temporalmente la energ\u00eda disponible. La capacidad se recupera al volver a una temperatura adecuada.<\/p><\/div>\n      <\/div>\n      <div class=\"pm-qa\">\n        <button type=\"button\" aria-expanded=\"false\" aria-controls=\"faq-7\">\u00bfUna bater\u00eda antigua ofrece menos autonom\u00eda?<i class=\"icon icon-arrow-down-s-line\" aria-hidden=\"true\"><\/i><\/button>\n        <div class=\"a\" id=\"faq-7\"><p>S\u00ed. Con los ciclos de carga, las celdas pierden capacidad de forma progresiva. El estado de salud de la bater\u00eda debe tenerse en cuenta para una estimaci\u00f3n realista.<\/p><\/div>\n      <\/div>\n      <div class=\"pm-qa\">\n        <button type=\"button\" aria-expanded=\"false\" aria-controls=\"faq-8\">\u00bfEs mejor una bater\u00eda de 750 Wh que una de 625 Wh?<i class=\"icon icon-arrow-down-s-line\" aria-hidden=\"true\"><\/i><\/button>\n        <div class=\"a\" id=\"faq-8\"><p>Una de 750 Wh almacena m\u00e1s energ\u00eda, pero no garantiza por s\u00ed sola un aumento proporcional de autonom\u00eda. El peso, los neum\u00e1ticos, el motor y su programaci\u00f3n tambi\u00e9n influyen en el consumo.<\/p><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"pm-s\">\n    <div class=\"pm-cta\">\n      <i class=\"icon icon-support_agent\" aria-hidden=\"true\"><\/i>\n      <div>\n        <h2>\u00bfNecesitas ayuda para elegir tu bicicleta el\u00e9ctrica?<\/h2>\n        <p>Cu\u00e9ntanos por d\u00f3nde ruedas, cu\u00e1nto desnivel haces y qu\u00e9 autonom\u00eda necesitas.\n        Te decimos qu\u00e9 e-bike te encaja y qu\u00e9 bater\u00eda te sobra o te falta.<\/p>\n        <div class=\"pm-cta-row\">\n          <a class=\"pm-btn solid\" href=\"https:\/\/pedalmoto.com\/es\/3003-bicicletas-electricas\">\n            <i class=\"icon icon-mtb-1\" aria-hidden=\"true\"><\/i> Ver bicicletas el\u00e9ctricas\n          <\/a>\n          <a class=\"pm-btn line\" href=\"tel:+34958132154\">\n            <i class=\"icon icon-chat-1-line\" aria-hidden=\"true\"><\/i> Hablar con un asesor\n          <\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <script>\n  (function(){\n    \"use strict\";\n    var scope = document.getElementById('pm-ebike-content');\n    if(!scope) return;\n    scope.querySelectorAll('.pm-qa button').forEach(function(btn){\n      btn.addEventListener('click', function(){\n        var open  = btn.getAttribute('aria-expanded') === 'true';\n        var panel = btn.nextElementSibling;\n        btn.setAttribute('aria-expanded', String(!open));\n        panel.style.maxHeight = open ? null : panel.scrollHeight + 'px';\n      });\n    });\n  })();\n  <\/script>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Tres preguntas r\u00e1pidas y te decimos cu\u00e1nto vas a rodar de verdad de la buena. El resultado se actualiza desde la primera, as\u00ed que puedes ir probando. 1 Tu bici 2 Tu ruta 3 T\u00fa Tu bici Paso 1 de 3 Capacidad de la bater\u00eda 400 Wh 500 Wh 625 Wh 750 Wh 800 Wh [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1005,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4,133],"tags":[],"class_list":["post-983","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bicicleta-electrica","category-guias-de-compra-y-comparativas"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Calculadora de autonom\u00eda real de e-bike - Pedalmoto Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Calculadora de autonom\u00eda real de e-bike - Pedalmoto Blog\" \/>\n<meta property=\"og:description\" content=\"Tres preguntas r\u00e1pidas y te decimos cu\u00e1nto vas a rodar de verdad de la buena. El resultado se actualiza desde la primera, as\u00ed que puedes ir probando. 1 Tu bici 2 Tu ruta 3 T\u00fa Tu bici Paso 1 de 3 Capacidad de la bater\u00eda 400 Wh 500 Wh 625 Wh 750 Wh 800 Wh [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/\" \/>\n<meta property=\"og:site_name\" content=\"Pedalmoto Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Pedalmoto\/?locale=es_ES\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-06T06:54:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-03T07:11:18+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/pedalmoto.com\/blog\/wp-content\/uploads\/2026\/07\/calculadora-autonomia-real-bicicleta-electrica.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"934\" \/>\n\t<meta property=\"og:image:height\" content=\"622\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Pedalmoto\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Pedalmoto\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Calculadora de autonom\u00eda real de e-bike - Pedalmoto Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/","og_locale":"es_ES","og_type":"article","og_title":"Calculadora de autonom\u00eda real de e-bike - Pedalmoto Blog","og_description":"Tres preguntas r\u00e1pidas y te decimos cu\u00e1nto vas a rodar de verdad de la buena. El resultado se actualiza desde la primera, as\u00ed que puedes ir probando. 1 Tu bici 2 Tu ruta 3 T\u00fa Tu bici Paso 1 de 3 Capacidad de la bater\u00eda 400 Wh 500 Wh 625 Wh 750 Wh 800 Wh [&hellip;]","og_url":"https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/","og_site_name":"Pedalmoto Blog","article_publisher":"https:\/\/www.facebook.com\/Pedalmoto\/?locale=es_ES","article_published_time":"2026-07-06T06:54:09+00:00","article_modified_time":"2026-08-03T07:11:18+00:00","og_image":[{"width":934,"height":622,"url":"http:\/\/pedalmoto.com\/blog\/wp-content\/uploads\/2026\/07\/calculadora-autonomia-real-bicicleta-electrica.jpg","type":"image\/jpeg"}],"author":"Pedalmoto","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Pedalmoto","Est. reading time":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/#article","isPartOf":{"@id":"https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/"},"author":{"name":"Pedalmoto","@id":"https:\/\/pedalmoto.com\/blog\/#\/schema\/person\/4b5bbd5f16800ba5a8f19fd450a44f47"},"headline":"Calculadora de autonom\u00eda real de e-bike","datePublished":"2026-07-06T06:54:09+00:00","dateModified":"2026-08-03T07:11:18+00:00","mainEntityOfPage":{"@id":"https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/"},"wordCount":1700,"commentCount":0,"publisher":{"@id":"https:\/\/pedalmoto.com\/blog\/#organization"},"image":{"@id":"https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/#primaryimage"},"thumbnailUrl":"https:\/\/pedalmoto.com\/blog\/wp-content\/uploads\/2026\/07\/calculadora-autonomia-real-bicicleta-electrica.jpg","articleSection":["Bicicleta el\u00e9ctrica","Gu\u00edas de compra y comparativas"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/","url":"https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/","name":"Calculadora de autonom\u00eda real de e-bike - Pedalmoto Blog","isPartOf":{"@id":"https:\/\/pedalmoto.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/#primaryimage"},"image":{"@id":"https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/#primaryimage"},"thumbnailUrl":"https:\/\/pedalmoto.com\/blog\/wp-content\/uploads\/2026\/07\/calculadora-autonomia-real-bicicleta-electrica.jpg","datePublished":"2026-07-06T06:54:09+00:00","dateModified":"2026-08-03T07:11:18+00:00","breadcrumb":{"@id":"https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/#primaryimage","url":"https:\/\/pedalmoto.com\/blog\/wp-content\/uploads\/2026\/07\/calculadora-autonomia-real-bicicleta-electrica.jpg","contentUrl":"https:\/\/pedalmoto.com\/blog\/wp-content\/uploads\/2026\/07\/calculadora-autonomia-real-bicicleta-electrica.jpg","width":934,"height":622,"caption":"Ciclista subiendo un puerto de monta\u00f1a con una bicicleta el\u00e9ctrica de doble suspensi\u00f3n y el valle al fondo"},{"@type":"BreadcrumbList","@id":"https:\/\/pedalmoto.com\/blog\/calculadora-de-autonomia-real-de-e-bike\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https:\/\/pedalmoto.com\/es\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/pedalmoto.com\/blog\/"},{"@type":"ListItem","position":3,"name":"Calculadora de autonom\u00eda real de e-bike"}]},{"@type":"WebSite","@id":"https:\/\/pedalmoto.com\/blog\/#website","url":"https:\/\/pedalmoto.com\/blog\/","name":"Pedalmoto Blog","description":"","publisher":{"@id":"https:\/\/pedalmoto.com\/blog\/#organization"},"alternateName":"El blog de Pedalmoto","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pedalmoto.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/pedalmoto.com\/blog\/#organization","name":"Pedalmoto Blog","alternateName":"Pedalmoto","url":"https:\/\/pedalmoto.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/pedalmoto.com\/blog\/#\/schema\/logo\/image\/","url":"http:\/\/pedalmoto.com\/blog\/wp-content\/uploads\/2025\/03\/pedal-moto-logo-1679504248.png","contentUrl":"http:\/\/pedalmoto.com\/blog\/wp-content\/uploads\/2025\/03\/pedal-moto-logo-1679504248.png","width":298,"height":65,"caption":"Pedalmoto Blog"},"image":{"@id":"https:\/\/pedalmoto.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Pedalmoto\/?locale=es_ES","https:\/\/www.instagram.com\/pedalmoto\/?hl=es","https:\/\/www.tiktok.com\/@pedalmoto.bicicletas"]},{"@type":"Person","@id":"https:\/\/pedalmoto.com\/blog\/#\/schema\/person\/4b5bbd5f16800ba5a8f19fd450a44f47","name":"Pedalmoto","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/pedalmoto.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5d5f25bde46bb8d2a3941631f2789624?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5d5f25bde46bb8d2a3941631f2789624?s=96&d=mm&r=g","caption":"Pedalmoto"},"description":"Apasionado del ciclismo desde que tiene uso de raz\u00f3n y parte del equipo de Pedalmoto, la tienda online de referencia en Espa\u00f1a. Especializado en asesoramiento t\u00e9cnico sobre bicicletas de monta\u00f1a e-bikes, carretera y gravel. Su d\u00eda a d\u00eda se reparte entre la tienda y las rutas. En el blog de Pedalmoto comparte gu\u00edas, consejos de mantenimiento y todo lo que necesitas saber para sacarle el m\u00e1ximo partido a tu bici.","sameAs":["https:\/\/www.instagram.com\/pedalmoto\/?hl=es"],"url":"https:\/\/pedalmoto.com\/blog\/author\/pedalmoto\/"}]}},"_links":{"self":[{"href":"https:\/\/pedalmoto.com\/blog\/wp-json\/wp\/v2\/posts\/983","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pedalmoto.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pedalmoto.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pedalmoto.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/pedalmoto.com\/blog\/wp-json\/wp\/v2\/comments?post=983"}],"version-history":[{"count":12,"href":"https:\/\/pedalmoto.com\/blog\/wp-json\/wp\/v2\/posts\/983\/revisions"}],"predecessor-version":[{"id":1009,"href":"https:\/\/pedalmoto.com\/blog\/wp-json\/wp\/v2\/posts\/983\/revisions\/1009"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pedalmoto.com\/blog\/wp-json\/wp\/v2\/media\/1005"}],"wp:attachment":[{"href":"https:\/\/pedalmoto.com\/blog\/wp-json\/wp\/v2\/media?parent=983"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pedalmoto.com\/blog\/wp-json\/wp\/v2\/categories?post=983"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pedalmoto.com\/blog\/wp-json\/wp\/v2\/tags?post=983"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}