{"id":5922,"date":"2024-03-12T21:22:06","date_gmt":"2024-03-13T02:22:06","guid":{"rendered":"https:\/\/inversionesguru.com\/co\/?post_type=herramientas&#038;p=5922"},"modified":"2026-02-20T16:09:01","modified_gmt":"2026-02-20T21:09:01","slug":"simulador-de-tarjeta-de-credito-colombia","status":"publish","type":"herramientas","link":"https:\/\/inversionesguru.com\/co\/herramientas\/simulador-de-tarjeta-de-credito-colombia\/","title":{"rendered":"Simulador de Cuotas Tarjeta de Cr\u00e9dito en Colombia (2026)"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"5922\" class=\"elementor elementor-5922\" data-elementor-post-type=\"herramientas\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ce735ba e-flex e-con-boxed e-con e-parent\" data-id=\"ce735ba\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5774a1b elementor-widget elementor-widget-html\" data-id=\"5774a1b\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  Simulador de Tarjeta de Cr\u00e9dito (Colombia) \u2014 UI Teal\r\n  - Modo SIMPLE: solo \u201cCuota decreciente\u201d (Capital fijo)\r\n  - Modo AVANZADO: habilita Cuota fija (franc\u00e9s) + base de c\u00e1lculo (365\/360)\r\n  - Conversi\u00f3n E.A. \u2194 E.M.\r\n  - Primera cuota con inter\u00e9s prorrateado por d\u00edas hasta el corte (desde E.A.)\r\n  - Tasa de usura actualizada a FEBRERO 2026 (25,23% E.A.)\r\n  - Descarga del plan en CSV\r\n-->\r\n\r\n<script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n  \/* === SISTEMA DE DISE\u00d1O ENCAPSULADO === *\/\r\n  #credit-card-calculator-app {\r\n    --brand-primary: #0D9488 !important;\r\n    --brand-primary-hover: #0F766E !important;\r\n    --brand-primary-light: #f0fdfa !important;\r\n    --brand-accent-green: #16a34a !important;\r\n    --brand-accent-amber: #d97706 !important;\r\n    --brand-accent-secondary: #3b82f6 !important;\r\n    --brand-text-main: #1e293b !important;\r\n    --brand-text-muted: #64748b !important;\r\n    --brand-bg-main: #f8fafc !important;\r\n    --brand-bg-card: #ffffff !important;\r\n    --brand-border-soft: #e2e8f0 !important;\r\n    --brand-border-focus: #5eead4 !important;\r\n  }\r\n\r\n  #credit-card-calculator-app,\r\n  #credit-card-calculator-app * {\r\n    all: revert;\r\n    margin: 0;\r\n    padding: 0;\r\n    box-sizing: border-box;\r\n  }\r\n\r\n  #credit-card-calculator-app {\r\n    font-family: 'Inter', sans-serif !important;\r\n    background-color: var(--brand-bg-main) !important;\r\n    color: var(--brand-text-main) !important;\r\n    line-height: 1.5 !important;\r\n    padding: 1rem !important;\r\n    min-height: 100vh !important;\r\n    display: block !important;\r\n    width: 100% !important;\r\n    overflow-x: hidden !important;\r\n  }\r\n\r\n  @media (min-width: 768px) {\r\n    #credit-card-calculator-app { padding: 2rem !important; }\r\n  }\r\n\r\n  #credit-card-calculator-app .main-container {\r\n    max-width: 100% !important;\r\n    margin: 0 !important;\r\n    padding: 0 !important;\r\n    width: 100% !important;\r\n    overflow-x: hidden !important;\r\n  }\r\n\r\n  @media (min-width: 1280px) {\r\n    #credit-card-calculator-app .main-container {\r\n      max-width: 64rem !important;\r\n      margin: 0 auto !important;\r\n    }\r\n  }\r\n\r\n  #credit-card-calculator-app .card {\r\n    background-color: var(--brand-bg-card) !important;\r\n    border-radius: 1.25rem !important;\r\n    border: 1px solid var(--brand-border-soft) !important;\r\n    box-shadow: 0 10px 15px -3px rgb(0 0 0 \/ 0.05), 0 4px 6px -4px rgb(0 0 0 \/ 0.05) !important;\r\n    padding: 1rem !important;\r\n    margin: 0 0 1.5rem 0 !important;\r\n    width: 100% !important;\r\n    overflow-x: hidden !important;\r\n  }\r\n\r\n  @media (min-width: 640px) {\r\n    #credit-card-calculator-app .card { padding: 1.5rem !important; }\r\n  }\r\n\r\n  @media (min-width: 768px) {\r\n    #credit-card-calculator-app .card { padding: 2rem !important; margin: 0 0 2rem 0 !important; }\r\n  }\r\n\r\n  #credit-card-calculator-app .header-gradient {\r\n    background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-hover)) !important;\r\n    color: #FFFFFF !important;\r\n    padding: 2rem 1rem !important;\r\n    border-radius: 1.25rem !important;\r\n    margin: 0 0 1.5rem 0 !important;\r\n    box-shadow: 0 10px 15px -3px rgb(0 0 0 \/ 0.05) !important;\r\n    text-align: center !important;\r\n    display: flex !important;\r\n    align-items: center !important;\r\n    justify-content: center !important;\r\n    min-height: 160px !important;\r\n    width: 100% !important;\r\n    overflow-x: hidden !important;\r\n  }\r\n\r\n  @media (min-width: 640px) {\r\n    #credit-card-calculator-app .header-gradient { padding: 2.5rem 2rem !important; min-height: 180px !important; margin-bottom: 2rem !important; }\r\n  }\r\n\r\n  @media (min-width: 768px) {\r\n    #credit-card-calculator-app .header-gradient { padding: 3rem 2rem !important; min-height: 200px !important; }\r\n  }\r\n\r\n  #credit-card-calculator-app .header-gradient h1 {\r\n    font-size: 1.25rem !important;\r\n    font-weight: 800 !important;\r\n    color: #FFFFFF !important;\r\n    line-height: 1.3 !important;\r\n    letter-spacing: -0.025em !important;\r\n    margin: 0 0 0.5rem 0 !important;\r\n  }\r\n\r\n  @media (min-width: 640px) { #credit-card-calculator-app .header-gradient h1 { font-size: 1.5rem !important; } }\r\n  @media (min-width: 768px) { #credit-card-calculator-app .header-gradient h1 { font-size: 1.875rem !important; } }\r\n\r\n  #credit-card-calculator-app .header-gradient p {\r\n    font-size: 0.75rem !important;\r\n    color: rgba(255, 255, 255, 0.95) !important;\r\n    margin: 0 !important;\r\n    line-height: 1.5 !important;\r\n  }\r\n\r\n  @media (min-width: 640px) { #credit-card-calculator-app .header-gradient p { font-size: 0.875rem !important; } }\r\n\r\n  #credit-card-calculator-app label {\r\n    display: block !important;\r\n    font-size: 0.875rem !important;\r\n    font-weight: 600 !important;\r\n    color: var(--brand-text-main) !important;\r\n    margin-bottom: 0.5rem !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .section-title {\r\n    font-size: 1.125rem !important;\r\n    font-weight: 700 !important;\r\n    color: var(--brand-text-main) !important;\r\n    margin-bottom: 1rem !important;\r\n  }\r\n\r\n  @media (min-width: 768px) { #credit-card-calculator-app .section-title { font-size: 1.25rem !important; margin-bottom: 1.5rem !important; } }\r\n\r\n  #credit-card-calculator-app .section-subtitle {\r\n    font-size: 0.9rem !important;\r\n    font-weight: 700 !important;\r\n    color: var(--brand-text-main) !important;\r\n    margin: 1.5rem 0 0.75rem 0 !important;\r\n  }\r\n\r\n  @media (min-width: 768px) { #credit-card-calculator-app .section-subtitle { font-size: 1rem !important; margin: 2rem 0 1rem 0 !important; } }\r\n\r\n  #credit-card-calculator-app input[type=\"text\"],\r\n  #credit-card-calculator-app input[type=\"number\"],\r\n  #credit-card-calculator-app input[type=\"date\"],\r\n  #credit-card-calculator-app select {\r\n    width: 100% !important;\r\n    padding: 0.75rem 1rem !important;\r\n    border: 1px solid var(--brand-border-soft) !important;\r\n    border-radius: 0.75rem !important;\r\n    font-size: 1rem !important;\r\n    font-family: 'Inter', sans-serif !important;\r\n    background: var(--brand-bg-main) !important;\r\n    color: var(--brand-text-main) !important;\r\n    transition: all 0.2s !important;\r\n    box-sizing: border-box !important;\r\n  }\r\n\r\n  #credit-card-calculator-app input:focus,\r\n  #credit-card-calculator-app select:focus {\r\n    outline: none !important;\r\n    border-color: var(--brand-border-focus) !important;\r\n    box-shadow: 0 0 0 3px var(--brand-primary-light) !important;\r\n    background: white !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .radio-group {\r\n    display: grid !important;\r\n    grid-template-columns: 1fr !important;\r\n    gap: 0.75rem !important;\r\n    width: 100% !important;\r\n  }\r\n\r\n  @media (min-width: 640px) {\r\n    #credit-card-calculator-app .radio-group { grid-template-columns: repeat(3, 1fr) !important; }\r\n  }\r\n\r\n  #credit-card-calculator-app .radio-group.two-cols { grid-template-columns: 1fr !important; }\r\n  @media (min-width: 640px) { #credit-card-calculator-app .radio-group.two-cols { grid-template-columns: repeat(2, 1fr) !important; } }\r\n\r\n  #credit-card-calculator-app .radio-label {\r\n    display: flex !important;\r\n    align-items: center !important;\r\n    padding: 0.75rem 1rem !important;\r\n    border: 1px solid var(--brand-border-soft) !important;\r\n    border-radius: 0.75rem !important;\r\n    cursor: pointer !important;\r\n    transition: all 0.2s !important;\r\n    background: var(--brand-bg-card) !important;\r\n    font-size: 0.875rem !important;\r\n    font-weight: 500 !important;\r\n    color: var(--brand-text-main) !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .radio-label:hover {\r\n    border-color: var(--brand-primary) !important;\r\n    background: var(--brand-primary-light) !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .radio-label input[type=\"radio\"] {\r\n    width: 20px !important;\r\n    height: 20px !important;\r\n    margin-right: 0.75rem !important;\r\n    cursor: pointer !important;\r\n    flex-shrink: 0 !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .radio-label input[type=\"radio\"]:checked ~ span {\r\n    color: var(--brand-primary) !important;\r\n    font-weight: 700 !important;\r\n  }\r\n\r\n  #credit-card-calculator-app #extra-fee-container {\r\n    display: none !important;\r\n    opacity: 0 !important;\r\n    max-height: 0 !important;\r\n    overflow: hidden !important;\r\n    transition: all 0.3s ease !important;\r\n  }\r\n  #credit-card-calculator-app #extra-fee-container.visible {\r\n    display: block !important;\r\n    opacity: 1 !important;\r\n    max-height: 220px !important;\r\n  }\r\n\r\n  \/* Nuevo: contenedor avanzado *\/\r\n  #credit-card-calculator-app #advanced-options {\r\n    display: none !important;\r\n    opacity: 0 !important;\r\n    max-height: 0 !important;\r\n    overflow: hidden !important;\r\n    transition: all 0.3s ease !important;\r\n  }\r\n  #credit-card-calculator-app #advanced-options.visible {\r\n    display: block !important;\r\n    opacity: 1 !important;\r\n    max-height: 520px !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .rate-type-selector {\r\n    display: flex !important;\r\n    gap: 0.5rem !important;\r\n    margin-bottom: 0.75rem !important;\r\n    width: 100% !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .rate-type-btn {\r\n    flex: 1 !important;\r\n    padding: 0.625rem 1rem !important;\r\n    border: 1px solid var(--brand-border-soft) !important;\r\n    border-radius: 0.5rem !important;\r\n    background: var(--brand-bg-card) !important;\r\n    color: var(--brand-text-main) !important;\r\n    font-size: 0.875rem !important;\r\n    font-weight: 600 !important;\r\n    cursor: pointer !important;\r\n    transition: all 0.2s !important;\r\n    font-family: 'Inter', sans-serif !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .rate-type-btn:hover {\r\n    border-color: var(--brand-primary) !important;\r\n    background: var(--brand-primary-light) !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .rate-type-btn.active {\r\n    background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-hover)) !important;\r\n    color: #FFFFFF !important;\r\n    border-color: var(--brand-primary-hover) !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .rate-conversion {\r\n    display: flex !important;\r\n    justify-content: space-between !important;\r\n    align-items: center !important;\r\n    background: var(--brand-primary-light) !important;\r\n    padding: 0.75rem 1rem !important;\r\n    border-radius: 0.5rem !important;\r\n    margin-top: 0.5rem !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .rate-conversion-label {\r\n    font-size: 0.875rem !important;\r\n    font-weight: 500 !important;\r\n    color: var(--brand-text-muted) !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .rate-conversion-value {\r\n    font-size: 1rem !important;\r\n    font-weight: 700 !important;\r\n    color: var(--brand-primary) !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .tooltip {\r\n    position: relative !important;\r\n    display: inline-block !important;\r\n    cursor: help !important;\r\n    color: var(--brand-text-muted) !important;\r\n    margin-left: 0.25rem !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .tooltip .tooltiptext {\r\n    visibility: hidden !important;\r\n    width: 260px !important;\r\n    background-color: var(--brand-text-main) !important;\r\n    color: #fff !important;\r\n    text-align: center !important;\r\n    border-radius: 0.5rem !important;\r\n    padding: 0.75rem !important;\r\n    position: absolute !important;\r\n    z-index: 1000 !important;\r\n    bottom: 125% !important;\r\n    left: 50% !important;\r\n    margin-left: -130px !important;\r\n    opacity: 0 !important;\r\n    transition: opacity 0.3s !important;\r\n    font-size: 0.75rem !important;\r\n    font-weight: 400 !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .tooltip .tooltiptext::after {\r\n    content: \"\" !important;\r\n    position: absolute !important;\r\n    top: 100% !important;\r\n    left: 50% !important;\r\n    margin-left: -5px !important;\r\n    border-width: 5px !important;\r\n    border-style: solid !important;\r\n    border-color: var(--brand-text-main) transparent transparent transparent !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .tooltip:hover .tooltiptext {\r\n    visibility: visible !important;\r\n    opacity: 1 !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .slider-container {\r\n    display: grid !important;\r\n    grid-template-columns: 1fr auto !important;\r\n    gap: 1rem !important;\r\n    align-items: center !important;\r\n    width: 100% !important;\r\n  }\r\n\r\n  #credit-card-calculator-app input[type=\"range\"] {\r\n    width: 100% !important;\r\n    height: 8px !important;\r\n    border-radius: 5px !important;\r\n    background: var(--brand-border-soft) !important;\r\n    outline: none !important;\r\n    -webkit-appearance: none !important;\r\n  }\r\n\r\n  #credit-card-calculator-app input[type=\"range\"]::-webkit-slider-thumb {\r\n    -webkit-appearance: none !important;\r\n    appearance: none !important;\r\n    width: 20px !important;\r\n    height: 20px !important;\r\n    border-radius: 50% !important;\r\n    background: var(--brand-primary) !important;\r\n    cursor: pointer !important;\r\n  }\r\n\r\n  #credit-card-calculator-app input[type=\"range\"]::-moz-range-thumb {\r\n    width: 20px !important;\r\n    height: 20px !important;\r\n    border-radius: 50% !important;\r\n    background: var(--brand-primary) !important;\r\n    cursor: pointer !important;\r\n    border: none !important;\r\n  }\r\n\r\n  #credit-card-calculator-app #installments-number { width: 80px !important; }\r\n\r\n  #credit-card-calculator-app .date-grid {\r\n    display: grid !important;\r\n    grid-template-columns: 1fr !important;\r\n    gap: 1rem !important;\r\n    width: 100% !important;\r\n  }\r\n\r\n  @media (min-width: 640px) { #credit-card-calculator-app .date-grid { grid-template-columns: 1fr 1fr !important; } }\r\n\r\n  #credit-card-calculator-app .button-group {\r\n    display: flex !important;\r\n    gap: 1rem !important;\r\n    flex-direction: column !important;\r\n    width: 100% !important;\r\n  }\r\n\r\n  @media (min-width: 640px) { #credit-card-calculator-app .button-group { flex-direction: row !important; } }\r\n\r\n  #credit-card-calculator-app .btn {\r\n    padding: 0.875rem 1.5rem !important;\r\n    border-radius: 0.75rem !important;\r\n    font-size: 0.875rem !important;\r\n    font-weight: 700 !important;\r\n    cursor: pointer !important;\r\n    transition: all 0.2s !important;\r\n    border: none !important;\r\n    font-family: 'Inter', sans-serif !important;\r\n    display: inline-flex !important;\r\n    align-items: center !important;\r\n    justify-content: center !important;\r\n    gap: 0.5rem !important;\r\n    flex: 1 !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .btn-primary {\r\n    background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-hover)) !important;\r\n    color: #FFFFFF !important;\r\n    box-shadow: 0 4px 12px rgba(13, 148, 136, 0.3) !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .btn-primary:hover {\r\n    transform: translateY(-2px) !important;\r\n    box-shadow: 0 6px 20px rgba(13, 148, 136, 0.4) !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .btn-secondary {\r\n    background: transparent !important;\r\n    color: var(--brand-text-muted) !important;\r\n    border: 2px solid var(--brand-border-soft) !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .btn-secondary:hover {\r\n    border-color: var(--brand-text-muted) !important;\r\n    color: var(--brand-text-main) !important;\r\n    background: var(--brand-bg-main) !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .help-text {\r\n    font-size: 0.75rem !important;\r\n    color: var(--brand-text-muted) !important;\r\n    margin-top: 0.5rem !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .usury-rate-box {\r\n    display: inline-block !important;\r\n    background: #1e293b !important;\r\n    color: #ffffff !important;\r\n    padding: 0.5rem 0.75rem !important;\r\n    border-radius: 0.5rem !important;\r\n    margin-top: 0.5rem !important;\r\n    font-size: 0.75rem !important;\r\n    font-weight: 500 !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .usury-rate-value {\r\n    font-size: 1rem !important;\r\n    font-weight: 800 !important;\r\n    color: #ffffff !important;\r\n    cursor: pointer !important;\r\n    text-decoration: underline !important;\r\n    margin-left: 0.25rem !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .usury-rate-value:hover { color: #5eead4 !important; }\r\n\r\n  #credit-card-calculator-app .alert-box {\r\n    display: flex !important;\r\n    align-items: flex-start !important;\r\n    gap: 0.75rem !important;\r\n    padding: 1rem !important;\r\n    border-radius: 0.75rem !important;\r\n    margin-top: 1.25rem !important;\r\n    margin-bottom: 1.25rem !important;\r\n    font-size: 0.875rem !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .alert-warning {\r\n    background: #fef3c7 !important;\r\n    border: 1px solid #fbbf24 !important;\r\n    color: #92400e !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .alert-error {\r\n    background: #fee2e2 !important;\r\n    border: 1px solid #fecaca !important;\r\n    color: #dc2626 !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .alert-box svg { flex-shrink: 0 !important; margin-top: 2px !important; }\r\n\r\n  #credit-card-calculator-app .hidden { display: none !important; }\r\n  #credit-card-calculator-app .fade-in { animation: fadeIn 0.3s ease-in !important; }\r\n\r\n  @keyframes fadeIn {\r\n    from { opacity: 0; transform: translateY(10px); }\r\n    to { opacity: 1; transform: translateY(0); }\r\n  }\r\n\r\n  #credit-card-calculator-app .space-y-6 > * + * { margin-top: 1.5rem !important; }\r\n  #credit-card-calculator-app .text-center { text-align: center !important; }\r\n  #credit-card-calculator-app .mt-4 { margin-top: 1rem !important; }\r\n\r\n  #credit-card-calculator-app .results-section { margin-top: 2rem !important; }\r\n\r\n  #credit-card-calculator-app .summary-grid {\r\n    display: grid !important;\r\n    grid-template-columns: repeat(2, 1fr) !important;\r\n    gap: 0.75rem !important;\r\n    margin-bottom: 1.5rem !important;\r\n    width: 100% !important;\r\n  }\r\n\r\n  @media (min-width: 768px) {\r\n    #credit-card-calculator-app .summary-grid { grid-template-columns: repeat(4, 1fr) !important; gap: 1rem !important; margin-bottom: 2rem !important; }\r\n  }\r\n\r\n  #credit-card-calculator-app .summary-card {\r\n    background: var(--brand-bg-main) !important;\r\n    border: 1px solid var(--brand-border-soft) !important;\r\n    border-radius: 0.75rem !important;\r\n    padding: 0.75rem !important;\r\n    text-align: center !important;\r\n    display: flex !important;\r\n    flex-direction: column !important;\r\n    justify-content: center !important;\r\n    gap: 0.5rem !important;\r\n    transition: all 0.3s ease !important;\r\n  }\r\n\r\n  @media (min-width: 640px) { #credit-card-calculator-app .summary-card { padding: 1rem !important; border-radius: 1rem !important; } }\r\n\r\n  #credit-card-calculator-app .summary-card:hover {\r\n    transform: translateY(-2px) !important;\r\n    box-shadow: 0 4px 12px rgba(13, 148, 136, 0.1) !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .summary-card h3 {\r\n    font-size: 0.6rem !important;\r\n    font-weight: 600 !important;\r\n    text-transform: uppercase !important;\r\n    letter-spacing: 0.05em !important;\r\n    color: var(--brand-text-muted) !important;\r\n    margin: 0 !important;\r\n    line-height: 1.2 !important;\r\n  }\r\n\r\n  @media (min-width: 768px) { #credit-card-calculator-app .summary-card h3 { font-size: 0.7rem !important; } }\r\n\r\n  #credit-card-calculator-app .summary-card p {\r\n    font-size: 0.95rem !important;\r\n    font-weight: 800 !important;\r\n    color: var(--brand-text-main) !important;\r\n    margin: 0 !important;\r\n    word-wrap: break-word !important;\r\n    overflow-wrap: break-word !important;\r\n  }\r\n\r\n  @media (min-width: 768px) { #credit-card-calculator-app .summary-card p { font-size: 1.25rem !important; } }\r\n\r\n  #credit-card-calculator-app .summary-card.primary { border-left: 4px solid var(--brand-primary) !important; }\r\n  #credit-card-calculator-app .summary-card.secondary { border-left: 4px solid var(--brand-accent-secondary) !important; }\r\n  #credit-card-calculator-app .summary-card.accent { border-left: 4px solid var(--brand-accent-amber) !important; }\r\n  #credit-card-calculator-app .summary-card.green { border-left: 4px solid var(--brand-accent-green) !important; }\r\n\r\n  #credit-card-calculator-app .table-help-text {\r\n    font-size: 0.7rem !important;\r\n    color: var(--brand-text-muted) !important;\r\n    margin-bottom: 0.75rem !important;\r\n    text-align: center !important;\r\n  }\r\n\r\n  @media (min-width: 768px) { #credit-card-calculator-app .table-help-text { font-size: 0.75rem !important; margin-bottom: 1rem !important; } }\r\n\r\n  #credit-card-calculator-app .table-wrapper {\r\n    overflow-x: auto !important;\r\n    border-radius: 0.75rem !important;\r\n    border: 1px solid var(--brand-border-soft) !important;\r\n    margin-top: 0.75rem !important;\r\n    -webkit-overflow-scrolling: touch !important;\r\n    background: var(--brand-bg-card) !important;\r\n    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;\r\n    width: 100% !important;\r\n    max-width: 100% !important;\r\n  }\r\n\r\n  #credit-card-calculator-app table {\r\n    width: 100% !important;\r\n    border-collapse: collapse !important;\r\n    background: var(--brand-bg-card) !important;\r\n    min-width: 520px !important;\r\n  }\r\n\r\n  #credit-card-calculator-app thead {\r\n    background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-hover)) !important;\r\n    color: #FFFFFF !important;\r\n    position: sticky !important;\r\n    top: 0 !important;\r\n  }\r\n\r\n  #credit-card-calculator-app th {\r\n    padding: 0.5rem 0.5rem !important;\r\n    text-align: left !important;\r\n    font-weight: 600 !important;\r\n    font-size: 0.6rem !important;\r\n    text-transform: uppercase !important;\r\n    letter-spacing: 0.05em !important;\r\n    white-space: nowrap !important;\r\n    border: none !important;\r\n  }\r\n\r\n  @media (min-width: 768px) { #credit-card-calculator-app th { padding: 0.75rem 1rem !important; font-size: 0.75rem !important; } }\r\n\r\n  #credit-card-calculator-app tbody tr {\r\n    border-bottom: 1px solid var(--brand-border-soft) !important;\r\n    transition: background 0.2s ease !important;\r\n  }\r\n\r\n  #credit-card-calculator-app tbody tr:hover { background: var(--brand-bg-main) !important; }\r\n  #credit-card-calculator-app tbody tr.highlight-row { background: #fef3c7 !important; font-weight: 600 !important; }\r\n  #credit-card-calculator-app tbody tr:last-child { border-bottom: none !important; }\r\n\r\n  #credit-card-calculator-app td {\r\n    padding: 0.5rem !important;\r\n    color: var(--brand-text-main) !important;\r\n    border: none !important;\r\n    font-size: 0.65rem !important;\r\n  }\r\n\r\n  @media (min-width: 768px) { #credit-card-calculator-app td { padding: 0.75rem 1rem !important; font-size: 0.875rem !important; } }\r\n\r\n  #credit-card-calculator-app td:nth-child(4) { font-weight: 700 !important; color: var(--brand-primary) !important; }\r\n  #credit-card-calculator-app tbody tr.highlight-row td:nth-child(4) { color: #b45309 !important; }\r\n\r\n  #credit-card-calculator-app .table-wrapper::-webkit-scrollbar { height: 6px !important; }\r\n  #credit-card-calculator-app .table-wrapper::-webkit-scrollbar-track { background: var(--brand-bg-main) !important; border-radius: 4px !important; }\r\n  #credit-card-calculator-app .table-wrapper::-webkit-scrollbar-thumb { background: var(--brand-border-soft) !important; border-radius: 4px !important; }\r\n  #credit-card-calculator-app .table-wrapper::-webkit-scrollbar-thumb:hover { background: var(--brand-primary) !important; }\r\n\r\n  #credit-card-calculator-app .results-actions {\r\n    display: flex !important;\r\n    gap: 0.75rem !important;\r\n    flex-direction: column !important;\r\n    margin-top: 1rem !important;\r\n  }\r\n\r\n  @media (min-width: 640px) {\r\n    #credit-card-calculator-app .results-actions { flex-direction: row !important; justify-content: flex-end !important; }\r\n  }\r\n\r\n  #credit-card-calculator-app .btn-small {\r\n    padding: 0.75rem 1rem !important;\r\n    border-radius: 0.75rem !important;\r\n    font-size: 0.85rem !important;\r\n    font-weight: 700 !important;\r\n    cursor: pointer !important;\r\n    transition: all 0.2s !important;\r\n    border: 2px solid var(--brand-border-soft) !important;\r\n    background: transparent !important;\r\n    color: var(--brand-text-muted) !important;\r\n    font-family: 'Inter', sans-serif !important;\r\n    display: inline-flex !important;\r\n    align-items: center !important;\r\n    justify-content: center !important;\r\n    gap: 0.5rem !important;\r\n  }\r\n\r\n  #credit-card-calculator-app .btn-small:hover {\r\n    border-color: var(--brand-primary) !important;\r\n    color: var(--brand-text-main) !important;\r\n    background: var(--brand-primary-light) !important;\r\n  }\r\n<\/style>\r\n\r\n<div id=\"credit-card-calculator-app\">\r\n  <div class=\"main-container\">\r\n\r\n    <header class=\"header-gradient\">\r\n      <div>\r\n        <h1>Simulador de Tarjeta de Cr\u00e9dito Colombia<\/h1>\r\n        <p>Calcula el valor de tus cuotas, intereses y un plan de pagos aproximado<\/p>\r\n      <\/div>\r\n    <\/header>\r\n\r\n    <div class=\"card\">\r\n      <form id=\"calculator-form\" class=\"space-y-6\" novalidate>\r\n\r\n        <div>\r\n          <label>Tipo de transacci\u00f3n<\/label>\r\n          <div class=\"radio-group\">\r\n            <label class=\"radio-label\">\r\n              <input type=\"radio\" name=\"transaction-type\" value=\"purchase\" checked>\r\n              <span>Compra<\/span>\r\n            <\/label>\r\n            <label class=\"radio-label\">\r\n              <input type=\"radio\" name=\"transaction-type\" value=\"advance\">\r\n              <span>Avance<\/span>\r\n            <\/label>\r\n            <label class=\"radio-label\">\r\n              <input type=\"radio\" name=\"transaction-type\" value=\"portfolio-purchase\">\r\n              <span>Compra de cartera<\/span>\r\n            <\/label>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div>\r\n          <label for=\"purchase-value\">Valor de la transacci\u00f3n ($)<\/label>\r\n          <input type=\"text\" id=\"purchase-value\" placeholder=\"Ej: 1.000.000\" inputmode=\"numeric\" autocomplete=\"off\" required>\r\n        <\/div>\r\n\r\n        <div id=\"extra-fee-container\">\r\n          <label for=\"extra-fee\" id=\"extra-fee-label\">Costo adicional ($)<\/label>\r\n          <input type=\"text\" id=\"extra-fee\" placeholder=\"Ej: 5.850\" inputmode=\"numeric\" autocomplete=\"off\">\r\n          <p class=\"help-text\" id=\"extra-fee-help\">Opcional. Si tu banco cobra comisi\u00f3n\/estudio\/seguro por esta operaci\u00f3n, agr\u00e9galo aqu\u00ed.<\/p>\r\n        <\/div>\r\n\r\n        <div>\r\n          <label for=\"rate-input\">\r\n            Tasa de Inter\u00e9s\r\n            <span class=\"tooltip\">\u24d8\r\n              <span class=\"tooltiptext\">Selecciona el tipo de tasa que conoces. La E.A. (Efectiva Anual) es la tasa total anual. La E.M. (Efectiva Mensual) suele aparecer en el extracto o en el diferido.<\/span>\r\n            <\/span>\r\n          <\/label>\r\n\r\n          <div class=\"rate-type-selector\" role=\"tablist\" aria-label=\"Tipo de tasa\">\r\n            <button type=\"button\" class=\"rate-type-btn active\" data-rate-type=\"EA\" role=\"tab\" aria-selected=\"true\">E.A. (Anual)<\/button>\r\n            <button type=\"button\" class=\"rate-type-btn\" data-rate-type=\"EM\" role=\"tab\" aria-selected=\"false\">E.M. (Mensual)<\/button>\r\n          <\/div>\r\n\r\n          <input type=\"text\" id=\"rate-input\" placeholder=\"Ej: 30.5\" inputmode=\"decimal\" autocomplete=\"off\" required>\r\n\r\n          <div id=\"rate-conversion\" class=\"rate-conversion hidden\" aria-live=\"polite\">\r\n            <span class=\"rate-conversion-label\" id=\"conversion-label\">Equivale a E.M.:<\/span>\r\n            <span class=\"rate-conversion-value\" id=\"conversion-value\">0.00%<\/span>\r\n          <\/div>\r\n\r\n          <p class=\"help-text\">\r\n            <span class=\"usury-rate-box\">\r\n              Tasa M\u00e1xima de usura (<span id=\"usury-month\">Febrero 2026<\/span>):\r\n              <span id=\"use-usury-rate\" class=\"usury-rate-value\">25.23%<\/span>\r\n            <\/span>\r\n          <\/p>\r\n        <\/div>\r\n\r\n        <!-- SIMPLE \/ AVANZADO -->\r\n        <div>\r\n          <label>\r\n            Nivel de simulaci\u00f3n\r\n            <span class=\"tooltip\">\u24d8\r\n              <span class=\"tooltiptext\">Simple: la forma m\u00e1s com\u00fan en tarjeta (cuota decreciente). Avanzado: habilita cuota fija y opciones adicionales.<\/span>\r\n            <\/span>\r\n          <\/label>\r\n          <div class=\"radio-group two-cols\">\r\n            <label class=\"radio-label\">\r\n              <input type=\"radio\" name=\"sim-level\" value=\"simple\" checked>\r\n              <span>Simple (recomendado)<\/span>\r\n            <\/label>\r\n            <label class=\"radio-label\">\r\n              <input type=\"radio\" name=\"sim-level\" value=\"advanced\">\r\n              <span>Avanzado<\/span>\r\n            <\/label>\r\n          <\/div>\r\n          <p class=\"help-text\">En <b>Simple<\/b> el simulador usa cuota <b>decreciente<\/b> (capital fijo). En <b>Avanzado<\/b> puedes elegir cuota fija (franc\u00e9s).<\/p>\r\n        <\/div>\r\n\r\n        <!-- AVANZADO -->\r\n        <div id=\"advanced-options\">\r\n          <div>\r\n            <label>\r\n              Tipo de amortizaci\u00f3n\r\n              <span class=\"tooltip\">\u24d8\r\n                <span class=\"tooltiptext\">Capital fijo: la cuota tiende a bajar porque pagas el mismo capital cada mes. Cuota fija (franc\u00e9s): pagas una cuota casi igual cada mes (la primera puede variar por el prorrateo al corte).<\/span>\r\n              <\/span>\r\n            <\/label>\r\n            <div class=\"radio-group two-cols\">\r\n              <label class=\"radio-label\">\r\n                <input type=\"radio\" name=\"amortization-method\" value=\"fixed-capital\" checked>\r\n                <span>Capital fijo (cuota decreciente)<\/span>\r\n              <\/label>\r\n              <label class=\"radio-label\">\r\n                <input type=\"radio\" name=\"amortization-method\" value=\"fixed-payment\">\r\n                <span>Cuota fija (sistema franc\u00e9s)<\/span>\r\n              <\/label>\r\n            <\/div>\r\n            <p class=\"help-text\">Si buscas una cuota \u201cestable\u201d, elige <b>Cuota fija<\/b>.<\/p>\r\n          <\/div>\r\n\r\n          <div class=\"date-grid\" style=\"margin-top: 1.25rem;\">\r\n            <div>\r\n              <label for=\"day-count-base\">Base de c\u00e1lculo (inter\u00e9s diario)<\/label>\r\n              <select id=\"day-count-base\">\r\n                <option value=\"365\" selected>365 (m\u00e1s com\u00fan)<\/option>\r\n                <option value=\"360\">360 (algunas entidades)<\/option>\r\n              <\/select>\r\n              <p class=\"help-text\">Afecta el prorrateo de la <b>primera cuota<\/b> (por d\u00edas al corte).<\/p>\r\n            <\/div>\r\n            <div>\r\n              <label style=\"opacity:.85;\">Transparencia<\/label>\r\n              <p class=\"help-text\" style=\"margin-top:.1rem;\">En Avanzado ver\u00e1s detalles del corte estimado en los resultados.<\/p>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div>\r\n          <label for=\"installments\">N\u00famero de cuotas<\/label>\r\n          <div class=\"slider-container\">\r\n            <input type=\"range\" id=\"installments-slider\" min=\"1\" max=\"60\" value=\"12\">\r\n            <input type=\"number\" id=\"installments-number\" min=\"1\" max=\"60\" value=\"12\">\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"date-grid\">\r\n          <div>\r\n            <label for=\"purchase-date\">Fecha de la transacci\u00f3n<\/label>\r\n            <input type=\"date\" id=\"purchase-date\" required>\r\n          <\/div>\r\n          <div>\r\n            <label for=\"cutoff-day\">\r\n              D\u00eda de corte\r\n              <span class=\"tooltip\">\u24d8\r\n                <span class=\"tooltiptext\">El d\u00eda del mes en que el banco factura tus compras. Si el mes no tiene ese d\u00eda (p. ej. 31), se usa el \u00faltimo d\u00eda del mes.<\/span>\r\n              <\/span>\r\n            <\/label>\r\n            <input type=\"number\" id=\"cutoff-day\" min=\"1\" max=\"31\" placeholder=\"Ej: 15\" required>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"button-group\">\r\n          <button type=\"submit\" class=\"btn btn-primary\">\ud83d\udcca Calcular<\/button>\r\n          <button type=\"button\" id=\"clear-button\" class=\"btn btn-secondary\">\ud83d\udd04 Limpiar<\/button>\r\n        <\/div>\r\n      <\/form>\r\n\r\n      <div id=\"alert-box\" class=\"hidden\"><\/div>\r\n\r\n      <div id=\"results-section\" class=\"results-section hidden\">\r\n        <h2 class=\"section-title\">Resumen de tu Simulaci\u00f3n<\/h2>\r\n\r\n        <div class=\"summary-grid\">\r\n          <div class=\"summary-card secondary\">\r\n            <h3>Primera Cuota<\/h3>\r\n            <p id=\"summary-first-payment\">$0<\/p>\r\n          <\/div>\r\n          <div class=\"summary-card primary\">\r\n            <h3>Cuota Mensual T\u00edpica<\/h3>\r\n            <p id=\"summary-monthly-payment\">$0<\/p>\r\n          <\/div>\r\n          <div class=\"summary-card accent\">\r\n            <h3>Total de Intereses<\/h3>\r\n            <p id=\"summary-total-interest\">$0<\/p>\r\n          <\/div>\r\n          <div class=\"summary-card green\">\r\n            <h3>Pago Total<\/h3>\r\n            <p id=\"summary-total-payment\">$0<\/p>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <p id=\"advanced-info\" class=\"help-text text-center hidden\"><\/p>\r\n\r\n        <h3 class=\"section-subtitle\">Plan de Pagos Detallado<\/h3>\r\n        <p class=\"table-help-text\">\ud83d\udc49 <i>Desliza horizontalmente en m\u00f3viles para ver todas las columnas<\/i><\/p>\r\n\r\n        <div class=\"table-wrapper\">\r\n          <table>\r\n            <thead>\r\n              <tr>\r\n                <th>Cuota<\/th>\r\n                <th>Abono Capital<\/th>\r\n                <th>Intereses<\/th>\r\n                <th>Pago Total<\/th>\r\n                <th>Saldo Final<\/th>\r\n              <\/tr>\r\n            <\/thead>\r\n            <tbody id=\"amortization-table-body\"><\/tbody>\r\n          <\/table>\r\n        <\/div>\r\n\r\n        <div class=\"results-actions\">\r\n          <button type=\"button\" id=\"download-csv\" class=\"btn-small\">\u2b07\ufe0f Descargar CSV<\/button>\r\n        <\/div>\r\n\r\n        <p class=\"help-text text-center mt-4\">\r\n          * C\u00e1lculo aproximado. Cada banco puede aplicar reglas particulares (ciclo de facturaci\u00f3n, redondeos, comisiones y seguros).\r\n        <\/p>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  const USURY = { valueEA: 25.23, label: \"Febrero 2026\" };\r\n\r\n  const form = document.querySelector(\"#credit-card-calculator-app #calculator-form\");\r\n  const transactionTypeRadios = document.querySelectorAll('#credit-card-calculator-app input[name=\"transaction-type\"]');\r\n\r\n  const purchaseValueInput = document.querySelector(\"#credit-card-calculator-app #purchase-value\");\r\n\r\n  const extraFeeContainer = document.querySelector(\"#credit-card-calculator-app #extra-fee-container\");\r\n  const extraFeeLabel = document.querySelector(\"#credit-card-calculator-app #extra-fee-label\");\r\n  const extraFeeHelp = document.querySelector(\"#credit-card-calculator-app #extra-fee-help\");\r\n  const extraFeeInput = document.querySelector(\"#credit-card-calculator-app #extra-fee\");\r\n\r\n  const rateInput = document.querySelector(\"#credit-card-calculator-app #rate-input\");\r\n  const rateTypeButtons = document.querySelectorAll(\"#credit-card-calculator-app .rate-type-btn\");\r\n  const rateConversion = document.querySelector(\"#credit-card-calculator-app #rate-conversion\");\r\n  const conversionLabel = document.querySelector(\"#credit-card-calculator-app #conversion-label\");\r\n  const conversionValue = document.querySelector(\"#credit-card-calculator-app #conversion-value\");\r\n\r\n  const installmentsSlider = document.querySelector(\"#credit-card-calculator-app #installments-slider\");\r\n  const installmentsNumber = document.querySelector(\"#credit-card-calculator-app #installments-number\");\r\n\r\n  const purchaseDateInput = document.querySelector(\"#credit-card-calculator-app #purchase-date\");\r\n  const cutoffDayInput = document.querySelector(\"#credit-card-calculator-app #cutoff-day\");\r\n\r\n  const clearButton = document.querySelector(\"#credit-card-calculator-app #clear-button\");\r\n  const useUsuryRateButton = document.querySelector(\"#credit-card-calculator-app #use-usury-rate\");\r\n  const usuryMonth = document.querySelector(\"#credit-card-calculator-app #usury-month\");\r\n\r\n  const simLevelRadios = document.querySelectorAll('#credit-card-calculator-app input[name=\"sim-level\"]');\r\n  const advancedOptions = document.querySelector(\"#credit-card-calculator-app #advanced-options\");\r\n  const dayCountBaseSelect = document.querySelector(\"#credit-card-calculator-app #day-count-base\");\r\n\r\n  const alertBox = document.querySelector(\"#credit-card-calculator-app #alert-box\");\r\n  const resultsSection = document.querySelector(\"#credit-card-calculator-app #results-section\");\r\n  const tableBody = document.querySelector(\"#credit-card-calculator-app #amortization-table-body\");\r\n\r\n  const summaryFirstPayment = document.querySelector(\"#credit-card-calculator-app #summary-first-payment\");\r\n  const summaryMonthlyPayment = document.querySelector(\"#credit-card-calculator-app #summary-monthly-payment\");\r\n  const summaryTotalInterest = document.querySelector(\"#credit-card-calculator-app #summary-total-interest\");\r\n  const summaryTotalPayment = document.querySelector(\"#credit-card-calculator-app #summary-total-payment\");\r\n\r\n  const advancedInfo = document.querySelector(\"#credit-card-calculator-app #advanced-info\");\r\n  const downloadCsvBtn = document.querySelector(\"#credit-card-calculator-app #download-csv\");\r\n\r\n  let currentRateType = \"EA\";\r\n  let currentAnnualRate = 0;\r\n  let currentSimLevel = \"simple\";\r\n  let dayCountBase = 365;\r\n\r\n  let lastScheduleRows = [];\r\n\r\n  function convertEAtoEM(ea) { return (Math.pow(1 + ea \/ 100, 1 \/ 12) - 1) * 100; }\r\n  function convertEMtoEA(em) { return (Math.pow(1 + em \/ 100, 12) - 1) * 100; }\r\n\r\n  function parseRate(raw) {\r\n    const clean = String(raw || \"\")\r\n      .replace(\/\\s\/g, \"\")\r\n      .replace(\"%\", \"\")\r\n      .replace(\",\", \".\");\r\n    const num = parseFloat(clean);\r\n    return Number.isFinite(num) ? num : 0;\r\n  }\r\n\r\n  function parseCurrency(raw) { return parseFloat(String(raw || \"\").replace(\/\\D\/g, \"\")) || 0; }\r\n\r\n  const formatAsCurrency = (inputElement) => {\r\n    let value = inputElement.value.replace(\/\\D\/g, \"\");\r\n    inputElement.value = value ? new Intl.NumberFormat(\"es-CO\").format(value) : \"\";\r\n  };\r\n\r\n  function formatCurrency(value) {\r\n    return new Intl.NumberFormat(\"es-CO\", {\r\n      style: \"currency\",\r\n      currency: \"COP\",\r\n      minimumFractionDigits: 0,\r\n      maximumFractionDigits: 0\r\n    }).format(value);\r\n  }\r\n\r\n  function showAlert(message, type = \"warning\") {\r\n    const icon = type === \"warning\"\r\n      ? '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"\/><\/svg>'\r\n      : '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\/><\/svg>';\r\n\r\n    alertBox.innerHTML = `${icon}<div><strong>${type === \"warning\" ? \"\u26a0\ufe0f Advertencia:\" : \"\u274c Error:\"}<\/strong> ${message}<\/div>`;\r\n    alertBox.className = `alert-box alert-${type === \"warning\" ? \"warning\" : \"error\"}`;\r\n    alertBox.classList.remove(\"hidden\");\r\n  }\r\n\r\n  function hideAlert() {\r\n    alertBox.classList.add(\"hidden\");\r\n    alertBox.innerHTML = \"\";\r\n  }\r\n\r\n  function getDaysInMonth(year, monthIndex) {\r\n    return new Date(year, monthIndex + 1, 0).getDate();\r\n  }\r\n\r\n  function getNextCutoffDate(purchaseDate, cutoffDay) {\r\n    const y = purchaseDate.getFullYear();\r\n    const m = purchaseDate.getMonth();\r\n\r\n    let cutoffMonth = m;\r\n    let cutoffYear = y;\r\n    if (purchaseDate.getDate() > cutoffDay) {\r\n      cutoffMonth += 1;\r\n      if (cutoffMonth > 11) { cutoffMonth = 0; cutoffYear += 1; }\r\n    }\r\n\r\n    const dim = getDaysInMonth(cutoffYear, cutoffMonth);\r\n    const effectiveCutoffDay = Math.min(Math.max(cutoffDay, 1), dim);\r\n    const cutoffAdjusted = effectiveCutoffDay !== cutoffDay;\r\n\r\n    const cutoffDate = new Date(cutoffYear, cutoffMonth, effectiveCutoffDay);\r\n\r\n    const msPerDay = 1000 * 60 * 60 * 24;\r\n    const timeDiff = cutoffDate.getTime() - purchaseDate.getTime();\r\n    const daysToCutoff = Math.max(1, Math.ceil(timeDiff \/ msPerDay));\r\n\r\n    return { cutoffDate, daysToCutoff, cutoffAdjusted, effectiveCutoffDay };\r\n  }\r\n\r\n  function formatDateES(date) {\r\n    return new Intl.DateTimeFormat(\"es-CO\", { year: \"numeric\", month: \"long\", day: \"2-digit\" }).format(date);\r\n  }\r\n\r\n  function getMonthlyRateFromEA(annualRateEA) {\r\n    return Math.pow(1 + annualRateEA \/ 100, 1 \/ 12) - 1;\r\n  }\r\n\r\n  function getDailyRateFromEA(annualRateEA) {\r\n    return Math.pow(1 + annualRateEA \/ 100, 1 \/ dayCountBase) - 1;\r\n  }\r\n\r\n  function interestForDays(balance, annualRateEA, days) {\r\n    const daily = getDailyRateFromEA(annualRateEA);\r\n    return balance * (Math.pow(1 + daily, days) - 1);\r\n  }\r\n\r\n  function fixedPayment(principal, monthlyRate, installments) {\r\n    if (monthlyRate <= 0) return principal \/ installments;\r\n    const factor = Math.pow(1 + monthlyRate, installments);\r\n    return principal * (monthlyRate * factor) \/ (factor - 1);\r\n  }\r\n\r\n  function updateExtraFeeVisibility() {\r\n    const transactionType = document.querySelector('#credit-card-calculator-app input[name=\"transaction-type\"]:checked').value;\r\n\r\n    if (transactionType === \"advance\") {\r\n      extraFeeLabel.textContent = \"Costo del Avance ($)\";\r\n      extraFeeHelp.textContent = \"Opcional. Muchas tarjetas cobran comisi\u00f3n por avance en efectivo.\";\r\n      extraFeeContainer.classList.add(\"visible\");\r\n    } else if (transactionType === \"portfolio-purchase\") {\r\n      extraFeeLabel.textContent = \"Costo de Compra de Cartera ($)\";\r\n      extraFeeHelp.textContent = \"Opcional. Si tu entidad cobra comisi\u00f3n por traslado\/estudio, agr\u00e9gala.\";\r\n      extraFeeContainer.classList.add(\"visible\");\r\n    } else {\r\n      extraFeeContainer.classList.remove(\"visible\");\r\n      extraFeeInput.value = \"\";\r\n    }\r\n  }\r\n\r\n  function forceFixedCapital() {\r\n    const fixedCapitalRadio = document.querySelector('#credit-card-calculator-app input[name=\"amortization-method\"][value=\"fixed-capital\"]');\r\n    if (fixedCapitalRadio) fixedCapitalRadio.checked = true;\r\n  }\r\n\r\n  function setSimLevel() {\r\n    const selected = document.querySelector('#credit-card-calculator-app input[name=\"sim-level\"]:checked');\r\n    currentSimLevel = selected ? selected.value : \"simple\";\r\n\r\n    if (currentSimLevel === \"advanced\") {\r\n      advancedOptions.classList.add(\"visible\");\r\n    } else {\r\n      advancedOptions.classList.remove(\"visible\");\r\n      forceFixedCapital();\r\n      dayCountBase = 365;\r\n      if (dayCountBaseSelect) dayCountBaseSelect.value = \"365\";\r\n      advancedInfo.classList.add(\"hidden\");\r\n      advancedInfo.textContent = \"\";\r\n    }\r\n\r\n    if (!resultsSection.classList.contains(\"hidden\")) calculateAndDisplay();\r\n  }\r\n\r\n  purchaseDateInput.valueAsDate = new Date();\r\n\r\n  \/\/ UI: usura\r\n  usuryMonth.textContent = USURY.label;\r\n  useUsuryRateButton.textContent = `${USURY.valueEA.toFixed(2)}%`;\r\n\r\n  \/\/ Inputs formateo moneda\r\n  purchaseValueInput.addEventListener(\"input\", () => formatAsCurrency(purchaseValueInput));\r\n  extraFeeInput.addEventListener(\"input\", () => formatAsCurrency(extraFeeInput));\r\n\r\n  \/\/ Cuotas slider <-> number\r\n  installmentsSlider.addEventListener(\"input\", (e) => { installmentsNumber.value = e.target.value; });\r\n  installmentsNumber.addEventListener(\"input\", (e) => {\r\n    const v = Math.min(60, Math.max(1, parseInt(e.target.value || \"1\", 10)));\r\n    installmentsNumber.value = v;\r\n    installmentsSlider.value = v;\r\n  });\r\n\r\n  \/\/ Toggle tasa\r\n  rateTypeButtons.forEach(button => {\r\n    button.addEventListener(\"click\", (e) => {\r\n      e.preventDefault();\r\n      rateTypeButtons.forEach(btn => { btn.classList.remove(\"active\"); btn.setAttribute(\"aria-selected\", \"false\"); });\r\n      button.classList.add(\"active\");\r\n      button.setAttribute(\"aria-selected\", \"true\");\r\n\r\n      currentRateType = button.getAttribute(\"data-rate-type\");\r\n      rateInput.value = \"\";\r\n      rateConversion.classList.add(\"hidden\");\r\n      currentAnnualRate = 0;\r\n\r\n      rateInput.placeholder = currentRateType === \"EA\" ? \"Ej: 30.5\" : \"Ej: 2.25\";\r\n    });\r\n  });\r\n\r\n  \/\/ Conversi\u00f3n tasa\r\n  rateInput.addEventListener(\"input\", () => {\r\n    const inputValue = parseRate(rateInput.value);\r\n\r\n    if (inputValue > 0) {\r\n      if (currentRateType === \"EA\") {\r\n        currentAnnualRate = inputValue;\r\n        const monthlyRate = convertEAtoEM(inputValue);\r\n        conversionLabel.textContent = \"Equivale a E.M.:\";\r\n        conversionValue.textContent = `${monthlyRate.toFixed(2)}%`;\r\n        rateConversion.classList.remove(\"hidden\");\r\n      } else {\r\n        currentAnnualRate = convertEMtoEA(inputValue);\r\n        conversionLabel.textContent = \"Equivale a E.A.:\";\r\n        conversionValue.textContent = `${currentAnnualRate.toFixed(2)}%`;\r\n        rateConversion.classList.remove(\"hidden\");\r\n      }\r\n    } else {\r\n      rateConversion.classList.add(\"hidden\");\r\n      currentAnnualRate = 0;\r\n    }\r\n  });\r\n\r\n  \/\/ Click usura\r\n  useUsuryRateButton.addEventListener(\"click\", () => {\r\n    rateTypeButtons.forEach(btn => { btn.classList.remove(\"active\"); btn.setAttribute(\"aria-selected\", \"false\"); });\r\n    rateTypeButtons[0].classList.add(\"active\");\r\n    rateTypeButtons[0].setAttribute(\"aria-selected\", \"true\");\r\n\r\n    currentRateType = \"EA\";\r\n    rateInput.value = USURY.valueEA.toString();\r\n    rateInput.dispatchEvent(new Event(\"input\", { bubbles: true }));\r\n  });\r\n\r\n  \/\/ Tipo transacci\u00f3n => costo adicional\r\n  transactionTypeRadios.forEach(radio => radio.addEventListener(\"change\", updateExtraFeeVisibility));\r\n\r\n  \/\/ Simple \/ avanzado\r\n  simLevelRadios.forEach(r => r.addEventListener(\"change\", setSimLevel));\r\n\r\n  \/\/ Base 365\/360 (solo avanzado)\r\n  if (dayCountBaseSelect) {\r\n    dayCountBaseSelect.addEventListener(\"change\", () => {\r\n      dayCountBase = parseInt(dayCountBaseSelect.value, 10) || 365;\r\n      if (currentSimLevel === \"advanced\" && !resultsSection.classList.contains(\"hidden\")) calculateAndDisplay();\r\n    });\r\n  }\r\n\r\n  form.addEventListener(\"submit\", (e) => { e.preventDefault(); calculateAndDisplay(); });\r\n\r\n  clearButton.addEventListener(\"click\", () => {\r\n    form.reset();\r\n    purchaseDateInput.valueAsDate = new Date();\r\n    rateConversion.classList.add(\"hidden\");\r\n\r\n    extraFeeContainer.classList.remove(\"visible\");\r\n    extraFeeInput.value = \"\";\r\n\r\n    resultsSection.classList.add(\"hidden\");\r\n    tableBody.innerHTML = \"\";\r\n    lastScheduleRows = [];\r\n\r\n    advancedInfo.classList.add(\"hidden\");\r\n    advancedInfo.textContent = \"\";\r\n\r\n    hideAlert();\r\n\r\n    rateTypeButtons.forEach(btn => { btn.classList.remove(\"active\"); btn.setAttribute(\"aria-selected\", \"false\"); });\r\n    rateTypeButtons[0].classList.add(\"active\");\r\n    rateTypeButtons[0].setAttribute(\"aria-selected\", \"true\");\r\n\r\n    currentRateType = \"EA\";\r\n    currentAnnualRate = 0;\r\n\r\n    \/\/ volver a simple\r\n    const simpleRadio = document.querySelector('#credit-card-calculator-app input[name=\"sim-level\"][value=\"simple\"]');\r\n    if (simpleRadio) simpleRadio.checked = true;\r\n    setSimLevel();\r\n    updateExtraFeeVisibility();\r\n  });\r\n\r\n  downloadCsvBtn.addEventListener(\"click\", () => {\r\n    if (!lastScheduleRows.length) {\r\n      showAlert(\"Primero calcula una simulaci\u00f3n para poder descargar el plan.\", \"warning\");\r\n      return;\r\n    }\r\n\r\n    const header = [\"Cuota\", \"Abono capital\", \"Intereses\", \"Pago total\", \"Saldo final\"];\r\n    const lines = [header.join(\";\")];\r\n\r\n    lastScheduleRows.forEach(r => {\r\n      lines.push([\r\n        r.installment,\r\n        Math.round(r.capital),\r\n        Math.round(r.interest),\r\n        Math.round(r.payment),\r\n        Math.round(r.balance)\r\n      ].join(\";\"));\r\n    });\r\n\r\n    const csvContent = lines.join(\"\\n\");\r\n    const blob = new Blob([csvContent], { type: \"text\/csv;charset=utf-8;\" });\r\n    const url = URL.createObjectURL(blob);\r\n\r\n    const a = document.createElement(\"a\");\r\n    a.href = url;\r\n    a.download = \"plan-de-pagos-tarjeta-credito.csv\";\r\n    document.body.appendChild(a);\r\n    a.click();\r\n    document.body.removeChild(a);\r\n    URL.revokeObjectURL(url);\r\n  });\r\n\r\n  function validateInputs() {\r\n    const transactionType = document.querySelector('#credit-card-calculator-app input[name=\"transaction-type\"]:checked').value;\r\n    const simLevel = document.querySelector('#credit-card-calculator-app input[name=\"sim-level\"]:checked').value;\r\n    currentSimLevel = simLevel;\r\n\r\n    if (simLevel !== \"advanced\") forceFixedCapital();\r\n\r\n    let amortizationMethod = \"fixed-capital\";\r\n    if (simLevel === \"advanced\") {\r\n      amortizationMethod = document.querySelector('#credit-card-calculator-app input[name=\"amortization-method\"]:checked').value;\r\n    }\r\n\r\n    const purchaseValue = parseCurrency(purchaseValueInput.value);\r\n    const extraFee = parseCurrency(extraFeeInput.value);\r\n    const totalAmountToFinance = purchaseValue + extraFee;\r\n\r\n    const annualRate = currentAnnualRate;\r\n    const installments = Math.min(60, Math.max(1, parseInt(installmentsNumber.value, 10) || 0));\r\n\r\n    const purchaseDate = new Date(purchaseDateInput.value + \"T00:00:00\");\r\n    const cutoffDay = parseInt(cutoffDayInput.value, 10);\r\n\r\n    if (purchaseValue <= 0) { showAlert(\"El valor de la transacci\u00f3n debe ser mayor a 0.\", \"error\"); return false; }\r\n    if (annualRate <= 0) { showAlert(\"La tasa de inter\u00e9s debe ser mayor a 0.\", \"error\"); return false; }\r\n    if (!installments || installments < 1 || installments > 60) { showAlert(\"El n\u00famero de cuotas debe estar entre 1 y 60.\", \"error\"); return false; }\r\n    if (!purchaseDate || isNaN(purchaseDate.getTime())) { showAlert(\"La fecha de la transacci\u00f3n es inv\u00e1lida.\", \"error\"); return false; }\r\n    if (!cutoffDay || cutoffDay < 1 || cutoffDay > 31) { showAlert(\"El d\u00eda de corte debe estar entre 1 y 31.\", \"error\"); return false; }\r\n\r\n    if (annualRate > USURY.valueEA) {\r\n      showAlert(`La tasa ingresada (${annualRate.toFixed(2)}% E.A.) supera la tasa de usura (${USURY.valueEA.toFixed(2)}% E.A.). Verifica si est\u00e1s mezclando E.A.\/E.M. o si corresponde a otra modalidad.`, \"warning\");\r\n    }\r\n\r\n    return { transactionType, simLevel, amortizationMethod, totalAmountToFinance, annualRate, installments, purchaseDate, cutoffDay };\r\n  }\r\n\r\n  function calculateAndDisplay() {\r\n    hideAlert();\r\n\r\n    const data = validateInputs();\r\n    if (!data) return;\r\n\r\n    const { totalAmountToFinance, annualRate, installments, purchaseDate, cutoffDay, simLevel, amortizationMethod } = data;\r\n\r\n    const monthlyRate = getMonthlyRateFromEA(annualRate);\r\n    const { cutoffDate, daysToCutoff, cutoffAdjusted, effectiveCutoffDay } = getNextCutoffDate(purchaseDate, cutoffDay);\r\n\r\n    if (cutoffAdjusted) {\r\n      showAlert(`El mes de corte no tiene d\u00eda ${cutoffDay}. Se us\u00f3 el d\u00eda ${effectiveCutoffDay} (\u00faltimo d\u00eda del mes) para el corte de ${formatDateES(cutoffDate)}.`, \"warning\");\r\n    }\r\n\r\n    if (simLevel === \"advanced\") {\r\n      advancedInfo.textContent = `Detalle (Avanzado): corte estimado ${formatDateES(cutoffDate)} \u2022 ${daysToCutoff} d\u00eda(s) hasta corte \u2022 base ${dayCountBase} d\u00edas.`;\r\n      advancedInfo.classList.remove(\"hidden\");\r\n    } else {\r\n      advancedInfo.textContent = \"\";\r\n      advancedInfo.classList.add(\"hidden\");\r\n    }\r\n\r\n    let balance = totalAmountToFinance;\r\n    let totalInterest = 0;\r\n    let firstPayment = 0;\r\n    let typicalPayment = 0;\r\n\r\n    tableBody.innerHTML = \"\";\r\n    lastScheduleRows = [];\r\n\r\n    const fixedCapital = totalAmountToFinance \/ installments;\r\n    const basePayment = fixedPayment(totalAmountToFinance, monthlyRate, installments);\r\n\r\n    let negativeCapitalGuardTriggered = false;\r\n\r\n    for (let i = 1; i <= installments; i++) {\r\n      let interest = 0;\r\n\r\n      if (i === 1) interest = interestForDays(balance, annualRate, daysToCutoff);\r\n      else interest = balance * monthlyRate;\r\n\r\n      let capital = 0;\r\n      let payment = 0;\r\n\r\n      if (amortizationMethod === \"fixed-capital\") {\r\n        capital = (i === installments) ? balance : fixedCapital;\r\n        payment = capital + interest;\r\n      } else {\r\n        payment = (i === installments) ? (balance + interest) : basePayment;\r\n        capital = payment - interest;\r\n\r\n        if (capital < 0) {\r\n          negativeCapitalGuardTriggered = true;\r\n          capital = 0;\r\n          payment = interest;\r\n        }\r\n\r\n        if (i === installments) {\r\n          capital = balance;\r\n          payment = capital + interest;\r\n        }\r\n      }\r\n\r\n      balance = Math.max(0, balance - capital);\r\n      totalInterest += interest;\r\n\r\n      if (i === 1) firstPayment = payment;\r\n      if (i === 2) typicalPayment = payment;\r\n\r\n      const row = document.createElement(\"tr\");\r\n      if (i === 1) row.className = \"highlight-row\";\r\n\r\n      row.innerHTML = `\r\n        <td>${i}${i === 1 ? \" \ud83d\udd38\" : \"\"}<\/td>\r\n        <td>${formatCurrency(capital)}<\/td>\r\n        <td>${formatCurrency(interest)}<\/td>\r\n        <td>${formatCurrency(payment)}<\/td>\r\n        <td>${formatCurrency(balance)}<\/td>\r\n      `;\r\n\r\n      tableBody.appendChild(row);\r\n\r\n      lastScheduleRows.push({ installment: i, capital, interest, payment, balance });\r\n    }\r\n\r\n    if (negativeCapitalGuardTriggered) {\r\n      showAlert(\"En una o m\u00e1s cuotas, la cuota fija no alcanzaba a cubrir los intereses del periodo. Ajustamos esa cuota para evitar capital negativo. Revisa tasa, cuotas y d\u00eda de corte.\", \"warning\");\r\n    }\r\n\r\n    summaryFirstPayment.textContent = formatCurrency(firstPayment);\r\n    summaryMonthlyPayment.textContent = amortizationMethod === \"fixed-payment\"\r\n      ? formatCurrency(basePayment)\r\n      : formatCurrency(typicalPayment || firstPayment);\r\n\r\n    summaryTotalInterest.textContent = formatCurrency(totalInterest);\r\n    summaryTotalPayment.textContent = formatCurrency(totalAmountToFinance + totalInterest);\r\n\r\n    resultsSection.classList.remove(\"hidden\");\r\n    resultsSection.classList.add(\"fade-in\");\r\n\r\n    setTimeout(() => {\r\n      resultsSection.scrollIntoView({ behavior: \"smooth\", block: \"nearest\" });\r\n    }, 100);\r\n  }\r\n\r\n  \/\/ init\r\n  updateExtraFeeVisibility();\r\n  setSimLevel();\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6aa5df1 e-flex e-con-boxed e-con e-parent\" data-id=\"6aa5df1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-eb987c8 elementor-widget elementor-widget-text-editor\" data-id=\"eb987c8\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2 data-section-id=\"mrfdfa\" data-start=\"0\" data-end=\"95\"><strong><span style=\"color: #000000;\">Simulador de Tarjeta de Cr\u00e9dito en Colombia: calcula tus cuotas sin enredos<\/span><\/strong><\/h2><p data-start=\"97\" data-end=\"497\"><span style=\"color: #000000;\">Hay un momento muy com\u00fan: haces una compra, te aparece la opci\u00f3n de diferirla a <strong data-start=\"177\" data-end=\"201\">3, 6, 12 o 24 cuotas<\/strong>, y piensas: <em data-start=\"214\" data-end=\"255\">\u201cListo, \u00bfcu\u00e1nto voy a pagar realmente?\u201d<\/em><\/span><br data-start=\"255\" data-end=\"258\" \/><span style=\"color: #000000;\">La realidad es que en una tarjeta de cr\u00e9dito <strong data-start=\"303\" data-end=\"344\">no solo importa el valor de la compra<\/strong>, tambi\u00e9n importan la <strong data-start=\"366\" data-end=\"374\">tasa<\/strong>, el <strong data-start=\"379\" data-end=\"395\">d\u00eda de corte<\/strong>, el <strong data-start=\"400\" data-end=\"420\">n\u00famero de cuotas<\/strong> y (en algunos casos) <strong data-start=\"442\" data-end=\"456\">comisiones<\/strong> como las de avances o compra de cartera.<\/span><\/p><p data-start=\"499\" data-end=\"787\"><span style=\"color: #000000;\">Por eso creamos este <strong data-start=\"520\" data-end=\"569\">Simulador de Tarjeta de Cr\u00e9dito para Colombia<\/strong>: una herramienta pr\u00e1ctica que te ayuda a ver <strong data-start=\"615\" data-end=\"643\">cu\u00e1nto pagar\u00edas cada mes<\/strong>, <strong data-start=\"645\" data-end=\"683\">cu\u00e1nto termina costando el cr\u00e9dito<\/strong> y un <strong data-start=\"689\" data-end=\"716\">plan de pagos detallado<\/strong> (tipo tabla de amortizaci\u00f3n) para tomar decisiones con la cabeza fr\u00eda.<\/span><\/p><hr data-start=\"789\" data-end=\"792\" \/><h2 data-section-id=\"1udfhcr\" data-start=\"794\" data-end=\"851\"><span style=\"color: #000000;\">\u00bfQu\u00e9 hace este simulador y por qu\u00e9 te conviene usarlo?<\/span><\/h2><p data-start=\"853\" data-end=\"913\"><span style=\"color: #000000;\">Este simulador te permite calcular, de forma clara y visual:<\/span><\/p><ul data-start=\"915\" data-end=\"1294\"><li data-section-id=\"1x7gk2w\" data-start=\"915\" data-end=\"998\"><p data-start=\"917\" data-end=\"998\"><span style=\"color: #000000;\"><strong data-start=\"917\" data-end=\"946\">Valor de la primera cuota<\/strong> (a veces es diferente por el ciclo de facturaci\u00f3n).<\/span><\/p><\/li><li data-section-id=\"1yacd7y\" data-start=\"999\" data-end=\"1075\"><p data-start=\"1001\" data-end=\"1075\"><span style=\"color: #000000;\"><strong data-start=\"1001\" data-end=\"1025\">Cuota mensual t\u00edpica<\/strong> (la que normalmente ver\u00e1s despu\u00e9s de la primera).<\/span><\/p><\/li><li data-section-id=\"10nbss6\" data-start=\"1076\" data-end=\"1136\"><p data-start=\"1078\" data-end=\"1136\"><span style=\"color: #000000;\"><strong data-start=\"1078\" data-end=\"1100\">Total de intereses<\/strong> que pagar\u00edas durante todo el plazo.<\/span><\/p><\/li><li data-section-id=\"14zb781\" data-start=\"1137\" data-end=\"1176\"><p data-start=\"1139\" data-end=\"1176\"><span style=\"color: #000000;\"><strong data-start=\"1139\" data-end=\"1153\">Pago total<\/strong> (capital + intereses).<\/span><\/p><\/li><li data-section-id=\"esaakq\" data-start=\"1177\" data-end=\"1294\"><p data-start=\"1179\" data-end=\"1294\"><span style=\"color: #000000;\"><strong data-start=\"1179\" data-end=\"1206\">Plan de pagos detallado<\/strong>, cuota por cuota: <strong data-start=\"1225\" data-end=\"1244\">abono a capital<\/strong>, <strong data-start=\"1246\" data-end=\"1259\">intereses<\/strong>, <strong data-start=\"1261\" data-end=\"1275\">pago total<\/strong> y <strong data-start=\"1278\" data-end=\"1293\">saldo final<\/strong>.<\/span><\/p><\/li><\/ul><p data-start=\"1296\" data-end=\"1389\"><span style=\"color: #000000;\">Y todo con formato Colombia: valores en <strong data-start=\"1336\" data-end=\"1343\">COP<\/strong>, separadores correctos y un flujo muy simple.<\/span><\/p><hr data-start=\"1391\" data-end=\"1394\" \/><h2 data-section-id=\"tr09m7\" data-start=\"1396\" data-end=\"1476\"><span style=\"color: #000000;\">Lo que casi nadie te explica: en tarjeta, la primera cuota puede ser distinta<\/span><\/h2><p data-start=\"1478\" data-end=\"1676\"><span style=\"color: #000000;\">Si alguna vez has sentido que \u201cla primera cuota sali\u00f3 rara\u201d, no est\u00e1s loco \ud83d\ude05.<\/span><br data-start=\"1556\" data-end=\"1559\" \/><span style=\"color: #000000;\">En tarjeta de cr\u00e9dito, el banco trabaja con un <strong data-start=\"1606\" data-end=\"1622\">d\u00eda de corte<\/strong> (cuando \u201ccierra\u201d tu ciclo) y luego una fecha de pago.<\/span><\/p><p data-start=\"1678\" data-end=\"1821\"><span style=\"color: #000000;\">Entonces, si compras hoy y faltan pocos d\u00edas para el corte, el c\u00e1lculo de intereses puede ser diferente que si compras justo despu\u00e9s del corte.<\/span><\/p><p data-start=\"1823\" data-end=\"1963\"><span style=\"color: #000000;\">Por eso este simulador calcula la primera cuota con <strong data-start=\"1875\" data-end=\"1922\">inter\u00e9s prorrateado por d\u00edas hasta el corte<\/strong>, para que el resultado sea m\u00e1s realista.<\/span><\/p><hr data-start=\"1965\" data-end=\"1968\" \/><h2 data-section-id=\"3m8uh7\" data-start=\"1970\" data-end=\"2012\"><span style=\"color: #000000;\">\u00bfQu\u00e9 datos necesitas para simular bien?<\/span><\/h2><h3 data-section-id=\"nnvpiq\" data-start=\"2014\" data-end=\"2040\"><span style=\"color: #000000;\">1) Tipo de transacci\u00f3n<\/span><\/h3><p data-start=\"2041\" data-end=\"2104\"><span style=\"color: #000000;\">El simulador contempla tres escenarios muy t\u00edpicos en Colombia:<\/span><\/p><ul data-start=\"2106\" data-end=\"2248\"><li data-section-id=\"7dim0c\" data-start=\"2106\" data-end=\"2134\"><p data-start=\"2108\" data-end=\"2134\"><span style=\"color: #000000;\"><strong data-start=\"2108\" data-end=\"2118\">Compra<\/strong> (lo m\u00e1s com\u00fan).<\/span><\/p><\/li><li data-section-id=\"5xh88h\" data-start=\"2135\" data-end=\"2181\"><p data-start=\"2137\" data-end=\"2181\"><span style=\"color: #000000;\"><strong data-start=\"2137\" data-end=\"2147\">Avance<\/strong> (retiro de efectivo con tarjeta).<\/span><\/p><\/li><li data-section-id=\"1w0suit\" data-start=\"2182\" data-end=\"2248\"><p data-start=\"2184\" data-end=\"2248\"><span style=\"color: #000000;\"><strong data-start=\"2184\" data-end=\"2205\">Compra de cartera<\/strong> (mover una deuda a otro producto\/entidad).<\/span><\/p><\/li><\/ul><p data-start=\"2250\" data-end=\"2431\"><span style=\"color: #000000;\">\ud83d\udc49 Si tu banco cobra un costo adicional (comisi\u00f3n, estudio, seguro, etc.), puedes agregarlo en <strong data-start=\"2345\" data-end=\"2366\">\u201cCosto adicional\u201d<\/strong> y el simulador lo incluye en lo que realmente est\u00e1s financiando.<\/span><\/p><hr data-start=\"2433\" data-end=\"2436\" \/><h3 data-section-id=\"zmm1qx\" data-start=\"2438\" data-end=\"2496\"><span style=\"color: #000000;\">2) Tasa de inter\u00e9s: E.A. o E.M. (y aqu\u00ed est\u00e1 el truco)<\/span><\/h3><p data-start=\"2497\" data-end=\"2560\"><span style=\"color: #000000;\">La mayor\u00eda de personas se enreda porque su banco puede mostrar:<\/span><\/p><ul data-start=\"2562\" data-end=\"2662\"><li data-section-id=\"1j1v1a3\" data-start=\"2562\" data-end=\"2616\"><p data-start=\"2564\" data-end=\"2616\"><span style=\"color: #000000;\"><strong data-start=\"2564\" data-end=\"2589\">E.A. (Efectiva Anual)<\/strong> en publicidad o contratos.<\/span><\/p><\/li><li data-section-id=\"1hq0wct\" data-start=\"2617\" data-end=\"2662\"><p data-start=\"2619\" data-end=\"2662\"><span style=\"color: #000000;\"><strong data-start=\"2619\" data-end=\"2646\">E.M. (Efectiva Mensual)<\/strong> en el extracto.<\/span><\/p><\/li><\/ul><p data-start=\"2664\" data-end=\"2809\"><span style=\"color: #000000;\">Este simulador te deja elegir la que tengas a la mano y te hace la <strong data-start=\"2731\" data-end=\"2756\">conversi\u00f3n autom\u00e1tica<\/strong> para que entiendas exactamente qu\u00e9 est\u00e1s ingresando.<\/span><\/p><p data-start=\"2811\" data-end=\"2908\"><span style=\"color: #000000;\">\u2705 Tip r\u00e1pido: si est\u00e1s copiando la tasa desde el <strong data-start=\"2860\" data-end=\"2872\">extracto<\/strong>, casi siempre est\u00e1s viendo <strong data-start=\"2900\" data-end=\"2908\">E.M.<\/strong><\/span><\/p><hr data-start=\"2910\" data-end=\"2913\" \/><h3 data-section-id=\"78t9s3\" data-start=\"2915\" data-end=\"2938\"><span style=\"color: #000000;\">3) N\u00famero de cuotas<\/span><\/h3><p data-start=\"2939\" data-end=\"3158\"><span style=\"color: #000000;\">Puedes simular de <strong data-start=\"2957\" data-end=\"2974\">1 a 60 cuotas<\/strong>.<\/span><br data-start=\"2975\" data-end=\"2978\" \/><span style=\"color: #000000;\">Y aqu\u00ed es donde el simulador se vuelve una herramienta de decisi\u00f3n: a veces una cuota \u201cc\u00f3moda\u201d a 24 meses termina siendo <strong data-start=\"3099\" data-end=\"3117\">mucho m\u00e1s cara<\/strong> que a 12 meses por intereses acumulados.<\/span><\/p><hr data-start=\"3160\" data-end=\"3163\" \/><h3 data-section-id=\"1bnbyjg\" data-start=\"3165\" data-end=\"3210\"><span style=\"color: #000000;\">4) Fecha de la transacci\u00f3n + D\u00eda de corte<\/span><\/h3><p data-start=\"3211\" data-end=\"3360\"><span style=\"color: #000000;\">Estos dos datos cambian el resultado m\u00e1s de lo que parece.<\/span><br data-start=\"3269\" data-end=\"3272\" \/><span style=\"color: #000000;\">Con ellos el simulador estima el tramo inicial y te da una primera cuota m\u00e1s aproximada.<\/span><\/p><hr data-start=\"3362\" data-end=\"3365\" \/><h2 data-section-id=\"wz6fte\" data-start=\"3367\" data-end=\"3438\"><span style=\"color: #000000;\">\u00bfPor qu\u00e9 el simulador muestra cuotas \u201cdecrecientes\u201d en muchos casos?<\/span><\/h2><p data-start=\"3440\" data-end=\"3535\"><span style=\"color: #000000;\">Porque en tarjetas de cr\u00e9dito es muy com\u00fan que el plan de pagos de un diferido se comporte as\u00ed:<\/span><\/p><ul data-start=\"3537\" data-end=\"3711\"><li data-section-id=\"1rrrkoz\" data-start=\"3537\" data-end=\"3600\"><p data-start=\"3539\" data-end=\"3600\"><span style=\"color: #000000;\">Pagas un <strong data-start=\"3548\" data-end=\"3567\">abono a capital<\/strong> similar cada mes (capital fijo).<\/span><\/p><\/li><li data-section-id=\"1ag02do\" data-start=\"3601\" data-end=\"3648\"><p data-start=\"3603\" data-end=\"3648\"><span style=\"color: #000000;\">Los <strong data-start=\"3607\" data-end=\"3626\">intereses bajan<\/strong> porque el saldo baja.<\/span><\/p><\/li><li data-section-id=\"vhlgpe\" data-start=\"3649\" data-end=\"3711\"><p data-start=\"3651\" data-end=\"3711\"><span style=\"color: #000000;\">Resultado: la <strong data-start=\"3665\" data-end=\"3696\">cuota total va disminuyendo<\/strong> con el tiempo.<\/span><\/p><\/li><\/ul><p data-start=\"3713\" data-end=\"3823\"><span style=\"color: #000000;\">Y eso suele coincidir con lo que mucha gente ve en sus compras diferidas: <strong data-start=\"3787\" data-end=\"3822\">cada mes pagas un poquito menos<\/strong>.<\/span><\/p><hr data-start=\"3825\" data-end=\"3828\" \/><h2 data-section-id=\"r02mn\" data-start=\"3830\" data-end=\"3869\"><span style=\"color: #000000;\">\u00bfY si mi banco me maneja cuota fija?<\/span><\/h2><p data-start=\"3870\" data-end=\"3983\"><span style=\"color: #000000;\">Tambi\u00e9n pasa. Algunas tarjetas y planes manejan un esquema de <strong data-start=\"3932\" data-end=\"3946\">cuota fija<\/strong> (similar al sistema franc\u00e9s), donde:<\/span><\/p><ul data-start=\"3985\" data-end=\"4138\"><li data-section-id=\"k7h4vb\" data-start=\"3985\" data-end=\"4025\"><p data-start=\"3987\" data-end=\"4025\"><span style=\"color: #000000;\">La cuota es <strong data-start=\"3999\" data-end=\"4014\">m\u00e1s estable<\/strong> mes a mes.<\/span><\/p><\/li><li data-section-id=\"twak4k\" data-start=\"4026\" data-end=\"4080\"><p data-start=\"4028\" data-end=\"4080\"><span style=\"color: #000000;\">Al inicio pagas m\u00e1s <strong data-start=\"4048\" data-end=\"4059\">inter\u00e9s<\/strong> y menos <strong data-start=\"4068\" data-end=\"4079\">capital<\/strong>.<\/span><\/p><\/li><li data-section-id=\"4xp3q3\" data-start=\"4081\" data-end=\"4138\"><p data-start=\"4083\" data-end=\"4138\"><span style=\"color: #000000;\">Con el tiempo se invierte (m\u00e1s capital, menos inter\u00e9s).<\/span><\/p><\/li><\/ul><p data-start=\"4140\" data-end=\"4323\"><span style=\"color: #000000;\">Por eso el simulador incluye la opci\u00f3n de <strong data-start=\"4182\" data-end=\"4218\">Capital fijo (cuota decreciente)<\/strong> y <strong data-start=\"4221\" data-end=\"4253\">Cuota fija (sistema franc\u00e9s)<\/strong>, para que compares y entiendas cu\u00e1l se parece m\u00e1s a tu producto real.<\/span><\/p><hr data-start=\"4325\" data-end=\"4328\" \/><h2 data-section-id=\"1q4d1om\" data-start=\"4330\" data-end=\"4400\"><span style=\"color: #000000;\">Tasa m\u00e1xima de usura en Colombia y por qu\u00e9 importa en tu simulaci\u00f3n<\/span><\/h2><p data-start=\"4402\" data-end=\"4533\"><span style=\"color: #000000;\">En Colombia existe un tope legal: la <strong data-start=\"4439\" data-end=\"4456\">tasa de usura<\/strong>, que es el m\u00e1ximo que se puede cobrar como inter\u00e9s para ciertas modalidades.<\/span><\/p><p data-start=\"4535\" data-end=\"4692\"><span style=\"color: #000000;\">Para <strong data-start=\"4540\" data-end=\"4559\">febrero de 2026<\/strong>, la <strong data-start=\"4564\" data-end=\"4617\">tasa de usura para cr\u00e9dito de consumo y ordinario<\/strong> est\u00e1 certificada en <strong data-start=\"4638\" data-end=\"4653\">25,23% E.A.<\/strong>.<\/span><\/p><p data-start=\"4694\" data-end=\"4870\"><span style=\"color: #000000;\">Adem\u00e1s, el Banco de la Rep\u00fablica explica que la tasa de usura se construye como <strong data-start=\"4774\" data-end=\"4817\">1,5 veces el inter\u00e9s bancario corriente<\/strong> por modalidad.<\/span><\/p><p data-start=\"4872\" data-end=\"5040\"><span style=\"color: #000000;\">\ud83d\udc49 En el simulador ver\u00e1s esa tasa como referencia y puedes hacer clic para usarla autom\u00e1ticamente (s\u00faper \u00fatil si quieres comparar tu tasa real vs. el m\u00e1ximo permitido).<\/span><\/p><blockquote data-start=\"5042\" data-end=\"5168\"><p data-start=\"5044\" data-end=\"5168\"><span style=\"color: #000000;\">Importante: la tasa de usura <strong data-start=\"5073\" data-end=\"5090\">puede cambiar<\/strong> por periodos, as\u00ed que siempre es buena idea contrastar con fuentes oficiales.<\/span><\/p><\/blockquote><hr data-start=\"5170\" data-end=\"5173\" \/><h2 data-section-id=\"spcjgs\" data-start=\"5175\" data-end=\"5218\"><span style=\"color: #000000;\">C\u00f3mo leer los resultados sin confundirte<\/span><\/h2><p data-start=\"5220\" data-end=\"5288\"><span style=\"color: #000000;\">Cuando le das <strong data-start=\"5234\" data-end=\"5246\">Calcular<\/strong>, el simulador te muestra 4 n\u00fameros clave:<\/span><\/p><ul data-start=\"5290\" data-end=\"5577\"><li data-section-id=\"1avzoaz\" data-start=\"5290\" data-end=\"5360\"><p data-start=\"5292\" data-end=\"5360\"><span style=\"color: #000000;\"><strong data-start=\"5292\" data-end=\"5310\">Primera cuota:<\/strong> puede ser distinta por el c\u00e1lculo hasta el corte.<\/span><\/p><\/li><li data-section-id=\"16tu3nf\" data-start=\"5361\" data-end=\"5429\"><p data-start=\"5363\" data-end=\"5429\"><span style=\"color: #000000;\"><strong data-start=\"5363\" data-end=\"5388\">Cuota mensual t\u00edpica:<\/strong> una referencia realista del \u201cmes a mes\u201d.<\/span><\/p><\/li><li data-section-id=\"zvo3z0\" data-start=\"5430\" data-end=\"5491\"><p data-start=\"5432\" data-end=\"5491\"><span style=\"color: #000000;\"><strong data-start=\"5432\" data-end=\"5455\">Total de intereses:<\/strong> lo que pagas \u201cextra\u201d por financiar.<\/span><\/p><\/li><li data-section-id=\"d9plfo\" data-start=\"5492\" data-end=\"5577\"><p data-start=\"5494\" data-end=\"5577\"><span style=\"color: #000000;\"><strong data-start=\"5494\" data-end=\"5509\">Pago total:<\/strong> capital + intereses (lo que realmente te cuesta esa compra\/avance).<\/span><\/p><\/li><\/ul><p data-start=\"5579\" data-end=\"5710\"><span style=\"color: #000000;\">Y debajo, el <strong data-start=\"5592\" data-end=\"5609\">Plan de Pagos<\/strong> te deja ver la pel\u00edcula completa:<\/span><br data-start=\"5643\" data-end=\"5646\" \/><span style=\"color: #000000;\">cu\u00e1nto pagas, cu\u00e1nto baja el saldo y c\u00f3mo se reparte el inter\u00e9s.<\/span><\/p><hr data-start=\"5712\" data-end=\"5715\" \/><h2 data-section-id=\"1l59k0z\" data-start=\"5717\" data-end=\"5792\"><span style=\"color: #000000;\">Consejos pr\u00e1cticos (de vida real) para pagar menos intereses con tarjeta<\/span><\/h2><p data-start=\"5794\" data-end=\"5838\"><span style=\"color: #000000;\">Si quieres que tu tarjeta juegue a tu favor:<\/span><\/p><ol data-start=\"5840\" data-end=\"6221\"><li data-section-id=\"12ct340\" data-start=\"5840\" data-end=\"5898\"><p data-start=\"5843\" data-end=\"5898\"><span style=\"color: #000000;\"><strong data-start=\"5843\" data-end=\"5882\">Entre menos cuotas, menos intereses<\/strong> (casi siempre).<\/span><\/p><\/li><li data-section-id=\"1yxziwx\" data-start=\"5899\" data-end=\"6001\"><p data-start=\"5902\" data-end=\"6001\"><span style=\"color: #000000;\">Si puedes, compra <strong data-start=\"5920\" data-end=\"5949\">justo despu\u00e9s de tu corte<\/strong> para aprovechar m\u00e1s d\u00edas sin facturaci\u00f3n inmediata.<\/span><\/p><\/li><li data-section-id=\"t5zey\" data-start=\"6002\" data-end=\"6090\"><p data-start=\"6005\" data-end=\"6090\"><span style=\"color: #000000;\">Evita avances si puedes: suelen tener <strong data-start=\"6043\" data-end=\"6059\">costos extra<\/strong> y condiciones menos amigables.<\/span><\/p><\/li><li data-section-id=\"1xoklb3\" data-start=\"6091\" data-end=\"6221\"><p data-start=\"6094\" data-end=\"6221\"><span style=\"color: #000000;\">Si una compra grande te preocupa, simula 6 vs 12 vs 24 cuotas antes de decidir. A veces la diferencia de costo total sorprende.<\/span><\/p><\/li><\/ol><hr data-start=\"6223\" data-end=\"6226\" \/><h2 data-section-id=\"uqyapt\" data-start=\"6228\" data-end=\"6257\"><span style=\"color: #000000;\">Preguntas frecuentes (FAQ)<\/span><\/h2><p data-start=\"6259\" data-end=\"6447\"><span style=\"color: #000000;\"><strong data-start=\"6259\" data-end=\"6297\">\u00bfEste simulador es exacto al 100%?<\/strong><\/span><br data-start=\"6297\" data-end=\"6300\" \/><span style=\"color: #000000;\">Es un c\u00e1lculo <strong data-start=\"6314\" data-end=\"6332\">muy aproximado<\/strong>, pero cada banco puede variar por redondeos, seguros, comisiones, fechas exactas de facturaci\u00f3n y reglas internas.<\/span><\/p><p data-start=\"6449\" data-end=\"6592\"><span style=\"color: #000000;\"><strong data-start=\"6449\" data-end=\"6486\">\u00bfQu\u00e9 tasa debo usar: E.A. o E.M.?<\/strong><\/span><br data-start=\"6486\" data-end=\"6489\" \/><span style=\"color: #000000;\">Usa la que tengas. Si tu extracto muestra tasa mensual, usa <strong data-start=\"6549\" data-end=\"6557\">E.M.<\/strong> y deja que el simulador convierta.<\/span><\/p><p data-start=\"6594\" data-end=\"6784\"><span style=\"color: #000000;\"><strong data-start=\"6594\" data-end=\"6647\">\u00bfPor qu\u00e9 mi primera cuota es m\u00e1s alta o m\u00e1s baja?<\/strong><\/span><br data-start=\"6647\" data-end=\"6650\" \/><span style=\"color: #000000;\">Por el <strong data-start=\"6657\" data-end=\"6673\">d\u00eda de corte<\/strong> y los <strong data-start=\"6680\" data-end=\"6702\">d\u00edas transcurridos<\/strong> desde la compra hasta el corte. El simulador lo tiene en cuenta con un prorrateo.<\/span><\/p><p data-start=\"6786\" data-end=\"6917\"><span style=\"color: #000000;\"><strong data-start=\"6786\" data-end=\"6824\">\u00bfPuedo descargar el plan de pagos?<\/strong><\/span><br data-start=\"6824\" data-end=\"6827\" \/><span style=\"color: #000000;\">S\u00ed. El simulador permite descargar el plan en <strong data-start=\"6873\" data-end=\"6880\">CSV<\/strong> para abrirlo en Excel\/Google Sheets.<\/span><\/p><hr data-start=\"6919\" data-end=\"6922\" \/><h2 data-section-id=\"byi918\" data-start=\"6924\" data-end=\"6959\"><span style=\"color: #000000;\">\u00dasalo como tu \u201cantes de comprar\u201d<\/span><\/h2><p data-start=\"6960\" data-end=\"7067\"><span style=\"color: #000000;\">Este simulador no es solo para \u201ccuriosear\u201d. Es para que tengas una herramienta r\u00e1pida y humana que te diga:<\/span><\/p><p data-start=\"7069\" data-end=\"7171\"><span style=\"color: #000000;\"><strong data-start=\"7069\" data-end=\"7171\">\u201cEsto es lo que vas a pagar. Esto es lo que te va a costar. Y as\u00ed se comporta tu deuda mes a mes.\u201d<\/strong><\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\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>Simulador de Tarjeta de Cr\u00e9dito Colombia Calcula el valor de tus cuotas, intereses y un plan de pagos aproximado Tipo de transacci\u00f3n Compra Avance Compra de cartera Valor de la transacci\u00f3n ($) Costo adicional ($) Opcional. Si tu banco cobra comisi\u00f3n\/estudio\/seguro por esta operaci\u00f3n, agr\u00e9galo aqu\u00ed. Tasa de Inter\u00e9s \u24d8 Selecciona el tipo de tasa&#8230;<\/p>\n","protected":false},"author":1,"featured_media":5237,"template":"","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-5922","herramientas","type-herramientas","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/herramientas\/5922","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":20,"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/herramientas\/5922\/revisions"}],"predecessor-version":[{"id":6198,"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/herramientas\/5922\/revisions\/6198"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/media\/5237"}],"wp:attachment":[{"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/media?parent=5922"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}