{"id":38758,"date":"2025-12-16T13:27:09","date_gmt":"2025-12-16T10:27:09","guid":{"rendered":"https:\/\/garipesa.com\/?page_id=38758"},"modified":"2026-05-14T00:00:21","modified_gmt":"2026-05-13T21:00:21","slug":"calculator-kubadili-umiliki","status":"publish","type":"page","link":"https:\/\/garipesa.com\/en\/calculator-kubadili-umiliki\/","title":{"rendered":"Calculator Kubadili Umiliki"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"38758\" class=\"elementor elementor-38758\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-acca61d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"acca61d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-94bde56\" data-id=\"94bde56\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ef62324 elementor-widget elementor-widget-spacer\" data-id=\"ef62324\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-40fa550 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"40fa550\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-57830a8\" data-id=\"57830a8\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-106fdf4\" data-id=\"106fdf4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-98fb405 elementor-widget elementor-widget-shortcode\" data-id=\"98fb405\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">        <link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/tom-select@2.6.1\/dist\/css\/tom-select.css\">\n        <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/tom-select@2.6.1\/dist\/js\/tom-select.complete.min.js\"><\/script>\n\n        <div id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be\" class=\"gp-vfees-root\">\n            <style>\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be,\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be *{ color: #fff; }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-launch{\n                    padding:12px 16px; border-radius:10px; border:0; cursor:pointer;\n                    background:#ff7a00; color:#fff; font-weight:900; display:block; margin:0 auto;\n                }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-launch:hover{ background:#e56e00; }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-modal{ position:fixed; inset:0; display:none; z-index:999999; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-modal.is-open{ display:flex; align-items:center; justify-content:center; padding:16px; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-modal__overlay{ position:absolute; inset:0; background:rgba(0,0,0,0.70); }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-modal__panel{\n                    position:relative; width:100%; max-width:620px; padding:0; border-radius:14px;\n                    overflow:hidden; z-index:1; background:#111;\n                    border:1px solid rgba(255,255,255,0.18); box-shadow:0 14px 40px rgba(0,0,0,0.65);\n                    max-height:90vh; display:flex; flex-direction:column;\n                }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-modal__head{\n                    display:flex; align-items:center; justify-content:space-between; gap:10px;\n                    padding:12px 14px; background:#0d0d0d; border-bottom:1px solid rgba(255,255,255,0.12);\n                }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-modal__close{\n                    width:42px; height:42px; border-radius:12px; border:2px solid rgba(255,122,0,0.95);\n                    background:#ff7a00; color:#fff; cursor:pointer; font-weight:900; font-size:18px; line-height:1;\n                    display:flex; align-items:center; justify-content:center; box-shadow:0 10px 24px rgba(0,0,0,0.45);\n                }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-modal__close:hover{ background:#e56e00; border-color:rgba(255,122,0,1); }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-modal__body{ padding:0; overflow-y:auto; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-vfees-steps{ max-width:100%; padding:16px; background:#121212; }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-title{ margin:0; font-size:16px; font-weight:900; }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be label{ display:block; font-size:13px; opacity:0.95; margin:10px 0 6px; }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be input[type=\"text\"]{\n                    width:100%; padding:12px; border-radius:10px;\n                    border:1px solid rgba(255,255,255,0.22); background:rgba(0,0,0,0.30); color:#fff; outline:none;\n                }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be input::placeholder{ color:rgba(255,255,255,0.70); }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-row{ display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; align-items:center; justify-content:center; }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be button.gp-btn{\n                    padding:12px 16px; border-radius:10px; border:0; cursor:pointer;\n                    background:#ff7a00; color:#fff; font-weight:800;\n                }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be button.gp-btn:hover{ background:#e56e00; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be button.gp-btn:disabled{ opacity:0.7; cursor:not-allowed; }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-loading{ display:none; margin-left:6px; font-size:13px; opacity:0.9; }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-msg{\n                    margin-top:12px; padding:10px 12px; border-radius:10px; display:none;\n                    border:1px solid rgba(255,255,255,0.18); background:rgba(0,0,0,0.22);\n                }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-msg.ok{ display:block; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-msg.err{ display:block; border-color:rgba(255,120,120,0.65); }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-hidden{ display:none !important; }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-back{\n                    background:transparent !important; color:#ff7a00 !important; border:1px solid rgba(255,122,0,0.55) !important;\n                }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-back:hover{ background:rgba(255,122,0,0.12) !important; }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-confirm{\n                    margin-top:10px; padding:10px 12px; border-radius:10px;\n                    border:1px dashed rgba(255,255,255,0.22); font-size:13px; opacity:0.98; background:rgba(0,0,0,0.18);\n                }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-confirm strong{ font-weight:900; }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be input[readonly]{ opacity:0.85; cursor:not-allowed; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-phone-locked-note{ margin-top:6px; font-size:12px; opacity:0.8; }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-type-box{\n                    padding:12px; border-radius:12px; border:1px solid rgba(255,255,255,0.16); background:rgba(0,0,0,0.16);\n                }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-type-title{ font-weight:900; margin:0 0 10px 0; font-size:15px; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-type-options{ display:flex; gap:10px; flex-wrap:wrap; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-type-opt{\n                    flex:1 1 140px; padding:12px 14px; border-radius:12px; border:1px solid rgba(255,255,255,0.20);\n                    background:rgba(0,0,0,0.18); cursor:pointer; font-weight:900; text-align:center; user-select:none;\n                }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-type-opt:hover{ border-color:rgba(255,122,0,0.65); }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-type-opt.is-active{\n                    border-color:rgba(255,122,0,0.95); box-shadow:0 0 0 2px rgba(255,122,0,0.18) inset;\n                }\n\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-otp-box{\n                    padding:12px; border-radius:12px; border:1px solid rgba(255,255,255,0.16); background:rgba(0,0,0,0.16);\n                }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-otp-title{ font-weight:900; margin:0 0 6px 0; font-size:15px; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-otp-text{ margin:0 0 10px 0; opacity:0.95; font-size:13px; }\n\n                \/* Result \/ success summary *\/\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-result-box{\n                    padding:14px; border-radius:12px; border:1px solid rgba(255,122,0,0.55); background:rgba(0,0,0,0.22);\n                }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-result-title{\n                    font-weight:900; margin:0 0 4px 0; font-size:15px; color:#ff7a00 !important;\n                }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-result-vehicle{ font-weight:900; margin:0 0 10px 0; font-size:14px; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-result-table{ width:100%; border-collapse:collapse; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-result-table td{ padding:7px 0; font-size:14px; border-bottom:1px solid rgba(255,255,255,0.10); }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-result-table td:last-child{ text-align:right; font-weight:700; white-space:nowrap; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-result-table tr.gp-result-total td{ border-bottom:0; padding-top:10px; font-size:16px; font-weight:900; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-result-table tr.gp-result-total td:last-child{ color:#ff7a00 !important; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .gp-result-note{\n                    margin-top:12px; padding:10px 12px; border-radius:10px;\n                    border:1px dashed rgba(255,122,0,0.55); font-size:13px; background:rgba(255,122,0,0.08);\n                }\n\n                \/* Tom Select dark theming inside the modal *\/\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .ts-wrapper{ margin-top:2px; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .ts-control{\n                    background:rgba(0,0,0,0.30) !important; border:1px solid rgba(255,255,255,0.22) !important;\n                    color:#fff !important; border-radius:10px !important; padding:8px 10px !important;\n                }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .ts-control input,\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .ts-control .item{ color:#fff !important; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .ts-dropdown{\n                    background:#1b1b1b !important; color:#fff !important;\n                    border:1px solid rgba(255,255,255,0.22) !important;\n                }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .ts-dropdown .option{ color:#fff !important; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .ts-dropdown .active{ background:rgba(255,122,0,0.35) !important; }\n                #gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be .ts-dropdown .optgroup-header{ color:rgba(255,255,255,0.6) !important; }\n            <\/style>\n\n            <button type=\"button\" class=\"gp-launch\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_open\">Kikokotoo Cha Gharama Za Kubadili Umiliki TRA<\/button>\n\n            <div class=\"gp-modal\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_modal\" aria-hidden=\"true\">\n                <div class=\"gp-modal__overlay\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_overlay\"><\/div>\n\n                <div class=\"gp-modal__panel\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_modal_title\">\n                    <div class=\"gp-modal__head\">\n                        <div class=\"gp-title\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_modal_title\">Kikokotoo Cha Gharama Za Kubadili Umiliki TRA<\/div>\n                        <button type=\"button\" class=\"gp-modal__close\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_close\" aria-label=\"Close\">\u2715<\/button>\n                    <\/div>\n\n                    <div class=\"gp-modal__body\">\n                        <div class=\"gp-vfees-steps\">\n                            <div id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_form\">\n\n                                <!-- Step 1: Owner role -->\n                                <div id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_step_role\">\n                                    <div class=\"gp-type-box\">\n                                        <div class=\"gp-type-title\">Wewe Ni Nani Kwenye Umiliki?<\/div>\n                                        <div class=\"gp-type-options\">\n                                            <div class=\"gp-type-opt\" data-role=\"seller\">Mmiliki Wa Zamani (Seller)<\/div>\n                                            <div class=\"gp-type-opt\" data-role=\"buyer\">Mmiliki Mpya (Buyer)<\/div>\n                                        <\/div>\n                                        <div class=\"gp-row\" style=\"margin-top:12px;\">\n                                            <button type=\"button\" class=\"gp-btn\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_btn_role\">Endelea<\/button>\n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n\n                                <!-- Step 2: Vehicle details -->\n                                <div id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_step_vehicle\" class=\"gp-hidden\">\n                                    <div class=\"gp-type-box\">\n                                        <div class=\"gp-type-title\">Taarifa Za Gari<\/div>\n\n                                        <label for=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_make\">Make<\/label>\n                                        <select id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_make\" placeholder=\"\u2014\"><\/select>\n\n                                        <label for=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_model\">Model<\/label>\n                                        <select id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_model\" placeholder=\"\u2014\"><\/select>\n\n                                        <label for=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_year\">Mwaka (Year)<\/label>\n                                        <select id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_year\" placeholder=\"\u2014\"><\/select>\n\n                                        <label for=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_usajili\">Usajili<\/label>\n                                        <select id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_usajili\" placeholder=\"\u2014\"><\/select>\n\n                                        <div class=\"gp-row\" style=\"margin-top:12px;\">\n                                            <button type=\"button\" class=\"gp-btn gp-back\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_back_to_role\">\u2190 Rudi Nyuma<\/button>\n                                            <button type=\"button\" class=\"gp-btn\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_btn_vehicle\">Endelea<\/button>\n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n\n                                <!-- Step 3: Price -->\n                                <div id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_step_price\" class=\"gp-hidden\">\n                                    <label for=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_price\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_price_label\">Bei Ya Gari Kwenye Mkataba (TSh)<\/label>\n                                    <input id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_price\" type=\"text\" inputmode=\"numeric\" placeholder=\"Mfano: 25,000,000\" autocomplete=\"off\" \/>\n\n                                    <label for=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_region\">Limeuzwa Mkoa Gani?<\/label>\n                                    <select id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_region\" placeholder=\"\u2014\"><\/select>\n\n                                    <div class=\"gp-row\">\n                                        <button type=\"button\" class=\"gp-btn gp-back\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_back_to_vehicle_from_price\">\u2190 Rudi Nyuma<\/button>\n                                        <button type=\"button\" class=\"gp-btn\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_btn_price\">Piga Hesabu<\/button>\n                                        <span class=\"gp-loading\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_loading_price\">Inahesabu\u2026<\/span>\n                                    <\/div>\n                                <\/div>\n\n                                <!-- Step 5: Name + Phone -->\n                                <div id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_step_phone\" class=\"gp-hidden\">\n                                    <div class=\"gp-confirm\">\n                                        Hesabu ya gari yako ya <strong id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_confirm_price\">\u2014<\/strong> imekamilika.\n                                                                                Weka jina na namba ya simu \u2014 tutakutumia OTP kuthibitisha, kisha gharama zote za TRA kwa SMS (BURE).\n                                                                            <\/div>\n\n                                    <label for=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_name\">Jina Lako<\/label>\n                                    <input id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_name\" type=\"text\" inputmode=\"text\" placeholder=\"Mfano: John Mlay\" autocomplete=\"name\" \/>\n\n                                    <label for=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_phone\">Namba Ya Simu<\/label>\n                                    <input id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_phone\" type=\"text\" inputmode=\"tel\" placeholder=\"Mfano: 0712345678\" autocomplete=\"tel\" value=\"\" \/>\n                                    \n                                    <div class=\"gp-row\">\n                                        <button type=\"button\" class=\"gp-btn gp-back\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_back_to_price\">\u2190 Rudi Nyuma<\/button>\n                                        <button type=\"button\" class=\"gp-btn\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_btn_phone\">Endelea<\/button>\n                                    <\/div>\n                                <\/div>\n\n                                <!-- Step 6: OTP -->\n                                <div id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_step_otp\" class=\"gp-hidden\">\n                                    <div class=\"gp-otp-box\">\n                                        <div class=\"gp-otp-title\">THIBITISHA NAMBA YAKO<\/div>\n                                        <div class=\"gp-otp-text\">Tumekutumia namba ya uthibitisho (OTP) kwa SMS. Iingize hapa chini.<\/div>\n                                        <div class=\"gp-confirm\" style=\"margin-top:0;\">\n                                            Namba: <strong id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_otp_phone_num\">\u2014<\/strong>\n                                        <\/div>\n\n                                        <label for=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_otp\">Weka OTP<\/label>\n                                        <input id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_otp\" type=\"text\" inputmode=\"numeric\" maxlength=\"6\" placeholder=\"Mfano: 123456\" autocomplete=\"one-time-code\" \/>\n\n                                        <div class=\"gp-row\" style=\"margin-top:12px;\">\n                                            <button type=\"button\" class=\"gp-btn gp-back\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_back_to_phone\">\u2190 Rudi Nyuma<\/button>\n                                            <button type=\"button\" class=\"gp-btn gp-back\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_btn_resend\">Tuma OTP Tena<\/button>\n                                            <button type=\"button\" class=\"gp-btn\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_btn_verify\">Thibitisha &amp; Tuma<\/button>\n                                            <span class=\"gp-loading\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_loading_otp\">Inatuma\u2026<\/span>\n                                        <\/div>\n                                        <span style=\"display:inline;font-weight:normal;font-style:normal;color:inherit;font-size:10px;\">\n                                            Kwa kuthibitisha Unakubali kupokea SMS kutoka GariPesa na washirika wake.\n                                        <\/span>\n                                    <\/div>\n                                <\/div>\n\n                                <div class=\"gp-msg ok\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_ok\"><\/div>\n                                <div class=\"gp-msg err\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_err\"><\/div>\n                            <\/div>\n\n                            <!-- Success screen: result breakdown + SMS note -->\n                            <div id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_final\" style=\"display:none;\">\n                                <div class=\"gp-result-box\">\n                                    <div class=\"gp-result-title\">GHARAMA ZA TRA KUBADILI UMILIKI<\/div>\n                                    <div class=\"gp-result-vehicle\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_res_vehicle\"><\/div>\n                                    <table class=\"gp-result-table\">\n                                        <tbody>\n                                            <tr><td>Bei Ya Gari<\/td><td id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_res_price\">\u2014<\/td><\/tr>\n                                            <tr id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_res_usajili_row\" style=\"display:none;\"><td>Usajili<\/td><td id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_res_usajili\">\u2014<\/td><\/tr>\n                                            <tr id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_res_region_row\" style=\"display:none;\"><td>Mkoa<\/td><td id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_res_region\">\u2014<\/td><\/tr>\n                                            <tr><td>Stamp Duty<\/td><td id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_res_stamp\">\u2014<\/td><\/tr>\n                                            <tr><td>Transfer Fee<\/td><td id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_res_transfer\">\u2014<\/td><\/tr>\n                                            <tr><td>Card Mpya<\/td><td id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_res_card\">\u2014<\/td><\/tr>\n                                            <tr class=\"gp-result-total\"><td>JUMLA<\/td><td id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_res_total\">\u2014<\/td><\/tr>\n                                        <\/tbody>\n                                    <\/table>\n                                    <div class=\"gp-result-note\" id=\"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be_res_note\">Tumekutumia gharama hizi pia kwa SMS. Tafadhali angalia na hifadhi ujumbe huo kwenye simu yako kwa marejeo.<\/div>\n                                <\/div>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <script>\n                (function(){\n                    const uid     = \"gp_vfees_da078b71-3016-4d61-82d2-353a0d8fd3be\";\n                    const ajaxUrl = \"https:\\\/\\\/garipesa.com\\\/wp-admin\\\/admin-ajax.php\";\n                    const skipOtp = false;\n\n                    const resultSmsNote   = \"Tumekutumia gharama hizi pia kwa SMS. Tafadhali angalia na hifadhi ujumbe huo kwenye simu yako kwa marejeo.\";\n\n                    const openBtn  = document.getElementById(uid + '_open');\n                    const modal    = document.getElementById(uid + '_modal');\n                    const overlay  = document.getElementById(uid + '_overlay');\n                    const closeBtn = document.getElementById(uid + '_close');\n                    const wrapForm = document.getElementById(uid + '_form');\n\n                    const stepRole    = document.getElementById(uid + '_step_role');\n                    const stepVehicle = document.getElementById(uid + '_step_vehicle');\n                    const stepPrice   = document.getElementById(uid + '_step_price');\n                    const stepPhone   = document.getElementById(uid + '_step_phone');\n                    const stepOtp     = document.getElementById(uid + '_step_otp');\n\n                    const priceEl = document.getElementById(uid + '_price');\n                    const priceLabelEl = document.getElementById(uid + '_price_label');\n                    const nameEl  = document.getElementById(uid + '_name');\n                    const phoneEl = document.getElementById(uid + '_phone');\n                    const otpEl   = document.getElementById(uid + '_otp');\n\n                    const btnRole    = document.getElementById(uid + '_btn_role');\n                    const btnVehicle = document.getElementById(uid + '_btn_vehicle');\n                    const btnPrice   = document.getElementById(uid + '_btn_price');\n                    const btnPhone   = document.getElementById(uid + '_btn_phone');\n                    const btnResend  = document.getElementById(uid + '_btn_resend');\n                    const btnVerify  = document.getElementById(uid + '_btn_verify');\n\n                    const backToRole              = document.getElementById(uid + '_back_to_role');\n                    const backToVehicleFromPrice  = document.getElementById(uid + '_back_to_vehicle_from_price');\n                    const backToPrice             = document.getElementById(uid + '_back_to_price');\n                    const backToPhone             = document.getElementById(uid + '_back_to_phone');\n\n                    const loadingPrice = document.getElementById(uid + '_loading_price');\n                    const loadingOtp   = document.getElementById(uid + '_loading_otp');\n\n                    const confirmPriceEl = document.getElementById(uid + '_confirm_price');\n                    const otpPhoneEl     = document.getElementById(uid + '_otp_phone_num');\n\n                    const okBox   = document.getElementById(uid + '_ok');\n                    const errBox  = document.getElementById(uid + '_err');\n                    const finalBox = document.getElementById(uid + '_final');\n\n                    \/\/ Result fields\n                    const resVehicle    = document.getElementById(uid + '_res_vehicle');\n                    const resPrice      = document.getElementById(uid + '_res_price');\n                    const resUsajiliRow = document.getElementById(uid + '_res_usajili_row');\n                    const resUsajili    = document.getElementById(uid + '_res_usajili');\n                    const resRegionRow  = document.getElementById(uid + '_res_region_row');\n                    const resRegion     = document.getElementById(uid + '_res_region');\n                    const resStamp      = document.getElementById(uid + '_res_stamp');\n                    const resTransfer   = document.getElementById(uid + '_res_transfer');\n                    const resCard       = document.getElementById(uid + '_res_card');\n                    const resTotal      = document.getElementById(uid + '_res_total');\n                    const resNote       = document.getElementById(uid + '_res_note');\n\n                    const roleOpts = Array.prototype.slice.call(document.querySelectorAll('#' + uid + ' .gp-type-opt[data-role]'));\n\n                    let storedOwnerRole = '';\n                    let storedPriceDigits = '';\n                    let storedPricePretty = '';\n\n                    let tsMake = null, tsModel = null, tsYear = null, tsRegion = null, tsUsajili = null;\n                    let cachedNonce = '';\n                    let makesLoaded = false;\n                    let lookupsLoaded = false;\n                    let resendTimer = null;\n\n                    function lockBody(lock){ try{ document.body.style.overflow = lock ? 'hidden' : ''; }catch(e){} }\n\n                    async function getNonce(force){\n                        if(cachedNonce && !force) return cachedNonce;\n                        const fd = new FormData();\n                        fd.append('action', 'gp_vfees_get_nonce');\n                        try{\n                            const res = await fetch(ajaxUrl, { method:'POST', credentials:'same-origin', body:fd });\n                            const data = await res.json();\n                            if(data && data.success && data.data && data.data.nonce){\n                                cachedNonce = String(data.data.nonce);\n                                return cachedNonce;\n                            }\n                        }catch(e){}\n                        return '';\n                    }\n\n                    async function apiPost(action, extra){\n                        const nonce = await getNonce(false);\n                        const fd = new FormData();\n                        fd.append('action', action);\n                        fd.append('nonce', nonce);\n                        if(extra){ Object.keys(extra).forEach(function(k){ fd.append(k, extra[k]); }); }\n                        const res = await fetch(ajaxUrl, { method:'POST', credentials:'same-origin', body:fd });\n                        return res.json();\n                    }\n\n                    function fillSelect(ts, items){\n                        ts.clearOptions();\n                        ts.clear(true);\n                        (items || []).forEach(function(it){\n                            ts.addOption({ value: String(it.id), text: it.name });\n                        });\n                        ts.refreshOptions(false);\n                    }\n\n                    function buildYears(ts){\n                        const now = new Date().getFullYear();\n                        const start = 1980;\n                        const opts = [];\n                        for(let y = now; y >= start; y--){ opts.push({ value:String(y), text:String(y) }); }\n                        ts.clearOptions();\n                        opts.forEach(function(o){ ts.addOption(o); });\n                        ts.refreshOptions(false);\n                    }\n\n                    function initTomSelects(){\n                        if(typeof TomSelect === 'undefined') return;\n                        const common = { create:false, maxOptions:1000, maxItems:1, hideSelected:true, closeAfterSelect:true, allowEmptyOption:false, plugins:[] };\n\n                        tsMake    = new TomSelect('#' + uid + '_make',    Object.assign({}, common, { placeholder:'Chagua make\u2026' }));\n                        tsModel   = new TomSelect('#' + uid + '_model',   Object.assign({}, common, { placeholder:'Chagua make kwanza\u2026' }));\n                        tsYear    = new TomSelect('#' + uid + '_year',    Object.assign({}, common, { placeholder:'Chagua mwaka\u2026' }));\n                        tsRegion  = new TomSelect('#' + uid + '_region',  Object.assign({}, common, { placeholder:'Chagua mkoa\u2026' }));\n                        tsUsajili = new TomSelect('#' + uid + '_usajili', Object.assign({}, common, { placeholder:'Chagua usajili\u2026' }));\n\n                        buildYears(tsYear);\n\n                        tsModel.disable();\n\n                        tsMake.on('change', async function(makeId){\n                            tsModel.clear(true);\n                            tsModel.clearOptions();\n                            tsModel.disable();\n                            if(!makeId){ return; }\n                            tsModel.settings.placeholder = 'Inapakia\u2026';\n                            tsModel.load && tsModel.load('');\n                            try{\n                                const data = await apiPost('gp_vfees_models', { make_id: makeId });\n                                if(data && data.success){\n                                    fillSelect(tsModel, data.data.items);\n                                    tsModel.enable();\n                                }\n                            }catch(e){}\n                        });\n                    }\n\n                    async function loadMakes(){\n                        if(makesLoaded || !tsMake) return;\n                        try{\n                            const data = await apiPost('gp_vfees_makes', {});\n                            if(data && data.success){\n                                fillSelect(tsMake, data.data.items);\n                                makesLoaded = true;\n                            }\n                        }catch(e){}\n                    }\n\n                    async function loadLookups(){\n                        if(lookupsLoaded) return;\n                        try{\n                            const [reg, usa] = await Promise.all([\n                                apiPost('gp_vfees_regions', {}),\n                                apiPost('gp_vfees_usajili', {})\n                            ]);\n                            if(reg && reg.success) fillSelect(tsRegion, reg.data.items);\n                            if(usa && usa.success) fillSelect(tsUsajili, usa.data.items);\n                            lookupsLoaded = true;\n                        }catch(e){}\n                    }\n\n                    function showOnly(step){\n                        [stepRole, stepVehicle, stepPrice, stepPhone, stepOtp].forEach(function(s){ s.classList.add('gp-hidden'); });\n                        step.classList.remove('gp-hidden');\n                    }\n                    function showErr(msg){ errBox.textContent = msg; errBox.style.display='block'; okBox.style.display='none'; }\n                    function showOk(msg){ okBox.textContent = msg; okBox.style.display='block'; errBox.style.display='none'; }\n                    function clearMsgs(){ errBox.style.display='none'; okBox.style.display='none'; errBox.textContent=''; okBox.textContent=''; }\n                    function setLoading(el, on){ el.style.display = on ? 'inline' : 'none'; }\n\n                    function formatWithCommas(d){ if(!d) return ''; d = d.replace(\/^0+\/, '') || '0'; return d.replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, ','); }\n                    function digitsOnly(v){ return (v||'').toString().replace(\/[^\\d]\/g, ''); }\n                    function setPriceFormatted(){ priceEl.value = formatWithCommas(digitsOnly(priceEl.value)); }\n\n                    function startResendCooldown(seconds){\n                        let s = seconds || 60;\n                        btnResend.disabled = true;\n                        const base = \"Tuma OTP Tena\";\n                        btnResend.textContent = base + ' (' + s + ')';\n                        clearInterval(resendTimer);\n                        resendTimer = setInterval(function(){\n                            s--;\n                            if(s <= 0){\n                                clearInterval(resendTimer);\n                                btnResend.disabled = false;\n                                btnResend.textContent = base;\n                            } else {\n                                btnResend.textContent = base + ' (' + s + ')';\n                            }\n                        }, 1000);\n                    }\n\n                    function renderResult(b, note){\n                        if(!b) return;\n                        if(resVehicle) resVehicle.textContent = b.vehicle_line || '';\n                        if(resPrice)    resPrice.textContent    = b.price || '\u2014';\n                        if(resStamp)    resStamp.textContent    = b.stamp_duty || '\u2014';\n                        if(resTransfer) resTransfer.textContent = b.transfer_fee || '\u2014';\n                        if(resCard)     resCard.textContent     = b.card_dup_fee || '\u2014';\n                        if(resTotal)    resTotal.textContent    = b.total || '\u2014';\n\n                        if(b.usajili){\n                            if(resUsajili) resUsajili.textContent = b.usajili;\n                            if(resUsajiliRow) resUsajiliRow.style.display = '';\n                        } else if(resUsajiliRow){ resUsajiliRow.style.display = 'none'; }\n\n                        if(b.region){\n                            if(resRegion) resRegion.textContent = b.region;\n                            if(resRegionRow) resRegionRow.style.display = '';\n                        } else if(resRegionRow){ resRegionRow.style.display = 'none'; }\n\n                        if(resNote) resNote.textContent = note || resultSmsNote;\n                    }\n\n                    function resetAll(){\n                        storedOwnerRole='';\n                        storedPriceDigits=''; storedPricePretty='';\n\n                        if(priceEl) priceEl.value='';\n                        if(nameEl) nameEl.value='';\n                        if(phoneEl && !skipOtp) phoneEl.value='';\n                        if(otpEl) otpEl.value='';\n\n                        clearMsgs();\n                        if(finalBox){ finalBox.style.display='none'; }\n\n                        if(btnPrice) btnPrice.disabled=false;\n                        if(btnVerify) btnVerify.disabled=false;\n                        if(btnResend){ btnResend.disabled=false; btnResend.textContent=\"Tuma OTP Tena\"; }\n                        clearInterval(resendTimer);\n                        setLoading(loadingPrice, false);\n                        setLoading(loadingOtp, false);\n\n                        roleOpts.forEach(function(x){ x.classList.remove('is-active'); });\n\n                        if(tsMake){ tsMake.clear(true); }\n                        if(tsModel){ tsModel.clear(true); tsModel.clearOptions(); tsModel.disable(); }\n                        if(tsYear){ tsYear.clear(true); }\n                        if(tsRegion){ tsRegion.clear(true); }\n                        if(tsUsajili){ tsUsajili.clear(true); }\n\n                        if(confirmPriceEl) confirmPriceEl.textContent='\u2014';\n                        if(otpPhoneEl) otpPhoneEl.textContent='\u2014';\n\n                        if(wrapForm) wrapForm.classList.remove('gp-hidden');\n                        showOnly(stepRole);\n                    }\n\n                    function openModal(){\n                        modal.classList.add('is-open');\n                        modal.setAttribute('aria-hidden','false');\n                        lockBody(true);\n                        if(!tsMake) initTomSelects();\n                        loadMakes();\n                        loadLookups();\n                    }\n                    function closeModal(){\n                        modal.classList.remove('is-open');\n                        modal.setAttribute('aria-hidden','true');\n                        lockBody(false);\n                        resetAll();\n                    }\n\n                    openBtn.addEventListener('click', openModal);\n                    closeBtn.addEventListener('click', closeModal);\n                    \/\/ Modal closes only via the X (close) button \u2014 no overlay-click or Escape close.\n\n                    roleOpts.forEach(function(el){\n                        el.addEventListener('click', function(){\n                            clearMsgs();\n                            roleOpts.forEach(function(x){ x.classList.remove('is-active'); });\n                            el.classList.add('is-active');\n                            storedOwnerRole = el.getAttribute('data-role') || '';\n                        });\n                    });\n\n                    priceEl.addEventListener('input', setPriceFormatted);\n\n                    \/\/ Step 1 (role) -> Step 2 (vehicle details)\n                    btnRole.addEventListener('click', function(){\n                        clearMsgs();\n                        if(!storedOwnerRole){ showErr('Tafadhali chagua kama wewe ni Mmiliki Wa Zamani (Seller) au Mmiliki Mpya (Buyer).'); return; }\n                        showOnly(stepVehicle);\n                    });\n                    backToRole.addEventListener('click', function(){ clearMsgs(); showOnly(stepRole); });\n\n                    \/\/ Step 2 (vehicle details) -> Step 3 (price)\n                    btnVehicle.addEventListener('click', function(){\n                        clearMsgs();\n                        if(!tsMake || !tsMake.getValue()){ showErr('Tafadhali chagua make ya gari.'); return; }\n                        if(!tsModel || !tsModel.getValue()){ showErr('Tafadhali chagua model ya gari.'); return; }\n                        if(!tsYear || !tsYear.getValue()){ showErr('Tafadhali chagua mwaka (year) wa gari.'); return; }\n                        if(!tsUsajili || !tsUsajili.getValue()){ showErr('Tafadhali chagua usajili.'); return; }\n                        showOnly(stepPrice);\n                        priceEl.focus();\n                    });\n                    backToVehicleFromPrice.addEventListener('click', function(){ clearMsgs(); showOnly(stepVehicle); });\n\n                    \/\/ Step 3 (price) -> Step 4 (name + phone)\n                    btnPrice.addEventListener('click', function(){\n                        clearMsgs();\n                        const d = digitsOnly(priceEl.value);\n                        if(!d || parseInt(d,10) <= 0){ showErr('Tafadhali weka bei sahihi.'); return; }\n                        storedPriceDigits = d;\n                        storedPricePretty = 'TSh ' + formatWithCommas(d);\n                        setLoading(loadingPrice, true);\n                        btnPrice.disabled = true;\n                        setTimeout(function(){\n                            setLoading(loadingPrice, false);\n                            btnPrice.disabled = false;\n                            confirmPriceEl.textContent = storedPricePretty;\n                            showOnly(stepPhone);\n                            if(nameEl) nameEl.focus();\n                        }, 500);\n                    });\n                    backToPrice.addEventListener('click', function(){\n                        clearMsgs(); showOnly(stepPrice); priceEl.focus();\n                        const val = priceEl.value || ''; priceEl.setSelectionRange(val.length, val.length);\n                    });\n\n                    \/\/ Step 5 -> 6 (request OTP)\n                    async function requestOtp(){\n                        const phone = (phoneEl.value || '').trim();\n                        setLoading(loadingOtp, true);\n                        const data = await apiPost('gp_vfees_send_otp', { phone: phone });\n                        setLoading(loadingOtp, false);\n                        if(data && data.success){\n                            showOk(\"Tumekutumia OTP kwa SMS.\");\n                            startResendCooldown((data.data && data.data.cooldown) ? data.data.cooldown : 60);\n                            return true;\n                        }\n                        const msg = (data && data.data && data.data.message) ? data.data.message : 'Imeshindikana kutuma OTP. Jaribu tena.';\n                        showErr(msg);\n                        return false;\n                    }\n\n                    btnPhone.addEventListener('click', async function(){\n                        clearMsgs();\n                        const nameRaw = (nameEl.value || '').trim();\n                        if(!nameRaw){ showErr('Tafadhali weka jina lako.'); return; }\n                        const phoneRaw = (phoneEl.value || '').trim();\n                        if(!phoneRaw){ showErr('Tafadhali weka namba ya simu.'); return; }\n\n                        if(skipOtp){\n                            \/\/ Logged-in user with on-file number: submit directly, no OTP step.\n                            btnPhone.disabled = true;\n                            setLoading(loadingPrice, false);\n                            await submitLead(btnPhone);\n                            btnPhone.disabled = false;\n                            return;\n                        }\n\n                        otpPhoneEl.textContent = phoneRaw;\n                        btnPhone.disabled = true;\n                        const ok = await requestOtp();\n                        btnPhone.disabled = false;\n                        if(ok){\n                            showOnly(stepOtp);\n                            if(otpEl) otpEl.focus();\n                        }\n                    });\n                    backToPhone.addEventListener('click', function(){\n                        clearMsgs(); showOnly(stepPhone); phoneEl.focus();\n                        const v = phoneEl.value || ''; phoneEl.setSelectionRange(v.length, v.length);\n                    });\n\n                    \/\/ Resend OTP\n                    btnResend.addEventListener('click', async function(){\n                        clearMsgs();\n                        await requestOtp();\n                    });\n\n                    \/\/ Shared submit: POST the lead, render the result screen. Used by both\n                    \/\/ the OTP path (verifyAndSubmit) and the skip-OTP path (logged-in users).\n                    async function submitLead(triggerBtn){\n                        setLoading(loadingOtp, true);\n\n                        const payload = {\n                            owner_role:    storedOwnerRole,\n                            vehicle_price: storedPriceDigits,\n                            name:          (nameEl.value || '').trim(),\n                            phone:         (phoneEl.value || '').trim(),\n                            otp:           (otpEl.value || '').trim(),\n                            make_id:       tsMake ? (tsMake.getValue() || '') : '',\n                            model_id:      tsModel ? (tsModel.getValue() || '') : '',\n                            year:          tsYear ? (tsYear.getValue() || '') : '',\n                            region_id:     tsRegion ? (tsRegion.getValue() || '') : '',\n                            usajili_id:    tsUsajili ? (tsUsajili.getValue() || '') : ''\n                        };\n\n                        try{\n                            const data = await apiPost('gp_vfees_submit', payload);\n                            const payloadData = (data && data.data) ? data.data : null;\n\n                            if(data && data.success){\n                                (function(){\n                                    try{\n                                        const k = 'gp_vfees_conv_fired_v1';\n                                        if(window.sessionStorage && window.sessionStorage.getItem(k) === '1') return;\n                                        const eventName = 'Usajili_lead_submitted_car';\n                                        const value = 1, currency = 'USD';\n                                        if(typeof window.gtag === 'function') window.gtag('event', eventName, { value:value, currency:currency });\n                                        if(window.dataLayer && Array.isArray(window.dataLayer)) window.dataLayer.push({ event:eventName, value:value, currency:currency });\n                                        if(typeof window.fbq === 'function') window.fbq('trackCustom', eventName, { value:value, currency:currency });\n                                        if(window.sessionStorage) window.sessionStorage.setItem(k, '1');\n                                    }catch(e){}\n                                })();\n\n                                renderResult(payloadData && payloadData.breakdown ? payloadData.breakdown : null, resultSmsNote);\n                                wrapForm.classList.add('gp-hidden');\n                                finalBox.style.display = 'block';\n                                return true;\n                            } else if(payloadData && payloadData.sms_failed_with_result && payloadData.breakdown){\n                                \/\/ Lead saved + result computed, but SMS failed: still show result with the failure note.\n                                renderResult(payloadData.breakdown, payloadData.message || resultSmsNote);\n                                wrapForm.classList.add('gp-hidden');\n                                finalBox.style.display = 'block';\n                                return true;\n                            } else {\n                                const msg = (payloadData && payloadData.message) ? payloadData.message : 'Imeshindikana. Tafadhali jaribu tena.';\n                                showErr(msg);\n                                return false;\n                            }\n                        }catch(e){\n                            showErr('Kuna tatizo la mtandao. Tafadhali jaribu tena.');\n                            return false;\n                        }finally{\n                            setLoading(loadingOtp, false);\n                        }\n                    }\n\n                    \/\/ Step 6: verify OTP + submit (logged-out flow)\n                    async function verifyAndSubmit(){\n                        clearMsgs();\n                        const otp = (otpEl.value || '').trim();\n                        if(!otp || otp.length < 4){ showErr('Tafadhali weka OTP uliyopokea kwa SMS.'); return; }\n\n                        btnVerify.disabled = true;\n                        btnResend.disabled = true;\n                        try{\n                            await submitLead(btnVerify);\n                        }finally{\n                            btnVerify.disabled = false;\n                            btnResend.disabled = false;\n                        }\n                    }\n                    btnVerify.addEventListener('click', verifyAndSubmit);\n\n                    \/\/ Enter key helpers\n                    priceEl.addEventListener('keydown', function(e){ if(e.key === 'Enter'){ e.preventDefault(); btnPrice.click(); } });\n                    if(nameEl){ nameEl.addEventListener('keydown', function(e){ if(e.key === 'Enter'){ e.preventDefault(); btnPhone.click(); } }); }\n                    phoneEl.addEventListener('keydown', function(e){ if(e.key === 'Enter'){ e.preventDefault(); btnPhone.click(); } });\n                    otpEl.addEventListener('keydown', function(e){ if(e.key === 'Enter'){ e.preventDefault(); btnVerify.click(); } });\n\n                    \/\/ Initial state\n                    resetAll();\n                })();\n            <\/script>\n        <\/div>\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-7dc6314\" data-id=\"7dc6314\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8d5512c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8d5512c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ab51615\" data-id=\"ab51615\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-62513d6 elementor-widget elementor-widget-spacer\" data-id=\"62513d6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":81,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-38758","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/garipesa.com\/en\/wp-json\/wp\/v2\/pages\/38758","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/garipesa.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/garipesa.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/garipesa.com\/en\/wp-json\/wp\/v2\/users\/81"}],"replies":[{"embeddable":true,"href":"https:\/\/garipesa.com\/en\/wp-json\/wp\/v2\/comments?post=38758"}],"version-history":[{"count":6,"href":"https:\/\/garipesa.com\/en\/wp-json\/wp\/v2\/pages\/38758\/revisions"}],"predecessor-version":[{"id":49040,"href":"https:\/\/garipesa.com\/en\/wp-json\/wp\/v2\/pages\/38758\/revisions\/49040"}],"wp:attachment":[{"href":"https:\/\/garipesa.com\/en\/wp-json\/wp\/v2\/media?parent=38758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}