/* ============================================================
   C&B 雪茄会员区 · Codex「玻璃与铜」同族视觉（2026-10-21）
   ────────────────────────────────────────────────────────────
   硬约束（客户授权 + 合规）：
   1. 只改视觉（颜色/字体/圆角/间距），**不改任何业务逻辑** ✓
   2. `cigarfin_is_catalog_request()` 门禁、结账流程**一行不动** ✓
   3. 会员区保持 noindex、匿名仍 302 到 /membership/ ✓
   4. 不新增任何公开雪茄内容或营销文案 ✓
   ────────────────────────────────────────────────────────────
   设计语言：与公共层共用 token（--base/--surface/--ink/--muted/--copper/
   --line/--dark、宋体标题、4/8/12px 圆角）；区别是"对内"——
   信息密度更高，用 --dark 深色块做分组，不用大留白。
   ============================================================ */

/* ---------- 0. 兜底 token（若 cb-design.css 未先加载） ---------- */
body.cb-member{
  --m-base:#EDF1F1; --m-surface:#F8FAF9; --m-ink:#263738; --m-muted:#59696A;
  --m-copper:#805033; --m-copper-dark:#68402A; --m-line:#C9D2D0;
  --m-dark:#233032; --m-amber:#BA803A; --m-error:#A13232; --m-success:#286349;
  --m-r1:4px; --m-r2:8px; --m-r3:12px;
  background:var(--m-surface);
  color:var(--m-ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  font-size:16px; line-height:1.75;
}

/* ---------- 1. 标题：宋体（与公共层一致） ---------- */
body.cb-member h1,
body.cb-member h2,
body.cb-member h3,
body.cb-member .woocommerce-loop-product__title,
body.cb-member .product_title{
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;
  color:var(--m-ink);
  letter-spacing:0;
  line-height:1.35;
}
body.cb-member h1,body.cb-member .product_title{font-size:clamp(26px,3vw,38px);}
body.cb-member h2{font-size:clamp(20px,2.2vw,28px);}
body.cb-member h3{font-size:18px;}

/* ---------- 2. 卡片 / 列表 ---------- */
body.cb-member .products{
  display:grid;gap:24px;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
}
body.cb-member .products .product{
  background:var(--m-surface);
  border:1px solid var(--m-line);
  border-radius:var(--m-r2);
  padding:0 0 14px;
  overflow:hidden;
  transition:border-color 160ms ease-out,box-shadow 160ms ease-out;
}
body.cb-member .products .product:hover{
  border-color:var(--m-copper);
  box-shadow:0 2px 8px rgb(38 55 56 / 6%);
}
body.cb-member .products .product a{
  text-decoration:none;color:inherit;display:block;
}
body.cb-member .products .product img{
  border-radius:0;display:block;width:100%;height:auto;
  aspect-ratio:1/1;object-fit:contain;background:#fff;
}
body.cb-member .woocommerce-loop-product__title{
  font-size:15px;font-weight:600;line-height:1.5;
  padding:12px 14px 6px;margin:0;
}
body.cb-member .products .product .price,
body.cb-member .price{
  color:var(--m-ink);
  font-size:15px;
  font-variant-numeric:tabular-nums;   /* 等宽数字 ✓ */
  padding:0 14px;
}
body.cb-member .price .amount,
body.cb-member .price ins .amount{
  color:var(--m-copper);font-weight:600;
}
body.cb-member .price del{color:var(--m-muted);font-size:13px;}

/* ---------- 3. 按钮（四态齐全 ✓） ---------- */
body.cb-member .button,
body.cb-member button.button,
body.cb-member input.button,
body.cb-member .single_add_to_cart_button,
body.cb-member a.added_to_cart{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:10px 20px;
  border-radius:var(--m-r1);
  background:var(--m-copper);color:#fff;
  border:1px solid var(--m-copper);
  font-size:15px;font-weight:500;line-height:1.6;
  text-decoration:none;cursor:pointer;
  transition:background 160ms ease-out,transform 160ms ease-out;
}
body.cb-member .button:hover,
body.cb-member .single_add_to_cart_button:hover,
body.cb-member a.added_to_cart:hover{background:var(--m-copper-dark);border-color:var(--m-copper-dark);}
body.cb-member .button:active,
body.cb-member .single_add_to_cart_button:active{transform:translateY(1px);}
body.cb-member .button:focus-visible,
body.cb-member .single_add_to_cart_button:focus-visible,
body.cb-member a:focus-visible{
  outline:2px solid var(--m-copper);outline-offset:4px;
}
body.cb-member .button:disabled,
body.cb-member .button.disabled,
body.cb-member .single_add_to_cart_button:disabled{
  background:var(--m-base);color:var(--m-muted);
  border-color:var(--m-line);cursor:not-allowed;transform:none;
}
/* 次要按钮 */
body.cb-member .button.alt,
body.cb-member .button.secondary{
  background:transparent;color:var(--m-copper);border-color:var(--m-copper);
}
body.cb-member .button.alt:hover,
body.cb-member .button.secondary:hover{background:rgb(128 80 51 / 8%);}

/* ---------- 4. 表单 / 输入 ---------- */
body.cb-member input[type="text"],
body.cb-member input[type="email"],
body.cb-member input[type="password"],
body.cb-member input[type="tel"],
body.cb-member input[type="number"],
body.cb-member input[type="search"],
body.cb-member textarea,
body.cb-member select{
  min-height:44px;padding:10px 12px;
  border:1px solid #849593;border-radius:var(--m-r1);
  background:#fff;color:var(--m-ink);
  font-size:16px;line-height:1.6;       /* 16px 防 iOS 缩放 ✓ */
}
body.cb-member textarea{min-height:144px;}
body.cb-member input:focus,
body.cb-member textarea:focus,
body.cb-member select:focus{
  outline:none;border-color:var(--m-copper);
  box-shadow:0 0 0 3px rgb(128 80 51 / 12%);
}
body.cb-member label{font-size:14px;color:var(--m-muted);}

/* ---------- 5. 表格（规格 / 购物车 / 订单） ---------- */
body.cb-member table.shop_table,
body.cb-member table.woocommerce-table{
  width:100%;border-collapse:collapse;
  border:1px solid var(--m-line);border-radius:var(--m-r2);overflow:hidden;
  font-size:15px;
}
body.cb-member table.shop_table th,
body.cb-member table.woocommerce-table th{
  background:var(--m-base);color:var(--m-ink);
  font-weight:600;text-align:left;padding:12px 16px;
  border-bottom:1px solid var(--m-line);
}
body.cb-member table.shop_table td{
  padding:12px 16px;border-bottom:1px solid rgb(201 210 208 / 60%);
  vertical-align:middle;
}
body.cb-member table.shop_table tr:last-child td{border-bottom:0;}
body.cb-member table.shop_table .amount{font-variant-numeric:tabular-nums;}

/* ---------- 6. 提示条 ---------- */
body.cb-member .woocommerce-message,
body.cb-member .woocommerce-info,
body.cb-member .woocommerce-error{
  border:1px solid var(--m-line);border-left:2px solid var(--m-copper);
  border-radius:var(--m-r1);background:var(--m-base);
  color:var(--m-ink);font-size:14px;padding:14px 18px;margin:0 0 20px;
}
body.cb-member .woocommerce-error{border-left-color:var(--m-error);}
body.cb-member .woocommerce-message{border-left-color:var(--m-success);}

/* ---------- 7. 面包屑 / 分页 ---------- */
body.cb-member .woocommerce-breadcrumb,
body.cb-member .cf-breadcrumb{
  font-size:13px;color:var(--m-muted);margin:0 0 18px;
}
body.cb-member .woocommerce-breadcrumb a{color:var(--m-muted);text-decoration:none;}
body.cb-member .woocommerce-breadcrumb a:hover{color:var(--m-copper);text-decoration:underline;text-underline-offset:4px;}
body.cb-member .woocommerce-pagination ul{border:0;display:flex;gap:8px;}
body.cb-member .woocommerce-pagination .page-numbers{
  min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--m-line);border-radius:var(--m-r1);
  background:#fff;color:var(--m-ink);font-size:15px;text-decoration:none;
}
body.cb-member .woocommerce-pagination .page-numbers:hover{border-color:var(--m-copper);}
body.cb-member .woocommerce-pagination .page-numbers.current{
  background:var(--m-dark);color:#fff;border-color:var(--m-dark);
}

/* ---------- 8. 商品详情 PDP ---------- */
body.cb-member .single-product .summary{font-size:16px;}
body.cb-member .single-product .product_title{margin-bottom:12px;}
body.cb-member .single-product .woocommerce-product-details__short-description{color:var(--m-muted);}
body.cb-member .single-product .images img{
  border:1px solid var(--m-line);border-radius:var(--m-r2);background:#fff;
}
body.cb-member .single-product .quantity input{
  width:88px;min-height:44px;text-align:center;font-variant-numeric:tabular-nums;
}
body.cb-member .woocommerce-tabs{
  margin-top:clamp(28px,4vw,48px);
  border-top:1px solid var(--m-line);padding-top:8px;
}
body.cb-member .woocommerce-tabs ul.tabs{margin:0 0 20px;padding:0;display:flex;gap:24px;flex-wrap:wrap;border:0;}
body.cb-member .woocommerce-tabs ul.tabs li{
  background:none;border:0;border-radius:0;padding:0;margin:0;
}
body.cb-member .woocommerce-tabs ul.tabs li a{
  padding:10px 0;font-size:15px;color:var(--m-muted);border-bottom:1px solid transparent;
}
body.cb-member .woocommerce-tabs ul.tabs li.active a{color:var(--m-ink);border-bottom-color:var(--m-copper);}

/* ---------- 9. 深色分组块（会员区"对内"的面） ---------- */
body.cb-member .cf-dark-panel{
  background:var(--m-dark);color:#fff;
  border-radius:var(--m-r2);padding:clamp(20px,3vw,32px);
}
body.cb-member .cf-dark-panel h2,
body.cb-member .cf-dark-panel h3{color:#fff;}
body.cb-member .cf-dark-panel a{color:#fff;}

/* ---------- 10. 旧 .cf-* 包装类对齐（与兼容层同思路） ---------- */
body.cb-member .cf-wrap{max-width:1248px;margin:0 auto;padding:0 20px;}
@media(min-width:768px){body.cb-member .cf-wrap{padding:0 32px;}}
@media(min-width:1081px){body.cb-member .cf-wrap{padding:0 48px;}}
body.cb-member .cf-kicker{
  display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--m-copper);margin-bottom:12px;
}
body.cb-member .cf-lede{font-size:18px;line-height:1.8;color:var(--m-muted);max-width:38em;}
body.cb-member .cf-tag,
body.cb-member .cf-tier-badge,
body.cb-member .cf-pack-badge{
  display:inline-flex;align-items:center;
  font-size:12px;line-height:1;padding:4px 8px;border-radius:var(--m-r1);
  background:var(--m-base);color:var(--m-muted);border:1px solid var(--m-line);
}
body.cb-member .cf-brandbar{
  background:var(--m-base);
  border-bottom:1px solid var(--m-line);
  padding:12px 0;
}
body.cb-member .cf-section{padding-block:clamp(28px,4vw,56px);}
body.cb-member .cf-section__head h2{margin:0 0 8px;}

/* ---------- 11. 移动端 ---------- */
@media(max-width:767px){
  body.cb-member{font-size:16px;line-height:1.75;}
  body.cb-member .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  body.cb-member .woocommerce-loop-product__title{font-size:14px;padding:10px 10px 4px;}
  body.cb-member .products .product .price{font-size:14px;padding:0 10px;}
  body.cb-member .button{min-height:48px;}
  body.cb-member table.shop_table{font-size:14px;}
  body.cb-member table.shop_table th,
  body.cb-member table.shop_table td{padding:10px 12px;}
}

/* ---------- 12. 减少动态 ---------- */
@media(prefers-reduced-motion:reduce){
  body.cb-member *{transition-duration:.01ms !important;animation-duration:.01ms !important;}
}

/* ============================================================
   精准修正（2026-10-21，CDP getMatchedStylesForNode 定位）
   .cf-trust   → 旧 main.css 硬编码暖金渐变 linear-gradient(135deg,#9a…)
   .cf-entry__card → 旧奶油变量 var(--cf-card)
   二者是会员区最后残留的暖色面，改为冷灰/白面 ✓
   ============================================================ */
body.cb-member{
  --cf-card:#F8FAF9;          /* 旧奶油卡面 → 清玻璃白 */
  --cf-paper:#EDF1F1;         /* 旧暖纸 → 矿物灰 */
  --cf-paper-2:#E4E9E9;
  --cf-ink:#263738;
  --cf-muted:#59696A;
  --cf-gold:#805033;          /* 旧黄铜 → 氧化铜 */
  --cf-line:rgba(38,55,56,.16);
}
body.cb-member .cf-trust{
  background:var(--m-surface) !important;
  border:1px solid var(--m-line) !important;
  color:var(--m-muted) !important;
  border-radius:var(--m-r1);
}
body.cb-member .cf-trust svg{color:var(--m-copper);}
/* 入口卡：只改 token（--cf-card），不无差别压平背景 ✗
   否则深色「按属性筛选」卡会被刷成白底白字 ✗（本轮已踩坑） */
body.cb-member .cf-entry__card{
  border:1px solid var(--m-line) !important;
  border-radius:var(--m-r2) !important;
  /* 不设 background ✗ —— 深色/浅色卡由各自规则决定，避免压平 */
}
body.cb-member .cf-entry__icon{color:var(--m-copper);}
