.mz-pd *{box-sizing:border-box} .mz-pd p{margin:0 0 14px} .mz-pd h3{margin:26px 0 10px;font-size:16px;font-weight:700;color:#0B1F3A;letter-spacing:.02em;text-transform:uppercase} .mz-pd ul{margin:0;padding:0;list-style:none} .mz-pd li{position:relative;padding-left:20px;margin-bottom:9px} .mz-pd li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;background:#D9A441;border-radius:1px} .mz-pd b{color:#0B1F3A} .mz-pd a > span{text-decoration:underline;text-underline-offset:2px} .mz-pd__tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none} .mz-pd__tags li{margin:0;padding:5px 13px;background:#FBF3E2;border-radius:999px; font-size:13px;font-weight:600;color:#8a6a1f} .mz-pd__tags li::before{display:none} @media (max-width:600px){.mz-pd h3{margin-top:22px}} /* ---- 标签页:纯 CSS,不用 JS ---- radio 藏在最前面,label 当按钮,:checked ~ 兄弟选择器控制显示。 主题过滤掉 也照样能切换。 */ .mz-pd__radio{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;clip:rect(0 0 0 0)} .mz-pd__tabs{display:flex;flex-wrap:wrap;gap:4px;margin:26px 0 20px;padding:5px; background:#F4F5F9;border-radius:999px} .mz-pd__tabs label{padding:9px 18px;border-radius:999px;cursor:pointer; font-size:14px;font-weight:700;line-height:1.3;color:#5a6473; transition:background-color .18s ease,color .18s ease;user-select:none} .mz-pd__panel{display:none} .mz-pd__panel > :first-child{margin-top:0} .mz-pd__panel > :last-child{margin-bottom:0} #mzpd-challengecoins-t1:checked ~ .mz-pd__panels > .mz-pd__panel:nth-child(1), #mzpd-challengecoins-t2:checked ~ .mz-pd__panels > .mz-pd__panel:nth-child(2), #mzpd-challengecoins-t3:checked ~ .mz-pd__panels > .mz-pd__panel:nth-child(3){display:block} #mzpd-challengecoins-t1:checked ~ .mz-pd__tabs label[for="mzpd-challengecoins-t1"], #mzpd-challengecoins-t2:checked ~ .mz-pd__tabs label[for="mzpd-challengecoins-t2"], #mzpd-challengecoins-t3:checked ~ .mz-pd__tabs label[for="mzpd-challengecoins-t3"]{background:#F5CE86;color:#0B1F3A} #mzpd-challengecoins-t1:focus-visible ~ .mz-pd__tabs label[for="mzpd-challengecoins-t1"], #mzpd-challengecoins-t2:focus-visible ~ .mz-pd__tabs label[for="mzpd-challengecoins-t2"], #mzpd-challengecoins-t3:focus-visible ~ .mz-pd__tabs label[for="mzpd-challengecoins-t3"]{outline:2px solid #0B1F3A;outline-offset:2px} @media (max-width:600px){ .mz-pd__tabs{border-radius:14px;justify-content:center} .mz-pd__tabs label{padding:8px 14px;font-size:13px} } Design online, see the price as you go Struck in solid metal Artwork on both sides 1.25" to 2.5", from 25 pieces Custom challenge coins struck in solid metal from your own design, with raised and recessed detail on both sides. Use this page as your online challenge coin maker: pick a size and quantity, choose soft enamel, hard enamel or bare metal in the cart, and see the price update as you build — no quote form, no waiting. Every custom coin is made to order for teams, clubs, companies and organisations — for recognition, milestones, events and membership. Upload your logo or artwork, or just a rough sketch; our designers turn it into a finished design and send you a free digital proof before production. Details Design Turnaround Minimum Order Quantity: 25 units per design. Sizes: 1.25" to 2.5", in five steps, measured across the coin. Styles: soft enamel, hard enamel or no colour, with plating, edge and upgrades chosen from the cart page. Packaging: each coin comes in a PVC pouch; boxes, capsules and stands are available from the cart page. File Type: we can use any format but prefer vector files when possible. Redrawing: we convert your file into a die-ready drawing at no cost, including designs that have to be simplified to strike cleanly. Proofs: free digital proofs with unlimited revisions before you approve production. Average Production Time: 10-15 business days after your free digital proof has been approved. Average Transit Time: typically 7-15 business days, with free worldwide shipping. Designing for a specific group? See military, army, navy, air force, police and firefighter coins.