{"id":4209,"date":"2026-06-03T16:04:43","date_gmt":"2026-06-03T16:04:43","guid":{"rendered":"https:\/\/doiniktazabazar.com\/?page_id=4209"},"modified":"2026-06-03T16:06:49","modified_gmt":"2026-06-03T16:06:49","slug":"bazar-list","status":"publish","type":"page","link":"https:\/\/doiniktazabazar.com\/bn\/bazar-list\/","title":{"rendered":"Bazar List"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4209\" class=\"elementor elementor-4209\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"wd-negative-gap elementor-element elementor-element-c6d43c5 e-flex e-con-boxed e-con e-parent\" data-id=\"c6d43c5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cd328a1 elementor-widget elementor-widget-shortcode\" data-id=\"cd328a1\" 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 id=\"dtb-eg-42249\" class=\"dtb-eg-wrap\" data-config=\"{&quot;lang&quot;:&quot;bn&quot;,&quot;pricesUrl&quot;:&quot;https:\\\/\\\/doiniktazabazar.com\\\/app\\\/event-grocery-prices.json&quot;,&quot;recipesUrl&quot;:&quot;https:\\\/\\\/doiniktazabazar.com\\\/app\\\/event-dish-recipes.json&quot;,&quot;chefsUrl&quot;:&quot;https:\\\/\\\/doiniktazabazar.com\\\/app\\\/baburchi-directory.json&quot;,&quot;whatsapp&quot;:&quot;8801717520171&quot;}\">\n                        <div class=\"dtb-eg-hero\">\n                <div>\n                    <div class=\"dtb-eg-kicker\">\u09a6\u09c8\u09a8\u09bf\u0995 \u09a4\u09be\u099c\u09be \u09ac\u09be\u099c\u09be\u09b0 \/ Doinik Taza Bazar<\/div>\n                    <h2>\u0985\u09a8\u09c1\u09b7\u09cd\u09a0\u09be\u09a8 \u09ac\u09be\u099c\u09be\u09b0<\/h2>\n                    <p>\u0985\u099f\u09cb \u09aa\u09cd\u09b2\u09c7\u099f \u09b9\u09bf\u09b8\u09be\u09ac, \u09ac\u09be\u09ac\u09c1\u09b0\u09cd\u099a\u09bf\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f, \u0986\u09ae\u09be\u09b0 \u09ac\u09be\u099c\u09be\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f \u0993 \u09b8\u09cd\u09a5\u09be\u09a8\u09c0\u09df \u09ac\u09be\u09ac\u09c1\u09b0\u09cd\u099a\u09bf<\/p>\n                <\/div>\n                <div class=\"dtb-eg-hero-side\">\n                    <span class=\"dtb-eg-badge\" data-role=\"item-count\">\u09b2\u09cb\u09a1 \u09b9\u099a\u09cd\u099b\u09c7...<\/span>\n                    <div class=\"dtb-eg-hero-visual\">\n                                                    <span class=\"dtb-eg-hero-emoji\">\ud83d\uded2<\/span><span class=\"dtb-eg-hero-emoji small\">\ud83c\udf7d<\/span>\n                                            <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"dtb-eg-main-cards\">\n                <button type=\"button\" class=\"dtb-eg-card is-active\" data-mode=\"auto\"><strong>\ud83c\udf7d \u0985\u099f\u09cb \u09aa\u09cd\u09b2\u09c7\u099f \u09b9\u09bf\u09b8\u09be\u09ac<\/strong><span>\u09a1\u09bf\u09b6\u09c7\u09b0 \u09aa\u09be\u09b6\u09c7 \u09b2\u09cb\u0995 \u09b8\u0982\u0996\u09cd\u09af\u09be \u09b2\u09bf\u0996\u09c1\u09a8<\/span><\/button>\n                <button type=\"button\" class=\"dtb-eg-card\" data-mode=\"chef\"><strong>\ud83d\udccb \u09ac\u09be\u09ac\u09c1\u09b0\u09cd\u099a\u09bf\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f<\/strong><span>\u09aa\u09a3\u09cd\u09af\u09c7\u09b0 \u09aa\u09be\u09b6\u09c7 \u09aa\u09b0\u09bf\u09ae\u09be\u09a3 \u09b2\u09bf\u0996\u09c1\u09a8<\/span><\/button>\n                <button type=\"button\" class=\"dtb-eg-card\" data-mode=\"my\"><strong>\ud83d\uded2 \u0986\u09ae\u09be\u09b0 \u09ac\u09be\u099c\u09be\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f<\/strong><span>\u09b8\u09be\u09aa\u09cd\u09a4\u09be\u09b9\u09bf\u0995 \/ \u09ae\u09be\u09b8\u09bf\u0995 \u09ac\u09be\u099c\u09be\u09b0<\/span><\/button>\n                <button type=\"button\" class=\"dtb-eg-card\" data-mode=\"menu\"><strong>\ud83c\udf5b \u09ae\u09c7\u09a8\u09c1 \u0985\u09a8\u09c1\u09af\u09be\u09df\u09c0 \u09ac\u09be\u099c\u09be\u09b0<\/strong><span>\u09b0\u09c7\u09b8\u09bf\u09aa\u09bf \u09a5\u09c7\u0995\u09c7 \u09b2\u09bf\u09b8\u09cd\u099f<\/span><\/button>\n                <button type=\"button\" class=\"dtb-eg-card\" data-mode=\"chefs\"><strong>\ud83d\udc68\u200d\ud83c\udf73 \u09b8\u09cd\u09a5\u09be\u09a8\u09c0\u09df \u09ac\u09be\u09ac\u09c1\u09b0\u09cd\u099a\u09bf<\/strong><span>\u0995\u09b2 \/ WhatsApp<\/span><\/button>\n            <\/div>\n\n            \n            \n            <section class=\"dtb-eg-panel\" data-panel=\"auto\">\n                <h3>\u0985\u099f\u09cb \u09aa\u09cd\u09b2\u09c7\u099f \u09b9\u09bf\u09b8\u09be\u09ac<\/h3>\n                <p class=\"dtb-eg-help\">\u09af\u09c7 \u09a1\u09bf\u09b6 \u09b2\u09be\u0997\u09ac\u09c7 \u09a4\u09be\u09b0 \u09aa\u09be\u09b6\u09c7 \u09b2\u09cb\u0995 \u09b8\u0982\u0996\u09cd\u09af\u09be \u09b2\u09bf\u0996\u09c1\u09a8\u0964 \u0986\u0997\u09c7 \u09b9\u09bf\u09b8\u09be\u09ac \u0995\u09b0\u09c1\u09a8, \u09a4\u09be\u09b0\u09aa\u09b0 \u09a6\u09b0\u0995\u09be\u09b0 \u09b9\u09b2\u09c7 \u09ac\u09be\u09ac\u09c1\u09b0\u09cd\u099a\u09bf\u09b0 \u0985\u09a4\u09bf\u09b0\u09bf\u0995\u09cd\u09a4 \u0986\u0987\u099f\u09c7\u09ae \u09af\u09cb\u0997 \u0995\u09b0\u09c1\u09a8\u0964<\/p>\n                <div class=\"dtb-eg-list\" data-role=\"dish-list\"><\/div>\n                <button type=\"button\" class=\"dtb-eg-primary\" data-action=\"calc-auto\">\u09b9\u09bf\u09b8\u09be\u09ac \u0995\u09b0\u09c1\u09a8<\/button>\n                <div class=\"dtb-eg-extra\" data-role=\"auto-extra\" style=\"display:none;\">\n                    <h4>\u09ac\u09be\u09ac\u09c1\u09b0\u09cd\u099a\u09bf\u09b0 \u0985\u09a4\u09bf\u09b0\u09bf\u0995\u09cd\u09a4 \u099a\u09be\u09b9\u09bf\u09a6\u09be<\/h4>\n                    <div class=\"dtb-eg-list\" data-role=\"extra-list\"><\/div>\n                    <div class=\"dtb-eg-other-box\" data-other-box=\"auto\"><\/div>\n                    <button type=\"button\" class=\"dtb-eg-primary\" data-action=\"calc-auto\">\u0985\u09a4\u09bf\u09b0\u09bf\u0995\u09cd\u09a4\u09b8\u09b9 \u0986\u09ac\u09be\u09b0 \u09b9\u09bf\u09b8\u09be\u09ac \u0995\u09b0\u09c1\u09a8<\/button>\n                <\/div>\n            <\/section>\n\n            <section class=\"dtb-eg-panel\" data-panel=\"chef\" style=\"display:none;\">\n                <h3>\u09ac\u09be\u09ac\u09c1\u09b0\u09cd\u099a\u09bf\u09b0 \u09a6\u09c7\u09df\u09be \u09b2\u09bf\u09b8\u09cd\u099f \u09b9\u09bf\u09b8\u09be\u09ac<\/h3>\n                <p class=\"dtb-eg-help\">\u09ac\u09be\u09ac\u09c1\u09b0\u09cd\u099a\u09bf \u09af\u09c7 \u09aa\u09b0\u09bf\u09ae\u09be\u09a3 \u09ac\u09b2\u09c7\u099b\u09c7\u09a8, \u09aa\u09a3\u09cd\u09af\u09c7\u09b0 \u09aa\u09be\u09b6\u09c7 \u09b2\u09bf\u0996\u09c1\u09a8\u0964<\/p>\n                <label class=\"dtb-eg-label\">\u09ae\u09cb\u099f \u09b2\u09cb\u0995 \u09b8\u0982\u0996\u09cd\u09af\u09be<input type=\"number\" min=\"0\" step=\"1\" data-role=\"chef-people\" placeholder=\"0\"><\/label>\n                <div class=\"dtb-eg-list\" data-role=\"chef-list\"><\/div>\n                <div class=\"dtb-eg-other-box\" data-other-box=\"chef\"><\/div>\n                <button type=\"button\" class=\"dtb-eg-primary\" data-action=\"calc-chef\">\u09b9\u09bf\u09b8\u09be\u09ac \u0995\u09b0\u09c1\u09a8<\/button>\n            <\/section>\n\n            <section class=\"dtb-eg-panel\" data-panel=\"my\" style=\"display:none;\">\n                <h3>\u0986\u09ae\u09be\u09b0 \u09ac\u09be\u099c\u09be\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f<\/h3>\n                <div class=\"dtb-eg-tabs\">\n                    <button type=\"button\" class=\"is-active\" data-list-type=\"weekly\">\u09b8\u09be\u09aa\u09cd\u09a4\u09be\u09b9\u09bf\u0995<\/button>\n                    <button type=\"button\" data-list-type=\"monthly\">\u09ae\u09be\u09b8\u09bf\u0995<\/button>\n                    <button type=\"button\" data-list-type=\"custom\">\u09a8\u09bf\u099c\u09c7\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f<\/button>\n                <\/div>\n                <p class=\"dtb-eg-help\">\u0986\u09aa\u09a8\u09be\u09b0 \u09aa\u09cd\u09b0\u09df\u09cb\u099c\u09a8\u09c0\u09df \u09aa\u09a3\u09cd\u09af\u09c7\u09b0 \u09aa\u09be\u09b6\u09c7 \u09aa\u09b0\u09bf\u09ae\u09be\u09a3 \u09b2\u09bf\u0996\u09c1\u09a8\u0964<\/p>\n                <div class=\"dtb-eg-list\" data-role=\"my-list\"><\/div>\n                <div class=\"dtb-eg-other-box\" data-other-box=\"my\"><\/div>\n                <button type=\"button\" class=\"dtb-eg-primary\" data-action=\"calc-my\">\u09b2\u09bf\u09b8\u09cd\u099f \u09a4\u09c8\u09b0\u09bf \u0995\u09b0\u09c1\u09a8<\/button>\n            <\/section>\n\n            <section class=\"dtb-eg-panel\" data-panel=\"menu\" style=\"display:none;\">\n                <h3>\u09ae\u09c7\u09a8\u09c1 \u0985\u09a8\u09c1\u09af\u09be\u09df\u09c0 \u09ac\u09be\u099c\u09be\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f<\/h3>\n                <p class=\"dtb-eg-help\">\u09a1\u09bf\u09b6\/\u09ae\u09c7\u09a8\u09c1 \u09a8\u09bf\u09b0\u09cd\u09ac\u09be\u099a\u09a8 \u0995\u09b0\u09c7 \u09b2\u09cb\u0995\/\u09aa\u09b0\u09bf\u09ae\u09be\u09a3 \u09b2\u09bf\u0996\u09c1\u09a8\u0964 \u09b0\u09c7\u09b8\u09bf\u09aa\u09bf \u09a5\u09c7\u0995\u09c7 \u09ac\u09be\u099c\u09be\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f \u09a4\u09c8\u09b0\u09bf \u09b9\u09ac\u09c7\u0964<\/p>\n                <div class=\"dtb-eg-list\" data-role=\"menu-list\"><\/div>\n                <div class=\"dtb-eg-other-box\" data-other-box=\"menu\"><\/div>\n                <button type=\"button\" class=\"dtb-eg-primary\" data-action=\"calc-menu\">\u09b2\u09bf\u09b8\u09cd\u099f \u09a4\u09c8\u09b0\u09bf \u0995\u09b0\u09c1\u09a8<\/button>\n            <\/section>\n\n            <section class=\"dtb-eg-panel\" data-panel=\"chefs\" style=\"display:none;\">\n                <h3>\u09b8\u09cd\u09a5\u09be\u09a8\u09c0\u09df \u09ac\u09be\u09ac\u09c1\u09b0\u09cd\u099a\u09bf<\/h3>\n                <div class=\"dtb-eg-chefs\" data-role=\"chef-directory\"><\/div>\n            <\/section>\n\n            <section class=\"dtb-eg-result\" data-role=\"result\" style=\"display:none;\">\n                <h3>\u099a\u09c2\u09a1\u09bc\u09be\u09a8\u09cd\u09a4 \u09ac\u09be\u099c\u09be\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f<\/h3>\n                <div class=\"dtb-eg-review-editor\" data-role=\"review-editor\">\n                    <div class=\"dtb-eg-review-title\">\u099a\u09c2\u09a1\u09bc\u09be\u09a8\u09cd\u09a4 \u0995\u09b0\u09be\u09b0 \u0986\u0997\u09c7 \u09b2\u09bf\u09b8\u09cd\u099f \u098f\u09a1\u09bf\u099f \u0995\u09b0\u09c1\u09a8<\/div>\n                    <div data-role=\"review-list\"><\/div>\n                    <div class=\"dtb-eg-review-add\">\n                        <select data-role=\"review-add-item\"><option value=\"\">\u09aa\u09a3\u09cd\u09af \u09af\u09cb\u0997 \u0995\u09b0\u09c1\u09a8\u2026<\/option><\/select>\n                        <input type=\"number\" min=\"0\" step=\"0.001\" data-role=\"review-add-qty\" placeholder=\"0\">\n                        <button type=\"button\" class=\"dtb-eg-secondary\" data-action=\"review-add\">\u09af\u09cb\u0997 \u0995\u09b0\u09c1\u09a8<\/button>\n                    <\/div>\n                <\/div>\n                <pre data-role=\"display-result\"><\/pre>\n                <div class=\"dtb-eg-customer\">\n                    <h4>\u0997\u09cd\u09b0\u09be\u09b9\u0995\u09c7\u09b0 \u09a4\u09a5\u09cd\u09af<\/h4>\n                    <input type=\"text\" data-role=\"customer-name\" placeholder=\"\u0986\u09aa\u09a8\u09be\u09b0 \u09a8\u09be\u09ae\">\n                    <input type=\"tel\" data-role=\"customer-mobile\" placeholder=\"\u09ae\u09cb\u09ac\u09be\u0987\u09b2 \u09a8\u09ae\u09cd\u09ac\u09b0\">\n                    <textarea data-role=\"customer-address\" placeholder=\"\u09a1\u09c7\u09b2\u09bf\u09ad\u09be\u09b0\u09bf \u09a0\u09bf\u0995\u09be\u09a8\u09be\"><\/textarea>\n                <\/div>\n                <div class=\"dtb-eg-actions\">\n                    <button type=\"button\" class=\"dtb-eg-primary\" data-action=\"whatsapp\">WhatsApp \u098f \u0985\u09b0\u09cd\u09a1\u09be\u09b0 \u09aa\u09be\u09a0\u09be\u09a8<\/button>\n                    <button type=\"button\" class=\"dtb-eg-secondary\" data-action=\"pdf\">PDF \u09a1\u09be\u0989\u09a8\u09b2\u09cb\u09a1<\/button>\n                <\/div>\n            <\/section>\n        <\/div>\n        <style>\n            #dtb-eg-42249{--green:#047A22;--orange:#F97316;--blue:#2563EB;--text:#111827;--muted:#6B7280;--bg:#F3F7F3;font-family:system-ui,-apple-system,\"Noto Sans Bengali\",Arial,sans-serif;color:var(--text);max-width:980px;margin:0 auto;padding:12px;box-sizing:border-box}\n            #dtb-eg-42249 *{box-sizing:border-box}\n            #dtb-eg-42249 .dtb-eg-hero{display:flex;justify-content:space-between;gap:12px;align-items:center;background:linear-gradient(135deg,#047A22,#0C9C37);color:#fff;border-radius:20px;padding:18px;box-shadow:0 8px 22px rgba(4,122,34,.16)}\n            #dtb-eg-42249 .dtb-eg-hero h2{margin:3px 0;font-size:24px;color:#fff}.dtb-eg-kicker{font-size:12px;opacity:.9}.dtb-eg-hero p{margin:0;font-size:13px;color:#ECFDF5}.dtb-eg-badge{background:#fff;color:#047A22;border-radius:999px;padding:8px 12px;font-weight:800;white-space:nowrap;font-size:12px}\n            #dtb-eg-42249 .dtb-eg-main-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.dtb-eg-card{text-align:left;border:1px solid #E5E7EB;background:#fff;border-radius:16px;padding:14px;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.04)}.dtb-eg-card.is-active{border-color:#047A22;background:#F0FDF4}.dtb-eg-card strong{display:block;font-size:15px}.dtb-eg-card span{display:block;margin-top:5px;font-size:12px;color:#6B7280}\n            #dtb-eg-42249 .dtb-eg-panel,.dtb-eg-result{background:#fff;border:1px solid #E5E7EB;border-radius:18px;padding:14px;margin:12px 0;box-shadow:0 3px 14px rgba(0,0,0,.04)}.dtb-eg-panel h3,.dtb-eg-result h3{margin:0 0 8px;font-size:19px}.dtb-eg-help{font-size:13px;color:#6B7280;margin:0 0 12px}.dtb-eg-list h4{font-size:14px;margin:14px 0 8px;color:#047A22}.dtb-eg-row{display:flex;align-items:center;gap:8px;background:#F8FAFC;border:1px solid #E5E7EB;border-radius:12px;padding:8px;margin-bottom:6px}.dtb-eg-row .name{flex:1;min-width:0}.dtb-eg-row .name strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dtb-eg-row .name small{display:block;color:#6B7280;font-size:10px}.dtb-eg-row input{width:74px;height:38px;text-align:center;border:1px solid #D1D5DB;border-radius:10px;font-weight:800}.dtb-eg-row .unit{width:58px;text-align:center;font-size:12px;color:#6B7280;font-weight:700}.dtb-eg-toggle{width:100%;border:0;background:#EEF6EF;color:#047A22;border-radius:10px;padding:9px;font-weight:800;margin:2px 0 10px;cursor:pointer}\n            #dtb-eg-42249 .dtb-eg-primary,.dtb-eg-secondary{border:0;border-radius:12px;padding:12px 14px;font-weight:800;cursor:pointer}.dtb-eg-primary{background:#047A22;color:#fff}.dtb-eg-secondary{background:#FFF7ED;color:#C2410C}.dtb-eg-tabs{display:flex;gap:8px;margin:8px 0 12px}.dtb-eg-tabs button{border:1px solid #E5E7EB;background:#F8FAFC;border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}.dtb-eg-tabs button.is-active{background:#DCFCE7;border-color:#047A22;color:#047A22}.dtb-eg-label{font-weight:700;font-size:13px;display:block;margin-bottom:12px}.dtb-eg-label input{display:block;margin-top:5px;width:160px;max-width:100%;height:38px;border:1px solid #D1D5DB;border-radius:10px;padding:6px 10px}\n            #dtb-eg-42249 .dtb-eg-other{background:#F8FAFC;border:1px dashed #CBD5E1;border-radius:14px;padding:12px;margin:12px 0}.dtb-eg-other h4{margin:0 0 6px}.dtb-eg-other .grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px}.dtb-eg-other input{height:38px;border:1px solid #D1D5DB;border-radius:10px;padding:6px 10px}.dtb-eg-other-list{font-size:13px;margin-top:8px;color:#374151}.dtb-eg-result pre{white-space:pre-wrap;background:#F9FAFB;border:1px solid #E5E7EB;border-radius:14px;padding:12px;font-family:inherit;font-size:13px;line-height:1.55}.dtb-eg-customer input,.dtb-eg-customer textarea{width:100%;border:1px solid #D1D5DB;border-radius:10px;padding:10px;margin-bottom:8px}.dtb-eg-customer textarea{min-height:70px}.dtb-eg-actions{display:flex;gap:8px;flex-wrap:wrap}.dtb-eg-chef-card{display:flex;gap:12px;background:#F8FAFC;border:1px solid #E5E7EB;border-radius:14px;padding:10px;margin-bottom:8px}.dtb-eg-chef-card img{width:76px;height:86px;object-fit:cover;border-radius:12px;background:#FED7AA}.dtb-eg-chef-card .info{flex:1}.dtb-eg-chef-card h4{margin:0;font-size:15px}.dtb-eg-chef-card p{margin:3px 0;color:#6B7280;font-size:12px}.dtb-eg-chef-card a{display:inline-block;background:#047A22;color:#fff;text-decoration:none;border-radius:9px;padding:7px 10px;margin-right:5px;font-weight:800;font-size:12px}\n            #dtb-eg-42249 .dtb-eg-smart-upload-handoff{display:flex;justify-content:space-between;gap:12px;align-items:center;background:linear-gradient(135deg,#F0FDF4,#FFFFFF);border:1px solid #BBF7D0;border-radius:16px;padding:14px;margin:12px 0;box-shadow:0 4px 12px rgba(15,23,42,.04)}\n            #dtb-eg-42249 .dtb-eg-smart-upload-handoff h3{margin:0 0 6px;font-size:18px;color:#047A22}#dtb-eg-42249 .dtb-eg-smart-upload-handoff p{margin:0;color:#4B5563;font-size:13px;line-height:1.45}.dtb-eg-upload-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.dtb-eg-upload-meta span{background:#fff;border:1px solid #E5E7EB;border-radius:999px;padding:5px 9px;font-size:12px;color:#374151}.dtb-eg-upload-file{min-width:118px;text-align:center;text-decoration:none;color:#047A22;font-weight:800}.dtb-eg-upload-file img{width:96px;height:96px;object-fit:cover;border-radius:12px;display:block;margin:0 auto 5px;background:#F3F4F6}.dtb-eg-upload-file span{font-size:42px;display:block}\n            #dtb-eg-42249 .dtb-eg-smart-bridge{background:#fff;border:1px solid #D9E9DD;border-radius:16px;padding:14px;margin:12px 0;box-shadow:0 4px 12px rgba(15,23,42,.04)}\n            #dtb-eg-42249 .dtb-eg-smart-bridge h3{margin:0 0 6px;font-size:18px;color:#047A22}\n            #dtb-eg-42249 .dtb-eg-smart-bridge textarea{width:100%;min-height:118px;border:1px solid #D1D5DB;border-radius:12px;padding:11px;font-family:inherit;font-size:14px;line-height:1.5;background:#FAFAFA}\n            #dtb-eg-42249 .dtb-eg-smart-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.dtb-eg-smart-status{font-size:13px;color:#374151;margin-top:8px;white-space:pre-line}\n            @media(max-width:640px){#dtb-eg-42249{padding:8px}.dtb-eg-smart-upload-handoff{display:block}.dtb-eg-upload-file{display:block;margin-top:10px}.dtb-eg-main-cards{grid-template-columns:1fr}.dtb-eg-hero{align-items:flex-start;flex-direction:column}.dtb-eg-other .grid{grid-template-columns:1fr 1fr}.dtb-eg-other .grid input:first-child{grid-column:1\/-1}.dtb-eg-row{gap:6px}.dtb-eg-row input{width:64px}.dtb-eg-row .unit{width:48px}.dtb-eg-chef-card{flex-direction:row}}\n\n            \/* v2.0.19 Event Grocery public page UI polish: CSS\/skin only, no calculation logic change *\/\n            #dtb-eg-42249.dtb-eg-wrap{background:linear-gradient(180deg,#F6FBF7 0%,#FFFFFF 42%,#F8FAFC 100%);border-radius:24px;padding:14px;box-shadow:0 10px 28px rgba(15,23,42,.05)}\n            #dtb-eg-42249 .dtb-eg-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:192px;background:#fff;color:#111827;border:1px solid #DDEFE3;border-radius:28px;padding:22px 20px;box-shadow:0 16px 36px rgba(4,122,34,.10)}\n            #dtb-eg-42249 .dtb-eg-hero:before{content:\"\";position:absolute;inset:0;background:radial-gradient(circle at 85% 25%,rgba(4,122,34,.16),transparent 34%),radial-gradient(circle at 10% 90%,rgba(249,115,22,.10),transparent 30%),linear-gradient(135deg,#FFFFFF 0%,#F0FDF4 65%,#FFF7ED 100%);z-index:0}\n            #dtb-eg-42249 .dtb-eg-hero:after{content:\"\";position:absolute;right:-22px;bottom:-34px;width:220px;height:160px;background:var(--dtb-eg-hero-image);background-size:cover;background-position:center;border-radius:34px;opacity:.14;z-index:0;display:block}\n            #dtb-eg-42249 .dtb-eg-hero>div{position:relative;z-index:1}\n            #dtb-eg-42249 .dtb-eg-kicker{display:inline-flex;align-items:center;gap:6px;background:#ECFDF5;color:#047A22;border:1px solid #BBF7D0;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;opacity:1}\n            #dtb-eg-42249 .dtb-eg-kicker:before{content:\"DTB\";background:#047A22;color:#fff;border-radius:999px;padding:2px 6px;font-size:10px;letter-spacing:.3px}\n            #dtb-eg-42249 .dtb-eg-hero h2{margin:12px 0 8px;font-size:clamp(28px,4.2vw,44px);line-height:1.08;color:#123524;font-weight:900;letter-spacing:-.5px}\n            #dtb-eg-42249 .dtb-eg-hero p{max-width:620px;margin:0;color:#53616D;font-size:16px;line-height:1.65;font-weight:600}\n            #dtb-eg-42249 .dtb-eg-hero-side{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:150px}\n            #dtb-eg-42249 .dtb-eg-badge{background:#fff;color:#047A22;border:1px solid #BBF7D0;border-radius:999px;padding:10px 16px;font-size:15px;font-weight:900;box-shadow:0 8px 18px rgba(4,122,34,.12)}\n            #dtb-eg-42249 .dtb-eg-hero-visual{width:132px;height:110px;border-radius:28px;background:linear-gradient(135deg,#ECFDF5,#FFFBEB);border:1px solid #D9FBE7;display:flex;align-items:center;justify-content:center;gap:4px;box-shadow:0 12px 30px rgba(4,122,34,.12);overflow:hidden}\n            #dtb-eg-42249 .dtb-eg-hero-visual img{width:100%;height:100%;object-fit:cover}\n            #dtb-eg-42249 .dtb-eg-hero-emoji{font-size:46px;line-height:1}.dtb-eg-hero-emoji.small{font-size:34px}\n            #dtb-eg-42249 .dtb-eg-main-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px}\n            #dtb-eg-42249 .dtb-eg-card{position:relative;min-height:132px;border:1px solid #E5E7EB;border-radius:22px;padding:16px 14px 40px;background:linear-gradient(180deg,#FFFFFF,#FBFFFC);box-shadow:0 10px 26px rgba(15,23,42,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}\n            #dtb-eg-42249 .dtb-eg-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,23,42,.10)}\n            #dtb-eg-42249 .dtb-eg-card.is-active{border-color:#22C55E;background:linear-gradient(180deg,#F0FDF4,#FFFFFF);box-shadow:0 12px 28px rgba(4,122,34,.14)}\n            #dtb-eg-42249 .dtb-eg-card strong{font-size:16px;line-height:1.25;color:#1F2937;font-weight:900}\n            #dtb-eg-42249 .dtb-eg-card span{font-size:12px;line-height:1.45;color:#667085;font-weight:600}\n            #dtb-eg-42249 .dtb-eg-card:after{content:\"\u203a\";position:absolute;right:14px;bottom:12px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#F97316;color:#fff;font-size:24px;font-weight:900;box-shadow:0 5px 12px rgba(249,115,22,.22)}\n            #dtb-eg-42249 .dtb-eg-panel,#dtb-eg-42249 .dtb-eg-result{border-radius:24px;border:1px solid #E5E7EB;padding:20px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.06)}\n            #dtb-eg-42249 .dtb-eg-panel h3,#dtb-eg-42249 .dtb-eg-result h3{font-size:24px;line-height:1.2;margin-bottom:8px;color:#1F2937;font-weight:900}\n            #dtb-eg-42249 .dtb-eg-help{font-size:14px;line-height:1.7;color:#667085;font-weight:600}\n            #dtb-eg-42249 .dtb-eg-row{border-radius:16px;border-color:#E7EFEA;background:linear-gradient(180deg,#FFFFFF,#F5FCF6);padding:10px 12px;box-shadow:0 2px 8px rgba(15,23,42,.03)}\n            #dtb-eg-42249 .dtb-eg-row .name{font-weight:900;color:#1F2937}\n            #dtb-eg-42249 .dtb-eg-row input{border:1px solid #D1D5DB;border-radius:12px;background:#fff;font-weight:800;min-height:42px}#dtb-eg-42249 .dtb-eg-brand{margin-top:6px;max-width:100%;height:34px;border:1px solid #D1D5DB;border-radius:10px;background:#fff;font-size:12px;font-weight:700;color:#374151}#dtb-eg-42249 .dtb-eg-category-toggle{text-align:left;background:#F0FDF4!important;border:1px solid #BBF7D0!important;color:#047A22!important}\n            #dtb-eg-42249 .dtb-eg-row{flex-wrap:wrap}#dtb-eg-42249 .dtb-eg-sku-match{flex:0 0 100%;width:100%;border:0;border-top:1px dashed #BBF7D0;background:transparent;color:#047A22;text-align:left;padding:7px 2px 1px;margin-top:2px;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}\n            #dtb-eg-42249 .dtb-eg-primary,#dtb-eg-42249 .dtb-eg-secondary{border-radius:999px;font-weight:900;min-height:48px;box-shadow:0 10px 18px rgba(4,122,34,.12)}\n            #dtb-eg-42249 .dtb-eg-primary{background:linear-gradient(135deg,#047A22,#059669)!important;color:#fff!important;border:0!important}\n            #dtb-eg-42249 .dtb-eg-secondary{background:#FFF7ED!important;color:#C2410C!important;border:1px solid #FED7AA!important}\n            #dtb-eg-42249 .dtb-eg-chef-card{border-radius:22px;background:linear-gradient(180deg,#fff,#F8FAFC);box-shadow:0 8px 22px rgba(15,23,42,.06)}\n            #dtb-eg-42249 .dtb-eg-result pre{border-radius:18px;background:#F8FAFC;border:1px solid #E5E7EB;padding:14px;line-height:1.7}\n            #dtb-eg-42249 .dtb-eg-review-editor{border:1px solid #dbe7df;background:#f8fffa;border-radius:14px;padding:10px;margin:10px 0}#dtb-eg-42249 .dtb-eg-review-title{font-weight:800;font-size:14px;margin-bottom:7px;color:#14532d}#dtb-eg-42249 .dtb-eg-review-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 34px;gap:7px;align-items:center;padding:7px 0;border-bottom:1px solid #e8eee9}#dtb-eg-42249 .dtb-eg-review-row:last-child{border-bottom:0}#dtb-eg-42249 .dtb-eg-review-row small{display:block;color:#64748b;font-size:10px;margin-top:2px}#dtb-eg-42249 .dtb-eg-review-row input{width:100%;height:36px;border-radius:8px}#dtb-eg-42249 .dtb-eg-review-remove{border:1px solid #fecaca;background:#fff;color:#b91c1c;border-radius:8px;height:34px;font-size:20px;cursor:pointer}#dtb-eg-42249 .dtb-eg-review-add{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;gap:7px;margin-top:9px}#dtb-eg-42249 .dtb-eg-review-add select,#dtb-eg-42249 .dtb-eg-review-add input{min-height:38px;border-radius:9px}#dtb-eg-42249 .dtb-eg-optional-badge{display:inline-block;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:800;margin-left:4px}\n            @media(max-width:780px){#dtb-eg-42249{padding:10px}#dtb-eg-42249 .dtb-eg-hero{grid-template-columns:1fr;min-height:auto;padding:20px 18px}#dtb-eg-42249 .dtb-eg-hero-side{flex-direction:row;justify-content:space-between;width:100%;min-width:0}#dtb-eg-42249 .dtb-eg-hero-visual{width:84px;height:66px;border-radius:20px}#dtb-eg-42249 .dtb-eg-hero-emoji{font-size:32px}.dtb-eg-hero-emoji.small{font-size:24px}#dtb-eg-42249 .dtb-eg-main-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#dtb-eg-42249 .dtb-eg-card{min-height:128px;padding:14px 12px 38px}#dtb-eg-42249 .dtb-eg-card strong{font-size:15px}#dtb-eg-42249 .dtb-eg-panel,#dtb-eg-42249 .dtb-eg-result{padding:16px;border-radius:22px}}\n        \n            \/* v2.0.113 Smart Bazar mobile layout polish: shortcode-page CSS only *\/\n            #dtb-eg-42249.dtb-smart-bazar-page{max-width:920px;margin:0 auto 18px;padding:10px;background:linear-gradient(180deg,#F7FBF8 0%,#FFFFFF 54%,#F8FAFC 100%);border-radius:18px;box-shadow:0 8px 22px rgba(15,23,42,.045)}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero{min-height:138px;border-radius:20px;padding:16px 16px;box-shadow:0 10px 24px rgba(4,122,34,.085)}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-kicker{padding:4px 9px;font-size:11px;line-height:1.2}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-kicker:before{font-size:9px;padding:2px 5px}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero h2{margin:9px 0 5px;font-size:clamp(24px,3.5vw,34px);line-height:1.12;letter-spacing:-.25px}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero p{font-size:14px;line-height:1.48;max-width:520px}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-badge{padding:7px 12px;font-size:13px;box-shadow:0 5px 12px rgba(4,122,34,.09)}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero-visual{width:94px;height:74px;border-radius:18px;box-shadow:0 8px 18px rgba(4,122,34,.08)}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero-emoji{font-size:34px}#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero-emoji.small{font-size:25px}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-main-cards{gap:10px;margin:12px 0 14px;display:grid}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-card{min-height:104px;border-radius:16px;padding:12px 10px 34px;box-shadow:0 6px 16px rgba(15,23,42,.055)}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-card strong{font-size:15px;line-height:1.22;letter-spacing:-.1px}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-card span{font-size:12px;line-height:1.38;margin-top:5px}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-card:after{right:10px;bottom:10px;width:25px;height:25px;font-size:22px;box-shadow:0 4px 10px rgba(249,115,22,.18)}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-panel,#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-result{border-radius:18px;padding:16px;margin:10px 0;box-shadow:0 6px 18px rgba(15,23,42,.045)}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-panel h3,#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-result h3{font-size:21px;margin:0 0 7px;line-height:1.22}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-help{font-size:13px;line-height:1.48;margin-bottom:10px}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-toggle,#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-category-toggle{border-radius:12px!important;padding:10px 12px!important;margin:4px 0 8px!important;min-height:42px;text-align:center!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-row{border-radius:14px;padding:9px 10px;margin-bottom:6px;gap:7px}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-row .name strong{font-size:14px;line-height:1.2}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-row .name small{font-size:11px;line-height:1.25}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-row input{width:70px;min-height:40px;height:40px;border-radius:12px;font-size:15px}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-row .unit{width:58px;font-size:12px}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-primary,#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-secondary{min-height:44px;padding:10px 18px;border-radius:999px;box-shadow:0 7px 14px rgba(4,122,34,.09)}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-other{border-radius:16px;padding:14px;margin:10px 0;background:#FBFCFE;border-color:#D8E0EA}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-other h4{font-size:18px;line-height:1.2;margin:0 0 5px;color:#1F2937}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-other .grid{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;align-items:center}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-other .grid input:first-child{grid-column:1\/-1}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-other input{height:42px;border-radius:12px;font-size:14px}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-other [data-add-other]{width:74px;min-width:74px;padding:0;height:44px;min-height:44px}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-chef-card{border-radius:18px;padding:10px;gap:12px;box-shadow:0 5px 16px rgba(15,23,42,.045)}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-chef-card img,#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-chef-photo{width:76px;height:84px;flex:0 0 76px;border-radius:14px;background:linear-gradient(135deg,#FEF3C7,#ECFDF5);display:flex;align-items:center;justify-content:center;font-size:30px;color:#047A22;border:1px solid #E5E7EB;object-fit:cover}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-chef-card h4{font-size:17px;line-height:1.2;margin-bottom:5px}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-chef-card p{font-size:13px;line-height:1.35;margin:4px 0}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-chef-card a{border-radius:10px;padding:8px 12px;font-size:12px;background:#F0FDF4;color:#047A22;border:1px solid #BBF7D0;box-shadow:none}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-chef-card a+a{background:#047A22;color:#fff;border-color:#047A22}\n            @media(max-width:780px){\n                #dtb-eg-42249.dtb-smart-bazar-page{width:100%;max-width:100%;padding:8px;margin:0 auto 12px;border-radius:16px;box-shadow:none}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero{grid-template-columns:1fr auto;gap:10px;min-height:118px;padding:14px 13px;border-radius:18px}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero h2{font-size:25px;margin:7px 0 4px}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero p{font-size:13px;line-height:1.42}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero-side{width:auto;min-width:76px;gap:8px;flex-direction:column;align-items:flex-end;justify-content:center}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-badge{font-size:12px;padding:6px 9px;white-space:nowrap}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero-visual{width:68px;height:54px;border-radius:15px}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero-emoji{font-size:27px}#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero-emoji.small{font-size:20px}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-main-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0 12px}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-card{min-height:102px;padding:11px 10px 32px;border-radius:16px}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-card strong{font-size:14px}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-card span{font-size:11.5px;line-height:1.32}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-panel,#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-result{padding:14px;border-radius:18px;margin:9px 0}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-panel h3,#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-result h3{font-size:20px}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-row input{width:64px}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-row .unit{width:48px}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-other .grid{grid-template-columns:82px minmax(0,1fr)}\n                #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-chef-card{align-items:flex-start}\n            }\n            @media(max-width:370px){#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-main-cards{grid-template-columns:1fr}#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero{grid-template-columns:1fr}#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero-side{flex-direction:row;width:100%;align-items:center;justify-content:space-between}}\n\n            \/* v2.0.114 Smart Bazar strict mobile layout fix: compact cards, forms, chef fallback, page\/footer cleanup *\/\n            body.dtb-smart-bazar-shortcode-active .site-footer,\n            body.dtb-smart-bazar-shortcode-active footer.footer-container,\n            body.dtb-smart-bazar-shortcode-active .footer-container,\n            body.dtb-smart-bazar-shortcode-active .main-footer,\n            body.dtb-smart-bazar-shortcode-active .wd-footer,\n            body.dtb-smart-bazar-shortcode-active .woodmart-footer,\n            body.dtb-smart-bazar-shortcode-active .scrollToTop,\n            body.dtb-smart-bazar-shortcode-active .wd-back-to-top,\n            body.dtb-smart-bazar-shortcode-active .woodmart-scroll-to-top{display:none!important}\n            body.dtb-smart-bazar-shortcode-active .entry-content,\n            body.dtb-smart-bazar-shortcode-active .page-content,\n            body.dtb-smart-bazar-shortcode-active .site-content{margin-bottom:0!important;padding-bottom:70px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page{padding:6px!important;margin:0 auto 4px!important;border-radius:0!important;background:#F6FAF7!important;box-shadow:none!important;overflow:hidden}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero{min-height:96px!important;padding:11px!important;border-radius:16px!important;gap:8px!important;background:linear-gradient(135deg,#EAFBF0,#FFF8EC)!important;color:#10231A!important;border:1px solid #D7F3E0!important;box-shadow:none!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-kicker{font-size:10px!important;padding:4px 7px!important;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#047A22!important;background:rgba(255,255,255,.72)!important;border-radius:999px}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero h2{font-size:22px!important;line-height:1.08!important;margin:6px 0 3px!important;color:#143827!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero p{font-size:12px!important;line-height:1.35!important;color:#5B6572!important;max-width:210px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero-side{min-width:58px!important;gap:5px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-badge{font-size:11px!important;padding:5px 8px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero-visual{width:54px!important;height:42px!important;border-radius:12px!important;box-shadow:none!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero-emoji{font-size:22px!important}#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-hero-emoji.small{font-size:16px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-main-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:9px 0!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-card{position:relative!important;min-height:70px!important;padding:10px 34px 10px 10px!important;border-radius:14px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;box-shadow:0 3px 10px rgba(15,23,42,.04)!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-card strong{font-size:13.5px!important;line-height:1.18!important;display:block!important;word-break:normal!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-card span{font-size:10.5px!important;line-height:1.22!important;margin-top:3px!important;display:block!important;color:#6B7280!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-card:after{right:8px!important;bottom:50%!important;transform:translateY(50%)!important;width:22px!important;height:22px!important;font-size:18px!important;box-shadow:0 3px 8px rgba(249,115,22,.15)!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-panel,#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-result{padding:10px!important;margin:8px 0!important;border-radius:16px!important;box-shadow:none!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-panel h3,#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-result h3{font-size:18px!important;line-height:1.2!important;margin-bottom:6px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-help{font-size:12px!important;line-height:1.35!important;margin-bottom:8px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-category-toggle{min-height:38px!important;padding:8px 9px!important;margin:3px 0 7px!important;border-radius:10px!important;font-size:13px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-row{border-radius:12px!important;padding:7px 8px!important;margin-bottom:5px!important;gap:6px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-row .name strong{font-size:13px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-row .name small{font-size:10px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-row input{width:58px!important;height:36px!important;min-height:36px!important;font-size:13px!important;border-radius:10px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-row .unit{width:42px!important;font-size:10.5px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-other{padding:10px!important;margin:8px 0!important;border-radius:14px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-other h4{font-size:17px!important;margin-bottom:4px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-other .grid{grid-template-columns:70px minmax(0,1fr) 76px!important;gap:7px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-other .grid input:first-child{grid-column:1\/-1!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-other input{height:38px!important;min-height:38px!important;border-radius:10px!important;font-size:13px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-other [data-add-other]{width:auto!important;min-width:0!important;height:38px!important;min-height:38px!important;border-radius:10px!important;padding:0 10px!important;box-shadow:none!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-primary,#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-secondary{min-height:40px!important;padding:8px 15px!important;border-radius:14px!important;box-shadow:none!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-chef-card{padding:9px!important;gap:10px!important;border-radius:15px!important;box-shadow:none!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-chef-card img,#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-chef-photo{width:66px!important;height:72px!important;flex:0 0 66px!important;border-radius:12px!important;font-size:24px!important;background:linear-gradient(135deg,#FFF7ED,#ECFDF5)!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-chef-card h4{font-size:15px!important;margin:0 0 4px!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-chef-card p{font-size:12px!important;line-height:1.25!important;margin:3px 0!important}\n            #dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-chef-card a{font-size:11px!important;padding:7px 10px!important;border-radius:9px!important}\n            @media(max-width:360px){#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-card span{display:none!important}#dtb-eg-42249.dtb-smart-bazar-page .dtb-eg-card{min-height:58px!important}}\n        <\/style>\n        <script>\n        (function(){\n            const root=document.getElementById(\"dtb-eg-42249\"); if(!root || root.dataset.ready==='1') return; root.dataset.ready='1';\n            const cfg=JSON.parse(root.getAttribute('data-config')||'{}');\n            const bn=cfg.lang==='bn';\n            const t=(b,e)=>bn?b:e;\n            const state={items:{},categories:{},recipes:{},autoRules:{},chefs:[],mode:'auto',listType:'weekly',other:{auto:[],chef:[],my:[],menu:[]},lastRequired:null,lastTitle:'',lastPeople:0};\n            const fallbackItems={rice_regular:{name_bn:'\u099a\u09be\u09b2',name_en:'Rice',category:'main_grocery',base_unit:'kg',sku_size:1,sku_size_unit:'kg',sku_unit:'kg',price_per_sku:0,available:true},lentil_dal:{name_bn:'\u09a1\u09be\u09b2',name_en:'Dal',category:'main_grocery',base_unit:'kg',sku_size:.5,sku_size_unit:'kg',sku_unit:'kg',price_per_sku:0,available:true},beef:{name_bn:'\u0997\u09b0\u09c1\u09b0 \u09ae\u09be\u0982\u09b8',name_en:'Beef',category:'protein',base_unit:'kg',sku_size:.5,sku_size_unit:'kg',sku_unit:'kg',price_per_sku:0,available:true},fish_generic:{name_bn:'\u09ae\u09be\u099b',name_en:'Fish',category:'protein',base_unit:'kg',sku_size:.5,sku_size_unit:'kg',sku_unit:'kg',price_per_sku:0,available:true},onion:{name_bn:'\u09aa\u09c7\u0981\u09af\u09bc\u09be\u099c',name_en:'Onion',category:'vegetables',base_unit:'kg',sku_size:.5,sku_size_unit:'kg',sku_unit:'kg',price_per_sku:0,available:true},soybean_oil:{name_bn:'\u09b8\u09af\u09bc\u09be\u09ac\u09bf\u09a8 \u09a4\u09c7\u09b2',name_en:'Soybean oil',category:'spices_cooking',base_unit:'liter',sku_size:1,sku_size_unit:'liter',sku_unit:'liter',price_per_sku:0,available:true},turmeric_powder:{name_bn:'\u09b9\u09b2\u09c1\u09a6 \u0997\u09c1\u0981\u09a1\u09bc\u09be',name_en:'Turmeric powder',category:'spices_cooking',base_unit:'g',sku_size:100,sku_size_unit:'g',sku_unit:'g',price_per_sku:0,available:true},plastic_plate:{name_bn:'\u09aa\u09cd\u09b2\u09be\u09b8\u09cd\u099f\u09bf\u0995 \u09aa\u09cd\u09b2\u09c7\u099f',name_en:'Plastic plate',category:'toiletries_disposable',base_unit:'pcs',sku_size:50,sku_size_unit:'pcs',sku_unit:'pcs',price_per_sku:0,available:true}};\n            const fallbackRecipes={plain_rice:{name_bn:'\u09b8\u09be\u09a6\u09be \u09ad\u09be\u09a4',name_en:'Plain Rice',items:[{id:'rice_regular',qty_per_person:.18,unit:'kg'}]},fish_curry:{name_bn:'\u09ae\u09be\u099b',name_en:'Fish',items:[{id:'fish_generic',qty_per_person:.20,unit:'kg'},{id:'onion',qty_per_person:.04,unit:'kg'},{id:'turmeric_powder',qty_per_person:2,unit:'g'},{id:'soybean_oil',qty_per_person:.018,unit:'liter'}]},beef_curry:{name_bn:'\u0997\u09b0\u09c1\u09b0 \u09ae\u09be\u0982\u09b8',name_en:'Beef',items:[{id:'beef',qty_per_person:.18,unit:'kg'},{id:'onion',qty_per_person:.05,unit:'kg'},{id:'soybean_oil',qty_per_person:.018,unit:'liter'}]}};\n            const $=sel=>root.querySelector(sel), $$=sel=>Array.from(root.querySelectorAll(sel));\n            function fmt(n){n=Number(n)||0; return (Math.round(n*100)\/100).toString().replace(\/\\.0+$\/,'');}\n            function label(item){return bn?(item.name_bn||item.bn||item.name_en||''):(item.name_en||item.en||item.name_bn||'');}\n            function unit(u){if(!bn) return u||''; const m={kg:'\u0995\u09c7\u099c\u09bf',g:'\u0997\u09cd\u09b0\u09be\u09ae',gram:'\u0997\u09cd\u09b0\u09be\u09ae',liter:'\u09b2\u09bf\u099f\u09be\u09b0',pcs:'\u09aa\u09bf\u09b8',pack:'\u09aa\u09cd\u09af\u09be\u0995',bottle:'\u09ac\u09cb\u09a4\u09b2',bundle:'\u0986\u099f\u09bf',dozen:'\u09a1\u099c\u09a8'}; return m[String(u||'').toLowerCase()]||u||'';}\n            function catLabel(c){c=String(c||'').toLowerCase(); const meta=state.categories&&state.categories[c]; if(meta){const custom=bn?(meta.name_bn||meta.name_en):(meta.name_en||meta.name_bn); if(custom)return custom;} if(bn){if(c.includes('main'))return'\u099a\u09be\u09b2 \/ \u09a1\u09be\u09b2 \/ \u0997\u09cd\u09b0\u09cb\u09b8\u09be\u09b0\u09bf';if(c.includes('protein')||c.includes('fish')||c.includes('meat'))return'\u09ae\u09be\u099b \/ \u09ae\u09be\u0982\u09b8 \/ \u09a1\u09bf\u09ae';if(c.includes('vegetable'))return'\u09b8\u09ac\u099c\u09bf';if(c.includes('spice')||c.includes('cooking'))return'\u09ae\u09b8\u09b2\u09be \/ \u09b0\u09be\u09a8\u09cd\u09a8\u09be\u09b0 \u0989\u09aa\u0995\u09b0\u09a3';if(c.includes('dairy')||c.includes('snack'))return'\u09a6\u09c1\u09a7 \/ \u09a8\u09be\u09b8\u09cd\u09a4\u09be';if(c.includes('fruit'))return'\u09ab\u09b2';if(c.includes('bakery'))return'\u09ac\u09c7\u0995\u09be\u09b0\u09bf';if(c.includes('plastic'))return'\u09aa\u09cd\u09b2\u09be\u09b8\u09cd\u099f\u09bf\u0995 \u0986\u0987\u099f\u09c7\u09ae';if(c.includes('cosmetic'))return'\u0995\u09b8\u09ae\u09c7\u099f\u09bf\u0995\u09b8';if(c.includes('toiletries')||c.includes('disposable')||c.includes('clean'))return'\u099f\u09bf\u09b8\u09cd\u09af\u09c1 \/ \u09a1\u09bf\u09b8\u09aa\u09cb\u099c\u09c7\u09ac\u09b2 \/ \u09aa\u09b0\u09bf\u09b7\u09cd\u0995\u09be\u09b0';return'\u0985\u09a8\u09cd\u09af\u09be\u09a8\u09cd\u09af';} if(c.includes('main'))return'Rice \/ Dal \/ Grocery';if(c.includes('protein')||c.includes('fish')||c.includes('meat'))return'Fish \/ Meat \/ Egg';if(c.includes('vegetable'))return'Vegetables';if(c.includes('spice')||c.includes('cooking'))return'Spices \/ Cooking';if(c.includes('dairy')||c.includes('snack'))return'Dairy \/ Snacks';if(c.includes('fruit'))return'Fruits';if(c.includes('bakery'))return'Bakery';if(c.includes('plastic'))return'Plastic Items';if(c.includes('cosmetic'))return'Cosmetics';if(c.includes('toiletries')||c.includes('disposable')||c.includes('clean'))return'Toiletries \/ Disposable \/ Cleaning';return'Other';}\n            function categoryVisible(c,mode){const meta=state.categories&&state.categories[String(c||'')]; if(!meta)return true; if(meta.active===false)return false; const vis=meta.visible_in||{}; return vis[mode]!==false;}\n            function normalize(q,u,item){q=Number(q)||0; const base=String((item&&item.base_unit)||'').toLowerCase(), cu=String(u||'').toLowerCase(); if((base==='g'||base==='gram')&&(cu==='kg'||cu.includes('\u0995\u09c7\u099c\u09bf')))return q*1000; if(base==='kg'&&(cu==='g'||cu.includes('\u0997\u09cd\u09b0\u09be\u09ae')))return q\/1000; if(base==='liter'&&(cu==='ml'||cu.includes('\u09ae\u09bf')))return q\/1000; return q;}\n            function activeSkus(list){return Array.isArray(list)?list.filter(s=>s&&s.available!==false&&Number(s.size||s.sku_size)>0):[];}\n            function convertSkuSizeToBase(size,skuUnit,baseUnit){size=Number(size)||0; const su=String(skuUnit||'').toLowerCase(), bu=String(baseUnit||'').toLowerCase(); if(size<=0)return 0; if((bu==='g'||bu==='gram')&&su==='kg')return size*1000; if(bu==='kg'&&(su==='g'||su==='gram'))return size\/1000; if(bu==='liter'&&(su==='ml'||su==='milliliter'))return size\/1000; if((bu==='ml'||bu==='milliliter')&&su==='liter')return size*1000; return size;}\n            function skuPrecision(baseUnit){const u=String(baseUnit||'').toLowerCase(); if(u==='kg'||u==='liter')return 1000; if(u==='g'||u==='gram'||u==='ml'||u==='milliliter'||u==='pcs'||u==='pack'||u==='bottle'||u==='bundle'||u==='dozen')return 1; return 100;}\n            function matchFromSkuList(item,qty,skus){const usable=activeSkus(skus).map(s=>({raw:s,size:convertSkuSizeToBase(s.size||s.sku_size,s.unit||s.sku_unit,item.base_unit),price:Number(s.price||s.price_per_sku||0)})).filter(s=>s.size>0); if(!usable.length||qty<=0)return null; const precision=skuPrecision(item.base_unit), req=Math.max(1,Math.ceil(qty*precision-1e-8)), vals=usable.map(s=>Math.max(1,Math.round(s.size*precision))), maxVal=Math.max(...vals), limit=req+maxVal*2; const packs=Array(limit+1).fill(Infinity), prices=Array(limit+1).fill(Infinity), prev=Array(limit+1).fill(-1), prevAmt=Array(limit+1).fill(-1); packs[0]=0; prices[0]=0; for(let a=0;a<=limit;a++){if(!Number.isFinite(packs[a]))continue; for(let i=0;i<vals.length;i++){const n=a+vals[i]; if(n>limit)continue; const np=packs[a]+1, nprice=prices[a]+Math.max(0,usable[i].price); if(np<packs[n]||(np===packs[n]&&nprice<prices[n])){packs[n]=np;prices[n]=nprice;prev[n]=i;prevAmt[n]=a;}}} let best=-1; for(let a=req;a<=limit;a++){if(!Number.isFinite(packs[a]))continue; if(best<0||a<best||(a===best&&(packs[a]<packs[best]||(packs[a]===packs[best]&&prices[a]<prices[best]))))best=a;} if(best<0)return null; const counts=Array(usable.length).fill(0); let cur=best; while(cur>0&&prev[cur]>=0){counts[prev[cur]]++;cur=prevAmt[cur];} return {purchaseQty:best\/precision,total:Number.isFinite(prices[best])?prices[best]:0,packCount:packs[best],packs:counts.map((c,i)=>c>0?{count:c,sku:usable[i].raw}:null).filter(Boolean),brand:null};}\n            function betterMatch(a,b,qty){if(!a)return false;if(!b)return true; const ae=Math.abs(a.purchaseQty-qty)<1e-7,be=Math.abs(b.purchaseQty-qty)<1e-7;if(ae!==be)return ae; const ax=Math.max(0,a.purchaseQty-qty),bx=Math.max(0,b.purchaseQty-qty);if(Math.abs(ax-bx)>1e-7)return ax<bx;if(a.packCount!==b.packCount)return a.packCount<b.packCount;return Number(a.total||0)<Number(b.total||0);}\n            function bestSkuMatch(item,qty,brand){if(!item||qty<=0)return null; if(brand&&isSpecificBrand(brand)){const m=matchFromSkuList(item,qty,brand.skus); if(m){m.brand=brand;return m;} return null;} const generic=matchFromSkuList(item,qty,item.skus); if(generic)return generic; let best=null; (Array.isArray(item.brands)?item.brands:[]).filter(b=>b&&b.available!==false).forEach(b=>{const m=matchFromSkuList(item,qty,b.skus); if(m){m.brand=b;if(betterMatch(m,best,qty))best=m;}}); return best;}\n            function fallbackPurchase(item,qty,brand){const sku=Number(item.sku_size||1)||1; const count=Math.max(1,Math.ceil(qty\/sku)); const price=brand&&Number(brand.price_per_sku||brand.price)>0?Number(brand.price_per_sku||brand.price):Number(item.price_per_sku||item.price||0); return {count,purchaseQty:count*sku,total:count*price,match:null};}\n            function calcPurchase(item,qty,brand){const match=bestSkuMatch(item,qty,brand); if(match)return {count:match.packCount,purchaseQty:match.purchaseQty,total:match.total,match}; return fallbackPurchase(item,qty,brand);}\n            function formatSkuSize(size,u){size=Number(size)||0; const lu=String(u||'').toLowerCase(); if((lu==='g'||lu==='gram')&&size>=1000&&Math.abs(size%1000)<1e-7)return fmt(size\/1000)+' '+unit('kg'); if((lu==='ml'||lu==='milliliter')&&size>=1000&&Math.abs(size%1000)<1e-7)return fmt(size\/1000)+' '+unit('liter'); return fmt(size)+' '+unit(u);}\n            function formatSkuMatch(match){if(!match||!Array.isArray(match.packs)||!match.packs.length)return ''; const parts=[]; if(match.brand)parts.push(brandLabel(match.brand)); match.packs.forEach(p=>{const s=p.sku||{}; const txt=formatSkuSize(s.size||s.sku_size,s.unit||s.sku_unit||''); parts.push((p.count>1?p.count+' \u00d7 ':'')+txt);}); return parts.join(' \u2014 ');}\n            function isSupply(item){const tx=((item.category||'')+' '+(item.supply_group||'')+' '+(item.name_bn||'')+' '+(item.name_en||'')).toLowerCase(); return !(tx.includes('paan')||tx.includes('zarda')||tx.includes('supari')||tx.includes('chun')||tx.includes('\u09aa\u09be\u09a8')||tx.includes('\u099c\u09b0\u09cd\u09a6\u09be')||tx.includes('\u09b8\u09c1\u09aa\u09be\u09b0\u09bf')||tx.includes('\u099a\u09c1\u09a8'));}\n            async function getJson(url){try{const r=await fetch(url+(url.includes('?')?'&':'?')+'t='+Date.now(),{cache:'no-store'}); if(!r.ok) throw new Error('bad'); return await r.json();}catch(e){return null;}}\n            function setItems(obj){state.items={}; state.categories=(obj&&obj.categories&&typeof obj.categories==='object')?obj.categories:{}; const raw=obj&&obj.items?obj.items:obj; Object.keys(raw||{}).forEach(id=>{const it=raw[id]||{}; it.id=id; it.base_unit=it.base_unit||it.unit||'pcs'; it.sku_size=Number(it.sku_size||1); it.sku_size_unit=it.sku_size_unit||it.base_unit; it.sku_unit=it.sku_unit||it.base_unit; it.available=it.available!==false; if(it.available&&isSupply(it)) state.items[id]=it;}); if(!Object.keys(state.items).length){Object.keys(fallbackItems).forEach(id=>{state.items[id]=Object.assign({id},fallbackItems[id]);});}}\n            function setRecipes(obj){state.recipes={}; state.autoRules=(obj&&obj.auto_list_rules&&typeof obj.auto_list_rules==='object')?obj.auto_list_rules:{}; const raw=obj&&(obj.templates||obj.dish_templates)?(obj.templates||obj.dish_templates):obj; Object.keys(raw||{}).forEach(id=>{const r=raw[id]||{}; if(Array.isArray(r.items)&&r.items.length){r.id=id; state.recipes[id]=r;}}); if(!Object.keys(state.recipes).length){Object.keys(fallbackRecipes).forEach(id=>{state.recipes[id]=Object.assign({id},fallbackRecipes[id]);});}}\n            function setChefs(obj){state.chefs=[]; const arr=(obj&&(obj.items||obj.chefs||obj.chef_directory_template))||[]; if(Array.isArray(arr)) state.chefs=arr.filter(c=>c&&c.active!==false);}\n            function updateBadge(){const n=Object.keys(state.items).length; const el=$('[data-role=\"item-count\"]'); if(el) el.textContent=bn? n+' \u0986\u0987\u099f\u09c7\u09ae' : n+' items';}\n            function brandLabel(b){return bn?(b.name_bn||b.bn||b.name||b.name_en||b.id||''):(b.name_en||b.en||b.name||b.name_bn||b.id||'');}\n            function isSpecificBrand(b){const id=String((b&&b.id)||'').toLowerCase(), tx=String(brandLabel(b)||'').toLowerCase(); return !!b && !(id.includes('any')||id.includes('default')||tx.includes('\u09af\u09c7\u0995\u09cb\u09a8\u09cb')||tx.includes('any'));}\n            function rowHtml(id,name,sub,u,it){let brands=Array.isArray(it&&it.brands)?it.brands.filter(b=>b&&b.available!==false):[]; let brandHtml=''; if(brands.length){brandHtml=`<select class=\"dtb-eg-brand\" data-brand-for=\"${escapeHtml(id)}\"><option value=\"__default\">${escapeHtml(t('\u09af\u09c7\u0995\u09cb\u09a8\u09cb \u09ac\u09cd\u09b0\u09cd\u09af\u09be\u09a8\u09cd\u09a1','Any brand'))}<\/option>`+brands.map((b,idx)=>`<option value=\"${idx}\">${escapeHtml(brandLabel(b))}<\/option>`).join('')+`<\/select>`;} const skuRow=it?`<button type=\"button\" class=\"dtb-eg-sku-match\" data-sku-match-for=\"${escapeHtml(id)}\" style=\"display:none\"><\/button>`:''; return `<div class=\"dtb-eg-row\" data-item-row=\"${escapeHtml(id)}\"><div class=\"name\"><strong>${escapeHtml(name)}<\/strong><small>${escapeHtml(sub||'')}<\/small>${brandHtml}<\/div><input type=\"number\" min=\"0\" step=\"0.01\" data-id=\"${escapeHtml(id)}\" placeholder=\"0\"><span class=\"unit\">${escapeHtml(unit(u))}<\/span>${skuRow}<\/div>`;}\n            function selectedBrand(scope,id,it){const sel=scope&&scope.querySelector(`select[data-brand-for=\"${CSS.escape(id)}\"]`); if(!sel||sel.value==='__default'||!Array.isArray(it&&it.brands))return null; const idx=Number(sel.value); return Number.isInteger(idx)?(it.brands.filter(b=>b&&b.available!==false)[idx]||null):null;}\n            function updateSkuMatchRow(input){if(!input||!input.dataset.id)return; const id=input.dataset.id,it=state.items[id],row=input.closest('[data-item-row]'),view=row&&row.querySelector(`[data-sku-match-for=\"${CSS.escape(id)}\"]`); if(!it||!view)return; const original=Number(input.value||0); if(original<=0){view.style.display='none';view.textContent='';view._dtbMatch=null;return;} const qty=normalize(original,it.base_unit,it),brand=selectedBrand(row,id,it),match=bestSkuMatch(it,qty,brand); if(!match){view.style.display='none';view.textContent='';view._dtbMatch=null;return;} view._dtbMatch={match,qty,it}; view.textContent=t('\u09ae\u09bf\u09b2 \u09aa\u09be\u0993\u09df\u09be \u09aa\u09cd\u09af\u09be\u0995: ','Available SKU: ')+formatSkuMatch(match)+'  \u203a'; view.style.display='block';}\n            function showSkuMatchDialog(view){const data=view&&view._dtbMatch;if(!data)return; const extra=Math.max(0,data.match.purchaseQty-data.qty); const lines=[t('\u09aa\u09cd\u09b0\u09df\u09cb\u099c\u09a8: ','Required: ')+fmt(data.qty)+' '+unit(data.it.base_unit),t('\u09ae\u09bf\u09b2 \u09aa\u09be\u0993\u09df\u09be \u09aa\u09cd\u09af\u09be\u0995: ','Available SKU: ')+formatSkuMatch(data.match)]; if(extra>1e-7)lines.push(t('\u0985\u09a4\u09bf\u09b0\u09bf\u0995\u09cd\u09a4: ','Extra: ')+fmt(extra)+' '+unit(data.it.base_unit)); alert(lines.join('\\n'));}\n            function escapeHtml(s){return String(s||'').replace(\/[&<>\"']\/g,m=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#039;'}[m]));}\n            function recipeVisibleIn(r,key){const v=r&&r.visible_in; if(!v||typeof v!=='object')return key==='auto_plate'; return !!v[key];}\n            function menuInputUnit(r){const tp=String(((r&&r.menu_wise_input&&r.menu_wise_input.type)||r.menu_wise_input_type||'persons')).toLowerCase(); if(tp==='pound')return t('\u09aa\u09be\u0989\u09a8\u09cd\u09a1','pound'); if(tp==='pcs'||tp==='piece'||tp==='pieces')return t('\u09aa\u09bf\u09b8','pcs'); if(tp==='kg')return t('\u0995\u09c7\u099c\u09bf','kg'); return t('\u099c\u09a8','persons');}\n            function menuInputHelp(r){const tp=String(((r&&r.menu_wise_input&&r.menu_wise_input.type)||r.menu_wise_input_type||'persons')).toLowerCase(); if(tp==='pound')return t('\u098f\u0987 \u09ae\u09c7\u09a8\u09c1 \u0995\u09a4 \u09aa\u09be\u0989\u09a8\u09cd\u09a1','Pounds for this menu'); if(tp==='pcs'||tp==='piece'||tp==='pieces')return t('\u098f\u0987 \u09ae\u09c7\u09a8\u09c1 \u0995\u09a4 \u09aa\u09bf\u09b8','Pieces for this menu'); if(tp==='kg')return t('\u098f\u0987 \u09ae\u09c7\u09a8\u09c1 \u0995\u09a4 \u0995\u09c7\u099c\u09bf','Kg for this menu'); return t('\u098f\u0987 \u09a1\u09bf\u09b6 \u0995\u09a4 \u099c\u09a8\u09c7\u09b0 \u099c\u09a8\u09cd\u09af','Persons for this dish');}\n            function renderDishes(){const el=$('[data-role=\"dish-list\"]'); if(!el)return; el.innerHTML=''; const ids=Object.keys(state.recipes).filter(id=>recipeVisibleIn(state.recipes[id],'auto_plate')); const use=ids.length?ids:Object.keys(state.recipes); use.forEach(id=>{const r=state.recipes[id]; el.insertAdjacentHTML('beforeend',rowHtml(id,bn?(r.name_bn||r.bn||r.name_en): (r.name_en||r.en||r.name_bn),t('\u098f\u0987 \u09a1\u09bf\u09b6 \u0995\u09a4 \u099c\u09a8\u09c7\u09b0 \u099c\u09a8\u09cd\u09af','Persons for this dish'),t('\u099c\u09a8','persons'),null));});}\n            function renderMenuDishes(){const el=$('[data-role=\"menu-list\"]'); if(!el)return; el.innerHTML=''; const ids=Object.keys(state.recipes).filter(id=>recipeVisibleIn(state.recipes[id],'menu_wise')); if(!ids.length){el.innerHTML=`<p class=\"dtb-eg-help\">${t('\u09ae\u09c7\u09a8\u09c1 \u0985\u09a8\u09c1\u09af\u09be\u09df\u09c0 \u09a1\u09bf\u09b6 \u098f\u0996\u09a8\u09cb \u09a8\u09bf\u09b0\u09cd\u09ac\u09be\u099a\u09a8 \u0995\u09b0\u09be \u09b9\u09df\u09a8\u09bf\u0964','No Menu-wise dishes selected yet.')}<\/p>`;return;} ids.forEach(id=>{const r=state.recipes[id]; el.insertAdjacentHTML('beforeend',rowHtml(id,bn?(r.name_bn||r.bn||r.name_en): (r.name_en||r.en||r.name_bn),menuInputHelp(r),menuInputUnit(r),null));});}\n            function renderItemList(role, sub){const el=$(`[data-role=\"${role}\"]`); if(!el)return; el.innerHTML=''; const modeKey=role==='extra-list'?'auto':(role==='chef-list'?'chef':'my'); const groups={}; Object.values(state.items).forEach(it=>{const c=it.category||'other'; if(!categoryVisible(c,modeKey))return; (groups[c]=groups[c]||[]).push(it);}); Object.keys(groups).sort((a,b)=>Number((state.categories[a]||{}).order||999)-Number((state.categories[b]||{}).order||999)).forEach(c=>{const list=groups[c]; const hidden=[]; const b=document.createElement('button'); b.type='button'; b.className='dtb-eg-toggle dtb-eg-category-toggle'; b.textContent=`${catLabel(c)} \u2022 ${list.length}  \u203a`; el.appendChild(b); list.forEach((it)=>{const wrap=document.createElement('div'); wrap.innerHTML=rowHtml(it.id,label(it),sub,it.base_unit,it); const node=wrap.firstElementChild; node.style.display='none'; hidden.push(node); el.appendChild(node);}); let open=false; b.onclick=()=>{open=!open; hidden.forEach(n=>n.style.display=open?'flex':'none'); b.textContent=`${catLabel(c)} \u2022 ${list.length}  ${open?'\u2303':'\u203a'}`;};});}\n            function renderOtherBoxes(){['auto','chef','my','menu'].forEach(mode=>{const el=root.querySelector(`[data-other-box=\"${mode}\"]`); if(!el)return; el.className='dtb-eg-other'; el.innerHTML=`<h4>${t('\u09b2\u09bf\u09b8\u09cd\u099f\u09c7 \u09a8\u09c7\u0987 \u098f\u09ae\u09a8 \u0986\u0987\u099f\u09c7\u09ae','Other Items')}<\/h4><p class=\"dtb-eg-help\">${t('\u09af\u09c7 \u0986\u0987\u099f\u09c7\u09ae \u09a4\u09be\u09b2\u09bf\u0995\u09be\u09df \u09a8\u09c7\u0987, \u098f\u0996\u09be\u09a8\u09c7 \u09b2\u09bf\u0996\u09c1\u09a8','Write items that are not in the list')}<\/p><div class=\"grid\"><input data-other-name placeholder=\"${t('\u0986\u0987\u099f\u09c7\u09ae\u09c7\u09b0 \u09a8\u09be\u09ae','Item name')}\"><input data-other-qty type=\"number\" step=\"0.01\" placeholder=\"${t('\u09aa\u09b0\u09bf\u09ae\u09be\u09a3','Qty')}\"><input data-other-unit placeholder=\"${t('\u0987\u0989\u09a8\u09bf\u099f','Unit')}\"><button type=\"button\" class=\"dtb-eg-primary\" data-add-other>${t('\u09af\u09cb\u0997 \u0995\u09b0\u09c1\u09a8','Add')}<\/button><\/div><div class=\"dtb-eg-other-list\" data-other-list><\/div>`; el.querySelector('[data-add-other]').onclick=()=>{const name=el.querySelector('[data-other-name]').value.trim(), qty=el.querySelector('[data-other-qty]').value.trim(), u=el.querySelector('[data-other-unit]').value.trim(); if(!name||!qty){alert(t('\u0986\u0987\u099f\u09c7\u09ae\u09c7\u09b0 \u09a8\u09be\u09ae \u0993 \u09aa\u09b0\u09bf\u09ae\u09be\u09a3 \u09a6\u09bf\u09a8','Enter item name and quantity'));return;} state.other[mode].push({name,qty,unit:u}); el.querySelector('[data-other-name]').value=''; el.querySelector('[data-other-qty]').value=''; el.querySelector('[data-other-unit]').value=''; renderOtherList(mode);}; renderOtherList(mode);});}\n            function renderOtherList(mode){const box=root.querySelector(`[data-other-box=\"${mode}\"]`); if(!box)return; const el=box.querySelector('[data-other-list]'); const arr=state.other[mode]||[]; el.innerHTML=arr.length?`<strong>${t('\u09af\u09cb\u0997 \u0995\u09b0\u09be \u0986\u0987\u099f\u09c7\u09ae:','Added items:')}<\/strong><br>`+arr.map((x,i)=>`${i+1}. ${escapeHtml(x.name)} \u2014 ${escapeHtml(x.qty)} ${escapeHtml(x.unit||'')}`).join('<br>'):'';}\n            function renderChefs(){const el=$('[data-role=\"chef-directory\"]'); if(!el)return; if(!state.chefs.length){el.innerHTML=`<p class=\"dtb-eg-help\">${t('\u098f\u0996\u09a8\u0993 \u09ac\u09be\u09ac\u09c1\u09b0\u09cd\u099a\u09bf \u09aa\u09cd\u09b0\u09cb\u09ab\u09be\u0987\u09b2 \u09af\u09cb\u0997 \u0995\u09b0\u09be \u09b9\u09df\u09a8\u09bf','No chef profile added yet')}<\/p>`;return;} el.innerHTML=''; state.chefs.forEach(c=>{const name=bn?(c.name_bn||c.name||c.name_en):(c.name_en||c.name||c.name_bn); const area=bn?(c.area_bn||c.area||c.area_en):(c.area_en||c.area||c.area_bn); const spec=Array.isArray(c.specialty_bn)?c.specialty_bn.join(', '):(bn?(c.specialty_bn||c.specialty||''):(c.specialty_en||c.specialty||'')); const cost=bn?(c.starting_cost_text_bn||c.cost_bn||c.cooking_cost_bn||''):(c.starting_cost_text_en||c.cost_en||c.cooking_cost_en||c.starting_cost_text_bn||''); const mob=(c.mobile||cfg.whatsapp||'').replace(\/[^0-9+]\/g,''); const wa=(c.whatsapp||mob).replace(\/[^0-9]\/g,''); const photo=String(c.photo_url||c.image||'').trim(); const validPhoto=\/^https?:\\\/\\\/\/i.test(photo) && !\/[#]$\/.test(photo); const photoHtml=validPhoto?`<img decoding=\"async\" src=\"${escapeHtml(photo)}\" alt=\"${escapeHtml(name||'Chef')}\" onerror=\"this.replaceWith(Object.assign(document.createElement('div'),{className:'dtb-eg-chef-photo',textContent:'\ud83d\udc68\u200d\ud83c\udf73'}))\">`:`<div class=\"dtb-eg-chef-photo\">\ud83d\udc68\u200d\ud83c\udf73<\/div>`; el.insertAdjacentHTML('beforeend',`<div class=\"dtb-eg-chef-card\">${photoHtml}<div class=\"info\"><h4>${escapeHtml(name||'-')}<\/h4><p>\ud83d\udccd ${escapeHtml(area||'')}<\/p><p>${escapeHtml(spec||'')}<\/p><p><strong>${escapeHtml(cost||'')}<\/strong><\/p><a href=\"tel:${escapeHtml(mob)}\">${t('\u0995\u09b2','Call')}<\/a><a href=\"https:\/\/wa.me\/${escapeHtml(wa)}\" target=\"_blank\" rel=\"noopener\">WhatsApp<\/a><\/div><\/div>`);});}\n            function bnDigitsToEn(str){const map={'\u09e6':'0','\u09e7':'1','\u09e8':'2','\u06f3':'3','\u09e9':'3','\u06f4':'4','\u09ea':'4','\u06f5':'5','\u06f5':'5','\u06f6':'6','\u06f6':'6','\u06f7':'7','\u06f7':'7','\u06f8':'8','\u06f8':'8','\u06f9':'9','\u06f9':'9','\u0660':'0','\u0661':'1','\u0662':'2','\u0663':'3','\u0664':'4','\u0665':'5','\u0666':'6','\u0667':'7','\u0668':'8','\u0669':'9'}; return String(str||'').replace(\/[\u06f0-\u06f9\u06f0-\u06f9\u0660-\u0669\u06f0-\u06f90-9]\/g,ch=>map[ch]||ch);}\n            function compactText(str){return bnDigitsToEn(str).toLowerCase().replace(\/[\u2013\u2014,:;|()\\[\\]{}]\/g,' ').replace(\/\\s+\/g,' ').trim();}\n            function normalizeParsedUnit(raw){let u=compactText(raw).replace(\/\\.\/g,''); if(!u)return 'pcs'; if(['\u0995\u09c7\u099c\u09bf','\u0995\u09c7\u099c','kg','kgs','kilogram','kilograms'].includes(u))return 'kg'; if(['\u0997\u09cd\u09b0\u09be\u09ae','\u0997\u09cd\u09b0','gm','g','gram','grams'].includes(u))return 'gm'; if(['\u09b2\u09bf\u099f\u09be\u09b0','\u09b2\u09bf\u0983','ltr','lt','l','liter','litre','liters','litres'].includes(u))return 'liter'; if(['\u09ae\u09bf\u09b2\u09bf','\u098f\u09ae\u098f\u09b2','ml','milliliter','millilitre'].includes(u))return 'ml'; if(['\u099f\u09be','\u099f\u09bf','\u09aa\u09bf\u09b8','pcs','pc','piece','pieces'].includes(u))return 'pcs'; if(['\u09aa\u09cd\u09af\u09be\u0995\u09c7\u099f','\u09aa\u09cd\u09af\u09be\u0995','pkt','pack','packet'].includes(u))return 'pcs'; if(['\u09a1\u099c\u09a8','dozen'].includes(u))return 'dozen'; return u;}\n            function convertParsedQty(q,u,it){let qty=Number(q||0); const unit=normalizeParsedUnit(u); const base=String((it&&it.base_unit)||'pcs').toLowerCase(); if(unit==='dozen')qty*=12; if((unit==='gm'||unit==='g')&&(base==='kg'||base==='\u0995\u09c7\u099c\u09bf'))qty=qty\/1000; if((unit==='ml')&&(base==='liter'||base==='litre'||base==='l'||base==='\u09b2\u09bf\u099f\u09be\u09b0'))qty=qty\/1000; return qty;}\n            function parseSmartTextLines(text){const lines=String(text||'').split(\/[\\n\\r]+\/).map(x=>x.trim()).filter(Boolean); const units='\u0995\u09c7\u099c\u09bf\\\\.?|\u0995\u09c7\u099c|kg|kgs|kilogram|kilograms|\u0997\u09cd\u09b0\u09be\u09ae|\u0997\u09cd\u09b0|gm|g|gram|grams|\u09b2\u09bf\u099f\u09be\u09b0|\u09b2\u09bf\u0983|ltr|lt|liter|litre|liters|litres|\u09ae\u09bf\u09b2\u09bf|\u098f\u09ae\u098f\u09b2|ml|\u099f\u09be|\u099f\u09bf|\u09aa\u09bf\u09b8|pcs|pc|piece|pieces|\u09aa\u09cd\u09af\u09be\u0995\u09c7\u099f|\u09aa\u09cd\u09af\u09be\u0995|pkt|pack|packet|\u09a1\u099c\u09a8|dozen'; const out=[]; lines.forEach(line=>{let tx=bnDigitsToEn(line).replace(\/[,;|]+\/g,' ').replace(\/\\s+\/g,' ').trim(); if(!tx)return; let m=tx.match(new RegExp('^(.+?)\\\\s*(\\\\d+(?:\\\\.\\\\d+)?)\\\\s*('+units+')?\\\\s*$','i')); if(!m)m=tx.match(new RegExp('^(.+?)\\\\s+(\\\\d+(?:\\\\.\\\\d+)?)(?:\\\\s*('+units+'))?.*?$','i')); if(m){out.push({name:m[1].trim(),qty:Number(m[2]),unit:normalizeParsedUnit(m[3]||'pcs'),raw:line});}else{out.push({name:tx,qty:1,unit:'pcs',raw:line,unclear:true});}}); return out;}\n            function itemSearchText(it){return compactText([it.id,it.name_bn,it.name_en,it.bn,it.en,it.name,it.category].filter(Boolean).join(' '));}\n            function findSmartItem(name){const q=compactText(name); if(!q)return null; let best=null,score=0; Object.keys(state.items).forEach(id=>{const it=state.items[id], hay=itemSearchText(it), lb=compactText(label(it)); let s=0; if(hay===q||lb===q)s=100; else if(hay.includes(q)||q.includes(lb))s=80; else {const parts=q.split(' ').filter(x=>x.length>1); const hit=parts.filter(x=>hay.includes(x)).length; if(hit)s=20+hit*10;} if(s>score){score=s;best=id;}}); return score>=30?best:null;}\n            function clearSmartMyList(){const scope=$('[data-role=\"my-list\"]'); if(scope)scope.querySelectorAll('input[data-id]').forEach(inp=>{inp.value=''; updateSkuMatchRow(inp);}); state.other.my=[]; renderOtherList('my');}\n            function createSmartTextPreview(){const input=$('[data-role=\"smart-text-input\"]'), status=$('[data-role=\"smart-text-status\"]'); if(!input)return; const parsed=parseSmartTextLines(input.value); if(!parsed.length){alert(t('\u09b2\u09bf\u09b8\u09cd\u099f\u09c7\u09b0 \u09b2\u09c7\u0996\u09be \u09a6\u09bf\u09a8','Enter list text'));return;} clearSmartMyList(); const req={}; const unmatched=[]; parsed.forEach(row=>{const id=findSmartItem(row.name); if(id&&state.items[id]){const it=state.items[id]; const qty=convertParsedQty(row.qty,row.unit,it); const inp=Array.from(root.querySelectorAll('[data-role=\"my-list\"] input[data-id]')).find(el=>el.dataset.id===id); if(inp){inp.value=fmt(Number(inp.value||0)+qty); updateSkuMatchRow(inp);} addReq(req,id,normalize(qty,it.base_unit,it),null);}else{unmatched.push(row); state.other.my.push({name:row.name,qty:row.qty,unit:row.unit});}}); renderOtherList('my'); state.listType='custom'; $$('.dtb-eg-tabs button').forEach(b=>b.classList.toggle('is-active',b.dataset.listType==='custom')); mode('my'); state.lastRequired=req; state.lastPeople=0; state.lastTitle=t('\u099b\u09ac\u09bf\/\u09b2\u09c7\u0996\u09be \u09a5\u09c7\u0995\u09c7 \u09a4\u09c8\u09b0\u09bf \u09ac\u09be\u099c\u09be\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f','Bazar List from Image\/Text'); renderResult(); if(status){status.textContent=t('\u09ae\u09bf\u09b2 \u09aa\u09be\u0993\u09df\u09be \u0986\u0987\u099f\u09c7\u09ae: ','Matched items: ')+Object.keys(req).length+'\\n'+t('\u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4 \u0995\u09b0\u09a4\u09c7 \u09b9\u09ac\u09c7: ','Need confirmation: ')+unmatched.length;}}\n            function collectList(role){const out=[]; const scope=$(`[data-role=\"${role}\"]`); if(!scope)return out; scope.querySelectorAll('input[data-id]').forEach(inp=>{const q=Number(inp.value||0); if(q>0){const id=inp.dataset.id,it=state.items[id]; if(it){const row=inp.closest('[data-item-row]'); const brand=selectedBrand(row||scope,id,it); out.push({id,qty:normalize(q,it.base_unit,it),original:q,unit:it.base_unit,brand});}}}); return out;}\n            function addReq(map,id,qty,brand){if(!id||qty<=0)return; if(!map[id]) map[id]={qty:0,brand:null}; map[id].qty+=qty; if(brand){map[id].brand=brand;} }\n            function applyAutoListRules(req,sourceMode){const out={}; Object.keys(req||{}).forEach(id=>{const entry=typeof req[id]==='object'?Object.assign({},req[id]):{qty:Number(req[id]||0),brand:null}; let qty=Number(entry.qty||0); const r=state.autoRules&&state.autoRules[id]; if(r&&r.active!==false&&((sourceMode==='auto'&&r.apply_auto!==false)||(sourceMode==='menu'&&r.apply_menu!==false))){const mode=String(r.mode||'required'); if(mode==='exclude')return; const buffer=Math.max(0,Number(r.buffer_pct||0)); if(buffer>0)qty*=1+(buffer\/100); const minQty=Math.max(0,Number(r.min_qty||0)); if(minQty>0&&qty<minQty)qty=minQty; const step=Math.max(0,Number(r.round_step||0)); if(step>0)qty=Math.ceil((qty-1e-9)\/step)*step; if(r.whole_pieces)qty=Math.ceil(qty-1e-9); entry.ruleMode=mode; entry.ruleApplied=true;} if(qty>0){entry.qty=qty;out[id]=entry;}}); return out;}\n            function renderReviewEditor(){const box=$('[data-role=\"review-list\"]'),sel=$('[data-role=\"review-add-item\"]'); if(!box||!sel)return; const req=state.lastRequired||{}; let html=''; Object.keys(req).forEach(id=>{const it=state.items[id]; if(!it)return; const e=typeof req[id]==='object'?req[id]:{qty:Number(req[id]||0)}; const optional=e.ruleMode==='optional'?` <span class=\"dtb-eg-optional-badge\">${t('\u0990\u099a\u09cd\u099b\u09bf\u0995','Optional')}<\/span>`:''; html+=`<div class=\"dtb-eg-review-row\"><div><strong>${escapeHtml(label(it))}<\/strong>${optional}<small>${escapeHtml(id)} \u00b7 ${escapeHtml(unit(it.base_unit))}<\/small><\/div><input type=\"number\" min=\"0\" step=\"0.001\" value=\"${fmt(e.qty)}\" data-review-qty=\"${escapeHtml(id)}\"><button type=\"button\" class=\"dtb-eg-review-remove\" data-action=\"review-remove\" data-id=\"${escapeHtml(id)}\">\u00d7<\/button><\/div>`;}); box.innerHTML=html||`<p class=\"dtb-eg-help\">${t('\u09b2\u09bf\u09b8\u09cd\u099f \u0996\u09be\u09b2\u09bf','List is empty')}<\/p>`; const current=sel.value; sel.innerHTML=`<option value=\"\">${t('\u09aa\u09a3\u09cd\u09af \u09af\u09cb\u0997 \u0995\u09b0\u09c1\u09a8\u2026','Add product\u2026')}<\/option>`+Object.keys(state.items).sort((a,b)=>label(state.items[a]).localeCompare(label(state.items[b]))).map(id=>`<option value=\"${escapeHtml(id)}\">${escapeHtml(label(state.items[id]))}<\/option>`).join(''); if(state.items[current])sel.value=current;}\n            function reviewAddItem(){const sel=$('[data-role=\"review-add-item\"]'),inp=$('[data-role=\"review-add-qty\"]'); if(!sel||!inp)return; const id=sel.value,it=state.items[id],q=Number(inp.value||0); if(!it||q<=0)return; if(!state.lastRequired)state.lastRequired={}; if(!state.lastRequired[id])state.lastRequired[id]={qty:0,brand:null}; const e=typeof state.lastRequired[id]==='object'?state.lastRequired[id]:{qty:Number(state.lastRequired[id]||0),brand:null}; e.qty=Number(e.qty||0)+normalize(q,it.base_unit,it); delete e.ruleMode; e.manualReview=true; state.lastRequired[id]=e; inp.value='';sel.value='';renderResult();}\n            function calculateAuto(){let req={}; collectList('dish-list').forEach(d=>{const rec=state.recipes[d.id]; (rec&&rec.items||[]).forEach(line=>{const it=state.items[line.id]; if(it)addReq(req,line.id,normalize(Number(line.qty_per_person||0)*d.original,line.unit,it),null);});}); if(!Object.keys(req).length){alert(t('\u09af\u09c7 \u09a1\u09bf\u09b6 \u09b2\u09be\u0997\u09ac\u09c7 \u09a4\u09be\u09b0 \u09aa\u09be\u09b6\u09c7 \u09b2\u09cb\u0995 \u09b8\u0982\u0996\u09cd\u09af\u09be \u09b2\u09bf\u0996\u09c1\u09a8','Enter person count beside required dishes'));return;} if($('[data-role=\"auto-extra\"]').style.display!=='none'){collectList('extra-list').forEach(x=>addReq(req,x.id,x.qty,x.brand));} req=applyAutoListRules(req,'auto'); state.lastRequired=req; state.lastPeople=0; state.lastTitle=t('\u0985\u099f\u09cb \u09aa\u09cd\u09b2\u09c7\u099f \u09b9\u09bf\u09b8\u09be\u09ac\u09c7\u09b0 \u09ac\u09be\u099c\u09be\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f','Auto Plate Grocery List'); $('[data-role=\"auto-extra\"]').style.display='block'; renderResult();}\n            function calculateChef(){const req={}; collectList('chef-list').forEach(x=>addReq(req,x.id,x.qty,x.brand)); if(!Object.keys(req).length){alert(t('\u09a4\u09be\u09b2\u09bf\u0995\u09be\u09df \u09af\u09c7 \u0986\u0987\u099f\u09c7\u09ae \u09b2\u09be\u0997\u09ac\u09c7 \u09a4\u09be\u09b0 \u09aa\u09be\u09b6\u09c7 \u09aa\u09b0\u09bf\u09ae\u09be\u09a3 \u09b2\u09bf\u0996\u09c1\u09a8','Enter quantity beside required items'));return;} state.lastRequired=req; state.lastPeople=Number($('[data-role=\"chef-people\"]').value||0); state.lastTitle=t('\u09ac\u09be\u09ac\u09c1\u09b0\u09cd\u099a\u09bf\u09b0 \u09a6\u09c7\u09df\u09be \u09ac\u09be\u099c\u09be\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f','Chef Given Grocery List'); renderResult();}\n            function calculateMy(){const req={}; collectList('my-list').forEach(x=>addReq(req,x.id,x.qty,x.brand)); if(!Object.keys(req).length){alert(t('\u09af\u09c7 \u09aa\u09a3\u09cd\u09af \u09b2\u09be\u0997\u09ac\u09c7 \u09a4\u09be\u09b0 \u09aa\u09be\u09b6\u09c7 \u09aa\u09b0\u09bf\u09ae\u09be\u09a3 \u09b2\u09bf\u0996\u09c1\u09a8','Enter quantity beside required products'));return;} const title=state.listType==='monthly'?t('\u0986\u09ae\u09be\u09b0 \u09ae\u09be\u09b8\u09bf\u0995 \u09ac\u09be\u099c\u09be\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f','My Monthly Bazar List'):(state.listType==='custom'?t('\u0986\u09ae\u09be\u09b0 \u09ac\u09be\u099c\u09be\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f','My Bazar List'):t('\u0986\u09ae\u09be\u09b0 \u09b8\u09be\u09aa\u09cd\u09a4\u09be\u09b9\u09bf\u0995 \u09ac\u09be\u099c\u09be\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f','My Weekly Bazar List')); state.lastRequired=req; state.lastPeople=0; state.lastTitle=title; renderResult();}\n            function calculateMenu(){let req={}; collectList('menu-list').forEach(d=>{const rec=state.recipes[d.id]; (rec&&rec.items||[]).forEach(line=>{const it=state.items[line.id]; if(it)addReq(req,line.id,normalize(Number(line.qty_per_person||0)*d.original,line.unit,it),null);});}); if(!Object.keys(req).length){alert(t('\u09af\u09c7 \u09ae\u09c7\u09a8\u09c1 \u09b2\u09be\u0997\u09ac\u09c7 \u09a4\u09be\u09b0 \u09aa\u09be\u09b6\u09c7 \u09b2\u09cb\u0995\/\u09aa\u09b0\u09bf\u09ae\u09be\u09a3 \u09b2\u09bf\u0996\u09c1\u09a8','Enter persons or quantity beside required menu items'));return;} collectList('menu-extra-list').forEach(x=>addReq(req,x.id,x.qty,x.brand)); req=applyAutoListRules(req,'menu'); state.lastRequired=req; state.lastPeople=0; state.lastTitle=t('\u09ae\u09c7\u09a8\u09c1 \u0985\u09a8\u09c1\u09af\u09be\u09df\u09c0 \u09ac\u09be\u099c\u09be\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f','Menu-wise Bazar List'); renderResult();}\n            function getActiveOther(){return state.mode==='auto'?state.other.auto:(state.mode==='chef'?state.other.chef:(state.mode==='menu'?state.other.menu:state.other.my));}\n            function renderResult(){const req=state.lastRequired||{}; let total=0,sl=1,display=`${state.lastTitle}\\n${t('\u09ae\u09cb\u099f \u0986\u0987\u099f\u09c7\u09ae:','Total items:')} ${Object.keys(req).length}\\n`,exportLines=''; Object.keys(req).forEach(id=>{const it=state.items[id]; if(!it)return; const entry=typeof req[id]==='object'?req[id]:{qty:Number(req[id]||0),brand:null}; const qty=Number(entry.qty||0),brand=entry.brand||null,calc=calcPurchase(it,qty,brand),matchText=calc.match?formatSkuMatch(calc.match):''; total+=calc.total; const required=`${fmt(qty)} ${unit(it.base_unit)}`,purchase=`${fmt(calc.purchaseQty)} ${unit(it.sku_size_unit||it.base_unit)}`,mismatch=Math.abs(calc.purchaseQty-qty)>0.0001; const name=(!calc.match&&brand&&isSpecificBrand(brand))?`${label(it)} \u2014 ${brandLabel(brand)}`:label(it); display+=`\\n${sl}. ${name} \u2014 ${required}\\n`; if(matchText){display+=`${t('\u09ae\u09bf\u09b2 \u09aa\u09be\u0993\u09df\u09be \u09aa\u09cd\u09af\u09be\u0995:','Available SKU:')} ${matchText}\\n`;} else if(mismatch){display+=`${t('\u0995\u09cd\u09b0\u09df\u09af\u09cb\u0997\u09cd\u09af SKU:','Buyable SKU:')} ${purchase}\\n${t('\u09a8\u09cb\u099f: \u098f\u0987 \u0986\u0987\u099f\u09c7\u09ae\u09c7\u09b0 \u09b9\u09bf\u09b8\u09be\u09ac \u09a8\u09cd\u09af\u09c2\u09a8\u09a4\u09ae SKU\/\u09aa\u09cd\u09af\u09be\u0995 \u0985\u09a8\u09c1\u09af\u09be\u09af\u09bc\u09c0\u0964','Note: This item is calculated by minimum SKU\/pack size.')}\\n`;} display+=`${t('\u09b9\u09bf\u09b8\u09be\u09ac:','Total:')} ${calc.total>0?'\u09f3'+fmt(calc.total):t('\u09a6\u09be\u09ae \u0986\u09aa\u09a1\u09c7\u099f \u09a6\u09b0\u0995\u09be\u09b0','Price needed')}\\n`; exportLines+=`${sl}. ${name} \u2014 ${required}${matchText?(bn?', \u09ae\u09bf\u09b2 \u09aa\u09be\u0993\u09df\u09be \u09aa\u09cd\u09af\u09be\u0995: ':', Available SKU: ')+matchText:(mismatch?(bn?', \u0995\u09cd\u09b0\u09df\u09af\u09cb\u0997\u09cd\u09af: ':', Purchase: ')+purchase:'')}\\n`; sl++;}); const other=getActiveOther(); if(other.length){display+=`\\n${t('\u09b2\u09bf\u09b8\u09cd\u099f\u09c7 \u09a8\u09c7\u0987 \u098f\u09ae\u09a8 \u0986\u0987\u099f\u09c7\u09ae:','Other items:')}\\n`; exportLines+=`\\n${t('\u09b2\u09bf\u09b8\u09cd\u099f\u09c7 \u09a8\u09c7\u0987 \u098f\u09ae\u09a8 \u0986\u0987\u099f\u09c7\u09ae:','Other items:')}\\n`; other.forEach((x,i)=>{const line=`${i+1}. ${x.name} \u2014 ${x.qty} ${x.unit||''}`; display+=line+'\\n'; exportLines+=line+'\\n';});} display+=`\\n${total>0?t('\u0986\u09a8\u09c1\u09ae\u09be\u09a8\u09bf\u0995 \u09ae\u09cb\u099f: \u09f3','Estimated total: \u09f3')+fmt(total):t('\u0986\u09a8\u09c1\u09ae\u09be\u09a8\u09bf\u0995 \u09ae\u09cb\u099f: \u09a6\u09be\u09ae \u0986\u09aa\u09a1\u09c7\u099f\u09c7\u09b0 \u09aa\u09b0 \u09b9\u09bf\u09b8\u09be\u09ac \u09b9\u09ac\u09c7','Estimated total: will calculate after price update')}\\n`; if(state.lastPeople>0&&total>0)display+=`${t('\u09aa\u09cd\u09b0\u09a4\u09bf \u099c\u09a8 \u0996\u09b0\u099a: \u09f3','Per head cost: \u09f3')}${fmt(total\/state.lastPeople)}\\n`; display+=t('\\n\u098f\u099f\u09bf \u0986\u09a8\u09c1\u09ae\u09be\u09a8\u09bf\u0995 \u09b9\u09bf\u09b8\u09be\u09ac\u0964 \u09ac\u09be\u099c\u09be\u09b0\u09a6\u09b0, \u09aa\u09a3\u09cd\u09af\u09c7\u09b0 \u0989\u09aa\u09b2\u09ad\u09cd\u09af\u09a4\u09be \u0993 SKU\/\u09aa\u09cd\u09af\u09be\u0995 \u09b8\u09be\u0987\u099c \u0985\u09a8\u09c1\u09af\u09be\u09af\u09bc\u09c0 \u099a\u09c2\u09a1\u09bc\u09be\u09a8\u09cd\u09a4 \u09ae\u09c2\u09b2\u09cd\u09af \u09aa\u09b0\u09bf\u09ac\u09b0\u09cd\u09a4\u09a8 \u09b9\u09a4\u09c7 \u09aa\u09be\u09b0\u09c7\u0964','\\nThis is an estimated calculation. Final price may change based on market price, availability and SKU\/pack size.'); root.dataset.exportLines=exportLines; $('[data-role=\"display-result\"]').textContent=display; renderReviewEditor(); $('[data-role=\"result\"]').style.display='block'; $('[data-role=\"result\"]').scrollIntoView({behavior:'smooth',block:'start'});}\n            function buildExport(){const name=$('[data-role=\"customer-name\"]').value.trim(), mob=$('[data-role=\"customer-mobile\"]').value.trim(), addr=$('[data-role=\"customer-address\"]').value.trim(); if(!name||!mob||!addr){alert(t('\u09a8\u09be\u09ae, \u09ae\u09cb\u09ac\u09be\u0987\u09b2 \u0993 \u09a0\u09bf\u0995\u09be\u09a8\u09be \u09a6\u09bf\u09a8','Enter name, mobile and address'));return '';} return `\u09a6\u09c8\u09a8\u09bf\u0995 \u09a4\u09be\u099c\u09be \u09ac\u09be\u099c\u09be\u09b0 \/ Doinik Taza Bazar\\n${state.lastTitle}\\n\\n${t('\u0997\u09cd\u09b0\u09be\u09b9\u0995\u09c7\u09b0 \u09a4\u09a5\u09cd\u09af:','Customer information:')}\\n${t('\u09a8\u09be\u09ae:','Name:')} ${name}\\n${t('\u09ae\u09cb\u09ac\u09be\u0987\u09b2:','Mobile:')} ${mob}\\n${t('\u09a0\u09bf\u0995\u09be\u09a8\u09be:','Address:')} ${addr}\\n\\n${t('\u099a\u09c2\u09a1\u09bc\u09be\u09a8\u09cd\u09a4 \u09ac\u09be\u099c\u09be\u09b0 \u09b2\u09bf\u09b8\u09cd\u099f:','Final Grocery List:')}\\n${root.dataset.exportLines||''}\\n${t('\u09a8\u09cb\u099f: \u09a6\u09be\u09ae DTB \u09a5\u09c7\u0995\u09c7 \u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4 \u0995\u09b0\u09be \u09b9\u09ac\u09c7\u0964','Note: Price will be confirmed by DTB.')}`;}\n            function whatsapp(){const msg=buildExport(); if(!msg)return; window.open(`https:\/\/wa.me\/${cfg.whatsapp}?text=${encodeURIComponent(msg)}`,'_blank');}\n            function pdf(){const msg=buildExport(); if(!msg)return; const w=window.open('','_blank'); w.document.write(`<!doctype html><html><head><meta charset=\"utf-8\"><title>DTB Bazar List<\/title><style>body{font-family:Arial,'Noto Sans Bengali',sans-serif;padding:30px;line-height:1.55;white-space:pre-wrap;color:#111}h1{color:#047A22;font-size:22px}@media print{button{display:none}}<\/style><\/head><body><button onclick=\"window.print()\">${t('PDF \u09b9\u09bf\u09b8\u09c7\u09ac\u09c7 \u09b8\u09c7\u09ad\/\u09aa\u09cd\u09b0\u09bf\u09a8\u09cd\u099f \u0995\u09b0\u09c1\u09a8','Save\/Print as PDF')}<\/button><h1>\u09a6\u09c8\u09a8\u09bf\u0995 \u09a4\u09be\u099c\u09be \u09ac\u09be\u099c\u09be\u09b0<\/h1>${escapeHtml(msg)}<\/body><\/html>`); w.document.close(); setTimeout(()=>w.print(),500);}\n            function mode(m){\n                state.mode=m;\n                $$('.dtb-eg-card').forEach(b=>b.classList.toggle('is-active',b.dataset.mode===m));\n                $$('[data-panel]').forEach(p=>{p.style.display=p.dataset.panel===m?'block':'none';});\n                const result=$('[data-role=\"result\"]');\n                if(result) result.style.display='none';\n            }\n            function handleFrontendClick(e){\n                const skuView=e.target.closest('[data-sku-match-for]');\n                if(skuView && root.contains(skuView)){e.preventDefault();e.stopPropagation();showSkuMatchDialog(skuView);return;}\n                const c=e.target.closest('[data-mode]');\n                if(c && root.contains(c)){\n                    e.preventDefault();\n                    e.stopPropagation();\n                    mode(c.dataset.mode);\n                    return;\n                }\n                const lt=e.target.closest('[data-list-type]');\n                if(lt && root.contains(lt)){\n                    e.preventDefault();\n                    e.stopPropagation();\n                    state.listType=lt.dataset.listType;\n                    $$('.dtb-eg-tabs button').forEach(b=>b.classList.toggle('is-active',b===lt));\n                    return;\n                }\n                const a=e.target.closest('[data-action]');\n                if(a && root.contains(a)){\n                    e.preventDefault();\n                    e.stopPropagation();\n                    const x=a.dataset.action;\n                    if(x==='calc-auto')calculateAuto();\n                    if(x==='calc-chef')calculateChef();\n                    if(x==='calc-my')calculateMy();\n                    if(x==='calc-menu')calculateMenu();\n                    if(x==='smart-text-preview')createSmartTextPreview();\n                    if(x==='smart-text-clear'){const i=$('[data-role=\"smart-text-input\"]'), st=$('[data-role=\"smart-text-status\"]'); if(i)i.value=''; if(st)st.textContent=''; clearSmartMyList();}\n                    if(x==='whatsapp')whatsapp();\n                    if(x==='pdf')pdf();\n                    if(x==='review-add')reviewAddItem();\n                    if(x==='review-remove'){const id=a.dataset.id;if(state.lastRequired&&id){delete state.lastRequired[id];renderResult();}}\n                }\n            }\n            function bind(){\n                if(root.dataset.frontendBound==='1') return;\n                root.dataset.frontendBound='1';\n                root.addEventListener('click',handleFrontendClick,true);\n                root.addEventListener('input',function(e){if(e.target&&e.target.matches('input[data-id]'))updateSkuMatchRow(e.target);});\n                root.addEventListener('change',function(e){if(e.target&&e.target.matches('[data-review-qty]')){const id=e.target.getAttribute('data-review-qty'),q=Number(e.target.value||0);if(state.lastRequired&&id){if(q<=0)delete state.lastRequired[id];else{const cur=typeof state.lastRequired[id]==='object'?state.lastRequired[id]:{qty:Number(state.lastRequired[id]||0),brand:null};cur.qty=q;cur.manualReview=true;state.lastRequired[id]=cur;}renderResult();}}});\n                root.addEventListener('change',function(e){if(e.target&&e.target.matches('select[data-brand-for]')){const row=e.target.closest('[data-item-row]');const inp=row&&row.querySelector('input[data-id]');if(inp)updateSkuMatchRow(inp);}});\n                root.addEventListener('touchend',function(e){\n                    const tappable=e.target.closest('[data-mode],[data-list-type]');\n                    if(tappable && root.contains(tappable)){\n                        e.preventDefault();\n                        handleFrontendClick(e);\n                    }\n                },{passive:false});\n            }\n            async function init(){\n                bind();\n                if(cfg.uploadHandoff){\n                    const nm=$('[data-role=\"customer-name\"]'), mb=$('[data-role=\"customer-mobile\"]'), ad=$('[data-role=\"customer-address\"]');\n                    if(nm && cfg.uploadHandoff.name) nm.value=cfg.uploadHandoff.name;\n                    if(mb && cfg.uploadHandoff.mobile) mb.value=cfg.uploadHandoff.mobile;\n                    if(ad && cfg.uploadHandoff.address) ad.value=cfg.uploadHandoff.address;\n                    state.mode='my';\n                }\n                try{setItems(await getJson(cfg.pricesUrl));}catch(e){setItems(null);}\n                try{setRecipes(await getJson(cfg.recipesUrl));}catch(e){setRecipes(null);}\n                try{setChefs(await getJson(cfg.chefsUrl));}catch(e){setChefs(null);}\n                updateBadge();\n                renderDishes();\n                renderMenuDishes();\n                renderItemList('extra-list',t('\u0985\u09a4\u09bf\u09b0\u09bf\u0995\u09cd\u09a4 \u09b2\u09be\u0997\u09b2\u09c7 \u09aa\u09b0\u09bf\u09ae\u09be\u09a3 \u09b2\u09bf\u0996\u09c1\u09a8','Enter only if extra needed'));\n                renderItemList('chef-list',t('\u09ac\u09be\u09ac\u09c1\u09b0\u09cd\u099a\u09bf\u09b0 \u09a6\u09c7\u09df\u09be \u09aa\u09b0\u09bf\u09ae\u09be\u09a3','Chef given quantity'));\n                renderItemList('my-list',t('\u0986\u09aa\u09a8\u09be\u09b0 \u09aa\u09cd\u09b0\u09df\u09cb\u099c\u09a8\u09c0\u09df \u09aa\u09b0\u09bf\u09ae\u09be\u09a3','Your required quantity'));\n                renderOtherBoxes();\n                renderChefs();\n                mode(state.mode||'auto');\n            }\n            bind();\n            init();\n        })();\n        <\/script>\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4209","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/doiniktazabazar.com\/bn\/wp-json\/wp\/v2\/pages\/4209","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/doiniktazabazar.com\/bn\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/doiniktazabazar.com\/bn\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/doiniktazabazar.com\/bn\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/doiniktazabazar.com\/bn\/wp-json\/wp\/v2\/comments?post=4209"}],"version-history":[{"count":4,"href":"https:\/\/doiniktazabazar.com\/bn\/wp-json\/wp\/v2\/pages\/4209\/revisions"}],"predecessor-version":[{"id":4213,"href":"https:\/\/doiniktazabazar.com\/bn\/wp-json\/wp\/v2\/pages\/4209\/revisions\/4213"}],"wp:attachment":[{"href":"https:\/\/doiniktazabazar.com\/bn\/wp-json\/wp\/v2\/media?parent=4209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}