{"id":12661,"date":"2025-12-23T14:55:40","date_gmt":"2025-12-23T14:55:40","guid":{"rendered":"https:\/\/tasando.com\/propiedades\/?page_id=12661"},"modified":"2026-08-31T13:27:12","modified_gmt":"2026-08-31T13:27:12","slug":"mercados-internacionales","status":"publish","type":"page","link":"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/","title":{"rendered":"Mercados Internacionales"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12661\" class=\"elementor elementor-12661\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-0008442 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0008442\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d20dc3e\" data-id=\"d20dc3e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-17c85fe elementor-widget elementor-widget-html\" data-id=\"17c85fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\r\n     TASANDO.COM | HTML 2 V27\r\n     CUADRO RESUMEN DIN\u00c1MICO MERCADOS + MINI GR\u00c1FICO\r\n     Fuente: WEB_COMENTARIOS v\u00eda proxy WordPress.\r\n\r\n     MEJORA V27:\r\n     - Fuerza 4 fichas por fila en escritorio.\r\n     - Elimina el quiebre a 1\/2 columnas en 1200px que estaba deformando el dise\u00f1o.\r\n     - Mantiene matriz interna 2 x 2 por ficha.\r\n     - 20 d\u00edas se muestra como 20D.\r\n     - Rango del mini gr\u00e1fico m\u00e1s chico y compacto.\r\n     - Se elimina contador redundante 20\/20 en la etiqueta del gr\u00e1fico.\r\n     - Eje X \/ l\u00ednea base m\u00e1s marcada.\r\n\r\n     AJUSTE ACTUAL:\r\n     - El t\u00edtulo superior elimina la hora porque ya se muestra en la ficha \"Hora Chile\".\r\n     - Se ampl\u00eda el ancho del t\u00edtulo para que quede idealmente en una sola l\u00ednea.\r\n     ========================================================= -->\r\n\r\n<section id=\"tasando-mercados-resumen-v27\">\r\n  <style>\r\n    #tasando-mercados-resumen-v27 {\r\n      --tm-max: min(1240px, calc(100vw - 120px));\r\n      --tm-max-tablet: calc(100vw - 48px);\r\n\r\n      --tm-blue: #102a54;\r\n      --tm-dark: #0f172a;\r\n      --tm-text: #1e293b;\r\n      --tm-muted: #64748b;\r\n      --tm-line: #cbd5e1;\r\n      --tm-green: #69be28;\r\n\r\n      --tm-pos-bg: #e8f7ec;\r\n      --tm-pos-text: #166534;\r\n      --tm-pos-dot: #16a34a;\r\n\r\n      --tm-neu-bg: #eef3f8;\r\n      --tm-neu-text: #475569;\r\n      --tm-neu-dot: #94a3b8;\r\n\r\n      --tm-lneg-bg: #fff4e6;\r\n      --tm-lneg-text: #9a5b00;\r\n      --tm-lneg-dot: #f59e0b;\r\n\r\n      --tm-neg-bg: #feecec;\r\n      --tm-neg-text: #991b1b;\r\n      --tm-neg-dot: #dc2626;\r\n\r\n      width: var(--tm-max) !important;\r\n      max-width: var(--tm-max) !important;\r\n      margin: 0 auto 18px auto !important;\r\n      padding: 0 !important;\r\n      font-family: Arial, Helvetica, sans-serif;\r\n      color: var(--tm-text);\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27,\r\n    #tasando-mercados-resumen-v27 * {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    body .elementor-widget-html:has(#tasando-mercados-resumen-v27),\r\n    body .elementor-widget-html:has(#tasando-mercados-resumen-v27) > .elementor-widget-container,\r\n    body .elementor-column:has(#tasando-mercados-resumen-v27),\r\n    body .elementor-container:has(#tasando-mercados-resumen-v27),\r\n    body .e-con:has(#tasando-mercados-resumen-v27),\r\n    body .e-con-inner:has(#tasando-mercados-resumen-v27) {\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      overflow: visible !important;\r\n      margin-left: auto !important;\r\n      margin-right: auto !important;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-panel {\r\n      width: 100%;\r\n      background:\r\n        radial-gradient(circle at top right, rgba(105,190,40,0.13), transparent 260px),\r\n        linear-gradient(180deg, #f8fafc 0%, #eef2f5 100%);\r\n      border: 1px solid var(--tm-line);\r\n      border-radius: 22px;\r\n      padding: 22px;\r\n      box-shadow: 0 16px 36px rgba(15, 23, 42, 0.10);\r\n      overflow: hidden;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-eyebrow {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      width: fit-content;\r\n      padding: 7px 12px;\r\n      border-radius: 999px;\r\n      background: #edf6e8;\r\n      border: 1px solid rgba(105,190,40,0.28);\r\n      color: var(--tm-blue);\r\n      font-size: 12px;\r\n      font-weight: 800;\r\n      margin-bottom: 10px;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-eyebrow-dot {\r\n      width: 7px;\r\n      height: 7px;\r\n      border-radius: 50%;\r\n      background: var(--tm-green);\r\n      box-shadow: 0 0 0 4px rgba(105,190,40,0.14);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-title {\r\n      margin: 0 0 16px 0;\r\n      color: var(--tm-dark);\r\n      font-size: clamp(24px, 2.05vw, 32px);\r\n      line-height: 1.08;\r\n      font-weight: 850;\r\n      letter-spacing: -0.5px;\r\n      max-width: 1180px;\r\n      white-space: normal;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-meta-panel {\r\n      display: grid;\r\n      grid-template-columns: 1fr 1fr 1.5fr;\r\n      gap: 10px;\r\n      margin: 0 0 18px 0;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-meta-card {\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      border-radius: 15px;\r\n      padding: 12px 14px;\r\n      box-shadow: 0 7px 18px rgba(15, 23, 42, 0.06);\r\n      min-height: 78px;\r\n      display: flex;\r\n      flex-direction: column;\r\n      justify-content: center;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-meta-label {\r\n      margin: 0 0 6px 0;\r\n      color: var(--tm-muted);\r\n      font-size: 11px;\r\n      line-height: 1;\r\n      font-weight: 800;\r\n      text-transform: uppercase;\r\n      letter-spacing: 0.04em;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-meta-value {\r\n      margin: 0;\r\n      color: var(--tm-dark);\r\n      font-size: 16px;\r\n      line-height: 1.18;\r\n      font-weight: 850;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-meta-card.tm-hour {\r\n      background:\r\n        radial-gradient(circle at top right, rgba(105,190,40,0.16), transparent 130px),\r\n        linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);\r\n      border-color: rgba(105,190,40,0.38);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-meta-card.tm-hour .tm-meta-value {\r\n      color: var(--tm-blue);\r\n      font-size: 22px;\r\n      font-weight: 950;\r\n      letter-spacing: -0.3px;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-grid-title {\r\n      margin: 8px 0 8px 0;\r\n      color: var(--tm-blue);\r\n      font-size: 12px;\r\n      font-weight: 850;\r\n      letter-spacing: .04em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-grid-subtitle {\r\n      margin: 0 0 12px 0;\r\n      color: var(--tm-muted);\r\n      font-size: 12px;\r\n      line-height: 1.4;\r\n      font-weight: 500;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(4, minmax(0, 1fr)) !important;\r\n      gap: 12px;\r\n      align-items: stretch;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-signal {\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      border-radius: 16px;\r\n      padding: 11px;\r\n      min-height: 168px;\r\n      box-shadow: 0 7px 18px rgba(15, 23, 42, 0.06);\r\n      display: grid;\r\n      grid-template-columns: minmax(0, 0.82fr) minmax(94px, 1.18fr);\r\n      grid-template-rows: auto minmax(76px, auto);\r\n      gap: 9px 9px;\r\n      align-items: stretch;\r\n      overflow: hidden;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-signal.tm-placeholder {\r\n      border-style: dashed;\r\n      background: rgba(255,255,255,.62);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-signal-main {\r\n      min-width: 0;\r\n      display: flex;\r\n      flex-direction: column;\r\n      justify-content: flex-start;\r\n      grid-column: 1 \/ 2;\r\n      grid-row: 1 \/ 2;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-signal-name {\r\n      margin: 0 0 4px 0;\r\n      color: var(--tm-dark);\r\n      font-size: 11px;\r\n      font-weight: 850;\r\n      letter-spacing: .035em;\r\n      text-transform: uppercase;\r\n      white-space: normal;\r\n      line-height: 1.12;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-signal-var {\r\n      margin: 0;\r\n      color: var(--tm-dark);\r\n      font-size: 23px;\r\n      line-height: 1;\r\n      font-weight: 850;\r\n      font-variant-numeric: tabular-nums;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-signal-side {\r\n      grid-column: 2 \/ 3;\r\n      grid-row: 1 \/ 2;\r\n      min-width: 0;\r\n      border-left: 1px solid #e2e8f0;\r\n      padding-left: 9px;\r\n      display: flex;\r\n      flex-direction: column;\r\n      justify-content: flex-start;\r\n      overflow: hidden;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-side-label {\r\n      margin: 0 0 4px 0;\r\n      color: var(--tm-muted);\r\n      font-size: 8.2px;\r\n      line-height: 1;\r\n      font-weight: 850;\r\n      text-transform: uppercase;\r\n      letter-spacing: 0.04em;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-side-list {\r\n      margin: 0;\r\n      color: #334155;\r\n      font-size: 9px;\r\n      line-height: 1.2;\r\n      font-weight: 650;\r\n      max-height: 42px;\r\n      overflow: hidden;\r\n      display: -webkit-box;\r\n      -webkit-line-clamp: 3;\r\n      -webkit-box-orient: vertical;\r\n      word-break: normal;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-wrap {\r\n      grid-column: 2 \/ 3;\r\n      grid-row: 2 \/ 3;\r\n      width: 100%;\r\n      min-height: 76px;\r\n      padding: 6px 7px 6px 7px;\r\n      border: 1px solid #dbe5ef;\r\n      border-radius: 12px;\r\n      background: linear-gradient(180deg, rgba(248,250,255,0.98) 0%, rgba(255,255,255,0.98) 100%);\r\n      overflow: hidden;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-head {\r\n      display: grid;\r\n      grid-template-columns: auto minmax(0, 1fr);\r\n      align-items: start;\r\n      gap: 4px;\r\n      margin: 0 0 4px 0;\r\n      color: #64748b;\r\n      line-height: 1;\r\n      text-transform: uppercase;\r\n      letter-spacing: 0.03em;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-period {\r\n      font-size: 7.7px;\r\n      line-height: 1;\r\n      font-weight: 850;\r\n      color: #475569;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-range {\r\n      justify-self: end;\r\n      max-width: 100%;\r\n      text-align: right;\r\n      font-size: 7.2px;\r\n      line-height: 1.02;\r\n      font-weight: 850;\r\n      color: #1f2937;\r\n      white-space: normal;\r\n      overflow-wrap: anywhere;\r\n      word-break: break-word;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-svg {\r\n      width: 100%;\r\n      height: 52px;\r\n      display: block;\r\n      overflow: visible;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-base-axis {\r\n      stroke: #1f2937;\r\n      stroke-width: 2.05;\r\n      opacity: 0.88;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-axis {\r\n      stroke: #64748b;\r\n      stroke-width: 1.25;\r\n      opacity: 0.72;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-area {\r\n      fill: rgba(37, 99, 235, 0.10);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-line {\r\n      fill: none;\r\n      stroke: #2563eb;\r\n      stroke-width: 3.1;\r\n      stroke-linecap: round;\r\n      stroke-linejoin: round;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-point {\r\n      fill: #2563eb;\r\n      opacity: 0.52;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-dot {\r\n      fill: #1d4ed8;\r\n      stroke: #ffffff;\r\n      stroke-width: 1.5;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-empty {\r\n      color: var(--tm-muted);\r\n      font-size: 9px;\r\n      line-height: 1.25;\r\n      font-weight: 650;\r\n      padding-top: 8px;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-signal-footer {\r\n      grid-column: 1 \/ 2;\r\n      grid-row: 2 \/ 3;\r\n      display: flex;\r\n      align-items: flex-start;\r\n      justify-content: flex-start;\r\n      min-width: 0;\r\n      min-height: 76px;\r\n      padding: 8px 7px;\r\n      border: 1px solid #f0d8d8;\r\n      border-radius: 12px;\r\n      background: linear-gradient(180deg, rgba(255,252,252,0.96) 0%, rgba(255,255,255,1) 100%);\r\n      overflow: visible;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-chip {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 5px;\r\n      width: fit-content;\r\n      max-width: 100%;\r\n      border-radius: 999px;\r\n      padding: 5px 8px;\r\n      font-size: 8.4px;\r\n      line-height: 1.15;\r\n      font-weight: 800;\r\n      border: 1px solid transparent;\r\n      white-space: normal;\r\n      overflow-wrap: anywhere;\r\n      flex-wrap: wrap;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-chip::before {\r\n      content: \"\";\r\n      width: 8px;\r\n      height: 8px;\r\n      border-radius: 50%;\r\n      display: inline-block;\r\n      flex: 0 0 7px;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-pos {\r\n      color: var(--tm-pos-text);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-pos .tm-chip {\r\n      background: var(--tm-pos-bg);\r\n      color: var(--tm-pos-text);\r\n      border-color: rgba(22,101,52,.18);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-pos .tm-chip::before {\r\n      background: var(--tm-pos-dot);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-neu {\r\n      color: var(--tm-neu-text);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-neu .tm-chip {\r\n      background: var(--tm-neu-bg);\r\n      color: var(--tm-neu-text);\r\n      border-color: rgba(71,85,105,.18);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-neu .tm-chip::before {\r\n      background: var(--tm-neu-dot);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-lneg {\r\n      color: var(--tm-lneg-text);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-lneg .tm-chip {\r\n      background: var(--tm-lneg-bg);\r\n      color: var(--tm-lneg-text);\r\n      border-color: rgba(154,91,0,.18);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-lneg .tm-chip::before {\r\n      background: var(--tm-lneg-dot);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-neg {\r\n      color: var(--tm-neg-text);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-neg .tm-chip {\r\n      background: var(--tm-neg-bg);\r\n      color: var(--tm-neg-text);\r\n      border-color: rgba(153,27,27,.18);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-neg .tm-chip::before {\r\n      background: var(--tm-neg-dot);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-method-note {\r\n      margin: 16px 0 0 0;\r\n      padding: 12px 14px;\r\n      border-radius: 14px;\r\n      background: rgba(255,255,255,0.72);\r\n      border: 1px solid #d7dde6;\r\n      color: #475569;\r\n      font-size: 12px;\r\n      line-height: 1.45;\r\n      font-weight: 500;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-method-note strong {\r\n      color: var(--tm-blue);\r\n      font-weight: 800;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-loading,\r\n    #tasando-mercados-resumen-v27 .tm-error {\r\n      padding: 18px;\r\n      border-radius: 13px;\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      color: var(--tm-muted);\r\n      font-size: 13px;\r\n      text-align: center;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-error {\r\n      background: #fff7ed;\r\n      border-color: #fed7aa;\r\n      color: #9a3412;\r\n      text-align: left;\r\n      line-height: 1.45;\r\n    }\r\n\r\n    @media (max-width: 1200px) {\r\n      #tasando-mercados-resumen-v27 {\r\n        width: var(--tm-max-tablet) !important;\r\n        max-width: var(--tm-max-tablet) !important;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 760px) {\r\n      #tasando-mercados-resumen-v27 .tm-grid {\r\n        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-meta-panel {\r\n        grid-template-columns: 1fr;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 520px) {\r\n      #tasando-mercados-resumen-v27 .tm-grid {\r\n        grid-template-columns: 1fr !important;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 700px) {\r\n      #tasando-mercados-resumen-v27 {\r\n        width: 100% !important;\r\n        max-width: 100% !important;\r\n        padding: 0 10px !important;\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-panel {\r\n        padding: 15px;\r\n        border-radius: 18px;\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-title {\r\n        font-size: 22px;\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-signal {\r\n        grid-template-columns: minmax(0, 0.82fr) minmax(90px, 1.18fr);\r\n        min-height: 168px;\r\n        grid-template-rows: auto minmax(74px, auto);\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-signal-var {\r\n        font-size: 22px;\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-side-list {\r\n        font-size: 10px;\r\n        max-height: 52px;\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-chip {\r\n        font-size: 10px;\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-spark-wrap {\r\n        min-height: 82px;\r\n        padding: 7px 8px;\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-spark-svg {\r\n        height: 52px;\r\n      }\r\n    }\r\n\r\n    \/* =========================================================\r\n       AJUSTE FINAL - REDUCE ESPACIO ENTRE MEN\u00da Y PRIMER RECUADRO\r\n       ========================================================= *\/\r\n\r\n    body .elementor-section:has(#tasando-mercados-resumen-v27),\r\n    body .elementor-top-section:has(#tasando-mercados-resumen-v27),\r\n    body .elementor-container:has(#tasando-mercados-resumen-v27),\r\n    body .elementor-column:has(#tasando-mercados-resumen-v27),\r\n    body .elementor-widget-html:has(#tasando-mercados-resumen-v27),\r\n    body .elementor-widget-html:has(#tasando-mercados-resumen-v27) > .elementor-widget-container,\r\n    body .e-con:has(#tasando-mercados-resumen-v27),\r\n    body .e-con-inner:has(#tasando-mercados-resumen-v27) {\r\n      margin-top: 0 !important;\r\n      padding-top: 0 !important;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 {\r\n      margin-top: -70px !important;\r\n    }\r\n\r\n    @media (max-width: 1200px) {\r\n      #tasando-mercados-resumen-v27 {\r\n        margin-top: -58px !important;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 700px) {\r\n      #tasando-mercados-resumen-v27 {\r\n        margin-top: -34px !important;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"tm-panel\">\r\n    <div class=\"tm-eyebrow\">\r\n      <span class=\"tm-eyebrow-dot\"><\/span>\r\n      Editorial Tasando.com\r\n    <\/div>\r\n\r\n    <h2 class=\"tm-title\" id=\"tmResumenTituloV27\">Lectura diaria de mercados<\/h2>\r\n\r\n    <div class=\"tm-meta-panel\">\r\n      <div class=\"tm-meta-card\">\r\n        <div class=\"tm-meta-label\">D\u00eda de lectura<\/div>\r\n        <div class=\"tm-meta-value\" id=\"tmResumenDiaV27\">cargando...<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"tm-meta-card tm-hour\">\r\n        <div class=\"tm-meta-label\">Hora Chile<\/div>\r\n        <div class=\"tm-meta-value\" id=\"tmResumenHoraV27\">cargando...<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"tm-meta-card\">\r\n        <div class=\"tm-meta-label\">Lectura relativa<\/div>\r\n        <div class=\"tm-meta-value\" id=\"tmResumenLecturaV27\">cargando...<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div id=\"tmResumenSenalesV27\">\r\n      <div class=\"tm-loading\">Cargando ranking general...<\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    (function () {\r\n      const root = document.getElementById(\"tasando-mercados-resumen-v27\");\r\n      if (!root) return;\r\n\r\n      const endpoints = [\r\n        window.location.origin + \"\/propiedades\/wp-json\/tasando\/v1\/sheet\/comentario-mercados\",\r\n        window.location.origin + \"\/propiedades\/wp-json\/tasando\/v1\/sheet\/web-comentarios\",\r\n        window.location.origin + \"\/propiedades\/wp-json\/tasando\/v1\/sheet\/mercados-comentario\",\r\n        window.location.origin + \"\/wp-json\/tasando\/v1\/sheet\/comentario-mercados\",\r\n        window.location.origin + \"\/wp-json\/tasando\/v1\/sheet\/web-comentarios\",\r\n        window.location.origin + \"\/wp-json\/tasando\/v1\/sheet\/mercados-comentario\"\r\n      ];\r\n\r\n      const claveObjetivo = \"MERCADOS_DIA\";\r\n\r\n      const tituloBox = root.querySelector(\"#tmResumenTituloV27\");\r\n      const diaBox = root.querySelector(\"#tmResumenDiaV27\");\r\n      const horaBox = root.querySelector(\"#tmResumenHoraV27\");\r\n      const lecturaBox = root.querySelector(\"#tmResumenLecturaV27\");\r\n      const senalesBox = root.querySelector(\"#tmResumenSenalesV27\");\r\n\r\n      const exposiciones = {\r\n        \"EUROPA\": \"Francia \u00b7 Alemania \u00b7 Espa\u00f1a \u00b7 Italia\",\r\n        \"GLOBAL\": \"EE.UU. \u00b7 Europa \u00b7 Asia \u00b7 Global\",\r\n        \"ASIA\": \"China \u00b7 Jap\u00f3n \u00b7 Taiw\u00e1n \u00b7 Indonesia\",\r\n        \"EMERGING\": \"China \u00b7 India \u00b7 Brasil \u00b7 Taiw\u00e1n\",\r\n        \"CHILEIPSA\": \"Chile \u00b7 IPSA\",\r\n        \"CHILE\": \"Chile \u00b7 IPSA\",\r\n        \"LATAM\": \"Brasil \u00b7 M\u00e9xico \u00b7 Colombia \u00b7 Per\u00fa\",\r\n        \"USA\": \"Estados Unidos \u00b7 S&P 500 \u00b7 Nasdaq\",\r\n        \"VIX\": \"Baja = menor riesgo \u00b7 Sube = mayor cautela\"\r\n      };\r\n\r\n      function limpiar(v) {\r\n        if (v === null || v === undefined) return \"\";\r\n        return String(v)\r\n          .replace(\/\\r\\n\/g, \"\\n\")\r\n          .replace(\/\\r\/g, \"\\n\")\r\n          .replace(\/&lt;br\\s*\\\/?&gt;\/gi, \"\\n\")\r\n          .replace(\/<br\\s*\\\/?>\/gi, \"\\n\")\r\n          .replace(\/\\\\\\|\/g, \"|\")\r\n          .replace(\/\\\\([\\\\`*_\\[\\]{}()#+\\-.!|:])\/g, \"$1\")\r\n          .trim();\r\n      }\r\n\r\n      function esc(v) {\r\n        return limpiar(v)\r\n          .replace(\/&\/g, \"&amp;\")\r\n          .replace(\/<\/g, \"&lt;\")\r\n          .replace(\/>\/g, \"&gt;\")\r\n          .replace(\/\"\/g, \"&quot;\")\r\n          .replace(\/'\/g, \"&#039;\");\r\n      }\r\n\r\n      function norm(v) {\r\n        return limpiar(v)\r\n          .toUpperCase()\r\n          .normalize(\"NFD\")\r\n          .replace(\/[\\u0300-\\u036f]\/g, \"\")\r\n          .replace(\/[^A-Z0-9]\/g, \"\");\r\n      }\r\n\r\n      function buscarCol(headers, aliases) {\r\n        const h = headers.map(norm);\r\n        const a = aliases.map(norm);\r\n\r\n        for (let i = 0; i < h.length; i++) {\r\n          if (a.includes(h[i])) return i;\r\n        }\r\n\r\n        return -1;\r\n      }\r\n\r\n      function cell(row, idx) {\r\n        if (!Array.isArray(row)) return \"\";\r\n        if (idx < 0 || idx >= row.length) return \"\";\r\n        return limpiar(row[idx]);\r\n      }\r\n\r\n      function parseFecha(fecha) {\r\n        const s = limpiar(fecha);\r\n        const dias = [\"domingo\", \"lunes\", \"martes\", \"mi\u00e9rcoles\", \"jueves\", \"viernes\", \"s\u00e1bado\"];\r\n        let y, m, d, hh, mm;\r\n\r\n        let a = s.match(\/^(\\d{4})-(\\d{2})-(\\d{2})[ T](\\d{2}):(\\d{2})\/);\r\n\r\n        if (a) {\r\n          y = Number(a[1]);\r\n          m = Number(a[2]);\r\n          d = Number(a[3]);\r\n          hh = a[4];\r\n          mm = a[5];\r\n        } else {\r\n          a = s.match(\/^(\\d{2})[-\\\/](\\d{2})[-\\\/](\\d{4})\\s+(\\d{2}):(\\d{2})\/);\r\n\r\n          if (a) {\r\n            d = Number(a[1]);\r\n            m = Number(a[2]);\r\n            y = Number(a[3]);\r\n            hh = a[4];\r\n            mm = a[5];\r\n          }\r\n        }\r\n\r\n        if (!y || !m || !d) {\r\n          return { fechaLarga: s || \"sin fecha\", hora: \"sin hora\" };\r\n        }\r\n\r\n        const dt = new Date(y, m - 1, d);\r\n        const dia = dias[dt.getDay()] || \"\";\r\n\r\n        return {\r\n          fechaLarga: dia + \" \" + String(d).padStart(2, \"0\") + \"-\" + String(m).padStart(2, \"0\") + \"-\" + y,\r\n          hora: hh + \":\" + mm + \" hrs.\"\r\n        };\r\n      }\r\n\r\n      function limpiarTituloSinHora(titulo) {\r\n        let t = limpiar(titulo);\r\n\r\n        \/\/ Elimina tramo final tipo: \", 08:48 hrs. Chile\"\r\n        t = t.replace(\/,\\s*\\d{1,2}:\\d{2}\\s*hrs\\.?\\s*Chile\\s*$\/i, \"\");\r\n\r\n        \/\/ Seguridad adicional por si viene sin coma.\r\n        t = t.replace(\/\\s+\\d{1,2}:\\d{2}\\s*hrs\\.?\\s*Chile\\s*$\/i, \"\");\r\n\r\n        return t.trim();\r\n      }\r\n\r\n      function validarProxy(data) {\r\n        const real = data && data.data && data.data.headers ? data.data : data;\r\n\r\n        if (!real || real.ok !== true) {\r\n          throw new Error((real && real.error) ? real.error : \"Respuesta inv\u00e1lida del proxy.\");\r\n        }\r\n\r\n        const headers = Array.isArray(real.headers) ? real.headers : [];\r\n        const rows = Array.isArray(real.rows) ? real.rows : [];\r\n\r\n        if (!headers.length || !rows.length) {\r\n          throw new Error(\"El proxy no devolvi\u00f3 headers\/rows con datos.\");\r\n        }\r\n\r\n        return { headers, rows };\r\n      }\r\n\r\n      function extraerComentario(data) {\r\n        const tabla = validarProxy(data);\r\n        const headers = tabla.headers;\r\n        const rows = tabla.rows;\r\n\r\n        const idxClave = buscarCol(headers, [\"CLAVE\"]);\r\n        const idxFecha = buscarCol(headers, [\"FECHA_HORA\", \"FECHA HORA\", \"FECHA\"]);\r\n        const idxTitulo = buscarCol(headers, [\"TITULO\", \"T\u00cdTULO\"]);\r\n        const idxMarkdown = buscarCol(headers, [\"TEXTO_MARKDOWN\", \"TEXTO MARKDOWN\", \"MARKDOWN\"]);\r\n        const idxHtml = buscarCol(headers, [\"TEXTO_HTML\", \"TEXTO HTML\", \"HTML\"]);\r\n        const idxLectura = buscarCol(headers, [\"LECTURA_RELATIVA\", \"LECTURA RELATIVA\"]);\r\n        const idxTendencia = buscarCol(headers, [\"TENDENCIA_JSON\", \"TENDENCIA JSON\", \"TENDENCIAS_JSON\", \"TENDENCIAS JSON\"]);\r\n        const idxEstado = buscarCol(headers, [\"ESTADO\"]);\r\n\r\n        if (idxClave < 0) throw new Error(\"No se detect\u00f3 la columna CLAVE en WEB_COMENTARIOS.\");\r\n\r\n        const row = rows.find(function (r) {\r\n          const clave = norm(cell(r, idxClave));\r\n          const estado = idxEstado >= 0 ? norm(cell(r, idxEstado)) : \"PUBLICAR\";\r\n          return clave === norm(claveObjetivo) && (!estado || estado === \"PUBLICAR\");\r\n        });\r\n\r\n        if (!row) throw new Error(\"No se encontr\u00f3 fila con CLAVE = MERCADOS_DIA y ESTADO = PUBLICAR.\");\r\n\r\n        const markdown = idxMarkdown >= 0 ? cell(row, idxMarkdown) : \"\";\r\n        const html = idxHtml >= 0 ? cell(row, idxHtml) : \"\";\r\n        const tendenciaJson = idxTendencia >= 0 ? cell(row, idxTendencia) : \"\";\r\n\r\n        if (!markdown && !html) throw new Error(\"La fila no tiene TEXTO_MARKDOWN ni TEXTO_HTML.\");\r\n\r\n        return {\r\n          fecha: idxFecha >= 0 ? cell(row, idxFecha) : \"\",\r\n          titulo: idxTitulo >= 0 ? cell(row, idxTitulo) : \"Lectura diaria de mercados\",\r\n          markdown: markdown,\r\n          html: html,\r\n          lecturaRelativa: idxLectura >= 0 ? cell(row, idxLectura) : \"\",\r\n          tendenciaJson: tendenciaJson\r\n        };\r\n      }\r\n\r\n      function familiaVisual(fam) {\r\n        const f = norm(fam);\r\n\r\n        if (f === \"CHILE\" || f === \"CHILEIPSA\") return \"CHILE \/ IPSA\";\r\n        if (f === \"EUROPA\") return \"EUROPA\";\r\n        if (f === \"GLOBAL\") return \"GLOBAL\";\r\n        if (f === \"ASIA\") return \"ASIA\";\r\n        if (f === \"EMERGING\") return \"EMERGING\";\r\n        if (f === \"LATAM\") return \"LATAM\";\r\n        if (f === \"USA\") return \"USA\";\r\n        if (f === \"VIX\") return \"VIX\";\r\n\r\n        return limpiar(fam).toUpperCase();\r\n      }\r\n\r\n      function parseNumeroVariacion(valor) {\r\n        const s = limpiar(valor)\r\n          .replace(\"\u2212\", \"-\")\r\n          .replace(\"%\", \"\")\r\n          .replace(\/\\s+\/g, \"\")\r\n          .replace(\",\", \".\");\r\n\r\n        const n = Number(s);\r\n        return Number.isFinite(n) ? n : null;\r\n      }\r\n\r\n      function lecturaVisual(s) {\r\n        const key = norm(s.familia);\r\n\r\n        if (key === \"VIX\") {\r\n          const n = parseNumeroVariacion(s.variacion);\r\n\r\n          if (n === null) return s.lectura || \"POR INTEGRAR\";\r\n          if (n < -0.05) return \"BAJA VOLATILIDAD\";\r\n          if (n > 0.05) return \"SUBE VOLATILIDAD\";\r\n\r\n          return \"VOLATILIDAD ESTABLE\";\r\n        }\r\n\r\n        return s.lectura || \"NO INFORMADO\";\r\n      }\r\n\r\n      function estadoClase(s) {\r\n        const key = norm(s.familia);\r\n\r\n        if (key === \"VIX\") {\r\n          const n = parseNumeroVariacion(s.variacion);\r\n\r\n          if (n === null) return \"tm-state-neu\";\r\n          if (n < -0.05) return \"tm-state-pos\";\r\n          if (n > 0.05) return \"tm-state-neg\";\r\n\r\n          return \"tm-state-neu\";\r\n        }\r\n\r\n        const t = norm(s.lectura);\r\n\r\n        if (t.includes(\"LEVEMENTEPOSITIVO\")) return \"tm-state-pos\";\r\n        if (t.includes(\"LEVEMENTENEGATIVO\")) return \"tm-state-lneg\";\r\n        if (t.includes(\"POSITIVO\")) return \"tm-state-pos\";\r\n        if (t.includes(\"NEGATIVO\")) return \"tm-state-neg\";\r\n\r\n        return \"tm-state-neu\";\r\n      }\r\n\r\n      function exposicionFamilia(familia) {\r\n        const key = norm(familia);\r\n        return exposiciones[key] || \"Mercado asociado\";\r\n      }\r\n\r\n      function parseSenales(texto) {\r\n        const t = limpiar(texto).replace(\/\\*\\*\/g, \"\");\r\n        const lines = t.split(\"\\n\").map(limpiar).filter(Boolean);\r\n        const out = [];\r\n\r\n        lines.forEach(function (line) {\r\n          const m = line.match(\/^(.+?)\\s*\\|\\s*VAR:\\s*([+\\-\u2212]?\\s*\\d+(?:[.,]\\d+)?%)\\s*\\|\\s*(.+)$\/i);\r\n          if (!m) return;\r\n\r\n          out.push({\r\n            familia: familiaVisual(m[1]),\r\n            variacion: limpiar(m[2]).replace(\/\\s+\/g, \"\"),\r\n            lectura: limpiar(m[3]).toUpperCase()\r\n          });\r\n        });\r\n\r\n        const visto = {};\r\n\r\n        return out.filter(function (s) {\r\n          const k = norm(s.familia);\r\n\r\n          if (!k || visto[k]) return false;\r\n\r\n          visto[k] = true;\r\n          return true;\r\n        });\r\n      }\r\n\r\n      function completarSenales(senales) {\r\n        const mapa = {};\r\n\r\n        senales.forEach(function (s) {\r\n          mapa[norm(s.familia)] = s;\r\n        });\r\n\r\n        const orden = [\"EUROPA\", \"GLOBAL\", \"ASIA\", \"EMERGING\", \"CHILE \/ IPSA\", \"LATAM\", \"USA\", \"VIX\"];\r\n\r\n        return orden.map(function (fam) {\r\n          const k = norm(fam);\r\n\r\n          if (mapa[k]) return mapa[k];\r\n\r\n          if (fam === \"VIX\") {\r\n            return {\r\n              familia: \"VIX\",\r\n              variacion: \"Pendiente\",\r\n              lectura: \"POR INTEGRAR\",\r\n              placeholder: true\r\n            };\r\n          }\r\n\r\n          return {\r\n            familia: fam,\r\n            variacion: \"Sin dato\",\r\n            lectura: \"NO INFORMADO\",\r\n            placeholder: true\r\n          };\r\n        });\r\n      }\r\n\r\n      function parseTendencias(tendenciaJson) {\r\n        if (!tendenciaJson) return {};\r\n\r\n        try {\r\n          const raw = JSON.parse(tendenciaJson);\r\n          const out = {};\r\n\r\n          Object.keys(raw || {}).forEach(function (k) {\r\n            const nk = norm(k);\r\n\r\n            if (!Array.isArray(raw[k])) return;\r\n\r\n            out[nk] = raw[k]\r\n              .map(function (x) { return Number(x); })\r\n              .filter(function (x) { return Number.isFinite(x); });\r\n          });\r\n\r\n          return out;\r\n        } catch (e) {\r\n          return {};\r\n        }\r\n      }\r\n\r\n      function serieFamilia(tendencias, familia) {\r\n        const key = norm(familia);\r\n\r\n        if (tendencias[key]) return tendencias[key];\r\n\r\n        if (key === \"CHILEIPSA\" && tendencias.CHILE) return tendencias.CHILE;\r\n        if (key === \"CHILE\" && tendencias.CHILEIPSA) return tendencias.CHILEIPSA;\r\n\r\n        return [];\r\n      }\r\n\r\n      function fmtValorSpark(x) {\r\n        if (!Number.isFinite(x)) return \"N\/D\";\r\n\r\n        const signo = x > 0 ? \"+\" : \"\";\r\n        let s = (signo + x.toFixed(1) + \"%\").replace(\".\", \",\");\r\n\r\n        return s.replace(\",0%\", \"%\");\r\n      }\r\n\r\n      function renderSparkline(valores) {\r\n        if (!Array.isArray(valores) || valores.length < 2) {\r\n          return \"<div class='tm-spark-empty'>Sin hist\u00f3rico suficiente<\/div>\";\r\n        }\r\n\r\n        const width = 260;\r\n        const height = 56;\r\n        const padX = 5;\r\n        const padY = 7;\r\n\r\n        let min = Math.min.apply(null, valores);\r\n        let max = Math.max.apply(null, valores);\r\n\r\n        if (min === max) {\r\n          min = min - 0.1;\r\n          max = max + 0.1;\r\n        }\r\n\r\n        const step = (width - padX * 2) \/ Math.max(valores.length - 1, 1);\r\n\r\n        const points = valores.map(function (v, i) {\r\n          const x = padX + i * step;\r\n          const ratio = (v - min) \/ (max - min);\r\n          const y = height - padY - ratio * (height - padY * 2);\r\n\r\n          return [x, y];\r\n        });\r\n\r\n        const d = points.map(function (p, i) {\r\n          return (i === 0 ? \"M\" : \"L\") + p[0].toFixed(2) + \" \" + p[1].toFixed(2);\r\n        }).join(\" \");\r\n\r\n        const areaD = d +\r\n          \" L\" + points[points.length - 1][0].toFixed(2) + \" \" + (height - padY).toFixed(2) +\r\n          \" L\" + points[0][0].toFixed(2) + \" \" + (height - padY).toFixed(2) +\r\n          \" Z\";\r\n\r\n        const ceroY = (0 >= min && 0 <= max)\r\n          ? height - padY - ((0 - min) \/ (max - min)) * (height - padY * 2)\r\n          : null;\r\n\r\n        const baseY = height - padY;\r\n        const last = points[points.length - 1];\r\n\r\n        const puntosSvg = points.map(function (p, i) {\r\n          if (i === points.length - 1) return \"\";\r\n          return \"<circle class='tm-spark-point' cx='\" + p[0].toFixed(2) + \"' cy='\" + p[1].toFixed(2) + \"' r='1.05'><\/circle>\";\r\n        }).join(\"\");\r\n\r\n        return (\r\n          \"<svg class='tm-spark-svg' viewBox='0 0 \" + width + \" \" + height + \"' preserveAspectRatio='none' aria-hidden='true'>\" +\r\n            \"<line class='tm-spark-base-axis' x1='0' y1='\" + baseY.toFixed(2) + \"' x2='\" + width + \"' y2='\" + baseY.toFixed(2) + \"'><\/line>\" +\r\n            (ceroY !== null ? \"<line class='tm-spark-axis' x1='0' y1='\" + ceroY.toFixed(2) + \"' x2='\" + width + \"' y2='\" + ceroY.toFixed(2) + \"'><\/line>\" : \"\") +\r\n            \"<path class='tm-spark-area' d='\" + areaD + \"'><\/path>\" +\r\n            \"<path class='tm-spark-line' d='\" + d + \"'><\/path>\" +\r\n            puntosSvg +\r\n            \"<circle class='tm-spark-dot' cx='\" + last[0].toFixed(2) + \"' cy='\" + last[1].toFixed(2) + \"' r='2.7'><\/circle>\" +\r\n          \"<\/svg>\"\r\n        );\r\n      }\r\n\r\n      function renderSenales(senales, tendencias) {\r\n        const lista = completarSenales(senales);\r\n\r\n        senalesBox.innerHTML =\r\n          \"<div class='tm-grid-title'>Ranking general<\/div>\" +\r\n          \"<div class='tm-grid-subtitle'>Cada ficha muestra la se\u00f1al actual y un mini gr\u00e1fico compacto con hasta 20 d\u00edas operativos reales.<\/div>\" +\r\n          \"<div class='tm-grid'>\" +\r\n          lista.map(function (s) {\r\n            const exposicion = exposicionFamilia(s.familia);\r\n            const chip = lecturaVisual(s);\r\n            const clase = estadoClase(s);\r\n            const serie = serieFamilia(tendencias, s.familia);\r\n            const desde = serie.length ? fmtValorSpark(serie[0]) : \"N\/D\";\r\n            const hasta = serie.length ? fmtValorSpark(serie[serie.length - 1]) : \"N\/D\";\r\n\r\n            return (\r\n              \"<div class='tm-signal \" + clase + (s.placeholder ? \" tm-placeholder\" : \"\") + \"'>\" +\r\n                \"<div class='tm-signal-main'>\" +\r\n                  \"<div class='tm-signal-name'>\" + esc(s.familia) + \"<\/div>\" +\r\n                  \"<div class='tm-signal-var'>\" + esc(s.variacion) + \"<\/div>\" +\r\n                \"<\/div>\" +\r\n\r\n                \"<div class='tm-signal-side'>\" +\r\n                  \"<div class='tm-side-label'>Exposici\u00f3n<\/div>\" +\r\n                  \"<div class='tm-side-list'>\" + esc(exposicion) + \"<\/div>\" +\r\n                \"<\/div>\" +\r\n\r\n                \"<div class='tm-spark-wrap'>\" +\r\n                  \"<div class='tm-spark-head'>\" +\r\n                    \"<span class='tm-spark-period'>20D<\/span>\" +\r\n                    \"<span class='tm-spark-range'>\" + esc(desde + \" \u2192 \" + hasta) + \"<\/span>\" +\r\n                  \"<\/div>\" +\r\n                  renderSparkline(serie) +\r\n                \"<\/div>\" +\r\n\r\n                \"<div class='tm-signal-footer'>\" +\r\n                  \"<div class='tm-chip'>\" + esc(chip) + \"<\/div>\" +\r\n                \"<\/div>\" +\r\n              \"<\/div>\"\r\n            );\r\n          }).join(\"\") +\r\n          \"<\/div>\" +\r\n          \"<div class='tm-method-note'>\" +\r\n            \"<strong>Nota de c\u00e1lculo:<\/strong> los porcentajes por familia corresponden a una se\u00f1al compuesta ponderada de los principales \u00edndices asociados a cada bloque de mercado. El mini gr\u00e1fico usa hasta 20 d\u00edas operativos reales por familia, compactando varias corridas del mismo d\u00eda en un solo punto. El VIX no mide retorno: si baja, normalmente disminuye la volatilidad esperada; si sube, aumenta la cautela.\" +\r\n          \"<\/div>\";\r\n      }\r\n\r\n      function render(data) {\r\n        const partes = parseFecha(data.fecha);\r\n        const tendencias = parseTendencias(data.tendenciaJson);\r\n\r\n        tituloBox.textContent = limpiarTituloSinHora(data.titulo || \"Lectura diaria de mercados\");\r\n        diaBox.textContent = partes.fechaLarga;\r\n        horaBox.textContent = partes.hora;\r\n        lecturaBox.textContent = data.lecturaRelativa || \"no informada\";\r\n\r\n        const senales = parseSenales(data.markdown || data.html);\r\n        renderSenales(senales, tendencias);\r\n      }\r\n\r\n      function renderError(error) {\r\n        diaBox.textContent = \"sin actualizaci\u00f3n\";\r\n        horaBox.textContent = \"sin hora\";\r\n        lecturaBox.textContent = \"no disponible\";\r\n\r\n        senalesBox.innerHTML =\r\n          \"<div class='tm-error'>\" +\r\n          \"<strong>No fue posible cargar el resumen de Tasando.com.<\/strong><br>\" +\r\n          esc(error.message || error) +\r\n          \"<\/div>\";\r\n      }\r\n\r\n      function fetchJson(url) {\r\n        const sep = url.includes(\"?\") ? \"&\" : \"?\";\r\n        const finalUrl = url + sep + \"refresh=1&_=\" + Date.now();\r\n\r\n        return fetch(finalUrl, {\r\n          method: \"GET\",\r\n          credentials: \"same-origin\",\r\n          cache: \"no-store\"\r\n        }).then(function (response) {\r\n          if (!response.ok) throw new Error(\"HTTP \" + response.status + \" en \" + url);\r\n          return response.json();\r\n        });\r\n      }\r\n\r\n      function probarEndpoint(i, ultimoError) {\r\n        if (i >= endpoints.length) throw ultimoError || new Error(\"No se pudo consultar ning\u00fan endpoint.\");\r\n\r\n        return fetchJson(endpoints[i]).catch(function (err) {\r\n          return probarEndpoint(i + 1, err);\r\n        });\r\n      }\r\n\r\n      probarEndpoint(0, null)\r\n        .then(extraerComentario)\r\n        .then(render)\r\n        .catch(renderError);\r\n    })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dd68259 elementor-widget elementor-widget-html\" data-id=\"dd68259\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\r\n     TASANDO.COM | BLOQUE EXPLICATIVO ECUACI\u00d3N DE SE\u00d1ALES\r\n     Ubicaci\u00f3n sugerida:\r\n     - Debajo del ranking general \/ indicadores por familia.\r\n     - Antes de la descripci\u00f3n por mercados.\r\n     ========================================================= -->\r\n\r\n<section id=\"tasando-metodo-senales\">\r\n  <style>\r\n    #tasando-metodo-senales {\r\n      --tm-blue: #102a54;\r\n      --tm-dark: #0f172a;\r\n      --tm-text: #1e293b;\r\n      --tm-muted: #64748b;\r\n      --tm-line: #cbd5e1;\r\n      --tm-green: #69be28;\r\n      --tm-soft: #f8fafc;\r\n\r\n      width: min(1240px, calc(100vw - 120px)) !important;\r\n      max-width: min(1240px, calc(100vw - 120px)) !important;\r\n      margin: 18px auto 22px auto !important;\r\n      font-family: Arial, Helvetica, sans-serif;\r\n      color: var(--tm-text);\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-metodo-senales,\r\n    #tasando-metodo-senales * {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-panel {\r\n      background:\r\n        radial-gradient(circle at top right, rgba(105,190,40,0.12), transparent 260px),\r\n        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);\r\n      border: 1px solid var(--tm-line);\r\n      border-radius: 22px;\r\n      padding: 22px;\r\n      box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-eyebrow {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      width: fit-content;\r\n      padding: 7px 12px;\r\n      border-radius: 999px;\r\n      background: #edf6e8;\r\n      border: 1px solid rgba(105,190,40,0.28);\r\n      color: var(--tm-blue);\r\n      font-size: 12px;\r\n      font-weight: 850;\r\n      margin-bottom: 12px;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-eyebrow::before {\r\n      content: \"\";\r\n      width: 7px;\r\n      height: 7px;\r\n      border-radius: 50%;\r\n      background: var(--tm-green);\r\n      box-shadow: 0 0 0 4px rgba(105,190,40,0.14);\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-title {\r\n      margin: 0 0 8px 0;\r\n      color: var(--tm-dark);\r\n      font-size: clamp(22px, 1.8vw, 30px);\r\n      line-height: 1.15;\r\n      font-weight: 900;\r\n      letter-spacing: -0.4px;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-intro {\r\n      margin: 0 0 18px 0;\r\n      color: #475569;\r\n      font-size: 14px;\r\n      line-height: 1.55;\r\n      max-width: 980px;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-grid {\r\n      display: grid;\r\n      grid-template-columns: 1.1fr 1fr 1fr;\r\n      gap: 14px;\r\n      align-items: stretch;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-card {\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      border-radius: 17px;\r\n      padding: 16px;\r\n      box-shadow: 0 8px 20px rgba(15, 23, 42, 0.055);\r\n      min-height: 155px;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-card-title {\r\n      margin: 0 0 10px 0;\r\n      color: var(--tm-blue);\r\n      font-size: 12px;\r\n      line-height: 1.2;\r\n      font-weight: 900;\r\n      text-transform: uppercase;\r\n      letter-spacing: 0.04em;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-formula-box {\r\n      background: linear-gradient(135deg, #0f172a 0%, #102a54 100%);\r\n      border-radius: 16px;\r\n      padding: 16px;\r\n      color: #ffffff;\r\n      min-height: 155px;\r\n      display: flex;\r\n      flex-direction: column;\r\n      justify-content: center;\r\n      box-shadow: inset 0 0 0 1px rgba(255,255,255,0.10);\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-formula-label {\r\n      margin: 0 0 8px 0;\r\n      color: rgba(255,255,255,0.72);\r\n      font-size: 11px;\r\n      font-weight: 850;\r\n      text-transform: uppercase;\r\n      letter-spacing: 0.06em;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-formula {\r\n      margin: 0;\r\n      font-size: clamp(19px, 1.6vw, 25px);\r\n      line-height: 1.25;\r\n      font-weight: 900;\r\n      letter-spacing: -0.2px;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-formula small {\r\n      display: block;\r\n      margin-top: 8px;\r\n      color: rgba(255,255,255,0.72);\r\n      font-size: 12px;\r\n      line-height: 1.35;\r\n      font-weight: 600;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-list {\r\n      margin: 0;\r\n      padding: 0;\r\n      list-style: none;\r\n      display: grid;\r\n      gap: 8px;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-list li {\r\n      position: relative;\r\n      padding-left: 18px;\r\n      color: #334155;\r\n      font-size: 13px;\r\n      line-height: 1.4;\r\n      font-weight: 600;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-list li::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      left: 0;\r\n      top: 6px;\r\n      width: 7px;\r\n      height: 7px;\r\n      border-radius: 50%;\r\n      background: var(--tm-green);\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-highlight {\r\n      margin-top: 14px;\r\n      display: grid;\r\n      grid-template-columns: repeat(4, minmax(0, 1fr));\r\n      gap: 10px;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-mini {\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      border-radius: 14px;\r\n      padding: 12px;\r\n      min-height: 88px;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-mini-label {\r\n      margin: 0 0 7px 0;\r\n      color: #64748b;\r\n      font-size: 10px;\r\n      line-height: 1;\r\n      font-weight: 900;\r\n      text-transform: uppercase;\r\n      letter-spacing: 0.04em;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-mini-value {\r\n      margin: 0;\r\n      color: #0f172a;\r\n      font-size: 13px;\r\n      line-height: 1.32;\r\n      font-weight: 800;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-vix-note {\r\n      border-color: rgba(105,190,40,0.35);\r\n      background:\r\n        radial-gradient(circle at top right, rgba(105,190,40,0.13), transparent 110px),\r\n        #ffffff;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-foot {\r\n      margin: 14px 0 0 0;\r\n      padding: 12px 14px;\r\n      border-radius: 14px;\r\n      background: rgba(239,246,255,0.72);\r\n      border: 1px solid #dbeafe;\r\n      color: #334155;\r\n      font-size: 12.5px;\r\n      line-height: 1.5;\r\n      font-weight: 550;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-foot strong {\r\n      color: var(--tm-blue);\r\n      font-weight: 900;\r\n    }\r\n\r\n    @media (max-width: 980px) {\r\n      #tasando-metodo-senales {\r\n        width: calc(100vw - 48px) !important;\r\n        max-width: calc(100vw - 48px) !important;\r\n      }\r\n\r\n      #tasando-metodo-senales .tm-method-grid {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #tasando-metodo-senales .tm-method-highlight {\r\n        grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      }\r\n    }\r\n\r\n    @media (max-width: 560px) {\r\n      #tasando-metodo-senales {\r\n        width: 100% !important;\r\n        max-width: 100% !important;\r\n        padding: 0 10px !important;\r\n      }\r\n\r\n      #tasando-metodo-senales .tm-method-panel {\r\n        padding: 16px;\r\n        border-radius: 18px;\r\n      }\r\n\r\n      #tasando-metodo-senales .tm-method-highlight {\r\n        grid-template-columns: 1fr;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"tm-method-panel\">\r\n    <div class=\"tm-method-eyebrow\">Metodolog\u00eda de lectura<\/div>\r\n\r\n    <h2 class=\"tm-method-title\">C\u00f3mo se calcula la se\u00f1al por familia<\/h2>\r\n\r\n    <p class=\"tm-method-intro\">\r\n      Cada porcentaje resume una lectura t\u00e1ctica de mercado por bloque regional. No corresponde necesariamente al retorno de un solo \u00edndice, sino a una se\u00f1al agregada construida desde los principales \u00edndices representativos de cada familia.\r\n    <\/p>\r\n\r\n    <div class=\"tm-method-grid\">\r\n      <div class=\"tm-formula-box\">\r\n        <p class=\"tm-formula-label\">Ecuaci\u00f3n general<\/p>\r\n        <p class=\"tm-formula\">\r\n          Se\u00f1al familia = \u03a3<br>\r\n          peso \u00edndice \u00d7 variaci\u00f3n \u00edndice\r\n          <small>\r\n            La se\u00f1al se expresa como variaci\u00f3n porcentual diaria agregada del bloque.\r\n          <\/small>\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"tm-method-card\">\r\n        <h3 class=\"tm-method-card-title\">Qu\u00e9 entra al c\u00e1lculo<\/h3>\r\n        <ul class=\"tm-method-list\">\r\n          <li>\u00cdndices burs\u00e1tiles representativos de cada regi\u00f3n.<\/li>\r\n          <li>Variaci\u00f3n diaria respecto de la base de comparaci\u00f3n.<\/li>\r\n          <li>Ponderaci\u00f3n seg\u00fan relevancia del mercado dentro de la familia.<\/li>\r\n          <li>Clasificaci\u00f3n cualitativa: positivo, neutro o negativo.<\/li>\r\n        <\/ul>\r\n      <\/div>\r\n\r\n      <div class=\"tm-method-card\">\r\n        <h3 class=\"tm-method-card-title\">C\u00f3mo debe leerse<\/h3>\r\n        <ul class=\"tm-method-list\">\r\n          <li>No es una recomendaci\u00f3n autom\u00e1tica de compra o venta.<\/li>\r\n          <li>Sirve como term\u00f3metro diario de apetito por riesgo.<\/li>\r\n          <li>Debe cruzarse con tendencia, aceleraci\u00f3n y ranking de fondos.<\/li>\r\n          <li>El mini gr\u00e1fico muestra la evoluci\u00f3n de la se\u00f1al, no el nivel del \u00edndice.<\/li>\r\n        <\/ul>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"tm-method-highlight\">\r\n      <div class=\"tm-mini\">\r\n        <p class=\"tm-mini-label\">Chile \/ IPSA<\/p>\r\n        <p class=\"tm-mini-value\">\r\n          Se\u00f1al local basada en el comportamiento diario del IPSA.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"tm-mini\">\r\n        <p class=\"tm-mini-label\">USA<\/p>\r\n        <p class=\"tm-mini-value\">\r\n          Lectura agregada de \u00edndices estadounidenses amplios y tecnol\u00f3gicos.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"tm-mini\">\r\n        <p class=\"tm-mini-label\">Global \/ Europa \/ Asia<\/p>\r\n        <p class=\"tm-mini-value\">\r\n          Bloques construidos con \u00edndices representativos de sus principales mercados.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"tm-mini tm-vix-note\">\r\n        <p class=\"tm-mini-label\">VIX<\/p>\r\n        <p class=\"tm-mini-value\">\r\n          Lectura inversa: si baja, suele indicar menor volatilidad esperada; si sube, mayor cautela.\r\n        <\/p>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <p class=\"tm-method-foot\">\r\n      <strong>Nota:<\/strong> el objetivo del indicador es sintetizar direcci\u00f3n y fuerza relativa por familia de mercado. Por eso puede diferir visualmente de un gr\u00e1fico tradicional de precios o niveles de \u00edndice, como el IPSA, S&amp;P 500 o Nasdaq.\r\n    <\/p>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a88d44f elementor-widget elementor-widget-html\" data-id=\"a88d44f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\r\n     TASANDO.COM | HTML 1\r\n     HERO EST\u00c1TICO MERCADOS INTERNACIONALES\r\n     Ubicaci\u00f3n: arriba del resumen din\u00e1mico.\r\n     No lee Google Sheets.\r\n     ========================================================= -->\r\n\r\n<section id=\"tasando-mercados-hero-v12\">\r\n  <style>\r\n    #tasando-mercados-hero-v12 {\r\n      --tm-max: min(1240px, calc(100vw - 120px));\r\n      --tm-max-tablet: calc(100vw - 48px);\r\n      --tm-blue: #102a54;\r\n      --tm-green: #69be28;\r\n\r\n      width: var(--tm-max) !important;\r\n      max-width: var(--tm-max) !important;\r\n      margin: 24px auto 18px auto !important;\r\n      padding: 0 !important;\r\n      font-family: Arial, Helvetica, sans-serif;\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-mercados-hero-v12,\r\n    #tasando-mercados-hero-v12 * {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    body .elementor-widget-html:has(#tasando-mercados-hero-v12),\r\n    body .elementor-widget-html:has(#tasando-mercados-hero-v12) > .elementor-widget-container,\r\n    body .elementor-column:has(#tasando-mercados-hero-v12),\r\n    body .elementor-container:has(#tasando-mercados-hero-v12),\r\n    body .e-con:has(#tasando-mercados-hero-v12),\r\n    body .e-con-inner:has(#tasando-mercados-hero-v12) {\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      overflow: visible !important;\r\n      margin-left: auto !important;\r\n      margin-right: auto !important;\r\n    }\r\n\r\n    #tasando-mercados-hero-v12 .tm-hero {\r\n      width: 100%;\r\n      border-radius: 22px;\r\n      padding: 30px 34px;\r\n      color: #ffffff;\r\n      background:\r\n        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),\r\n        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),\r\n        radial-gradient(circle at 82% 20%, rgba(105,190,40,0.22), transparent 260px),\r\n        linear-gradient(135deg, #14315d 0%, #102a54 54%, #08182f 100%);\r\n      background-size: 40px 40px, 40px 40px, auto, auto;\r\n      display: grid;\r\n      grid-template-columns: 1.28fr 0.92fr;\r\n      gap: 30px;\r\n      align-items: center;\r\n      overflow: hidden;\r\n      box-shadow: 0 18px 42px rgba(15, 23, 42, 0.16);\r\n    }\r\n\r\n    #tasando-mercados-hero-v12 .tm-hero-pill {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      width: fit-content;\r\n      padding: 8px 14px;\r\n      border-radius: 999px;\r\n      background: rgba(255,255,255,0.12);\r\n      border: 1px solid rgba(255,255,255,0.22);\r\n      color: #ffffff;\r\n      font-size: 12px;\r\n      font-weight: 800;\r\n      margin-bottom: 13px;\r\n      backdrop-filter: blur(3px);\r\n    }\r\n\r\n    #tasando-mercados-hero-v12 .tm-hero-dot {\r\n      width: 9px;\r\n      height: 9px;\r\n      border-radius: 50%;\r\n      background: var(--tm-green);\r\n      box-shadow: 0 0 0 4px rgba(105,190,40,0.18);\r\n      flex: 0 0 auto;\r\n    }\r\n\r\n    #tasando-mercados-hero-v12 .tm-hero-title {\r\n      margin: 0 0 14px 0;\r\n      color: #ffffff;\r\n      font-size: clamp(30px, 3.2vw, 46px);\r\n      line-height: 1.08;\r\n      font-weight: 900;\r\n      letter-spacing: -0.8px;\r\n      max-width: 840px;\r\n    }\r\n\r\n    #tasando-mercados-hero-v12 .tm-hero-sub {\r\n      margin: 0;\r\n      color: rgba(255,255,255,0.88);\r\n      font-size: 14px;\r\n      line-height: 1.55;\r\n      max-width: 860px;\r\n      font-weight: 400;\r\n    }\r\n\r\n    #tasando-mercados-hero-v12 .tm-market-screen {\r\n      min-height: 210px;\r\n      border-radius: 20px;\r\n      background:\r\n        radial-gradient(circle at 78% 10%, rgba(105,190,40,.18), transparent 150px),\r\n        linear-gradient(180deg, rgba(255,255,255,0.13), rgba(255,255,255,0.07));\r\n      border: 1px solid rgba(255,255,255,0.22);\r\n      padding: 16px;\r\n      position: relative;\r\n      overflow: hidden;\r\n      box-shadow:\r\n        inset 0 1px 0 rgba(255,255,255,0.14),\r\n        0 12px 30px rgba(0,0,0,0.14);\r\n    }\r\n\r\n    #tasando-mercados-hero-v12 .tm-market-inner {\r\n      position: relative;\r\n      min-height: 178px;\r\n      border-radius: 16px;\r\n      background:\r\n        radial-gradient(circle at 75% 30%, rgba(105,190,40,.16), transparent 120px),\r\n        linear-gradient(180deg, #091827 0%, #050b14 100%);\r\n      overflow: hidden;\r\n      border: 1px solid rgba(255,255,255,0.10);\r\n      box-shadow: inset 0 0 22px rgba(255,255,255,0.05);\r\n    }\r\n\r\n    #tasando-mercados-hero-v12 .tm-market-svg {\r\n      width: 100%;\r\n      height: 178px;\r\n      display: block;\r\n    }\r\n\r\n    @media (max-width: 1200px) {\r\n      #tasando-mercados-hero-v12 {\r\n        width: var(--tm-max-tablet) !important;\r\n        max-width: var(--tm-max-tablet) !important;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 980px) {\r\n      #tasando-mercados-hero-v12 .tm-hero {\r\n        grid-template-columns: 1fr;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 700px) {\r\n      #tasando-mercados-hero-v12 {\r\n        width: 100% !important;\r\n        max-width: 100% !important;\r\n        padding: 0 10px !important;\r\n        margin: 16px auto 14px auto !important;\r\n      }\r\n\r\n      #tasando-mercados-hero-v12 .tm-hero {\r\n        padding: 22px 18px;\r\n        border-radius: 18px;\r\n      }\r\n\r\n      #tasando-mercados-hero-v12 .tm-hero-title {\r\n        font-size: 28px;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"tm-hero\">\r\n    <div>\r\n      <div class=\"tm-hero-pill\">\r\n        <span class=\"tm-hero-dot\"><\/span>\r\n        Mercados & Noticias\r\n      <\/div>\r\n\r\n      <h2 class=\"tm-hero-title\">\r\n        Informaci\u00f3n econ\u00f3mica, se\u00f1ales de mercado y contexto para decidir mejor\r\n      <\/h2>\r\n\r\n      <p class=\"tm-hero-sub\">\r\n        Esta secci\u00f3n re\u00fane titulares econ\u00f3micos, informaci\u00f3n de mercado y referencias de coyuntura para complementar la lectura de indicadores, fondos, activos e instrumentos financieros.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <div class=\"tm-market-screen\" aria-hidden=\"true\">\r\n      <div class=\"tm-market-inner\">\r\n        <svg class=\"tm-market-svg\" viewBox=\"0 0 520 260\" preserveAspectRatio=\"none\">\r\n          <defs>\r\n            <linearGradient id=\"tmLineGreenHeroV12\" x1=\"0\" x2=\"1\" y1=\"0\" y2=\"0\">\r\n              <stop offset=\"0%\" stop-color=\"#69be28\"\/>\r\n              <stop offset=\"45%\" stop-color=\"#38d68f\"\/>\r\n              <stop offset=\"100%\" stop-color=\"#f5bd42\"\/>\r\n            <\/linearGradient>\r\n\r\n            <linearGradient id=\"tmLineBlueHeroV12\" x1=\"0\" x2=\"1\" y1=\"0\" y2=\"0\">\r\n              <stop offset=\"0%\" stop-color=\"#7d7cff\"\/>\r\n              <stop offset=\"55%\" stop-color=\"#4cc9f0\"\/>\r\n              <stop offset=\"100%\" stop-color=\"#38d68f\"\/>\r\n            <\/linearGradient>\r\n\r\n            <linearGradient id=\"tmAreaHeroV12\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\r\n              <stop offset=\"0%\" stop-color=\"rgba(105,190,40,0.32)\"\/>\r\n              <stop offset=\"100%\" stop-color=\"rgba(105,190,40,0)\"\/>\r\n            <\/linearGradient>\r\n\r\n            <filter id=\"tmGlowHeroV12\" x=\"-30%\" y=\"-30%\" width=\"160%\" height=\"160%\">\r\n              <feGaussianBlur stdDeviation=\"2.8\" result=\"blur\"\/>\r\n              <feMerge>\r\n                <feMergeNode in=\"blur\"\/>\r\n                <feMergeNode in=\"SourceGraphic\"\/>\r\n              <\/feMerge>\r\n            <\/filter>\r\n          <\/defs>\r\n\r\n          <rect x=\"0\" y=\"0\" width=\"520\" height=\"260\" fill=\"#050b14\"\/>\r\n\r\n          <g opacity=\"0.16\" stroke=\"#ffffff\" stroke-width=\"1\">\r\n            <line x1=\"36\" y1=\"34\" x2=\"494\" y2=\"34\"\/>\r\n            <line x1=\"36\" y1=\"70\" x2=\"494\" y2=\"70\"\/>\r\n            <line x1=\"36\" y1=\"106\" x2=\"494\" y2=\"106\"\/>\r\n            <line x1=\"36\" y1=\"142\" x2=\"494\" y2=\"142\"\/>\r\n            <line x1=\"36\" y1=\"178\" x2=\"494\" y2=\"178\"\/>\r\n            <line x1=\"36\" y1=\"214\" x2=\"494\" y2=\"214\"\/>\r\n\r\n            <line x1=\"70\" y1=\"24\" x2=\"70\" y2=\"224\"\/>\r\n            <line x1=\"126\" y1=\"24\" x2=\"126\" y2=\"224\"\/>\r\n            <line x1=\"182\" y1=\"24\" x2=\"182\" y2=\"224\"\/>\r\n            <line x1=\"238\" y1=\"24\" x2=\"238\" y2=\"224\"\/>\r\n            <line x1=\"294\" y1=\"24\" x2=\"294\" y2=\"224\"\/>\r\n            <line x1=\"350\" y1=\"24\" x2=\"350\" y2=\"224\"\/>\r\n            <line x1=\"406\" y1=\"24\" x2=\"406\" y2=\"224\"\/>\r\n            <line x1=\"462\" y1=\"24\" x2=\"462\" y2=\"224\"\/>\r\n          <\/g>\r\n\r\n          <path\r\n            d=\"M 36 170 C 64 158, 76 132, 104 140 S 144 154, 166 116 S 208 76, 240 102 S 286 158, 318 124 S 356 82, 392 96 S 444 84, 494 54 L 494 224 L 36 224 Z\"\r\n            fill=\"url(#tmAreaHeroV12)\"\r\n            opacity=\"0.56\"\r\n          \/>\r\n\r\n          <path\r\n            d=\"M 36 170 C 64 158, 76 132, 104 140 S 144 154, 166 116 S 208 76, 240 102 S 286 158, 318 124 S 356 82, 392 96 S 444 84, 494 54\"\r\n            fill=\"none\"\r\n            stroke=\"url(#tmLineGreenHeroV12)\"\r\n            stroke-width=\"6\"\r\n            stroke-linecap=\"round\"\r\n            stroke-linejoin=\"round\"\r\n            filter=\"url(#tmGlowHeroV12)\"\r\n          \/>\r\n\r\n          <path\r\n            d=\"M 36 92 C 58 38, 82 62, 98 42 S 132 104, 156 82 S 194 54, 218 68 S 254 140, 284 126 S 318 96, 350 134 S 388 188, 420 162 S 462 150, 494 182\"\r\n            fill=\"none\"\r\n            stroke=\"url(#tmLineBlueHeroV12)\"\r\n            stroke-width=\"4\"\r\n            stroke-linecap=\"round\"\r\n            stroke-linejoin=\"round\"\r\n            opacity=\"0.82\"\r\n          \/>\r\n\r\n          <g fill=\"#ffffff\" stroke=\"rgba(255,255,255,0.48)\" stroke-width=\"2\">\r\n            <circle cx=\"104\" cy=\"140\" r=\"6\"\/>\r\n            <circle cx=\"166\" cy=\"116\" r=\"6\"\/>\r\n            <circle cx=\"240\" cy=\"102\" r=\"6\"\/>\r\n            <circle cx=\"318\" cy=\"124\" r=\"6\"\/>\r\n            <circle cx=\"392\" cy=\"96\" r=\"6\"\/>\r\n            <circle cx=\"494\" cy=\"54\" r=\"6\"\/>\r\n          <\/g>\r\n\r\n          <g opacity=\"0.9\">\r\n            <rect x=\"48\" y=\"204\" width=\"10\" height=\"20\" rx=\"2\" fill=\"#69be28\"\/>\r\n            <rect x=\"68\" y=\"192\" width=\"10\" height=\"32\" rx=\"2\" fill=\"#38d68f\"\/>\r\n            <rect x=\"88\" y=\"198\" width=\"10\" height=\"26\" rx=\"2\" fill=\"#f5bd42\"\/>\r\n            <rect x=\"108\" y=\"180\" width=\"10\" height=\"44\" rx=\"2\" fill=\"#69be28\"\/>\r\n            <rect x=\"128\" y=\"188\" width=\"10\" height=\"36\" rx=\"2\" fill=\"#38d68f\"\/>\r\n            <rect x=\"148\" y=\"172\" width=\"10\" height=\"52\" rx=\"2\" fill=\"#f5bd42\"\/>\r\n            <rect x=\"168\" y=\"186\" width=\"10\" height=\"38\" rx=\"2\" fill=\"#69be28\"\/>\r\n            <rect x=\"188\" y=\"158\" width=\"10\" height=\"66\" rx=\"2\" fill=\"#38d68f\"\/>\r\n            <rect x=\"208\" y=\"174\" width=\"10\" height=\"50\" rx=\"2\" fill=\"#f5bd42\"\/>\r\n            <rect x=\"228\" y=\"150\" width=\"10\" height=\"74\" rx=\"2\" fill=\"#69be28\"\/>\r\n            <rect x=\"248\" y=\"176\" width=\"10\" height=\"48\" rx=\"2\" fill=\"#38d68f\"\/>\r\n            <rect x=\"268\" y=\"164\" width=\"10\" height=\"60\" rx=\"2\" fill=\"#f5bd42\"\/>\r\n            <rect x=\"288\" y=\"184\" width=\"10\" height=\"40\" rx=\"2\" fill=\"#69be28\"\/>\r\n            <rect x=\"308\" y=\"152\" width=\"10\" height=\"72\" rx=\"2\" fill=\"#38d68f\"\/>\r\n            <rect x=\"328\" y=\"138\" width=\"10\" height=\"86\" rx=\"2\" fill=\"#f5bd42\"\/>\r\n            <rect x=\"348\" y=\"160\" width=\"10\" height=\"64\" rx=\"2\" fill=\"#69be28\"\/>\r\n            <rect x=\"368\" y=\"144\" width=\"10\" height=\"80\" rx=\"2\" fill=\"#38d68f\"\/>\r\n            <rect x=\"388\" y=\"132\" width=\"10\" height=\"92\" rx=\"2\" fill=\"#f5bd42\"\/>\r\n            <rect x=\"408\" y=\"156\" width=\"10\" height=\"68\" rx=\"2\" fill=\"#69be28\"\/>\r\n            <rect x=\"428\" y=\"140\" width=\"10\" height=\"84\" rx=\"2\" fill=\"#38d68f\"\/>\r\n            <rect x=\"448\" y=\"126\" width=\"10\" height=\"98\" rx=\"2\" fill=\"#f5bd42\"\/>\r\n          <\/g>\r\n        <\/svg>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d40a43b elementor-widget elementor-widget-html\" data-id=\"d40a43b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\r\n     TASANDO.COM | HTML 3 V14\r\n     DESCRIPCI\u00d3N \/ COMENTARIO POR MERCADOS EN FICHAS\r\n     Fuente: WEB_COMENTARIOS v\u00eda proxy WordPress.\r\n\r\n     MEJORA V14:\r\n     - Reemplaza el bloque plano de p\u00e1rrafos por fichas.\r\n     - Ordena las fichas desde la se\u00f1al m\u00e1s d\u00e9bil hasta la m\u00e1s favorable.\r\n     - Usa 3 fichas por fila en escritorio, 2 en tablet, 1 en celular.\r\n     - Cada ficha muestra familia, variaci\u00f3n, lectura y comentario.\r\n     - Mantiene bloques destacados: En simple, lectura relativa y contacto.\r\n     ========================================================= -->\r\n\r\n<section id=\"tasando-mercados-descripcion-v14\">\r\n  <style>\r\n    #tasando-mercados-descripcion-v14 {\r\n      --tm-max: min(1240px, calc(100vw - 120px));\r\n      --tm-max-tablet: calc(100vw - 48px);\r\n\r\n      --tm-blue: #102a54;\r\n      --tm-blue-2: #17396f;\r\n      --tm-dark: #0f172a;\r\n      --tm-text: #1e293b;\r\n      --tm-muted: #64748b;\r\n      --tm-line: #cbd5e1;\r\n      --tm-green: #69be28;\r\n\r\n      --tm-pos-bg: #e8f7ec;\r\n      --tm-pos-text: #166534;\r\n      --tm-pos-dot: #16a34a;\r\n\r\n      --tm-neu-bg: #eef3f8;\r\n      --tm-neu-text: #475569;\r\n      --tm-neu-dot: #94a3b8;\r\n\r\n      --tm-lneg-bg: #fff4e6;\r\n      --tm-lneg-text: #9a5b00;\r\n      --tm-lneg-dot: #f59e0b;\r\n\r\n      --tm-neg-bg: #feecec;\r\n      --tm-neg-text: #991b1b;\r\n      --tm-neg-dot: #dc2626;\r\n\r\n      width: var(--tm-max) !important;\r\n      max-width: var(--tm-max) !important;\r\n      margin: 0 auto 22px auto !important;\r\n      padding: 0 !important;\r\n      font-family: Arial, Helvetica, sans-serif;\r\n      color: var(--tm-text);\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14,\r\n    #tasando-mercados-descripcion-v14 * {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    body .elementor-widget-html:has(#tasando-mercados-descripcion-v14),\r\n    body .elementor-widget-html:has(#tasando-mercados-descripcion-v14) > .elementor-widget-container,\r\n    body .elementor-column:has(#tasando-mercados-descripcion-v14),\r\n    body .elementor-container:has(#tasando-mercados-descripcion-v14),\r\n    body .e-con:has(#tasando-mercados-descripcion-v14),\r\n    body .e-con-inner:has(#tasando-mercados-descripcion-v14) {\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      overflow: visible !important;\r\n      margin-left: auto !important;\r\n      margin-right: auto !important;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-content {\r\n      background:\r\n        radial-gradient(circle at top right, rgba(105,190,40,0.10), transparent 260px),\r\n        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);\r\n      border: 1px solid #d7dde6;\r\n      border-radius: 20px;\r\n      padding: 22px 24px;\r\n      box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-section-label {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      width: fit-content;\r\n      padding: 7px 12px;\r\n      border-radius: 999px;\r\n      background: #edf6e8;\r\n      border: 1px solid rgba(105,190,40,0.28);\r\n      color: var(--tm-blue);\r\n      font-size: 12px;\r\n      font-weight: 850;\r\n      margin: 0 0 14px 0;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-section-label::before {\r\n      content: \"\";\r\n      width: 8px;\r\n      height: 8px;\r\n      border-radius: 50%;\r\n      background: var(--tm-green);\r\n      box-shadow: 0 0 0 4px rgba(105,190,40,0.14);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-order-note {\r\n      margin: -4px 0 18px 0;\r\n      color: var(--tm-muted);\r\n      font-size: 12px;\r\n      line-height: 1.45;\r\n      font-weight: 500;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-loading,\r\n    #tasando-mercados-descripcion-v14 .tm-error {\r\n      padding: 18px;\r\n      border-radius: 13px;\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      color: var(--tm-muted);\r\n      font-size: 13px;\r\n      text-align: center;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-error {\r\n      background: #fff7ed;\r\n      border-color: #fed7aa;\r\n      color: #9a3412;\r\n      text-align: left;\r\n      line-height: 1.45;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-market-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(3, minmax(0, 1fr));\r\n      gap: 14px;\r\n      align-items: stretch;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-market-card {\r\n      position: relative;\r\n      display: flex;\r\n      flex-direction: column;\r\n      min-height: 230px;\r\n      padding: 16px 16px 15px 16px;\r\n      border-radius: 18px;\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      box-shadow: 0 8px 22px rgba(15, 23, 42, 0.065);\r\n      overflow: hidden;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-market-card::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      top: 0;\r\n      left: 0;\r\n      width: 100%;\r\n      height: 4px;\r\n      background: #cbd5e1;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-market-card.tm-state-pos::before {\r\n      background: var(--tm-pos-dot);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-market-card.tm-state-neu::before {\r\n      background: var(--tm-neu-dot);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-market-card.tm-state-lneg::before {\r\n      background: var(--tm-lneg-dot);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-market-card.tm-state-neg::before {\r\n      background: var(--tm-neg-dot);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-card-top {\r\n      display: grid;\r\n      grid-template-columns: minmax(0, 1fr) auto;\r\n      gap: 10px;\r\n      align-items: start;\r\n      margin-bottom: 12px;\r\n      padding-bottom: 11px;\r\n      border-bottom: 1px solid #e2e8f0;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-family {\r\n      margin: 0;\r\n      color: var(--tm-dark);\r\n      font-size: 17px;\r\n      line-height: 1.1;\r\n      font-weight: 900;\r\n      letter-spacing: .02em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-var {\r\n      margin-top: 6px;\r\n      color: var(--tm-blue);\r\n      font-size: 20px;\r\n      line-height: 1;\r\n      font-weight: 900;\r\n      font-variant-numeric: tabular-nums;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-chip {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 7px;\r\n      width: fit-content;\r\n      max-width: 100%;\r\n      border-radius: 999px;\r\n      padding: 6px 10px;\r\n      font-size: 10.5px;\r\n      line-height: 1.15;\r\n      font-weight: 850;\r\n      border: 1px solid transparent;\r\n      white-space: normal;\r\n      text-transform: uppercase;\r\n      overflow-wrap: anywhere;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-chip::before {\r\n      content: \"\";\r\n      width: 8px;\r\n      height: 8px;\r\n      border-radius: 50%;\r\n      flex: 0 0 8px;\r\n      display: inline-block;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-state-pos .tm-chip {\r\n      background: var(--tm-pos-bg);\r\n      color: var(--tm-pos-text);\r\n      border-color: rgba(22,101,52,.18);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-state-pos .tm-chip::before {\r\n      background: var(--tm-pos-dot);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-state-neu .tm-chip {\r\n      background: var(--tm-neu-bg);\r\n      color: var(--tm-neu-text);\r\n      border-color: rgba(71,85,105,.18);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-state-neu .tm-chip::before {\r\n      background: var(--tm-neu-dot);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-state-lneg .tm-chip {\r\n      background: var(--tm-lneg-bg);\r\n      color: var(--tm-lneg-text);\r\n      border-color: rgba(154,91,0,.18);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-state-lneg .tm-chip::before {\r\n      background: var(--tm-lneg-dot);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-state-neg .tm-chip {\r\n      background: var(--tm-neg-bg);\r\n      color: var(--tm-neg-text);\r\n      border-color: rgba(153,27,27,.18);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-state-neg .tm-chip::before {\r\n      background: var(--tm-neg-dot);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-card-body {\r\n      color: var(--tm-text);\r\n      font-size: 14px;\r\n      line-height: 1.58;\r\n      font-weight: 400 !important;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-card-body p {\r\n      margin: 0;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-card-body strong,\r\n    #tasando-mercados-descripcion-v14 .tm-card-body b,\r\n    #tasando-mercados-descripcion-v14 .tm-simple strong,\r\n    #tasando-mercados-descripcion-v14 .tm-fm-card strong,\r\n    #tasando-mercados-descripcion-v14 .tm-cta strong {\r\n      color: var(--tm-dark);\r\n      font-weight: 700 !important;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-card-index {\r\n      margin-top: auto;\r\n      padding-top: 12px;\r\n      color: var(--tm-muted);\r\n      font-size: 11px;\r\n      font-weight: 750;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-highlight-grid {\r\n      display: grid;\r\n      grid-template-columns: 1fr 1fr;\r\n      gap: 14px;\r\n      margin-top: 16px;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-simple,\r\n    #tasando-mercados-descripcion-v14 .tm-reading,\r\n    #tasando-mercados-descripcion-v14 .tm-fm-card,\r\n    #tasando-mercados-descripcion-v14 .tm-cta {\r\n      border-radius: 16px;\r\n      padding: 15px 16px;\r\n      border: 1px solid #dbe5ef;\r\n      background: #ffffff;\r\n      box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-simple {\r\n      background: #f8fafc;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-reading {\r\n      background: #edf6e8;\r\n      border-color: rgba(105,190,40,.30);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-fm-card {\r\n      grid-column: 1 \/ -1;\r\n      background:\r\n        radial-gradient(circle at top right, rgba(105,190,40,0.10), transparent 220px),\r\n        #ffffff;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-block-label {\r\n      display: block;\r\n      margin-bottom: 7px;\r\n      color: var(--tm-blue);\r\n      font-size: 12px;\r\n      font-weight: 900;\r\n      text-transform: uppercase;\r\n      letter-spacing: .04em;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-simple p,\r\n    #tasando-mercados-descripcion-v14 .tm-reading p,\r\n    #tasando-mercados-descripcion-v14 .tm-fm-card p,\r\n    #tasando-mercados-descripcion-v14 .tm-cta p {\r\n      margin: 0;\r\n      color: var(--tm-text);\r\n      font-size: 14px;\r\n      line-height: 1.58;\r\n      font-weight: 400 !important;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-reading-value {\r\n      display: block;\r\n      color: var(--tm-dark);\r\n      font-size: 15px;\r\n      line-height: 1.35;\r\n      font-weight: 800;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-cta {\r\n      margin-top: 16px;\r\n      background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-actions {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      gap: 10px;\r\n      margin: 14px 0;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-btn {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      padding: 11px 16px;\r\n      border-radius: 999px;\r\n      font-size: 13px;\r\n      line-height: 1;\r\n      font-weight: 850;\r\n      text-decoration: none !important;\r\n      border: 1px solid transparent;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-btn-primary {\r\n      background: var(--tm-blue);\r\n      color: #ffffff !important;\r\n      box-shadow: 0 8px 18px rgba(18,54,111,.16);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-btn-secondary {\r\n      background: #ffffff;\r\n      color: var(--tm-blue) !important;\r\n      border-color: #cbd5e1;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-contact {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      gap: 14px 22px;\r\n      color: var(--tm-blue);\r\n      font-size: 14px;\r\n      line-height: 1.45;\r\n      font-weight: 750;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-contact a {\r\n      color: var(--tm-blue);\r\n      text-decoration: none;\r\n      font-weight: 800;\r\n    }\r\n\r\n    @media (max-width: 1200px) {\r\n      #tasando-mercados-descripcion-v14 {\r\n        width: var(--tm-max-tablet) !important;\r\n        max-width: var(--tm-max-tablet) !important;\r\n      }\r\n\r\n      #tasando-mercados-descripcion-v14 .tm-market-grid {\r\n        grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      }\r\n    }\r\n\r\n    @media (max-width: 760px) {\r\n      #tasando-mercados-descripcion-v14 {\r\n        width: 100% !important;\r\n        max-width: 100% !important;\r\n        padding: 0 10px !important;\r\n      }\r\n\r\n      #tasando-mercados-descripcion-v14 .tm-content {\r\n        padding: 16px;\r\n        border-radius: 16px;\r\n      }\r\n\r\n      #tasando-mercados-descripcion-v14 .tm-market-grid,\r\n      #tasando-mercados-descripcion-v14 .tm-highlight-grid {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #tasando-mercados-descripcion-v14 .tm-market-card {\r\n        min-height: auto;\r\n      }\r\n\r\n      #tasando-mercados-descripcion-v14 .tm-card-body,\r\n      #tasando-mercados-descripcion-v14 .tm-simple p,\r\n      #tasando-mercados-descripcion-v14 .tm-reading p,\r\n      #tasando-mercados-descripcion-v14 .tm-fm-card p,\r\n      #tasando-mercados-descripcion-v14 .tm-cta p {\r\n        font-size: 13.5px;\r\n        line-height: 1.55;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"tm-content\">\r\n    <div class=\"tm-section-label\">Descripci\u00f3n por mercados<\/div>\r\n    <div class=\"tm-order-note\">\r\n      Lectura ordenada desde la se\u00f1al m\u00e1s d\u00e9bil hasta la m\u00e1s favorable.\r\n    <\/div>\r\n\r\n    <div id=\"tmDescripcionContenidoV14\">\r\n      <div class=\"tm-loading\">Cargando comentario de mercados desde base interna Tasando.com...<\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    (function () {\r\n      const root = document.getElementById(\"tasando-mercados-descripcion-v14\");\r\n      if (!root) return;\r\n\r\n      const endpoints = [\r\n        window.location.origin + \"\/propiedades\/wp-json\/tasando\/v1\/sheet\/comentario-mercados\",\r\n        window.location.origin + \"\/propiedades\/wp-json\/tasando\/v1\/sheet\/web-comentarios\",\r\n        window.location.origin + \"\/propiedades\/wp-json\/tasando\/v1\/sheet\/mercados-comentario\",\r\n        window.location.origin + \"\/wp-json\/tasando\/v1\/sheet\/comentario-mercados\",\r\n        window.location.origin + \"\/wp-json\/tasando\/v1\/sheet\/web-comentarios\",\r\n        window.location.origin + \"\/wp-json\/tasando\/v1\/sheet\/mercados-comentario\"\r\n      ];\r\n\r\n      const claveObjetivo = \"MERCADOS_DIA\";\r\n      const contenido = root.querySelector(\"#tmDescripcionContenidoV14\");\r\n\r\n      function limpiar(v) {\r\n        if (v === null || v === undefined) return \"\";\r\n        return String(v)\r\n          .replace(\/\\r\\n\/g, \"\\n\")\r\n          .replace(\/\\r\/g, \"\\n\")\r\n          .replace(\/&lt;br\\s*\\\/?&gt;\/gi, \"\\n\")\r\n          .replace(\/<br\\s*\\\/?>\/gi, \"\\n\")\r\n          .replace(\/\\\\\\|\/g, \"|\")\r\n          .replace(\/\\\\([\\\\`*_\\[\\]{}()#+\\-.!|:])\/g, \"$1\")\r\n          .trim();\r\n      }\r\n\r\n      function esc(v) {\r\n        return limpiar(v)\r\n          .replace(\/&\/g, \"&amp;\")\r\n          .replace(\/<\/g, \"&lt;\")\r\n          .replace(\/>\/g, \"&gt;\")\r\n          .replace(\/\"\/g, \"&quot;\")\r\n          .replace(\/'\/g, \"&#039;\");\r\n      }\r\n\r\n      function norm(v) {\r\n        return limpiar(v)\r\n          .toUpperCase()\r\n          .normalize(\"NFD\")\r\n          .replace(\/[\\u0300-\\u036f]\/g, \"\")\r\n          .replace(\/[^A-Z0-9]\/g, \"\");\r\n      }\r\n\r\n      function buscarCol(headers, aliases) {\r\n        const h = headers.map(norm);\r\n        const a = aliases.map(norm);\r\n\r\n        for (let i = 0; i < h.length; i++) {\r\n          if (a.includes(h[i])) return i;\r\n        }\r\n        return -1;\r\n      }\r\n\r\n      function cell(row, idx) {\r\n        if (!Array.isArray(row)) return \"\";\r\n        if (idx < 0 || idx >= row.length) return \"\";\r\n        return limpiar(row[idx]);\r\n      }\r\n\r\n      function validarProxy(data) {\r\n        const real = data && data.data && data.data.headers ? data.data : data;\r\n\r\n        if (!real || real.ok !== true) {\r\n          throw new Error((real && real.error) ? real.error : \"Respuesta inv\u00e1lida del proxy.\");\r\n        }\r\n\r\n        const headers = Array.isArray(real.headers) ? real.headers : [];\r\n        const rows = Array.isArray(real.rows) ? real.rows : [];\r\n\r\n        if (!headers.length || !rows.length) {\r\n          throw new Error(\"El proxy no devolvi\u00f3 headers\/rows con datos.\");\r\n        }\r\n\r\n        return { headers, rows };\r\n      }\r\n\r\n      function extraerComentario(data) {\r\n        const tabla = validarProxy(data);\r\n        const headers = tabla.headers;\r\n        const rows = tabla.rows;\r\n\r\n        const idxClave = buscarCol(headers, [\"CLAVE\"]);\r\n        const idxMarkdown = buscarCol(headers, [\"TEXTO_MARKDOWN\", \"TEXTO MARKDOWN\", \"MARKDOWN\"]);\r\n        const idxHtml = buscarCol(headers, [\"TEXTO_HTML\", \"TEXTO HTML\", \"HTML\"]);\r\n        const idxLectura = buscarCol(headers, [\"LECTURA_RELATIVA\", \"LECTURA RELATIVA\"]);\r\n        const idxEstado = buscarCol(headers, [\"ESTADO\"]);\r\n\r\n        if (idxClave < 0) {\r\n          throw new Error(\"No se detect\u00f3 la columna CLAVE en WEB_COMENTARIOS.\");\r\n        }\r\n\r\n        const row = rows.find(function (r) {\r\n          const clave = norm(cell(r, idxClave));\r\n          const estado = idxEstado >= 0 ? norm(cell(r, idxEstado)) : \"PUBLICAR\";\r\n          return clave === norm(claveObjetivo) && (!estado || estado === \"PUBLICAR\");\r\n        });\r\n\r\n        if (!row) {\r\n          throw new Error(\"No se encontr\u00f3 fila con CLAVE = MERCADOS_DIA y ESTADO = PUBLICAR.\");\r\n        }\r\n\r\n        const markdown = idxMarkdown >= 0 ? cell(row, idxMarkdown) : \"\";\r\n        const html = idxHtml >= 0 ? cell(row, idxHtml) : \"\";\r\n\r\n        if (!markdown && !html) {\r\n          throw new Error(\"La fila no tiene TEXTO_MARKDOWN ni TEXTO_HTML.\");\r\n        }\r\n\r\n        return {\r\n          markdown: markdown,\r\n          html: html,\r\n          lecturaRelativa: idxLectura >= 0 ? cell(row, idxLectura) : \"\"\r\n        };\r\n      }\r\n\r\n      function mdInline(texto) {\r\n        return esc(texto).replace(\/\\*\\*(.*?)\\*\\*\/g, \"<strong>$1<\/strong>\");\r\n      }\r\n\r\n      function familiaVisual(familia) {\r\n        const f = norm(familia);\r\n\r\n        if (f === \"CHILE\" || f === \"CHILEIPSA\") return \"CHILE \/ IPSA\";\r\n        if (f === \"EUROPA\") return \"EUROPA\";\r\n        if (f === \"GLOBAL\") return \"GLOBAL\";\r\n        if (f === \"ASIA\") return \"ASIA\";\r\n        if (f === \"EMERGING\") return \"EMERGING\";\r\n        if (f === \"LATAM\") return \"LATAM\";\r\n        if (f === \"USA\") return \"USA\";\r\n        if (f === \"VIX\") return \"VIX\";\r\n\r\n        return limpiar(familia).toUpperCase();\r\n      }\r\n\r\n      function parseNumeroVariacion(valor) {\r\n        const s = limpiar(valor)\r\n          .replace(\"\u2212\", \"-\")\r\n          .replace(\"%\", \"\")\r\n          .replace(\/\\s+\/g, \"\")\r\n          .replace(\",\", \".\");\r\n\r\n        const n = Number(s);\r\n        return Number.isFinite(n) ? n : null;\r\n      }\r\n\r\n      function puntajeLectura(lectura) {\r\n        const t = norm(lectura);\r\n\r\n        if (t.includes(\"NEGATIVO\") && !t.includes(\"LEVEMENTE\")) return -4;\r\n        if (t.includes(\"LEVEMENTENEGATIVO\")) return -2;\r\n        if (t.includes(\"NEUTRO\")) return 0;\r\n        if (t.includes(\"LEVEMENTEPOSITIVO\")) return 2;\r\n        if (t.includes(\"POSITIVO\")) return 4;\r\n\r\n        return 99;\r\n      }\r\n\r\n      function estadoClase(lectura) {\r\n        const t = norm(lectura);\r\n        if (t.includes(\"LEVEMENTEPOSITIVO\")) return \"tm-state-pos\";\r\n        if (t.includes(\"LEVEMENTENEGATIVO\")) return \"tm-state-lneg\";\r\n        if (t.includes(\"POSITIVO\")) return \"tm-state-pos\";\r\n        if (t.includes(\"NEGATIVO\")) return \"tm-state-neg\";\r\n        return \"tm-state-neu\";\r\n      }\r\n\r\n      function parseSenales(markdown) {\r\n        const t = limpiar(markdown).replace(\/\\*\\*\/g, \"\");\r\n        const lines = t.split(\"\\n\").map(limpiar).filter(Boolean);\r\n        const out = [];\r\n\r\n        lines.forEach(function (line) {\r\n          const m = line.match(\/^(.+?)\\s*\\|\\s*VAR:\\s*([+\\-\u2212]?\\s*\\d+(?:[.,]\\d+)?%)\\s*\\|\\s*(.+)$\/i);\r\n          if (!m) return;\r\n\r\n          out.push({\r\n            familia: familiaVisual(m[1]),\r\n            variacion: limpiar(m[2]).replace(\/\\s+\/g, \"\"),\r\n            lectura: limpiar(m[3]).toUpperCase()\r\n          });\r\n        });\r\n\r\n        const visto = {};\r\n        return out.filter(function (s) {\r\n          const k = norm(s.familia);\r\n          if (!k || visto[k]) return false;\r\n          visto[k] = true;\r\n          return true;\r\n        });\r\n      }\r\n\r\n      function ordenarSenalesPeorAMejor(senales) {\r\n        return senales.slice().sort(function (a, b) {\r\n          const aKey = norm(a.familia);\r\n          const bKey = norm(b.familia);\r\n\r\n          const aEsVix = aKey === \"VIX\";\r\n          const bEsVix = bKey === \"VIX\";\r\n\r\n          if (aEsVix && !bEsVix) return 1;\r\n          if (!aEsVix && bEsVix) return -1;\r\n\r\n          const av = parseNumeroVariacion(a.variacion);\r\n          const bv = parseNumeroVariacion(b.variacion);\r\n\r\n          const aSinDato = av === null;\r\n          const bSinDato = bv === null;\r\n\r\n          if (aSinDato && !bSinDato) return 1;\r\n          if (!aSinDato && bSinDato) return -1;\r\n\r\n          if (av !== null && bv !== null && av !== bv) {\r\n            return av - bv;\r\n          }\r\n\r\n          const al = puntajeLectura(a.lectura);\r\n          const bl = puntajeLectura(b.lectura);\r\n\r\n          if (al !== bl) return al - bl;\r\n\r\n          return a.familia.localeCompare(b.familia);\r\n        });\r\n      }\r\n\r\n      function familiaDesdeParrafo(parrafo) {\r\n        const plano = limpiar(parrafo).replace(\/\\*\\*\/g, \"\").trim();\r\n        const m = plano.match(\/^En\\s+([A-Za-z\u00c1\u00c9\u00cd\u00d3\u00da\u00d1\u00e1\u00e9\u00ed\u00f3\u00fa\u00f1\u00fc\u00dc \/]+?),\/i);\r\n        if (!m) return \"\";\r\n        return familiaVisual(m[1]);\r\n      }\r\n\r\n      function senalPorFamilia(senales) {\r\n        const mapa = {};\r\n        senales.forEach(function (s) {\r\n          mapa[norm(s.familia)] = s;\r\n        });\r\n        return mapa;\r\n      }\r\n\r\n      function ordenarParrafosMercado(parrafos, markdown) {\r\n        const senales = ordenarSenalesPeorAMejor(parseSenales(markdown));\r\n        if (!senales.length) return parrafos;\r\n\r\n        const orden = {};\r\n        senales.forEach(function (s, idx) {\r\n          orden[norm(s.familia)] = idx;\r\n        });\r\n\r\n        const mercados = [];\r\n        const otros = [];\r\n\r\n        parrafos.forEach(function (p, idx) {\r\n          const familia = familiaDesdeParrafo(p);\r\n          const key = norm(familia);\r\n\r\n          if (familia && orden[key] !== undefined) {\r\n            mercados.push({ texto: p, orden: orden[key], original: idx });\r\n          } else {\r\n            otros.push({ texto: p, original: idx });\r\n          }\r\n        });\r\n\r\n        mercados.sort(function (a, b) {\r\n          if (a.orden !== b.orden) return a.orden - b.orden;\r\n          return a.original - b.original;\r\n        });\r\n\r\n        return mercados.map(function (x) { return x.texto; })\r\n          .concat(otros.map(function (x) { return x.texto; }));\r\n      }\r\n\r\n      function extraerSimple(markdown) {\r\n        const t = limpiar(markdown);\r\n        const m = t.match(\/\ud83d\udd0e\\s*En simple:\\s*([\\s\\S]*?)(?=\\n\\s*\ud83d\udccc|\\n\\s*Para\\s+\\*\\*fondos mutuos\\*\\*|\\n\\s*Para\\s+fondos mutuos|$)\/i);\r\n        return m ? limpiar(m[1]).replace(\/\\*\\*\/g, \"\") : \"\";\r\n      }\r\n\r\n      function extraerComentarioFondos(parrafos) {\r\n        const idx = parrafos.findIndex(function (p) {\r\n          const n = norm(p);\r\n          return n.startsWith(\"PARAFONDOSMUTUOS\");\r\n        });\r\n\r\n        if (idx < 0) return { fondos: \"\", parrafos: parrafos };\r\n\r\n        const fondos = parrafos[idx];\r\n        const copia = parrafos.slice();\r\n        copia.splice(idx, 1);\r\n\r\n        return { fondos: fondos, parrafos: copia };\r\n      }\r\n\r\n      function parrafosLimpios(markdown) {\r\n        const lines = limpiar(markdown).split(\"\\n\").map(limpiar).filter(Boolean);\r\n        const out = [];\r\n        let saltarSenales = false;\r\n        let saltarUrl = false;\r\n        let saltarLectura = false;\r\n\r\n        lines.forEach(function (line) {\r\n          const plano = line.replace(\/\\*\\*\/g, \"\").trim();\r\n          const n = norm(plano);\r\n\r\n          if (!plano) return;\r\n          if (plano.startsWith(\"\ud83d\udcca\")) return;\r\n\r\n          if (n.includes(\"SENALESDEMERCADOPORFAMILIA\")) {\r\n            saltarSenales = true;\r\n            return;\r\n          }\r\n\r\n          if (saltarSenales) {\r\n            if (line.includes(\"| VAR:\")) return;\r\n\r\n            if (\/^En\\s+\/i.test(plano) || \/^\ud83d\udd0e\/i.test(plano) || \/^\ud83d\udccc\/i.test(plano) || \/^Para\\s+\/i.test(plano)) {\r\n              saltarSenales = false;\r\n            } else {\r\n              return;\r\n            }\r\n          }\r\n\r\n          if (n.includes(\"SENALESMERCADO\") || n.includes(\"HOJAINTERNA\") || n.includes(\"CAPTURADOR\")) return;\r\n\r\n          if (n.startsWith(\"REVISELOSRESULTADOSACTUALIZADOSEN\") || n.startsWith(\"REVISELAMATRIZDEFONDOSMUTUOSEN\")) {\r\n            saltarUrl = true;\r\n            return;\r\n          }\r\n\r\n          if (saltarUrl && \/^https?:\\\/\\\/\/i.test(plano)) {\r\n            saltarUrl = false;\r\n            return;\r\n          }\r\n\r\n          if (\/^https?:\\\/\\\/\/i.test(plano)) return;\r\n          if (n.startsWith(\"ENTASANDOCOMAPOYAMOS\")) return;\r\n          if (n.includes(\"WHATSAPP\") && n.includes(\"56997878034\")) return;\r\n          if (n.includes(\"WWWTASANDOCOM\")) return;\r\n          if (n.startsWith(\"MERCADOSINVERSIONESFONDOSMUTUOS\")) return;\r\n          if (n.startsWith(\"CONTENIDOINFORMATIVOYEDUCATIVO\")) return;\r\n          if (n.includes(\"NOCONSTITUYERECOMENDACIONPERSONALIZADA\")) return;\r\n          if (plano.startsWith(\"#\")) return;\r\n\r\n          if (plano.startsWith(\"\ud83d\udccc\")) {\r\n            saltarLectura = true;\r\n            return;\r\n          }\r\n\r\n          if (saltarLectura) {\r\n            saltarLectura = false;\r\n            return;\r\n          }\r\n\r\n          if (plano.startsWith(\"\ud83d\udd0e\")) return;\r\n\r\n          out.push(line);\r\n        });\r\n\r\n        return out;\r\n      }\r\n\r\n      function renderCuerpo(data) {\r\n        const simple = extraerSimple(data.markdown);\r\n        const senalesOrdenadas = ordenarSenalesPeorAMejor(parseSenales(data.markdown));\r\n        const mapaSenales = senalPorFamilia(senalesOrdenadas);\r\n        const parrafosBase = parrafosLimpios(data.markdown);\r\n        const extraidos = extraerComentarioFondos(parrafosBase);\r\n        const parrafos = ordenarParrafosMercado(extraidos.parrafos, data.markdown);\r\n        const fondos = extraidos.fondos;\r\n\r\n        let html = \"\";\r\n\r\n        html += \"<div class='tm-market-grid'>\";\r\n\r\n        parrafos.forEach(function (p, idx) {\r\n          const familia = familiaDesdeParrafo(p);\r\n          const key = norm(familia);\r\n          const senal = mapaSenales[key] || {};\r\n          const lectura = senal.lectura || \"LECTURA\";\r\n          const variacion = senal.variacion || \"\";\r\n          const clase = estadoClase(lectura);\r\n\r\n          html +=\r\n            \"<article class='tm-market-card \" + clase + \"'>\" +\r\n              \"<div class='tm-card-top'>\" +\r\n                \"<div>\" +\r\n                  \"<h3 class='tm-family'>\" + esc(familia || \"Mercado\") + \"<\/h3>\" +\r\n                  (variacion ? \"<div class='tm-var'>\" + esc(variacion) + \"<\/div>\" : \"\") +\r\n                \"<\/div>\" +\r\n                \"<div class='tm-chip'>\" + esc(lectura) + \"<\/div>\" +\r\n              \"<\/div>\" +\r\n              \"<div class='tm-card-body'><p>\" + mdInline(p) + \"<\/p><\/div>\" +\r\n              \"<div class='tm-card-index'>Lectura \" + esc(String(idx + 1)) + \" de \" + esc(String(parrafos.length)) + \"<\/div>\" +\r\n            \"<\/article>\";\r\n        });\r\n\r\n        html += \"<\/div>\";\r\n\r\n        html += \"<div class='tm-highlight-grid'>\";\r\n\r\n        if (simple) {\r\n          html +=\r\n            \"<div class='tm-simple'>\" +\r\n              \"<span class='tm-block-label'>En simple<\/span>\" +\r\n              \"<p>\" + esc(simple) + \"<\/p>\" +\r\n            \"<\/div>\";\r\n        }\r\n\r\n        if (data.lecturaRelativa) {\r\n          html +=\r\n            \"<div class='tm-reading'>\" +\r\n              \"<span class='tm-block-label'>Lectura relativa del d\u00eda<\/span>\" +\r\n              \"<span class='tm-reading-value'>\" + esc(data.lecturaRelativa) + \"<\/span>\" +\r\n            \"<\/div>\";\r\n        }\r\n\r\n        if (fondos) {\r\n          html +=\r\n            \"<div class='tm-fm-card'>\" +\r\n              \"<span class='tm-block-label'>Implicancia para fondos mutuos<\/span>\" +\r\n              \"<p>\" + mdInline(fondos) + \"<\/p>\" +\r\n            \"<\/div>\";\r\n        }\r\n\r\n        html += \"<\/div>\";\r\n\r\n        html +=\r\n          \"<div class='tm-cta'>\" +\r\n            \"<span class='tm-block-label'>Tasando.com<\/span>\" +\r\n            \"<p>En <strong>Tasando.com<\/strong> apoyamos con monitoreo de mercados, an\u00e1lisis financiero, seguimiento de acciones, ETF y fondos mutuos, adem\u00e1s de soluciones de <strong>business intelligence y automatizaci\u00f3n de reportes<\/strong>.<\/p>\" +\r\n            \"<div class='tm-actions'>\" +\r\n              \"<a class='tm-btn tm-btn-primary' href='https:\/\/tasando.com\/propiedades\/fondos-mutuos\/' target='_blank' rel='noopener noreferrer'>Ver fondos mutuos<\/a>\" +\r\n              \"<a class='tm-btn tm-btn-secondary' href='https:\/\/wa.me\/56997878034' target='_blank' rel='noopener noreferrer'>WhatsApp<\/a>\" +\r\n            \"<\/div>\" +\r\n            \"<div class='tm-contact'>\" +\r\n              \"<a href='https:\/\/wa.me\/56997878034' target='_blank' rel='noopener noreferrer'>\ud83d\udcf2 WhatsApp: +56 99 7878 034<\/a>\" +\r\n              \"<a href='https:\/\/www.tasando.com' target='_blank' rel='noopener noreferrer'>\ud83c\udf10 www.tasando.com<\/a>\" +\r\n            \"<\/div>\" +\r\n          \"<\/div>\";\r\n\r\n        contenido.innerHTML = html;\r\n      }\r\n\r\n      function renderError(error) {\r\n        contenido.innerHTML =\r\n          \"<div class='tm-error'>\" +\r\n          \"<strong>No fue posible cargar el comentario de Tasando.com.<\/strong><br>\" +\r\n          esc(error.message || error) +\r\n          \"<\/div>\";\r\n      }\r\n\r\n      function fetchJson(url) {\r\n        const sep = url.includes(\"?\") ? \"&\" : \"?\";\r\n        const finalUrl = url + sep + \"refresh=1&_=\" + Date.now();\r\n\r\n        return fetch(finalUrl, {\r\n          method: \"GET\",\r\n          credentials: \"same-origin\",\r\n          cache: \"no-store\"\r\n        }).then(function (response) {\r\n          if (!response.ok) throw new Error(\"HTTP \" + response.status + \" en \" + url);\r\n          return response.json();\r\n        });\r\n      }\r\n\r\n      function probarEndpoint(i, ultimoError) {\r\n        if (i >= endpoints.length) throw ultimoError || new Error(\"No se pudo consultar ning\u00fan endpoint.\");\r\n\r\n        return fetchJson(endpoints[i]).catch(function (err) {\r\n          return probarEndpoint(i + 1, err);\r\n        });\r\n      }\r\n\r\n      probarEndpoint(0, null)\r\n        .then(extraerComentario)\r\n        .then(renderCuerpo)\r\n        .catch(renderError);\r\n    })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8296663 elementor-widget__width-initial elementor-widget elementor-widget-html\" data-id=\"8296663\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\r\n     TASANDO.COM | INDICADORES DE MERCADO INTERNACIONAL\r\n     Fuente: proxy WordPress existente\r\n\r\n     Endpoint:\r\n     \/propiedades\/wp-json\/tasando\/v1\/sheet\/indicadores-mercado-internacional\r\n\r\n     IMPORTANTE:\r\n     - Este HTML NO usa Google Sheets directo.\r\n     - Usa s\u00f3lo el proxy.\r\n     - No muestra updated_at como hora de corrida.\r\n     - Muestra fecha_hora_corrida s\u00f3lo si el proxy la entrega.\r\n     ========================================================= -->\r\n\r\n<section id=\"tasando-indices-internacionales\">\r\n  <style>\r\n    #tasando-indices-internacionales {\r\n      --ti-width: min(1240px, calc(100vw - 120px));\r\n      --ti-width-notebook: calc(100vw - 48px);\r\n\r\n      --ti-bg-1: #eef2f5;\r\n      --ti-bg-2: #e3e8ef;\r\n      --ti-dark: #111827;\r\n      --ti-text: #0f172a;\r\n      --ti-muted: #475569;\r\n      --ti-border: #cbd5e1;\r\n\r\n      --ti-green-strong: #a7f3d0;\r\n      --ti-green-soft: #d1fae5;\r\n      --ti-yellow-soft: #fef3c7;\r\n      --ti-red-soft: #fee2e2;\r\n\r\n      font-family: Arial, Helvetica, sans-serif;\r\n      width: var(--ti-width) !important;\r\n      max-width: var(--ti-width) !important;\r\n      margin: 28px auto !important;\r\n      padding: 0 !important;\r\n      color: var(--ti-text);\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-indices-internacionales,\r\n    #tasando-indices-internacionales * {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    body .elementor-widget-html:has(#tasando-indices-internacionales),\r\n    body .elementor-widget-html:has(#tasando-indices-internacionales) > .elementor-widget-container,\r\n    body .elementor-column:has(#tasando-indices-internacionales),\r\n    body .elementor-container:has(#tasando-indices-internacionales),\r\n    body .e-con:has(#tasando-indices-internacionales),\r\n    body .e-con-inner:has(#tasando-indices-internacionales) {\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      overflow: visible !important;\r\n      margin-left: auto !important;\r\n      margin-right: auto !important;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-panel {\r\n      width: 100%;\r\n      background:\r\n        radial-gradient(circle at top right, rgba(105, 190, 40, 0.13), transparent 260px),\r\n        linear-gradient(180deg, var(--ti-bg-1) 0%, var(--ti-bg-2) 100%);\r\n      border: 1px solid var(--ti-border);\r\n      border-radius: 20px;\r\n      padding: 20px;\r\n      box-shadow: 0 16px 36px rgba(15, 23, 42, 0.11);\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-head {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      align-items: flex-start;\r\n      gap: 16px;\r\n      margin-bottom: 14px;\r\n      flex-wrap: wrap;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-eyebrow {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      width: fit-content;\r\n      padding: 7px 12px;\r\n      border-radius: 999px;\r\n      background: #edf6e8;\r\n      border: 1px solid rgba(105, 190, 40, 0.26);\r\n      color: #12366f;\r\n      font-size: 12px;\r\n      font-weight: 900;\r\n      margin-bottom: 9px;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-dot {\r\n      width: 8px;\r\n      height: 8px;\r\n      border-radius: 999px;\r\n      background: #69be28;\r\n      box-shadow: 0 0 0 4px rgba(105, 190, 40, 0.14);\r\n      flex: 0 0 8px;\r\n    }\r\n\r\n    #tasando-indices-internacionales h2 {\r\n      margin: 0;\r\n      color: var(--ti-text);\r\n      font-size: clamp(24px, 2.4vw, 34px);\r\n      line-height: 1.12;\r\n      letter-spacing: -0.5px;\r\n      font-weight: 950;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-subtitle {\r\n      margin: 6px 0 0 0;\r\n      color: var(--ti-muted);\r\n      font-size: 13px;\r\n      line-height: 1.45;\r\n      max-width: 860px;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-badges {\r\n      display: flex;\r\n      flex-direction: column;\r\n      align-items: flex-end;\r\n      gap: 8px;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-badge {\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      border-radius: 999px;\r\n      padding: 8px 12px;\r\n      font-size: 11px;\r\n      color: var(--ti-muted);\r\n      white-space: nowrap;\r\n      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);\r\n      font-weight: 750;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-badge strong {\r\n      color: #12366f;\r\n      font-weight: 950;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-wrap {\r\n      width: 100%;\r\n      overflow-x: hidden;\r\n      overflow-y: hidden;\r\n      border-radius: 13px;\r\n      border: 1px solid var(--ti-border);\r\n      background: #ffffff;\r\n      margin: 0 auto;\r\n    }\r\n\r\n    #tasando-indices-internacionales table {\r\n      width: 100%;\r\n      min-width: 100%;\r\n      border-collapse: collapse;\r\n      table-layout: fixed;\r\n      background: #ffffff;\r\n    }\r\n\r\n    #tasando-indices-internacionales th,\r\n    #tasando-indices-internacionales td {\r\n      border-bottom: 1px solid #e2e8f0;\r\n      border-right: 1px solid #edf2f7;\r\n      vertical-align: middle;\r\n      overflow: hidden;\r\n      text-overflow: ellipsis;\r\n    }\r\n\r\n    #tasando-indices-internacionales th {\r\n      background: var(--ti-dark);\r\n      color: #ffffff;\r\n      height: 34px;\r\n      padding: 6px 5px;\r\n      font-size: 10.1px;\r\n      line-height: 1.08;\r\n      font-weight: 900;\r\n      text-align: center;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    #tasando-indices-internacionales td {\r\n      padding: 6px 5px;\r\n      font-size: 10.4px;\r\n      line-height: 1.14;\r\n      font-weight: 650;\r\n      color: var(--ti-text);\r\n      white-space: nowrap;\r\n      text-align: center;\r\n    }\r\n\r\n    #tasando-indices-internacionales tbody tr:nth-child(even) td {\r\n      background: #f8fafc;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-num {\r\n      width: 4%;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-indicador {\r\n      width: 15%;\r\n      text-align: left;\r\n      font-weight: 900;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-tipo {\r\n      width: 6.2%;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-exposicion {\r\n      width: 29%;\r\n      text-align: left;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-sesion {\r\n      width: 10%;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-dir {\r\n      width: 5.8%;\r\n      font-weight: 950;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-base,\r\n    #tasando-indices-internacionales .ti-actual {\r\n      width: 9%;\r\n      text-align: right;\r\n      font-variant-numeric: tabular-nums;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-var {\r\n      width: 8%;\r\n      text-align: right;\r\n      font-weight: 950;\r\n      font-variant-numeric: tabular-nums;\r\n    }\r\n\r\n    #tasando-indices-internacionales th.ti-exposicion,\r\n    #tasando-indices-internacionales td.ti-exposicion {\r\n      text-align: left !important;\r\n    }\r\n\r\n    #tasando-indices-internacionales td.ti-exposicion {\r\n      white-space: normal !important;\r\n      overflow: visible !important;\r\n      text-overflow: initial !important;\r\n      line-height: 1.25 !important;\r\n      padding-top: 6px !important;\r\n      padding-bottom: 6px !important;\r\n      word-break: normal !important;\r\n      overflow-wrap: anywhere !important;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-dir-up {\r\n      color: #059669;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-dir-down {\r\n      color: #dc2626;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-var-up-strong {\r\n      background: var(--ti-green-strong) !important;\r\n      color: #064e3b !important;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-var-up-soft {\r\n      background: var(--ti-green-soft) !important;\r\n      color: #065f46 !important;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-var-up-low {\r\n      background: var(--ti-yellow-soft) !important;\r\n      color: #92400e !important;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-var-down {\r\n      background: var(--ti-red-soft) !important;\r\n      color: #991b1b !important;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-var-neutral {\r\n      background: #f8fafc !important;\r\n      color: #475569 !important;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-loading,\r\n    #tasando-indices-internacionales .ti-error {\r\n      padding: 18px;\r\n      border-radius: 13px;\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      color: var(--ti-muted);\r\n      font-size: 13px;\r\n      text-align: center;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-error {\r\n      background: #fff7ed;\r\n      border-color: #fed7aa;\r\n      color: #9a3412;\r\n      text-align: left;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-footer {\r\n      margin-top: 11px;\r\n      color: #64748b;\r\n      font-size: 10.8px;\r\n      line-height: 1.4;\r\n    }\r\n\r\n    @media (max-width: 1200px) and (min-width: 701px) {\r\n      #tasando-indices-internacionales {\r\n        width: var(--ti-width-notebook) !important;\r\n        max-width: var(--ti-width-notebook) !important;\r\n      }\r\n\r\n      #tasando-indices-internacionales th,\r\n      #tasando-indices-internacionales td {\r\n        font-size: 9.1px;\r\n        padding: 5px 4px;\r\n      }\r\n\r\n      #tasando-indices-internacionales td.ti-exposicion {\r\n        font-size: 9px;\r\n        line-height: 1.2 !important;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 700px) {\r\n      #tasando-indices-internacionales {\r\n        width: 100% !important;\r\n        max-width: 100% !important;\r\n        padding: 0 10px !important;\r\n        margin: 18px auto !important;\r\n      }\r\n\r\n      #tasando-indices-internacionales .ti-panel {\r\n        padding: 15px;\r\n        border-radius: 18px;\r\n      }\r\n\r\n      #tasando-indices-internacionales h2 {\r\n        font-size: 21px;\r\n      }\r\n\r\n      #tasando-indices-internacionales .ti-badges {\r\n        align-items: flex-start;\r\n      }\r\n\r\n      #tasando-indices-internacionales .ti-wrap {\r\n        overflow-x: auto;\r\n      }\r\n\r\n      #tasando-indices-internacionales table {\r\n        min-width: 1080px;\r\n      }\r\n\r\n      #tasando-indices-internacionales td.ti-exposicion {\r\n        min-width: 290px !important;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"ti-panel\">\r\n    <div class=\"ti-head\">\r\n      <div>\r\n        <div class=\"ti-eyebrow\">\r\n          <span class=\"ti-dot\"><\/span>\r\n          Mercados en l\u00ednea\r\n        <\/div>\r\n\r\n        <h2>\u00cdndices burs\u00e1tiles y se\u00f1ales de mercado<\/h2>\r\n\r\n        <p class=\"ti-subtitle\">\r\n          Lectura din\u00e1mica de principales \u00edndices internacionales, sesi\u00f3n de mercado,\r\n          direcci\u00f3n y variaci\u00f3n porcentual respecto de la base de comparaci\u00f3n.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"ti-badges\">\r\n        <div class=\"ti-badge\" id=\"tiUpdated\">\r\n          Fecha y hora corrida: actualizando...\r\n        <\/div>\r\n\r\n        <div class=\"ti-badge\" id=\"tiCount\">\r\n          Filtro tabla\/web: <strong>\u00cdNDICE<\/strong>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div id=\"tiTableArea\">\r\n      <div class=\"ti-loading\">\r\n        Cargando informaci\u00f3n desde base interna Tasando.com...\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"ti-footer\">\r\n      <strong>Nota:<\/strong> Los datos presentados corresponden a una recolecci\u00f3n automatizada de informaci\u00f3n disponible en portales web que reportan valores de mercados e \u00edndices burs\u00e1tiles. Estos valores var\u00edan durante la jornada, por lo que deben entenderse como una referencia informativa al momento indicado de recolecci\u00f3n de la data, sin constituir recomendaci\u00f3n financiera ni garant\u00eda de actualizaci\u00f3n posterior.\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    (function () {\r\n      const ENDPOINT =\r\n        window.location.origin +\r\n        \"\/propiedades\/wp-json\/tasando\/v1\/sheet\/indicadores-mercado-internacional\";\r\n\r\n      const area = document.getElementById(\"tiTableArea\");\r\n      const updated = document.getElementById(\"tiUpdated\");\r\n      const count = document.getElementById(\"tiCount\");\r\n\r\n      function limpiarTexto(v) {\r\n        if (v === null || v === undefined) return \"\";\r\n        return String(v).trim();\r\n      }\r\n\r\n      function escapeHTML(value) {\r\n        return limpiarTexto(value)\r\n          .replace(\/&\/g, \"&amp;\")\r\n          .replace(\/<\/g, \"&lt;\")\r\n          .replace(\/>\/g, \"&gt;\")\r\n          .replace(\/\"\/g, \"&quot;\")\r\n          .replace(\/'\/g, \"&#039;\");\r\n      }\r\n\r\n      function normalizar(v) {\r\n        return limpiarTexto(v)\r\n          .toUpperCase()\r\n          .normalize(\"NFD\")\r\n          .replace(\/[\\u0300-\\u036f]\/g, \"\")\r\n          .replace(\/[^A-Z0-9]\/g, \"\");\r\n      }\r\n\r\n      function cell(row, index) {\r\n        if (!Array.isArray(row)) return \"\";\r\n        if (index === null || index === undefined) return \"\";\r\n        if (index < 0 || index >= row.length) return \"\";\r\n        return limpiarTexto(row[index]);\r\n      }\r\n\r\n      function buscarCol(headers, aliases) {\r\n        const h = headers.map(normalizar);\r\n        const a = aliases.map(normalizar);\r\n\r\n        for (let i = 0; i < h.length; i++) {\r\n          if (a.includes(h[i])) return i;\r\n        }\r\n\r\n        return null;\r\n      }\r\n\r\n      function normalizarFechaVisible(v) {\r\n        let s = limpiarTexto(v);\r\n\r\n        if (!s) return \"\";\r\n\r\n        let m = s.match(\/Date\\((\\d{4}),(\\d{1,2}),(\\d{1,2})(?:,(\\d{1,2}),(\\d{1,2}),(\\d{1,2}))?\\)\/);\r\n\r\n        if (m) {\r\n          const year = Number(m[1]);\r\n          const month = Number(m[2]) + 1;\r\n          const day = Number(m[3]);\r\n          const hour = Number(m[4] || 0);\r\n          const minute = Number(m[5] || 0);\r\n          const second = Number(m[6] || 0);\r\n\r\n          return (\r\n            String(year).padStart(4, \"0\") +\r\n            \"-\" +\r\n            String(month).padStart(2, \"0\") +\r\n            \"-\" +\r\n            String(day).padStart(2, \"0\") +\r\n            \" \" +\r\n            String(hour).padStart(2, \"0\") +\r\n            \":\" +\r\n            String(minute).padStart(2, \"0\") +\r\n            \":\" +\r\n            String(second).padStart(2, \"0\")\r\n          );\r\n        }\r\n\r\n        m = s.match(\/\\d{4}-\\d{2}-\\d{2}[ T]\\d{2}:\\d{2}(?::\\d{2})?\/);\r\n        if (m) return m[0].replace(\"T\", \" \");\r\n\r\n        m = s.match(\/\\d{2}-\\d{2}-\\d{4}\\s+\\d{2}:\\d{2}(?::\\d{2})?\/);\r\n        if (m) return m[0];\r\n\r\n        m = s.match(\/\\d{2}\\\/\\d{2}\\\/\\d{4}\\s+\\d{2}:\\d{2}(?::\\d{2})?\/);\r\n        if (m) return m[0];\r\n\r\n        return \"\";\r\n      }\r\n\r\n      function detectarFecha(data) {\r\n        \/*\r\n          S\u00f3lo se muestra la fecha real de corrida.\r\n          No se usa updated_at, porque updated_at es hora t\u00e9cnica del proxy\/cache.\r\n        *\/\r\n\r\n        const directos = [\r\n          data.fecha_hora_corrida,\r\n          data.fechaHoraCorrida,\r\n          data.fecha_corrida,\r\n          data.fecha\r\n        ];\r\n\r\n        for (const item of directos) {\r\n          const f = normalizarFechaVisible(item);\r\n          if (f) return f;\r\n        }\r\n\r\n        const allRows = [];\r\n\r\n        if (Array.isArray(data.headers)) allRows.push(data.headers);\r\n\r\n        if (Array.isArray(data.rows)) {\r\n          data.rows.forEach(function (r) {\r\n            allRows.push(r);\r\n          });\r\n        }\r\n\r\n        for (const row of allRows) {\r\n          if (!Array.isArray(row)) continue;\r\n\r\n          const rowText = row.map(limpiarTexto).join(\" | \");\r\n          const rowNorm = normalizar(rowText);\r\n\r\n          if (\r\n            rowNorm.includes(\"FECHAHORACORRIDA\") ||\r\n            (rowNorm.includes(\"FECHA\") && rowNorm.includes(\"HORA\"))\r\n          ) {\r\n            const fRow = normalizarFechaVisible(rowText);\r\n            if (fRow) return fRow;\r\n\r\n            for (let i = 0; i < row.length; i++) {\r\n              const etiqueta = normalizar(row[i]);\r\n\r\n              const f0 = normalizarFechaVisible(row[i]);\r\n              if (f0) return f0;\r\n\r\n              if (etiqueta.includes(\"FECHA\") && etiqueta.includes(\"HORA\")) {\r\n                const f1 = normalizarFechaVisible(cell(row, i + 1));\r\n                const f2 = normalizarFechaVisible(cell(row, i + 2));\r\n\r\n                if (f1) return f1;\r\n                if (f2) return f2;\r\n              }\r\n            }\r\n          }\r\n        }\r\n\r\n        return \"\";\r\n      }\r\n\r\n      function esFilaEncabezado(row) {\r\n        const joined = row.map(normalizar).join(\"|\");\r\n\r\n        return (\r\n          joined.includes(\"INDICADOR\") &&\r\n          (joined.includes(\"TIPO\") || joined.includes(\"DIR\") || joined.includes(\"VAR\"))\r\n        );\r\n      }\r\n\r\n      function detectarTabla(data) {\r\n        const headersProxy = Array.isArray(data.headers) ? data.headers : [];\r\n        const rawRows = Array.isArray(data.rows) ? data.rows : [];\r\n\r\n        const candidatos = [];\r\n\r\n        if (headersProxy.some(function (c) { return limpiarTexto(c) !== \"\"; })) {\r\n          candidatos.push({\r\n            row: headersProxy,\r\n            rawIndex: -1\r\n          });\r\n        }\r\n\r\n        rawRows.forEach(function (row, index) {\r\n          candidatos.push({\r\n            row: row,\r\n            rawIndex: index\r\n          });\r\n        });\r\n\r\n        for (const c of candidatos) {\r\n          if (esFilaEncabezado(c.row)) {\r\n            return {\r\n              headers: c.row,\r\n              rows: c.rawIndex === -1 ? rawRows : rawRows.slice(c.rawIndex + 1)\r\n            };\r\n          }\r\n        }\r\n\r\n        return {\r\n          headers: headersProxy,\r\n          rows: rawRows\r\n        };\r\n      }\r\n\r\n      function parseNumero(valor) {\r\n        let s = limpiarTexto(valor)\r\n          .replace(\"%\", \"\")\r\n          .replace(\"+\", \"\")\r\n          .replace(\/\\s+\/g, \"\")\r\n          .replace(\/[^\\d,.\\-]\/g, \"\");\r\n\r\n        if (!s) return null;\r\n\r\n        if (s.includes(\",\") && s.includes(\".\")) {\r\n          if (s.lastIndexOf(\",\") > s.lastIndexOf(\".\")) {\r\n            s = s.replace(\/\\.\/g, \"\").replace(\",\", \".\");\r\n          } else {\r\n            s = s.replace(\/,\/g, \"\");\r\n          }\r\n        } else if (s.includes(\",\")) {\r\n          s = s.replace(\",\", \".\");\r\n        }\r\n\r\n        const n = Number(s);\r\n\r\n        return Number.isNaN(n) ? null : n;\r\n      }\r\n\r\n      function varClass(valor) {\r\n        const n = parseNumero(valor);\r\n\r\n        if (n === null || n === 0) return \"ti-var-neutral\";\r\n        if (n >= 0.5) return \"ti-var-up-strong\";\r\n        if (n >= 0.2) return \"ti-var-up-soft\";\r\n        if (n > 0) return \"ti-var-up-low\";\r\n\r\n        return \"ti-var-down\";\r\n      }\r\n\r\n      function dirClass(valor) {\r\n        const s = normalizar(valor);\r\n\r\n        if (s.includes(\"SUBE\")) return \"ti-dir-up\";\r\n        if (s.includes(\"BAJA\")) return \"ti-dir-down\";\r\n\r\n        return \"\";\r\n      }\r\n\r\n      function exposicionDetallada(indicador, original) {\r\n        const nombre = normalizar(indicador);\r\n        const expo = limpiarTexto(original);\r\n\r\n        const esGenerico =\r\n          !expo ||\r\n          normalizar(expo) === \"REGIONAL\" ||\r\n          normalizar(expo) === \"GLOBAL\" ||\r\n          normalizar(expo) === \"INTERNACIONAL\";\r\n\r\n        if (!esGenerico) return expo;\r\n\r\n        const mapa = [\r\n          {\r\n            claves: [\"EUROSTOXX50\", \"EUROSTOXX\"],\r\n            texto: \"Alemania, Francia, Italia, Espa\u00f1a, Pa\u00edses Bajos, B\u00e9lgica, Finlandia e Irlanda\"\r\n          },\r\n          {\r\n            claves: [\"STOXX600\"],\r\n            texto: \"Alemania, Francia, Reino Unido, Suiza, Pa\u00edses Bajos, Suecia, Italia, Espa\u00f1a, Dinamarca, Finlandia, Noruega, B\u00e9lgica, Austria, Irlanda, Portugal y Luxemburgo\"\r\n          },\r\n          {\r\n            claves: [\"MSCIEMERGINGMARKETS\", \"MSCIEMERGING\"],\r\n            texto: \"China, India, Taiw\u00e1n, Corea del Sur, Brasil, Arabia Saudita, Sud\u00e1frica, M\u00e9xico, Indonesia, Tailandia, Malasia, Emiratos \u00c1rabes Unidos, Qatar, Polonia, Turqu\u00eda, Chile, Per\u00fa y Colombia\"\r\n          },\r\n          {\r\n            claves: [\"MSCIACASIAPACIFIC\", \"MSCIASIAPACIFIC\", \"MSCIACASIA\"],\r\n            texto: \"China, Jap\u00f3n, Hong Kong, India, Australia, Corea del Sur, Taiw\u00e1n, Singapur, Nueva Zelanda, Indonesia, Malasia, Tailandia y Filipinas\"\r\n          },\r\n          {\r\n            claves: [\"MSCIEMLATINAMERICA\", \"MSCILATINAMERICA\", \"LATINAMERICA\"],\r\n            texto: \"Brasil, M\u00e9xico, Chile, Per\u00fa y Colombia\"\r\n          },\r\n          {\r\n            claves: [\"SP500FUTURES\", \"S&P500FUTURES\", \"SP500\", \"S&P500\", \"NASDAQ100\", \"NASDAQCOMPOSITE\", \"DOWJONES\", \"RUSSELL2000\"],\r\n            texto: \"Estados Unidos\"\r\n          },\r\n          {\r\n            claves: [\"VIX\"],\r\n            texto: \"Estados Unidos, Global\"\r\n          },\r\n          {\r\n            claves: [\"DAX\"],\r\n            texto: \"Alemania\"\r\n          },\r\n          {\r\n            claves: [\"FTSEMIB\"],\r\n            texto: \"Italia\"\r\n          },\r\n          {\r\n            claves: [\"CAC40\"],\r\n            texto: \"Francia\"\r\n          },\r\n          {\r\n            claves: [\"IBEX35\"],\r\n            texto: \"Espa\u00f1a\"\r\n          },\r\n          {\r\n            claves: [\"FTSE100\"],\r\n            texto: \"Reino Unido\"\r\n          },\r\n          {\r\n            claves: [\"NIKKEI225\", \"TOPIX\"],\r\n            texto: \"Jap\u00f3n\"\r\n          },\r\n          {\r\n            claves: [\"KOSPI\"],\r\n            texto: \"Corea del Sur\"\r\n          },\r\n          {\r\n            claves: [\"TAIWANWEIGHTED\"],\r\n            texto: \"Taiw\u00e1n\"\r\n          },\r\n          {\r\n            claves: [\"SHANGHAICOMPOSITE\"],\r\n            texto: \"China\"\r\n          },\r\n          {\r\n            claves: [\"HANGSENG\"],\r\n            texto: \"Hong Kong, China\"\r\n          },\r\n          {\r\n            claves: [\"BSESENSEX30\", \"SENSEX\", \"NIFTY50\"],\r\n            texto: \"India\"\r\n          },\r\n          {\r\n            claves: [\"SPASX200\", \"S&PASX200\"],\r\n            texto: \"Australia\"\r\n          },\r\n          {\r\n            claves: [\"BOVESPA\"],\r\n            texto: \"Brasil\"\r\n          },\r\n          {\r\n            claves: [\"COLCAP\"],\r\n            texto: \"Colombia\"\r\n          },\r\n          {\r\n            claves: [\"SPBMVIPC\", \"BMVIPC\"],\r\n            texto: \"M\u00e9xico\"\r\n          },\r\n          {\r\n            claves: [\"SPTSXCOMPOSITE\", \"TSXCOMPOSITE\"],\r\n            texto: \"Canad\u00e1\"\r\n          },\r\n          {\r\n            claves: [\"IPSA\"],\r\n            texto: \"Chile\"\r\n          },\r\n          {\r\n            claves: [\"JAKARTACOMPOSITE\"],\r\n            texto: \"Indonesia\"\r\n          }\r\n        ];\r\n\r\n        for (const item of mapa) {\r\n          for (const clave of item.claves) {\r\n            if (nombre.includes(normalizar(clave))) {\r\n              return item.texto;\r\n            }\r\n          }\r\n        }\r\n\r\n        return expo || \"No clasificado\";\r\n      }\r\n\r\n      function numeroFila(valor, index) {\r\n        const v = limpiarTexto(valor);\r\n\r\n        return v ? v : String(index + 1).padStart(3, \"0\");\r\n      }\r\n\r\n      function render(data) {\r\n        if (!data || data.ok !== true) {\r\n          throw new Error((data && data.error) ? data.error : \"Respuesta inv\u00e1lida del proxy.\");\r\n        }\r\n\r\n        const tabla = detectarTabla(data);\r\n        const headers = tabla.headers;\r\n        const rawRows = tabla.rows;\r\n\r\n        const idxNum = buscarCol(headers, [\"N\u00b0\", \"N\u00ba\", \"N\", \"#\", \"NUMERO\", \"NRO\"]);\r\n        const idxIndicador = buscarCol(headers, [\"INDICADOR\", \"NOMBRE\"]);\r\n        const idxTipo = buscarCol(headers, [\"TIPO\"]);\r\n        const idxExpo = buscarCol(headers, [\"EXPOSICION\", \"EXPOSICI\u00d3N\", \"PAIS\", \"PA\u00cdS\", \"PAISES\", \"PA\u00cdSES\", \"REGION\", \"REGI\u00d3N\"]);\r\n        const idxSesion = buscarCol(headers, [\"SESION\", \"SESI\u00d3N\", \"ESTADO\", \"ESTADOSESION\"]);\r\n        const idxDir = buscarCol(headers, [\"DIR\", \"DIRECCION\", \"DIRECCI\u00d3N\", \"TENDENCIA\"]);\r\n        const idxBase = buscarCol(headers, [\"BASE_VAR\", \"BASEVAR\", \"BASE\", \"CIERREANT\", \"CIERREANTERIOR\", \"APERTURA\"]);\r\n        const idxActual = buscarCol(headers, [\"VALOR ACTUAL\", \"VALOR_ACTUAL\", \"VALORACTUAL\", \"ACTUAL\", \"ULTIMO\", \"\u00daLTIMO\"]);\r\n        const idxVar = buscarCol(headers, [\"VAR. %\", \"VAR %\", \"VAR_%\", \"VAR%\", \"VARIACION\", \"VARIACI\u00d3N\", \"VAR\"]);\r\n\r\n        if (idxIndicador === null) {\r\n          throw new Error(\"No se detect\u00f3 columna INDICADOR.\");\r\n        }\r\n\r\n        const rows = rawRows.filter(function (row) {\r\n          const ind = cell(row, idxIndicador);\r\n\r\n          if (!ind || normalizar(ind) === \"INDICADOR\") return false;\r\n\r\n          if (idxTipo === null) return true;\r\n\r\n          const tipo = normalizar(cell(row, idxTipo));\r\n\r\n          return !tipo || tipo === \"INDICE\" || tipo === \"INDICES\";\r\n        });\r\n\r\n        const fecha = detectarFecha(data);\r\n\r\n        updated.innerHTML = fecha\r\n          ? \"Fecha y hora corrida: <strong>\" + escapeHTML(fecha) + \"<\/strong>\"\r\n          : \"Fecha y hora corrida: <strong>no informada en proxy<\/strong>\";\r\n\r\n        count.innerHTML =\r\n          \"Filtro tabla\/web: <strong>\u00cdNDICE<\/strong> \u00b7 \" +\r\n          escapeHTML(rows.length) +\r\n          \" registros\";\r\n\r\n        if (!rows.length) {\r\n          area.innerHTML =\r\n            '<div class=\"ti-error\"><strong>No se encontraron registros v\u00e1lidos para mostrar.<\/strong><\/div>';\r\n          return;\r\n        }\r\n\r\n        let html = \"\";\r\n\r\n        html += '<div class=\"ti-wrap\">';\r\n        html += '<table>';\r\n        html += '<thead>';\r\n        html += '<tr>';\r\n        html += '<th class=\"ti-num\">N\u00b0<\/th>';\r\n        html += '<th class=\"ti-indicador\">INDICADOR<\/th>';\r\n        html += '<th class=\"ti-tipo\">TIPO<\/th>';\r\n        html += '<th class=\"ti-exposicion\">EXPOSICI\u00d3N<\/th>';\r\n        html += '<th class=\"ti-sesion\">SESI\u00d3N<\/th>';\r\n        html += '<th class=\"ti-dir\">DIR<\/th>';\r\n        html += '<th class=\"ti-base\">BASE_VAR<\/th>';\r\n        html += '<th class=\"ti-actual\">VALOR ACTUAL<\/th>';\r\n        html += '<th class=\"ti-var\">VAR. %<\/th>';\r\n        html += '<\/tr>';\r\n        html += '<\/thead>';\r\n        html += '<tbody>';\r\n\r\n        rows.forEach(function (row, index) {\r\n          const indicador = cell(row, idxIndicador);\r\n          const expo = exposicionDetallada(indicador, idxExpo !== null ? cell(row, idxExpo) : \"\");\r\n          const dir = idxDir !== null ? cell(row, idxDir) : \"\";\r\n          const variacion = idxVar !== null ? cell(row, idxVar) : \"\";\r\n\r\n          html += '<tr>';\r\n\r\n          html +=\r\n            '<td class=\"ti-num\">' +\r\n            escapeHTML(numeroFila(idxNum !== null ? cell(row, idxNum) : \"\", index)) +\r\n            '<\/td>';\r\n\r\n          html +=\r\n            '<td class=\"ti-indicador\" title=\"' +\r\n            escapeHTML(indicador) +\r\n            '\">' +\r\n            escapeHTML(indicador) +\r\n            '<\/td>';\r\n\r\n          html +=\r\n            '<td class=\"ti-tipo\">' +\r\n            escapeHTML(idxTipo !== null ? cell(row, idxTipo) : \"INDICE\") +\r\n            '<\/td>';\r\n\r\n          html +=\r\n            '<td class=\"ti-exposicion\" title=\"' +\r\n            escapeHTML(expo) +\r\n            '\">' +\r\n            escapeHTML(expo) +\r\n            '<\/td>';\r\n\r\n          html +=\r\n            '<td class=\"ti-sesion\">' +\r\n            escapeHTML(idxSesion !== null ? cell(row, idxSesion) : \"\") +\r\n            '<\/td>';\r\n\r\n          html +=\r\n            '<td class=\"ti-dir ' +\r\n            dirClass(dir) +\r\n            '\">' +\r\n            escapeHTML(dir) +\r\n            '<\/td>';\r\n\r\n          html +=\r\n            '<td class=\"ti-base\">' +\r\n            escapeHTML(idxBase !== null ? cell(row, idxBase) : \"\") +\r\n            '<\/td>';\r\n\r\n          html +=\r\n            '<td class=\"ti-actual\">' +\r\n            escapeHTML(idxActual !== null ? cell(row, idxActual) : \"\") +\r\n            '<\/td>';\r\n\r\n          html +=\r\n            '<td class=\"ti-var ' +\r\n            varClass(variacion) +\r\n            '\">' +\r\n            escapeHTML(variacion) +\r\n            '<\/td>';\r\n\r\n          html += '<\/tr>';\r\n        });\r\n\r\n        html += '<\/tbody>';\r\n        html += '<\/table>';\r\n        html += '<\/div>';\r\n\r\n        area.innerHTML = html;\r\n      }\r\n\r\n      function renderError(error) {\r\n        updated.textContent = \"Fecha y hora corrida: sin actualizaci\u00f3n\";\r\n        count.innerHTML = \"Filtro tabla\/web: <strong>\u00cdNDICE<\/strong>\";\r\n\r\n        area.innerHTML =\r\n          '<div class=\"ti-error\">' +\r\n          '<strong>No fue posible cargar la tabla.<\/strong><br>' +\r\n          escapeHTML(error.message || error) +\r\n          '<\/div>';\r\n      }\r\n\r\n      const qs = new URLSearchParams(window.location.search);\r\n\r\n      const url =\r\n        ENDPOINT +\r\n        (qs.get(\"refresh\") === \"1\" ? \"?refresh=1&_=\" : \"?_=\") +\r\n        Date.now();\r\n\r\n      fetch(url, {\r\n        method: \"GET\",\r\n        credentials: \"same-origin\",\r\n        cache: \"no-store\"\r\n      })\r\n        .then(function (response) {\r\n          if (!response.ok) throw new Error(\"HTTP \" + response.status);\r\n          return response.json();\r\n        })\r\n        .then(render)\r\n        .catch(renderError);\r\n    })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-458c663 elementor-widget__width-initial elementor-widget elementor-widget-html\" data-id=\"458c663\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\r\n     TASANDO.COM | CTA SIMPLE MERCADOS & NOTICIAS\r\n     Uso sugerido: insertar despu\u00e9s de la galer\u00eda RSS\r\n     ========================================================= -->\r\n\r\n<section id=\"tasando-mercados-cta-simple\">\r\n  <style>\r\n    #tasando-mercados-cta-simple {\r\n      --tm-max: 1180px;\r\n      --tm-blue: #102a54;\r\n      --tm-green: #2f9e44;\r\n      --tm-green-soft: #e9f7ee;\r\n      --tm-text: #102033;\r\n      --tm-muted: #556273;\r\n      --tm-border: rgba(15, 23, 42, 0.10);\r\n      --tm-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);\r\n\r\n      width: min(var(--tm-max), calc(100vw - 40px));\r\n      margin: 28px auto;\r\n      font-family: Arial, Helvetica, sans-serif;\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-mercados-cta-simple,\r\n    #tasando-mercados-cta-simple * {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-mercados-cta-simple .tm-cta-box {\r\n      display: grid;\r\n      grid-template-columns: minmax(0, 1fr) auto;\r\n      gap: 22px;\r\n      align-items: center;\r\n\r\n      border-radius: 22px;\r\n      padding: 24px;\r\n\r\n      background:\r\n        radial-gradient(circle at 12% 20%, rgba(47, 158, 68, 0.18) 0%, transparent 32%),\r\n        linear-gradient(135deg, #eef6e8 0%, #f8fafc 58%, #eef4ff 100%);\r\n\r\n      border: 1px solid var(--tm-border);\r\n      box-shadow: var(--tm-shadow);\r\n    }\r\n\r\n    #tasando-mercados-cta-simple h3 {\r\n      margin: 0;\r\n      color: var(--tm-text);\r\n      font-size: clamp(22px, 2.2vw, 30px);\r\n      line-height: 1.15;\r\n      font-weight: 900;\r\n      letter-spacing: -0.4px;\r\n      max-width: 820px;\r\n    }\r\n\r\n    #tasando-mercados-cta-simple p {\r\n      margin: 9px 0 0 0;\r\n      color: var(--tm-muted);\r\n      font-size: 14px;\r\n      line-height: 1.55;\r\n      max-width: 880px;\r\n    }\r\n\r\n    #tasando-mercados-cta-simple .tm-btn {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      min-width: 220px;\r\n\r\n      border-radius: 12px;\r\n      padding: 14px 18px;\r\n\r\n      background: var(--tm-green);\r\n      color: #ffffff !important;\r\n      text-decoration: none !important;\r\n\r\n      font-size: 14px;\r\n      font-weight: 900;\r\n      box-shadow: 0 10px 24px rgba(47, 158, 68, 0.28);\r\n\r\n      transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;\r\n    }\r\n\r\n    #tasando-mercados-cta-simple .tm-btn:hover {\r\n      transform: translateY(-1px);\r\n      opacity: 0.96;\r\n      box-shadow: 0 14px 28px rgba(47, 158, 68, 0.34);\r\n    }\r\n\r\n    #tasando-mercados-cta-simple .tm-disclaimer {\r\n      margin-top: 12px;\r\n      color: #6b7788;\r\n      font-size: 11.5px;\r\n      line-height: 1.45;\r\n      text-align: center;\r\n    }\r\n\r\n    @media (max-width: 900px) {\r\n      #tasando-mercados-cta-simple .tm-cta-box {\r\n        grid-template-columns: 1fr;\r\n        gap: 16px;\r\n      }\r\n\r\n      #tasando-mercados-cta-simple .tm-btn {\r\n        width: fit-content;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 640px) {\r\n      #tasando-mercados-cta-simple {\r\n        width: calc(100vw - 24px);\r\n        margin: 22px auto;\r\n      }\r\n\r\n      #tasando-mercados-cta-simple .tm-cta-box {\r\n        padding: 18px;\r\n        border-radius: 18px;\r\n      }\r\n\r\n      #tasando-mercados-cta-simple h3 {\r\n        font-size: 22px;\r\n      }\r\n\r\n      #tasando-mercados-cta-simple p {\r\n        font-size: 13.2px;\r\n      }\r\n\r\n      #tasando-mercados-cta-simple .tm-btn {\r\n        width: 100%;\r\n        min-width: 0;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"tm-cta-box\">\r\n    <div>\r\n      <h3>\r\n        \u00bfQuieres una lectura m\u00e1s profunda de mercados financieros, fondos o matrices comparativas?\r\n      <\/h3>\r\n\r\n      <p>\r\n        Tasando.com puede apoyar el an\u00e1lisis de instrumentos, interpretaci\u00f3n de se\u00f1ales,\r\n        comparaci\u00f3n de fondos, lectura de riesgo y construcci\u00f3n de insumos para decisiones\r\n        de inversi\u00f3n y gesti\u00f3n patrimonial.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <a class=\"tm-btn\" href=\"https:\/\/tasando.com\/propiedades\/contacto\/\" target=\"_self\">\r\n      Contactar a Tasando.com \u2192\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <div class=\"tm-disclaimer\">\r\n    Contenido informativo y educativo. No constituye recomendaci\u00f3n personalizada de inversi\u00f3n.\r\n    Toda decisi\u00f3n debe considerar objetivos, horizonte, tolerancia al riesgo y situaci\u00f3n financiera de cada usuario.\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f309903 elementor-widget elementor-widget-html\" data-id=\"f309903\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\r\n     FOOTER TASANDO CUSTOM - GRILLA 6 CELDAS\r\n     - Im\u00e1genes sin enlaces\r\n     - Iconos sociales con enlaces reales\r\n     - Dise\u00f1ado para pegar en Elementor como widget HTML\r\n     - Grilla institucional de 6 celdas\r\n     - 5 logos cargados + 1 celda pendiente para nuevo logo\r\n     ========================================================= -->\r\n<section id=\"tasando-footer-custom\" aria-label=\"Footer Tasando\">\r\n  <style>\r\n    \/* =========================================================\r\n       CORRECCI\u00d3N PARA ELEMENTOR\r\n       Fuerza que el widget HTML que contiene este footer no quede\r\n       con ancho personalizado ni desplazado.\r\n       ========================================================= *\/\r\n    body .elementor-widget-html:has(#tasando-footer-custom),\r\n    body .elementor-widget-html:has(#tasando-footer-custom) > .elementor-widget-container {\r\n      width: 100% !important;\r\n      max-width: 100% !important;\r\n      min-width: 0 !important;\r\n      margin-left: auto !important;\r\n      margin-right: auto !important;\r\n      padding-left: 0 !important;\r\n      padding-right: 0 !important;\r\n      left: auto !important;\r\n      right: auto !important;\r\n      transform: none !important;\r\n      align-self: stretch !important;\r\n      overflow: visible !important;\r\n    }\r\n\r\n    #tasando-footer-custom {\r\n      --tf-blue: #102a54;\r\n      --tf-blue-2: #1f3763;\r\n      --tf-green: #69be28;\r\n      --tf-text: #ffffff;\r\n      --tf-muted: rgba(255, 255, 255, 0.86);\r\n      --tf-line: rgba(255, 255, 255, 0.16);\r\n      --tf-card: rgba(255, 255, 255, 0.97);\r\n      --tf-shadow: 0 18px 42px rgba(0, 0, 0, 0.18);\r\n\r\n      display: block;\r\n      width: min(1180px, calc(100vw - 48px)) !important;\r\n      max-width: none !important;\r\n      margin: 48px auto 0 auto !important;\r\n      padding: 0;\r\n      font-family: Arial, Helvetica, sans-serif;\r\n      color: var(--tf-text);\r\n      box-sizing: border-box;\r\n      clear: both;\r\n      overflow: visible;\r\n      position: relative;\r\n      left: auto;\r\n      right: auto;\r\n      transform: none;\r\n    }\r\n\r\n    #tasando-footer-custom * {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-wrap {\r\n      width: 100%;\r\n      margin: 0 auto;\r\n      padding: 46px 28px 26px 28px;\r\n      border-radius: 0;\r\n      background:\r\n        radial-gradient(circle at 12% 18%, rgba(105, 190, 40, 0.14), transparent 26%),\r\n        radial-gradient(circle at 82% 22%, rgba(255, 255, 255, 0.08), transparent 24%),\r\n        linear-gradient(135deg, rgba(16, 42, 84, 0.98), rgba(31, 55, 99, 0.96));\r\n      overflow: hidden;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-container {\r\n      width: 100%;\r\n      max-width: 1120px;\r\n      margin: 0 auto;\r\n      padding: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-main {\r\n      display: grid;\r\n      grid-template-columns: minmax(260px, 0.78fr) minmax(0, 2.22fr);\r\n      gap: 30px;\r\n      align-items: stretch;\r\n      width: 100%;\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-info {\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-info h3 {\r\n      margin: 0 0 12px 0;\r\n      color: #ffffff;\r\n      font-size: clamp(22px, 2vw, 30px);\r\n      line-height: 1.12;\r\n      letter-spacing: -0.3px;\r\n      font-weight: 950;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-info p {\r\n      margin: 0 0 20px 0;\r\n      color: var(--tf-muted);\r\n      font-size: 15px;\r\n      line-height: 1.65;\r\n      max-width: 410px;\r\n      font-weight: 600;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-phone {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      width: max-content;\r\n      color: #ffffff;\r\n      font-size: 17px;\r\n      line-height: 1.1;\r\n      font-weight: 950;\r\n      text-decoration: none;\r\n      transition: color 0.18s ease;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-phone:hover {\r\n      color: var(--tf-green);\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logos {\r\n      display: grid;\r\n      grid-template-columns: repeat(3, minmax(0, 1fr));\r\n      gap: 16px;\r\n      align-items: stretch;\r\n      width: 100%;\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card {\r\n      width: 100%;\r\n      min-width: 0;\r\n      min-height: 138px;\r\n      padding: 16px;\r\n      border-radius: 18px;\r\n      background: var(--tf-card);\r\n      border: 1px solid rgba(255, 255, 255, 0.75);\r\n      box-shadow: var(--tf-shadow);\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      overflow: hidden;\r\n      cursor: default;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card img {\r\n      display: block;\r\n      width: auto;\r\n      max-width: 100%;\r\n      height: auto;\r\n      object-fit: contain;\r\n      border-radius: 10px;\r\n      pointer-events: none;\r\n      user-select: none;\r\n      -webkit-user-drag: none;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-usm img {\r\n      max-height: 94px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-ifrs img {\r\n      max-height: 78px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-inn img {\r\n      max-height: 88px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-uc img {\r\n      max-height: 92px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-pucv img {\r\n      max-height: 96px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-pending {\r\n      background:\r\n        linear-gradient(135deg, rgba(255,255,255,0.92), rgba(237,246,232,0.96));\r\n      border: 1px dashed rgba(16, 42, 84, 0.28);\r\n      color: var(--tf-blue);\r\n      text-align: center;\r\n      padding: 18px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-pending-text {\r\n      display: block;\r\n      font-size: 13px;\r\n      line-height: 1.25;\r\n      font-weight: 950;\r\n      letter-spacing: -0.1px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-pending-sub {\r\n      display: block;\r\n      margin-top: 5px;\r\n      font-size: 11px;\r\n      line-height: 1.25;\r\n      font-weight: 800;\r\n      color: rgba(16, 42, 84, 0.68);\r\n    }\r\n\r\n    #tasando-footer-custom .tf-bottom {\r\n      margin-top: 34px;\r\n      padding-top: 22px;\r\n      border-top: 1px solid var(--tf-line);\r\n      display: grid;\r\n      grid-template-columns: 1fr auto;\r\n      gap: 22px;\r\n      align-items: center;\r\n      width: 100%;\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-copy {\r\n      color: rgba(255, 255, 255, 0.92);\r\n      font-size: 14px;\r\n      line-height: 1.45;\r\n      font-weight: 600;\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-copy a {\r\n      color: var(--tf-green);\r\n      font-weight: 950;\r\n      text-decoration: none;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-copy a:hover {\r\n      text-decoration: underline;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-social {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: flex-end;\r\n      gap: 14px;\r\n      flex-wrap: wrap;\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-social a {\r\n      width: 30px;\r\n      height: 30px;\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      border-radius: 999px;\r\n      text-decoration: none;\r\n      transition: transform 0.18s ease, background 0.18s ease;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-social a:hover {\r\n      transform: translateY(-2px);\r\n      background: rgba(255, 255, 255, 0.12);\r\n    }\r\n\r\n    #tasando-footer-custom .tf-social svg {\r\n      width: 18px;\r\n      height: 18px;\r\n      display: block;\r\n      fill: currentColor;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-facebook { color: #1877f2; }\r\n    #tasando-footer-custom .tf-whatsapp { color: #25d366; }\r\n    #tasando-footer-custom .tf-linkedin { color: #0a66c2; }\r\n    #tasando-footer-custom .tf-instagram { color: #e4405f; }\r\n    #tasando-footer-custom .tf-youtube { color: #ff0000; }\r\n\r\n    @media (max-width: 980px) {\r\n      #tasando-footer-custom {\r\n        width: calc(100vw - 32px) !important;\r\n        margin-top: 38px !important;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-wrap {\r\n        padding: 38px 22px 26px 22px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-main {\r\n        grid-template-columns: 1fr;\r\n        gap: 28px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-info p {\r\n        max-width: 100%;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-logos {\r\n        grid-template-columns: repeat(3, minmax(0, 1fr));\r\n      }\r\n\r\n      #tasando-footer-custom .tf-logo-card {\r\n        min-height: 132px;\r\n        padding: 15px;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 720px) {\r\n      #tasando-footer-custom {\r\n        width: calc(100vw - 24px) !important;\r\n        margin-top: 34px !important;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-wrap {\r\n        padding: 34px 18px 24px 18px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-logos {\r\n        grid-template-columns: 1fr;\r\n        gap: 14px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-logo-card {\r\n        min-height: 138px;\r\n        padding: 18px;\r\n        border-radius: 18px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-logo-card-usm img,\r\n      #tasando-footer-custom .tf-logo-card-ifrs img,\r\n      #tasando-footer-custom .tf-logo-card-inn img,\r\n      #tasando-footer-custom .tf-logo-card-uc img,\r\n      #tasando-footer-custom .tf-logo-card-pucv img {\r\n        max-height: 92px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-bottom {\r\n        grid-template-columns: 1fr;\r\n        gap: 16px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-social {\r\n        justify-content: flex-start;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"tf-wrap\">\r\n    <div class=\"tf-container\">\r\n\r\n      <div class=\"tf-main\">\r\n        <div class=\"tf-info\">\r\n          <h3>Est\u00e1ndares Nacionales e Internacionales<\/h3>\r\n          <p>\r\n            Tasaciones y an\u00e1lisis t\u00e9cnicos con enfoque profesional, respaldo metodol\u00f3gico\r\n            y criterios consistentes para distintos tipos de activos y encargos.\r\n          <\/p>\r\n          <a class=\"tf-phone\" href=\"tel:+56997878034\">+56 99 7878 034<\/a>\r\n        <\/div>\r\n\r\n        <div class=\"tf-logos\" aria-label=\"Referencias t\u00e9cnicas y est\u00e1ndares profesionales\">\r\n          <div class=\"tf-logo-card tf-logo-card-usm\">\r\n            <img\r\n              src=\"https:\/\/portalusm.helen.cl\/img\/logo_usm.png\"\r\n              alt=\"Universidad T\u00e9cnica Federico Santa Mar\u00eda\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n\r\n          <div class=\"tf-logo-card tf-logo-card-uc\">\r\n            <img\r\n              src=\"https:\/\/co-lab-research.net\/wp-content\/uploads\/2018\/03\/logo-puc-chile.jpg?w=620\"\r\n              alt=\"Pontificia Universidad Cat\u00f3lica de Chile\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n\r\n          <div class=\"tf-logo-card tf-logo-card-pucv\">\r\n            <img\r\n              src=\"https:\/\/www.pucv.cl\/uuaa\/site\/artic\/20160808\/imag\/foto_0000000120160808123016.png\"\r\n              alt=\"Pontificia Universidad Cat\u00f3lica de Valpara\u00edso\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n\r\n          <div class=\"tf-logo-card tf-logo-card-ifrs\">\r\n            <img\r\n              src=\"https:\/\/pmpartners.es\/wp-content\/uploads\/2024\/04\/international-financial-reporting-standards-ifrs-foundation-vector-logo-removebg-preview.png\"\r\n              alt=\"IFRS - International Financial Reporting Standards\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n\r\n          <div class=\"tf-logo-card tf-logo-card-inn\">\r\n            <img\r\n              src=\"https:\/\/managementsystems.world\/media\/images\/logos\/instituto_nacional_de_normalizacion_inn\"\r\n              alt=\"Instituto Nacional de Normalizaci\u00f3n\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n\r\n           <div class=\"tf-logo-card tf-logo-card-inn\">\r\n            <img\r\n              src=\"https:\/\/q-bo.org\/wp-content\/uploads\/logo-normas-iso-1000x828.png\"\r\n              alt=\"Logo ISO\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"tf-bottom\">\r\n        <div class=\"tf-copy\">\r\n          Copyright \u00a9 2026 Tasando.com - Powered by\r\n          <a href=\"https:\/\/www.superchat.cl\" target=\"_blank\" rel=\"noopener\">www.superchat.cl<\/a>\r\n        <\/div>\r\n\r\n        <nav class=\"tf-social\" aria-label=\"Redes sociales Tasando\">\r\n          <a class=\"tf-facebook\" href=\"https:\/\/www.facebook.com\/profile.php?id=100084838899398\" target=\"_blank\" rel=\"noopener\" aria-label=\"Facebook Tasando\">\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M14 8.5V6.9c0-.8.2-1.3 1.3-1.3H17V2.2c-.8-.1-1.7-.2-2.6-.2-2.7 0-4.6 1.7-4.6 4.7v1.8H6.8V12h3v10H14V12h2.9l.5-3.5H14z\"\/>\r\n            <\/svg>\r\n          <\/a>\r\n\r\n          <a class=\"tf-whatsapp\" href=\"https:\/\/api.whatsapp.com\/send?phone=56997878034\" target=\"_blank\" rel=\"noopener\" aria-label=\"WhatsApp Tasando\">\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M20.5 3.5A11.8 11.8 0 0 0 12.1 0C5.6 0 .3 5.3.3 11.8c0 2.1.5 4.1 1.6 5.9L0 24l6.5-1.7a11.8 11.8 0 0 0 5.6 1.4h.1c6.5 0 11.8-5.3 11.8-11.8 0-3.2-1.2-6.1-3.5-8.4zm-8.4 18.2c-1.8 0-3.5-.5-5-1.4l-.4-.2-3.9 1 1-3.8-.2-.4a9.8 9.8 0 0 1-1.5-5.2c0-5.4 4.4-9.8 9.9-9.8 2.6 0 5.1 1 7 2.9a9.8 9.8 0 0 1 2.9 7c.1 5.5-4.3 9.9-9.8 9.9zm5.4-7.4c-.3-.1-1.8-.9-2.1-1-.3-.1-.5-.1-.7.1-.2.3-.8 1-.9 1.2-.2.2-.3.2-.6.1-.3-.1-1.2-.4-2.3-1.4-.9-.8-1.4-1.7-1.6-2-.2-.3 0-.5.1-.6l.5-.6c.2-.2.2-.3.3-.5.1-.2.1-.4 0-.6-.1-.1-.7-1.7-1-2.3-.3-.6-.5-.5-.7-.5h-.6c-.2 0-.6.1-.9.4-.3.3-1.2 1.2-1.2 2.9s1.3 3.4 1.5 3.6c.2.2 2.5 3.8 6 5.3.8.4 1.5.6 2 .7.8.3 1.6.2 2.2.1.7-.1 1.8-.7 2.1-1.4.3-.7.3-1.3.2-1.4-.1-.2-.3-.3-.6-.4z\"\/>\r\n            <\/svg>\r\n          <\/a>\r\n\r\n          <a class=\"tf-linkedin\" href=\"https:\/\/www.linkedin.com\/company\/101137461\" target=\"_blank\" rel=\"noopener\" aria-label=\"LinkedIn Tasando\">\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M4.98 3.5C4.98 4.88 3.86 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1s2.48 1.12 2.48 2.5zM.3 8h4.4v15H.3V8zm7.1 0h4.2v2.1h.1c.6-1.1 2.1-2.4 4.3-2.4 4.6 0 5.4 3 5.4 6.9V23H17v-7.4c0-1.8 0-4-2.5-4s-2.9 1.9-2.9 3.9V23H7.4V8z\"\/>\r\n            <\/svg>\r\n          <\/a>\r\n\r\n          <a class=\"tf-instagram\" href=\"https:\/\/www.instagram.com\/tasando_com\/\" target=\"_blank\" rel=\"noopener\" aria-label=\"Instagram Tasando\">\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M7.5 2h9A5.5 5.5 0 0 1 22 7.5v9a5.5 5.5 0 0 1-5.5 5.5h-9A5.5 5.5 0 0 1 2 16.5v-9A5.5 5.5 0 0 1 7.5 2zm0 2A3.5 3.5 0 0 0 4 7.5v9A3.5 3.5 0 0 0 7.5 20h9a3.5 3.5 0 0 0 3.5-3.5v-9A3.5 3.5 0 0 0 16.5 4h-9zM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6zm5.3-2.2a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4z\"\/>\r\n            <\/svg>\r\n          <\/a>\r\n\r\n          <a class=\"tf-youtube\" href=\"https:\/\/www.youtube.com\/@TASANDO_COM\" target=\"_blank\" rel=\"noopener\" aria-label=\"YouTube Tasando\">\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M23.5 6.2s-.2-1.7-.9-2.4c-.9-.9-1.9-.9-2.4-1C16.8 2.5 12 2.5 12 2.5h0s-4.8 0-8.2.3c-.5.1-1.5.1-2.4 1C.7 4.5.5 6.2.5 6.2S.2 8.2.2 10.2v1.9c0 2 .3 4 .3 4s.2 1.7.9 2.4c.9.9 2.1.9 2.6 1 1.9.2 8 .3 8 .3s4.8 0 8.2-.3c.5-.1 1.5-.1 2.4-1 .7-.7.9-2.4.9-2.4s.3-2 .3-4v-1.9c0-2-.3-4-.3-4zM9.7 14.5v-7l6.3 3.5-6.3 3.5z\"\/>\r\n            <\/svg>\r\n          <\/a>\r\n        <\/nav>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Editorial Tasando.com Lectura diaria de mercados D\u00eda de lectura cargando&#8230; Hora Chile cargando&#8230; Lectura relativa cargando&#8230; Cargando ranking general&#8230; Metodolog\u00eda de lectura C\u00f3mo se calcula la se\u00f1al por familia Cada porcentaje resume una lectura t\u00e1ctica de mercado por bloque regional. No corresponde necesariamente al retorno de un solo \u00edndice, sino a una se\u00f1al agregada construida [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-12661","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mercados Internacionales - Tasando.com<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mercados Internacionales - Tasando.com\" \/>\n<meta property=\"og:description\" content=\"Editorial Tasando.com Lectura diaria de mercados D\u00eda de lectura cargando&#8230; Hora Chile cargando&#8230; Lectura relativa cargando&#8230; Cargando ranking general&#8230; Metodolog\u00eda de lectura C\u00f3mo se calcula la se\u00f1al por familia Cada porcentaje resume una lectura t\u00e1ctica de mercado por bloque regional. No corresponde necesariamente al retorno de un solo \u00edndice, sino a una se\u00f1al agregada construida [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/\" \/>\n<meta property=\"og:site_name\" content=\"Tasaciones\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-31T13:27:12+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo estimado de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/mercados-internacionales\\\/\",\"url\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/mercados-internacionales\\\/\",\"name\":\"Mercados Internacionales - Tasando.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#website\"},\"datePublished\":\"2025-12-23T14:55:40+00:00\",\"dateModified\":\"2026-08-31T13:27:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/mercados-internacionales\\\/#breadcrumb\"},\"inLanguage\":\"es-CL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tasando.com\\\/propiedades\\\/mercados-internacionales\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/mercados-internacionales\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mercados Internacionales\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#website\",\"url\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/\",\"name\":\"Tasando.com\",\"description\":\"Bienes Ra\u00edces y Activos\",\"publisher\":{\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#organization\"},\"alternateName\":\"Tasando\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es-CL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#organization\",\"name\":\"Tasando.com\",\"alternateName\":\"Tasando\",\"url\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-CL\",\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/logo_tasando.jpeg\",\"contentUrl\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/logo_tasando.jpeg\",\"width\":248,\"height\":133,\"caption\":\"Tasando.com\"},\"image\":{\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mercados Internacionales - Tasando.com","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/","og_locale":"es_ES","og_type":"article","og_title":"Mercados Internacionales - Tasando.com","og_description":"Editorial Tasando.com Lectura diaria de mercados D\u00eda de lectura cargando&#8230; Hora Chile cargando&#8230; Lectura relativa cargando&#8230; Cargando ranking general&#8230; Metodolog\u00eda de lectura C\u00f3mo se calcula la se\u00f1al por familia Cada porcentaje resume una lectura t\u00e1ctica de mercado por bloque regional. No corresponde necesariamente al retorno de un solo \u00edndice, sino a una se\u00f1al agregada construida [&hellip;]","og_url":"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/","og_site_name":"Tasaciones","article_modified_time":"2026-08-31T13:27:12+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tiempo estimado de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/","url":"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/","name":"Mercados Internacionales - Tasando.com","isPartOf":{"@id":"https:\/\/tasando.com\/propiedades\/#website"},"datePublished":"2025-12-23T14:55:40+00:00","dateModified":"2026-08-31T13:27:12+00:00","breadcrumb":{"@id":"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/#breadcrumb"},"inLanguage":"es-CL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tasando.com\/propiedades\/mercados-internacionales\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/tasando.com\/propiedades\/"},{"@type":"ListItem","position":2,"name":"Mercados Internacionales"}]},{"@type":"WebSite","@id":"https:\/\/tasando.com\/propiedades\/#website","url":"https:\/\/tasando.com\/propiedades\/","name":"Tasando.com","description":"Bienes Ra\u00edces y Activos","publisher":{"@id":"https:\/\/tasando.com\/propiedades\/#organization"},"alternateName":"Tasando","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tasando.com\/propiedades\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es-CL"},{"@type":"Organization","@id":"https:\/\/tasando.com\/propiedades\/#organization","name":"Tasando.com","alternateName":"Tasando","url":"https:\/\/tasando.com\/propiedades\/","logo":{"@type":"ImageObject","inLanguage":"es-CL","@id":"https:\/\/tasando.com\/propiedades\/#\/schema\/logo\/image\/","url":"https:\/\/tasando.com\/propiedades\/wp-content\/uploads\/2024\/05\/logo_tasando.jpeg","contentUrl":"https:\/\/tasando.com\/propiedades\/wp-content\/uploads\/2024\/05\/logo_tasando.jpeg","width":248,"height":133,"caption":"Tasando.com"},"image":{"@id":"https:\/\/tasando.com\/propiedades\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/pages\/12661","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/comments?post=12661"}],"version-history":[{"count":370,"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/pages\/12661\/revisions"}],"predecessor-version":[{"id":15483,"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/pages\/12661\/revisions\/15483"}],"wp:attachment":[{"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/media?parent=12661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}