{"id":9,"date":"2026-06-13T18:09:03","date_gmt":"2026-06-13T10:09:03","guid":{"rendered":"https:\/\/www.circliotech.com\/?page_id=9"},"modified":"2026-06-14T10:05:55","modified_gmt":"2026-06-14T02:05:55","slug":"warranty","status":"publish","type":"page","link":"https:\/\/www.circliotech.com\/it\/","title":{"rendered":"Garanzia"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"9\" class=\"elementor elementor-9\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f8a115c e-flex e-con-boxed e-con e-parent\" data-id=\"f8a115c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-657b50c e-con-full e-flex e-con e-child\" data-id=\"657b50c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-b2b7d65 e-con-full e-flex e-con e-child\" data-id=\"b2b7d65\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-b5688c7 e-con-full e-flex e-con e-child\" data-id=\"b5688c7\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;background_motion_fx_motion_fx_mouse&quot;:&quot;yes&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3e1b4ab elementor-widget elementor-widget-heading\" data-id=\"3e1b4ab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Register Your Product<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4ddfce6 elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-widget-tablet__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"4ddfce6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Register your device to get up to 3 years of tool warranty.\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dcd38a9 elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-widget-tablet__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"dcd38a9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Please note: For any questions or concerns, feel free to visit our FAQ page.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a515794 e-con-full e-flex e-con e-child\" data-id=\"a515794\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-3417631 e-con-full e-flex e-con e-child\" data-id=\"3417631\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-76a57e5 elementor-widget elementor-widget-button\" data-id=\"76a57e5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Register Warranty<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-89d61f8 elementor-widget elementor-widget-shortcode\" data-id=\"89d61f8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">        <div class=\"bm-warranty-form-wrap\" id=\"bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede\" data-bm-wf-build=\"1.0.19\">\n            <form class=\"bm-warranty-form\" novalidate>\n                <div class=\"bm-wf-section\">\n                    <div class=\"bm-wf-title\">Basic Information<\/div>\n                    <div class=\"bm-wf-grid\">\n                        <div class=\"bm-wf-field\">\n                            <label>Customer Name<\/label>\n                            <input type=\"text\" name=\"name\" autocomplete=\"name\" \/>\n                        <\/div>\n                        <div class=\"bm-wf-field\">\n                            <label>Email<\/label>\n                            <input type=\"email\" name=\"email\" autocomplete=\"email\" required \/>\n                            <div class=\"bm-wf-field-error\" hidden><\/div>\n                            <div class=\"bm-wf-help\">Please make sure you've entered your email address correctly. We will review your order, and the confirmation of your warranty activation will be sent to you via email. Thank you.<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <div class=\"bm-wf-section\">\n                    <div class=\"bm-wf-title\">Purchase Information<\/div>\n                    <div class=\"bm-wf-grid bm-wf-grid-single\">\n                        <div class=\"bm-wf-field\">\n                            <label>Order Number<\/label>\n                            <input type=\"text\" name=\"order_number\" autocomplete=\"off\" required \/>\n                            <div class=\"bm-wf-field-error\" hidden><\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- \u8054\u7cfb\u65b9\u5f0f\u548c\u8bbe\u5907\u4fe1\u606f\u4ece\u7cfb\u7edf\u81ea\u52a8\u8bc6\u522b\uff0c\u4e0d\u518d\u8981\u6c42\u7528\u6237\u586b\u5199 -->\n\n                <div class=\"bm-wf-actions\">\n                    <div class=\"bm-wf-actions-guest bm-hide-when-logged-in\">\n                        <a class=\"bm-wf-btn bm-wf-btn-login bm-open-auth-modal\" href=\"#\">LOGIN TO SUBMIT<\/a>\n                        <button type=\"submit\" class=\"bm-wf-btn bm-wf-btn-submit\">SUBMIT WITHOUT LOGIN<\/button>\n                    <\/div>\n                    <div class=\"bm-wf-actions-logged-in bm-show-when-logged-in\">\n                        <button type=\"submit\" class=\"bm-wf-btn bm-wf-btn-submit\">SUBMIT<\/button>\n                    <\/div>\n                <\/div>\n\n                <div class=\"bm-wf-footnote bm-hide-when-logged-in\">We recommend registering or logging in to register your warranty details.<\/div>\n                <div class=\"bm-wf-message\" style=\"display:none;\"><\/div>\n            <\/form>\n\n            <div class=\"bm-wf-modal-layer\" id=\"bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals\" aria-hidden=\"true\" hidden>\n                <div class=\"bm-wf-modal-backdrop\"><\/div>\n\n                <div class=\"bm-wf-modal bm-wf-modal-success\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-success-title\">\n                    <button type=\"button\" class=\"bm-wf-modal-close\" aria-label=\"Close\">&times;<\/button>\n                    <div class=\"bm-wf-modal-icon bm-wf-icon-success\">\n                        <svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2.5\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n                    <\/div>\n                    <h2 class=\"bm-wf-modal-title\" id=\"bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-success-title\">Submission Successful<\/h2>\n                    <p class=\"bm-wf-modal-sub bm-wf-success-default-sub\">Warranty card has been activated, confirmation email will sent in 2-3 days in your inbox!<\/p>\n                    <div class=\"bm-wf-duplicate-info\" hidden>\n                        <p class=\"bm-wf-modal-sub bm-wf-duplicate-lead\">You have already registered a warranty with this order number.<\/p>\n                        <p class=\"bm-wf-duplicate-meta\"><strong>Order number:<\/strong> <span class=\"bm-wf-duplicate-order\"><\/span><\/p>\n                        <p class=\"bm-wf-duplicate-meta\"><strong>Warranty valid until:<\/strong> <span class=\"bm-wf-duplicate-expiry\"><\/span><\/p>\n                        <p class=\"bm-wf-duplicate-note bm-wf-modal-sub\"><\/p>\n                    <\/div>\n                    <div class=\"bm-wf-feedback-block\">\n                    <p class=\"bm-wf-feedback-q\">How was your experience?<\/p>\n                    <p class=\"bm-wf-feedback-hint\">Your feedback helps us improve \u2014 it takes just one tap.<\/p>\n                    <div class=\"bm-wf-faces\" role=\"radiogroup\" aria-label=\"Experience rating\">\n                        <button type=\"button\" class=\"bm-wf-face bm-wf-face-negative\" data-rating-key=\"negative\" data-label=\"Not great\" aria-label=\"Not great\"><\/button>\n                        <button type=\"button\" class=\"bm-wf-face bm-wf-face-neutral\" data-rating-key=\"neutral\" data-label=\"Okay\" aria-label=\"Okay\"><\/button>\n                        <button type=\"button\" class=\"bm-wf-face bm-wf-face-positive\" data-rating-key=\"positive\" data-label=\"Love it!\" aria-label=\"Love it!\"><\/button>\n                    <\/div>\n                    <p class=\"bm-wf-face-label\" aria-live=\"polite\"><\/p>\n                    <button type=\"button\" id=\"bm-wf-btn-success-submit\" class=\"bm-wf-modal-primary bm-wf-success-submit\" disabled>Pick a face first<\/button>\n                    <\/div>\n                <\/div>\n\n                <div class=\"bm-wf-modal bm-wf-modal-feedback\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-feedback-title\" hidden>\n                    <button type=\"button\" class=\"bm-wf-modal-close\" aria-label=\"Close\">&times;<\/button>\n                    <h2 class=\"bm-wf-modal-title\" id=\"bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-feedback-title\">We're sorry to hear that<\/h2>\n                    <p class=\"bm-wf-modal-sub\">Tell us what went wrong \u2014 we read every message and will follow up if you'd like.<\/p>\n                    <textarea class=\"bm-wf-feedback-text\" rows=\"5\" placeholder=\"What could we do better?\"><\/textarea>\n                    <div class=\"bm-wf-feedback-actions\">\n                        <button type=\"button\" class=\"bm-wf-btn-secondary bm-wf-feedback-skip\">Skip<\/button>\n                        <button type=\"button\" id=\"bm-wf-btn-feedback-send\" class=\"bm-wf-modal-primary bm-wf-feedback-send\">Send feedback<\/button>\n                    <\/div>\n                <\/div>\n\n                <div class=\"bm-wf-modal bm-wf-modal-final\" role=\"dialog\" aria-modal=\"true\" hidden>\n                    <button type=\"button\" class=\"bm-wf-modal-close\" aria-label=\"Close\">&times;<\/button>\n                    <div class=\"bm-wf-modal-icon bm-wf-icon-success\">\n                        <svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2.5\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n                    <\/div>\n                    <p class=\"bm-wf-final-text\"><\/p>\n                    <button type=\"button\" id=\"bm-wf-btn-final-ok\" class=\"bm-wf-modal-primary bm-wf-final-ok\">OK<\/button>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <style>\n            \/* \u6781\u7b80\u6837\u5f0f\uff1a\u5c3d\u91cf\u8d34\u8fd1\u622a\u56fe\u7ed3\u6784\uff0c\u989c\u8272\u4f7f\u7528 CSS \u53d8\u91cf\uff0c\u81ea\u52a8\u8ddf\u968f Elementor \u5168\u5c40\u4e3b\u8272 *\/\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede.bm-warranty-form-wrap{\n                --bm-primary: var(--e-global-color-primary, #19b3a3);\n                --bm-dark: var(--e-global-color-secondary, #1f2937);\n                --bm-border: #e6e8eb;\n                --bm-muted: #6b7280;\n                --bm-success: #0f766e;\n                --bm-danger: #b91c1c;\n            }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-warranty-form { max-width: 100%; margin: 0 auto; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-title { font-size: 22px; font-weight: 700; margin: 18px 0 14px; color: var(--bm-primary); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-title * { color: var(--bm-primary); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-grid-single { grid-template-columns: 1fr; }\n            @media (max-width: 768px) { #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-grid { grid-template-columns: 1fr; } }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede label { display:block; font-size: 14px; margin-bottom: 8px; font-weight: 600; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede input, #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede select { width:100%; height:44px; border:1px solid var(--bm-border); border-radius:6px; padding: 0 12px; font-size: 14px; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-field.is-invalid input { border-color: var(--bm-danger); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-field-error { display:block; color:var(--bm-danger); font-size:12px; margin-top:6px; line-height:1.45; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-field-error[hidden] { display:none !important; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-help { font-size: 12px; color:var(--bm-muted); margin-top: 8px; line-height: 1.6; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-btn.is-loading { opacity: 0.75; pointer-events: none; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-actions { display:flex; gap: 18px; justify-content:center; margin-top: 22px; flex-wrap:wrap; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-actions-guest { display:flex; gap: 18px; justify-content:center; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-actions-logged-in { justify-content:center; width:100%; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-actions-logged-in .bm-wf-btn { width:100%; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-btn { display:inline-flex; align-items:center; justify-content:center; height:48px; padding: 0 28px; border-radius: 6px; text-decoration:none; font-weight: 700; letter-spacing: .3px; border:0; cursor:pointer; }\n            @media (max-width: 768px) {\n                #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-actions-guest { flex-direction:column; width:100%; }\n                #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-actions-guest .bm-wf-btn { width:100%; }\n            }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-btn-login { background:var(--bm-primary); color:#fff; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-btn-submit { background:var(--bm-dark); color:#fff; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-footnote { text-align:center; color:var(--bm-muted); font-size: 12px; margin-top: 10px; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede .bm-wf-message { margin-top: 14px; text-align:center; font-size: 14px; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals { --bm-accent:var(--e-global-color-primary,#1dafa1); --bm-danger:#ef4444; --bm-danger-dark:#dc2626; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-modal-backdrop { position:fixed; inset:0; background:rgba(15,23,42,.45); z-index:99998; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-modal { position:fixed; left:50%; top:50%; transform:translate(-50%,-50%); z-index:99999; width:min(420px,calc(100vw - 32px)); background:#fff; border-radius:16px; padding:28px 24px 24px; box-shadow:0 24px 60px rgba(0,0,0,.18); text-align:center; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-modal-close { position:absolute; top:14px; right:16px; border:0; background:transparent; font-size:22px; line-height:1; color:#9ca3af; cursor:pointer; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-modal-icon { width:56px; height:56px; border-radius:50%; margin:0 auto 16px; display:flex; align-items:center; justify-content:center; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-icon-success { background:#00b42a; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-icon-error { background:var(--bm-danger); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-modal-title { margin:0 0 10px; font-size:22px; font-weight:700; color:#111827; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-modal-sub { margin:0 0 18px; color:#6b7280; font-size:14px; line-height:1.55; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-duplicate-info { margin:0 0 18px; text-align:center; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-duplicate-meta { margin:0 0 8px; color:#374151; font-size:14px; line-height:1.55; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-duplicate-note { margin:12px 0 0; color:#6b7280; font-size:13px; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-feedback-block .bm-wf-feedback-q { margin:0; font-size:16px; font-weight:600; color:#111827; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-feedback-q { margin:0; font-size:16px; font-weight:600; color:#111827; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-feedback-hint { margin:6px 0 16px; font-size:13px; color:#9ca3af; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-faces { display:flex; justify-content:center; gap:32px; margin-bottom:12px; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face { position:relative; width:72px; height:72px; border-radius:16px; border:2px solid transparent; background:transparent; padding:0; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:background .15s ease,transform .15s ease,color .15s ease; color:#9ca3af; font-size:0; line-height:0; overflow:visible; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face::before { content:\"\"; display:block; width:44px; height:44px; flex-shrink:0; background-color:currentColor; transition:transform .15s ease; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; -webkit-mask-size:contain; mask-size:contain; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face-negative::before { -webkit-mask-image:url(\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M16%2016s-1.5-2-4-2-4%202-4%202%22%2F%3E%3Cpath%20d%3D%22M7.5%208%2010%209%22%2F%3E%3Cpath%20d%3D%22m14%209%202.5-1%22%2F%3E%3Cline%20x1%3D%229%22%20x2%3D%229.01%22%20y1%3D%2210%22%20y2%3D%2210%22%2F%3E%3Cline%20x1%3D%2215%22%20x2%3D%2215.01%22%20y1%3D%2210%22%20y2%3D%2210%22%2F%3E%3C%2Fsvg%3E\"); mask-image:url(\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M16%2016s-1.5-2-4-2-4%202-4%202%22%2F%3E%3Cpath%20d%3D%22M7.5%208%2010%209%22%2F%3E%3Cpath%20d%3D%22m14%209%202.5-1%22%2F%3E%3Cline%20x1%3D%229%22%20x2%3D%229.01%22%20y1%3D%2210%22%20y2%3D%2210%22%2F%3E%3Cline%20x1%3D%2215%22%20x2%3D%2215.01%22%20y1%3D%2210%22%20y2%3D%2210%22%2F%3E%3C%2Fsvg%3E\"); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face-neutral::before { -webkit-mask-image:url(\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cline%20x1%3D%228%22%20x2%3D%2216%22%20y1%3D%2215%22%20y2%3D%2215%22%2F%3E%3Cline%20x1%3D%229%22%20x2%3D%229.01%22%20y1%3D%229%22%20y2%3D%229%22%2F%3E%3Cline%20x1%3D%2215%22%20x2%3D%2215.01%22%20y1%3D%229%22%20y2%3D%229%22%2F%3E%3C%2Fsvg%3E\"); mask-image:url(\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cline%20x1%3D%228%22%20x2%3D%2216%22%20y1%3D%2215%22%20y2%3D%2215%22%2F%3E%3Cline%20x1%3D%229%22%20x2%3D%229.01%22%20y1%3D%229%22%20y2%3D%229%22%2F%3E%3Cline%20x1%3D%2215%22%20x2%3D%2215.01%22%20y1%3D%229%22%20y2%3D%229%22%2F%3E%3C%2Fsvg%3E\"); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face-positive::before { -webkit-mask-image:url(\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M18%2013a6%206%200%200%201-6%205%206%206%200%200%201-6-5h12Z%22%2F%3E%3Cline%20x1%3D%229%22%20x2%3D%229.01%22%20y1%3D%229%22%20y2%3D%229%22%2F%3E%3Cline%20x1%3D%2215%22%20x2%3D%2215.01%22%20y1%3D%229%22%20y2%3D%229%22%2F%3E%3C%2Fsvg%3E\"); mask-image:url(\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M18%2013a6%206%200%200%201-6%205%206%206%200%200%201-6-5h12Z%22%2F%3E%3Cline%20x1%3D%229%22%20x2%3D%229.01%22%20y1%3D%229%22%20y2%3D%229%22%2F%3E%3Cline%20x1%3D%2215%22%20x2%3D%2215.01%22%20y1%3D%229%22%20y2%3D%229%22%2F%3E%3C%2Fsvg%3E\"); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face > * { display:none !important; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face-negative:hover,\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face-negative.is-selected { border-color:transparent; background:rgba(239,68,68,.14); color:#ef4444; transform:scale(1.08); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face-neutral:hover,\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face-neutral.is-selected { border-color:transparent; background:rgba(234,179,8,.16); color:#ca8a04; transform:scale(1.08); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face-positive:hover,\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face-positive.is-selected { border-color:transparent; background:rgba(22,163,74,.14); color:#16a34a; transform:scale(1.08); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face-negative:hover:active,\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face-neutral:hover:active,\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face-positive:hover:active,\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face-negative.is-selected:active,\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face-neutral.is-selected:active,\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face-positive.is-selected:active { transform:scale(1.05); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face:active { transform:scale(1.04); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face:hover::before,\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face.is-selected::before { transform:scale(1.12); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face:hover:active::before,\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face.is-selected:active::before { transform:scale(1.08); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face:active::before { transform:scale(1.06); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-face-label { min-height:22px; margin:0 0 16px; font-size:15px; font-weight:600; color:#374151; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-modal-primary { width:100%; height:48px; border:0; border-radius:999px; color:#fff; font-size:15px; font-weight:700; cursor:pointer; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals #bm-wf-btn-success-submit,\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals #bm-wf-btn-feedback-send,\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals #bm-wf-btn-final-ok { background:var(--e-global-color-primary,var(--bm-accent)); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-modal-primary:disabled { background:#d1d5db; color:#fff; cursor:default; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals #bm-wf-btn-success-submit:not(:disabled):hover,\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals #bm-wf-btn-feedback-send:not(:disabled):hover,\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals #bm-wf-btn-final-ok:not(:disabled):hover { filter:brightness(0.92); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-modal-primary.bm-wf-btn-danger { background:var(--bm-danger); }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-modal-primary.bm-wf-btn-danger:not(:disabled):hover { background:var(--bm-danger-dark); filter:none; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-modal-feedback { text-align:left; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-feedback-text { width:100%; border:1px solid #dbeafe; border-radius:12px; padding:12px 14px; font-size:14px; resize:vertical; min-height:120px; box-sizing:border-box; margin:12px 0 18px; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-feedback-actions { display:flex; justify-content:flex-end; gap:10px; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-btn-secondary { height:42px; min-width:88px; padding:0 18px; border-radius:999px; border:1px solid #d1d5db; background:#fff; color:#374151; font-size:14px; cursor:pointer; font-weight:600; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-btn-secondary:hover { background:#f9fafb; border-color:#9ca3af; color:#111827; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-feedback-actions .bm-wf-modal-primary { width:auto; padding:0 20px; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals .bm-wf-final-text { margin:0 0 20px; font-size:16px; line-height:1.6; color:#374151; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals[aria-hidden=\"false\"] { display:block; }\n            #bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals[aria-hidden=\"true\"] { display:none; }\n        <\/style>\n\n        <script>\n            (function(){\n                const root = document.getElementById(\"bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede\");\n                if (!root) return;\n                const form = root.querySelector('form');\n                const msg  = root.querySelector('.bm-wf-message');\n                const submitButtons = root.querySelectorAll('.bm-wf-btn-submit');\n                const modalLayer = document.getElementById(\"bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-modals\");\n\n                const DRAFT_KEY = 'bm_warranty_form_draft_' + \"bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede\";\n\n                function saveDraft(){\n                    if (!form) return;\n                    try {\n                        const fd = new FormData(form);\n                        sessionStorage.setItem(DRAFT_KEY, JSON.stringify({\n                            name: (fd.get('name') || '').toString(),\n                            email: (fd.get('email') || '').toString(),\n                            order_number: (fd.get('order_number') || '').toString()\n                        }));\n                    } catch (e) {}\n                }\n\n                function restoreDraft(){\n                    if (!form) return;\n                    try {\n                        const raw = sessionStorage.getItem(DRAFT_KEY);\n                        if (!raw) return;\n                        const draft = JSON.parse(raw);\n                        if (draft.name && form.querySelector('[name=\"name\"]')) form.querySelector('[name=\"name\"]').value = draft.name;\n                        if (draft.email && form.querySelector('[name=\"email\"]')) form.querySelector('[name=\"email\"]').value = draft.email;\n                        if (draft.order_number && form.querySelector('[name=\"order_number\"]')) form.querySelector('[name=\"order_number\"]').value = draft.order_number;\n                    } catch (e) {}\n                }\n\n                function clearDraft(){\n                    try { sessionStorage.removeItem(DRAFT_KEY); } catch (e) {}\n                }\n\n                if (form) {\n                    form.addEventListener('input', saveDraft);\n                    form.addEventListener('change', saveDraft);\n                    restoreDraft();\n                }\n\n                root.querySelectorAll('.bm-open-auth-modal').forEach(function(btn){\n                    btn.addEventListener('click', function(){\n                        saveDraft();\n                        const emailVal = (form && form.querySelector('[name=\"email\"]') && form.querySelector('[name=\"email\"]').value || '').trim();\n                        const loginLog = document.getElementById('bm-login-log');\n                        if (emailVal && loginLog && !loginLog.value.trim()) {\n                            loginLog.value = emailVal;\n                        }\n                    });\n                });\n                const modalSuccess = modalLayer ? modalLayer.querySelector('.bm-wf-modal-success') : null;\n                const modalFeedback = modalLayer ? modalLayer.querySelector('.bm-wf-modal-feedback') : null;\n                const modalFinal = modalLayer ? modalLayer.querySelector('.bm-wf-modal-final') : null;\n                const faceButtons = modalLayer ? modalLayer.querySelectorAll('.bm-wf-face') : [];\n                const faceLabel = modalLayer ? modalLayer.querySelector('.bm-wf-face-label') : null;\n                const successSubmit = modalLayer ? modalLayer.querySelector('.bm-wf-success-submit') : null;\n                const feedbackText = modalLayer ? modalLayer.querySelector('.bm-wf-feedback-text') : null;\n                const successTitle = modalSuccess ? modalSuccess.querySelector('#bm-warranty-form-db9ef6a4-926d-4ad8-ad8f-7fab437c3ede-success-title') : null;\n                const successDefaultSub = modalSuccess ? modalSuccess.querySelector('.bm-wf-success-default-sub') : null;\n                const duplicateInfo = modalSuccess ? modalSuccess.querySelector('.bm-wf-duplicate-info') : null;\n                const duplicateOrder = modalSuccess ? modalSuccess.querySelector('.bm-wf-duplicate-order') : null;\n                const duplicateExpiry = modalSuccess ? modalSuccess.querySelector('.bm-wf-duplicate-expiry') : null;\n                const duplicateNote = modalSuccess ? modalSuccess.querySelector('.bm-wf-duplicate-note') : null;\n                const feedbackBlock = modalSuccess ? modalSuccess.querySelector('.bm-wf-feedback-block') : null;\n\n                const RATING_BY_KEY = {\"negative\":\"\\ud83d\\ude1e\",\"neutral\":\"\\ud83d\\ude10\",\"positive\":\"\\ud83d\\ude0a\"};\n                const RATING_POS = RATING_BY_KEY.positive;\n                const MSG_SKIP = 'Submission successful! We have received your warranty information.';\n                const MSG_IMPROVE = \"Thank you! We'll use your feedback to improve.\";\n                const MSG_LOVE = 'Thanks for the love! Your feedback means the world to us.';\n                const DEFAULT_SUCCESS_TITLE = 'Submission Successful';\n                const DEFAULT_SUCCESS_SUB = 'Warranty card has been activated, confirmation email will sent in 2-3 days in your inbox!';\n                const DUPLICATE_TITLE = 'Warranty Already Registered';\n                const DUPLICATE_NOTE_WITHIN_3MIN = 'Your previous submission was received. No duplicate record was created.';\n                const DUPLICATE_NOTE_AFTER_3MIN = 'We have recorded your submission again.';\n\n                let pendingWarrantyId = null;\n                let selectedRating = null;\n                let successOkOnly = false;\n\n                function faceKeyForBtn(btn) {\n                    const key = btn.getAttribute('data-rating-key');\n                    if (key) return key;\n                    if (btn.classList.contains('bm-wf-face-negative')) return 'negative';\n                    if (btn.classList.contains('bm-wf-face-neutral')) return 'neutral';\n                    if (btn.classList.contains('bm-wf-face-positive')) return 'positive';\n                    return null;\n                }\n\n                faceButtons.forEach(function(btn){\n                    btn.textContent = '';\n                    btn.innerHTML = '';\n                });\n\n                function showMessage(text, ok){\n                    msg.style.display = 'block';\n                    msg.textContent = text;\n                    msg.style.color = ok ? getComputedStyle(root).getPropertyValue('--bm-success') || '#0f766e' : getComputedStyle(root).getPropertyValue('--bm-danger') || '#b91c1c';\n                }\n\n                function clearFieldErrors(){\n                    root.querySelectorAll('.bm-wf-field-error').forEach(function(el){\n                        el.textContent = '';\n                        el.hidden = true;\n                    });\n                    root.querySelectorAll('.bm-wf-field.is-invalid').forEach(function(el){\n                        el.classList.remove('is-invalid');\n                    });\n                }\n\n                function showFieldError(fieldName, text){\n                    const input = form.querySelector('[name=\"' + fieldName + '\"]');\n                    const wrap = input ? input.closest('.bm-wf-field') : null;\n                    const err = wrap ? wrap.querySelector('.bm-wf-field-error') : null;\n                    if (wrap) wrap.classList.add('is-invalid');\n                    if (err) {\n                        err.textContent = text;\n                        err.hidden = false;\n                    }\n                    if (input) input.focus();\n                }\n\n                function isValidEmail(value){\n                    return \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(String(value || '').trim());\n                }\n\n                function normalizeServerMessage(raw){\n                    const text = String(raw || '').trim();\n                    if (!text) return 'Submission failed. Please try again.';\n                    const map = {\n                        '\u65e0\u6548\u7684\u90ae\u7bb1\u5730\u5740': 'Please enter a valid email address.',\n                        '\u7f3a\u5c11\u5fc5\u586b\u7684\u4fdd\u4fee\u4fe1\u606f\uff1aorder_number': 'Please enter your order number.',\n                        '\u521b\u5efa\u4fdd\u4fee\u8bb0\u5f55\u5931\u8d25': 'Submission failed. Please try again.',\n                        '\u521b\u5efa\u5ba2\u6237\u5931\u8d25': 'Submission failed. Please try again.',\n                        '\u66f4\u65b0\u5ba2\u6237\u5931\u8d25': 'Submission failed. Please try again.'\n                    };\n                    if (map[text]) return map[text];\n                    for (const key in map) {\n                        if (text.indexOf(key) !== -1) return map[key];\n                    }\n                    return text;\n                }\n\n                function setSubmitting(active){\n                    submitButtons.forEach(function(btn){\n                        if (active) {\n                            btn.classList.add('is-loading');\n                            btn.disabled = true;\n                            if (!btn.dataset.bmLabel) btn.dataset.bmLabel = btn.textContent;\n                            btn.textContent = 'Submitting\u2026';\n                        } else {\n                            btn.classList.remove('is-loading');\n                            btn.disabled = false;\n                            if (btn.dataset.bmLabel) btn.textContent = btn.dataset.bmLabel;\n                        }\n                    });\n                }\n\n                let formSubmitLock = false;\n\n                document.addEventListener('bm-auth-login-success', function(){\n                    showMessage('Signed in successfully. You can submit your warranty now.', true);\n                });\n\n                function openModalLayer(){\n                    if (!modalLayer) return;\n                    modalLayer.hidden = false;\n                    modalLayer.setAttribute('aria-hidden', 'false');\n                    document.body.style.overflow = 'hidden';\n                }\n\n                function resetSuccessModalContent(){\n                    successOkOnly = false;\n                    if (successTitle) successTitle.textContent = DEFAULT_SUCCESS_TITLE;\n                    if (successDefaultSub) successDefaultSub.hidden = false;\n                    if (duplicateInfo) duplicateInfo.hidden = true;\n                    if (duplicateOrder) duplicateOrder.textContent = '';\n                    if (duplicateExpiry) duplicateExpiry.textContent = '';\n                    if (duplicateNote) duplicateNote.textContent = '';\n                    if (feedbackBlock) feedbackBlock.hidden = false;\n                    selectedRating = null;\n                    faceButtons.forEach(function(btn){ btn.classList.remove('is-selected'); });\n                    if (faceLabel) faceLabel.textContent = '';\n                    if (successSubmit) {\n                        successSubmit.disabled = true;\n                        successSubmit.textContent = 'Pick a face first';\n                    }\n                    if (feedbackText) feedbackText.value = '';\n                }\n\n                function closeModalLayer(){\n                    if (!modalLayer) return;\n                    modalLayer.hidden = true;\n                    modalLayer.setAttribute('aria-hidden', 'true');\n                    document.body.style.overflow = '';\n                    pendingWarrantyId = null;\n                    if (modalSuccess) modalSuccess.hidden = false;\n                    if (modalFeedback) modalFeedback.hidden = true;\n                    if (modalFinal) modalFinal.hidden = true;\n                    resetSuccessModalContent();\n                }\n\n                function showPanel(panel){\n                    if (modalSuccess) modalSuccess.hidden = panel !== 'success';\n                    if (modalFeedback) modalFeedback.hidden = panel !== 'feedback';\n                    if (modalFinal) modalFinal.hidden = panel !== 'final';\n                }\n\n                function showFinalMessage(text){\n                    const finalText = modalLayer ? modalLayer.querySelector('.bm-wf-final-text') : null;\n                    if (finalText) finalText.textContent = text;\n                    showPanel('final');\n                }\n\n                async function submitFeedback(rating, feedback){\n                    if (!pendingWarrantyId || !rating) return { ok: true };\n                    try {\n                        const res = await fetch(\"https:\\\/\\\/www.circliotech.com\\\/it\\\/wp-json\\\/bm\\\/v1\\\/warranty\\\/feedback\", {\n                            method: 'POST',\n                            headers: { 'Content-Type': 'application\/json' },\n                            body: JSON.stringify({\n                                warranty_id: pendingWarrantyId,\n                                experience_rating: rating,\n                                experience_feedback: feedback || ''\n                            }),\n                            credentials: 'same-origin'\n                        });\n                        const data = await res.json().catch(function(){ return {}; });\n                        return { ok: res.ok && data && data.success === true };\n                    } catch (e) {\n                        return { ok: false };\n                    }\n                }\n\n                function openSuccessModal(payload){\n                    const data = payload && typeof payload === 'object' ? payload : { warranty_id: payload };\n                    resetSuccessModalContent();\n                    pendingWarrantyId = data.warranty_id || null;\n\n                    if (data.already_registered) {\n                        if (successTitle) successTitle.textContent = DUPLICATE_TITLE;\n                        if (successDefaultSub) successDefaultSub.hidden = true;\n                        if (duplicateInfo) {\n                            duplicateInfo.hidden = false;\n                            if (duplicateOrder) duplicateOrder.textContent = data.order_number || '\u2014';\n                            if (duplicateExpiry) duplicateExpiry.textContent = data.end_date_display || data.end_date || '\u2014';\n                            if (duplicateNote) {\n                                duplicateNote.textContent = data.duplicate_within_3min\n                                    ? DUPLICATE_NOTE_WITHIN_3MIN\n                                    : DUPLICATE_NOTE_AFTER_3MIN;\n                            }\n                        }\n                        if (data.duplicate_within_3min) {\n                            successOkOnly = true;\n                            if (feedbackBlock) feedbackBlock.hidden = true;\n                            if (successSubmit) {\n                                successSubmit.disabled = false;\n                                successSubmit.textContent = 'OK';\n                            }\n                        }\n                    }\n\n                    openModalLayer();\n                    showPanel('success');\n                }\n\n                faceButtons.forEach(function(btn){\n                    btn.addEventListener('click', function(){\n                        const key = faceKeyForBtn(btn);\n                        selectedRating = key ? (RATING_BY_KEY[key] || null) : null;\n                        faceButtons.forEach(function(b){ b.classList.remove('is-selected'); });\n                        btn.classList.add('is-selected');\n                        if (faceLabel) faceLabel.textContent = btn.getAttribute('data-label') || '';\n                        if (successSubmit) {\n                            successSubmit.disabled = false;\n                            successSubmit.textContent = 'Submit';\n                        }\n                    });\n                });\n\n                if (successSubmit) {\n                    successSubmit.addEventListener('click', async function(){\n                        if (successOkOnly) {\n                            closeModalLayer();\n                            return;\n                        }\n                        if (!selectedRating) return;\n                        if (selectedRating === RATING_POS) {\n                            await submitFeedback(selectedRating, '');\n                            showFinalMessage(MSG_LOVE);\n                            return;\n                        }\n                        showPanel('feedback');\n                    });\n                }\n\n                modalLayer && modalLayer.querySelector('.bm-wf-feedback-send') && modalLayer.querySelector('.bm-wf-feedback-send').addEventListener('click', async function(){\n                    const text = feedbackText ? feedbackText.value.trim() : '';\n                    await submitFeedback(selectedRating, text);\n                    showFinalMessage(MSG_IMPROVE);\n                });\n\n                modalLayer && modalLayer.querySelector('.bm-wf-feedback-skip') && modalLayer.querySelector('.bm-wf-feedback-skip').addEventListener('click', async function(){\n                    await submitFeedback(selectedRating, '');\n                    showFinalMessage(MSG_SKIP);\n                });\n\n                modalLayer && modalLayer.querySelector('.bm-wf-final-ok') && modalLayer.querySelector('.bm-wf-final-ok').addEventListener('click', closeModalLayer);\n\n                modalLayer && modalLayer.querySelectorAll('.bm-wf-modal-close').forEach(function(btn){\n                    btn.addEventListener('click', async function(){\n                        if (modalFinal && !modalFinal.hidden) {\n                            closeModalLayer();\n                            return;\n                        }\n                        if (modalFeedback && !modalFeedback.hidden) {\n                            await submitFeedback(selectedRating, '');\n                            showFinalMessage(MSG_SKIP);\n                            return;\n                        }\n                        showFinalMessage(MSG_SKIP);\n                    });\n                });\n\n                form.addEventListener('submit', async function(e){\n                    e.preventDefault();\n                    if (formSubmitLock) {\n                        return;\n                    }\n                    msg.style.display = 'none';\n                    clearFieldErrors();\n\n                    const fd = new FormData(form);\n                    const email = (fd.get('email') || '').toString().trim();\n                    const order = (fd.get('order_number') || '').toString().trim();\n                    const name  = (fd.get('name') || '').toString().trim();\n\n                    if (!email) {\n                        showFieldError('email', 'Please enter your email address.');\n                        return;\n                    }\n                    if (!isValidEmail(email)) {\n                        showFieldError('email', 'Please enter a valid email address.');\n                        return;\n                    }\n                    if (!order) {\n                        showFieldError('order_number', 'Please enter your order number.');\n                        return;\n                    }\n\n                    const payload = {\n                        email: email,\n                        name: name,\n                        order_number: order,\n                        site_domain: (window.location && window.location.host) ? window.location.host : ''\n                    };\n\n                    formSubmitLock = true;\n                    setSubmitting(true);\n                    try{\n                        const res = await fetch(\"https:\\\/\\\/www.circliotech.com\\\/it\\\/wp-json\\\/bm\\\/v1\\\/warranty\", {\n                            method: 'POST',\n                            headers: { 'Content-Type': 'application\/json' },\n                            body: JSON.stringify(payload),\n                            credentials: 'same-origin'\n                        });\n\n                        const data = await res.json().catch(function(){ return {}; });\n                        if (!res.ok || !data || data.success !== true) {\n                            const errRaw = (data && data.message) ? data.message : '';\n                            const err = normalizeServerMessage(errRaw);\n                            if (errRaw.indexOf('email') !== -1 || errRaw.indexOf('\u90ae\u7bb1') !== -1) {\n                                showFieldError('email', err);\n                            } else if (errRaw.indexOf('order') !== -1 || errRaw.indexOf('\u8ba2\u5355') !== -1) {\n                                showFieldError('order_number', err);\n                            } else {\n                                showMessage(err, false);\n                            }\n                            return;\n                        }\n\n                        form.reset();\n                        clearDraft();\n                        if (data.warranty_id && modalLayer) {\n                            openSuccessModal(data);\n                        } else {\n                            showMessage(MSG_SKIP, true);\n                        }\n                    }catch(err){\n                        showMessage('Network error. Please try again.', false);\n                    } finally {\n                        formSubmitLock = false;\n                        setSubmitting(false);\n                    }\n                });\n            })();\n        <\/script>\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8343371 e-con-full e-flex e-con e-child\" data-id=\"8343371\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-21df83b elementor-widget elementor-widget-shortcode\" data-id=\"21df83b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">        <div class=\"bm-auth-modal-wrap\" id=\"bm-auth-modal\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"bm-auth-modal-title\" style=\"display:none;\">\n            <div class=\"bm-auth-modal-backdrop\" aria-hidden=\"true\"><\/div>\n            <div class=\"bm-auth-modal-box\">\n                <button type=\"button\" class=\"bm-auth-modal-close\" aria-label=\"Close\">&times;<\/button>\n\n                <div class=\"bm-auth-panel bm-auth-panel-login\" id=\"bm-auth-panel-login\">\n                    <h2 id=\"bm-auth-modal-title\" class=\"bm-auth-modal-heading\">Welcome Back<\/h2>\n                    <p class=\"bm-auth-subtitle\">Sign in to your ToolPro account<\/p>\n                    <form class=\"bm-auth-login-form\" novalidate>\n                        <p class=\"bm-auth-field\">\n                            <label for=\"bm-login-log\">Email Address<\/label>\n                            <input type=\"text\" name=\"log\" id=\"bm-login-log\" autocomplete=\"username\" placeholder=\"email@example.com\" required \/>\n                        <\/p>\n                        <p class=\"bm-auth-field\">\n                            <label for=\"bm-login-pwd\">Password<\/label>\n                            <input type=\"password\" name=\"pwd\" id=\"bm-login-pwd\" autocomplete=\"current-password\" required \/>\n                        <\/p>\n                        <p class=\"bm-auth-row\">\n                            <label class=\"bm-auth-remember\"><input type=\"checkbox\" name=\"rememberme\" value=\"forever\" \/> Remember me<\/label>\n                            <button type=\"button\" class=\"bm-auth-link bm-auth-goto-forgot\">Forgot Password?<\/button>\n                        <\/p>\n                        <p class=\"bm-auth-submit\">\n                            <button type=\"submit\" name=\"wp-submit\" class=\"bm-auth-btn bm-auth-btn-primary\">Sign In<\/button>\n                        <\/p>\n                        <p class=\"bm-auth-message bm-auth-login-message\" style=\"display:none;\"><\/p>\n                    <\/form>\n                    <p class=\"bm-auth-switch\">Don&#039;t have an account? <button type=\"button\" class=\"bm-auth-link bm-auth-goto-register\">Register now<\/button><\/p>\n                <\/div>\n\n                <div class=\"bm-auth-panel bm-auth-panel-register\" id=\"bm-auth-panel-register\" style=\"display:none;\">\n                    <h2 class=\"bm-auth-modal-heading\">Create Account<\/h2>\n                    <p class=\"bm-auth-subtitle\">Register a new ToolPro account<\/p>\n                    <form class=\"bm-auth-register-form\" novalidate>\n                        <p class=\"bm-auth-field\">\n                            <label for=\"bm-reg-email\">Email Address<\/label>\n                            <input type=\"email\" name=\"email\" id=\"bm-reg-email\" autocomplete=\"email\" placeholder=\"email@example.com\" required \/>\n                        <\/p>\n                        <p class=\"bm-auth-field\">\n                            <label for=\"bm-reg-password\">Password<\/label>\n                            <input type=\"password\" name=\"password\" id=\"bm-reg-password\" autocomplete=\"new-password\" required minlength=\"6\" \/>\n                        <\/p>\n                        <p class=\"bm-auth-field\">\n                            <label for=\"bm-reg-confirm\">Confirm Password<\/label>\n                            <input type=\"password\" name=\"confirm\" id=\"bm-reg-confirm\" autocomplete=\"new-password\" required minlength=\"6\" \/>\n                        <\/p>\n                        <p class=\"bm-auth-submit\">\n                            <button type=\"submit\" class=\"bm-auth-btn bm-auth-btn-primary\">Register<\/button>\n                        <\/p>\n                        <p class=\"bm-auth-message bm-auth-reg-message\" style=\"display:none;\"><\/p>\n                    <\/form>\n                    <p class=\"bm-auth-switch\">Already have an account? <button type=\"button\" class=\"bm-auth-link bm-auth-goto-login\">Login now<\/button><\/p>\n                <\/div>\n\n                <div class=\"bm-auth-panel bm-auth-panel-forgot\" id=\"bm-auth-panel-forgot\" style=\"display:none;\">\n                    <h2 class=\"bm-auth-modal-heading\">Forgot Password?<\/h2>\n                    <p class=\"bm-auth-subtitle\">Enter your email and we&#039;ll send you a reset link.<\/p>\n                    <form class=\"bm-auth-forgot-form\" novalidate>\n                        <p class=\"bm-auth-field\">\n                            <label for=\"bm-forgot-email\">Email Address<\/label>\n                            <input type=\"email\" name=\"email\" id=\"bm-forgot-email\" autocomplete=\"email\" placeholder=\"email@example.com\" required \/>\n                        <\/p>\n                        <p class=\"bm-auth-submit\">\n                            <button type=\"submit\" class=\"bm-auth-btn bm-auth-btn-primary\">Send Reset Link<\/button>\n                        <\/p>\n                        <p class=\"bm-auth-message bm-auth-forgot-message\" style=\"display:none;\"><\/p>\n                    <\/form>\n                    <p class=\"bm-auth-switch\"><button type=\"button\" class=\"bm-auth-link bm-auth-goto-login\">Back to Login<\/button><\/p>\n                <\/div>\n\n                <div class=\"bm-auth-panel bm-auth-panel-reset\" id=\"bm-auth-panel-reset\" style=\"display:none;\">\n                    <h2 class=\"bm-auth-modal-heading\">Set New Password<\/h2>\n                    <p class=\"bm-auth-subtitle\">Choose a new password for your account.<\/p>\n                    <form class=\"bm-auth-reset-form\" novalidate>\n                        <input type=\"hidden\" name=\"key\" id=\"bm-reset-key\" value=\"\" \/>\n                        <input type=\"hidden\" name=\"login\" id=\"bm-reset-login\" value=\"\" \/>\n                        <p class=\"bm-auth-field\">\n                            <label for=\"bm-reset-password\">New Password<\/label>\n                            <input type=\"password\" name=\"password\" id=\"bm-reset-password\" autocomplete=\"new-password\" required minlength=\"6\" \/>\n                        <\/p>\n                        <p class=\"bm-auth-field\">\n                            <label for=\"bm-reset-confirm\">Confirm Password<\/label>\n                            <input type=\"password\" name=\"confirm\" id=\"bm-reset-confirm\" autocomplete=\"new-password\" required minlength=\"6\" \/>\n                        <\/p>\n                        <p class=\"bm-auth-submit\">\n                            <button type=\"submit\" class=\"bm-auth-btn bm-auth-btn-primary\">Update Password<\/button>\n                        <\/p>\n                        <p class=\"bm-auth-message bm-auth-reset-message\" style=\"display:none;\"><\/p>\n                    <\/form>\n                    <p class=\"bm-auth-switch\"><button type=\"button\" class=\"bm-auth-link bm-auth-goto-login\">Back to Login<\/button><\/p>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <style>\n            .bm-auth-modal-wrap{ position:fixed; inset:0; z-index:999999; display:flex; justify-content:center; align-items:center; padding:20px; box-sizing:border-box; }\n            .bm-auth-modal-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.5); }\n            .bm-auth-modal-box{ position:relative; max-width:420px; width:100%; margin:0; background:#fff; border-radius:12px; padding:28px; box-shadow:0 4px 24px rgba(0,0,0,.15); }\n            .bm-auth-modal-wrap{ --bm-am-primary: var(--e-global-color-primary, #19b3a3); --bm-am-dark: var(--e-global-color-secondary, #1f2937); --bm-am-accent: #f59e0b; }\n            .bm-auth-modal-close{ position:absolute; top:12px; right:12px; width:32px; height:32px; border:0; background:0; font-size:24px; line-height:1; cursor:pointer; color:#374151; }\n            .bm-auth-modal-close:hover,.bm-auth-modal-close:focus{ background:transparent !important; color:#374151; outline:none; box-shadow:none; }\n            .bm-auth-modal-heading{ margin:0 0 6px; font-size:22px; font-weight:700; color:var(--bm-am-dark); }\n            .bm-auth-subtitle{ margin:0 0 20px; font-size:14px; color:#6b7280; }\n            .bm-auth-panel{ margin-bottom:0; }\n            .bm-auth-field{ margin:0 0 14px; }\n            .bm-auth-field label{ display:block; margin-bottom:6px; font-size:13px; font-weight:600; color:#374151; }\n            .bm-auth-field input{ width:100%; height:44px; border:1px solid #e5e7eb; border-radius:8px; padding:0 12px; font-size:14px; box-sizing:border-box; }\n            .bm-auth-field input:focus{ outline:none; border-color:var(--bm-am-primary); }\n            .bm-auth-row{ display:flex; justify-content:space-between; align-items:center; margin:0 0 16px; font-size:13px; }\n            .bm-auth-remember{ margin:0; }\n            .bm-auth-submit{ margin:20px 0 0; }\n            .bm-auth-btn{ display:inline-flex; align-items:center; justify-content:center; height:46px; padding:0 24px; border-radius:8px; font-weight:600; border:0; cursor:pointer; font-size:14px; }\n            .bm-auth-btn:hover,.bm-auth-btn:focus{ outline:none; box-shadow:none; }\n            .bm-auth-btn-primary{ background:var(--bm-am-accent); color:#fff; width:100%; }\n            .bm-auth-btn-primary:hover,.bm-auth-btn-primary:focus,.bm-auth-btn-primary:active{ background:var(--bm-am-accent); color:#fff; outline:none; box-shadow:none; }\n            .bm-auth-switch{ margin:20px 0 0; font-size:14px; color:#6b7280; text-align:center; }\n            .bm-auth-modal-wrap .bm-auth-link{ background:transparent !important; border:0; padding:0; font-size:inherit; color:var(--bm-am-primary); cursor:pointer; text-decoration:underline; outline:none; box-shadow:none; }\n            .bm-auth-modal-wrap .bm-auth-link:hover,.bm-auth-modal-wrap .bm-auth-link:focus,.bm-auth-modal-wrap .bm-auth-link:active{ background:transparent !important; color:var(--bm-am-primary); outline:none; box-shadow:none; }\n            .bm-auth-reg-message,.bm-auth-forgot-message,.bm-auth-login-message,.bm-auth-reset-message{ font-size:13px; margin-top:10px; }\n        <\/style>\n\n        <script>\n        (function(){\n            var modal = document.getElementById('bm-auth-modal');\n            if (!modal) return;\n            var backdrop = modal.querySelector('.bm-auth-modal-backdrop');\n            var closeBtn = modal.querySelector('.bm-auth-modal-close');\n            var panelLogin = document.getElementById('bm-auth-panel-login');\n            var panelRegister = document.getElementById('bm-auth-panel-register');\n            var panelForgot = document.getElementById('bm-auth-panel-forgot');\n            var panelReset = document.getElementById('bm-auth-panel-reset');\n            var loginForm = modal.querySelector('.bm-auth-login-form');\n            var loginMsg = modal.querySelector('.bm-auth-login-message');\n            var regForm = modal.querySelector('.bm-auth-register-form');\n            var regMsg = modal.querySelector('.bm-auth-reg-message');\n            var forgotForm = modal.querySelector('.bm-auth-forgot-form');\n            var forgotMsg = modal.querySelector('.bm-auth-forgot-message');\n            var resetForm = modal.querySelector('.bm-auth-reset-form');\n            var resetMsg = modal.querySelector('.bm-auth-reset-message');\n\n            function openModal(panel){\n                panel = panel || 'login';\n                modal.style.display = '';\n                document.body.style.overflow = 'hidden';\n                panelLogin.style.display = panel === 'login' ? '' : 'none';\n                panelRegister.style.display = panel === 'register' ? '' : 'none';\n                if (panelForgot) panelForgot.style.display = panel === 'forgot' ? '' : 'none';\n                if (panelReset) panelReset.style.display = panel === 'reset' ? '' : 'none';\n            }\n            function closeModal(){ modal.style.display = 'none'; document.body.style.overflow = ''; }\n\n            function showLoginMsg(text, isError){ loginMsg.style.display = 'block'; loginMsg.textContent = text; loginMsg.style.color = isError ? '#b91c1c' : '#0f766e'; }\n            function showRegMsg(text, isError){ regMsg.style.display = 'block'; regMsg.textContent = text; regMsg.style.color = isError ? '#b91c1c' : '#0f766e'; }\n            function showForgotMsg(text, isError){ forgotMsg.style.display = 'block'; forgotMsg.textContent = text; forgotMsg.style.color = isError ? '#b91c1c' : '#0f766e'; }\n            function showResetMsg(text, isError){ if (!resetMsg) return; resetMsg.style.display = 'block'; resetMsg.textContent = text; resetMsg.style.color = isError ? '#b91c1c' : '#0f766e'; }\n\n            function removeAdminBar(){\n                var bar = document.getElementById('wpadminbar');\n                if (bar && bar.parentNode) bar.parentNode.removeChild(bar);\n                document.documentElement.classList.remove('admin-bar');\n                document.body.classList.remove('admin-bar');\n            }\n\n            function applyLoggedInState(data){\n                document.body.classList.add('logged-in');\n                removeAdminBar();\n                if (data && data.user) {\n                    var header = document.getElementById('bm-auth-header');\n                    var nameEl = header ? header.querySelector('.bm-auth-header-name') : null;\n                    var logoutEl = document.getElementById('bm-auth-header-logout');\n                    if (nameEl && data.user.display_name) nameEl.textContent = data.user.display_name;\n                    if (logoutEl && data.user.logout_url) logoutEl.href = data.user.logout_url;\n                }\n                document.dispatchEvent(new CustomEvent('bm-auth-login-success', { detail: data || {} }));\n            }\n\n            function handleAuthSuccess(data){\n                applyLoggedInState(data);\n                closeModal();\n                if (loginForm) loginForm.reset();\n                if (regForm) regForm.reset();\n            }\n\n            function bindTrigger(sel, panel){\n                var el = typeof sel === 'string' ? document.querySelector(sel) : sel;\n                if (el) el.addEventListener('click', function(e){ e.preventDefault(); openModal(panel || 'login'); });\n            }\n            bindTrigger('#bm-open-auth-login', 'login');\n            bindTrigger('#bm-open-auth-register', 'register');\n            document.querySelectorAll('.bm-open-auth-modal').forEach(function(el){ bindTrigger(el, 'login'); });\n            document.querySelectorAll('.bm-open-auth-register').forEach(function(el){ bindTrigger(el, 'register'); });\n\n            if (backdrop) backdrop.addEventListener('click', closeModal);\n            if (closeBtn) closeBtn.addEventListener('click', closeModal);\n\n            modal.querySelectorAll('.bm-auth-goto-register').forEach(function(btn){ btn.addEventListener('click', function(){ openModal('register'); }); });\n            modal.querySelectorAll('.bm-auth-goto-login').forEach(function(btn){ btn.addEventListener('click', function(){ openModal('login'); }); });\n            modal.querySelectorAll('.bm-auth-goto-forgot').forEach(function(btn){ btn.addEventListener('click', function(){ openModal('forgot'); }); });\n\n            if (loginForm) loginForm.addEventListener('submit', function(e){\n                e.preventDefault();\n                loginMsg.style.display = 'none';\n                var log = (document.getElementById('bm-login-log') && document.getElementById('bm-login-log').value) || '';\n                var pwd = (document.getElementById('bm-login-pwd') && document.getElementById('bm-login-pwd').value) || '';\n                var rememberme = (modal.querySelector('.bm-auth-login-form input[name=rememberme]') && modal.querySelector('.bm-auth-login-form input[name=rememberme]').checked) || false;\n                log = log.trim();\n                if (!log){ showLoginMsg('Please enter your email or username.', true); return; }\n                if (!pwd){ showLoginMsg('Please enter your password.', true); return; }\n                var payload = { log: log, pwd: pwd, rememberme: rememberme, redirect: \"https:\\\/\\\/www.circliotech.com\\\/it\\\/\" };\n                fetch(\"https:\\\/\\\/www.circliotech.com\\\/it\\\/wp-json\\\/bm\\\/v1\\\/login\", { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify(payload), credentials: 'same-origin' })\n                    .then(function(r){ return r.json().then(function(d){ return { ok: r.ok, data: d }; }); })\n                    .then(function(r){\n                        var data = r.data || {};\n                        if (data.success) {\n                            handleAuthSuccess(data);\n                        } else {\n                            showLoginMsg(data.message || 'Login failed. Please try again.', true);\n                        }\n                    })\n                    .catch(function(){ showLoginMsg('Network error. Please try again.', true); });\n            });\n\n            if (regForm) regForm.addEventListener('submit', function(e){\n                e.preventDefault();\n                regMsg.style.display = 'none';\n                var email = (document.getElementById('bm-reg-email') && document.getElementById('bm-reg-email').value) || '';\n                var password = (document.getElementById('bm-reg-password') && document.getElementById('bm-reg-password').value) || '';\n                var confirm = (document.getElementById('bm-reg-confirm') && document.getElementById('bm-reg-confirm').value) || '';\n                email = email.trim();\n                if (!email){ showRegMsg('Please enter your email.', true); return; }\n                if (password.length < 6){ showRegMsg('Password must be at least 6 characters.', true); return; }\n                if (password !== confirm){ showRegMsg('Passwords do not match.', true); return; }\n                var payload = { email: email, password: password, nonce: \"a0fd7bd12c\", redirect: window.location.href };\n                fetch(\"https:\\\/\\\/www.circliotech.com\\\/it\\\/wp-json\\\/bm\\\/v1\\\/register\", { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify(payload), credentials: 'same-origin' })\n                    .then(function(r){ return r.json().then(function(d){ return { ok: r.ok, data: d }; }); })\n                    .then(function(r){\n                        if (r.ok && r.data && r.data.success) {\n                            handleAuthSuccess(r.data);\n                        } else {\n                            showRegMsg((r.data && r.data.message) ? r.data.message : 'Registration failed.', true);\n                        }\n                    })\n                    .catch(function(){ showRegMsg('Network error. Please try again.', true); });\n            });\n\n            if (forgotForm) forgotForm.addEventListener('submit', function(e){\n                e.preventDefault();\n                forgotMsg.style.display = 'none';\n                var email = (document.getElementById('bm-forgot-email') && document.getElementById('bm-forgot-email').value) || '';\n                email = email.trim();\n                if (!email){ showForgotMsg('Please enter your email.', true); return; }\n                var pageUrl = window.location.origin + window.location.pathname;\n                var payload = { email: email, nonce: \"85caa21880\", page_url: pageUrl };\n                fetch(\"https:\\\/\\\/www.circliotech.com\\\/it\\\/wp-json\\\/bm\\\/v1\\\/lost-password\", { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify(payload), credentials: 'same-origin' })\n                    .then(function(r){ return r.json().then(function(d){ return { ok: r.ok, data: d }; }); })\n                    .then(function(r){\n                        var btn = forgotForm.querySelector('button[type=submit]');\n                        if (btn) btn.blur();\n                        if (r.ok && r.data && r.data.success) {\n                            showForgotMsg('Password reset email sent successfully. Please check your inbox.', false);\n                        } else {\n                            showForgotMsg((r.data && r.data.message) ? r.data.message : 'Request failed. Please try again.', true);\n                        }\n                    })\n                    .catch(function(){ showForgotMsg('Network error. Please try again.', true); });\n            });\n\n            if (resetForm) resetForm.addEventListener('submit', function(e){\n                e.preventDefault();\n                if (resetMsg) resetMsg.style.display = 'none';\n                var keyEl = document.getElementById('bm-reset-key');\n                var loginEl = document.getElementById('bm-reset-login');\n                var pwdEl = document.getElementById('bm-reset-password');\n                var confirmEl = document.getElementById('bm-reset-confirm');\n                var key = keyEl ? keyEl.value : '';\n                var login = loginEl ? loginEl.value : '';\n                var password = pwdEl ? pwdEl.value : '';\n                var confirm = confirmEl ? confirmEl.value : '';\n                if (!key || !login){ showResetMsg('Invalid or expired reset link.', true); return; }\n                if (password.length < 6){ showResetMsg('Password must be at least 6 characters.', true); return; }\n                if (password !== confirm){ showResetMsg('Passwords do not match.', true); return; }\n                var payload = { key: key, login: login, password: password, nonce: \"e7a6d05aa7\" };\n                fetch(\"https:\\\/\\\/www.circliotech.com\\\/it\\\/wp-json\\\/bm\\\/v1\\\/reset-password\", { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify(payload), credentials: 'same-origin' })\n                    .then(function(r){ return r.json().then(function(d){ return { ok: r.ok, data: d }; }); })\n                    .then(function(r){\n                        var data = r.data || {};\n                        if (data.success) {\n                            showResetMsg(data.message || 'Password updated successfully.', false);\n                            applyLoggedInState(data);\n                            setTimeout(function(){\n                                closeModal();\n                                if (resetForm) resetForm.reset();\n                            }, 1200);\n                        } else {\n                            showResetMsg(data.message || 'Unable to reset password. Please try again.', true);\n                        }\n                    })\n                    .catch(function(){ showResetMsg('Network error. Please try again.', true); });\n            });\n\n            (function maybeOpenResetFromUrl(){\n                var params = new URLSearchParams(window.location.search);\n                if (params.get('bm_action') !== 'reset') return;\n                var key = params.get('key') || '';\n                var login = params.get('login') || '';\n                if (!key || !login) return;\n                var keyInput = document.getElementById('bm-reset-key');\n                var loginInput = document.getElementById('bm-reset-login');\n                if (keyInput) keyInput.value = key;\n                if (loginInput) loginInput.value = decodeURIComponent(login.replace(\/\\+\/g, '%20'));\n                openModal('reset');\n                if (window.history && window.history.replaceState) {\n                    var cleanUrl = window.location.pathname + (window.location.hash || '');\n                    window.history.replaceState({}, document.title, cleanUrl);\n                }\n            })();\n        })();\n        <\/script>\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Register Your Product Register your device to get up to 3 years of tool warranty.\u00a0 Please note: For any questions [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-9","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.circliotech.com\/it\/wp-json\/wp\/v2\/pages\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.circliotech.com\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.circliotech.com\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.circliotech.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.circliotech.com\/it\/wp-json\/wp\/v2\/comments?post=9"}],"version-history":[{"count":40,"href":"https:\/\/www.circliotech.com\/it\/wp-json\/wp\/v2\/pages\/9\/revisions"}],"predecessor-version":[{"id":103,"href":"https:\/\/www.circliotech.com\/it\/wp-json\/wp\/v2\/pages\/9\/revisions\/103"}],"wp:attachment":[{"href":"https:\/\/www.circliotech.com\/it\/wp-json\/wp\/v2\/media?parent=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}