{"id":230,"date":"2026-08-06T10:08:10","date_gmt":"2026-08-06T10:08:10","guid":{"rendered":"https:\/\/sentiranimal.com\/?page_id=230"},"modified":"2026-08-06T10:08:11","modified_gmt":"2026-08-06T10:08:11","slug":"solicitar-asesoria-personalizada","status":"publish","type":"page","link":"https:\/\/sentiranimal.com\/en\/solicitar-asesoria-personalizada\/","title":{"rendered":"Solicitar asesor\u00eda personalizada"},"content":{"rendered":"<div class=\"et_pb_section_0 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_0 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_0 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_code_0 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><!-- SENTIR ANIMAL: formulario de asesoria personalizada para modulo \"Codigo\" de Divi -->\n<div id=\"sa-behaviour-intake\" class=\"sapi\">\n  <div class=\"sapi-card\">\n    <div class=\"sapi-progress-wrap\" aria-hidden=\"true\">\n      <div class=\"sapi-progress\"><span><\/span><\/div>\n      <div class=\"sapi-progress-text\"><\/div>\n    <\/div>\n\n    <section class=\"sapi-screen sapi-intro is-active\">\n      <span class=\"sapi-kicker\"><\/span>\n      <h1><\/h1>\n      <p class=\"sapi-lead\"><\/p>\n      <div class=\"sapi-highlight\"><\/div>\n      <button type=\"button\" class=\"sapi-btn sapi-start\"><\/button>\n      <p class=\"sapi-time\"><\/p>\n    <\/section>\n\n    <section class=\"sapi-screen sapi-question\" aria-live=\"polite\">\n      <span class=\"sapi-step-label\"><\/span>\n      <h2><\/h2>\n      <p class=\"sapi-help\"><\/p>\n      <div class=\"sapi-field\"><\/div>\n      <p class=\"sapi-error\" role=\"alert\"><\/p>\n      <div class=\"sapi-nav\">\n        <button type=\"button\" class=\"sapi-back\"><\/button>\n        <button type=\"button\" class=\"sapi-btn sapi-next\"><\/button>\n      <\/div>\n    <\/section>\n\n    <section class=\"sapi-screen sapi-summary\" aria-live=\"polite\">\n      <span class=\"sapi-kicker\"><\/span>\n      <h2><\/h2>\n      <p class=\"sapi-summary-lead\"><\/p>\n      <div class=\"sapi-summary-box\"><\/div>\n      <label class=\"sapi-consent\">\n        <input type=\"checkbox\" class=\"sapi-consent-input\">\n        <span class=\"sapi-consent-text\"><\/span>\n      <\/label>\n      <p class=\"sapi-error sapi-consent-error\" role=\"alert\"><\/p>\n      <div class=\"sapi-summary-actions\">\n        <button type=\"button\" class=\"sapi-back sapi-summary-back\"><\/button>\n        <a class=\"sapi-btn sapi-whatsapp\" target=\"_blank\" rel=\"noopener\"><\/a>\n      <\/div>\n      <p class=\"sapi-privacy\"><\/p>\n    <\/section>\n\n    <section class=\"sapi-screen sapi-finished\" aria-live=\"polite\">\n      <span class=\"sapi-finished-icon\">\u2713<\/span>\n      <h2><\/h2>\n      <p><\/p>\n      <a class=\"sapi-btn sapi-open-whatsapp\" target=\"_blank\" rel=\"noopener\"><\/a>\n      <button type=\"button\" class=\"sapi-restart\"><\/button>\n    <\/section>\n  <\/div>\n<\/div>\n\n<style>\n  #sa-behaviour-intake {\n    --sapi-navy: #294f79;\n    --sapi-yellow: #ffe17c;\n    --sapi-coral: #e7645d;\n    --sapi-blue: #73c4ec;\n    --sapi-cream: #fff9f2;\n    --sapi-ink: #2d2d2d;\n    --sapi-muted: #6a6a6a;\n    font-family: inherit;\n    max-width: 850px;\n    margin: 36px auto;\n    color: var(--sapi-ink);\n  }\n  #sa-behaviour-intake * { box-sizing: border-box; }\n  #sa-behaviour-intake .sapi-card {\n    overflow: hidden;\n    background: var(--sapi-cream);\n    border: 1px solid rgba(41,79,121,.12);\n    border-radius: 28px;\n    padding: clamp(26px, 5vw, 58px);\n    box-shadow: 0 18px 55px rgba(41,79,121,.12);\n  }\n  #sa-behaviour-intake .sapi-screen { display: none; }\n  #sa-behaviour-intake .sapi-screen.is-active {\n    display: block;\n    animation: sapiIn .28s ease;\n  }\n  @keyframes sapiIn {\n    from { opacity: 0; transform: translateY(8px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n  #sa-behaviour-intake .sapi-kicker,\n  #sa-behaviour-intake .sapi-step-label {\n    display: inline-block;\n    margin-bottom: 12px;\n    color: var(--sapi-coral);\n    font-size: 13px;\n    font-weight: 800;\n    letter-spacing: .12em;\n    text-transform: uppercase;\n  }\n  #sa-behaviour-intake h1,\n  #sa-behaviour-intake h2 {\n    color: var(--sapi-ink);\n    line-height: 1.12;\n    margin: 0 0 18px;\n  }\n  #sa-behaviour-intake h1 { font-size: clamp(34px, 6vw, 58px); }\n  #sa-behaviour-intake h2 { font-size: clamp(28px, 4vw, 42px); }\n  #sa-behaviour-intake p { font-size: 17px; line-height: 1.65; }\n  #sa-behaviour-intake .sapi-lead { max-width: 690px; margin: 0 0 21px; }\n  #sa-behaviour-intake .sapi-highlight {\n    max-width: 650px;\n    margin: 0 0 28px;\n    padding: 15px 18px;\n    border-left: 5px solid var(--sapi-yellow);\n    border-radius: 0 14px 14px 0;\n    background: rgba(255,225,124,.22);\n    color: var(--sapi-navy);\n    font-size: 15px;\n    font-weight: 700;\n    line-height: 1.5;\n  }\n  #sa-behaviour-intake .sapi-time,\n  #sa-behaviour-intake .sapi-privacy {\n    margin: 14px 0 0;\n    color: var(--sapi-muted);\n    font-size: 13px;\n  }\n  #sa-behaviour-intake button,\n  #sa-behaviour-intake input,\n  #sa-behaviour-intake textarea,\n  #sa-behaviour-intake a { font-family: inherit; }\n  #sa-behaviour-intake .sapi-btn {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 54px;\n    padding: 14px 27px;\n    border: 0;\n    border-radius: 999px;\n    background: var(--sapi-navy);\n    color: var(--sapi-yellow) !important;\n    font-size: 14px;\n    font-weight: 800;\n    letter-spacing: .075em;\n    line-height: 1.2;\n    text-align: center;\n    text-decoration: none;\n    text-transform: uppercase;\n    cursor: pointer;\n    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;\n  }\n  #sa-behaviour-intake .sapi-btn:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 10px 22px rgba(41,79,121,.2);\n  }\n  #sa-behaviour-intake .sapi-progress-wrap { display: none; margin-bottom: 30px; }\n  #sa-behaviour-intake .sapi-progress {\n    height: 9px;\n    overflow: hidden;\n    border-radius: 999px;\n    background: rgba(41,79,121,.12);\n  }\n  #sa-behaviour-intake .sapi-progress span {\n    display: block;\n    width: 0;\n    height: 100%;\n    border-radius: inherit;\n    background: linear-gradient(90deg, var(--sapi-coral), var(--sapi-yellow));\n    transition: width .25s ease;\n  }\n  #sa-behaviour-intake .sapi-progress-text {\n    margin-top: 8px;\n    color: var(--sapi-muted);\n    font-size: 13px;\n    text-align: right;\n  }\n  #sa-behaviour-intake .sapi-help {\n    margin: -7px 0 20px;\n    color: var(--sapi-muted);\n    font-size: 15px;\n  }\n  #sa-behaviour-intake .sapi-field { margin: 22px 0 12px; }\n  #sa-behaviour-intake .sapi-input,\n  #sa-behaviour-intake .sapi-textarea {\n    width: 100%;\n    border: 2px solid rgba(41,79,121,.18);\n    border-radius: 16px;\n    outline: none;\n    background: #fff;\n    color: var(--sapi-ink);\n    font-size: 17px;\n    line-height: 1.45;\n    padding: 17px 18px;\n    transition: border-color .16s ease, box-shadow .16s ease;\n  }\n  #sa-behaviour-intake .sapi-textarea { min-height: 145px; resize: vertical; }\n  #sa-behaviour-intake .sapi-input:focus,\n  #sa-behaviour-intake .sapi-textarea:focus {\n    border-color: var(--sapi-navy);\n    box-shadow: 0 0 0 4px rgba(41,79,121,.08);\n  }\n  #sa-behaviour-intake .sapi-options {\n    display: grid;\n    gap: 12px;\n  }\n  #sa-behaviour-intake .sapi-option {\n    position: relative;\n    display: flex;\n    align-items: flex-start;\n    gap: 13px;\n    width: 100%;\n    padding: 16px 18px;\n    border: 2px solid rgba(41,79,121,.14);\n    border-radius: 16px;\n    background: #fff;\n    color: var(--sapi-ink);\n    font-size: 16px;\n    line-height: 1.4;\n    text-align: left;\n    cursor: pointer;\n    transition: border-color .16s ease, background .16s ease, transform .16s ease;\n  }\n  #sa-behaviour-intake .sapi-option:hover {\n    border-color: rgba(41,79,121,.42);\n    transform: translateY(-1px);\n  }\n  #sa-behaviour-intake .sapi-option.is-selected {\n    border-color: var(--sapi-navy);\n    background: rgba(255,225,124,.28);\n    box-shadow: 0 0 0 3px rgba(41,79,121,.06);\n  }\n  #sa-behaviour-intake .sapi-choice-mark {\n    display: flex;\n    flex: 0 0 25px;\n    align-items: center;\n    justify-content: center;\n    width: 25px;\n    height: 25px;\n    margin-top: -1px;\n    border: 2px solid rgba(41,79,121,.35);\n    border-radius: 50%;\n    color: transparent;\n    font-size: 14px;\n    font-weight: 900;\n  }\n  #sa-behaviour-intake .sapi-option.is-multi .sapi-choice-mark { border-radius: 7px; }\n  #sa-behaviour-intake .sapi-option.is-selected .sapi-choice-mark {\n    border-color: var(--sapi-navy);\n    background: var(--sapi-navy);\n    color: var(--sapi-yellow);\n  }\n  #sa-behaviour-intake .sapi-error {\n    min-height: 24px;\n    margin: 8px 0 6px;\n    color: #b33d36;\n    font-size: 14px;\n    font-weight: 700;\n  }\n  #sa-behaviour-intake .sapi-nav,\n  #sa-behaviour-intake .sapi-summary-actions {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 15px;\n    margin-top: 17px;\n    flex-wrap: wrap;\n  }\n  #sa-behaviour-intake .sapi-back,\n  #sa-behaviour-intake .sapi-restart {\n    padding: 10px 2px;\n    border: 0;\n    background: transparent;\n    color: var(--sapi-navy);\n    font-size: 15px;\n    font-weight: 700;\n    text-decoration: underline;\n    cursor: pointer;\n  }\n  #sa-behaviour-intake .sapi-summary-lead { margin-bottom: 23px; }\n  #sa-behaviour-intake .sapi-summary-box {\n    display: grid;\n    gap: 10px;\n    padding: 20px;\n    border: 1px solid rgba(41,79,121,.14);\n    border-radius: 18px;\n    background: #fff;\n  }\n  #sa-behaviour-intake .sapi-summary-row {\n    display: grid;\n    grid-template-columns: minmax(130px, .7fr) 1.6fr;\n    gap: 14px;\n    padding-bottom: 10px;\n    border-bottom: 1px solid rgba(41,79,121,.09);\n    font-size: 15px;\n    line-height: 1.45;\n  }\n  #sa-behaviour-intake .sapi-summary-row:last-child {\n    padding-bottom: 0;\n    border-bottom: 0;\n  }\n  #sa-behaviour-intake .sapi-summary-key { color: var(--sapi-navy); font-weight: 800; }\n  #sa-behaviour-intake .sapi-summary-value { white-space: pre-line; }\n  #sa-behaviour-intake .sapi-consent {\n    display: flex;\n    align-items: flex-start;\n    gap: 12px;\n    margin-top: 20px;\n    cursor: pointer;\n  }\n  #sa-behaviour-intake .sapi-consent-input {\n    width: 20px;\n    height: 20px;\n    margin-top: 3px;\n    accent-color: var(--sapi-navy);\n  }\n  #sa-behaviour-intake .sapi-consent-text { font-size: 14px; line-height: 1.5; }\n  #sa-behaviour-intake .sapi-whatsapp,\n  #sa-behaviour-intake .sapi-open-whatsapp {\n    background: #128c7e;\n    color: #fff !important;\n  }\n  #sa-behaviour-intake .sapi-finished { text-align: center; }\n  #sa-behaviour-intake .sapi-finished-icon {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: 74px;\n    height: 74px;\n    margin-bottom: 20px;\n    border-radius: 50%;\n    background: var(--sapi-yellow);\n    color: var(--sapi-navy);\n    font-size: 37px;\n    font-weight: 900;\n  }\n  #sa-behaviour-intake .sapi-finished p { max-width: 600px; margin: 0 auto 25px; }\n  #sa-behaviour-intake .sapi-finished .sapi-restart { display: block; margin: 15px auto 0; }\n  @media (max-width: 600px) {\n    #sa-behaviour-intake { margin: 18px auto; }\n    #sa-behaviour-intake .sapi-card { border-radius: 20px; padding: 25px 20px; }\n    #sa-behaviour-intake p { font-size: 16px; }\n    #sa-behaviour-intake .sapi-summary-row { grid-template-columns: 1fr; gap: 3px; }\n    #sa-behaviour-intake .sapi-nav .sapi-next { flex: 1; }\n    #sa-behaviour-intake .sapi-summary-actions { align-items: stretch; flex-direction: column-reverse; }\n    #sa-behaviour-intake .sapi-summary-actions .sapi-btn { width: 100%; }\n  }\n<\/style>\n\n<script>\n(function () {\n  const root = document.getElementById('sa-behaviour-intake');\n  if (!root || root.dataset.ready === '1') return;\n  root.dataset.ready = '1';\n\n  const isEnglish = (document.documentElement.lang || '').toLowerCase().startsWith('en');\n  const lang = isEnglish ? 'en' : 'es';\n  const whatsappNumber = '61426646858';\n\n  const copy = {\n    es: {\n      kicker: 'Asesor\u00eda personalizada de comportamiento',\n      title: 'Cu\u00e9ntame qu\u00e9 est\u00e1 ocurriendo',\n      lead: 'Responde unas preguntas cortas para conocer mejor a tu perro y comprender la situaci\u00f3n que te gustar\u00eda trabajar.',\n      highlight: 'Tus respuestas me ayudar\u00e1n a conocer su historia, su entorno y las situaciones que requieren acompa\u00f1amiento.',\n      start: 'Comenzar solicitud',\n      time: 'Toma aproximadamente 3 minutos.',\n      step: (n, total) => `Paso ${n} de ${total}`,\n      next: 'Siguiente',\n      review: 'Revisar solicitud',\n      back: 'Anterior',\n      required: 'Completa esta respuesta para continuar.',\n      selectRequired: 'Selecciona al menos una opci\u00f3n para continuar.',\n      summaryKicker: 'Tu solicitud est\u00e1 lista',\n      summaryTitle: 'Revisa la informaci\u00f3n',\n      summaryLead: 'Si todo est\u00e1 correcto, env\u00eda la solicitud por WhatsApp. Podr\u00e1s revisar el mensaje antes de enviarlo.',\n      consent: 'Acepto compartir esta informaci\u00f3n por WhatsApp para recibir una respuesta sobre la asesor\u00eda.',\n      consentError: 'Confirma que deseas compartir la informaci\u00f3n para continuar.',\n      send: 'Enviar por WhatsApp',\n      privacy: 'Tus respuestas no se env\u00edan autom\u00e1ticamente ni se guardan en este formulario. WhatsApp se abrir\u00e1 con el mensaje preparado y t\u00fa decides si lo env\u00edas.',\n      finishedTitle: 'WhatsApp est\u00e1 listo',\n      finishedText: 'Se abri\u00f3 una ventana con tu solicitud. Revisa el mensaje y pulsa Enviar dentro de WhatsApp.',\n      openAgain: 'Abrir WhatsApp otra vez',\n      restart: 'Empezar una nueva solicitud',\n      notProvided: 'No especificado',\n      labels: {\n        person: 'Nombre', puppy: 'Perro', age: 'Edad', breed: 'Raza o mezcla',\n        location: 'Ubicaci\u00f3n', topics: 'Situaciones principales', details: 'Descripci\u00f3n del caso',\n        vet: 'Revisi\u00f3n veterinaria', safety: 'Informaci\u00f3n de seguridad',\n        modality: 'Modalidad', availability: 'Disponibilidad', contact: 'Contacto'\n      },\n      questions: [\n        { id: 'person', type: 'text', q: '\u00bfC\u00f3mo te llamas?', placeholder: 'Escribe tu nombre', help: 'As\u00ed sabr\u00e9 c\u00f3mo dirigirme a ti.', required: true },\n        { id: 'puppy', type: 'text', q: '\u00bfC\u00f3mo se llama tu perro?', placeholder: 'Nombre del perro', help: '', required: true },\n        { id: 'age', type: 'single', q: '\u00bfQu\u00e9 edad tiene tu perro?', help: 'La edad y la etapa de vida ayudan a comprender mejor el caso.', required: true,\n          options: ['Menos de 1 a\u00f1o', 'Entre 1 y 3 a\u00f1os', 'Entre 4 y 7 a\u00f1os', '8 a\u00f1os o m\u00e1s'] },\n        { id: 'breed', type: 'text', q: '\u00bfQu\u00e9 raza o mezcla es?', placeholder: 'Ejemplo: Labrador, mestizo o no estoy seguro\/a', help: 'No pasa nada si no conoces su raza.', required: true },\n        { id: 'location', type: 'text', q: '\u00bfD\u00f3nde viven?', placeholder: 'Ciudad, suburbio y pa\u00eds', help: 'La asesor\u00eda presencial est\u00e1 disponible en Brisbane y la virtual en cualquier lugar.', required: true },\n        { id: 'topics', type: 'multi', q: '\u00bfQu\u00e9 situaciones les gustar\u00eda trabajar?', help: 'Puedes seleccionar varias opciones.', required: true,\n          options: ['Miedo o inseguridad', 'Reactividad ante perros', 'Reactividad ante personas u otros est\u00edmulos', 'Dificultad para quedarse solo', 'Protecci\u00f3n de comida, juguetes o espacios', 'Sensibilidad al contacto o los cuidados', 'Ladridos frecuentes', 'Dificultad para relajarse', 'Rutinas y normas del hogar', 'Juego, comunicaci\u00f3n y v\u00ednculo', 'Otro comportamiento'] },\n        { id: 'details', type: 'textarea', q: 'Cu\u00e9ntame un poco m\u00e1s sobre la situaci\u00f3n', placeholder: 'Describe qu\u00e9 ocurre, cu\u00e1ndo comenz\u00f3, con qu\u00e9 frecuencia sucede y qu\u00e9 han intentado hasta ahora.', help: 'Incluye cualquier detalle que consideres importante para comprender el caso.', required: true },\n        { id: 'vet', type: 'single', q: '\u00bfTu perro ha tenido una revisi\u00f3n veterinaria reciente?', help: 'Algunos cambios de comportamiento pueden estar relacionados con dolor o una condici\u00f3n m\u00e9dica.', required: true,\n          options: ['S\u00ed, recientemente', 'S\u00ed, pero hace m\u00e1s de un a\u00f1o', 'No', 'No estoy seguro\/a'] },\n        { id: 'safety', type: 'single', q: '\u00bfExiste alguna preocupaci\u00f3n de seguridad?', help: 'Esta informaci\u00f3n permite preparar la asesor\u00eda de manera adecuada.', required: true,\n          options: ['No', 'Gru\u00f1e o muestra se\u00f1ales de advertencia', 'Ha intentado morder', 'Ha mordido anteriormente', 'Prefiero hablarlo directamente'] },\n        { id: 'modality', type: 'single', q: '\u00bfQu\u00e9 modalidad prefieres?', help: 'La asesor\u00eda presencial cuesta $120 AUD y la virtual $96 AUD.', required: true,\n          options: ['Presencial en Brisbane', 'Virtual', 'No estoy seguro\/a'] },\n        { id: 'availability', type: 'multi', q: '\u00bfQu\u00e9 horarios suelen funcionarles mejor?', help: 'Puedes seleccionar m\u00e1s de una opci\u00f3n.', required: true,\n          options: ['Entre semana en la ma\u00f1ana', 'Entre semana en la tarde', 'Entre semana en la noche', 'Fin de semana', 'Necesito consultar disponibilidad'] },\n        { id: 'contact', type: 'text', q: '\u00bfCu\u00e1l es tu correo electr\u00f3nico o n\u00famero de contacto?', placeholder: 'Correo electr\u00f3nico o tel\u00e9fono', help: 'Lo utilizar\u00e9 solamente para responder a tu solicitud.', required: true }\n      ],\n      messageTitle: 'Hola, Ana. Quisiera solicitar una asesor\u00eda personalizada para mi perro.'\n    },\n    en: {\n      kicker: 'Personalised behaviour consultation',\n      title: 'Tell me what is happening',\n      lead: 'Answer a few short questions so I can learn about your dog and understand the situation you would like to work on.',\n      highlight: 'Your answers will help me understand your dog\u2019s history, environment and the situations that need support.',\n      start: 'Start request',\n      time: 'It takes approximately 3 minutes.',\n      step: (n, total) => `Step ${n} of ${total}`,\n      next: 'Next',\n      review: 'Review request',\n      back: 'Back',\n      required: 'Please complete this answer to continue.',\n      selectRequired: 'Please select at least one option to continue.',\n      summaryKicker: 'Your request is ready',\n      summaryTitle: 'Review your information',\n      summaryLead: 'If everything is correct, send your request through WhatsApp. You can review the message before sending it.',\n      consent: 'I agree to share this information through WhatsApp so I can receive a response about the consultation.',\n      consentError: 'Please confirm that you want to share this information.',\n      send: 'Send through WhatsApp',\n      privacy: 'Your answers are not sent automatically or stored by this form. WhatsApp will open with a prepared message, and you decide whether to send it.',\n      finishedTitle: 'WhatsApp is ready',\n      finishedText: 'A window with your request was opened. Review the message and press Send in WhatsApp.',\n      openAgain: 'Open WhatsApp again',\n      restart: 'Start a new request',\n      notProvided: 'Not provided',\n      labels: {\n        person: 'Name', puppy: 'Dog', age: 'Age', breed: 'Breed or mix',\n        location: 'Location', topics: 'Main concerns', details: 'Case description',\n        vet: 'Veterinary check', safety: 'Safety information',\n        modality: 'Format', availability: 'Availability', contact: 'Contact details'\n      },\n      questions: [\n        { id: 'person', type: 'text', q: 'What is your name?', placeholder: 'Enter your name', help: 'This lets me know how to address you.', required: true },\n        { id: 'puppy', type: 'text', q: 'What is your dog\u2019s name?', placeholder: 'Dog\u2019s name', help: '', required: true },\n        { id: 'age', type: 'single', q: 'How old is your dog?', help: 'Your dog\u2019s age and life stage help provide context for the assessment.', required: true,\n          options: ['Under 1 year', 'Between 1 and 3 years', 'Between 4 and 7 years', '8 years or older'] },\n        { id: 'breed', type: 'text', q: 'What breed or mix is your dog?', placeholder: 'For example: Labrador, mixed breed or not sure', help: 'It is okay if you do not know the breed.', required: true },\n        { id: 'location', type: 'text', q: 'Where do you live?', placeholder: 'City, suburb and country', help: 'In-person consultations are available in Brisbane and online consultations are available worldwide.', required: true },\n        { id: 'topics', type: 'multi', q: 'Which situations would you like to work on?', help: 'You can select more than one option.', required: true,\n          options: ['Fear or insecurity', 'Reactivity towards dogs', 'Reactivity towards people or other triggers', 'Difficulty staying home alone', 'Guarding food, toys or spaces', 'Sensitivity to handling or care', 'Frequent barking', 'Difficulty relaxing', 'Household routines and boundaries', 'Play, communication and relationship', 'Another behaviour'] },\n        { id: 'details', type: 'textarea', q: 'Tell me a little more about the situation', placeholder: 'Describe what happens, when it began, how often it occurs and what you have tried so far.', help: 'Include any details you believe are important for understanding the case.', required: true },\n        { id: 'vet', type: 'single', q: 'Has your dog had a recent veterinary check?', help: 'Some behaviour changes may be connected to pain or a medical condition.', required: true,\n          options: ['Yes, recently', 'Yes, but more than one year ago', 'No', 'I am not sure'] },\n        { id: 'safety', type: 'single', q: 'Are there any safety concerns?', help: 'This information helps me prepare appropriately for the consultation.', required: true,\n          options: ['No', 'Growls or shows warning signals', 'Has attempted to bite', 'Has bitten before', 'I would prefer to discuss this directly'] },\n        { id: 'modality', type: 'single', q: 'Which format do you prefer?', help: 'The in-person consultation is $120 AUD and the online consultation is $96 AUD.', required: true,\n          options: ['In person in Brisbane', 'Online', 'I am not sure'] },\n        { id: 'availability', type: 'multi', q: 'Which times usually work best for you?', help: 'You can select more than one option.', required: true,\n          options: ['Weekday mornings', 'Weekday afternoons', 'Weekday evenings', 'Weekends', 'I need to check availability'] },\n        { id: 'contact', type: 'text', q: 'What is your email address or contact number?', placeholder: 'Email address or phone number', help: 'I will only use it to respond to your request.', required: true }\n      ],\n      messageTitle: 'Hi Ana. I would like to request a personalised behaviour consultation for my dog.'\n    }\n  };\n\n  const t = copy[lang];\n  const screens = {\n    intro: root.querySelector('.sapi-intro'),\n    question: root.querySelector('.sapi-question'),\n    summary: root.querySelector('.sapi-summary'),\n    finished: root.querySelector('.sapi-finished')\n  };\n  const progressWrap = root.querySelector('.sapi-progress-wrap');\n  const progressBar = root.querySelector('.sapi-progress span');\n  const progressText = root.querySelector('.sapi-progress-text');\n  const state = { index: 0, answers: {} };\n  let whatsappUrl = '';\n\n  \/\/ Evita que enlaces configurados accidentalmente en una fila o seccion de\n  \/\/ Divi reciban los clics realizados dentro del formulario.\n  root.addEventListener('click', event => event.stopPropagation());\n\n  function setScreen(name) {\n    Object.values(screens).forEach(screen => screen.classList.remove('is-active'));\n    screens[name].classList.add('is-active');\n    progressWrap.style.display = name === 'question' ? 'block' : 'none';\n    root.scrollIntoView({ behavior: 'smooth', block: 'start' });\n  }\n\n  function setStaticCopy() {\n    screens.intro.querySelector('.sapi-kicker').textContent = t.kicker;\n    screens.intro.querySelector('h1').textContent = t.title;\n    screens.intro.querySelector('.sapi-lead').textContent = t.lead;\n    screens.intro.querySelector('.sapi-highlight').textContent = t.highlight;\n    screens.intro.querySelector('.sapi-start').textContent = t.start;\n    screens.intro.querySelector('.sapi-time').textContent = t.time;\n    screens.question.querySelector('.sapi-back').textContent = t.back;\n    screens.summary.querySelector('.sapi-kicker').textContent = t.summaryKicker;\n    screens.summary.querySelector('h2').textContent = t.summaryTitle;\n    screens.summary.querySelector('.sapi-summary-lead').textContent = t.summaryLead;\n    screens.summary.querySelector('.sapi-consent-text').textContent = t.consent;\n    screens.summary.querySelector('.sapi-summary-back').textContent = t.back;\n    screens.summary.querySelector('.sapi-whatsapp').textContent = t.send;\n    screens.summary.querySelector('.sapi-privacy').textContent = t.privacy;\n    screens.finished.querySelector('h2').textContent = t.finishedTitle;\n    screens.finished.querySelector('p').textContent = t.finishedText;\n    screens.finished.querySelector('.sapi-open-whatsapp').textContent = t.openAgain;\n    screens.finished.querySelector('.sapi-restart').textContent = t.restart;\n  }\n\n  function createOption(label, multi, selected) {\n    const button = document.createElement('button');\n    button.type = 'button';\n    button.className = 'sapi-option' + (multi ? ' is-multi' : '') + (selected ? ' is-selected' : '');\n    button.dataset.value = label;\n    button.setAttribute('aria-pressed', selected ? 'true' : 'false');\n    const mark = document.createElement('span');\n    mark.className = 'sapi-choice-mark';\n    mark.textContent = '\u2713';\n    const text = document.createElement('span');\n    text.textContent = label;\n    button.append(mark, text);\n    return button;\n  }\n\n  function renderQuestion() {\n    const q = t.questions[state.index];\n    const field = screens.question.querySelector('.sapi-field');\n    const error = screens.question.querySelector('.sapi-error');\n    screens.question.querySelector('.sapi-step-label').textContent = t.step(state.index + 1, t.questions.length);\n    screens.question.querySelector('h2').textContent = q.q;\n    screens.question.querySelector('.sapi-help').textContent = q.help || '';\n    screens.question.querySelector('.sapi-next').textContent = state.index === t.questions.length - 1 ? t.review : t.next;\n    progressBar.style.width = `${((state.index + 1) \/ t.questions.length) * 100}%`;\n    progressText.textContent = t.step(state.index + 1, t.questions.length);\n    error.textContent = '';\n    field.innerHTML = '';\n\n    if (q.type === 'text' || q.type === 'textarea') {\n      const input = document.createElement(q.type === 'textarea' ? 'textarea' : 'input');\n      if (q.type === 'text') input.type = 'text';\n      input.className = q.type === 'textarea' ? 'sapi-textarea' : 'sapi-input';\n      input.placeholder = q.placeholder || '';\n      input.value = state.answers[q.id] || '';\n      input.autocomplete = q.id === 'person' ? 'name' : (q.id === 'contact' ? 'email' : 'off');\n      input.addEventListener('input', () => {\n        state.answers[q.id] = input.value.trim();\n        error.textContent = '';\n      });\n      input.addEventListener('keydown', event => {\n        if (event.key === 'Enter' && q.type === 'text') {\n          event.preventDefault();\n          goNext();\n        }\n      });\n      field.appendChild(input);\n      setTimeout(() => input.focus(), 60);\n      return;\n    }\n\n    const options = document.createElement('div');\n    options.className = 'sapi-options';\n    const current = q.type === 'multi' ? (state.answers[q.id] || []) : state.answers[q.id];\n    q.options.forEach(label => {\n      const selected = q.type === 'multi' ? current.includes(label) : current === label;\n      const option = createOption(label, q.type === 'multi', selected);\n      option.addEventListener('click', () => {\n        error.textContent = '';\n        if (q.type === 'multi') {\n          const values = state.answers[q.id] || [];\n          state.answers[q.id] = values.includes(label) ? values.filter(v => v !== label) : [...values, label];\n          option.classList.toggle('is-selected');\n          option.setAttribute('aria-pressed', option.classList.contains('is-selected') ? 'true' : 'false');\n        } else {\n          state.answers[q.id] = label;\n          options.querySelectorAll('.sapi-option').forEach(item => {\n            item.classList.toggle('is-selected', item === option);\n            item.setAttribute('aria-pressed', item === option ? 'true' : 'false');\n          });\n        }\n      });\n      options.appendChild(option);\n    });\n    field.appendChild(options);\n  }\n\n  function currentIsValid() {\n    const q = t.questions[state.index];\n    if (!q.required) return true;\n    const value = state.answers[q.id];\n    if (q.type === 'multi') return Array.isArray(value) && value.length > 0;\n    return typeof value === 'string' && value.trim().length > 0;\n  }\n\n  function goNext() {\n    const error = screens.question.querySelector('.sapi-error');\n    if (!currentIsValid()) {\n      error.textContent = t.questions[state.index].type === 'multi' ? t.selectRequired : t.required;\n      return;\n    }\n    if (state.index < t.questions.length - 1) {\n      state.index += 1;\n      renderQuestion();\n      setScreen('question');\n    } else {\n      renderSummary();\n      setScreen('summary');\n    }\n  }\n\n  function goBack() {\n    if (state.index > 0) {\n      state.index -= 1;\n      renderQuestion();\n    } else {\n      setScreen('intro');\n    }\n  }\n\n  function displayValue(id) {\n    const value = state.answers[id];\n    if (Array.isArray(value)) return value.length ? value.join(', ') : t.notProvided;\n    return value || t.notProvided;\n  }\n\n  function buildMessage() {\n    const lines = [\n      t.messageTitle,\n      '',\n      `${t.labels.person}: ${displayValue('person')}`,\n      `${t.labels.puppy}: ${displayValue('puppy')}`,\n      `${t.labels.age}: ${displayValue('age')}`,\n      `${t.labels.breed}: ${displayValue('breed')}`,\n      `${t.labels.location}: ${displayValue('location')}`,\n      '',\n      `${t.labels.topics}:`,\n      ...(state.answers.topics || []).map(item => `- ${item}`),\n      '',\n      `${t.labels.details}:`,\n      displayValue('details'),\n      '',\n      `${t.labels.vet}: ${displayValue('vet')}`,\n      `${t.labels.safety}: ${displayValue('safety')}`,\n      '',\n      `${t.labels.modality}: ${displayValue('modality')}`,\n      `${t.labels.availability}: ${displayValue('availability')}`,\n      `${t.labels.contact}: ${displayValue('contact')}`\n    ];\n    return lines.join('\\n');\n  }\n\n  function renderSummary() {\n    const box = screens.summary.querySelector('.sapi-summary-box');\n    box.innerHTML = '';\n    t.questions.forEach(q => {\n      const row = document.createElement('div');\n      row.className = 'sapi-summary-row';\n      const key = document.createElement('span');\n      key.className = 'sapi-summary-key';\n      key.textContent = t.labels[q.id];\n      const value = document.createElement('span');\n      value.className = 'sapi-summary-value';\n      value.textContent = displayValue(q.id);\n      row.append(key, value);\n      box.appendChild(row);\n    });\n    whatsappUrl = `https:\/\/wa.me\/${whatsappNumber}?text=${encodeURIComponent(buildMessage())}`;\n    screens.summary.querySelector('.sapi-whatsapp').href = whatsappUrl;\n    screens.finished.querySelector('.sapi-open-whatsapp').href = whatsappUrl;\n    screens.summary.querySelector('.sapi-consent-input').checked = false;\n    screens.summary.querySelector('.sapi-consent-error').textContent = '';\n  }\n\n  screens.intro.querySelector('.sapi-start').addEventListener('click', () => {\n    state.index = 0;\n    renderQuestion();\n    setScreen('question');\n  });\n  screens.question.querySelector('.sapi-next').addEventListener('click', goNext);\n  screens.question.querySelector('.sapi-back').addEventListener('click', goBack);\n  screens.summary.querySelector('.sapi-summary-back').addEventListener('click', () => {\n    state.index = t.questions.length - 1;\n    renderQuestion();\n    setScreen('question');\n  });\n  screens.summary.querySelector('.sapi-whatsapp').addEventListener('click', event => {\n    const consent = screens.summary.querySelector('.sapi-consent-input');\n    if (!consent.checked) {\n      event.preventDefault();\n      screens.summary.querySelector('.sapi-consent-error').textContent = t.consentError;\n      consent.focus();\n      return;\n    }\n    setTimeout(() => setScreen('finished'), 250);\n  });\n  screens.summary.querySelector('.sapi-consent-input').addEventListener('change', () => {\n    screens.summary.querySelector('.sapi-consent-error').textContent = '';\n  });\n  screens.finished.querySelector('.sapi-restart').addEventListener('click', () => {\n    state.index = 0;\n    state.answers = {};\n    setScreen('intro');\n  });\n\n  setStaticCopy();\n})();\n<\/script>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"footnotes":""},"class_list":["post-230","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sentiranimal.com\/en\/wp-json\/wp\/v2\/pages\/230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sentiranimal.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sentiranimal.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sentiranimal.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sentiranimal.com\/en\/wp-json\/wp\/v2\/comments?post=230"}],"version-history":[{"count":3,"href":"https:\/\/sentiranimal.com\/en\/wp-json\/wp\/v2\/pages\/230\/revisions"}],"predecessor-version":[{"id":233,"href":"https:\/\/sentiranimal.com\/en\/wp-json\/wp\/v2\/pages\/230\/revisions\/233"}],"wp:attachment":[{"href":"https:\/\/sentiranimal.com\/en\/wp-json\/wp\/v2\/media?parent=230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}