{"id":84,"date":"2025-11-04T18:13:34","date_gmt":"2025-11-04T18:13:34","guid":{"rendered":"https:\/\/amir.tag25.com\/?page_id=84"},"modified":"2026-02-11T17:40:14","modified_gmt":"2026-02-11T17:40:14","slug":"home","status":"publish","type":"page","link":"https:\/\/qa-server.amircolombia.com\/mexico\/","title":{"rendered":"AMIR Colombia: Curso para MIR"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"84\" class=\"elementor elementor-84\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-964bb1b e-con-full content-body e-flex e-con e-parent\" data-id=\"964bb1b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-3d37a09 e-con-full content-body2 e-flex e-con e-child\" data-id=\"3d37a09\" data-element_type=\"container\" data-e-type=\"container\" id=\"banner-principal\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-22bcc40 elementor-widget__width-initial elementor-widget elementor-widget-image\" data-id=\"22bcc40\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"logo\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1080\" height=\"472\" src=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/12\/Logo-AMIR-by-Healthcademia-01.svg\" class=\"attachment-full size-full wp-image-13791\" alt=\"Logo AMIR\" srcset=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/\/2025\/12\/elementor\/thumbs\/Logo-AMIR-by-Healthcademia-01.svg 260w, https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/\/2025\/12\/Logo-AMIR-by-Healthcademia-01.svg 1080w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" title=\"\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aa260c6 font-30 elementor-widget elementor-widget-heading\" data-id=\"aa260c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Te acompa\u00f1amos en cada etapa de tu camino profesional<\/h1>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1f1dbf4 e-con-full e-grid e-con e-child\" data-id=\"1f1dbf4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9c2077b btn-drop elementor-widget elementor-widget-n-accordion\" data-id=\"9c2077b\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;default_state&quot;:&quot;all_collapsed&quot;,&quot;max_items_expended&quot;:&quot;one&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:400,&quot;sizes&quot;:[]}}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"btn-dip-gral\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"btn-dip-gral\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> CURSOS RESIDENCIAS M\u00c9DICAS <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-caret-up\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-caret-down\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"btn-dip-gral\" class=\"elementor-element elementor-element-35e8d2f e-con-full e-flex e-con e-child\" data-id=\"35e8d2f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d3c4d39 opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"d3c4d39\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/el-enarm\/\">\u00bfQue es el ENARM?<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0a10d7b opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"0a10d7b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/el-enarm\/enarm-excellence\/\">ENARM Excellence 2026<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d99bf55 opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"d99bf55\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/el-enarm\/curso-enarm-a-tu-ritmo\/\">ENARM A Tu Ritmo<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-36a731a opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"36a731a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/examen-mir\/\">\u00bfQue es el MIR?<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0f78ae6 opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"0f78ae6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/examen-mir\/curso-mir\/\">Curso MIR 2027<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-951a347 opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"951a347\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/preparacion-examen-ceneval-egel\/\">EGEL<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e7da710 btn-drop elementor-widget elementor-widget-n-accordion\" data-id=\"e7da710\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;default_state&quot;:&quot;all_collapsed&quot;,&quot;max_items_expended&quot;:&quot;one&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:400,&quot;sizes&quot;:[]}}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2430\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2430\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> M\u00e1sters Y POSGRADOS <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-caret-up\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-caret-down\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2430\" class=\"elementor-element elementor-element-e6b406c e-con-full e-flex e-con e-child\" data-id=\"e6b406c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3cd0d27 opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"3cd0d27\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/masters-posgrados\/medicina-estetica\/\">Medicina Est\u00e9tica<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7883a14 opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"7883a14\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/masters-posgrados\/tricologia-microinjerto-capilar\/\">Tricolog\u00eda<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4c02f11 opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"4c02f11\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/masters-posgrados\/sexologia-terapia-pareja\/\">Sexolog\u00eda y Terapia de Pareja<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-32f7f6f opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"32f7f6f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/masters-posgrados\/medicina-deportiva\/\">Medicina Deportiva<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3bdb4f0 opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"3bdb4f0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/masters-posgrados\/nutricion-obesidad-y-microbiota\/\">Nutrici\u00f3n, Obesidad y Microbiota<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-90beeb4 btn-drop elementor-widget elementor-widget-n-accordion\" data-id=\"90beeb4\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;default_state&quot;:&quot;all_collapsed&quot;,&quot;max_items_expended&quot;:&quot;one&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:400,&quot;sizes&quot;:[]}}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1510\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1510\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> DIPLOMADOS INTERNACIONALES <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-caret-up\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-caret-down\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1510\" class=\"elementor-element elementor-element-0763303 e-con-full e-flex e-con e-child\" data-id=\"0763303\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6c3c64a opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"6c3c64a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/diplomados\/cardiologia\/\">Cardiolog\u00eda<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c7a375 opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"3c7a375\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/diplomados\/anestesiologia-reanimacion\/\">Anestesiolog\u00eda &amp; Reanimaci\u00f3n<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-150c21c opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"150c21c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/diplomados\/enfermedades-infecciosas\/\">Enfermedades Infecciosas<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0a2d235 opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"0a2d235\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/diplomados\/ginecologia-obstetricia\/\">Ginecolog\u00eda y Obstetricia<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d0cfaeb opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"d0cfaeb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/diplomados\/hematologia\/\">Hematolog\u00eda<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-91256cc opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"91256cc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/diplomados\/medicina-intensiva\/\">Medicina Intensiva<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-725edf4 opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"725edf4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/diplomados\/pediatria-hospitalaria\/\">Pediatr\u00eda Hospitalaria<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-80ff72e opc-drop font-16 elementor-widget elementor-widget-heading\" data-id=\"80ff72e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/diplomados\/mindfulness\/\">Mindfuldess<\/a><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dd45a8c elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-image\" data-id=\"dd45a8c\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"img-banner\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"379\" height=\"273\" src=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/group_224.webp\" class=\"attachment-full size-full wp-image-2311\" alt=\"\" srcset=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/group_224.webp 379w, https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/group_224-300x216.webp 300w\" sizes=\"(max-width: 379px) 100vw, 379px\" title=\"\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-279cbec e-con-full content-body2 e-flex e-con e-child\" data-id=\"279cbec\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-368e8bb e-con-full e-flex e-con e-child\" data-id=\"368e8bb\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f4140cc font-26 elementor-widget elementor-widget-heading\" data-id=\"f4140cc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bfQui\u00e9nes somos?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1dd405b font-18 elementor-widget elementor-widget-text-editor\" data-id=\"1dd405b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Somos AMIR, parte de Healthcademia, el grupo educativo en salud m\u00e1s grande del mundo.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8f997c2 e-con-full e-grid e-con e-child\" data-id=\"8f997c2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e51e61c cifras elementor-widget elementor-widget-counter\" data-id=\"e51e61c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">A\u00f1os de experiencia<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\">+<\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"2000\" data-to-value=\"18\" data-from-value=\"0\" data-delimiter=\",\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\"><\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-696178d cifras elementor-widget elementor-widget-counter\" data-id=\"696178d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">Profesionales formados<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\">+<\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"2000\" data-to-value=\"500\" data-from-value=\"0\" data-delimiter=\",\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\">k<\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e419bb1 cifras elementor-widget elementor-widget-counter\" data-id=\"e419bb1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">Pa\u00edses en el mundo<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\"><\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"2000\" data-to-value=\"17\" data-from-value=\"0\" data-delimiter=\",\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\"><\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4a75481 cifras elementor-widget elementor-widget-counter\" data-id=\"4a75481\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">Programas activos<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\">+<\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"2000\" data-to-value=\"20\" data-from-value=\"0\" data-delimiter=\",\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\"><\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c822a96 font-17 elementor-widget elementor-widget-text-editor\" data-id=\"c822a96\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Nuestra misi\u00f3n ha sido formar a la siguiente generaci\u00f3n de m\u00e9dicos y profesionales de la salud, a trav\u00e9s de un modelo educativo creado por quienes mejor conocen la vocaci\u00f3n: m\u00e9dicos que forman a m\u00e9dicos.\u00a0<\/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-5852ce7 elementor-widget elementor-widget-html\" data-id=\"5852ce7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\/*Evita que el formulario de Elementor se env\u00ede si el n\u00famero de tel\u00e9fono no tiene exactamente 10 d\u00edgitos, muestra un error y marca el campo en rojo.*\/\n\n  \/* Opcional: estilo para marcar el campo con error *\/\n  .campo-error {\n    border-color: #ff0000 !important;\n  }\n<\/style>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n  \/\/ Busca todos los formularios de Elementor en la p\u00e1gina\n  var forms = document.querySelectorAll('.elementor-form');\n\n  forms.forEach(function (form) {\n    \/\/ Listener en FASE DE CAPTURA (el \"true\" al final es la clave)\n    form.addEventListener('submit', function (e) {\n      var movilInput = form.querySelector('input[name=\"form_fields[movil]\"]');\n      if (!movilInput) return; \/\/ si este form no tiene m\u00f3vil, salimos\n\n      \/\/ Limpia errores anteriores\n      movilInput.classList.remove('campo-error');\n      var oldError = form.querySelector('.error-movil');\n      if (oldError) oldError.remove();\n\n      \/\/ Solo d\u00edgitos\n      var valor = (movilInput.value || '').replace(\/\\D\/g, '');\n\n      \/\/ Validar: exactamente 10 d\u00edgitos\n      if (!\/^\\d{10}$\/.test(valor)) {\n        \/\/ Detener env\u00edo ANTES de que Elementor lo procese\n        e.preventDefault();\n        e.stopPropagation();\n        if (typeof e.stopImmediatePropagation === 'function') {\n          e.stopImmediatePropagation();\n        }\n\n        \/\/ Marca el campo y mensaje de error\n        movilInput.classList.add('campo-error');\n\n        var error = document.createElement('span');\n        error.className = 'error-movil';\n        error.textContent = 'Por favor ingresa un n\u00famero de m\u00f3vil de 10 d\u00edgitos.';\n        error.style.color = '#ff0000';\n        error.style.fontSize = '12px';\n        error.style.display = 'block';\n        error.style.marginTop = '4px';\n\n        movilInput.insertAdjacentElement('afterend', error);\n      }\n    }, true); \/\/ <= FASE DE CAPTURA\n  });\n});\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7beabc5 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"7beabc5\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"seccion_form\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c16ca0b e-con-full seccion-form e-flex e-con e-child\" data-id=\"c16ca0b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-dff8833 e-con-full e-grid e-con e-child\" data-id=\"dff8833\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0efaf93 elementor-widget elementor-widget-image\" data-id=\"0efaf93\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"528\" height=\"404\" src=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/freepik_a_25yearold_white_latin_woman_with_a_headset_on_we_75338_1.webp\" class=\"attachment-full size-full wp-image-1967\" alt=\"\" srcset=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/freepik_a_25yearold_white_latin_woman_with_a_headset_on_we_75338_1.webp 528w, https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/freepik_a_25yearold_white_latin_woman_with_a_headset_on_we_75338_1-300x230.webp 300w\" sizes=\"(max-width: 528px) 100vw, 528px\" title=\"\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e6c0081 e-con-full e-flex e-con e-child\" data-id=\"e6c0081\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bc71077 font-24 elementor-widget elementor-widget-heading\" data-id=\"bc71077\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Te guiamos en cada paso\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-090b4e0 font-18 elementor-widget elementor-widget-heading\" data-id=\"090b4e0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Nuestros asesores expertos en educaci\u00f3n m\u00e9dica te orientar\u00e1n... <\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7606cca elementor-widget elementor-widget-shortcode\" data-id=\"7606cca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><style type=\"text\/css\">\n\/* Healthcademia Default Form CSS *\/\n\/* ===================================\n   VARIABLES CSS PERSONALIZABLES\n   =================================== *\/\n:root {\n    \/* Espaciados *\/\n    --hc-container-padding: 30px;\n    --hc-field-margin: 18px;\n    --hc-name-row-gap: 16px;\n    --hc-header-gap: 12px;\n    --hc-checkbox-gap: 8px;\n    --hc-phone-prefix-gap: 16px;\n    \n    \/* Bordes y radios *\/\n    --hc-container-radius: 16px;\n    --hc-input-radius: 8px;\n    --hc-input-border-width: 1px;\n    \n    \/* Colores *\/\n    --hc-bg-color: #fff;\n    --hc-border-color: #d6d6d6;\n    --hc-container-border-color: #e0e0e0;\n    --hc-primary-color: #1976d2;\n    --hc-error-color: #d32f2f;\n    --hc-error-color-bg: #fff5f7;\n    --hc-text-color: #333;\n    --hc-label-color: #999;\n    \n    \/* Tipograf\u00eda *\/\n    --hc-font-family: \"Inter\", Arial, sans-serif;\n    --hc-input-font-size: 15px;\n    --hc-label-font-size: 15px;\n    --hc-label-font-size-small: 12px;\n    --hc-checkbox-font-size: 14px;\n    \n    \/* Transiciones *\/\n    --hc-transition-duration: 0.2s;\n    --hc-transition-timing: ease;\n    \n    \/* Tama\u00f1os espec\u00edficos *\/\n    --hc-input-padding: 5px 10px 7px 10px;\n    --hc-textarea-min-height: 110px;\n    --hc-focus-shadow-size: 2px;\n    --hc-button-padding: 14px 24px;\n    --hc-phone-prefix-width: 120px;\n}\n\n\/* ===================================\n   ESTILOS DEL FORMULARIO\n   =================================== *\/\n\n\/* Healthcademia Default Form Styles *\/\n.hc-form-container {\n    background: var(--hc-bg-color);\n    border-radius: var(--hc-container-radius);\n    padding: var(--hc-container-padding);\n    border: var(--hc-input-border-width) solid var(--hc-container-border-color);\n    position: relative;\n    font-family: var(--hc-font-family);\n}\n\n.hc-form-header {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: var(--hc-header-gap);\n    margin-bottom: var(--hc-header-gap);\n}\n\n.hc-form {\n    display: flex;\n    flex-direction: column;\n}\n\n\/* Nombre y apellidos en horizontal *\/\n.hc-name-row {\n    display: flex;\n    gap: var(--hc-name-row-gap);\n    margin-bottom: var(--hc-field-margin);\n}\n\n.hc-name-row .hc-field {\n    flex: 1;\n    margin-bottom: 0;\n}\n\n\/* Responsive: en m\u00f3viles volver a vertical *\/\n@media (max-width: 640px) {\n    .hc-name-row {\n        flex-direction: column;\n        gap: 0;\n    }\n    \n    .hc-name-row .hc-field {\n        margin-bottom: var(--hc-field-margin);\n    }\n    .hc-name-row .hc-field:last-child {\n        margin-bottom: 0;\n    }\n}\n\n.hc-form-header h2,\n.hc-form-title {\n    margin: 0;\n}\n\n.hc-field {\n    margin-bottom: var(--hc-field-margin);\n    position: relative;\n    display: flex;\n    flex-direction: column;\n}\n\n.hc-input,\n.hc-textarea,\n.hc-select {\n    width: 100%;\n    border: var(--hc-input-border-width) solid var(--hc-border-color);\n    border-radius: var(--hc-input-radius);\n    padding: var(--hc-input-padding);\n    font-size: var(--hc-input-font-size);\n    transition: border-color var(--hc-transition-duration) var(--hc-transition-timing), \n                box-shadow var(--hc-transition-duration) var(--hc-transition-timing);\n    background: var(--hc-bg-color);\n    font-family: var(--hc-font-family);\n}\n\n.hc-input:focus,\n.hc-textarea:focus,\n.hc-select:focus {\n    border-color: var(--hc-primary-color);\n    box-shadow: 0 0 0 var(--hc-focus-shadow-size) rgba(25, 118, 210, 0.2);\n    outline: none;\n}\n\n.hc-input.hc-error,\n.hc-textarea.hc-error,\n.hc-select.hc-error {\n    border-color: var(--hc-error-color);\n    background-color: var(--hc-error-color-bg);\n}\n\n.hc-textarea {\n    min-height: var(--hc-textarea-min-height);\n    resize: vertical;\n}\n\n.hc-checkbox-group label {\n    display: flex;\n    align-items: center;\n    gap: var(--hc-checkbox-gap);\n    font-size: var(--hc-checkbox-font-size);\n}\n\n\/* Estilos para checkbox con error *\/\n.hc-checkbox-group label.hc-error {\n    color: var(--hc-error-color);\n}\n\n.hc-checkbox-group input[type=\"checkbox\"].hc-error {\n    accent-color: var(--hc-error-color);\n}\n\n.hc-checkbox-group input[type=\"checkbox\"].hc-error + span {\n    color: var(--hc-error-color);\n}\n\n.hc-submit {\n    width: 100%;\n    background: var(--hc-primary-color);\n    color: #fff;\n    border: none;\n    padding: var(--hc-button-padding);\n    border-radius: var(--hc-input-radius);\n    font-size: 16px;\n    font-weight: 600;\n    margin-top: var(--hc-name-row-gap);\n    cursor: pointer;\n    transition: background var(--hc-transition-duration) var(--hc-transition-timing);\n}\n\n.hc-submit:hover {\n    background: #135ba8;\n}\n\n.hc-form-spinner {\n    position: absolute;\n    inset: 0;\n    background: rgba(255, 255, 255, 0.85);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    opacity: 0;\n    pointer-events: none;\n    transition: opacity var(--hc-transition-duration) var(--hc-transition-timing);\n    border-radius: var(--hc-container-radius);\n}\n\n.hc-form-container.is-loading .hc-form-spinner {\n    opacity: 1;\n    pointer-events: all;\n}\n\n.hc-form-container.is-loading .hc-form {\n    opacity: 0.5;\n}\n\n.hc-spinner {\n    width: 48px;\n    height: 48px;\n    border: 4px solid rgba(25, 118, 210, 0.2);\n    border-top-color: #1976d2;\n    border-radius: 50%;\n    animation: hc-spin 0.8s linear infinite;\n}\n\n@keyframes hc-spin {\n    to {\n        transform: rotate(360deg);\n    }\n}\n\n.hc-field.floating .hc-floating-inner {\n    position: relative;\n    width: 100%;\n    display: flex;\n}\n\n.hc-field.floating .hc-floating-inner label {\n    position: absolute;\n    top: 50%;\n    left: 12px;\n    transform: translateY(-50%);\n    color: var(--hc-label-color);\n    pointer-events: none;\n    transition: var(--hc-transition-duration) var(--hc-transition-timing);\n    background: var(--hc-bg-color);\n    padding: 0 4px;\n    font-size: 14px;\n    font-weight: 400;\n}\n\n.hc-field.floating .hc-floating-inner .hc-input,\n.hc-field.floating .hc-floating-inner .hc-textarea {\n    padding: 10px 10px 6px;\n    width: 100%\n}\n\n.grecaptcha-badge{\n    display: none !important;\n}\n\n.hc-field.floating .hc-floating-inner .hc-input:focus+label,\n.hc-field.floating .hc-floating-inner .hc-textarea:focus+label,\n.hc-field.floating .hc-floating-inner .hc-input:not(:placeholder-shown)+label,\n.hc-field.floating .hc-floating-inner .hc-textarea:not(:placeholder-shown)+label {\n    top: 0px;\n    font-size: var(--hc-label-font-size-small);\n    color: var(--hc-text-color);\n    font-weight: 600;\n}\n\n\/* Label con fondo rojo cuando el input tiene error *\/\n.hc-field.floating .hc-floating-inner .hc-input.hc-error+label,\n.hc-field.floating .hc-floating-inner .hc-textarea.hc-error+label {\n    background-color: var(--hc-error-color-bg);\n    color: var(--hc-error-color);\n}\n\n.co-feedback-container{\n    display: none !important;\n}\n\n.hc-phone-field .hc-phone-wrapper {\n    display: flex;\n    gap: var(--hc-name-row-gap);\n    flex-direction: row;\n}\n\n.hc-phone-field.floating .hc-floating-inner label {\n    top: 0px !important;\n    z-index: 11 !important;\n}\n\n\/* Label del campo de tel\u00e9fono con fondo rojo cuando hay error *\/\n.hc-phone-field.floating .hc-floating-inner .hc-phone-input-wrapper input.hc-error+label {\n    background-color: var(--hc-error-color-bg) !important;\n    color: var(--hc-error-color) !important;\n}\n.hc-phone-wrapper .hc-select-block,\n.hc-phone-wrapper .hc-field {\n    flex: 1;\n    min-width: 160px;\n}\n\n.hc-select-block label {\n    display: block;\n    font-size: 12px;\n    font-weight: 600;\n    text-transform: uppercase;\n    letter-spacing: 0.04em;\n    color: #666;\n    margin-bottom: 6px;\n}\n\n.hc-form-default {\n    border: 1px dashed #bbb;\n    padding: 16px;\n    margin-bottom: 20px;\n    background: #fafafa;\n    font-style: italic;\n    color: #555;\n    text-align: center;\n}\n\n\/* Grid 2x2 para los selects de programa *\/\n.hc-selects-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 16px;\n}\n\n\/* Si el grid est\u00e1 vac\u00edo (sin selects), quitar el margin *\/\n.hc-selects-grid:empty {\n    margin-bottom: 0;\n    display: none;\n}\n\n\/* Skeleton Loading Styles - Barra horizontal \u00fanica *\/\n.hc-skeleton-field {\n    position: relative;\n    overflow: hidden;\n    margin-bottom: 18px;\n}\n\n.hc-skeleton {\n    width: 100%;\n    height: 35px;\n    background: #f0f0f0;\n    border-radius: 8px;\n    position: relative;\n    overflow: hidden;\n}\n\n.hc-skeleton-line {\n    width: 100%;\n    height: 100%;\n    background: linear-gradient(\n        90deg,\n        #f0f0f0 0%,\n        #e0e0e0 50%,\n        #f0f0f0 100%\n    );\n    background-size: 200% 100%;\n    animation: skeleton-loading 1.5s ease-in-out infinite;\n}\n\n@keyframes skeleton-loading {\n    0% {\n        background-position: 200% 0;\n    }\n    100% {\n        background-position: -200% 0;\n    }\n}\n\n\/* Si el grid tiene un \u00faltimo hijo, a\u00f1adir margin-bottom *\/\n.hc-selects-grid:has(:last-child) {\n    margin-bottom: 16px;\n}\n\n\/* Resetear margin-bottom de los campos dentro del grid *\/\n.hc-selects-grid .hc-field {\n    margin-bottom: 0;\n}\n\n\/* Si hay 1 select: 100% *\/\n.hc-selects-grid .hc-field:only-child {\n    grid-column: 1 \/ -1;\n}\n\n\/* Si hay 3 selects: el tercero ocupa 100% *\/\n.hc-selects-grid .hc-field:nth-child(3):nth-last-child(1) {\n    grid-column: 1 \/ -1;\n}\n\n.hc-form-status {\n    font-size: 14px;\n}\n\n.hc-form-status.success {\n    color: #2e7d32;\n}\n\n.hc-form-status.error {\n    color: #c62828;\n    text-align: center;\n    padding-top: 15px;\n}\n\n\/* Mensaje de \u00e9xito fuera del formulario (solo cuando no hay redirect) *\/\n.hc-form-success-message {\n    min-height: 20px;\n    font-size: 18px;\n    text-align: center;\n    padding: 15px;\n    margin-top: 20px;\n    margin-bottom: 20px;\n    border-radius: var(--hc-input-radius);\n    background-color: #f1f8f4;\n    color: #2e7d32;\n    font-weight: 500;\n}\n\n.hc-form-success-message.success {\n    color: #2e7d32;\n}\n\n\/* Cuando el formulario tiene \u00e9xito, ocultar el formulario y centrar el mensaje *\/\n.hc-form-container.hc-form-success {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    min-height: 300px;\n    padding: 40px 30px;\n}\n\n.hc-form-container.hc-form-success .hc-form-header {\n    display: none !important;\n}\n\n.hc-form-container.hc-form-success .hc-form {\n    display: none !important;\n}\n\n.hc-form-container.hc-form-success .hc-form-spinner {\n    display: none !important;\n}\n\n.hc-form-container.hc-form-success .hc-form-status {\n    display: block !important;\n    width: 90%;\n    max-width: 600px;\n    text-align: center;\n    font-size: 20px;\n    font-weight: 500;\n    line-height: 1.6;\n    padding: 30px;\n    margin: 0;\n    color: #2e7d32;\n    background-color: #f1f8f4;\n    border: 0px;\n}\n\n.hc-form-container.hc-form-success .hc-form-status.success {\n    color: #2e7d32;\n}\n\n\/* ===== Sistema adaptativo de tel\u00e9fono ===== *\/\n\n\/* Por defecto: selector de prefijos OCULTO (para Form Guard \/ None) *\/\n.hc-phone-field-simple .hc-phone-prefix {\n    display: none !important;\n}\n\n.hc-phone-field-simple .hc-floating-inner {\n    display: block;\n}\n\n.hc-phone-field-simple .hc-phone-input-wrapper {\n    width: 100%;\n    display: flex;\n}\n\n\/* Cuando se necesita selector (clearoutphone): mostrar en flex *\/\n.hc-phone-field-with-prefix .hc-phone-prefix {\n    display: block !important;\n    width: var(--hc-phone-prefix-width);\n    flex-shrink: 0;\n}\n\n.hc-phone-field-with-prefix .hc-floating-inner {\n    display: flex;\n    gap: var(--hc-phone-prefix-gap);\n    align-items: stretch;\n}\n\n.hc-phone-field-with-prefix .hc-phone-input-wrapper {\n    flex: 1;\n    position: relative;\n    display: flex;\n    flex-direction: row;\n}\n\n.hc-phone-input-wrapper > .co-input-container {\n    display: flex !important;\n}\n\n.hc-phone-input-wrapper input[type=\"tel\"] {\n    display: flex !important;\n}\n\n\/* Labels flotantes funcionan en ambos modos *\/\n.hc-phone-input-wrapper {\n    position: relative;\n}\n\n.hc-phone-input-wrapper label {\n    position: absolute;\n    left: 12px;\n    top: 50%;\n    transform: translateY(-50%);\n    transition: all var(--hc-transition-duration) var(--hc-transition-timing);\n    pointer-events: none;\n    color: var(--hc-label-color);\n    font-size: var(--hc-label-font-size);\n}\n\n.hc-phone-input-wrapper input:focus + label,\n.hc-phone-input-wrapper input:not(:placeholder-shown) + label {\n    top: -8px;\n    font-size: var(--hc-label-font-size-small);\n    background: var(--hc-bg-color);\n}\n\n.hc-phone-input-wrapper input.hc-error + label {\n    background-color: var(--hc-error-color-bg) !important;\n    color: var(--hc-error-color) !important;\n    padding: 0 4px;\n}\n\n\/* Estilos de error para campos de tel\u00e9fono *\/\n.hc-phone-prefix.hc-error {\n    border-color: var(--hc-error-color) !important;\n    background-color: var(--hc-error-color-bg) !important;\n    box-shadow: 0 0 0 var(--hc-focus-shadow-size) rgba(220, 53, 69, 0.25);\n}\n\n.hc-phone-input-wrapper input.hc-error {\n    border-color: var(--hc-error-color) !important;\n    background-color: var(--hc-error-color-bg) !important;\n}\n\n\/* ===================================\n   PERSONALIZACI\u00d3N\n   ===================================\n   \n   Para personalizar el formulario, puedes sobreescribir las variables CSS\n   en tu archivo de CSS personalizado (healthcademia-zoho-css.php):\n   \n   Ejemplo:\n   \n   :root {\n       --hc-primary-color: #ff5722;\n       --hc-container-radius: 24px;\n       --hc-name-row-gap: 20px;\n   }\n   \n   Variables disponibles:\n   \n   Espaciados:\n   - --hc-container-padding\n   - --hc-field-margin\n   - --hc-name-row-gap\n   - --hc-header-gap\n   - --hc-checkbox-gap\n   - --hc-phone-prefix-gap\n   \n   Bordes:\n   - --hc-container-radius\n   - --hc-input-radius\n   - --hc-input-border-width\n   \n   Colores:\n   - --hc-primary-color\n   - --hc-error-color\n   - --hc-bg-color\n   - --hc-border-color\n   - --hc-text-color\n   - --hc-label-color\n   \n   Tipograf\u00eda:\n   - --hc-font-family\n   - --hc-input-font-size\n   - --hc-label-font-size\n   - --hc-checkbox-font-size\n   \n   Otros:\n   - --hc-transition-duration\n   - --hc-button-padding\n   - --hc-phone-prefix-width\n   \n=================================== *\/\n<\/style>\n<style type=\"text\/css\">\n\/* Healthcademia Custom CSS *\/\n\/* ============================================\r\n   Healthcademia Form - CSS Personalizado\r\n   ============================================\r\n   Personaliza las clases principales del formulario.\r\n   Edita los valores seg\u00fan tus necesidades de dise\u00f1o.\r\n   ============================================ *\/\r\n\r\n:root {\r\n    \/* Color principal del formulario *\/\r\n    --hc-primary-color: #b8be15;\r\n    \r\n    \/* Hacer el formulario m\u00e1s compacto *\/\r\n    --hc-container-padding: 0px;\r\n    --hc-field-margin: 12px;\r\n    --hc-name-row-gap: 18px;\r\n    \r\n    \/* Bordes m\u00e1s redondeados *\/\r\n    --hc-container-radius: 24px;\r\n    --hc-input-radius: 12px;\r\n    \r\n    \/* Fuente m\u00e1s grande *\/\r\n    --hc-input-font-size: 16px;\r\n}\r\n\r\n\/* ============================================\r\n   CONTENEDOR PRINCIPAL\r\n   ============================================ *\/\r\n.hc-form-container {\r\n    background: transparent !important;\r\n    border-radius: 0px;\r\n    \/* padding: 30px; *\/\r\n    border: 0px solid #e0e0e0; \r\nmargin-top: 20px;\r\n    \/* font-family: \"Inter\", Arial, sans-serif; *\/\r\n}\r\n\r\n\/* ============================================\r\n   HEADER DEL FORMULARIO\r\n   ============================================ *\/\r\n.hc-form-header {\r\n\r\n}\r\n\r\n.hc-form-title {\r\n\r\n}\r\n\r\n\/* ============================================\r\n   FORMULARIO\r\n   ============================================ *\/\r\n.hc-form {\r\n\r\n}\r\n\r\n\/* ============================================\r\n   CAMPOS DEL FORMULARIO\r\n   ============================================ *\/\r\n.hc-field {\r\n\r\n}\r\n\r\n\/* ============================================\r\n   INPUTS, TEXTAREAS Y SELECTS\r\n   ============================================ *\/\r\n.hc-input,\r\n.hc-textarea,\r\n.hc-select {\r\n    border: 1px solid #acaeaf !important; \r\nborder-radius: 5px !important;\r\n    \/* background: #fff; *\/\r\nfont-size: 14px !important;\r\n\r\n}\r\n\r\n\/* Estados de focus *\/\r\n.hc-input:focus,\r\n.hc-textarea:focus,\r\n.hc-select:focus {\r\n    \/* border-color: #1976d2; *\/\r\n    \/* box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.2); *\/\r\n}\r\n\r\n\/* Estados de error *\/\r\n.hc-input.hc-error,\r\n.hc-textarea.hc-error,\r\n.hc-select.hc-error {\r\n    \/* border-color: #d32f2f; *\/\r\n}\r\n\r\n\/* Textarea espec\u00edfico *\/\r\n.hc-textarea {\r\n\r\n}\r\n\r\n\/* ============================================\r\n   CAMPOS FLOTANTES (Floating Labels)\r\n   ============================================ *\/\r\n\r\n.hc-phone-field.floating .hc-floating-inner label{\r\nfont-size: 12px;\r\nborder-radius: 5px;\r\n}\r\n\r\n.hc-field.floating .hc-floating-inner label {\r\nwidth: auto;\r\n\r\n\r\n}\r\n\r\n.hc-field.floating .hc-floating-inner .hc-input:focus + label,\r\n.hc-field.floating .hc-floating-inner .hc-textarea:focus + label,\r\n.hc-field.floating .hc-floating-inner .hc-input:not(:placeholder-shown) + label,\r\n.hc-field.floating .hc-floating-inner .hc-textarea:not(:placeholder-shown) + label {\r\nfont-size: 12px;\r\nborder-radius: 5px;\r\n}\r\n\r\n\/* ============================================\r\n   CAMPO DE TEL\u00c9FONO\r\n   ============================================ *\/\r\n.hc-phone-field .hc-phone-wrapper {\r\n\r\n}\r\n\r\n.hc-select-block label {\r\n    \/* color: #666; *\/\r\n}\r\n\r\n\r\n\/* ============================================\r\n   CHECKBOXES\r\n   ============================================ *\/\r\n.hc-checkbox-group label {\r\nfont-size: 12px; \r\nline-height: 1.1em;\r\nmargin-bottom: 5px;\r\n}\r\n\r\n.hc-checkbox-group label a{\r\ntext-decoration: underline !important;\r\n}\r\n.hc-checkbox-group label.hc-error {\r\n    \/* color: #d32f2f; *\/\r\n}\r\n\r\n\/* ============================================\r\n   BOT\u00d3N DE ENV\u00cdO\r\n   ============================================ *\/\r\n.hc-submit {\r\n    \/* background: #1976d2; *\/\r\n    \/* color: #fff; *\/\r\n}\r\n\r\n.hc-submit:hover {\r\n    background: #bcca30;\r\n}\r\n\r\n.hc-submit:active {\r\n    \/* transform: scale(0.98); *\/\r\n}\r\n\r\n\/* ============================================\r\n   SPINNER DE CARGA\r\n   ============================================ *\/\r\n.hc-form-spinner {\r\n    \/* background: rgba(255, 255, 255, 0.85); *\/\r\n}\r\n\r\n.hc-spinner {\r\n    \/* width: 48px; *\/\r\n    \/* height: 48px; *\/\r\n    \/* border: 4px solid rgba(25, 118, 210, 0.2); *\/\r\n    \/* border-top-color: #1976d2; *\/\r\n}\r\n\r\n\/* ============================================\r\n   MENSAJES DE ESTADO\r\n   ============================================ *\/\r\n.hc-form-status.success {\r\n    \/* color: #2e7d32; *\/\r\n}\r\n\r\n.hc-form-status.error {\r\n    \/* color: #c62828; *\/\r\n}\r\n\r\n\/* ============================================\r\n   ESTADO DE \u00c9XITO (Formulario oculto)\r\n   ============================================ *\/\r\n.hc-form-container.hc-form-success {\r\n\r\n}\r\n\r\n.hc-form-container.hc-form-success .hc-form-status {\r\n    \/* background-color: #f1f8f4; *\/\r\n    \/* color: #2e7d32; *\/\r\n}\r\n\r\n\/* ============================================\r\n   RESPONSIVE (Ejemplo)\r\n   ============================================ *\/\r\n@media screen and (max-width: 768px) {\r\n    .hc-form-container {\r\n\r\n    }\r\n    \r\n    .hc-phone-field .hc-phone-wrapper {\r\n\r\n    }\r\n    \r\n    .hc-selects-grid {\r\n\r\n    }\r\n}\r\n\r\n\/* ============================================\r\n   PERSONALIZACIONES ADICIONALES\r\n   ============================================ *\/\r\n\/* A\u00f1ade tus estilos personalizados aqu\u00ed *\/\n<\/style>\n<div class=\"healthcademia-form-wrapper\" data-form-id=\"formulario-base\" data-redirect=\"\" data-privacy-url=\"https:\/\/qa-server.amircolombia.com\/mexico\/privacy-policy\/\" data-success-message=\"\u00a1Hemos recibido tus datos! Nos pondremos en contacto contigo muy pronto.\" data-rest-nonce=\"9a5e69aab4\" data-region=\"LATAM\" data-recaptcha-key=\"6Lf_bScsAAAAAABqrIROKvoQD5XOzjoGTUmhKA-x\"><div class=\"hc-form-container\" id=\"hc_form_1\"\n     data-rest-leads=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-json\/healthcademia\/v1\/leads\"\n     data-rest-programs=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-json\/healthcademia\/v1\/programas\"\n     data-rest-nonce=\"9a5e69aab4\"\n     data-program-id=\"\"\n     data-redirect=\"\"\n     data-region=\"LATAM\"\n     data-country-prefixes=\"{&quot;Espa\u00f1a&quot;:&quot;+34&quot;,&quot;Argentina&quot;:&quot;+54&quot;,&quot;Chile&quot;:&quot;+56&quot;,&quot;Colombia&quot;:&quot;+57&quot;,&quot;M\u00e9xico&quot;:&quot;+52&quot;,&quot;Per\u00fa&quot;:&quot;+51&quot;,&quot;Venezuela&quot;:&quot;+58&quot;,&quot;Otro&quot;:&quot;&quot;}\"\n     data-clearout-key=\"6c7990b80c6b598123f804ec0066078d:bcd9da28edee065eb67bbf61caf6e128fcc207a8efd7a710acd0ce72542f716c\" data-display-config=\"{&quot;convocatoria&quot;:false,&quot;sede&quot;:false,&quot;modalidad&quot;:false,&quot;edicion&quot;:false}\">\n    <form class=\"hc-form hc-api-form\" novalidate>\n        <input type=\"hidden\" name=\"program_id\" value=\"\">\n        <input type=\"hidden\" name=\"program_name\" value=\"\">\n        \n        <div class=\"hc-name-row\">\n            <div class=\"hc-field floating\">\n                <div class=\"hc-floating-inner\">\n                    <input type=\"text\" name=\"first_name\" class=\"hc-input\" placeholder=\" \" data-only-letters=\"true\" required>\n                    <label>Nombre *<\/label>\n                <\/div>\n            <\/div>\n            <div class=\"hc-field floating\">\n                <div class=\"hc-floating-inner\">\n                    <input type=\"text\" name=\"last_name\" class=\"hc-input\" placeholder=\" \" data-only-letters=\"true\" required>\n                    <label>Apellidos *<\/label>\n                <\/div>\n            <\/div>\n        <\/div>\n        <div class=\"hc-field floating\">\n            <div class=\"hc-floating-inner\">\n                <input type=\"email\" name=\"email\" class=\"hc-input\" placeholder=\" \" value=\"\" required>\n                <label>Correo electr\u00f3nico *<\/label>\n            <\/div>\n        <\/div>\n                <div class=\"hc-field hc-phone-field floating hc-phone-field-with-prefix\">\n            <div class=\"hc-floating-inner\">\n                <!-- Selector de prefijos (solo visible para clearoutphone) -->\n                <select name=\"phone_prefix\" class=\"hc-select hc-phone-prefix\">\n                    <option value=\"+34\" data-country=\"ES\">ES +34<\/option>\n                    <!-- Centroam\u00e9rica -->\n                    <option value=\"+52\" data-country=\"MX\">MX +52<\/option>\n                    <option value=\"+502\" data-country=\"GT\">GT +502<\/option>\n                    <option value=\"+503\" data-country=\"SV\">SV +503<\/option>\n                    <option value=\"+504\" data-country=\"HN\">HN +504<\/option>\n                    <option value=\"+505\" data-country=\"NI\">NI +505<\/option>\n                    <option value=\"+506\" data-country=\"CR\">CR +506<\/option>\n                    <option value=\"+507\" data-country=\"PA\">PA +507<\/option>\n                    <option value=\"+501\" data-country=\"BZ\">BZ +501<\/option>   \n                    <option value=\"+509\" data-country=\"HT\">HT +509<\/option>     \n\n                    <!-- Caribe LATAM (NANP con m\u00faltiples prefijos) -->\n                    <option value=\"+1809\" data-country=\"DO\">DO +1809<\/option>\n                    <option value=\"+1829\" data-country=\"DO\">DO +1829<\/option>\n                    <option value=\"+1849\" data-country=\"DO\">DO +1849<\/option>\n                    <option value=\"+1787\" data-country=\"PR\">PR +1787<\/option>\n                    <option value=\"+1939\" data-country=\"PR\">PR +1939<\/option>\n                    <option value=\"+53\"   data-country=\"CU\">CU +53<\/option>\n                    <option value=\"+1876\" data-country=\"JM\">JM +1876<\/option>\n\n                    <!-- Sudam\u00e9rica -->\n                    <option value=\"+57\"  data-country=\"CO\" selected>CO +57<\/option>\n                    <option value=\"+58\"  data-country=\"VE\">VE +58<\/option>\n                    <option value=\"+593\" data-country=\"EC\">EC +593<\/option>\n                    <option value=\"+51\"  data-country=\"PE\">PE +51<\/option>\n                    <option value=\"+591\" data-country=\"BO\">BO +591<\/option>\n                    <option value=\"+56\"  data-country=\"CL\">CL +56<\/option>\n                    <option value=\"+54\"  data-country=\"AR\">AR +54<\/option>\n                    <option value=\"+598\" data-country=\"UY\">UY +598<\/option>\n                    <option value=\"+595\" data-country=\"PY\">PY +595<\/option>\n                    <option value=\"+55\"  data-country=\"BR\">BR +55<\/option>\n                    <option value=\"+592\" data-country=\"GY\">GY +592<\/option>   \n                    <option value=\"+597\" data-country=\"SR\">SR +597<\/option> \n                    <option value=\"+594\" data-country=\"GF\">GF +594<\/option> \n                <\/select>\n                <div class=\"hc-phone-input-wrapper\">\n                                        <input type=\"tel\" name=\"phone\" class=\"hc-input\" placeholder=\"612 345 678\" data-clearout-phone-field value=\"\" required>\n                    <label>Tel\u00e9fono *<\/label>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        \n        <input type=\"hidden\" name=\"utm_campaign\">\n        <input type=\"hidden\" name=\"utm_source\">\n        <input type=\"hidden\" name=\"utm_medium\">\n        <input type=\"hidden\" name=\"utm_term\">\n        <input type=\"hidden\" name=\"utm_content\">\n        <input type=\"hidden\" name=\"traffic_source\" value=\"\">\n        <input type=\"hidden\" name=\"lead_source\" value=\"P\u00e1gina Web\">\n        <input type=\"hidden\" name=\"tipo_origen\" value=\"Digital\">\n        <input type=\"hidden\" name=\"lead_status\" value=\"Sin Gesti\u00f3n\">\n        <input type=\"hidden\" name=\"region\" value=\"LATAM\">\n        <!-- Campo oculto para capturar GCLID de Google Ads (Zoho CRM) -->\n        <input type=\"hidden\" id=\"zc_gad\" name=\"zc_gad\" value=\"\">\n\n        <div class=\"hc-checkbox-group hc-legal-checkboxes\">\n            <label>\n                <input type=\"checkbox\" name=\"privacy\" required>\n                <span>Acepto la <a href=\"https:\/\/qa-server.amircolombia.com\/mexico\/privacy-policy\/\" data-privacy-link=\"true\" target=\"_blank\" rel=\"noopener\">pol\u00edtica de privacidad<\/a> *<\/span>\n            <\/label>\n        <\/div>\n        <div class=\"hc-checkbox-group\">\n            <label>\n                <input type=\"checkbox\" name=\"marketing\">\n                <span>Acepto recibir comunicaciones comerciales<\/span>\n            <\/label>\n        <\/div>\n\n        <div class=\"hc-form-status\" aria-live=\"polite\"><\/div>\n        <button type=\"submit\" class=\"hc-submit\">ASESOR\u00cdA PERSONALIZADA<\/button>\n    <\/form>\n    <div class=\"hc-form-success-message\" aria-live=\"polite\" style=\"display: none;\"><\/div>\n    <div class=\"hc-form-spinner\" aria-hidden=\"true\">\n        <div class=\"hc-spinner\"><\/div>\n    <\/div>\n<\/div>\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    const form = document.querySelector('#hc_form_1 .hc-api-form');\n    \n    if (form) {\n        form.addEventListener('submit', function(e) {\n            \/\/ Enviar evento a Google Tag Manager\n            window.dataLayer = window.dataLayer || [];\n            window.dataLayer.push({\n                'event': 'form_submit',\n                'formId': 'hc_form_1',\n                'formName': 'healthcademia_lead_form'\n            });\n        });\n    }\n});\n<\/script>\n\n<\/div><script src=\"https:\/\/www.google.com\/recaptcha\/api.js?render=6Lf_bScsAAAAAABqrIROKvoQD5XOzjoGTUmhKA-x\"><\/script>\n<script type=\"text\/javascript\">\n\/* Healthcademia Default Form JS *\/\n(function() {\n    \/\/ Funci\u00f3n para inicializar el formulario\n    function initForm() {\n        \/\/ Buscar el contenedor - intentar varias formas\n        let container = document.getElementById('hc_form_1_5559');\n        \n        \/\/ Si no se encuentra, buscar por clase como fallback\n        if (!container) {\n            const containers = document.querySelectorAll('.hc-form-container');\n            if (containers.length > 0) {\n                container = containers[containers.length - 1]; \/\/ Tomar el \u00faltimo\n            }\n        }\n        \n        if (!container) {\n            return false;\n        }\n\n        const form = container.querySelector('form');\n        if (!form) {\n            return false;\n        }\n        \n        \/\/ Asegurarse de que el formulario no se env\u00ede de forma tradicional\n        form.setAttribute('novalidate', 'novalidate');\n        if (form.hasAttribute('action')) {\n            form.removeAttribute('action');\n        }\n        if (form.hasAttribute('method')) {\n            form.removeAttribute('method');\n        }\n    \n    const wrapper = container.closest('.healthcademia-form-wrapper');\n    const endpoints = {\n        leads: container.dataset.restLeads,\n        programs: container.dataset.restPrograms\n    };\n    const restNonce = (wrapper && wrapper.dataset.restNonce) || container.dataset.restNonce || '';\n    const redirectUrl = ((wrapper && wrapper.dataset.redirect) || container.dataset.redirect || '').trim();\n    const privacyUrl = (wrapper && wrapper.dataset.privacyUrl) || '';\n    const successMessage = (wrapper && wrapper.dataset.successMessage) || '\u00a1Hemos recibido tus datos! Nos pondremos en contacto contigo muy pronto.';\n    const recaptchaSiteKey = (wrapper && wrapper.dataset.recaptchaKey) || '';\n    const programId = container.dataset.programId;\n    let countryPrefixes = {};\n    let defaultRegion = container.dataset.region || '';\n    try {\n        countryPrefixes = JSON.parse(container.dataset.countryPrefixes || '{}');\n    } catch (error) {\n        countryPrefixes = {};\n    }\n    \/\/ JavaScript solo recoge la respuesta del servidor\n    const emailInput = form.querySelector('input[name=\"email\"]');\n    const phoneInput = form.querySelector('input[name=\"phone\"]');\n    const countrySelect = form.querySelector('select[name=\"country\"]');\n    const regionInput = form.querySelector('input[name=\"region\"]');\n    const statusBox = container.querySelector('.hc-form-status');\n    const successMessageBox = container.querySelector('.hc-form-success-message');\n\n    const setStatus = (state, message) => {\n        if (!statusBox) {\n            return;\n        }\n        if (message) {\n            statusBox.textContent = message;\n            statusBox.className = 'hc-form-status ' + state;\n            statusBox.style.display = 'block';\n        } else {\n            statusBox.textContent = '';\n            statusBox.className = 'hc-form-status';\n            statusBox.style.display = '';\n        }\n    };\n\n    const setSuccessMessage = (message) => {\n        if (!successMessageBox) {\n            return;\n        }\n        if (message) {\n            successMessageBox.textContent = message;\n            successMessageBox.className = 'hc-form-success-message success';\n            successMessageBox.style.display = 'block';\n        } else {\n            successMessageBox.textContent = '';\n            successMessageBox.style.display = 'none';\n        }\n    };\n\n    const setLoading = (flag) => {\n        if (!container) return;\n        if (flag) {\n            container.classList.add('is-loading');\n        } else {\n            container.classList.remove('is-loading');\n        }\n    };\n\n    \/\/ Sanitizar tel\u00e9fono: eliminar todo excepto n\u00fameros, +, (, ), -, ., espacios\n    \/\/ Esto se usa solo al enviar al servidor, no en tiempo real\n    const sanitizePhone = (value) => (value || '').replace(\/[^0-9+()\\-\\s.]\/g, '');\n    \n    \/\/ Funci\u00f3n para permitir caracteres est\u00e1ndar de tel\u00e9fono mientras el usuario escribe\n    \/\/ Permite: n\u00fameros, +, (, ), -, ., espacios\n    \/\/ Ejemplos v\u00e1lidos: +34 612 345 678, (612) 345-678, +34.612.345.678, +34-612-345-678\n    const allowPhoneChars = (value) => {\n        return (value || '').replace(\/[^0-9+()\\-\\s.]\/g, '');\n    };\n    const sanitizeLetters = (value) => (value || '').replace(\/[^A-Za-z\u00c0-\u00ff\\s'-]\/g, '');\n    const getPhonePrefix = () => {\n        if (!countrySelect) {\n            return '';\n        }\n        return countryPrefixes[countrySelect.value] || '';\n    };\n\n    const updateRegionField = () => {\n        if (!regionInput) {\n            return;\n        }\n        \n        \/\/ Si no hay program_id, usar siempre la regi\u00f3n global de la configuraci\u00f3n\n        if (!programId) {\n            regionInput.value = defaultRegion || 'Iberia';\n            return;\n        }\n        \n        \/\/ Si hay program_id, inferir regi\u00f3n del pa\u00eds seleccionado\n        if (!countrySelect || !countrySelect.value) {\n            regionInput.value = defaultRegion || 'Iberia';\n            return;\n        }\n        const countryValue = countrySelect.value.toLowerCase();\n        const iberiaSet = ['espa\u00f1a', 'spain', 'espa\\u00f1a'];\n        regionInput.value = iberiaSet.includes(countryValue) ? 'Iberia' : 'LATAM';\n    };\n\n    if (regionInput && !regionInput.value) {\n        regionInput.value = defaultRegion || 'Iberia';\n    }\n    \n    \/\/ Solo actualizar regi\u00f3n basada en pa\u00eds si hay program_id\n    if (countrySelect && programId) {\n        updateRegionField();\n        countrySelect.addEventListener('change', updateRegionField);\n    } else if (countrySelect && !programId) {\n        \/\/ Si no hay program_id, mantener la regi\u00f3n global siempre\n        updateRegionField();\n    }\n\n    if (phoneInput) {\n        \/\/ Permitir caracteres est\u00e1ndar de tel\u00e9fono en tiempo real (+, (, ), -, espacios)\n        \/\/ Form Guard necesita estos caracteres para validar correctamente\n        phoneInput.addEventListener('input', () => {\n            \/\/ Solo eliminar caracteres no permitidos, pero mantener formato est\u00e1ndar\n            const allowed = allowPhoneChars(phoneInput.value);\n            if (allowed !== phoneInput.value) {\n                phoneInput.value = allowed;\n            }\n            \n            \/\/ Limpiar errores al escribir\n            phoneInput.classList.remove('hc-error');\n            phoneInput.setCustomValidity('');\n        });\n        \n        \/\/ Limpiar error del selector de prefijos tambi\u00e9n\n        const phonePrefixSelect = form.querySelector('select[name=\"phone_prefix\"]');\n        if (phonePrefixSelect) {\n            phonePrefixSelect.addEventListener('change', () => {\n                phonePrefixSelect.classList.remove('hc-error');\n                phoneInput.classList.remove('hc-error');\n                phoneInput.setCustomValidity('');\n            });\n        }\n    }\n    form.querySelectorAll('[data-only-letters=\"true\"]').forEach((input) => {\n        input.addEventListener('input', () => {\n            const sanitized = sanitizeLetters(input.value);\n            if (sanitized !== input.value) {\n                input.value = sanitized;\n            }\n        });\n    });\n\n    const hydrateUTMs = () => {\n        const params = new URLSearchParams(window.location.search);\n        ['utm_campaign','utm_source','utm_medium','utm_term','utm_content'].forEach(key => {\n            const el = form.querySelector('[name=\"' + key + '\"]');\n            if (el && params.get(key)) {\n                el.value = params.get(key);\n            }\n        });\n    };\n\n    const validateForm = () => {\n        let valid = true;\n        const invalidFields = [];\n        \/\/ Primero limpiar todos los errores\n        form.querySelectorAll('[required]').forEach(field => {\n            field.classList.remove('hc-error');\n            \/\/ Limpiar error del label del checkbox tambi\u00e9n\n            if (field.type === 'checkbox') {\n                const label = field.closest('label');\n                if (label) {\n                    label.classList.remove('hc-error');\n                }\n            }\n        });\n        \/\/ Limpiar tambi\u00e9n el prefijo telef\u00f3nico y labels flotantes\n        const phonePrefixSelect = form.querySelector('select[name=\"phone_prefix\"]');\n        if (phonePrefixSelect) {\n            phonePrefixSelect.classList.remove('hc-error');\n        }\n        \n        \/\/ Luego validar y marcar errores\n        form.querySelectorAll('[required]').forEach(field => {\n            let fieldValid = true;\n            \n            if (field.type === 'checkbox') {\n                \/\/ Para checkboxes, validar si est\u00e1 checkeado\n                fieldValid = field.checked;\n            } else {\n                \/\/ Para inputs normales, validar si tiene valor\n                fieldValid = field.value && field.value.trim() !== '';\n            }\n            \n            if (!fieldValid) {\n                field.classList.add('hc-error');\n                \/\/ Para checkboxes, tambi\u00e9n marcar el label\n                if (field.type === 'checkbox') {\n                    const label = field.closest('label');\n                    if (label) {\n                        label.classList.add('hc-error');\n                    }\n                }\n                \/\/ Si es el campo de tel\u00e9fono, tambi\u00e9n marcar el prefijo si est\u00e1 visible\n                if (field.name === 'phone' && phonePrefixSelect) {\n                    const isVisible = window.getComputedStyle(phonePrefixSelect).display !== 'none';\n                    if (isVisible) {\n                        phonePrefixSelect.classList.add('hc-error');\n                    }\n                }\n                valid = false;\n                \/\/ Recopilar nombres de campos inv\u00e1lidos para el mensaje\n                const fieldName = field.getAttribute('name') || field.getAttribute('id') || 'campo';\n                if (field.type === 'checkbox') {\n                    invalidFields.push('aceptar la pol\u00edtica de privacidad');\n                } else {\n                    const label = field.closest('.hc-field')?.querySelector('label');\n                    const labelText = label ? label.textContent.replace('*', '').trim() : fieldName;\n                    invalidFields.push(labelText.toLowerCase());\n                }\n            }\n        });\n        \n        \/\/ Validar email espec\u00edficamente (puede estar vac\u00edo o con formato inv\u00e1lido)\n        if (emailInput) {\n            const emailValue = emailInput.value.trim();\n            if (!emailValue) {\n                \/\/ Email vac\u00edo - ya deber\u00eda estar marcado por [required], pero nos aseguramos\n                if (!emailInput.classList.contains('hc-error')) {\n                    emailInput.classList.add('hc-error');\n                    valid = false;\n                }\n            }\n        }\n        \n        \/\/ Mostrar mensaje de error si hay campos inv\u00e1lidos\n        if (!valid && invalidFields.length > 0) {\n            const message = 'Por favor, revisa el formulario.';\n            setStatus('error', message);\n        }\n        return valid;\n    };\n\n    const validateEmailFormat = () => {\n        if (!emailInput) {\n            return true;\n        }\n        const value = emailInput.value.trim();\n        \/\/ Si est\u00e1 vac\u00edo, no validar formato (ya se valida en validateForm)\n        if (!value) {\n            return true;\n        }\n        const emailRegex = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/;\n        const isValid = emailRegex.test(value);\n        emailInput.setCustomValidity(isValid ? '' : 'Email err\u00f3neo');\n        if (!isValid) {\n            emailInput.classList.add('hc-error');\n            emailInput.reportValidity();\n            setStatus('error', 'Email no v\u00e1lido');\n        }\n        return isValid;\n    };\n\n    \/\/ La validaci\u00f3n de Clearout se hace SOLO en el servidor (PHP)\n    \/\/ JavaScript solo recoge la respuesta del servidor\n\n\n    form.querySelectorAll('input, textarea, select').forEach(el => {\n        el.addEventListener('input', () => {\n            el.classList.remove('hc-error');\n            \/\/ Limpiar error del label si es checkbox\n            if (el.type === 'checkbox') {\n                const label = el.closest('label');\n                if (label) {\n                    label.classList.remove('hc-error');\n                }\n            }\n            if (el === emailInput) {\n                emailInput.setCustomValidity('');\n            }\n            if (el === phoneInput) {\n                phoneInput.setCustomValidity('');\n            }\n            \/\/ Limpiar mensaje de error cuando el usuario empieza a escribir\n            if (statusBox && statusBox.classList.contains('error')) {\n                setStatus('', '');\n            }\n        });\n        el.addEventListener('change', () => {\n            el.classList.remove('hc-error');\n            \/\/ Limpiar error del label si es checkbox\n            if (el.type === 'checkbox') {\n                const label = el.closest('label');\n                if (label) {\n                    label.classList.remove('hc-error');\n                }\n            }\n        });\n    });\n\n    const applyPrivacyLink = () => {\n        if (!privacyUrl) {\n            return;\n        }\n        const targetLink = form.querySelector('[data-privacy-link]') || form.querySelector('.hc-checkbox-group a');\n        if (targetLink) {\n            targetLink.setAttribute('href', privacyUrl);\n            targetLink.setAttribute('target', '_blank');\n            targetLink.setAttribute('rel', 'noopener');\n        }\n    };\n\n    applyPrivacyLink();\n    \n    \/\/ Si no hay program_id, configurar el listener para cuando se seleccione un programa\n    if (!programId) {\n        const programSelect = form.querySelector('select[name=\"program_id_select\"]');\n        if (programSelect) {\n            programSelect.addEventListener('change', function() {\n                const selectedProgramId = this.value;\n                if (selectedProgramId) {\n                    \/\/ Actualizar los inputs hidden inmediatamente\n                    const programIdInput = form.querySelector('input[name=\"program_id\"]');\n                    if (programIdInput) {\n                        programIdInput.value = selectedProgramId;\n                    }\n                    loadProgramData(selectedProgramId);\n                } else {\n                    \/\/ Si se deselecciona, limpiar los inputs hidden y ocultar los selects\n                    const programIdInput = form.querySelector('input[name=\"program_id\"]');\n                    const programNameInput = form.querySelector('input[name=\"program_name\"]');\n                    if (programIdInput) {\n                        programIdInput.value = '';\n                    }\n                    if (programNameInput) {\n                        programNameInput.value = '';\n                    }\n                    hideProgramSelects();\n                }\n            });\n        }\n    }\n    \n    \/\/ Funci\u00f3n para cargar los datos de un programa espec\u00edfico\n    function loadProgramData(programId) {\n        if (!endpoints.programs || !programId) {\n            return;\n        }\n        \n        \/\/ Obtener configuraci\u00f3n de visibilidad de la p\u00e1gina\n        const displayConfig = container.dataset.displayConfig ? JSON.parse(container.dataset.displayConfig) : {};\n        \n        \/\/ Obtener el grid de selects\n        let selectsGrid = container.querySelector('.hc-selects-grid');\n        \n        \/\/ Si no existe el grid, crearlo vac\u00edo (se llenar\u00e1 despu\u00e9s con skeleton y selects seg\u00fan datos)\n        if (!selectsGrid) {\n            \/\/ Buscar d\u00f3nde insertar el grid (despu\u00e9s del select de programa o antes de los checkboxes)\n            const programSelect = form.querySelector('select[name=\"program_id_select\"]') || form.querySelector('select[name=\"program_id\"]');\n            const checkboxes = form.querySelector('.hc-checkbox-group');\n            \n            \/\/ Crear el grid vac\u00edo (no crear campos hasta tener los datos del programa)\n            selectsGrid = document.createElement('div');\n            selectsGrid.className = 'hc-selects-grid';\n            selectsGrid.style.display = 'none'; \/\/ Oculto hasta que haya datos\n            \n            \/\/ Insertar el grid en el formulario\n            if (programSelect && programSelect.parentElement) {\n                programSelect.parentElement.insertAdjacentElement('afterend', selectsGrid);\n            } else if (checkboxes && checkboxes.parentElement) {\n                checkboxes.parentElement.insertBefore(selectsGrid, checkboxes);\n            } else {\n                \/\/ Fallback: insertar antes del bot\u00f3n submit\n                const submitButton = form.querySelector('button[type=\"submit\"]');\n                if (submitButton && submitButton.parentElement) {\n                    submitButton.parentElement.insertBefore(selectsGrid, submitButton);\n                }\n            }\n        }\n        \n        fetch(endpoints.programs + '?program_id=' + encodeURIComponent(programId) + '&X-WP-Nonce=' + encodeURIComponent(restNonce), {\n            method: 'GET',\n            headers: {\n                'X-WP-Nonce': restNonce\n            },\n            credentials: 'same-origin'\n        })\n        .then(resp => {\n            if (!resp.ok) {\n                return resp.json().then(errorData => {\n                    throw new Error(errorData.message || 'Error al cargar datos del programa');\n                });\n            }\n            return resp.json();\n        })\n        .then(response => {\n            if (response.success && response.data && response.data.length > 0) {\n                const program = response.data[0];\n                \n                \/\/ Actualizar los inputs hidden con el program_id y program_name\n                const programIdInput = form.querySelector('input[name=\"program_id\"]');\n                const programNameInput = form.querySelector('input[name=\"program_name\"]');\n                \n                if (programIdInput) {\n                    programIdInput.value = programId;\n                }\n                if (programNameInput) {\n                    programNameInput.value = program.nombre || '';\n                }\n                \n                \/\/ Verificar qu\u00e9 campos tienen datos Y est\u00e1n habilitados en la configuraci\u00f3n\n                \/\/ Solo mostrar skeleton y selects para campos que cumplen ambas condiciones\n                const fieldsToShow = [];\n                const fields = [\n                    { name: 'convocatoria', label: 'Convocatoria', data: program.convocatoria },\n                    { name: 'edicion', label: 'Edici\u00f3n', data: program.edicion },\n                    { name: 'modalidad', label: 'Modalidad', data: program.modalidad },\n                    { name: 'sede', label: 'Sede', data: program.sede }\n                ];\n                \n                fields.forEach(field => {\n                    \/\/ Verificar: 1) est\u00e1 habilitado en la configuraci\u00f3n, 2) tiene datos (m\u00e1s de 1 opci\u00f3n)\n                    const isEnabled = displayConfig[field.name] !== false;\n                    const hasData = field.data && field.data.length > 1;\n                    \n                    if (isEnabled && hasData) {\n                        fieldsToShow.push(field);\n                    }\n                });\n                \n                \/\/ Si hay campos para mostrar, mostrar skeleton y luego los selects\n                if (fieldsToShow.length > 0) {\n                    \/\/ Mostrar skeleton solo para los campos que se van a mostrar\n                    showSkeletonLoading(selectsGrid, fieldsToShow.map(f => f.name));\n                    \n                    \/\/ Simular un peque\u00f1o delay para que se vea el skeleton\n                    setTimeout(() => {\n                        hideSkeletonLoading(selectsGrid);\n                        \n                        \/\/ Asegurar que el grid existe y est\u00e1 visible\n                        if (!selectsGrid) {\n                            selectsGrid = container.querySelector('.hc-selects-grid');\n                        }\n                        if (selectsGrid) {\n                            selectsGrid.style.display = 'grid';\n                        }\n                        \n                        \/\/ Mostrar los selects del programa con sus opciones (solo los habilitados y con datos)\n                        showProgramSelects(program, selectsGrid, displayConfig);\n                    }, 300);\n                } else {\n                    \/\/ Si no hay campos para mostrar, ocultar el grid\n                    if (selectsGrid) {\n                        selectsGrid.style.display = 'none';\n                        selectsGrid.innerHTML = '';\n                    }\n                }\n            } else {\n                if (selectsGrid) {\n                    selectsGrid.style.display = 'none';\n                }\n                setStatus('error', 'No se encontraron datos para el programa seleccionado');\n            }\n        })\n        .catch(error => {\n            if (selectsGrid) {\n                selectsGrid.style.display = 'none';\n            }\n            setStatus('error', 'Error al cargar datos del programa: ' + error.message);\n        });\n    }\n    \n    \/\/ Funci\u00f3n para mostrar skeleton loading solo para campos espec\u00edficos que se van a mostrar\n    function showSkeletonLoading(selectsGrid, enabledFields) {\n        \/\/ Limpiar contenido previo (skeleton y selects existentes)\n        selectsGrid.innerHTML = '';\n        selectsGrid.style.display = 'grid';\n        \n        \/\/ Generar skeleton SOLO para los campos que est\u00e1n habilitados Y tienen datos\n        enabledFields.forEach(fieldName => {\n            const skeletonWrapper = document.createElement('div');\n            skeletonWrapper.className = 'hc-field hc-skeleton-field';\n            skeletonWrapper.setAttribute('data-field', fieldName + '-wrapper');\n            \n            const skeletonBar = document.createElement('div');\n            skeletonBar.className = 'hc-skeleton';\n            skeletonBar.innerHTML = '<div class=\"hc-skeleton-line\"><\/div>';\n            \n            skeletonWrapper.appendChild(skeletonBar);\n            selectsGrid.appendChild(skeletonWrapper);\n        });\n    }\n    \n    \/\/ Funci\u00f3n para ocultar skeleton loading\n    function hideSkeletonLoading(selectsGrid) {\n        if (!selectsGrid) return;\n        \/\/ Solo remover los skeleton, NO limpiar todo el innerHTML\n        \/\/ porque los selects se crear\u00e1n despu\u00e9s\n        const skeletonFields = selectsGrid.querySelectorAll('.hc-skeleton-field');\n        skeletonFields.forEach(field => field.remove());\n    }\n    \n    \/\/ Funci\u00f3n para mostrar los selects del programa\n    \/\/ Solo crea\/actualiza selects para campos habilitados Y con datos disponibles\n    function showProgramSelects(program, selectsGridParam, displayConfig) {\n        \/\/ Asegurar que tenemos referencia al grid\n        let selectsGrid = selectsGridParam || container.querySelector('.hc-selects-grid');\n        \n        if (!selectsGrid) {\n            return;\n        }\n        \n        \/\/ Funci\u00f3n auxiliar para crear\/actualizar un select\n        const createOrUpdateSelect = (name, label, values) => {\n            \/\/ Verificar que est\u00e1 habilitado en la configuraci\u00f3n\n            if (displayConfig && displayConfig[name] === false) {\n                return false; \/\/ Campo deshabilitado, no crear\n            }\n            \n            \/\/ Verificar que hay datos\n            if (!values || values.length <= 1) {\n                return false; \/\/ No hay datos suficientes\n            }\n            \n            \/\/ Buscar si ya existe un wrapper (puede venir del skeleton o de creaci\u00f3n previa)\n            let selectWrapper = selectsGrid.querySelector('[data-field=\"' + name + '-wrapper\"]');\n            \n            if (!selectWrapper) {\n                \/\/ Crear el wrapper si no existe\n                selectWrapper = document.createElement('div');\n                selectWrapper.className = 'hc-field';\n                selectWrapper.setAttribute('data-field', name + '-wrapper');\n                selectsGrid.appendChild(selectWrapper);\n            }\n            \n            \/\/ Buscar o crear el select\n            let select = selectWrapper.querySelector('select[name=\"' + name + '\"]');\n            \n            if (!select) {\n                \/\/ Crear el select si no existe\n                select = document.createElement('select');\n                select.name = name;\n                select.className = 'hc-select';\n                select.required = true;\n                selectWrapper.appendChild(select);\n            }\n            \n            \/\/ Actualizar las opciones\n            select.innerHTML = '<option value=\"\">' + label + '<\/option>';\n            values.forEach(value => {\n                const option = document.createElement('option');\n                option.value = value;\n                option.textContent = value;\n                select.appendChild(option);\n            });\n            \n            \/\/ Asegurar que el wrapper est\u00e1 visible\n            selectWrapper.style.display = 'block';\n            return true;\n        };\n        \n        \/\/ Crear\/actualizar solo los selects que est\u00e1n habilitados Y tienen datos\n        let hasVisibleSelects = false;\n        \n        if (program.convocatoria && program.convocatoria.length > 1) {\n            if (createOrUpdateSelect('convocatoria', 'Convocatoria', program.convocatoria)) {\n                hasVisibleSelects = true;\n            }\n        }\n        \n        if (program.edicion && program.edicion.length > 1) {\n            if (createOrUpdateSelect('edicion', 'Edici\u00f3n', program.edicion)) {\n                hasVisibleSelects = true;\n            }\n        }\n        \n        if (program.modalidad && program.modalidad.length > 1) {\n            if (createOrUpdateSelect('modalidad', 'Modalidad', program.modalidad)) {\n                hasVisibleSelects = true;\n            }\n        }\n        \n        if (program.sede && program.sede.length > 1) {\n            if (createOrUpdateSelect('sede', 'Sede', program.sede)) {\n                hasVisibleSelects = true;\n            }\n        }\n        \n        \/\/ Mostrar\/ocultar el grid seg\u00fan si hay selects visibles\n        if (selectsGrid) {\n            if (hasVisibleSelects) {\n                selectsGrid.style.display = 'grid';\n            } else {\n                selectsGrid.style.display = 'none';\n            }\n        }\n    }\n    \n    \/\/ Funci\u00f3n para ocultar los selects del programa\n    function hideProgramSelects() {\n        const selectsGrid = container.querySelector('.hc-selects-grid');\n        if (selectsGrid) {\n            selectsGrid.style.display = 'none';\n            selectsGrid.innerHTML = '';\n        }\n        \n        const programNameInput = form.querySelector('input[name=\"program_name\"]');\n        if (programNameInput) {\n            programNameInput.value = '';\n        }\n    }\n\n    form.addEventListener('submit', async function(event) {\n\n        \/\/ Bloquear el bot\u00f3n durante 2 segundos para prevenir env\u00edos duplicados\n        const submitButton = form.querySelector('.hc-submit');\n        if (submitButton) {\n            \/\/ Guardar el texto original\n            const originalText = submitButton.textContent || submitButton.innerText;\n            \n            \/\/ Cambiar a indicador de carga con spinner peque\u00f1o\n            submitButton.innerHTML = '<span style=\"display: inline-block; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: hc-spin 0.8s linear infinite; margin-right: 8px; vertical-align: middle;\"><\/span>';\n            submitButton.disabled = true;\n            submitButton.style.cursor = 'not-allowed';\n            submitButton.style.opacity = '0.6';\n            \n            setTimeout(() => {\n                \/\/ Restaurar el texto original\n                submitButton.textContent = originalText;\n                submitButton.disabled = false;\n                submitButton.style.cursor = 'pointer';\n                submitButton.style.opacity = '1';\n            }, 2000);\n        }\n\n        \/\/ PREVENIR ENV\u00cdO TRADICIONAL - SIEMPRE PRIMERO\n        event.preventDefault();\n        event.stopPropagation();\n        \n        \/\/ Limpiar mensajes anteriores\n        setStatus('', '');\n        setSuccessMessage('');\n        \n        \/\/ Validaciones b\u00e1sicas ANTES de mostrar spinner\n        let hasErrors = false;\n        \n        \/\/ Validar campos obligatorios (marca en rojo autom\u00e1ticamente y muestra mensaje)\n        if (!validateForm()) {\n            hasErrors = true;\n        }\n        \n        \/\/ Validar formato de email (marca en rojo autom\u00e1ticamente y muestra mensaje)\n        if (!validateEmailFormat()) {\n            hasErrors = true;\n        }\n        \n        \/\/ Si hay errores, no continuar (los campos ya est\u00e1n marcados en rojo y el mensaje mostrado)\n        if (hasErrors) {\n            return;\n        }\n\n        \n        \/\/ Si todo est\u00e1 bien, mostrar spinner y continuar\n        setLoading(true);\n        \n        \/\/ Obtener token de reCAPTCHA v3 si est\u00e1 configurado\n        let recaptchaToken = '';\n        if (recaptchaSiteKey && window.grecaptcha) {\n            try {\n                recaptchaToken = await window.grecaptcha.execute(recaptchaSiteKey, { action: 'submit_lead' });\n            } catch (error) {\n                console.error('[reCAPTCHA] Error obteniendo token:', error);\n                \/\/ Si falla reCAPTCHA, continuar de todos modos (fallback)\n            }\n        }\n\n        const formData = new FormData(form);\n        \n        \/\/ Procesar tel\u00e9fono: concatenar prefijo si el selector est\u00e1 visible\n        let phoneRawInput = formData.get('phone') || '';\n        let phoneCountryCode = '';\n        const phonePrefixSelect = form.querySelector('select[name=\"phone_prefix\"]');\n        \n        \/\/ Solo procesar si el selector est\u00e1 visible (display !== 'none')\n        if (phonePrefixSelect && window.getComputedStyle(phonePrefixSelect).display !== 'none') {\n            const selectedPrefix = phonePrefixSelect.value || '+34';\n            const selectedOption = phonePrefixSelect.options[phonePrefixSelect.selectedIndex];\n            phoneCountryCode = selectedOption.getAttribute('data-country') || '';\n            \n            \/\/ Concatenar prefijo solo si el n\u00famero NO empieza con +\n            if (phoneRawInput && !phoneRawInput.trim().startsWith('+')) {\n                phoneRawInput = selectedPrefix + phoneRawInput.trim();\n            }\n        }\n        \n        const phoneRaw = sanitizePhone(phoneRawInput);\n        \n        const privacyAccepted = formData.get('privacy') ? '1' : '0';\n        const leadSource = formData.get('lead_source') || 'P\u00e1gina Web';\n        const tipoOrigen = formData.get('tipo_origen') || 'Digital';\n        const regionValue = formData.get('region') || '';\n        const phoneSecondary = sanitizePhone(formData.get('phone_secondary') || '');\n\n        \/\/ Obtener program_id del select si no est\u00e1 en el contexto inicial\n        const selectedProgramId = formData.get('program_id') || programId || '';\n        const selectedProgramName = formData.get('program_name') || '';\n        \n        \/\/ Si no hay program_id, usar siempre la regi\u00f3n global de la configuraci\u00f3n\n        \/\/ Si hay program_id, usar la regi\u00f3n inferida del pa\u00eds o la global como fallback\n        let finalRegion = defaultRegion || 'Iberia';\n        if (selectedProgramId && regionValue) {\n            finalRegion = regionValue;\n        } else if (!selectedProgramId) {\n            \/\/ Sin program_id: siempre usar regi\u00f3n global\n            finalRegion = defaultRegion || 'Iberia';\n        }\n        \n        \/\/ Obtener datos de Form Guard (si est\u00e1n disponibles)\n        const clearoutPhoneStatus = formData.get('clearout_phone_status') || '';\n        const clearoutPhoneCountryCode = formData.get('clearout_phone_country_code') || '';\n        const clearoutPhoneE164 = formData.get('clearout_phone_e164') || '';\n        \n        \/\/ Usar el tel\u00e9fono validado (E164) si est\u00e1 disponible, sino usar el tel\u00e9fono raw\n        const phoneToSend = clearoutPhoneE164 || phoneRaw;\n        \n        \/\/ Obtener GCLID de Google Ads (capturado por el script de Zoho)\n        const zcGadInput = form.querySelector('#zc_gad');\n        let zcGad = '';\n        if (zcGadInput) {\n            const rawValue = zcGadInput.value || '';\n            \/\/ Filtrar valores inv\u00e1lidos: undefined, null, 'undefined', 'null', strings vac\u00edos\n            if (rawValue && rawValue !== 'undefined' && rawValue !== 'null' && rawValue.trim() !== '') {\n                zcGad = rawValue.trim();\n            }\n        }\n        \n        const payload = {\n            program_id: selectedProgramId,\n            program_name: selectedProgramName,\n            first_name: formData.get('first_name') || '',\n            last_name: formData.get('last_name') || '',\n            email: formData.get('email') || '',\n            phone: phoneToSend,\n            \/\/ Datos de Form Guard para tel\u00e9fono\n            clearout_phone_status: clearoutPhoneStatus,\n            clearout_phone_country_code: clearoutPhoneCountryCode,\n            clearout_phone_e164: clearoutPhoneE164,\n            phone_secondary: phoneSecondary,\n            \/\/ Pa\u00eds del selector de prefijos (para clearoutphone.io)\n            phone_prefix_country: phoneCountryCode,\n            \/\/ Token de reCAPTCHA v3\n            recaptcha_token: recaptchaToken,\n            country: formData.get('country') || '',\n            region: finalRegion,\n            convocatoria: formData.get('convocatoria') || '',\n            sede: formData.get('sede') || '',\n            modalidad: formData.get('modalidad') || '',\n            edicion: formData.get('edicion') || '',\n            comments: formData.get('comments') || '',\n            marketing: formData.get('marketing') ? '1' : '0',\n            privacy: privacyAccepted,\n            lead_source: leadSource,\n            tipo_origen: tipoOrigen,\n            traffic_source: formData.get('traffic_source') || '',\n            \/\/ GCLID de Google Ads (capturado por script de Zoho)\n            zc_gad: zcGad,\n            utm: {\n                campaign: formData.get('utm_campaign') || '',\n                source: formData.get('utm_source') || '',\n                medium: formData.get('utm_medium') || '',\n                term: formData.get('utm_term') || '',\n                content: formData.get('utm_content') || ''\n            }\n        };\n\n        fetch(endpoints.leads, {\n            method: 'POST',\n            headers: {\n                'Content-Type': 'application\/json',\n                'X-WP-Nonce': restNonce\n            },\n            credentials: 'same-origin',\n            body: JSON.stringify(payload)\n        })\n        .then(resp => {\n            console.log('[Form] Response status:', resp.status, 'OK:', resp.ok);\n            \n            \/\/ Verificar si la respuesta es un error HTTP\n            if (!resp.ok) {\n                return resp.json().then(errorData => {\n                    console.log('[Form] Error HTTP response:', errorData);\n                    \/\/ WordPress REST API devuelve errores con 'code' y 'message'\n                    const errorCode = errorData.code || '';\n                    const errorMessage = errorData.message || errorCode || 'Error en el servidor';\n                    \/\/ Crear un objeto de error con el c\u00f3digo para poder identificarlo despu\u00e9s\n                    const error = new Error(errorMessage);\n                    error.code = errorCode;\n                    error.errorData = errorData;\n                    throw error;\n                });\n            }\n            return resp.json();\n        })\n        .then(response => {\n            \/\/ Verificar si la respuesta indica \u00e9xito\n            if (!response.success) {\n                \/\/ WordPress REST API puede devolver errores en el formato {code, message, data}\n                const errorCode = response.code || '';\n                const errorMessage = response.message || errorCode || 'No se pudo completar el env\u00edo.';\n                const error = new Error(errorMessage);\n                error.code = errorCode;\n                error.errorData = response;\n                throw error;\n            }\n            \/\/ \u00c9xito: resetear formulario\n            form.reset();\n            \n            \/\/ Si hay URL de redirect, redirigir inmediatamente\n            if (redirectUrl && redirectUrl !== '') {\n                window.location.href = redirectUrl;\n            } else {\n                \/\/ Si no hay redirect, mostrar mensaje de \u00e9xito fuera del formulario\n                setSuccessMessage(successMessage);\n                \/\/ Ocultar el formulario, el header y el spinner\n                const formHeader = container.querySelector('.hc-form-header');\n                if (formHeader) {\n                    formHeader.style.display = 'none';\n                }\n                if (form) {\n                    form.style.display = 'none';\n                }\n                const spinner = container.querySelector('.hc-form-spinner');\n                if (spinner) {\n                    spinner.style.display = 'none';\n                }\n            }\n        })\n        .catch((error) => {\n            \/\/ Manejar errores del backend\n            const errorCode = error.code || '';\n            \n            \/\/ Debug: log del error\n            console.log('[Form] Error capturado:', errorCode, error.message);\n            \n            \/\/ Error de email inv\u00e1lido (Clearout)\n            if (errorCode === 'hc_clearout_email_invalid' && emailInput) {\n                emailInput.classList.add('hc-error');\n                emailInput.setCustomValidity('Email no v\u00e1lido');\n                \/\/emailInput.reportValidity();\n                setStatus('error', error.message || 'Email no v\u00e1lido');\n                setLoading(false);\n                return;\n            }\n            \n            \/\/ Error de tel\u00e9fono inv\u00e1lido (m\u00faltiples c\u00f3digos de error)\n            const phoneErrorCodes = ['hc_clearout_phone_invalid', 'hc_lead_invalid_phone'];\n            if (phoneErrorCodes.includes(errorCode) && phoneInput) {\n                console.log('[Form] Pintando campo tel\u00e9fono de rojo');\n                phoneInput.classList.add('hc-error');\n                phoneInput.setCustomValidity(error.message || 'Tel\u00e9fono no v\u00e1lido');\n                \n                \/\/ Tambi\u00e9n marcar el selector de prefijos si existe y est\u00e1 visible\n                const phonePrefixSelect = form.querySelector('select[name=\"phone_prefix\"]');\n                if (phonePrefixSelect) {\n                    const isVisible = window.getComputedStyle(phonePrefixSelect).display !== 'none';\n                    console.log('[Form] Selector de prefijos visible:', isVisible);\n                    if (isVisible) {\n                        phonePrefixSelect.classList.add('hc-error');\n                        console.log('[Form] Selector de prefijos pintado de rojo');\n                    }\n                }\n                \n                phoneInput.reportValidity();\n                setStatus('error', error.message || 'Tel\u00e9fono no v\u00e1lido');\n                setLoading(false);\n                return;\n            }\n            \n            \/\/ Otros errores: mostrar mensaje gen\u00e9rico\n            setStatus('error', '');\n            setLoading(false);\n        })\n        .finally(() => {\n            setLoading(false);\n        });\n    });\n\n    hydrateUTMs();\n    return true;\n    } \/\/ Fin de initForm\n    \n    \/\/ Intentar ejecutar inmediatamente\n    let initialized = initForm();\n    \n    \/\/ Si no se inicializ\u00f3, intentar cuando el DOM est\u00e9 listo\n    if (!initialized) {\n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initForm);\n        } else {\n            \/\/ Si el DOM ya est\u00e1 listo pero no se encontr\u00f3, intentar de nuevo despu\u00e9s de un breve delay\n            setTimeout(function() {\n                const testContainer = document.getElementById('hc_form_1_5559');\n                if (testContainer) {\n                    initForm();\n                }\n            }, 100);\n        }\n    }\n})();\n<\/script>\n<\/div>\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-ea0b15a e-con-full e-flex e-con e-child\" data-id=\"ea0b15a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f57a850 font-26 elementor-widget elementor-widget-heading\" data-id=\"f57a850\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Una comunidad que forma, inspira y acompa\u00f1a<\/h3>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d07eeac e-con-full e-grid e-con e-child\" data-id=\"d07eeac\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-f8d17e6 e-con-full content-video e-flex e-con e-child\" data-id=\"f8d17e6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-feefd3c video-zoom elementor-widget elementor-widget-video\" data-id=\"feefd3c\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;youtube_url&quot;:&quot; https:\\\/\\\/www.youtube.com\\\/watch?v=ObQQ7bLLqzs&quot;,&quot;show_image_overlay&quot;:&quot;yes&quot;,&quot;image_overlay&quot;:{&quot;url&quot;:&quot;https:\\\/\\\/qa-server.amircolombia.com\\\/mexico\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/screenshot_2025_11_07_at_9_13_59_am.webp&quot;,&quot;id&quot;:2313,&quot;size&quot;:&quot;&quot;,&quot;alt&quot;:&quot;&quot;,&quot;source&quot;:&quot;library&quot;},&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-wrapper elementor-open-inline\">\n\t\t\t<div class=\"elementor-video\"><\/div>\t\t\t\t<div class=\"elementor-custom-embed-image-overlay\" style=\"background-image: url(https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/screenshot_2025_11_07_at_9_13_59_am.webp);\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-custom-embed-play\" role=\"button\" aria-label=\"Reproducir v\u00eddeo\" tabindex=\"0\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-play-circle\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z\"><\/path><\/svg>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c0b8c7e font-20 link-med elementor-widget elementor-widget-heading\" data-id=\"c0b8c7e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/www.youtube.com\/watch?v=K73JirKHkNk\" target=\"_blank\" rel=\"noopener\">M\u00e9dicos formando m\u00e9dicos<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-99aad5d e-con-full content-video e-flex e-con e-child\" data-id=\"99aad5d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b20baa6 video-zoom elementor-widget elementor-widget-video\" data-id=\"b20baa6\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;youtube_url&quot;:&quot;https:\\\/\\\/www.youtube.com\\\/watch?v=zfAH6k_op-Y&amp;t=4s&quot;,&quot;show_image_overlay&quot;:&quot;yes&quot;,&quot;image_overlay&quot;:{&quot;url&quot;:&quot;https:\\\/\\\/www.amircolombia.com\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/screenshot_2025_11_07_at_9_13_41_am.webp&quot;,&quot;id&quot;:2312,&quot;size&quot;:&quot;&quot;,&quot;alt&quot;:&quot;&quot;,&quot;source&quot;:&quot;library&quot;},&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-wrapper elementor-open-inline\">\n\t\t\t<div class=\"elementor-video\"><\/div>\t\t\t\t<div class=\"elementor-custom-embed-image-overlay\" style=\"background-image: url(https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/screenshot_2025_11_07_at_9_13_41_am.webp);\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-custom-embed-play\" role=\"button\" aria-label=\"Reproducir v\u00eddeo\" tabindex=\"0\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-play-circle\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z\"><\/path><\/svg>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8414dc font-20 link-med elementor-widget elementor-widget-heading\" data-id=\"a8414dc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/www.youtube.com\/watch?v=zfAH6k_op-Y\" target=\"_blank\" rel=\"noopener\">Historias de \u00e9xito<\/a><\/h2>\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-f41e0b7 e-con-full e-flex e-con e-child\" data-id=\"f41e0b7\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d38531e font-26 elementor-widget elementor-widget-heading\" data-id=\"d38531e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">ALIADOS<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b971ccc carrusel elementor-arrows-position-outside elementor-pagination-position-outside elementor-widget elementor-widget-image-carousel\" data-id=\"b971ccc\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;slides_to_show&quot;:&quot;5&quot;,&quot;slides_to_scroll&quot;:&quot;5&quot;,&quot;slides_to_show_tablet&quot;:&quot;3&quot;,&quot;slides_to_show_mobile&quot;:&quot;2&quot;,&quot;slides_to_scroll_tablet&quot;:&quot;3&quot;,&quot;slides_to_scroll_mobile&quot;:&quot;3&quot;,&quot;navigation&quot;:&quot;both&quot;,&quot;autoplay&quot;:&quot;yes&quot;,&quot;pause_on_hover&quot;:&quot;yes&quot;,&quot;pause_on_interaction&quot;:&quot;yes&quot;,&quot;autoplay_speed&quot;:5000,&quot;infinite&quot;:&quot;yes&quot;,&quot;speed&quot;:500}\" data-widget_type=\"image-carousel.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-image-carousel-wrapper swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Carrusel de im\u00e1genes\" dir=\"ltr\">\n\t\t\t<div class=\"elementor-image-carousel swiper-wrapper\" aria-live=\"off\">\n\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"1 de 11\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/elementor\/thumbs\/Universidad-San-Judas-Tadeo--ri8plrc3q63737mk9hf3spelqpkrdqcgl6bjg1a39c.png\" alt=\"Universidad San Judas Tadeo\" title=\"\"><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"2 de 11\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/elementor\/thumbs\/Universidad-Insurgentes--e1769708737156-rido6xrldn5dy4vwdj53bbp1q4z1sjqminl77ko8ao.png\" alt=\"Universidad Insurgentes\" title=\"\"><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"3 de 11\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/elementor\/thumbs\/Universidad-Autonoma-de-la-Ciudad-de-Mexico--ri8ploil5nzc4dqnpy783847yjynqn19ksd307e9s0.png\" alt=\"Universidad Auto\u0301noma de la Ciudad de Me\u0301xico\" title=\"\"><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"4 de 11\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/elementor\/thumbs\/Sociedad-Mexicana-ri8plnkqyty1srs0vfsliqcrd63aixxj8nplixfny8.png\" alt=\"Sociedad Mexicana\" title=\"\"><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"5 de 11\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/elementor\/thumbs\/LogoUDIMA-ri8pllp2l5vh5jur6ezcdqtu6eck3jq2keemkdigao.jpg\" alt=\"LogoUDIMA\" title=\"\"><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"6 de 11\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/elementor\/thumbs\/LOGO_COMECIME-ri8plkr8ebu6txw4bwkpt92dl0h6vumc89r533jugw.png\" alt=\"LOGO_COMECIME\" title=\"\"><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"7 de 11\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/elementor\/thumbs\/LOGO-CENCAV-ri8plivk0nrm6pyumvrgo9jge8qgggevk0g64jmmtc.jpeg\" alt=\"LOGO CENCAV\" title=\"\"><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"8 de 11\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/elementor\/thumbs\/LOGO-ASOCIACION-MEXICANA-DE-MEDICOS-ri8plhxpttqbv407sdcu3rrzsuv38rb57vson9o0zk.jpeg\" alt=\"LOGO ASOCIACIO\u0301N MEXICANA DE ME\u0301DICOS\" title=\"\"><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"9 de 11\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/elementor\/thumbs\/IMSS_Logosimbolo-scaled-ri8plaf0b5g1a8b50a3tjtob1rw5j6haiukst1z6dc.png\" alt=\"IMSS_Logosi\u0301mbolo\" title=\"\"><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"10 de 11\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/elementor\/thumbs\/COLEGIO-MEXICANO-DE-OBESIDAD-Y-NUTRICIONA.C-e1769708669227-rido55ukgwpw0ngqqriglrtpbxq394ovlv86krb01s.png\" alt=\"COLEGIO MEXICANO DE OBESIDAD Y NUTRICIO\u0301N,A.C\" title=\"\"><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"11 de 11\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/elementor\/thumbs\/Colegio-Mexicano-de-Medicos-Geneerales--e1769708826754-rido99f89wbwnfidt1avz8l2lfiptlyqi5nex786ww.png\" alt=\"Colegio Mexicano de Me\u0301dicos Geneerales\" title=\"\"><\/figure><\/div>\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-swiper-button elementor-swiper-button-prev\" role=\"button\" tabindex=\"0\">\n\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-chevron-left\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M646 125C629 125 613 133 604 142L308 442C296 454 292 471 292 487 292 504 296 521 308 533L604 854C617 867 629 875 646 875 663 875 679 871 692 858 704 846 713 829 713 812 713 796 708 779 692 767L438 487 692 225C700 217 708 204 708 187 708 171 704 154 692 142 675 129 663 125 646 125Z\"><\/path><\/svg>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-swiper-button elementor-swiper-button-next\" role=\"button\" tabindex=\"0\">\n\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-chevron-right\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M696 533C708 521 713 504 713 487 713 471 708 454 696 446L400 146C388 133 375 125 354 125 338 125 325 129 313 142 300 154 292 171 292 187 292 204 296 221 308 233L563 492 304 771C292 783 288 800 288 817 288 833 296 850 308 863 321 871 338 875 354 875 371 875 388 867 400 854L696 533Z\"><\/path><\/svg>\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"swiper-pagination\"><\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-72458c6 e-con-full e-flex e-con e-child\" data-id=\"72458c6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b519aa font-26 elementor-widget elementor-widget-heading\" data-id=\"4b519aa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Programas destacados<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a922f83 elementor-widget elementor-widget-post-widget\" data-id=\"a922f83\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"car-productos-fichas\" data-settings=\"{&quot;post_type&quot;:[&quot;product&quot;],&quot;classic_layout&quot;:&quot;carousel&quot;,&quot;post_slider_h&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;posts_per_page&quot;:3,&quot;nb_columns&quot;:&quot;3&quot;,&quot;nb_columns_tablet&quot;:&quot;3&quot;,&quot;nb_columns_mobile&quot;:&quot;1&quot;,&quot;post_status&quot;:&quot;publish&quot;,&quot;post_slider_slides_per_view&quot;:&quot;3&quot;,&quot;post_slider_slides_per_view_tablet&quot;:&quot;3&quot;,&quot;post_slider_slides_per_view_mobile&quot;:&quot;1&quot;,&quot;post_slider_slides_to_scroll&quot;:&quot;1&quot;,&quot;post_slider_slides_to_scroll_tablet&quot;:&quot;1&quot;,&quot;post_slider_slides_to_scroll_mobile&quot;:&quot;1&quot;,&quot;post_slider_layout&quot;:&quot;horizontal&quot;,&quot;post_slider_gap&quot;:20,&quot;post_slider_h_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;post_slider_h_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;post_slider_arrows&quot;:&quot;yes&quot;,&quot;post_slider_pagination&quot;:&quot;yes&quot;,&quot;post_slider_pagination_type&quot;:&quot;bullets&quot;,&quot;post_slider_autoplay&quot;:&quot;yes&quot;,&quot;pause_hover&quot;:&quot;yes&quot;,&quot;post_slider_allow_touch_move&quot;:&quot;yes&quot;,&quot;post_slider_transition_effect&quot;:&quot;slide&quot;,&quot;post_slider_speed&quot;:1200,&quot;post_slider_autoplay_delay&quot;:4000,&quot;pagination_carousel&quot;:&quot;none&quot;}\" data-widget_type=\"post-widget.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n\t\t\t\t<div class=\"post-container none classic\" data-total-post=\"0\">\n\t\t\t\t\t<div class=\"post-container-inner\">\n\t\t\t\t\t\t<div class=\"no-post\">It seems we can\u2019t find what you\u2019re looking for.<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\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-e4df2cf elementor-widget elementor-widget-html\" data-id=\"e4df2cf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n#car-productos-fichas .swiper-pagination-bullet{\n    border:1px solid #B8BE14;\n    opacity: 1;\n    background: #FFFFFF;\n}\n#car-productos-fichas .swiper-pagination-bullet-active {\n    background-color: #B8BE14;\n}\n#car-productos-fichas .swiper-pagination{\n    top: 10px;\n}\n#car-productos-fichas .post-read-more{\n    display: grid;\n    align-items: center;\n    grid-column-gap: 5px;\n}\n#car-productos-fichas .post-read-more svg{\n    grid-column: 2 \/ 3;\n    grid-row: 1 \/ 2;\n}\n#car-productos-fichas .post-read-more:hover svg{\n    fill:#08467F;\n    color: #08467F;\n}\n#car-productos-fichas .elementor-repeater-item-0ca133f{\n    color: #585858;\n    font-family: \"Open Sans\", sans-serif;\n    font-size: 12px;\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.2em;\n}\n#car-productos-fichas .elementor-repeater-item-1202365 ul{\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    display: flex;\n    row-gap: 10px;\n}\n#car-productos-fichas .elementor-repeater-item-1202365 li{\n    color: #B8BE14;\n    font-family: \"Open Sans\", sans-serif;\n    font-size: 13px;\n    font-style: normal;\n    font-weight: 600;\n    line-height: 1.2em;\n    text-transform: uppercase;\n    border-right: 1px solid #B8BE14;\n    padding-inline: 6px;\n    margin-bottom: 0;\n}\n#car-productos-fichas .elementor-repeater-item-1202365 li:first-child{\n    padding-left: 0;\n}\n#car-productos-fichas .elementor-repeater-item-1202365 li:last-child{\n    border-right:0;\n    padding-right: 0;\n}\n#car-productos-fichas .elementor-repeater-item-2cf82f6{\n    display: flex;\n    flex-wrap: wrap;\n    width: 100%;\n    gap: 10px;\n}\n#car-productos-fichas .elementor-repeater-item-2cf82f6 img{\n    max-width: 100px;\n    position: relative;\n}\n\n#car-productos-fichas .post-image::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    border-radius: 25px;\n    background-color: #B8BE14;\n    opacity: 0;\n    font-family: \"Open Sans\", sans-serif;\n    transition: opacity 0.3s ease;\n    z-index: 1;\n    pointer-events: none;\n}\n#car-productos-fichas .post-image::after {\n    content: 'Conocer m\u00e1s';\n    text-transform: uppercase;\n    letter-spacing: 2.3px;\n    position: absolute;\n    top: 50%;\n    font-family: \"Open Sans\", sans-serif;\n    left: 50%;\n    border-radius: 25px;\n    transform: translate(-50%, -50%);\n    color: #FFFFFF;\n    font-size: 17px;\n    font-weight: bold;\n    opacity: 0;\n    transition: opacity 0.3s ease;\n    z-index: 2;\n    pointer-events: none;\n}\n#car-productos-fichas .post-image:hover::before {\n    opacity: 0.5;\n}\n\n#car-productos-fichas .post-image:hover::after {\n    opacity: 1;\n}\n\n#car-productos-fichas .post-custom-field{\n    margin-top: 15px;\n}\n\n@media(max-width:1480px){\n    #car-productos-fichas .elementor-repeater-item-2cf82f6 img{\n        max-width: 90px;\n    }\n}\n@media(max-width:1280px){\n    #car-productos-fichas .elementor-repeater-item-2cf82f6 img{\n        max-width: 80px;\n    }\n}\n@media(max-width:980px){\n    #car-productos-fichas .elementor-repeater-item-2cf82f6 img{\n        max-width: 70px;\n    }\n}\n@media(max-width:767px){\n    #car-productos-fichas .elementor-repeater-item-2cf82f6 img{\n        max-width: 60px;\n    }\n}\n<\/style>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3d1af2f e-con-full e-flex e-con e-child\" data-id=\"3d1af2f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-9dc3287 e-grid e-con-full e-con e-child\" data-id=\"9dc3287\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-fe6ccc4 e-con-full e-flex e-con e-child\" data-id=\"fe6ccc4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a5b11e2 font-30 elementor-widget elementor-widget-heading\" data-id=\"a5b11e2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Metodolog\u00eda AMIR\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b84444c font-17 elementor-widget elementor-widget-text-editor\" data-id=\"b84444c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>En AMIR formamos a los profesionales que lideran el futuro de la medicina.<br \/>Nuestro m\u00e9todo une teor\u00eda, pr\u00e1ctica y tecnolog\u00eda con un enfoque \u00e9tico, humano y basado en evidencia cient\u00edfica.<\/p><p>Con docentes que hacen f\u00e1cil lo dif\u00edcil y entrenamiento real, te ayudamos a desarrollar la seguridad, el criterio y la excelencia cl\u00ednica que definen a un profesional AMIR.<\/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-d55bfaa elementor-widget elementor-widget-image\" data-id=\"d55bfaa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1973\" height=\"1191\" src=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/group_40148.webp\" class=\"attachment-full size-full wp-image-317\" alt=\"\" srcset=\"https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/group_40148.webp 1973w, https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/group_40148-300x181.webp 300w, https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/group_40148-600x362.webp 600w, https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/group_40148-1024x618.webp 1024w, https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/group_40148-768x464.webp 768w, https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/group_40148-1536x927.webp 1536w, https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/group_40148-1200x724.webp 1200w, https:\/\/qa-server.amircolombia.com\/mexico\/wp-content\/uploads\/2025\/11\/group_40148-1400x845.webp 1400w\" sizes=\"(max-width: 1973px) 100vw, 1973px\" title=\"\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5478c3d elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-button\" data-id=\"5478c3d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">CON\u00d3CE m\u00c1S<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\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\t\t<div class=\"elementor-element elementor-element-2169848 elementor-widget elementor-widget-html\" data-id=\"2169848\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n#logo img{\n    width: auto !important;\n}\n\n.btn-drop .e-n-accordion-item{\n        background-color: rgb(255, 255, 255,0.85);\n    border: 1.5px solid rgb(8, 70, 127);\n    border-radius: 30px;\n    padding: 4.7% 7%;\n        position: absolute;\n}\n\n.btn-drop .e-n-accordion-item[open]{\n        background-color: rgb(255, 255, 255,1);\n    \n}\n\n.btn-drop .e-n-accordion-item-title{\n    padding: 0;\n    border: 0;\n    line-height: 1.1em;\n}\n\n.btn-drop .e-n-accordion-item>div{\n    padding: 0;\n    padding-top: 20px;\n    row-gap: 20px;\n}\n\n.cifras .elementor-counter-title{\n    text-align: center;\n}\n\n.seccion-form{\n    filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.25));\n    margin-left: -1px;\n    margin-right: -1px;\n    width: calc(100% + 2px);\n}\n\n.carrusel .swiper-pagination-bullet{\n    border:1px solid #B8BE14;\n}\n\n.form-gral input:focus,\n.form-gral select:focus{\n    border-color:#B8BE14 !important;\n    box-shadow: none !important;\n}\n\n.form-gral select{\n    background-image:none;\n}\n\n.form-gral .select-caret-down-wrapper>svg{\n        color: #B8BE14;\n}\n\n.link-med a{\n    position: relative;\n}\n\n.link-med a:after {\n    content: \"\";\n    position: absolute;\n    width: 100%;\n    height: 2px;\n    background-color: #E76000;\n    left: 0;\n    bottom: -3px;\n    opacity: 0;\n    \n}\n\n.link-med a:hover:after {\n    background-color:#B8BE14;\n    opacity: 1;\n}\n\n.content-video:hover{\n    width: 104%;\n    z-index: 9;\n    transition: 0.5s ease;\n}\n\n.content-video:hover{\n    margin-right: -2%;\n    margin-left:-2%;\n}\n\n\n@media(max-width:980px){\n    .btn-drop .e-n-accordion-item{\n        padding: 15px 25px;\n        position: relative;\n    }\n}\n\n@media(max-width:767px){\n    #img-banner{\n        width: calc(100% + 50px);\n        margin-left: -25px;\n        margin-right: -25px;\n        max-width: none;\n    }\n    \n    #logo {\n        width: 50% !important;\n        margin-inline: auto !important\n    }\n    \n    .link-med a:after {\n        display: none;\n    }\n    \n    .link-med{\n        border: 0 !important;\n        border-radius: 0 !important;\n        padding: px !important;\n    }\n    \n    .link-med a{\n        border: 1px solid #B8BE14 !important;\n        padding: 5px 15px !important;\n        border-radius: 20px;\n    }\n    \n    .link-med a:hover{\n       background-color: #B8BE14 !important;\n       color: #FFFFFF !important;\n    }\n    \n    #banner-principal{\n        background-image: none;\n    }\n    \n    .content-video:hover{\n        width: 100%;\n    }\n\n    .content-video:hover{\n        margin-right: 0%;\n        margin-left:0%;\n    }\n}\n\n@media(max-width:480px){\n    #logo {\n        width: 40% !important;\n    }\n}\n<\/style>\n\n<script>\njQuery( document ).ready(function() {\n    \n    jQuery(\".btn-drop .e-n-accordion-item-title\").addClass(\"font-17\");\n    \n    jQuery(\".cifras .elementor-counter-title\").addClass(\"font-18\");\n    \n    jQuery(\".cifras .elementor-counter-number-wrapper\").addClass(\"font-42\");\n    \n});\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Te acompa\u00f1amos en cada etapa de tu camino profesional CURSOS RESIDENCIAS M\u00c9DICAS \u00bfQue es el ENARM? ENARM Excellence 2026 ENARM A Tu Ritmo \u00bfQue es el MIR? Curso MIR 2027 EGEL \u00bfQue es el ENARM? ENARM Excellence 2026 ENARM A Tu Ritmo \u00bfQue es el MIR? Curso MIR 2027 EGEL M\u00e1sters Y POSGRADOS Medicina Est\u00e9tica &hellip;<\/p>\n","protected":false},"author":12,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_genesis_block_theme_hide_title":true,"footnotes":""},"class_list":["post-84","page","type-page","status-publish","hentry","post","without-featured-image"],"acf":[],"_links":{"self":[{"href":"https:\/\/qa-server.amircolombia.com\/mexico\/wp-json\/wp\/v2\/pages\/84","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qa-server.amircolombia.com\/mexico\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/qa-server.amircolombia.com\/mexico\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/qa-server.amircolombia.com\/mexico\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/qa-server.amircolombia.com\/mexico\/wp-json\/wp\/v2\/comments?post=84"}],"version-history":[{"count":1149,"href":"https:\/\/qa-server.amircolombia.com\/mexico\/wp-json\/wp\/v2\/pages\/84\/revisions"}],"predecessor-version":[{"id":17938,"href":"https:\/\/qa-server.amircolombia.com\/mexico\/wp-json\/wp\/v2\/pages\/84\/revisions\/17938"}],"wp:attachment":[{"href":"https:\/\/qa-server.amircolombia.com\/mexico\/wp-json\/wp\/v2\/media?parent=84"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}