/* ============================================================
   WooCommerce 页面（商店/作品详情/购物车/结账/用户中心/店铺）主题化
   依赖 tokens.css。商店网格复用 .b-works-grid（见 front-page）。
   ============================================================ */

.b-wc { width: 100%; }

/* ---------- 商店归档头部：标题 + 结果数 + 排序 ---------- */
.woocommerce-products-header { margin-bottom: var(--s-5); }
.woocommerce-products-header__title,
.b-wc .page-title {
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 800;
	color: var(--ink-0);
	margin: 0 0 var(--s-2);
	line-height: 1.2;
}
/* 续54：/shop/ 可见主标题（站长 2026-06-29 定恢复；续20 曾去冗余大标题）。克制样式——比分类归档大标题小，不喧宾夺主，但给视觉用户+SEO 明确页面主标题。 */
.b-shop-h1 { font-size: 18px; font-weight: 700; color: var(--ink-1); margin: 0 0 var(--s-3); line-height: 1.3; }
.woocommerce-products-header .term-description,
.b-wc .term-description { color: var(--ink-2); font-size: 14px; line-height: 1.6; }

/* 结果计数：恢复显示为简洁「共 N 件作品」（续8 打磨 11；文案见主题覆盖
   woocommerce/loop/result-count.php，与店铺页「共12件」同口径，跨页一致）。 */
.b-wc .woocommerce-result-count {
	float: none;
	margin: 0 0 var(--s-3);
	font-size: 13px;
	color: var(--ink-3);
}
.b-wc .woocommerce-ordering {
	float: none;
	display: inline-block;
	margin: 0 0 var(--s-4);
}
/* 排序下拉靠右（结果数已隐藏）。 */
.b-wc form.woocommerce-ordering { margin-left: auto; }
.b-wc::after { content: ""; display: table; clear: both; }

/* 〔续29 用户拍板：PC 也并一排〕归档工具条全宽度**一排** = 筛选左 / 最新右（原桌面 display:contents 浮动 → 筛选、最新上下堆叠；
   用户要 PC 也并一排）。结果数已移面包屑（续29，仅标签页 is_product_tag 仍有 → 让它占顶行）。 */
.b-shop-toolbar { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--s-2); margin: 0 0 var(--s-3); }
.b-shop-toolbar > .woocommerce-result-count { order: 0; flex-basis: 100%; margin: 0 0 var(--s-1); }   /* (仅标签页有) 结果数 → 顶行 */
.b-shop-toolbar > .b-work-filters { order: 1; margin: 0; }                                            /* 筛选 → 左 */
.b-shop-toolbar > form.woocommerce-ordering { order: 2; margin: 0; float: none; }                     /* 最新（排序）→ 紧挨筛选右侧、与筛选并排左对齐（不推到最右） */
.b-shop-toolbar > .b-work-filters:has(.b-work-filters__cb:checked) { flex-basis: 100%; }              /* 筛选展开 → 占满一行、面板落下方 */

/* 〔续28〕分类页「大家在问」跑马灯（仅 product_cat 归档；左标签 + 右滚动问题胶囊；标题下、筛选条上）。
   滚动由 app.js initTicker 驱动（[data-bumian-ticker]+.b-catqa__row，~20px/s 慢速 + 悬停/触摸暂停，照顾晕动）；
   CSS animation 仅作无 JS 兜底。<3 条静态、可手滑。点胶囊 → 该提问页。 */
/* 〔续28 改〕变体 B 竖排：标签「大家在问·社区热问」在上一行、问题胶囊在下一排横滚（用户拍板，撤回之前的左右同排）。
   〔续28 再改〕去掉外层白卡片框 → 直接融进页面（更轻）；问题胶囊本体仍是白底小药丸、在页面上看得清。 */
.b-catqa {
	display: flex; flex-direction: column; align-items: stretch; gap: 6px;
	margin: 0 0 var(--s-1); padding: 0;   /* 〔续28〕与「共 N 件作品」只留一丝丝呼吸感（下距 16→4px） */
	background: transparent; border: 0; border-radius: 0;
	max-width: 100%; min-width: 0; overflow: hidden;
}
/* 〔续28〕分类页隐藏大标题（面包屑已含分类名、重复）；sr-only 保留 H1 于 DOM（SEO/读屏不丢）。 */
body.tax-product_cat .page-title {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.b-catqa__label {
	display: inline-flex; align-items: center; gap: 5px; align-self: flex-start;
	font-size: 13px; font-weight: 600; color: var(--brand); text-decoration: none;
}
.b-catqa__label-sub { color: var(--ink-3); font-weight: 500; }
.b-catqa__label .b-ic { width: 1em; height: 1em; }
.b-catqa__pulse {
	width: 7px; height: 7px; border-radius: 50%; background: var(--success); flex: 0 0 auto;
	box-shadow: 0 0 0 0 var(--success); animation: b-catqa-pulse 2s ease-out infinite;
}
@keyframes b-catqa-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.5); }
	70%  { box-shadow: 0 0 0 7px rgba(22, 163, 74, 0); }
	100% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0); }
}
.b-catqa__track {
	flex: 1; min-width: 0; overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
	        mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
}
.b-catqa__track:not([data-bumian-ticker]) {
	overflow-x: auto; overscroll-behavior: contain; scrollbar-width: none;
	-webkit-mask-image: none; mask-image: none;
}
.b-catqa__track:not([data-bumian-ticker])::-webkit-scrollbar { width: 0; height: 0; display: none; }
.b-catqa__row {
	list-style: none; margin: 0; padding: 0;
	display: inline-flex; align-items: center; gap: var(--s-2); white-space: nowrap;
}
.b-catqa__track[data-bumian-ticker] .b-catqa__row { animation: b-catqa-scroll 50s linear infinite; }
.b-catqa__track[data-bumian-ticker]:hover .b-catqa__row { animation-play-state: paused; }
@keyframes b-catqa-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.b-catqa__item { display: inline-flex; flex: 0 0 auto; }
.b-catqa__chip {
	display: inline-flex; align-items: center; gap: 5px; max-width: 300px;
	padding: 5px 12px; border: 1px solid var(--line); border-radius: var(--r-pill);
	background: var(--bg-0); color: var(--ink-1); font-size: 13px; text-decoration: none;
	transition: border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);
}
.b-catqa__chip:hover { border-color: var(--brand-200); color: var(--ink-0); background: var(--bg-2); }
.b-catqa__chip .b-ic { width: 1em; height: 1em; color: var(--brand); flex: 0 0 auto; }
.b-catqa__q { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.b-catqa__ans { flex: 0 0 auto; font-size: 11.5px; font-weight: 600; color: var(--success-strong); }
.b-catqa__ans--none { color: var(--ink-4); font-weight: 500; }
@media (max-width: 768px) {
	.b-catqa { padding: var(--s-2); gap: var(--s-2); }
	.b-catqa__label { padding-right: var(--s-2); }
	.b-catqa__chip { max-width: 230px; }
}

.b-wc .woocommerce-ordering select,
.b-wc select.orderby {
	height: 40px;
	padding: 0 34px 0 var(--s-4);
	border: 1px solid var(--line-strong);
	border-radius: var(--r-3);
	background: var(--bg-0);
	color: var(--ink-1);
	font-size: 13px;
	font-family: inherit;
	cursor: pointer;
	/* 自绘外观（0.4.748·X113·机制见 dokan-dashboard.css select.dokan-form-control 处注释） */
	appearance: none;
	-webkit-appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, var(--ink-2) 50%), linear-gradient(135deg, var(--ink-2) 50%, transparent 50%);
	background-position: calc(100% - 19px) 55%, calc(100% - 14px) 55%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
}

/* ---------- 作品筛选面板（形态/AI含量/授权/实测/分类/价格）—— 商店/分类/搜索/专区共用。
   〔批X421 站长拍板〕chip 链接组一组一行竖排 → 原生下拉横向一排（选中即收进框·选中即筛）；
   旧 .b-shop-filters/.b-shop-filter chips 随之退役已删（无第二使用处）。 ---------- */
.b-work-filters { margin: 0 0 var(--s-5); }
.b-work-filters__body {
	display: flex;
	flex-direction: column; /* 移动端基线：一组一行（折叠面板里纵排） */
	gap: var(--s-3);
}
.b-work-filters__body [hidden] { display: none; } /* JS 兜底钮 hidden 钉死（作者 display 顶掉 [hidden] 之坑·X413 同族） */
.b-fbar-item { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.b-fbar-item__label { flex: 0 0 auto; font-size: 13px; font-weight: 600; color: var(--ink-2); }
.b-fbar-item__select {
	appearance: none;
	-webkit-appearance: none;
	height: 40px;
	padding: 0 var(--s-8) 0 var(--s-4);
	border: 1px solid var(--line-strong);
	border-radius: var(--r-pill);
	background-color: var(--bg-0);
	color: var(--ink-1);
	font-size: 13px;
	font-family: inherit;
	cursor: pointer;
	background-image: linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(135deg, var(--ink-3) 50%, transparent 50%);
	background-position: calc(100% - 18px) 55%, calc(100% - 13px) 55%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
}
.b-fbar-item__select:hover { border-color: var(--brand); }
.b-fbar-item__select:focus-visible { outline: 2px solid var(--brand); outline-offset: 1px; border-color: var(--brand); }
.b-fbar-item__select.is-active { border-color: var(--brand); color: var(--brand); background-color: var(--brand-50); font-weight: 600; }
.b-fbar-item__btn {
	height: 40px;
	padding: 0 var(--s-3);
	border: 1px solid var(--line-strong);
	border-radius: var(--r-pill);
	background: var(--bg-0);
	color: var(--ink-1);
	font-size: 13px;
	cursor: pointer;
}
.b-fbar-clear { align-self: center; flex: 0 0 auto; font-size: 13px; color: var(--ink-3); text-decoration: underline; }
.b-fbar-clear:hover { color: var(--brand); }
/* 行内沿用的 分类/价格 控件：去外距 + 不内部换行 + 圆角统一胶囊（仅面板内·店铺页独立价格筛选不受影响）。 */
.b-work-filters .b-price-filter,
.b-work-filters .b-cat-filter { margin: 0; flex-wrap: nowrap; }
.b-work-filters .b-cat-filter__select,
.b-work-filters .b-cat-filter__btn,
.b-work-filters .b-price-filter__input,
.b-work-filters .b-price-filter__btn { border-radius: var(--r-pill); }
.b-work-filters .b-price-filter__input { width: 92px; }
/* 桌面（≥641）：六组+价格 一排不换行（站长钉死）；容器窄了在自身内横滚、页面不横滚。 */
@media (min-width: 641px) {
	.b-work-filters__body {
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		gap: var(--s-4);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		padding-bottom: 2px;
	}
}
/* 桌面：不折叠——「筛选」开关隐藏、面板常显（仅移动端折叠，见下）。 */
.b-work-filters__toggle { display: none; }

@media (max-width: 640px) {
	/* 移动端：整块面板折叠到「筛选」开关后，默认收起、节省首屏；展开靠纯 CSS checkbox（无 JS、跨浏览器确定）。 */
	.b-work-filters__toggle {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		width: fit-content;
		height: 40px;
		padding: 0 var(--s-4);
		border: 1px solid var(--line-strong);
		border-radius: var(--r-pill);
		background: var(--bg-0);
		color: var(--ink-1);
		font-size: 13px;
		font-weight: 600;
		cursor: pointer;
	}
	.b-work-filters__toggle-chev { font-size: 11px; line-height: 1; transition: transform var(--dur-1) var(--ease); }
	.b-work-filters__toggle-count {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 18px;
		height: 18px;
		padding: 0 5px;
		border-radius: var(--r-pill);
		background: var(--ink-0);
		color: var(--bg-0);
		font-size: 11px;
		font-weight: 700;
	}
	.b-work-filters__cb:focus-visible ~ .b-work-filters__toggle { outline: 2px solid var(--brand); outline-offset: 2px; }
	.b-work-filters__cb:checked ~ .b-work-filters__toggle { margin-bottom: var(--s-3); }
	.b-work-filters__cb:checked ~ .b-work-filters__toggle .b-work-filters__toggle-chev { transform: rotate(180deg); }
	/* 收起隐藏面板内容，展开（checkbox 勾选）显示。 */
	.b-work-filters__body { display: none; }
	.b-work-filters__cb:checked ~ .b-work-filters__body { display: flex; }
	/* 〔批X421〕窄屏排版随下拉化收敛：一组一行由 __body 纵向基线承担（旧行标题整行规则已随 chip 退役）。 */
}

/* ---------- 价格区间筛选（商店 / 分类 / 店铺共用，零 JS GET 表单） ---------- */
.b-price-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s-2);
	margin: 0 0 var(--s-5);
}
.b-price-filter__label { font-size: 13px; color: var(--ink-2); }
.b-price-filter__input {
	width: 88px;
	height: 40px;
	padding: 0 var(--s-3);
	border: 1px solid var(--line-strong);
	border-radius: var(--r-3);
	background: var(--bg-0);
	color: var(--ink-1);
	font-size: 13px;
}
.b-price-filter__input:focus-visible { outline: 2px solid var(--brand); outline-offset: 1px; border-color: var(--brand); }
.b-price-filter__sep { color: var(--ink-3); }
.b-price-filter__btn {
	height: 40px;
	padding: 0 var(--s-4);
	border: 1px solid var(--ink-0);
	border-radius: var(--r-3);
	background: var(--ink-0);
	color: var(--bg-0);
	font-size: 13px;
	cursor: pointer;
}
.b-price-filter__btn:hover { opacity: .9; }
.b-price-filter__clear { font-size: 13px; color: var(--ink-3); text-decoration: underline; }
.b-price-filter__clear:hover { color: var(--brand); }

/* ---------- 分类筛选下拉（商店 / 分类 / 搜索共用，零 JS GET 表单；JS 在场选中即提交、兜底按钮隐藏） ---------- */
.b-cat-filter { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
.b-cat-filter__select {
	height: 40px;
	max-width: 100%;
	padding: 0 var(--s-3);
	border: 1px solid var(--line-strong);
	border-radius: var(--r-3);
	background: var(--bg-0);
	color: var(--ink-1);
	font-size: 13px;
	font-family: inherit;
	cursor: pointer;
}
.b-cat-filter__select:focus-visible { outline: 2px solid var(--brand); outline-offset: 1px; border-color: var(--brand); }
.b-cat-filter__btn {
	height: 40px;
	padding: 0 var(--s-4);
	border: 1px solid var(--ink-0);
	border-radius: var(--r-3);
	background: var(--ink-0);
	color: var(--bg-0);
	font-size: 13px;
	cursor: pointer;
}
.b-cat-filter__btn:hover { opacity: .9; }

/* ---------- 店铺 / 搜索：排序下拉（与分类筛选 / 商店 WC 排序同款下拉，零 JS GET 表单；JS 在场选中即提交） + 控件行 ---------- */
.b-store__controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s-4);
	margin: 0 0 var(--s-5);
}
.b-store__controls .b-price-filter { margin: 0; }
.b-store-sort {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s-2);
	margin: 0;
}
.b-store-sort__select {
	height: 40px;
	max-width: 100%;
	padding: 0 var(--s-3);
	border: 1px solid var(--line-strong);
	border-radius: var(--r-3);
	background: var(--bg-0);
	color: var(--ink-1);
	font-size: 13px;
	font-family: inherit;
	cursor: pointer;
}
.b-store-sort__select:focus-visible { outline: 2px solid var(--brand); outline-offset: 1px; border-color: var(--brand); }
.b-store-sort__btn {
	height: 40px;
	padding: 0 var(--s-4);
	border: 1px solid var(--ink-0);
	border-radius: var(--r-3);
	background: var(--ink-0);
	color: var(--bg-0);
	font-size: 13px;
	cursor: pointer;
}
.b-store-sort__btn:hover { opacity: .9; }

@media (max-width: 640px) {
	.b-price-filter__input { width: 72px; }
	.b-store__controls { gap: var(--s-3); }
}

/* ---------- 下单完成页：复购引导（关注创作者 + 其它作品） ---------- */
.b-repurchase { margin-top: var(--s-6); }   /* 批46:复购块外距 40→24 */
.b-repurchase__creator { margin-top: var(--s-6); }
.b-repurchase__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--s-3);
	margin-bottom: var(--s-4);
}
.b-repurchase__title { margin: 0; font-size: 15px; font-weight: 600; color: var(--ink-1); }
.b-repurchase__grid { margin-top: 0; }

/* 下单完成页：数字商品交付/退款精简提示 */
.b-thankyou-notice { margin: var(--s-4) 0; padding: var(--s-3) var(--s-4); background: var(--bg-2); border-radius: var(--r-3); font-size: 13px; color: var(--ink-2); line-height: 1.6; }
.b-thankyou-notice a { color: var(--brand); }
.b-thankyou-notice a:hover { text-decoration: underline; }

/* 商店栅格：与首页一致（.b-works-grid 已定义），这里仅清除 WC ul 默认样式残留 */
.b-wc-grid { list-style: none; margin: 0; padding: 0; }
.b-wc-grid::before, .b-wc-grid::after { content: none; }

/* ---------- 分页 ---------- */
.woocommerce-pagination { margin-top: var(--s-5); text-align: center; }   /* 批46:分页外距 32→20 */
.woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	gap: var(--s-2);
	list-style: none;
	margin: 0; padding: 0;
	border: 0;
}
.woocommerce-pagination ul.page-numbers li { margin: 0; border: 0; }
.woocommerce-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 var(--s-3);
	border: 1px solid var(--line);
	border-radius: var(--r-2);
	background: var(--bg-0);
	color: var(--ink-1);
	font-weight: 600;
	text-decoration: none;
}
/* 插件内部 DOM 耦合（WC 10.8.1）：WC 自带
   `.woocommerce nav.woocommerce-pagination ul li span.current`(特异性 0,4,3) 把当前页码胶囊涂成浅薰衣草
   (#e9e6ed，白字仅 3.65:1)，盖过主题翻色。这里给 span/a 多带一个 .page-numbers 类提到 (0,5,3) 取胜，
   令当前页随主题用品牌深色 + 白字 ≥4.5:1（亮 6.62 / 暗 5.05）。升级 WC 需复测此选择器。 */
.woocommerce nav.woocommerce-pagination ul li span.page-numbers.current,
.woocommerce nav.woocommerce-pagination ul li a.page-numbers.current,
.woocommerce-pagination .page-numbers.current {
	background: var(--brand-600);
	border-color: var(--brand-600);
	color: #fff;
}
/* 同样提权盖过 WC hover 的浅薰衣草底，hover 用品牌浅底 + 品牌字 */
.woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover,
.woocommerce nav.woocommerce-pagination ul li a.page-numbers:focus {
	background: var(--brand-50);
	border-color: var(--brand);
	color: var(--brand);
}

/* ---------- 通知条 ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
	padding: var(--s-3) var(--s-4);
	border-radius: var(--r-3);
	border: 1px solid transparent;
	font-size: 14px;
	margin-bottom: var(--s-4);
	list-style: none;
}
/* 文字用 -strong（在 -50 浅底上达 AA；原 base 状态色亮色 ≈3.0-4.1 偏低）；底/边框保留 base。 */
.woocommerce-message { background: var(--success-50); color: var(--success-strong); border-color: var(--success); }
.woocommerce-info    { background: var(--info-50); color: var(--info-strong); border-color: var(--info); }
.woocommerce-error   { background: var(--danger-50); color: var(--danger-strong); border-color: var(--danger); }

/* ---------- 通用按钮（全 WC 页统一为品牌按钮） ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 var(--s-5);
	border: 1px solid var(--line-strong);
	border-radius: var(--r-3);
	background: var(--bg-2);
	color: var(--ink-0);
	font-size: 14px;
	font-weight: 600;
	font-family: inherit;
	line-height: 1;
	cursor: pointer;
	text-decoration: none;
	transition: transform var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease), background var(--dur-1) var(--ease);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: var(--bg-3); }
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button {
	background: linear-gradient(135deg, var(--brand), var(--brand-600));
	border-color: transparent;
	color: #fff;
	box-shadow: 0 2px 8px rgba(109, 77, 255, 0.30);
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .single_add_to_cart_button:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(109, 77, 255, 0.40);
	color: #fff;
}

/* ---------- 通用表单字段 ---------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container .select2-selection,
.woocommerce form .form-row select,
.woocommerce #order_review input.input-text,
.woocommerce-account .woocommerce input.input-text {
	min-height: 44px;
	padding: var(--s-2) var(--s-4);
	border: 1px solid var(--line-strong);
	border-radius: var(--r-3);
	background: var(--bg-1);
	color: var(--ink-0);
	font-size: 15px;
	font-family: inherit;
	box-sizing: border-box;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	outline: none;
	border-color: var(--brand);
	box-shadow: 0 0 0 3px var(--brand-50);
}
.woocommerce form .form-row label { font-size: 13px; font-weight: 600; color: var(--ink-1); }

/* ---------- 通用表格（购物车 / 订单） ---------- */
.woocommerce table.shop_table {
	border: 1px solid var(--line);
	border-radius: var(--r-4);
	overflow: hidden;
	border-collapse: collapse;
	background: var(--bg-0);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-top: 1px solid var(--line);
	padding: var(--s-4);
	color: var(--ink-1);
}
.woocommerce table.shop_table thead th { background: var(--bg-2); color: var(--ink-2); font-size: 13px; }

/* 价格 */
.woocommerce .price,
.woocommerce .amount { color: var(--ink-0); font-weight: 700; }
.woocommerce del { color: var(--ink-3); font-weight: 400; }

@media (max-width: 640px) {
	/* 续7 审查 #2：移动端「筛选」开关与排序下拉合一行（原各占一行、浪费一屏高度）。
	   两者是跨容器兄弟（中间隔着 notices 容器与隐藏的结果计数）→ 不动 DOM：
	   - 面板收起时 .b-work-filters 整块 shrink-to-fit（≈开关胶囊宽），排序表单 float:right 同行靠右；
	   - 面板展开（checkbox 勾选，:has 探测）→ 面板回满宽块级，下拉自然落到面板下方（=旧版堆叠，
	     无 :has 的老浏览器里展开行宽≈满宽、效果一致 = 优雅降级）；
	   - notices 容器仅空时隐藏（有提示=回退堆叠，提示优先不被遮）。断点与面板折叠同 640。 */
	.b-wc .woocommerce-notices-wrapper:empty { display: none; }
	.b-work-filters { display: inline-block; vertical-align: top; }
	.b-wc .b-work-filters:has(.b-work-filters__cb:checked) { display: block; }
	.b-wc form.woocommerce-ordering { float: right; }
	.b-wc .b-works-grid { clear: both; }
}

/* ============================================================
   作品详情页（single product）
   ============================================================ */
/* 两栏：左「内容主场」(1.4fr) + 右「sticky 购买侧栏」(1fr)。≤980 单列。 */
.b-detail .b-detail__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	/* 桌面：左列 main(画廊+标题+AI) → more(正文) → tail(安全卡+评价+相关) 竖排；右列 aside(创作者/价格)sticky 跨三行。 */
	grid-template-areas: "main aside" "more aside" "tail aside";
	gap: var(--s-7);
	align-items: start;
}
.b-detail__main { grid-area: main; }
.b-detail__more { grid-area: more; min-width: 0; }
.b-detail__tail { grid-area: tail; min-width: 0; }
@media (max-width: 980px) {
	/* 移动（用户要求 B）：AI标识(main) → 正文(more) → 创作者/价格(aside) → 安全/评价/相关(tail)。 */
	.b-detail .b-detail__grid { grid-template-columns: 1fr; grid-template-areas: "main" "more" "aside" "tail"; gap: var(--s-6); }
}
.b-detail__main { min-width: 0; }

/* 主图画廊：4:3 大图 + 缩略横排（在左栏，随内容滚动、不固定）。 */
.single-product .b-detail__main .woocommerce-product-gallery {
	width: 100% !important;
	max-width: none;
	margin: 0 0 var(--s-5);
	position: static;
	float: none !important;  /* WC 默认 float:left 会让标题块浮到画廊右侧、徽章被挤竖排 → 清除 */
	clear: both;
}
.single-product .b-detail__main .woocommerce-product-gallery img:not(.zoomImg) {
	width: 100%;
	aspect-ratio: 1 / 1;   /* 〔续27〕4:3 → 正方形：配合正方形上传/默认封面，详情大图不再裁横 */
	object-fit: contain;   /* 〔续63·站长定〕封面完整放进正方形：不裁剪、非方图四周露底色（下 background）；框仍 1/1 */
	background: var(--bg-2);
	border-radius: var(--r-4);
	box-shadow: var(--sh-1);
}
/* 〔续28〕`:not(.zoomImg)` 排除 jQuery-zoom 注入的放大镜覆盖层：它由 zoom 内联设原图尺寸 + 绝对定位，
   绝不能被本规则 width:100%/object-fit:cover 干扰（否则放大镜错位/失效）。 */
/* 多图缩略图条：左对齐小图行（正方形小块），当前高亮、hover 提亮。
   〔续29〕方案 A：最多 6 张（封面+图廊 filter 截顶）、一排不换行——等分一排、窄屏自动缩小、宽屏每张封顶 72px。 */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
	display: flex; flex-wrap: nowrap; gap: var(--s-2);
	list-style: none; margin: var(--s-4) 0 0 !important; padding: 0;
}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
	flex: 1 1 0; min-width: 0; max-width: 72px;   /* 等分一排：窄屏 6 张缩小塞下、宽屏不超 72px（替代旧 width:72px 换行） */
	margin: 0 !important; float: none !important; cursor: pointer;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img {
	display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover;
	border-radius: var(--r-2); border: 2px solid transparent; box-shadow: none;
	opacity: 0.55; transition: opacity var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 0.85; }
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.single-product .woocommerce-product-gallery .flex-control-thumbs .flex-active img { opacity: 1; border-color: var(--brand); }
/* 〔续27〕图库全屏放大触发器：WC 核心 JS 注入一枚放大镜 emoji（白底方块、右上角的 <span> 内）→ 把那枚 span 整个
   display:none（同时从 innerText 渲染文本里排除，真正去 emoji，非仅视觉缩字号），改矢量 search 图标（mask-image、brand 色）。
   属插件内部 DOM 耦合（WC 10.x .woocommerce-product-gallery__trigger，photoswipe 注入）、随升级复测。 */
.single-product .woocommerce-product-gallery__trigger {
	display: flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; padding: 0;
}
.single-product .woocommerce-product-gallery__trigger > * { display: none; }
.single-product .woocommerce-product-gallery__trigger::before {
	content: ""; flex: none; width: 20px; height: 20px; background-color: var(--brand-solid);
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M10%2010m-7%200a7%207%200%201%200%2014%200a7%207%200%201%200%20-14%200'/%3E%3Cpath%20d='M21%2021l-6%20-6'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M10%2010m-7%200a7%207%200%201%200%2014%200a7%207%200%201%200%20-14%200'/%3E%3Cpath%20d='M21%2021l-6%20-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* 〔续28 修 bug〕无真实封面的作品：主图是「按分类默认封面」占位（扁平几何 SVG、无可放大细节、无 <a>/data-large_image）。
   但 WC 仍注入放大镜触发器 → 点击后 PhotoSwipe 拿不到图源 = 黑屏（PC/移动都中）；悬停也无 zoom（无 large 数据）。
   故对 `--without-images` 图库隐藏放大镜触发器：杜绝黑屏 + 不误导用户「可放大」。有真实封面作品不受影响、zoom/灯箱照常。
   插件内部 DOM 耦合（WC 10.x，photoswipe）、随升级复测。 */
.single-product .woocommerce-product-gallery--without-images .woocommerce-product-gallery__trigger { display: none; }
/* 〔续28〕注：本批已停用 wc-product-gallery-zoom（见 inc/woocommerce.php）→ WC 不再注入 __trigger 元素，
   上面 __trigger 规则成为防御性留存（万一未来重启 zoom，仍保证图标矢量化、不露搜索放大镜 emoji）。当前实际放大镜入口见下方角标。 */

/* 〔续28〕停用悬停放大镜后主图走「点击看大图」(lightbox)：① 图片 cursor:zoom-in 提示可点；
   ② 右上角矢量放大镜角标（纯装饰、pointer-events:none，点击穿透到图片 → 开全屏 lightbox 可缩放/左右划）。
   仅 --with-images（无真实封面的占位作品不显角标、无 lightbox）；多图时仅当前可见 slide 显示角标。 */
.single-product .woocommerce-product-gallery--with-images .woocommerce-product-gallery__image { position: relative; cursor: zoom-in; }
.single-product .woocommerce-product-gallery--with-images .woocommerce-product-gallery__image::after {
	content: ""; position: absolute; top: var(--s-3); right: var(--s-3); z-index: 3; pointer-events: none;
	width: 34px; height: 34px; border-radius: 50%;
	background: rgba(17, 17, 17, 0.5) url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M10%2010m-7%200a7%207%200%201%200%2014%200a7%207%200%201%200%20-14%200'/%3E%3Cpath%20d='M21%2021l-6%20-6'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}

/* 左栏头部：徽章 + 标题 + 副标题 */
.b-detail__head { margin-bottom: var(--s-4); }
.b-detail__badges { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-bottom: var(--s-3); }
.b-detail__title { margin: 0; font-size: clamp(22px, 3vw, 30px); font-weight: 800; color: var(--ink-0); line-height: 1.25; letter-spacing: -0.01em; }
/* AI 标识：克制单行淡灰文字（无图标/无色块，--ink-2 中性灰；后接使用许可文字，如「原创作品 · 可商用」）。
   仍清晰可读 + 第一屏显著 ＝《人工智能生成合成内容标识办法》显式标识；勿淡到 --ink-3/4。
   注：详情页副标题 .b-detail__lead 已于 2026-06-07 取消。 */
.b-detail__ai {
	margin: var(--s-3) 0 var(--s-4);
	font-size: 13px; line-height: 1.6; color: var(--ink-2);
}
/* 买前预览提示：PC 默认隐藏（走价格卡内 .b-detail__buy-note--preview）；移动端 ≤768 价格卡隐藏时，改在「作品信息」框下显示（见下方 @media + detail_left_body）。 */
.b-detail__ai-note { display: none; }

/* 标签 */
.b-detail__tags { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-bottom: var(--s-5); }

/* 「作品信息」框（带框 + 标题）—— 现承载作品描述正文（.b-detail__body 富文本）。
   原结构化 dl 规格列表已废：使用许可移到 AI 标识行、其余规格字段 0.4.285 已精简删除（引导写进描述）。 */
.b-detail__specs { margin: 0 0 var(--s-5); padding: var(--s-4) var(--s-5); border: 1px solid var(--line); border-radius: var(--r-3); background: var(--bg-0); }
.b-detail__specs-head { margin: 0 0 var(--s-3); font-size: 16px; font-weight: 800; color: var(--ink-0); }

/* 〔续59〕统一「填空五问」详情展示：标签：值 定义列表（标签来自代码 = 永远规整）+ 自我推荐段。 */
.b-detail__l1 { margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--s-2); }
.b-detail__l1-row { display: grid; grid-template-columns: minmax(72px, 18%) 1fr; gap: var(--s-3); align-items: start; padding: var(--s-2) 0; border-bottom: 1px solid var(--line); }
.b-detail__l1-row:last-child { border-bottom: 0; }
.b-detail__l1-k { margin: 0; color: var(--ink-2); font-size: 0.9rem; }
.b-detail__l1-v { margin: 0; color: var(--ink-0); font-size: 0.95rem; word-break: break-word; }
.b-detail__l1-v--long { white-space: normal; line-height: 1.7; }
.b-detail__l1-extra { margin-top: var(--s-3); color: var(--ink-0); line-height: 1.7; }
@media (max-width: 560px) {
	.b-detail__l1-row { grid-template-columns: 1fr; gap: 2px; }
	.b-detail__l1-k { font-size: 0.82rem; font-weight: 600; }
}

/* 效果实证专区（s11 机制①）：实测样例图缩略网格 + 实测说明（框型复用 .b-detail__specs）。 */

@media (max-width: 480px) {
	 /* 窄屏一行仍放下 2 张 */
}

/* 管理员「平台实测」打标按钮（s11 机制①，仅 admin 可见）：贴标题下、低调。 */
.b-detail__tested-admin { margin-top: var(--s-3); }

/* 当前版本 + 折叠版本历史（s11 机制②，「作品信息」框内）。 */
.b-detail__version { margin-top: var(--s-4); padding-top: var(--s-3); border-top: 1px dashed var(--line); font-size: 13.5px; }
.b-detail__version-cur { color: var(--ink-2); font-weight: 600; }
.b-detail__changelog { margin-top: var(--s-2); }
.b-detail__changelog summary { cursor: pointer; color: var(--brand); font-size: 13px; user-select: none; min-height: 32px; display: inline-flex; align-items: center; }
.b-detail__changelog-list { list-style: none; margin: var(--s-2) 0 0; padding: 0; display: flex; flex-direction: column; gap: var(--s-2); }
.b-detail__changelog-list li { display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: baseline; font-size: 13px; color: var(--ink-2); }
.b-detail__changelog-ver { font-weight: 700; color: var(--ink-1); font-variant-numeric: tabular-nums; }
.b-detail__changelog-date { color: var(--ink-3); font-size: 12px; }
.b-detail__changelog-note { flex: 1 1 100%; line-height: 1.6; }
.b-detail__tag { padding: 3px var(--s-3); border-radius: var(--r-pill); background: var(--bg-2); color: var(--ink-2); font-size: 12.5px; text-decoration: none; transition: background var(--dur-1) var(--ease), color var(--dur-1) var(--ease); }
.b-detail__tag:hover { background: var(--bg-3); color: var(--brand); }

/* 作品描述正文（富文本）—— 阅读优化：字号 15 不动（长内容/代码不臃肿）、行高 1.75（达标）；
   关键是「控制每行字数」(max-width ≈ 40 字，防串行) + 段距加大（段落分明）+ 代码块独立样式。 */
.b-detail__body { color: var(--ink-1); font-size: 15px; line-height: 1.75; max-width: 40em; }
.b-detail__body > :first-child { margin-top: 0; }
.b-detail__body h2 { font-size: 18px; font-weight: 700; color: var(--ink-0); margin: var(--s-6) 0 var(--s-3); }
.b-detail__body h3 { font-size: 15px; font-weight: 700; color: var(--ink-0); margin: var(--s-4) 0 var(--s-2); }
.b-detail__body p { margin: 0 0 var(--s-4); }
.b-detail__body ul, .b-detail__body ol { margin: 0 0 var(--s-4); padding-left: 1.4em; }
.b-detail__body li { margin: 0 0 4px; }
.b-detail__body blockquote { margin: 0 0 var(--s-4); padding: var(--s-3) var(--s-4); background: var(--bg-2); border-left: 3px solid var(--brand); border-radius: var(--r-2); color: var(--ink-2); }
.b-detail__body a { color: var(--brand); }
.b-detail__body img { border-radius: var(--r-3); margin: var(--s-3) 0; }
.b-detail__body blockquote br { line-height: 2; }
/* 代码：行内 code 浅底小标记；块级 pre 等宽 + 浅底框 + 长行横向滚动（不撑破排版、长代码也好读）。 */
.b-detail__body code { font-family: var(--font-mono); font-size: 0.92em; background: var(--bg-2); padding: 2px 6px; border-radius: var(--r-2); overflow-wrap: anywhere; }
.b-detail__body pre { max-width: 100%; margin: 0 0 var(--s-4); padding: var(--s-3) var(--s-4); background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--r-3); overflow-x: auto; overscroll-behavior: contain; }
.b-detail__body pre code { background: none; padding: 0; font-size: 0.88em; line-height: 1.6; white-space: pre; overflow-wrap: normal; }

/* ============================================================
   详情页 · 照参考稿《AI 不眠.html》组件（作用域 .b-detail，不外泄其它页）
   参考 = 唯一设计权威；用本主题令牌渲染（配色随站点）、圆角按像素对齐参考。
   ============================================================ */

/* 面包屑（首页 / 分类） */
/* 详情页顶部留白收紧（顶栏 ↔ 主图之间，作用域单品页、不影响其它页的 .b-section） */
.single-product .b-container.b-section { padding-top: var(--s-5); }
.b-detail__crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: var(--s-2) 0 var(--s-1); font-size: 12.5px; color: var(--ink-3); }
.b-detail__crumbs a { color: var(--ink-3); text-decoration: none; transition: color var(--dur-1) var(--ease); }
.b-detail__crumbs a:hover { color: var(--brand); }
.b-detail__crumb-sep { color: var(--ink-4); }

/* HOT 徽章（标题行；free/paid/new 沿用既有 .b-badge--*） */
.b-detail .b-badge--hot { background: var(--danger-50); color: var(--danger-strong); }

/* 通用卡片（= 参考 .card.card-padded：白底 + 细边 + 12 圆角 + 24 内距） */
.b-detail-card { background: var(--bg-0); border: 1px solid var(--line); border-radius: var(--r-3); padding: var(--s-6); }
@media (max-width: 720px) { .b-detail-card { padding: var(--s-4); } }

/* 通用按钮（= 参考 .btn，作用域详情页，避免影响其它页的 .b-button） */
.b-detail .b-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2);
	height: 38px; padding: 0 var(--s-5); border: 1px solid transparent; border-radius: var(--r-3);
	font-size: 14px; font-weight: 500; line-height: 1; white-space: nowrap;
	background: var(--bg-2); color: var(--ink-1); cursor: pointer; text-decoration: none;
	transition: background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);
}
.b-detail .b-btn:hover { background: var(--bg-3); }
.b-detail .b-btn:active { transform: translateY(1px); }
.b-detail .b-btn--primary { background: var(--btn-primary-bg); color: #fff; border-color: transparent; }   /* 实心底白字恒达 AA（暗色 --brand 白字仅 3.84） */
.b-detail .b-btn--primary:hover { background: var(--btn-primary-bg-h); color: #fff; }
.b-detail .b-btn--outline { background: transparent; border-color: var(--line-strong); color: var(--ink-1); }
.b-detail .b-btn--outline:hover { background: var(--bg-2); border-color: var(--ink-4); color: var(--brand); }
.b-detail .b-btn--ghost { background: transparent; color: var(--ink-2); }
.b-detail .b-btn--ghost:hover { background: var(--bg-2); color: var(--ink-0); }
.b-detail .b-btn--lg { height: 46px; padding: 0 var(--s-6); font-size: 15px; }
.b-detail .b-btn--sm { height: 32px; padding: 0 var(--s-3); font-size: 13px; border-radius: var(--r-2); }
.b-detail .b-btn--block { width: 100%; }
.b-detail .b-btn.is-flash { background: var(--success-50); color: var(--success-strong); border-color: transparent; }
/* 付费「即将开放购买」disabled 按钮（决策 1：付费购买上线前禁用、不隐藏；收付通上线后此分支不再渲染）。 */
.b-detail .b-btn.b-detail__soon,
.b-detail .b-btn.b-detail__soon:hover,
.b-detail .b-btn.b-detail__soon:active { background: var(--bg-2); color: var(--ink-3); border-color: var(--line); cursor: not-allowed; transform: none; box-shadow: none; }

/* ① 价格卡 */
.b-detail__price-tag { font-size: 12px; color: var(--ink-3); }
.b-detail__price-amt { margin-top: 2px; font-size: 36px; font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; color: var(--price); font-variant-numeric: tabular-nums; }
.b-detail__price-amt--free { color: var(--success-strong); font-size: 28px; }
.b-detail__price-amt .woocommerce-Price-amount,
.b-detail__price-amt .amount,
.b-detail__price-amt bdi { font-size: inherit; font-weight: inherit; color: inherit; }
.b-detail__price-amt del { display: none; }
.b-detail__price-amt ins { text-decoration: none; }
.b-detail__buy { display: flex; flex-direction: column; gap: var(--s-2); margin-top: var(--s-4); }
.b-detail__buy-note { padding: var(--s-3); border-radius: var(--r-2); background: var(--bg-2); color: var(--ink-3); font-size: 13px; text-align: center; }
.b-detail__owned { padding: var(--s-3); border-radius: var(--r-2); background: var(--success-50); color: var(--success-strong); font-size: 14px; font-weight: 600; text-align: center; }   /* 已购买/已领取状态条（detail-1） */
.b-detail__buy-note--preview { margin-top: var(--s-3); text-align: left; line-height: 1.6; }
.b-detail__price { position: relative; }
.b-detail__actions { display: flex; gap: var(--s-2); align-items: stretch; }
.b-detail__actions .b-detail__wish-btn,
.b-detail__actions .b-detail__share { flex: 1 1 0; min-width: 0; min-height: 44px; }   /* 触控目标 ≥44px（detail-3，平板触屏走内联价格卡而非底部购买条） */
/* 收藏：已收藏 = 品牌色高亮（真入库 YITH，见 inc/favorites.php / single-product.js） */
.b-detail__wish-btn.is-wished { color: var(--brand); border-color: var(--brand); background: var(--brand-50); }
/* 〔续26〕收藏心形矢量：默认描边空心♡，已收藏(.is-wished)填充实心♥；图标与文字留一点缝。 */
.b-detail__wish-ic { margin-right: 4px; }
.b-detail__wish-btn.is-wished .b-detail__wish-ic .b-ic { fill: currentColor; }
/* 举报入口 —— 迁至安全保障卡底部的低调链接（用户要求；原价格卡右上角 ⚑ 已移除）。 */
.b-detail__safety-report {
	display: inline-flex; align-items: center; gap: 4px;
	margin-top: var(--s-3); padding: 0;
	border: 0; background: transparent; cursor: pointer;
	color: var(--ink-4); font-size: 12px; line-height: 1.4;
	transition: color var(--dur-1) var(--ease);
}
/* 〔续27〕⚑ 旗帜图标已移到标记层（inc/single-product.php，矢量 flag SVG），原 ::before content 删除。 */
.b-detail__safety-report:hover { color: var(--danger); }

/* 收藏 = 简洁「♡ 收藏」按钮（.b-btn--outline + .b-detail__wish-btn，样式见上方操作行）。
   不内嵌 YITH 控件（其初始化后约 70px 会撑乱操作行）；点击真入库见 single-product.js。 */

/* 数据行：浏览 / 收藏 / 销量（3 等分、竖线分隔） */
.b-detail__stats { display: flex; margin-top: var(--s-4); padding-top: var(--s-4); border-top: 1px solid var(--line); }
.b-detail__stat { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; }
.b-detail__stat + .b-detail__stat { border-left: 1px solid var(--line); }
.b-detail__stat-num { font-size: 16px; font-weight: 700; color: var(--ink-0); font-variant-numeric: tabular-nums; }
.b-detail__stat-label { font-size: 11px; color: var(--ink-3); }

/* ============================================================
   移动端底部购买条（商品详情页，≤768 替代全局底栏 .b-mobile-tabbar）
   分享 / 收藏（复用 .b-detail__share / .b-detail__wish-btn）+ 加入购物车 / 立即购买。
   PC（≥769）整段不渲染样式 = 不显示，桌面零影响（实际断点 = 下方 @media max-width:768px）。
   ============================================================ */
.b-detail-buybar { display: none; }
/* 购买条仅 ≤768（手机）显示。769–980 平板虽是单列堆叠，但屏够大、内联价格卡的购买区已够用——
   再叠固定购买条会与内联价格卡「同屏重影」（R4/R5 记录 + 真人测试 900px 复现）。故平板不显购买条、走内联价格卡 + 全局底栏导航。 */
@media (max-width: 768px) {
	/* 商品页隐藏全局底栏，由购买条取代；两者同高 var(--mobile-tab-h) → 复用 has-mobile-tabbar 的 body 底部留白。 */
	.single-product .b-mobile-tabbar { display: none; }
	/* 价格卡隐藏 → 买前预览提示改在「作品信息」框下显示（纯文字）；〔续22 用户拍板〕整句右对齐 + 与上方框留一丝丝呼吸感
	   （负上距 --s-3→--s-1：与框 mb:8 叠加后由「重叠 -4px」变「+4px 一丝丝」，不贴死也不微微多）。 */
	.b-detail__ai-note { display: block; margin: calc(var(--s-1) * -1) 0 var(--s-4); font-size: 13px; line-height: 1.6; color: var(--ink-2); text-align: right; }
	/* 手机端隐藏整张价格卡（用户要求）：价格/购买/收藏/分享 改由下方购买条承担、举报已移安全卡、数据行不显。
	   仅 ≤768；平板 769–980 保留价格卡（那档无购买条、靠价格卡下单）；PC 不变。 */
	.b-detail__price { display: none; }
	.b-detail-buybar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--z-buybar);
		display: flex; align-items: center; gap: var(--s-2);
		height: var(--mobile-tab-h);
		padding: 0 var(--s-3);
		padding-bottom: env(safe-area-inset-bottom);
		background: var(--bg-0);
		border-top: 1px solid var(--line);
		box-shadow: 0 -2px 12px rgba(0, 0, 0, .06);
	}
	.b-detail-buybar__side { display: flex; gap: var(--s-2); flex: 0 0 auto; }
	/* 分享 / 咨询 / 收藏 = 小号描边图标按钮（收藏激活态高亮品牌色）。
	   〔美化 2026-07-04〕横排→竖排（图标在上、文字在下）更透气；边框柔化(line-strong→line)+圆角略大+微米底
	   与白底栏轻分层更有钮感；固定等宽让「分享/咨询」并排整齐；无过渡（用户不喜动画）、hover/按下品牌色反馈。 */
	.b-detail-buybar .b-detail-buybar__icon {
		display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
		width: 54px; height: 44px; padding: 0 4px;   /* 触控目标 ≥44px；固定宽=分享/咨询等宽 */
		border: 1px solid var(--line); border-radius: 10px;
		background: var(--bg-1); color: var(--ink-2);
		font-size: 11px; font-weight: 600; line-height: 1; white-space: nowrap;
		cursor: pointer; text-decoration: none;
	}
	.b-detail-buybar .b-detail-buybar__icon svg { width: 18px; height: 18px; flex: none; }
	@media (hover: hover) and (pointer: fine) {
		.b-detail-buybar .b-detail-buybar__icon:hover { border-color: var(--brand); color: var(--brand); background: var(--brand-50); }
	}
	.b-detail-buybar .b-detail-buybar__icon:active { border-color: var(--brand); background: var(--brand-50); }
	.b-detail-buybar .b-detail-buybar__icon.is-wished { color: var(--brand); border-color: var(--brand); background: var(--brand-50); }
	/* 价格 —— 收藏 之后、购买区之前的紧凑价格（仅付费作品渲染，见 inc/single-product.php）。 */
	.b-detail-buybar__price { flex: 0 0 auto; font-size: 15px; font-weight: 800; color: var(--price); white-space: nowrap; font-variant-numeric: tabular-nums; line-height: 1.1; }
	.b-detail-buybar__price .woocommerce-Price-amount, .b-detail-buybar__price .amount, .b-detail-buybar__price bdi { font-size: inherit; font-weight: inherit; color: inherit; }
	.b-detail-buybar__price del { display: none; }
	.b-detail-buybar__buy { display: flex; gap: var(--s-2); flex: 1; min-width: 0; }
	.b-detail-buybar .b-detail-buybar__buy .b-btn {
		display: inline-flex; align-items: center; justify-content: center;
		flex: 1 1 0; min-width: 0; height: 44px; padding: 0 var(--s-2);   /* 触控目标 ≥44px */
		border: 1px solid transparent; border-radius: var(--r-2);
		font-size: 14px; font-weight: 700; line-height: 1; white-space: nowrap;
		overflow: hidden;   /* 极窄屏(≤360)双钮文字不溢出按钮框/不与相邻钮重叠（兜底，配合下方等分 flex）。 */
	}
	.b-detail-buybar .b-detail-buybar__buy .b-btn--primary { background: var(--btn-primary-bg); color: #fff; }
	.b-detail-buybar .b-detail-buybar__buy .b-btn--outline { background: transparent; border-color: var(--line-strong); color: var(--ink-1); }
	/* 主按钮(立即购买)与加购钮等分宽度（flex:1 1 0，同上方 .b-btn 基线）：原 1.6 给文字更短的「立即购买」更多空间，
	   反把文字更长的「加入购物车」挤到窄屏溢出；强调改由品牌底色承担。仅付费购买开放后出现双钮、此修预置生效。 */
	.b-detail-buybar .b-detail-buybar__buy .b-detail-buybar__primary { flex: 1 1 0; }
	/* 付费「即将开放购买」disabled（决策 1）—— 移动购买条与 PC 价格卡同步。 */
	.b-detail-buybar .b-detail-buybar__buy .b-detail__soon { background: var(--bg-2); color: var(--ink-3); border-color: var(--line); cursor: not-allowed; }
	.b-detail-buybar__note { display: flex; align-items: center; justify-content: center; flex: 1; color: var(--ink-3); font-size: 13px; }
}

/* 购买条窄屏舒压（续8 打磨 3）：五件套（分享|收藏|价格|加购|立即购买）在 ≤480 偏挤、
   价格裸浮中间 → 收紧图标钮最小宽与间距、价格降一号并贴右上分隔留白，主 CTA 空间优先。 */
@media (max-width: 480px) {
	.b-detail-buybar { gap: var(--s-2); }
	.b-detail-buybar .b-detail-buybar__icon { width: 46px; padding: 0 3px; font-size: 11px; }
	.b-detail-buybar__price { font-size: 14px; padding-left: 2px; }
}

/* ② 创作者卡 */
.b-detail__creator-avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; background: var(--bg-2); }
/* 老内核钉高（0.4.747·X112·机制见 components.css .b-avatar 处注释）：与上条 width 同值。 */
.woocommerce .b-detail__creator-avatar, .woocommerce-page .b-detail__creator-avatar { height: 48px; }
.b-detail__creator-info { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.b-detail__creator-name { font-size: 15px; font-weight: 600; color: var(--ink-0); }
.b-detail__creator-handle { font-size: 12px; color: var(--ink-3); }
.b-detail__cbadge { display: inline-flex; align-items: center; gap: 3px; padding: 2px var(--s-2); border-radius: var(--r-pill); font-size: 11px; font-weight: 500; }
.b-detail__cbadge--ok { background: var(--success-50); color: var(--success-strong); }
/* 〔美化 2026-07-04·站长选 B 暖金奖章〕勋章 chip：土黄(warning-50 #fff3d6)→更柔的暖米金，配统一金铜图标圆(见 .b-badge-ic)。 */
.b-detail__cbadge--medal { background: #f8f1e0; color: #826327; } /* 文字原 #8a6a2c 4.46:1 差一线 → 微加深 4.96 达 AA（金铜调不变） */
[data-theme="dark"] .b-detail__cbadge--medal { background: rgba(201, 154, 63, .16); color: #d4a24a; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .b-detail__cbadge--medal { background: rgba(201, 154, 63, .16); color: #d4a24a; }
}
.b-detail__creator-acts { display: flex; gap: var(--s-2); margin-top: var(--s-3); padding-top: var(--s-3); border-top: 1px solid var(--line); }
.b-detail__creator-acts .b-btn,
.b-detail__creator-acts .b-follow-btn { flex: 1 1 0; min-width: 0; min-height: 44px; } /* 关注钮提 44 触控后，店铺钮一并提 44 保持同高对齐（修 UI 深审 win06 F1 的连带回归）。 */
/* s12 UI批1（2026-06-12 用户指令）：移动端 咨询↔收藏 互换（仅私信按钮可渲染时两钮才同时输出，见 inc/single-product.php）。
   ≤768：创作者卡显「♡ 收藏」、藏「咨询创作者」（咨询改在底部购买条）；≥769（平板+PC）：反之、布局与历史一致。
   断点 768 与购买条同界，平板 769–980 无购买条 → 咨询创作者留在卡内不丢入口。 */
@media (max-width: 768px) {
	.b-detail__creator-acts .b-detail__creator-msg { display: none; }
}
@media (min-width: 769px) {
	.b-detail__creator-acts .b-detail__creator-wish { display: none; }
}
/* 创作者卡移动收藏激活态（同价格卡/购买条口径：品牌色高亮）。 */
.b-detail__creator-acts .b-detail__creator-wish.is-wished { color: var(--brand); border-color: var(--brand); background: var(--brand-50); }

/* s12 UI批3（2026-06-13 用户指令）：这排按钮的图标移动端去掉、PC 保留。
   〔续27 矢量图标〕图标改由标记层 SVG span 承担：关注钮=.b-follow-btn__ic（plus/check，随状态切换，见 components.css）、
   店铺/分享=.b-detail__creator-act-ic（store/speakerphone，inc/single-product.php 渲染）。本规则只负责「移动端（≤768）
   隐藏这排图标」、≥769 默认显示（旧 +/✓/🏪/📣 ::before content 已删；别处关注钮一律显图标不受此作用域影响）。
   收藏（.b-detail__creator-wish 仅移动显示）本就无图标、不受影响。 */
.b-detail__creator-act-ic { display: inline-flex; align-items: center; }
@media (max-width: 768px) {
	.b-detail__creator-acts .b-follow-btn__ic--add,
	.b-detail__creator-acts .b-follow-btn.is-following .b-follow-btn__ic--on,
	.b-detail__creator-acts .b-detail__creator-act-ic { display: none; }
}

/* ③ 安全卡 */
.b-detail__safety { background: var(--bg-1); }
.b-detail__safety-head { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: var(--ink-2); margin-bottom: var(--s-2); }
.b-detail__safety-list { margin: 0; padding-left: 18px; color: var(--ink-3); font-size: 12px; line-height: 1.8; }
.b-detail__safety-list li { margin: 0; }
.b-detail__safety-link { color: var(--brand); }
.b-detail__safety-link:hover { text-decoration: underline; }

/* 左栏：评论 + 相关推荐（照参考放左栏） */
.b-detail__reviews { margin-top: var(--s-6); }   /* 批46:详情评价区外距 40→24 */
.b-detail__related { margin-top: var(--s-6); }   /* 批46:详情相关作品外距 40→24 */
.b-detail__related .products ul,
.b-detail__related ul.products { margin: 0; }
/* 〔续27〕详情主列窄（右侧 320px aside）→ 相关作品桌面 4 列（与首页左右栏主列 4 列例外一致；原 master 5 列在窄主列里挤、WC 只出 4 个=空一格）。≤1024 aside 下沉、主列全宽 → 交回 master 3/2。 */
@media (min-width: 1025px) {
	.b-detail__related .b-works-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* 续19: 移动端(≤768)详情页「上下板块距离」紧凑到极限（用户拍板，2026-06-17）。
   只收板块间距/外距/框内距，不动正文行距(.b-detail__body)。 */
@media (max-width: 768px) {
	.b-detail .b-detail__grid { gap: var(--s-2); }        /* 极限:四区(主图/正文/创作者价/安全评价相关)间距 --s-6→--s-2(8px) */
	.b-detail__head { margin-bottom: var(--s-2); }        /* 标题区下距 --s-4→--s-2 */
	.b-detail__specs { margin-bottom: var(--s-2); padding: var(--s-3) var(--s-4); }  /* 作品信息框 外距→--s-2 + 内距收 */
	.b-detail__ai-note { margin-bottom: var(--s-1); }     /* 修「预览提示→创作者卡」28px 大缝:ai-note 下距 --s-4→--s-1(4px)，负上距保留贴住作品信息框 */
	.b-detail-card { padding: var(--s-3) var(--s-4); }    /* 创作者/安全卡 纵向内距 --s-4→--s-3 */
	.b-detail__reviews { margin-top: var(--s-2); }        /* 评价区上距 --s-6→--s-2 */
	.b-detail__related { margin-top: var(--s-2); }        /* 相关作品上距 --s-6→--s-2 */
	.b-review-empty { padding: var(--s-4); }              /* 评价空态大框内距 --s-6/--s-4→--s-4 */
}

/* 右栏 = sticky 购买侧栏（创作者行 + 评分 + 下单盒，竖叠用 gap 控距） */
.single-product .b-detail__aside {
	grid-area: aside;
	margin: 0; width: 100%; max-width: none; float: none; min-width: 0;
	align-self: start;
	position: sticky; top: calc(var(--header-h) + var(--s-4));
	display: flex; flex-direction: column; gap: var(--s-4);
}
.single-product .b-detail__aside > * { margin: 0; }
@media (max-width: 980px) { .single-product .b-detail__aside { position: static; } }
.single-product .summary .price,
.single-product .summary .price .amount {
	font-size: 26px;
	font-weight: 800;
	color: var(--brand);
}
.single-product .summary .woocommerce-product-rating { margin-bottom: var(--s-3); }
.single-product .woocommerce-product-details__short-description {
	color: var(--ink-2);
	font-size: 14px;
	line-height: 1.7;
	margin: var(--s-4) 0;
}

/* 旧 AIGC 小标牌 / 创作者横条 / 下单盒(buybox) 样式已随详情页照参考重做删除
   —— 现由 inc/single-product.php 的左栏 AI 横幅(.b-detail__ai) + 右栏三卡(.b-detail__price/creator/safety) 取代。 */

/* 加购 / 数量 */
.single-product form.cart { margin: var(--s-5) 0; display: flex; gap: var(--s-3); align-items: center; flex-wrap: wrap; }
.single-product .quantity input.qty {
	width: 72px; height: 44px; text-align: center;
	border: 1px solid var(--line-strong); border-radius: var(--r-3);
	background: var(--bg-1); color: var(--ink-0); font-size: 15px;
}
.single-product .single_add_to_cart_button { min-height: 48px; padding: 0 var(--s-8); font-size: 15px; flex: 1; min-width: 160px; }
.single-product .product_meta { font-size: 12.5px; color: var(--ink-3); margin-top: var(--s-4); }
.single-product .product_meta a { color: var(--ink-2); }

/* 选项卡（描述 / 评价 / TA 的其他作品）——下划线式，全中文、品牌高亮。
   ⚠️ WC 核心把 li a 颜色定死 #515151（高特异性）→ 颜色用 !important 压过；并去掉 WC 默认的
   ::before/::after 圆角装饰边。 */
.woocommerce-tabs { margin-top: var(--s-6); clear: both; }   /* 批46:详情选项卡外距 48→24 */
.woocommerce-tabs ul.tabs {
	display: flex; flex-wrap: wrap; gap: var(--s-1); list-style: none; margin: 0 0 var(--s-6); padding: 0;
	border-bottom: 1px solid var(--line);
}
.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after { content: none !important; display: none !important; border: 0 !important; }
.woocommerce-tabs ul.tabs li {
	margin: 0; padding: 0; background: none; border: 0; border-radius: 0;
}
/* WC 给 tab li 上了浅灰底 #e9e6ed + 灰边（暗色下是刺眼白块、高特异性）→ 同作用域压成透明、纯下划线式。 */
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: inline-block; padding: var(--s-3) var(--s-4); margin-bottom: -1px;
	border: 0; border-bottom: 2px solid transparent; border-radius: 0;
	color: var(--ink-2) !important; font-weight: 600; font-size: 14px; text-decoration: none;
	text-shadow: none;
	transition: color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--ink-0) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--brand) !important; border-bottom-color: var(--brand); }

/* 作品介绍 / 选项卡正文：清爽排版（段落 / 标题 / 列表 / 图片） */
.woocommerce-tabs .panel { color: var(--ink-1); font-size: 14.5px; line-height: 1.8; }
.woocommerce-tabs .panel > h2 { font-size: 18px; color: var(--ink-0); margin: 0 0 var(--s-3); font-weight: 700; }
.woocommerce-tabs .panel p { margin: 0 0 var(--s-3); }
.woocommerce-tabs .panel h3, .woocommerce-tabs .panel h4 { margin: var(--s-5) 0 var(--s-2); color: var(--ink-0); font-size: 15.5px; font-weight: 700; }
.woocommerce-tabs .panel ul, .woocommerce-tabs .panel ol { margin: 0 0 var(--s-4); padding-left: var(--s-5); }
.woocommerce-tabs .panel li { margin: 0 0 var(--s-2); }
.woocommerce-tabs .panel img { max-width: 100%; height: auto; border-radius: var(--r-3); margin: var(--s-2) 0; }
.woocommerce-tabs .panel a { color: var(--brand); }
.woocommerce-tabs .panel .b-work-desc__empty { display: flex; align-items: center; gap: var(--s-2); color: var(--ink-3); font-size: 14px; }

/* ---------- 评价（reviews） ---------- */
.woocommerce-Reviews-title { font-size: 18px; font-weight: 800; color: var(--ink-0); margin: 0 0 var(--s-5); }
.woocommerce-Reviews .commentlist { list-style: none; margin: 0 0 var(--s-6); padding: 0; }
.woocommerce-Reviews .commentlist li.review {
	padding: var(--s-4) 0; border-bottom: 1px solid var(--line);
}
.woocommerce-Reviews .commentlist li.review:last-child { border-bottom: 0; }
.woocommerce-Reviews .comment_container { display: flex; gap: var(--s-3); align-items: flex-start; }
.woocommerce-Reviews .comment_container img.avatar {
	width: 40px; height: 40px; border-radius: var(--r-pill); margin: 0; flex: 0 0 auto;
}
.woocommerce-Reviews .comment-text { flex: 1 1 auto; min-width: 0; }
.woocommerce-Reviews .meta { font-size: 12.5px; color: var(--ink-3); margin: 0 0 var(--s-2); }
.woocommerce-Reviews .meta strong.woocommerce-review__author { color: var(--ink-0); font-size: 13.5px; }
.woocommerce-Reviews .star-rating { color: var(--warning); margin-bottom: var(--s-2); }
.woocommerce-Reviews .description { color: var(--ink-1); font-size: 14px; line-height: 1.7; }
.woocommerce-noreviews { color: var(--ink-3); font-size: 14px; }

/* 评价概览：平均分 + 星级 + 星级分布条 */
.b-review-summary {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: var(--s-6);
	align-items: center;
	margin: 0 0 var(--s-6);
	padding: var(--s-5);
	background: var(--bg-2);
	border: 1px solid var(--line);
	border-radius: var(--r-4);
}
.b-review-summary__score { display: flex; flex-direction: column; align-items: center; gap: var(--s-1); min-width: 92px; }
.b-review-summary__avg { font-size: 40px; font-weight: 800; color: var(--ink-0); line-height: 1; }
.b-review-summary__score .star-rating { margin: 0; color: var(--warning); }
.b-review-summary__count { font-size: 12.5px; color: var(--ink-3); }
.b-review-summary__dist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--s-2); }
.b-review-summary__row { display: flex; align-items: center; gap: var(--s-3); }
.b-review-summary__star-label { flex: 0 0 auto; width: 34px; font-size: 12px; color: var(--ink-3); white-space: nowrap; }
.b-review-summary__bar { flex: 1 1 auto; height: 8px; background: var(--bg-3); border-radius: var(--r-pill); overflow: hidden; }
.b-review-summary__bar-fill { display: block; height: 100%; background: var(--warning); border-radius: var(--r-pill); transition: width var(--dur-2, .3s) var(--ease); }
.b-review-summary__row-count { flex: 0 0 auto; width: 28px; text-align: right; font-size: 12px; color: var(--ink-3); }

/* 评价排序（最新 / 评分最高）—— 文字 tab，活动项加粗 */
.b-review-sort { display: flex; align-items: center; gap: var(--s-4); margin: 0 0 var(--s-4); }
.b-review-sort__tab { font-size: 13px; color: var(--ink-3); text-decoration: none; }
.b-review-sort__tab:hover { color: var(--brand); }
.b-review-sort__tab.is-active { color: var(--ink-1); font-weight: 600; }

/* 评价空状态（友好引导） */
.b-review-empty {
	text-align: center;
	padding: var(--s-6) var(--s-4);   /* 批: 空态内距 32→24, 对齐全站空态约定 (--s-6 --s-4) */
	background: var(--bg-2);
	border: 1px dashed var(--line-strong);
	border-radius: var(--r-4);
}
.b-review-empty__icon { font-size: 28px; line-height: 1; }   /* 〔续26〕空态星标 32→28 略收 */
.b-review-empty__title { margin: var(--s-2) 0 var(--s-1); font-size: 15px; font-weight: 700; color: var(--ink-1); }
.b-review-empty__text { margin: 0; font-size: 13px; color: var(--ink-3); }

/* 〔续26 用户反馈〕评价概览在手机上竖向太高 → 不再单列堆叠，保持「平均分左 + 分布条右」并排（竖向约减半），
   并收紧间距/内距/平均分字号；空态同步压扁。 */
@media (max-width: 560px) {
	.b-review-summary { gap: var(--s-3); padding: var(--s-4); }   /* 去掉 grid-template-columns:1fr（不堆叠）；间距 s-6→s-3、内距 s-5→s-4 */
	.b-review-summary__score { min-width: 64px; }                 /* 92→64，给分布条更多宽度 */
	.b-review-summary__avg { font-size: 30px; }                   /* 40→30 */
	.b-review-summary__dist { gap: var(--s-1); }                  /* 5 行间距 s-2→s-1 */
	.b-review-empty { padding: var(--s-5) var(--s-4); }           /* 空态竖向内距收紧 */
}

/* 评价门槛提示（未登录 / 未实名 / 未购买）——温和 info 卡片。
   续8 打磨 4：原 display:flex+gap 把行内 <a> 当 flex 项、链接前后文字被 gap 撑开
   （「登录 。」句号悬空）→ 文案包进 .b-review-gate__text 单一 span，链接回归行内排版。 */
.b-review-gate {
	display: flex; align-items: center; gap: var(--s-2);
	margin: var(--s-4) 0 0; padding: var(--s-3) var(--s-4);
	background: var(--bg-2); border: 1px solid var(--line);
	border-radius: var(--r-3); color: var(--ink-2); font-size: 13.5px;
}
.b-review-gate__text { min-width: 0; }
.b-review-gate a { color: var(--brand); font-weight: 700; text-decoration: none; }
.b-review-gate a:hover { text-decoration: underline; }
/* 空态盒内的门槛行（续8 打磨 4：无评价时并入 .b-review-empty，不再双盒叠放）。 */
.b-review-empty__gate {
	margin: var(--s-4) auto 0; padding-top: var(--s-3);
	border-top: 1px dashed var(--line-strong);
	font-size: 13px; color: var(--ink-2);
}
.b-review-empty__gate a { color: var(--brand); font-weight: 700; text-decoration: none; }
.b-review-empty__gate a:hover { text-decoration: underline; }

/* 评价表单（有资格时显示） */
#review_form_wrapper { margin-top: var(--s-5); }
#review_form .comment-reply-title { font-size: 15px; font-weight: 700; color: var(--ink-0); display: block; margin-bottom: var(--s-3); }
#review_form .comment-form-rating label,
#review_form .comment-form-comment label { display: block; font-size: 13px; font-weight: 600; color: var(--ink-1); margin-bottom: var(--s-2); }
#review_form select#rating,
#review_form textarea#comment {
	width: 100%; max-width: 480px; padding: var(--s-2) var(--s-3);
	border: 1px solid var(--line-strong); border-radius: var(--r-3);
	background: var(--bg-1); color: var(--ink-0); font-size: 14px; font-family: inherit;
}
#review_form textarea#comment { min-height: 120px; resize: vertical; }
#review_form .form-submit { margin-top: var(--s-3); }
/* 提交按钮走全站统一的品牌主按钮样式（见上方 .woocommerce #respond input#submit 并入 .alt 品牌组）。 */

/* DSR 三排星输入（天猫交易评分式；渲染 inc/woocommerce.php bumian_theme_dsr_form_fields）：
   DOM 5→1 + row-reverse = 视觉 1→5、`input:checked ~ label` 左填色（不碰 :has，老内核可用）。 */
.b-dsr-form { display: block; margin-top: var(--s-3); padding: var(--s-3); border: 1px solid var(--line); border-radius: var(--r-3); background: var(--bg-1); max-width: 480px; }
.b-dsr-form__t { display: block; font-size: 13px; font-weight: 600; color: var(--ink-1); margin-bottom: var(--s-2); }
.b-dsr-form__row { display: flex; align-items: center; gap: var(--s-2); padding: 2px 0; }
.b-dsr-form__label { flex: 0 0 4.5em; font-size: 13px; color: var(--ink-2); }
.b-dsr-form__stars { display: inline-flex; flex-direction: row-reverse; }
.b-dsr-form__stars input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.b-dsr-form__stars label { color: var(--line-strong); font-size: 22px; line-height: 1; padding: 0 3px; cursor: pointer; }
.b-dsr-form__stars input:checked ~ label { color: var(--gold); }
.b-dsr-form__stars input:checked + label { color: var(--gold); }
.b-dsr-form__stars label:hover { color: var(--gold); }
.b-dsr-form__stars label:hover ~ label { color: var(--gold); }
.b-dsr-form__stars input:focus-visible + label { outline: 2px solid var(--brand); outline-offset: 2px; border-radius: var(--r-1); }

/* 详情页卖家卡 DSR 三排星（站长指定天猫/京东式；.b-dsr 通用样式在 components.css） */
/* 卖家卡三层骨架（站长 2026-07-03 联网参照重排：天猫/京东与国际市场店铺卡通用式）
   ①头部(头像48+店名行[名+chips]+@handle行) ②评分带(三列横排·细线上隔) ③动作钮(细线上隔·既有)。 */
.b-detail__creator-head { display: flex; align-items: center; gap: var(--s-3); }
.b-detail__creator-ava { flex: 0 0 auto; display: block; }
.b-detail__creator-namerow { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
.b-detail__creator-namerow .b-detail__creator-name { text-decoration: none; }
/* 评分带：三项交易评分横排三列（每格 标签/星/分 竖叠居中·同店铺档案手机档式样） */
.b-detail__dsr { margin-top: var(--s-3); padding-top: var(--s-3); border-top: 1px solid var(--line); }
.b-detail__dsr .b-dsr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-2); }
.b-detail__dsr .b-dsr__row { flex-direction: column; align-items: center; gap: 2px; padding: 0; font-size: 12.5px; }
.b-detail__dsr .b-dsr__label { flex: none; }
.b-detail__dsr .b-dsr__stars { font-size: 14px; }   /* 体检批 2026-07-04：__row/__stars 各写两遍（13px 被 14px 覆盖）→ 并成单条，取生效值，观感零变化 */
.b-detail__dsr .b-dsr__num { white-space: nowrap; }

/* 相关作品（复用首页卡片网格） */
.related.products,
.upsells.products { margin-top: var(--s-6); clear: both; }   /* 批46:猜你喜欢外距 48→24 */
.related.products > h2,
.upsells.products > h2 {
	font-size: 20px; font-weight: 800; color: var(--ink-0); margin: 0 0 var(--s-5);
}

@media (max-width: 880px) {
	.single-product div.product { grid-template-columns: 1fr; gap: var(--s-6); }
	/* 单栏：主图封顶 440 且居中（不再撑满整行、不左偏留白）。 */
	.single-product div.product .woocommerce-product-gallery { position: static; margin-inline: auto; }
}

/* ============================================================
   用户中心（My Account）
   ============================================================ */
/* 单页 Tab 版：全部单栏 = 资料头部(整宽) → 横排 tab 行 → 内容区。 */
.woocommerce-account .woocommerce { display: block; }
.woocommerce-account .b-acct-header { margin-bottom: var(--s-5); }
/* 移动端（≤1099）隐藏个人中心页面的重复大标题「个人中心」——资料卡横幅 + tab 行已是页面身份，
   再顶一行标题是重复 + 白占首屏。PC（≥1100）保留。仅 body.woocommerce-account 作用域，不动别页标题。 */
@media (max-width: 1099px) {
	body.woocommerce-account .b-section__head { display: none; }
}
/* WC 默认给导航/内容设了 width/float —— 单栏下归零，让它们整宽。 */
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
	width: auto;
	float: none;
}
/* 账户页容器水平内边距已由 base.css 的 .b-section 纵向 longhand 统一提供（原 per-page 补丁已删，见 base.css 注释）。 */

/* —— 横排 tab 行（导航）：点 tab 下面就地换内容（PJAX）。无 JS 时是真链接、整页跳。 —— */
.b-acct-tabnav {
	margin: 0 0 var(--s-5);
	padding: var(--s-2);
	background: var(--bg-0);
	border: 1px solid var(--line);
	border-radius: var(--r-4);
	box-shadow: var(--sh-1);
}
.b-acct-tabnav__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-1); }
.b-acct-tabnav__item { margin: 0; }
.b-acct-tab-link {
	display: inline-flex; align-items: center; gap: var(--s-2);
	min-height: 44px;   /* 触控目标 ≥44px（acct-7，DESIGN-LOCKED §9）；移动端主导航 tab */
	padding: var(--s-2) var(--s-3);
	border-radius: var(--r-2);
	color: var(--ink-2);
	font-size: 14px; font-weight: 600;
	text-decoration: none; white-space: nowrap;
	transition: background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);
}
.b-acct-tab-link__icon { flex: none; font-size: 15px; line-height: 1; }
.b-acct-tab-link:hover { background: var(--bg-2); color: var(--ink-0); }
.b-acct-tab-link.is-active {
	background: linear-gradient(135deg, var(--brand), var(--brand-600));
	color: #fff;
}
.b-acct-tab-link--logout { color: var(--ink-4); }
.b-acct-tab-link--logout:hover { background: var(--danger-50); color: var(--danger); }
.b-acct-tab-link--external::after { content: "↗"; font-size: 11px; opacity: .6; margin-left: 2px; }
.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-MyAccount-content.is-acct-loading { opacity: .45; transition: opacity var(--dur-1) var(--ease); pointer-events: none; }
/* PJAX 换 tab 后程序化聚焦内容容器（account-tabs.js，读屏从新内容朗读）→ 不显聚焦环（非键盘可达元素、tabindex=-1）。 */
.woocommerce-MyAccount-content[tabindex="-1"]:focus, .woocommerce-MyAccount-content[tabindex="-1"]:focus-visible { outline: none; }
/* 「作品」标签：去管理工具条（页内出卡 + 进 Dokan 上架/改价的入口）。 */
.b-acct-myworks__bar { display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); flex-wrap: wrap; margin: 0 0 var(--s-5); padding: var(--s-4); background: var(--bg-1); border: 1px solid var(--line); border-radius: var(--r-3); }
.b-acct-myworks__hint { margin: 0; font-size: 13px; color: var(--ink-3); flex: 1; min-width: 200px; }
.b-acct-myworks__actions { display: flex; gap: var(--s-2); flex-wrap: wrap; }
.woocommerce-MyAccount-content p { color: var(--ink-2); }

/* ============================================================
   个人中心 · 资料头部横幅（整宽，所有账户页顶部）
   ============================================================ */
.b-acct-header {
	grid-column: 1 / -1;
	position: relative;
	margin-bottom: var(--s-2);
}
/* 概览玩法（每日签到 + 每日任务）并入资料卡中间空白：签到左 | 任务右、紧凑；
   迷你数据（成长值/勋章/作品）钉在签到块底部、填满周条下方那块空白、与右侧任务列等高。 */
.b-acct-card .b-acct-id { flex: 1 1 220px; min-width: 200px; }
.b-acct-gamebar { flex: 1.6 1 440px; min-width: 340px; align-self: flex-start; }
.b-acct-card .b-hub { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-3); }
.b-acct-card .b-hub-card { padding: var(--s-3) var(--s-4); }
.b-acct-card .b-hub-checkin { display: flex; flex-direction: column; }
.b-acct-card .b-acct-actions { margin-left: 0; }
.b-hub-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-2); margin-top: auto; padding-top: var(--s-3); }
.b-hub-stat {
	display: flex; flex-direction: column; gap: 1px; min-width: 0;
	padding: var(--s-2) var(--s-3);
	background: var(--bg-2); border-radius: var(--r-2);
	text-decoration: none;
	transition: background var(--dur-1) var(--ease);
}
.b-hub-stat:hover { background: var(--bg-3); }
.b-hub-stat__num { font-size: 16px; font-weight: 800; color: var(--ink-0); font-variant-numeric: tabular-nums; letter-spacing: -.02em; line-height: 1.15; }
.b-hub-stat__label { font-size: 10.5px; color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 900px) {
	/* 玩法块整行；并把「头像 + 资料」锁成两栏（头像左 / 资料右）。
	   原 .b-acct-id 的 220px 基准 + 200px 最小宽在窄屏手机（≈360–384px，多数安卓）正好放不下、被挤到头像下方
	   一行 → 资料卡显错位松散（用户反馈：安卓比 iPhone 乱）；iPhone（≥390px）才刚好放得下故看着规整。
	   改 id = flex:1 1 0 + min-width:0 → 永远贴在头像右侧、按屏宽收缩换行，各手机一致；gamebar 去 340 最小宽防窄屏溢出。 */
	.b-acct-gamebar { flex-basis: 100%; min-width: 0; }
	.b-acct-card .b-acct-id { flex: 1 1 0; min-width: 0; }
}
@media (max-width: 680px) { .b-acct-card .b-hub { grid-template-columns: 1fr; } }
/* 资料卡（紫色横幅已移除 → 卡片直接置顶、整宽，与下方数据磁贴对齐）。 */
.b-acct-card {
	position: relative;
	margin: 0;
	padding: var(--s-6);
	display: flex; flex-wrap: wrap; align-items: flex-start;
	gap: var(--s-4) var(--s-6);
	background: var(--bg-0);
	border: 1px solid var(--line);
	border-radius: var(--r-4);
	box-shadow: var(--sh-2);
}

/* 头像（可换，对照参考 avatar.xl=96）。 */
.b-acct-avatar { position: relative; flex: none; width: 96px; height: 96px; }
.b-acct-avatar__img {
	width: 96px; height: 96px; border-radius: 50%;
	object-fit: cover; display: block; background: var(--bg-2);
	border: 4px solid var(--bg-0);
	box-shadow: 0 0 0 1px var(--line), var(--sh-2);
}
/* 非正方形头像被 WC `.woocommerce img{height:auto}` 拉椭圆：新内核由 base.css aspect-ratio 回正；
   老内核不认 aspect-ratio（0.4.747 实测本头像塌成 96×52）→ 镜像 WC 选择器钉高（X112），
   数值与上条 width 同值（改任一侧同步另一侧）。 */
.woocommerce .b-acct-avatar__img, .woocommerce-page .b-acct-avatar__img { height: 96px; }
.b-acct-avatar__edit {
	position: absolute; right: -2px; bottom: -2px;
	width: 30px; height: 30px; border-radius: 50%; padding: 0;
	border: 2px solid var(--bg-0);
	background: var(--brand-solid); color: #fff;
	display: flex; align-items: center; justify-content: center; cursor: pointer;
	transition: transform var(--dur-1) var(--ease), filter var(--dur-1) var(--ease);
}
.b-acct-avatar__edit svg { width: 15px; height: 15px; }
.b-acct-avatar__edit:hover { filter: brightness(1.08); transform: scale(1.06); }

/* 头像列：头像 + 下方「开店卖作品」入口（仅买家引导填补空白；卖家此处只显头像，0.4.396 批34）。 */
.b-acct-aside { flex: none; display: flex; flex-direction: column; align-items: center; gap: var(--s-3); }
.b-acct-seller {
	display: inline-flex; align-items: center; justify-content: center; gap: 4px;
	width: 96px; max-width: 100%; padding: var(--s-2) 4px;
	border: 1px solid var(--line-strong); border-radius: var(--r-2);
	background: var(--bg-0); color: var(--ink-1);
	font-size: 12px; font-weight: 600; line-height: 1.15; white-space: nowrap;
	text-decoration: none;
	transition: border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);
}
.b-acct-seller:hover { border-color: var(--brand); color: var(--brand); }
.b-acct-seller--cta { border-color: var(--brand); color: var(--brand); background: var(--brand-50); }

/* 身份 */
.b-acct-id { flex: 1 1 260px; min-width: 0; }
.b-acct-id__namerow { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s-2); }
.b-acct-id__name { margin: 0; font-size: 22px; font-weight: 800; color: var(--ink-0); line-height: 1.2; word-break: break-word; }
.b-acct-id__handle { margin-top: 4px; font-size: 13px; color: var(--ink-3); }
.b-acct-id__bio { margin: var(--s-2) 0 0; font-size: 14px; color: var(--ink-2); line-height: 1.6; max-width: 60ch; }
/* 徽章药丸（Lv / 实名 / 勋章），对照参考 .badge。 */
.b-acct-badge {
	display: inline-flex; align-items: center; gap: 4px;
	height: 22px; padding: 0 var(--s-3);
	border-radius: var(--r-pill);
	font-size: 12px; font-weight: 600; line-height: 1;
	background: var(--bg-2); color: var(--ink-2); border: 1px solid transparent;
	white-space: nowrap;
}
.b-acct-badge--brand { background: var(--brand-50); color: var(--brand-700); }
.b-acct-badge--ok { background: var(--success-50); color: var(--success-strong); }
.b-acct-badge--soft { background: var(--bg-2); color: var(--ink-2); }
/* Lv 徽章暗色文字对比：--brand-700 暗色仍是深紫(#5b39e6)、压暗色 --brand-50 底 ≈2.23:1 不可读。
   暗色改用随主题变亮的 --brand-400(暗=#a991ff)→≈5.5:1；亮色保持 --brand-700(5.7:1)。修 UI 深审 win05 D-1。 */
[data-theme="dark"] .b-acct-badge--brand { color: var(--brand-400); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .b-acct-badge--brand { color: var(--brand-400); } }
.b-acct-id__badges { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-3); }

/* XP 进度条（对照参考 .bar）。 */
.b-acct-xp { margin-top: var(--s-4); max-width: 460px; }
.b-acct-xp__row { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-3); margin-bottom: 6px; }
.b-acct-xp__lv { font-size: 12px; font-weight: 600; color: var(--ink-2); }
.b-acct-xp__streak { font-size: 12px; font-weight: 700; color: var(--accent-strong); white-space: nowrap; }
.b-acct-xp__track { height: 8px; background: var(--bg-3); border-radius: var(--r-pill); overflow: hidden; }
.b-acct-xp__fill { display: block; height: 100%; border-radius: var(--r-pill); background: linear-gradient(90deg, var(--brand), var(--brand-400)); }

/* 操作按钮（编辑资料 / 签到，对照参考右列；.b-btn 作用域到账户卡，避免与详情页冲突）。 */
.b-acct-actions { flex: none; display: flex; flex-direction: column; gap: var(--s-2); min-width: 132px; margin-left: auto; }
/* 表单不生成盒子 → 内部「签到」钮直接成为 .b-acct-actions 的 flex 子项,与「编辑资料/退出」等宽
   （同 hero 签到表单 .b-hero__checkin-form 的做法）。原 display:flex 包一层会让该项尺寸与直接按钮不一致 → 移动端「签到」被挤窄、文字竖排。 */
.b-acct-actions__form { margin: 0; display: contents; }
.b-acct-actions .b-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	width: 100%; padding: var(--s-3) var(--s-4);
	border: 1px solid transparent; border-radius: var(--r-2);
	font-size: 14px; font-weight: 600; line-height: 1.2; cursor: pointer;
	white-space: nowrap;          /* 「签到/退出」等短标签恒单行,绝不竖向逐字换行 */
	text-decoration: none;
	transition: background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);
}
.b-acct-actions .b-btn--primary { background: var(--btn-primary-bg); color: #fff; }
.b-acct-actions .b-btn--primary:hover { background: var(--btn-primary-bg-h); color: #fff; }
.b-acct-actions .b-btn--outline { background: transparent; border-color: var(--line-strong); color: var(--ink-1); }
.b-acct-actions .b-btn--outline:hover { border-color: var(--brand); color: var(--brand); }
.b-acct-actions .b-btn--ghost { background: var(--bg-2); color: var(--ink-3); }
.b-acct-actions .b-btn[disabled] { opacity: .85; cursor: default; }

/* ============================================================
   个人中心 · 概览（dashboard）单栏堆叠 + tabs + 入口卡
   ============================================================ */

/* 旧 role=tab 切换样式（.b-acct-tabs / .b-acct-tab / .b-acct-tabpanel）已删：账户页改 PJAX
   横排标签（.b-acct-tabnav / .b-acct-tab-link，见 navigation.php + account-tabs.js）。
   下方 .b-acct-tabgrid 仍现役（作品 / 收藏 / 问答 内容栅格）。 */
.b-acct-tabgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--s-5); }
/* 移动端：作品 / 收藏 / 问答 图文卡固定双列。minmax(240) 在窄屏(<480)会塌成单列 = 巨卡（用户反馈），
   与首页作品网格的移动双列一致。「我的关注」用的是 .b-creator-grid（横排创作者卡），不受此影响。 */
@media (max-width: 720px) {
	.b-acct-tabgrid { grid-template-columns: 1fr 1fr; gap: var(--s-3); }
}
/* 〔批BW〕账户列表真实总数行 + 分页导航（作品 / 收藏 / 问答共用·pagination 主样式沿用 .woocommerce-pagination）。 */
.b-acct-myworks__total, .b-acct-favorites__total { margin: 0 0 var(--s-3); font-size: 13px; color: var(--ink-3); }
.b-acct-pagination { margin-top: var(--s-5); }

/* 「下载」并入订单：订单列表下方的「可下载文件」区（分隔线 + 标题 + WC 下载表 / 空态）。 */
.b-acct-downloads { margin-top: var(--s-6); padding-top: var(--s-5); border-top: 1px solid var(--line); }
.b-acct-subhead { margin: 0 0 var(--s-4); font-size: 15px; font-weight: 800; color: var(--ink-0); }
.b-acct-downloads__empty { margin: 0; color: var(--ink-3); font-size: 13px; line-height: 1.6; }

/* 入口卡（对照参考 entryTile = card card-padded card-hover）。 */

/* ============================================================
   个人中心 · 概览玩法主场（dashboard）
   ============================================================ */
.b-hub { display: grid; gap: var(--s-4); }
@media (min-width: 1024px) {
	.b-hub { grid-template-columns: 1fr 1fr; align-items: start; }
	
}
.b-hub-card { background: var(--bg-0); border: 1px solid var(--line); border-radius: var(--r-4); padding: var(--s-5); }
.b-hub-card__head { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); margin-bottom: var(--s-4); }
.b-hub-card__title { margin: 0; font-size: 15px; font-weight: 800; color: var(--ink-0); display: flex; align-items: center; gap: var(--s-2); }

.b-hub-empty { margin: 0; color: var(--ink-3); font-size: 13px; line-height: 1.6; }

/* 签到 */
.b-hub-checkin__streak { font-size: 12.5px; font-weight: 700; color: var(--brand); white-space: nowrap; }
.b-hub-checkin__flash { margin: 0 0 var(--s-3); padding: var(--s-2) var(--s-3); border-radius: var(--r-2); background: var(--bg-2); color: var(--success-strong); font-size: 13px; font-weight: 600; }
.b-hub-week { list-style: none; margin: 0 0 var(--s-4); padding: 0; display: grid; grid-template-columns: repeat(7, 1fr); gap: var(--s-1); }
.b-hub-week__day {
	position: relative;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
	padding: var(--s-2) 0; min-height: 46px;
	border-radius: var(--r-2); background: var(--bg-2);
}
.b-hub-week__n { font-size: 9.5px; line-height: 1.1; color: var(--ink-3); }
.b-hub-week__r { font-size: 11px; font-weight: 700; line-height: 1; color: var(--ink-1); }
.b-hub-week__day--done { background: var(--brand-50); }
.b-hub-week__day--done .b-hub-week__n,
.b-hub-week__day--done .b-hub-week__r { color: var(--brand-600); }
.b-hub-week__day--today { background: var(--brand-solid); box-shadow: var(--sh-2); }
.b-hub-week__day--today .b-hub-week__n,
.b-hub-week__day--today .b-hub-week__r { color: #fff; }
.b-hub-week__day--peak .b-hub-week__r { color: var(--gold); }
.b-hub-week__day--today.b-hub-week__day--peak .b-hub-week__r { color: #fff; }
.b-hub-week__tick { position: absolute; top: 3px; right: 4px; font-size: 8px; color: var(--brand-600); }
.b-hub-week__day--today .b-hub-week__tick { color: #fff; }
.b-hub-checkin__status { margin: 0; font-size: 12.5px; color: var(--ink-3); line-height: 1.5; }
.b-hub-checkin__status.is-done { color: var(--success-strong); font-weight: 600; }

/* 每日任务 */
.b-hub-task-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--s-3); }
.b-hub-task { display: flex; align-items: center; gap: var(--s-3); }
.b-hub-task__icon { flex: none; width: 24px; text-align: center; font-size: 18px; }
.b-hub-task__main { flex: 1; min-width: 0; }
.b-hub-task__row { display: flex; justify-content: space-between; gap: var(--s-2); margin-bottom: 4px; }
.b-hub-task__name { font-size: 13px; font-weight: 600; color: var(--ink-1); }
.b-hub-task__reward { font-size: 12px; font-weight: 700; color: var(--brand); white-space: nowrap; }
.b-hub-task__track { display: block; height: 6px; background: var(--bg-3); border-radius: var(--r-pill); overflow: hidden; }
.b-hub-task__fill { display: block; height: 100%; border-radius: var(--r-pill); background: linear-gradient(90deg, var(--brand), var(--accent)); }
.b-hub-task__state { flex: none; min-width: 30px; text-align: right; font-size: 12px; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.b-hub-task.is-done .b-hub-task__name { color: var(--ink-3); }
.b-hub-task__done { color: var(--success-strong); font-weight: 800; }
.b-hub-tasks__hint { margin: var(--s-4) 0 0; font-size: 11.5px; color: var(--ink-4); }

/* tab 面板：迷你列表（订单 / 问答）+ 空态 + 「更多」链接 */

.b-acct-empty { padding: var(--s-6) var(--s-4); text-align: center; }   /* 批46:账户空态内距 40→24 */
.b-acct-empty p { margin: 0 0 var(--s-4); color: var(--ink-3); font-size: 14px; }
.b-acct-empty__cta { display: inline-flex; align-items: center; padding: var(--s-3) var(--s-5); border-radius: var(--r-2); background: var(--btn-primary-bg); color: #fff; font-size: 13px; font-weight: 600; text-decoration: none; }
.b-acct-empty__cta:hover { background: var(--btn-primary-bg-h); color: #fff; }

/* ============================================================
   个人中心 · 个人资料（edit-account）
   ============================================================ */
.b-acct-profile { max-width: 600px; }
.b-acct-profile__intro { margin: 0 0 var(--s-5); font-size: 14px; line-height: 1.6; color: var(--ink-3); }
.b-profile-avatar { display: flex; align-items: center; gap: var(--s-4); padding: var(--s-4); margin-bottom: var(--s-5); background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--r-3); }
.b-profile-avatar__img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex: none; border: 2px solid var(--bg-0); box-shadow: 0 0 0 1px var(--line); background: var(--bg-0); }
/* 老内核钉高（0.4.747·X112·机制见 components.css .b-avatar 处注释）：与上条 width 同值。 */
.woocommerce .b-profile-avatar__img, .woocommerce-page .b-profile-avatar__img { height: 72px; }
.b-profile-avatar__col { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.b-profile-avatar__label { font-size: 13px; font-weight: 600; color: var(--ink-1); }
.b-profile-avatar__hint { font-size: 11.5px; color: var(--ink-3); }
.b-profile-form .b-field { margin: 0 0 var(--s-5); }
.b-profile-form label { display: block; margin-bottom: var(--s-2); font-size: 13px; font-weight: 500; color: var(--ink-1); }
.b-profile-form .b-field__hint { display: block; margin-top: var(--s-2); font-size: 12px; color: var(--ink-3); line-height: 1.6; }
.b-profile-form input.input-text,
.b-profile-form textarea.input-text {
	width: 100%; border: 1px solid var(--line); background: var(--bg-0); color: var(--ink-1);
	border-radius: var(--r-2); font-size: 14px;
	transition: border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);
}
.b-profile-form input.input-text { height: 40px; padding: 0 var(--s-3); }
.b-profile-form textarea.input-text { min-height: 88px; padding: var(--s-3); resize: vertical; line-height: 1.6; }
.b-profile-form input.input-text:hover,
.b-profile-form textarea.input-text:hover { border-color: var(--line-strong); }
.b-profile-form input.input-text:focus,
.b-profile-form textarea.input-text:focus { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-50); outline: none; }
.b-profile-form .required { color: var(--danger); }
.b-profile-pw { border: 1px solid var(--line); border-radius: var(--r-3); padding: var(--s-4) var(--s-4) var(--s-1); margin: 0 0 var(--s-5); }
.b-profile-pw legend { padding: 0 var(--s-2); font-size: 13px; font-weight: 600; color: var(--ink-1); }
.b-profile-pw .b-field:last-child { margin-bottom: var(--s-4); }
.b-profile-form__actions { display: flex; align-items: center; gap: var(--s-3); margin: 0; }
.b-profile-form__actions .b-button { min-width: 120px; }

/* ============================================================
   个人中心 · 订单 / 下载（WC 原生 shop_table，对照参考 .table 风）
   作用域限定 .woocommerce-MyAccount-content，避免影响购物车/结账表格。
   ============================================================ */
.woocommerce-MyAccount-content table.shop_table {
	width: 100%; border: 1px solid var(--line); border-radius: var(--r-4);
	overflow: hidden; border-collapse: collapse; background: var(--bg-0);
}
.woocommerce-MyAccount-content table.shop_table thead th {
	background: var(--bg-1); color: var(--ink-3); font-size: 12px; font-weight: 500;
	padding: var(--s-3) var(--s-4); border: 0; border-bottom: 1px solid var(--line); text-align: left;
}
.woocommerce-MyAccount-content table.shop_table tbody th,
.woocommerce-MyAccount-content table.shop_table tbody td {
	padding: var(--s-4); border: 0; border-bottom: 1px solid var(--line);
	font-size: 13.5px; color: var(--ink-1); vertical-align: middle; text-align: left; font-weight: 400;
}
.woocommerce-MyAccount-content table.shop_table tbody tr:last-child th,
.woocommerce-MyAccount-content table.shop_table tbody tr:last-child td { border-bottom: 0; }
.woocommerce-MyAccount-content table.shop_table tbody tr { transition: background var(--dur-1) var(--ease); }
.woocommerce-MyAccount-content table.shop_table tbody tr:hover { background: var(--bg-1); }
.woocommerce-MyAccount-content table.shop_table .woocommerce-Price-amount { font-variant-numeric: tabular-nums; }
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number a { color: var(--ink-0); font-weight: 600; }
/* 状态：按订单状态着色（行带 --status-* class）。选择器需压过上面 tbody td 的 ink-1 着色（故带全前缀 + td.）。 */
.woocommerce-MyAccount-content table.shop_table tbody td.woocommerce-orders-table__cell-order-status { font-weight: 600; }
.woocommerce-MyAccount-content table.shop_table tbody .woocommerce-orders-table__row--status-completed  td.woocommerce-orders-table__cell-order-status { color: var(--success-strong); }
.woocommerce-MyAccount-content table.shop_table tbody .woocommerce-orders-table__row--status-processing td.woocommerce-orders-table__cell-order-status { color: var(--brand); }
.woocommerce-MyAccount-content table.shop_table tbody .woocommerce-orders-table__row--status-on-hold    td.woocommerce-orders-table__cell-order-status,
.woocommerce-MyAccount-content table.shop_table tbody .woocommerce-orders-table__row--status-pending    td.woocommerce-orders-table__cell-order-status { color: var(--warning-strong); }
.woocommerce-MyAccount-content table.shop_table tbody .woocommerce-orders-table__row--status-cancelled  td.woocommerce-orders-table__cell-order-status,
.woocommerce-MyAccount-content table.shop_table tbody .woocommerce-orders-table__row--status-failed     td.woocommerce-orders-table__cell-order-status { color: var(--danger-strong); }
.woocommerce-MyAccount-content table.shop_table tbody .woocommerce-orders-table__row--status-refunded   td.woocommerce-orders-table__cell-order-status { color: var(--ink-3); }
/* 操作按钮在表格里缩小一号。 */
.woocommerce-MyAccount-content table.shop_table .woocommerce-button.button {
	min-height: 34px; padding: 0 var(--s-4); font-size: 13px; border-radius: var(--r-2); font-weight: 600;
}
/* 空态（无下载 / 无订单）：把收尾的 WC info 通知做成居中友好空态卡。
   用 :last-child（WC 在内容区前置一个空的 .woocommerce-notices-wrapper，故 info 不是 :only-child）；
   有真实内容时不存在收尾的孤立 info → 自动不命中、保持默认通知样式。 */
.woocommerce-MyAccount-content > .woocommerce-info:last-child {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	text-align: center; gap: var(--s-4); padding: var(--s-6) var(--s-4);   /* 批46:账户info空态内距 40→24 */
	background: var(--bg-1); color: var(--ink-3); border: 1px solid var(--line); border-radius: var(--r-4);
}
.woocommerce-MyAccount-content > .woocommerce-info:last-child::before {
	/* 〔续27〕📭→矢量 inbox：WC 生成的空态通知无法注入标记，故用 mask-image SVG（随 currentColor 着色、线条风格）。 */
	content: ""; width: 32px; height: 32px; display: block; opacity: .85; background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%204m0%202a2%202%200%200%201%202%20-2h12a2%202%200%200%201%202%202v12a2%202%200%200%201%20-2%202h-12a2%202%200%200%201%20-2%20-2z'/%3E%3Cpath%20d='M4%2013h3l3%203h4l3%20-3h3'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%204m0%202a2%202%200%200%201%202%20-2h12a2%202%200%200%201%202%202v12a2%202%200%200%201%20-2%202h-12a2%202%200%200%201%20-2%20-2z'/%3E%3Cpath%20d='M4%2013h3l3%203h4l3%20-3h3'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ============================================================
   换头像弹窗
   ============================================================ */
.b-avatar-modal { position: fixed; inset: 0; z-index: var(--z-modal); display: flex; align-items: center; justify-content: center; padding: var(--s-4); opacity: 0; transition: opacity var(--dur-1) var(--ease); }
.b-avatar-modal.is-open { opacity: 1; }
.b-avatar-modal[hidden] { display: none; }
.b-avatar-modal__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.55); }
.b-avatar-modal__panel {
	position: relative; width: 100%; max-width: 420px;
	background: var(--bg-0); border: 1px solid var(--line); border-radius: var(--r-4);
	box-shadow: var(--sh-3); overflow: hidden;
	transform: translateY(8px); transition: transform var(--dur-1) var(--ease);
}
.b-avatar-modal.is-open .b-avatar-modal__panel { transform: none; }
.b-avatar-modal__head { display: flex; align-items: center; justify-content: space-between; padding: var(--s-4) var(--s-5); border-bottom: 1px solid var(--line); }
.b-avatar-modal__title { margin: 0; font-size: 16px; font-weight: 800; color: var(--ink-0); }
.b-avatar-modal__x { background: none; border: 0; font-size: 24px; line-height: 1; color: var(--ink-3); cursor: pointer; padding: 0 4px; }
.b-avatar-modal__x:hover { color: var(--ink-0); }
.b-avatar-modal__body { display: flex; gap: var(--s-5); align-items: center; padding: var(--s-5); }
.b-avatar-modal__preview { flex: none; }
.b-avatar-modal__preview-img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; display: block; background: var(--bg-2); border: 2px solid var(--bg-0); box-shadow: 0 0 0 1px var(--line); }
/* 老内核钉高（0.4.747·X112·机制见 components.css .b-avatar 处注释）：与上条 width 同值。 */
.woocommerce .b-avatar-modal__preview-img, .woocommerce-page .b-avatar-modal__preview-img { height: 120px; }
.b-avatar-modal__controls { flex: 1; min-width: 0; }
.b-avatar-modal__hint { margin: var(--s-3) 0 0; font-size: 11.5px; color: var(--ink-3); }
.b-avatar-modal__msg { margin: var(--s-3) 0 0; font-size: 12.5px; min-height: 1.2em; }
.b-avatar-modal__msg.is-err { color: var(--danger-strong); }
.b-avatar-modal__msg.is-ok { color: var(--success-strong); }
.b-avatar-modal__foot { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); padding: var(--s-4) var(--s-5); border-top: 1px solid var(--line); }
.b-avatar-modal__foot-main { display: flex; gap: var(--s-2); }
@media (max-width: 479px) {
	.b-avatar-modal__body { flex-direction: column; text-align: center; }
	.b-avatar-modal__foot { flex-direction: column-reverse; align-items: stretch; }
	.b-avatar-modal__foot-main { display: flex; }
	.b-avatar-modal__foot-main .b-button { flex: 1; }
}

/* ---------- 勋章墙 ---------- */
.b-badge-wall__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: var(--s-5); }
.b-badge-wall__title { font-size: 20px; font-weight: 800; color: var(--ink-0); margin: 0; }
.b-badge-wall__count {
	font-size: 13px; font-weight: 700; color: var(--brand);
	background: var(--brand-50); padding: var(--s-1) var(--s-3); border-radius: var(--r-pill);
}
.b-badge-wall__group { margin-bottom: var(--s-6); }
.b-badge-wall__group-title { font-size: 14px; color: var(--ink-2); margin: 0 0 var(--s-3); font-weight: 700; }
.b-badge-grid {
	list-style: none; margin: 0; padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: var(--s-3);
}
.b-badge-item {
	position: relative;
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--s-1);
	padding: var(--s-5) var(--s-3);
	background: var(--bg-0);
	border: 1px solid var(--line);
	border-radius: var(--r-3);
}
/* 〔美化 2026-07-04·站长选 B 暖金奖章〕已获得=暖米金卡（配金圆），未获得=灰卡（下方 is-locked）——获得/未获得对比更清晰、不与金圆撞色（原 brand-50 淡紫）。 */
.b-badge-item.is-earned { border-color: #e5d29a; background: #f8f1e0; }
[data-theme="dark"] .b-badge-item.is-earned { border-color: rgba(201, 154, 63, .4); background: rgba(201, 154, 63, .12); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .b-badge-item.is-earned { border-color: rgba(201, 154, 63, .4); background: rgba(201, 154, 63, .12); } }
.b-badge-item.is-locked { background: var(--bg-1); }   /* 锁定态：recessed 背景 + 灰图标，不对整卡降透明（避免把 ink-3 描述在暗色下压到 AA 以下，badge-2） */
.b-badge-item.is-locked .b-badge-item__icon { filter: grayscale(1); opacity: 0.5; }
.b-badge-item__icon { font-size: 30px; line-height: 1; }
.b-badge-item__name { font-size: 13.5px; font-weight: 700; color: var(--ink-0); }
.b-badge-item__desc { font-size: 11.5px; color: var(--ink-3); line-height: 1.4; }
.b-badge-item__tick {
	position: absolute; top: var(--s-2); right: var(--s-2);
	width: 18px; height: 18px; border-radius: 50%;
	background: var(--success); color: #fff;
	display: flex; align-items: center; justify-content: center;
	font-size: 11px; font-weight: 700;
}

@media (max-width: 900px) {
	/* 入口卡收窄到 2 列。 */
	
}
@media (max-width: 720px) {
	.woocommerce-account .woocommerce { grid-template-columns: 1fr; gap: var(--s-4); }
	/* 标签行：手机上排成 4×2 两排（8 个全显示、不用横滑）；保持「图标+文字横排」的 pill 样式
	   （与电脑端一致，不做图标在上的大格子）—— 每个 pill 填满所在格、内容居中。 */
	.b-acct-tabnav { padding: var(--s-2); margin-bottom: var(--s-4); }
	.b-acct-tabnav__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s-1); }
	.b-acct-tabnav__item { margin: 0; display: flex; }
	.b-acct-tab-link { flex: 1; justify-content: center; gap: 4px; padding: var(--s-3) 4px; font-size: 12px; }
	.b-acct-tab-link__icon { font-size: 14px; }
	/* 资料卡：移动端瘦身（间距收紧、操作钮转横排）。 */
	.b-acct-card { margin: 0; padding: var(--s-4); gap: var(--s-3) var(--s-4); }
	.b-acct-actions { width: 100%; flex-direction: row; min-width: 0; margin-left: 0; }
	/* 三钮等分一行：编辑资料 / 签到 / 退出。表单 display:contents(见上)后,签到钮也是直接 flex 子项 → 同样 flex:1。 */
	.b-acct-actions .b-btn { flex: 1; min-width: 0; }
	/* 玩法（签到+任务）：移动端扁平化——去掉卡内嵌套卡的边框/底色/大边距（在资料卡内重复、徒增高度），
	   用细线分隔签到与任务 + 整体收紧，明显压低资料卡总高（移动端原 ~893px 过臃肿）。 */
	.b-acct-card .b-hub { gap: 0; }
	.b-acct-card .b-hub-card { padding: var(--s-3) 0; border: 0; background: transparent; }
	.b-acct-card .b-hub-tasks { border-top: 1px solid var(--line); }
	.b-acct-card .b-hub-card__head { margin-bottom: var(--s-2); }
	.b-acct-card .b-hub-week { margin-bottom: var(--s-2); gap: 3px; }
	.b-acct-card .b-hub-task-list { gap: var(--s-2); }
	.b-acct-card .b-hub-stats { padding-top: var(--s-2); }
	.b-acct-card .b-hub-tasks__hint { margin-top: var(--s-2); }
}
@media (max-width: 560px) {
	.b-acct-id__name { font-size: 19px; }
}

/* ============================================================
   购物车 / 结账（WooCommerce 区块 Cart & Checkout Blocks）

   WC 10.8 默认用区块（客户端渲染）。⚠️ 这些 .wc-block-* / .is-large 是 WC **内部实现类、非公开稳定 API**
   （WC 官方明示可随版本变化，本主题正因 WC 10.8 改容器查询、.is-large 被弃用而踩过坑，见下方两栏锁注释）。
   故为「已测版本耦合」：升级 WC 后需重摸这些选择器。这里全量令牌化覆盖其默认样式，对照首页风格、
   PC 两栏（主区 + 摘要侧栏）、移动堆叠、不做大卡片。
   外层已由 woocommerce.php 套 .b-container；enqueue 见 inc/enqueue.php(is_cart/is_checkout)。
   ============================================================ */

/* 宽度交给 .b-container，去掉区块 alignwide 的额外外扩 */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

/* 两栏布局容器（WC 默认 flex；统一间距与顶对齐） */
.wc-block-components-sidebar-layout {
	gap: var(--s-7);
	align-items: flex-start;
}

/* 桌面两栏（≥900）：商品左、总计右。
   WC 10.0+ 购物车区块改用 CSS 容器查询（容器 container-type:inline-size）布局，不再用 JS 加的
   legacy 类 .is-large（见 WC 10.0 开发者通告 + woocommerce#60714「容器查询破坏主题 flex 布局」）。
   故按视口宽度直接锁两栏、不再依赖 .is-large（否则规则恒不命中 → 总计堆到下方 = 用户原始投诉）。
   <900 见下方断点强制堆叠（避免 700-899 两栏把商品压到 ~340px 太窄）。 */
@media (min-width: 900px) {
	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
		flex-wrap: nowrap;
		gap: var(--s-6);
	}
	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart__main {
		width: auto;
		flex: 1 1 0%;
	}
	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart__sidebar {
		width: auto;
		flex: 0 0 340px;
	}
	/* 结账两栏锁定，与购物车对称（L-3：不依赖 WC 容器查询 / 已弃用的 .is-large）：表单左、订单总计右。 */
	.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
		flex-wrap: nowrap;
		gap: var(--s-6);
	}
	.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__main {
		width: auto;
		flex: 1 1 0%;
	}
	.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__sidebar {
		width: auto;
		flex: 0 0 340px;
	}
}

/* ---------- 主区（商品行 / 表单） ---------- */
.wc-block-cart__main,
.wc-block-checkout__main {
	min-width: 0;
}

/* 购物车商品表头：弱化为小标签 */
.wc-block-cart-items__header {
	border-bottom: 1px solid var(--line-strong);
	color: var(--ink-3);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: none;
}

/* 每个商品行 */
.wc-block-cart-items__row {
	border-bottom: 1px solid var(--line);
	padding: var(--s-4) 0;
}
.wc-block-cart-item__image img {
	border-radius: var(--r-3);
	border: 1px solid var(--line);
	background: var(--bg-2);
}
.wc-block-components-product-name {
	color: var(--ink-0);
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
}
.wc-block-components-product-name:hover {
	color: var(--brand);
}
.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description,
.wc-block-components-product-details__vendor {
	color: var(--ink-3);
	font-size: 12.5px;
}
.wc-block-components-product-details__vendor { font-weight: 600; }
/* 续8 打磨 2（插件内部 DOM 耦合：WC 区块购物车，测试版本 WC 10.8.1；升级 WC 复测）：
   ① 行内「短描述」隐藏 —— 与「创作者: X」行内容重复（种子短描述=「X 的精选作品」）、
      且对照主流购物车（淘宝/京东）行内不放简介；
   ② 标题下「单价」隐藏 —— 数字商品恒 qty=1（sold_individually），与右侧小计重复双显。 */
.wc-block-cart-items__row .wc-block-components-product-metadata__description { display: none; }
/* (0,4,2)：WC blocks cart.css 用 table.wc-block-cart-items .wc-block-cart-items__row
   .wc-block-cart-item__prices{display:flex}（0,3,1）→ 级联实测后按规格反超（同 0.4.333 Dokan 教训）。 */
table.wc-block-cart-items tr.wc-block-cart-items__row .wc-block-cart-item__wrap .wc-block-cart-item__prices { display: none; }

/* 数量步进器 */
.wc-block-components-quantity-selector {
	border: 1px solid var(--line-strong);
	border-radius: var(--r-2);
	background: var(--bg-0);
	overflow: hidden;
}
.wc-block-components-quantity-selector__input {
	color: var(--ink-0);
	background: transparent;
}
.wc-block-components-quantity-selector__button {
	color: var(--ink-2);
	transition: color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);
}
.wc-block-components-quantity-selector__button:hover {
	color: var(--brand);
	background: var(--brand-50);
}

/* 移除链接 */
.wc-block-cart-item__remove-link {
	color: var(--ink-3);
	font-size: 12.5px;
}
.wc-block-cart-item__remove-link:hover {
	color: var(--danger);
}

/* 行金额 */
.wc-block-cart-item__total .wc-block-components-product-price__value,
.wc-block-components-order-summary-item__total-price .wc-block-components-product-price__value {
	color: var(--ink-0);
	font-weight: 700;
}

/* ---------- 摘要侧栏（卡片 + 桌面吸顶） ---------- */
.wc-block-components-sidebar {
	background: var(--bg-0);
	border: 1px solid var(--line);
	border-radius: var(--r-4);
	box-shadow: var(--sh-1);
	padding: var(--s-5);
}
.wc-block-cart__totals-title,
.wc-block-components-checkout-order-summary__title-text {
	color: var(--ink-2);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

/* 小计 / 合计行 */
.wc-block-components-totals-item {
	color: var(--ink-2);
	font-size: 14px;
}
.wc-block-components-totals-item__label { color: var(--ink-2); }
.wc-block-components-totals-item__value { color: var(--ink-1); font-weight: 600; }
.wc-block-components-totals-wrapper {
	border-top-color: var(--line);
}
.wc-block-components-totals-footer-item {
	color: var(--ink-0);
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--brand);
	font-weight: 800;
	font-size: 20px;
}

/* 优惠券 */
.wc-block-components-totals-coupon__form .wc-block-components-text-input input {
	background: var(--bg-1);
}

/* ---------- 结账：步骤 + 表单 ---------- */
.wc-block-components-checkout-step {
	border: 0;
	padding-bottom: var(--s-6);
}
.wc-block-components-checkout-step__title {
	color: var(--ink-0);
	font-size: 17px;
	font-weight: 800;
}
.wc-block-components-checkout-step__heading-content { color: var(--ink-3); }

/* 文本输入 / 下拉 */
.wc-block-components-text-input input,
.wc-block-components-text-input .components-form-token-field__input,
.wc-block-checkout select,
.wc-block-components-select .components-custom-select-control__button {
	border-radius: var(--r-3) !important;
	border: 1px solid var(--line-strong);
	background: var(--bg-0);
	color: var(--ink-0);
}
.wc-block-components-text-input label,
.wc-block-components-checkout-step__description {
	color: var(--ink-3);
}
.wc-block-components-text-input.is-active label {
	color: var(--brand);
}

/* 复选框（账单同收货 / 条款 / 退款须知等） */
.wc-block-components-checkbox__input:checked {
	background: var(--brand-solid);
	border-color: var(--brand);
}
.wc-block-components-checkbox__label {
	color: var(--ink-1);
	font-size: 13.5px;
}

/* 结账订单摘要项 */
.wc-block-components-order-summary-item__image img {
	border-radius: var(--r-2);
	border: 1px solid var(--line);
}
.wc-block-components-order-summary-item__description .wc-block-components-product-name {
	font-size: 14px;
}

/* ---------- 按钮（去结账 / 下单 / 应用优惠券） ---------- */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-button.contained {
	background: linear-gradient(135deg, var(--brand), var(--brand-600));
	color: #fff;
	border: 0;
	border-radius: var(--r-3);
	min-height: 48px;
	font-weight: 700;
	box-shadow: var(--sh-1);
	transition: filter var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-button.contained:hover {
	filter: brightness(1.06);
	transform: translateY(-1px);
}
.wc-block-components-button.contained .wc-block-components-button__text {
	color: #fff;
}

/* ---------- 数字商品退款须知（合规·告知）：克制淡文字（无图标 / 无色块、同 AI 标识那样的淡灰），
   仍清晰可读 + 结账页顶部＝显著告知；勿淡到 --ink-3/4。 ---------- */
.b-refund-notice {
	margin: var(--s-5) 0 0;
}
.b-refund-notice__body { display: flex; flex-direction: column; gap: 2px; }
.b-refund-notice__title { font-size: 13px; font-weight: 700; color: var(--ink-2); }
.b-refund-notice__text { font-size: 12.5px; color: var(--ink-2); line-height: 1.6; }

/* ---------- 平板及以下（<900）：购物车两栏堆叠为单列 ----------
   WC 容器查询在 700-899px 容器仍可能并排、会把商品区压到 ~340px（太窄），
   故 <900 显式强制堆叠：商品全宽在上、总计全宽在下。 */
@media (max-width: 899px) {
	/* flex-direction:column 直接锁竖向堆叠，压过 WC 容器查询给子项设的 flex-basis（=总计 340px 两栏），
	   比拼 flex-basis 更稳（避免被 WC `@container(min-width:700px)` 的子项规则反超）。 */
	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
		flex-direction: column;
		flex-wrap: nowrap;
		gap: var(--s-5);
	}
	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart__main,
	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart__sidebar {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
	}
	/* 结账 <900 同样强制堆叠（与购物车对称，L-3）。 */
	.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
		flex-direction: column;
		flex-wrap: nowrap;
		gap: var(--s-5);
	}
	.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__main,
	.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__sidebar {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
	}
}

/* ---------- 空购物车（中文标题 + 引导 + 浏览全部作品按钮；去掉了 WC 默认英文推荐网格） ---------- */
.wp-block-woocommerce-empty-cart-block {
	text-align: center;
	padding: var(--s-6) 0 var(--s-8);
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block h2 {
	color: var(--ink-0);
	font-size: 20px;
	font-weight: 800;
	margin: var(--s-4) 0 var(--s-2);
}
.wp-block-woocommerce-empty-cart-block p {
	color: var(--ink-3);
	font-size: 14px;
	line-height: 1.6;
	margin: 0 0 var(--s-5);
}
.wp-block-woocommerce-empty-cart-block .wp-block-button { margin: 0; }
.wp-block-woocommerce-empty-cart-block .wp-block-button__link {
	display: inline-block;
	background: linear-gradient(135deg, var(--brand), var(--brand-600));
	color: #fff;
	border: 0;
	border-radius: var(--r-3);
	padding: 0 var(--s-7);
	min-height: 48px;
	line-height: 48px;
	font-weight: 700;
	font-size: 15px;
	box-shadow: var(--sh-1);
	transition: filter var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);
}
.wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover {
	filter: brightness(1.06);
	transform: translateY(-1px);
	color: #fff;
}

/* WC 区块对部分排版/尺寸属性的默认特异性更高，这里用区块外层类提级覆盖 */
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title { font-weight: 800; }
.wp-block-woocommerce-cart .wc-block-components-product-name,
.wp-block-woocommerce-checkout .wc-block-components-product-name { font-weight: 700; }
/* 下单/去结账按钮触控高度：WC 同特异性规则在后加载，用 !important 锁定 48px 触控目标 */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button { min-height: 48px !important; }

/* 输入框随主题（含暗色）：WC 区块默认白底 + 自带聚焦样式特异性高、后加载，
   故用区块外层类提级 + !important 统一为主题令牌（暗色下与首页搜索框一致）。 */
.wp-block-woocommerce-cart .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-checkout select {
	background: var(--bg-0) !important;
	color: var(--ink-0) !important;
}
.wp-block-woocommerce-cart .wc-block-components-text-input input::placeholder,
.wp-block-woocommerce-checkout .wc-block-components-text-input input::placeholder {
	color: var(--ink-4) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input label {
	color: var(--ink-3) !important;
}

/* ============================================================
   经典版结账（page #7 = [woocommerce_checkout]，数字商品仅邮箱、无地址）

   结账区块无法可靠删字段（官方仅给按国家 locale 隐藏的「不推荐」hack），故结账改经典版 +
   `woocommerce_checkout_fields` 过滤器把账单砍到只剩邮箱（见 inc/woocommerce.php）。
   布局：两栏居中（联系信息左 + 订单摘要 340px 卡右，对齐购物车区块的右侧栏风格）；≤768 堆叠。
   ============================================================ */

/* 单列居中：联系信息 → 您的订单。数字结账只需邮箱 + 订单摘要，居中聚焦、不做空旷两栏；
   登录用户的邮箱默认即登录邮箱、已自动带出，更不该占一整列。退款须知与表单同宽。 */
.woocommerce-checkout form.checkout,
body.woocommerce-checkout .b-page-content > .woocommerce,
body.woocommerce-checkout .b-section__head,
body.woocommerce-checkout .b-refund-notice {
	max-width: 580px;
	margin-left: auto;
	margin-right: auto;
}
.woocommerce-checkout #customer_details { margin-bottom: var(--s-5); }
/* 退款须知与下方联系信息卡之间留间距（原优惠券折叠条已永久关闭、不再充当分隔） */
body.woocommerce-checkout .b-refund-notice { margin-bottom: var(--s-5); }

/* 标题（联系信息 / 您的订单） */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading {
	font-size: 17px;
	font-weight: 800;
	color: var(--ink-0);
	margin: 0 0 var(--s-4);
}
.woocommerce-checkout #order_review_heading { margin-top: 0; }

/* email-only → 内部 col-1 占满、col-2（空）不占位 */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	float: none;
	width: 100%;
	max-width: none;
	padding: 0;
}

/* 联系信息卡（左） */
.woocommerce-checkout .woocommerce-billing-fields {
	background: var(--bg-0);
	border: 1px solid var(--line);
	border-radius: var(--r-4);
	box-shadow: var(--sh-1);
	padding: var(--s-5);
}
.woocommerce-checkout .woocommerce-billing-fields .form-row { margin: 0; padding: 0; }
.woocommerce-checkout .woocommerce-billing-fields label {
	display: block;
	color: var(--ink-2);
	font-weight: 600;
	font-size: 13.5px;
	margin-bottom: var(--s-2);
}
.woocommerce-checkout .woocommerce-billing-fields label .required {
	color: var(--danger);
	border: 0;
	text-decoration: none;
}
.woocommerce-checkout #customer_details .input-text {
	width: 100%;
	min-height: 48px;
	padding: 0 var(--s-3);
	border: 1px solid var(--line-strong);
	border-radius: var(--r-3);
	background: var(--bg-0);
	color: var(--ink-0);
	font-size: 16px;
}
.woocommerce-checkout #customer_details .input-text::placeholder { color: var(--ink-4); }
.woocommerce-checkout #customer_details .input-text:focus {
	border-color: var(--brand);
	outline: 3px solid var(--brand-50);
	outline-offset: 0;
}
/* 校验态：仅输入框变色，标签保持中性（覆盖 WC 默认把整个 label 染红 #a00 的刺眼效果） */
.woocommerce-checkout #customer_details .woocommerce-invalid label { color: var(--ink-2); }
.woocommerce-checkout #customer_details .woocommerce-invalid .input-text { border-color: var(--danger); }
.woocommerce-checkout #customer_details .woocommerce-validated .input-text { border-color: var(--success); }
.woocommerce-checkout .b-checkout-hint {
	margin: var(--s-3) 0 0;
	color: var(--ink-3);
	font-size: 12.5px;
	line-height: 1.55;
}

/* 订单摘要卡（右）= 对齐购物车右侧栏 */
.woocommerce-checkout #order_review {
	background: var(--bg-0);
	border: 1px solid var(--line);
	border-radius: var(--r-4);
	box-shadow: var(--sh-1);
	padding: var(--s-5);
}
.woocommerce-checkout #order_review .shop_table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 var(--s-4);
	background: transparent;
	border: 0;
}
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td {
	padding: var(--s-3) 0;
	border: 0;
	border-bottom: 1px solid var(--line);
	font-size: 14px;
	color: var(--ink-1);
	text-align: left;
	vertical-align: top;
}
.woocommerce-checkout #order_review .shop_table thead th {
	color: var(--ink-3);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: none;
}
.woocommerce-checkout #order_review .shop_table .product-total,
.woocommerce-checkout #order_review .shop_table th.product-total,
.woocommerce-checkout #order_review .shop_table td.product-total {
	text-align: right;
	white-space: nowrap;
}
.woocommerce-checkout #order_review .cart_item td.product-name { color: var(--ink-0); font-weight: 600; }
.woocommerce-checkout #order_review .cart_item td.product-total .amount { color: var(--ink-0); font-weight: 700; }
.woocommerce-checkout #order_review .cart-subtotal th,
.woocommerce-checkout #order_review .cart-subtotal td { color: var(--ink-2); font-weight: 500; }
.woocommerce-checkout #order_review .order-total th {
	border-bottom: 0;
	color: var(--ink-0);
	font-weight: 800;
	padding-top: var(--s-4);
}
.woocommerce-checkout #order_review .order-total td {
	border-bottom: 0;
	padding-top: var(--s-4);
	text-align: right;
}
.woocommerce-checkout #order_review .order-total .woocommerce-Price-amount {
	color: var(--brand);
	font-weight: 800;
	font-size: 20px;
}

/* 付款区 + 下单按钮 */
.woocommerce-checkout #payment {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
}
.woocommerce-checkout #payment .payment_methods {
	margin: 0 0 var(--s-3);
	padding: 0;
	border: 0;
	list-style: none;
}
/* 网关说明盒（「演示下单」描述）：WC 默认浅灰底深字写死 → 暗色下整块刺眼亮斑（续7 UI 重审）→ 令牌化。 */
.woocommerce-checkout #payment div.payment_box {
	background: var(--bg-2);
	color: var(--ink-1);
}
.woocommerce-checkout #payment div.payment_box::before { border: 1em solid var(--bg-2); border-right-color: transparent; border-left-color: transparent; border-top-color: transparent; }
.woocommerce-checkout #payment div.payment_box p { color: var(--ink-1); }
.woocommerce-checkout #payment .place-order { padding: var(--s-4) 0 0; margin: 0; }
.woocommerce-checkout #place_order {
	width: 100%;
	min-height: 48px;
	background: linear-gradient(135deg, var(--brand), var(--brand-600));
	color: #fff;
	border: 0;
	border-radius: var(--r-3);
	font-weight: 700;
	font-size: 15px;
	box-shadow: var(--sh-1);
	cursor: pointer;
	transition: filter var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);
}
.woocommerce-checkout #place_order:hover { filter: brightness(1.06); transform: translateY(-1px); }

/* 隐私声明 + 同意条款（订单摘要卡内、下单按钮上方） */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	margin-top: var(--s-4);
	padding-top: var(--s-4);
	border-top: 1px solid var(--line);
}
.woocommerce-checkout .woocommerce-privacy-policy-text {
	margin: 0 0 var(--s-3);
	color: var(--ink-3);
	font-size: 12px;
	line-height: 1.55;
}
.woocommerce-checkout .woocommerce-privacy-policy-text a { color: var(--brand); }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row { margin: 0; padding: 0; }
.woocommerce-checkout #order_review .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: var(--s-2);
	margin: 0;
	color: var(--ink-1);
	font-size: 13px;
	line-height: 1.5;
	cursor: pointer;
}
.woocommerce-checkout .woocommerce-form__label-for-checkbox .input-checkbox {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin: 1px 0 0;
	accent-color: var(--brand);
}
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text a { color: var(--brand); font-weight: 600; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .required { color: var(--danger); border: 0; }

/* WC 通知（无可用付款方式 / 优惠券提示等）令牌化 */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-error {
	background: var(--bg-1);
	border: 1px solid var(--line);
	border-left: 3px solid var(--brand);
	border-radius: var(--r-3);
	color: var(--ink-1);
	font-size: 13.5px;
	padding: var(--s-3) var(--s-4);
	margin: 0 0 var(--s-4);
	list-style: none;
}
.woocommerce-checkout .woocommerce-info a,
.woocommerce-checkout .woocommerce-message a { color: var(--brand); font-weight: 600; }
.woocommerce-checkout .woocommerce-error { border-left-color: var(--danger); }
/* WC 通知用图标字体定位在左、我们改用左紫边作指示并重置了 padding → 关掉图标避免压字 */
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-error::before { content: none; }

/* ---------- 订单完成页（order-received / 谢谢页）：与结算/购物车卡片同观感 ---------- */
.woocommerce-order-received .woocommerce-notice--success {
	background: var(--success-50); border: 1px solid var(--success);
	border-radius: var(--r-3); color: var(--success-strong);
	font-size: 15px; font-weight: 600; padding: var(--s-4); margin: 0 0 var(--s-5);
}
.woocommerce-order-received .woocommerce-order-overview {
	list-style: none; margin: 0 0 var(--s-5); padding: var(--s-2) var(--s-5);
	background: var(--bg-0); border: 1px solid var(--line);
	border-radius: var(--r-4); box-shadow: var(--sh-1);
}
.woocommerce-order-received .woocommerce-order-overview li {
	display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-4);
	margin: 0; padding: var(--s-3) 0; border: 0; border-bottom: 1px solid var(--line);
	color: var(--ink-3); font-size: 13px; text-transform: none; float: none; width: auto;
}
.woocommerce-order-received .woocommerce-order-overview li:last-child { border-bottom: 0; }
.woocommerce-order-received .woocommerce-order-overview li strong {
	color: var(--ink-0); font-size: 14px; font-weight: 700; text-align: right; word-break: break-word;
}
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title,
.woocommerce-order-received .woocommerce-customer-details > h2 {
	font-size: 17px; font-weight: 800; color: var(--ink-0); margin: var(--s-6) 0 var(--s-4);
}
.woocommerce-order-received .woocommerce-table--order-details {
	width: 100%; border-collapse: collapse; margin: 0 0 var(--s-4);
}
.woocommerce-order-received .woocommerce-table--order-details th,
.woocommerce-order-received .woocommerce-table--order-details td {
	padding: var(--s-3) 0; border: 0; border-bottom: 1px solid var(--line);
	font-size: 14px; color: var(--ink-1); text-align: left; vertical-align: top;
}
.woocommerce-order-received .woocommerce-table--order-details tfoot th { color: var(--ink-2); font-weight: 700; }
.woocommerce-order-received .woocommerce-table--order-details tfoot .amount { color: var(--ink-0); font-weight: 800; }
.woocommerce-order-received .woocommerce-customer-details address {
	font-style: normal; color: var(--ink-1); font-size: 14px; line-height: 1.7;
	background: var(--bg-1); border: 1px solid var(--line); border-radius: var(--r-3);
	padding: var(--s-4); margin: 0;
}
/* Dokan「子订单」表列多、窄屏会撑破页面 → 移动端令其自身横向滚动（页面不溢出） */
@media (max-width: 600px) {
	.woocommerce-order-received .shop_table.my_account_orders { display: block; overflow-x: auto; overscroll-behavior: contain; }
}

/* 内容举报入口/模态样式已迁至 components.css（全站加载；问答单页等也用，避免锁单页 CSS 致裸样式 = 404同类）。
   作品详情页举报入口的版位见上方 .b-detail__report（卡片右上角、绝对定位）。 */

/* ============================================================
   收款账户（创作者绑定微信 / 支付宝商户号）—— 账户端点
   ============================================================ */
.b-payout__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-3); margin-bottom: var(--s-4); }
.b-payout__title { font-size: 20px; font-weight: 800; color: var(--ink-0); margin: 0; }
.b-payout__status { font-size: 12.5px; font-weight: 700; padding: var(--s-1) var(--s-3); border-radius: var(--r-pill); white-space: nowrap; }
.b-payout__status--bound { color: var(--success-strong); background: var(--success-50); }
.b-payout__status--none { color: var(--ink-3); background: var(--bg-2); }
.b-payout__status--pending { color: var(--warning-strong); background: var(--warning-50); }
.b-payout__status--rejected { color: var(--danger-strong); background: var(--danger-50); }

/* ---------- 收款设置：收付通状态壳「事实表」 ---------- */

/* ---------- 实名认证（复用 .b-payout__head / .b-field / .b-payout-form） ---------- */
.b-verify-summary { display: flex; flex-direction: column; gap: var(--s-2); margin: 0 0 var(--s-5); padding: var(--s-4); background: var(--bg-2); border-radius: var(--r-3); }
.b-verify-summary__row { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-3); font-size: 14px; }
.b-verify-summary__row span { color: var(--ink-3); }
.b-verify-summary__row strong { color: var(--ink-0); font-weight: 700; font-variant-numeric: tabular-nums; }
.b-verify-msg { display: flex; gap: var(--s-2); align-items: flex-start; margin: 0 0 var(--s-5); padding: var(--s-3) var(--s-4); border-radius: var(--r-3); font-size: 13.5px; line-height: 1.6; }
.b-verify-msg--ok { background: var(--success-50); color: var(--success-strong); }
.b-verify-msg--pending { background: var(--warning-50); color: var(--warning-strong); }
.b-verify-msg--err { background: var(--danger-50); color: var(--danger-strong); }
.b-verify-consent { display: flex; gap: var(--s-2); align-items: flex-start; margin-bottom: var(--s-2); font-size: 13px; color: var(--ink-2); line-height: 1.6; cursor: pointer; }

/* ============================================================
   我的关注：创作者卡网格（account following 端点）
   关注 = 创作者(人)；§0：UI 不露「粉丝」。全令牌、明暗自动翻。
   ============================================================ */
.b-creator-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--s-4);
}
.b-creator-card {
	display: flex;
	flex-direction: column;
	gap: var(--s-3);
	padding: var(--s-4);
	background: var(--bg-0);
	border: 1px solid var(--line);
	border-radius: var(--r-3);
	transition: border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);
}
.b-creator-card:hover { border-color: var(--line-strong); box-shadow: var(--sh-2); }
.b-creator-card__main { display: flex; align-items: center; gap: var(--s-3); text-decoration: none; min-width: 0; }
.b-creator-card__avatar { width: 56px; height: 56px; border-radius: var(--r-pill); flex-shrink: 0; background: var(--bg-2); object-fit: cover; }
/* 老内核钉高（0.4.747·X112·机制见 components.css .b-avatar 处注释）：与上条 width 同值。 */
.woocommerce .b-creator-card__avatar, .woocommerce-page .b-creator-card__avatar { height: 56px; }
.b-creator-card__info { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.b-creator-card__name { font-size: 15px; font-weight: 600; color: var(--ink-0); display: inline-flex; align-items: center; gap: 4px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.b-creator-card__verified { color: var(--success-strong); font-size: 12px; flex-shrink: 0; }
.b-creator-card__meta { display: inline-flex; align-items: center; gap: var(--s-2); font-size: 12.5px; color: var(--ink-3); }
.b-creator-card__lv { color: var(--brand); background: var(--brand-50); padding: 0 6px; border-radius: var(--r-pill); font-weight: 600; }
.b-creator-card__acts { display: flex; gap: var(--s-2); }
.b-creator-card__shop {
	flex: 1 1 0;
	display: inline-flex; align-items: center; justify-content: center;
	height: 32px; padding: 0 var(--s-3);
	border: 1px solid var(--line-strong); border-radius: var(--r-2);
	background: transparent; color: var(--ink-1);
	font-size: 13px; font-weight: 500; text-decoration: none;
	transition: border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);
}
.b-creator-card__shop:hover { border-color: var(--brand); color: var(--brand); }
.b-following__empty { text-align: center; padding: var(--s-6) var(--s-4); }   /* 批46:关注空态内距 48→24 */
.b-following__empty-icon { font-size: 2.4rem; display: block; margin-bottom: var(--s-3); opacity: .7; }
.b-following__empty-text { color: var(--ink-3); margin: 0 auto var(--s-5); max-width: 360px; line-height: 1.7; }
@media (max-width: 560px) {
	.b-creator-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   逛创作者：发现页（page-store-listing.php）
   创作者目录网格 + card-creator 富版（粉丝 / 擅长领域 / 一句话定位）。
   创作者卡非作品卡，DESIGN-LOCKED §12 不约束其列数 → 3/2/1 自定。全令牌、明暗自动翻。
   ============================================================ */
.b-creators-page .b-section__head { flex-wrap: wrap; gap: var(--s-3); align-items: flex-end; }
.b-creators-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--s-4);
}
@media (max-width: 1024px) { .b-creators-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px)  { .b-creators-grid { grid-template-columns: 1fr; } }

/* 富版创作者卡的额外信息块（基础 .b-creator-card* 见上「我的关注」区，此处只加富版增量）。 */
.b-creator-card__sub { display: flex; flex-direction: column; gap: var(--s-2); }
.b-creator-card__expertise {
	align-self: flex-start;
	display: inline-flex; align-items: center; gap: 4px;
	max-width: 100%;
	padding: 2px var(--s-2);
	background: var(--bg-2);
	border-radius: var(--r-pill);
	font-size: 12px; color: var(--ink-2);
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.b-creator-card__tagline {
	margin: 0;
	font-size: 13px; color: var(--ink-2); line-height: 1.6;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
	overflow: hidden;
}

.b-verify-consent input[type="checkbox"] { margin-top: 3px; accent-color: var(--brand); flex: 0 0 auto; }
.b-payout__intro { font-size: 14px; color: var(--ink-2); line-height: 1.7; margin: 0 0 var(--s-6); }

.b-payout-form { display: flex; flex-direction: column; gap: var(--s-5); margin: 0 0 var(--s-6); }
.b-field { display: flex; flex-direction: column; gap: var(--s-2); }
.b-field__label { font-size: 13.5px; font-weight: 700; color: var(--ink-1); }
.b-field__input {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--line-strong);
	border-radius: var(--r-3);
	background: var(--bg-0);
	color: var(--ink-0);
	font: inherit;
	font-size: 15px;
	transition: border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);
}
.b-field__input::placeholder { color: var(--ink-4); }
.b-field__input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-50); outline: none; }
.b-field__hint { font-size: 12.5px; color: var(--ink-3); line-height: 1.6; }

.b-payout-form__actions { display: flex; }
.b-payout-form__actions .b-button { min-width: 160px; }

/* ============================================================
   售后纠纷：入口 + 模态框（作品详情页 / 订单详情页）
   ============================================================ */
/* 作品详情页低调入口（纯文字按钮）；订单页入口为 .b-button 形态，故用 :not(.b-button) 排除 */
.b-dispute-trigger:not(.b-button) {
	display: inline-flex; align-items: center; gap: 6px;
	margin-top: var(--s-3);
	padding: 0; border: 0; background: none;
	color: var(--ink-3); font-size: 12.5px; cursor: pointer;
	transition: color var(--dur-1) var(--ease);
}
.b-dispute-trigger:not(.b-button):hover { color: var(--brand); }
.b-dispute-trigger__icon { font-size: 13px; line-height: 1; }

/* 订单详情页入口块 */
.b-dispute-order {
	display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); flex-wrap: wrap;
	margin-top: var(--s-6); padding: var(--s-4) var(--s-5);
	background: var(--bg-2); border-radius: var(--r-3);
}
.b-dispute-order__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.b-dispute-order__text strong { font-size: 14px; color: var(--ink-0); }
.b-dispute-order__text span { font-size: 12.5px; color: var(--ink-2); line-height: 1.55; }
.b-dispute-order .b-dispute-trigger { flex: 0 0 auto; }

/* 模态框（与举报模态同款，独立类便于各自演进） */
.b-dispute-dialog {
	width: min(460px, calc(100vw - 32px));
	padding: 0; border: 1px solid var(--line); border-radius: var(--r-4);
	background: var(--bg-0); color: var(--ink-1); box-shadow: var(--sh-3);
}
.b-dispute-dialog::backdrop { background: rgba(20, 20, 36, 0.5); }
.b-dispute-form { display: flex; flex-direction: column; gap: var(--s-3); margin: 0; padding: var(--s-6); }
.b-dispute-form__title { margin: 0; font-size: 18px; font-weight: 800; color: var(--ink-0); }
.b-dispute-form__intro { margin: 0; font-size: 12.5px; color: var(--ink-2); line-height: 1.65; }
.b-dispute-form__label { margin-bottom: -4px; font-size: 13px; font-weight: 600; color: var(--ink-2); }
.b-dispute-form__select,
.b-dispute-form__textarea,
.b-dispute-form__input {
	width: 100%; padding: 10px 12px;
	border: 1px solid var(--line-strong); border-radius: var(--r-3);
	background: var(--bg-1); color: var(--ink-0); font: inherit; font-size: 14px;
}
.b-dispute-form__select:focus,
.b-dispute-form__textarea:focus,
.b-dispute-form__input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-50); outline: none; }
.b-dispute-form__input::placeholder,
.b-dispute-form__textarea::placeholder { color: var(--ink-4); }
.b-dispute-form__textarea { min-height: 80px; resize: vertical; }
.b-dispute-form__msg { margin: 0; min-height: 18px; font-size: 13px; }
.b-dispute-form__msg.is-ok { color: var(--success-strong); }
.b-dispute-form__msg.is-err { color: var(--danger-strong); }
.b-dispute-form__actions { display: flex; justify-content: flex-end; gap: var(--s-3); margin-top: var(--s-2); }
.b-dispute-form__actions .b-button--ghost { background: var(--bg-2); color: var(--ink-1); box-shadow: none; }
.b-dispute-form__actions .b-button--ghost:hover { background: var(--bg-3); }

/* 注册同意（复用 .b-verify-consent 的标签样式，仅补链接色）。 */
.b-register-consent { margin: var(--s-2) 0 var(--s-4); }
.b-verify-consent a { color: var(--brand); text-decoration: none; }
.b-verify-consent a:hover { text-decoration: underline; }

/* ============================================================
   登录 / 注册页（woocommerce/myaccount/form-login.php）
   登录卡（邮箱+密码）为主 + :target 注册弹框（邮箱+设密码+同意）
   + 邮箱验证码弹窗（插件 Customer Email Verification #otp-popup）令牌化改皮。
   ============================================================ */

.b-auth {
	max-width: 440px;
	margin: 0 auto;
	padding: var(--s-9) var(--s-4) var(--s-10);
	display: flex;
	flex-direction: column;
	gap: var(--s-5);
}

/* 品牌头 */
.b-auth__brand { text-align: center; }
.b-auth__logo { font-size: 22px; font-weight: 800; color: var(--ink-0); text-decoration: none; letter-spacing: -0.01em; }
.b-auth__logo:hover { color: var(--brand); }
.b-auth__tagline { margin: var(--s-2) 0 0; color: var(--ink-3); font-size: 14px; }

/* 卡片（登录主体 + 注册模态共用观感） */
.b-auth__card {
	background: var(--bg-0);
	border: 1px solid var(--line);
	border-radius: var(--r-4);
	box-shadow: var(--sh-2);
	padding: var(--s-7);
}
.b-auth__title { margin: 0 0 var(--s-5); font-size: 22px; font-weight: 800; color: var(--ink-0); }
.b-auth__sub { margin: 0 0 var(--s-5); color: var(--ink-3); font-size: 14px; line-height: 1.6; }
.b-auth-modal__dialog .b-auth__title { margin-bottom: var(--s-2); }

/* 表单 */
.b-auth__form { display: flex; flex-direction: column; gap: var(--s-4); }
/* 去 WC core 给 form.login 的内层边框+内边距（续8 打磨 6）：登录卡出现「框中框」，
   而找回密码表单（无 core 同款样式）没有 → 两表单观感不一致。外层 .b-auth__card 已是卡。 */
.b-auth__card form.woocommerce-form-login,
.b-auth__card form.woocommerce-form-register { border: 0; padding: 0; margin: 0; border-radius: 0; }
.b-auth__field { margin: 0; display: flex; flex-direction: column; gap: var(--s-2); }
.b-auth__label { font-size: 13px; font-weight: 600; color: var(--ink-1); }

/* 密码框 + 显示/隐藏切换 */
.b-auth__pass { position: relative; display: block; }
.b-auth__pass .b-input { padding-right: var(--s-9); }
/* 续54：隐藏 WC 核心因 .password-input 类注入的原生显隐钮 .show-password-input —— 本表单已自带 .b-auth__pass-toggle（32×32 可用），
   WC 又注一枚 22×22 → 两枚眼睛钮重叠（UX bug）+ 22px 不达 WCAG 2.2 target-size 24px。隐藏 WC 那枚，留主题自家的。 */
.b-auth__pass .show-password-input { display: none; }
.b-auth__pass-toggle {
	position: absolute; right: var(--s-2); top: 50%; transform: translateY(-50%);
	display: inline-flex; align-items: center; justify-content: center;
	background: none; border: 0; cursor: pointer; font-size: 16px; line-height: 1;
	padding: var(--s-2); color: var(--ink-3); opacity: .65;
}
.b-auth__pass-toggle:hover { opacity: 1; }
.b-auth__pass-toggle[aria-pressed="true"] { opacity: 1; color: var(--brand); }

/* 记住我 / 忘记密码 */
.b-auth__row { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); }
.b-auth__remember { display: inline-flex; align-items: center; gap: var(--s-2); font-size: 13px; color: var(--ink-2); cursor: pointer; position: relative; }
/* 透明扩点击区：纵向把「记住我」整行可点高度补到 ≈44px（视觉不变；不横向扩，避让同行「忘记密码」）。 */
.b-auth__remember::before { content: ""; position: absolute; inset: -13px 0; }
.b-auth__check { width: 16px; height: 16px; accent-color: var(--brand); flex: 0 0 auto; }
.b-auth__lost { font-size: 13px; color: var(--brand); text-decoration: none; }
.b-auth__lost:hover { text-decoration: underline; }

/* 切换行（注册 / 去登录）、提示 */
.b-auth__alt { margin: var(--s-5) 0 0; text-align: center; font-size: 14px; color: var(--ink-2); }
.b-auth__switch { color: var(--brand); font-weight: 600; text-decoration: none; }
.b-auth__switch:hover { text-decoration: underline; }
.b-auth__note { margin: 0; padding: var(--s-3) var(--s-4); background: var(--bg-2); border-radius: var(--r-3); color: var(--ink-3); font-size: 13px; line-height: 1.6; }

/* 内联「获取验证码」行（邮箱 + 按钮）+ 状态提示（注册框内邮箱验证码，替代插件弹窗） */
.b-auth__otp-row { display: flex; gap: var(--s-2); align-items: stretch; }
.b-auth__otp-row .b-input { flex: 1 1 auto; min-width: 0; }
.b-auth__getcode { flex: 0 0 auto; white-space: nowrap; min-height: 44px; padding: 0 var(--s-4); font-size: 13px; }
.b-auth__getcode:disabled { opacity: .6; cursor: default; }
.b-auth__hint { display: block; min-height: 16px; margin-top: var(--s-1); font-size: 12px; line-height: 1.5; color: var(--ink-3); }
.b-auth__hint.is-ok { color: var(--success-strong); }
.b-auth__hint.is-err { color: var(--danger-strong); }

/* ---------------- 注册弹框（:target；无 JS 也能开，auth.js 增强） ---------------- */
.b-auth-modal {
	display: none;
	position: fixed; inset: 0; z-index: var(--z-modal);
	align-items: flex-start; justify-content: center;
	/* 顶部留白避开固定顶栏（--header-h）+ 呼吸感，弹框不再压住顶栏线；竖向超出时整体可滚动。 */
	padding: calc(var(--header-h) + var(--s-5)) var(--s-4) var(--s-7);
	overflow-y: auto;
	overscroll-behavior: contain;
}
.b-auth-modal:target { display: flex; }
.b-auth-modal.is-open { display: flex; }   /* auth.js 增强用（与 :target 等效，便于无 hash 控制） */
.b-auth-modal__backdrop { position: fixed; inset: 0; background: rgba(20, 20, 36, .55); border: 0; }
.b-auth-modal__dialog {
	position: relative;
	width: 100%; max-width: 440px;
	margin: auto;
	background: var(--bg-0);
	border: 1px solid var(--line);
	border-radius: var(--r-4);
	box-shadow: var(--sh-3);
	padding: var(--s-7);
	animation: bAuthPop var(--dur-2) var(--ease);
}
@keyframes bAuthPop { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.b-auth-modal__close {
	position: absolute; top: var(--s-4); right: var(--s-4);
	width: 32px; height: 32px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: var(--r-pill);
	color: var(--ink-3); text-decoration: none; font-size: 14px; line-height: 1;
	background: var(--bg-2);
}
.b-auth-modal__close:hover { background: var(--bg-3); color: var(--ink-1); }
body.b-auth-modal-open { overflow: hidden; }

/* 插件 displayError() 把注册校验错误 prepend 到 #customer_login（=注册框内） */
.b-auth-modal__dialog .woocommerce-error,
.b-auth-modal__dialog .success-message,
.b-auth-modal__dialog > .woocommerce-message { margin: 0 0 var(--s-4); }
.b-auth-modal__dialog .success-message { padding: var(--s-3) var(--s-4); border-radius: var(--r-3); background: var(--success-50); color: var(--success-strong); font-size: 14px; }

/* ---------------- 邮箱验证码弹窗（插件注入 #otp-popup，本主题令牌化改皮） ----------------
   插件结构：#otp-popup（=.cev-authorization-grid__visual，黑色 0.7 遮罩，模板内联 !important 给）
   → .cev-authorization（卡片，元素内联 background:#fff → 需 !important 覆盖）
   → .otp-input × N（!important 尺寸/边框/底色 → 需 !important 覆盖）。 */
#otp-popup { z-index: var(--z-modal-top) !important; }
#otp-popup .cev-authorization-grid__inner { max-width: 400px; }
#otp-popup .cev-authorization {
	background: var(--bg-0) !important;
	border: 1px solid var(--line) !important;
	border-radius: var(--r-4) !important;
	box-shadow: var(--sh-3);
	overflow: hidden;
}
#otp-popup .cev-authorization__holder { padding: var(--s-7) var(--s-7) var(--s-5); color: var(--ink-2); }
#otp-popup .cev-authorization__title { color: var(--ink-0) !important; font-size: 20px !important; line-height: 1.3 !important; font-weight: 800; }
#otp-popup .cev-authorization__description { color: var(--ink-3); font-size: 14px; line-height: 1.6; }
#otp-popup .popup_image { margin: 0 auto var(--s-4); }
#otp-popup .popup_image img { max-width: 56px; }
#otp-popup .back_btn { width: 26px; opacity: .7; }
#otp-popup .back_btn:hover { opacity: 1; }
#otp-popup .back_btn svg, #otp-popup .back_btn svg polygon { fill: var(--ink-3); }
#otp-popup .otp-container { gap: var(--s-2); margin: var(--s-5) 0 var(--s-3); }
#otp-popup .otp-input {
	width: 44px !important; height: 52px !important; margin: 0 !important; padding: 0 !important;
	font-size: 20px !important; font-weight: 700;
	color: var(--ink-0) !important;
	background: var(--bg-0) !important;
	border: 1px solid var(--line-strong) !important;
	border-radius: var(--r-3) !important;
	box-shadow: none !important;
}
#otp-popup .otp-input:focus { border-color: var(--brand) !important; box-shadow: 0 0 0 3px var(--brand-50) !important; }
#otp-popup .error_mesg { color: var(--danger-strong); font-size: 13px; margin-top: var(--s-2); }
#otp-popup .resend_sucsess { color: var(--success-strong) !important; font-size: 13px; }
#otp-popup .cev-authorization__footer { color: var(--ink-3); font-size: 13px; padding: var(--s-1) var(--s-7) var(--s-6); }
#otp-popup .cev-authorization__footer a, #otp-popup .send_again_link, #otp-popup .cev-link { color: var(--brand); cursor: pointer; text-decoration: none; }
#otp-popup .cev-authorization__footer a:hover { text-decoration: underline; }
.cev_loading_overlay { z-index: var(--z-modal-veil) !important; background: rgba(20, 20, 36, .45) !important; }

/* 响应式：窄屏让卡片满宽、验证码框收紧 */
@media (max-width: 480px) {
	.b-auth { padding: var(--s-6) var(--s-3) var(--s-8); }   /* 顶部留白收紧:表单上移、不偏下 */
	.b-auth__card, .b-auth-modal__dialog { padding: var(--s-6); }
	.b-auth-modal { padding: calc(var(--header-h) + var(--s-3)) var(--s-3) var(--s-6); }  /* 底栏已隐藏,不再为 tabbar 预留底部 */
	#otp-popup .otp-input { width: 40px !important; height: 48px !important; font-size: 18px !important; }
	#otp-popup .otp-container { gap: var(--s-1); }
	#otp-popup .cev-authorization__holder { padding: var(--s-6) var(--s-5) var(--s-4); }
	#otp-popup .cev-authorization__footer { padding: var(--s-1) var(--s-5) var(--s-5); }
}

/* ============================================================
   登录 / 注册页（未登录 my-account）= 移动端「专注式认证屏」
   用户反馈:移动端 ① 滚动太多 ② 键盘弹出难用 ③ 表单偏上、要滑动才好填。
   根因:认证页套了整站外壳(粘性搜索条 + 固定底栏 tabbar)挤压表单/撞键盘;注册模态 fixed+inset:0
   +body 锁滚动,vh 高度不随软键盘收缩 → 长表单底部被键盘盖且滚不到。这里专注式 + 键盘自适应。
   (body.woocommerce-account.is-guest = my-account 页且未登录 = 登录/注册页;
    搜索条本就 <768 显示、tabbar 本就 <1100 显示,故 body 作用域即足够,桌面二者本就隐藏不受影响。)
   ============================================================ */
body.woocommerce-account.is-guest .b-search-bar,
body.woocommerce-account.is-guest .b-mobile-tabbar { display: none; }
body.woocommerce-account.is-guest.has-mobile-tabbar { padding-bottom: 0; }   /* 底栏隐藏 → 去掉为其预留的底部留白 */
/* 聚焦输入框时滚动留出粘性顶栏高度,避免被顶栏盖住(登录与注册框共用)。 */
.b-auth .b-input,
.b-auth-modal .b-input,
.b-auth-modal .b-button { scroll-margin: calc(var(--header-h) + var(--s-3)) 0 var(--s-5); }

@media (max-width: 767px) {
	/* 注册模态:对话框顶部对齐(原 margin:auto 垂直居中 → 软键盘弹出时长表单底部进键盘区且无滚动余量)。
	   模态高度随软键盘收缩由 auth.js 的 visualViewport 处理,配合 .b-auth-modal{overflow-y:auto} 全表单可滚。 */
	.b-auth-modal__dialog { margin: 0 auto; }

	/* 〔续49 补〕登录/注册基面也做成「专注式整屏」(用户反馈:和注册模态一样去掉底部、窗口固定)：
	   隐藏站点大页脚(关于我们/AI标识/版权等)——它在登录屏属噪声、又把窗口顶出一段可滚底部。
	   去掉后,body 的 flex 粘性页脚布局里 main(flex:1) 自动撑满 顶栏以下整屏 → 页面=一屏、无可滚底部,观感「窗口固定」。
	   🔴 合规:ICP 备案号在**首页底部**仍照常展示(工信部主要要求首页标注+链备案系统),登录屏隐藏页脚不影响。
	   仅 guest 的 my-account 页(登录/注册/找回密码)生效;桌面与登录态不受影响。 */
	body.woocommerce-account.is-guest .b-footer { display: none; }
}

/* ============================================================
   表单主 CTA 移动端全宽统一（续8 打磨 8）
   规范：单钮表单移动端主 CTA 全宽（同 登录/提交留言）；「取消+主钮」双钮组保持右对齐不动。
   其余文件同批：收款设置/创作者资料 → dokan-dashboard.css；提问 → qa-pages.css。
   ============================================================ */
@media (max-width: 640px) {
	.b-verify button[type="submit"].b-button { width: 100%; }
}

/* 创作者卡 meta 分隔点（续8 验收顺手修）：「粉丝 1  2 作品」两个 stat 仅靠空隙相邻，
   数字贴数字读成「1 2」歧义 → 与作品卡同款「·」分隔。 */
.b-creator-card__stat + .b-creator-card__stat::before { content: "·"; margin: 0 4px; color: var(--ink-4); font-weight: 700; }

/* 〔续23 用户拍板 2026-06-19〕分类/标签归档页筛选「桌面也默认折叠」：works-filter.php 在 is_product_category/tag
   时给面板加 .b-work-filters--collapsible。复刻 ≤640 的折叠样式但不限宽度、只作用于该修饰类——点进分类先看
   作品网格、不被大筛选面板占首屏；点「筛选」展开。/shop/ 全部作品不加此类、桌面仍常显。 */
.b-work-filters--collapsible .b-work-filters__toggle {
	display: inline-flex; align-items: center; gap: 6px;
	width: fit-content; height: 40px; padding: 0 var(--s-4);
	border: 1px solid var(--line-strong); border-radius: var(--r-pill);
	background: var(--bg-0); color: var(--ink-1);
	font-size: 13px; font-weight: 600; cursor: pointer;
}
.b-work-filters--collapsible .b-work-filters__toggle-chev { font-size: 11px; line-height: 1; transition: transform var(--dur-1) var(--ease); }
.b-work-filters--collapsible .b-work-filters__toggle-count {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 18px; height: 18px; padding: 0 5px;
	border-radius: var(--r-pill); background: var(--ink-0); color: var(--bg-0);
	font-size: 11px; font-weight: 700;
}
.b-work-filters--collapsible .b-work-filters__cb:focus-visible ~ .b-work-filters__toggle { outline: 2px solid var(--brand); outline-offset: 2px; }
.b-work-filters--collapsible .b-work-filters__cb:checked ~ .b-work-filters__toggle { margin-bottom: var(--s-3); }
.b-work-filters--collapsible .b-work-filters__cb:checked ~ .b-work-filters__toggle .b-work-filters__toggle-chev { transform: rotate(180deg); }
.b-work-filters--collapsible .b-work-filters__body { display: none; }
.b-work-filters--collapsible .b-work-filters__cb:checked ~ .b-work-filters__body { display: flex; }

/* 〔续45〕详情页授权条款入口（AI 标识下，买家买前看清买到什么权利）。 */
.b-detail__license-terms { margin: var(--s-1) 0 0; font-size: 13px; }
.b-detail__license-terms > summary { cursor: pointer; color: var(--brand); width: max-content; }
.b-detail__license-terms-body { margin-top: var(--s-2); padding: var(--s-3); border: 1px solid var(--line); border-radius: var(--r-2); background: var(--bg-1); color: var(--ink-1); line-height: 1.7; }
.b-detail__license-terms-body h4 { margin: var(--s-3) 0 var(--s-1); font-size: 13px; }
.b-detail__license-terms-body ul { margin: 0; padding-left: 1.2em; }

/* 〔续51〕「平台实测」证据块（详情页买家凭据）+ 管理员打标输入。状态色经 token 三层自动翻暗色。 */
.b-detail__tested { margin-top: var(--s-3); border: 1px solid var(--success); background: var(--success-50); }
.b-detail__tested-top { display: flex; align-items: flex-start; gap: var(--s-2); }
.b-detail__tested-ic { flex: none; display: inline-flex; color: var(--success-strong); }
.b-detail__tested-ic svg { width: 20px; height: 20px; }
.b-detail__tested-title { font-weight: 700; color: var(--success-strong); }
.b-detail__tested-meta { margin-top: var(--s-1); font-size: 13px; color: var(--ink-2); }
.b-detail__tested-note { margin: var(--s-2) 0 0; color: var(--ink-1); line-height: 1.6; }
.b-detail__tested-shot { display: block; margin-top: var(--s-2); max-width: 360px; border: 1px solid var(--line); border-radius: var(--r-2); overflow: hidden; }
.b-detail__tested-shot img { display: block; width: 100%; height: auto; }
.b-detail__tested-admin { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); margin-top: var(--s-2); }
.b-detail__tested-in { flex: 1 1 220px; min-width: 0; padding: var(--s-1) var(--s-2); font: inherit; color: var(--ink-1); background: var(--bg-0); border: 1px solid var(--line); border-radius: var(--r-2); }
.b-detail__tested-ta { flex-basis: 100%; resize: vertical; min-height: 2.6em; line-height: 1.5; }
.b-detail__tested-file { flex: 1 1 220px; display: inline-flex; align-items: center; gap: var(--s-1); }
.b-detail__tested-hint { font-size: 13px; color: var(--ink-3); }

/* 〔续55〕硬证据化：测试输入(可复现) + 多张实拍输出 + admin 三状态提示。 */
.b-detail__tested-input { margin-top: var(--s-2); }
.b-detail__tested-input-label { display: block; font-size: 12px; font-weight: 700; color: var(--ink-2); margin-bottom: var(--s-1); }
.b-detail__tested-input-val { display: block; padding: var(--s-1) var(--s-2); font-family: var(--font-mono); font-size: 13px; color: var(--ink-1); background: var(--bg-0); border: 1px solid var(--line); border-radius: var(--r-2); white-space: pre-wrap; word-break: break-word; }
.b-detail__tested-shots { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: var(--s-2); margin-top: var(--s-2); }
.b-detail__tested-shots .b-detail__tested-shot { margin-top: 0; max-width: none; }
/* 〔不眠109〕判例库链接行（证据块尾：编号直达永久公开判例） */
/* 〔批次B〕多评测人共识章：绿系 -strong on -50 达 AA */
.b-detail__tested-consensus { display: inline-flex; align-items: center; margin: var(--s-3) 0 0; padding: 2px var(--s-3); border-radius: var(--r-pill); background: var(--success-50); color: var(--success-strong); font-size: 12px; font-weight: 600; }
.b-detail__tested-cases { margin: var(--s-3) 0 0; font-size: 12.5px; color: var(--ink-3); }
.b-detail__tested-case { font-family: var(--font-mono); font-weight: 600; color: var(--brand-600); margin-left: var(--s-1); }
[data-theme="dark"] .b-detail__tested-case { color: var(--brand); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .b-detail__tested-case { color: var(--brand); } }
.b-detail__tested-admin-wrap { margin-top: var(--s-3); }
.b-detail__tested-admin-wrap .b-detail__tested-admin { margin-top: var(--s-2); }
.b-detail__tested-admin-state { display: flex; align-items: center; gap: var(--s-1); margin: 0 0 var(--s-2); font-size: 13px; color: var(--success-strong); }
.b-detail__tested-admin-state svg { width: 16px; height: 16px; }
.b-detail__tested-admin-warn { margin: 0 0 var(--s-2); padding: var(--s-1) var(--s-2); font-size: 13px; color: var(--warning-strong); background: var(--warning-50); border: 1px solid var(--warning); border-radius: var(--r-2); }

/* 〔交付清单〕详情页从上传的 WC 可下载文件自动列（名/类型/大小·无下载直链）·买家验货、也让页面不空 */
.b-detail__delivery { margin-top: var(--s-3); padding-top: var(--s-3); border-top: 1px dashed var(--line); }
.b-detail__delivery-head { display: flex; align-items: baseline; gap: 8px; margin: 0 0 var(--s-2); }
.b-detail__delivery-t { font-size: 0.92rem; font-weight: 800; color: var(--ink-0); }
.b-detail__delivery-n { font-size: 0.82rem; color: var(--ink-2); }
.b-detail__delivery-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.b-detail__delivery-item { display: flex; align-items: center; gap: 8px; padding: 8px 10px; background: var(--bg-1); border: 1px solid var(--line); border-radius: var(--r-2); font-size: 0.9rem; }
.b-detail__delivery-name { flex: 1 1 auto; min-width: 0; color: var(--ink-0); word-break: break-all; }
.b-detail__delivery-type { flex: 0 0 auto; font-size: 0.76rem; color: var(--brand-solid); background: var(--bg-2); padding: 2px 9px; border-radius: 999px; }
.b-detail__delivery-size { flex: 0 0 auto; font-size: 0.8rem; color: var(--ink-2); font-variant-numeric: tabular-nums; }
