/* Than Vu - giao dien chung cho moi danh muc (v1, 13/10/2026): dua tren module danh muc chu luc cua domucgiare (tv-domucgiare-danhmuc-v3). Khung gioi thieu + H1, nut Goi/Zalo, chon nhanh danh muc lien quan, danh sach len truoc, muc luc, thu gon bai dai. Bo qua 2 danh muc da co cau hinh rieng va cac trang landing (.tvlp). */ (function(){ var CFG={}; function mk(t,c,x){var e=document.createElement(t);if(c)e.className=c;if(x)e.textContent=x;return e;} var css="" +"#product-nav-tree li.tvdm-hot > a,#product-nav-tree-slideshow li.tvdm-hot > a{font-weight:700!important}" +".tvdm-b{display:inline-block;margin-left:5px;font-size:0;line-height:1;vertical-align:baseline}.tvdm-b::before{font-family:FontAwesome;content:'\\f06d';font-size:13px;color:#ff6a00}" +"@media (min-width:992px){ul.tvmg > li.tvdm-cta{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:10px!important;padding:10px!important;background:#f4f6fa;border-radius:10px;font-size:13px;color:#14284b}" +"ul.tvmg > li.tvdm-cta a{display:inline-flex!important;align-items:center;min-height:32px;padding:0 12px!important;border-radius:8px;font-weight:700;font-size:13px!important;text-decoration:none!important}" +"ul.tvmg > li.tvdm-cta a.c1{background:#d62828!important;color:#fff!important}ul.tvmg > li.tvdm-cta a.c2{background:#0068ff!important;color:#fff!important}ul.tvmg > li.tvdm-cta a.c3{background:#fff!important;color:#14284b!important;border:1px solid #d5dde8}}" +"body.tvdm .tvdm-hero{background:#14284b;background-image:linear-gradient(120deg,#14284b,#1f4178);color:#fff;border-radius:14px;padding:24px 26px;margin:0 0 16px;font-family:Arial,Helvetica,sans-serif}" +".tvdm-kick{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#ffd43b;margin-bottom:6px}" +"body.tvdm .tvdm-hero h1{font-size:26px!important;font-weight:700!important;line-height:1.25!important;color:#fff!important;margin:0 0 8px!important;text-transform:none!important;letter-spacing:0!important;border:0!important;padding:0!important;background:none!important}" +".tvdm-sub{color:#dbe4f3;font-size:14.5px;line-height:1.6;margin-bottom:14px;max-width:720px}" +".tvdm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}" +".tvdm-chips span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:5px 11px}" +".tvdm-chips span::before{font-family:FontAwesome;content:'\\f00c';color:#7ee2a0;font-size:11px}" +".tvdm-cta{display:flex;flex-wrap:wrap;gap:10px}" +".tvdm-cta a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:10px;font-weight:700;font-size:14.5px;text-decoration:none!important}" +".tvdm-cta a::before{font-family:FontAwesome;font-weight:400}" +".tvdm-cta .a1{background:#d62828;color:#fff!important}.tvdm-cta .a1::before{content:'\\f095'}.tvdm-cta .a1:hover{background:#b81f1f}" +".tvdm-cta .a2{background:#fff;color:#0068ff!important}.tvdm-cta .a2::before{content:'\\f030'}" +".tvdm-cta .a3{border:1px solid rgba(255,255,255,.45);color:#fff!important}.tvdm-cta .a3::before{content:'\\f0ce'}.tvdm-cta .a3:hover{background:rgba(255,255,255,.1)}" +"@media (min-width:992px){.tvdm-qs{display:none!important}}"+".tvdm-qs{border:1px solid #e3e8ef;border-radius:14px;background:#fff;padding:16px 18px;margin:0 0 16px;font-family:Arial,Helvetica,sans-serif}" +".tvdm-qs h2{font-size:15px!important;font-weight:700!important;color:#14284b!important;margin:0 0 10px!important;text-transform:none!important;letter-spacing:0!important}" +".tvdm-svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}" +".tvdm-svc a{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;color:#14284b!important;font-size:13.5px;text-decoration:none!important;line-height:1.35}" +".tvdm-svc a::before{font-family:FontAwesome;content:'\\f105';color:#d62828;font-weight:700}" +".tvdm-svc a:hover{background:#f1f4f9;color:#d62828!important}" +".tvdm-area{margin-top:12px;padding-top:12px;border-top:1px dashed #e3e8ef}" +".tvdm-area b{display:block;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:#5c6b80;margin-bottom:8px}" +".tvdm-area div{display:flex;flex-wrap:wrap;gap:6px}" +".tvdm-area a{display:inline-block;padding:4px 11px;border:1px solid #d5dde8;border-radius:999px;font-size:12.5px;color:#14284b!important;text-decoration:none!important}" +".tvdm-area a:hover{border-color:#d62828;color:#d62828!important;background:#fff5f5}" +"body.tvdm .box_content > header.title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}" +"body.tvdm .tvdm-ph{font-size:18px!important;font-weight:700!important;color:#14284b!important;margin:0!important;text-transform:none!important;letter-spacing:0!important}" +"body.tvdm .box_content .c-product .thumbnail{border:1px solid #e3e8ef!important;border-radius:12px!important;padding:10px!important;transition:box-shadow .2s,border-color .2s;height:100%;background:#fff}" +"body.tvdm .box_content .c-product .thumbnail:hover{box-shadow:0 10px 26px rgba(20,40,75,.12);border-color:#cfd8e3!important}" +"body.tvdm .box_content .c-product img{border-radius:8px}" +"body.tvdm .box_content .c-product .title-name a{font-size:13.5px!important;line-height:1.4!important;color:#14284b!important;text-transform:capitalize!important;font-weight:700!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:57px}" +"body.tvdm .box_content .c-product .title-name{text-align:left!important}body.tvdm .box_content .c-product .price{text-align:left!important}body.tvdm .box_content .c-product .price .new{font-size:15px}" +"body.tvdm #show-more{border-radius:10px!important;padding:10px 22px!important;font-weight:700}" +".tvdm-toc{border:1px solid #e3e8ef;border-left:4px solid #d62828;border-radius:10px;background:#f8fafc;padding:14px 16px;margin:4px 0 16px;font-family:Arial,Helvetica,sans-serif}" +".tvdm-toc b{display:block;color:#14284b;font-size:14.5px;margin-bottom:6px}" +".tvdm-toc ol{margin:0;padding-left:20px;columns:2;column-gap:24px}" +".tvdm-toc li{font-size:13.5px;padding:2px 0;break-inside:avoid}" +".tvdm-toc a{color:#1f4178!important;text-decoration:none!important}.tvdm-toc a:hover{color:#d62828!important;text-decoration:underline!important}" +"body.tvdm .box_info_page .des.tvdm-fold{max-height:1100px;overflow:hidden;position:relative}" +"body.tvdm .box_info_page .des.tvdm-fold::after{content:'';position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(rgba(255,255,255,0),#fff)}" +".tvdm-more{display:flex;justify-content:center;margin:6px 0 18px}" +".tvdm-more button{border:1px solid #cfd8e3;background:#fff;color:#14284b;font-weight:700;border-radius:10px;padding:10px 20px;cursor:pointer;font-size:14px}" +".tvdm-more button:hover{border-color:#d62828;color:#d62828}" +"@media (max-width:767px){body.tvdm .tvdm-hero{padding:18px}body.tvdm .tvdm-hero h1{font-size:21px!important}.tvdm-cta a{flex:1 1 100%}.tvdm-svc{grid-template-columns:1fr}.tvdm-toc ol{columns:1}}"; var st=document.createElement("style");st.id="tvdm-css";st.textContent=css;if(!document.getElementById("tvdm-css"))document.head.appendChild(st); /* --- trang danh muc --- */ var SKIP={"/sua-may-in-phun-mau-uy-tin":1,"/ban-may-in-phun-mau-cu":1}; if(SKIP[location.pathname]||document.querySelector(".tvlp"))return; var art0=document.querySelector("article.row.bg_white");var h10=art0&&(art0.querySelector(".box_content header.title h1")||art0.querySelector(".box_info_page h1"));if(!art0||!h10||!art0.querySelector(".box_info_page"))return; var bcl=document.querySelectorAll(".breadcrumb li");var nm=((bcl.length&&bcl[bcl.length-1].textContent)||h10.textContent).replace(/\s+/g," ").trim(),low=nm.toLowerCase(); var md=((document.querySelector('meta[name="description"]')||{}).content||"").trim(); var G=/băng dính|bút|cặp sách|kẹp giấy|dao, kéo|hộp đựng tài liệu|bàn tính|văn phòng phẩm/.test(low)?"vpp":/thu mua|thanh lý/.test(low)?"buy":/^(sửa|đổ mực|thay |cài |cứu|nâng cấp|vệ sinh|lắp|dẫn mực|bảo trì|hợp đồng|dịch vụ|cung cấp|đào tạo|khóa học|học nghề)/.test(low)?"svc":/^(bán |máy in|máy photocopy|máy tính|laptop|máy scan|máy fax)/.test(low)?"sale":"part"; var PP={svc:{kick:"Dịch vụ tận nơi · Thần Vũ Hà Nội",chips:["Báo giá trước khi làm","Kỹ thuật đến tận nơi","Chạy thử trước bàn giao","Hỗ trợ nhanh qua Zalo"],z:"Gửi ảnh lỗi qua Zalo",ptitle:"Dịch vụ trong danh mục",qs:"Chọn nhanh dịch vụ liên quan"}, sale:{kick:"Máy đã kiểm tra · Thần Vũ Hà Nội",chips:["Kiểm tra, chạy thử trước khi giao","Tư vấn đúng nhu cầu","Lắp đặt tận nơi Hà Nội","Hỗ trợ kỹ thuật sau bán"],z:"Zalo hỏi máy & báo giá",ptitle:"Sản phẩm đang có",qs:"Chọn nhanh theo hãng & nhu cầu"}, buy:{kick:"Thu mua tận nơi · Thần Vũ Hà Nội",chips:["Định giá nhanh qua ảnh","Thu tận nơi Hà Nội","Xóa dữ liệu an toàn","Thanh toán gọn"],z:"Gửi ảnh máy qua Zalo",ptitle:"Thiết bị thu mua",qs:"Danh mục liên quan"}, part:{kick:"Linh kiện, vật tư · Thần Vũ Hà Nội",chips:["Tư vấn đúng mã máy","Kiểm tra trước khi giao","Thay lắp tận nơi","Hỗ trợ nhanh qua Zalo"],z:"Gửi mã máy qua Zalo",ptitle:"Sản phẩm trong danh mục",qs:"Danh mục liên quan"}, vpp:{kick:"Văn phòng phẩm · Thần Vũ Hà Nội",chips:["Giao tận nơi Hà Nội","Báo giá theo số lượng","Đặt hàng qua Zalo","Hóa đơn đầy đủ khi cần"],z:"Đặt hàng qua Zalo",ptitle:"Sản phẩm trong danh mục",qs:"Danh mục liên quan"}}[G]; var cfg={kick:PP.kick,sub:md||nm,chips:PP.chips,z:PP.z,ptitle:PP.ptitle,qs:PP.qs}; var art=document.querySelector("article.row.bg_white");var info=art&&art.querySelector(".box_info_page");var prod=art&&art.querySelector(".box_content");var h1=prod&&prod.querySelector("header.title h1");if(!h1&&info){var hc=info.querySelector("h1");if(hc&&hc.textContent.replace(/\s+/g," ").trim()!==nm){var h2n=document.createElement("h2");h2n.innerHTML=hc.innerHTML;if(hc.id)h2n.id=hc.id;hc.parentNode.replaceChild(h2n,hc);hc=null;}h1=hc||mk("h1",null,nm);} if(!art||!h1)return; document.body.classList.add("tvdm"); var hero=mk("div","tvdm-hero col-xs-12");hero.appendChild(mk("div","tvdm-kick",cfg.kick));hero.appendChild(h1);hero.appendChild(mk("div","tvdm-sub",cfg.sub)); var ch=mk("div","tvdm-chips");cfg.chips.forEach(function(s){ch.appendChild(mk("span",null,s));});hero.appendChild(ch); var cta=mk("div","tvdm-cta");var b1=mk("a","a1","Gọi 0965.305.158");b1.href="tel:0965305158";var b2=mk("a","a2",cfg.z);b2.href="https://zalo.me/0983504555";cta.appendChild(b1);cta.appendChild(b2); var pr=mk("a","a3","Xem danh sách & giá");pr.href="#tvdm-list";cta.appendChild(pr);hero.appendChild(cta); art.insertBefore(hero,art.firstChild); /* chon nhanh */ try{ var src=null;var ls=document.querySelectorAll("#product-nav-tree a[href]");for(var k=0;k!==ls.length;k++){if(ls[k].getAttribute("href")===location.pathname){src=ls[k].closest("li.auto_dropdown");if(src)break;}} if(src){ var ul2=src.querySelector(":scope > ul");var svc=[],area=[]; [].forEach.call(ul2.querySelectorAll(":scope > li"),function(x){if(x.classList.contains("tvmg-chips")){[].forEach.call(x.querySelectorAll("a"),function(z){if(z.getAttribute("href")!==location.pathname)area.push(z);});}else if(!x.classList.contains("tvmg-g")&&!x.classList.contains("tvdm-cta")){var z=x.querySelector("a");if(z&&z.getAttribute("href")!==location.pathname)svc.push(z);}}); if(svc.length||area.length){ var qs=mk("div","tvdm-qs col-xs-12");qs.appendChild(mk("h2",null,cfg.qs)); if(svc.length){var g=mk("div","tvdm-svc");svc.forEach(function(z){var y=mk("a",null,z.textContent.trim());y.href=z.getAttribute("href");g.appendChild(y);});qs.appendChild(g);} if(area.length){var ar2=mk("div","tvdm-area");ar2.appendChild(mk("b",null,"Khu vực phục vụ tại Hà Nội"));var w=mk("div");area.forEach(function(z){var y=mk("a",null,z.textContent.trim());y.href=z.getAttribute("href");if(z.title)y.title=z.title;w.appendChild(y);});ar2.appendChild(w);qs.appendChild(ar2);} art.insertBefore(qs,hero.nextSibling); } } }catch(e){} /* danh sach len truoc */ if(prod&&prod.querySelector(".product-item, .item, .thumbnail, li, .col-xs-6")){prod.id="tvdm-list"; var hd=prod.querySelector("header.title");if(hd){hd.insertBefore(mk("h2","tvdm-ph",cfg.ptitle),hd.firstChild);} var after=art.querySelector(".tvdm-qs")||hero;art.insertBefore(prod,after.nextSibling);}else{pr.textContent="Xem nội dung chi tiết";pr.href="#tvdm-body";if(info)info.id="tvdm-body";} /* muc luc + thu gon */ try{ var des=info&&info.querySelector(".des"); if(des){ var hs=des.querySelectorAll("h2"); if(hs.length > 2){ var toc=mk("div","tvdm-toc");toc.appendChild(mk("b",null,"Nội dung trong trang"));var ol=mk("ol"); [].forEach.call(hs,function(h,n){if(!h.id)h.id="tvdm-s"+(n+1);var li2=mk("li");var a2=mk("a",null,h.textContent.trim());a2.href="#"+h.id;li2.appendChild(a2);ol.appendChild(li2); if(/bảng giá|chi phí/i.test(h.textContent))pr.href="#"+h.id;}); toc.appendChild(ol);info.insertBefore(toc,des); } if(des.scrollHeight > 1500){ des.classList.add("tvdm-fold");var mb=mk("div","tvdm-more");var bt=mk("button",null,"Đọc toàn bộ hướng dẫn ▾");bt.type="button";mb.appendChild(bt);des.parentNode.insertBefore(mb,des.nextSibling); var open=function(){des.classList.remove("tvdm-fold");if(mb.parentNode)mb.parentNode.removeChild(mb);}; bt.addEventListener("click",open); document.addEventListener("click",function(ev){var t=ev.target.closest&&ev.target.closest('a[href^="#tvdm-s"],a[href^="#"]');if(t&&des.querySelector(t.getAttribute("href")))open();},true); } } }catch(e){} })();