/* =====================================================================
   2026-10-12b 修正與補充（每頁最後載入；拿掉這一行 <link> 就回到 10-12a 的樣子）
   沿用石墨配色：墨色 var(--g-ink, #222428)、底色 #f5f5f3、灰階邊線
   ===================================================================== */
:root{ --mj-ink:#222428; --mj-muted:#7a7d83; --mj-line:#e4e4e1; --mj-soft:#f5f5f3; --mj-warn-bg:#fdf3dc; --mj-warn:#7a5300; --mj-ok:#1c7a4a; --mj-ok-bg:#e3f2e9; }

/* ---------- 浮島：和重要按鈕重疊時收起來 ---------- */
.mj-dock.mj-dock-ready{ animation:none; transition:transform .28s cubic-bezier(.2,.8,.2,1), opacity .2s ease; }
.mj-dock.mj-dock-away{ animation:none; transform:translate(-50%,170%); opacity:0; pointer-events:none; }

/* ---------- 搜尋紀錄 ---------- */
.mj-sh{ position:fixed; z-index:1200; background:#fff; border:1px solid var(--mj-line); border-radius:12px; box-shadow:0 14px 34px -12px rgba(0,0,0,.28); padding:6px; max-height:min(60vh,360px); overflow:auto; font-size:14px; }
.mj-sh-head{ display:flex; justify-content:space-between; align-items:center; padding:6px 8px 8px; color:var(--mj-muted); font-size:12.5px; }
.mj-sh-clear{ all:unset; cursor:pointer; color:var(--mj-muted); font-size:12.5px; }
.mj-sh-clear:hover{ color:var(--mj-ink); text-decoration:underline; }
.mj-sh-item{ display:flex; align-items:center; border-radius:8px; }
.mj-sh-item:hover{ background:var(--mj-soft); }
.mj-sh-item a{ flex:1; min-width:0; padding:9px 10px; color:var(--mj-ink); text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mj-sh-del{ all:unset; cursor:pointer; width:30px; height:30px; display:grid; place-items:center; color:#aaa; font-size:18px; border-radius:8px; }
.mj-sh-del:hover{ color:var(--mj-ink); background:#ececea; }

/* ---------- 共用提示 ---------- */
.mj-blocked{ background:var(--mj-warn-bg); color:var(--mj-warn); border-radius:10px; padding:10px 14px; font-size:14px; line-height:1.6; margin:0 0 14px; }
.mj-muted{ color:var(--mj-muted); font-size:13.5px; line-height:1.7; }
.mj-paused-tag{ display:inline-block; vertical-align:middle; font-size:12px; font-weight:700; padding:2px 8px; border-radius:999px; background:#ececea; color:#5f646c; margin-left:6px; }
.sf-tag.mj-paused-tag{ margin-left:0; background:rgba(255,255,255,.92); }
.pd-btn-cart.mj-off,.pd-btn-buy.mj-off{ opacity:.45; cursor:not-allowed; }
.mj-link{ all:unset; cursor:pointer; color:var(--mj-ink); text-decoration:underline; font-size:13px; margin-left:8px; }
.mj-mono{ font-variant-numeric:tabular-nums; letter-spacing:.02em; }

/* ---------- 購物車：說明、目前無法購買 ---------- */
.mj-cart-notices{ max-width:1060px; margin:0 auto 14px; }
.mj-cart-notice{ background:var(--mj-warn-bg); color:var(--mj-warn); border-radius:10px; padding:10px 14px; font-size:14px; margin-bottom:8px; }
.mj-cart-unavail{ max-width:1060px; margin:22px auto 0; }
.mj-cart-unavail-title{ font-size:16px; margin:0 0 4px; }
.mj-cart-unavail-sub{ color:var(--mj-muted); font-size:13px; margin:0 0 10px; }
.cart-item.mj-unavail{ opacity:.78; }
.cart-item.mj-unavail .cart-item-img{ filter:grayscale(1); }
.mj-unavail-reason{ display:inline-block; margin-top:4px; font-size:12.5px; color:var(--mj-warn); background:var(--mj-warn-bg); padding:2px 8px; border-radius:6px; }
a.cart-item-name{ color:inherit; text-decoration:none; }
a.cart-item-name:hover{ text-decoration:underline; }

/* ---------- 結帳視窗（購物車）／預約結帳 ---------- */
.mj-co h3{ font-size:19px; }
.mj-co-h{ font-size:14px; margin:14px 0 8px; color:var(--mj-ink); }
.mj-co-group{ border:1px solid var(--mj-line); border-radius:10px; padding:12px; margin-bottom:10px; }
.mj-co-group-head{ display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
.mj-co-free{ color:var(--mj-muted); font-size:12px; }
.mj-co-items{ color:var(--mj-muted); font-size:13px; margin:4px 0 10px; line-height:1.6; }
.mj-co-none{ margin:0; font-size:13.5px; color:var(--mj-muted); }
.mj-co-methods{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px; }
.mj-co-method{ position:relative; display:block; cursor:pointer; }
.mj-co-method input{ position:absolute; opacity:0; pointer-events:none; }
.mj-co-method > span{ display:flex; flex-direction:column; gap:2px; border:1.5px solid var(--mj-line); border-radius:9px; padding:9px 11px; font-size:14px; font-weight:600; color:var(--mj-ink); background:#fff; transition:border-color .15s, box-shadow .15s; }
.mj-co-method > span small{ font-weight:400; font-size:12px; color:var(--mj-muted); }
.mj-co-method input:checked + span{ border-color:var(--mj-ink); box-shadow:0 0 0 1px var(--mj-ink) inset; }
.mj-co-method input:focus-visible + span{ outline:2px solid var(--mj-ink); outline-offset:2px; }
.mj-co-cvs{ margin-top:10px; }
.mj-co-cvs > label{ display:block; font-weight:500; margin-bottom:6px; font-size:14px; }
.mj-co-cvs-row{ display:flex; gap:8px; align-items:center; }
.mj-co-cvs-row input{ flex:1; min-width:0; padding:9px 12px; border:1px solid #ddd; border-radius:6px; font:inherit; }
.mj-co-cvs-map{ flex:none; font-size:13px; color:var(--mj-ink); white-space:nowrap; text-decoration:underline; }
.mj-co-hint{ display:block; color:var(--mj-muted); font-size:12px; line-height:1.6; margin-top:6px; }
.mj-co-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 12px; }
@media (max-width:480px){ .mj-co-grid{ grid-template-columns:1fr; } .checkout-dialog{ padding:18px 16px !important; } }
.mj-co-remember{ display:flex; gap:8px; align-items:flex-start; font-size:13px; color:#555; margin:4px 0 12px; line-height:1.5; cursor:pointer; }
.mj-co-remember input{ margin-top:2px; accent-color:var(--mj-ink); }
.mj-co-sum{ background:var(--mj-soft); border-radius:10px; padding:10px 14px; }
.mj-co-sum > div{ display:flex; justify-content:space-between; font-size:14px; padding:3px 0; }
.mj-co-sum .mj-co-total{ border-top:1px solid var(--mj-line); margin-top:4px; padding-top:7px; font-size:16px; }
.mj-co-sum p{ margin:6px 0 0; }

/* 預約結帳頁欄位（原本沒有樣式，是很小的瀏覽器預設框） */
.checkout-form-card .form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; }
.checkout-form-card .form-field.full,.checkout-form-card .full{ grid-column:1 / -1; }
.checkout-form-card .form-field label{ display:block; font-weight:600; font-size:14px; margin-bottom:6px; color:var(--mj-ink); }
.checkout-form-card .form-field input,.checkout-form-card .form-field textarea,.checkout-form-card .form-field select{
  width:100%; box-sizing:border-box; padding:11px 13px; border:1px solid var(--mj-line); border-radius:8px; font:inherit; font-size:15px; background:#fff; color:var(--mj-ink);
}
.checkout-form-card .form-field textarea{ min-height:90px; resize:vertical; }
.checkout-form-card .form-field input:focus,.checkout-form-card .form-field textarea:focus{ outline:none; border-color:var(--mj-ink); }
@media (max-width:640px){ .checkout-form-card .form-grid{ grid-template-columns:1fr; } }

/* ---------- 查詢訂單：分頁、查詢、付款、聯絡 ---------- */
.mj-otabs{ display:flex; gap:6px; flex-wrap:wrap; max-width:1060px; margin:0 auto 16px; }
.mj-otab{ all:unset; cursor:pointer; padding:9px 16px; border-radius:999px; border:1px solid var(--mj-line); background:#fff; font-size:14px; font-weight:600; color:var(--mj-ink); }
.mj-otab.active{ background:var(--mj-ink); color:#fff; border-color:var(--mj-ink); }
.mj-otab span{ font-weight:400; opacity:.75; }
.mj-opanel{ max-width:1060px; margin:0 auto; }
.mj-lookup{ background:#fff; border:1px solid var(--mj-line); border-radius:12px; padding:16px; margin-bottom:16px; }
.mj-lookup-sub{ margin:0 0 10px; color:var(--mj-muted); font-size:13.5px; }
.mj-lookup-row{ display:flex; gap:8px; flex-wrap:wrap; }
.mj-lookup-row input{ flex:1 1 180px; min-width:0; padding:10px 12px; border:1px solid var(--mj-line); border-radius:8px; font:inherit; }
.mj-oinfo{ display:grid; gap:4px; margin:10px 0; padding:10px 12px; background:var(--mj-soft); border-radius:8px; font-size:13.5px; line-height:1.6; }
.mj-oinfo .mj-k{ display:inline-block; min-width:52px; color:var(--mj-muted); margin-right:6px; }
.order-card.mj-hl{ box-shadow:0 0 0 2px var(--mj-ink); }
.order-store a{ color:inherit; }
.mj-pay-ec{ display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
.mj-pay-ec small{ display:block; color:var(--mj-muted); font-size:12px; }
.mj-paid{ color:var(--mj-ok); font-weight:700; }
.mj-bank{ margin:8px 0 4px; border:1px solid var(--mj-line); border-radius:8px; background:#fff; }
.mj-bank-row{ display:flex; align-items:center; gap:10px; padding:8px 12px; border-top:1px solid var(--mj-line); font-size:14px; }
.mj-bank-row:first-child{ border-top:0; }
.mj-bank-row > span{ flex:none; width:40px; color:var(--mj-muted); font-size:13px; }
.mj-bank-row > strong{ flex:1; min-width:0; overflow-wrap:anywhere; }
.mj-copy{ all:unset; cursor:pointer; flex:none; font-size:12px; padding:4px 9px; border-radius:6px; border:1px solid var(--mj-line); color:var(--mj-ink); background:#fff; }
.mj-copy:hover{ border-color:var(--mj-ink); }
.order-header .mj-copy{ margin-left:2px; }
.mj-report{ margin-top:10px; }
.mj-report-label{ display:block; font-size:13px; font-weight:600; margin-bottom:6px; }
.mj-report-row{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.mj-report-row .remittance-input{ flex:1 1 170px; min-width:0; padding:9px 12px; border:1px solid var(--mj-line); border-radius:8px; font:inherit; }
.mj-report-row .btn{ padding:9px 16px; }
.mj-file{ position:relative; display:inline-flex; align-items:center; gap:8px; cursor:pointer; font-size:13px; }
.mj-file input{ position:absolute; width:1px; height:1px; opacity:0; }
.mj-file-btn{ padding:8px 12px; border:1px dashed #b9bab6; border-radius:8px; background:#fff; }
.mj-file-name{ color:var(--mj-muted); font-size:12px; max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mj-file input:focus-visible + .mj-file-btn{ outline:2px solid var(--mj-ink); }
.mj-reported{ margin-top:8px; font-size:13.5px; color:var(--mj-ok); background:var(--mj-ok-bg); border-radius:8px; padding:8px 12px; }
.mj-ct-fold{ margin-top:10px; font-size:13.5px; }
.mj-ct-fold > summary{ cursor:pointer; color:var(--mj-ink); font-weight:600; list-style:revert; }
.mj-ct{ margin-top:8px; }
.mj-ct-title{ font-weight:700; font-size:14px; margin-bottom:8px; }
.mj-ct-title:empty{ display:none; }
.mj-ct-person{ font-weight:400; color:var(--mj-muted); font-size:13px; margin-left:8px; }
.mj-ct-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.mj-ct-chip{ display:inline-flex; align-items:center; gap:8px; padding:7px 12px 7px 8px; border:1px solid var(--mj-line); border-radius:10px; background:#fff; color:var(--mj-ink); text-decoration:none; max-width:100%; }
.mj-ct-chip:hover{ border-color:var(--mj-ink); }
.mj-ct-chip b{ display:block; font-size:13px; }
.mj-ct-chip small{ display:block; font-size:12px; color:var(--mj-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:220px; }
.mj-ct-ic{ flex:none; width:26px; height:26px; border-radius:8px; display:grid; place-items:center; background:var(--mj-ink); color:#fff; font-size:13px; font-weight:800; }
.mj-ct-none{ color:var(--mj-muted); font-size:13px; }
.mj-ct-hours{ margin-top:8px; color:var(--mj-muted); font-size:13px; }

/* ---------- 店鋪頁：聯絡方式、暫停營業 ---------- */
.mj-store-contact{ background:#fff; border:1px solid var(--mj-line); border-radius:14px; padding:16px 18px; margin:0 0 22px; }
.mj-store-paused{ margin:0 0 16px; font-weight:600; }
.seller-avatar img{ width:100%; height:100%; object-fit:cover; border-radius:inherit; display:block; }

/* ---------- 訂單成立頁 ---------- */
.mj-done-page{ max-width:760px; margin:0 auto; padding:40px 16px 60px; }
.mj-done-head{ text-align:center; margin-bottom:20px; }
.mj-done-ic{ width:62px; height:62px; margin:0 auto 12px; border-radius:50%; background:var(--mj-ink); color:#fff; display:grid; place-items:center; }
.mj-done-head h1{ margin:0 0 8px; font-size:26px; }
.mj-done-sub{ margin:0; color:#555; line-height:1.8; }
.mj-done-card{ text-align:left; }
.mj-done-next{ margin:8px 0 0; font-size:14px; font-weight:600; color:var(--mj-ink); }
.mj-done-actions{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:22px; }

/* ---------- 賣家：預約訂單 ---------- */
.bk-controls{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.bk-controls input,.bk-controls select{ padding:9px 12px; border:1px solid var(--mj-line); border-radius:8px; font:inherit; font-size:14px; background:#fff; color:var(--mj-ink); }
.bk-controls input{ min-width:220px; }
.bk-pay{ font-size:13.5px; color:#444; margin:4px 0; }
.bk-pay-st{ font-weight:700; color:var(--mj-warn); }
.bk-pay-st.paid{ color:var(--mj-ok); }
.bk-pay-st.reported{ color:#2a5db0; }
@media (max-width:640px){ .bk-controls input{ min-width:0; flex:1 1 100%; } }
.mj-report-send,.mj-done-actions .btn-primary,.mj-lookup .btn-primary{ background:var(--mj-ink); color:#fff; border-color:var(--mj-ink); }
.mj-report-send:hover,.mj-done-actions .btn-primary:hover,.mj-lookup .btn-primary:hover{ background:#3a3d43; }
.mj-done-actions .btn{ min-width:120px; text-align:center; text-decoration:none; }

/* ---------- 會員中心：查詢訂單 ---------- */
.mj-acc-h{ font-size:15px; margin:16px 0 8px; }
.mj-acc-row{ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1.4fr) auto auto; gap:10px; align-items:center; color:inherit; text-decoration:none; font-size:13.5px; }
.mj-acc-row span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#555; }
.mj-acc-row:hover{ background:#f5f5f3; }
@media (max-width:640px){ .mj-acc-row{ grid-template-columns:1fr auto; } .mj-acc-row span:nth-child(2){ display:none; } }
.mj-co .btn-primary{ background:var(--mj-ink); color:#fff; border-color:var(--mj-ink); }
.mj-co .btn-primary:disabled{ opacity:.6; }

/* 10-12c 搜尋沒結果 */
.mj-empty-search{ display:flex; flex-direction:column; gap:6px; align-items:center; text-align:center; padding:36px 16px; }
.mj-empty-search strong{ font-size:16px; color:var(--mj-ink); }
.mj-empty-search span{ color:var(--mj-muted); font-size:14px; }
.mj-empty-search a{ margin-top:6px; color:var(--mj-ink); font-weight:700; text-decoration:underline; }
.mj-field-hint{ display:block; margin-top:6px; color:var(--mj-muted); font-size:12.5px; line-height:1.6; }
/* 10-12c 店鋪橫幅 */
.mj-store-cover{ border-radius:14px; overflow:hidden; margin:0 0 14px; background:#ececea; aspect-ratio:3 / 1; max-height:360px; }
.mj-store-cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.seller-store-container .mj-store-cover{ max-width:1160px; margin:16px auto 0; }

/* ---------- 10-12c 賣家中心 ---------- */
/* 店鋪資訊／收款方式的「還原／儲存」：原本是漂浮在欄位上的按鈕，改成貼底的整條操作列（有底色與上框線），表單底部留空間不會被蓋住 */
.sf-actions:not([style*="static"]){ background:#fff; border-top:1px solid var(--mj-line); box-shadow:0 -8px 18px -12px rgba(0,0,0,.25); margin:18px -24px -24px; padding:12px 24px calc(12px + env(safe-area-inset-bottom,0px)); border-radius:0 0 16px 16px; }
@media (max-width:640px){ .sf-actions:not([style*="static"]){ margin:18px -16px -16px; padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px)); } }

/* 手機版側欄：原本每組一排、超出的被切掉看不到 → 自動換行全部顯示 */
@media (max-width:900px){
  .sidebar-nav .nav-group{ flex-wrap:wrap !important; overflow:visible !important; row-gap:4px; }
  .sidebar-nav .nav-group .nav-group-title{ flex:0 0 100% !important; padding:2px 6px 2px !important; }
}

/* 手機版商品管理：表格擠成直排、操作按鈕被切掉 → 改成卡片 */
@media (max-width:760px){
  .products-table-container{ overflow:visible; }
  .products-table thead{ display:none; }
  .products-table, .products-table tbody{ display:block; width:100%; }
  .products-table tr.mj-prow{ display:grid; grid-template-columns:64px 1fr; column-gap:12px; row-gap:4px; padding:12px; margin-bottom:10px; border:1px solid var(--mj-line); border-radius:12px; background:#fff; }
  .products-table tr.mj-prow td{ display:block; padding:0 !important; border:0 !important; text-align:left; font-size:13.5px; }
  .products-table tr.mj-prow td.mj-pimg{ grid-row:1 / span 6; }
  .products-table tr.mj-prow td.mj-pimg img{ width:64px; height:64px; object-fit:cover; border-radius:8px; }
  .products-table tr.mj-prow td.mj-pname{ font-weight:700; font-size:15px; }
  .products-table tr.mj-prow td[data-label]::before{ content:attr(data-label) "："; color:var(--mj-muted); }
  .products-table tr.mj-prow td.actions-cell{ display:flex; gap:8px; margin-top:6px; }
  .products-table tr.mj-prow td.actions-cell .btn-action{ flex:1; padding:8px 0; }
}
.mj-cat-filter{ width:100%; box-sizing:border-box; padding:9px 12px; border:1px solid var(--mj-line); border-radius:8px; margin-bottom:8px; font:inherit; font-size:14px; }

/* 2026-10-12d 賣家中心上方提醒 */
.seller-top-notice{display:flex;flex-direction:column;gap:8px;margin:0 0 16px}
.seller-top-notice .stn-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-radius:12px;font-size:14px;line-height:1.5;text-decoration:none;border:1px solid}
.seller-top-notice .stn-item b{white-space:nowrap;font-weight:700}
.seller-top-notice .stn-warn{background:#fff6e5;border-color:#f1d29a;color:#7a4b00}
.seller-top-notice .stn-bad{background:#fdecea;border-color:#f3b8b0;color:#8a2a1d}
.seller-top-notice .stn-info{background:#f2f4f7;border-color:#d9dde3;color:#333}

/* 2026-10-12e 申請開店：身分證明文件上傳 */
.mj-regdoc{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.mj-regdoc-list{display:contents}
.mj-regdoc-item{position:relative;width:110px;border:1px solid #d9dde3;border-radius:12px;background:#fff;padding:6px;display:flex;flex-direction:column;gap:4px}
.mj-regdoc-item img,.mj-regdoc-pdf{width:100%;height:76px;object-fit:cover;border-radius:8px;background:#f2f4f7;display:flex;align-items:center;justify-content:center;font-weight:700;color:#555;font-size:13px}
.mj-regdoc-name{font-size:12px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mj-regdoc-item button{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;border:1px solid #d9dde3;background:#fff;cursor:pointer;font-size:15px;line-height:1;color:#b3261e}
.mj-regdoc-add{width:110px;min-height:104px;border:1.5px dashed #b9bdc4;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#333;font-size:14px;font-weight:600;background:#fafafa}
.mj-regdoc-add.busy{opacity:.5;pointer-events:none}

/* 2026-10-13 賣家補上傳身分證明文件 */
.kyc-doc-need{background:#fdecea;border:1px solid #f3b8b0;color:#8a2a1d;border-radius:12px;padding:12px 14px;margin:0 0 12px;font-size:14px;line-height:1.6}
.kyc-doc-card{border:1px solid #e3e5e8;border-radius:14px;padding:14px 16px;margin:0 0 16px;background:#fff}
.kyc-doc-h{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:8px}
.kyc-doc-h small{color:#7a7d83;font-size:12px}
.kyc-doc-list{margin:0 0 10px;padding-left:18px;font-size:14px;line-height:1.8}
.kyc-doc-up{display:inline-flex;cursor:pointer}
.kyc-doc-hint{font-size:12px;color:#7a7d83;margin:8px 0 0}
