{"id":89,"date":"2026-04-25T13:18:11","date_gmt":"2026-04-25T13:18:11","guid":{"rendered":"https:\/\/printsters.co\/?post_type=product&#038;p=89"},"modified":"2026-06-03T08:47:38","modified_gmt":"2026-06-03T08:47:38","slug":"test-sticker","status":"publish","type":"product","link":"https:\/\/printsters.co\/?product=test-sticker","title":{"rendered":"Test sticker"},"content":{"rendered":"\n<style>\n#spc-wrap *{box-sizing:border-box;margin:0;padding:0}\n#spc-wrap{font-family:'Sarabun',sans-serif;background:#F5F0E8;border-radius:24px;overflow:hidden;box-shadow:0 4px 32px rgba(0,0,0,.08);max-width:640px;margin:0 auto}\n\n\/* Google Fonts *\/\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Fredoka+One&family=Sarabun:wght@400;600;700&display=swap');\n\n\/* Step bar *\/\n#spc-wrap .step-bar{display:flex;background:#E8191A;padding:14px 20px;gap:4px}\n#spc-wrap .step-item{flex:1;text-align:center;font-family:'Fredoka One',cursive;font-size:13px;color:rgba(255,255,255,.45);padding:6px 4px;border-radius:8px;transition:all .25s}\n#spc-wrap .step-item.active{color:#fff;background:rgba(255,255,255,.2)}\n#spc-wrap .step-item.done{color:rgba(255,255,255,.75)}\n\n\/* Pages *\/\n#spc-wrap .spc-page{display:none;padding:28px 24px 32px;animation:spcFade .2s ease}\n#spc-wrap .spc-page.show{display:block}\n@keyframes spcFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}\n\n#spc-wrap .pg-title{font-family:'Fredoka One',cursive;font-size:24px;color:#E8191A;margin-bottom:4px}\n#spc-wrap .pg-sub{font-size:13px;color:#999;margin-bottom:22px}\n\n\/* Fields *\/\n#spc-wrap .field-group{margin-bottom:16px}\n#spc-wrap .field-label{font-size:13px;font-weight:700;color:#444;margin-bottom:8px;display:flex;align-items:center;gap:6px}\n#spc-wrap .field-label .num{background:#E8191A;color:#fff;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-family:'Fredoka One',cursive;flex-shrink:0}\n\n\/* Size grid *\/\n#spc-wrap .size-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}\n#spc-wrap .sz-btn{background:#fff;border:2px solid #e8e2d8;border-radius:14px;padding:11px;text-align:center;cursor:pointer;font-family:'Fredoka One',cursive;font-size:15px;color:#888;transition:all .15s;user-select:none}\n#spc-wrap .sz-btn:hover{border-color:#E8191A;color:#E8191A}\n#spc-wrap .sz-btn.active{border-color:#E8191A;background:#fff0f0;color:#E8191A}\n\n\/* Custom size *\/\n#spc-wrap .custom-row{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}\n#spc-wrap .custom-row input{width:72px;padding:9px 10px;border:2px solid #e8e2d8;border-radius:10px;font-size:14px;font-family:'Sarabun',sans-serif;background:#fff;color:#333;outline:none;transition:border-color .15s}\n#spc-wrap .custom-row input:focus{border-color:#E8191A}\n#spc-wrap .unit-tog{display:flex;border:2px solid #e8e2d8;border-radius:10px;overflow:hidden}\n#spc-wrap .unit-btn{padding:7px 13px;font-size:12px;font-weight:700;background:#fff;border:none;cursor:pointer;color:#aaa;transition:all .15s}\n#spc-wrap .unit-btn.active{background:#E8191A;color:#fff}\n\n\/* Pills *\/\n#spc-wrap .pill-wrap{display:flex;flex-wrap:wrap;gap:8px}\n#spc-wrap .pill{background:#fff;border:2px solid #e8e2d8;border-radius:20px;padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer;color:#777;transition:all .15s;white-space:nowrap;user-select:none}\n#spc-wrap .pill:hover{border-color:#E8191A;color:#E8191A}\n#spc-wrap .pill.active{border-color:#E8191A;background:#E8191A;color:#fff}\n\n\/* Input \/ textarea *\/\n#spc-wrap .inp{width:100%;padding:11px 14px;border:2px solid #e8e2d8;border-radius:12px;font-size:14px;font-family:'Sarabun',sans-serif;background:#fff;color:#333;outline:none;transition:border-color .15s}\n#spc-wrap .inp:focus{border-color:#E8191A}\n\n\/* Buttons *\/\n#spc-wrap .btn-red{width:100%;background:#E8191A;color:#fff;border:none;border-radius:16px;padding:15px;font-family:'Fredoka One',cursive;font-size:20px;cursor:pointer;margin-top:14px;transition:all .15s;letter-spacing:.5px}\n#spc-wrap .btn-red:hover{background:#c01515;transform:translateY(-1px)}\n#spc-wrap .btn-red:active{transform:translateY(0)}\n#spc-wrap .btn-red:disabled{background:#ccc;cursor:not-allowed;transform:none}\n#spc-wrap .btn-out{width:100%;background:#fff;color:#E8191A;border:2px solid #E8191A;border-radius:16px;padding:12px;font-family:'Fredoka One',cursive;font-size:16px;cursor:pointer;margin-top:10px;transition:all .15s}\n#spc-wrap .btn-out:hover{background:#fff5f5}\n\n\/* Result *\/\n#spc-wrap .result-box{background:#fff;border-radius:16px;padding:16px 18px;margin:16px 0;border:2px solid #f0e8e8}\n#spc-wrap .result-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f9f4ed}\n#spc-wrap .result-row:last-child{border:none}\n#spc-wrap .result-row.hl{background:#fff8f0;border-radius:10px;padding:10px 12px;margin:4px -12px}\n#spc-wrap .r-qty{font-size:14px;color:#555;font-weight:600}\n#spc-wrap .r-tag{background:#E8191A;color:#fff;font-size:10px;font-weight:700;border-radius:6px;padding:1px 6px;margin-left:6px;vertical-align:middle}\n#spc-wrap .r-sheets{font-size:11px;color:#bbb;margin-top:2px}\n#spc-wrap .r-price{font-family:'Fredoka One',cursive;font-size:20px;color:#222;text-align:right}\n#spc-wrap .r-unit{font-size:11px;color:#bbb;text-align:right;margin-top:1px}\n#spc-wrap .breakdown{font-size:11px;color:#ccc;text-align:right;margin-top:1px}\n\n\/* Qty cards *\/\n#spc-wrap .qty-card{background:#fff;border:2px solid #e8e2d8;border-radius:16px;padding:14px 18px;margin-bottom:10px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .15s}\n#spc-wrap .qty-card:hover{border-color:#E8191A;background:#fff8f8}\n#spc-wrap .qty-card.selected{border-color:#E8191A;background:#fff0f0}\n#spc-wrap .qc-left-title{font-family:'Fredoka One',cursive;font-size:17px;color:#333}\n#spc-wrap .qc-left-sub{font-size:12px;color:#bbb;margin-top:2px}\n#spc-wrap .qc-price{font-family:'Fredoka One',cursive;font-size:22px;color:#E8191A}\n#spc-wrap .qc-unit{font-size:11px;color:#bbb;text-align:right}\n\n\/* Upload *\/\n#spc-wrap .upload-area{border:2px dashed #e0dbd0;border-radius:14px;background:#fff;padding:22px 20px;text-align:center;cursor:pointer;transition:all .15s;margin-top:6px}\n#spc-wrap .upload-area:hover,#spc-wrap .upload-area.over{border-color:#E8191A;background:#fff8f8}\n#spc-wrap .upload-area .up-icon{font-size:32px;margin-bottom:8px;display:block}\n#spc-wrap .upload-area p{font-size:12px;color:#bbb;line-height:1.6}\n#spc-wrap .upload-area .fname{font-size:13px;font-weight:700;color:#E8191A;margin-top:6px}\n\n\/* Summary *\/\n#spc-wrap .summary-card{background:#fff;border-radius:14px;padding:16px 18px;border:2px solid #f0e8e8;margin-bottom:14px}\n#spc-wrap .sum-row{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;color:#666}\n#spc-wrap .sum-row span:first-child{color:#aaa}\n#spc-wrap .sum-row.total{font-size:16px;font-weight:700;color:#222;border-top:2px dashed #f0e8e8;padding-top:10px;margin-top:6px}\n#spc-wrap .sum-row.total span:first-child{color:#555}\n\n\/* Confirm *\/\n#spc-wrap .confirm-wrap{text-align:center;padding:10px 0 20px}\n#spc-wrap .confirm-icon{font-size:56px;margin-bottom:14px;animation:spcPop .4s cubic-bezier(.34,1.56,.64,1)}\n@keyframes spcPop{from{transform:scale(0)}to{transform:scale(1)}}\n#spc-wrap .confirm-oid{font-family:'Fredoka One',cursive;font-size:18px;color:#555;margin-bottom:6px}\n#spc-wrap .confirm-msg{font-size:14px;color:#888;line-height:1.7;margin-bottom:20px;white-space:pre-line}\n#spc-wrap .detail-box{background:#fff;border-radius:14px;padding:16px 18px;text-align:left;margin-bottom:16px;border:2px solid #f0e8e8}\n#spc-wrap .detail-title{font-family:'Fredoka One',cursive;font-size:15px;color:#E8191A;margin-bottom:10px}\n\n\/* Misc *\/\n#spc-wrap .err{background:#fff0f0;border:2px solid #ffd0d0;border-radius:10px;padding:10px 14px;color:#c0392b;font-size:13px;margin-top:8px}\n#spc-wrap .loading-sm{text-align:center;color:#ccc;font-size:13px;padding:14px 0}\n#spc-wrap .note-txt{font-size:11px;color:#ccc;text-align:center;margin-top:12px;line-height:1.6}\n#spc-wrap .divider{border:none;border-top:2px dashed #e8e2d8;margin:18px 0}\n#spc-wrap .req{color:#E8191A}\n\n@media(max-width:480px){\n  #spc-wrap .step-item{font-size:11px}\n}\n<\/style>\n\n<div id=\"spc-wrap\">\n  <div class=\"step-bar\">\n    <div class=\"step-item active\" id=\"spc-sb1\">1. \u0e2a\u0e40\u0e1b\u0e04<\/div>\n    <div class=\"step-item\" id=\"spc-sb2\">2. \u0e08\u0e33\u0e19\u0e27\u0e19<\/div>\n    <div class=\"step-item\" id=\"spc-sb3\">3. \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25<\/div>\n    <div class=\"step-item\" id=\"spc-sb4\">4. \u0e40\u0e2a\u0e23\u0e47\u0e08!<\/div>\n  <\/div>\n\n  <!-- PAGE 1: Calculator -->\n  <div class=\"spc-page show\" id=\"spc-p1\">\n    <div class=\"pg-title\">\ud83c\udff7\ufe0f \u0e04\u0e33\u0e19\u0e27\u0e13\u0e23\u0e32\u0e04\u0e32 Sticker<\/div>\n    <div class=\"pg-sub\">\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2a\u0e40\u0e1b\u0e04 \u0e41\u0e25\u0e49\u0e27\u0e14\u0e39\u0e23\u0e32\u0e04\u0e32\u0e44\u0e14\u0e49\u0e40\u0e25\u0e22 \u2014 \u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e23\u0e2d\u0e16\u0e32\u0e21\u0e23\u0e49\u0e32\u0e19<\/div>\n\n    <div class=\"field-group\">\n      <div class=\"field-label\"><span class=\"num\">1<\/span>\u0e02\u0e19\u0e32\u0e14\u0e0a\u0e34\u0e49\u0e19\u0e07\u0e32\u0e19<\/div>\n      <div class=\"size-grid\">\n        <div class=\"sz-btn active\" data-w=\"2\" data-h=\"2\" onclick=\"spcSelSz(this)\">2 \u00d7 2 \u0e0b\u0e21.<\/div>\n        <div class=\"sz-btn\" data-w=\"3\" data-h=\"3\" onclick=\"spcSelSz(this)\">3 \u00d7 3 \u0e0b\u0e21.<\/div>\n        <div class=\"sz-btn\" data-w=\"4\" data-h=\"4\" onclick=\"spcSelSz(this)\">4 \u00d7 4 \u0e0b\u0e21.<\/div>\n        <div class=\"sz-btn\" data-w=\"5\" data-h=\"5\" onclick=\"spcSelSz(this)\">5 \u00d7 5 \u0e0b\u0e21.<\/div>\n        <div class=\"sz-btn\" id=\"spc-sz-custom\" onclick=\"spcSelCustom()\" style=\"grid-column:span 2;font-family:'Sarabun',sans-serif;font-size:13px;font-weight:700\">\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e02\u0e19\u0e32\u0e14\u0e40\u0e2d\u0e07<\/div>\n      <\/div>\n      <div id=\"spc-custom-in\" style=\"display:none;margin-top:10px\">\n        <div class=\"custom-row\">\n          <span style=\"font-size:13px;color:#888\">\u0e01\u0e27\u0e49\u0e32\u0e07<\/span>\n          <input type=\"number\" id=\"spc-cw\" min=\"0.5\" step=\"0.1\" placeholder=\"\u0e40\u0e0a\u0e48\u0e19 10\" oninput=\"spcUpdCustom()\">\n          <span style=\"font-size:13px;color:#888\">\u00d7 \u0e2a\u0e39\u0e07<\/span>\n          <input type=\"number\" id=\"spc-ch\" min=\"0.5\" step=\"0.1\" placeholder=\"\u0e40\u0e0a\u0e48\u0e19 5\" oninput=\"spcUpdCustom()\">\n          <div class=\"unit-tog\">\n            <button class=\"unit-btn active\" id=\"spc-btn-cm\" onclick=\"spcSetUnit('cm')\">\u0e0b\u0e21.<\/button>\n            <button class=\"unit-btn\" id=\"spc-btn-in\" onclick=\"spcSetUnit('in')\">\u0e19\u0e34\u0e49\u0e27<\/button>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"field-group\">\n      <div class=\"field-label\"><span class=\"num\">2<\/span>\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17 Sticker<\/div>\n      <div class=\"pill-wrap\" id=\"spc-mat-pills\"><div class=\"loading-sm\">\u0e01\u0e33\u0e25\u0e31\u0e07\u0e42\u0e2b\u0e25\u0e14...<\/div><\/div>\n    <\/div>\n\n    <div class=\"field-group\">\n      <div class=\"field-label\"><span class=\"num\">3<\/span>\u0e01\u0e32\u0e23\u0e15\u0e31\u0e14<\/div>\n      <div class=\"pill-wrap\">\n        <div class=\"pill active\" data-val=\"no_cut\" onclick=\"spcSelPill(this,'cut')\">\u0e44\u0e21\u0e48\u0e15\u0e31\u0e14<\/div>\n        <div class=\"pill\" data-val=\"half_cut\" onclick=\"spcSelPill(this,'cut')\">Half-Cut (+10\u0e3f\/\u0e41\u0e1c\u0e48\u0e19)<\/div>\n        <div class=\"pill\" data-val=\"diecut\" onclick=\"spcSelPill(this,'cut')\">Diecut 100%<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"field-group\">\n      <div class=\"field-label\"><span class=\"num\">4<\/span>\u0e2a\u0e35\u0e1e\u0e34\u0e40\u0e28\u0e29<\/div>\n      <div class=\"pill-wrap\">\n        <div class=\"pill active\" data-val=\"false\" onclick=\"spcSelPill(this,'white')\">\u0e44\u0e21\u0e48\u0e21\u0e35<\/div>\n        <div class=\"pill\" data-val=\"true\" onclick=\"spcSelPill(this,'white')\">Special White (\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e2a\u0e35\u0e02\u0e32\u0e27)<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"field-group\">\n      <div class=\"field-label\"><span class=\"num\">5<\/span>\u0e08\u0e33\u0e19\u0e27\u0e19 (\u0e0a\u0e34\u0e49\u0e19)<\/div>\n      <input class=\"inp\" type=\"number\" id=\"spc-qty-in\" min=\"1\" step=\"1\" placeholder=\"\u0e23\u0e30\u0e1a\u0e38\u0e08\u0e33\u0e19\u0e27\u0e19 \u0e40\u0e0a\u0e48\u0e19 200\" value=\"200\">\n    <\/div>\n\n    <button class=\"btn-red\" id=\"spc-calc-btn\" onclick=\"spcDoCalc()\">\u0e04\u0e33\u0e19\u0e27\u0e13\u0e23\u0e32\u0e04\u0e32 \u2192<\/button>\n    <div id=\"spc-result-area\"><\/div>\n  <\/div>\n\n  <!-- PAGE 2: Qty Select -->\n  <div class=\"spc-page\" id=\"spc-p2\">\n    <div class=\"pg-title\">\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e08\u0e33\u0e19\u0e27\u0e19<\/div>\n    <div class=\"pg-sub\">\u0e41\u0e15\u0e30\u0e17\u0e35\u0e48\u0e08\u0e33\u0e19\u0e27\u0e19\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e31\u0e48\u0e07<\/div>\n    <div id=\"spc-qty-choices\"><\/div>\n    <button class=\"btn-red\" id=\"spc-btn-to3\" onclick=\"spcGoTo(3)\" disabled>\u0e16\u0e31\u0e14\u0e44\u0e1b \u2014 \u0e01\u0e23\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 \u2192<\/button>\n    <button class=\"btn-out\" onclick=\"spcGoTo(1)\">\u2190 \u0e41\u0e01\u0e49\u0e44\u0e02\u0e2a\u0e40\u0e1b\u0e04<\/button>\n  <\/div>\n\n  <!-- PAGE 3: Customer Info -->\n  <div class=\"spc-page\" id=\"spc-p3\">\n    <div class=\"pg-title\">\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e01\u0e32\u0e23\u0e2a\u0e31\u0e48\u0e07\u0e0b\u0e37\u0e49\u0e2d<\/div>\n    <div class=\"pg-sub\">\u0e01\u0e23\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e17\u0e35\u0e21\u0e07\u0e32\u0e19\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e01\u0e25\u0e31\u0e1a<\/div>\n\n    <div class=\"summary-card\" id=\"spc-p3-summary\"><\/div>\n\n    <div class=\"field-group\">\n      <div class=\"field-label\">\u0e0a\u0e37\u0e48\u0e2d - \u0e19\u0e32\u0e21\u0e2a\u0e01\u0e38\u0e25 <span class=\"req\">*<\/span><\/div>\n      <input class=\"inp\" type=\"text\" id=\"spc-f-name\" placeholder=\"\u0e2a\u0e21\u0e0a\u0e32\u0e22 \u0e43\u0e08\u0e14\u0e35\">\n    <\/div>\n    <div class=\"field-group\">\n      <div class=\"field-label\">\u0e40\u0e1a\u0e2d\u0e23\u0e4c\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c <span class=\"req\">*<\/span><\/div>\n      <input class=\"inp\" type=\"tel\" id=\"spc-f-phone\" placeholder=\"08X-XXX-XXXX\">\n    <\/div>\n    <div class=\"field-group\">\n      <div class=\"field-label\">LINE ID <span style=\"font-size:11px;color:#bbb;font-weight:400\">(\u0e44\u0e21\u0e48\u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a)<\/span><\/div>\n      <input class=\"inp\" type=\"text\" id=\"spc-f-line\" placeholder=\"@yourline\">\n    <\/div>\n\n    <hr class=\"divider\">\n\n    <div class=\"field-group\">\n      <div class=\"field-label\">\u0e41\u0e19\u0e1a\u0e44\u0e1f\u0e25\u0e4c\u0e07\u0e32\u0e19 <span style=\"font-size:11px;color:#bbb;font-weight:400\">(PDF, AI, PSD, PNG \u2014 \u0e44\u0e21\u0e48\u0e40\u0e01\u0e34\u0e19 10MB)<\/span><\/div>\n      <div class=\"upload-area\" id=\"spc-drop-zone\"\n        onclick=\"document.getElementById('spc-file-in').click()\"\n        ondragover=\"spcOnDrag(event,true)\"\n        ondragleave=\"spcOnDrag(event,false)\"\n        ondrop=\"spcOnDrop(event)\">\n        <span class=\"up-icon\">\ud83d\udcce<\/span>\n        <p>\u0e04\u0e25\u0e34\u0e01\u0e2b\u0e23\u0e37\u0e2d\u0e25\u0e32\u0e01\u0e44\u0e1f\u0e25\u0e4c\u0e21\u0e32\u0e27\u0e32\u0e07\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48<br>\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a: PDF, AI, PSD, PNG, JPG, SVG<\/p>\n        <div class=\"fname\" id=\"spc-fname-show\"><\/div>\n      <\/div>\n      <input type=\"file\" id=\"spc-file-in\" style=\"display:none\" accept=\".pdf,.ai,.psd,.png,.jpg,.jpeg,.svg\" onchange=\"spcOnFile(this)\">\n    <\/div>\n\n    <div class=\"field-group\">\n      <div class=\"field-label\">\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e2b\u0e15\u0e38 <span style=\"font-size:11px;color:#bbb;font-weight:400\">(\u0e44\u0e21\u0e48\u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a)<\/span><\/div>\n      <textarea class=\"inp\" id=\"spc-f-note\" rows=\"3\" placeholder=\"\u0e40\u0e0a\u0e48\u0e19 \u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e07\u0e32\u0e19\u0e14\u0e48\u0e27\u0e19 \/ \u0e21\u0e35\u0e2a\u0e35\u0e1e\u0e34\u0e40\u0e28\u0e29\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21 \/ \u0e2d\u0e37\u0e48\u0e19\u0e46\" style=\"resize:none\"><\/textarea>\n    <\/div>\n\n    <div id=\"spc-p3-err\"><\/div>\n    <button class=\"btn-red\" id=\"spc-submit-btn\" onclick=\"spcDoSubmit()\">\u0e2a\u0e31\u0e48\u0e07\u0e0b\u0e37\u0e49\u0e2d\u0e40\u0e25\u0e22! \ud83c\udf89<\/button>\n    <button class=\"btn-out\" onclick=\"spcGoTo(2)\">\u2190 \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19<\/button>\n    <p class=\"note-txt\">\u0e23\u0e32\u0e04\u0e32\u0e19\u0e35\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e23\u0e32\u0e04\u0e32\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e01\u0e32\u0e23 \u0e17\u0e35\u0e21\u0e07\u0e32\u0e19\u0e08\u0e30\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e23\u0e32\u0e04\u0e32\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e01\u0e48\u0e2d\u0e19\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e1c\u0e25\u0e34\u0e15<br>\u0e44\u0e21\u0e48\u0e23\u0e27\u0e21 VAT 7% \u0e41\u0e25\u0e30\u0e04\u0e48\u0e32\u0e08\u0e31\u0e14\u0e2a\u0e48\u0e07<\/p>\n  <\/div>\n\n  <!-- PAGE 4: Confirm -->\n  <div class=\"spc-page\" id=\"spc-p4\">\n    <div class=\"confirm-wrap\">\n      <div class=\"confirm-icon\">\u2705<\/div>\n      <div class=\"confirm-oid\" id=\"spc-c-oid\">\u0e23\u0e31\u0e1a order \u0e40\u0e23\u0e35\u0e22\u0e1a\u0e23\u0e49\u0e2d\u0e22\u0e41\u0e25\u0e49\u0e27!<\/div>\n      <div class=\"confirm-msg\" id=\"spc-c-msg\"><\/div>\n      <div class=\"detail-box\">\n        <div class=\"detail-title\">\u0e2a\u0e23\u0e38\u0e1b Order<\/div>\n        <div id=\"spc-c-rows\"><\/div>\n      <\/div>\n      <p class=\"note-txt\">\u0e21\u0e35\u0e04\u0e33\u0e16\u0e32\u0e21\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21? \u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e40\u0e23\u0e32\u0e1c\u0e48\u0e32\u0e19 LINE @samyanprintsters<br>\u0e2b\u0e23\u0e37\u0e2d\u0e42\u0e17\u0e23 0X-XXXX-XXXX<\/p>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  const API = 'https:\/\/script.google.com\/macros\/s\/AKfycbzUdGVV9gKfocflGfNscMjsK51HRs0nDndmDOucolGp7F4CYEBBAbYtY65JAs6o2iwB\/exec';\n\n  let st = { w:2, h:2, mat:null, cut:'no_cut', white:'false', unit:'cm', custom:false };\n  let materials = [];\n  let calcData  = null;\n  let selResult = null;\n  let fileData  = { base64:null, name:null, mime:null };\n\n  \/\/ \u2500\u2500 Load materials \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  async function loadMats() {\n    try {\n      const r = await fetch(API + '?action=getMaterials');\n      const d = await r.json();\n      materials = d.materials || [];\n      const wrap = document.getElementById('spc-mat-pills');\n      wrap.innerHTML = '';\n      materials.forEach((m, i) => {\n        const el = document.createElement('div');\n        el.className = 'pill' + (i === 0 ? ' active' : '');\n        el.dataset.val = m.material_id;\n        el.textContent = m.name;\n        el.onclick = () => spcSelPill(el, 'mat');\n        wrap.appendChild(el);\n      });\n      if (materials.length) st.mat = materials[0].material_id;\n    } catch(e) {\n      document.getElementById('spc-mat-pills').innerHTML = '<div class=\"err\">\u0e42\u0e2b\u0e25\u0e14\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49 \u0e01\u0e23\u0e38\u0e13\u0e32\u0e23\u0e35\u0e40\u0e1f\u0e23\u0e0a\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a<\/div>';\n    }\n  }\n\n  \/\/ \u2500\u2500 Size selection \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  window.spcSelSz = function(el) {\n    document.querySelectorAll('#spc-wrap .sz-btn').forEach(e => e.classList.remove('active'));\n    el.classList.add('active');\n    st.w = parseFloat(el.dataset.w);\n    st.h = parseFloat(el.dataset.h);\n    st.custom = false;\n    document.getElementById('spc-custom-in').style.display = 'none';\n  };\n  window.spcSelCustom = function() {\n    document.querySelectorAll('#spc-wrap .sz-btn').forEach(e => e.classList.remove('active'));\n    document.getElementById('spc-sz-custom').classList.add('active');\n    st.custom = true;\n    document.getElementById('spc-custom-in').style.display = 'block';\n    spcUpdCustom();\n  };\n  window.spcUpdCustom = function() {\n    const cw = parseFloat(document.getElementById('spc-cw').value) || 0;\n    const ch = parseFloat(document.getElementById('spc-ch').value) || 0;\n    st.w = st.unit === 'in' ? cw * 2.54 : cw;\n    st.h = st.unit === 'in' ? ch * 2.54 : ch;\n  };\n  window.spcSetUnit = function(u) {\n    st.unit = u;\n    document.getElementById('spc-btn-cm').classList.toggle('active', u === 'cm');\n    document.getElementById('spc-btn-in').classList.toggle('active', u === 'in');\n    spcUpdCustom();\n  };\n\n  \/\/ \u2500\u2500 Pill selection \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  window.spcSelPill = function(el, grp) {\n    el.parentElement.querySelectorAll('.pill').forEach(e => e.classList.remove('active'));\n    el.classList.add('active');\n    if (grp === 'cut')   st.cut   = el.dataset.val;\n    else if (grp === 'white') st.white = el.dataset.val;\n    else if (grp === 'mat')   st.mat   = el.dataset.val;\n  };\n\n  \/\/ \u2500\u2500 Calculate \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  window.spcDoCalc = async function() {\n    if (st.custom) spcUpdCustom();\n    if (!st.mat || st.w <= 0 || st.h <= 0) {\n      document.getElementById('spc-result-area').innerHTML = '<div class=\"err\">\u0e01\u0e23\u0e38\u0e13\u0e32\u0e23\u0e30\u0e1a\u0e38\u0e02\u0e19\u0e32\u0e14\u0e0a\u0e34\u0e49\u0e19\u0e07\u0e32\u0e19\u0e43\u0e2b\u0e49\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07<\/div>';\n      return;\n    }\n    const qty = parseInt(document.getElementById('spc-qty-in').value) || 100;\n    const btn = document.getElementById('spc-calc-btn');\n    btn.disabled = true; btn.textContent = '\u0e01\u0e33\u0e25\u0e31\u0e07\u0e04\u0e33\u0e19\u0e27\u0e13...';\n    document.getElementById('spc-result-area').innerHTML = '<div class=\"loading-sm\">\u0e01\u0e33\u0e25\u0e31\u0e07\u0e04\u0e33\u0e19\u0e27\u0e13\u0e23\u0e32\u0e04\u0e32...<\/div>';\n    try {\n      const p = new URLSearchParams({ action:'calculate', material_id:st.mat, width_cm:st.w.toFixed(2), height_cm:st.h.toFixed(2), cut_type:st.cut, special_white:st.white, qty });\n      const r = await fetch(API + '?' + p);\n      const d = await r.json();\n      if (d.error) {\n        document.getElementById('spc-result-area').innerHTML = '<div class=\"err\">' + d.error + '<\/div>';\n      } else {\n        calcData = d;\n        renderResult(d);\n      }\n    } catch(e) {\n      document.getElementById('spc-result-area').innerHTML = '<div class=\"err\">\u0e40\u0e01\u0e34\u0e14\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14 \u0e01\u0e23\u0e38\u0e13\u0e32\u0e25\u0e2d\u0e07\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07<\/div>';\n    }\n    btn.disabled = false; btn.textContent = '\u0e04\u0e33\u0e19\u0e27\u0e13\u0e23\u0e32\u0e04\u0e32 \u2192';\n  };\n\n  function renderResult(d) {\n    const cutLabel = { no_cut:'\u0e44\u0e21\u0e48\u0e15\u0e31\u0e14', half_cut:'Half-Cut', diecut:'Diecut 100%' }[d.input.cut_type] || '';\n    let rows = '';\n    d.results.forEach(r => {\n      const up = (r.total \/ r.qty).toFixed(2);\n      let bd = '';\n      if (r.cut_cost > 0 || r.white_cost > 0) {\n        const pts = ['\u0e1e\u0e34\u0e21\u0e1e\u0e4c ' + r.print_cost.toLocaleString() + '\u0e3f'];\n        if (r.cut_cost   > 0) pts.push('\u0e15\u0e31\u0e14 '   + r.cut_cost.toLocaleString()   + '\u0e3f');\n        if (r.white_cost > 0) pts.push('White ' + r.white_cost.toLocaleString() + '\u0e3f');\n        bd = '<div class=\"breakdown\">' + pts.join(' + ') + '<\/div>';\n      }\n      rows += `<div class=\"result-row${r.is_custom_qty ? ' hl' : ''}\">\n        <div>\n          <div class=\"r-qty\">${r.qty.toLocaleString()} \u0e0a\u0e34\u0e49\u0e19${r.is_custom_qty ? '<span class=\"r-tag\">\u0e17\u0e35\u0e48\u0e23\u0e30\u0e1a\u0e38<\/span>' : ''}<\/div>\n          <div class=\"r-sheets\">${r.sheets} \u0e41\u0e1c\u0e48\u0e19 \u00b7 ${r.pcs_per_sheet} \u0e0a\u0e34\u0e49\u0e19\/\u0e41\u0e1c\u0e48\u0e19<\/div>\n        <\/div>\n        <div>\n          <div class=\"r-price\">${r.total.toLocaleString()} \u0e3f<\/div>\n          <div class=\"r-unit\">${up} \u0e3f\/\u0e0a\u0e34\u0e49\u0e19<\/div>\n          ${bd}\n        <\/div>\n      <\/div>`;\n    });\n    document.getElementById('spc-result-area').innerHTML = `\n      <div class=\"result-box\">${rows}<\/div>\n      <button class=\"btn-red\" onclick=\"spcGoToQtySelect()\">\u0e2a\u0e31\u0e48\u0e07\u0e0b\u0e37\u0e49\u0e2d \u2192<\/button>\n      <p class=\"note-txt\">\u0e23\u0e32\u0e04\u0e32\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e01\u0e32\u0e23 \u0e44\u0e21\u0e48\u0e23\u0e27\u0e21 VAT 7%<\/p>`;\n  }\n\n  \/\/ \u2500\u2500 Qty select page \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  window.spcGoToQtySelect = function() {\n    if (!calcData) return;\n    selResult = null;\n    document.getElementById('spc-btn-to3').disabled = true;\n    const wrap = document.getElementById('spc-qty-choices');\n    wrap.innerHTML = '';\n    calcData.results.forEach(r => {\n      const card = document.createElement('div');\n      card.className = 'qty-card';\n      card.innerHTML = `\n        <div>\n          <div class=\"qc-left-title\">${r.qty.toLocaleString()} \u0e0a\u0e34\u0e49\u0e19<\/div>\n          <div class=\"qc-left-sub\">${r.sheets} \u0e41\u0e1c\u0e48\u0e19 \u00b7 ${r.pcs_per_sheet} \u0e0a\u0e34\u0e49\u0e19\/\u0e41\u0e1c\u0e48\u0e19<\/div>\n        <\/div>\n        <div>\n          <div class=\"qc-price\">${r.total.toLocaleString()} \u0e3f<\/div>\n          <div class=\"qc-unit\">${(r.total \/ r.qty).toFixed(2)} \u0e3f\/\u0e0a\u0e34\u0e49\u0e19<\/div>\n        <\/div>`;\n      card.onclick = () => {\n        document.querySelectorAll('#spc-wrap .qty-card').forEach(c => c.classList.remove('selected'));\n        card.classList.add('selected');\n        selResult = r;\n        document.getElementById('spc-btn-to3').disabled = false;\n      };\n      wrap.appendChild(card);\n    });\n    spcGoTo(2);\n  };\n\n  \/\/ \u2500\u2500 File upload \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  window.spcOnDrag = function(e, over) { e.preventDefault(); document.getElementById('spc-drop-zone').classList.toggle('over', over); };\n  window.spcOnDrop = function(e) { e.preventDefault(); document.getElementById('spc-drop-zone').classList.remove('over'); if (e.dataTransfer.files[0]) spcReadFile(e.dataTransfer.files[0]); };\n  window.spcOnFile = function(inp) { if (inp.files[0]) spcReadFile(inp.files[0]); };\n  function spcReadFile(f) {\n    if (f.size > 10 * 1024 * 1024) { alert('\u0e44\u0e1f\u0e25\u0e4c\u0e43\u0e2b\u0e0d\u0e48\u0e40\u0e01\u0e34\u0e19 10MB \u0e01\u0e23\u0e38\u0e13\u0e32\u0e25\u0e14\u0e02\u0e19\u0e32\u0e14\u0e44\u0e1f\u0e25\u0e4c\u0e01\u0e48\u0e2d\u0e19\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14'); return; }\n    const reader = new FileReader();\n    reader.onload = e => {\n      fileData = { base64: e.target.result, name: f.name, mime: f.type };\n      document.getElementById('spc-fname-show').textContent = '\u2713 ' + f.name;\n    };\n    reader.readAsDataURL(f);\n  }\n\n  \/\/ \u2500\u2500 Submit order \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  window.spcDoSubmit = async function() {\n    const name  = document.getElementById('spc-f-name').value.trim();\n    const phone = document.getElementById('spc-f-phone').value.trim();\n    const line  = document.getElementById('spc-f-line').value.trim();\n    const note  = document.getElementById('spc-f-note').value.trim();\n    if (!name || !phone) {\n      document.getElementById('spc-p3-err').innerHTML = '<div class=\"err\">\u0e01\u0e23\u0e38\u0e13\u0e32\u0e01\u0e23\u0e2d\u0e01\u0e0a\u0e37\u0e48\u0e2d\u0e41\u0e25\u0e30\u0e40\u0e1a\u0e2d\u0e23\u0e4c\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c<\/div>';\n      return;\n    }\n    document.getElementById('spc-p3-err').innerHTML = '';\n    const btn = document.getElementById('spc-submit-btn');\n    btn.disabled = true; btn.textContent = '\u0e01\u0e33\u0e25\u0e31\u0e07\u0e2a\u0e48\u0e07 order...';\n    const mat = materials.find(m => m.material_id === st.mat);\n    const cutLabel = { no_cut:'\u0e44\u0e21\u0e48\u0e15\u0e31\u0e14', half_cut:'Half-Cut', diecut:'Diecut 100%' }[st.cut] || '';\n    const payload = {\n      action       : 'submitOrder',\n      customer_name: name,\n      phone,\n      line_id      : line,\n      spec: {\n        material     : mat?.name || st.mat,\n        size         : st.w.toFixed(1) + '\u00d7' + st.h.toFixed(1) + ' \u0e0b\u0e21.',\n        cut_type     : cutLabel,\n        special_white: st.white === 'true',\n        qty          : selResult?.qty || 0,\n        sheets       : selResult?.sheets || 0,\n      },\n      price_total: selResult?.total || 0,\n      file_base64: fileData.base64,\n      file_name  : fileData.name,\n      file_mime  : fileData.mime,\n      note,\n    };\n    try {\n      const r = await fetch(API, { method:'POST', body:JSON.stringify(payload) });\n      const d = await r.json();\n      if (d.error) {\n        document.getElementById('spc-p3-err').innerHTML = '<div class=\"err\">' + d.error + '<\/div>';\n        btn.disabled = false; btn.textContent = '\u0e2a\u0e31\u0e48\u0e07\u0e0b\u0e37\u0e49\u0e2d\u0e40\u0e25\u0e22! \ud83c\udf89';\n        return;\n      }\n      document.getElementById('spc-c-oid').textContent = d.order_id;\n      document.getElementById('spc-c-msg').textContent = '\u0e23\u0e31\u0e1a order \u0e40\u0e23\u0e35\u0e22\u0e1a\u0e23\u0e49\u0e2d\u0e22\u0e41\u0e25\u0e49\u0e27!\\n\u0e17\u0e35\u0e21\u0e07\u0e32\u0e19\u0e08\u0e30\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e01\u0e25\u0e31\u0e1a\u0e20\u0e32\u0e22\u0e43\u0e19 1 \u0e27\u0e31\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23 \u0e1c\u0e48\u0e32\u0e19\u0e40\u0e1a\u0e2d\u0e23\u0e4c\u0e2b\u0e23\u0e37\u0e2d LINE \u0e17\u0e35\u0e48\u0e43\u0e2b\u0e49\u0e44\u0e27\u0e49';\n      document.getElementById('spc-c-rows').innerHTML = `\n        <div class=\"sum-row\"><span>\u0e0a\u0e37\u0e48\u0e2d<\/span><span>${name}<\/span><\/div>\n        <div class=\"sum-row\"><span>\u0e40\u0e1a\u0e2d\u0e23\u0e4c<\/span><span>${phone}<\/span><\/div>\n        ${line ? '<div class=\"sum-row\"><span>LINE<\/span><span>' + line + '<\/span><\/div>' : ''}\n        <div class=\"sum-row\"><span>\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32<\/span><span>${mat?.name || ''}<\/span><\/div>\n        <div class=\"sum-row\"><span>\u0e02\u0e19\u0e32\u0e14<\/span><span>${st.w.toFixed(1)}\u00d7${st.h.toFixed(1)} \u0e0b\u0e21.<\/span><\/div>\n        <div class=\"sum-row\"><span>\u0e01\u0e32\u0e23\u0e15\u0e31\u0e14<\/span><span>${cutLabel}<\/span><\/div>\n        <div class=\"sum-row\"><span>\u0e08\u0e33\u0e19\u0e27\u0e19<\/span><span>${(selResult?.qty || 0).toLocaleString()} \u0e0a\u0e34\u0e49\u0e19<\/span><\/div>\n        <div class=\"sum-row total\"><span>\u0e23\u0e32\u0e04\u0e32\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e01\u0e32\u0e23<\/span><span>${(selResult?.total || 0).toLocaleString()} \u0e3f<\/span><\/div>`;\n      spcGoTo(4);\n    } catch(e) {\n      document.getElementById('spc-p3-err').innerHTML = '<div class=\"err\">\u0e40\u0e01\u0e34\u0e14\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14 \u0e01\u0e23\u0e38\u0e13\u0e32\u0e25\u0e2d\u0e07\u0e43\u0e2b\u0e21\u0e48<\/div>';\n      btn.disabled = false; btn.textContent = '\u0e2a\u0e31\u0e48\u0e07\u0e0b\u0e37\u0e49\u0e2d\u0e40\u0e25\u0e22! \ud83c\udf89';\n    }\n  };\n\n  \/\/ \u2500\u2500 Build summary page 3 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function buildP3Summary() {\n    if (!selResult) return;\n    const mat = materials.find(m => m.material_id === st.mat);\n    const cutLabel = { no_cut:'\u0e44\u0e21\u0e48\u0e15\u0e31\u0e14', half_cut:'Half-Cut', diecut:'Diecut 100%' }[st.cut] || '';\n    document.getElementById('spc-p3-summary').innerHTML = `\n      <div style=\"font-family:'Fredoka One',cursive;font-size:14px;color:#E8191A;margin-bottom:8px\">\u0e2a\u0e23\u0e38\u0e1b\u0e17\u0e35\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01<\/div>\n      <div class=\"sum-row\"><span>\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32<\/span><span>${mat?.name || ''}<\/span><\/div>\n      <div class=\"sum-row\"><span>\u0e02\u0e19\u0e32\u0e14<\/span><span>${st.w.toFixed(1)}\u00d7${st.h.toFixed(1)} \u0e0b\u0e21.<\/span><\/div>\n      <div class=\"sum-row\"><span>\u0e01\u0e32\u0e23\u0e15\u0e31\u0e14<\/span><span>${cutLabel}<\/span><\/div>\n      <div class=\"sum-row\"><span>\u0e08\u0e33\u0e19\u0e27\u0e19<\/span><span>${(selResult.qty).toLocaleString()} \u0e0a\u0e34\u0e49\u0e19<\/span><\/div>\n      <div class=\"sum-row total\"><span>\u0e23\u0e32\u0e04\u0e32\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e01\u0e32\u0e23<\/span><span>${(selResult.total).toLocaleString()} \u0e3f<\/span><\/div>`;\n  }\n\n  \/\/ \u2500\u2500 Page navigation \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  window.spcGoTo = function(n) {\n    [1,2,3,4].forEach(i => {\n      document.getElementById('spc-p'+i).className = 'spc-page' + (i === n ? ' show' : '');\n      const sb = document.getElementById('spc-sb'+i);\n      sb.className = 'step-item' + (i === n ? ' active' : i < n ? ' done' : '');\n    });\n    if (n === 3) buildP3Summary();\n    window.scrollTo({ top: document.getElementById('spc-wrap').offsetTop - 20, behavior: 'smooth' });\n  };\n\n  loadMats();\n})();\n<\/script>\n\n\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp;<\/p>\n","protected":false},"featured_media":140,"comment_status":"open","ping_status":"closed","template":"","meta":{"_eb_attr":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"product_brand":[],"product_cat":[20],"product_tag":[],"class_list":["post-89","product","type-product","status-publish","has-post-thumbnail","product_cat-uncategorized","desktop-align-left","tablet-align-left","mobile-align-left","first","instock","shipping-taxable","product-type-variable"],"_links":{"self":[{"href":"https:\/\/printsters.co\/index.php?rest_route=\/wp\/v2\/product\/89","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/printsters.co\/index.php?rest_route=\/wp\/v2\/product"}],"about":[{"href":"https:\/\/printsters.co\/index.php?rest_route=\/wp\/v2\/types\/product"}],"replies":[{"embeddable":true,"href":"https:\/\/printsters.co\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=89"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/printsters.co\/index.php?rest_route=\/wp\/v2\/media\/140"}],"wp:attachment":[{"href":"https:\/\/printsters.co\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=89"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/printsters.co\/index.php?rest_route=%2Fwp%2Fv2%2Fproduct_brand&post=89"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/printsters.co\/index.php?rest_route=%2Fwp%2Fv2%2Fproduct_cat&post=89"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/printsters.co\/index.php?rest_route=%2Fwp%2Fv2%2Fproduct_tag&post=89"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}