/* 동네 거래 — 포장 주문 · 공동구매 · 상품권 (cm-*) */
.cm-gift{background:#E9F7EF;color:#137A3F}
.cm-item.off{opacity:.5}
.cm-ph{flex:0 0 56px;width:56px;height:56px;border-radius:12px;object-fit:cover}
.cm-qty{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:999px;overflow:hidden;flex:none}
.cm-qty button{width:36px;height:36px;border:0;background:var(--bg-2);font-size:18px;font-weight:700;color:var(--ink);cursor:pointer}
.cm-qty input{width:36px;height:36px;border:0;text-align:center;font-weight:800;font-size:15px;background:#fff}
.cm-bar{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:10px 12px;box-shadow:var(--sh-1);margin-top:12px;z-index:5}
.cm-bar small{display:block;font-size:12px;color:var(--ink-3)}
.cm-bar b{font-size:20px;font-weight:850;letter-spacing:-.04em}
.cm-code{display:flex;align-items:center;gap:12px;background:var(--bg-2);border-radius:var(--r-l);padding:14px 16px;margin-top:10px}
.cm-code{flex-wrap:wrap;row-gap:2px}
.cm-code small{display:block;flex:1 0 100%;font-size:12px;color:var(--ink-3)}
.cm-code b{font-size:30px;font-weight:900;letter-spacing:.06em;flex:1}
.cm-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;list-style:none;padding:0;margin:12px 0}
.cm-steps li{text-align:center;font-size:12px;font-weight:700;color:var(--ink-3);padding-top:10px;border-top:4px solid var(--line-2)}
.cm-steps li.on{color:var(--red-ink);border-color:var(--red)}
.cm-kv{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;font-size:14px}
.cm-kv>span:first-child{color:var(--ink-3)}
.cm-kv.tot{border-top:1px dashed var(--line-2);margin-top:4px;padding-top:10px}
.cm-kv.tot b{font-size:18px;font-weight:850}
.cm-lines{margin:8px 0;padding-left:18px;font-size:15px;line-height:1.7}
.cm-acts{display:flex;gap:8px;margin-top:10px}
.cm-acts .btn{flex:1}
.cm-day{display:grid;grid-template-columns:64px 1fr 14px 1fr;gap:6px;align-items:center;margin-top:6px}
.cm-day .input{min-height:42px;padding:8px 10px}
.cm-gbgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cm-gb{display:block;color:inherit}
.cm-gb .art{position:relative;aspect-ratio:1/1;border-radius:var(--r-l);overflow:hidden;background:var(--bg-2)}
.cm-gb .art img{width:100%;height:100%;object-fit:cover}
.cm-gb .art .b{position:absolute;left:8px;top:8px}
.cm-gb h4{margin:8px 0 2px;font-size:14.5px;font-weight:700;line-height:1.35}
.cm-gb .sub{font-size:12px;color:var(--ink-3)}
.cm-price{display:flex;align-items:baseline;gap:5px}
.cm-price em{font-style:normal;color:var(--red);font-weight:850}
.cm-price s{color:var(--ink-3);font-size:13px}
.cm-price b{font-size:17px;font-weight:850;letter-spacing:-.04em}
.cm-price small{color:var(--ink-3);font-size:12px}
.cm-price.big b{font-size:24px}
.cm-price.big em{font-size:20px}
.cm-prog{height:8px;border-radius:99px;background:var(--bg-2);overflow:hidden;margin:6px 0 4px}
.cm-prog i{display:block;height:100%;background:var(--red);border-radius:99px}
.cm-hero{margin:12px -16px 0;aspect-ratio:4/3;background:var(--bg-2);overflow:hidden}
.cm-hero img{width:100%;height:100%;object-fit:cover}
.cm-bank{background:var(--sun-bg);color:var(--sun-ink);border-radius:var(--r);padding:12px;margin:8px 0}
.cm-bank small{display:block;font-size:12px}
.cm-bank b{display:block;font-size:17px;margin:2px 0;color:var(--ink)}
.cm-bank span{font-size:13px}
.cm-soon .ic{color:var(--ink-3)}
.cm-cta{display:flex;align-items:center;gap:10px;background:var(--red-bg);color:var(--red-ink);border-radius:var(--r-l);padding:12px 14px;margin-top:12px;font-weight:750}
.cm-cta .ic{width:22px;height:22px}
.cm-cta span{flex:1}
.cm-cta small{display:block;font-weight:500;font-size:12px;color:var(--ink-3)}
@media (min-width:768px){.cm-gbgrid{grid-template-columns:repeat(3,1fr)}.cm-hero{margin:12px 0 0;border-radius:var(--r-l)}.cm-bar{bottom:16px}}
