{"id":38617,"date":"2025-10-28T13:57:51","date_gmt":"2025-10-28T12:57:51","guid":{"rendered":"https:\/\/tarigs.com\/2-quiz-recomendar-todos-los-modelos-tallas\/"},"modified":"2025-11-05T00:53:08","modified_gmt":"2025-11-04T23:53:08","slug":"quiz-talla","status":"publish","type":"page","link":"https:\/\/archive.tarigs.com\/es\/quiz-talla\/","title":{"rendered":"2. Quiz: recomendar todos los modelos\/tallas"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last\" style=\"--awb-bg-size:cover;--awb-margin-top:0px;--awb-margin-bottom:0px;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\"><div class=\"fusion-title title fusion-title-1 fusion-sep-none fusion-title-center fusion-title-text fusion-title-size-one\" style=\"--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:20px;--awb-margin-left-small:0px;\"><h1 class=\"fusion-title-heading title-heading-center fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:40;line-height:1.16;\"><h1 style=\"text-align: center;\">El Quiz<\/h1><\/h1><\/div><div class=\"fusion-text fusion-text-1 fusion-no-small-visibility fusion-no-medium-visibility\"><h4 style=\"text-align: center;\"><span style=\"color: #89919f;\"> Encuentra tu talla <\/span><\/h4>\n<\/div><div class=\"fusion-text fusion-text-2 fusion-no-small-visibility fusion-no-medium-visibility\"><p style=\"text-align: center;\">El tama\u00f1o adecuado es fundamental para la comodidad de tu perro en la mochila. Un ajuste perfecto no solo garantiza que tu perro se sienta c\u00f3modo, sino que tambi\u00e9n le protege de forma \u00f3ptima. Con nuestro cuestionario puedes determinar el tama\u00f1o ideal para la mochila que hayas elegido. Introduce aqu\u00ed las medidas de tu perro adulto o las medidas previstas, si tu perro a\u00fan est\u00e1 creciendo.<\/p>\n<\/div><div class=\"fusion-text fusion-text-3 fusion-no-large-visibility\"><p style=\"text-align: center;\">Encuentra el modelo perfecto. Introduce aqu\u00ed las medidas de tu perro adulto o las medidas previstas.<\/p>\n<\/div><div class=\"fusion-sep-clear\"><\/div><div class=\"fusion-separator fusion-full-width-sep\" style=\"margin-left: auto;margin-right: auto;margin-top:15px;width:100%;\"><\/div><div class=\"fusion-sep-clear\"><\/div><div class=\"fusion-clearfix\"><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last\" style=\"--awb-bg-size:cover;--awb-margin-top:0px;--awb-margin-bottom:0px;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\"><div class=\"quiz-container\">\n    <div class=\"unit-switcher-container\">\n        <input id=\"unit-switcher-checkbox\" class=\"unit-switcher-input\" type=\"checkbox\" \/>\n        <label class=\"unit-switcher-label\" for=\"unit-switcher-checkbox\">\n            <span class=\"switcher-label-text metric\">cm & kg<\/span>\n            <span class=\"switcher-label-text imperial\">in & lbs<\/span>\n        <\/label>\n    <\/div>\n    <h2>Encuentra la talla perfecta<\/h2>\n    <div id=\"size-quiz-content\">\n\n        <div class=\"question-slide active\" data-step=\"1\">\n            <h4>1. Mida las dimensiones b\u00e1sicas de su perro<\/h4>\n            <div class=\"input-group\">\n                <label for=\"shoulderHeight\">Altura de los Hombros (<span id=\"unit-shoulder-height\">cm<\/span>):<\/label>\n                <input id=\"shoulderHeight\" type=\"number\" placeholder=\"Desde el suelo hasta la parte superior del om\u00f3plato\" \/>\n            <\/div>\n            <div class=\"input-group\">\n                <label for=\"backLength\">Longitud de la Espalda (<span id=\"unit-back-length\">cm<\/span>):<\/label>\n                <input id=\"backLength\" type=\"number\" placeholder=\"Desde la cruz hasta la base de la cola\" \/>\n            <\/div>\n            <div class=\"input-group\">\n                <label for=\"weight\">Peso (<span id=\"unit-weight\">kg<\/span>):<\/label>\n                <input id=\"weight\" type=\"number\" placeholder=\"El peso de su perro\" \/>\n            <\/div>\n            <button class=\"next-btn\">Siguiente<\/button>\n        <\/div>\n\n        <div class=\"question-slide\" data-step=\"2\">\n            <h4>2. \u00bfQu\u00e9 posiciones sentado y tumbado son importantes?<\/h4>\n            <div class=\"answers\">\n                <label><input name=\"q2\" type=\"radio\" value=\"sitting\" \/> Mi perro deber\u00eda poder sentarse c\u00f3modamente.<\/label>\n                <label><input name=\"q2\" type=\"radio\" value=\"lying\" \/> Mi perro deber\u00eda poder tumbarse en la mochila.<\/label>\n                <label><input name=\"q2\" type=\"radio\" value=\"extra_space\" \/> Mi perro deber\u00eda tener mucho espacio.<\/label>\n            <\/div>\n            <button class=\"prev-btn\">Atr\u00e1s<\/button>\n            <button class=\"next-btn\">Siguiente<\/button>\n        <\/div>\n\n        <div class=\"question-slide\" data-step=\"result\">\n            <h4 class=\"result-title\">Seg\u00fan sus medidas, recomendamos...<\/h4>\n            <div id=\"size-result-text\"><\/div>\n            <div class=\"result-buttons\">\n                <button id=\"restart-size-quiz-btn\" class=\"secondary-btn\">Reiniciar el cuestionario<\/button>\n                <button id=\"send-email-btn\">Solicitar la revisi\u00f3n de su resultado<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n    .quiz-container { max-width: 600px; margin: 0 auto; padding: 30px; background-color: #fff; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); font-family: Arial, sans-serif; }\n    h2, h4 { color: #333; text-align: center; }\n    .question-slide { display: none; animation: fadeIn 0.5s ease-in-out; }\n    .question-slide.active { display: block; }\n    .answers { display: flex; flex-direction: column; align-items: flex-start; margin: 20px 0; }\n    .answers label { display: flex; align-items: center; width: 100%; padding: 15px; margin-bottom: 10px; background-color: #f0f0f0; border-radius: 5px; cursor: pointer; transition: background-color 0.3s; }\n    .answers label:hover { background-color: #e0e0e0; }\n    .answers input[type=\"radio\"] { margin-right: 15px; }\n    .input-group { margin-bottom: 20px; }\n    .input-group label { display: block; margin-bottom: 5px; font-weight: bold; }\n    .input-group input { width: 100%; padding: 10px; box-sizing: border-box; border: 1px solid #ccc; border-radius: 4px; }\n    button { display: block; width: 80%; margin: 20px auto 10px; padding: 12px 25px; background-color: #228B22; color: #fff; border: none; border-radius: 5px; font-size: 16px; cursor: pointer; transition: background-color 0.3s; }\n    button:hover { background-color: #1e7b1e; }\n    .prev-btn { background-color: #ccc; }\n    .prev-btn:hover { background-color: #a0a0a0; }\n    .result-buttons { display: flex; flex-direction: column; align-items: center; }\n    .secondary-btn { background-color: #888; }\n    .secondary-btn:hover { background-color: #666; }\n    #size-result-text { text-align: left; margin-top: 20px; line-height: 1.6; }\n    #size-result-text p { margin-bottom: 0.5em; }\n    .result-title { border-bottom: 2px solid #e0e0e0; padding-bottom: 10px; }\n    .link-btn { text-decoration: none; color: #228B22; font-weight: bold; }\n    .disclaimer { font-size: 0.8em; color: #777; margin-top: 1.5em; }\n    .highlight { color: #228B22; font-weight: bold; }\n    \/* NEW SWITCHER STYLES *\/\n    .unit-switcher-container { display: flex; justify-content: flex-end; margin-bottom: 20px; }\n    .unit-switcher-input { display: none; }\n    .unit-switcher-label { position: relative; display: flex; align-items: center; justify-content: space-between; width: 160px; height: 36px; padding: 0 10px; border-radius: 25px; background-color: #fff; border: 2px solid #ccc; box-sizing: border-box; cursor: pointer; font-weight: bold; transition: background-color 0.3s; }\n    .unit-switcher-label::before { content: ''; position: absolute; left: 0; top: 0; width: 50%; height: 100%; border-radius: 25px; background-color: #228B22; transition: transform 0.3s ease-in-out; }\n    .unit-switcher-input:checked + .unit-switcher-label::before { transform: translateX(100%); }\n    .unit-switcher-label .switcher-label-text { font-size: 14px; z-index: 1; transition: color 0.3s; }\n    .unit-switcher-label .switcher-label-text.metric { color: #fff; }\n    .unit-switcher-label .switcher-label-text.imperial { color: #888; }\n    .unit-switcher-input:checked + .unit-switcher-label .switcher-label-text.metric { color: #888; }\n    .unit-switcher-input:checked + .unit-switcher-label .switcher-label-text.imperial { color: #fff; }\n    @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }\n<\/style>\n\n<script>\n    document.addEventListener('DOMContentLoaded', () => {\n        const productData = {\n            'MountainRock Backpack Small': { backLength: 40, weight: 8, windowHeight: 30, url: 'https:\/\/tarigs.com\/es\/produkt\/mochila-de-senderismo-para-perros\/', dimensions: { width: 30, height: 40, depth: 20 } },\n            'MountainRock Backpack Medium': { backLength: 50, weight: 12, windowHeight: 40, url: 'https:\/\/tarigs.com\/es\/produkt\/mochila-de-senderismo-para-perros\/', dimensions: { width: 35, height: 50, depth: 25 } },\n            'MountainRock Backpack Large': { backLength: 60, weight: 16, windowHeight: 50, url: 'https:\/\/tarigs.com\/es\/produkt\/mochila-de-senderismo-para-perros\/', dimensions: { width: 40, height: 60, depth: 30 } },\n            'MountainRock Backpack 20 kg \/ Extra Large': { backLength: 70, weight: 20, windowHeight: 60, url: 'https:\/\/tarigs.com\/es\/produkt\/mochila-de-senderismo-para-perros\/', dimensions: { width: 40, height: 70, depth: 30 } },\n            'PeakStone Backpack Small': { backLength: 45, weight: 8, windowHeight: 30, url: 'https:\/\/tarigs.com\/es\/produkt\/mochila-de-trekking-para-perros\/', dimensions: { width: 35, height: 45, depth: 20 } },\n            'PeakStone Backpack Medium': { backLength: 55, weight: 12, windowHeight: 40, url: 'https:\/\/tarigs.com\/es\/produkt\/mochila-de-trekking-para-perros\/', dimensions: { width: 40, height: 55, depth: 23 } },\n            'PeakStone Backpack Large': { backLength: 62, weight: 16, windowHeight: 50, url: 'https:\/\/tarigs.com\/es\/produkt\/mochila-de-trekking-para-perros\/', dimensions: { width: 45, height: 62, depth: 27 } },\n            'Dachshund Backpack Mini (S)': { backLength: 40, weight: 6, windowHeight: 27, url: 'https:\/\/tarigs.com\/es\/produkt\/mochila-para-perro-salchicha\/', dimensions: { width: 40, height: 40, depth: 23 } },\n            'Dachshund Backpack Midi (M)': { backLength: 45, weight: 10, windowHeight: 32, url: 'https:\/\/tarigs.com\/es\/produkt\/mochila-para-perro-salchicha\/', dimensions: { width: 45, height: 45, depth: 25 } },\n            'Dachshund Backpack Maxi (L)': { backLength: 50, weight: 14, windowHeight: 40, url: 'https:\/\/tarigs.com\/es\/produkt\/mochila-para-perro-salchicha\/', dimensions: { width: 50, height: 50, depth: 27 } },\n            'Dachshund Backpack Extra Wide': { backLength: 60, weight: 16, windowHeight: 40, url: 'https:\/\/tarigs.com\/es\/produkt\/mochila-para-perro-salchicha\/', dimensions: { width: 60, height: 55, depth: 27 } },\n            'Bulldog Backpack': { backLength: 55, weight: 16, windowHeight: 40, url: 'https:\/\/tarigs.com\/es\/produkt\/mochila-para-bulldog-frances\/', dimensions: { width: 45, height: 55, depth: 27 } },\n            'ROOFPACKER': { backLength: 55, weight: 14, windowHeight: 45, url: 'https:\/\/tarigs.com\/es\/produkt\/mochila-para-gatos\/', dimensions: { width: 35, height: 55, depth: 35 } },\n        };\n        const paddedPlusLink = 'https:\/\/tarigs.com\/es\/produkt\/cinturon-acolchado\/';\n        const boosterSeatLink = 'https:\/\/tarigs.com\/es\/produkt\/asiento-elevador\/';\n\n        let currentStep = 1;\n        const totalSteps = 2;\n        let userData = {};\n        \n        const switcher = document.getElementById('unit-switcher-checkbox');\n        const shoulderHeightInput = document.getElementById('shoulderHeight');\n        const backLengthInput = document.getElementById('backLength');\n        const weightInput = document.getElementById('weight');\n        const unitShoulderHeight = document.getElementById('unit-shoulder-height');\n        const unitBackLength = document.getElementById('unit-back-length');\n        const unitWeight = document.getElementById('unit-weight');\n        const quizContainer = document.querySelector('.quiz-container');\n\n        const showStep = (step) => {\n            document.querySelectorAll('.question-slide').forEach(slide => slide.classList.remove('active'));\n            document.querySelector(`[data-step=\"${step}\"]`).classList.add('active');\n        };\n\n        const getModelDisplayName = (modelKey) => {\n            if (modelKey.includes('MountainRock Backpack 20 kg \/ Extra Large')) {\n                return 'MountainRock Backpack 20 kg \/ Extra Large';\n            }\n            if (modelKey.includes('MountainRock') || modelKey.includes('PeakStone')) {\n                const parts = modelKey.split(' ');\n                const size = parts[2];\n                const displayName = size.charAt(0).toUpperCase() + size.slice(1);\n                return `${parts[0]} ${parts[1]} ${displayName}`;\n            }\n            return modelKey;\n        };\n        \n        const calculateSittingWidth = (shoulderHeight, backLength) => {\n            if (backLength <= shoulderHeight) { return 0; }\n            const a = Math.max(backLength, shoulderHeight);\n            const b = Math.min(backLength, shoulderHeight);\n            return Math.sqrt(Math.pow(a, 2) - Math.pow(b, 2));\n        };\n\n        const checkSuitability = (model, backLength, shoulderHeight, weight, positionPref) => {\n            const modelData = productData[model];\n            if (!modelData) { return false; }\n            const { backLength: modelBackLength, weight: modelWeight, windowHeight: modelWindowHeight, dimensions } = modelData;\n            const { width: backpackWidth } = dimensions;\n\n            if (backLength > modelBackLength || weight > modelWeight) {\n                return false;\n            }\n            if (shoulderHeight + 2 > modelWindowHeight) {\n                return false;\n            }\n            \n            if ((model === 'MountainRock Backpack Large' || model === 'PeakStone Backpack Large' || model === 'MountainRock Backpack 20 kg \/ Extra Large') && shoulderHeight < 35) {\n                return false;\n            }\n            \n            const sittingWidthCalculated = calculateSittingWidth(shoulderHeight, backLength);\n            \n            if (positionPref === 'sitting' || positionPref === 'extra_space') {\n                let requiredWidth = sittingWidthCalculated;\n                if (model.includes('MountainRock') || model.includes('ROOFPACKER')) {\n                    requiredWidth += 5;\n                } else if (model.includes('PeakStone') || model.includes('Bulldog')) {\n                    requiredWidth += 10;\n                }\n                \n                if (backpackWidth < requiredWidth) { return false; }\n            }\n            if (positionPref === 'lying') {\n                if (model.includes('MountainRock')) { return false; }\n                if (backLength > backpackWidth) {\n                    return false;\n                }\n            }\n            \n            if (positionPref === 'extra_space') {\n                if ((backLength + 5) > backpackWidth) {\n                    return false;\n                }\n            }\n\n            if ((model === 'MountainRock Backpack Small' || model === 'PeakStone Backpack Small') && shoulderHeight > 25) {\n                return false;\n            }\n\n            return true;\n        };\n\n\n        const getRecommendation = (backLength, shoulderHeight, weight, positionPref) => {\n            const recommendations = [];\n            const modelCategories = {\n                'MountainRock': ['MountainRock Backpack Small', 'MountainRock Backpack Medium', 'MountainRock Backpack Large', 'MountainRock Backpack 20 kg \/ Extra Large'],\n                'PeakStone': ['PeakStone Backpack Small', 'PeakStone Backpack Medium', 'PeakStone Backpack Large'],\n                'Dachshund': ['Dachshund Backpack Mini (S)', 'Dachshund Backpack Midi (M)', 'Dachshund Backpack Maxi (L)', 'Dachshund Backpack Extra Wide'],\n                'Bulldog': ['Bulldog Backpack'],\n                'ROOFPACKER': ['ROOFPACKER']\n            };\n\n            for (const category in modelCategories) {\n                const models = modelCategories[category];\n                for (const model of models) {\n                    if (checkSuitability(model, backLength, shoulderHeight, weight, positionPref)) {\n                        recommendations.push(model);\n                        break;\n                    }\n                }\n            }\n\n            return recommendations;\n        };\n\n\n        const renderResult = (recommendations, userData) => {\n            let resultText = '';\n            const backLength = userData.backLength;\n            const shoulderHeight = userData.shoulderHeight;\n            const weight = userData.weight;\n            const positionPref = userData.positionPref;\n            const isImperial = userData.units === 'imperial';\n\n            if (shoulderHeight >= backLength) {\n                resultText += `<p>Su perro tiene una estructura cuadrada. Al elegir la talla, solo necesita concentrarse en la altura de los hombros.<\/p>`;\n            } else {\n                const calculatedSitWidth = calculateSittingWidth(shoulderHeight, backLength);\n                let displaySitWidth = calculatedSitWidth;\n                let unitString = 'cm';\n                \n                if (isImperial) {\n                    displaySitWidth = calculatedSitWidth \/ 2.54;\n                    unitString = 'in';\n                }\n                \n                resultText += `<p>La anchura de asiento calculada es: <span class=\"highlight\">${displaySitWidth.toFixed(2)} ${unitString}<\/span>.<\/p>`;\n            }\n\n            if (recommendations.length > 0) {\n                resultText += `<p>Seg\u00fan sus medidas, recomendamos las siguientes mochilas. Estos son los tama\u00f1os m\u00e1s peque\u00f1os adecuados de cada l\u00ednea de productos:<\/p>`;\n                resultText += `<ul>`;\n                recommendations.forEach(rec => {\n                    resultText += `<li><a href=\"${productData[rec].url}\" class=\"link-btn\">${getModelDisplayName(rec)}<\/a><\/li>`;\n                });\n                resultText += `<\/ul>`;\n            } else {\n                resultText += `<p><strong><span style=\"color:red;\">Lamentablemente, no se pudo encontrar una mochila adecuada seg\u00fan su informaci\u00f3n. Haga clic en el bot\u00f3n \"Solicitar la revisi\u00f3n de su resultado\" para que sus medidas sean revisadas personalmente.<\/span><\/strong><\/p>`;\n            }\n            \n            if (shoulderHeight > 25 && shoulderHeight < 28) {\n                const isMRSmallSuitableOtherwise = backLength <= productData['MountainRock Backpack Small'].backLength &&\n                                                   weight <= productData['MountainRock Backpack Small'].weight &&\n                                                   (positionPref !== 'lying');\n                \n                const isPSSmallSuitableOtherwise = backLength <= productData['PeakStone Backpack Small'].backLength &&\n                                                   weight <= productData['PeakStone Backpack Small'].weight;\n\n                if (isMRSmallSuitableOtherwise || isPSSmallSuitableOtherwise) {\n                    const mrSmallLink = productData['MountainRock Backpack Small'].url;\n                    const psSmallLink = productData['PeakStone Backpack Small'].url;\n                    resultText += `<p class=\"disclaimer\">Si desea que la mochila sea lo m\u00e1s peque\u00f1a posible, la **<a href=\"${mrSmallLink}\" class=\"link-btn\">MountainRock Backpack<\/a>** y la **<a href=\"${psSmallLink}\" class=\"link-btn\">PeakStone Backpack<\/a>** en **Small** tambi\u00e9n son una opci\u00f3n.<\/p>`;\n                }\n            }\n\n            const mrMediumRec = recommendations.includes('MountainRock Backpack Medium');\n            const mrLargeRec = recommendations.includes('MountainRock Backpack Large');\n            const mrXLargeRec = recommendations.includes('MountainRock Backpack 20 kg \/ Extra Large');\n            const psMediumRec = recommendations.includes('PeakStone Backpack Medium');\n            const psLargeRec = recommendations.includes('PeakStone Backpack Large');\n\n            let showBoosterHint = false;\n            if ((mrMediumRec || psMediumRec) && shoulderHeight < 30) {\n                showBoosterHint = true;\n            }\n            if ((mrLargeRec || psLargeRec) && shoulderHeight < 40) {\n                showBoosterHint = true;\n            }\n            if (mrXLargeRec && shoulderHeight < 50) {\n                showBoosterHint = true;\n            }\n\n            if (showBoosterHint) {\n                resultText += `<p class=\"disclaimer\">Para la **MountainRock Backpack** o la **PeakStone Backpack**, recomendamos el <a href=\"${boosterSeatLink}\" class=\"link-btn\">**Asiento Elevador**<\/a>. Esto permite que su perro se siente m\u00e1s alto y disfrute de la vista.<\/p>`;\n            }\n\n            if (positionPref === 'lying' || positionPref === 'extra_space') {\n                 resultText += `<p class=\"disclaimer\">Para tumbarse y mirar hacia afuera, PeakStone, Dachshund, Bulldog Backpack y ROOFPACKER son las m\u00e1s adecuadas.<\/p>`;\n            }\n            \n            resultText += `<p class=\"disclaimer\">Para una comodidad de transporte \u00f3ptima, recomendamos el <a href=\"${paddedPlusLink}\" class=\"link-btn\">Cintur\u00f3n de Cadera PaddedPlus<\/a> si es necesario.<\/p>`;\n            resultText += `<p class=\"disclaimer\">Las recomendaciones mencionadas aqu\u00ed son solo una gu\u00eda. Por favor, tome siempre su decisi\u00f3n final bas\u00e1ndose en las medidas exactas de su perro, su propia talla y sus requisitos individuales para la mochila.<\/p>`;\n\n            document.getElementById('size-result-text').innerHTML = resultText;\n            showStep('result');\n        };\n\n        const fixMobileZoom = () => {\n            const metaViewport = document.querySelector('meta[name=\"viewport\"]');\n            if (metaViewport) {\n                const originalContent = metaViewport.getAttribute('content');\n                metaViewport.setAttribute('content', 'width=device-width, initial-scale=1.0, user-scalable=no, maximum-scale=1.0');\n                setTimeout(() => {\n                    metaViewport.setAttribute('content', originalContent);\n                }, 50);\n            }\n        };\n\n        const toggleUnits = () => {\n            const isImperial = switcher.checked;\n            const currentShoulderHeight = parseFloat(shoulderHeightInput.value);\n            const currentBackLength = parseFloat(backLengthInput.value);\n            const currentWeight = parseFloat(weightInput.value);\n            \n            if (isImperial) { \/\/ Switch to Imperial\n                if (!isNaN(currentShoulderHeight)) { shoulderHeightInput.value = (currentShoulderHeight \/ 2.54).toFixed(2); }\n                if (!isNaN(currentBackLength)) { backLengthInput.value = (currentBackLength \/ 2.54).toFixed(2); }\n                if (!isNaN(currentWeight)) { weightInput.value = (currentWeight * 2.20462).toFixed(2); }\n                unitShoulderHeight.textContent = 'in';\n                unitBackLength.textContent = 'in';\n                unitWeight.textContent = 'lbs';\n            } else { \/\/ Switch to Metric\n                if (!isNaN(currentShoulderHeight)) { shoulderHeightInput.value = (currentShoulderHeight * 2.54).toFixed(2); }\n                if (!isNaN(currentBackLength)) { backLengthInput.value = (currentBackLength * 2.54).toFixed(2); }\n                if (!isNaN(currentWeight)) { weightInput.value = (currentWeight \/ 2.20462).toFixed(2); }\n                unitShoulderHeight.textContent = 'cm';\n                unitBackLength.textContent = 'cm';\n                unitWeight.textContent = 'kg';\n            }\n        };\n\n        switcher.addEventListener('change', toggleUnits);\n\n        document.querySelectorAll('.next-btn').forEach(button => {\n            button.addEventListener('click', () => {\n                document.activeElement.blur();\n                fixMobileZoom();\n                quizContainer.scrollIntoView({ behavior: 'smooth', block: 'start' });\n\n                const currentSlide = button.closest('.question-slide');\n                const step = parseInt(currentSlide.dataset.step);\n\n                if (step === 1) {\n                    let shoulderHeight = parseFloat(shoulderHeightInput.value);\n                    let backLength = parseFloat(backLengthInput.value);\n                    let weight = parseFloat(weightInput.value);\n                    \n                    const isImperial = switcher.checked;\n\n                    \/\/ Convert to metric for logic\n                    if (isImperial) {\n                        shoulderHeight = shoulderHeight * 2.54;\n                        backLength = backLength * 2.54;\n                        weight = weight \/ 2.20462;\n                    }\n\n                    if (isNaN(shoulderHeight) || isNaN(backLength) || isNaN(weight) || shoulderHeight <= 0 || backLength <= 0 || weight <= 0) {\n                        alert('Por favor, introduzca n\u00fameros positivos v\u00e1lidos.');\n                        return;\n                    }\n                    userData.shoulderHeight = shoulderHeight;\n                    userData.backLength = backLength;\n                    userData.weight = weight;\n                    userData.units = isImperial ? 'imperial' : 'metric';\n                } else if (step === 2) {\n                    const selectedAnswer = currentSlide.querySelector('input[type=\"radio\"]:checked');\n                    if (!selectedAnswer) {\n                        alert('Por favor, seleccione una respuesta.');\n                        return;\n                    }\n                    userData.positionPref = selectedAnswer.value;\n                }\n                currentStep++;\n                if (currentStep > totalSteps) {\n                    const recommendations = getRecommendation(userData.backLength, userData.shoulderHeight, userData.weight, userData.positionPref);\n                    renderResult(recommendations, userData);\n                } else {\n                    showStep(currentStep);\n                }\n            });\n        });\n\n        document.querySelectorAll('.prev-btn').forEach(button => {\n            button.addEventListener('click', () => {\n                document.activeElement.blur();\n                fixMobileZoom();\n                quizContainer.scrollIntoView({ behavior: 'smooth', block: 'start' });\n                currentStep--;\n                showStep(currentStep);\n            });\n        });\n\n        document.getElementById('restart-size-quiz-btn').addEventListener('click', () => {\n            currentStep = 1;\n            document.querySelectorAll('input[type=\"number\"], input[type=\"radio\"]').forEach(input => {\n                if (input.type === 'radio') input.checked = false;\n                if (input.type === 'number') input.value = '';\n            });\n            showStep(currentStep);\n        });\n\n        document.getElementById('send-email-btn').addEventListener('click', () => {\n            const recommendations = getRecommendation(userData.backLength, userData.shoulderHeight, userData.weight, userData.positionPref);\n\n            const recommendedList = recommendations.length > 0\n                ? recommendations.map(rec => `- ${getModelDisplayName(rec)}`).join('\\n')\n                : 'No recommendation found.';\n\n            let positionText = '';\n            switch(userData.positionPref) {\n                case 'sitting': positionText = 'Sentado (Sitting)'; break;\n                case 'lying': positionText = 'Tumbado (Lying)'; break;\n                case 'extra_space': positionText = 'Mucho Espacio (Extra Space)'; break;\n            }\n            \n            let emailShoulderHeight = userData.shoulderHeight;\n            let emailBackLength = userData.backLength;\n            let emailWeight = userData.weight;\n            \n            if (userData.units === 'imperial') {\n                const imperialShoulderHeight = (userData.shoulderHeight \/ 2.54).toFixed(2);\n                const imperialBackLength = (userData.backLength \/ 2.54).toFixed(2);\n                const imperialWeight = (userData.weight * 2.20462).toFixed(2);\n                \n                emailShoulderHeight = `${imperialShoulderHeight} in \/ (${userData.shoulderHeight.toFixed(2)} cm)`;\n                emailBackLength = `${imperialBackLength} in \/ (${userData.backLength.toFixed(2)} cm)`;\n                emailWeight = `${imperialWeight} lbs \/ (${userData.weight.toFixed(2)} kg)`;\n\n            } else {\n                emailShoulderHeight = `${userData.shoulderHeight.toFixed(2)} cm`;\n                emailBackLength = `${userData.backLength.toFixed(2)} cm`;\n                emailWeight = `${userData.weight.toFixed(2)} kg`;\n            }\n\n            const emailBody = `Hola equipo TARIGS,\n            \nHe completado su cuestionario de talla de mochila y agradecer\u00eda una evaluaci\u00f3n personal de los resultados.\n\nMIS ENTRADAS:\n- Altura de los Hombros (Shoulder Height): ${emailShoulderHeight}\n- Longitud de la Espalda (Back Length): ${emailBackLength}\n- Peso (Weight): ${emailWeight}\n- Posici\u00f3n Preferida (Position Preference): ${positionText}\n\nMODELOS RECOMENDADOS:\n${recommendedList}\n\n\u00a1Gracias de antemano por el consejo!`;\n            const mailtoLink = `mailto:info@tarigs.com?subject=Consulta sobre el tama\u00f1o de la mochila&body=${encodeURIComponent(emailBody)}`;\n            window.open(mailtoLink, '_blank');\n        });\n    });\n<\/script><div class=\"fusion-clearfix\"><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_6 1_6 fusion-one-sixth fusion-column-first\" style=\"--awb-bg-size:cover;--awb-margin-top:0px;--awb-margin-bottom:0px;width:13.3333%; margin-right: 4%;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\"><div class=\"fusion-clearfix\"><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_2_3 2_3 fusion-two-third\" style=\"--awb-bg-size:cover;--awb-margin-top:0px;--awb-margin-bottom:0px;width:65.3333%; margin-right: 4%;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\"><div class=\"fusion-sep-clear\"><\/div><div class=\"fusion-separator fusion-full-width-sep\" style=\"margin-left: auto;margin-right: auto;margin-top:50px;width:100%;\"><\/div><div class=\"fusion-sep-clear\"><\/div><div class=\"fusion-text fusion-text-4\"><p>Este cuestionario es una excelente primera orientaci\u00f3n. Dado que cada perro es \u00fanico, te recomendamos que compares las medidas de nuestro resultado con nuestra <a href=\"https:\/\/archive.tarigs.com\/es\/dimensiones-de-la-mochila-para-perros\/\">tabla de medidas<\/a>.<\/p>\n<p>Para determinar t\u00fa mismo las medidas de tu perro y asegurarte de que la mochila le quede perfecta, lee nuestras instrucciones: <a href=\"https:\/\/archive.tarigs.com\/es\/determinar-el-tamano-de-la-mochila-por-ti-mismo\/\">Determinar t\u00fa mismo el tama\u00f1o de la mochila.<\/a><\/p>\n<\/div><div class=\"fusion-clearfix\"><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_6 1_6 fusion-one-sixth fusion-column-last\" style=\"--awb-bg-size:cover;--awb-margin-top:0px;--awb-margin-bottom:0px;width:13.3333%;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\"><div class=\"fusion-clearfix\"><\/div><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"100-width.php","meta":{"footnotes":""},"class_list":["post-38617","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Encuentra tu talla para las mochilas TARIGS | Cuestionario<\/title>\n<meta name=\"description\" content=\"Para un ajuste perfecto, todas las medidas son importantes: con nuestro cuestionario puedes determinar t\u00fa mismo el tama\u00f1o de la mochila.\" \/>\n<meta name=\"robots\" content=\"noindex, nofollow\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Encuentra tu talla para las mochilas TARIGS | Cuestionario\" \/>\n<meta property=\"og:description\" content=\"Para un ajuste perfecto, todas las medidas son importantes: con nuestro cuestionario puedes determinar t\u00fa mismo el tama\u00f1o de la mochila.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/archive.tarigs.com\/es\/quiz-talla\/\" \/>\n<meta property=\"og:site_name\" content=\"TARIGS\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/tarigs.de\/\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-04T23:53:08+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@tarigsde\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/es\\\/quiz-talla\\\/\",\"url\":\"https:\\\/\\\/archive.tarigs.com\\\/es\\\/quiz-talla\\\/\",\"name\":\"Encuentra tu talla para las mochilas TARIGS | Cuestionario\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/es\\\/#website\"},\"datePublished\":\"2025-10-28T12:57:51+00:00\",\"dateModified\":\"2025-11-04T23:53:08+00:00\",\"description\":\"Para un ajuste perfecto, todas las medidas son importantes: con nuestro cuestionario puedes determinar t\u00fa mismo el tama\u00f1o de la mochila.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/es\\\/quiz-talla\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/archive.tarigs.com\\\/es\\\/quiz-talla\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/es\\\/quiz-talla\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/archive.tarigs.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"2. Quiz: recomendar todos los modelos\\\/tallas\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/archive.tarigs.com\\\/es\\\/\",\"name\":\"TARIGS\",\"description\":\"Dog, Cat &amp; Bird Backpacks\",\"publisher\":{\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/archive.tarigs.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/es\\\/#organization\",\"name\":\"TARIGS\",\"url\":\"https:\\\/\\\/archive.tarigs.com\\\/es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/archive.tarigs.com\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/Tarigs-Logo-horizontal-1C-2-2.jpg\",\"contentUrl\":\"https:\\\/\\\/archive.tarigs.com\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/Tarigs-Logo-horizontal-1C-2-2.jpg\",\"width\":250,\"height\":83,\"caption\":\"TARIGS\"},\"image\":{\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/tarigs.de\\\/\",\"https:\\\/\\\/x.com\\\/tarigsde\",\"https:\\\/\\\/www.instagram.com\\\/tarigs.de\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCzgIC5z9hbt1msGscyFoG_w\",\"https:\\\/\\\/de.pinterest.com\\\/tarigsde\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Encuentra tu talla para las mochilas TARIGS | Cuestionario","description":"Para un ajuste perfecto, todas las medidas son importantes: con nuestro cuestionario puedes determinar t\u00fa mismo el tama\u00f1o de la mochila.","robots":{"index":"noindex","follow":"nofollow"},"og_locale":"es_ES","og_type":"article","og_title":"Encuentra tu talla para las mochilas TARIGS | Cuestionario","og_description":"Para un ajuste perfecto, todas las medidas son importantes: con nuestro cuestionario puedes determinar t\u00fa mismo el tama\u00f1o de la mochila.","og_url":"https:\/\/archive.tarigs.com\/es\/quiz-talla\/","og_site_name":"TARIGS","article_publisher":"https:\/\/www.facebook.com\/tarigs.de\/","article_modified_time":"2025-11-04T23:53:08+00:00","twitter_card":"summary_large_image","twitter_site":"@tarigsde","twitter_misc":{"Tiempo de lectura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/archive.tarigs.com\/es\/quiz-talla\/","url":"https:\/\/archive.tarigs.com\/es\/quiz-talla\/","name":"Encuentra tu talla para las mochilas TARIGS | Cuestionario","isPartOf":{"@id":"https:\/\/archive.tarigs.com\/es\/#website"},"datePublished":"2025-10-28T12:57:51+00:00","dateModified":"2025-11-04T23:53:08+00:00","description":"Para un ajuste perfecto, todas las medidas son importantes: con nuestro cuestionario puedes determinar t\u00fa mismo el tama\u00f1o de la mochila.","breadcrumb":{"@id":"https:\/\/archive.tarigs.com\/es\/quiz-talla\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/archive.tarigs.com\/es\/quiz-talla\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/archive.tarigs.com\/es\/quiz-talla\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/archive.tarigs.com\/es\/"},{"@type":"ListItem","position":2,"name":"2. Quiz: recomendar todos los modelos\/tallas"}]},{"@type":"WebSite","@id":"https:\/\/archive.tarigs.com\/es\/#website","url":"https:\/\/archive.tarigs.com\/es\/","name":"TARIGS","description":"Dog, Cat &amp; Bird Backpacks","publisher":{"@id":"https:\/\/archive.tarigs.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/archive.tarigs.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/archive.tarigs.com\/es\/#organization","name":"TARIGS","url":"https:\/\/archive.tarigs.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/archive.tarigs.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/archive.tarigs.com\/wp-content\/uploads\/2019\/09\/Tarigs-Logo-horizontal-1C-2-2.jpg","contentUrl":"https:\/\/archive.tarigs.com\/wp-content\/uploads\/2019\/09\/Tarigs-Logo-horizontal-1C-2-2.jpg","width":250,"height":83,"caption":"TARIGS"},"image":{"@id":"https:\/\/archive.tarigs.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/tarigs.de\/","https:\/\/x.com\/tarigsde","https:\/\/www.instagram.com\/tarigs.de\/","https:\/\/www.youtube.com\/channel\/UCzgIC5z9hbt1msGscyFoG_w","https:\/\/de.pinterest.com\/tarigsde\/"]}]}},"_links":{"self":[{"href":"https:\/\/archive.tarigs.com\/es\/wp-json\/wp\/v2\/pages\/38617","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archive.tarigs.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/archive.tarigs.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/archive.tarigs.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/archive.tarigs.com\/es\/wp-json\/wp\/v2\/comments?post=38617"}],"version-history":[{"count":0,"href":"https:\/\/archive.tarigs.com\/es\/wp-json\/wp\/v2\/pages\/38617\/revisions"}],"wp:attachment":[{"href":"https:\/\/archive.tarigs.com\/es\/wp-json\/wp\/v2\/media?parent=38617"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}