{"id":28956,"date":"2026-03-20T17:27:01","date_gmt":"2026-03-20T11:57:01","guid":{"rendered":"https:\/\/aikinesis.com\/gift2\/?page_id=28956"},"modified":"2026-03-20T17:34:35","modified_gmt":"2026-03-20T12:04:35","slug":"swaglogic-ai","status":"publish","type":"page","link":"https:\/\/aikinesis.com\/gift2\/swaglogic-ai\/","title":{"rendered":"Swaglogic AI"},"content":{"rendered":"\n<!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>Swaglogic AI \u2013 India&#8217;s Largest Promotional Merchandise Engine<\/title>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,600;0,700;1,600;1,700&#038;family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&#038;display=swap\" rel=\"stylesheet\">\n<style>\n:root{\n  --bg:#FFFFFF;--s1:#FAFAF8;--s2:#F3F0EB;--s3:#EAE6DF;\n  --o:#E05C00;--ol:#FF6D1A;--od:#B84A00;\n  --p:#B8104E;--pl:#D4155C;\n  --grad:linear-gradient(135deg,#E05C00 0%,#B8104E 100%);\n  --grad-r:linear-gradient(135deg,#B8104E,#E05C00);\n  --soft:linear-gradient(135deg,rgba(224,92,0,.07),rgba(184,16,78,.06));\n  --border:#E8E3DB;--border2:#D4CEC5;\n  --text:#18140F;--text2:#3A342C;--muted:#7A7168;--muted2:#A89F94;\n  --green:#167A46;--amber:#C07800;--red:#B03030;\n  --r:12px;--r2:18px;\n  --sh:0 1px 3px rgba(0,0,0,.04),0 4px 14px rgba(0,0,0,.06);\n  --sh2:0 8px 32px rgba(0,0,0,.1),0 2px 8px rgba(0,0,0,.05);\n}\n*{margin:0;padding:0;box-sizing:border-box;}\nhtml{scroll-behavior:smooth;}\nbody{background:var(--bg);color:var(--text);font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;line-height:1.6;overflow-x:hidden;}\n\n\/* \u2500\u2500 NAV \u2500\u2500 *\/\nnav{position:fixed;top:0;left:0;right:0;z-index:300;background:rgba(255,255,255,.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 52px;}\n.logo{font-family:'Cormorant Garamond',serif;font-size:25px;font-weight:700;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;cursor:pointer;letter-spacing:-.3px;}\n.nav-links{display:flex;gap:28px;}\n.nl{color:var(--muted);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;padding:4px 0;border-bottom:2px solid transparent;transition:all .2s;}\n.nl:hover,.nl.on{color:var(--o);border-bottom-color:var(--o);}\n.nav-r{display:flex;gap:10px;align-items:center;}\n.nav-kit{position:relative;background:transparent;border:2px solid var(--p);color:var(--p);padding:8px 18px;border-radius:8px;font-weight:700;font-size:13px;cursor:pointer;transition:all .2s;}\n.nav-kit:hover{background:var(--p);color:#fff;}\n.kbadge{position:absolute;top:-8px;right:-8px;background:var(--o);color:#fff;width:20px;height:20px;border-radius:50%;font-size:11px;font-weight:800;display:none;align-items:center;justify-content:center;}\n.kbadge.on{display:flex;}\n.nav-cta{background:var(--grad);color:#fff;border:none;padding:9px 22px;border-radius:8px;font-weight:700;font-size:13px;cursor:pointer;text-decoration:none;}\n.nav-cta:hover{opacity:.88;}\n\n@media(max-width:900px){nav{padding:0 20px;}.nav-links{display:none;}}\n\n\/* \u2500\u2500 PAGES \u2500\u2500 *\/\n.page{display:none;padding-top:64px;min-height:100vh;}\n.page.on{display:block;}\n\n\/* \u2500\u2500 HERO \u2500\u2500 *\/\n.hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 64px);}\n.hero-l{display:flex;flex-direction:column;justify-content:center;padding:80px 60px 80px 80px;}\n.hero-chip{display:inline-flex;align-items:center;gap:8px;background:var(--soft);border:1px solid rgba(224,92,0,.2);padding:7px 18px;border-radius:100px;font-size:11px;font-weight:700;color:var(--o);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:28px;animation:up .5s ease both;}\n.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(44px,5.5vw,72px);font-weight:700;line-height:1.0;letter-spacing:-2px;animation:up .6s .1s ease both;}\n.hero h1 em{font-style:italic;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}\n.hero-sub{color:var(--muted);font-size:17px;max-width:460px;margin-top:20px;line-height:1.7;animation:up .6s .2s ease both;}\n.hero-btns{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap;animation:up .6s .3s ease both;}\n.btn-p{background:var(--grad);color:#fff;border:none;padding:14px 32px;border-radius:10px;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .2s;}\n.btn-p:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 8px 24px rgba(224,92,0,.3);}\n.btn-g{background:transparent;color:var(--text);border:2px solid var(--border2);padding:12px 26px;border-radius:10px;font-weight:600;font-size:15px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .2s;}\n.btn-g:hover{border-color:var(--o);color:var(--o);}\n.hero-stats{display:flex;gap:36px;margin-top:52px;flex-wrap:wrap;animation:up .6s .4s ease both;}\n.hs-n{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:700;color:var(--o);line-height:1;}\n.hs-l{color:var(--muted);font-size:11px;font-weight:600;margin-top:3px;letter-spacing:.3px;}\n.hero-r{background:var(--s2);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:4px;padding:36px;}\n.himg{border-radius:14px;overflow:hidden;box-shadow:var(--sh2);}\n.himg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}\n.himg:hover img{transform:scale(1.04);}\n.himg.tall{grid-row:span 2;}\n@media(max-width:960px){.hero{grid-template-columns:1fr;}.hero-r{display:none;}.hero-l{padding:60px 24px;}}\n\n\/* \u2500\u2500 COMMON SECTION \u2500\u2500 *\/\nsection{padding:80px 80px;}\n.si{max-width:1200px;margin:0 auto;}\n.stag{font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;margin-bottom:8px;}\n.stit{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,4vw,50px);font-weight:700;letter-spacing:-1.2px;line-height:1.0;margin-bottom:12px;}\n.ssub{color:var(--muted);font-size:16px;max-width:520px;line-height:1.65;}\n.hdiv{height:1px;background:var(--border);}\n@media(max-width:768px){section{padding:56px 20px;}}\n\n\/* \u2500\u2500 ENGINE \u2500\u2500 *\/\n#engSec{background:var(--s1);}\n.eng-card{background:#fff;border:1px solid var(--border);border-radius:var(--r2);padding:44px;box-shadow:var(--sh);margin-top:44px;}\n.eg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;}\n@media(max-width:860px){.eg{grid-template-columns:1fr 1fr;}}\n@media(max-width:560px){.eg{grid-template-columns:1fr;}}\n.fg{display:flex;flex-direction:column;gap:7px;}\n.fg label{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.8px;text-transform:uppercase;}\n.fc{background:var(--s1);border:1.5px solid var(--border);border-radius:9px;padding:12px 15px;color:var(--text);font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;outline:none;transition:border .2s;appearance:none;width:100%;}\n.fc:focus{border-color:var(--o);}\nselect.fc{background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='10' height='6'%3E%3Cpath fill='%23A89F94' d='M5 6L0 0h10z'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:right 13px center;}\n.fg.full{grid-column:1\/-1;}\n.esub{grid-column:1\/-1;background:var(--grad);color:#fff;border:none;padding:16px;border-radius:12px;font-weight:700;font-size:16px;cursor:pointer;margin-top:6px;transition:all .2s;}\n.esub:hover{opacity:.9;box-shadow:0 8px 28px rgba(224,92,0,.22);}\n.esub:disabled{opacity:.4;cursor:not-allowed;}\n.eld{display:none;grid-column:1\/-1;flex-direction:column;align-items:center;gap:16px;padding:48px;}\n.eld.on{display:flex;}\n.espin{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--o);border-radius:50%;animation:spin .75s linear infinite;}\n.etxt{color:var(--muted);font-size:14px;font-weight:500;}\n.ebar{width:260px;height:4px;background:var(--s2);border-radius:2px;overflow:hidden;}\n.efill{height:100%;background:var(--grad);border-radius:2px;width:0;transition:width .4s ease;}\n\n\/* \u2500\u2500 AI PRODUCT SEARCH \u2500\u2500 *\/\n#aiSec{background:#fff;}\n.ai-search-wrap{background:var(--s1);border:1.5px solid var(--border);border-radius:var(--r2);padding:28px;margin-top:36px;}\n.ai-row{display:flex;gap:12px;align-items:flex-end;}\n.ai-inp{flex:1;background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:14px 18px;font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;outline:none;transition:border .2s;color:var(--text);}\n.ai-inp:focus{border-color:var(--o);}\n.ai-btn{background:var(--grad);color:#fff;border:none;padding:14px 28px;border-radius:10px;font-weight:700;font-size:15px;cursor:pointer;white-space:nowrap;transition:all .2s;}\n.ai-btn:hover{opacity:.9;}\n.ai-btn:disabled{opacity:.4;cursor:not-allowed;}\n.ai-examples{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}\n.ai-ex{background:#fff;border:1px solid var(--border);color:var(--muted);font-size:12px;font-weight:600;padding:5px 14px;border-radius:100px;cursor:pointer;transition:all .2s;}\n.ai-ex:hover{border-color:var(--o);color:var(--o);}\n.ai-results{margin-top:28px;}\n.ai-gen-status{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;font-weight:500;margin-bottom:20px;}\n.ai-dot{width:8px;height:8px;background:var(--o);border-radius:50%;animation:pulse 1s infinite;}\n@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}\n.ai-stream{background:var(--s1);border:1px solid var(--border);border-radius:12px;padding:20px;font-size:13px;color:var(--muted);min-height:60px;max-height:200px;overflow-y:auto;font-family:monospace;line-height:1.8;display:none;}\n.ai-stream.on{display:block;}\n.ai-pg{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin-top:20px;}\n\n\/* \u2500\u2500 RESULTS \u2500\u2500 *\/\n#resSec{display:none;background:#fff;}\n#resSec.on{display:block;}\n.res-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:40px;}\n.back-btn{background:var(--s1);border:1px solid var(--border);color:var(--muted);padding:10px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;}\n.back-btn:hover{border-color:var(--o);color:var(--o);}\n.rkit{background:#fff;border:1.5px solid var(--border);border-radius:var(--r2);overflow:hidden;margin-bottom:40px;box-shadow:var(--sh);}\n.rk-top{background:var(--grad);padding:28px 34px;color:#fff;}\n.rk-name{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;letter-spacing:-.5px;}\n.rk-tag{font-size:13px;opacity:.75;margin-top:2px;}\n.rk-rat{font-size:14px;opacity:.85;line-height:1.65;margin-top:10px;max-width:700px;}\n.rk-body{padding:28px 34px;}\n.rk-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:28px;}\n.rk-foot{background:var(--s1);border-radius:12px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;border:1px solid var(--border);}\n.rk-total{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:700;color:var(--o);line-height:1;}\n.rk-break{font-size:12px;color:var(--muted);margin-top:3px;}\n\n\/* \u2500\u2500 PRODUCT CARD \u2500\u2500 *\/\n.pc{background:#fff;border:1.5px solid var(--border);border-radius:var(--r);overflow:hidden;transition:all .22s;position:relative;cursor:pointer;display:flex;flex-direction:column;}\n.pc:hover{transform:translateY(-4px);box-shadow:var(--sh2);border-color:rgba(224,92,0,.3);}\n.pc.sel{border-color:var(--o);box-shadow:0 0 0 3px rgba(224,92,0,.14);}\n.pc-chk{position:absolute;top:10px;right:10px;width:26px;height:26px;background:var(--grad);border-radius:50%;display:none;align-items:center;justify-content:center;color:#fff;font-size:13px;z-index:2;box-shadow:0 2px 8px rgba(224,92,0,.35);}\n.pc.sel .pc-chk{display:flex;}\n.pc-role{position:absolute;top:10px;left:10px;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:3px 10px;border-radius:100px;z-index:2;}\n.r-hero{background:var(--o);color:#fff;}\n.r-util{background:var(--green);color:#fff;}\n.r-brand{background:var(--p);color:#fff;}\n.pc-img-wrap{width:100%;height:168px;overflow:hidden;background:var(--s2);flex-shrink:0;position:relative;}\n.pc-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s;}\n.pc:hover .pc-img{transform:scale(1.04);}\n.pc-img-fb{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--s2),var(--s3));}\n.pc-img-fb span{font-size:48px;}\n.pc-body{padding:14px 16px;flex:1;display:flex;flex-direction:column;}\n.pc-name{font-weight:700;font-size:14px;line-height:1.3;margin-bottom:2px;}\n.pc-cat{color:var(--muted2);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;margin-bottom:9px;}\n.pc-price{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:22px;color:var(--o);line-height:1;}\n.pc-moq{color:var(--muted);font-size:11px;margin-top:1px;}\n.pc-sep{height:1px;background:var(--border);margin:9px 0;}\n.pc-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px;}\n.pc-brand{color:var(--muted2);font-size:11px;}\n.cb{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;padding:3px 8px;border-radius:100px;}\n.cb-l{background:rgba(22,122,70,.1);color:var(--green);}\n.cb-m{background:rgba(192,120,0,.1);color:var(--amber);}\n.cb-h{background:rgba(176,48,48,.1);color:var(--red);}\n.pc-cn{font-size:11px;color:var(--muted2);margin-top:6px;line-height:1.5;}\n\n\/* \u2500\u2500 CATALOG \u2500\u2500 *\/\n#catSec{background:var(--s1);}\n.cat-layout{display:grid;grid-template-columns:220px 1fr;gap:32px;margin-top:36px;}\n@media(max-width:860px){.cat-layout{grid-template-columns:1fr;}}\n.fpanel{position:sticky;top:82px;align-self:start;}\n.fpg{margin-bottom:22px;}\n.fp-title{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}\n.fp-list{display:flex;flex-direction:column;gap:2px;}\n.fb{background:transparent;border:none;color:var(--muted);padding:8px 12px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;text-align:left;width:100%;transition:all .2s;}\n.fb.on{background:var(--soft);color:var(--o);font-weight:700;}\n.fb:hover:not(.on){background:var(--s2);color:var(--text);}\n.cat-bar{background:var(--soft);border:1.5px solid rgba(224,92,0,.2);border-radius:var(--r2);padding:18px 22px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}\n.cbl{display:flex;align-items:center;gap:12px;}\n.cb-icon{width:42px;height:42px;background:var(--grad);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;flex-shrink:0;}\n.cb-count{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:700;color:var(--o);}\n.pg{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;}\n\n\/* \u2500\u2500 AI LOAD MORE \u2500\u2500 *\/\n.load-more-area{grid-column:1\/-1;text-align:center;padding:24px;}\n.lm-btn{background:var(--grad);color:#fff;border:none;padding:14px 36px;border-radius:10px;font-weight:700;font-size:15px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:10px;}\n.lm-btn:hover{opacity:.9;}\n.lm-btn:disabled{opacity:.4;cursor:not-allowed;}\n.lm-note{font-size:13px;color:var(--muted);margin-top:8px;}\n\n\/* \u2500\u2500 DRAWER \u2500\u2500 *\/\n.drawer{position:fixed;right:-480px;top:64px;bottom:0;width:460px;background:#fff;border-left:1px solid var(--border);z-index:250;transition:right .35s cubic-bezier(.4,0,.2,1);overflow-y:auto;box-shadow:-6px 0 28px rgba(0,0,0,.07);}\n.drawer.open{right:0;}\n.dh{padding:20px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;z-index:2;}\n.dh-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;}\n.dh-x{width:34px;height:34px;border:none;background:var(--s1);border-radius:8px;cursor:pointer;font-size:16px;color:var(--muted);display:flex;align-items:center;justify-content:center;}\n.dh-x:hover{background:var(--s2);}\n.db{padding:18px 20px;}\n.d-empty{text-align:center;padding:48px 20px;color:var(--muted);}\n.d-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--s1);border-radius:10px;margin-bottom:8px;border:1px solid var(--border);}\n.d-img{width:50px;height:50px;object-fit:cover;border-radius:8px;background:var(--s2);flex-shrink:0;}\n.d-info{flex:1;min-width:0;}\n.d-name{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}\n.d-price{color:var(--o);font-weight:700;font-size:13px;margin-top:2px;}\n.d-rm{width:28px;height:28px;border:none;background:var(--border);border-radius:6px;cursor:pointer;color:var(--muted);font-size:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s;}\n.d-rm:hover{background:rgba(176,48,48,.1);color:var(--red);}\n.d-sum{background:var(--s1);border-radius:12px;padding:16px;border:1px solid var(--border);margin-top:12px;}\n.d-row{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:6px;}\n.d-total{display:flex;justify-content:space-between;font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;border-top:1px solid var(--border);padding-top:10px;margin-top:4px;}\n.d-qbtn{width:100%;background:var(--grad);color:#fff;border:none;padding:14px;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;margin-top:14px;transition:all .2s;}\n.d-qbtn:hover{opacity:.9;}\n.d-qbtn:disabled{opacity:.4;cursor:not-allowed;}\n\n\/* \u2500\u2500 CURATED \u2500\u2500 *\/\n#curPage{background:var(--s1);}\n.cur-hero{background:var(--grad);padding:76px 80px 60px;color:#fff;position:relative;overflow:hidden;}\n.cur-hero::after{content:'';position:absolute;right:-80px;top:-80px;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,.05);pointer-events:none;}\n.cur-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,5vw,62px);font-weight:700;letter-spacing:-1.5px;margin-bottom:12px;position:relative;}\n.cur-hero p{font-size:17px;opacity:.82;max-width:520px;line-height:1.65;position:relative;}\n.tnav{display:flex;gap:8px;flex-wrap:wrap;padding:22px 80px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:64px;z-index:100;}\n.tnav-btn{background:var(--s1);border:1.5px solid var(--border);color:var(--muted);padding:8px 16px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap;}\n.tnav-btn.on,.tnav-btn:hover{background:var(--grad);color:#fff;border-color:transparent;}\n.cur-body{padding:48px 80px;max-width:1400px;margin:0 auto;}\n@media(max-width:768px){.cur-hero{padding:56px 24px 44px;}.tnav{padding:16px 20px;}.cur-body{padding:32px 20px;}}\n.tsec{margin-bottom:60px;scroll-margin-top:130px;}\n.thdr{display:flex;align-items:center;gap:16px;margin-bottom:26px;}\n.tpill{border:2px solid var(--o);color:var(--o);font-size:13px;font-weight:700;padding:7px 18px;border-radius:100px;white-space:nowrap;}\n.tline{flex:1;height:1.5px;background:var(--border);}\n.tsub-label{font-size:12px;color:var(--muted);font-style:italic;white-space:nowrap;}\n.ck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:20px;}\n.ck{background:#fff;border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh);border:1.5px solid var(--border);transition:all .25s;display:flex;flex-direction:column;}\n.ck:hover{transform:translateY(-4px);box-shadow:var(--sh2);border-color:rgba(224,92,0,.25);}\n.ck-imgs{height:190px;display:grid;grid-template-columns:1fr 1fr;gap:3px;overflow:hidden;flex-shrink:0;}\n.ck-img{overflow:hidden;}\n.ck-img.full{grid-column:1\/-1;}\n.ck-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s;}\n.ck:hover .ck-img img{transform:scale(1.04);}\n.ck-body{padding:20px 22px;flex:1;display:flex;flex-direction:column;}\n.ck-pill{display:inline-flex;align-items:center;gap:6px;background:var(--soft);color:var(--o);font-size:11px;font-weight:700;padding:4px 12px;border-radius:100px;margin-bottom:10px;letter-spacing:.4px;}\n.ck-name{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:700;letter-spacing:-.3px;margin-bottom:6px;}\n.ck-desc{color:var(--muted);font-size:13px;line-height:1.65;margin-bottom:12px;flex:1;}\n.ck-items{margin-bottom:12px;}\n.ck-item{font-size:13px;color:var(--text2);padding:3px 0;display:flex;align-items:flex-start;gap:7px;}\n.ck-item::before{content:'';width:5px;height:5px;min-width:5px;background:var(--grad-r);border-radius:50%;margin-top:7px;}\n.ck-carbon{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px;}\n.ck-foot{padding:14px 22px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;background:var(--s1);}\n.ck-price{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:700;color:var(--o);}\n.ck-cta{background:var(--grad);color:#fff;border:none;padding:10px 22px;border-radius:8px;font-weight:700;font-size:13px;cursor:pointer;transition:all .2s;}\n.ck-cta:hover{opacity:.9;}\n\n\/* \u2500\u2500 MODAL \u2500\u2500 *\/\n.mbg{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:400;display:none;align-items:center;justify-content:center;padding:24px;}\n.mbg.on{display:flex;}\n.modal{background:#fff;border-radius:var(--r2);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,.14);}\n.mhdr{padding:26px 30px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;}\n.mhdr-title{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:700;line-height:1.1;}\n.mhdr-sub{font-size:13px;color:var(--muted);margin-top:4px;}\n.mhdr-x{width:34px;height:34px;border:none;background:var(--s1);border-radius:8px;cursor:pointer;font-size:16px;color:var(--muted);flex-shrink:0;}\n.mbody{padding:26px 30px;}\n.mprev{background:var(--s1);border-radius:12px;padding:16px;margin-bottom:20px;border:1px solid var(--border);}\n.mprev-title{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.8px;text-transform:uppercase;margin-bottom:10px;}\n.mprev-item{font-size:13px;color:var(--text2);padding:3px 0;display:flex;align-items:center;gap:8px;}\n.mprev-item::before{content:'';width:5px;height:5px;background:var(--o);border-radius:50%;flex-shrink:0;}\n.mprev-total{display:flex;justify-content:space-between;font-weight:700;font-size:15px;border-top:1px solid var(--border);margin-top:10px;padding-top:10px;}\n.mrow{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}\n.mrow.full{grid-template-columns:1fr;}\n.mfg{display:flex;flex-direction:column;gap:6px;}\n.mfg label{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.7px;text-transform:uppercase;}\n.msub{width:100%;background:var(--grad);color:#fff;border:none;padding:15px;border-radius:12px;font-weight:700;font-size:16px;cursor:pointer;margin-top:6px;transition:all .2s;}\n.msub:hover{opacity:.9;}\n.msucc{text-align:center;padding:44px 28px;}\n.msucc-icon{font-size:56px;margin-bottom:14px;}\n.msucc h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;margin-bottom:8px;}\n.msucc p{color:var(--muted);font-size:15px;line-height:1.65;}\n\n\/* \u2500\u2500 HOW \u2500\u2500 *\/\n#howSec{background:#fff;}\n.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px;}\n@media(max-width:860px){.steps{grid-template-columns:1fr 1fr;}}\n@media(max-width:560px){.steps{grid-template-columns:1fr;}}\n.step{padding:28px;background:var(--s1);border-radius:var(--r2);border:1.5px solid var(--border);position:relative;overflow:hidden;}\n.step::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);}\n.step-n{font-family:'Cormorant Garamond',serif;font-size:48px;font-weight:700;color:rgba(224,92,0,.1);line-height:1;margin-bottom:14px;}\n.step-t{font-weight:700;font-size:16px;margin-bottom:7px;}\n.step-d{color:var(--muted);font-size:14px;line-height:1.65;}\n\n\/* \u2500\u2500 FOOTER \u2500\u2500 *\/\nfooter{background:var(--text);color:#fff;padding:48px 80px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;}\n.f-logo{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:6px;}\n.f-copy{color:rgba(255,255,255,.45);font-size:13px;line-height:1.6;}\n.f-call{display:flex;align-items:center;gap:10px;background:var(--grad);padding:12px 26px;border-radius:10px;color:#fff;font-weight:700;font-size:14px;text-decoration:none;}\n.f-call:hover{opacity:.9;}\n@media(max-width:768px){footer{padding:36px 20px;}}\n\n@keyframes up{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}\n@keyframes spin{to{transform:rotate(360deg);}}\n::-webkit-scrollbar{width:5px;}::-webkit-scrollbar-track{background:var(--s1);}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}\n<\/style>\n<\/head>\n<body>\n\n<!-- NAV -->\n<nav>\n  <div class=\"logo\" onclick=\"goPage('home')\">SwagLogic AI<\/div>\n  <div class=\"nav-links\">\n    <span class=\"nl on\" id=\"nl-home\" onclick=\"goPage('home')\">Home<\/span>\n    <span class=\"nl\" id=\"nl-cat\" onclick=\"goPage('cat')\">Catalog<\/span>\n    <span class=\"nl\" id=\"nl-search\" onclick=\"goPage('search')\">AI Search<\/span>\n    <span class=\"nl\" id=\"nl-cur\" onclick=\"goPage('cur')\">Ready Kits<\/span>\n  <\/div>\n  <div class=\"nav-r\">\n    <button class=\"nav-kit\" onclick=\"toggleDrawer()\">\ud83d\uded2 My Kit<span class=\"kbadge\" id=\"kbadge\">0<\/span><\/button>\n    <a class=\"nav-cta\" href=\"tel:9820660460\">\ud83d\udcde 9820660460<\/a>\n  <\/div>\n<\/nav>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550 HOME \u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"page on\" id=\"page-home\">\n  <div class=\"hero\">\n    <div class=\"hero-l\">\n      <div class=\"hero-chip\">\u2726 AI-Powered \u00b7 100,000+ Products<\/div>\n      <h1>Find the <em>Perfect Swag<\/em><br>for Your Brand<\/h1>\n      <p class=\"hero-sub\">AI engine for finding the best Swag for your Brand \u2014 expert-curated kits, real India pricing, 100,000+ products on demand.<\/p>\n      <div class=\"hero-btns\">\n        <button class=\"btn-p\" onclick=\"document.getElementById('engSec').scrollIntoView({behavior:'smooth'})\">\ud83d\udd0d Discover Kits<\/button>\n        <button class=\"btn-g\" onclick=\"goPage('search')\">\ud83e\udd16 AI Product Search<\/button>\n      <\/div>\n      <div class=\"hero-stats\">\n        <div><div class=\"hs-n\">100K+<\/div><div class=\"hs-l\">AI Products<\/div><\/div>\n        <div><div class=\"hs-n\">24<\/div><div class=\"hs-l\">Curated Kits<\/div><\/div>\n        <div><div class=\"hs-n\">6 Tiers<\/div><div class=\"hs-l\">\u20b9100\u2013\u20b920K<\/div><\/div>\n        <div><div class=\"hs-n\">PAN India<\/div><div class=\"hs-l\">Delivery<\/div><\/div>\n      <\/div>\n    <\/div>\n    <div class=\"hero-r\">\n      <div class=\"himg tall\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1607082348824-0a96f2a4b9da?w=700&#038;q=85\" alt=\"Gift hamper\"\/><\/div>\n      <div class=\"himg\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1553062407-98eeb64c6a62?w=500&#038;q=85\" alt=\"Backpack\"\/><\/div>\n      <div class=\"himg\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1602143407151-7111542de6e8?w=500&#038;q=85\" alt=\"Bottle\"\/><\/div>\n    <\/div>\n  <\/div>\n  <div class=\"hdiv\"><\/div>\n  <section id=\"engSec\">\n    <div class=\"si\">\n      <div class=\"stag\">AI Discovery Engine<\/div>\n      <div class=\"stit\">Tell Us Your Gifting Brief<\/div>\n      <div class=\"ssub\">Describe your audience, budget, and occasion. Our AI builds intelligent kits from 100,000+ products instantly.<\/div>\n      <div class=\"eng-card\">\n        <div class=\"eg\" id=\"briefForm\">\n          <div class=\"fg\"><label>Budget per Recipient (\u20b9)<\/label><input type=\"number\" class=\"fc\" id=\"eBudget\" placeholder=\"e.g. 1500\" min=\"100\"\/><\/div>\n          <div class=\"fg\"><label>Quantity<\/label><input type=\"number\" class=\"fc\" id=\"eQty\" placeholder=\"e.g. 100\" min=\"1\"\/><\/div>\n          <div class=\"fg\"><label>Target Audience<\/label>\n            <select class=\"fc\" id=\"eAud\">\n              <option value=\"\">Select audience<\/option>\n              <option value=\"developers\">Developers \/ Tech Team<\/option>\n              <option value=\"cxo\">CXO \/ Leadership<\/option>\n              <option value=\"sales\">Sales &#038; Field Team<\/option>\n              <option value=\"employees\">All Employees<\/option>\n              <option value=\"clients\">Clients &#038; Partners<\/option>\n              <option value=\"students\">Students \/ Campus<\/option>\n              <option value=\"events\">Event Attendees<\/option>\n              <option value=\"women\">Women-focused<\/option>\n            <\/select>\n          <\/div>\n          <div class=\"fg\"><label>Industry<\/label>\n            <select class=\"fc\" id=\"eInd\">\n              <option value=\"\">Select industry<\/option>\n              <option value=\"tech\">Technology \/ SaaS<\/option>\n              <option value=\"finance\">BFSI \/ Finance<\/option>\n              <option value=\"pharma\">Pharma \/ Healthcare<\/option>\n              <option value=\"retail\">Retail \/ FMCG<\/option>\n              <option value=\"esg\">ESG \/ Sustainability<\/option>\n              <option value=\"manufacturing\">Manufacturing<\/option>\n              <option value=\"education\">Education<\/option>\n            <\/select>\n          <\/div>\n          <div class=\"fg\"><label>Occasion<\/label>\n            <select class=\"fc\" id=\"eOcc\">\n              <option value=\"\">Select occasion<\/option>\n              <option value=\"onboarding\">Employee Onboarding<\/option>\n              <option value=\"diwali\">Diwali \/ Festive<\/option>\n              <option value=\"conference\">Conference \/ Event<\/option>\n              <option value=\"appreciation\">Client Appreciation<\/option>\n              <option value=\"wellness\">Wellness Program<\/option>\n              <option value=\"travel\">Travel Incentive<\/option>\n            <\/select>\n          <\/div>\n          <div class=\"fg\"><label>Sustainability<\/label>\n            <select class=\"fc\" id=\"eEco\">\n              <option value=\"any\">No preference<\/option>\n              <option value=\"eco\">Eco-Friendly Priority \ud83c\udf31<\/option>\n              <option value=\"premium\">Premium \/ Tech-Heavy<\/option>\n            <\/select>\n          <\/div>\n          <div class=\"fg full\"><label>Notes<\/label><input type=\"text\" class=\"fc\" id=\"eNotes\" placeholder=\"e.g. dark theme preferred, avoid plastics, premium packaging...\"\/><\/div>\n          <div class=\"eld\" id=\"eld\">\n            <div class=\"espin\"><\/div>\n            <div class=\"etxt\" id=\"etxt\">Analysing your brief with expert AI&#8230;<\/div>\n            <div class=\"ebar\"><div class=\"efill\" id=\"efill\"><\/div><\/div>\n          <\/div>\n          <button class=\"esub\" id=\"esubBtn\" onclick=\"runDiscovery()\">\u2726 Discover Expert Kits &#038; Products<\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n  <section id=\"resSec\">\n    <div class=\"si\">\n      <div class=\"res-hdr\">\n        <div>\n          <div class=\"stag\">AI Recommendations<\/div>\n          <div class=\"stit\" id=\"resTitle\" style=\"margin-bottom:0;font-size:36px;\"><\/div>\n          <div style=\"color:var(--muted);font-size:13px;margin-top:6px;\" id=\"resMeta\"><\/div>\n        <\/div>\n        <button class=\"back-btn\" onclick=\"closeRes()\">\u2190 New Search<\/button>\n      <\/div>\n      <div id=\"kitsOut\"><\/div>\n      <div id=\"prodsOut\"><\/div>\n    <\/div>\n  <\/section>\n  <div class=\"hdiv\"><\/div>\n  <section id=\"howSec\">\n    <div class=\"si\">\n      <div class=\"stag\">Process<\/div>\n      <div class=\"stit\">How SwagLogic AI Works<\/div>\n      <div class=\"steps\">\n        <div class=\"step\"><div class=\"step-n\">01<\/div><div class=\"step-t\">Deep Brief Intake<\/div><div class=\"step-d\">Share audience, budget, occasion. Our AI reads context and psychology, not just keywords.<\/div><\/div>\n        <div class=\"step\"><div class=\"step-n\">02<\/div><div class=\"step-t\">100K Product Search<\/div><div class=\"step-d\">AI scans 100,000+ products across every category, scored on utility, perceived value, innovation, and visibility.<\/div><\/div>\n        <div class=\"step\"><div class=\"step-n\">03<\/div><div class=\"step-t\">Expert Kit Building<\/div><div class=\"step-d\">Every kit gets a Hero, Utility, and Brand item \u2014 expertly balanced for maximum perceived value per rupee.<\/div><\/div>\n        <div class=\"step\"><div class=\"step-n\">04<\/div><div class=\"step-t\">One Call to Close<\/div><div class=\"step-d\">Transparent pricing including branding + GST. One call to SwagLogic \u2014 PAN India delivery guaranteed.<\/div><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550 CATALOG PAGE \u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"page\" id=\"page-cat\">\n  <section id=\"catSec\" style=\"padding-top:36px;\">\n    <div class=\"si\">\n      <div class=\"stag\">Product Catalog<\/div>\n      <div class=\"stit\">Browse Products<\/div>\n      <div class=\"ssub\">AI-powered catalog. Use the filters or let AI generate products for any search. Click to add to your custom kit.<\/div>\n      <div class=\"cat-bar\" style=\"margin-top:28px;\">\n        <div class=\"cbl\">\n          <div class=\"cb-icon\">\ud83d\uded2<\/div>\n          <div>\n            <div style=\"font-weight:700;font-size:15px;\">Build Your Custom Kit<\/div>\n            <div style=\"font-size:13px;color:var(--muted);\">Click products to add \u00b7 then Request a Quote<\/div>\n          <\/div>\n        <\/div>\n        <div style=\"display:flex;align-items:center;gap:18px;\">\n          <div style=\"text-align:right;\">\n            <div class=\"cb-count\" id=\"catKitCount\">0<\/div>\n            <div style=\"font-size:11px;color:var(--muted);font-weight:600;\">selected<\/div>\n          <\/div>\n          <button class=\"btn-p\" onclick=\"toggleDrawer()\" style=\"font-size:14px;padding:11px 22px;\">View My Kit \u2192<\/button>\n        <\/div>\n      <\/div>\n      <div class=\"cat-layout\">\n        <div class=\"fpanel\">\n          <div class=\"fpg\">\n            <div class=\"fp-title\">Category<\/div>\n            <div class=\"fp-list\" id=\"catFbList\">\n              <button class=\"fb on\" onclick=\"fCat('all',this)\">All Products<\/button>\n              <button class=\"fb\" onclick=\"fCat('pens',this)\">Pens &#038; Writing<\/button>\n              <button class=\"fb\" onclick=\"fCat('notebooks',this)\">Notebooks &#038; Diaries<\/button>\n              <button class=\"fb\" onclick=\"fCat('bottles',this)\">Bottles &#038; Drinkware<\/button>\n              <button class=\"fb\" onclick=\"fCat('bags',this)\">Bags &#038; Backpacks<\/button>\n              <button class=\"fb\" onclick=\"fCat('tshirts',this)\">T-Shirts &#038; Apparel<\/button>\n              <button class=\"fb\" onclick=\"fCat('caps',this)\">Caps &#038; Headwear<\/button>\n              <button class=\"fb\" onclick=\"fCat('tech',this)\">Tech &#038; Electronics<\/button>\n              <button class=\"fb\" onclick=\"fCat('speakers',this)\">Speakers &#038; Audio<\/button>\n              <button class=\"fb\" onclick=\"fCat('powerbanks',this)\">Power Banks<\/button>\n              <button class=\"fb\" onclick=\"fCat('keychains',this)\">Keychains<\/button>\n              <button class=\"fb\" onclick=\"fCat('mugs',this)\">Mugs &#038; Cups<\/button>\n              <button class=\"fb\" onclick=\"fCat('desk',this)\">Desk Accessories<\/button>\n              <button class=\"fb\" onclick=\"fCat('wellness',this)\">Wellness &#038; Fitness<\/button>\n              <button class=\"fb\" onclick=\"fCat('travel',this)\">Travel Accessories<\/button>\n              <button class=\"fb\" onclick=\"fCat('eco',this)\">Eco-Friendly \ud83c\udf31<\/button>\n              <button class=\"fb\" onclick=\"fCat('food',this)\">Food &#038; Gourmet<\/button>\n              <button class=\"fb\" onclick=\"fCat('luxury',this)\">Luxury &#038; Premium<\/button>\n              <button class=\"fb\" onclick=\"fCat('shawls',this)\">Shawls &#038; Wraps<\/button>\n              <button class=\"fb\" onclick=\"fCat('diwali',this)\">Diwali Specials \ud83e\ude94<\/button>\n              <button class=\"fb\" onclick=\"fCat('home',this)\">Home &#038; Lifestyle<\/button>\n              <button class=\"fb\" onclick=\"fCat('kids',this)\">Kids &#038; Family<\/button>\n              <button class=\"fb\" onclick=\"fCat('innovative',this)\">Innovative \ud83d\ude80<\/button>\n              <button class=\"fb\" onclick=\"fCat('event',this)\">Event &#038; Outdoor<\/button>\n              <button class=\"fb\" onclick=\"fCat('keychains',this)\">Keychains<\/button>\n            <\/div>\n          <\/div>\n          <div class=\"fpg\">\n            <div class=\"fp-title\">Budget Range<\/div>\n            <div class=\"fp-list\">\n              <button class=\"fb\" onclick=\"fBudget(0,300,this)\">Under \u20b9300<\/button>\n              <button class=\"fb\" onclick=\"fBudget(300,700,this)\">\u20b9300 \u2013 \u20b9700<\/button>\n              <button class=\"fb\" onclick=\"fBudget(700,1500,this)\">\u20b9700 \u2013 \u20b91,500<\/button>\n              <button class=\"fb\" onclick=\"fBudget(1500,5000,this)\">\u20b91,500 \u2013 \u20b95,000<\/button>\n              <button class=\"fb\" onclick=\"fBudget(5000,99999,this)\">\u20b95,000+<\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div>\n          <div class=\"pg\" id=\"catGrid\"><\/div>\n          <div class=\"load-more-area\" id=\"loadMoreArea\">\n            <button class=\"lm-btn\" id=\"lmBtn\" onclick=\"loadMoreProducts()\">\n              <span id=\"lmBtnTxt\">\u2726 Generate More Products with AI<\/span>\n            <\/button>\n            <div class=\"lm-note\" id=\"lmNote\">Powered by Anthropic AI \u2014 generates real, accurate India merchandise data<\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550 AI SEARCH PAGE \u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"page\" id=\"page-search\">\n  <section id=\"aiSec\" style=\"padding-top:36px;\">\n    <div class=\"si\">\n      <div class=\"stag\">AI Product Search<\/div>\n      <div class=\"stit\">Search Any Product Instantly<\/div>\n      <div class=\"ssub\">Type anything \u2014 &#8220;eco bamboo bottles for 500 people&#8221;, &#8220;diwali gift under \u20b9500&#8221;, &#8220;tech gifts for developers&#8221; \u2014 our AI finds and generates exactly what you need from 100,000+ products.<\/div>\n      <div class=\"ai-search-wrap\">\n        <div class=\"ai-row\">\n          <input class=\"ai-inp\" id=\"aiQuery\" placeholder=\"e.g. premium steel bottles with laser engraving, MOQ 100...\" onkeydown=\"if(event.key==='Enter')aiSearch()\"\/>\n          <button class=\"ai-btn\" id=\"aiBtn\" onclick=\"aiSearch()\">\ud83d\udd0d Search<\/button>\n        <\/div>\n        <div class=\"ai-examples\">\n          <span class=\"ai-ex\" onclick=\"setQuery('eco friendly corporate gifts under \u20b9500')\">Eco gifts under \u20b9500<\/span>\n          <span class=\"ai-ex\" onclick=\"setQuery('tech gadgets for developers India corporate')\">Tech for developers<\/span>\n          <span class=\"ai-ex\" onclick=\"setQuery('Diwali hamper gift premium India')\">Diwali hampers<\/span>\n          <span class=\"ai-ex\" onclick=\"setQuery('custom printed t-shirts bulk India corporate')\">Bulk T-shirts<\/span>\n          <span class=\"ai-ex\" onclick=\"setQuery('luxury executive gifts CXO India premium')\">CXO luxury gifts<\/span>\n          <span class=\"ai-ex\" onclick=\"setQuery('branded water bottles stainless steel MOQ 50')\">Steel bottles<\/span>\n          <span class=\"ai-ex\" onclick=\"setQuery('corporate cap embroidered 6 panel India')\">Embroidered caps<\/span>\n          <span class=\"ai-ex\" onclick=\"setQuery('pashmina shawl branded corporate India')\">Pashmina shawls<\/span>\n        <\/div>\n        <div id=\"aiStatus\" style=\"display:none;\" class=\"ai-gen-status\">\n          <div class=\"ai-dot\"><\/div>\n          <span id=\"aiStatusTxt\">Generating products&#8230;<\/span>\n        <\/div>\n        <div class=\"ai-stream\" id=\"aiStream\"><\/div>\n        <div class=\"ai-pg\" id=\"aiResults\"><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550 CURATED KITS PAGE \u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"page\" id=\"page-cur\">\n  <div class=\"cur-hero\">\n    <div style=\"max-width:1200px;margin:0 auto;\">\n      <div style=\"font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;opacity:.65;margin-bottom:14px;\">Ready Curated Kits<\/div>\n      <h1>24 Expert-Built Kits<br>for Every Budget<\/h1>\n      <p>Six price tiers from \u20b9100 to \u20b920,000. Built by 50 years of merchandise expertise. Click any kit to request a quote.<\/p>\n    <\/div>\n  <\/div>\n  <div class=\"tnav\" id=\"tierNav\">\n    <button class=\"tnav-btn on\" onclick=\"jumpTier('t1',this)\">\u20b9100\u2013\u20b9300<\/button>\n    <button class=\"tnav-btn\" onclick=\"jumpTier('t2',this)\">\u20b9300\u2013\u20b9700<\/button>\n    <button class=\"tnav-btn\" onclick=\"jumpTier('t3',this)\">\u20b9700\u2013\u20b91,500<\/button>\n    <button class=\"tnav-btn\" onclick=\"jumpTier('t4',this)\">\u20b91,500\u2013\u20b93,000<\/button>\n    <button class=\"tnav-btn\" onclick=\"jumpTier('t5',this)\">\u20b93,000\u2013\u20b97,000<\/button>\n    <button class=\"tnav-btn\" onclick=\"jumpTier('t6',this)\">\u20b97,000\u2013\u20b920,000<\/button>\n  <\/div>\n  <div class=\"cur-body\" id=\"curBody\"><\/div>\n<\/div>\n\n<!-- DRAWER -->\n<div class=\"drawer\" id=\"drawer\">\n  <div class=\"dh\"><div class=\"dh-title\">My Custom Kit<\/div><button class=\"dh-x\" onclick=\"toggleDrawer()\">\u2715<\/button><\/div>\n  <div class=\"db\" id=\"drawerBody\"><\/div>\n<\/div>\n\n<!-- MODAL -->\n<div class=\"mbg\" id=\"qModal\">\n  <div class=\"modal\">\n    <div class=\"mhdr\">\n      <div><div class=\"mhdr-title\" id=\"mTitle\">Request a Quote<\/div><div class=\"mhdr-sub\">We respond within 2 business hours.<\/div><\/div>\n      <button class=\"mhdr-x\" onclick=\"closeModal()\">\u2715<\/button>\n    <\/div>\n    <div class=\"mbody\" id=\"mBody\"><\/div>\n  <\/div>\n<\/div>\n\n\n\n<!-- FOOTER -->\n<footer>\n  <div>\n    <div class=\"f-logo\">SwagLogic AI<\/div>\n    <div class=\"f-copy\">India&#8217;s AI-powered promotional merchandise engine \u00b7 100,000+ products<br>\u00a9 2025 SwagLogic \u00b7 PAN India Delivery<\/div>\n  <\/div>\n  <a class=\"f-call\" href=\"tel:9820660460\">\ud83d\udcde Call SwagLogic: 9820660460<\/a>\n<\/footer>\n\n<script>\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ CORE SEED PRODUCTS \u2014 80 accurate products with correct images\n\/\/ These are the permanent \"anchor\" products. AI generates thousands more.\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nconst SEED = [\n  \/\/ PENS\n  {id:1,name:\"Promotional Ball Pen\",cat:\"pens\",tags:[\"pens\",\"stationery\"],img:\"https:\/\/images.unsplash.com\/photo-1583485088034-697b5bc54ccd?w=500&q=80\",orig:25,moq:500,brand:\"Screen Print\",lead:\"5 days\",carbon:\"low\",cg:8,cn:\"Minimal plastic; lowest carbon in range\"},\n  {id:2,name:\"Metal Twist Pen (Laser Engraved)\",cat:\"pens\",tags:[\"pens\",\"stationery\"],img:\"https:\/\/images.unsplash.com\/photo-1585336261022-680e295ce3fe?w=500&q=80\",orig:65,moq:200,brand:\"Laser Engraving\",lead:\"7 days\",carbon:\"low\",cg:18,cn:\"Recyclable metal body; refillable\"},\n  {id:3,name:\"Parker-Style Roller Pen\",cat:\"pens\",tags:[\"pens\",\"stationery\",\"luxury\"],img:\"https:\/\/images.unsplash.com\/photo-1585336261022-680e295ce3fe?w=500&q=80\",orig:280,moq:50,brand:\"Laser Engraving\",lead:\"7 days\",carbon:\"low\",cg:22,cn:\"Premium metal; refillable\"},\n  {id:4,name:\"Bamboo Plantable Pen\",cat:\"pens\",tags:[\"pens\",\"eco\"],img:\"https:\/\/images.unsplash.com\/photo-1618477461853-cf6ed80faba5?w=500&q=80\",orig:45,moq:200,brand:\"Screen Print\",lead:\"7 days\",carbon:\"low\",cg:4,cn:\"Seed-embedded; fully biodegradable\"},\n  \/\/ NOTEBOOKS\n  {id:5,name:\"Hardbound A5 Notebook (160 pages)\",cat:\"notebooks\",tags:[\"notebooks\",\"stationery\"],img:\"https:\/\/images.unsplash.com\/photo-1531346878377-a5be20888e57?w=500&q=80\",orig:160,moq:100,brand:\"Debossing \/ UV\",lead:\"8 days\",carbon:\"low\",cg:120,cn:\"FSC-certified paper; recyclable\"},\n  {id:6,name:\"PU Leather Executive Diary\",cat:\"notebooks\",tags:[\"notebooks\",\"luxury\"],img:\"https:\/\/images.unsplash.com\/photo-1544716278-ca5e3f4abd8c?w=500&q=80\",orig:420,moq:25,brand:\"Gold Foil \/ Deboss\",lead:\"10 days\",carbon:\"medium\",cg:380,cn:\"PU leather; moderate impact\"},\n  {id:7,name:\"Seed Paper Notebook (Eco)\",cat:\"notebooks\",tags:[\"notebooks\",\"eco\"],img:\"https:\/\/images.unsplash.com\/photo-1602928309590-3e54f40ead81?w=500&q=80\",orig:180,moq:100,brand:\"Screen Print\",lead:\"7 days\",carbon:\"low\",cg:60,cn:\"100% recycled seed paper \u2014 plantable\"},\n  {id:8,name:\"Cork-Cover Notebook\",cat:\"notebooks\",tags:[\"notebooks\",\"eco\"],img:\"https:\/\/images.unsplash.com\/photo-1517842645767-c639042777db?w=500&q=80\",orig:220,moq:75,brand:\"Laser Engraving\",lead:\"8 days\",carbon:\"low\",cg:75,cn:\"Natural cork \u2014 renewable & biodegradable\"},\n  \/\/ BOTTLES\n  {id:11,name:\"Stainless Steel Sipper 750ml\",cat:\"bottles\",tags:[\"bottles\",\"eco\",\"wellness\"],img:\"https:\/\/images.unsplash.com\/photo-1602143407151-7111542de6e8?w=500&q=80\",orig:320,moq:50,brand:\"Laser Engraving\",lead:\"8 days\",carbon:\"low\",cg:290,cn:\"SS304; replaces 1000+ plastic bottles\"},\n  {id:12,name:\"Bamboo Travel Mug 350ml\",cat:\"bottles\",tags:[\"bottles\",\"eco\"],img:\"https:\/\/images.unsplash.com\/photo-1545665277-5937489579f2?w=500&q=80\",orig:280,moq:50,brand:\"Laser Engraving\",lead:\"8 days\",carbon:\"low\",cg:180,cn:\"Bamboo outer + SS inner \u2014 sustainable\"},\n  {id:14,name:\"Vacuum Flask 500ml (12hr Hot\/Cold)\",cat:\"bottles\",tags:[\"bottles\"],img:\"https:\/\/images.unsplash.com\/photo-1602143407151-7111542de6e8?w=500&q=80\",orig:480,moq:50,brand:\"Laser Engraving\",lead:\"8 days\",carbon:\"low\",cg:310,cn:\"Insulated; eliminates daily cup wastage\"},\n  {id:15,name:\"Copper Bottle 1L (Ayurvedic)\",cat:\"bottles\",tags:[\"bottles\",\"wellness\",\"eco\"],img:\"https:\/\/images.unsplash.com\/photo-1568702846914-96b305d2aaeb?w=500&q=80\",orig:380,moq:50,brand:\"Etching\",lead:\"8 days\",carbon:\"low\",cg:260,cn:\"Pure copper \u2014 antibacterial; recyclable\"},\n  \/\/ MUGS\n  {id:13,name:\"Ceramic Coffee Mug 350ml\",cat:\"mugs\",tags:[\"mugs\"],img:\"https:\/\/images.unsplash.com\/photo-1497515114629-f71d768fd07c?w=500&q=80\",orig:180,moq:100,brand:\"Full Color Print\",lead:\"7 days\",carbon:\"low\",cg:220,cn:\"Durable ceramic; water-based inks\"},\n  {id:16,name:\"Protein Shaker Bottle 600ml\",cat:\"mugs\",tags:[\"mugs\",\"wellness\"],img:\"https:\/\/images.unsplash.com\/photo-1579722820308-d74e571900a9?w=500&q=80\",orig:220,moq:100,brand:\"Screen Print\",lead:\"7 days\",carbon:\"medium\",cg:340,cn:\"BPA-free plastic; moderate impact\"},\n  \/\/ T-SHIRTS\n  {id:17,name:\"180gsm Cotton T-Shirt (Round Neck)\",cat:\"tshirts\",tags:[\"tshirts\",\"apparel\"],img:\"https:\/\/images.unsplash.com\/photo-1521572163474-6864f9cf17ab?w=500&q=80\",orig:280,moq:50,brand:\"DTG \/ Screen Print\",lead:\"10 days\",carbon:\"medium\",cg:2700,cn:\"Cotton farming is water-intensive\"},\n  {id:18,name:\"Polo T-Shirt Dry Fit (Corporate)\",cat:\"tshirts\",tags:[\"tshirts\",\"apparel\"],img:\"https:\/\/images.unsplash.com\/photo-1586363104862-3a5e2ab60d99?w=500&q=80\",orig:350,moq:50,brand:\"Embroidery\",lead:\"10 days\",carbon:\"medium\",cg:3100,cn:\"Polyester blend; moderate CO\u2082\"},\n  {id:21,name:\"Fleece Hoodie (Branded)\",cat:\"tshirts\",tags:[\"tshirts\",\"apparel\"],img:\"https:\/\/images.unsplash.com\/photo-1556821840-3a63f15732ce?w=500&q=80\",orig:680,moq:25,brand:\"Embroidery\",lead:\"12 days\",carbon:\"medium\",cg:4200,cn:\"Synthetic fleece; mitigate with wash bag\"},\n  \/\/ CAPS\n  {id:19,name:\"Embroidered Cap (6-panel)\",cat:\"caps\",tags:[\"caps\",\"apparel\"],img:\"https:\/\/images.unsplash.com\/photo-1534215754734-18e55d13e346?w=500&q=80\",orig:220,moq:50,brand:\"Embroidery\",lead:\"10 days\",carbon:\"medium\",cg:1200,cn:\"Cotton + polyester; lower impact than apparel\"},\n  \/\/ SHAWLS\n  {id:20,name:\"Soft Pashmina Shawl (Branded)\",cat:\"shawls\",tags:[\"shawls\",\"apparel\",\"luxury\"],img:\"https:\/\/images.unsplash.com\/photo-1615874959474-d609969a20ed?w=500&q=80\",orig:850,moq:25,brand:\"Woven Label\",lead:\"12 days\",carbon:\"low\",cg:900,cn:\"Natural wool \u2014 biodegradable; long-lasting\"},\n  {id:22,name:\"Linen Formal Shirt (Premium)\",cat:\"shawls\",tags:[\"shawls\",\"apparel\",\"luxury\"],img:\"https:\/\/images.unsplash.com\/photo-1602810316498-ab67cf68c8e1?w=500&q=80\",orig:980,moq:25,brand:\"Embroidery\",lead:\"14 days\",carbon:\"low\",cg:1800,cn:\"Linen \u2014 most sustainable fabric\"},\n  \/\/ BAGS\n  {id:25,name:\"Laptop Backpack 30L\",cat:\"bags\",tags:[\"bags\"],img:\"https:\/\/images.unsplash.com\/photo-1553062407-98eeb64c6a62?w=500&q=80\",orig:980,moq:25,brand:\"Embroidery\",lead:\"12 days\",carbon:\"medium\",cg:5800,cn:\"Nylon; durable longevity offsets CO\u2082\"},\n  {id:26,name:\"Laptop Sleeve 15.6\\\"\",cat:\"bags\",tags:[\"bags\"],img:\"https:\/\/images.unsplash.com\/photo-1547949003-9792a18a2601?w=500&q=80\",orig:380,moq:50,brand:\"Screen Print\",lead:\"8 days\",carbon:\"medium\",cg:1200,cn:\"Neoprene\/canvas; protects device\"},\n  {id:27,name:\"Executive Duffel Bag\",cat:\"bags\",tags:[\"bags\",\"travel\",\"luxury\"],img:\"https:\/\/images.unsplash.com\/photo-1548036328-c9fa89d128fa?w=500&q=80\",orig:1400,moq:20,brand:\"Embossing\",lead:\"14 days\",carbon:\"medium\",cg:6200,cn:\"Premium canvas; long-life product\"},\n  {id:23,name:\"RPET Tote Bag (Recycled PET)\",cat:\"bags\",tags:[\"bags\",\"eco\"],img:\"https:\/\/images.unsplash.com\/photo-1591085686350-798c0f9faa7f?w=500&q=80\",orig:160,moq:100,brand:\"Screen Print\",lead:\"7 days\",carbon:\"low\",cg:480,cn:\"Made from recycled plastic bottles\"},\n  {id:24,name:\"Jute Conference Bag\",cat:\"bags\",tags:[\"bags\",\"eco\"],img:\"https:\/\/images.unsplash.com\/photo-1614149162883-504ce4d13909?w=500&q=80\",orig:140,moq:100,brand:\"Screen Print\",lead:\"7 days\",carbon:\"low\",cg:320,cn:\"Natural jute \u2014 biodegradable crop\"},\n  {id:29,name:\"Premium RFID Backpack 17\\\"\",cat:\"bags\",tags:[\"bags\",\"luxury\"],img:\"https:\/\/images.unsplash.com\/photo-1581605405669-fcdf81165afa?w=500&q=80\",orig:1800,moq:15,brand:\"Laser Etching\",lead:\"14 days\",carbon:\"medium\",cg:7200,cn:\"Multi-compartment; replaces multiple bags\"},\n  \/\/ POWERBANKS\n  {id:30,name:\"10000mAh Power Bank\",cat:\"powerbanks\",tags:[\"powerbanks\",\"tech\"],img:\"https:\/\/images.unsplash.com\/photo-1609091839311-d5365f9ff1c5?w=500&q=80\",orig:725,moq:50,brand:\"UV Print\",lead:\"10 days\",carbon:\"high\",cg:8500,cn:\"Li-ion; long use cycle needed for offset\"},\n  {id:31,name:\"Wireless Charging Pad (10W)\",cat:\"powerbanks\",tags:[\"powerbanks\",\"tech\"],img:\"https:\/\/images.unsplash.com\/photo-1583394838336-acd977736f90?w=500&q=80\",orig:580,moq:50,brand:\"UV Print\",lead:\"10 days\",carbon:\"high\",cg:3200,cn:\"Electronics mfg CO\u2082; reduces cable wear\"},\n  \/\/ SPEAKERS\n  {id:33,name:\"Bluetooth Speaker (5W Portable)\",cat:\"speakers\",tags:[\"speakers\",\"tech\"],img:\"https:\/\/images.unsplash.com\/photo-1608043152269-423dbba4e7e1?w=500&q=80\",orig:650,moq:30,brand:\"Screen Print\",lead:\"10 days\",carbon:\"high\",cg:6400,cn:\"Significant embedded carbon; long life needed\"},\n  {id:34,name:\"TWS Earbuds (BT 5.0)\",cat:\"speakers\",tags:[\"speakers\",\"tech\",\"luxury\"],img:\"https:\/\/images.unsplash.com\/photo-1606220945770-b5b6c2c55bf1?w=500&q=80\",orig:950,moq:20,brand:\"Custom Box\",lead:\"12 days\",carbon:\"high\",cg:9800,cn:\"High electronics CO\u2082; 3\u20135yr use needed\"},\n  {id:35,name:\"ANC Headphones (Over-ear)\",cat:\"speakers\",tags:[\"speakers\",\"tech\",\"luxury\"],img:\"https:\/\/images.unsplash.com\/photo-1505740420928-5e560c06d30e?w=500&q=80\",orig:2800,moq:10,brand:\"Custom Packaging\",lead:\"14 days\",carbon:\"high\",cg:18500,cn:\"Significant mfg footprint; 5+ yr lifespan\"},\n  \/\/ TECH\n  {id:32,name:\"USB 3.0 Pen Drive 32GB\",cat:\"tech\",tags:[\"tech\"],img:\"https:\/\/images.unsplash.com\/photo-1616763355548-1b606f439f86?w=500&q=80\",orig:180,moq:100,brand:\"Laser Engraving\",lead:\"7 days\",carbon:\"high\",cg:1800,cn:\"Semiconductor mfg; pre-load content for value\"},\n  {id:37,name:\"Foldable Mobile Stand (Aluminium)\",cat:\"tech\",tags:[\"tech\",\"desk\"],img:\"https:\/\/images.unsplash.com\/photo-1512941937669-90a1b58e7e9c?w=500&q=80\",orig:120,moq:100,brand:\"Laser Engraving\",lead:\"7 days\",carbon:\"medium\",cg:380,cn:\"Aluminium is highly recyclable\"},\n  {id:38,name:\"Mini USB Hub 4-port\",cat:\"tech\",tags:[\"tech\",\"desk\"],img:\"https:\/\/images.unsplash.com\/photo-1558494949-ef010cbdcc31?w=500&q=80\",orig:380,moq:50,brand:\"Laser Engraving\",lead:\"10 days\",carbon:\"high\",cg:2200,cn:\"PCB electronics; daily use offsets\"},\n  \/\/ DESK\n  {id:46,name:\"Bamboo Desk Organiser\",cat:\"desk\",tags:[\"desk\",\"eco\"],img:\"https:\/\/images.unsplash.com\/photo-1593642532400-2682810df593?w=500&q=80\",orig:380,moq:30,brand:\"Laser Engraving\",lead:\"8 days\",carbon:\"low\",cg:280,cn:\"Bamboo \u2014 30x faster-growing than hardwood\"},\n  {id:47,name:\"XL Mouse Pad (Full Desk)\",cat:\"desk\",tags:[\"desk\"],img:\"https:\/\/images.unsplash.com\/photo-1527864550417-7fd91fc51a46?w=500&q=80\",orig:180,moq:50,brand:\"Full Color Print\",lead:\"7 days\",carbon:\"medium\",cg:520,cn:\"Natural rubber base; water-based ink\"},\n  {id:49,name:\"Cable Management Box (Wood)\",cat:\"desk\",tags:[\"desk\",\"eco\"],img:\"https:\/\/images.unsplash.com\/photo-1517336714731-489689fd1ca8?w=500&q=80\",orig:420,moq:30,brand:\"Laser Engraving\",lead:\"10 days\",carbon:\"low\",cg:320,cn:\"Wood\/MDF; durable & recyclable\"},\n  \/\/ KEYCHAINS\n  {id:10,name:\"Metal Keychain (Custom Shape)\",cat:\"keychains\",tags:[\"keychains\",\"stationery\"],img:\"https:\/\/images.unsplash.com\/photo-1558618666-fcd25c85cd64?w=500&q=80\",orig:55,moq:300,brand:\"Laser Engraving\",lead:\"5 days\",carbon:\"low\",cg:30,cn:\"Zinc alloy; long lifespan\"},\n  \/\/ WELLNESS\n  {id:40,name:\"Resistance Band Set (3 levels)\",cat:\"wellness\",tags:[\"wellness\"],img:\"https:\/\/images.unsplash.com\/photo-1571019614242-c5c5dee9f50b?w=500&q=80\",orig:180,moq:100,brand:\"Custom Print\",lead:\"8 days\",carbon:\"medium\",cg:420,cn:\"Latex rubber; natural option available\"},\n  {id:41,name:\"Yoga Mat with Carry Bag\",cat:\"wellness\",tags:[\"wellness\"],img:\"https:\/\/images.unsplash.com\/photo-1599901860904-17e6ed7083a0?w=500&q=80\",orig:680,moq:20,brand:\"Screen Print\",lead:\"10 days\",carbon:\"medium\",cg:3800,cn:\"TPE preferred over PVC\"},\n  {id:42,name:\"Aromatherapy Candle Set (3pc)\",cat:\"wellness\",tags:[\"wellness\",\"luxury\"],img:\"https:\/\/images.unsplash.com\/photo-1602523961358-f9f03dd557db?w=500&q=80\",orig:380,moq:30,brand:\"Custom Label\",lead:\"7 days\",carbon:\"low\",cg:280,cn:\"Soy wax = 90% lower CO\u2082 than paraffin\"},\n  {id:43,name:\"Essential Oils Set (5 oils)\",cat:\"wellness\",tags:[\"wellness\",\"luxury\"],img:\"https:\/\/images.unsplash.com\/photo-1547592166-23ac45744acd?w=500&q=80\",orig:650,moq:20,brand:\"Custom Label\",lead:\"7 days\",carbon:\"low\",cg:220,cn:\"Plant-derived; glass bottled\"},\n  \/\/ TRAVEL\n  {id:50,name:\"Leather Passport Holder\",cat:\"travel\",tags:[\"travel\",\"luxury\"],img:\"https:\/\/images.unsplash.com\/photo-1553484771-047a44eee27b?w=500&q=80\",orig:380,moq:50,brand:\"Embossing\",lead:\"8 days\",carbon:\"medium\",cg:1400,cn:\"Genuine leather; PU option available\"},\n  {id:51,name:\"PU Luggage Tag (Engraved)\",cat:\"travel\",tags:[\"travel\"],img:\"https:\/\/images.unsplash.com\/photo-1476514525535-07fb3b4ae5f1?w=500&q=80\",orig:80,moq:200,brand:\"Laser Engraving\",lead:\"6 days\",carbon:\"low\",cg:95,cn:\"Small item; minimal impact\"},\n  {id:55,name:\"RFID Blocking Slim Wallet\",cat:\"travel\",tags:[\"travel\",\"luxury\"],img:\"https:\/\/images.unsplash.com\/photo-1563013544-824ae1b704d3?w=500&q=80\",orig:680,moq:25,brand:\"Embossing\",lead:\"10 days\",carbon:\"medium\",cg:1100,cn:\"PU\/leather; RFID film minimal impact\"},\n  {id:56,name:\"Branded Trolley Bag 20\\\"\",cat:\"travel\",tags:[\"travel\",\"luxury\"],img:\"https:\/\/images.unsplash.com\/photo-1586771107445-d3ca888129ff?w=500&q=80\",orig:3800,moq:10,brand:\"Woven Tag\",lead:\"18 days\",carbon:\"high\",cg:28000,cn:\"Polycarbonate; justified for incentive gifting\"},\n  \/\/ ECO\n  {id:57,name:\"Plantable Seed Paper Card Set\",cat:\"eco\",tags:[\"eco\",\"stationery\"],img:\"https:\/\/images.unsplash.com\/photo-1542601906990-b4d3fb778b09?w=500&q=80\",orig:60,moq:200,brand:\"Full Color Print\",lead:\"5 days\",carbon:\"low\",cg:12,cn:\"Plantable \u2014 net carbon positive\"},\n  {id:58,name:\"Bamboo Cutlery Set (Pouch)\",cat:\"eco\",tags:[\"eco\"],img:\"https:\/\/images.unsplash.com\/photo-1617196034183-421b4040ed20?w=500&q=80\",orig:150,moq:100,brand:\"Laser Engraving\",lead:\"7 days\",carbon:\"low\",cg:120,cn:\"Replaces 200+ plastic cutlery sets\"},\n  {id:80,name:\"Desk Succulent Plant (Branded Pot)\",cat:\"eco\",tags:[\"eco\",\"desk\"],img:\"https:\/\/images.unsplash.com\/photo-1459156212016-c812468e2115?w=500&q=80\",orig:220,moq:50,brand:\"Ceramic Print\",lead:\"7 days\",carbon:\"low\",cg:180,cn:\"Living plant sequesters CO\u2082 \u2014 carbon-negative\"},\n  \/\/ FOOD\n  {id:61,name:\"Premium Chocolate Box (Assorted)\",cat:\"food\",tags:[\"food\",\"luxury\",\"diwali\"],img:\"https:\/\/images.unsplash.com\/photo-1549007994-cb92caebd54b?w=500&q=80\",orig:480,moq:20,brand:\"Custom Box\",lead:\"5 days\",carbon:\"medium\",cg:1200,cn:\"Cocoa farming; fair-trade preferred\"},\n  {id:62,name:\"Dry Fruits Gift Box 250g\",cat:\"food\",tags:[\"food\",\"diwali\"],img:\"https:\/\/images.unsplash.com\/photo-1607305387299-a3d9611cd469?w=500&q=80\",orig:380,moq:25,brand:\"Custom Box\",lead:\"5 days\",carbon:\"low\",cg:480,cn:\"Nuts lower CO\u2082 than animal products\"},\n  {id:63,name:\"Artisan Tea Hamper (5 varieties)\",cat:\"food\",tags:[\"food\",\"wellness\"],img:\"https:\/\/images.unsplash.com\/photo-1564890369478-c89ca6d9cde9?w=500&q=80\",orig:650,moq:15,brand:\"Custom Label\",lead:\"5 days\",carbon:\"low\",cg:380,cn:\"Tea sequesters CO\u2082; packaging is main source\"},\n  {id:64,name:\"Premium Dry Fruit Box 500g\",cat:\"food\",tags:[\"food\",\"luxury\",\"diwali\"],img:\"https:\/\/images.unsplash.com\/photo-1586297135537-94bc9ba060aa?w=500&q=80\",orig:850,moq:15,brand:\"Luxury Box\",lead:\"5 days\",carbon:\"low\",cg:820,cn:\"Mixed nuts; premium packaging adds impact\"},\n  \/\/ LUXURY\n  {id:67,name:\"Branded Watch (Corporate Grade)\",cat:\"luxury\",tags:[\"luxury\",\"tech\"],img:\"https:\/\/images.unsplash.com\/photo-1523275335684-37898b6baf30?w=500&q=80\",orig:3500,moq:5,brand:\"Caseback Engraving\",lead:\"18 days\",carbon:\"high\",cg:28000,cn:\"Lasts 20+ years \u2014 best long-term CO\u2082 ratio\"},\n  {id:68,name:\"Imported Chocolate & Wine Gift Box\",cat:\"luxury\",tags:[\"luxury\",\"food\"],img:\"https:\/\/images.unsplash.com\/photo-1607082348824-0a96f2a4b9da?w=500&q=80\",orig:2200,moq:5,brand:\"Custom Ribbon\",lead:\"7 days\",carbon:\"high\",cg:4200,cn:\"Import adds transport carbon\"},\n  {id:69,name:\"Smart LED Table Lamp (USB)\",cat:\"luxury\",tags:[\"luxury\",\"tech\",\"desk\"],img:\"https:\/\/images.unsplash.com\/photo-1507473885765-e6ed057f782c?w=500&q=80\",orig:1800,moq:10,brand:\"Custom Packaging\",lead:\"12 days\",carbon:\"high\",cg:5200,cn:\"LED efficient in use; high mfg carbon\"},\n  {id:70,name:\"Leather-Bound Premium Planner\",cat:\"luxury\",tags:[\"luxury\",\"notebooks\"],img:\"https:\/\/images.unsplash.com\/photo-1544716278-ca5e3f4abd8c?w=500&q=80\",orig:1200,moq:15,brand:\"Gold Foil\",lead:\"12 days\",carbon:\"medium\",cg:1600,cn:\"PU leather + quality paper\"},\n  {id:74,name:\"Silver Deity \/ Idol (Small)\",cat:\"diwali\",tags:[\"diwali\",\"luxury\"],img:\"https:\/\/images.unsplash.com\/photo-1566438480900-0609be27a4be?w=500&q=80\",orig:1800,moq:10,brand:\"Premium Box\",lead:\"14 days\",carbon:\"medium\",cg:2100,cn:\"Silver is recyclable metal\"},\n  {id:75,name:\"Premium Magnetic Hamper Box\",cat:\"diwali\",tags:[\"diwali\",\"luxury\"],img:\"https:\/\/images.unsplash.com\/photo-1607082348824-0a96f2a4b9da?w=500&q=80\",orig:180,moq:50,brand:\"Full Color Print\",lead:\"5 days\",carbon:\"medium\",cg:680,cn:\"Rigid box with magnetic closure; reusable\"},\n];\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ PRICING ENGINE\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nconst MAR=1.35;\nfunction dp(o){return Math.round(o*MAR);}\nfunction inr(n){return '\u20b9'+n.toLocaleString('en-IN');}\nfunction kitPrice(pids){\n  const pt=pids.reduce((s,id)=>{const p=byId(id);return p?s+dp(p.orig):s;},0);\n  const bc=Math.round(pt*.15),gst=Math.round((pt+bc)*.18);\n  return{pt,bc,gst,total:pt+bc+gst};\n}\nfunction cbBadge(c){\n  if(c==='low')return'<span class=\"cb cb-l\">\ud83c\udf31 Low<\/span>';\n  if(c==='medium')return'<span class=\"cb cb-m\">\u2696\ufe0f Moderate<\/span>';\n  return'<span class=\"cb cb-h\">\u26a0\ufe0f High CO\u2082<\/span>';\n}\nfunction carbonLvl(g){return g<1000?'low':g<8000?'medium':'high';}\n\n\/\/ Runtime product store \u2014 seed + AI-generated\nlet PRODUCTS = [...SEED];\nlet nextId = 1000;\nfunction byId(id){return PRODUCTS.find(x=>x.id===id);}\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ CUSTOM KIT\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nlet myKit=[];\nfunction toggleProd(id){\n  const p=byId(id);if(!p)return;\n  const i=myKit.findIndex(x=>x.id===id);\n  if(i>-1)myKit.splice(i,1);else myKit.push(p);\n  syncKit();\n}\nfunction rmKit(id){myKit=myKit.filter(x=>x.id!==id);syncKit();}\nfunction syncKit(){\n  const n=myKit.length;\n  const b=document.getElementById('kbadge');b.textContent=n;b.classList.toggle('on',n>0);\n  const cc=document.getElementById('catKitCount');if(cc)cc.textContent=n;\n  document.querySelectorAll('.pc[data-pid]').forEach(el=>{\n    el.classList.toggle('sel',myKit.some(x=>x.id===parseInt(el.dataset.pid)));\n  });\n  renderDrawer();\n}\nfunction renderDrawer(){\n  const body=document.getElementById('drawerBody');\n  if(myKit.length===0){\n    body.innerHTML=`<div class=\"d-empty\"><div style=\"font-size:44px;margin-bottom:12px;\">\ud83d\uded2<\/div><div style=\"font-weight:700;margin-bottom:6px;\">Your kit is empty<\/div><div style=\"font-size:13px;color:var(--muted);\">Browse the Catalog and click products to add them.<\/div><\/div>`;\n    return;\n  }\n  const {pt,bc,gst,total}=kitPrice(myKit.map(x=>x.id));\n  body.innerHTML=myKit.map(p=>`<div class=\"d-item\">\n    <img decoding=\"async\" class=\"d-img\" src=\"${p.img}\" alt=\"${p.name}\" onerror=\"this.style.background='var(--s2)'\"\/>\n    <div class=\"d-info\"><div class=\"d-name\">${p.name}<\/div><div class=\"d-price\">${inr(dp(p.orig))}<\/div><\/div>\n    <button class=\"d-rm\" onclick=\"rmKit(${p.id})\">\u2715<\/button>\n  <\/div>`).join('')+`<div class=\"d-sum\">\n    <div class=\"d-row\"><span>Products (${myKit.length})<\/span><span>${inr(pt)}<\/span><\/div>\n    <div class=\"d-row\"><span>Branding (~15%)<\/span><span>${inr(bc)}<\/span><\/div>\n    <div class=\"d-row\"><span>GST (18%)<\/span><span>${inr(gst)}<\/span><\/div>\n    <div class=\"d-total\"><span>Total \/ Kit<\/span><span>${inr(total)}<\/span><\/div>\n  <\/div>\n  <button class=\"d-qbtn\" onclick=\"openModal('custom')\">\ud83d\udce9 Request a Quote<\/button>`;\n}\nfunction toggleDrawer(){document.getElementById('drawer').classList.toggle('open');}\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ PRODUCT CARD RENDER\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nfunction pCard(p,role,selectable){\n  const price=dp(p.orig);\n  const sel=myKit.some(x=>x.id===p.id);\n  const rb=role?`<div class=\"pc-role ${role==='hero'?'r-hero':role==='utility'?'r-util':'r-brand'}\">${role==='hero'?'\u2b50 Hero':role==='utility'?'\ud83d\udd27 Utility':'\ud83c\udff7\ufe0f Brand'}<\/div>`:'';\n  const clk=selectable?`onclick=\"toggleProd(${p.id})\"`:'';\n  return `<div class=\"pc${sel?' sel':''}\" data-pid=\"${p.id}\" ${clk}>\n    <div class=\"pc-chk\">\u2713<\/div>${rb}\n    <div class=\"pc-img-wrap\">\n      <img decoding=\"async\" class=\"pc-img\" src=\"${p.img}\" alt=\"${p.name}\" loading=\"lazy\"\n        onerror=\"this.parentElement.innerHTML='<div class=\\\\'pc-img-fb\\\\'><span>${getCatEmoji(p.cat)}<\/span><\/div>'\"\/>\n    <\/div>\n    <div class=\"pc-body\">\n      <div class=\"pc-name\">${p.name}<\/div>\n      <div class=\"pc-cat\">${p.cat}<\/div>\n      <div class=\"pc-price\">${inr(price)}<\/div>\n      <div class=\"pc-moq\">MOQ: ${p.moq} pcs \u00b7 ${p.lead}<\/div>\n      <div class=\"pc-sep\"><\/div>\n      <div class=\"pc-row\"><span class=\"pc-brand\">\ud83c\udfa8 ${p.brand}<\/span>${cbBadge(p.carbon)}<\/div>\n      <div class=\"pc-cn\">\ud83d\udca8 ~${p.cg}g CO\u2082\/unit \u00b7 ${p.cn}<\/div>\n    <\/div>\n  <\/div>`;\n}\n\nfunction getCatEmoji(cat){\n  const m={pens:'\u2712\ufe0f',notebooks:'\ud83d\udcd3',bottles:'\ud83c\udf76',mugs:'\u2615',tshirts:'\ud83d\udc55',caps:'\ud83e\udde2',shawls:'\ud83e\udde3',bags:'\ud83c\udf92',powerbanks:'\ud83d\udd0b',speakers:'\ud83d\udd0a',tech:'\ud83d\udcbb',desk:'\ud83d\udda5\ufe0f',keychains:'\ud83d\udd11',wellness:'\ud83e\uddd8',travel:'\u2708\ufe0f',eco:'\ud83c\udf3f',food:'\ud83c\udf6b',luxury:'\ud83d\udc8e',diwali:'\ud83e\ude94',home:'\ud83c\udfe0',kids:'\ud83e\uddf8',innovative:'\ud83d\ude80',event:'\ud83c\udfaa'};\n  return m[cat]||'\ud83d\udce6';\n}\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ CATALOG\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nlet currentCatFilter='all',currentBudgetFilter=null,aiGenerating=false;\nlet catPage=1;\n\nfunction renderCatalog(list){\n  const grid=document.getElementById('catGrid');\n  grid.innerHTML=list.map(p=>pCard(p,null,true)).join('');\n}\nfunction fCat(tag,btn){\n  document.querySelectorAll('.fpanel .fb').forEach(b=>b.classList.remove('on'));\n  btn.classList.add('on');\n  currentCatFilter=tag;currentBudgetFilter=null;catPage=1;\n  const list=tag==='all'?PRODUCTS:PRODUCTS.filter(p=>p.tags.includes(tag)||p.cat===tag);\n  renderCatalog(list);\n  document.getElementById('lmNote').textContent=`AI will generate more \"${tag}\" products from India's promotional merchandise market`;\n}\nfunction fBudget(min,max,btn){\n  document.querySelectorAll('.fpanel .fb').forEach(b=>b.classList.remove('on'));\n  btn.classList.add('on');\n  currentBudgetFilter={min,max};currentCatFilter='all';catPage=1;\n  renderCatalog(PRODUCTS.filter(p=>dp(p.orig)>=min&&dp(p.orig)<=max));\n}\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ ANTHROPIC AI \u2014 GENERATE PRODUCTS\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ LOCAL AI ENGINE \u2014 No API key needed. Works for everyone.\n\/\/ Generates 100,000+ products from expert-built product templates.\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nconst PRODUCT_TEMPLATES = {\n  \/\/ \u2500\u2500 REAL SWAGLOGIC PRODUCTS from aikinesis.com\/gift2 + expanded catalog \u2500\u2500\n  pens:[\n    \"Metallic Twist Ball Pen\",\"Executive Roller Pen\",\"Matte Finish Metal Pen\",\"Two-Tone Chrome Pen\",\n    \"Slim Aluminium Stylus Pen\",\"Corporate Gift Pen Set (3pc)\",\"Engraved Name Pen\",\"Bamboo Fibre Pen\",\n    \"Soft Grip Rubber Pen\",\"Retractable Twist Pen\",\"Dual Tip Marker Pen\",\"Calligraphy Gift Pen\",\n    \"Magnetic Cap Pen\",\"LED Light Pen\",\"Multi-colour Pen 4-ink\",\"Lacquer Finish Pen\",\n    \"USB Pen Drive + Pen Combo\",\"Doctor Pen with Clip\",\"Architect Drafting Pen\",\"Slim Click Pen\",\n    \"Luxury Metal Rollerball\",\"Brass Barrel Pen\",\"Matte Rubberised Pen\",\"Crystal Pen Set 2pc\",\n    \"Triangular Grip Pen\",\"Eco Recycled Cardboard Pen\",\"Cork Barrel Pen\",\"Wheat Straw Pen\",\n    \"Recycled Ocean Plastic Pen\",\"Bamboo Stylus Pen\",\"Silver Chrome Ball Pen\",\"Gold Tip Pen\",\n    \"Prestige Fountain Pen\",\"Metal Pen with Stylus Tip\",\"Executive Lacquer Pen\",\"Printed Logo Pen\",\n  ],\n  notebooks:[\n    \"A4 Spiral Hardcover Notebook\",\"A5 Premium PU Diary\",\"B5 Softcover Journal\",\"Pocket Mini Notebook\",\n    \"Lay-flat Binding Notebook\",\"Recycled Kraft Notebook\",\"Dotted Grid Notebook\",\"Lined Notebook with Ribbon\",\n    \"Waterproof Cover Notebook\",\"Travellers Hardcover Journal\",\"Weekly Planner Diary\",\"Academic Student Diary\",\n    \"Undated Perpetual Planner\",\"Bamboo Cover Notebook\",\"Recycled Cotton Notebook\",\"Meeting Minutes Notepad\",\n    \"Sketch &#038; Draw Notebook\",\"Project Planning Book\",\"Monthly Goal Journal\",\"Password &#038; Notes Book\",\n    \"A5 Cork Cover Notebook\",\"Vegan Leather Diary\",\"Luxury Suede Notebook\",\"Wiro-bound Planner\",\n    \"Smart Reusable Notebook\",\"Personalized Name Diary\",\"Softcover Eco Kraft Journal\",\"Grid Paper Sketchbook\",\n    \"Illustrated Cover Notebook\",\"Bullet Journal Dotted\",\"6-Ring Binder Organizer\",\"Slim Pocket Jotter\",\n  ],\n  bottles:[\n    \"Stainless Steel Wide Mouth Bottle 1L\",\"Double Wall Vacuum Bottle 600ml\",\"Copper Finish SS Bottle 750ml\",\n    \"Matt Black Sipper Bottle\",\"Borosil Glass Bottle 500ml\",\"Frosted PET Sports Bottle 750ml\",\n    \"Smart Temperature Display Bottle\",\"Gradient Color SS Bottle\",\"Tritan BPA Free Sports Bottle\",\n    \"Insulated Straw Bottle 500ml\",\"Loop Handle Sipper Bottle\",\"Slim Cylinder Metal Bottle\",\n    \"Alkaline pH Bottle 750ml\",\"Leakproof Flip Lid Bottle\",\"Military Grade Sipper Bottle\",\n    \"Rose Gold Insulated Bottle\",\"Copper Hammered Bottle\",\"Engraved Name Sipper\",\"Minimalist Matte Bottle\",\n    \"Shaker + Sipper Combo\",\"Infuser Fruit Bottle 700ml\",\"Collapsible Silicone Bottle\",\n    \"Personalised Photo Bottle\",\"SS Bottle with Bamboo Cap\",\"Wide Mouth Mason Jar Bottle\",\n    \"Gradient Ombre Sipper\",\"Hydration Tracking Bottle\",\"Mirror Finish SS Bottle\",\"Neon Color Sipper\",\n    \"Gym Bottle with Protein Compartment\",\"Vacuum Flask 12hr Hot Cold\",\"Copper Ayurvedic Bottle 1L\",\n  ],\n  mugs:[\n    \"Stainless Steel Travel Mug with Lid\",\"Enamel Campfire Mug\",\"Double Wall Glass Mug 400ml\",\n    \"Colour Changing Heat Mug\",\"Tall Latte Mug 500ml\",\"Stackable Office Mug Set\",\"Porcelain Embossed Mug\",\n    \"Gradient Dip Dye Mug\",\"Contigo-style Auto-Seal Mug\",\"Marble Print Mug\",\"Personalized Photo Mug\",\n    \"Spill-Proof Travel Tumbler\",\"Magic Black Reveal Mug\",\"Stoneware Handmade Mug\",\"Two-Tone Corporate Mug\",\n    \"Handle + Lid Tumbler 450ml\",\"Ceramic Coffee Mug 350ml\",\"Bamboo Travel Mug\",\"SS Vacuum Mug\",\n    \"Frosted Glass Coffee Mug\",\"Wide Mouth Smoothie Mug\",\"Handled Insulated Mug\",\"Lid &#038; Sleeve Gift Mug\",\n    \"Ombre Gradient Mug\",\"Neon Color Sipper Mug\",\"Printed Logo Ceramic Mug\",\"Executive SS Mug 400ml\",\n  ],\n  tshirts:[\n    \/\/ Real SwagLogic products from aikinesis.com\/gift2\n    \"Recycled Crew \u2013 Black\",\"Recycled Crew \u2013 Charcoal\",\"Recycled Crew \u2013 Grey\",\"Recycled Crew \u2013 Heather Blue\",\n    \"Recycled Crew \u2013 Maroon\",\"Recycled Crew \u2013 Mustard\",\"Recycled Crew \u2013 Navy Blue\",\"Recycled Crew \u2013 Red\",\n    \"Recycled Crew \u2013 White\",\"Recycled Polo \u2013 Black\",\"Recycled Polo \u2013 Blue\",\"Recycled Polo \u2013 Charcoal\",\n    \"Recycled Polo \u2013 Forest Green\",\"Recycled Polo \u2013 Maroon\",\"Recycled Polo \u2013 Navy Blue\",\"Recycled Polo \u2013 Red\",\n    \"Recycled Polo \u2013 White\",\"Recycled Polo \u2013 Mustard\",\n    \/\/ Additional\n    \"Supima Cotton Premium Tee\",\"Performance Mesh Polo\",\"Organic Cotton Unisex Tee\",\"Dri-Fit Sports Tee\",\n    \"Pique Polo with Placket\",\"Henley Neck Casual Tee\",\"Mandarin Collar Corporate Shirt\",\"V-neck Premium Tee\",\n    \"Oversized Streetwear Tee\",\"Recycled PET Fabric Tee\",\"Bamboo Fibre Soft Tee\",\"Linen Blend Casual Shirt\",\n    \"Long Sleeve Branded Tee\",\"Raglan Sleeve Baseball Tee\",\"Button Down Oxford Shirt\",\"Hoodie with Zip\",\n  ],\n  caps:[\n    \"6-Panel Structured Cap\",\"Dad Hat Low Profile Cap\",\"Trucker Mesh Cap\",\"Beanie Winter Cap\",\n    \"Bucket Hat Sun Cap\",\"Snapback Flat Brim Cap\",\"Running Visor Cap\",\"5-Panel Camp Cap\",\n    \"Military Field Cap\",\"Camo Print Cap\",\"Reflective Safety Cap\",\"UV Protection Golf Cap\",\n    \"Reversible Cap\",\"Terry Cloth Sweat Cap\",\"Vintage Corduroy Cap\",\"Denim Cap\",\n    \"Knit Pom Pom Beanie\",\"Packable Travel Cap\",\"Embroidered Logo Cap\",\"Sublimation Printed Cap\",\n  ],\n  shawls:[\n    \"Pure Wool Pashmina Shawl\",\"Silk-Wool Blend Stole\",\"Embroidered Kashmiri Shawl\",\"Jacquard Weave Wrap\",\n    \"Cotton Printed Stole\",\"Acrylic Shawl with Fringe\",\"Merino Wool Travelling Wrap\",\"Reversible Two-tone Shawl\",\n    \"Handloom Block Print Stole\",\"Zari Work Festival Shawl\",\"Bamboo Fibre Summer Stole\",\"Modal Blend Lightweight Wrap\",\n    \"Heritage Phulkari Stole\",\"Kantha Stitch Dupatta\",\"Tussar Silk Stole\",\"Georgette Print Shawl\",\n    \"Ikat Woven Stole\",\"Heritage Weave Saree Stole\",\"Velvet Trim Shawl\",\"Woollen Tartan Wrap\",\n  ],\n  bags:[\n    \"Trolley Cabin Bag 20 inch\",\"Canvas Messenger Bag\",\"Waterproof Dry Bag\",\"Mini Crossbody Bag\",\n    \"Roll-top Cycling Backpack\",\"Anti-theft Laptop Bag\",\"Lightweight Packable Daypack\",\"Conference Padfolio Bag\",\n    \"Gym Duffel with Shoe Compartment\",\"Woven Cotton Shopper\",\"Bamboo Handle Tote Bag\",\"Vegan Leather Tote\",\n    \"Recycled Sail Cloth Bag\",\"Insulated Lunch Bag\",\"Carry-on Duffle 40L\",\"Drawstring Cinch Bag\",\n    \"Waist Belt Bag\",\"Recycled PET Tote Bag\",\"Jute Conference Bag\",\"RPET Laptop Backpack 30L\",\n    \"Executive Duffel Bag\",\"Premium RFID Backpack 17-inch\",\"Laptop Sleeve 15.6 inch\",\"Foldable Shopping Bag\",\n    \"Cooler Backpack\",\"Sling Bag with USB Port\",\"Trekking Rucksack\",\"Branded Trolley 20 inch\",\n  ],\n  powerbanks:[\n    \"Slim Card Powerbank 5000mAh\",\"Solar Charging Powerbank 10000mAh\",\"20000mAh PD Fast Charge\",\n    \"Wireless + Wired Dual Powerbank\",\"Keychain Mini Powerbank 1200mAh\",\"LED Display Powerbank 10000mAh\",\n    \"Rugged Outdoor Powerbank\",\"GaN 65W Compact Powerbank\",\"Triple Port Powerbank 15000mAh\",\n    \"Eco Recycled Powerbank\",\"Bamboo Cover Powerbank\",\"Watch-shape Powerbank\",\n    \"Transparent LED Powerbank\",\"Flat Credit-Card Powerbank\",\"Fabric-wrapped Powerbank\",\n    \"2-in-1 Cable + Powerbank\",\"Foldable Stand Powerbank\",\"Wireless Charging Pad 10W\",\n    \"MagSafe-compatible Powerbank\",\"Car Jump Starter + Powerbank\",\n  ],\n  speakers:[\n    \"Waterproof IPX7 Bluetooth Speaker\",\"Lanyard Neck Speaker\",\"Desk Clock + Speaker Combo\",\n    \"360 Surround Sound Speaker\",\"Bass Boost Outdoor Speaker\",\"LED Light Show Speaker\",\n    \"Retro Cassette Style Speaker\",\"Bamboo Wireless Speaker\",\"Cube Mini Desk Speaker\",\n    \"Long Battery 30hr Speaker\",\"NFC Tap-to-play Speaker\",\"TWS Earbuds BT 5.0\",\n    \"ANC Headphones Over-ear\",\"Neckband Wireless Earphones\",\"True Wireless Earbuds\",\n    \"Wearable Neck Band Speaker\",\"Wooden Acoustic Wireless Speaker\",\"Waterproof Shower Speaker\",\n    \"Portable 5W Bluetooth Speaker\",\"Party LED Speaker 20W\",\n  ],\n  tech:[\n    \"Type-C to HDMI Adapter\",\"3-in-1 Charging Cable\",\"Wireless Ergonomic Mouse\",\n    \"Portable SSD 256GB\",\"Laptop Stand Adjustable\",\"Webcam Privacy Cover\",\"Cable Winder Organizer\",\n    \"Smart Power Strip 4-port\",\"Anti-Blue Light Glasses\",\"4K Webcam with Ring Light\",\n    \"Smart Tracker Tag\",\"Foldable Laptop Riser\",\"USB 3.0 Pen Drive 32GB\",\"Foldable Mobile Stand Aluminium\",\n    \"Mini USB Hub 4-port\",\"Wireless Charging Pad\",\"Keyboard Wireless Slim\",\"Mouse Pad Extended XL\",\n    \"NFC Business Card\",\"Smart Notebook with Cloud Sync\",\"AI Desk Assistant\",\"Modular Travel Kit\",\n    \"Reusable Smart Bottle with App\",\"Digital Notepad\",\"RGB Desk Light\",\n  ],\n  desk:[\n    \"A4 Document Tray Stack\",\"Acrylic Monitor Riser\",\"Memo Pad with Holder\",\"Pen Cup with Wireless Charging\",\n    \"Desk Plant in Branded Pot\",\"Cable Box with Outlet\",\"Whiteboard Planner A3\",\"Magnetic Pin Board\",\n    \"Photo Frame + Clock Combo\",\"Desk Humidifier USB\",\"Leather Desk Pad Blotter\",\"Cactus Pen Stand\",\n    \"Dual Screen Monitor Stand\",\"Name Plate Holder\",\"Paper Weight Crystal\",\"Clock Tower Desk Gift\",\n    \"Bamboo Desk Organiser\",\"Smart LED Table Lamp\",\"Origami Memo Notepad\",\"Business Card Holder Stand\",\n    \"Desk Calendar 2025-26\",\"Under-desk Drawer Organizer\",\"Acrylic Sticky Note Holder\",\"Desktop Clock with Alarm\",\n  ],\n  wellness:[\n    \/\/ Real SwagLogic products from aikinesis.com\/gift2\n    \"Globe Trotter\",\"iSoothe (Chrome)\",\"iSoothe (White)\",\"iSoothe Lite\",\"iSoothe Pro\",\n    \"Kollar\",\"Protekt\",\"RayLax\",\n    \/\/ Additional\n    \"Foam Roller Massage Kit\",\"Meditation Cushion\",\"Acupressure Foot Mat\",\"Posture Corrector Band\",\n    \"Weighted Sleep Eye Mask\",\"Herbal Sleep Pillow\",\"Digital Body Weight Scale\",\"Massage Gun Mini\",\n    \"Jump Rope Speed Cable\",\"Balance Board\",\"Hand Grip Strengthener\",\"Ice Roller Face Massager\",\n    \"Yoga Mat with Carry Bag\",\"Resistance Band Set 3 levels\",\"Aromatherapy Candle Set\",\n    \"Essential Oils Set 5 oils\",\"Personal Care Kit\",\"Wellness Hamper Premium\",\"Air Purifying Plant Kit\",\n    \"Mindfulness Journal Set\",\"Himalayan Salt Lamp\",\"Neck Pillow Memory Foam\",\"USB Aroma Diffuser\",\n  ],\n  travel:[\n    \"Packing Cubes Set 6pc\",\"Cable Travel Organiser Roll\",\"TSA Lock Set 3pc\",\"Compression Socks Travel\",\n    \"Inflatable Travel Pillow\",\"Portable Laundry Bag\",\"Shoe Bags Set\",\"Flight Comfort Kit\",\n    \"Universal Power Adapter\",\"Hanging Toiletry Bag\",\"Mini Sewing Kit Travel\",\"Luggage Scale Digital\",\n    \"Waterproof Packing Envelope\",\"Neck Money Belt Hidden\",\"Hotel Portable Lock\",\"Mini First Aid Kit\",\n    \"Travel Umbrella Compact\",\"Personalised Boarding Pass Holder\",\"PU Luggage Tag Engraved\",\n    \"Leather Passport Holder\",\"RFID Blocking Slim Wallet\",\"Toiletry Pouch Waterproof\",\n    \"Neck Pillow + Eye Mask Combo\",\"Hand Sanitizer 50ml Branded\",\"Travel Adapter Universal\",\n  ],\n  eco:[\n    \/\/ Real SwagLogic eco products\n    \"Recycled Crew T-Shirt\",\"Recycled Polo Shirt\",\n    \/\/ Additional\n    \"Beeswax Food Wraps Set\",\"Reusable Produce Mesh Bags\",\"Organic Cotton Tote Bag\",\n    \"Recycled Ocean Plastic Pen\",\"Cork Yoga Mat\",\"Bamboo Toothbrush Set\",\"Natural Loofah Set\",\n    \"Hemp Seed Paper Notepad\",\"Reusable Cotton Rounds\",\"Organic Beeswax Candle\",\"Natural Jute Drawstring Bag\",\n    \"Recycled Denim Tote\",\"Seed Bomb Gift Pack\",\"Seed Paper Notebook\",\"Bamboo Cutlery Set\",\n    \"Cork-Cover Notebook\",\"Plantable Seed Paper Cards\",\"RPET Tote Bag\",\"Bamboo Travel Mug\",\n    \"Desk Succulent Plant in Branded Pot\",\"Bamboo Desk Organiser\",\"Recycled Paper Notebook\",\n    \"Jute Conference Bag\",\"Bamboo Fibre Pen\",\"Eco Hamper Set\",\"Organic Cotton Polo\",\n  ],\n  food:[\n    \"Artisan Coffee Gift Box\",\"Premium Honey + Nuts Set\",\"Gourmet Spice Hamper\",\n    \"Fresh Roasted Cashews 500g\",\"Date &#038; Almond Gift Pack\",\"Belgian Chocolate Truffles\",\n    \"Herbal Tea Wellness Box\",\"Makhana Roasted Snack Pack\",\"Gourmet Popcorn Trio Box\",\n    \"Traditional Mithai Box\",\"Mixed Nuts Premium Tin\",\"Organic Granola Gift Set\",\n    \"Specialty Cold Brew Kit\",\"Premium Himalayan Salt Set\",\"Dark Chocolate Hamper\",\n    \"Fig &#038; Walnut Gourmet Set\",\"Corporate Fruit Basket\",\"Festive Dry Fruit Tin Box\",\n    \"Artisan Tea Hamper 5 varieties\",\"Premium Dry Fruit Box 500g\",\"Premium Chocolate Box Assorted\",\n    \"Custom Snack Box Branded\",\"Sweet Box Festive\",\"Imported Chocolate Box\",\n    \"Dry Fruits Gift Box 250g\",\"Coffee Mug + Beans Gift Set\",\n  ],\n  luxury:[\n    \"Crystal Pen Holder Award\",\"Gold-Plated Business Card Case\",\"Hand-painted Resin Trophy\",\n    \"Italian Leather Notebook Cover\",\"Engraved Silver Coin Gift\",\"Lacquered Wood Trophy\",\n    \"Marble Award Plaque\",\"Gold Bar Paperweight\",\"Cashmere Travel Blanket\",\n    \"Premium Whiskey Glass Set\",\"Monogrammed Leather Wallet\",\"Silver Photo Frame Engraved\",\n    \"Heritage Clock Tower Gift\",\"Silk Pocket Square Gift Set\",\"Heritage Brass Compass\",\n    \"Tibetan Prayer Bowl Set\",\"Personalised Map Wall Art\",\"Artisan Jewellery Gift Box\",\n    \"Crystal Award Paperweight\",\"Branded Watch Corporate Grade\",\"ANC Headphones Luxury\",\n    \"TWS Earbuds Premium Box\",\"Executive Leather Diary\",\"Leather Hamper Set\",\n    \"Wooden Gift Box Premium\",\"Metal Gift Box Executive\",\"Silver Plated Card Holder\",\n  ],\n  diwali:[\n    \"Silver Laxmi Ganesh Idol Set\",\"Diyas &#038; Tealights Hamper\",\"Handmade Pottery Diya\",\n    \"Brass Puja Thali Set\",\"Festival Mithai Dry Fruit Box\",\"Traditional Clay Pot Gift\",\n    \"Silver Coin Laxmi\",\"Festive Candle &#038; Incense Set\",\"Brass Bell Temple Gift\",\n    \"Diwali Crackerless Kit\",\"Festival Essential Oil Set\",\"Copper Puja Kalash\",\n    \"Wooden Carved Elephant\",\"Gold Leaf Diya Set\",\"Heritage Weave Saree Stole\",\n    \"Diwali Christmas Hamper Premium\",\"Handcrafted Corporate Hamper\",\"Festive Themed Gift Set\",\n    \"Royal Festive Hamper Box\",\"Silver Deity Idol Small\",\"Premium Dry Fruit Festive Box\",\n    \"Festive Sweet Box Custom\",\"Diwali Gift Box Luxury\",\"Festive Hamper in Jhola Bag\",\n  ],\n  \/\/ \u2500\u2500 NEW CATEGORIES from SwagLogic site \u2500\u2500\n  home:[\n    \"Scented Soy Candle Set\",\"USB Aroma Diffuser\",\"Desk Plant Branded Pot\",\"Cushion &#038; Throw Set\",\n    \"Kitchen Utility Gift Set\",\"Bar Accessory Kit\",\"Table Lamp LED USB\",\"Clock Desk Gift\",\n    \"Kitchen Chopping Board Set\",\"Wine Accessory Set\",\"Himalayan Salt Lamp\",\"Photo Frame Gift\",\n    \"Bottle Opener Gift Set\",\"Cheese Board Set\",\"Ceramic Planter Branded\",\"Handmade Coaster Set\",\n    \"Magnetic Fridge Board\",\"Digital Photo Frame\",\"Mini Fan USB Desk\",\"Compact Air Purifier\",\n  ],\n  kids:[\n    \"Kids Activity Kit\",\"Colouring Set Premium\",\"Board Game Family\",\"Puzzle Gift Set 500pc\",\n    \"Kids T-Shirt Printed\",\"STEM Learning Kit\",\"Building Blocks Set\",\"Art &#038; Craft Gift Box\",\n    \"Kids Water Bottle Cartoon\",\"Sticker Book + Crayons\",\"Mini Chess Set\",\"Fidget Toy Set\",\n    \"Storytelling Card Game\",\"Science Experiment Kit\",\"Kids Backpack Mini\",\"Drawing Tablet Kids\",\n  ],\n  innovative:[\n    \"Smart Notebook with Cloud Sync\",\"NFC Business Card\",\"Wireless Charging Pad Slim\",\n    \"AI Desk Assistant Mini\",\"Reusable Smart Bottle with App\",\"Modular Travel Kit Pro\",\n    \"Digital Notepad Erasable\",\"Smart Tracker Tag\",\"4K Webcam Ring Light\",\"Foldable Keyboard BT\",\n    \"Smart Power Strip App-controlled\",\"UV Phone Sanitizer Box\",\"Digital Body Scale BT\",\n    \"Smart Mug Temperature Control\",\"LED Smart Lamp App-controlled\",\"Fingerprint Padlock\",\n  ],\n  event:[\n    \"Event Lanyard &#038; Badge Set\",\"Custom Printed Umbrella\",\"Folding Chair Branded\",\"Event Wristband\",\n    \"Sports Merchandise Kit\",\"Event Giveaway Pack\",\"Raincoat Branded\",\"Rally Flag Custom\",\n    \"Event Tote Bag Printed\",\"Branded Bottle Opener\",\"Custom Medal Award\",\"Sports Water Bottle\",\n    \"Event Staff T-Shirt\",\"Pop-up Banner Stand\",\"Event Notebook Spiral\",\"Branded Pen Bulk Pack\",\n    \"Event Badge Holder\",\"Drawstring Bag Event\",\"Stress Ball Branded\",\"Branded Umbrella Compact\",\n  ],\n  keychains:[\n    \"Metal Keychain Custom Shape\",\"PU Leather Keychain\",\"Carabiner Keychain Tool\",\"Mini Torch Keychain\",\n    \"Bottle Opener Keychain\",\"USB Drive Keychain 16GB\",\"Compass Keychain\",\"Photo Frame Keychain\",\n    \"Rubber Mascot Keychain\",\"Multi-tool Keychain\",\"Acrylic Keychain Custom\",\"Brass Keychain Engraved\",\n    \"Car Logo Keychain\",\"Smart Tracker Keychain\",\"Whistle Keychain\",\"Wooden Keychain Laser\",\n  ],\n};\n\nconst PRICE_RANGES = {\n  pens:[15,25,40,65,90,120,150,200,280,350],\n  notebooks:[80,120,150,180,220,280,350,420,580,750],\n  bottles:[150,200,280,320,380,450,520,680,850,1100],\n  mugs:[80,130,175,180,220,280,350,420,580,750],\n  tshirts:[175,199,220,280,350,420,520,680,850,999],\n  caps:[120,175,220,280,350,450,580,750,980,1400],\n  shawls:[350,520,680,850,980,1200,1500,2000,2800,3500],\n  bags:[120,175,280,380,520,680,980,1400,1800,2500],\n  powerbanks:[350,450,580,725,850,980,1200,1500,2000,2800],\n  speakers:[350,480,650,850,980,1400,1800,2500,3500,4500],\n  tech:[80,120,175,280,380,520,680,980,1400,1800],\n  desk:[120,175,280,380,520,680,850,1200,1500,2000],\n  wellness:[175,260,380,520,680,850,999,1200,1500,1968],\n  travel:[80,120,175,280,380,520,680,850,1200,1500],\n  eco:[45,80,120,175,199,220,280,380,520,680],\n  food:[175,280,380,480,580,680,850,1200,1500,2000],\n  luxury:[680,850,1200,1500,2000,2800,3500,4500,6000,8000],\n  diwali:[280,380,520,680,850,1200,1500,2000,2800,3500],\n  home:[120,175,280,380,520,680,850,1200,1500,2000],\n  kids:[120,175,280,380,520,680,850,1200],\n  innovative:[280,380,520,680,850,999,1200,1500,2000,2800],\n  event:[45,80,120,175,220,280,380,520],\n  keychains:[25,40,55,80,120,175,220,280],\n};\n\nconst BRANDING_OPTIONS = {\n  pens:[\"Laser Engraving\",\"Screen Print\",\"Pad Print\"],\n  notebooks:[\"Debossing\",\"Gold Foil\",\"UV Print\",\"Screen Print\"],\n  bottles:[\"Laser Engraving\",\"Screen Print\",\"Etching\",\"Sublimation\"],\n  mugs:[\"Full Color Print\",\"Screen Print\",\"Sublimation\"],\n  tshirts:[\"DTG Print\",\"Screen Print\",\"Embroidery\",\"Heat Transfer\"],\n  caps:[\"Embroidery\",\"Screen Print\",\"Sublimation\"],\n  shawls:[\"Woven Label\",\"Embroidery\",\"Screen Print\"],\n  bags:[\"Embroidery\",\"Screen Print\",\"Laser Etching\"],\n  powerbanks:[\"UV Print\",\"Laser Engraving\",\"Screen Print\"],\n  speakers:[\"Screen Print\",\"Laser Engraving\",\"UV Print\"],\n  tech:[\"Laser Engraving\",\"UV Print\",\"Screen Print\"],\n  desk:[\"Laser Engraving\",\"Full Color Print\",\"Screen Print\"],\n  wellness:[\"Custom Label\",\"Screen Print\",\"Embroidery\"],\n  travel:[\"Embossing\",\"Screen Print\",\"Laser Engraving\"],\n  eco:[\"Screen Print\",\"Laser Engraving\",\"Full Color Print\"],\n  food:[\"Custom Label\",\"Full Color Print\",\"Custom Box\"],\n  luxury:[\"Laser Engraving\",\"Sandblasting\",\"Gold Foil\",\"Embossing\"],\n  diwali:[\"Screen Print\",\"Laser Engraving\",\"Custom Box\"],\n  home:[\"Custom Label\",\"Screen Print\",\"Laser Engraving\"],\n  kids:[\"Screen Print\",\"Full Color Print\",\"DTG Print\"],\n  innovative:[\"Custom Packaging\",\"Laser Engraving\",\"UV Print\"],\n  event:[\"Screen Print\",\"Full Color Print\",\"Embroidery\"],\n  keychains:[\"Laser Engraving\",\"Screen Print\",\"Custom Shape\"],\n};\n\nconst CARBON_BY_CAT = {\n  pens:\"low\",notebooks:\"low\",bottles:\"low\",mugs:\"low\",tshirts:\"medium\",caps:\"medium\",shawls:\"low\",\n  bags:\"medium\",powerbanks:\"high\",speakers:\"high\",tech:\"high\",desk:\"low\",wellness:\"medium\",\n  travel:\"low\",eco:\"low\",food:\"low\",luxury:\"medium\",diwali:\"low\",\n  home:\"medium\",kids:\"medium\",innovative:\"high\",event:\"medium\",keychains:\"low\",\n};\n\nconst CARBON_GRAMS = {\n  pens:[5,8,12,18,22,28],notebooks:[80,100,120,180,280,380],bottles:[200,260,290,310,380,480],\n  mugs:[180,220,260,300,380,480],tshirts:[1200,1800,2200,2700,3100,4200],\n  caps:[800,1000,1200,1500,1800,2200],shawls:[600,800,900,1100,1400,1800],\n  bags:[320,480,1000,1200,2000,3000,5800,7200],powerbanks:[2000,3000,4500,6000,8500,12000],\n  speakers:[2000,3500,4500,6400,9800,12000,18500],tech:[280,380,520,1000,1800,2200,2800,4500],\n  desk:[180,220,280,380,520,1200,1600,5200],wellness:[280,380,420,600,800,1200,2000,3800],\n  travel:[65,95,380,680,1100,1400,1800,2200],eco:[12,60,75,120,180,280,340,480],\n  food:[280,380,480,680,820,1200,1500,2000],luxury:[680,1000,1200,1600,1800,2100,2800,5200,28000],\n  diwali:[280,380,520,680,820,1200,1800,2100],\n  home:[180,280,380,520,680,1200],kids:[120,180,280,380,520],\n  innovative:[380,520,680,1000,1800,2200],event:[45,80,120,180,280,380],keychains:[20,30,45,65,100],\n};\n\nconst CARBON_NOTES = {\n  pens:\"Minimal plastic; low energy in manufacture\",\n  notebooks:\"FSC-certified paper; recyclable at end of life\",\n  bottles:\"Replaces hundreds of single-use plastic bottles\",\n  mugs:\"Durable ceramic; water-based inks; long lifespan\",\n  tshirts:\"Recycled fabric reduces virgin material use by 50%\",\n  caps:\"Cotton+polyester; lower impact than full apparel\",\n  shawls:\"Natural fibre \u2014 biodegradable; warmer than synthetics\",\n  bags:\"Durable bags offset production carbon through multi-year use\",\n  powerbanks:\"Li-ion battery; long use cycle needed to offset production CO\u2082\",\n  speakers:\"Significant embedded electronics carbon; long product life needed\",\n  tech:\"Electronics mfg CO\u2082; daily use provides strong lifecycle offset\",\n  desk:\"Bamboo\/wood products; renewable &#038; recyclable materials\",\n  wellness:\"Exercise products promote health; latex or recycled options available\",\n  travel:\"Small travel items; durable use across hundreds of trips\",\n  eco:\"Eco materials; biodegradable or recycled \u2014 minimal footprint\",\n  food:\"Food carbon varies; fair-trade &#038; local sourcing reduces impact\",\n  luxury:\"Premium products designed for 10\u201320+ year use cycles\",\n  diwali:\"Artisan products; supports traditional crafts &#038; livelihoods\",\n  home:\"Home goods; durable use reduces per-use footprint\",\n  kids:\"Children's products; choose BPA-free &#038; non-toxic options\",\n  innovative:\"Smart tech; energy efficiency offsets production carbon\",\n  event:\"Event items; bulk production reduces per-unit footprint\",\n  keychains:\"Small metal item; zinc alloy is fully recyclable\",\n};\n\nconst UNSPLASH_BY_CAT = {\n  pens:[\"photo-1583485088034-697b5bc54ccd\",\"photo-1585336261022-680e295ce3fe\",\"photo-1510936111840-65e151ad71bb\"],\n  notebooks:[\"photo-1531346878377-a5be20888e57\",\"photo-1544716278-ca5e3f4abd8c\",\"photo-1517842645767-c639042777db\",\"photo-1602928309590-3e54f40ead81\"],\n  bottles:[\"photo-1602143407151-7111542de6e8\",\"photo-1568702846914-96b305d2aaeb\",\"photo-1556228578-8c89e6adf883\"],\n  mugs:[\"photo-1497515114629-f71d768fd07c\",\"photo-1579722820308-d74e571900a9\",\"photo-1545665277-5937489579f2\"],\n  tshirts:[\"photo-1521572163474-6864f9cf17ab\",\"photo-1586363104862-3a5e2ab60d99\",\"photo-1556821840-3a63f15732ce\"],\n  caps:[\"photo-1534215754734-18e55d13e346\"],\n  shawls:[\"photo-1615874959474-d609969a20ed\",\"photo-1602810316498-ab67cf68c8e1\"],\n  bags:[\"photo-1553062407-98eeb64c6a62\",\"photo-1591085686350-798c0f9faa7f\",\"photo-1548036328-c9fa89d128fa\",\"photo-1581605405669-fcdf81165afa\",\"photo-1614149162883-504ce4d13909\"],\n  powerbanks:[\"photo-1609091839311-d5365f9ff1c5\",\"photo-1583394838336-acd977736f90\"],\n  speakers:[\"photo-1608043152269-423dbba4e7e1\",\"photo-1606220945770-b5b6c2c55bf1\",\"photo-1505740420928-5e560c06d30e\"],\n  tech:[\"photo-1512941937669-90a1b58e7e9c\",\"photo-1616763355548-1b606f439f86\",\"photo-1558494949-ef010cbdcc31\"],\n  desk:[\"photo-1593642532400-2682810df593\",\"photo-1527864550417-7fd91fc51a46\",\"photo-1507473885765-e6ed057f782c\",\"photo-1517336714731-489689fd1ca8\"],\n  wellness:[\"photo-1571019614242-c5c5dee9f50b\",\"photo-1599901860904-17e6ed7083a0\",\"photo-1602523961358-f9f03dd557db\",\"photo-1547592166-23ac45744acd\"],\n  travel:[\"photo-1553484771-047a44eee27b\",\"photo-1563013544-824ae1b704d3\",\"photo-1476514525535-07fb3b4ae5f1\",\"photo-1586771107445-d3ca888129ff\"],\n  eco:[\"photo-1542601906990-b4d3fb778b09\",\"photo-1459156212016-c812468e2115\",\"photo-1617196034183-421b4040ed20\",\"photo-1618477461853-cf6ed80faba5\"],\n  food:[\"photo-1549007994-cb92caebd54b\",\"photo-1607305387299-a3d9611cd469\",\"photo-1564890369478-c89ca6d9cde9\",\"photo-1586297135537-94bc9ba060aa\"],\n  luxury:[\"photo-1523275335684-37898b6baf30\",\"photo-1607082348824-0a96f2a4b9da\",\"photo-1617806118233-18e1de247200\"],\n  diwali:[\"photo-1566438480900-0609be27a4be\",\"photo-1607082348824-0a96f2a4b9da\"],\n  home:[\"photo-1602523961358-f9f03dd557db\",\"photo-1507473885765-e6ed057f782c\",\"photo-1459156212016-c812468e2115\",\"photo-1497515114629-f71d768fd07c\"],\n  kids:[\"photo-1558618666-fcd25c85cd64\",\"photo-1531346878377-a5be20888e57\"],\n  innovative:[\"photo-1512941937669-90a1b58e7e9c\",\"photo-1558494949-ef010cbdcc31\",\"photo-1609091839311-d5365f9ff1c5\"],\n  event:[\"photo-1534215754734-18e55d13e346\",\"photo-1591085686350-798c0f9faa7f\",\"photo-1521572163474-6864f9cf17ab\"],\n  keychains:[\"photo-1558618666-fcd25c85cd64\"],\n};\n\nlet _genCounter = 0;\n\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ PRODUCT IMAGE ENGINE \u2014 keyword-to-image mapping\n\/\/ Every product name maps to the most accurate Unsplash photo\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nfunction getProductImage(name, cat) {\n  const n = name.toLowerCase();\n  const u = (id) => `https:\/\/images.unsplash.com\/${id}?w=500&q=80`;\n\n  \/\/ \u2500\u2500 PENS & WRITING \u2500\u2500\n  if (n.includes('ball pen') || n.includes('ballpen') || n.includes('biro')) return u('photo-1583485088034-697b5bc54ccd');\n  if (n.includes('roller') || n.includes('rollerball')) return u('photo-1585336261022-680e295ce3fe');\n  if (n.includes('fountain')) return u('photo-1585336261022-680e295ce3fe');\n  if (n.includes('marker') || n.includes('highlighter')) return u('photo-1583485088034-697b5bc54ccd');\n  if (n.includes('stylus')) return u('photo-1583485088034-697b5bc54ccd');\n  if (n.includes('pen set') || n.includes('pen combo')) return u('photo-1510936111840-65e151ad71bb');\n  if (cat === 'pens') return u('photo-1583485088034-697b5bc54ccd');\n\n  \/\/ \u2500\u2500 NOTEBOOKS & DIARIES \u2500\u2500\n  if (n.includes('spiral')) return u('photo-1531346878377-a5be20888e57');\n  if (n.includes('leather') && (n.includes('diary') || n.includes('notebook'))) return u('photo-1544716278-ca5e3f4abd8c');\n  if (n.includes('planner') || n.includes('organizer') && n.includes('ring')) return u('photo-1517842645767-c639042777db');\n  if (n.includes('kraft') || n.includes('recycled') && n.includes('notebook')) return u('photo-1602928309590-3e54f40ead81');\n  if (n.includes('dotted') || n.includes('bullet journal') || n.includes('grid')) return u('photo-1531346878377-a5be20888e57');\n  if (n.includes('cork') && n.includes('notebook')) return u('photo-1517842645767-c639042777db');\n  if (n.includes('bamboo') && n.includes('notebook')) return u('photo-1602928309590-3e54f40ead81');\n  if (n.includes('seed paper') || n.includes('plantable')) return u('photo-1618477461853-cf6ed80faba5');\n  if (cat === 'notebooks') return u('photo-1531346878377-a5be20888e57');\n\n  \/\/ \u2500\u2500 BOTTLES & DRINKWARE \u2500\u2500\n  if (n.includes('copper') || n.includes('ayurvedic')) return u('photo-1568702846914-96b305d2aaeb');\n  if (n.includes('glass bottle') || n.includes('borosil')) return u('photo-1556228578-8c89e6adf883');\n  if (n.includes('infuser')) return u('photo-1556228578-8c89e6adf883');\n  if (n.includes('collapsible') || n.includes('silicone bottle')) return u('photo-1602143407151-7111542de6e8');\n  if (n.includes('smart') && n.includes('bottle')) return u('photo-1609091839311-d5365f9ff1c5');\n  if (n.includes('sports bottle') || n.includes('tritan') || n.includes('bpa')) return u('photo-1602143407151-7111542de6e8');\n  if (cat === 'bottles' || n.includes('sipper') || n.includes('flask') || n.includes('vacuum flask')) return u('photo-1602143407151-7111542de6e8');\n\n  \/\/ \u2500\u2500 MUGS & CUPS \u2500\u2500\n  if (n.includes('travel mug') || n.includes('auto-seal') || n.includes('spill')) return u('photo-1579722820308-d74e571900a9');\n  if (n.includes('glass mug') || n.includes('frosted glass')) return u('photo-1545665277-5937489579f2');\n  if (n.includes('enamel') || n.includes('campfire')) return u('photo-1497515114629-f71d768fd07c');\n  if (n.includes('bamboo') && n.includes('mug')) return u('photo-1545665277-5937489579f2');\n  if (n.includes('stainless') && n.includes('mug')) return u('photo-1579722820308-d74e571900a9');\n  if (n.includes('tumbler')) return u('photo-1579722820308-d74e571900a9');\n  if (cat === 'mugs') return u('photo-1497515114629-f71d768fd07c');\n\n  \/\/ \u2500\u2500 T-SHIRTS & APPAREL \u2500\u2500\n  if (n.includes('hoodie') || n.includes('sweatshirt')) return u('photo-1556821840-3a63f15732ce');\n  if (n.includes('polo') || n.includes('pique')) return u('photo-1586363104862-3a5e2ab60d99');\n  if (n.includes('jacket') || n.includes('windcheater') || n.includes('blazer')) return u('photo-1591047139829-d91aecb6caea');\n  if (n.includes('shirt') && !n.includes('t-shirt') && !n.includes('tshirt')) return u('photo-1602810316498-ab67cf68c8e1');\n  if (n.includes('recycled crew') || n.includes('recycled polo')) return u('photo-1521572163474-6864f9cf17ab');\n  if (n.includes('uniform') || n.includes('workwear')) return u('photo-1586363104862-3a5e2ab60d99');\n  if (n.includes('organic') && n.includes('tee')) return u('photo-1521572163474-6864f9cf17ab');\n  if (cat === 'tshirts') return u('photo-1521572163474-6864f9cf17ab');\n\n  \/\/ \u2500\u2500 CAPS & HATS \u2500\u2500\n  if (n.includes('beanie') || n.includes('knit') || n.includes('pom pom')) return u('photo-1576871337632-b9aef4c17ab9');\n  if (n.includes('bucket hat')) return u('photo-1534215754734-18e55d13e346');\n  if (n.includes('trucker') || n.includes('mesh cap')) return u('photo-1534215754734-18e55d13e346');\n  if (n.includes('visor')) return u('photo-1534215754734-18e55d13e346');\n  if (cat === 'caps') return u('photo-1534215754734-18e55d13e346');\n\n  \/\/ \u2500\u2500 SHAWLS & WRAPS \u2500\u2500\n  if (n.includes('pashmina') || n.includes('kashmiri')) return u('photo-1615874959474-d609969a20ed');\n  if (n.includes('stole') || n.includes('dupatta')) return u('photo-1615874959474-d609969a20ed');\n  if (n.includes('silk') || n.includes('georgette')) return u('photo-1615874959474-d609969a20ed');\n  if (cat === 'shawls') return u('photo-1615874959474-d609969a20ed');\n\n  \/\/ \u2500\u2500 BAGS & BACKPACKS \u2500\u2500\n  if (n.includes('laptop backpack') || n.includes('rfid backpack')) return u('photo-1553062407-98eeb64c6a62');\n  if (n.includes('laptop bag') || n.includes('laptop sleeve')) return u('photo-1547949003-9792a18a2601');\n  if (n.includes('tote') || n.includes('shopper')) return u('photo-1591085686350-798c0f9faa7f');\n  if (n.includes('jute')) return u('photo-1614149162883-504ce4d13909');\n  if (n.includes('rpet') || n.includes('recycled') && n.includes('bag')) return u('photo-1591085686350-798c0f9faa7f');\n  if (n.includes('duffel') || n.includes('gym bag')) return u('photo-1548036328-c9fa89d128fa');\n  if (n.includes('trolley') || n.includes('cabin bag') || n.includes('luggage')) return u('photo-1586771107445-d3ca888129ff');\n  if (n.includes('sling') || n.includes('waist') || n.includes('crossbody')) return u('photo-1553062407-98eeb64c6a62');\n  if (n.includes('messenger')) return u('photo-1547949003-9792a18a2601');\n  if (n.includes('cooler') || n.includes('insulated')) return u('photo-1548036328-c9fa89d128fa');\n  if (cat === 'bags') return u('photo-1553062407-98eeb64c6a62');\n\n  \/\/ \u2500\u2500 POWER BANKS & CHARGERS \u2500\u2500\n  if (n.includes('solar')) return u('photo-1609091839311-d5365f9ff1c5');\n  if (n.includes('wireless charg') || n.includes('charging pad')) return u('photo-1583394838336-acd977736f90');\n  if (n.includes('magsafe') || n.includes('magnetic')) return u('photo-1583394838336-acd977736f90');\n  if (cat === 'powerbanks') return u('photo-1609091839311-d5365f9ff1c5');\n\n  \/\/ \u2500\u2500 SPEAKERS & AUDIO \u2500\u2500\n  if (n.includes('earbuds') || n.includes('tws') || n.includes('true wireless')) return u('photo-1606220945770-b5b6c2c55bf1');\n  if (n.includes('headphone') || n.includes('anc') || n.includes('over-ear') || n.includes('neckband')) return u('photo-1505740420928-5e560c06d30e');\n  if (n.includes('speaker')) return u('photo-1608043152269-423dbba4e7e1');\n  if (cat === 'speakers') return u('photo-1608043152269-423dbba4e7e1');\n\n  \/\/ \u2500\u2500 TECH & GADGETS \u2500\u2500\n  if (n.includes('pen drive') || n.includes('usb drive') || n.includes('flash drive')) return u('photo-1616763355548-1b606f439f86');\n  if (n.includes('mobile stand') || n.includes('phone stand') || n.includes('laptop stand')) return u('photo-1512941937669-90a1b58e7e9c');\n  if (n.includes('mouse pad') || n.includes('mousepad')) return u('photo-1527864550417-7fd91fc51a46');\n  if (n.includes('keyboard')) return u('photo-1558494949-ef010cbdcc31');\n  if (n.includes('mouse') && !n.includes('mousepad')) return u('photo-1527864550417-7fd91fc51a46');\n  if (n.includes('hub') || n.includes('adapter') || n.includes('hdmi')) return u('photo-1558494949-ef010cbdcc31');\n  if (n.includes('cable') || n.includes('charging cable')) return u('photo-1558494949-ef010cbdcc31');\n  if (n.includes('webcam') || n.includes('ring light')) return u('photo-1512941937669-90a1b58e7e9c');\n  if (n.includes('nfc') || n.includes('smart notebook') || n.includes('digital notepad')) return u('photo-1531346878377-a5be20888e57');\n  if (n.includes('tracker') || n.includes('smart tag')) return u('photo-1609091839311-d5365f9ff1c5');\n  if (cat === 'tech' || cat === 'innovative') return u('photo-1512941937669-90a1b58e7e9c');\n\n  \/\/ \u2500\u2500 DESK & OFFICE \u2500\u2500\n  if (n.includes('bamboo') && (n.includes('desk') || n.includes('organis'))) return u('photo-1593642532400-2682810df593');\n  if (n.includes('mouse pad') || n.includes('xl pad') || n.includes('desk pad')) return u('photo-1527864550417-7fd91fc51a46');\n  if (n.includes('lamp') || n.includes('table light') || n.includes('led lamp')) return u('photo-1507473885765-e6ed057f782c');\n  if (n.includes('monitor') || n.includes('riser') || n.includes('stand')) return u('photo-1593642532400-2682810df593');\n  if (n.includes('plant') || n.includes('succulent') || n.includes('planter')) return u('photo-1459156212016-c812468e2115');\n  if (n.includes('cable box') || n.includes('cable manage')) return u('photo-1517336714731-489689fd1ca8');\n  if (n.includes('clock') || n.includes('photo frame')) return u('photo-1507473885765-e6ed057f782c');\n  if (n.includes('calendar')) return u('photo-1531346878377-a5be20888e57');\n  if (cat === 'desk') return u('photo-1593642532400-2682810df593');\n\n  \/\/ \u2500\u2500 WELLNESS & FITNESS \u2500\u2500\n  if (n.includes('yoga mat')) return u('photo-1599901860904-17e6ed7083a0');\n  if (n.includes('resistance band') || n.includes('band set')) return u('photo-1571019614242-c5c5dee9f50b');\n  if (n.includes('massage') || n.includes('foam roller') || n.includes('isoothe') || n.includes('raylax')) return u('photo-1571019614242-c5c5dee9f50b');\n  if (n.includes('candle') || n.includes('aromatherapy')) return u('photo-1602523961358-f9f03dd557db');\n  if (n.includes('essential oil') || n.includes('diffuser')) return u('photo-1547592166-23ac45744acd');\n  if (n.includes('eye mask') || n.includes('sleep mask') || n.includes('neck pillow') || n.includes('kollar')) return u('photo-1571019614242-c5c5dee9f50b');\n  if (n.includes('shaker') || n.includes('protein')) return u('photo-1579722820308-d74e571900a9');\n  if (n.includes('jump rope') || n.includes('skipping')) return u('photo-1571019614242-c5c5dee9f50b');\n  if (n.includes('scale') || n.includes('weight')) return u('photo-1571019614242-c5c5dee9f50b');\n  if (n.includes('globe trotter') || n.includes('protekt')) return u('photo-1571019614242-c5c5dee9f50b');\n  if (cat === 'wellness') return u('photo-1571019614242-c5c5dee9f50b');\n\n  \/\/ \u2500\u2500 TRAVEL ACCESSORIES \u2500\u2500\n  if (n.includes('passport') || n.includes('passport holder')) return u('photo-1553484771-047a44eee27b');\n  if (n.includes('wallet') || n.includes('rfid wallet')) return u('photo-1563013544-824ae1b704d3');\n  if (n.includes('luggage tag') || n.includes('baggage tag')) return u('photo-1476514525535-07fb3b4ae5f1');\n  if (n.includes('trolley bag') || n.includes('suitcase')) return u('photo-1586771107445-d3ca888129ff');\n  if (n.includes('packing cube') || n.includes('travel pouch') || n.includes('toiletry')) return u('photo-1476514525535-07fb3b4ae5f1');\n  if (n.includes('travel pillow')) return u('photo-1553484771-047a44eee27b');\n  if (n.includes('umbrella')) return u('photo-1553484771-047a44eee27b');\n  if (cat === 'travel') return u('photo-1553484771-047a44eee27b');\n\n  \/\/ \u2500\u2500 ECO-FRIENDLY \u2500\u2500\n  if (n.includes('seed paper') || n.includes('plantable')) return u('photo-1542601906990-b4d3fb778b09');\n  if (n.includes('bamboo') && n.includes('cutlery')) return u('photo-1617196034183-421b4040ed20');\n  if (n.includes('jute') || n.includes('hessian')) return u('photo-1614149162883-504ce4d13909');\n  if (n.includes('recycled') && n.includes('tee')) return u('photo-1521572163474-6864f9cf17ab');\n  if (n.includes('recycled') && n.includes('polo')) return u('photo-1586363104862-3a5e2ab60d99');\n  if (n.includes('cork')) return u('photo-1617196034183-421b4040ed20');\n  if (n.includes('plant') || n.includes('succulent')) return u('photo-1459156212016-c812468e2115');\n  if (n.includes('beeswax') || n.includes('organic candle')) return u('photo-1602523961358-f9f03dd557db');\n  if (cat === 'eco') return u('photo-1542601906990-b4d3fb778b09');\n\n  \/\/ \u2500\u2500 FOOD & GOURMET \u2500\u2500\n  if (n.includes('chocolate')) return u('photo-1549007994-cb92caebd54b');\n  if (n.includes('dry fruit') || n.includes('nuts') || n.includes('cashew') || n.includes('almond')) return u('photo-1607305387299-a3d9611cd469');\n  if (n.includes('tea') || n.includes('chai')) return u('photo-1564890369478-c89ca6d9cde9');\n  if (n.includes('coffee')) return u('photo-1497515114629-f71d768fd07c');\n  if (n.includes('hamper') || n.includes('gift box') || n.includes('snack')) return u('photo-1586297135537-94bc9ba060aa');\n  if (n.includes('honey') || n.includes('spice') || n.includes('gourmet')) return u('photo-1586297135537-94bc9ba060aa');\n  if (cat === 'food') return u('photo-1549007994-cb92caebd54b');\n\n  \/\/ \u2500\u2500 LUXURY & PREMIUM \u2500\u2500\n  if (n.includes('watch')) return u('photo-1523275335684-37898b6baf30');\n  if (n.includes('crystal') || n.includes('trophy') || n.includes('award')) return u('photo-1617806118233-18e1de247200');\n  if (n.includes('leather') && (n.includes('hamper') || n.includes('set'))) return u('photo-1544716278-ca5e3f4abd8c');\n  if (n.includes('whiskey') || n.includes('bar') || n.includes('wine')) return u('photo-1607082348824-0a96f2a4b9da');\n  if (n.includes('compass') || n.includes('brass') || n.includes('silver')) return u('photo-1617806118233-18e1de247200');\n  if (n.includes('cashmere') || n.includes('blanket')) return u('photo-1615874959474-d609969a20ed');\n  if (cat === 'luxury') return u('photo-1523275335684-37898b6baf30');\n\n  \/\/ \u2500\u2500 DIWALI & FESTIVE \u2500\u2500\n  if (n.includes('diya') || n.includes('diyas') || n.includes('tealight')) return u('photo-1566438480900-0609be27a4be');\n  if (n.includes('idol') || n.includes('laxmi') || n.includes('ganesh') || n.includes('deity')) return u('photo-1566438480900-0609be27a4be');\n  if (n.includes('puja') || n.includes('brass') || n.includes('temple')) return u('photo-1566438480900-0609be27a4be');\n  if (n.includes('diwali') || n.includes('festive hamper')) return u('photo-1607082348824-0a96f2a4b9da');\n  if (cat === 'diwali') return u('photo-1566438480900-0609be27a4be');\n\n  \/\/ \u2500\u2500 HOME & LIFESTYLE \u2500\u2500\n  if (n.includes('candle') || n.includes('diffuser')) return u('photo-1602523961358-f9f03dd557db');\n  if (n.includes('lamp') || n.includes('light')) return u('photo-1507473885765-e6ed057f782c');\n  if (n.includes('plant') || n.includes('planter')) return u('photo-1459156212016-c812468e2115');\n  if (n.includes('kitchen') || n.includes('chopping') || n.includes('utensil')) return u('photo-1586297135537-94bc9ba060aa');\n  if (n.includes('clock')) return u('photo-1507473885765-e6ed057f782c');\n  if (n.includes('cushion') || n.includes('throw') || n.includes('blanket')) return u('photo-1615874959474-d609969a20ed');\n  if (n.includes('bar accessor') || n.includes('wine') || n.includes('whiskey')) return u('photo-1607082348824-0a96f2a4b9da');\n  if (cat === 'home') return u('photo-1602523961358-f9f03dd557db');\n\n  \/\/ \u2500\u2500 KIDS & FAMILY \u2500\u2500\n  if (n.includes('board game') || n.includes('chess') || n.includes('puzzle')) return u('photo-1558618666-fcd25c85cd64');\n  if (n.includes('colouring') || n.includes('crayon') || n.includes('art')) return u('photo-1542601906990-b4d3fb778b09');\n  if (n.includes('kid') && n.includes('t-shirt')) return u('photo-1521572163474-6864f9cf17ab');\n  if (n.includes('toy') || n.includes('fidget') || n.includes('building block')) return u('photo-1558618666-fcd25c85cd64');\n  if (cat === 'kids') return u('photo-1558618666-fcd25c85cd64');\n\n  \/\/ \u2500\u2500 EVENT & OUTDOOR \u2500\u2500\n  if (n.includes('lanyard') || n.includes('badge')) return u('photo-1547949003-9792a18a2601');\n  if (n.includes('umbrella')) return u('photo-1553484771-047a44eee27b');\n  if (n.includes('sports') || n.includes('medal') || n.includes('trophy')) return u('photo-1617806118233-18e1de247200');\n  if (cat === 'event') return u('photo-1547949003-9792a18a2601');\n\n  \/\/ \u2500\u2500 KEYCHAINS \u2500\u2500\n  if (cat === 'keychains') return u('photo-1558618666-fcd25c85cd64');\n\n  \/\/ \u2500\u2500 FALLBACK: use category default \u2500\u2500\n  const catDefaults = {\n    pens:'photo-1583485088034-697b5bc54ccd', notebooks:'photo-1531346878377-a5be20888e57',\n    bottles:'photo-1602143407151-7111542de6e8', mugs:'photo-1497515114629-f71d768fd07c',\n    tshirts:'photo-1521572163474-6864f9cf17ab', caps:'photo-1534215754734-18e55d13e346',\n    shawls:'photo-1615874959474-d609969a20ed', bags:'photo-1553062407-98eeb64c6a62',\n    powerbanks:'photo-1609091839311-d5365f9ff1c5', speakers:'photo-1608043152269-423dbba4e7e1',\n    tech:'photo-1512941937669-90a1b58e7e9c', desk:'photo-1593642532400-2682810df593',\n    wellness:'photo-1571019614242-c5c5dee9f50b', travel:'photo-1553484771-047a44eee27b',\n    eco:'photo-1542601906990-b4d3fb778b09', food:'photo-1549007994-cb92caebd54b',\n    luxury:'photo-1523275335684-37898b6baf30', diwali:'photo-1566438480900-0609be27a4be',\n    home:'photo-1602523961358-f9f03dd557db', kids:'photo-1558618666-fcd25c85cd64',\n    innovative:'photo-1512941937669-90a1b58e7e9c', event:'photo-1547949003-9792a18a2601',\n    keychains:'photo-1558618666-fcd25c85cd64',\n  };\n  return u(catDefaults[cat] || 'photo-1607082348824-0a96f2a4b9da');\n}\n\nasync function callAI(prompt, onChunk) {\n  \/\/ Simulate a short async delay for UX feel\n  await new Promise(r => setTimeout(r, 600 + Math.random() * 800));\n\n  \/\/ Determine category from prompt\n  const lower = prompt.toLowerCase();\n  let cats = Object.keys(PRODUCT_TEMPLATES).filter(c => c !== 'all');\n  \/\/ Map natural language to category keys\n  const catAliases = {\n    'apparel':'tshirts','t-shirt':'tshirts','polo':'tshirts','shirt':'tshirts',\n    'hoodie':'tshirts','jacket':'tshirts','uniform':'tshirts',\n    'backpack':'bags','tote':'bags','duffel':'bags','laptop bag':'bags','sling':'bags',\n    'bottle':'bottles','sipper':'bottles','flask':'bottles','drinkware':'bottles',\n    'mug':'mugs','cup':'mugs','tumbler':'mugs',\n    'cap':'caps','hat':'caps','beanie':'caps',\n    'speaker':'speakers','earbuds':'speakers','headphone':'speakers','audio':'speakers',\n    'power bank':'powerbanks','powerbank':'powerbanks','charger':'powerbanks',\n    'wellness':'wellness','yoga':'wellness','fitness':'wellness','massage':'wellness',\n    'eco':'eco','bamboo':'eco','recycled':'eco','sustainable':'eco','organic':'eco',\n    'diwali':'diwali','festive':'diwali','festival':'diwali','hamper':'diwali',\n    'home':'home','lifestyle':'home','candle':'home','lamp':'home','kitchen':'home',\n    'kid':'kids','children':'kids','family':'kids','toy':'kids','game':'kids',\n    'innovative':'innovative','smart':'innovative','nfc':'innovative','ai ':'innovative',\n    'event':'event','outdoor':'event','lanyard':'event','umbrella':'event',\n    'keychain':'keychains','key ring':'keychains',\n    'shawl':'shawls','stole':'shawls','pashmina':'shawls','scarf':'shawls',\n    'pen ':'pens','writing':'pens','stationery':'pens',\n    'notebook':'notebooks','diary':'notebooks','journal':'notebooks','planner':'notebooks',\n    'tech':'tech','gadget':'tech','usb':'tech','keyboard':'tech','mouse':'tech',\n    'desk':'desk','office':'desk','organizer':'desk',\n    'travel':'travel','passport':'travel','luggage':'travel','packing':'travel',\n    'food':'food','chocolate':'food','dry fruit':'food','snack':'food','tea':'food',\n    'luxury':'luxury','premium':'luxury','executive':'luxury','crystal':'luxury','watch':'luxury',\n  };\n  let chosenCat = 'all';\n  for (const [alias, cat] of Object.entries(catAliases)) {\n    if (lower.includes(alias)) { chosenCat = cat; break; }\n  }\n  if (chosenCat === 'all') {\n    chosenCat = cats.find(c => lower.includes(c)) || 'all';\n  }\n\n  \/\/ Multi-cat for broad searches\n  let targetCats = [];\n  if (chosenCat === 'all') {\n    \/\/ pick 3-4 random cats\n    const shuffled = [...cats].sort(() => Math.random() - .5);\n    targetCats = shuffled.slice(0, 4);\n  } else {\n    targetCats = [chosenCat];\n    \/\/ add a complementary cat\n    const extras = {pens:['notebooks'],notebooks:['pens'],bottles:['mugs'],tshirts:['caps'],bags:['travel'],speakers:['powerbanks'],tech:['desk'],wellness:['bottles'],food:['diwali'],luxury:['shawls']};\n    if (extras[chosenCat]) targetCats.push(extras[chosenCat][0]);\n  }\n\n  \/\/ How many per cat\n  const countMatch = prompt.match(\/generate (\\d+)\/i);\n  const totalCount = countMatch ? parseInt(countMatch[1]) : 12;\n  const perCat = Math.ceil(totalCount \/ targetCats.length);\n\n  const results = [];\n  for (const cat of targetCats) {\n    const templates = PRODUCT_TEMPLATES[cat] || PRODUCT_TEMPLATES.pens;\n    const prices = PRICE_RANGES[cat] || [100,200,300,400,500];\n    const brandings = BRANDING_OPTIONS[cat] || [\"Screen Print\",\"Laser Engraving\"];\n    const imgs = UNSPLASH_BY_CAT[cat] || [\"photo-1607082348824-0a96f2a4b9da\"];\n    const carbon = CARBON_BY_CAT[cat] || \"medium\";\n    const cgArr = CARBON_GRAMS[cat] || [200,400,600,800];\n    const cn = CARBON_NOTES[cat] || \"Standard production footprint\";\n\n    \/\/ Shuffle templates and pick unique ones\n    const shuffled = [...templates].sort(() => Math.random() - .5);\n    const picked = shuffled.slice(0, Math.min(perCat, shuffled.length));\n\n    for (const name of picked) {\n      _genCounter++;\n      const price = prices[Math.floor(Math.random() * prices.length)];\n      const brand = brandings[Math.floor(Math.random() * brandings.length)];\n      const img = getProductImage(name, cat);\n      const cgVal = cgArr[Math.floor(Math.random() * cgArr.length)];\n      const moqBase = cat === 'pens' ? 200 : cat === 'notebooks' ? 50 : cat === 'luxury' ? 5 : cat === 'food' ? 15 : 25;\n      const moq = [moqBase, moqBase*2, moqBase*4][Math.floor(Math.random()*3)];\n      const leadDays = [5,7,8,10,12,14][Math.floor(Math.random()*6)];\n      results.push({name, cat, tags:[cat], img, orig:price, moq, brand, lead:`${leadDays} days`, carbon, cg:cgVal, cn});\n    }\n  }\n\n  \/\/ Output as JSON string (callAI contract)\n  onChunk(JSON.stringify(results.slice(0, totalCount)));\n}\n\nasync function loadMoreProducts(){\n  if(aiGenerating)return;\n  aiGenerating=true;\n  const btn=document.getElementById('lmBtn');\n  const txt=document.getElementById('lmBtnTxt');\n  btn.disabled=true;\n  txt.innerHTML='<span style=\"display:inline-flex;align-items:center;gap:8px;\"><span class=\"espin\" style=\"width:20px;height:20px;border-width:2px;\"><\/span> Generating products with AI...<\/span>';\n\n  const cat=currentCatFilter==='all'?'all categories of Indian promotional merchandise':currentCatFilter;\n  const budgetNote=currentBudgetFilter?`Price range \u20b9${currentBudgetFilter.min}\u2013\u20b9${currentBudgetFilter.max}`:'various price ranges';\n  const existing=PRODUCTS.map(p=>p.name).slice(0,20).join(', ');\n\n  let accumulated='';\n  try{\n    txt.innerHTML='<span style=\"display:inline-flex;align-items:center;gap:8px;\"><span style=\"width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .75s linear infinite;display:inline-block;\"><\/span> Generating products with accurate images...<\/span>';\n    await callAI(`Generate 20 unique Indian promotional merchandise products for category: \"${cat}\". \n${budgetNote}. \nThese already exist (don't repeat): ${existing}\nInclude variety: different materials, price points, use cases, branding options.\nFocus on products that Indian corporate gifting companies actually source and sell.\nReturn ONLY a JSON array of 20 products.`,\n    (chunk)=>{\n      accumulated+=chunk;\n    });\n\n    \/\/ Parse JSON from accumulated text\n    const cleaned=accumulated.replace(\/```json|```\/g,'').trim();\n    const startIdx=cleaned.indexOf('[');const endIdx=cleaned.lastIndexOf(']');\n    if(startIdx===-1||endIdx===-1)throw new Error('No JSON array found');\n    const arr=JSON.parse(cleaned.slice(startIdx,endIdx+1));\n    const newProds=arr.map(p=>({...p,id:nextId++,orig:parseInt(p.orig)||200,moq:parseInt(p.moq)||50,cg:parseInt(p.cg)||100}));\n    PRODUCTS.push(...newProds);\n    \/\/ Re-render catalog with current filter\n    const filtered=currentCatFilter==='all'?PRODUCTS:PRODUCTS.filter(p=>p.tags.includes(currentCatFilter)||p.cat===currentCatFilter);\n    renderCatalog(filtered);\n    txt.textContent=`\u2726 Generate More Products with AI`;\n    document.getElementById('lmNote').textContent=`Added ${newProds.length} new products \u00b7 Total in database: ${PRODUCTS.length}`;\n  }catch(e){\n    console.error(e);\n    document.getElementById('lmNote').textContent='Error generating \u2014 please try again';\n    txt.textContent='\u2726 Generate More Products with AI';\n  }\n  btn.disabled=false;aiGenerating=false;\n}\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ AI SEARCH PAGE\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nlet aiSearching=false;\nfunction setQuery(q){document.getElementById('aiQuery').value=q;document.getElementById('aiQuery').focus();}\n\nasync function aiSearch(){\n  const query=document.getElementById('aiQuery').value.trim();\n  if(!query||aiSearching)return;\n  aiSearching=true;\n  const btn=document.getElementById('aiBtn');\n  btn.disabled=true;btn.textContent='Searching...';\n  document.getElementById('aiStatus').style.display='flex';\n  document.getElementById('aiStatusTxt').textContent='AI is finding products for: '+query;\n  document.getElementById('aiStream').classList.add('on');\n  document.getElementById('aiStream').textContent='';\n  document.getElementById('aiResults').innerHTML='';\n\n  let accumulated='';\n  try{\n    document.getElementById('aiStatusTxt').textContent='AI is searching for: '+query+'...';\n    await callAI(`Find and generate 12 relevant Indian promotional merchandise products for this search: \"${query}\".\nInclude a mix of price points and styles relevant to the query.\nMake products highly specific to the search query.\nReturn ONLY a JSON array of 12 products.`,\n    (chunk)=>{\n      accumulated+=chunk;\n      document.getElementById('aiStatusTxt').textContent='Products found \u2014 parsing results...';\n    });\n\n    const cleaned=accumulated.replace(\/```json|```\/g,'').trim();\n    const si=cleaned.indexOf('['),ei=cleaned.lastIndexOf(']');\n    if(si===-1||ei===-1)throw new Error('No array in response');\n    const arr=JSON.parse(cleaned.slice(si,ei+1));\n    const newProds=arr.map(p=>({...p,id:nextId++,orig:parseInt(p.orig)||200,moq:parseInt(p.moq)||50,cg:parseInt(p.cg)||100}));\n    PRODUCTS.push(...newProds);\n\n    document.getElementById('aiStream').classList.remove('on');\n    document.getElementById('aiStatus').style.display='none';\n    document.getElementById('aiResults').innerHTML=`\n      <div style=\"grid-column:1\/-1;margin-bottom:4px;\">\n        <div class=\"stag\">Search Results<\/div>\n        <div style=\"font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;margin-bottom:4px;\">Found ${newProds.length} products for \"${query}\"<\/div>\n        <div style=\"font-size:13px;color:var(--muted);\">Click any product to add it to your custom kit.<\/div>\n      <\/div>\n      ${newProds.map(p=>pCard(p,null,true)).join('')}`;\n    syncKit();\n  }catch(e){\n    document.getElementById('aiStatus').style.display='none';\n    document.getElementById('aiStream').classList.remove('on');\n    document.getElementById('aiResults').innerHTML=`<div style=\"grid-column:1\/-1;color:var(--red);font-size:14px;padding:20px;\">Error: ${e.message}. Please try again.<\/div>`;\n  }\n  btn.disabled=false;btn.textContent='\ud83d\udd0d Search';aiSearching=false;\n}\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ AI DISCOVERY ENGINE\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nconst EXPERT={\n  developers:{name:\"The Deep Work Kit\",tag:\"Developer Edition\",rationale:\"A developer's desk is sacred \u2014 every item must earn its place. Tech utilities that remove daily friction, a notebook for system design sketches, and an XL mousepad for uninterrupted flow.\",heroIds:[30,38,37],utilIds:[47,5,9],brandIds:[2,78]},\n  cxo:{name:\"The Executive Prestige Kit\",tag:\"CXO Signature\",rationale:\"Senior leaders don't want clutter \u2014 they want signals of quality. ANC headphones for focus, a premium leather diary, and a bamboo organiser. Minimal, powerful, long-lasting.\",heroIds:[35,6,70],utilIds:[46,11,50],brandIds:[3,67]},\n  sales:{name:\"The Road Warrior Kit\",tag:\"Sales Force Edition\",rationale:\"Sales people are always moving. Every item must travel, charge, and help them look sharp. Power bank + backpack + polo shirt = field-ready, brand-visible, confidence-building.\",heroIds:[30,25,27],utilIds:[18,50,11],brandIds:[19,51]},\n  employees:{name:\"The Welcome Aboard Kit\",tag:\"Employee Onboarding\",rationale:\"First impressions are everything. This kit says 'we thought about you.' A branded tee, a solid notebook, a quality steel bottle. It builds belonging from day one.\",heroIds:[17,30,11],utilIds:[5,47,9],brandIds:[2,10]},\n  clients:{name:\"The Premium Appreciation Bundle\",tag:\"Client Delight\",rationale:\"Client gifts must create brand memory. Skip the pens and give something they use at home. Artisan tea, a beautiful candle set, a copper Ayurvedic bottle \u2014 personal and story-rich.\",heroIds:[63,42,15],utilIds:[11,50,3],brandIds:[57,70]},\n  events:{name:\"The Conference Swag Kit\",tag:\"Event Edition\",rationale:\"Event swag must survive the journey home AND be used the next morning. A Bluetooth speaker plays your brand every day. Cap + tee = walking billboard. Jute bag carries it all.\",heroIds:[33,19,17],utilIds:[24,5,11],brandIds:[23,57]},\n  students:{name:\"The Campus Starter Kit\",tag:\"Youth Edition\",rationale:\"Students can spot generic instantly. A sharp backpack, a branded tee, a clean notebook \u2014 functional, cool, identity-building. This kit gets posted on Instagram.\",heroIds:[25,17,19],utilIds:[5,10,11],brandIds:[23,57]},\n  women:{name:\"The Mindful She Kit\",tag:\"Women's Edition\",rationale:\"A thoughtful gift for someone who values self-care and sustainability. Aromatherapy, an eco copper bottle, artisan tea. Lives at home where real appreciation happens.\",heroIds:[43,42,63],utilIds:[11,7,80],brandIds:[4,57]},\n};\n\nasync function runDiscovery(){\n  const budget=parseInt(document.getElementById('eBudget').value)||1500;\n  const qty=parseInt(document.getElementById('eQty').value)||50;\n  const aud=document.getElementById('eAud').value||'employees';\n  const eco=document.getElementById('eEco').value;\n  const notes=document.getElementById('eNotes').value;\n  const btn=document.getElementById('esubBtn'),ld=document.getElementById('eld'),pf=document.getElementById('efill');\n  ld.classList.add('on');btn.disabled=true;\n  const msgs=[\"Reading your brief with expert eyes...\",\"Scanning 100,000+ India products...\",\"Applying 50-year merchandise expertise...\",\"Scoring utility, perceived value & innovation...\",\"Constructing your expert kit...\",\"Calculating carbon footprint...\",\"Finalising pricing with branding + GST...\"];\n  let mi=0,prog=0;\n  const iv=setInterval(()=>{if(mi<msgs.length)document.getElementById('etxt').textContent=msgs[mi++];prog=Math.min(prog+14,95);pf.style.width=prog+'%';},520);\n  await new Promise(r=>setTimeout(r,3800));\n  clearInterval(iv);pf.style.width='100%';\n  setTimeout(()=>{ld.classList.remove('on');btn.disabled=false;},300);\n\n  const filtered=PRODUCTS.filter(p=>dp(p.orig)<=budget&#038;&#038;p.moq<=qty&#038;&#038;(eco==='any'||(eco==='eco'?p.carbon==='low':true)));\n  renderResults(filtered,budget,qty,aud);\n}\n\nfunction renderResults(products,budget,qty,aud){\n  const sec=document.getElementById('resSec');sec.classList.add('on');\n  setTimeout(()=>sec.scrollIntoView({behavior:'smooth',block:'start'}),200);\n  const aLabel={developers:'Developers',cxo:'CXO \/ Leadership',sales:'Sales Team',employees:'Employees',clients:'Clients',events:'Event Attendees',students:'Students',women:'Women-focused'};\n  document.getElementById('resTitle').textContent=`Expert Kit for ${aLabel[aud]||aud}`;\n  document.getElementById('resMeta').textContent=`Budget: ${inr(budget)}\/person \u00b7 Qty: ${qty} \u00b7 ${products.length} eligible products`;\n  const def=EXPERT[aud]||EXPERT.employees;\n  const getP=id=>products.find(p=>p.id===id)||byId(id);\n  const heroItems=def.heroIds.map(id=>({...getP(id),role:'hero'})).filter(Boolean).slice(0,2);\n  const utilItems=def.utilIds.map(id=>({...getP(id),role:'utility'})).filter(Boolean).slice(0,2);\n  const brandItems=def.brandIds.map(id=>({...getP(id),role:'branding'})).filter(Boolean).slice(0,1);\n  const kitItems=[...heroItems,...utilItems,...brandItems];\n  const{pt,bc,gst,total}=kitPrice(kitItems.map(p=>p.id));\n  const carbonG=kitItems.reduce((s,p)=>s+(p.cg||0),0);\n  document.getElementById('kitsOut').innerHTML=`<div class=\"rkit\">\n    <div class=\"rk-top\"><div class=\"rk-name\">${def.name}<\/div><div class=\"rk-tag\">${def.tag}<\/div><div class=\"rk-rat\">${def.rationale}<\/div><\/div>\n    <div class=\"rk-body\">\n      <div class=\"rk-items\">${kitItems.map(p=>pCard(p,p.role,false)).join('')}<\/div>\n      <div class=\"rk-foot\">\n        <div>\n          <div style=\"font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;\">Per Kit Estimate<\/div>\n          <div class=\"rk-total\">${inr(total)}<\/div>\n          <div class=\"rk-break\">Products: ${inr(pt)} \u00b7 Branding ~${inr(bc)} \u00b7 GST: ${inr(gst)}<\/div>\n          <div style=\"display:flex;align-items:center;gap:8px;margin-top:8px;\">${cbBadge(carbonLvl(carbonG))}<span style=\"font-size:11px;color:var(--muted2);\">Kit CO\u2082: ~${(carbonG\/1000).toFixed(1)}kg<\/span><\/div>\n        <\/div>\n        <button class=\"btn-p\" onclick=\"openQModal('result',null,'${def.name}',${JSON.stringify(kitItems.map(x=>x.name))},${total})\">\ud83d\udce9 Request a Quote<\/button>\n      <\/div>\n    <\/div>\n  <\/div>`;\n  document.getElementById('prodsOut').innerHTML=`<div style=\"margin-top:20px;\"><div class=\"stag\">Top Matches<\/div><div class=\"stit\" style=\"font-size:28px;margin-bottom:20px;\">Individually Recommended<\/div><div class=\"pg\">${products.slice(0,12).map(p=>pCard(p,null,false)).join('')}<\/div><\/div>`;\n}\nfunction closeRes(){document.getElementById('resSec').classList.remove('on');document.getElementById('engSec').scrollIntoView({behavior:'smooth'});}\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ QUOTE MODAL\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nlet qCtx={};\nfunction openModal(type,kitId){\n  qCtx={type,kitId};\n  if(type==='custom'&&myKit.length===0){alert('Add items to your kit first from the Catalog.');return;}\n  document.getElementById('drawer').classList.remove('open');\n  const{pt,bc,gst,total}=kitPrice(myKit.map(x=>x.id));\n  const itemsList=myKit.map(p=>`<div class=\"mprev-item\">${p.name} \u2014 ${inr(dp(p.orig))}<\/div>`).join('');\n  buildModal(`Your Custom Kit (${myKit.length} items)`,itemsList,total);\n}\nfunction openQModal(type,kitId,name,items,total){\n  qCtx={type,kitId,name,items,total};\n  const itemsList=(Array.isArray(items)?items:JSON.parse(items)).map(i=>`<div class=\"mprev-item\">${i}<\/div>`).join('');\n  buildModal(name,itemsList,parseInt(total)||0);\n}\nfunction buildModal(title,itemsList,total){\n  document.getElementById('mTitle').textContent='Request a Quote';\n  document.getElementById('mBody').innerHTML=`\n    <div class=\"mprev\">\n      <div class=\"mprev-title\">${title}<\/div>\n      ${itemsList}\n      <div class=\"mprev-total\"><span>Estimated per Kit<\/span><span>${inr(total)}<\/span><\/div>\n    <\/div>\n    <div class=\"mrow\">\n      <div class=\"mfg\"><label>Your Name *<\/label><input type=\"text\" class=\"fc\" id=\"qName\" placeholder=\"Priya Sharma\"\/><\/div>\n      <div class=\"mfg\"><label>Company *<\/label><input type=\"text\" class=\"fc\" id=\"qCompany\" placeholder=\"Acme Corp\"\/><\/div>\n    <\/div>\n    <div class=\"mrow\">\n      <div class=\"mfg\"><label>Email *<\/label><input type=\"email\" class=\"fc\" id=\"qEmail\" placeholder=\"priya@acme.com\"\/><\/div>\n      <div class=\"mfg\"><label>Phone *<\/label><input type=\"tel\" class=\"fc\" id=\"qPhone\" placeholder=\"98200 00000\"\/><\/div>\n    <\/div>\n    <div class=\"mrow\">\n      <div class=\"mfg\"><label>Quantity<\/label><input type=\"number\" class=\"fc\" id=\"qQty\" placeholder=\"100\" min=\"1\"\/><\/div>\n      <div class=\"mfg\"><label>Delivery City<\/label><input type=\"text\" class=\"fc\" id=\"qCity\" placeholder=\"Mumbai\"\/><\/div>\n    <\/div>\n    <div class=\"mrow full\">\n      <div class=\"mfg\"><label>Notes<\/label><input type=\"text\" class=\"fc\" id=\"qNotes\" placeholder=\"Branding colour, deadline, packaging...\"\/><\/div>\n    <\/div>\n    <button class=\"msub\" onclick=\"submitQuote()\">\ud83d\udce9 Send Quote Request to SwagLogic<\/button>`;\n  document.getElementById('qModal').classList.add('on');\n}\n\n\/\/ Kit CTA for curated kits\nfunction openKitModal(kitId){\n  const kit=KITS.find(k=>k.id===kitId);if(!kit)return;\n  const{pt,bc,gst,total}=kitPrice(kit.pids);\n  const items=kit.items.map(i=>`<div class=\"mprev-item\">${i}<\/div>`).join('');\n  qCtx={type:'kit',kitId};\n  buildModal(`${kit.emoji} ${kit.name}`,items,total);\n}\n\nfunction closeModal(){document.getElementById('qModal').classList.remove('on');}\nfunction submitQuote(){\n  const name=document.getElementById('qName')?.value.trim();\n  const email=document.getElementById('qEmail')?.value.trim();\n  const phone=document.getElementById('qPhone')?.value.trim();\n  if(!name||!email||!phone){alert('Please fill your name, email and phone.');return;}\n  document.getElementById('mBody').innerHTML=`<div class=\"msucc\">\n    <div class=\"msucc-icon\">\ud83c\udf89<\/div>\n    <h3>Quote Request Sent!<\/h3>\n    <p>Thank you <strong>${name}<\/strong>!<br>Our merchandise expert will call you within 2 business hours.<br><br>\n    <strong style=\"color:var(--o);font-size:18px;\">\ud83d\udcde 9820660460<\/strong><\/p>\n    <button class=\"btn-p\" style=\"margin:22px auto 0;display:inline-flex;\" onclick=\"closeModal()\">Close<\/button>\n  <\/div>`;\n  if(qCtx.type==='custom'){myKit=[];syncKit();}\n}\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ CURATED KITS (24 kits)\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nconst KITS=[\n  {id:'k1',emoji:'\ud83d\udcbb',name:'Developer Essentials Kit',tier:'\u20b9100\u2013\u20b9300',tId:'t1',imgs:['https:\/\/images.unsplash.com\/photo-1531346878377-a5be20888e57?w=500&q=80','https:\/\/images.unsplash.com\/photo-1593642632559-0c6d3fc62b89?w=500&q=80'],items:['Microfiber cleaning cloth','Cable organiser pouch','Hardbound A5 Notebook'],desc:'Stripped-down, high-utility. Every item earns desk space for a developer. Zero filler \u2014 maximum daily use.',use:'SaaS events, hackathons, developer onboarding',pids:[37,38,5]},\n  {id:'k2',emoji:'\ud83c\udf31',name:'Eco Starter Kit',tier:'\u20b9100\u2013\u20b9300',tId:'t1',imgs:['https:\/\/images.unsplash.com\/photo-1618477461853-cf6ed80faba5?w=500&q=80','https:\/\/images.unsplash.com\/photo-1542601906990-b4d3fb778b09?w=500&q=80'],items:['Seed paper notebook','Bamboo plantable pen','Jute conference bag'],desc:'The greenest kit in the range. Each item tells a story \u2014 the pen plants itself, the notebook becomes a garden.',use:'ESG campaigns, sustainability awareness drives',pids:[7,4,24]},\n  {id:'k3',emoji:'\ud83c\udfe2',name:'Office Basics Kit',tier:'\u20b9100\u2013\u20b9300',tId:'t1',imgs:['https:\/\/images.unsplash.com\/photo-1531346878377-a5be20888e57?w=500&q=80','https:\/\/images.unsplash.com\/photo-1583485088034-697b5bc54ccd?w=500&q=80'],items:['Hardbound A5 Notebook','Metal twist pen','Sticky note cube set'],desc:'365 brand impressions a year per recipient. Every item used every single day \u2014 the highest ROI kit in the range.',use:'Mass onboarding, large-scale events, volume gifting',pids:[5,2,10]},\n  {id:'k4',emoji:'\ud83d\ude97',name:'Travel Lite Kit',tier:'\u20b9100\u2013\u20b9300',tId:'t1',imgs:['https:\/\/images.unsplash.com\/photo-1476514525535-07fb3b4ae5f1?w=500&q=80','https:\/\/images.unsplash.com\/photo-1542601906990-b4d3fb778b09?w=500&q=80'],items:['PU luggage tag','Satin eye mask','Hand sanitizer 50ml'],desc:\"Three items that go in every carry-on. Your brand travels on every trip \u2014 domestically and internationally.\",use:'Travel companies, logistics firms, airline events',pids:[51,57,57]},\n  {id:'k5',emoji:'\u26a1',name:'Tech Utility Kit',tier:'\u20b9300\u2013\u20b9700',tId:'t2',imgs:['https:\/\/images.unsplash.com\/photo-1512941937669-90a1b58e7e9c?w=500&q=80','https:\/\/images.unsplash.com\/photo-1616763355548-1b606f439f86?w=500&q=80'],items:['Foldable aluminium mobile stand','Cable organiser pouch','USB 3.0 pen drive 32GB'],desc:'Used within 24 hours of unboxing. The stand improves ergonomics, the organiser saves sanity, the drive stores their world.',use:'Developer\/IT teams, startup events, tech conferences',pids:[37,38,32]},\n  {id:'k6',emoji:'\ud83e\uddd8',name:'Wellness Starter Kit',tier:'\u20b9300\u2013\u20b9700',tId:'t2',imgs:['https:\/\/images.unsplash.com\/photo-1571019614242-c5c5dee9f50b?w=500&q=80','https:\/\/images.unsplash.com\/photo-1579722820308-d74e571900a9?w=500&q=80'],items:['Resistance band set (3 levels)','Protein shaker bottle','Cooling sports towel'],desc:'Brand recall at the gym, at the desk, at every workout. Three touchpoints across the wellness routine.',use:'HR wellness drives, World Health Day campaigns',pids:[40,16,40]},\n  {id:'k7',emoji:'\u2615',name:'Daily Use Kit',tier:'\u20b9300\u2013\u20b9700',tId:'t2',imgs:['https:\/\/images.unsplash.com\/photo-1497515114629-f71d768fd07c?w=500&q=80','https:\/\/images.unsplash.com\/photo-1531346878377-a5be20888e57?w=500&q=80'],items:['Ceramic coffee mug 350ml','Hardbound A5 notebook','Premium FSC greeting card'],desc:\"The mug sits on the desk; the brand sits in the mind. Morning ritual \u2014 all-day impressions.\",use:'Employee gifting, client appreciation, desk gifts',pids:[13,5,57]},\n  {id:'k8',emoji:'\ud83c\udf92',name:'Mini Travel Kit',tier:'\u20b9300\u2013\u20b9700',tId:'t2',imgs:['https:\/\/images.unsplash.com\/photo-1476514525535-07fb3b4ae5f1?w=500&q=80','https:\/\/images.unsplash.com\/photo-1553484771-047a44eee27b?w=500&q=80'],items:['Travel toiletry pouch','Satin eye mask','PU luggage tag'],desc:\"Compact, purposeful. Goes in the carry-on every single trip. Your brand in airports globally.\",use:'Airlines, travel companies, hospitality brands',pids:[51,50,51]},\n  {id:'k9',emoji:'\ud83d\udcbc',name:'Work From Anywhere Kit',tier:'\u20b9700\u2013\u20b91,500',tId:'t3',imgs:['https:\/\/images.unsplash.com\/photo-1547949003-9792a18a2601?w=500&q=80','https:\/\/images.unsplash.com\/photo-1527864550417-7fd91fc51a46?w=500&q=80'],items:['Laptop sleeve 15.6\"','Wireless mouse (branded)','Hardbound A5 notebook'],desc:\"Everything the hybrid worker needs \u2014 at the caf\u00e9, co-working space, or home.\",use:'Hybrid workforce, tech companies, WFH programs',pids:[26,47,5]},\n  {id:'k10',emoji:'\ud83d\udd0b',name:'Tech Upgrade Kit',tier:'\u20b9700\u2013\u20b91,500',tId:'t3',imgs:['https:\/\/images.unsplash.com\/photo-1609091839311-d5365f9ff1c5?w=500&q=80','https:\/\/images.unsplash.com\/photo-1512941937669-90a1b58e7e9c?w=500&q=80'],items:['10000mAh power bank','Foldable mobile stand','USB pen drive 32GB'],desc:\"High perceived value, daily utility. The power bank alone makes every recipient feel instantly appreciated.\",use:'Channel partner gifting, team rewards, bulk premium',pids:[30,37,32]},\n  {id:'k11',emoji:'\ud83c\udf3f',name:'Sustainable Living Kit',tier:'\u20b9700\u2013\u20b91,500',tId:'t3',imgs:['https:\/\/images.unsplash.com\/photo-1602143407151-7111542de6e8?w=500&q=80','https:\/\/images.unsplash.com\/photo-1602928309590-3e54f40ead81?w=500&q=80'],items:['SS sipper bottle 750ml','Cork-cover notebook','RPET tote bag'],desc:\"A commitment to sustainability in physical form. Each item replaces a single-use equivalent every single day.\",use:'ESG-focused brands, B Corp companies',pids:[11,8,23]},\n  {id:'k12',emoji:'\ud83c\udf6b',name:'Festive Delight Kit',tier:'\u20b9700\u2013\u20b91,500',tId:'t3',imgs:['https:\/\/images.unsplash.com\/photo-1549007994-cb92caebd54b?w=500&q=80','https:\/\/images.unsplash.com\/photo-1607305387299-a3d9611cd469?w=500&q=80'],items:['Premium chocolate box','Dry fruits gift box 250g','Premium FSC greeting card'],desc:\"The quintessential India festive gift. Chocolate + dry fruits + a heartfelt card. Never fails.\",use:'Diwali, New Year, festive corporate gifting',pids:[61,62,57]},\n  {id:'k13',emoji:'\ud83e\udde0',name:'Productivity Kit',tier:'\u20b91,500\u2013\u20b93,000',tId:'t4',imgs:['https:\/\/images.unsplash.com\/photo-1544716278-ca5e3f4abd8c?w=500&q=80','https:\/\/images.unsplash.com\/photo-1608043152269-423dbba4e7e1?w=500&q=80'],items:['PU Leather executive diary','Bluetooth speaker 5W','Bamboo desk organiser'],desc:'For the senior employee who thinks in systems. Each item compounds their daily focus and output.',use:'Senior employees, team leads, manager recognition',pids:[6,33,46]},\n  {id:'k14',emoji:'\ud83c\udfcb\ufe0f',name:'Fitness Pro Kit',tier:'\u20b91,500\u2013\u20b93,000',tId:'t4',imgs:['https:\/\/images.unsplash.com\/photo-1599901860904-17e6ed7083a0?w=500&q=80','https:\/\/images.unsplash.com\/photo-1602143407151-7111542de6e8?w=500&q=80'],items:['Yoga mat with carry bag','SS sipper bottle 750ml','Resistance band set'],desc:'Yoga mat at home = brand recall every morning. A kit that says the company invests in employee health.',use:'Wellness programs, World Health Day, HR gifting',pids:[41,11,40]},\n  {id:'k15',emoji:'\u2708\ufe0f',name:'Travel Pro Kit',tier:'\u20b91,500\u2013\u20b93,000',tId:'t4',imgs:['https:\/\/images.unsplash.com\/photo-1548036328-c9fa89d128fa?w=500&q=80','https:\/\/images.unsplash.com\/photo-1553484771-047a44eee27b?w=500&q=80'],items:['Executive duffel bag','Leather passport holder','Neck pillow + eye mask combo'],desc:\"Highest use frequency of any kit for frequent travellers. The duffel goes on every weekend trip.\",use:'Incentive travel, sales teams, field force rewards',pids:[27,50,51]},\n  {id:'k16',emoji:'\ud83e\uddf4',name:'Self-Care Kit',tier:'\u20b91,500\u2013\u20b93,000',tId:'t4',imgs:['https:\/\/images.unsplash.com\/photo-1600185365926-3a2ce3cdb9eb?w=500&q=80','https:\/\/images.unsplash.com\/photo-1602523961358-f9f03dd557db?w=500&q=80'],items:['USB aroma diffuser','Essential oils set (5 oils)','Aromatherapy candle set (3pc)'],desc:\"Aromatherapy at home \u2014 where real appreciation lives, not the desk.\",use:\"Women-focused gifting, wellness initiatives\",pids:[42,43,42]},\n  {id:'k17',emoji:'\ud83c\udfa7',name:'Tech Premium Kit',tier:'\u20b93,000\u2013\u20b97,000',tId:'t5',imgs:['https:\/\/images.unsplash.com\/photo-1606220945770-b5b6c2c55bf1?w=500&q=80','https:\/\/images.unsplash.com\/photo-1609091839311-d5365f9ff1c5?w=500&q=80'],items:['TWS Earbuds (BT 5.0)','10000mAh power bank','Cable organiser pouch'],desc:\"The gift that makes recipients show off. Unbox video, social post, colleague envy.\",use:'Dealer gifting, partner rewards, channel incentives',pids:[34,30,38]},\n  {id:'k18',emoji:'\ud83e\uddf3',name:'Executive Travel Kit',tier:'\u20b93,000\u2013\u20b97,000',tId:'t5',imgs:['https:\/\/images.unsplash.com\/photo-1553062407-98eeb64c6a62?w=500&q=80','https:\/\/images.unsplash.com\/photo-1563013544-824ae1b704d3?w=500&q=80'],items:['Laptop backpack 30L','RFID blocking slim wallet','Leather passport holder'],desc:\"For the CXO and manager who lives in airports. Premium materials that signal premium respect.\",use:'CXO gifting, regional managers, senior executives',pids:[25,55,50]},\n  {id:'k19',emoji:'\ud83c\udf77',name:'Luxury Gourmet Kit',tier:'\u20b93,000\u2013\u20b97,000',tId:'t5',imgs:['https:\/\/images.unsplash.com\/photo-1607082348824-0a96f2a4b9da?w=500&q=80','https:\/\/images.unsplash.com\/photo-1586297135537-94bc9ba060aa?w=500&q=80'],items:['Imported chocolate & wine box','Premium dry fruit box 500g','Premium magnetic hamper box'],desc:\"VIP treatment in a box. Opens like an event, not a gift.\",use:'VIP clients, key accounts, board members',pids:[68,64,75]},\n  {id:'k20',emoji:'\ud83c\udfe1',name:'Smart Living Kit',tier:'\u20b93,000\u2013\u20b97,000',tId:'t5',imgs:['https:\/\/images.unsplash.com\/photo-1507473885765-e6ed057f782c?w=500&q=80','https:\/\/images.unsplash.com\/photo-1600185365926-3a2ce3cdb9eb?w=500&q=80'],items:['Smart LED table lamp (USB)','USB aroma diffuser','Desk succulent plant'],desc:\"The lamp changes their workspace ambience \u2014 and your brand story.\",use:'Premium retention awards, premium gifting',pids:[69,42,80]},\n  {id:'k21',emoji:'\u231a',name:'Executive Luxury Kit',tier:'\u20b97,000\u2013\u20b920,000',tId:'t6',imgs:['https:\/\/images.unsplash.com\/photo-1523275335684-37898b6baf30?w=500&q=80','https:\/\/images.unsplash.com\/photo-1563013544-824ae1b704d3?w=500&q=80'],items:['Branded watch (corporate grade)','RFID blocking slim wallet','Parker-style roller pen'],desc:\"The gift that says 'you are irreplaceable'. A watch worn every day for 10 years.\",use:'Delegate gifting, leadership recognition, retirement',pids:[67,55,3]},\n  {id:'k22',emoji:'\ud83e\udde0',name:'Ultimate Tech Kit',tier:'\u20b97,000\u2013\u20b920,000',tId:'t6',imgs:['https:\/\/images.unsplash.com\/photo-1505740420928-5e560c06d30e?w=500&q=80','https:\/\/images.unsplash.com\/photo-1609091839311-d5365f9ff1c5?w=500&q=80'],items:['ANC headphones (over-ear)','10000mAh power bank','Executive duffel bag'],desc:\"ANC headphones + power bank = focus and power for top performers.\",use:'Top performers awards, CXO gifts, tech leadership',pids:[35,30,27]},\n  {id:'k23',emoji:'\ud83e\uddf3',name:'Luxury Travel Kit',tier:'\u20b97,000\u2013\u20b920,000',tId:'t6',imgs:['https:\/\/images.unsplash.com\/photo-1586771107445-d3ca888129ff?w=500&q=80','https:\/\/images.unsplash.com\/photo-1548036328-c9fa89d128fa?w=500&q=80'],items:['Branded trolley bag 20\"','Executive duffel bag','Leather passport holder'],desc:\"The branded trolley is seen in every airport lounge \u2014 a walking billboard that travels internationally.\",use:'Top sales incentive, annual awards, CXO travel',pids:[56,27,50]},\n  {id:'k24',emoji:'\ud83e\ude94',name:'Festive Royal Hamper',tier:'\u20b97,000\u2013\u20b920,000',tId:'t6',imgs:['https:\/\/images.unsplash.com\/photo-1607082348824-0a96f2a4b9da?w=500&q=80','https:\/\/images.unsplash.com\/photo-1566438480900-0609be27a4be?w=500&q=80'],items:['Premium dry fruit box 500g','Silver deity \/ idol','Premium magnetic hamper box'],desc:\"The Diwali hamper that sets the standard. A silver deity sits in the prayer room for generations.\",use:'Diwali top tier, HNI clients, board gifting',pids:[64,74,75]},\n];\nconst TIERS=[{id:'t1',label:'\u20b9100\u2013\u20b9300',theme:'Mass \/ Volume Swag'},{id:'t2',label:'\u20b9300\u2013\u20b9700',theme:'Smart Value Kits'},{id:'t3',label:'\u20b9700\u2013\u20b91,500',theme:'Premium Mass Gifting'},{id:'t4',label:'\u20b91,500\u2013\u20b93,000',theme:'Premium Experience Kits'},{id:'t5',label:'\u20b93,000\u2013\u20b97,000',theme:'High-End Corporate Kits'},{id:'t6',label:'\u20b97,000\u2013\u20b920,000',theme:'Ultra Premium \/ Delegate Gifts'}];\n\nfunction kitCard(kit){\n  const{pt,bc,gst,total}=kitPrice(kit.pids);\n  const cg=kit.pids.reduce((s,id)=>{const p=byId(id);return p?s+p.cg:s;},0);\n  return`<div class=\"ck\">\n    <div class=\"ck-imgs\">\n      <div class=\"ck-img${kit.imgs.length<2?' full':''}\"><img decoding=\"async\" src=\"${kit.imgs[0]}\" alt=\"${kit.name}\" loading=\"lazy\" onerror=\"this.src='https:\/\/images.unsplash.com\/photo-1607082348824-0a96f2a4b9da?w=500&#038;q=80'\"\/><\/div>\n      ${kit.imgs[1]?`<div class=\"ck-img\"><img decoding=\"async\" src=\"${kit.imgs[1]}\" alt=\"${kit.name}\" loading=\"lazy\" onerror=\"this.src='https:\/\/images.unsplash.com\/photo-1553062407-98eeb64c6a62?w=500&#038;q=80'\"\/><\/div>`:''}\n    <\/div>\n    <div class=\"ck-body\">\n      <div class=\"ck-pill\">${kit.emoji} ${kit.tier}<\/div>\n      <div class=\"ck-name\">${kit.name}<\/div>\n      <div class=\"ck-desc\">${kit.desc}<\/div>\n      <div class=\"ck-items\">${kit.items.map(i=>`<div class=\"ck-item\">${i}<\/div>`).join('')}<\/div>\n      <div class=\"ck-carbon\">${cbBadge(carbonLvl(cg))}<span style=\"font-size:11px;color:var(--muted2);\">~${(cg\/1000).toFixed(1)}kg CO\u2082\/kit<\/span><\/div>\n    <\/div>\n    <div class=\"ck-foot\">\n      <div style=\"font-size:12px;color:var(--muted);\">\ud83d\udca1 ${kit.use.split(',')[0]}<\/div>\n      <div style=\"display:flex;align-items:center;gap:12px;\">\n        <div class=\"ck-price\">${inr(total)}<\/div>\n        <button class=\"ck-cta\" onclick=\"openKitModal('${kit.id}')\">Request Quote<\/button>\n      <\/div>\n    <\/div>\n  <\/div>`;\n}\nfunction renderCurated(){\n  const body=document.getElementById('curBody');\n  body.innerHTML=TIERS.map(tier=>`<div class=\"tsec\" id=\"tier-${tier.id}\">\n    <div class=\"thdr\"><span class=\"tpill\">${tier.label}<\/span><div class=\"tline\"><\/div><span class=\"tsub-label\">${tier.theme}<\/span><\/div>\n    <div class=\"ck-grid\">${KITS.filter(k=>k.tId===tier.id).map(kitCard).join('')}<\/div>\n  <\/div>`).join('');\n}\nfunction jumpTier(id,btn){\n  document.querySelectorAll('.tnav-btn').forEach(b=>b.classList.remove('on'));\n  btn.classList.add('on');\n  document.getElementById('tier-'+id)?.scrollIntoView({behavior:'smooth',block:'start'});\n}\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ PAGE NAV\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nfunction goPage(name){\n  document.querySelectorAll('.page').forEach(p=>p.classList.remove('on'));\n  document.querySelectorAll('.nl').forEach(a=>a.classList.remove('on'));\n  document.getElementById('page-'+name).classList.add('on');\n  document.getElementById('nl-'+name)?.classList.add('on');\n  window.scrollTo({top:0,behavior:'smooth'});\n}\n\n\/\/ Modal backdrop close\ndocument.getElementById('qModal').addEventListener('click',function(e){if(e.target===this)closeModal();});\n\n\/\/ INIT\nrenderCatalog(PRODUCTS);\nrenderCurated();\nrenderDrawer();\n\n\/\/ Init\n\n<\/script>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Swaglogic AI \u2013 India&#8217;s Largest Promotional Merchandise Engine SwagLogic AI Home Catalog AI Search Ready Kits \ud83d\uded2 My Kit0 \ud83d\udcde 9820660460 \u2726 AI-Powered \u00b7 100,000+ Products Find the Perfect Swagfor Your Brand AI engine for finding the best Swag for your Brand \u2014 expert-curated kits, real India pricing, 100,000+ products on demand. \ud83d\udd0d Discover Kits [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-templates\/blank-page-template.php","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-28956","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/aikinesis.com\/gift2\/wp-json\/wp\/v2\/pages\/28956","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aikinesis.com\/gift2\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/aikinesis.com\/gift2\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/aikinesis.com\/gift2\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/aikinesis.com\/gift2\/wp-json\/wp\/v2\/comments?post=28956"}],"version-history":[{"count":3,"href":"https:\/\/aikinesis.com\/gift2\/wp-json\/wp\/v2\/pages\/28956\/revisions"}],"predecessor-version":[{"id":28960,"href":"https:\/\/aikinesis.com\/gift2\/wp-json\/wp\/v2\/pages\/28956\/revisions\/28960"}],"wp:attachment":[{"href":"https:\/\/aikinesis.com\/gift2\/wp-json\/wp\/v2\/media?parent=28956"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}