{"id":800,"date":"2025-07-30T18:12:59","date_gmt":"2025-07-30T16:12:59","guid":{"rendered":"https:\/\/www.ttdo.pro\/?page_id=800"},"modified":"2025-11-13T19:26:01","modified_gmt":"2025-11-13T18:26:01","slug":"contact","status":"publish","type":"page","link":"https:\/\/www.ttdo.pro\/en-uk\/contact\/","title":{"rendered":"Contact"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"800\" class=\"elementor elementor-800\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4e1baf1 e-con-full e-flex e-con e-parent\" data-id=\"4e1baf1\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-95964a7 e-con-full e-flex e-con e-child\" data-id=\"95964a7\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ae0cfce elementor-widget__width-initial elementor-widget-tablet__width-inherit elementor-widget elementor-widget-heading\" data-id=\"ae0cfce\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">CONTACT<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5ab159c elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-text-editor\" data-id=\"5ab159c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We\u2019re here to answer your questions, provide technical support, or help you start a new smart textile project.<br \/>Tell us what you need and we\u2019ll get back to you quickly.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-086adf2 elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-hidden-desktop elementor-widget-tablet__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"086adf2\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We\u2019re here to answer your questions, provide technical support, or help you start a new smart textile project. Tell us what you need and we\u2019ll get back to you quickly.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-dd0820d e-con-full e-flex e-con e-child\" data-id=\"dd0820d\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-bf01051 e-con-full e-flex e-con e-child\" data-id=\"bf01051\" data-element_type=\"container\">\n\t\t<a class=\"elementor-element elementor-element-d300e35 e-con-full e-flex e-con e-child\" data-id=\"d300e35\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\" href=\"mailto:ttdo@ttdo.tech\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0588522 elementor-widget elementor-widget-icon-box\" data-id=\"0588522\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tEmail\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tttdo@ttdo.tech\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/a>\n\t\t<a class=\"elementor-element elementor-element-3e3845d e-con-full e-flex e-con e-child\" data-id=\"3e3845d\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\" href=\"tel:+34671783173\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c486934 elementor-widget elementor-widget-icon-box\" data-id=\"c486934\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tPhone\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t+34 671 783 173\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8f4d20d e-con-full e-flex e-con e-child\" data-id=\"8f4d20d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e590c80 elementor-button-align-start elementor-tablet-button-align-center elementor-widget elementor-widget-form\" data-id=\"e590c80\" data-element_type=\"widget\" data-settings=\"{&quot;step_next_label&quot;:&quot;Siguiente&quot;,&quot;step_previous_label&quot;:&quot;Anterior&quot;,&quot;button_width_tablet&quot;:&quot;100&quot;,&quot;button_width&quot;:&quot;100&quot;,&quot;step_type&quot;:&quot;number_text&quot;,&quot;step_icon_shape&quot;:&quot;circle&quot;}\" data-widget_type=\"form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<form class=\"elementor-form\" method=\"post\" name=\"Nuevo formulario\" aria-label=\"Nuevo formulario\" action=\"\">\n\t\t\t<input type=\"hidden\" name=\"post_id\" value=\"800\"\/>\n\t\t\t<input type=\"hidden\" name=\"form_id\" value=\"e590c80\"\/>\n\t\t\t<input type=\"hidden\" name=\"referer_title\" value=\"\" \/>\n\n\t\t\t\n\t\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-name elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-name\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tFull name\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[name]\" id=\"form-field-name\" class=\"elementor-field elementor-size-sm  elementor-field-textual\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-email elementor-field-group elementor-column elementor-field-group-email elementor-col-50 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-email\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tEmail\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"email\" name=\"form_fields[email]\" id=\"form-field-email\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-tel elementor-field-group elementor-column elementor-field-group-field_6972821 elementor-col-50 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-field_6972821\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tPhone\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t<input size=\"1\" type=\"tel\" name=\"form_fields[field_6972821]\" id=\"form-field-field_6972821\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"+34\" required=\"required\" pattern=\"[0-9()#&amp;+*-=.]+\" title=\"Only numbers and phone characters (#, -, *, etc) are accepted.\">\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-textarea elementor-field-group elementor-column elementor-field-group-message elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-message\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tMessage\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t<textarea class=\"elementor-field-textual elementor-field  elementor-size-sm\" name=\"form_fields[message]\" id=\"form-field-message\" rows=\"4\"><\/textarea>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-acceptance elementor-field-group elementor-column elementor-field-group-field_1dcfa08 elementor-col-100\">\n\t\t\t\t\t\t\t<div class=\"elementor-field-subgroup\">\n\t\t\t<span class=\"elementor-field-option\">\n\t\t\t\t<input type=\"checkbox\" name=\"form_fields[field_1dcfa08]\" id=\"form-field-field_1dcfa08\" class=\"elementor-field elementor-size-sm  elementor-acceptance-field\">\n\t\t\t\t<label for=\"form-field-field_1dcfa08\">I have read the Privacy Policy and agree to the processing of my data for the processing of my request.*<\/label>\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-group elementor-column elementor-field-type-submit elementor-col-100 e-form__buttons elementor-md-100\">\n\t\t\t\t\t<button class=\"elementor-button elementor-size-sm\" type=\"submit\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-angle-right\" viewbox=\"0 0 256 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z\"><\/path><\/svg>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Book Now<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"en-uk\"\/><\/form>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-addf11d e-con-full e-flex e-con e-child\" data-id=\"addf11d\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-5fa7d82 e-con-full e-flex e-con e-child\" data-id=\"5fa7d82\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c888ba7 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"c888ba7\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Book a meeting<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-63e8124 elementor-widget-mobile__width-inherit elementor-widget elementor-widget-jet-engine-booking-form\" data-id=\"63e8124\" data-element_type=\"widget\" data-widget_type=\"jet-engine-booking-form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<form  class=\"jet-form layout-column submit-type-ajax\" action=\"\/en-uk\/wp-json\/wp\/v2\/pages\/800?jet_engine_action=book&#038;nocache=1792791167\" method=\"POST\" data-form-id=\"808\" data-trp-original-action=\"\/en-uk\/wp-json\/wp\/v2\/pages\/800?jet_engine_action=book&#038;nocache=1792791167\"><input class=\"jet-form__field hidden-field\" type=\"hidden\" name=\"_jet_engine_booking_form_id\" value=\"808\" data-field-name=\"_jet_engine_booking_form_id\"><input class=\"jet-form__field hidden-field\" type=\"hidden\" name=\"_jet_engine_refer\" value=\"https:\/\/www.ttdo.pro\/en-uk\/wp-json\/wp\/v2\/pages\/800\" data-field-name=\"_jet_engine_refer\"><div  class=\"jet-form-row jet-form-row--hidden\"><div class=\"jet-form-col jet-form-col-12  field-type-hidden  jet-form-field-container\" data-field=\"page_id\" data-conditional=\"false\"><input class=\"jet-form__field hidden-field\" type=\"hidden\" name=\"page_id\" value=\"800\" data-field-name=\"page_id\"><\/div><\/div><div  class=\"jet-form-row jet-form-row--hidden\"><div class=\"jet-form-col jet-form-col-12  field-type-hidden  jet-form-field-container\" data-field=\"service_id\" data-conditional=\"false\"><input class=\"jet-form__field hidden-field\" type=\"hidden\" name=\"service_id\" value=\"723\" data-field-name=\"service_id\"><\/div><\/div><div  class=\"jet-form-row jet-form-row--first-visible\"><div class=\"jet-form-col jet-form-col-12  field-type-text  jet-form-field-container\" data-field=\"field_name\" data-conditional=\"false\"><div class=\"jet-form__label\">\n\t<label class=\"jet-form__label-text\" for=\"field_name\">Full name<span class=\"jet-form__required\">*<\/span><\/label>\n\t<\/div><input class=\"jet-form__field text-field\" value=\"\" required=\"required\" name=\"field_name\" id=\"field_name\" type=\"text\" data-field-name=\"field_name\"><\/div><\/div><div  class=\"jet-form-row\"><div class=\"jet-form-col jet-form-col-12  field-type-text  jet-form-field-container\" data-field=\"user_email\" data-conditional=\"false\"><div class=\"jet-form__label\">\n\t<label class=\"jet-form__label-text\" for=\"user_email\">Email<span class=\"jet-form__required\">*<\/span><\/label>\n\t<\/div><input class=\"jet-form__field text-field\" value=\"\" required=\"required\" name=\"user_email\" id=\"user_email\" type=\"email\" data-field-name=\"user_email\"><\/div><\/div><div  class=\"jet-form-row\"><div class=\"jet-form-col jet-form-col-12  field-type-appointment_date form-en jet-form-field-container\" data-field=\"appointment_date\" data-conditional=\"false\"><div class=\"jet-form__label\">\n\t<label class=\"jet-form__label-text\" for=\"appointment_date\">Select date and time<span class=\"jet-form__required\">*<\/span><\/label>\n\t<\/div><div class=\"jet-apb-calendar-wrapper\">\n\t<div class=\"appointment-calendar jet-apb-calendar\" data-args=\"{&quot;booking_type&quot;:&quot;range&quot;,&quot;excludedDates&quot;:[],&quot;datesMode&quot;:&quot;override_full&quot;,&quot;worksDates&quot;:[],&quot;datesRange&quot;:{&quot;start&quot;:0,&quot;end&quot;:0},&quot;availableWeekDays&quot;:[&quot;monday&quot;,&quot;tuesday&quot;,&quot;wednesday&quot;,&quot;thursday&quot;,&quot;friday&quot;],&quot;service&quot;:{&quot;field&quot;:&quot;service_id&quot;},&quot;providerIsset&quot;:false,&quot;provider&quot;:false,&quot;inputName&quot;:&quot;appointment_date&quot;,&quot;isRequired&quot;:true,&quot;allowedServices&quot;:false}\"><\/div>\n\n\t\t<div class=\"jet-apb-calendar-appointments-list-wrapper\" style=\"display: none\">\n\t\t<div class=\"jet-form__heading\">\n\t\t\t<span class=\"jet-form__label-text\">Appointment details:<\/span>\n\t\t<\/div>\n\t\t<div class=\"jet-apb-calendar-appointments-list\"><\/div>\n\t<\/div>\n\t<div class=\"jet-apb-calendar-notification\" style=\"display: none\">\n\t\t<div class=\"jet-apb-calendar-notification-service\">Please, select the service first.<\/div>\n\t\t<div class=\"jet-apb-calendar-notification-provider\">Please, select the provider first.<\/div>\n\t\t<div class=\"jet-apb-calendar-notification-service-field\">Please set service field for current calendar<\/div>\n\t\t<div class=\"jet-apb-calendar-notification-max-slots\">Sorry. You have the max number of appointments.<\/div>\n\t<\/div>\n<\/div>\n<\/div><\/div><div  class=\"jet-form-row\"><div class=\"jet-form-col jet-form-col-12  field-type-checkboxes  jet-form-field-container\" data-field=\"aceptacion\" data-conditional=\"false\"><div class=\"jet-form__fields-group checkradio-wrap\">\t\t<div class=\"jet-form__field-wrap checkboxes-wrap checkradio-wrap\">\n\t\t\t\t\t\t<label class=\"jet-form__field-label\">\n\t\t\t\t<input\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tname=\"aceptacion\"\n\t\t\t\t\tclass=\"jet-form__field checkboxes-field checkradio-field checkboxes-required\"\n\t\t\t\t\tvalue=\"I have read the Privacy Policy and accept the processing of my data for the purpose of handling this request.\"\n\t\t\t\t\tdata-field-name=\"aceptacion\"\n\t\t\t\t\t\t\t\t\t\trequired=\"required\"\t\t\t\t\t\t\t\t\t>\n\t\t\t\tI have read the Privacy Policy and accept the processing of my data for the purpose of handling this request.\t\t\t<\/label>\n\t\t<\/div>\n\t\t<\/div><\/div><\/div><div  class=\"jet-form-row jet-form-row--submit\"><div class=\"jet-form-col jet-form-col-12  field-type-submit  jet-form-field-container\" data-field=\"Submit\" data-conditional=\"false\"><div class=\"jet-form__submit-wrap\">\n\t\t<button class=\"jet-form__submit submit-type-ajax\" type=\"button\">Book now<\/button>\n<\/div><\/div><\/div><input class=\"jet-form__field hidden-field\" type=\"hidden\" name=\"_jet_engine_nonce\" value=\"b35b07483a\" data-field-name=\"_jet_engine_nonce\"><input type=\"hidden\" name=\"trp-form-language\" value=\"en-uk\"\/><\/form><div class=\"jet-form-messages-wrap\" data-form-id=\"808\"><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f682030 elementor-widget elementor-widget-html\" data-id=\"f682030\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n\r\n    \/* --- Calendario (meses y d\u00edas) --- *\/\r\n    function translateCalendar(root) {\r\n        const container = root || document;\r\n\r\n        const monthNames = {\r\n            \"Enero\": \"January\", \"Febrero\": \"February\", \"Marzo\": \"March\",\r\n            \"Abril\": \"April\", \"Mayo\": \"May\", \"Junio\": \"June\",\r\n            \"Julio\": \"July\", \"Agosto\": \"August\", \"Septiembre\": \"September\",\r\n            \"Octubre\": \"October\", \"Noviembre\": \"November\", \"Diciembre\": \"December\"\r\n        };\r\n\r\n        const dayNames = {\r\n            \"Lun\": \"Mon\", \"Mar\": \"Tue\", \"Mi\u00e9\": \"Wed\",\r\n            \"Jue\": \"Thu\", \"Vie\": \"Fri\", \"S\u00e1b\": \"Sat\", \"Dom\": \"Sun\"\r\n        };\r\n\r\n        \/\/ Mes en el encabezado\r\n        container.querySelectorAll('[data-calendar-label=\"month\"]').forEach(el => {\r\n            let text = el.innerText || \"\";\r\n            Object.keys(monthNames).forEach(es => {\r\n                if (text.includes(es)) {\r\n                    text = text.replace(es, monthNames[es]);\r\n                }\r\n            });\r\n            el.innerText = text;\r\n        });\r\n\r\n        \/\/ D\u00edas de la semana\r\n        container.querySelectorAll('.jet-apb-calendar-week span').forEach(el => {\r\n            const text = (el.innerText || \"\").trim();\r\n            Object.keys(dayNames).forEach(es => {\r\n                if (text === es) {\r\n                    el.innerText = dayNames[es];\r\n                }\r\n            });\r\n        });\r\n    }\r\n\r\n    \/* --- Textos de la reserva \/ cita --- *\/\r\n    function translateBookingTexts(root) {\r\n        const container = root || document;\r\n\r\n        \/\/ \"Detalles de la cita\" \u2192 \"Booking details:\"\r\n        container.querySelectorAll('.jet-apb-calendar-appointments-list-wrapper .jet-form__label-text')\r\n            .forEach(el => {\r\n                const text = (el.innerText || \"\").trim();\r\n                if (\r\n                    text.includes(\"Detalles de la cita\") ||\r\n                    text.includes(\"Detalles de la reserva\") ||\r\n                    text.toLowerCase().includes(\"detalles\")\r\n                ) {\r\n                    el.innerText = \"Booking details:\";\r\n                }\r\n            });\r\n\r\n        \/\/ \"Reserva\" \u2192 \"Booking\"\r\n        container.querySelectorAll('.jet-apb-item-service-provider').forEach(el => {\r\n            const text = (el.innerText || \"\").trim();\r\n            if (text === \"Reserva\" || text === \"Cita\") {\r\n                el.innerText = \"Booking\";\r\n            }\r\n        });\r\n\r\n        \/\/ Fechas SOLO en el bloque de resumen, no en los slots\r\n        const monthMap = {\r\n            \"Enero\": \"January\", \"Febrero\": \"February\", \"Marzo\": \"March\",\r\n            \"Abril\": \"April\", \"Mayo\": \"May\", \"Junio\": \"June\",\r\n            \"Julio\": \"July\", \"Agosto\": \"August\", \"Septiembre\": \"September\",\r\n            \"Octubre\": \"October\", \"Noviembre\": \"November\", \"Diciembre\": \"December\"\r\n        };\r\n\r\n        container.querySelectorAll('.jet-apb-calendar-appointments-list-wrapper .jet-apb-item-time')\r\n            .forEach(el => {\r\n                let text = el.innerText || \"\";\r\n\r\n                text = text.replace(\/ de \/g, \" \");\r\n\r\n                Object.keys(monthMap).forEach(es => {\r\n                    if (text.includes(es)) {\r\n                        text = text.replace(es, monthMap[es]);\r\n                    }\r\n                });\r\n\r\n                el.innerText = text;\r\n            });\r\n    }\r\n\r\n    \/* --- \"Tiempo de trabajo\", \"Inicio\", \"Fin\" --- *\/\r\n    function translateWorkingHours(root) {\r\n        const container = root || document;\r\n        const map = {\r\n            \"tiempo de trabajo:\": \"Working hours:\",\r\n            \"tiempo de trabajo\": \"Working hours:\",\r\n            \"inicio:\": \"Start:\",\r\n            \"inicio\": \"Start:\",\r\n            \"fin:\": \"End:\",\r\n            \"fin\": \"End:\"\r\n        };\r\n\r\n        \/\/ solo labels\/spans\/div dentro del wrapper del calendario\r\n        container.querySelectorAll('.jet-apb-calendar-wrapper label, .jet-apb-calendar-wrapper span, .jet-apb-calendar-wrapper div')\r\n            .forEach(el => {\r\n                if (!el.innerText) return;\r\n                const original = el.innerText.replace(\/\\s+\/g, \" \").trim();\r\n                const key = original.toLowerCase();\r\n                if (map[key]) {\r\n                    \/\/ sustituimos solo el texto que coincide, no todo el innerText\r\n                    el.innerText = el.innerText.replace(original, map[key]);\r\n                }\r\n            });\r\n    }\r\n\r\n    \/* --- Notificaciones del calendario --- *\/\r\n    function translateNotifications(root) {\r\n        const container = root || document;\r\n\r\n        container.querySelectorAll('.jet-apb-calendar-notification-service').forEach(el => {\r\n            el.innerText = \"Please, select the service first.\";\r\n        });\r\n\r\n        container.querySelectorAll('.jet-apb-calendar-notification-provider').forEach(el => {\r\n            el.innerText = \"Please, select the provider first.\";\r\n        });\r\n\r\n        container.querySelectorAll('.jet-apb-calendar-notification-service-field').forEach(el => {\r\n            el.innerText = \"Please set service field for current calendar.\";\r\n        });\r\n\r\n        container.querySelectorAll('.jet-apb-calendar-notification-max-slots').forEach(el => {\r\n            el.innerText = \"Sorry. You have reached the maximum number of appointments.\";\r\n        });\r\n    }\r\n\r\n    \/* --- Funci\u00f3n general --- *\/\r\n    function translateAll(root) {\r\n        translateCalendar(root);\r\n        translateBookingTexts(root);\r\n        translateWorkingHours(root);\r\n        translateNotifications(root);\r\n    }\r\n\r\n    \/\/ 1) Primera pasada al cargar\r\n    translateAll(document);\r\n\r\n    \/\/ 2) Volver a traducir cuando JetAppointment rehaga el calendario (Ajax)\r\n    const calendarWrapper = document.querySelector('.jet-apb-calendar-wrapper');\r\n    if (calendarWrapper && window.MutationObserver) {\r\n        const observer = new MutationObserver(() => {\r\n            translateAll(calendarWrapper);\r\n        });\r\n\r\n        observer.observe(calendarWrapper, {\r\n            childList: true,\r\n            subtree: true\r\n        });\r\n    }\r\n\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>CONTACT We\u2019re here to answer your questions, provide technical support, or help you start a new smart textile project.Tell us what you need and we\u2019ll get back to you quickly. We\u2019re here to answer your questions, provide technical support, or help you start a new smart textile project. Tell us what you need and we\u2019ll [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-800","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ttdo.pro\/en-uk\/wp-json\/wp\/v2\/pages\/800","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ttdo.pro\/en-uk\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ttdo.pro\/en-uk\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ttdo.pro\/en-uk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ttdo.pro\/en-uk\/wp-json\/wp\/v2\/comments?post=800"}],"version-history":[{"count":130,"href":"https:\/\/www.ttdo.pro\/en-uk\/wp-json\/wp\/v2\/pages\/800\/revisions"}],"predecessor-version":[{"id":1561,"href":"https:\/\/www.ttdo.pro\/en-uk\/wp-json\/wp\/v2\/pages\/800\/revisions\/1561"}],"wp:attachment":[{"href":"https:\/\/www.ttdo.pro\/en-uk\/wp-json\/wp\/v2\/media?parent=800"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}