{"id":5917,"date":"2024-03-13T21:54:00","date_gmt":"2024-03-14T02:54:00","guid":{"rendered":"https:\/\/inversionesguru.com\/co\/?post_type=herramientas&#038;p=5917"},"modified":"2026-08-10T19:48:24","modified_gmt":"2026-08-11T00:48:24","slug":"calculadora-4-x-1000-colombia","status":"publish","type":"herramientas","link":"https:\/\/inversionesguru.com\/co\/herramientas\/calculadora-4-x-1000-colombia\/","title":{"rendered":"Calculadora 4 x 1000 Colombia"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"5917\" class=\"elementor elementor-5917\" data-elementor-post-type=\"herramientas\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9614e8f e-con-full e-flex e-con e-parent\" data-id=\"9614e8f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d7a4fa5 elementor-widget elementor-widget-html\" data-id=\"d7a4fa5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n  #ig-gmf-calculator {\r\n    --ig-ink: #16352f;\r\n    --ig-ink-2: #254940;\r\n    --ig-muted: #5f736d;\r\n    --ig-bg: #f4fbf8;\r\n    --ig-bg-warm: #fff7f2;\r\n    --ig-card: #ffffff;\r\n    --ig-line: #d8e5e0;\r\n    --ig-line-strong: #b8d1c8;\r\n    --ig-green: #0f9f7a;\r\n    --ig-green-dark: #08755d;\r\n    --ig-green-soft: #e4f8f1;\r\n    --ig-coral: #eb6547;\r\n    --ig-coral-dark: #c84e33;\r\n    --ig-coral-soft: #fff0eb;\r\n    --ig-amber: #a96800;\r\n    --ig-amber-soft: #fff7df;\r\n    --ig-danger: #b42318;\r\n    --ig-danger-soft: #fff0ee;\r\n    --ig-shadow: 0 18px 44px rgba(22, 53, 47, 0.10);\r\n    --ig-shadow-soft: 0 10px 26px rgba(22, 53, 47, 0.07);\r\n    --ig-radius-xl: 24px;\r\n    --ig-radius-lg: 18px;\r\n    --ig-radius-md: 14px;\r\n    width: 100%;\r\n    overflow: hidden;\r\n    color: var(--ig-ink);\r\n    background: var(--ig-bg);\r\n    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\r\n    line-height: 1.5;\r\n    -webkit-font-smoothing: antialiased;\r\n    text-rendering: optimizeLegibility;\r\n  }\r\n\r\n  #ig-gmf-calculator,\r\n  #ig-gmf-calculator *,\r\n  #ig-gmf-calculator *::before,\r\n  #ig-gmf-calculator *::after { box-sizing: border-box; }\r\n\r\n  #ig-gmf-calculator :where(h2,h3,h4,p,ul,li) { margin: 0; padding: 0; }\r\n  #ig-gmf-calculator :where(button,input,select,a) { font: inherit; -webkit-tap-highlight-color: transparent; }\r\n  #ig-gmf-calculator button { appearance: none; }\r\n  #ig-gmf-calculator a { color: var(--ig-green-dark); font-weight: 800; text-underline-offset: 3px; }\r\n  #ig-gmf-calculator [hidden] { display: none !important; }\r\n\r\n  #ig-gmf-calculator .ig-wrap {\r\n    width: min(1120px, calc(100% - 28px));\r\n    margin: 0 auto;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-section { padding: 42px 0; }\r\n  #ig-gmf-calculator .ig-section + .ig-section { border-top: 1px solid rgba(22,53,47,.06); }\r\n  #ig-gmf-calculator .ig-white { background: #fff; }\r\n  #ig-gmf-calculator .ig-warm { background: var(--ig-bg-warm); }\r\n\r\n  #ig-gmf-calculator .ig-eyebrow {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 7px;\r\n    min-height: 30px;\r\n    padding: 5px 10px;\r\n    border: 1px solid #b9e4d7;\r\n    border-radius: 999px;\r\n    color: var(--ig-green-dark);\r\n    background: #f5fffb;\r\n    font-size: 12px;\r\n    font-weight: 900;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-hero {\r\n    padding: 48px 0 28px;\r\n    text-align: center;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-hero h2 {\r\n    max-width: 800px;\r\n    margin: 14px auto 0;\r\n    color: var(--ig-ink);\r\n    font-size: clamp(34px, 5vw, 58px);\r\n    line-height: 1.02;\r\n    letter-spacing: -0.045em;\r\n    font-weight: 950;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-hero h2 span { color: var(--ig-coral-dark); }\r\n\r\n  #ig-gmf-calculator .ig-hero-copy {\r\n    max-width: 720px;\r\n    margin: 16px auto 0;\r\n    color: var(--ig-muted);\r\n    font-size: 17px;\r\n    line-height: 1.7;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-quick-shell {\r\n    max-width: 920px;\r\n    margin: 28px auto 0;\r\n    padding: 12px;\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: var(--ig-radius-xl);\r\n    background: #fff;\r\n    box-shadow: var(--ig-shadow);\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-quick-grid {\r\n    display: grid;\r\n    grid-template-columns: minmax(0, 1.05fr) minmax(310px, .75fr);\r\n    gap: 12px;\r\n    text-align: left;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-input-zone {\r\n    padding: 24px;\r\n    border-radius: 18px;\r\n    background: #fff;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-label {\r\n    display: block;\r\n    margin-bottom: 8px;\r\n    color: var(--ig-ink);\r\n    font-size: 14px;\r\n    font-weight: 900;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-money-input {\r\n    width: 100%;\r\n    min-height: 64px;\r\n    padding: 14px 16px;\r\n    border: 2px solid var(--ig-line);\r\n    border-radius: var(--ig-radius-md);\r\n    outline: none;\r\n    background: #fff;\r\n    color: var(--ig-ink);\r\n    font-size: clamp(22px, 4vw, 30px);\r\n    font-weight: 900;\r\n    font-variant-numeric: tabular-nums;\r\n    transition: border-color 160ms ease, box-shadow 160ms ease;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-money-input:focus {\r\n    border-color: var(--ig-green);\r\n    box-shadow: 0 0 0 4px rgba(15,159,122,.12);\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-help {\r\n    margin-top: 8px;\r\n    color: var(--ig-muted);\r\n    font-size: 12px;\r\n    line-height: 1.5;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-examples {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    gap: 8px;\r\n    margin-top: 14px;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-example {\r\n    min-height: 38px;\r\n    padding: 7px 11px;\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: 999px;\r\n    background: #fff;\r\n    color: var(--ig-ink-2);\r\n    cursor: pointer;\r\n    font-size: 12px;\r\n    font-weight: 850;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-example:hover,\r\n  #ig-gmf-calculator .ig-example:focus-visible {\r\n    border-color: var(--ig-green);\r\n    outline: none;\r\n    color: var(--ig-green-dark);\r\n    background: var(--ig-green-soft);\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-answer {\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: center;\r\n    min-width: 0;\r\n    padding: 24px;\r\n    border-radius: 18px;\r\n    background:\r\n      radial-gradient(circle at 92% 8%, rgba(235,101,71,.22), transparent 35%),\r\n      var(--ig-ink);\r\n    color: #fff;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-answer-label {\r\n    color: #bfeadd;\r\n    font-size: 12px;\r\n    font-weight: 900;\r\n    letter-spacing: .06em;\r\n    text-transform: uppercase;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-answer-value {\r\n    display: block;\r\n    margin-top: 7px;\r\n    color: #fff;\r\n    font-size: clamp(38px, 7vw, 58px);\r\n    line-height: 1;\r\n    letter-spacing: -0.04em;\r\n    font-weight: 950;\r\n    font-variant-numeric: tabular-nums;\r\n    white-space: nowrap;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-answer-copy {\r\n    margin-top: 11px;\r\n    color: rgba(255,255,255,.78);\r\n    font-size: 13px;\r\n    line-height: 1.55;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-answer-mini {\r\n    display: grid;\r\n    grid-template-columns: 1fr 1fr;\r\n    gap: 8px;\r\n    margin-top: 15px;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-answer-mini > div {\r\n    min-width: 0;\r\n    padding: 10px;\r\n    border: 1px solid rgba(255,255,255,.14);\r\n    border-radius: 12px;\r\n    background: rgba(255,255,255,.07);\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-answer-mini span {\r\n    display: block;\r\n    color: rgba(255,255,255,.65);\r\n    font-size: 10px;\r\n    font-weight: 850;\r\n    text-transform: uppercase;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-answer-mini strong {\r\n    display: block;\r\n    margin-top: 4px;\r\n    color: #fff;\r\n    font-size: 14px;\r\n    line-height: 1.2;\r\n    font-weight: 900;\r\n    font-variant-numeric: tabular-nums;\r\n    white-space: nowrap;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-primary-note {\r\n    max-width: 920px;\r\n    margin: 12px auto 0;\r\n    color: var(--ig-muted);\r\n    font-size: 12px;\r\n    line-height: 1.55;\r\n    text-align: left;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-main-actions {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    justify-content: center;\r\n    gap: 9px;\r\n    max-width: 920px;\r\n    margin: 14px auto 0;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-btn {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    gap: 8px;\r\n    min-height: 48px;\r\n    padding: 11px 16px;\r\n    border: 1px solid transparent;\r\n    border-radius: 12px;\r\n    cursor: pointer;\r\n    background: var(--ig-ink);\r\n    color: #fff;\r\n    font-size: 13px;\r\n    font-weight: 900;\r\n    text-decoration: none;\r\n    transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease, opacity 160ms ease;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-btn:hover:not(:disabled) { transform: translateY(-1px); background: var(--ig-green-dark); }\r\n  #ig-gmf-calculator .ig-btn:focus-visible { outline: 3px solid rgba(15,159,122,.22); outline-offset: 2px; }\r\n  #ig-gmf-calculator .ig-btn:disabled { cursor: not-allowed; opacity: .45; }\r\n  #ig-gmf-calculator .ig-btn-secondary { border-color: var(--ig-line); background: #fff; color: var(--ig-ink); }\r\n  #ig-gmf-calculator .ig-btn-secondary:hover:not(:disabled) { background: var(--ig-bg); border-color: var(--ig-line-strong); }\r\n  #ig-gmf-calculator .ig-btn-coral { background: var(--ig-coral); }\r\n  #ig-gmf-calculator .ig-btn-coral:hover:not(:disabled) { background: var(--ig-coral-dark); }\r\n\r\n  #ig-gmf-calculator .ig-inverse {\r\n    max-width: 920px;\r\n    margin: 16px auto 0;\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: var(--ig-radius-lg);\r\n    background: #fff;\r\n    text-align: left;\r\n    overflow: hidden;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-inverse summary,\r\n  #ig-gmf-calculator .ig-advanced > summary,\r\n  #ig-gmf-calculator .ig-faq summary {\r\n    list-style: none;\r\n    cursor: pointer;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-inverse summary::-webkit-details-marker,\r\n  #ig-gmf-calculator .ig-advanced > summary::-webkit-details-marker,\r\n  #ig-gmf-calculator .ig-faq summary::-webkit-details-marker { display: none; }\r\n\r\n  #ig-gmf-calculator .ig-inverse summary {\r\n    padding: 15px 18px;\r\n    color: var(--ig-green-dark);\r\n    font-size: 13px;\r\n    font-weight: 900;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-inverse-body {\r\n    display: grid;\r\n    grid-template-columns: 1fr 1fr;\r\n    gap: 14px;\r\n    padding: 0 18px 18px;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-small-result {\r\n    padding: 15px;\r\n    border-radius: 14px;\r\n    background: var(--ig-green-soft);\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-small-result span {\r\n    display: block;\r\n    color: var(--ig-muted);\r\n    font-size: 11px;\r\n    font-weight: 850;\r\n    text-transform: uppercase;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-small-result strong {\r\n    display: block;\r\n    margin-top: 6px;\r\n    color: var(--ig-ink);\r\n    font-size: 23px;\r\n    line-height: 1.1;\r\n    font-weight: 950;\r\n    font-variant-numeric: tabular-nums;\r\n    white-space: nowrap;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-section-head {\r\n    max-width: 760px;\r\n    margin-bottom: 22px;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-section-head h3 {\r\n    color: var(--ig-ink);\r\n    font-size: clamp(27px, 4vw, 40px);\r\n    line-height: 1.08;\r\n    letter-spacing: -.03em;\r\n    font-weight: 950;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-section-head p {\r\n    margin-top: 9px;\r\n    color: var(--ig-muted);\r\n    font-size: 15px;\r\n    line-height: 1.65;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-advanced {\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: var(--ig-radius-xl);\r\n    background: #fff;\r\n    box-shadow: var(--ig-shadow-soft);\r\n    overflow: hidden;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-advanced > summary {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: space-between;\r\n    gap: 16px;\r\n    padding: 20px 22px;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-advanced > summary strong {\r\n    display: block;\r\n    color: var(--ig-ink);\r\n    font-size: 18px;\r\n    font-weight: 950;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-advanced > summary span {\r\n    display: block;\r\n    margin-top: 4px;\r\n    color: var(--ig-muted);\r\n    font-size: 12px;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-advanced > summary::after {\r\n    content: \"+\";\r\n    flex: 0 0 auto;\r\n    width: 38px;\r\n    height: 38px;\r\n    display: grid;\r\n    place-items: center;\r\n    border-radius: 12px;\r\n    color: var(--ig-green-dark);\r\n    background: var(--ig-green-soft);\r\n    font-size: 22px;\r\n    font-weight: 900;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-advanced[open] > summary::after { content: \"\u2212\"; }\r\n  #ig-gmf-calculator .ig-advanced-body { padding: 0 22px 24px; }\r\n\r\n  #ig-gmf-calculator .ig-step-label {\r\n    display: inline-flex;\r\n    margin: 18px 0 9px;\r\n    color: var(--ig-green-dark);\r\n    font-size: 11px;\r\n    font-weight: 950;\r\n    letter-spacing: .05em;\r\n    text-transform: uppercase;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-options {\r\n    display: grid;\r\n    grid-template-columns: repeat(3, minmax(0,1fr));\r\n    gap: 10px;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-option { position: relative; display: block; cursor: pointer; }\r\n  #ig-gmf-calculator .ig-option input {\r\n    position: absolute;\r\n    width: 1px;\r\n    height: 1px;\r\n    opacity: 0;\r\n    pointer-events: none;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-option-body {\r\n    display: block;\r\n    min-height: 128px;\r\n    padding: 15px;\r\n    border: 2px solid var(--ig-line);\r\n    border-radius: 15px;\r\n    background: #fff;\r\n    transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-option:hover .ig-option-body { transform: translateY(-1px); border-color: var(--ig-line-strong); }\r\n  #ig-gmf-calculator .ig-option input:checked + .ig-option-body {\r\n    border-color: var(--ig-green);\r\n    background: var(--ig-green-soft);\r\n  }\r\n  #ig-gmf-calculator .ig-option input:focus-visible + .ig-option-body {\r\n    box-shadow: 0 0 0 4px rgba(15,159,122,.13);\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-option-body strong {\r\n    display: block;\r\n    color: var(--ig-ink);\r\n    font-size: 14px;\r\n    line-height: 1.25;\r\n    font-weight: 950;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-option-body small {\r\n    display: block;\r\n    margin-top: 7px;\r\n    color: var(--ig-muted);\r\n    font-size: 12px;\r\n    line-height: 1.45;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-form-grid {\r\n    display: grid;\r\n    grid-template-columns: 1fr 1fr;\r\n    gap: 12px;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-input {\r\n    width: 100%;\r\n    min-height: 52px;\r\n    padding: 12px 13px;\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: 12px;\r\n    outline: none;\r\n    background: #fff;\r\n    color: var(--ig-ink);\r\n    font-size: 16px;\r\n    font-weight: 750;\r\n    font-variant-numeric: tabular-nums;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-input:focus {\r\n    border-color: var(--ig-green);\r\n    box-shadow: 0 0 0 4px rgba(15,159,122,.12);\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-low-note,\r\n  #ig-gmf-calculator .ig-law-note {\r\n    margin-top: 12px;\r\n    padding: 13px 14px;\r\n    border-radius: 13px;\r\n    font-size: 12px;\r\n    line-height: 1.55;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-low-note {\r\n    color: #734b00;\r\n    background: var(--ig-amber-soft);\r\n    border: 1px solid #efd99f;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-law-note {\r\n    color: var(--ig-ink-2);\r\n    background: var(--ig-bg);\r\n    border: 1px solid var(--ig-line);\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-result-panel {\r\n    margin-top: 16px;\r\n    padding: 20px;\r\n    border-radius: 18px;\r\n    background: var(--ig-ink);\r\n    color: #fff;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-result-panel .ig-answer-value { font-size: clamp(34px, 6vw, 50px); }\r\n\r\n  #ig-gmf-calculator .ig-kpis {\r\n    display: grid;\r\n    grid-template-columns: repeat(3,minmax(0,1fr));\r\n    gap: 9px;\r\n    margin-top: 15px;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-kpi {\r\n    min-width: 0;\r\n    padding: 13px;\r\n    border: 1px solid rgba(255,255,255,.14);\r\n    border-radius: 12px;\r\n    background: rgba(255,255,255,.07);\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-kpi span {\r\n    display: block;\r\n    color: rgba(255,255,255,.66);\r\n    font-size: 10px;\r\n    font-weight: 850;\r\n    text-transform: uppercase;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-kpi strong {\r\n    display: block;\r\n    margin-top: 5px;\r\n    color: #fff;\r\n    font-size: 16px;\r\n    line-height: 1.2;\r\n    font-weight: 950;\r\n    font-variant-numeric: tabular-nums;\r\n    white-space: nowrap;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-progress {\r\n    margin-top: 15px;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-progress-head {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    gap: 10px;\r\n    margin-bottom: 7px;\r\n    color: rgba(255,255,255,.7);\r\n    font-size: 11px;\r\n    font-weight: 800;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-progress-track {\r\n    height: 9px;\r\n    overflow: hidden;\r\n    border-radius: 999px;\r\n    background: rgba(255,255,255,.13);\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-progress-fill {\r\n    display: block;\r\n    width: 0;\r\n    height: 100%;\r\n    border-radius: inherit;\r\n    background: linear-gradient(90deg, #36d2ab, #ff8a6e);\r\n    transition: width 180ms ease;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-advanced-actions {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    gap: 9px;\r\n    margin-top: 14px;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-transactions {\r\n    display: grid;\r\n    gap: 8px;\r\n    margin-top: 14px;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-transaction {\r\n    display: grid;\r\n    grid-template-columns: minmax(0,1fr) auto;\r\n    gap: 10px;\r\n    align-items: center;\r\n    padding: 11px 12px;\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: 12px;\r\n    background: var(--ig-bg);\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-transaction strong {\r\n    display: block;\r\n    color: var(--ig-ink);\r\n    font-size: 13px;\r\n    font-weight: 900;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-transaction span {\r\n    display: block;\r\n    margin-top: 3px;\r\n    color: var(--ig-muted);\r\n    font-size: 11px;\r\n    line-height: 1.4;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-remove {\r\n    width: 36px;\r\n    height: 36px;\r\n    border: 1px solid #efc3bc;\r\n    border-radius: 10px;\r\n    background: #fff;\r\n    color: var(--ig-danger);\r\n    cursor: pointer;\r\n    font-size: 20px;\r\n    font-weight: 900;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-seo-grid {\r\n    display: grid;\r\n    grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);\r\n    gap: 16px;\r\n    align-items: start;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-example-table,\r\n  #ig-gmf-calculator .ig-info-card {\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: var(--ig-radius-lg);\r\n    background: #fff;\r\n    box-shadow: var(--ig-shadow-soft);\r\n    overflow: hidden;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-info-card { padding: 20px; }\r\n  #ig-gmf-calculator .ig-info-card h4 { color: var(--ig-ink); font-size: 18px; font-weight: 950; }\r\n  #ig-gmf-calculator .ig-info-card p { margin-top: 8px; color: var(--ig-muted); font-size: 13px; line-height: 1.65; }\r\n\r\n  #ig-gmf-calculator table { width: 100%; border-collapse: collapse; }\r\n  #ig-gmf-calculator th,\r\n  #ig-gmf-calculator td { padding: 12px 14px; border-bottom: 1px solid var(--ig-line); text-align: left; font-size: 13px; }\r\n  #ig-gmf-calculator th { color: var(--ig-muted); background: #f6faf8; font-size: 11px; text-transform: uppercase; }\r\n  #ig-gmf-calculator td:last-child,\r\n  #ig-gmf-calculator th:last-child { text-align: right; font-weight: 900; }\r\n  #ig-gmf-calculator tr:last-child td { border-bottom: 0; }\r\n\r\n  #ig-gmf-calculator .ig-faq {\r\n    display: grid;\r\n    gap: 9px;\r\n    margin-top: 18px;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-faq details {\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: 14px;\r\n    background: #fff;\r\n    overflow: hidden;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-faq summary {\r\n    position: relative;\r\n    padding: 15px 46px 15px 16px;\r\n    color: var(--ig-ink);\r\n    font-size: 14px;\r\n    font-weight: 900;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-faq summary::after {\r\n    content: \"+\";\r\n    position: absolute;\r\n    right: 16px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n    color: var(--ig-green-dark);\r\n    font-size: 20px;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-faq details[open] summary::after { content: \"\u2212\"; }\r\n  #ig-gmf-calculator .ig-faq p { padding: 0 16px 16px; color: var(--ig-muted); font-size: 13px; line-height: 1.65; }\r\n\r\n  #ig-gmf-calculator .ig-sources {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    gap: 9px;\r\n    margin-top: 14px;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-source-link {\r\n    display: inline-flex;\r\n    min-height: 42px;\r\n    align-items: center;\r\n    padding: 8px 11px;\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: 11px;\r\n    background: #fff;\r\n    text-decoration: none;\r\n    font-size: 12px;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-status {\r\n    min-height: 20px;\r\n    margin-top: 8px;\r\n    color: var(--ig-muted);\r\n    font-size: 11px;\r\n    line-height: 1.4;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-alert {\r\n    display: none;\r\n    max-width: 920px;\r\n    margin: 12px auto 0;\r\n    padding: 12px 14px;\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: 12px;\r\n    background: #fff;\r\n    color: var(--ig-ink-2);\r\n    font-size: 12px;\r\n    line-height: 1.5;\r\n    text-align: left;\r\n  }\r\n\r\n  #ig-gmf-calculator .ig-alert.is-visible { display: block; }\r\n  #ig-gmf-calculator .ig-alert.is-warning { border-color: #efd99f; background: var(--ig-amber-soft); color: #734b00; }\r\n  #ig-gmf-calculator .ig-alert.is-danger { border-color: #efc3bc; background: var(--ig-danger-soft); color: var(--ig-danger); }\r\n\r\n  @media (max-width: 860px) {\r\n    #ig-gmf-calculator .ig-quick-grid,\r\n    #ig-gmf-calculator .ig-seo-grid { grid-template-columns: 1fr; }\r\n    #ig-gmf-calculator .ig-options { grid-template-columns: 1fr; }\r\n    #ig-gmf-calculator .ig-option-body { min-height: auto; }\r\n  }\r\n\r\n  @media (max-width: 680px) {\r\n    #ig-gmf-calculator .ig-wrap { width: min(100% - 18px,1120px); }\r\n    #ig-gmf-calculator .ig-section { padding: 30px 0; }\r\n    #ig-gmf-calculator .ig-hero { padding: 34px 0 22px; }\r\n    #ig-gmf-calculator .ig-hero-copy { font-size: 15px; }\r\n    #ig-gmf-calculator .ig-quick-shell { padding: 8px; border-radius: 18px; }\r\n    #ig-gmf-calculator .ig-input-zone,\r\n    #ig-gmf-calculator .ig-answer { padding: 18px; }\r\n    #ig-gmf-calculator .ig-money-input,\r\n    #ig-gmf-calculator .ig-input { font-size: 16px; }\r\n    #ig-gmf-calculator .ig-money-input { min-height: 58px; }\r\n    #ig-gmf-calculator .ig-answer-value { font-size: clamp(36px,11vw,48px); }\r\n    #ig-gmf-calculator .ig-inverse-body,\r\n    #ig-gmf-calculator .ig-form-grid,\r\n    #ig-gmf-calculator .ig-kpis { grid-template-columns: 1fr; }\r\n    #ig-gmf-calculator .ig-main-actions,\r\n    #ig-gmf-calculator .ig-advanced-actions { flex-direction: column; }\r\n    #ig-gmf-calculator .ig-btn { width: 100%; min-height: 52px; }\r\n    #ig-gmf-calculator .ig-advanced > summary { padding: 17px; }\r\n    #ig-gmf-calculator .ig-advanced-body { padding: 0 17px 19px; }\r\n    #ig-gmf-calculator .ig-answer-mini { grid-template-columns: 1fr; }\r\n    #ig-gmf-calculator .ig-answer-mini strong,\r\n    #ig-gmf-calculator .ig-kpi strong,\r\n    #ig-gmf-calculator .ig-small-result strong { white-space: normal; overflow-wrap: anywhere; }\r\n  }\r\n\r\n  @media (prefers-reduced-motion: reduce) {\r\n    #ig-gmf-calculator *,\r\n    #ig-gmf-calculator *::before,\r\n    #ig-gmf-calculator *::after {\r\n      scroll-behavior: auto !important;\r\n      animation-duration: 1ms !important;\r\n      transition-duration: 1ms !important;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<div id=\"ig-gmf-calculator\">\r\n  <section class=\"ig-white\">\r\n    <div class=\"ig-wrap ig-hero\">\r\n      <span class=\"ig-eyebrow\">4x1000 Colombia \u00b7 Actualizado 2026<\/span>\r\n      <h2>Calculadora 4x1000: descubre <span>cu\u00e1nto pagar\u00edas<\/span> en segundos.<\/h2>\r\n      <p class=\"ig-hero-copy\">\r\n        Escribe el valor de un movimiento gravado y obt\u00e9n el GMF estimado al instante.\r\n        Si despu\u00e9s quieres revisar exenciones, puedes abrir el c\u00e1lculo avanzado.\r\n      <\/p>\r\n\r\n      <div class=\"ig-quick-shell\" aria-label=\"Calculadora r\u00e1pida de 4x1000\">\r\n        <div class=\"ig-quick-grid\">\r\n          <div class=\"ig-input-zone\">\r\n            <label class=\"ig-label\" for=\"igQuickAmount\">Valor del movimiento<\/label>\r\n            <input id=\"igQuickAmount\" class=\"ig-money-input\" type=\"text\" inputmode=\"numeric\" autocomplete=\"off\" placeholder=\"$ 1.000.000\" aria-describedby=\"igQuickHelp\">\r\n            <p id=\"igQuickHelp\" class=\"ig-help\">Escribe el valor en pesos colombianos. El c\u00e1lculo r\u00e1pido supone que el movimiento est\u00e1 gravado.<\/p>\r\n            <div class=\"ig-examples\" aria-label=\"Ejemplos r\u00e1pidos\">\r\n              <button type=\"button\" class=\"ig-example\" data-amount=\"100000\">$100.000<\/button>\r\n              <button type=\"button\" class=\"ig-example\" data-amount=\"500000\">$500.000<\/button>\r\n              <button type=\"button\" class=\"ig-example\" data-amount=\"1000000\">$1 mill\u00f3n<\/button>\r\n              <button type=\"button\" class=\"ig-example\" data-amount=\"5000000\">$5 millones<\/button>\r\n              <button type=\"button\" class=\"ig-example\" data-amount=\"10000000\">$10 millones<\/button>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"ig-answer\" aria-live=\"polite\">\r\n            <span class=\"ig-answer-label\">4x1000 del movimiento<\/span>\r\n            <strong id=\"igQuickTax\" class=\"ig-answer-value\">$0<\/strong>\r\n            <p id=\"igQuickSentence\" class=\"ig-answer-copy\">Ingresa un valor para calcular el 4x1000 de un movimiento gravado.<\/p>\r\n            <div class=\"ig-answer-mini\">\r\n              <div><span>Movimiento<\/span><strong id=\"igQuickMovement\">$0<\/strong><\/div>\r\n              <div><span>Movimiento + GMF<\/span><strong id=\"igQuickTotal\">$0<\/strong><\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <p class=\"ig-primary-note\">\r\n        \u201cMovimiento + GMF\u201d es solo una referencia pr\u00e1ctica si la entidad debita el impuesto adicionalmente del mismo saldo.\r\n        La forma exacta en que se refleja el cobro depende de la operaci\u00f3n y de la entidad.\r\n      <\/p>\r\n\r\n      <div class=\"ig-main-actions\">\r\n        <button type=\"button\" id=\"igOpenAdvanced\" class=\"ig-btn\">\u00bfPodr\u00edas estar exento? Revisar \u2192<\/button>\r\n        <button type=\"button\" id=\"igQuickPdf\" class=\"ig-btn ig-btn-coral\" disabled>Descargar PDF<\/button>\r\n        <button type=\"button\" id=\"igQuickCopy\" class=\"ig-btn ig-btn-secondary\" disabled>Copiar enlace<\/button>\r\n        <button type=\"button\" id=\"igQuickClear\" class=\"ig-btn ig-btn-secondary\">Limpiar<\/button>\r\n      <\/div>\r\n      <div id=\"igQuickPdfStatus\" class=\"ig-status\" aria-live=\"polite\"><\/div>\r\n      <div id=\"igGlobalAlert\" class=\"ig-alert\" role=\"status\" aria-live=\"polite\"><\/div>\r\n\r\n      <details class=\"ig-inverse\" id=\"igInverse\">\r\n        <summary>Tengo un saldo total: \u00bfcu\u00e1nto puedo mover dejando espacio para el 4x1000?<\/summary>\r\n        <div class=\"ig-inverse-body\">\r\n          <div>\r\n            <label class=\"ig-label\" for=\"igAvailableBalance\">Saldo disponible<\/label>\r\n            <input id=\"igAvailableBalance\" class=\"ig-input\" type=\"text\" inputmode=\"numeric\" autocomplete=\"off\" placeholder=\"Ej: 1.000.000\">\r\n            <p class=\"ig-help\">Supone que el movimiento est\u00e1 totalmente gravado y que el GMF se debita adicionalmente de ese mismo saldo.<\/p>\r\n          <\/div>\r\n          <div class=\"ig-small-result\">\r\n            <span>Movimiento m\u00e1ximo estimado<\/span>\r\n            <strong id=\"igInverseMovement\">$0<\/strong>\r\n            <p class=\"ig-help\">GMF reservado: <strong id=\"igInverseTax\">$0<\/strong><\/p>\r\n          <\/div>\r\n        <\/div>\r\n      <\/details>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"ig-section\">\r\n    <div class=\"ig-wrap\">\r\n      <div class=\"ig-section-head\">\r\n        <h3>\u00bfCu\u00e1nto es el 4x1000 de un valor?<\/h3>\r\n        <p>La tarifa general equivale al 0,4%: por cada $1.000 de un movimiento gravado, el GMF es $4.<\/p>\r\n      <\/div>\r\n      <div class=\"ig-seo-grid\">\r\n        <div class=\"ig-example-table\">\r\n          <table>\r\n            <thead><tr><th>Movimiento gravado<\/th><th>4x1000<\/th><\/tr><\/thead>\r\n            <tbody>\r\n              <tr><td>$100.000<\/td><td>$400<\/td><\/tr>\r\n              <tr><td>$500.000<\/td><td>$2.000<\/td><\/tr>\r\n              <tr><td>$1.000.000<\/td><td>$4.000<\/td><\/tr>\r\n              <tr><td>$5.000.000<\/td><td>$20.000<\/td><\/tr>\r\n              <tr><td>$10.000.000<\/td><td>$40.000<\/td><\/tr>\r\n            <\/tbody>\r\n          <\/table>\r\n        <\/div>\r\n        <div class=\"ig-info-card\">\r\n          <h4>\u00bfCu\u00e1nto puedo mover sin pagar 4x1000 en 2026?<\/h4>\r\n          <p>\r\n            Para personas naturales, la exenci\u00f3n general puede cubrir hasta 350 UVT mensuales.\r\n            Con UVT 2026 de $52.374, el l\u00edmite equivale a <strong>$18.330.900<\/strong>.\r\n            Desde el 13 de diciembre de 2024, esta exenci\u00f3n no depende de marcar una sola cuenta:\r\n            puede aplicarse entre cuentas propias elegibles, incluso en entidades diferentes, sin superar el tope mensual.\r\n          <\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"ig-section ig-white\" id=\"igAdvancedSection\">\r\n    <div class=\"ig-wrap\">\r\n      <div class=\"ig-section-head\">\r\n        <h3>Calculadora avanzada de exenci\u00f3n del 4x1000<\/h3>\r\n        <p>\u00dasala si quieres saber qu\u00e9 parte de un nuevo movimiento podr\u00eda quedar exenta y qu\u00e9 parte quedar\u00eda gravada.<\/p>\r\n      <\/div>\r\n\r\n      <details class=\"ig-advanced\" id=\"igAdvanced\">\r\n        <summary>\r\n          <span><strong>Revisar exenci\u00f3n mensual y varios movimientos<\/strong><span>350 UVT \u00b7 dep\u00f3sito de bajo monto 65 UVT \u00b7 movimiento sin exenci\u00f3n<\/span><\/span>\r\n        <\/summary>\r\n\r\n        <div class=\"ig-advanced-body\">\r\n          <span class=\"ig-step-label\">1 \u00b7 Elige el escenario<\/span>\r\n          <div class=\"ig-options\">\r\n            <label class=\"ig-option\">\r\n              <input type=\"radio\" name=\"igAdvancedMode\" value=\"general\" checked>\r\n              <span class=\"ig-option-body\">\r\n                <strong>Exenci\u00f3n general \u00b7 350 UVT<\/strong>\r\n                <small>Para estimar el uso de la exenci\u00f3n mensual general de una persona natural entre productos elegibles.<\/small>\r\n              <\/span>\r\n            <\/label>\r\n            <label class=\"ig-option\">\r\n              <input type=\"radio\" name=\"igAdvancedMode\" value=\"low\">\r\n              <span class=\"ig-option-body\">\r\n                <strong>Dep\u00f3sito de bajo monto \u00b7 65 UVT<\/strong>\r\n                <small>Escenario especial sujeto a los requisitos legales de titularidad y producto.<\/small>\r\n              <\/span>\r\n            <\/label>\r\n            <label class=\"ig-option\">\r\n              <input type=\"radio\" name=\"igAdvancedMode\" value=\"taxed\">\r\n              <span class=\"ig-option-body\">\r\n                <strong>Movimiento sin esta exenci\u00f3n<\/strong>\r\n                <small>Calcula el 0,4% sobre todo el movimiento. No eval\u00faa otras exenciones espec\u00edficas del Estatuto Tributario.<\/small>\r\n              <\/span>\r\n            <\/label>\r\n          <\/div>\r\n\r\n          <div id=\"igLowRequirements\" class=\"ig-low-note\" hidden>\r\n            Esta opci\u00f3n supone que eres persona natural, \u00fanico titular del dep\u00f3sito de bajo monto elegible y que se cumplen\r\n            los requisitos de la exenci\u00f3n especial. La regla de 65 UVT es independiente de la exenci\u00f3n general de 350 UVT.\r\n          <\/div>\r\n\r\n          <span class=\"ig-step-label\">2 \u00b7 Indica lo utilizado y el nuevo movimiento<\/span>\r\n          <div class=\"ig-form-grid\">\r\n            <div>\r\n              <label id=\"igUsedLabel\" class=\"ig-label\" for=\"igUsedBefore\">Exenci\u00f3n general ya utilizada este mes<\/label>\r\n              <input id=\"igUsedBefore\" class=\"ig-input\" type=\"text\" inputmode=\"numeric\" autocomplete=\"off\" placeholder=\"Ej: 6.000.000\">\r\n              <p id=\"igUsedHelp\" class=\"ig-help\">Incluye el monto que ya haya consumido tu l\u00edmite mensual de 350 UVT en productos elegibles.<\/p>\r\n            <\/div>\r\n            <div>\r\n              <label class=\"ig-label\" for=\"igAdvancedAmount\">Nuevo movimiento<\/label>\r\n              <input id=\"igAdvancedAmount\" class=\"ig-input\" type=\"text\" inputmode=\"numeric\" autocomplete=\"off\" placeholder=\"Ej: 1.000.000\">\r\n              <p class=\"ig-help\">Es el movimiento que quieres evaluar ahora.<\/p>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"ig-law-note\">\r\n            La herramienta aplica una sola regla al cruce del l\u00edmite: utiliza primero la exenci\u00f3n que quede disponible y\r\n            calcula el GMF \u00fanicamente sobre la parte del nuevo movimiento que exceda el tope. No ofrece un \u201cmodo conservador\u201d\r\n            alternativo porque el l\u00edmite legal es un monto exento, no una elecci\u00f3n del usuario.\r\n          <\/div>\r\n\r\n          <div class=\"ig-result-panel\" aria-live=\"polite\">\r\n            <span class=\"ig-answer-label\">4x1000 estimado para este movimiento<\/span>\r\n            <strong id=\"igAdvancedTax\" class=\"ig-answer-value\">$0<\/strong>\r\n            <p id=\"igAdvancedMessage\" class=\"ig-answer-copy\">Completa el escenario para ver c\u00f3mo se distribuye el movimiento.<\/p>\r\n\r\n            <div class=\"ig-kpis\">\r\n              <div class=\"ig-kpi\"><span>Parte exenta<\/span><strong id=\"igExemptPart\">$0<\/strong><\/div>\r\n              <div class=\"ig-kpi\"><span>Parte gravada<\/span><strong id=\"igTaxedPart\">$0<\/strong><\/div>\r\n              <div class=\"ig-kpi\"><span>Exenci\u00f3n restante<\/span><strong id=\"igRemainingAfter\">$0<\/strong><\/div>\r\n            <\/div>\r\n\r\n            <div class=\"ig-progress\">\r\n              <div class=\"ig-progress-head\"><span>Uso del l\u00edmite aplicable<\/span><strong id=\"igProgressLabel\">0%<\/strong><\/div>\r\n              <div class=\"ig-progress-track\"><span id=\"igProgressFill\" class=\"ig-progress-fill\"><\/span><\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"ig-advanced-actions\">\r\n            <button type=\"button\" id=\"igAddTransaction\" class=\"ig-btn\">Agregar movimiento al escenario<\/button>\r\n            <button type=\"button\" id=\"igAdvancedPdf\" class=\"ig-btn ig-btn-coral\" disabled>Descargar PDF<\/button>\r\n            <button type=\"button\" id=\"igAdvancedCopy\" class=\"ig-btn ig-btn-secondary\" disabled>Copiar enlace<\/button>\r\n            <button type=\"button\" id=\"igAdvancedClear\" class=\"ig-btn ig-btn-secondary\">Limpiar<\/button>\r\n          <\/div>\r\n          <div id=\"igAdvancedStatus\" class=\"ig-status\" aria-live=\"polite\"><\/div>\r\n          <div id=\"igTransactionList\" class=\"ig-transactions\" aria-live=\"polite\"><\/div>\r\n        <\/div>\r\n      <\/details>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"ig-section ig-warm\">\r\n    <div class=\"ig-wrap\">\r\n      <div class=\"ig-section-head\">\r\n        <h3>Preguntas frecuentes sobre el 4x1000 en Colombia<\/h3>\r\n        <p>Respuestas breves para entender la tarifa, la exenci\u00f3n mensual y el dep\u00f3sito de bajo monto.<\/p>\r\n      <\/div>\r\n\r\n      <div class=\"ig-faq\">\r\n        <details>\r\n          <summary>\u00bfCu\u00e1nto es el 4x1000 de $1.000.000?<\/summary>\r\n          <p>Si el movimiento est\u00e1 totalmente gravado, el 0,4% de $1.000.000 es $4.000.<\/p>\r\n        <\/details>\r\n        <details>\r\n          <summary>\u00bfCu\u00e1l es el l\u00edmite general exento de 4x1000 en 2026?<\/summary>\r\n          <p>La referencia general es 350 UVT mensuales. Con una UVT 2026 de $52.374, equivale a $18.330.900.<\/p>\r\n        <\/details>\r\n        <details>\r\n          <summary>\u00bfTodav\u00eda tengo que marcar una sola cuenta como exenta?<\/summary>\r\n          <p>No para la exenci\u00f3n general de 350 UVT. La doctrina oficial de la DIAN indica que, desde el 13 de diciembre de 2024, las personas naturales tienen derecho a que el monto exento se aplique sin necesidad de marcar una \u00fanica cuenta y con independencia de la entidad, sin exceder el l\u00edmite mensual.<\/p>\r\n        <\/details>\r\n        <details>\r\n          <summary>\u00bfQu\u00e9 es la exenci\u00f3n de 65 UVT de dep\u00f3sitos de bajo monto?<\/summary>\r\n          <p>Es una exenci\u00f3n especial y distinta a la de 350 UVT. Est\u00e1 sujeta a condiciones propias del dep\u00f3sito de bajo monto y de su titular. Para 2026, 65 UVT equivalen a $3.404.310.<\/p>\r\n        <\/details>\r\n        <details>\r\n          <summary>\u00bfLa calculadora contempla todas las exenciones del GMF?<\/summary>\r\n          <p>No. El modo avanzado se concentra en la exenci\u00f3n general de 350 UVT, la regla especial de 65 UVT para dep\u00f3sitos de bajo monto y el escenario totalmente gravado. Existen otras exenciones legales que deben evaluarse seg\u00fan el tipo de operaci\u00f3n.<\/p>\r\n        <\/details>\r\n      <\/div>\r\n\r\n      <div class=\"ig-sources\" aria-label=\"Fuentes oficiales\">\r\n        <a class=\"ig-source-link\" href=\"https:\/\/www.dian.gov.co\/atencionciudadano\/contactenos\/Annimos%20PQRS\/2026DP000009450.pdf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">DIAN \u00b7 Doctrina GMF 2026 \u2197<\/a>\r\n        <a class=\"ig-source-link\" href=\"https:\/\/normograma.dian.gov.co\/dian\/compilacion\/docs\/oficio_dian_3949_2025.htm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">DIAN \u00b7 Exenci\u00f3n 350 UVT \u2197<\/a>\r\n        <a class=\"ig-source-link\" href=\"https:\/\/normograma.dian.gov.co\/dian\/compilacion\/docs\/oficio_dian_3242_2024.htm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">DIAN \u00b7 Dep\u00f3sitos bajo monto \u2197<\/a>\r\n        <a class=\"ig-source-link\" href=\"https:\/\/normograma.dian.gov.co\/dian\/compilacion\/docs\/resolucion_dian_0227_2025.htm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">DIAN \u00b7 UVT 2026 \u2197<\/a>\r\n      <\/div>\r\n\r\n      <p class=\"ig-help\" style=\"margin-top:14px;\">\r\n        Herramienta educativa. La liquidaci\u00f3n efectiva del GMF depende de la naturaleza del movimiento, otras exenciones aplicables,\r\n        la informaci\u00f3n consolidada por las entidades y la forma en que el agente retenedor procese la operaci\u00f3n.\r\n      <\/p>\r\n    <\/div>\r\n  <\/section>\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  'use strict';\r\n\r\n  const root = document.getElementById('ig-gmf-calculator');\r\n  if (!root || root.dataset.igReady === 'true') return;\r\n  root.dataset.igReady = 'true';\r\n\r\n  const CONFIG = Object.freeze({\r\n    year: 2026,\r\n    uvt: 52374,\r\n    taxRate: 0.004,\r\n    generalLimitUVT: 350,\r\n    lowLimitUVT: 65,\r\n    generalLimit: 52374 * 350,\r\n    lowLimit: 52374 * 65,\r\n    siteUrl: 'https:\/\/inversionesguru.com\/co\/',\r\n    logoUrl: 'https:\/\/inversionesguru.com\/co\/wp-content\/uploads\/sites\/3\/2026\/08\/inversionesguru_logo.png',\r\n    pdfQuick: 'calculadora-4x1000-colombia-2026.pdf',\r\n    pdfAdvanced: 'calculadora-4x1000-exencion-colombia-2026.pdf'\r\n  });\r\n\r\n  const $ = (sel) => root.querySelector(sel);\r\n  const $$ = (sel) => Array.from(root.querySelectorAll(sel));\r\n\r\n  const fmtMoney = new Intl.NumberFormat('es-CO', {\r\n    style: 'currency',\r\n    currency: 'COP',\r\n    minimumFractionDigits: 0,\r\n    maximumFractionDigits: 0\r\n  });\r\n\r\n  const fmtNumber = new Intl.NumberFormat('es-CO', { maximumFractionDigits: 0 });\r\n\r\n  let lastQuickReport = null;\r\n  let lastAdvancedReport = null;\r\n  let transactionRows = [];\r\n\r\n  function money(value) {\r\n    return fmtMoney.format(Math.round(Number(value) || 0));\r\n  }\r\n\r\n  function parseMoney(value) {\r\n    const digits = String(value || '').replace(\/\\D\/g, '');\r\n    if (!digits) return 0;\r\n    const n = Number(digits);\r\n    return Number.isFinite(n) && n >= 0 ? n : 0;\r\n  }\r\n\r\n  function formatMoneyInput(input) {\r\n    if (!input) return;\r\n    const value = parseMoney(input.value);\r\n    input.value = value ? fmtNumber.format(Math.round(value)) : '';\r\n  }\r\n\r\n  function bindMoney(input, callback) {\r\n    if (!input) return;\r\n    input.addEventListener('input', () => {\r\n      const digits = String(input.value || '').replace(\/\\D\/g, '');\r\n      input.value = digits ? fmtNumber.format(Number(digits)) : '';\r\n      if (callback) callback();\r\n    });\r\n    input.addEventListener('blur', () => {\r\n      formatMoneyInput(input);\r\n      if (callback) callback();\r\n    });\r\n  }\r\n\r\n  function showAlert(message, type) {\r\n    const box = $('#igGlobalAlert');\r\n    if (!box) return;\r\n    box.textContent = message || '';\r\n    box.className = 'ig-alert' +\r\n      (message ? ' is-visible' : '') +\r\n      (type === 'warning' ? ' is-warning' : '') +\r\n      (type === 'danger' ? ' is-danger' : '');\r\n  }\r\n\r\n  function quickCalculation(amount) {\r\n    const tax = amount * CONFIG.taxRate;\r\n    return {\r\n      movement: amount,\r\n      tax,\r\n      totalReference: amount + tax\r\n    };\r\n  }\r\n\r\n  function calcQuick() {\r\n    const amount = parseMoney($('#igQuickAmount').value);\r\n    const result = quickCalculation(amount);\r\n\r\n    $('#igQuickTax').textContent = money(result.tax);\r\n    $('#igQuickMovement').textContent = money(result.movement);\r\n    $('#igQuickTotal').textContent = money(result.totalReference);\r\n    $('#igQuickSentence').textContent = amount\r\n      ? `Para un movimiento gravado de ${money(amount)}, el 4x1000 es ${money(result.tax)}.`\r\n      : 'Ingresa un valor para calcular el 4x1000 de un movimiento gravado.';\r\n\r\n    const enabled = amount > 0;\r\n    $('#igQuickPdf').disabled = !enabled;\r\n    $('#igQuickCopy').disabled = !enabled;\r\n\r\n    lastQuickReport = enabled ? {\r\n      type: 'quick',\r\n      title: 'Calculadora 4x1000 Colombia 2026',\r\n      scenario: 'Movimiento totalmente gravado',\r\n      movement: result.movement,\r\n      taxableBase: result.movement,\r\n      exemptPart: 0,\r\n      tax: result.tax,\r\n      totalReference: result.totalReference,\r\n      message: `Para un movimiento gravado de ${money(amount)}, el 4x1000 es ${money(result.tax)}.`\r\n    } : null;\r\n  }\r\n\r\n  function calcInverse() {\r\n    const balance = parseMoney($('#igAvailableBalance').value);\r\n    if (!balance) {\r\n      $('#igInverseMovement').textContent = '$0';\r\n      $('#igInverseTax').textContent = '$0';\r\n      return;\r\n    }\r\n    const movement = balance \/ (1 + CONFIG.taxRate);\r\n    const tax = balance - movement;\r\n    $('#igInverseMovement').textContent = money(movement);\r\n    $('#igInverseTax').textContent = money(tax);\r\n  }\r\n\r\n  function getAdvancedMode() {\r\n    return root.querySelector('input[name=\"igAdvancedMode\"]:checked')?.value || 'general';\r\n  }\r\n\r\n  function getLimit(mode) {\r\n    if (mode === 'general') return CONFIG.generalLimit;\r\n    if (mode === 'low') return CONFIG.lowLimit;\r\n    return 0;\r\n  }\r\n\r\n  function getScenarioLabel(mode) {\r\n    if (mode === 'general') return 'Exenci\u00f3n general 350 UVT';\r\n    if (mode === 'low') return 'Dep\u00f3sito de bajo monto 65 UVT';\r\n    return 'Movimiento sin esta exenci\u00f3n';\r\n  }\r\n\r\n  function getBaselineUsed() {\r\n    return parseMoney($('#igUsedBefore').value);\r\n  }\r\n\r\n  function getRowsAmountTotal() {\r\n    return transactionRows.reduce((sum, row) => sum + row.amount, 0);\r\n  }\r\n\r\n  function simulateAdvanced(mode, usedBefore, amount) {\r\n    const limit = getLimit(mode);\r\n\r\n    if (mode === 'taxed') {\r\n      return {\r\n        limit: 0,\r\n        usedBefore: 0,\r\n        remainingBefore: 0,\r\n        exemptPart: 0,\r\n        taxableBase: amount,\r\n        tax: amount * CONFIG.taxRate,\r\n        remainingAfter: 0,\r\n        usedAfter: 0\r\n      };\r\n    }\r\n\r\n    const normalizedUsed = Math.max(0, usedBefore);\r\n    const remainingBefore = Math.max(0, limit - normalizedUsed);\r\n    const exemptPart = Math.min(amount, remainingBefore);\r\n    const taxableBase = Math.max(0, amount - exemptPart);\r\n    const tax = taxableBase * CONFIG.taxRate;\r\n    const usedAfter = Math.min(limit, normalizedUsed + amount);\r\n    const remainingAfter = Math.max(0, limit - normalizedUsed - amount);\r\n\r\n    return {\r\n      limit,\r\n      usedBefore: normalizedUsed,\r\n      remainingBefore,\r\n      exemptPart,\r\n      taxableBase,\r\n      tax,\r\n      remainingAfter,\r\n      usedAfter\r\n    };\r\n  }\r\n\r\n  function updateAdvancedLabels(mode) {\r\n    const used = $('#igUsedBefore');\r\n    const label = $('#igUsedLabel');\r\n    const help = $('#igUsedHelp');\r\n    const lowNote = $('#igLowRequirements');\r\n\r\n    if (mode === 'general') {\r\n      used.disabled = false;\r\n      label.textContent = 'Exenci\u00f3n general ya utilizada este mes';\r\n      help.textContent = 'Incluye el monto que ya haya consumido tu l\u00edmite mensual de 350 UVT en productos elegibles.';\r\n      lowNote.hidden = true;\r\n    } else if (mode === 'low') {\r\n      used.disabled = false;\r\n      label.textContent = 'Retiros ya realizados desde este dep\u00f3sito este mes';\r\n      help.textContent = 'Usa el acumulado mensual de retiros o disposiciones que hayan consumido la exenci\u00f3n especial de 65 UVT de este dep\u00f3sito.';\r\n      lowNote.hidden = false;\r\n    } else {\r\n      used.disabled = true;\r\n      used.value = '';\r\n      label.textContent = 'Acumulado exento previo';\r\n      help.textContent = 'No aplica en este escenario: el nuevo movimiento se trata como totalmente gravado.';\r\n      lowNote.hidden = true;\r\n    }\r\n  }\r\n\r\n  function calcAdvanced() {\r\n    const mode = getAdvancedMode();\r\n    const baseline = mode === 'taxed' ? 0 : getBaselineUsed();\r\n    const addedRows = getRowsAmountTotal();\r\n    const effectiveUsed = mode === 'taxed' ? 0 : baseline + addedRows;\r\n    const amount = parseMoney($('#igAdvancedAmount').value);\r\n    const result = simulateAdvanced(mode, effectiveUsed, amount);\r\n\r\n    $('#igAdvancedTax').textContent = money(result.tax);\r\n    $('#igExemptPart').textContent = money(result.exemptPart);\r\n    $('#igTaxedPart').textContent = money(result.taxableBase);\r\n    $('#igRemainingAfter').textContent = mode === 'taxed' ? 'No aplica' : money(result.remainingAfter);\r\n\r\n    let message = '';\r\n    if (!amount) {\r\n      message = 'Ingresa un nuevo movimiento para evaluar el escenario.';\r\n    } else if (mode === 'taxed') {\r\n      message = `El movimiento completo se trata como gravado. GMF estimado: ${money(result.tax)}.`;\r\n    } else if (result.taxableBase === 0) {\r\n      message = `El movimiento cabe completamente dentro del l\u00edmite disponible. GMF estimado en este escenario: $0.`;\r\n    } else if (result.exemptPart > 0) {\r\n      message = `${money(result.exemptPart)} quedar\u00edan dentro del l\u00edmite y ${money(result.taxableBase)} superar\u00edan el tope.`;\r\n    } else {\r\n      message = `El l\u00edmite seleccionado ya estar\u00eda agotado; el nuevo movimiento se trata como gravado en su totalidad.`;\r\n    }\r\n    $('#igAdvancedMessage').textContent = message;\r\n\r\n    const progress = mode === 'taxed'\r\n      ? 100\r\n      : result.limit > 0\r\n        ? Math.min(100, ((effectiveUsed + amount) \/ result.limit) * 100)\r\n        : 0;\r\n\r\n    $('#igProgressFill').style.width = `${progress}%`;\r\n    $('#igProgressLabel').textContent = mode === 'taxed'\r\n      ? 'Sin exenci\u00f3n'\r\n      : `${progress.toLocaleString('es-CO', { maximumFractionDigits: 1 })}%`;\r\n\r\n    const enabled = amount > 0;\r\n    $('#igAdvancedPdf').disabled = !enabled;\r\n    $('#igAdvancedCopy').disabled = !enabled;\r\n\r\n    lastAdvancedReport = enabled ? {\r\n      type: 'advanced',\r\n      title: 'Calculadora 4x1000 \u00b7 Exenci\u00f3n mensual',\r\n      scenario: getScenarioLabel(mode),\r\n      mode,\r\n      baselineUsed: baseline,\r\n      simulatedRowsTotal: addedRows,\r\n      effectiveUsed,\r\n      movement: amount,\r\n      limit: result.limit,\r\n      remainingBefore: result.remainingBefore,\r\n      exemptPart: result.exemptPart,\r\n      taxableBase: result.taxableBase,\r\n      tax: result.tax,\r\n      remainingAfter: result.remainingAfter,\r\n      message\r\n    } : null;\r\n\r\n    return lastAdvancedReport;\r\n  }\r\n\r\n  function rebuildTransactionRows() {\r\n    const mode = getAdvancedMode();\r\n    const baseline = mode === 'taxed' ? 0 : getBaselineUsed();\r\n    let used = baseline;\r\n\r\n    transactionRows = transactionRows.map((row) => {\r\n      const calc = simulateAdvanced(mode, used, row.amount);\r\n      const enriched = {\r\n        amount: row.amount,\r\n        exemptPart: calc.exemptPart,\r\n        taxableBase: calc.taxableBase,\r\n        tax: calc.tax,\r\n        usedBefore: used,\r\n        remainingAfter: calc.remainingAfter\r\n      };\r\n      if (mode !== 'taxed') used += row.amount;\r\n      return enriched;\r\n    });\r\n  }\r\n\r\n  function renderTransactions() {\r\n    rebuildTransactionRows();\r\n    const list = $('#igTransactionList');\r\n\r\n    if (!transactionRows.length) {\r\n      list.innerHTML = '';\r\n      return;\r\n    }\r\n\r\n    list.innerHTML = transactionRows.map((row, index) => `\r\n      <div class=\"ig-transaction\">\r\n        <div>\r\n          <strong>Movimiento ${index + 1}: ${money(row.amount)}<\/strong>\r\n          <span>Exento: ${money(row.exemptPart)} \u00b7 Gravado: ${money(row.taxableBase)} \u00b7 GMF: ${money(row.tax)}<\/span>\r\n        <\/div>\r\n        <button type=\"button\" class=\"ig-remove\" data-index=\"${index}\" aria-label=\"Eliminar movimiento ${index + 1}\">\u00d7<\/button>\r\n      <\/div>\r\n    `).join('');\r\n  }\r\n\r\n  function addTransaction() {\r\n    const amount = parseMoney($('#igAdvancedAmount').value);\r\n    if (!amount) {\r\n      showAlert('Ingresa un nuevo movimiento antes de agregarlo al escenario.', 'warning');\r\n      return;\r\n    }\r\n    transactionRows.push({ amount });\r\n    $('#igAdvancedAmount').value = '';\r\n    renderTransactions();\r\n    calcAdvanced();\r\n    showAlert('Movimiento agregado. El siguiente c\u00e1lculo utilizar\u00e1 este acumulado dentro del escenario.', '');\r\n  }\r\n\r\n  function clearQuick() {\r\n    $('#igQuickAmount').value = '';\r\n    lastQuickReport = null;\r\n    calcQuick();\r\n    $('#igQuickAmount').focus();\r\n    showAlert('', '');\r\n  }\r\n\r\n  function clearAdvanced() {\r\n    const general = root.querySelector('input[name=\"igAdvancedMode\"][value=\"general\"]');\r\n    if (general) general.checked = true;\r\n    transactionRows = [];\r\n    $('#igUsedBefore').value = '';\r\n    $('#igAdvancedAmount').value = '';\r\n    updateAdvancedLabels('general');\r\n    renderTransactions();\r\n    calcAdvanced();\r\n    $('#igAdvancedStatus').textContent = '';\r\n    showAlert('', '');\r\n  }\r\n\r\n  function resetTransactionsForMode(mode) {\r\n    transactionRows = [];\r\n    renderTransactions();\r\n    updateAdvancedLabels(mode);\r\n    calcAdvanced();\r\n    showAlert('Se limpi\u00f3 el historial de movimientos para evitar mezclar reglas de escenarios distintos.', '');\r\n  }\r\n\r\n  function buildShareUrl(report) {\r\n    const params = new URLSearchParams();\r\n    params.set('igcalc', '4x1000');\r\n\r\n    if (report.type === 'quick') {\r\n      params.set('modo', 'rapido');\r\n      params.set('monto', String(Math.round(report.movement)));\r\n    } else {\r\n      params.set('modo', 'avanzado');\r\n      params.set('escenario', report.mode);\r\n      params.set('usado', String(Math.round(report.baselineUsed)));\r\n      params.set('monto', String(Math.round(report.movement)));\r\n    }\r\n\r\n    return `${location.origin}${location.pathname}?${params.toString()}`;\r\n  }\r\n\r\n  function fallbackCopy(text) {\r\n    const input = document.createElement('input');\r\n    input.value = text;\r\n    document.body.appendChild(input);\r\n    input.select();\r\n    document.execCommand('copy');\r\n    input.remove();\r\n  }\r\n\r\n  async function copyReportUrl(report) {\r\n    if (!report) return;\r\n    const url = buildShareUrl(report);\r\n    try {\r\n      if (navigator.clipboard?.writeText) await navigator.clipboard.writeText(url);\r\n      else fallbackCopy(url);\r\n      history.replaceState(null, '', url);\r\n      showAlert('Enlace copiado con los datos principales de la simulaci\u00f3n.', '');\r\n    } catch (error) {\r\n      fallbackCopy(url);\r\n      history.replaceState(null, '', url);\r\n      showAlert('Enlace copiado con los datos principales de la simulaci\u00f3n.', '');\r\n    }\r\n  }\r\n\r\n  function ensureJsPdf() {\r\n    if (window.jspdf?.jsPDF) return Promise.resolve(window.jspdf.jsPDF);\r\n\r\n    return new Promise((resolve, reject) => {\r\n      const existing = document.querySelector('script[data-ig-gmf-jspdf=\"true\"]');\r\n      if (existing) {\r\n        existing.addEventListener('load', () => resolve(window.jspdf.jsPDF), { once: true });\r\n        existing.addEventListener('error', reject, { once: true });\r\n        return;\r\n      }\r\n\r\n      const script = document.createElement('script');\r\n      script.src = 'https:\/\/cdn.jsdelivr.net\/npm\/jspdf@2.5.1\/dist\/jspdf.umd.min.js';\r\n      script.async = true;\r\n      script.dataset.igGmfJspdf = 'true';\r\n      script.onload = () => resolve(window.jspdf.jsPDF);\r\n      script.onerror = reject;\r\n      document.head.appendChild(script);\r\n    });\r\n  }\r\n\r\n  async function imageToDataUrl(url) {\r\n    const response = await fetch(url, { mode: 'cors', credentials: 'omit' });\r\n    if (!response.ok) throw new Error('Logo no disponible');\r\n    const blob = await response.blob();\r\n\r\n    return await new Promise((resolve, reject) => {\r\n      const reader = new FileReader();\r\n      reader.onload = () => resolve(reader.result);\r\n      reader.onerror = reject;\r\n      reader.readAsDataURL(blob);\r\n    });\r\n  }\r\n\r\n  function getPdfRows(report) {\r\n    const rows = [\r\n      ['Tarifa GMF', '0,4% \u00b7 4 x 1.000'],\r\n      ['UVT 2026', money(CONFIG.uvt)],\r\n      ['Exenci\u00f3n general 350 UVT', money(CONFIG.generalLimit)],\r\n      ['Dep\u00f3sito bajo monto 65 UVT', money(CONFIG.lowLimit)],\r\n      ['Escenario', report.scenario]\r\n    ];\r\n\r\n    if (report.type === 'quick') {\r\n      rows.push(\r\n        ['Valor del movimiento', money(report.movement)],\r\n        ['Base gravada', money(report.taxableBase)],\r\n        ['4x1000 del movimiento', money(report.tax)],\r\n        ['Movimiento + GMF (referencia)', money(report.totalReference)]\r\n      );\r\n    } else {\r\n      rows.push(\r\n        ['Exenci\u00f3n usada antes del escenario', money(report.baselineUsed)],\r\n        ['Movimientos agregados al escenario', money(report.simulatedRowsTotal)],\r\n        ['Acumulado antes del nuevo movimiento', money(report.effectiveUsed)],\r\n        ['Nuevo movimiento', money(report.movement)],\r\n        ['L\u00edmite aplicable', report.limit ? money(report.limit) : 'No aplica'],\r\n        ['Parte exenta', money(report.exemptPart)],\r\n        ['Parte gravada', money(report.taxableBase)],\r\n        ['4x1000 del movimiento', money(report.tax)],\r\n        ['Exenci\u00f3n restante', report.limit ? money(report.remainingAfter) : 'No aplica']\r\n      );\r\n    }\r\n\r\n    return rows;\r\n  }\r\n\r\n  async function exportPdf(report, filename, statusEl) {\r\n    if (!report) return;\r\n\r\n    if (statusEl) statusEl.textContent = 'Generando reporte PDF...';\r\n\r\n    try {\r\n      const jsPDF = await ensureJsPdf();\r\n      const doc = new jsPDF({ unit: 'mm', format: 'a4' });\r\n      const margin = 18;\r\n      let y = 16;\r\n      let logoData = null;\r\n\r\n      try { logoData = await imageToDataUrl(CONFIG.logoUrl); } catch (error) {}\r\n\r\n      if (logoData) {\r\n        doc.addImage(logoData, 'PNG', margin, 12, 30, 12);\r\n      } else {\r\n        doc.setFillColor(15,159,122);\r\n        doc.roundedRect(margin, 12, 12, 12, 2, 2, 'F');\r\n        doc.setTextColor(255,255,255);\r\n        doc.setFont('helvetica','bold');\r\n        doc.setFontSize(8);\r\n        doc.text('IG', margin + 3.2, 19.5);\r\n      }\r\n\r\n      doc.setTextColor(22,53,47);\r\n      doc.setFont('helvetica','bold');\r\n      doc.setFontSize(11);\r\n      doc.text('InversionesGuru Colombia', margin + 35, 17);\r\n      doc.setTextColor(95,115,109);\r\n      doc.setFont('helvetica','normal');\r\n      doc.setFontSize(8);\r\n      doc.text(CONFIG.siteUrl, margin + 35, 22);\r\n\r\n      doc.setDrawColor(216,229,224);\r\n      doc.line(margin, 29, 210 - margin, 29);\r\n      y = 40;\r\n\r\n      doc.setTextColor(22,53,47);\r\n      doc.setFont('helvetica','bold');\r\n      doc.setFontSize(18);\r\n      doc.text(report.title || 'Calculadora 4x1000 Colombia 2026', margin, y);\r\n      y += 9;\r\n\r\n      doc.setTextColor(95,115,109);\r\n      doc.setFont('helvetica','normal');\r\n      doc.setFontSize(9);\r\n      const intro = doc.splitTextToSize('Reporte educativo. La liquidaci\u00f3n efectiva depende de la naturaleza del movimiento, las exenciones que realmente correspondan y el procesamiento del agente retenedor.', 174);\r\n      doc.text(intro, margin, y);\r\n      y += intro.length * 5 + 5;\r\n\r\n      const rows = getPdfRows(report);\r\n      rows.forEach(([label, value]) => {\r\n        if (y > 274) {\r\n          doc.addPage();\r\n          y = 18;\r\n        }\r\n        doc.setFillColor(244,251,248);\r\n        doc.roundedRect(margin, y - 4, 174, 8, 1.5, 1.5, 'F');\r\n        doc.setTextColor(95,115,109);\r\n        doc.setFont('helvetica','normal');\r\n        doc.setFontSize(8);\r\n        doc.text(String(label), margin + 3, y + 1);\r\n        doc.setTextColor(22,53,47);\r\n        doc.setFont('helvetica','bold');\r\n        doc.text(String(value), 210 - margin - 3, y + 1, { align: 'right' });\r\n        y += 10;\r\n      });\r\n\r\n      y += 4;\r\n      doc.setTextColor(95,115,109);\r\n      doc.setFont('helvetica','normal');\r\n      doc.setFontSize(8.5);\r\n      const note = doc.splitTextToSize(report.message || '', 174);\r\n      doc.text(note, margin, y);\r\n\r\n      const pages = doc.getNumberOfPages();\r\n      for (let i = 1; i <= pages; i++) {\r\n        doc.setPage(i);\r\n        doc.setTextColor(130,145,140);\r\n        doc.setFontSize(7.5);\r\n        doc.text('inversionesguru.com\/co\/ \u00b7 Simulaci\u00f3n informativa', margin, 291);\r\n        doc.text(`P\u00e1gina ${i} de ${pages}`, 210 - margin, 291, { align: 'right' });\r\n      }\r\n\r\n      doc.save(filename);\r\n      if (statusEl) statusEl.textContent = 'PDF descargado.';\r\n    } catch (error) {\r\n      if (statusEl) statusEl.textContent = 'No fue posible generar el PDF descargable. Revisa permisos del navegador.';\r\n    }\r\n  }\r\n\r\n  function applyUrlParams() {\r\n    const params = new URLSearchParams(location.search);\r\n    if (params.get('igcalc') !== '4x1000') return;\r\n\r\n    const mode = params.get('modo');\r\n    if (mode === 'rapido') {\r\n      const amount = Number(params.get('monto'));\r\n      if (Number.isFinite(amount) && amount > 0) {\r\n        $('#igQuickAmount').value = fmtNumber.format(Math.round(amount));\r\n        calcQuick();\r\n      }\r\n      return;\r\n    }\r\n\r\n    if (mode === 'avanzado') {\r\n      const scenario = params.get('escenario');\r\n      const radio = root.querySelector(`input[name=\"igAdvancedMode\"][value=\"${scenario}\"]`);\r\n      if (radio) radio.checked = true;\r\n      const resolved = getAdvancedMode();\r\n      updateAdvancedLabels(resolved);\r\n\r\n      const used = Number(params.get('usado'));\r\n      const amount = Number(params.get('monto'));\r\n\r\n      if (resolved !== 'taxed' && Number.isFinite(used) && used > 0) {\r\n        $('#igUsedBefore').value = fmtNumber.format(Math.round(used));\r\n      }\r\n      if (Number.isFinite(amount) && amount > 0) {\r\n        $('#igAdvancedAmount').value = fmtNumber.format(Math.round(amount));\r\n      }\r\n\r\n      $('#igAdvanced').open = true;\r\n      calcAdvanced();\r\n      setTimeout(() => {\r\n        $('#igAdvancedSection').scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n      }, 50);\r\n    }\r\n  }\r\n\r\n  bindMoney($('#igQuickAmount'), calcQuick);\r\n  bindMoney($('#igAvailableBalance'), calcInverse);\r\n  bindMoney($('#igUsedBefore'), () => { renderTransactions(); calcAdvanced(); });\r\n  bindMoney($('#igAdvancedAmount'), calcAdvanced);\r\n\r\n  $$('.ig-example').forEach((button) => {\r\n    button.addEventListener('click', () => {\r\n      const amount = Number(button.dataset.amount || 0);\r\n      $('#igQuickAmount').value = fmtNumber.format(amount);\r\n      calcQuick();\r\n      $('#igQuickAmount').focus();\r\n    });\r\n  });\r\n\r\n  $('#igOpenAdvanced').addEventListener('click', () => {\r\n    $('#igAdvanced').open = true;\r\n    $('#igAdvancedSection').scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n    setTimeout(() => $('#igAdvancedAmount').focus(), 350);\r\n  });\r\n\r\n  $$('input[name=\"igAdvancedMode\"]').forEach((radio) => {\r\n    radio.addEventListener('change', () => resetTransactionsForMode(getAdvancedMode()));\r\n  });\r\n\r\n  $('#igAddTransaction').addEventListener('click', addTransaction);\r\n  $('#igQuickClear').addEventListener('click', clearQuick);\r\n  $('#igAdvancedClear').addEventListener('click', clearAdvanced);\r\n\r\n  $('#igQuickPdf').addEventListener('click', () => exportPdf(lastQuickReport, CONFIG.pdfQuick, $('#igQuickPdfStatus')));\r\n  $('#igAdvancedPdf').addEventListener('click', () => exportPdf(lastAdvancedReport, CONFIG.pdfAdvanced, $('#igAdvancedStatus')));\r\n  $('#igQuickCopy').addEventListener('click', () => copyReportUrl(lastQuickReport));\r\n  $('#igAdvancedCopy').addEventListener('click', () => copyReportUrl(lastAdvancedReport));\r\n\r\n  $('#igTransactionList').addEventListener('click', (event) => {\r\n    const button = event.target.closest('.ig-remove');\r\n    if (!button) return;\r\n    const index = Number(button.dataset.index);\r\n    if (!Number.isInteger(index) || index < 0 || index >= transactionRows.length) return;\r\n    transactionRows.splice(index, 1);\r\n    renderTransactions();\r\n    calcAdvanced();\r\n  });\r\n\r\n  calcQuick();\r\n  calcInverse();\r\n  updateAdvancedLabels('general');\r\n  calcAdvanced();\r\n  applyUrlParams();\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>4&#215;1000 Colombia \u00b7 Actualizado 2026 Calculadora 4&#215;1000: descubre cu\u00e1nto pagar\u00edas en segundos. Escribe el valor de un movimiento gravado y obt\u00e9n el GMF estimado al instante. Si despu\u00e9s quieres revisar exenciones, puedes abrir el c\u00e1lculo avanzado. Valor del movimiento Escribe el valor en pesos colombianos. El c\u00e1lculo r\u00e1pido supone que el movimiento est\u00e1 gravado. $100.000&#8230;<\/p>\n","protected":false},"author":1,"featured_media":4022,"template":"elementor_header_footer","meta":{"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-5917","herramientas","type-herramientas","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/herramientas\/5917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/herramientas"}],"about":[{"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/types\/herramientas"}],"author":[{"embeddable":true,"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":34,"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/herramientas\/5917\/revisions"}],"predecessor-version":[{"id":8859,"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/herramientas\/5917\/revisions\/8859"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/media\/4022"}],"wp:attachment":[{"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/media?parent=5917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}