diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4ac95ed
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,33 @@
+# macOS / editors
+.DS_Store
+.idea/
+.vscode/
+*.swp
+*.swo
+
+# Local credentials and operational handover material
+.env
+.env.*
+!.env.example
+*.key
+*.pem
+*.p12
+*.pfx
+wp-config.php
+wp-config-*.php
+/docs/private/
+
+# Generated delivery packages and dependency caches
+/dist/*
+!/dist/.gitkeep
+*.zip
+*.tar
+*.tar.gz
+node_modules/
+vendor/
+
+# Local WordPress runtime data
+wp-content/uploads/
+wp-content/cache/
+wp-content/upgrade/
+wp-content/debug.log
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..fe4e7ca
--- /dev/null
+++ b/README.md
@@ -0,0 +1,38 @@
+# MING 明命品牌电商站
+
+MING 明命陶瓷内胆杯品牌官网与商城的源码仓库。前台主题位于 `ming-theme/`,基于 WordPress 与 WooCommerce,不依赖页面构建器。
+
+## 仓库结构
+
+```text
+ming-theme/ 可部署的 WordPress 主题源码
+assets/reference/ 非运行时的品牌视觉参考素材
+docs/brief/ 系统说明、业务策略等交付资料
+docs/private/ 本地运维交接资料;已由 .gitignore 排除
+scripts/ 可重复执行的打包脚本
+dist/ 生成的主题 ZIP;不进入 Git
+```
+
+## 开发与打包
+
+运行环境应使用 PHP 7.4+、WordPress 6.0+ 和 WooCommerce。修改主题时,保持 `ming-theme/functions.php` 中的 `MING_VERSION` 与 `ming-theme/style.css` 的 `Version` 一致。
+
+执行以下命令生成可上传的主题包:
+
+```bash
+./scripts/package-theme.sh
+```
+
+产物为 `dist/ming-theme.zip`,其中包含顶层 `ming-theme/` 目录。
+
+## 重要约束
+
+- 不提交后台密码、Cookie、API 密钥、生产配置或本地运维交接材料。
+- 主题启用钩子包含历史数据初始化逻辑,可能创建内容、菜单、商品变体与媒体资源;生产环境切换主题前必须先备份并人工确认。
+- 投票、SKU 初始化、海报生成等业务功能目前仍在主题内。后续应逐步迁移至独立插件,避免主题切换影响业务数据。
+
+## 首次推送前
+
+1. 确认 `git status --ignored` 中没有敏感文件。
+2. 轮换曾出现在旧交接文档中的后台凭据。
+3. 在 Git 平台新建空仓库后,按团队身份配置 Git 用户信息、添加远程地址并推送。
diff --git a/assets/reference/7fb4b240710cdc8243cb2727a2ac6e6d (1).png b/assets/reference/7fb4b240710cdc8243cb2727a2ac6e6d (1).png
new file mode 100644
index 0000000..985c19f
Binary files /dev/null and b/assets/reference/7fb4b240710cdc8243cb2727a2ac6e6d (1).png differ
diff --git a/assets/reference/7fb4b240710cdc8243cb2727a2ac6e6d.jpeg b/assets/reference/7fb4b240710cdc8243cb2727a2ac6e6d.jpeg
new file mode 100644
index 0000000..2657926
Binary files /dev/null and b/assets/reference/7fb4b240710cdc8243cb2727a2ac6e6d.jpeg differ
diff --git a/assets/reference/MING_logo.svg.svg b/assets/reference/MING_logo.svg.svg
new file mode 100644
index 0000000..5fe6aa5
--- /dev/null
+++ b/assets/reference/MING_logo.svg.svg
@@ -0,0 +1,11 @@
+
+
\ No newline at end of file
diff --git a/assets/reference/微信图片_20260831203516_27_43.jpg b/assets/reference/微信图片_20260831203516_27_43.jpg
new file mode 100644
index 0000000..6039347
Binary files /dev/null and b/assets/reference/微信图片_20260831203516_27_43.jpg differ
diff --git a/assets/reference/微信图片_20260901081917_132_43.png b/assets/reference/微信图片_20260901081917_132_43.png
new file mode 100644
index 0000000..b9dc641
Binary files /dev/null and b/assets/reference/微信图片_20260901081917_132_43.png differ
diff --git a/dist/.gitkeep b/dist/.gitkeep
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/dist/.gitkeep
@@ -0,0 +1 @@
+
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..e31b262
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,6 @@
+# 项目资料说明
+
+- `brief/`:对外或项目级的系统说明、业务策略与演示资料,可随仓库版本管理。
+- `private/`:运维交接、账号、服务器信息等本地资料,已被 `.gitignore` 排除,绝不推送。
+
+源码事实以 `ming-theme/` 为准。旧交接资料中的版本、目录和部署信息可能已经过期;每次发布后应同步更新本目录内不含敏感信息的说明。
diff --git a/docs/brief/MING明命-系統簡要說明書.docx b/docs/brief/MING明命-系統簡要說明書.docx
new file mode 100644
index 0000000..dd8ee1d
Binary files /dev/null and b/docs/brief/MING明命-系統簡要說明書.docx differ
diff --git a/docs/brief/MING明命-系統簡要說明書.pdf b/docs/brief/MING明命-系統簡要說明書.pdf
new file mode 100644
index 0000000..21ad88f
Binary files /dev/null and b/docs/brief/MING明命-系統簡要說明書.pdf differ
diff --git a/docs/brief/副本629230749136453786_營運方針暨業務發展策略.pptx b/docs/brief/副本629230749136453786_營運方針暨業務發展策略.pptx
new file mode 100644
index 0000000..2469c4e
Binary files /dev/null and b/docs/brief/副本629230749136453786_營運方針暨業務發展策略.pptx differ
diff --git a/ming-theme/README.md b/ming-theme/README.md
new file mode 100644
index 0000000..02aa4ef
--- /dev/null
+++ b/ming-theme/README.md
@@ -0,0 +1,20 @@
+# MING 明命 WordPress 主题
+
+这是 MING 明命品牌官网的可部署主题目录,依赖 WordPress 与 WooCommerce。
+
+## 主要文件
+
+- `functions.php`:主题设置、WooCommerce 扩展、投票活动、色卡、分享和海报生成。
+- `front-page.php`:品牌首页与商品系列展示。
+- `template-brand.php`、`template-ceramic.php`、`template-journal.php`、`template-vote.php`:品牌、材质、专栏与新品许愿页面模板。
+- `single-ming_campaign.php`:单一投票活动页。
+- `assets/css/`、`assets/js/`、`assets/img/`、`assets/fonts/`:运行时静态资源。
+
+## 版本管理
+
+每次修改会影响前台缓存时,同时更新:
+
+1. `functions.php` 的 `MING_VERSION`;
+2. `style.css` 的 `Version` 字段。
+
+使用仓库根目录的 `scripts/package-theme.sh` 生成上传包。不要将账号、密码、Cookie、服务器地址或部署脚本放入本主题目录;主题压缩包可能会被直接部署到公开站点。
diff --git a/ming-theme/ROADMAP.md b/ming-theme/ROADMAP.md
new file mode 100644
index 0000000..2fb5f28
--- /dev/null
+++ b/ming-theme/ROADMAP.md
@@ -0,0 +1,52 @@
+# ROADMAP.md — MING 明命 项目路线图
+
+> 当前源码版本:ming-theme **v1.7.3**
+> 最后更新:2026-09
+
+---
+
+## 0. 用户侧待办(非代码,阻塞后续开发)
+
+| # | 事项 | 阻塞 |
+|---|---|---|
+| 1 | 核对所有已发布商品与变体的售价、库存、图片和 SKU | 正式交易 |
+| 2 | 定制器填写社交链接(FB/IG/LINE) | footer 显示 |
+| 3 | 申请绿界 ECPay 商家账号(金流审核周期约 1–2 周) | **中期所有支付功能** |
+| 4 | 决定是否关闭游客结账(当前开启:可下单但订单归属游客) | 会员策略 |
+
+---
+
+## 1. 短期(v1.6–1.7)— 体验补全
+
+- [ ] **v1.6 退款/取消订单 UI**:myaccount 增加取消/申请退款入口(WC 内置,主题补样式)
+- [ ] **v1.6 商品相册**:多图 gallery 排版 + 移动端滑动
+- [ ] **v1.7 多语言**:Polylang 接入(繁中/简中,品牌页文案需整理成可翻译字符串)
+- [x] **v1.7 OG 标签**(v1.7.0 已上线 og:/twitter: meta);待做:商品结构化数据、sitemap
+
+## 2. 中期(v1.8–2.x)— 交易闭环(依赖用户侧待办 #3)
+
+- [ ] **v1.8 金流上线**:ECPay 插件接入(信用卡/ATM/超商代码),订单状态自动流转,替换现在的手动对账 bacs
+- [ ] **v1.9 购物车持久化**:游客购物车跨会话保留(WC session cookie 延长)
+- [ ] **v2.0 通知体系**:订单状态变更邮件模板品牌化(当前为 WC 默认模板)
+- [ ] 物流对接:超商取货(7-11/全家)或宅配运费规则
+
+## 3. 亿看 ERP 对接(已选型,暂不实施)
+
+- 商品/库存 ERP→网站、订单 网站→ERP;实施前先确认并固化 SKU 对照表
+- 实施为独立插件 ming-ecount-sync;前置:管理员签发 API_CERT_KEY + 登记服务器 IP
+- 接口资料与运维信息不纳入源码仓库;实施前应重新核对 ERP SKU 映射
+
+## 4. 长期 — 经营深化
+
+- [ ] 库存与规格体系:梳理容量/颜色变体、库存与 ERP SKU 的单一事实来源
+- [ ] 会员等级/积分(配合注册策略,依赖用户侧待办 #4)
+- [ ] 投票活动二期:许愿商品直达预售、活动数据导出
+- [ ] 数据分析:GA4 或自托管 Matomo,转化漏斗(首页→商品→结账)
+
+---
+
+## 优先级说明
+
+1. **用户侧待办 #1/#3 最先做**——没有正式商品和金流,v1.8 之后的所有工作都无法验收
+2. 短期项彼此独立,可按用户反馈任意排序
+3. 中期金流是分水岭:之前 bacs 手动对账够用,之后务必回归测试订单状态机(bacs 的 `is_paid()` 判断逻辑已被 v1.5.2 依赖)
diff --git a/ming-theme/assets/css/fonts.css b/ming-theme/assets/css/fonts.css
new file mode 100644
index 0000000..fe3c677
--- /dev/null
+++ b/ming-theme/assets/css/fonts.css
@@ -0,0 +1,52 @@
+/* MING 明命 — 自托管字体(v1.5.6 起替代 Google Fonts 外链)
+ 来源:google/fonts(OFL 授权),经子集化(Big5 常用字 + 全形标点)与字重实例化 */
+
+@font-face {
+ font-family: 'Cormorant Garamond';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url('../fonts/CormorantGaramond-400.woff2') format('woff2');
+}
+@font-face {
+ font-family: 'Cormorant Garamond';
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url('../fonts/CormorantGaramond-500.woff2') format('woff2');
+}
+@font-face {
+ font-family: 'Noto Serif TC';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url('../fonts/NotoSerifTC-400.woff2') format('woff2');
+}
+@font-face {
+ font-family: 'Noto Serif TC';
+ font-style: normal;
+ font-weight: 600;
+ font-display: swap;
+ src: url('../fonts/NotoSerifTC-600.woff2') format('woff2');
+}
+@font-face {
+ font-family: 'Noto Sans TC';
+ font-style: normal;
+ font-weight: 300;
+ font-display: swap;
+ src: url('../fonts/NotoSansTC-300.woff2') format('woff2');
+}
+@font-face {
+ font-family: 'Noto Sans TC';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url('../fonts/NotoSansTC-400.woff2') format('woff2');
+}
+@font-face {
+ font-family: 'Noto Sans TC';
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url('../fonts/NotoSansTC-500.woff2') format('woff2');
+}
diff --git a/ming-theme/assets/css/main.css b/ming-theme/assets/css/main.css
new file mode 100644
index 0000000..ff815d3
--- /dev/null
+++ b/ming-theme/assets/css/main.css
@@ -0,0 +1,1082 @@
+/* MING 明命 theme styles */
+:root{
+ --ivory:#F5F2EA;
+ --paper:#FBF9F3;
+ --green:#3C4638;
+ --green-deep:#2C3328;
+ --gold:#BFA06A;
+ --ink:#2B2B26;
+ --muted:#7A756A;
+ --line:rgba(43,43,38,.16);
+ --serif:'Noto Serif TC',serif;
+ --latin:'Cormorant Garamond','Noto Serif TC',serif;
+ --sans:'Noto Sans TC',sans-serif;
+}
+*{margin:0;padding:0;box-sizing:border-box}
+html{scroll-behavior:smooth}
+body{font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--ivory);line-height:1.9;-webkit-font-smoothing:antialiased}
+::selection{background:var(--green);color:var(--ivory)}
+img{display:block;max-width:100%}
+a{color:inherit;text-decoration:none}
+.wrap{max-width:1200px;margin:0 auto;padding:0 2rem}
+
+/* ---------- 頂部 ---------- */
+.topbar{background:var(--green-deep);color:rgba(245,242,234,.75);font-size:.72rem;letter-spacing:.32em;text-align:center;padding:.55rem 1rem}
+.site-header{position:sticky;top:0;z-index:50;background:rgba(245,242,234,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
+.header-inner{display:flex;align-items:center;gap:2.5rem;padding:1rem 2rem;max-width:1200px;margin:0 auto}
+.brand{display:flex;align-items:center;gap:.8rem}
+.brand .brand-mark{height:34px;width:auto}
+.brand .wm{font-family:var(--latin);font-weight:500;font-size:1.35rem;letter-spacing:.5em;text-indent:.1em;color:var(--green-deep)}
+.mainnav{margin-left:auto;display:flex;gap:2.4rem;font-size:.85rem;letter-spacing:.24em}
+.mainnav a{position:relative;padding:.3rem 0;color:var(--ink);transition:color .25s}
+.mainnav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .3s}
+.mainnav a:hover{color:var(--green)}
+.mainnav a:hover::after{width:100%}
+
+/* ---------- Hero ---------- */
+.hero{padding:5rem 2rem 0;text-align:center}
+.hero .logo-show{margin:0 auto 2.2rem;animation:logoIn 1.2s ease both}
+.hero .logo-show img{width:140px;height:auto;margin:0 auto}
+@keyframes logoIn{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
+.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,3.4vw,2.4rem);letter-spacing:.5em;text-indent:.5em;color:var(--green-deep);line-height:2.1}
+.hero h1 em{font-style:normal;color:var(--gold)}
+.hero .sub{margin-top:1.2rem;font-size:.8rem;letter-spacing:.44em;color:var(--muted)}
+.hero .rule{width:1px;height:56px;background:var(--line);margin:2.4rem auto 0}
+.hero-figure{max-width:880px;margin:3.5rem auto 0;position:relative}
+.hero-figure img{width:100%;height:auto;border:1px solid var(--line)}
+.hero-figure .frame-tag{position:absolute;left:-1px;top:-1px;background:var(--green-deep);color:var(--ivory);font-size:.72rem;letter-spacing:.3em;padding:.55rem 1.3rem}
+.hero-figure .frame-note{position:absolute;right:-1px;bottom:-1px;background:var(--paper);border:1px solid var(--line);font-size:.72rem;letter-spacing:.24em;padding:.55rem 1.3rem;color:var(--muted)}
+
+/* ---------- 通用 ---------- */
+.section{padding:7rem 0;border-top:1px solid var(--line)}
+.eyebrow{font-size:.72rem;letter-spacing:.5em;color:var(--gold);margin-bottom:1.4rem;display:flex;align-items:center;gap:1rem}
+.eyebrow::before{content:"";width:2.6rem;height:1px;background:var(--gold)}
+.h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.6rem,3.2vw,2.3rem);letter-spacing:.18em;color:var(--green-deep);line-height:1.9}
+.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s ease}
+.reveal.in{opacity:1;transform:translateY(0)}
+
+/* ---------- 品牌理念 ---------- */
+.philo-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:5rem;align-items:center}
+.philo-logo{background:var(--paper);border:1px solid var(--line);padding:4.5rem 3rem;text-align:center}
+.philo-logo img{width:min(220px,62%);height:auto;margin:0 auto}
+.philo-logo .caption{margin-top:2.2rem;font-size:.75rem;letter-spacing:.3em;color:var(--muted)}
+.philo-copy p{font-size:.95rem;color:#4c483f;margin-bottom:1.4rem;max-width:34em}
+.philo-copy .divider{width:2.6rem;height:1px;background:var(--line);margin:1.6rem 0}
+.keywords{display:flex;gap:2.6rem;margin-top:2.4rem;flex-wrap:wrap}
+.keywords .kw{text-align:center}
+.keywords .kw b{display:block;font-family:var(--serif);font-weight:600;font-size:1.5rem;color:var(--green-deep);letter-spacing:.3em;margin-bottom:.3rem}
+.keywords .kw span{font-size:.72rem;letter-spacing:.22em;color:var(--muted)}
+
+/* ---------- 五大意象 ---------- */
+.symbols{background:var(--paper)}
+.symbol-row{display:grid;grid-template-columns:repeat(5,1fr);margin-top:3.5rem}
+.symbol{padding:2.4rem 1.2rem;text-align:center;border-left:1px solid var(--line);transition:background .35s}
+.symbol:first-child{border-left:none}
+.symbol:hover{background:var(--ivory)}
+.symbol svg{width:64px;height:64px;margin:0 auto 1.4rem;stroke:var(--green);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s ease}
+.symbol:hover svg{transform:translateY(-5px)}
+.symbol h3{font-family:var(--serif);font-weight:600;font-size:1.05rem;letter-spacing:.3em;color:var(--green-deep);margin-bottom:.6rem}
+.symbol p{font-size:.8rem;color:var(--muted);line-height:1.9}
+
+/* ---------- 因緣橫幅 ---------- */
+.fate-banner{position:relative;overflow:hidden}
+.fate-banner img{width:100%;height:52vh;min-height:380px;max-height:560px;object-fit:cover;object-position:center 72%}
+.fate-banner .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(44,51,40,.82) 0%,rgba(44,51,40,.35) 55%,rgba(44,51,40,.05) 100%)}
+.fate-copy{position:absolute;inset:0;display:flex;align-items:center}
+.fate-copy .inner{max-width:1200px;margin:0 auto;padding:0 2rem;width:100%;color:var(--ivory)}
+.fate-copy h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,3vw,2.2rem);letter-spacing:.24em;margin-bottom:1.6rem}
+.fate-copy p{font-size:.92rem;max-width:30em;line-height:2.2;color:rgba(245,242,234,.88)}
+.fate-copy .mark{font-family:var(--latin);font-size:.8rem;letter-spacing:.4em;color:var(--gold);margin-bottom:1rem}
+
+/* ---------- 產品系列 ---------- */
+.prod-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}
+.prod-head .note{font-size:.8rem;letter-spacing:.2em;color:var(--muted)}
+.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:3.5rem}
+.pcard{background:var(--paper);border:1px solid var(--line);transition:transform .4s ease,box-shadow .4s ease}
+.pcard:hover{transform:translateY(-8px);box-shadow:0 24px 48px -24px rgba(44,51,40,.28)}
+.pcard a.ph{display:block}
+.pcard .ph{background:#fff;border-bottom:1px solid var(--line);padding:1rem;text-align:center}
+.pcard .ph img{width:auto;max-width:100%;height:auto;max-height:330px;margin:0 auto;transition:transform .8s ease}
+.pcard:hover .ph img{transform:scale(1.04)}
+.pcard .pb{padding:1.6rem 1.6rem 1.8rem}
+.pcard .series{font-family:var(--latin);font-size:.75rem;letter-spacing:.3em;color:var(--gold);text-transform:uppercase}
+.pcard h3{font-family:var(--serif);font-weight:600;font-size:1.12rem;letter-spacing:.14em;color:var(--green-deep);margin:.4rem 0 .5rem}
+.pcard p{font-size:.82rem;color:var(--muted);line-height:1.9;min-height:3.6em}
+.pcard .foot{display:flex;justify-content:space-between;align-items:center;margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid var(--line)}
+.pcard .colors{display:flex;gap:.45rem}
+.pcard .colors i{width:14px;height:14px;border-radius:50%;border:1px solid var(--line)}
+.pcard .more{font-size:.78rem;letter-spacing:.24em;color:var(--green);border-bottom:1px solid var(--gold);padding-bottom:.15rem;transition:color .25s}
+.pcard .more:hover{color:var(--gold)}
+
+/* ---------- 四大核心 ---------- */
+.core{background:var(--green-deep);color:var(--ivory)}
+.core .h2{color:var(--ivory)}
+.core-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:4.5rem;align-items:center;margin-top:1rem}
+.core-list{display:flex;flex-direction:column}
+.core-item{display:flex;gap:1.8rem;padding:1.8rem 0;border-bottom:1px solid rgba(245,242,234,.14)}
+.core-item:last-child{border-bottom:none}
+.core-item .no{font-family:var(--latin);font-size:1rem;letter-spacing:.2em;color:var(--gold);padding-top:.3rem;min-width:2.4rem}
+.core-item h3{font-family:var(--serif);font-weight:600;font-size:1.1rem;letter-spacing:.2em;margin-bottom:.5rem}
+.core-item p{font-size:.85rem;color:rgba(245,242,234,.66);line-height:2}
+.core-figure{max-width:520px;margin:0 auto}
+.core-figure img{width:100%;height:auto;border:1px solid rgba(245,242,234,.2)}
+.core-figure .cap{margin-top:1rem;font-size:.72rem;letter-spacing:.3em;color:rgba(245,242,234,.5);text-align:center}
+
+/* ---------- 結語 ---------- */
+.closing{padding:8rem 2rem;text-align:center}
+.closing .q{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,3.6vw,2.4rem);letter-spacing:.3em;color:var(--green-deep);line-height:2.2}
+.closing .q em{font-style:normal;color:var(--gold)}
+.closing .sub{margin-top:1.6rem;font-family:var(--latin);font-size:.85rem;letter-spacing:.5em;color:var(--muted)}
+.closing .cta{display:inline-block;margin-top:3rem;padding:.95rem 3.2rem;border:1px solid var(--green-deep);font-size:.82rem;letter-spacing:.4em;color:var(--green-deep);transition:background .3s,color .3s}
+.closing .cta:hover{background:var(--green-deep);color:var(--ivory)}
+
+/* ---------- 頁腳 ---------- */
+.footer{background:var(--green-deep);color:rgba(245,242,234,.72);padding:4.5rem 0 2rem;border-top:1px solid rgba(191,160,106,.3)}
+.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:3.5rem}
+.footer .flogo{margin-bottom:1.2rem}
+.footer .flogo img{height:56px;width:auto}
+.footer .fdesc{font-size:.83rem;line-height:2.1;max-width:24em}
+.footer h4{font-size:.8rem;letter-spacing:.36em;color:var(--gold);margin-bottom:1.2rem;font-weight:400}
+.footer ul{list-style:none;display:flex;flex-direction:column;gap:.7rem;font-size:.83rem}
+.footer ul a{transition:color .25s,padding-left .25s}
+.footer ul a:hover{color:var(--ivory);padding-left:.4rem}
+.footer-bottom{max-width:1200px;margin:3rem auto 0;padding:1.4rem 2rem 0;border-top:1px solid rgba(245,242,234,.14);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.72rem;letter-spacing:.14em;color:rgba(245,242,234,.42)}
+
+/* ---------- 行動版選單(漢堡+全屏抽屜) ---------- */
+.hamburger{
+ display:none;background:none;border:none;padding:.5rem;margin-right:.4rem;
+ flex-direction:column;justify-content:center;gap:5px;cursor:pointer;color:var(--green-deep);
+}
+.hamburger span{display:block;width:22px;height:1.5px;background:currentColor;transition:transform .3s,opacity .3s}
+.mnav-overlay{display:none}
+.mnav{
+ display:none;position:fixed;inset:0;z-index:200;background:var(--ivory);
+ flex-direction:column;transform:translateX(-100%);transition:transform .4s cubic-bezier(.22,.8,.3,1);
+ overflow-y:auto;
+}
+body.mnav-open{overflow:hidden}
+body.mnav-open .mnav{transform:translateX(0)}
+.mnav-head{
+ display:flex;align-items:center;justify-content:center;position:relative;
+ padding:1.3rem 1.6rem;border-bottom:1px solid var(--line);flex:none;
+}
+.mnav-brand{font-family:var(--serif);font-size:1.05rem;letter-spacing:.55em;text-indent:.55em;color:var(--green-deep)}
+.mnav-close{
+ position:absolute;left:1.2rem;top:50%;transform:translateY(-50%);
+ background:none;border:none;padding:.5rem;cursor:pointer;color:var(--green-deep);
+}
+.mnav-close svg{width:22px;height:22px;display:block}
+.mnav-list{padding:1.6rem 0}
+.mnav-list ul{list-style:none;margin:0;padding:0}
+.mnav-list li{display:block}
+.mnav-list a{
+ display:flex;align-items:center;justify-content:space-between;
+ padding:1.35rem 2.2rem;font-family:var(--serif);font-size:1.3rem;font-weight:600;
+ letter-spacing:.28em;color:var(--green-deep);border-bottom:1px solid var(--line);
+ transition:color .25s,padding-left .3s;
+}
+.mnav-list a:hover{color:var(--gold);padding-left:2.7rem}
+.mnav-list .mnav-arrow{font-family:var(--sans);font-weight:400;font-size:1rem;color:var(--gold);letter-spacing:0}
+.mnav-list li.current-menu-item > a{color:var(--gold)}
+.mnav-foot{margin-top:auto;padding:2rem 2.2rem 2.6rem;border-top:1px solid var(--line);flex:none}
+.mnav-account{
+ display:inline-flex;align-items:center;gap:.7rem;font-size:.88rem;letter-spacing:.24em;color:var(--muted);
+ transition:color .25s;
+}
+.mnav-account svg{width:19px;height:19px}
+.mnav-account:hover{color:var(--gold)}
+
+/* ---------- RWD ---------- */
+@media (max-width:960px){
+ .philo-grid,.core-grid{grid-template-columns:1fr;gap:3rem}
+ .symbol-row{grid-template-columns:repeat(2,1fr)}
+ .symbol{border-left:none;border-top:1px solid var(--line)}
+ .symbol:nth-child(-n+2){border-top:none}
+ .prod-grid{grid-template-columns:repeat(2,1fr)}
+ .footer-grid{grid-template-columns:1fr 1fr}
+ .mainnav{display:none}
+ .hamburger{display:flex}
+ .mnav{display:flex}
+ .header-inner{gap:1rem;padding:1rem 1.4rem}
+ .header-actions{margin-left:auto}
+}
+@media (max-width:600px){
+ .prod-grid,.symbol-row,.footer-grid{grid-template-columns:1fr}
+ .symbol{border-top:1px solid var(--line)}
+ .symbol:first-child{border-top:none}
+ .hero{padding-top:4rem}
+}
+
+
+/* ============================================================
+ v1.1 — 商城版:頁頭動作、按鈕、頁腳社群、WooCommerce 風格
+ ============================================================ */
+
+/* ---------- 頁頭動作(會員 / 購物車) ---------- */
+.header-actions{display:flex;align-items:center;gap:1.4rem;margin-left:1.2rem}
+.haction{position:relative;display:flex;align-items:center;color:var(--green-deep);transition:color .25s}
+.haction:hover{color:var(--gold)}
+.haction svg{width:21px;height:21px}
+.hcount{position:absolute;top:-7px;right:-9px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:var(--gold);color:var(--green-deep);font-size:.6rem;font-weight:500;line-height:15px;text-align:center;letter-spacing:0}
+
+/* ---------- 按鈕 ---------- */
+.btn{display:inline-block;padding:.95rem 3.2rem;border:1px solid var(--green-deep);background:var(--green-deep);color:var(--ivory);font-size:.82rem;letter-spacing:.4em;text-indent:.4em;transition:background .3s,color .3s,border-color .3s}
+.btn:hover{background:var(--gold);border-color:var(--gold);color:var(--green-deep)}
+.btn.ghost{background:transparent;color:var(--green-deep)}
+.btn.ghost:hover{background:var(--green-deep);color:var(--ivory)}
+.hero-cta{margin-top:2.6rem;display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap}
+.prod-cta{margin-top:3.5rem;text-align:center}
+.textlink{display:inline-block;margin-top:2rem;font-size:.8rem;letter-spacing:.3em;color:var(--green);border-bottom:1px solid var(--gold);padding-bottom:.2rem;transition:color .25s}
+.textlink:hover{color:var(--gold)}
+
+/* ---------- 頁腳社群 ---------- */
+.footer-grid{grid-template-columns:1.3fr .9fr .9fr 1fr}
+.footer ul.co li{letter-spacing:.06em;line-height:1.9}
+.social{display:flex;gap:1rem;margin-top:1.6rem}
+.social a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(245,242,234,.28);border-radius:50%;color:rgba(245,242,234,.75);transition:border-color .3s,color .3s,transform .3s}
+.social a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px)}
+.social svg{width:18px;height:18px}
+
+/* ---------- 頁面頁首(品牌故事等子頁) ---------- */
+.page-hero{padding:6rem 0 0}
+.page-hero-sub{margin-top:1.2rem;font-size:.85rem;letter-spacing:.3em;color:var(--muted)}
+
+/* ============================================================
+ WooCommerce — 以 MING 設計語言風格化
+ ============================================================ */
+
+/* ---------- 通用:按鈕 / 價格 / 徽章 ---------- */
+.woocommerce a.button,
+.woocommerce button.button,
+.woocommerce input.button,
+.woocommerce #respond input#submit,
+.woocommerce a.added_to_cart,
+.woocommerce button.single_add_to_cart_button,
+.woocommerce a.checkout-button,
+.woocommerce #place_order{
+ background:var(--green-deep);color:var(--ivory);border:1px solid var(--green-deep);
+ border-radius:0;padding:.85rem 2.2rem;font-family:var(--sans);font-weight:400;
+ font-size:.8rem;letter-spacing:.24em;transition:background .3s,color .3s,border-color .3s;
+}
+.woocommerce a.button:hover,
+.woocommerce button.button:hover,
+.woocommerce input.button:hover,
+.woocommerce #respond input#submit:hover,
+.woocommerce button.single_add_to_cart_button:hover,
+.woocommerce a.checkout-button:hover,
+.woocommerce #place_order:hover{
+ background:var(--gold);border-color:var(--gold);color:var(--green-deep);
+}
+.woocommerce a.button.alt,
+.woocommerce button.button.alt{background:var(--green-deep);color:var(--ivory)}
+.woocommerce a.button.alt:hover,
+.woocommerce button.button.alt:hover{background:var(--gold);color:var(--green-deep)}
+
+.woocommerce span.onsale{
+ background:var(--gold);color:var(--green-deep);border-radius:0;
+ min-height:auto;min-width:auto;padding:.4rem .9rem;font-size:.68rem;
+ letter-spacing:.2em;line-height:1;font-weight:500;left:0;top:0;right:auto;margin:0;
+}
+.woocommerce .price,
+.woocommerce .price .amount{color:var(--green-deep);font-weight:500}
+.woocommerce .price del{color:var(--muted);font-weight:300}
+.woocommerce .price ins{background:none;text-decoration:none;color:var(--gold)}
+.woocommerce .star-rating{color:var(--gold)}
+
+/* ---------- 表單 ---------- */
+.woocommerce form .form-row input.input-text,
+.woocommerce form .form-row textarea,
+.woocommerce form .form-row select,
+.woocommerce .quantity .qty,
+.woocommerce #respond input#comment{
+ background:var(--paper);border:1px solid var(--line);border-radius:0;
+ padding:.7rem .9rem;font-family:var(--sans);font-size:.9rem;color:var(--ink);
+ transition:border-color .25s;
+}
+.woocommerce form .form-row input.input-text:focus,
+.woocommerce form .form-row textarea:focus,
+.woocommerce .quantity .qty:focus{border-color:var(--gold);outline:none}
+.woocommerce form .form-row label{font-size:.8rem;letter-spacing:.14em;color:var(--muted)}
+
+/* ---------- 商店列表 ---------- */
+.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
+.woocommerce ul.products[class*="columns-"] li.product{float:none;width:auto;margin:0}
+.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin:3rem 0}
+.woocommerce ul.products li.product{
+ float:none;width:auto;margin:0;background:var(--paper);border:1px solid var(--line);
+ transition:transform .4s ease,box-shadow .4s ease;
+}
+.woocommerce ul.products li.product:hover{transform:translateY(-8px);box-shadow:0 24px 48px -24px rgba(44,51,40,.28)}
+.woocommerce ul.products li.product a img{margin:0;border-bottom:1px solid var(--line)}
+.woocommerce ul.products li.product .woocommerce-loop-product__title{
+ font-family:var(--serif);font-weight:600;font-size:1.05rem;letter-spacing:.14em;
+ color:var(--green-deep);padding:1.2rem 1.4rem .2rem;
+}
+.woocommerce ul.products li.product .price{padding:0 1.4rem;font-size:.95rem}
+.woocommerce ul.products li.product .button{margin:1rem 1.4rem 1.5rem;display:inline-block}
+.woocommerce .woocommerce-result-count{font-size:.8rem;letter-spacing:.2em;color:var(--muted)}
+.woocommerce .woocommerce-ordering select{
+ background:var(--paper);border:1px solid var(--line);padding:.6rem .9rem;
+ font-family:var(--sans);font-size:.85rem;color:var(--ink);
+}
+
+/* ---------- 單一商品頁 ---------- */
+.woocommerce div.product .summary .product_title{
+ font-family:var(--serif);font-weight:600;letter-spacing:.16em;color:var(--green-deep);line-height:1.7;
+}
+.woocommerce div.product .summary .price{font-size:1.3rem;margin:1rem 0}
+.woocommerce div.product .woocommerce-product-details__short-description{color:#4c483f;font-size:.95rem;line-height:2}
+.woocommerce div.product form.cart .quantity .qty{width:5.5rem;text-align:center}
+.woocommerce div.product .product_meta{
+ margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--line);
+ font-size:.78rem;letter-spacing:.14em;color:var(--muted);
+}
+.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--line);padding:0}
+.woocommerce div.product .woocommerce-tabs ul.tabs li{
+ background:transparent;border:none;border-radius:0;margin:0;padding:0;
+}
+.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
+.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
+.woocommerce div.product .woocommerce-tabs ul.tabs li a{
+ padding:.9rem 1.6rem;font-size:.82rem;letter-spacing:.24em;color:var(--muted);font-weight:400;
+}
+.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--green-deep);border-bottom:2px solid var(--gold)}
+.woocommerce div.product .woocommerce-tabs .panel{
+ background:var(--paper);border:1px solid var(--line);border-top:none;
+ padding:2.2rem;font-size:.92rem;line-height:2.1;color:#4c483f;
+}
+.woocommerce .related.products h2,
+.woocommerce div.product .upsells.products h2{
+ font-family:var(--serif);font-weight:600;letter-spacing:.2em;color:var(--green-deep);
+ font-size:1.3rem;margin-bottom:.5rem;
+}
+
+/* ---------- 購物車 ---------- */
+.woocommerce table.shop_table{
+ border:1px solid var(--line);border-radius:0;background:var(--paper);
+ font-size:.9rem;
+}
+.woocommerce table.shop_table th{
+ font-weight:500;font-size:.78rem;letter-spacing:.24em;color:var(--muted);
+ border-bottom:1px solid var(--line);padding:1rem;
+}
+.woocommerce table.shop_table td{border-top:1px solid var(--line);padding:1rem}
+.woocommerce table.cart td.product-name a{color:var(--green-deep);font-weight:500}
+.woocommerce table.cart td.actions .coupon .input-text{border:1px solid var(--line);background:#fff}
+.woocommerce .cart-collaterals .cart_totals h2{
+ font-family:var(--serif);font-weight:600;letter-spacing:.2em;color:var(--green-deep);font-size:1.2rem;
+}
+.woocommerce .cart_totals table.shop_table tr.order-total .amount{color:var(--gold);font-size:1.15rem}
+.woocommerce a.remove{color:var(--muted)!important}
+.woocommerce a.remove:hover{color:#9b2222!important;background:none}
+.woocommerce .wc-proceed-to-checkout a.checkout-button{display:inline-block;font-size:.9rem}
+
+/* ---------- 結帳 ---------- */
+.woocommerce-checkout .col2-set .col-1,
+.woocommerce-checkout .col2-set .col-2{width:100%;float:none}
+.woocommerce form.checkout h3,
+.woocommerce #order_review_heading{
+ font-family:var(--serif);font-weight:600;letter-spacing:.2em;color:var(--green-deep);
+ font-size:1.15rem;margin:2rem 0 1rem;
+}
+.woocommerce form .form-row{margin-bottom:1.1rem}
+#add_payment_method #payment,
+.woocommerce-cart #payment,
+.woocommerce-checkout #payment{background:var(--paper);border:1px solid var(--line);border-radius:0}
+.woocommerce-checkout #payment div.payment_box{background:rgba(191,160,106,.12);color:var(--ink);font-size:.88rem}
+.woocommerce-checkout #payment div.payment_box::before{border-color:rgba(191,160,106,.35);border-bottom-color:rgba(191,160,106,.35)}
+.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--line)}
+#place_order{width:100%;text-align:center;font-size:.9rem;margin-top:1rem}
+
+/* ---------- 會員中心(我的帳戶) ---------- */
+.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px 1fr;gap:3rem;align-items:start}
+.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--line);background:var(--paper)}
+.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line)}
+.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:none}
+.woocommerce-account .woocommerce-MyAccount-navigation li a{
+ display:block;padding:.95rem 1.4rem;font-size:.82rem;letter-spacing:.2em;color:var(--ink);
+ transition:background .25s,color .25s,padding-left .25s;
+}
+.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--ivory);padding-left:1.8rem}
+.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
+ color:var(--green-deep);background:var(--ivory);border-left:3px solid var(--gold);padding-left:calc(1.4rem - 3px);
+}
+.woocommerce-account .woocommerce-MyAccount-content{font-size:.92rem;line-height:2.1;color:#4c483f}
+.woocommerce-account .woocommerce-MyAccount-content > p:first-child{color:var(--muted)}
+.woocommerce table.my_account_orders .woocommerce-button.view{
+ padding:.45rem 1.1rem;font-size:.72rem;
+}
+.woocommerce form.login,
+.woocommerce form.register{
+ background:var(--paper);border:1px solid var(--line);border-radius:0;padding:2.4rem;max-width:460px;
+}
+.woocommerce form.login .form-row{margin-bottom:1.2rem}
+.woocommerce .lost_password a{color:var(--green);font-size:.82rem;letter-spacing:.14em}
+.woocommerce-account .addresses .title h3{
+ font-family:var(--serif);font-weight:600;letter-spacing:.16em;color:var(--green-deep);
+}
+
+/* ---------- 訊息提示 ---------- */
+.woocommerce .woocommerce-message,
+.woocommerce .woocommerce-info,
+.woocommerce .woocommerce-error{
+ border-top-color:var(--gold);background:var(--paper);
+ font-size:.86rem;letter-spacing:.06em;color:var(--ink);
+}
+.woocommerce .woocommerce-message::before,
+.woocommerce .woocommerce-info::before{color:var(--gold)}
+.woocommerce .woocommerce-error{border-top-color:#9b2222}
+
+/* ---------- 分頁 ---------- */
+.woocommerce nav.woocommerce-pagination ul{border:1px solid var(--line)}
+.woocommerce nav.woocommerce-pagination ul li{border-right:1px solid var(--line)}
+.woocommerce nav.woocommerce-pagination ul li a,
+.woocommerce nav.woocommerce-pagination ul li span{
+ padding:.7rem 1.1rem;font-size:.82rem;color:var(--ink);
+}
+.woocommerce nav.woocommerce-pagination ul li span.current,
+.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--green-deep);color:var(--ivory)}
+
+/* ---------- RWD 補充 ---------- */
+@media (max-width:960px){
+ .header-actions{gap:1rem;margin-left:auto}
+ .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
+ .woocommerce-account .woocommerce{grid-template-columns:1fr;gap:2rem}
+}
+@media (max-width:600px){
+ .woocommerce ul.products{grid-template-columns:1fr}
+ .footer-grid{grid-template-columns:1fr}
+}
+
+
+/* ============================================================
+ v1.2 — 陶瓷內膽頁 / 商品頁 / 購物車 / 結帳 / 會員中心 精修
+ ============================================================ */
+
+/* ---------- 陶瓷內膽頁 ---------- */
+.ceramic-hero{padding-bottom:0}
+.compare-table{margin-top:3rem;border:1px solid var(--line)}
+.compare-table .cr{display:grid;grid-template-columns:.8fr 1.1fr 1.1fr;border-top:1px solid var(--line)}
+.compare-table .cr:first-child{border-top:none}
+.compare-table .cr > div{padding:1.3rem 1.6rem;font-size:.88rem;line-height:1.9;color:#4c483f}
+.compare-table .cr > div + div{border-left:1px solid var(--line)}
+.compare-table .cr.head{background:var(--green-deep)}
+.compare-table .cr.head > div{color:rgba(245,242,234,.85);font-size:.78rem;letter-spacing:.3em}
+.compare-table .cr .k{font-family:var(--serif);font-weight:600;letter-spacing:.2em;color:var(--green-deep)}
+.compare-table .cr .cer{background:var(--paper)}
+.compare-table .cr.head .cer{background:transparent;color:var(--gold)}
+.scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:3.5rem}
+.scene{background:var(--paper);border:1px solid var(--line);padding:2.6rem 2.2rem;transition:transform .4s ease,box-shadow .4s ease}
+.scene:hover{transform:translateY(-6px);box-shadow:0 24px 48px -24px rgba(44,51,40,.22)}
+.scene .no{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid var(--gold);border-radius:50%;font-family:var(--serif);font-weight:600;font-size:1.15rem;color:var(--gold);margin-bottom:1.5rem}
+.scene h3{font-family:var(--serif);font-weight:600;font-size:1.05rem;letter-spacing:.18em;color:var(--green-deep);margin-bottom:.7rem}
+.scene p{font-size:.85rem;color:var(--muted);line-height:2}
+
+/* ---------- 商店列表:統一圖片比例 ---------- */
+.woocommerce ul.products li.product a img{
+ width:100%;aspect-ratio:1/1.08;object-fit:cover;display:block;
+}
+
+/* ---------- 單一商品頁 重排 ---------- */
+.woocommerce div.product{display:flow-root}
+.single-product .woocommerce-breadcrumb{
+ font-size:.72rem;letter-spacing:.24em;color:var(--muted);margin-bottom:2.5rem;
+}
+.single-product .woocommerce-breadcrumb a{color:var(--green);border-bottom:1px solid transparent}
+.single-product .woocommerce-breadcrumb a:hover{border-color:var(--gold)}
+.woocommerce div.product div.images,
+.woocommerce div.product div.summary{float:none;width:auto}
+.woocommerce div.product div.images{
+ width:50%;float:left;background:var(--paper);border:1px solid var(--line);
+}
+.woocommerce div.product div.images .woocommerce-product-gallery__image img{display:block;width:100%;height:auto}
+.woocommerce div.product div.images .flex-control-thumbs{
+ display:flex;gap:.8rem;margin:.9rem 0 0;padding:0;
+}
+.woocommerce div.product div.images .flex-control-thumbs li{width:76px}
+.woocommerce div.product div.images .flex-control-thumbs img{border:1px solid var(--line);opacity:.65;transition:opacity .25s,border-color .25s}
+.woocommerce div.product div.images .flex-control-thumbs img:hover,
+.woocommerce div.product div.images .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--gold)}
+.woocommerce div.product div.summary{
+ float:right;width:44%;padding-top:.4rem;
+}
+.woocommerce div.product .summary .product_title{font-size:1.9rem;margin-bottom:.2rem}
+.woocommerce div.product .summary .price{font-size:1.45rem;margin:1.2rem 0 1.4rem}
+.woocommerce div.product .woocommerce-product-details__short-description{
+ padding-bottom:1.6rem;border-bottom:1px solid var(--line);margin-bottom:1.6rem;
+}
+.woocommerce div.product form.cart{margin:0 0 1.6rem;display:flex;gap:1rem;align-items:stretch;flex-wrap:wrap}
+.woocommerce div.product form.cart .quantity{margin:0}
+.woocommerce div.product form.cart .quantity .qty{height:100%;min-height:48px}
+.woocommerce button.single_add_to_cart_button{flex:1;min-width:200px;min-height:48px}
+.woocommerce div.product .product_meta{
+ display:flex;flex-direction:column;gap:.5rem;font-size:.78rem;
+}
+.woocommerce div.product .product_meta > span{border-bottom:1px dashed var(--line);padding-bottom:.5rem}
+.woocommerce div.product .product_meta a{color:var(--green)}
+.woocommerce table.shop_attributes{border:1px solid var(--line);background:var(--paper)}
+.woocommerce table.shop_attributes th{
+ font-weight:500;letter-spacing:.2em;color:var(--muted);font-size:.78rem;
+ border-bottom:1px solid var(--line);padding:.9rem 1.2rem;width:8em;
+}
+.woocommerce table.shop_attributes td{border-bottom:1px solid var(--line);padding:.9rem 1.2rem;font-size:.88rem}
+.woocommerce div.product .woocommerce-tabs{margin-top:4rem;clear:both}
+.woocommerce div.product .woocommerce-tabs .panel h2:first-child{
+ font-family:var(--serif);font-weight:600;letter-spacing:.2em;color:var(--green-deep);font-size:1.1rem;
+}
+.woocommerce .related.products, .woocommerce div.product .upsells.products{margin-top:4rem;clear:both}
+.woocommerce .related.products > h2, .woocommerce div.product .upsells.products > h2{
+ display:flex;align-items:center;gap:1rem;font-size:1.2rem;
+}
+.woocommerce .related.products > h2::before,
+.woocommerce div.product .upsells.products > h2::before{content:"";width:2.6rem;height:1px;background:var(--gold)}
+.woocommerce #reviews #comment{height:120px}
+.woocommerce #review_form #respond textarea{background:var(--paper);border:1px solid var(--line);padding:.8rem;font-family:var(--sans)}
+
+/* ---------- 購物車(經典短代碼版) ---------- */
+.woocommerce .cart-empty.woocommerce-info{
+ border:none;background:none;text-align:center;
+ font-family:var(--serif);font-size:1.15rem;letter-spacing:.2em;color:var(--green-deep);
+ padding:3rem 0 0;
+}
+.woocommerce .cart-empty.woocommerce-info::before{display:none}
+.woocommerce .return-to-shop{text-align:center;padding-bottom:3rem}
+.woocommerce table.cart img{width:72px;height:auto;border:1px solid var(--line)}
+.woocommerce table.cart td.product-thumbnail{padding:1rem}
+.woocommerce table.cart td.product-name a{letter-spacing:.08em}
+.woocommerce table.cart td.product-name a:hover{color:var(--gold)}
+.woocommerce table.cart .quantity .qty{width:4.5rem;text-align:center;padding:.4rem}
+.woocommerce table.cart td.actions{padding:1.4rem 1rem}
+.woocommerce table.cart td.actions .coupon{display:flex;gap:.6rem}
+.woocommerce table.cart td.actions .coupon .input-text{padding:.6rem .9rem;font-size:.85rem}
+.woocommerce .cart-collaterals{display:flex;justify-content:flex-end;margin-top:3rem}
+.woocommerce .cart-collaterals .cart_totals{
+ float:none;width:min(420px,100%);background:var(--paper);border:1px solid var(--line);padding:2.2rem;
+}
+.woocommerce .cart-collaterals .cart_totals h2{margin:0 0 1.4rem}
+.woocommerce .cart_totals table.shop_table{border:none;background:none}
+.woocommerce .cart_totals table.shop_table th,
+.woocommerce .cart_totals table.shop_table td{border:none;border-top:1px solid var(--line);padding:.9rem 0}
+.woocommerce .wc-proceed-to-checkout{padding:1.4rem 0 0}
+.woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;text-align:center;margin:0}
+
+/* ---------- 結帳(經典短代碼版) ---------- */
+.woocommerce-checkout .checkout.woocommerce-checkout{display:flow-root;margin-top:1rem}
+.woocommerce form.checkout .col2-set{width:52%;float:left}
+.woocommerce form.checkout .col2-set .col-1,
+.woocommerce form.checkout .col2-set .col-2{width:100%;float:none}
+.woocommerce form.checkout .col2-set .form-row{width:100%;float:none;margin:0 0 1.1rem}
+.woocommerce form.checkout .col2-set .form-row-first,
+.woocommerce form.checkout .col2-set .form-row-last{width:48%;float:left}
+.woocommerce form.checkout .col2-set .form-row-last{float:right}
+.woocommerce-checkout-review-order-wrap,
+#order_review_heading{float:right;width:42%;clear:none}
+#order_review_heading{margin-top:2rem}
+.woocommerce-checkout-review-order-wrap{background:var(--paper);border:1px solid var(--line);padding:2.2rem}
+.woocommerce-checkout-review-order-wrap #order_review{padding:0}
+.woocommerce-checkout #payment{border:none;background:none}
+.woocommerce-checkout #payment ul.payment_methods{padding:0;border-bottom:1px solid var(--line)}
+.woocommerce-checkout #payment ul.payment_methods li{padding:1rem 0}
+.woocommerce-checkout #payment ul.payment_methods li label{font-size:.9rem;letter-spacing:.1em;color:var(--ink)}
+.woocommerce-checkout #payment div.place-order{padding:1.4rem 0 0;margin:0}
+.woocommerce form.checkout_coupon{border:1px solid var(--line);background:var(--paper);border-radius:0;padding:1.6rem}
+.woocommerce .woocommerce-checkout .select2-container .select2-selection{
+ background:var(--paper);border:1px solid var(--line);border-radius:0;min-height:44px;padding:.4rem .5rem;
+}
+
+/* ---------- 會員中心 重排 ---------- */
+/* 未登入:登入+註冊 雙卡並排 */
+.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:1060px;margin:0 auto;padding:1rem 0 5rem}
+.woocommerce-account:not(.logged-in) .woocommerce::before,
+.woocommerce-account:not(.logged-in) .woocommerce::after{display:none}
+.woocommerce-account:not(.logged-in) .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:stretch;margin:0}
+.woocommerce-account:not(.logged-in) .u-columns::before,
+.woocommerce-account:not(.logged-in) .u-columns::after{display:none}
+.woocommerce-account:not(.logged-in) .u-columns > div{
+ float:none;width:auto;background:var(--paper);border:1px solid var(--line);
+ padding:3rem 2.8rem 2.6rem;position:relative;
+}
+.woocommerce-account:not(.logged-in) .u-columns > div::before{
+ content:"";position:absolute;top:0;left:2.8rem;width:42px;height:2px;background:var(--gold);
+}
+.woocommerce-account:not(.logged-in) .u-columns h2{
+ font-family:var(--serif);font-weight:600;font-size:1.55rem;letter-spacing:.3em;
+ margin:0 0 2.2rem;color:var(--green-deep);
+}
+.woocommerce-account:not(.logged-in) form.login,
+.woocommerce-account:not(.logged-in) form.register{border:none;background:none;padding:0;margin:0;max-width:none}
+.woocommerce-account:not(.logged-in) form .form-row{margin:0 0 1.5rem;padding:0;float:none;width:100%}
+.woocommerce-account:not(.logged-in) form .form-row label{display:block;font-size:.78rem;letter-spacing:.22em;color:var(--muted);margin-bottom:.6rem}
+.woocommerce-account:not(.logged-in) form .form-row .required{color:var(--gold)}
+.woocommerce-account:not(.logged-in) form .form-row input.input-text{
+ width:100%;background:#fff;border:1px solid var(--line);padding:.85rem 1.1rem;
+ font-size:.92rem;letter-spacing:.04em;color:var(--ink);transition:border-color .3s;
+}
+.woocommerce-account:not(.logged-in) form .form-row input.input-text:focus{border-color:var(--gold);outline:none}
+.woocommerce-account:not(.logged-in) .password-input{display:block;width:100%}
+.woocommerce-account:not(.logged-in) .password-input input.input-text{width:100%}
+.woocommerce-account:not(.logged-in) .show-password-input{position:absolute;top:50%;right:1rem;transform:translateY(-50%);opacity:.5}
+.woocommerce-account:not(.logged-in) .password-input{position:relative}
+.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme{
+ display:flex;align-items:center;gap:.6rem;margin:0 0 1.4rem;font-size:.82rem;letter-spacing:.1em;color:var(--muted);
+}
+.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme input{margin:0}
+.woocommerce-account:not(.logged-in) .woocommerce-button{
+ width:100%;text-align:center;padding:1rem;font-size:.82rem;letter-spacing:.4em;text-indent:.4em;margin:0;
+}
+.woocommerce-account:not(.logged-in) .lost_password{margin:1.2rem 0 0;text-align:right}
+.woocommerce-account:not(.logged-in) .lost_password a{font-size:.78rem;letter-spacing:.18em;color:var(--muted);border-bottom:1px solid transparent;transition:.3s}
+.woocommerce-account:not(.logged-in) .lost_password a:hover{color:var(--gold);border-color:var(--gold)}
+.woocommerce-account:not(.logged-in) .woocommerce-privacy-policy-text{
+ font-size:.8rem;line-height:2;color:var(--muted);letter-spacing:.03em;margin:0 0 1.8rem;
+}
+@media (max-width:820px){
+ .woocommerce-account:not(.logged-in) .u-columns{grid-template-columns:1fr}
+ .woocommerce-account:not(.logged-in) .u-columns > div{padding:2.4rem 2rem 2.2rem}
+ .woocommerce-account:not(.logged-in) .u-columns > div::before{left:2rem}
+}
+/* WC 自帶 clearfix 偽元素與浮動寬度會破壞 grid,先停用 */
+.woocommerce-account .woocommerce::before,
+.woocommerce-account .woocommerce::after{display:none}
+.woocommerce-account .woocommerce-MyAccount-navigation,
+.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
+/* 已登入:側邊導航 + 內容 */
+.woocommerce-account.logged-in .woocommerce{display:grid;grid-template-columns:230px 1fr;gap:3rem;align-items:start}
+.woocommerce-account .woocommerce-MyAccount-navigation{position:sticky;top:110px}
+.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table td,
+.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table th{padding:.9rem 1rem}
+.woocommerce .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
+.woocommerce .woocommerce-Addresses .woocommerce-Address{
+ float:none;width:auto;background:var(--paper);border:1px solid var(--line);padding:1.8rem;
+}
+.woocommerce .woocommerce-Address address{font-style:normal;line-height:2;color:#4c483f;font-size:.88rem}
+.woocommerce .woocommerce-Addresses .title .edit{font-size:.75rem;letter-spacing:.2em;color:var(--green)}
+.woocommerce-account .woocommerce-EditAccountForm fieldset{
+ border:1px solid var(--line);background:var(--paper);padding:1.8rem;margin:1.5rem 0;
+}
+.woocommerce-account .woocommerce-EditAccountForm legend{font-size:.85rem;letter-spacing:.24em;color:var(--gold);padding:0 .6rem}
+
+/* ---------- RWD 補充 v1.2 ---------- */
+@media (max-width:960px){
+ .compare-table .cr{grid-template-columns:1fr}
+ .compare-table .cr > div + div{border-left:none;border-top:1px dashed var(--line)}
+ .compare-table .cr.head{display:none}
+ .scene-grid{grid-template-columns:1fr}
+ .woocommerce div.product div.images,
+ .woocommerce div.product div.summary{float:none;width:100%}
+ .woocommerce div.product div.summary{margin-top:2.5rem}
+ .woocommerce form.checkout .col2-set,
+ .woocommerce-checkout-review-order-wrap,
+ #order_review_heading{float:none;width:100%}
+ #order_review_heading{margin-top:3rem}
+ .woocommerce .woocommerce-Addresses{grid-template-columns:1fr}
+ /* 會員中心行動版:單欄+橫向滑動導航 */
+ .woocommerce-account.logged-in .woocommerce{display:block}
+ .woocommerce-account .woocommerce-MyAccount-navigation{position:static;margin-bottom:2.4rem}
+ .woocommerce-account .woocommerce-MyAccount-navigation ul{
+ display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
+ }
+ .woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{display:none}
+ .woocommerce-account .woocommerce-MyAccount-navigation li{flex:none;border-bottom:none;border-right:1px solid var(--line)}
+ .woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-right:none}
+ .woocommerce-account .woocommerce-MyAccount-navigation li a{padding:.9rem 1.3rem;white-space:nowrap}
+ .woocommerce-account .woocommerce-MyAccount-navigation li a:hover{padding-left:1.3rem}
+ .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
+ border-left:none;border-bottom:2px solid var(--gold);padding-bottom:calc(.9rem - 2px);
+ }
+ /* 訂單/下載等表格:手機上堆疊顯示,標籤在左、資料在右 */
+ .woocommerce-account .woocommerce-MyAccount-content{overflow-x:auto;-webkit-overflow-scrolling:touch}
+ .woocommerce-account .woocommerce-MyAccount-content table.shop_table{min-width:0;width:100%}
+ .woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tr{display:block;padding:.6rem 0;border-bottom:1px solid var(--line)}
+ .woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tr td{
+ display:flex;justify-content:space-between;align-items:center;gap:1.2rem;
+ border:none;padding:.55rem 0;text-align:right;
+ }
+ .woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tr td::before{
+ flex:none;font-weight:600;color:var(--muted);letter-spacing:.1em;
+ }
+ /* 提示條按鈕:手機上獨立一行,不壓文字 */
+ .woocommerce .woocommerce-message .button,
+ .woocommerce .woocommerce-info .button,
+ .woocommerce .woocommerce-error .button{
+ float:none;display:block;width:100%;text-align:center;margin:1rem 0 0;
+ }
+ .woocommerce .woocommerce-info::after,
+ .woocommerce .woocommerce-message::after{content:"";display:block;clear:both}
+}
+
+
+/* ============================================================
+ v1.3.0 — 首頁商品即時讀取 + 購物車/結帳修正
+ =========================================================== */
+
+/* 首頁商品卡:價格 */
+.pcard .price{display:block;font-family:var(--latin);font-size:1rem;letter-spacing:.12em;color:var(--gold);margin:.15rem 0 .3rem}
+.pcard .price del{color:var(--muted);font-size:.85em;margin-right:.4em}
+.pcard .price ins{text-decoration:none}
+
+/* 購物車操作列:優惠券輸入框撐滿 + 更新按鈕狀態可見 */
+.woocommerce table.cart td.actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
+.woocommerce table.cart td.actions::before,
+.woocommerce table.cart td.actions::after{display:none}
+.woocommerce table.cart td.actions .coupon{float:none;display:flex;gap:.6rem;flex:1 1 300px;min-width:0;margin:0}
+.woocommerce table.cart td.actions .coupon label{position:absolute;left:-9999px}
+.woocommerce table.cart td.actions .coupon .input-text{flex:1;min-width:0;width:auto;padding:.7rem 1rem}
+.woocommerce table.cart td.actions .coupon .button{white-space:nowrap;margin:0}
+.woocommerce table.cart td.actions > button.button{float:none;margin:0}
+.woocommerce table.cart td.actions button[name="update_cart"]:disabled,
+.woocommerce table.cart td.actions button[name="update_cart"]:disabled[disabled]{
+ background:transparent!important;color:var(--muted)!important;
+ border:1px dashed var(--line)!important;opacity:1;cursor:default;
+}
+.woocommerce table.cart td.actions button[name="update_cart"]:disabled:hover{background:transparent!important;color:var(--muted)!important}
+
+/* 結帳:訂單欄浮動修正(正確的容器 class 是 woocommerce-checkout-review-order) */
+.woocommerce form.checkout #order_review.woocommerce-checkout-review-order{
+ float:right;width:42%;clear:none;background:var(--paper);border:1px solid var(--line);padding:2.2rem;
+}
+.woocommerce form.checkout #order_review.woocommerce-checkout-review-order table.shop_table{border:none;background:none}
+.woocommerce form.checkout #order_review.woocommerce-checkout-review-order table.shop_table th,
+.woocommerce form.checkout #order_review.woocommerce-checkout-review-order table.shop_table td{
+ border:none;border-top:1px solid var(--line);padding:.9rem 0;
+}
+.woocommerce form.checkout #order_review.woocommerce-checkout-review-order tr.order-total .amount{color:var(--gold);font-size:1.15rem}
+
+/* 結帳:付款方式區塊 */
+.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method{list-style:none;padding:1rem 0 0}
+.woocommerce-checkout #payment ul.payment_methods li input.input-radio{margin:0 .6rem 0 0;vertical-align:middle}
+.woocommerce-checkout #payment ul.payment_methods li label{display:inline;cursor:pointer;vertical-align:middle}
+.woocommerce-checkout #payment div.payment_box{
+ padding:1.1rem 1.3rem;margin:.9rem 0 0;border:1px solid var(--line);
+ background:rgba(191,160,106,.1);color:var(--ink);font-size:.88rem;line-height:1.9;
+}
+.woocommerce-checkout #payment div.payment_box::before{display:none}
+.woocommerce-checkout #payment div.payment_box p{margin:0}
+.woocommerce-checkout #payment div.place-order{padding:1.6rem 0 0;margin:0;border-top:1px solid var(--line);margin-top:1.6rem}
+
+@media(max-width:900px){
+ .woocommerce form.checkout #order_review.woocommerce-checkout-review-order{float:none;width:100%}
+ .woocommerce table.cart td.actions .coupon{flex:1 1 100%}
+}
+
+
+/* v1.3.1 — 購物車表格欄寬固定 */
+.woocommerce table.cart{table-layout:fixed}
+.woocommerce table.cart th.product-remove,
+.woocommerce table.cart td.product-remove{width:3.6rem}
+.woocommerce table.cart th.product-thumbnail,
+.woocommerce table.cart td.product-thumbnail{width:7.5rem}
+.woocommerce table.cart th.product-name{width:34%}
+.woocommerce table.cart td.actions{display:table-cell}
+.woocommerce table.cart td.actions .coupon{display:inline-flex}
+.woocommerce table.cart td.actions > button.button{float:right}
+
+/* v1.3.2 — 購物車操作列:優惠券回歸左側 */
+.woocommerce table.cart td.actions{text-align:right}
+.woocommerce table.cart td.actions .coupon{float:left;display:flex;flex:0 1 min(460px,60%);text-align:left}
+
+
+/* ============================================================
+ v1.4.0 — 新品許願池(產品投票)
+ =========================================================== */
+.vote-grid .vcard .pb{padding-bottom:1.6rem}
+.vote-meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:1.1rem;font-size:.8rem;color:var(--muted);letter-spacing:.1em}
+.vote-meta .vcount b{font-family:var(--serif);font-size:1.35rem;color:var(--green-deep);font-weight:600;margin-right:.2em}
+.vote-bar{height:5px;background:var(--line);margin:.7rem 0 1.2rem;overflow:hidden}
+.vote-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--green));transition:width .6s ease}
+.vote-btn{
+ display:block;width:100%;padding:.85rem 1rem;border:1px solid var(--green);
+ background:var(--green);color:var(--paper);font-family:var(--sans);font-size:.85rem;
+ letter-spacing:.3em;cursor:pointer;transition:all .3s;
+}
+.vote-btn:hover:not(:disabled){background:var(--green-deep)}
+.vote-btn.voted,.vote-btn:disabled.voted{background:transparent;color:var(--gold);border-color:var(--gold);cursor:default;letter-spacing:.3em}
+.vote-note{margin-top:2.5rem;text-align:center;font-size:.82rem;color:var(--muted);letter-spacing:.15em}
+.vote-empty{text-align:center;color:var(--muted);padding:3rem 0}
+
+
+/* ============================================================
+ v1.5.0 — 投票活動系統 / 圖片等高 / 地址頁 / 匯款資訊
+ =========================================================== */
+
+/* 商品卡圖片等高(首頁 + 許願池通用) */
+.pcard a.ph{aspect-ratio:1/1.08;box-sizing:border-box;overflow:hidden}
+.pcard .ph img{width:100%;height:100%;max-height:none;object-fit:cover}
+
+/* 投票活動列表 */
+.camp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.8rem}
+.camp-card{
+ display:block;background:var(--paper);border:1px solid var(--line);padding:2.2rem 2rem;
+ transition:transform .4s ease,box-shadow .4s ease;
+}
+.camp-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px -24px rgba(44,51,40,.28)}
+.camp-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.4rem}
+.camp-badge{font-size:.72rem;letter-spacing:.24em;padding:.35rem .9rem;border:1px solid var(--gold);color:var(--gold)}
+.camp-badge.closed{border-color:var(--muted);color:var(--muted)}
+.camp-deadline{font-size:.78rem;color:var(--muted);letter-spacing:.08em}
+.camp-card h3{font-family:var(--serif);font-weight:600;font-size:1.3rem;letter-spacing:.12em;color:var(--green-deep);margin:0 0 1.1rem}
+.camp-meta{display:flex;gap:1.4rem;font-size:.82rem;color:var(--muted);letter-spacing:.08em}
+.camp-meta b{font-family:var(--serif);font-size:1.2rem;color:var(--green-deep)}
+.camp-go{display:inline-block;margin-top:1.5rem;font-size:.8rem;letter-spacing:.24em;color:var(--green);border-bottom:1px solid var(--gold);padding-bottom:.15rem}
+.camp-card:hover .camp-go{color:var(--gold)}
+
+/* 投票卡色點 */
+.vcard .colors{display:flex;gap:.45rem;margin-top:.6rem}
+.vcard .colors i{width:14px;height:14px;border-radius:50%;border:1px solid var(--line)}
+
+/* 我的帳戶 — 地址頁兩欄修正 */
+.woocommerce .woocommerce-Addresses,
+.woocommerce .woocommerce-Addresses.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
+.woocommerce .woocommerce-Addresses::before,
+.woocommerce .woocommerce-Addresses::after{display:none}
+.woocommerce .woocommerce-Addresses .woocommerce-Address,
+.woocommerce .woocommerce-Addresses .col-1,
+.woocommerce .woocommerce-Addresses .col-2{float:none;width:auto;max-width:none}
+.woocommerce .woocommerce-Addresses .woocommerce-Address{
+ background:var(--paper);border:1px solid var(--line);padding:1.8rem;
+}
+.woocommerce .woocommerce-Addresses .woocommerce-Address .edit{float:right;font-size:.8rem;letter-spacing:.14em;color:var(--green);border-bottom:1px solid var(--gold)}
+.woocommerce .woocommerce-Addresses address{font-style:normal;line-height:2;color:var(--muted)}
+@media(max-width:720px){
+ .woocommerce .woocommerce-Addresses{grid-template-columns:1fr}
+}
+
+/* 訂單詳情頁 — 匯款資訊卡 */
+.ming-bacs-box{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--gold);padding:1.8rem 2rem;margin:0 0 2rem}
+.ming-bacs-box h2{font-family:var(--serif);font-size:1.15rem;font-weight:600;letter-spacing:.2em;color:var(--green-deep);margin:0 0 1rem}
+.ming-bacs-box p{font-size:.9rem;color:var(--muted);line-height:1.9}
+.ming-bacs-box .bacs-accounts{list-style:none;margin:1rem 0;padding:0}
+.ming-bacs-box .bacs-accounts li{display:flex;flex-wrap:wrap;gap:2rem;padding:.9rem 0;border-top:1px dashed var(--line);font-size:.9rem}
+.ming-bacs-box .bacs-accounts b{display:block;font-size:.72rem;letter-spacing:.2em;color:var(--muted);margin-bottom:.2rem}
+.ming-bacs-box .bacs-note{font-size:.82rem;color:var(--green);margin:1rem 0 0}
+
+/* ---------- v1.6.0 宣傳片 ---------- */
+.video-sec{background:var(--green-deep);color:var(--ivory)}
+.video-sec .eyebrow{color:var(--gold)}
+.video-sec .h2{color:var(--ivory)}
+.video-sec .divider{background:var(--gold)}
+.video-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:3.5rem;align-items:center}
+.video-desc{line-height:2;color:rgba(245,242,234,.85);font-size:.95rem}
+.video-frame{position:relative;aspect-ratio:16/9;background:#000;box-shadow:0 0 0 1px rgba(191,160,106,.35)}
+.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
+
+/* ---------- v1.6.0 頂欄搜尋 ---------- */
+.hsearch{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit}
+.searchbar{display:none;border-bottom:1px solid var(--line);background:var(--ivory);padding:1.1rem 1.4rem}
+body.search-open .searchbar{display:block}
+.searchbar-form{display:flex;gap:.8rem;max-width:640px;margin:0 auto}
+.searchbar-form input[type="search"]{flex:1;border:none;border-bottom:1px solid var(--green-deep);background:transparent;padding:.6rem .2rem;font:inherit;font-size:.95rem;letter-spacing:.06em;color:var(--ink);outline:none}
+.searchbar-form input[type="search"]:focus{border-bottom-color:var(--gold)}
+.searchbar-form .btn{padding:.6rem 1.8rem}
+
+/* 行動版抽屜內搜尋 */
+.mnav-search{display:flex;align-items:center;border-bottom:1px solid var(--line);margin-bottom:1.2rem}
+.mnav-search input{flex:1;border:none;background:transparent;padding:.7rem 0;font:inherit;font-size:1rem;letter-spacing:.08em;color:var(--ink);outline:none}
+.mnav-search button{background:none;border:none;padding:.4rem;cursor:pointer;color:var(--gold)}
+.mnav-search button svg{width:20px;height:20px;display:block}
+
+/* ---------- v1.6.0 搜尋結果與庫存標籤 ---------- */
+.ming-search-grid{margin-top:2.5rem}
+.ming-stock{display:inline-block;font-size:.72rem;letter-spacing:.18em;padding:.18rem .7rem;border:1px solid}
+.ming-stock.in{color:var(--green);border-color:var(--green)}
+.ming-stock.out{color:var(--muted);border-color:var(--line);background:var(--line)}
+.search-empty{max-width:46em;margin-top:2.5rem}
+.search-empty .searchbar-form{margin:1.6rem 0}
+.search-empty .textlink{display:inline-block;margin-top:.4rem}
+
+/* ---------- v1.6.0 頁腳 ---------- */
+.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.6rem}
+.footer-bottom a{color:inherit}
+
+@media (max-width:960px){
+ .video-grid{grid-template-columns:1fr;gap:1.8rem}
+ .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
+}
+@media (max-width:560px){
+ .searchbar-form{flex-direction:column}
+ .searchbar-form .btn{width:100%}
+}
+
+/* ============================================================
+ v1.7.0 修正包:行動版排版 / 庫存標籤定位 / 影片兜底
+ ==========================================================*/
+
+/* 首頁大標題:逐行獨立成塊,行動版縮小字距避免錯位 */
+.hero h1 .hl{display:block}
+@media (max-width:600px){
+ .hero h1{letter-spacing:.16em;text-indent:.16em;font-size:clamp(1.02rem,4.4vw,1.4rem);line-height:2.2;padding:0 .4rem;word-break:keep-all}
+ .hero h1 .hl{white-space:nowrap}
+ .hero .sub{letter-spacing:.26em;font-size:.7rem;padding:0 .6rem}
+}
+
+/* 影片連結無法識別時的兜底提示 */
+.video-invalid{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(245,242,234,.6);font-size:.85rem;letter-spacing:.15em;padding:1rem;text-align:center}
+
+/* 庫存標籤:絕對定位貼在商品圖左上角 */
+.woocommerce ul.products li.product{position:relative}
+.woocommerce ul.products li.product .ming-stock{position:absolute;top:.8rem;left:.8rem;z-index:3;background:var(--ivory);box-shadow:0 2px 12px -4px rgba(44,51,40,.4)}
+.ming-search-grid .ming-stock,
+.related .ming-stock,.upsells .ming-stock{position:absolute;top:.8rem;left:.8rem;z-index:3;background:var(--ivory)}
+
+/* 商店/搜尋結果:行動版一行兩個商品 */
+@media (max-width:600px){
+ .woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:.9rem}
+ .woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 .9rem;font-size:.92rem;letter-spacing:.06em}
+ .woocommerce ul.products li.product .price{padding:0 .9rem;font-size:.82rem}
+ .woocommerce ul.products li.product .button{margin:.7rem .9rem 1rem;font-size:.72rem;padding:.5rem .8rem;letter-spacing:.12em}
+ .woocommerce ul.products li.product .ming-stock{top:.5rem;left:.5rem;font-size:.62rem;padding:.1rem .5rem;letter-spacing:.08em}
+}
+
+/* 頁腳:窄螢幕單欄堆疊 */
+@media (max-width:560px){
+ .footer-grid{grid-template-columns:repeat(3,1fr);gap:1.4rem}
+ .footer-grid>div:first-child{grid-column:1/-1}
+ .footer .fdesc{max-width:none}
+ .footer h4{font-size:.72rem;letter-spacing:.2em;margin-bottom:.8rem}
+ .footer-grid ul li{margin-bottom:.4rem}
+ .footer-grid ul a{font-size:.74rem;letter-spacing:.06em}
+ .footer-bottom{flex-direction:column;align-items:flex-start;gap:.5rem}
+}
+
+/* ---------- v1.7.0 許願分享 ---------- */
+.vote-share{margin-top:3.5rem;padding-top:2.2rem;border-top:1px solid var(--line);text-align:center}
+.vote-share-text{font-size:.85rem;letter-spacing:.14em;color:var(--muted);margin-bottom:1.2rem}
+.ming-share{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.7rem}
+.ming-share-label{font-size:.78rem;letter-spacing:.3em;color:var(--gold);margin-right:.4rem}
+.ming-share-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1.2rem;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:.78rem;letter-spacing:.1em;cursor:pointer;text-decoration:none;transition:border-color .25s,color .25s,transform .25s}
+.ming-share-btn[hidden]{display:none!important}
+.ming-share-btn svg{width:16px;height:16px;flex:none}
+.ming-share-btn:hover{border-color:var(--gold);color:var(--green-deep);transform:translateY(-2px)}
+.ming-share-btn.line:hover{border-color:#06c755;color:#06c755}
+.ming-share-btn.fb:hover{border-color:#1877f2;color:#1877f2}
+.ming-share-btn.copied{border-color:var(--green);color:var(--green)}
+.ming-share-btn .copy-label{font-size:.72rem}
+@media (max-width:560px){
+ .ming-share{gap:.5rem}
+ .ming-share-label{width:100%;margin:0 0 .3rem}
+ .ming-share-btn{padding:.5rem .9rem;font-size:.74rem}
+}
+
+/* ---------- v1.7.0 品牌專欄(JOURNAL) ---------- */
+.journal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.6rem}
+.journal-head-side{max-width:22em;text-align:right}
+.journal-desc{font-size:.82rem;color:var(--muted);line-height:1.9;margin-bottom:.6rem}
+.journal-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:2rem}
+.journal-grid.single{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
+.jcard{display:block;background:var(--paper);border:1px solid var(--line);text-decoration:none;color:inherit;transition:transform .4s ease,box-shadow .4s ease}
+.jcard:hover{transform:translateY(-6px);box-shadow:0 24px 48px -24px rgba(44,51,40,.28)}
+.jcard .jimg{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--line)}
+.jcard.feature .jimg{aspect-ratio:4/3.4}
+.jcard .jimg img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
+.jcard:hover .jimg img{transform:scale(1.05)}
+.jcard .jcat{position:absolute;top:.9rem;left:.9rem;background:rgba(44,51,40,.82);color:var(--ivory);font-size:.68rem;letter-spacing:.22em;padding:.28rem .8rem}
+.jcard .jbody{padding:1.4rem 1.5rem 1.6rem}
+.jcard time{font-family:var(--latin);font-size:.72rem;letter-spacing:.24em;color:var(--gold)}
+.jcard h3{font-family:var(--serif);font-weight:600;font-size:1.02rem;letter-spacing:.08em;line-height:1.7;color:var(--green-deep);margin:.5rem 0 .6rem}
+.jcard.feature h3{font-size:1.2rem}
+.jcard p{font-size:.8rem;color:var(--muted);line-height:1.9}
+.jcard .jmore{display:inline-block;margin-top:.9rem;font-size:.74rem;letter-spacing:.22em;color:var(--green);border-bottom:1px solid var(--gold);padding-bottom:.12rem}
+.journal-empty{color:var(--muted);font-size:.9rem;letter-spacing:.1em}
+.journal-sec + .journal-sec{padding-top:0}
+
+/* 分類歸檔頁沿用卡片網格 */
+.archive-journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem}
+
+/* ---------- v1.7.0 單篇文章 ---------- */
+.post-wrap{max-width:46em;margin:0 auto}
+.post-cover{margin:0 0 2.6rem}
+.post-cover img{width:100%;height:auto;display:block;border:1px solid var(--line)}
+.post-cat{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:.1rem}
+.post-content{font-size:.95rem;line-height:2.15;color:var(--ink)}
+.post-content h2,.post-content h3{font-family:var(--serif);font-weight:600;color:var(--green-deep);letter-spacing:.1em;margin:2.6rem 0 1rem}
+.post-content h2{font-size:1.3rem}
+.post-content h3{font-size:1.12rem}
+.post-content p{margin:0 0 1.4rem}
+.post-content blockquote{border-left:2px solid var(--gold);padding:.2rem 0 .2rem 1.4rem;color:var(--muted);margin:2rem 0;font-family:var(--serif)}
+.post-content ul,.post-content ol{margin:0 0 1.4rem 1.4rem}
+.post-content img{max-width:100%;height:auto;border:1px solid var(--line)}
+.post-foot{margin-top:3rem;padding-top:2.2rem;border-top:1px solid var(--line)}
+.post-back{margin-top:2rem;text-align:center}
+.post-related{padding-top:0}
+
+@media (max-width:960px){
+ .journal-grid{grid-template-columns:1fr 1fr}
+ .jcard.feature{grid-column:1/-1}
+ .archive-journal-grid{grid-template-columns:1fr 1fr}
+}
+@media (max-width:600px){
+ .journal-head{flex-direction:column;align-items:flex-start;gap:1rem}
+ .journal-head-side{text-align:left;max-width:none}
+ .journal-grid{grid-template-columns:1fr}
+ .archive-journal-grid{grid-template-columns:1fr}
+ .post-wrap{max-width:none}
+}
+
+/* ---------- v1.7.0 商品頁色卡變體按鈕 ---------- */
+.ming-select-hidden{position:absolute!important;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}
+.ming-swatches{display:flex;flex-wrap:wrap;gap:1rem;margin:.2rem 0 .4rem}
+.ming-swatch{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:none;border:none;cursor:pointer;padding:0;font:inherit}
+.ming-swatch i{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:block;transition:transform .25s ease;box-shadow:inset 0 0 0 2px var(--ivory)}
+.ming-swatch span{font-size:.72rem;letter-spacing:.12em;color:var(--muted);transition:color .25s}
+.ming-swatch:hover i{transform:scale(1.12)}
+.ming-swatch.is-active i{box-shadow:inset 0 0 0 2px var(--ivory),0 0 0 2px var(--gold)}
+.ming-swatch.is-active span{color:var(--green-deep)}
+.ming-swatch.is-disabled{opacity:.32;cursor:not-allowed}
+
+/* ============================================================
+ v1.7.1 行動版字體協調
+ ==========================================================*/
+
+/* Hero 主標:行動版拆成三行等寬短句,節奏一致 */
+.hero h1 .m-br{display:none}
+@media (max-width:600px){
+ .hero h1 .m-br{display:block}
+ .hero h1 .d-sp{display:none}
+ .hero h1{line-height:2.35;letter-spacing:.22em;text-indent:.22em}
+ .hero h1 .hl{white-space:nowrap}
+
+ /* 理念區 H2:桌機強制斷行在行動版取消,自然換行不留孤字 */
+ .h2 br.d-br{display:none}
+ .h2{letter-spacing:.14em;line-height:2;text-wrap:balance;font-size:clamp(1.3rem,5.6vw,1.6rem)}
+
+ /* 明/命/三 關鍵字:行動版三等分對齊 */
+ .keywords{justify-content:space-between;gap:1rem}
+ .keywords .kw{flex:1}
+
+ /* 區塊眉標與內文字距收斂,避免稀疏感 */
+ .eyebrow{letter-spacing:.3em}
+ .section{padding:4rem 0}
+ .philo-copy p,.video-desc{line-height:2;font-size:.92rem}
+}
+
+
+/* ============================================================
+ v1.7.2 色卡點點可點擊 / 分享修復配套
+ ==========================================================*/
+
+/* 色卡點點:按鈕化(沿用圓點外觀),選中帶金圈 */
+.pcard .colors .cdot,.vcard .colors .cdot{
+ width:14px;height:14px;border-radius:50%;border:1px solid var(--line);
+ padding:0;cursor:pointer;display:inline-block;transition:transform .25s ease,box-shadow .25s ease;
+}
+.pcard .colors .cdot:hover,.vcard .colors .cdot:hover{transform:scale(1.25)}
+.pcard .colors .cdot.is-on,.vcard .colors .cdot.is-on{box-shadow:0 0 0 2px var(--ivory),0 0 0 3.5px var(--gold);border-color:var(--gold)}
+.pcard .colors,.vcard .colors{align-items:center}
+
+/* 切換卡片圖淡入 */
+.pcard .ph img{transition:transform .8s ease,opacity .35s ease}
+
+/* ============================================================
+ v1.7.3 SKU 級許願 / 商店卡片對齊
+ ==========================================================*/
+
+/* 許願卡:色點下方顯示該色票數 */
+.vote-colors .cdot-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:.2rem}
+.vote-colors .cdot-n{font-style:normal;font-size:.62rem;color:var(--muted);letter-spacing:.05em;min-height:.8em}
+.vote-colors{align-items:flex-start}
+
+/* 商店/列表商品卡:標題單行截斷、按鈕底部對齊 */
+.woocommerce ul.products li.product{display:flex;flex-direction:column}
+.woocommerce ul.products li.product a.woocommerce-loop-product__link{display:block}
+.woocommerce ul.products li.product .woocommerce-loop-product__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}
+.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .add_to_cart_button{margin-top:auto}
diff --git a/ming-theme/assets/fonts/CormorantGaramond-400.woff2 b/ming-theme/assets/fonts/CormorantGaramond-400.woff2
new file mode 100644
index 0000000..40b4c35
Binary files /dev/null and b/ming-theme/assets/fonts/CormorantGaramond-400.woff2 differ
diff --git a/ming-theme/assets/fonts/CormorantGaramond-500.woff2 b/ming-theme/assets/fonts/CormorantGaramond-500.woff2
new file mode 100644
index 0000000..cee868a
Binary files /dev/null and b/ming-theme/assets/fonts/CormorantGaramond-500.woff2 differ
diff --git a/ming-theme/assets/fonts/NotoSansTC-300.woff2 b/ming-theme/assets/fonts/NotoSansTC-300.woff2
new file mode 100644
index 0000000..22bf4d2
Binary files /dev/null and b/ming-theme/assets/fonts/NotoSansTC-300.woff2 differ
diff --git a/ming-theme/assets/fonts/NotoSansTC-400.woff2 b/ming-theme/assets/fonts/NotoSansTC-400.woff2
new file mode 100644
index 0000000..7f857d5
Binary files /dev/null and b/ming-theme/assets/fonts/NotoSansTC-400.woff2 differ
diff --git a/ming-theme/assets/fonts/NotoSansTC-500.woff2 b/ming-theme/assets/fonts/NotoSansTC-500.woff2
new file mode 100644
index 0000000..9cf203e
Binary files /dev/null and b/ming-theme/assets/fonts/NotoSansTC-500.woff2 differ
diff --git a/ming-theme/assets/fonts/NotoSerifTC-400.woff2 b/ming-theme/assets/fonts/NotoSerifTC-400.woff2
new file mode 100644
index 0000000..ab8a6fe
Binary files /dev/null and b/ming-theme/assets/fonts/NotoSerifTC-400.woff2 differ
diff --git a/ming-theme/assets/fonts/NotoSerifTC-600.woff2 b/ming-theme/assets/fonts/NotoSerifTC-600.woff2
new file mode 100644
index 0000000..b21cf1b
Binary files /dev/null and b/ming-theme/assets/fonts/NotoSerifTC-600.woff2 differ
diff --git a/ming-theme/assets/fonts/NotoSerifTC-GD.ttf b/ming-theme/assets/fonts/NotoSerifTC-GD.ttf
new file mode 100644
index 0000000..137ca3c
Binary files /dev/null and b/ming-theme/assets/fonts/NotoSerifTC-GD.ttf differ
diff --git a/ming-theme/assets/img/banner-fate.jpg b/ming-theme/assets/img/banner-fate.jpg
new file mode 100644
index 0000000..7e75335
Binary files /dev/null and b/ming-theme/assets/img/banner-fate.jpg differ
diff --git a/ming-theme/assets/img/detail-liner.jpg b/ming-theme/assets/img/detail-liner.jpg
new file mode 100644
index 0000000..42caa03
Binary files /dev/null and b/ming-theme/assets/img/detail-liner.jpg differ
diff --git a/ming-theme/assets/img/hero.jpg b/ming-theme/assets/img/hero.jpg
new file mode 100644
index 0000000..76bbfda
Binary files /dev/null and b/ming-theme/assets/img/hero.jpg differ
diff --git a/ming-theme/assets/img/logo-light.png b/ming-theme/assets/img/logo-light.png
new file mode 100644
index 0000000..5ba1597
Binary files /dev/null and b/ming-theme/assets/img/logo-light.png differ
diff --git a/ming-theme/assets/img/logo-mark.png b/ming-theme/assets/img/logo-mark.png
new file mode 100644
index 0000000..7d78c92
Binary files /dev/null and b/ming-theme/assets/img/logo-mark.png differ
diff --git a/ming-theme/assets/img/logo.png b/ming-theme/assets/img/logo.png
new file mode 100644
index 0000000..92c6e6b
Binary files /dev/null and b/ming-theme/assets/img/logo.png differ
diff --git a/ming-theme/assets/img/p-brew.jpg b/ming-theme/assets/img/p-brew.jpg
new file mode 100644
index 0000000..3c578e0
Binary files /dev/null and b/ming-theme/assets/img/p-brew.jpg differ
diff --git a/ming-theme/assets/img/p-fresh.jpg b/ming-theme/assets/img/p-fresh.jpg
new file mode 100644
index 0000000..18e1b48
Binary files /dev/null and b/ming-theme/assets/img/p-fresh.jpg differ
diff --git a/ming-theme/assets/img/p-gradient.jpg b/ming-theme/assets/img/p-gradient.jpg
new file mode 100644
index 0000000..c004479
Binary files /dev/null and b/ming-theme/assets/img/p-gradient.jpg differ
diff --git a/ming-theme/assets/img/p-handle.jpg b/ming-theme/assets/img/p-handle.jpg
new file mode 100644
index 0000000..069b391
Binary files /dev/null and b/ming-theme/assets/img/p-handle.jpg differ
diff --git a/ming-theme/assets/img/p-mini.jpg b/ming-theme/assets/img/p-mini.jpg
new file mode 100644
index 0000000..05d3ad3
Binary files /dev/null and b/ming-theme/assets/img/p-mini.jpg differ
diff --git a/ming-theme/assets/js/main.js b/ming-theme/assets/js/main.js
new file mode 100644
index 0000000..a148138
--- /dev/null
+++ b/ming-theme/assets/js/main.js
@@ -0,0 +1,224 @@
+/* ---------- 頂欄搜尋條 ---------- */
+(function(){
+ var btn=document.querySelector('.hsearch');
+ var bar=document.getElementById('ming-searchbar');
+ if(!btn||!bar)return;
+ var input=bar.querySelector('input[type="search"]');
+ function openBar(){
+ document.body.classList.add('search-open');
+ btn.setAttribute('aria-expanded','true');
+ bar.setAttribute('aria-hidden','false');
+ if(input)setTimeout(function(){input.focus();},120);
+ }
+ function closeBar(){
+ document.body.classList.remove('search-open');
+ btn.setAttribute('aria-expanded','false');
+ bar.setAttribute('aria-hidden','true');
+ }
+ btn.addEventListener('click',function(){
+ document.body.classList.contains('search-open')?closeBar():openBar();
+ });
+ document.addEventListener('keydown',function(ev){
+ if(ev.key==='Escape'&&document.body.classList.contains('search-open'))closeBar();
+ });
+ document.addEventListener('click',function(ev){
+ if(!document.body.classList.contains('search-open'))return;
+ if(!ev.target.closest('.searchbar')&&!ev.target.closest('.hsearch'))closeBar();
+ });
+})();
+
+
+/* ---------- 行動版選單 ---------- */(function(){
+ var burger=document.querySelector('.hamburger');
+ var mnav=document.getElementById('ming-mnav');
+ if(!burger||!mnav)return;
+ function openMnav(){
+ document.body.classList.add('mnav-open');
+ burger.setAttribute('aria-expanded','true');
+ mnav.setAttribute('aria-hidden','false');
+ }
+ function closeMnav(){
+ document.body.classList.remove('mnav-open');
+ burger.setAttribute('aria-expanded','false');
+ mnav.setAttribute('aria-hidden','true');
+ }
+ burger.addEventListener('click',openMnav);
+ var closeBtn=mnav.querySelector('.mnav-close');
+ if(closeBtn)closeBtn.addEventListener('click',closeMnav);
+ mnav.querySelectorAll('.mnav-list a,.mnav-account').forEach(function(a){
+ a.addEventListener('click',closeMnav);
+ });
+ document.addEventListener('keydown',function(ev){
+ if(ev.key==='Escape'&&document.body.classList.contains('mnav-open'))closeMnav();
+ });
+})();
+
+
+/* ---------- 進場動畫 ---------- */
+var io=new IntersectionObserver(function(entries){
+ entries.forEach(function(en){
+ if(en.isIntersecting){en.target.classList.add('in');io.unobserve(en.target);}
+ });
+},{threshold:.15});
+document.querySelectorAll('.reveal').forEach(function(el){io.observe(el)});
+
+
+/* ---------- 新品許願池投票 ---------- */
+(function(){
+ if(typeof MING_VOTE==='undefined')return;
+ document.addEventListener('click',function(ev){
+ var btn=ev.target.closest('.vote-btn');
+ if(!btn||btn.disabled)return;
+ var card=btn.closest('.vcard');
+ if(!card)return;
+ var goal=parseInt(card.getAttribute('data-goal'),10)||MING_VOTE.goal||100;
+ btn.disabled=true;btn.textContent='提交中…';
+ var fd=new FormData();
+ fd.append('action','ming_vote');
+ fd.append('nonce',MING_VOTE.nonce);
+ fd.append('campaign_id',card.getAttribute('data-cid'));
+ fd.append('product_id',card.getAttribute('data-id'));
+ fd.append('variation_id',card.getAttribute('data-vid')||'0');
+ fetch(MING_VOTE.ajaxurl,{method:'POST',credentials:'same-origin',body:fd})
+ .then(function(r){return r.json()})
+ .then(function(res){
+ if(res.success){
+ var n=res.data.count;
+ var vc=card.querySelector('.vcount b');if(vc)vc.textContent=n;
+ var bar=card.querySelector('.vote-bar i');
+ if(bar)bar.style.width=Math.min(100,Math.round(n/goal*100))+'%';
+ btn.textContent='已支持 ✓';btn.classList.add('voted');
+ var on=card.querySelector('.cdot.is-on');
+ if(on&&res.data.sku_count){var w=on.closest('.cdot-wrap');if(w){var em=w.querySelector('.cdot-n');if(em)em.textContent=res.data.sku_count;}}
+ }else if(res.data&&res.data.need_login){
+ window.location.href=res.data.login_url;
+ }else if(res.data&&res.data.already){
+ btn.textContent='已支持 ✓';btn.classList.add('voted');
+ var vc=card.querySelector('.vcount b');if(vc&&res.data.count)vc.textContent=res.data.count;
+ }else if(res.data&&res.data.message==='closed'){
+ btn.textContent='已截止';btn.classList.add('voted');
+ }else{
+ btn.disabled=false;btn.textContent='我想要這款';
+ }
+ })
+ .catch(function(){btn.disabled=false;btn.textContent='我想要這款';});
+ });
+})();
+
+
+/* ---------- 社群分享(複製連結 / 原生分享) ---------- */
+(function(){
+ document.querySelectorAll('.ming-share').forEach(function(bar){
+ var title=bar.getAttribute('data-title')||document.title;
+ var text=bar.getAttribute('data-text')||title;
+ var url=bar.getAttribute('data-url')||location.href;
+ var copyBtn=bar.querySelector('.ming-share-btn.copy');
+ var nativeBtn=bar.querySelector('.ming-share-btn.native');
+ /* 原生分享需 HTTPS 安全環境 + 瀏覽器支援,否則不顯示(HTTP 下點了也沒反應) */
+ var canShare = window.isSecureContext && typeof navigator.share === 'function';
+ if(nativeBtn){
+ if(canShare){nativeBtn.hidden=false;}
+ nativeBtn.addEventListener('click',function(){
+ if(!canShare){return;}
+ navigator.share({title:title,text:text,url:url}).catch(function(err){
+ if(err&&err.name==='AbortError'){return;}
+ if(copyBtn){copyBtn.click();} /* 分享失敗退化為複製連結 */
+ });
+ });
+ }
+ if(copyBtn){
+ copyBtn.addEventListener('click',function(){
+ var done=function(){
+ var old=copyBtn.lastChild;
+ copyBtn.classList.add('copied');
+ var label=copyBtn.querySelector('.copy-label');
+ if(!label){
+ label=document.createElement('span');
+ label.className='copy-label';
+ copyBtn.appendChild(label);
+ }
+ label.textContent='已複製 ✓';
+ setTimeout(function(){copyBtn.classList.remove('copied');if(label)label.textContent='';},2000);
+ };
+ if(navigator.clipboard&&navigator.clipboard.writeText){
+ navigator.clipboard.writeText(url).then(done).catch(function(){fallback();});
+ }else{fallback();}
+ function fallback(){
+ var ta=document.createElement('textarea');
+ ta.value=url;ta.style.position='fixed';ta.style.opacity='0';
+ document.body.appendChild(ta);ta.select();
+ try{document.execCommand('copy');done();}catch(e){}
+ document.body.removeChild(ta);
+ }
+ });
+ }
+ });
+})();
+
+
+/* ---------- 商品頁色卡變體按鈕 ---------- */
+(function(){
+ document.querySelectorAll('.ming-swatches').forEach(function(sw){
+ var attr=sw.getAttribute('data-attribute');
+ if(!attr)return;
+ var form=sw.closest('form.variations_form');
+ if(!form)return;
+ var select=form.querySelector('select[name="attribute_'+attr+'"]');
+ if(!select)return;
+ function sync(){
+ var opts=select.options;
+ sw.querySelectorAll('.ming-swatch').forEach(function(b){
+ var v=b.getAttribute('data-value');
+ var opt=null;
+ for(var i=0;i
+
+
+
+
+