/* ── v2 token 相容層（原版 main.css 未定義,黑金值補齊） ── */
:root{
  --bg-1:#0f0f0f;--bg-2:#141414;--bg-3:#1a1a1a;
  --gold-lt:#d8c08a;--gold-dk:#8a6830;
  --txt-m:#a89e8e;--txt-dim:#5a5347;--txt-strong:#f5efe2;
  --bdr:rgba(200,169,107,.12);--bdr-w:rgba(200,169,107,.22);
  --line:#06c755;
  --ff-tc:"Noto Serif TC","Playfair Display",serif;
  --ff-sans:"Noto Sans TC",sans-serif;
  --ff-mono:"Montserrat",sans-serif;
  --ff-ui:"Montserrat",sans-serif;
}
/* ═══ POP MONSTER 購物車 UI · css/store.css ═══ */

/* 遮罩與抽屜 */
.pm-overlay{position:fixed;inset:0;z-index:400;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .3s;}
.pm-overlay.on{opacity:1;pointer-events:auto;}
.pm-drawer{position:fixed;top:0;right:0;bottom:0;z-index:401;width:min(420px,94vw);background:var(--bg-1);border-left:1px solid var(--bdr-w);display:flex;flex-direction:column;transform:translateX(102%);transition:transform .38s cubic-bezier(.22,1,.36,1);}
.pm-drawer.on{transform:none;box-shadow:-24px 0 80px rgba(0,0,0,.6);}
.pm-dw-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--bdr);}
.pm-dw-head h3{font-family:var(--ff-mono);font-weight:800;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);}
.pm-dw-head .ct{font-family:var(--ff-mono);font-size:10px;color:var(--txt-dim);letter-spacing:.1em;margin-left:8px;}
.pm-dw-close{background:none;border:1px solid var(--bdr);color:var(--txt-m);width:38px;height:38px;font-size:16px;cursor:pointer;transition:all .2s;}
.pm-dw-close:hover{color:var(--gold);border-color:var(--gold);}

/* 免運進度 */
.pm-ship-bar{padding:14px 20px;border-bottom:1px solid var(--bdr);background:var(--bg-2);}
.pm-ship-bar .t{font-size:12px;color:var(--txt-m);margin-bottom:8px;}
.pm-ship-bar .t b{color:var(--gold);font-weight:700;}
.pm-ship-track{height:3px;background:rgba(200,169,107,.15);position:relative;}
.pm-ship-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--gold-dk),var(--gold));width:0%;transition:width .5s ease;}

/* 品項列表 */
.pm-dw-items{flex:1;overflow-y:auto;padding:8px 20px;}
.pm-item{display:grid;grid-template-columns:64px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--bdr);align-items:center;}
.pm-item-img{width:64px;height:64px;object-fit:cover;border:1px solid var(--bdr);background:var(--bg-2);}
.pm-item-info{min-width:0;}
.pm-item-sku{font-family:var(--ff-mono);font-size:8px;letter-spacing:.24em;color:var(--gold-dk);text-transform:uppercase;margin-bottom:3px;}
.pm-item-name{font-family:var(--ff-tc);font-weight:700;font-size:14px;color:var(--txt);line-height:1.35;margin-bottom:6px;}
.pm-item-price{font-family:var(--ff-mono);font-weight:700;font-size:12px;color:var(--gold);}
.pm-item-price.tbd{color:var(--txt-dim);font-weight:600;font-size:10px;letter-spacing:.1em;}
.pm-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.pm-qty{display:inline-flex;align-items:stretch;border:1px solid var(--bdr-w);}
.pm-qty button{width:30px;height:30px;background:none;border:none;color:var(--gold);font-size:14px;cursor:pointer;}
.pm-qty button:hover{background:rgba(200,169,107,.1);}
.pm-qty span{width:34px;display:flex;align-items:center;justify-content:center;font-family:var(--ff-mono);font-weight:700;font-size:12px;color:var(--txt);border-left:1px solid var(--bdr);border-right:1px solid var(--bdr);}
.pm-item-rm{background:none;border:none;color:var(--txt-dim);font-size:11px;cursor:pointer;letter-spacing:.1em;padding:2px;}
.pm-item-rm:hover{color:#c2474e;}
.pm-empty{text-align:center;padding:64px 20px;color:var(--txt-dim);}
.pm-empty .big{font-size:34px;margin-bottom:14px;opacity:.5;}
.pm-empty p{font-size:13px;line-height:1.8;}

/* 抽屜底部 */
.pm-dw-foot{border-top:1px solid var(--bdr-w);padding:16px 20px 18px;background:var(--bg-2);}
.pm-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--txt-m);padding:3px 0;}
.pm-row b{font-family:var(--ff-mono);font-weight:700;color:var(--txt);}
.pm-row.total{font-size:14px;padding-top:8px;margin-top:6px;border-top:1px solid var(--bdr);}
.pm-row.total b{color:var(--gold);font-size:19px;}
.pm-note{font-size:11px;color:var(--txt-dim);margin:8px 0 12px;line-height:1.6;}
.pm-dw-foot .btn{width:100%;margin-top:4px;}

/* 結帳頁 */
.pm-cart-page{max-width:1100px;margin:0 auto;padding:104px 24px 80px;}
.pm-cart-page h1{font-family:var(--ff-tc);font-weight:900;font-size:clamp(30px,4vw,46px);color:var(--txt);margin-bottom:6px;}
.pm-cart-page .sub{font-size:14px;color:var(--txt-m);margin-bottom:36px;}
.pm-cart-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:start;}
@media(max-width:900px){.pm-cart-grid{grid-template-columns:1fr;}}
.pm-panel{border:1px solid var(--bdr);background:var(--bg-1);}
.pm-panel-h{font-family:var(--ff-mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);padding:16px 20px;border-bottom:1px solid var(--bdr);}
.pm-panel-b{padding:8px 20px 20px;}
.pm-panel-b .pm-item:last-child{border-bottom:none;}

/* 表單 */
.pm-field{margin-top:16px;}
.pm-field label{display:block;font-family:var(--ff-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--txt-m);margin-bottom:8px;}
.pm-field label .req{color:var(--gold);}
.pm-field input,.pm-field textarea{width:100%;background:var(--bg-2);border:1px solid var(--bdr-w);color:var(--txt);font-family:var(--ff-sans);font-size:15px;padding:13px 14px;transition:border-color .2s;min-height:48px;}
.pm-field textarea{min-height:84px;resize:vertical;}
.pm-field input:focus,.pm-field textarea:focus{outline:none;border-color:var(--gold);}
.pm-field input.err,.pm-field textarea.err{border-color:#c2474e;}
.pm-field .hint{font-size:11px;color:var(--txt-dim);margin-top:6px;line-height:1.5;}
.pm-info-strip{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--bdr);background:var(--bg-2);padding:13px 15px;margin-top:16px;font-size:12px;line-height:1.7;color:var(--txt-m);}
.pm-info-strip .ic{color:var(--gold);flex-shrink:0;}
.pm-submit{width:100%;margin-top:20px;font-size:13px;padding:17px;}
.pm-err-msg{display:none;color:#e0837f;font-size:12px;margin-top:10px;line-height:1.6;}
.pm-err-msg.on{display:block;}

/* 訂單完成畫面 */
.pm-done{display:none;text-align:center;padding:48px 24px;}
.pm-done.on{display:block;}
.pm-done .oid{font-family:var(--ff-mono);font-weight:800;font-size:20px;letter-spacing:.14em;color:var(--gold);margin:12px 0 4px;}
.pm-done h2{font-family:var(--ff-tc);font-weight:900;font-size:26px;color:var(--txt);margin-bottom:12px;}
.pm-done p{font-size:13px;color:var(--txt-m);line-height:1.8;max-width:400px;margin:0 auto 20px;}
.pm-done .btn{margin:4px;}
.pm-order-txt{width:100%;background:var(--bg-2);border:1px solid var(--bdr);color:var(--txt-m);font-size:12px;font-family:var(--ff-sans);padding:14px;min-height:180px;margin:14px 0;line-height:1.7;}

/* Toast */
.pm-toast{position:fixed;bottom:88px;left:50%;transform:translateX(-50%) translateY(16px);z-index:500;background:var(--bg-2);border:1px solid var(--gold);color:var(--txt);font-size:13px;padding:13px 22px;display:flex;align-items:center;gap:10px;opacity:0;pointer-events:none;transition:all .3s;box-shadow:0 12px 40px rgba(0,0,0,.6);white-space:nowrap;}
.pm-toast.on{opacity:1;transform:translateX(-50%) translateY(0);}
.pm-toast .ck{color:var(--gold);font-weight:700;}
.pm-toast a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;margin-left:4px;}
@media(min-width:901px){.pm-toast{bottom:32px;}}

/* 浮動購物車（手機） */
.pm-fab{position:fixed;right:16px;bottom:84px;z-index:190;width:54px;height:54px;border-radius:50%;background:var(--gold);color:#0a0a0a;border:none;font-size:20px;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 10px 32px rgba(0,0,0,.55);}
.pm-fab .pm-fab-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;background:#0a0a0a;border:1px solid var(--gold);color:var(--gold);font-family:var(--ff-mono);font-weight:800;font-size:10px;border-radius:99px;display:flex;align-items:center;justify-content:center;}
@media(max-width:900px){.pm-fab.has{display:flex;}}

/* ── nav 購物車鈕(v2 樣式,原版 main.css 無) ── */
/* nav 購物車按鈕（store.js 注入） */
.nav-cart-btn{position:relative;display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--bdr-w);color:var(--gold);font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:9px 14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;}
.nav-cart-btn .t{display:none;}
.nav-cart-btn{padding:9px 12px;}
.nav-cart-btn:hover{border-color:var(--gold);background:rgba(200,169,107,.08);}
.nav-cart-badge{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;padding:0 5px;background:var(--gold);color:#0a0a0a;font-family:var(--ff-mono);font-weight:800;font-size:10px;display:flex;align-items:center;justify-content:center;border-radius:99px;transform:scale(0);transition:transform .25s cubic-bezier(.34,1.56,.64,1);}
.nav-cart-badge.on{transform:scale(1);}

/* LINE 綠色主鈕(cart 送單/再次開啟) */
.btn-line{background:#06c755;color:#fff;border:1px solid #06c755;}
.btn-line:hover{background:#05b34c;border-color:#05b34c;color:#fff;}

/* 抽屜縮圖占位(墨紙) */
.pm-item-ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#f6f1e5,#ece4d4);color:#1b1712;font-family:"Ma Shan Zheng","Noto Serif TC",serif;font-size:22px;border:1px solid rgba(27,23,18,.14);}

/* ── 價格顯示(卡片+商品頁) ── */
.card-price{font-family:"Montserrat","Noto Serif TC",serif;color:var(--gold-lt,#d8c08a);font-weight:800;font-size:17px;margin:2px 0 4px;letter-spacing:.01em;}
.card-price .cur{font-size:12px;font-weight:600;opacity:.85;margin-right:1px;}
.card-price.tbd{color:var(--txt-dim,#8a8378);font-size:13px;font-weight:500;}
.pd-price{font-family:var(--serif-p,"Playfair Display"),serif;font-size:30px;font-weight:800;color:var(--gold-lt,#d8c08a);line-height:1;margin:16px 0 4px;}
.pd-price .cur{font-size:16px;font-weight:500;color:var(--txt-m,#a89e8e);margin-right:3px;}
.pd-price.tbd{font-size:17px;color:var(--txt-dim,#8a8378);font-weight:500;}
