/**
 * WooCommerce 前台视觉修复（0.11.64）
 *
 * 只处理实测确认的四类问题，不改动商品数据与站点设置：
 * 1. 结算表单 label 被 Astra 浮动标签规则设为 absolute + opacity:0 + .7em；
 * 2. 购物车数量控件是三个裸 inline 元素，没有边框、触控区小于 44px；
 * 3. 商品列表 ul.products 带 42px（移动 38px）左外边距，左右不对称；
 * 4. 结算页零散问题：返回购物车居中、info 空方框、免运费折行。
 */

/* ---------- 1. 结算表单 label ---------- */
body.woocommerce-checkout form.checkout .form-row label[for^="billing_"],
body.woocommerce-checkout form.checkout .form-row label[for^="shipping_"],
body.woocommerce-checkout form.checkout label[for="order_comments"],
body.woocommerce-checkout form.checkout .form-row label.required_field {
	position: static !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	display: block !important;
	font-size: 13.5px !important;
	line-height: 1.4 !important;
	margin: 0 0 6px !important;
	text-indent: 0 !important;
	color: var( --yxs-ink, #1e293b );
}

/* 勾选框行标签同样被压到 11.49px，补到 13px 并保持行内布局 */
body.woocommerce-checkout form.checkout label.woocommerce-form__label-for-checkbox {
	position: static !important;
	opacity: 1 !important;
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	font-size: 13px !important;
	line-height: 1.4 !important;
	margin: 4px 0 !important;
}

/* 标签已恢复为可见文本，隐藏同文案的 placeholder，避免字段上空出现两遍「名字 *」 */
body.woocommerce-checkout form.checkout input[id^="billing_"]::placeholder,
body.woocommerce-checkout form.checkout input[id^="shipping_"]::placeholder {
	color: transparent !important;
}

/* ---------- 2. 购物车数量控件 ---------- */
body.woocommerce-cart .quantity {
	display: inline-flex !important;
	align-items: stretch;
	width: auto;
	height: 44px;
	min-height: 44px;
	padding: 0;
	border: 1px solid #d1d5db;
	border-radius: 4px;
	background: #fff;
	overflow: hidden;
	vertical-align: middle;
	box-sizing: border-box;
}

body.woocommerce-cart .quantity .ast-qty-placeholder {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	order: 0;
	flex: 0 0 44px;
	width: 44px;
	min-width: 44px;
	height: 100%;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
	background: transparent;
	-webkit-tap-highlight-color: transparent;
}

/* 连体组内部用细分隔线代替各自的边框 */
body.woocommerce-cart .quantity .ast-qty-placeholder.minus {
	border-right: 1px solid #d1d5db;
}

body.woocommerce-cart .quantity .ast-qty-placeholder.plus {
	border-left: 1px solid #d1d5db;
}

body.woocommerce-cart .quantity input.qty {
	width: 64px;
	min-width: 64px;
	height: 100%;
	min-height: 42px;
	margin: 0;
	padding: 0 4px;
	border: 0 !important;
	border-radius: 0;
	background: transparent;
	text-align: center;
	font-size: 15px;
	line-height: 1.2;
	-moz-appearance: textfield;
	appearance: textfield;
	box-shadow: none;
}

body.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

body.woocommerce-cart .quantity .ast-qty-placeholder:focus-visible,
body.woocommerce-cart .quantity input.qty:focus-visible {
	outline: 2px solid var( --yxs-ink, #1e293b );
	outline-offset: -2px;
}

/* ---------- 3. 商品列表左右对称 ---------- */
body.woocommerce ul.products,
body.woocommerce-page ul.products {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* ---------- 4. 结算页零散修复 ---------- */

/* 返回购物车：按导航靠左，对齐所在面板左边缘 */
body.woocommerce-checkout .ast-back-to-cart {
	text-align: left;
}

/* 信息提示：WooCommerce 图标字体缺失时 content 为空，渲染成空方框；改为内联圆形 i */
body.woocommerce .woocommerce-info::before,
body.woocommerce-page .woocommerce-info::before {
	content: "i";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	margin-right: 8px;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-family: inherit;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	color: inherit;
	vertical-align: middle;
}

/* 免运费不折行 */
body.woocommerce .woocommerce-shipping-totals td,
body.woocommerce-page .woocommerce-shipping-totals td,
body.woocommerce .woocommerce-shipping-methods label,
body.woocommerce-page .woocommerce-shipping-methods label {
	white-space: nowrap;
}

/* ---------- 5. 按钮高度两档（0.11.67） ---------- */

/* 次级操作（继续购物、返回商店、优惠券等）统一 44 */
body.woocommerce .button:not(#place_order):not(.checkout-button):not(.single_add_to_cart_button),
body.woocommerce-page .button:not(#place_order):not(.checkout-button):not(.single_add_to_cart_button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	min-height: 44px;
	padding-top: 0;
	padding-bottom: 0;
	line-height: 1.2;
	box-sizing: border-box;
}

/* 主操作 48：下单 / 去结算 / 加购 —— 用 flex 垂直居中。
   必须覆盖 product-configurator-for-woocommerce/configurator-common.css 的规则：
     .is_configurable div.product form.cart .variations_button:not(.disabled) .single_add_to_cart_button { display: block !important; }
   下面的选择器就是把 configurator 的完整选择器抄过来 + 加 !important，确保 specificity 绝对碾压。 */
body.woocommerce #place_order,
body.woocommerce-page #place_order,
body.woocommerce .checkout-button,
body.woocommerce-page .checkout-button,
body.woocommerce .single_add_to_cart_button,
body.woocommerce-page .single_add_to_cart_button,
.is_configurable div.product form.cart .variations_button:not(.disabled) .single_add_to_cart_button,
.is_configurable:not(.enable-add-to-cart):not(.configurator_is_inline) div.product form.cart .variations_button:not(.disabled) .single_add_to_cart_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 48px !important;
	min-height: 48px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	line-height: 1.2 !important;
	box-sizing: border-box !important;
}

/* 删除商品：视觉保持 17×23，命中区补到 44×44 */
body.woocommerce-cart a.remove {
	position: relative;
}

body.woocommerce-cart a.remove::after {
	content: "";
	position: absolute;
	inset: -11px -13.5px;
}

/* 分页：链接命中区 44×44 */
body.woocommerce nav.woocommerce-pagination a.page-numbers,
body.woocommerce nav.woocommerce-pagination span.page-numbers,
body.woocommerce-page nav.woocommerce-pagination a.page-numbers,
body.woocommerce-page nav.woocommerce-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	min-height: 44px;
	box-sizing: border-box;
}

/* ---------- 6. 结算表单 label 模式统一 ---------- */
/* 字段标签与支付方式标签一律静态可见、同字号，不再出现浮动/隐藏模式 */
body.woocommerce-checkout form.checkout label,
body.woocommerce-checkout form.checkout .woocommerce-form__label-for-checkbox {
	position: static !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	text-indent: 0 !important;
	font-size: 13.5px !important;
	line-height: 1.4 !important;
}
