¿Qué Tybelt elegir y en qué talla?
Tres preguntas para encontrar tu modelo, una comparativa para comprobar y una guía para conocer tu talla de cinturón.
Comparar
Cinturones Tybelt y Tactybelt cara a cara
| Standard | Premium | Black Edition | Tactybelt |
| Tipo |
Cinturón de cinta plana flexible |
Cinturón de cinta plana flexible |
Cinturón de cinta plana flexible |
Cinturón táctico rígido de 42 mm |
| Precio |
59,90 € |
64,90 € |
69,90 € |
104,90 € → 129,90 € |
| Norma |
EN 566 |
EN 566 |
EN 566 |
por comprobar |
| Resistencia |
2.200 kg |
2.200 kg |
2.200 kg |
por completar |
| Hebilla |
Sin grabar |
Grabada |
Grabada |
Hebilla Cobra |
| Folleto de uso |
— |
Sí |
Sí |
por completar |
| Colores |
por completar |
Caqui, naranja |
Negro |
por completar |
| Tallas |
S → XL |
S → XXXL |
S → XXXL |
M, L, XL |
Cómo encontrar tu
talla de cinturón de hombre
El método más fiable es partir de un cinturón que ya lleves.
- Ponlo en plano.
- Mide desde la base de la hebilla hasta el agujero que más usas.
- Introduce esta medida en la tabla de tallas.
¿No tienes ningún cinturón a mano? Mide tu cintura donde llevas los pantalones y añade unos centímetros. Entre dos tallas, elige la mayor. Si te equivocas, el cambio es sencillo.
Tabla de tallas Tybelt
La tabla de tallas (S → XXXL, en cm y tallas de pantalón) llegará pronto.
FAQ
Preguntas frecuentes
¿Qué significa «certificado EN 566»?
La EN 566 es la norma europea para las cintas planas usadas en alpinismo y escalada. Tybelt es un equipo de protección individual de categoría III, validado por un examen CE y probado a más de 2 toneladas.
¿Cuál es la diferencia entre Standard, Premium y Black?
Los tres tienen la misma cinta certificada EN 566 (2.200 kg). El Standard tiene una hebilla lisa. El Premium tiene una hebilla grabada y un folleto de uso, en caqui o naranja. El Black Edition es negro, con hebilla grabada y folleto de uso.
¿Cuál es la diferencia entre un cinturón de cinta plana y un cinturón táctico?
El Tybelt es un cinturón de cinta plana flexible pensado para llevar cada día. El Tactybelt es un cinturón táctico rígido de 42 mm, con hebilla Cobra, para el terreno y para llevar equipo.
.tbq{background:#F4F5F0;margin-inline:0!important;padding:28px 40px 36px;text-align:left;scroll-margin-top:90px}.tbq *{box-sizing:border-box}.tbq button,.tq-ov button{font:inherit;text-transform:none!important;letter-spacing:normal!important;box-shadow:none!important;margin:0;line-height:1.3;min-height:0;height:auto;width:auto}.tq-imgs{display:none!important}.tq-fb{font:400 14px var(--W);color:#2E3631}.tq-who{display:flex;margin-bottom:18px}.tq-seg{display:inline-flex;border:1px solid #DDE1D9;border-radius:999px;background:#fff;padding:3px;gap:2px}.tq-seg button{font:600 13px var(--W);border:0;background:transparent;color:#1C1D1B;padding:8px 18px;border-radius:999px;cursor:pointer}.tq-seg button[aria-pressed="true"]{background:#1F3A2E;color:#F4F5F0}.tq-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:14px 32px;align-items:stretch}.tq-qs{display:flex;flex-direction:column;gap:14px}.tq-q{display:flex;flex-direction:column}.tq-box{flex:1;background:#fff;border:1px solid #DDE1D9;border-radius:6px;padding:14px 16px 16px}.tq-qh{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.tq-qh+.tq-hint{margin-top:-6px}h3.tq-t{font-family:var(--A)!important;font-stretch:75%;font-weight:800!important;font-size:22px!important;line-height:1.05!important;color:#1C1D1B!important;margin:0 0 4px!important;padding:0!important;text-transform:none!important;text-align:left!important}.tq-qh h3.tq-t{margin:0!important}.tq-hint{margin:0 0 12px;color:#5B645E;font:400 12.5px/1.5 var(--W)}.tq-rowB .tq-hint,.tq-rowC .tq-hint{min-height:1.4em}.tq-opts{display:flex;flex-wrap:wrap;gap:10px}.tq-opts.off{opacity:.45}.tq-opt{flex:1 1 150px;min-width:0;display:flex;gap:10px;align-items:center;text-align:left;color:#1C1D1B;background:#F4F5F0;border:1px solid #DDE1D9;border-radius:4px;padding:10px 12px;cursor:pointer}.tq-opt:disabled{cursor:not-allowed}.tq-opt .tx{min-width:0}.tq-opt b{display:block;font:700 13.5px var(--W);color:#1C1D1B}.tq-opt .tx span{display:block;font:400 11.5px var(--W);color:#5B645E;margin-top:2px}.tq-opt:hover:not(:disabled){border-color:#1F3A2E}.tq-opt[aria-pressed="true"]{background:#E7EEE8;border:2px solid #1F3A2E;padding:9px 11px}.tq-th{flex:0 0 40px;width:40px;height:40px;border-radius:4px;display:flex;align-items:flex-end;padding:3px;background:#2A4D3D repeating-linear-gradient(135deg,#2A4D3D 0 8px,#385B4B 8px 16px) center/cover}.tq-th.ph{background-color:#111;background-repeat:no-repeat}.tq-th i{font:600 8px/1.1 Consolas,Menlo,monospace;font-style:normal;background:#111;color:#fff;border-radius:2px;padding:2px 3px}.tq-rowB{display:flex;flex-direction:column;gap:14px}.tq-rowC{flex:1;display:flex;flex-direction:column}.tq-rowC .tq-q{flex:1}.tq-sw{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}.tq-s{background:none;border:0;padding:0;cursor:pointer;display:grid;gap:5px;justify-items:center;font:600 12px var(--W);color:#1C1D1B}.tq-s.fixed{cursor:default}.tq-dot{width:40px;height:40px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #DDE1D9;display:block}.tq-s[aria-pressed="true"] .tq-dot,.tq-s.fixed .tq-dot{box-shadow:0 0 0 3px #1F3A2E}.tq-sizes{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.tq-size{font:700 14px var(--W);min-width:56px;text-align:center;color:#1C1D1B;background:#F4F5F0;border:1px solid #DDE1D9;border-radius:4px;padding:10px 12px;cursor:pointer}.tq-size:hover{border-color:#1F3A2E}.tq-size[aria-pressed="true"]{background:#E7EEE8;border:2px solid #1F3A2E;padding:9px 11px}.tq-wait{font:400 12.5px var(--W);color:#5B645E;margin:6px 0 0}.tq-gbtn{display:inline-flex;align-items:center;font:700 12.5px var(--W);background:#E2701C;color:#fff;border:0;border-radius:999px;padding:8px 14px;cursor:pointer}.tq-gbtn:hover{background:#C95F14}.tq-res{display:flex;flex-direction:column;background:#fff;border:1px solid #1C1D1B;border-radius:6px;overflow:hidden}.tq-pack{min-height:130px;flex:1 0 130px;display:flex;align-items:flex-end;padding:10px;background:#2A4D3D repeating-linear-gradient(135deg,#2A4D3D 0 16px,#385B4B 16px 32px) center/cover}.tq-pack.ph{background-color:#EDEFE8;background-repeat:no-repeat}.tq-pack i{font:600 10px Consolas,Menlo,monospace;font-style:normal;background:#111;color:#fff;border-radius:3px;padding:3px 7px}.tq-rb{padding:16px 18px 18px;display:grid;gap:8px;align-content:start}.tq-kick{font:600 11px Consolas,Menlo,monospace;letter-spacing:.16em;text-transform:uppercase;color:#E2701C}h3.tq-n{font-family:var(--A)!important;font-stretch:75%;font-weight:800!important;font-size:26px!important;line-height:1.05!important;margin:0!important;padding:0!important;text-transform:none!important;color:#1C1D1B!important;text-align:left!important}.tq-lead{margin:0;color:#5B645E;font:400 13px/1.5 var(--W);min-height:3.1em}.tq-sp{list-style:none!important;margin:2px 0 0!important;padding:0!important;display:grid;gap:4px;font:400 13px var(--W);color:#1C1D1B;min-height:4.9em;align-content:start}.tq-sp li{list-style:none!important;margin:0;padding:0}.tq-sp li::before{content:"✓";color:#2F6B4A;font-weight:700;margin-right:8px}.tq-chips{display:flex;flex-wrap:wrap;gap:6px}.tq-chips span{font:500 12px Consolas,Menlo,monospace;color:#5B645E;background:#EDEFE8;border-radius:4px;padding:6px 9px}.tq-chips b{color:#1C1D1B}.tq-price{font-family:var(--A);font-stretch:75%;font-weight:800;font-size:28px;line-height:1.1;font-variant-numeric:tabular-nums;color:#1C1D1B;min-height:1.1em}.tq-add{display:block;width:100%!important;text-align:center;font:700 14px var(--W);padding:13px 18px;border:0;border-radius:4px;background:#E2701C;color:#fff;cursor:pointer}.tq-add:hover:not(:disabled){background:#C95F14}.tq-add:disabled{background:#EDEFE8;color:#5B645E;cursor:not-allowed}.tq-st{font:400 12.5px var(--W);color:#2F6B4A;min-height:1.2em}.tq-st.bad{color:#B3261E}.tq-reset{margin-top:12px;background:none;border:0;color:#5B645E;font:500 12px var(--W);text-decoration:underline;cursor:pointer;padding:0}.tq-ov{position:fixed;inset:0;z-index:2147483000;background:rgba(10,14,12,.62);display:flex;align-items:center;justify-content:center;padding:16px}.tq-ov[hidden]{display:none!important}.tq-dlg{background:#fff;color:#1C1D1B;border-radius:8px;width:min(680px,100%);max-height:calc(100% - 8px);overflow:auto;padding:22px 22px 24px;position:relative;text-align:left}h3.tq-gt{font-family:var(--A)!important;font-stretch:75%;font-weight:800!important;font-size:28px!important;line-height:1.05!important;margin:0 36px 12px 0!important;padding:0!important;text-transform:none!important;color:#1C1D1B!important}.tq-x{position:absolute;top:12px;right:12px;width:36px!important;height:36px!important;border-radius:50%;border:1px solid #DDE1D9;background:#F4F5F0;color:#1C1D1B;font:600 18px/1 var(--W);cursor:pointer;padding:0}.tq-tip{margin:0 0 10px;font:400 12.5px var(--W);color:#5B645E}.tq-tw{overflow-x:auto}.tq-tw table{border-collapse:collapse;width:100%;min-width:420px;font-variant-numeric:tabular-nums;margin:0;border:0}.tq-tw th,.tq-tw td{border:1px solid #DDE1D9!important;padding:9px 10px;text-align:center;font:500 13.5px var(--W);color:#1C1D1B;background:#fff}.tq-tw thead th{background:#1F3A2E;color:#F4F5F0;font:800 16px var(--A);font-stretch:75%;padding:0}.tq-tw tbody th{text-align:left;background:#F4F5F0;font-weight:600;color:#5B645E}.tq-pk{display:block;width:100%!important;font:inherit;color:inherit;background:none;border:0;padding:11px 8px;cursor:pointer}.tq-tw thead th:hover{background:#B9DCC6;color:#1C1D1B;box-shadow:inset 0 0 0 2px #1F3A2E}.tq-tw td[data-c]{cursor:pointer}.tq-tw td[data-c]:hover{background:#B9DCC6;box-shadow:inset 0 0 0 2px #1F3A2E;font-weight:700}.tq-tw .col{background:#E7EEE8!important;box-shadow:inset 0 0 0 1px #1F3A2E}.tq-tw thead th.col{background:#E2701C!important;color:#fff}.tq-conf{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#E7EEE8;border:1px solid #1F3A2E;border-radius:6px;padding:12px 14px}.tq-conf[hidden]{display:none!important}.tq-conf span{flex:1 1 200px;font:600 13.5px var(--W)}.tq-conf button{font:700 13px var(--W);border:0;border-radius:4px;padding:9px 16px;cursor:pointer}.tq-yes{background:#E2701C;color:#fff}.tq-yes:hover{background:#C95F14}.tq-no{background:#fff;color:#1C1D1B;border:1px solid #DDE1D9!important}.tq-ew{margin-top:16px;border:2px dashed #DDE1D9;border-radius:6px;padding:18px;text-align:center;color:#5B645E;font:500 12.5px Consolas,Menlo,monospace;background:#F4F5F0}.tq-opt:focus-visible,.tq-add:focus-visible,.tq-gbtn:focus-visible,.tq-seg button:focus-visible,.tq-s:focus-visible,.tq-size:focus-visible,.tq-conf button:focus-visible,.tq-x:focus-visible,.tq-pk:focus-visible{outline:3px solid #E2701C;outline-offset:2px}@media (max-width:820px){.tbq{padding:24px 16px 30px}.tq-grid{grid-template-columns:minmax(0,1fr)}.tq-rowB{grid-template-columns:minmax(0,1fr);min-height:0}.tq-pack{flex:0 0 200px}.tq-rb{min-height:0}}.tq-sub{font:400 12px var(--W);color:#5B645E;min-height:1.2em}.tq-rowD{display:flex;flex-direction:column;gap:14px}.tq-rowD .tq-q{flex:1}.tq-qs2{display:flex;flex-direction:column}.tq-res2{justify-content:flex-start}.tq-rb2{gap:10px}.tq-ln{display:flex;justify-content:space-between;gap:12px;font:400 13px var(--W);color:#2E3631;border-bottom:1px solid #E6E9E1;padding-bottom:8px}.tq-ln b{font-weight:700;white-space:nowrap}.tq-tot{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--A);font-stretch:75%;font-weight:800;font-size:22px;color:#1C1D1B}.tq-tot b{font-size:30px;font-variant-numeric:tabular-nums}.tq-acc2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.tq-acc2.off{opacity:.5}.tq-accc{display:flex;flex-direction:column;gap:8px}.tq-accc .tq-opt{flex:none}.tq-acch{font:700 12px var(--W);text-transform:uppercase;letter-spacing:.08em;color:#5B645E}.tq-opt{padding:7px 10px}.tq-opt[aria-pressed="true"]{padding:6px 9px}.tq-box{padding:10px 14px 12px}h3.tq-t{font-size:19px!important}.tq-dual{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px}.tq-fld{min-width:0}.tq-fld.off,.tq-box.off{opacity:.45}.tq-opts-v{flex-direction:column;flex-wrap:nowrap;gap:8px}.tq-opts-v .tq-opt{flex:none}.tq-qh2{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.tq-qh2 h3.tq-t{margin:0!important}.tq-hnt{font:400 12px/1.4 var(--W);color:#5B645E;flex:1 1 auto}p.tq-hnt{margin:6px 0 0}.tq-seg.sm button{padding:5px 16px;font-size:12px}.tq-acc2.offc{opacity:.5}.tq-sizes{margin-top:0}.tq-size{padding:7px 12px;min-width:50px}.tq-size[aria-pressed="true"]{padding:6px 11px}.tq-wait{margin:2px 0 0}.tq-acc2{gap:10px}.tq-s:disabled,.tq-opt:disabled{cursor:not-allowed}.tq-rowD .tq-hint{margin:0 0 8px;min-height:0}.tq-qh2 .tq-gbtn:disabled{opacity:.5}.tq-th{flex:0 0 60px;width:60px;height:60px}.tq-opt{gap:12px}.tq-pack{flex:none;min-height:0;aspect-ratio:7/4}.tq-lead{min-height:0}.tq-sp{min-height:0}.tq-st:empty{display:none}.tq-rowC .tq-box{display:flex;flex-direction:column;justify-content:center}.tq-res2 .tq-rb2{flex:1;display:flex;flex-direction:column;justify-content:space-between}.tq-sw-i{display:flex;gap:10px;margin:0;flex-wrap:wrap}.tq-sw-i .tq-s{display:inline-flex;align-items:center;gap:6px;font-size:12px}.tq-sw-i .tq-dot{width:26px;height:26px}.tq-qh2 .tq-hnt{flex:1 1 140px}.tq-pack.tq-pt{aspect-ratio:4/3}.tq-rowA{display:flex;flex-direction:column;gap:14px}.tq-rad{display:flex;gap:20px;flex-wrap:wrap}.tq-r{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:4px 2px;font:600 13px var(--W);color:#1C1D1B;cursor:pointer}.tq-rc{width:18px;height:18px;border-radius:50%;border:2px solid #1F3A2E;background:#fff;display:inline-block;position:relative;flex:0 0 18px}.tq-r:hover:not(:disabled) .tq-rc{background:#E7EEE8}.tq-r[aria-pressed="true"] .tq-rc::after{content:"";position:absolute;inset:3px;border-radius:50%;background:#1F3A2E}.tq-r:disabled{cursor:not-allowed}.tq-r:focus-visible{outline:3px solid #E2701C;outline-offset:2px}@media(max-width:820px){.tq-qs{order:1}.tq-qs.tq-qs2{order:2}.tq-res{order:3}.tq-res.tq-res2{order:4}}.tq-ew{display:none}.tq-rad{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:center}.tq-r{display:inline-flex;align-items:center;justify-content:center;min-width:112px;height:36px;padding:0 20px;border:1px solid #DDE1D9;border-radius:99px;background:#F4F5F0;color:#1C1D1B;font:600 13.5px var(--W);line-height:1;transition:background .15s,border-color .15s,color .15s}.tq-rc{display:none!important}.tq-r:hover:not(:disabled){border-color:#E2701C;background:#fff;color:#E2701C}.tq-r[aria-checked=true],.tq-r[aria-pressed=true]{background:#E2701C;border-color:#E2701C;color:#fff;box-shadow:0 2px 8px rgba(226,112,28,.28)}.tq-r:disabled{opacity:.5}.tq-qh2{justify-content:center;gap:10px 18px;margin-bottom:0}
(function(){var root=document.getElementById("questionnaire");if(!root||!window.prestashop)return; var IM={};[].forEach.call(root.querySelectorAll(".tq-imgs img"),function(i){IM[i.className.replace("tq-i-","")]=i.getAttribute("src")}); var COL={orange:["Naranja","#E2701C"],kaki:["Caqui","#6B6F45"],noir:["Negro","#1C1D1B"]}; var ORD=["XS","S","M","L","XL","XXL","XXXL"]; var SP="Cinta certificada EN 566 · 2.200 kg"; var CAT={std:{id:5,n:"Tybelt Standard",pk:"Standard · Naranja",lead:"El cinturón de cada día, sin grabado.",sp:[SP,"Hebilla lisa"]}, po:{id:9,c:"orange",n:"Tybelt Premium Naranja",pk:"Premium · Naranja",lead:"Hebilla grabada y folleto de uso, en naranja.",sp:[SP,"Hebilla grabada","Folleto de uso"]}, pk:{id:9,c:"kaki",n:"Tybelt Premium Caqui",pk:"Premium · Caqui",lead:"Hebilla grabada y folleto de uso, en caqui.",sp:[SP,"Hebilla grabada","Folleto de uso"]}, bl:{id:8,n:"Tybelt Black Edition",pk:"Black Edition",lead:"La versión negra, hebilla grabada y folleto de uso.",sp:[SP,"Hebilla grabada","Folleto de uso"]}, be:{id:233,n:"Tactybelt Beta",pk:"Tactybelt Beta",lead:"El cinturón táctico rígido, sin eslabón rápido Delta.",sp:["Cinta rígida de 42 mm","Hebilla Cobra AustriAlpin"]}, de:{id:232,n:"Tactybelt Delta",pk:"Tactybelt Delta",lead:"El cinturón táctico rígido, con eslabón rápido Delta.",sp:["Cinta rígida de 42 mm","Hebilla Cobra AustriAlpin","Eslabón rápido Delta"]}, k22:{id:235,n:"Tactybelt 22kN",pk:"Tactybelt 22kN",lead:"El cinturón táctico rígido, con la hebilla Tybelt.",sp:["Cinturón táctico rígido","La misma hebilla que el Tybelt"]}}; var ACC={a1:{id:3,t:"1 mosquetón de acero",s:"Mosquetón de rosca"},n1:{id:10,t:"1 mosquetón negro",s:"Mosquetón de rosca"},a2:{id:242,t:"2 mosquetones de acero",s:"Pack Pro"},n2:{id:243,t:"2 mosquetones negros",s:"Pack Pro"}}; var AD={}; var G={ty:{t:"Guía de tallas Tybelt",h:["S","M","L","XL","XXL","XXXL"],r:[["Cintura (cm)","75–85","85–95","95–105","105–115","115–125","125"],["Talla de pantalón (EU)","34–38","38–42","42–46","46–50","50–54","54"],["Longitud del cinturón (cm)","95","105","115","125","135","145"]]}, tac:{t:"Guía de tallas Tactybelt",h:["M","L","XL"],r:[["Talla de pantalón (EU)","36–40","40–44","44–50"],["Cintura mín. (cm)","80","95","105"],["Cintura máx. (cm)","95","105","125"]]}}; var DEF={who:null,use:null,grav:null,color:null,cobra:null,delta:null,size:null,acc:null,accq:null,ipa:null,stock:null,chk:false,msg:"",busy:false}; var S=Object.assign({},DEF),LD={},LP={},LE={},seq=0,pend=null,cur="ty"; function money(a){return(Math.round(a*100)/100).toFixed(2).replace(".",",")+" €"} function key(){if(S.use===null)return null;if(S.use==="tact"){if(S.cobra===null)return null;if(S.cobra==="non")return"k22";if(S.delta===null)return null;return S.delta==="avec"?"de":"be"}if(S.grav===null)return null;if(S.grav==="sans")return"std";return S.color==="orange"?"po":S.color==="kaki"?"pk":S.color==="noir"?"bl":null} function st1(){return S.use!==null} function st2(){return st1()&&(S.use==="tact"?S.cobra!==null:S.grav!==null)} function st3(){return !!key()} function st4(){return st3()&&S.size!==null} function th(im,t){return im?'<i class="tq-th ph" style="background-image:url('+im+')"></i>':(t===""?"":'<i class="tq-th"><i>'+t+"</i></i>")} function opt(q,v,t,s,img,dis,im){return'<button type="button" class="tq-opt" data-q="'+q+'" data-v="'+v+'"'+(dis?" disabled":"")+' aria-pressed="'+(!dis&&S[q]===v)+'">'+th(im||IM[q+"_"+v],img)+'<span class="tx"><b>'+t+"</b><span>"+s+"</span></span></button>"} function box(t,h,body,x){return'<div class="tq-q"><div class="tq-box"><div class="tq-qh"><h3 class="tq-t">'+t+"</h3>"+(x||"")+"</div>"+(h?'<p class="tq-hint">'+h+"</p>":"")+body+"</div></div>"} function refreshJ(id){var b=new URLSearchParams();b.append("ajax","1");b.append("action","refresh");b.append("quantity_wanted","1");b.append("id_product",id);b.append("id_customization","0");return fetch(prestashop.urls.pages.product,{method:"POST",credentials:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest"},body:b}).then(function(r){return r.json()})} function pdata(R){try{return JSON.parse(new DOMParser().parseFromString(R.product_details||"","text/html").querySelector("#product-details").getAttribute("data-product"))}catch(e){return{}}} function load(k){if(LP[k])return;LP[k]=1;LE[k]=0;refreshJ(CAT[k].id).then(function(R){var j=pdata(R),d=new DOMParser().parseFromString('<div class="product-variants">'+(R.product_variants||"")+"</div>","text/html"),sel=d.querySelector(".product-variants select"),sz=[],g=""; if(sel){g=sel.name;[].forEach.call(sel.options,function(o){sz.push({l:o.textContent.trim(),v:o.value})})}else{[].forEach.call(d.querySelectorAll(".product-variants input[type=radio]"),function(r){g=r.name;var lb=r.closest("label");sz.push({l:(lb?lb.textContent:r.value).trim(),v:r.value})})} sz.sort(function(a,b){var x=ORD.indexOf(a.l),y=ORD.indexOf(b.l);return(x<0?99:x)-(y<0?99:y)}); var th=new DOMParser().parseFromString(R.product_cover_thumbnails||"","text/html"),ci=th.querySelector("img"),c=j.cover||{},im=ci?(ci.getAttribute("data-image-large-src")||ci.getAttribute("src")):((c.bySize&&c.bySize.large_default&&c.bySize.large_default.url)||(c.large&&c.large.url)||""); var cr=[].slice.call(d.querySelectorAll(".product-variants input[type=radio]")),cg=(sel&&cr.length)?cr[0].name:"",cv=(sel&&cr.length)?cr.map(function(r){var lb=r.closest("label");return{l:((lb?lb.textContent:"")||"").trim().toLowerCase(),v:r.value}}):[]; LD[k]={img:im,price:j.price||"",a:j.price_amount||0,sizes:sz,g:g,cg:cg,cv:cv,sv:sel?sel.value:""};if(CAT[k].c&&cg)colorImg(k);if(key()===k){validate();draw()}}).catch(function(e){LP[k]=0;LE[k]=(e&&e.message)||"erreur";try{console.error("questionnaire",k,e)}catch(x){}if(key()===k)draw()})} function colorImg(k){var d=LD[k],o=d.cv.filter(function(c){return c.l.indexOf(CAT[k].c)>-1})[0];if(!o)return;var b=new URLSearchParams();b.append("ajax","1");b.append("action","refresh");b.append("quantity_wanted","1");b.append("id_product",CAT[k].id);b.append("id_customization","0");b.append(d.g,d.sv);b.append(d.cg,o.v);fetch(prestashop.urls.pages.product,{method:"POST",credentials:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest"},body:b}).then(function(r){return r.json()}).then(function(j){var h=new DOMParser().parseFromString(j.product_cover_thumbnails||"","text/html"),i=h.querySelector("img"),s=i&&(i.getAttribute("data-image-large-src")||i.getAttribute("src"));if(s){d.img=s;if(key()===k)drawRes()}}).catch(function(){})} function loadAcc(k){refreshJ(ACC[k].id).then(function(R){var j=pdata(R),bt=new DOMParser().parseFromString(R.product_add_to_cart||"","text/html").querySelector(".add-to-cart"),th=new DOMParser().parseFromString(R.product_cover_thumbnails||"","text/html"),ci=th.querySelector("img"),c=j.cover||{};AD[k]={a:j.price_amount||0,p:j.price||"",ok:!(bt&&bt.disabled),img:(c.bySize&&c.bySize.medium_default&&c.bySize.medium_default.url)||(ci?(ci.getAttribute("data-image-large-src")||ci.getAttribute("src")):"")};draw()}).catch(function(){})} function validate(){var k=key(),d=k&&LD[k];S.ipa=null;S.stock=null;if(!d||!S.size)return;var s=d.sizes.filter(function(x){return x.l===S.size})[0];if(!s){S.size=null;return} var b=new URLSearchParams();b.append("ajax","1");b.append("action","refresh");b.append("quantity_wanted","1");b.append("id_product",CAT[k].id);b.append("id_customization","0");b.append(d.g,s.v);if(d.cg&&CAT[k].c){var co=d.cv.filter(function(c){return c.l.indexOf(CAT[k].c)>-1})[0];if(co)b.append(d.cg,co.v)}var my=++seq;S.chk=true; fetch(prestashop.urls.pages.product,{method:"POST",credentials:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest"},body:b}).then(function(r){return r.json()}).then(function(j){if(my!==seq)return;var h=new DOMParser().parseFromString(j.product_add_to_cart||"","text/html"),bt=h.querySelector(".add-to-cart");S.ipa=j.id_product_attribute;S.stock=!(bt&&bt.disabled);S.chk=false;drawRes()}).catch(function(){if(my!==seq)return;S.chk=false;S.stock=null;drawRes()})} function accBox(){var a1=AD.a1,a2=AD.a2,n1=AD.n1,n2=AD.n2,on=st4(),yes=S.accq==="oui",hint="El pack de 2 cuesta menos que dos mosquetones sueltos.";if(a1&&a2&&2*a1.a>a2.a)hint="Con el pack de 2 ahorras "+money(2*a1.a-a2.a)+" en acero"+(n1&&n2&&2*n1.a>n2.a?" et "+money(2*n1.a-n2.a)+" en negro":"")+"."; function sv(k){var x=k==="a2"?[AD.a1,AD.a2]:(k==="n2"?[AD.n1,AD.n2]:null);return x&&x[0]&&x[1]&&2*x[0].a>x[1].a?2*x[0].a-x[1].a:0} function o(k,t){var d=AD[k],dis=!on||!yes||(d?!d.ok:false);return opt("acc",k,t,(ACC[k].s==="Pack Pro"?"Pack Pro · ":"")+(d?"+"+money(d.a):"")+(sv(k)?" · ahorras "+money(sv(k)):"")+(yes&&d&&!d.ok?" · no disponible":""),"mousqueton",dis,d&&d.img)} function ra(v,t){return'<button type="button" class="tq-r" role="radio" data-q="accq" data-v="'+v+'"'+(on?"":" disabled")+' aria-checked="'+(S.accq===v)+'" aria-pressed="'+(S.accq===v)+'"><span class="tq-rc"></span>'+t+"</button>"}var seg='<div class="tq-rad">'+ra("oui","Sí")+ra("non","No")+"</div>"; return'<div class="tq-q"><div class="tq-box'+(on?"":" off")+'"><div class="tq-qh2"><h3 class="tq-t">¿Añadir mosquetones?</h3>'+seg+'</div><div class="tq-acc2'+(yes?"":" offc")+'"><div class="tq-accc"><div class="tq-acch">Acero</div>'+o("a1","1 mosquetón")+o("a2","2 mosquetones")+'</div><div class="tq-accc"><div class="tq-acch">Negro</div>'+o("n1","1 mosquetón")+o("n2","2 mosquetones")+"</div></div></div></div>"} function boxo(t,on,body){return'<div class="tq-q"><div class="tq-box'+(on?"":" off")+'"><h3 class="tq-t">'+t+"</h3>"+body+"</div></div>"} function fld(t,on,body){return'<div class="tq-fld'+(on?"":" off")+'"><h3 class="tq-t">'+t+"</h3>"+body+"</div>"} function qs(){var gift=S.who==="gift",tact=S.use==="tact",k=key(),d=k&&LD[k],on1=st1(),on2=st2(),on3=st3(); var on0=S.who!==null;function rw(v,t){return'<button type="button" class="tq-r" role="radio" data-w="'+v+'" aria-checked="'+(S.who===v)+'" aria-pressed="'+(S.who===v)+'"><span class="tq-rc"></span>'+t+"</button>"} var a='<div class="tq-q"><div class="tq-box"><div class="tq-qh2"><h3 class="tq-t">¿Para quién es?</h3><div class="tq-rad">'+rw("self","Para mí")+rw("gift","Para regalar")+"</div></div></div></div>"+boxo(gift?"¿Cómo crees que lo llevará?":"¿Cómo lo llevarás?",on0,'<div class="tq-opts">'+opt("use","quot","Cada día","Gama Tybelt · bricolaje, salidas, viajes","Tybelt",!on0)+opt("use","tact","Pro o táctico","Gama Tactybelt · terreno, equipo","Tactybelt",!on0)+"</div>"); var b1,b2; if(!tact){b1=boxo("¿Con o sin grabado?",on1,'<div class="tq-opts">'+opt("grav","sans","Sin grabado","Lo esencial: el Standard","hebilla lisa",!on1)+opt("grav","avec","Grabado + folleto","Hebilla grabada, folleto de uso","hebilla grabada",!on1)+"</div>"); if(S.grav==="sans")b2='<div class="tq-q"><div class="tq-box"><div class="tq-qh2"><h3 class="tq-t">¿Qué color?</h3><div class="tq-sw tq-sw-i"><div class="tq-s fixed"><span class="tq-dot" style="background:'+COL.orange[1]+'"></span>Naranja</div></div><span class="tq-hnt">El Standard solo tiene un color.</span></div></div></div>'; else b2='<div class="tq-q"><div class="tq-box'+(on2?"":" off")+'"><div class="tq-qh2"><h3 class="tq-t">¿Qué color?</h3><div class="tq-sw tq-sw-i">'+["orange","kaki","noir"].map(function(c){return'<button type="button" class="tq-s" data-q="color" data-v="'+c+'"'+(on2?"":" disabled")+' aria-pressed="'+(S.color===c)+'"><span class="tq-dot" style="background:'+COL[c][1]+'"></span>'+COL[c][0]+"</button>"}).join("")+'</div><span class="tq-hnt">Naranja o caqui: Premium. Negro: Black Edition.</span></div></div></div>'} else{b1=boxo("¿Con o sin hebilla Cobra?",on1,'<div class="tq-opts">'+opt("cobra","oui","Con hebilla Cobra","Beta o Delta","Cobra",!on1)+opt("cobra","non","Sin hebilla Cobra","Tactybelt 22kN","Hebilla Tybelt",!on1)+"</div>"); var off=S.cobra==="non";b2=boxo("¿Con o sin eslabón rápido Delta?",on2&&!off,'<div class="tq-opts">'+opt("delta","sans","Sin eslabón rápido Delta","Tactybelt Beta","Beta",!on2||off)+opt("delta","avec","Con eslabón rápido Delta","Tactybelt Delta","Eslabón rápido Delta",!on2||off)+"</div>")} var b=b1+b2; var sb;if(!on3)sb='<p class="tq-wait">Responde primero a las preguntas de arriba.</p>';else if(!d)sb=LE[key()]?'<p class="tq-wait">No se pudieron cargar las tallas ('+LE[key()]+'). <button type="button" class="tq-reset" data-retry="1">Reintentar</button></p>':'<p class="tq-wait">Cargando tallas…</p>';else if(!d.sizes.length)sb='<p class="tq-wait">Este modelo no está disponible temporalmente en ninguna talla.</p>';else sb='<div class="tq-sizes">'+d.sizes.map(function(s){return'<button type="button" class="tq-size" data-q="size" data-v="'+s.l+'" aria-pressed="'+(S.size===s.l)+'">'+s.l+"</button>"}).join("")+"</div>"; var c4='<div class="tq-q"><div class="tq-box'+(on3?"":" off")+'"><div class="tq-qh2"><h3 class="tq-t">¿Qué talla?</h3><span class="tq-hnt">'+(gift?"¿No estás seguro de tu talla? Elige la mayor: el cambio es sencillo.":"Mide un cinturón que ya lleves.")+'</span><button type="button" class="tq-gbtn" data-g="'+(tact?"tac":"ty")+'"'+(on3?"":" disabled")+">Guía de tallas</button></div>"+sb+"</div></div>"; return'<div class="tq-rowA">'+a+'</div><div class="tq-rowB">'+b+'</div><div class="tq-rowC">'+c4+"</div>"} function ctx(){var k=key();return{k:k,d:k&&LD[k],P:k?CAT[k]:{n:"Tu cinturón",pk:"Tybelt · Tactybelt",lead:"Responde a las preguntas para ver nuestra recomendación.",sp:[]}}} function res(){var c=ctx(),d=c.d,P=c.P;var col=S.use==="quot"?(S.grav==="avec"?(S.color?COL[S.color][0]:"por elegir"):"Naranja"):""; var pk=d&&d.img?'<div class="tq-pack ph'+(c.k&&/^(be|de|k22)$/.test(c.k)?" tq-pt":"")+'" style="background-image:url('+d.img+')"></div>':'<div class="tq-pack"><i>Packshot · '+P.pk+"</i></div>"; return pk+'<div class="tq-rb"><div class="tq-kick">Nuestra recomendación</div><h3 class="tq-n">'+P.n+'</h3><p class="tq-lead">'+P.lead+'</p><ul class="tq-sp">'+P.sp.map(function(x){return"<li>"+x+"</li>"}).join("")+'</ul><div class="tq-chips">'+(col?"<span>Color: <b>"+col+"</b></span>":"")+"<span>Talla: <b>"+(S.size||"por elegir")+'</b></span></div><div class="tq-price">'+(d?d.price:"")+"</div></div>"} function res2(){var c=ctx(),k=c.k,d=c.d,P=c.P,chosen=S.acc!==null,ad=(chosen&&S.acc!=="none")?AD[S.acc]:null,accOk=!chosen||S.acc==="none"||(ad&&ad.ok); var ready=k&&S.size&&S.ipa&&S.stock&&!S.chk,ok=ready&&chosen&&accOk; var lb=!k?"Responde a las preguntas":(!S.size?"Elige una talla":(S.chk?"Comprobando…":(S.stock===false?"No disponible":(!chosen?"Elige tus mosquetones":(!accOk?"Mosquetones no disponibles":"Añadir al carrito"))))); if(d&&!d.sizes.length)lb="Modelo no disponible";var st=S.size&&S.stock===false?'<div class="tq-st bad">Esta talla no está disponible temporalmente.</div>':'<div class="tq-st'+(S.msg?" bad":"")+'">'+(S.msg||"")+"</div>"; var total=(d?d.a:0)+(ad?ad.a:0); return'<div class="tq-rb tq-rb2"><div class="tq-kick">Tu selección</div><div class="tq-ln"><span>'+(k?P.n:"Cinturón")+(S.size?" · "+S.size:"")+"</span><b>"+(d?d.price:"—")+'</b></div><div class="tq-ln"><span>'+(chosen?(S.acc==="none"?"Sin mosquetón":ACC[S.acc].t):"Mosquetones: por elegir")+"</span><b>"+(ad?"+ "+ad.p:(chosen?"—":""))+'</b></div><div class="tq-tot"><span>Total</span><b>'+(d&&chosen?money(total):"—")+'</b></div><button type="button" class="tq-add" id="tq-add"'+(ok&&!S.busy?"":" disabled")+">"+(S.busy?"Añadiendo…":lb)+"</button>"+st+"</div>"} function drawRes(){var e=document.getElementById("tq-res"),e2=document.getElementById("tq-res2");if(e)e.innerHTML=res();if(e2)e2.innerHTML=res2()} function draw(f){var gift=S.who==="gift";root.innerHTML='<div class="tq-grid"><div class="tq-qs">'+qs()+'</div><aside class="tq-res" id="tq-res">'+res()+'</aside><div class="tq-qs tq-qs2"><div class="tq-rowD">'+accBox()+'</div></div><aside class="tq-res tq-res2" id="tq-res2" aria-live="polite">'+res2()+'</aside></div><button type="button" class="tq-reset" id="tq-reset">Empezar de nuevo</button>'; if(f){var e=root.querySelector('[data-q="'+f[0]+'"][data-v="'+f[1]+'"]')||root.querySelector('[data-w="'+f[1]+'"]');if(e)e.focus()}var k=key();if(k&&!LD[k])load(k)} var ov;function modal(){if(ov)return;ov=document.createElement("div");ov.className="tq-ov";ov.hidden=true;ov.innerHTML='<div class="tq-dlg" role="dialog" aria-modal="true" aria-labelledby="tq-gt"><button type="button" class="tq-x" id="tq-gx" aria-label="Close">×</button><h3 class="tq-gt" id="tq-gt"></h3><p class="tq-tip">Haz clic en tu talla en la tabla para elegirla.</p><div class="tq-tw" id="tq-tab"></div><div class="tq-conf" id="tq-conf" hidden><span id="tq-msg"></span><button type="button" class="tq-yes" id="tq-yes">Sí, elegir</button><button type="button" class="tq-no" id="tq-no">No</button></div><div class="tq-ew">Texto y foto pendientes: cómo elegir tu talla.</div></div>';document.body.appendChild(ov)} function mark(s){[].forEach.call(ov.querySelectorAll("[data-c]"),function(c){c.classList.toggle("col",!!s&&c.getAttribute("data-c")===s)})} function openG(k){modal();cur=k;var g=G[k];pend=null;document.getElementById("tq-gt").textContent=g.t; document.getElementById("tq-tab").innerHTML="<table><thead><tr><th></th>"+g.h.map(function(x){return'<th data-c="'+x+'"><button type="button" class="tq-pk" data-p="'+x+'">'+x+"</button></th>"}).join("")+"</tr></thead><tbody>"+g.r.map(function(r){return"<tr><th>"+r[0]+"</th>"+r.slice(1).map(function(x,i){return'<td data-p="'+g.h[i]+'" data-c="'+g.h[i]+'">'+x+"</td>"}).join("")+"</tr>"}).join("")+"</tbody></table>"; document.getElementById("tq-conf").hidden=true;mark(S.size);ov.hidden=false;document.getElementById("tq-gx").focus()} function closeG(){if(ov)ov.hidden=true} function reset(){S=Object.assign({},DEF);seq++;draw()} function postAdd(id,ipa){var b=new URLSearchParams();b.append("token",prestashop.static_token);b.append("id_product",id);b.append("id_product_attribute",ipa||0);b.append("id_customization","0");b.append("qty","1");b.append("add","1");b.append("action","update");b.append("ajax","1");return fetch(prestashop.urls.pages.cart,{method:"POST",credentials:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest",Accept:"application/json"},body:b}).then(function(r){return r.json()})} function addAll(){var k=key();S.busy=true;S.msg="";drawRes();postAdd(CAT[k].id,S.ipa).then(function(j){if(!j||j.hasError||j.success===false)throw 1;return S.acc==="none"?j:postAdd(ACC[S.acc].id,0)}).then(function(j){if(!j||j.hasError||j.success===false)throw 2;S.busy=false;drawRes();prestashop.emit("updateCart",{reason:{idProduct:CAT[k].id,idProductAttribute:S.ipa,idCustomization:0,linkAction:"add-to-cart",cart:j.cart},resp:j})}).catch(function(){S.busy=false;S.msg="No se pudo completar la adición: revisa tu carrito.";drawRes()})} document.addEventListener("keydown",function(e){if(e.key==="Escape"&&ov&&!ov.hidden)closeG()}); document.addEventListener("click",function(e){var t=e.target;if(!t.closest)return; var p=t.closest("[data-p]");if(p&&ov&&ov.contains(p)){pend=p.getAttribute("data-p");mark(pend);var c=document.getElementById("tq-conf");document.getElementById("tq-msg").innerHTML="Elegir talla <b>"+pend+"</b> ?";document.getElementById("tq-yes").textContent="Sí, elegir "+pend;document.getElementById("tq-yes").hidden=false;c.hidden=false;document.getElementById("tq-yes").focus();return} if(t.id==="tq-no"){pend=null;mark(S.size);document.getElementById("tq-conf").hidden=true;return} if(t.id==="tq-yes"){if(window.tbPick&&pend){window.tbPick(pend);closeG();return}var k=key(),d=k&&LD[k],m=document.getElementById("tq-msg"); if(!k){m.textContent="Elige primero el color en el cuestionario.";t.hidden=true;return} if(!d||!d.sizes.some(function(x){return x.l===pend})){m.textContent=(d&&!d.sizes.length)?"Este modelo no está disponible temporalmente.":"Talla "+pend+" no se ofrece para este modelo.";t.hidden=true;return} S.size=pend;pend=null;closeG();validate();draw(["size",S.size]);return} if(t.id==="tq-gx"||t===ov){closeG();return} var g=t.closest("[data-g]");if(g&&root.contains(g)){openG(g.getAttribute("data-g"));return} if(!root.contains(t))return; var w=t.closest("[data-w]");if(w){S.who=w.getAttribute("data-w");draw(["who",S.who]);return} var o=t.closest("[data-q]");if(o){var q=o.getAttribute("data-q"),v=o.getAttribute("data-v");S[q]=v;S.msg="";if(q==="accq"){S.acc=v==="non"?"none":null;draw([q,v]);return}if(q==="acc"){S.accq="oui";draw([q,v]);return}if(q==="grav")S.color=null;if(q==="cobra"&&v==="non")S.delta=null;if(q!=="size"){S.ipa=null;S.stock=null;var k2=key();if(k2&&LD[k2])validate();else if(!k2){S.size=null;S.accq=null;S.acc=null}}else validate();draw([q,v]);return} var rt=t.closest("[data-retry]");if(rt){var kk=key();if(kk){LE[kk]=0;LP[kk]=0;draw()}return}if(t.id==="tq-reset"){reset();return} var a=t.closest("#tq-add");if(a&&!a.disabled){addAll()}}); window.tbGuide={open:openG};draw();load("std");Object.keys(ACC).forEach(loadAcc)})()