/**
 * 商城侧样式 —— 单品页 / 我的账户 / 购物车 / 结账
 * 依赖：components.css（设计令牌）
 */

/* ============================================================
   一、单品页
   ============================================================ */
body.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}

body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .summary {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	min-width: 0;
}

/* 图库 */
.woocommerce-product-gallery {
	position: relative;
}

.woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
	border-radius: var(--sa-r) !important;
	overflow: hidden;
	background: var(--sa-surface);
	border: 1px solid var(--sa-border);
}

.woocommerce-product-gallery img {
	border-radius: var(--sa-r);
}

.woocommerce-product-gallery__trigger {
	background: var(--sa-surface) !important;
	border: 1px solid var(--sa-border) !important;
	border-radius: 50% !important;
	width: 38px;
	height: 38px;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: var(--sa-shadow-sm);
}

/* 缩略图条 */
.woocommerce-product-gallery ol.flex-control-thumbs,
.woocommerce-product-gallery .flex-control-thumbs {
	display: flex !important;
	gap: 10px;
	margin-top: 12px !important;
	flex-wrap: wrap;
	padding: 0 !important;
	list-style: none !important;
}

.woocommerce-product-gallery .flex-control-thumbs li {
	width: 76px !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-product-gallery .flex-control-thumbs img {
	border: 1px solid var(--sa-border) !important;
	border-radius: var(--sa-r-sm) !important;
	transition: border-color var(--sa-t);
}

.woocommerce-product-gallery .flex-control-thumbs img:hover,
.woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	border-color: var(--sa-primary) !important;
}

/* 右侧信息 */
.single-product .summary .single-product-category {
	display: inline-block !important;
	background: var(--sa-primary-soft) !important;
	color: var(--sa-primary) !important;
	border-radius: var(--sa-r-pill) !important;
	padding: 4px 12px !important;
	font-size: 12px !important;
	font-weight: 500;
	margin-bottom: 10px !important;
}

.single-product .summary .single-product-category a {
	color: var(--sa-primary) !important;
	text-decoration: none !important;
}

.single-product .summary h1.product_title {
	font-size: 26px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
	color: var(--sa-text) !important;
	margin: 0 0 12px !important;
}

.single-product .summary p.price,
.single-product .summary span.price {
	font-size: 30px !important;
	font-weight: 700 !important;
	color: var(--sa-price) !important;
	line-height: 1.2 !important;
	margin: 0 0 14px !important;
}

.single-product .summary p.price del,
.single-product .summary span.price del {
	font-size: 17px !important;
	color: var(--sa-text-3) !important;
}

.single-product .summary p.price ins {
	text-decoration: none !important;
}

/* 自动发货卖点条 */
.sa-single-perks {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin: 0 0 16px;
	padding: 12px 14px;
	background: var(--sa-bg);
	border: 1px dashed var(--sa-border);
	border-radius: var(--sa-r-sm);
	font-size: 13px;
	color: var(--sa-text-2);
}

.sa-single-perks span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.sa-single-perks span::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--sa-success);
}

/* 库存 */
.single-product .ast-stock-detail,
.single-product p.stock {
	font-size: 13px !important;
	color: var(--sa-text-2) !important;
	margin: 0 0 14px !important;
}

.single-product .ast-stock-detail .ast-stock-avail {
	font-weight: 500;
	color: var(--sa-text) !important;
	margin-right: 4px;
}

.single-product .stock.in-stock {
	color: var(--sa-success) !important;
}

/* 数量 + 加购 */
.single-product form.cart {
	display: flex !important;
	align-items: center !important;
	gap: 12px;
	flex-wrap: wrap;
	margin: 0 0 16px !important;
	padding: 0 !important;
	border: none !important;
}

.single-product form.cart .quantity {
	margin: 0 !important;
}

.single-product form.cart .quantity input.qty {
	border: 1px solid var(--sa-border) !important;
	border-radius: var(--sa-r-sm) !important;
	height: 44px !important;
	width: 72px !important;
	text-align: center;
	font-size: 15px !important;
}

.single-product button.single_add_to_cart_button {
	background: var(--sa-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--sa-r-sm) !important;
	height: 44px !important;
	padding: 0 28px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: .3px;
	transition: background var(--sa-t), transform var(--sa-t);
}

.single-product button.single_add_to_cart_button:hover {
	background: var(--sa-primary-dark) !important;
	transform: translateY(-1px);
}

.single-product button.single_add_to_cart_button:disabled,
.single-product button.single_add_to_cart_button.disabled {
	background: var(--sa-text-3) !important;
	transform: none;
}

/* 商户信息条（单品页由 WCFM 注入「由 XX 销售」） */
.single-product .wcfmmp_sold_by_wrapper,
.single-product .wcfm_sold_by_wrapper {
	display: flex !important;
	align-items: center !important;
	gap: 8px;
	background: var(--sa-bg) !important;
	border: 1px solid var(--sa-border) !important;
	border-radius: var(--sa-r-sm) !important;
	padding: 10px 14px !important;
	margin: 0 0 14px !important;
	font-size: 13px !important;
	color: var(--sa-text-2) !important;
}

.wcfmmp_sold_by_wrapper a,
.wcfm_sold_by_wrapper a {
	color: var(--sa-primary) !important;
	font-weight: 600 !important;
	text-decoration: none;
}

.wcfmmp_sold_by_wrapper a:hover,
.wcfm_sold_by_wrapper a:hover {
	text-decoration: underline;
}

/* 商品 meta */
.single-product .product_meta {
	font-size: 13px !important;
	color: var(--sa-text-3) !important;
	border-top: 1px solid var(--sa-border);
	padding-top: 14px !important;
	margin-top: 4px !important;
}

.single-product .product_meta a {
	color: var(--sa-text-2);
	text-decoration: none;
}

.single-product .product_meta a:hover {
	color: var(--sa-primary);
}

/* Tabs */
.woocommerce-tabs.wc-tabs-wrapper {
	grid-column: 1 / -1;
	margin-top: 44px !important;
}

.woocommerce-tabs ul.tabs.wc-tabs {
	display: flex !important;
	gap: 6px;
	flex-wrap: wrap;
	padding: 0 0 12px !important;
	margin: 0 0 0 !important;
	border-bottom: 1px solid var(--sa-border) !important;
	list-style: none !important;
}

.woocommerce-tabs ul.tabs.wc-tabs::before,
.woocommerce-tabs ul.tabs.wc-tabs::after {
	display: none !important;
}

.woocommerce-tabs ul.tabs.wc-tabs li {
	background: var(--sa-bg) !important;
	border: 1px solid var(--sa-border) !important;
	border-radius: var(--sa-r-pill) !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-tabs ul.tabs.wc-tabs li::before,
.woocommerce-tabs ul.tabs.wc-tabs li::after {
	display: none !important;
}

.woocommerce-tabs ul.tabs.wc-tabs li a {
	display: inline-block !important;
	padding: 8px 18px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--sa-text-2) !important;
	text-decoration: none !important;
}

.woocommerce-tabs ul.tabs.wc-tabs li:hover a {
	color: var(--sa-primary) !important;
}

.woocommerce-tabs ul.tabs.wc-tabs li.active {
	background: var(--sa-primary) !important;
	border-color: var(--sa-primary) !important;
}

.woocommerce-tabs ul.tabs.wc-tabs li.active a {
	color: #fff !important;
}

.woocommerce-tabs .woocommerce-Tabs-panel {
	background: var(--sa-surface) !important;
	border: 1px solid var(--sa-border) !important;
	border-radius: var(--sa-r) !important;
	padding: 22px 24px !important;
	margin-top: 16px !important;
	font-size: 15px;
	line-height: 1.85;
	color: var(--sa-text-2);
}

.woocommerce-tabs .woocommerce-Tabs-panel h2 {
	font-size: 17px !important;
	font-weight: 600 !important;
	color: var(--sa-text) !important;
	margin: 0 0 12px !important;
}

/* 评价 */
.woocommerce-Reviews {
	font-size: 14px;
}

#review_form_wrapper {
	background: var(--sa-bg);
	border-radius: var(--sa-r-sm);
	padding: 18px;
	margin-top: 18px;
}

.woocommerce-Reviews .commentlist {
	list-style: none;
	padding: 0;
}

.woocommerce-Reviews .comment-text {
	border-radius: var(--sa-r-sm) !important;
}

/* 相关商品 */
body.single-product .related.products,
body.single-product .upsells.products {
	grid-column: 1 / -1;
	margin-top: 40px !important;
}

body.single-product .related.products > h2,
body.single-product .upsells.products > h2,
body.single-product .woocommerce-tabs + h2 {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: var(--sa-text) !important;
	margin: 0 0 18px !important;
}

/* ============================================================
   二、我的账户
   ============================================================ */
.woocommerce-MyAccount-navigation {
	width: 100% !important;
	float: none !important;
	margin: 0 0 20px !important;
}

.woocommerce-MyAccount-navigation ul {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.woocommerce-MyAccount-navigation ul li {
	margin: 0 !important;
	list-style: none !important;
}

.woocommerce-MyAccount-navigation ul li a {
	display: block !important;
	padding: 12px 14px !important;
	background: var(--sa-surface) !important;
	border: 1px solid var(--sa-border) !important;
	border-radius: var(--sa-r-sm) !important;
	color: var(--sa-text-2) !important;
	font-size: 14px !important;
	font-weight: 500;
	text-align: center;
	text-decoration: none !important;
	transition: all var(--sa-t);
}

.woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--sa-primary-soft) !important;
	border-color: var(--sa-primary-soft-2) !important;
	color: var(--sa-primary) !important;
}

.woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--sa-primary) !important;
	border-color: var(--sa-primary) !important;
	color: #fff !important;
}

.woocommerce-MyAccount-content {
	width: 100% !important;
	float: none !important;
	background: var(--sa-surface);
	border: 1px solid var(--sa-border);
	border-radius: var(--sa-r);
	box-shadow: var(--sa-shadow-sm);
	padding: 22px 24px;
	font-size: 14px;
	color: var(--sa-text-2);
	line-height: 1.8;
}

.woocommerce-MyAccount-content h3,
.woocommerce-MyAccount-content h2 {
	font-size: 17px !important;
	font-weight: 600 !important;
	color: var(--sa-text) !important;
	margin: 0 0 12px !important;
}

.woocommerce-MyAccount-content p {
	margin: 0 0 10px;
}

.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content button {
	background: var(--sa-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--sa-r-sm) !important;
	padding: 9px 18px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
}

.woocommerce-MyAccount-content .button:hover {
	background: var(--sa-primary-dark) !important;
}

/* 订单表 */
.woocommerce-MyAccount-content table.shop_table,
.woocommerce table.shop_table {
	width: 100%;
	border-collapse: collapse !important;
	border-radius: var(--sa-r-sm);
	overflow: hidden;
	border: 1px solid var(--sa-border) !important;
	font-size: 13px;
}

.woocommerce table.shop_table th {
	background: var(--sa-bg) !important;
	color: var(--sa-text-2) !important;
	font-weight: 600 !important;
	padding: 11px 12px !important;
	border-bottom: 1px solid var(--sa-border) !important;
	text-align: left;
}

.woocommerce table.shop_table td {
	padding: 11px 12px !important;
	border-bottom: 1px solid var(--sa-border) !important;
	vertical-align: middle;
}

.woocommerce table.shop_table tbody tr:last-child td {
	border-bottom: none !important;
}

.woocommerce table.shop_table .woocommerce-orders-table__cell-order-actions a,
.woocommerce table.shop_table td a.button {
	background: var(--sa-primary-soft) !important;
	color: var(--sa-primary) !important;
	border-radius: var(--sa-r-sm) !important;
	padding: 6px 12px !important;
	font-size: 12px !important;
}

/* 登录/注册表单 */
.woocommerce-form-login,
.woocommerce-form-register {
	border: 1px solid var(--sa-border) !important;
	border-radius: var(--sa-r) !important;
	padding: 22px !important;
	background: var(--sa-surface);
}

.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="password"],
.woocommerce-form-register input[type="text"],
.woocommerce-form-register input[type="password"],
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	border: 1px solid var(--sa-border) !important;
	border-radius: var(--sa-r-sm) !important;
	padding: 10px 12px !important;
	font-size: 14px !important;
	background: var(--sa-surface) !important;
	transition: border-color var(--sa-t), box-shadow var(--sa-t);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--sa-primary) !important;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, .12) !important;
	outline: none !important;
}

.woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-form-register .woocommerce-Button {
	width: 100% !important;
	background: var(--sa-primary) !important;
	color: #fff !important;
	border-radius: var(--sa-r-sm) !important;
	padding: 12px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
}

/* ============================================================
   三、购物车 / 结账（新版区块）
   ============================================================ */
.wc-block-cart,
.wc-block-checkout {
	font-size: 14px;
}

/* 区块按钮统一主色（WooCommerce 默认紫色） */
.wc-block-components-button:not(.is-link) {
	background: var(--sa-primary) !important;
	color: #fff !important;
	border-radius: var(--sa-r-sm) !important;
	border: none !important;
	font-weight: 500 !important;
	min-height: 46px !important;
	transition: background var(--sa-t);
}

.wc-block-components-button:not(.is-link):hover {
	background: var(--sa-primary-dark) !important;
}

.wc-block-components-button.is-link,
.wc-block-components-button.is-link:hover {
	background: transparent !important;
	color: var(--sa-primary) !important;
}

.wc-block-components-checkout-place-order-button {
	background: var(--sa-primary) !important;
	color: #fff !important;
	border-radius: var(--sa-r-sm) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	min-height: 52px !important;
	width: 100% !important;
}

.wc-block-components-checkout-place-order-button:hover {
	background: var(--sa-primary-dark) !important;
}

/* 结账步骤卡片 */
.wc-block-components-checkout-step {
	background: var(--sa-surface);
	border: 1px solid var(--sa-border);
	border-radius: var(--sa-r);
	box-shadow: var(--sa-shadow-sm);
	padding: 18px 20px;
	margin-bottom: 14px !important;
}

.wc-block-components-checkout-step__heading {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--sa-text) !important;
	margin-bottom: 12px !important;
}

/* 侧栏订单摘要 */
.wc-block-components-sidebar {
	background: var(--sa-surface);
	border: 1px solid var(--sa-border);
	border-radius: var(--sa-r);
	box-shadow: var(--sa-shadow-sm);
	padding: 18px 20px;
}

.wc-block-components-sidebar .wc-block-components-totals-item {
	padding: 8px 0 !important;
	font-size: 14px;
	border-bottom: 1px dashed var(--sa-border);
}

.wc-block-components-sidebar .wc-block-components-totals-item:last-child {
	border-bottom: none;
}

.wc-block-components-totals-item__description,
.wc-block-components-totals-item__label {
	color: var(--sa-text-2) !important;
}

/* 输入框 */
.wc-block-components-text-input input,
.wc-block-components-combobox input,
.wc-block-components-select select,
.wp-block-woocommerce-checkout input[type="text"],
.wp-block-woocommerce-checkout input[type="email"],
.wp-block-woocommerce-checkout input[type="tel"],
.wp-block-woocommerce-checkout select {
	border: 1px solid var(--sa-border) !important;
	border-radius: var(--sa-r-sm) !important;
	padding: 10px 12px !important;
	font-size: 14px !important;
	background: var(--sa-surface) !important;
	color: var(--sa-text) !important;
	transition: border-color var(--sa-t), box-shadow var(--sa-t);
}

.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus,
.wp-block-woocommerce-checkout input:focus,
.wp-block-woocommerce-checkout select:focus {
	border-color: var(--sa-primary) !important;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, .12) !important;
	outline: none !important;
}

/* 单选（配送方式 / 支付方式） */
.wc-block-components-radio-control__option {
	border: 1px solid var(--sa-border) !important;
	border-radius: var(--sa-r-sm) !important;
	padding: 12px 14px !important;
	margin-bottom: 8px !important;
	background: var(--sa-surface);
	transition: border-color var(--sa-t), background var(--sa-t);
}

.wc-block-components-radio-control__option:hover {
	border-color: var(--sa-primary-soft-2) !important;
	background: var(--sa-primary-soft) !important;
}

/* 提示条 */
.wc-block-components-notice-banner,
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	border-radius: var(--sa-r-sm) !important;
	font-size: 13px !important;
}

.woocommerce-message {
	border-top-color: var(--sa-success) !important;
}

.woocommerce-message::before {
	color: var(--sa-success) !important;
}

/* 优惠券表单 */
.wc-block-components-totals-coupon__form,
.wc-block-cart__submit-container {
	gap: 8px;
}

/* 空购物车 */
.wc-block-cart__empty-cart__title,
.woocommerce-cart-form__cart-item .product-name {
	font-size: 15px;
	font-weight: 600;
	color: var(--sa-text);
}

/* ============================================================
   四、响应式
   ============================================================ */
@media (max-width: 921px) {
	body.single-product div.product {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.single-product .summary h1.product_title {
		font-size: 22px !important;
	}

	.single-product .summary p.price {
		font-size: 26px !important;
	}

	.woocommerce-tabs .woocommerce-Tabs-panel {
		padding: 16px 18px !important;
	}

	.woocommerce-MyAccount-content {
		padding: 16px 18px;
	}
}

@media (max-width: 600px) {
	.woocommerce-MyAccount-navigation ul {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.woocommerce-MyAccount-navigation ul li a {
		padding: 10px 8px !important;
		font-size: 13px !important;
	}

	.wc-block-components-checkout-step,
	.wc-block-components-sidebar {
		padding: 14px 16px;
	}
}
