{"id":24,"date":"2025-11-04T19:17:48","date_gmt":"2025-11-04T19:17:48","guid":{"rendered":"https:\/\/www.gurmanbakestudio.com\/?page_id=24"},"modified":"2025-11-08T08:51:12","modified_gmt":"2025-11-08T08:51:12","slug":"gbs","status":"publish","type":"page","link":"https:\/\/www.gurmanbakestudio.com\/","title":{"rendered":"gbs"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"24\" class=\"elementor elementor-24\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d805bec e-con-full e-flex e-con e-parent\" data-id=\"d805bec\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7e4066e elementor-widget elementor-widget-html\" data-id=\"7e4066e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Gurman Bake Studio - Order System<\/title>\n    <style>\n        :root{--pc:#007aff;--pcd:#0056cc;--ec:#ff3b30;--sc:#34c759;--tp:#1c1c1e;--ts:#8e8e93;--bg:#f9f9fb;--sf:#fff;--bc:#e5e5ea;--br:12px;--br-lg:16px;--br-xl:20px;--br-2xl:24px;--br-sm:8px;--br-xs:6px;--sh:0 10px 30px rgba(0,0,0,.08);--tr:all .3s ease;--sh-3d:0 8px 25px rgba(0,0,0,.12);--sh-3d-h:0 15px 40px rgba(0,0,0,.18);--sh-3d-p:0 4px 12px rgba(0,0,0,.15);--sh-3d-c:0 12px 28px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06);--sh-3d-ch:0 20px 45px rgba(0,0,0,.15),0 3px 6px rgba(0,0,0,.1);--sh-3d-b:0 6px 20px rgba(0,0,0,.12),0 2px 4px rgba(0,0,0,.08);--sh-3d-bh:0 10px 30px rgba(0,0,0,.18),0 3px 6px rgba(0,0,0,.12);--sh-3d-i:0 4px 15px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);--sh-3d-if:0 6px 25px rgba(0,122,255,.15),0 2px 4px rgba(0,122,255,.1)}*{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Helvetica Neue',Arial,sans-serif}body{margin:0;padding:0;background:var(--bg);color:var(--tp);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.5}.container{display:flex;justify-content:center;align-items:flex-start;padding:60px 20px;min-height:100vh;width:100%;max-width:100%}.card{background:var(--sf);padding:40px;border-radius:var(--br-2xl);width:100%;box-shadow:var(--sh-3d-c);border:1px solid var(--bc);transition:var(--tr),box-shadow .4s ease;overflow:hidden;max-width:800px}.card:hover{box-shadow:var(--sh-3d-ch)}input,textarea,button,select{font-family:inherit;font-size:16px;border-radius:var(--br-lg);outline:none;box-sizing:border-box;transition:var(--tr)}input,textarea,select{width:100%;padding:14px 16px;margin-bottom:16px;border:1.5px solid var(--bc);background:var(--sf);box-shadow:var(--sh-3d-i);border-radius:var(--br-lg)}input:focus,textarea:focus,select:focus{border-color:var(--pc);box-shadow:var(--sh-3d-if);transform:translateY(-2px)}button{background:var(--pc);color:var(--sf);font-weight:600;border:none;border-radius:var(--br-xl);cursor:pointer;font-size:17px;padding:16px;width:100%;position:relative;overflow:hidden;box-shadow:var(--sh-3d-b);transition:var(--tr),box-shadow .4s ease,transform .2s ease}button:hover,button:focus{background:var(--pcd);transform:translateY(-3px);box-shadow:var(--sh-3d-bh)}button:active{transform:translateY(1px);box-shadow:var(--sh-3d-p)}button:disabled{background:#ccc;color:#888;cursor:not-allowed;transform:none;box-shadow:none}button:disabled:hover{background:#ccc;transform:none;box-shadow:none}.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.product-card{border:1.5px solid var(--bc);border-radius:var(--br-xl);padding:20px;cursor:pointer;background:var(--sf);display:flex;flex-direction:column;align-items:center;transition:var(--tr),transform .3s ease,box-shadow .4s ease;box-shadow:var(--sh-3d-c);position:relative;overflow:hidden}.product-card:hover,.product-card:focus-within{box-shadow:var(--sh-3d-ch);transform:translateY(-6px) scale(1.02)}.product-card.selected{border:2px solid var(--pc);background:#f8fbff;box-shadow:var(--sh-3d-ch),0 0 0 2px rgba(0,122,255,.1)}.product-card img{width:100px;height:100px;object-fit:cover;border-radius:var(--br-lg);margin-bottom:12px;box-shadow:var(--sh-3d);transition:var(--tr)}.product-card:hover img{transform:scale(1.05);box-shadow:var(--sh-3d-h)}.product-card h4{margin:0 0 8px;font-size:16px;text-align:center;font-weight:600}.product-card p{margin:4px 0;font-size:14px;text-align:center;color:var(--ts)}.product-card .price{font-weight:700;color:var(--pc);font-size:16px;margin-top:8px}.cart{border:1.5px solid var(--bc);border-radius:var(--br-xl);background:#f8fbff;padding:20px;margin-bottom:20px;transition:var(--tr);box-shadow:var(--sh-3d-c);overflow:hidden}.cart:hover{box-shadow:var(--sh-3d-ch)}.cart h4{margin-top:0;margin-bottom:16px;font-size:18px}.cart-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:15px;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--bc)}.cart-item:last-child{border-bottom:none}.cart-item span{flex:1;min-width:120px}.cart-item input{width:70px;padding:8px 12px;border-radius:var(--br-sm);border:1.5px solid var(--bc);margin:0;text-align:center;box-shadow:var(--sh-3d-i)}.cart-item input:focus{box-shadow:var(--sh-3d-if)}.cart-item .remove-btn{cursor:pointer;font-size:18px;transition:var(--tr);background:none;border:none;width:auto;padding:8px;color:var(--ts)}.cart-item .remove-btn:hover,.cart-item .remove-btn:focus{color:var(--ec);transform:scale(1.1) translateY(-2px);background:none}.cart-item .countdown{font-size:13px;color:var(--pc);font-weight:600;padding:4px 8px;background:rgba(0,122,255,.1);border-radius:var(--br-sm);box-shadow:var(--sh-3d-i)}.cart-item .error-msg{color:var(--ec);font-size:12px;margin-top:4px;display:none;width:100%}.grand-total-box{background:#eaf6ff;padding:20px;border-radius:var(--br-xl);margin-bottom:20px;box-shadow:var(--sh-3d-c);overflow:hidden}.grand-total-box:hover{box-shadow:var(--sh-3d-ch)}.grand-total-box p{margin:8px 0;font-weight:600;font-size:16px}.delivery-options{display:flex;gap:24px;margin-bottom:20px;flex-wrap:wrap}.delivery-options label{display:flex;align-items:center;gap:8px;font-weight:500;cursor:pointer;padding:16px 20px;border:1.5px solid var(--bc);border-radius:var(--br-lg);transition:var(--tr);flex:1;min-width:200px;background:var(--sf);box-shadow:var(--sh-3d-c);overflow:hidden}.delivery-options input[type=\"radio\"]{margin:0;width:18px;height:18px;border-radius:50%}.delivery-options label:hover{box-shadow:var(--sh-3d-ch);transform:translateY(-3px);border-color:var(--pc)}.delivery-options input[type=\"radio\"]:checked+label{border-color:var(--pc);background:#f0f8ff;box-shadow:var(--sh-3d-ch),0 0 0 2px rgba(0,122,255,.1);transform:translateY(-2px)}.delivery-options label.disabled{background:#f5f5f5;color:#999;cursor:not-allowed;border-color:#ddd}.delivery-options label.disabled:hover{box-shadow:var(--sh-3d-c);transform:none;border-color:#ddd}.tandc-box{padding:20px;max-height:220px;margin-bottom:24px;border-radius:var(--br-xl);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--pc) var(--bc)}.tandc-box::-webkit-scrollbar{width:6px}.tandc-box::-webkit-scrollbar-track{background:var(--bc);border-radius:3px}.tandc-box::-webkit-scrollbar-thumb{background:var(--pc);border-radius:3px}.tandc-box::-webkit-scrollbar-thumb:hover{background:var(--pcd)}.tandc-box ul{margin:0;padding-left:20px}.tandc-box li{font-size:15px;margin-bottom:14px;line-height:1.5;color:var(--ts)}.tandc-check{padding:20px;margin-bottom:28px;border-radius:var(--br-lg)}.tandc-check input[type=\"checkbox\"]{width:24px;height:24px}.tandc-check label{font-size:16px;line-height:1.4}.special-event-section{margin:30px 0;padding:20px;background:linear-gradient(135deg,#fffbe6,#fff0f0);border-radius:var(--br-xl);border:2px dashed #ffd700}.special-event-title{font-size:22px;font-weight:700;text-align:center;color:#d35400;margin-bottom:15px;display:flex;align-items:center;justify-content:center;gap:10px}.total-breakdown{background:white;padding:15px;border-radius:var(--br-lg);margin:15px 0;border:1px solid var(--bc)}.total-line{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed #e5e5ea}.total-line:last-child{border-bottom:none;font-weight:700;font-size:18px;color:var(--pc)}.total-line.final-total{background:#f8fbff;margin-top:10px;padding:12px;border-radius:var(--br);font-size:20px;font-weight:800}.time-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:var(--br);padding:12px 16px;margin:10px 0;color:#856404;font-size:14px;display:none}.service-hours-info{background:#e8f4fd;border:1px solid #b8daff;border-radius:var(--br);padding:12px 16px;margin:10px 0;color:#004085;font-size:14px}.header{background:#fff;padding:20px 40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e5ea;margin-bottom:20px}.header-content{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:250px}.header img{height:100px;width:auto;border-radius:12px}.header-text{display:flex;flex-direction:column;justify-content:center}.header h1{margin:0;font-size:24px;font-weight:600;color:#1c1c1e}.header h3{margin:2px 0 0 0;font-size:13px;font-weight:300;color:#8e8e93;letter-spacing:0.3px}.nav{flex:1 1 100%;margin-top:12px;text-align:center}.nav ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin:0;padding:0}.nav a{text-decoration:none;font-weight:500;color:#0A84FF;transition:color 0.3s ease,transform 0.3s ease}.nav a:hover{color:#007AFF;transform:translateY(-2px)}.section-title{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Helvetica Neue',Arial,sans-serif;font-size:20px;font-weight:600;color:#1C1C1E;text-align:center;letter-spacing:0.5px;border-bottom:2px solid #E5E5EA;display:inline-block;padding-bottom:6px;margin:20px auto}.footer{background:#f9f9fb;border-top:1px solid #e5e5ea;box-shadow:0 -4px 20px rgba(0,0,0,0.06);padding:60px 20px;color:#1d1d1f;border-radius:24px;margin-top:40px}.footer-content{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px}.footer-section{flex:1;min-width:240px}.footer-section.right{text-align:right;padding-left:20px}.footer h3{font-weight:700;font-size:1.2rem;margin-bottom:12px;letter-spacing:-0.01em;color:#1d1d1f}.footer p{font-size:0.95rem;color:#4b4b4f;line-height:1.7}.footer hr{border:none;height:1px;background:#e5e5ea;margin:16px 0}.footer small{font-size:0.85rem;color:#6e6e73}@media (max-width:768px){.container{padding:20px 16px}.card{padding:24px 20px}.product-grid{grid-template-columns:1fr}.delivery-options{flex-direction:column}.delivery-options label{min-width:auto}.footer-section.right{text-align:left;padding-left:0}}\n    <\/style>\n<\/head>\n<body>\n    <div class=\"container\">\n        <div class=\"card\">\n            <div class=\"header\">\n                <div class=\"header-content\">\n                    <img decoding=\"async\" src=\"https:\/\/iili.io\/KDB6Cn1.png\" alt=\"Gurman Bake Studio Logo\">\n                    <div class=\"header-text\">\n                        <h1>Gurman Bake Studio<\/h1>\n                        <h3>\"Fresh | Homemade | No Preservative\"<\/h3>\n                        <h3>FSSAI: 22125020001544<\/h3>\n                    <\/div>\n                <\/div>\n                <nav class=\"nav\">\n                    <ul>\n                        <li><a href=\"https:\/\/www.gurmanbakestudio.com\/\">Shop<\/a><\/li>\n                        <li><a href=\"https:\/\/www.gurmanbakestudio.com\/?page_id=812\">POS<\/a><\/li>\n                        <li><a href=\"https:\/\/www.gurmanbakestudio.com\/?page_id=97\">Job Openings<\/a><\/li>\n                    <\/ul>\n                <\/nav>\n            <\/div>\n          <div id=\"overlay\" style=\"position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.8);display:flex;justify-content:center;align-items:center;z-index:1000;font-family:-apple-system,sans-serif;\">\n    <div style=\"text-align:center;padding:20px;max-width:320px;width:90%;background:white;border-radius:12px;\">\n        <div id=\"statusEmoji\" style=\"font-size:48px;margin-bottom:10px;\">\ud83d\ude34<\/div>\n        <div id=\"timeDisplay\" style=\"font-size:18px;font-weight:500;margin-bottom:5px;\"><\/div>\n        <div id=\"statusText\" style=\"font-size:14px;color:#666;margin-bottom:5px;\"><\/div>\n        <div id=\"nextEvent\" style=\"font-size:13px;color:#999;\"><\/div>\n        <div style=\"font-size:12px;color:#999;margin-top:10px;\">click me to hide<\/div>\n    <\/div>\n<\/div>\n\n            <h2 class=\"section-title\">Select Your Signature Products<\/h2>\n            \n            <div class=\"product-grid\" id=\"productGrid\"><\/div>\n            \n            <!-- Special Event Section -->\n            <div class=\"special-event-section\">\n                <div class=\"special-event-title\">\n                    \ud83c\udf89 Special Event Order\n                <\/div>\n                <p style=\"text-align:center; color:#666; margin-bottom:15px;\">Planning a special occasion? Select your event type below:<\/p>\n                \n                <select id=\"specialEvent\" style=\"margin-bottom:10px;\">\n                    <option value=\"\">-- Select Event Type --<\/option>\n                    <option value=\"nagar_kirtan\">\ud83d\udd4c Nagar Kirtan<\/option>\n                    <option value=\"kitty_party\">\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc67 Kitty Party<\/option>\n                    <option value=\"parbhat_pheri\">\ud83c\udf05 Parbhat Pheri<\/option>\n                    <option value=\"langar_seva\">\ud83d\ude4f Langar Seva<\/option>\n                    <option value=\"birthday_party\">\ud83c\udf82 Birthday Party<\/option>\n                    <option value=\"party\">\ud83c\udf8a Party\/Celebration<\/option>\n                    <option value=\"corporate\">\ud83c\udfe2 Corporate Event<\/option>\n                    <option value=\"wedding\">\ud83d\udc8d Wedding<\/option>\n                    <option value=\"other\">\u2753 Other<\/option>\n                <\/select>\n                \n                <input type=\"text\" id=\"otherEvent\" placeholder=\"Please specify your event...\" style=\"display:none;margin-top:8px;\">\n                \n                <div style=\"background:#fff3cd; padding:12px; border-radius:8px; margin-top:10px; border-left:4px solid #ffc107;\">\n                    <small style=\"color:#856404;\">\ud83d\udca1 <strong>Special Event Note:<\/strong> For sandwiches, minimum 50 pieces required for special events. Maximum 1500 pieces.<\/small>\n                <\/div>\n            <\/div>\n            \n            <div class=\"cart\" id=\"cart\" style=\"display:none;\">\n                <div id=\"cartItems\"><\/div>\n            <\/div>\n            \n            <label for=\"deliveryDate\">\ud83d\udcc5 Preferred Delivery Date<\/label>\n            <input type=\"date\" id=\"deliveryDate\">\n            \n            <!-- Service Hours Information -->\n            <div class=\"service-hours-info\">\n                <strong>\ud83d\udd52 Service Hours:<\/strong><br>\n                \u2022 Pickup: 10:00 AM - 10:00 PM<br>\n                \u2022 Delivery: 11:00 AM - 7:00 PM\n            <\/div>\n            \n            <div class=\"delivery-options\">\n                <input type=\"radio\" id=\"pickup\" name=\"deliveryType\" value=\"pickup\" checked>\n                <label for=\"pickup\" id=\"pickupLabel\">\n                    \ud83c\udfea I will <strong>Pickup<\/strong> as its <strong>Free<\/strong>\n                <\/label>\n                \n                <input type=\"radio\" id=\"delivery\" name=\"deliveryType\" value=\"delivery\">\n                <label for=\"delivery\" id=\"deliveryLabel\">\n                    \ud83d\ude9a Deliver to my House \ud83c\udfe0 + \u20b9200\n                <\/label>\n            <\/div>\n            \n            <div class=\"grand-total-box\" id=\"grandTotalBox\">\n                <div id=\"grandTotalDisplay\"><\/div>\n                <p id=\"deliveryInfo\">Estimated Delivery: --<\/p>\n            <\/div>\n            \n            <div class=\"tandc-box\">\n                <h4>Read Terms & Conditions<\/h4>\n                <ul>\n                    <li>\u2705 Freshly prepared using premium quality ingredients<\/li>\n                    <li>\ud83d\udcb0 We will Call you, Payment will be collected via PayTM or advance cash. Order will be confirmed only after <strong>Payment<\/strong>.<\/li>\n                    <li>\u26a0\ufe0f No refund, as we work hard to provide the best quality products.<\/li>\n                    <li>\u23f0 Delivery time varies by product and quantity<\/li>\n                <\/ul>\n            <\/div>\n            \n            <div class=\"tandc-check\">\n                <input type=\"checkbox\" id=\"agreeTnC\">\n                <label for=\"agreeTnC\">I understand and agree to the Terms & Conditions<\/label>\n            <\/div>\n            \n            <h3 style=\"font-weight: bold; text-decoration: underline; font-size: 20px; color: #1c1c1e;\">\n                Great, now let's get your info\n            <\/h3>\n            \n            <label for=\"customerName\">\ud83d\udc64 Your Good Name<\/label>\n            <input type=\"text\" id=\"customerName\" required placeholder=\"Please write your Good Name\">\n            \n            <label for=\"customerAddress\">\ud83c\udfe0 Delivery Address (Jalandhar City only)<\/label>\n            <textarea id=\"customerAddress\" rows=\"2\" required placeholder=\"\ud83d\udcdd Please provide your full address in Jalandhar City for safe & secure Transportation\"><\/textarea>\n            \n            <label for=\"customerQuery\">\ud83d\udcad Please provide any special instructions or message<\/label>\n            <textarea id=\"customerQuery\" rows=\"3\" placeholder=\"example: My house is opposite to ABC Tailor Shop. It will be easy for \ud83d\ude9a to reach on Time\"><\/textarea>\n            \n            <button id=\"enquireBtn\" style=\"background:linear-gradient(135deg,#34c759,#2ecc71);font-size:18px;padding:18px;\">\n                \ud83d\udcf2 Send Enquiry via WhatsApp\n            <\/button>\n            \n<div class=\"footer\" style=\"\n    width: 100%;\n    padding: 20px 24px;\n    background-color: #f9f9f9;\n    text-align: center;\n    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', Arial, sans-serif;\n    color: #1c1c1e;\n    font-size: 14px;\n    line-height: 1.6;\n    box-shadow: inset 0 1px 0 #d1d1d6, 0 -2px 10px rgba(0,0,0,0.05);\n    border-top: 1px solid #e5e5ea;\n    border-radius: 12px 12px 0 0;\n    backdrop-filter: blur(10px);\n    position: relative;\n\">\n    <div style=\"margin-bottom: 8px; font-weight: 500; font-size: 15px;\">\n        Designed & developed in Jalandhar, India \ud83c\uddee\ud83c\uddf3\n    <\/div>\n    <div style=\"margin-bottom: 6px; font-weight: 600;\">\n        Gurman Marketing \u2022 Gurman Preet Singh<br> MS, Ph.D\n    <\/div>\n    <div style=\"margin-bottom: 6px;\">\n        <a href=\"https:\/\/adsbox.in\" target=\"_blank\" style=\"\n            color: #007aff;\n            text-decoration: none;\n            font-weight: 600;\n        \">adsbox.in<\/a>\n    <\/div>\n    <div style=\"margin-top: 6px; font-size: 14px;\">\n        Customer Care: \n        <a href=\"tel:+919888100913\" style=\"\n            color: #007aff;\n            text-decoration: none;\n            font-weight: 600;\n            transition: color 0.3s;\n        \" onmouseover=\"this.style.color='#0051a8'\" onmouseout=\"this.style.color='#007aff'\">\n            +91 98881 00913\n        <\/a>\n    <\/div>\n    <div style=\"margin-top: 8px; font-size: 12px; color: #8e8e93;\">\n        \u00a9 2025 Gurman Marketing. All rights reserved.\n    <\/div>\n<\/div>\n\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <script>\n        \/\/ Product data\n        const products = [\n            {\n                id: 'veg_sandwich',\n                name: 'Veg Loaded Sandwich',\n                price: 20,\n                min: 150,\n                max: 1500,\n                desc: 'Fresh veggies with creamy mayo in soft bread.',\n                img: 'https:\/\/iili.io\/KQeLVJ1.png'\n            },\n            {\n                id: 'grilled_sandwich',\n                name: 'Veg Grilled Sandwich',\n                price: 30,\n                min: 150,\n                max: 1500,\n                desc: 'Grilled bread stuffed with spiced veggies and butter.',\n                img: 'https:\/\/iili.io\/KD2QLCu.png'\n            },\n            {\n                id: 'aloo_paratha',\n                name: 'Aloo Paratha',\n                price: 35,\n                min: 6,\n                max: 100,\n                desc: 'Stuffed aloo paratha with spices, onion and curry leaves for instant digestion, served with curd and pickle and butter optional.',\n                img: 'https:\/\/iili.io\/KD2L1J2.png'\n            },\n            {\n                id: 'homemade_maggi',\n                name: 'Homemade Maggi (6 Person serving)',\n                price: 80,\n                min: 6,\n                max: 10,\n                desc: 'Instantly cooked homemade Maggi noodles, enriched with potatoes and mild spices for a comforting taste, served hot.',\n                qty: '150gm icluding fresh potato',\n                img: 'https:\/\/iili.io\/KDTkdyx.jpg'\n            }\n        \n        ];\n\n        \/\/ Time validation constants\n        const PICKUP_START_HOUR = 10; \/\/ 10 AM\n        const PICKUP_END_HOUR = 22;   \/\/ 10 PM\n        const DELIVERY_START_HOUR = 11; \/\/ 11 AM\n        const DELIVERY_END_HOUR = 19;   \/\/ 7 PM\n\n        \/\/ DOM elements\n        const productGrid = document.getElementById('productGrid');\n        const cart = document.getElementById('cart');\n        const cartItems = document.getElementById('cartItems');\n        const grandTotalDisplay = document.getElementById('grandTotalDisplay');\n        const deliveryInfo = document.getElementById('deliveryInfo');\n        const deliveryDate = document.getElementById('deliveryDate');\n        const specialEvent = document.getElementById('specialEvent');\n        const otherEvent = document.getElementById('otherEvent');\n        const enquireBtn = document.getElementById('enquireBtn');\n        const pickupRadio = document.getElementById('pickup');\n        const deliveryRadio = document.getElementById('delivery');\n        const pickupLabel = document.getElementById('pickupLabel');\n        const deliveryLabel = document.getElementById('deliveryLabel');\n\n        let selectedProducts = {};\n\n        \/\/ Initialize date picker with strong logic\n        function initializeDatePicker() {\n            const now = new Date();\n            const currentHour = now.getHours();\n            \n            \/\/ Set minimum date - if after 10 PM, block today and start from tomorrow\n            let minDate = new Date();\n            if (currentHour >= 22) {\n                minDate.setDate(minDate.getDate() + 1);\n            }\n            \n            \/\/ Skip Sundays\n            if (minDate.getDay() === 0) {\n                minDate.setDate(minDate.getDate() + 1);\n            }\n            \n            const minDateString = minDate.toISOString().split('T')[0];\n            deliveryDate.min = minDateString;\n            \n            \/\/ Set max date to 3 months from now\n            const maxDate = new Date();\n            maxDate.setMonth(maxDate.getMonth() + 3);\n            const maxDateString = maxDate.toISOString().split('T')[0];\n            deliveryDate.max = maxDateString;\n            \n            \/\/ Set initial value to the minimum available date\n            deliveryDate.value = minDateString;\n            \n            console.log('Date picker initialized:', {\n                minDate: minDateString,\n                maxDate: maxDateString,\n                currentHour: currentHour,\n                initialValue: minDateString\n            });\n        }\n\n        \/\/ Calculate preparation time for each product\n        function calculatePreparationTime(prod) {\n            const specialSelected = specialEvent.value !== '';\n            let prepDays = 0;\n            let prepMinutes = 0;\n            \n            switch(prod.id) {\n                case 'veg_sandwich':\n                case 'grilled_sandwich':\n                    if (specialSelected) {\n                        prepDays = 7; \/\/ 1 week for special events\n                    } else if (prod.quantity <= 150) {\n                        prepDays = 2; \/\/ 2 days for up to 150 pieces\n                    } else {\n                        prepDays = 7; \/\/ 1 week for more than 150 pieces\n                    }\n                    break;\n                    \n                case 'aloo_paratha':\n                    \/\/ Instant preparation (same day)\n                    prepMinutes = 45 + (prod.quantity > 6 ? (prod.quantity - 6) * 5 : 0);\n                    break;\n                    \n                case 'homemade_maggi':\n                    \/\/ Instant preparation (same day)\n                    prepMinutes = 30 + (prod.quantity > 6 ? (prod.quantity - 6) * 3 : 0);\n                    break;\n            }\n            \n            return { prepDays, prepMinutes };\n        }\n\n        \/\/ Calculate the earliest available delivery date\n        function calculateEarliestDeliveryDate() {\n            if (Object.keys(selectedProducts).length === 0) {\n                return new Date();\n            }\n            \n            let maxPrepDays = 0;\n            let maxPrepMinutes = 0;\n            \n            Object.values(selectedProducts).forEach(prod => {\n                const { prepDays, prepMinutes } = calculatePreparationTime(prod);\n                maxPrepDays = Math.max(maxPrepDays, prepDays);\n                maxPrepMinutes = Math.max(maxPrepMinutes, prepMinutes);\n            });\n            \n            const earliestDate = new Date();\n            \n            \/\/ Add preparation days\n            if (maxPrepDays > 0) {\n                earliestDate.setDate(earliestDate.getDate() + maxPrepDays);\n            }\n            \n            \/\/ Skip Sundays\n            while (earliestDate.getDay() === 0) {\n                earliestDate.setDate(earliestDate.getDate() + 1);\n            }\n            \n            \/\/ If we have minutes-based preparation, check if we can deliver today\n            if (maxPrepMinutes > 0 && maxPrepDays === 0) {\n                const now = new Date();\n                const currentHour = now.getHours();\n                const currentMinutes = now.getMinutes();\n                const totalMinutesNeeded = maxPrepMinutes;\n                \n                \/\/ Check if we can prepare and deliver today\n                const deliveryCutoffHour = 18; \/\/ 6 PM cutoff for same-day delivery\n                const preparationEndTime = new Date(now.getTime() + totalMinutesNeeded * 60000);\n                \n                if (preparationEndTime.getHours() < deliveryCutoffHour && currentHour < deliveryCutoffHour) {\n                    \/\/ Can deliver today\n                    return now;\n                } else {\n                    \/\/ Need to deliver tomorrow\n                    earliestDate.setDate(earliestDate.getDate() + 1);\n                    \/\/ Skip Sunday if it falls on Sunday\n                    if (earliestDate.getDay() === 0) {\n                        earliestDate.setDate(earliestDate.getDate() + 1);\n                    }\n                }\n            }\n            \n            return earliestDate;\n        }\n\n        \/\/ Render products\n        function renderProducts() {\n            products.forEach(prod => {\n                const card = document.createElement('div');\n                card.className = 'product-card';\n                card.innerHTML = `\n                    <img decoding=\"async\" src=\"${prod.img}\" alt=\"${prod.name}\">\n                    <h4>${prod.name}<\/h4>\n                    <p class=\"price\">\u20b9${prod.price} per piece<\/p>\n                    <p>${prod.desc}<\/p>\n                    <small style=\"color:#666; margin-top:8px;\">Min: ${prod.min} | Max: ${prod.max}<\/small>\n                `;\n                productGrid.appendChild(card);\n                card.addEventListener('click', () => {\n                    if (selectedProducts[prod.id]) {\n                        delete selectedProducts[prod.id];\n                        card.classList.remove('selected');\n                    } else {\n                        selectedProducts[prod.id] = {...prod, quantity: prod.min};\n                        card.classList.add('selected');\n                    }\n                    updateCart();\n                });\n            });\n        }\n\n        \/\/ Check if current time is within business hours\n        function isWithinBusinessHours(deliveryType) {\n            const now = new Date();\n            const currentHour = now.getHours();\n            const currentDay = now.getDay();\n            \n            \/\/ Closed on Sundays\n            if (currentDay === 0) return false;\n            \n            if (deliveryType === 'pickup') {\n                return currentHour >= PICKUP_START_HOUR && currentHour < PICKUP_END_HOUR;\n            } else if (deliveryType === 'delivery') {\n                return currentHour >= DELIVERY_START_HOUR && currentHour < DELIVERY_END_HOUR;\n            }\n            \n            return false;\n        }\n\n        \/\/ Get next available time for service\n        function getNextAvailableTime(deliveryType) {\n            const now = new Date();\n            const currentHour = now.getHours();\n            const currentDay = now.getDay();\n            \n            \/\/ If it's Sunday, next available time is Monday morning\n            if (currentDay === 0) {\n                const nextMonday = new Date(now);\n                nextMonday.setDate(now.getDate() + 1);\n                nextMonday.setHours(deliveryType === 'pickup' ? PICKUP_START_HOUR : DELIVERY_START_HOUR, 0, 0, 0);\n                return nextMonday;\n            }\n            \n            \/\/ If it's within business hours, return current time\n            if (isWithinBusinessHours(deliveryType)) {\n                return now;\n            }\n            \n            \/\/ If it's before business hours, return today's opening time\n            if (deliveryType === 'pickup' && currentHour < PICKUP_START_HOUR) {\n                const todayOpening = new Date(now);\n                todayOpening.setHours(PICKUP_START_HOUR, 0, 0, 0);\n                return todayOpening;\n            }\n            \n            if (deliveryType === 'delivery' && currentHour < DELIVERY_START_HOUR) {\n                const todayOpening = new Date(now);\n                todayOpening.setHours(DELIVERY_START_HOUR, 0, 0, 0);\n                return todayOpening;\n            }\n            \n            \/\/ If it's after business hours, return tomorrow's opening time\n            const tomorrow = new Date(now);\n            tomorrow.setDate(now.getDate() + 1);\n            \n            \/\/ Skip Sunday\n            if (tomorrow.getDay() === 0) {\n                tomorrow.setDate(tomorrow.getDate() + 1);\n            }\n            \n            tomorrow.setHours(deliveryType === 'pickup' ? PICKUP_START_HOUR : DELIVERY_START_HOUR, 0, 0, 0);\n            return tomorrow;\n        }\n\n        \/\/ Update delivery option availability based on current time\n        function updateDeliveryOptions() {\n            const now = new Date();\n            const currentHour = now.getHours();\n            const currentDay = now.getDay();\n            \n            \/\/ Check pickup availability\n            const pickupAvailable = currentDay !== 0 && isWithinBusinessHours('pickup');\n            \n            \/\/ Check delivery availability\n            const deliveryAvailable = currentDay !== 0 && isWithinBusinessHours('delivery');\n            \n            \/\/ Update pickup option\n            if (pickupAvailable) {\n                pickupRadio.disabled = false;\n                pickupLabel.classList.remove('disabled');\n                pickupLabel.innerHTML = `\ud83c\udfea I will <strong>Pickup<\/strong> as its <strong>Free<\/strong>`;\n            } else {\n                pickupRadio.disabled = true;\n                pickupLabel.classList.add('disabled');\n                const nextPickup = getNextAvailableTime('pickup');\n                pickupLabel.innerHTML = `\ud83c\udfea Pickup (Available ${nextPickup.toLocaleDateString()} at ${nextPickup.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'})})`;\n                \n                \/\/ If pickup was selected but now unavailable, switch to delivery if available\n                if (pickupRadio.checked && deliveryAvailable) {\n                    deliveryRadio.checked = true;\n                }\n            }\n            \n            \/\/ Update delivery option\n            if (deliveryAvailable) {\n                deliveryRadio.disabled = false;\n                deliveryLabel.classList.remove('disabled');\n                deliveryLabel.innerHTML = `\ud83d\ude9a Deliver to my House \ud83c\udfe0 + \u20b9200`;\n            } else {\n                deliveryRadio.disabled = true;\n                deliveryLabel.classList.add('disabled');\n                const nextDelivery = getNextAvailableTime('delivery');\n                deliveryLabel.innerHTML = `\ud83d\ude9a Delivery (Available ${nextDelivery.toLocaleDateString()} at ${nextDelivery.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'})})`;\n                \n                \/\/ If delivery was selected but now unavailable, switch to pickup if available\n                if (deliveryRadio.checked && pickupAvailable) {\n                    pickupRadio.checked = true;\n                }\n            }\n            \n            \/\/ Update cart to reflect changes\n            updateCart();\n        }\n\n        \/\/ Special event handling\n        specialEvent.addEventListener('change', () => {\n            if (specialEvent.value === 'other') {\n                otherEvent.style.display = 'block';\n                otherEvent.required = true;\n            } else {\n                otherEvent.style.display = 'none';\n                otherEvent.required = false;\n            }\n            updateCart();\n        });\n\n        \/\/ Validate quantity\n        function validateQuantity(prod) {\n            const specialSelected = specialEvent.value !== '';\n            let messages = [];\n            let isValid = true;\n\n            if (specialSelected && (prod.id === 'veg_sandwich' || prod.id === 'grilled_sandwich')) {\n                if (prod.quantity < 50) {\n                    messages.push(`Minimum 50 pieces required for ${prod.name} in special events`);\n                    isValid = false;\n                }\n                if (prod.quantity > 1500) {\n                    messages.push(`Maximum 1500 pieces allowed for ${prod.name} in special events`);\n                    isValid = false;\n                }\n            } else {\n                if (prod.quantity < prod.min) {\n                    messages.push(`Minimum ${prod.min} pieces required for ${prod.name}`);\n                    isValid = false;\n                }\n                if (prod.quantity > prod.max) {\n                    messages.push(`Maximum ${prod.max} pieces allowed for ${prod.name}`);\n                    isValid = false;\n                }\n            }\n            \n            return { isValid, messages };\n        }\n\n        \/\/ Calculate delivery\n        function calculateDelivery() {\n            if (Object.keys(selectedProducts).length === 0) {\n                deliveryInfo.innerHTML = `\ud83d\udcc5 Select products to see delivery estimate`;\n                return;\n            }\n            \n            const earliestDeliveryDate = calculateEarliestDeliveryDate();\n            const selectedDate = new Date(deliveryDate.value);\n            const today = new Date();\n            today.setHours(0, 0, 0, 0);\n            \n            \/\/ Only auto-set the delivery date if no valid date is selected\n            if (!deliveryDate.value || selectedDate < earliestDeliveryDate) {\n                deliveryDate.value = earliestDeliveryDate.toISOString().split('T')[0];\n            }\n            \n            const formattedDate = new Date(deliveryDate.value).toLocaleDateString('en-IN', {\n                weekday: 'long',\n                year: 'numeric',\n                month: 'long',\n                day: 'numeric'\n            });\n            \n            \/\/ Get preparation details\n            let prepDetails = [];\n            Object.values(selectedProducts).forEach(prod => {\n                const { prepDays, prepMinutes } = calculatePreparationTime(prod);\n                if (prepDays > 0) {\n                    prepDetails.push(`${prod.name}: ${prepDays} day${prepDays > 1 ? 's' : ''} preparation`);\n                } else if (prepMinutes > 0) {\n                    prepDetails.push(`${prod.name}: ${prepMinutes} minutes preparation`);\n                }\n            });\n            \n            \/\/ Get delivery type and status\n            const deliveryType = document.querySelector('input[name=\"deliveryType\"]:checked').value;\n            const withinHours = isWithinBusinessHours(deliveryType);\n            \n            let deliveryMessage = `\ud83d\udcc5 Selected Delivery: ${formattedDate}`;\n            \n            if (prepDetails.length > 0) {\n                deliveryMessage += `<br><small style=\"color:#666;\">\u23f1 ${prepDetails.join(', ')}<\/small>`;\n            }\n            \n            if (!withinHours) {\n                const nextAvailable = getNextAvailableTime(deliveryType);\n                const timeDiff = nextAvailable.getTime() - new Date().getTime();\n                const hoursDiff = Math.ceil(timeDiff \/ (1000 * 60 * 60));\n                \n                if (hoursDiff < 24) {\n                    deliveryMessage += `<br><small style=\"color:#ff3b30;\">\u26a0\ufe0f We're currently closed. Will process at ${nextAvailable.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'})}<\/small>`;\n                } else {\n                    const daysDiff = Math.ceil(hoursDiff \/ 24);\n                    deliveryMessage += `<br><small style=\"color:#ff3b30;\">\u26a0\ufe0f We're currently closed. Will process on ${nextAvailable.toLocaleDateString()}<\/small>`;\n                }\n            }\n            \n            deliveryInfo.innerHTML = deliveryMessage;\n            renderGrandTotal();\n        }\n\n        \/\/ Render grand total\n        function renderGrandTotal() {\n            let subtotal = 0;\n            let productDetails = [];\n            \n            Object.values(selectedProducts).forEach(prod => {\n                const productTotal = prod.price * prod.quantity;\n                subtotal += productTotal;\n                productDetails.push({\n                    name: prod.name,\n                    quantity: prod.quantity,\n                    price: prod.price,\n                    total: productTotal\n                });\n            });\n            \n            const deliveryType = document.querySelector('input[name=\"deliveryType\"]:checked').value;\n            const deliveryCharge = deliveryType === 'delivery' ? 200 : 0;\n            const grandTotal = subtotal + deliveryCharge;\n            const eventName = specialEvent.value === 'other' ? otherEvent.value : specialEvent.options[specialEvent.selectedIndex].text;\n\n            grandTotalDisplay.innerHTML = `\n                <div class=\"total-breakdown\">\n                    <h4 style=\"margin:0 0 15px 0; color:#1c1c1e; text-align:center;\">\ud83d\udcb0 Order Summary<\/h4>\n                    \n                    ${eventName ? `<div class=\"total-line\"><span>\ud83c\udf89 Special Event:<\/span><span>${eventName}<\/span><\/div>` : ''}\n                    \n                    ${productDetails.map(prod => `\n                        <div class=\"total-line\">\n                            <span>${prod.name} (${prod.quantity} \u00d7 \u20b9${prod.price})<\/span>\n                            <span>\u20b9${prod.total}<\/span>\n                        <\/div>\n                    `).join('')}\n                    \n                    <div class=\"total-line\">\n                        <span>Subtotal<\/span>\n                        <span>\u20b9${subtotal}<\/span>\n                    <\/div>\n                    \n                    <div class=\"total-line\">\n                        <span>${deliveryType === 'delivery' ? '\ud83d\ude9a Door Delivery' : '\ud83c\udfea Pickup'}<\/span>\n                        <span>${deliveryCharge > 0 ? `+\u20b9${deliveryCharge}` : 'FREE'}<\/span>\n                    <\/div>\n                    \n                    <div class=\"total-line final-total\">\n                        <span>Grand Total<\/span>\n                        <span>\u20b9${grandTotal}<\/span>\n                    <\/div>\n                <\/div>\n            `;\n        }\n\n        \/\/ Update cart\n        function updateCart() {\n            cartItems.innerHTML = '';\n            let hasValidationErrors = false;\n\n            Object.values(selectedProducts).forEach(prod => {\n                const item = document.createElement('div');\n                item.className = 'cart-item';\n                \n                const { prepDays, prepMinutes } = calculatePreparationTime(prod);\n                let prepHTML = '';\n                \n                if (prepDays > 0) {\n                    prepHTML = `<span class=\"countdown\">\u23f1 ${prepDays} day${prepDays > 1 ? 's' : ''} prep<\/span>`;\n                } else if (prepMinutes > 0) {\n                    prepHTML = `<span class=\"countdown\">\u23f1 ${prepMinutes} min prep<\/span>`;\n                }\n                \n                item.innerHTML = `\n                    <span>\ud83d\uded2 ${prod.name}<\/span>\n                    <input type=\"number\" min=\"1\" value=\"${prod.quantity}\" style=\"width:80px;\">\n                    <span>\u20b9${prod.price * prod.quantity}<\/span>\n                    ${prepHTML}\n                    <button class=\"remove-btn\" style=\"background:var(--ec);color:white;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;\">Remove<\/button>\n                    <div class=\"error-msg\"><\/div>\n                `;\n                \n                const input = item.querySelector('input');\n                const errorDiv = item.querySelector('.error-msg');\n                const removeBtn = item.querySelector('.remove-btn');\n                \n                input.addEventListener('change', () => {\n                    let val = parseInt(input.value);\n                    if (isNaN(val) || val < 1) val = 1;\n                    \n                    const validation = validateQuantity({...prod, quantity: val});\n                    \n                    if (!validation.isValid) {\n                        errorDiv.innerHTML = validation.messages.join('<br>');\n                        errorDiv.style.display = 'block';\n                        hasValidationErrors = true;\n                        input.style.borderColor = 'var(--ec)';\n                    } else {\n                        errorDiv.textContent = '';\n                        errorDiv.style.display = 'none';\n                        input.style.borderColor = '';\n                        prod.quantity = val;\n                    }\n                    \n                    updateCart();\n                });\n                \n                removeBtn.addEventListener('click', () => {\n                    delete selectedProducts[prod.id];\n                    document.querySelectorAll('.product-card').forEach(card => {\n                        if (card.querySelector('h4').textContent === prod.name) card.classList.remove('selected');\n                    });\n                    updateCart();\n                });\n                \n                cartItems.appendChild(item);\n            });\n\n            cart.style.display = Object.keys(selectedProducts).length > 0 ? 'block' : 'none';\n            calculateDelivery();\n            \n            \/\/ Update button state based on validation\n            if (hasValidationErrors) {\n                enquireBtn.disabled = true;\n                enquireBtn.style.background = '#ccc';\n                enquireBtn.textContent = '\u274c Fix Quantity Issues First';\n            } else {\n                enquireBtn.disabled = false;\n                enquireBtn.style.background = 'linear-gradient(135deg,#34c759,#2ecc71)';\n                enquireBtn.textContent = '\ud83d\udcf2 Send Enquiry via WhatsApp';\n            }\n        }\n\n        \/\/ Send enquiry via WhatsApp\n        enquireBtn.addEventListener('click', () => {\n            if (!document.getElementById('agreeTnC').checked) {\n                alert(\"\ud83d\udccb Please agree to the Terms & Conditions to proceed.\");\n                return;\n            }\n            \n            const name = document.getElementById('customerName').value.trim();\n            const address = document.getElementById('customerAddress').value.trim();\n            const query = document.getElementById('customerQuery').value.trim();\n            const deliveryType = document.querySelector('input[name=\"deliveryType\"]:checked').value;\n            const selectedDeliveryDate = deliveryDate.value;\n            const eventName = specialEvent.value === 'other' ? otherEvent.value : specialEvent.options[specialEvent.selectedIndex].text;\n\n            \/\/ Basic validation\n            if (!name || !address) {\n                alert(\"\ud83d\udc64 Please provide your name and delivery address.\");\n                return;\n            }\n            \n            if (Object.keys(selectedProducts).length === 0) {\n                alert(\"\ud83d\uded2 Please select at least one product.\");\n                return;\n            }\n            \n            if (specialEvent.value === 'other' && otherEvent.value.trim() === '') {\n                alert(\"\ud83c\udf89 Please specify your event type.\");\n                return;\n            }\n\n            \/\/ Final quantity validation\n            let hasValidationError = false;\n            let validationMessages = [];\n            \n            Object.values(selectedProducts).forEach(prod => {\n                const validation = validateQuantity(prod);\n                if (!validation.isValid) {\n                    hasValidationError = true;\n                    validationMessages.push(...validation.messages);\n                }\n            });\n            \n            if (hasValidationError) {\n                alert(\"\u26a0\ufe0f Please fix the following quantity issues:\\n\\n\" + validationMessages.join('\\n\u2022 '));\n                return;\n            }\n\n            \/\/ Check time validation\n            const withinHours = isWithinBusinessHours(deliveryType);\n            const nextAvailable = getNextAvailableTime(deliveryType);\n            \n            \/\/ Format beautiful WhatsApp message\n            let subtotal = 0;\n            Object.values(selectedProducts).forEach(prod => {\n                subtotal += prod.price * prod.quantity;\n            });\n            const deliveryCharge = deliveryType === 'delivery' ? 200 : 0;\n            const grandTotal = subtotal + deliveryCharge;\n            \n            const formattedDate = new Date(selectedDeliveryDate).toLocaleDateString('en-IN', {\n                weekday: 'long',\n                year: 'numeric',\n                month: 'long',\n                day: 'numeric'\n            });\n\n            let message = `\ud83c\udf7d\ufe0f *GURMAN BAKE STUDIO - ORDER ENQUIRY* \ud83c\udf7d\ufe0f%0A%0A`;\n            message += `*Customer Details:*%0A`;\n            message += `\ud83d\udc64 Name: ${name}%0A`;\n            message += `\ud83c\udfe0 Address: ${address}%0A`;\n            message += `\ud83d\udcac Message: ${query || 'No special instructions'}%0A%0A`;\n            \n            message += `*Event Details:*%0A`;\n            message += `\ud83c\udf89 Event Type: ${eventName || 'Regular Order'}%0A`;\n            message += `\ud83d\udcc5 Selected Delivery: ${formattedDate}%0A`;\n            message += `\ud83d\ude9a Delivery Type: ${deliveryType === 'delivery' ? 'Door Delivery' : 'Local Pickup'}%0A%0A`;\n            \n            \/\/ Add preparation details\n            message += `*Preparation Time:*%0A`;\n            Object.values(selectedProducts).forEach(prod => {\n                const { prepDays, prepMinutes } = calculatePreparationTime(prod);\n                if (prepDays > 0) {\n                    message += `\u2022 ${prod.name}: ${prepDays} day${prepDays > 1 ? 's' : ''}%0A`;\n                } else if (prepMinutes > 0) {\n                    message += `\u2022 ${prod.name}: ${prepMinutes} minutes%0A`;\n                }\n            });\n            message += `%0A`;\n            \n            \/\/ Add time warning if outside business hours\n            if (!withinHours) {\n                const timeDiff = nextAvailable.getTime() - new Date().getTime();\n                const hoursDiff = Math.ceil(timeDiff \/ (1000 * 60 * 60));\n                \n                if (hoursDiff < 24) {\n                    message += `*\u26a0\ufe0f Note:* We're currently closed. We'll process your order when we open at ${nextAvailable.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'})}.%0A%0A`;\n                } else {\n                    const daysDiff = Math.ceil(hoursDiff \/ 24);\n                    message += `*\u26a0\ufe0f Note:* We're currently closed. We'll process your order when we open on ${nextAvailable.toLocaleDateString()}.%0A%0A`;\n                }\n            }\n            \n            message += `*Order Summary:*%0A`;\n            message += `\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550%0A`;\n            Object.values(selectedProducts).forEach(prod => {\n                message += `\u2022 ${prod.name}%0A`;\n                message += `  Quantity: ${prod.quantity} pieces%0A`;\n                message += `  Price: \u20b9${prod.price} \u00d7 ${prod.quantity} = \u20b9${prod.price * prod.quantity}%0A%0A`;\n            });\n            message += `\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550%0A`;\n            message += `\ud83d\udce6 Subtotal: \u20b9${subtotal}%0A`;\n            message += `\ud83d\ude9a Delivery: ${deliveryCharge > 0 ? `\u20b9${deliveryCharge}` : 'FREE'}%0A`;\n            message += `\ud83d\udcb0 *GRAND TOTAL: \u20b9${grandTotal}*%0A%0A`;\n            \n            message += `*Order Notes:*%0A`;\n            message += `\u2022 All products prepared fresh with premium ingredients%0A`;\n            message += `\u2022 Delivery time depends on quantity and product type%0A`;\n            message += `\u2022 Payment required before order confirmation%0A%0A`;\n            \n            message += `Thank you for choosing Gurman Bake Studio! \ud83e\udd6a\u2728`;\n\n            window.open(`https:\/\/wa.me\/919888190913?text=${message}`, '_blank');\n        });\n\n        \/\/ Initialize the page\n        function init() {\n            initializeDatePicker();\n            renderProducts();\n            updateDeliveryOptions();\n            \n            \/\/ Update delivery options every minute\n            setInterval(updateDeliveryOptions, 60000);\n            \n            \/\/ Add event listeners\n            document.querySelectorAll('input[name=\"deliveryType\"]').forEach(r => r.addEventListener('change', updateCart));\n            deliveryDate.addEventListener('change', updateCart);\n        }\n\n        \/\/ Start the application\n        init();\n        \n  function updateStatus() {\n    const now = new Date();\n    const day = now.getDay(); \/\/ 0 = Sunday\n    const hour = now.getHours();\n    const minute = now.getMinutes();\n    const timeDecimal = hour + minute \/ 60;\n\n    const emoji = document.getElementById(\"statusEmoji\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n    const statusText = document.getElementById(\"statusText\");\n    const nextEvent = document.getElementById(\"nextEvent\");\n\n    timeDisplay.textContent = now.toLocaleTimeString([], {hour: \"2-digit\", minute:\"2-digit\"});\n\n    let currentEmoji = \"\ud83d\ude34\";\n    let currentStatus = \"Closed\";\n    let upcomingText = \"\";\n\n    if(day === 0) {\n        currentEmoji = \"\ud83d\ude34\";\n        currentStatus = \"Closed (Sunday)\";\n        upcomingText = \"Next: Monday 10:00 \ud83d\udc77 Open\";\n    } else if(timeDecimal < 10) {\n        currentEmoji = \"\ud83d\ude34\";\n        currentStatus = \"Closed\";\n        upcomingText = \"Next: Opening at 10:00 \ud83d\udc77\";\n    } else if(timeDecimal >= 10 && timeDecimal < 14) {\n        currentEmoji = \"\ud83d\udc77\";\n        currentStatus = \"Open\";\n        if(timeDecimal >= 13.5) {\n            upcomingText = \"Break Soon at 14:00 \ud83d\ude34\";\n        } else {\n            upcomingText = \"Next: Break at 14:00 \ud83d\ude34\";\n        }\n    } else if(timeDecimal >= 14 && timeDecimal < 15.5) {\n        currentEmoji = \"\ud83d\ude34\";\n        currentStatus = \"Break\";\n        upcomingText = \"Next: Work resumes at 15:30 \ud83d\udc77\";\n    } else if(timeDecimal >= 15.5 && timeDecimal < 17.5) {\n        currentEmoji = \"\ud83d\udc77\";\n        currentStatus = \"Open\";\n        if(timeDecimal >= 17) {\n            upcomingText = \"Closing Soon at 17:30 \ud83d\ude34\";\n        } else {\n            upcomingText = \"Next: Closing at 17:30 \ud83d\ude34\";\n        }\n    } else if(timeDecimal >= 17.5 && timeDecimal < 18.5) {\n        currentEmoji = \"\ud83d\ude34\";\n        currentStatus = \"Closing Soon\";\n        upcomingText = \"Next: Closed at 18:30 \ud83d\ude34\";\n    } else {\n        currentEmoji = \"\ud83d\ude34\";\n        currentStatus = \"Closed\";\n        upcomingText = \"Next: Tomorrow 10:00 \ud83d\udc77 Open\";\n    }\n\n    emoji.textContent = currentEmoji;\n    statusText.textContent = currentStatus;\n    nextEvent.textContent = upcomingText;\n}\n\n\/\/ Update every minute\nupdateStatus();\nsetInterval(updateStatus, 60000);\n\n\/\/ Auto close after 10 seconds\nsetTimeout(() => {\n    document.getElementById('overlay').style.display = 'none';\n}, 10000);\n\n\/\/ Close on click\ndocument.getElementById('overlay').addEventListener('click', function() {\n    this.style.display = 'none';\n});\n    <\/script>\n\n<!-- Secret Content (Hidden) -->\n<div id=\"hiddenContent\" style=\"display:none;\"><\/div>\n\n<script>\n(function () {\n  \/\/ ========== 1. Hidden Secret Message ==========\n  const secret = \"Hello, this is secret content.\";\n  \/\/ Optionally store in memory, but don't display\n  \/\/ document.getElementById(\"hiddenContent\").innerText = secret;\n\n  \/\/ ========== 2. Disable Right Click & Copy ==========\n  const blockEvent = (e, msg) => {\n    e.preventDefault();\n    console.warn(msg || \"Action blocked.\");\n  };\n\n  document.addEventListener(\"contextmenu\", e => blockEvent(e, \"Right-click disabled.\"));\n  document.addEventListener(\"copy\", e => blockEvent(e, \"Copying disabled.\"));\n\n  \/\/ ========== 3. Disable Text Selection Globally ==========\n  document.addEventListener(\"DOMContentLoaded\", () => {\n    const style = document.createElement(\"style\");\n    style.textContent = `\n      * {\n        user-select: none !important;\n        -webkit-user-select: none !important;\n        -moz-user-select: none !important;\n        -ms-user-select: none !important;\n      }\n    `;\n    document.head.appendChild(style);\n  });\n\n  \/\/ ========== 4. Block Common DevTools Shortcuts ==========\n  document.addEventListener(\"keydown\", e => {\n    const key = e.key.toUpperCase();\n    if (\n      e.key === \"F12\" ||\n      (e.ctrlKey && e.shiftKey && [\"I\", \"J\", \"C\"].includes(key)) ||\n      (e.ctrlKey && [\"U\", \"S\"].includes(key))\n    ) {\n      blockEvent(e, \"DevTools or source view blocked.\");\n    }\n  });\n\n  \/\/ ========== 5. Detect Open DevTools ==========\n  const detector = new Image();\n  let devToolsDetected = false;\n\n  Object.defineProperty(detector, \"id\", {\n    get() {\n      devToolsDetected = true;\n      throw new Error(\"DevTools Detected\");\n    }\n  });\n\n  setInterval(() => {\n    devToolsDetected = false;\n    console.dir(detector);\n    if (devToolsDetected) {\n      console.error(\"DevTools is open! Blocking access...\");\n      \/\/ Optionally blank or redirect:\n      \/\/ window.location.replace(\"about:blank\");\n    }\n  }, 1000);\n\n  \/\/ ========== 6. Block PrintScreen Key ==========\n  window.addEventListener(\"keyup\", e => {\n    if (e.key === \"PrintScreen\") {\n      navigator.clipboard.writeText(\"Screenshot blocked.\");\n      console.warn(\"Screenshot attempt detected and blocked.\");\n    }\n  });\n\n})();\n<\/script>\n\n<script>\n  window.dataLayer = window.dataLayer || [];\n  function gtag(){dataLayer.push(arguments);}\n  gtag('js', new Date());\n  gtag('config', 'G-6S0PW76231');\n<\/script>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n  try {\n    if (!sessionStorage.getItem(\"refreshedOnce\")) {\n      sessionStorage.setItem(\"refreshedOnce\", \"true\");\n      \/\/ Refresh the page immediately\n      window.location.reload();\n    }\n  } catch (e) {\n    console.warn(\"Session storage unavailable. Skipping auto-refresh.\");\n  }\n});\n<\/script>\n\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Gurman Bake Studio &#8211; Fresh Sandwiches &#038; Shakes Gurman Bake Studio Jalandhar, Punjab FSSAI: 22125020001544 Shop POS Job Openings 1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-24","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.gurmanbakestudio.com\/index.php?rest_route=\/wp\/v2\/pages\/24","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gurmanbakestudio.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gurmanbakestudio.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gurmanbakestudio.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gurmanbakestudio.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=24"}],"version-history":[{"count":491,"href":"https:\/\/www.gurmanbakestudio.com\/index.php?rest_route=\/wp\/v2\/pages\/24\/revisions"}],"predecessor-version":[{"id":847,"href":"https:\/\/www.gurmanbakestudio.com\/index.php?rest_route=\/wp\/v2\/pages\/24\/revisions\/847"}],"wp:attachment":[{"href":"https:\/\/www.gurmanbakestudio.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=24"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}