﻿/* ==========================================================================
   theme_577 - Mobile 端专用样式（≤991px）
   --------------------------------------------------------------------------
   设计目标：
   1. 桌面端（≥992px）完全不动，只在 ≤991px 视口下覆盖
   2. 在小屏提供与桌面端 1:1 等价的视觉体验
   3. 使用 flex / grid 重新组织布局，去除桌面端双列设计
   4. 字号、padding、间距、按钮尺寸全面缩放
   5. 不改 HTML 结构，纯 CSS 媒体查询
   --------------------------------------------------------------------------
   覆盖页面：首页 / 商城页 / 列表-标签页 / 商品详情页 / 全局辅助
   ========================================================================== */

/* 1. 通用：reset 容器 */
@media (max-width: 991px) {
	html, body { font-size: 14px; }
	body { padding-top: 93px !important; }
	.container, .home-grid-rows, .site-shop-template,
	.product-info.has-extra-button,
	.product-blocks-details,
	.product-blocks.blocks-bottom { padding: 0 !important; max-width: 100% !important; }
	/* 轮播图行：左右铺满，无边框感 */
	.home-grid-rows .grid-row.grid-row-top-2 .grid-cols > .grid-col { padding: 0 !important; }
	/* 联赛图标行（top-1）：左右无边框，与轮播图一致铺满 */
	.home-grid-rows .grid-row.grid-row-top-1 { margin-bottom: 6px !important; padding: 0 !important; }
	.home-grid-rows .grid-row.grid-row-top-1 .grid-cols { padding: 0 !important; margin: 0 !important; }
	.home-grid-rows .grid-row.grid-row-top-1 .grid-cols > .grid-col { padding: 0 !important; }
	.home-grid-rows .grid-row.grid-row-top-1 .grid-items { padding: 0 !important; margin: 0 !important; }
	.home-grid-rows .grid-row.grid-row-top-1 .grid-item { padding: 0 !important; margin: 0 !important; }
	.home-grid-rows .grid-row.grid-row-top-1 .module { margin: 0 !important; padding: 0 !important; }
	.home-grid-rows .grid-row.grid-row-top-1 .module-body { margin: 0 !important; padding: 0 !important; }
	/* 移动端头部 fixed 置顶：红色通知栏 + logo 栏始终固定在屏幕顶端 */
	/* 用 fixed 而非 sticky：sticky 受父容器 header-compact 高度限制（仅 93px），滚动后失效 */
	/* body padding-top 由 theme.js initMobileSticky 动态设置，补偿 fixed 脱离文档流的高度 */
	.mobile-header { position: fixed !important; top: 0 !important; left: 0; right: 0; z-index: 200 !important; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.06); }
	.mobile-top-menu-wrapper { width: 100% !important; }
	.mobile-bar { width: 100% !important; }
}

@media (max-width: 374px) {
	.theme577-checkout-steps .theme577-step-label { font-size: 9px; }
	.woocommerce-cart-form .cart_item .product-thumbnail { flex-basis: 68px; width: 68px !important; min-width: 68px !important; }
	.woocommerce-cart-form .cart_item .product-thumbnail img { width: 64px !important; height: 64px !important; max-width: 64px !important; }
	.woocommerce-cart-form .cart_item .product-name { flex-basis: calc(100% - 68px); }
	.woocommerce-cart-form .cart_item .product-quantity { padding-left: 76px !important; }
	.woocommerce-cart-form .coupon button.button { padding-inline: 10px !important; font-size: 11px !important; }
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
	.woocommerce-cart .wc-proceed-to-checkout a.button { font-size: 13px !important; }
}

/* ========================================================================== 
   Reference-style cart and checkout: compact, single-column and functional.
   These final rules deliberately sit last to neutralize older WC table rules.
   ========================================================================== */
@media (max-width: 767px) {
	.woocommerce-cart .theme577-checkout-steps,
	.woocommerce-checkout .theme577-checkout-steps { display: none !important; }

	.woocommerce-cart .woocommerce,
	.woocommerce-checkout .woocommerce {
		padding: 0 14px !important;
		background: #fff;
	}
	.woocommerce-cart header.entry-header h1.page-title,
	.woocommerce-checkout header.entry-header h1.page-title {
		margin: 16px 0 14px !important;
		font-size: 21px !important;
		line-height: 1.25;
	}

	/* Cart: one calm continuous list instead of floating mini-cards. */
	.woocommerce-cart-form table.shop_table.shop_table_responsive.cart {
		border-top: 1px solid #e6e8ea !important;
		border-bottom: 1px solid #e6e8ea !important;
		background: #fff !important;
	}
	.woocommerce-cart-form table.shop_table_responsive tbody tr.cart_item {
		grid-template-columns: 92px minmax(0, 1fr) auto;
		column-gap: 12px;
		row-gap: 9px;
		margin: 0 !important;
		padding: 14px 4px !important;
		border: 0 !important;
		border-bottom: 1px solid #e6e8ea !important;
		border-radius: 0;
		box-shadow: none;
		overflow: visible;
	}
	.woocommerce-cart-form table.shop_table_responsive tbody tr.cart_item:last-of-type {
		border-bottom: 0 !important;
	}
	.woocommerce-cart-form .cart_item .product-thumbnail {
		width: 92px !important;
		min-width: 92px !important;
	}
	.woocommerce-cart-form .cart_item .product-thumbnail img {
		width: 92px !important;
		height: 106px !important;
		max-width: 92px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #f1f3f4 !important;
		padding: 5px !important;
	}
	.woocommerce-cart-form .cart_item .product-name {
		padding-top: 2px !important;
	}
	.woocommerce-cart-form .cart_item .product-name a {
		font-size: 13px !important;
		line-height: 1.35;
	}
	.woocommerce-cart-form .cart_item .product-remove { top: 13px; right: 2px; }
	.woocommerce-cart-form .cart_item .product-remove .remove {
		background: transparent !important;
		color: #9aa0a5 !important;
	}

	.woocommerce-cart-form table.shop_table_responsive tbody tr:last-child {
		margin-top: 14px;
		border: 0 !important;
		background: #f4f5f6 !important;
	}
	.woocommerce-cart-form table.shop_table.cart .actions {
		padding: 16px 14px !important;
		background: #f4f5f6 !important;
	}
	.woocommerce-cart-form .theme577-clear-cart {
		border: 0 !important;
		background: transparent !important;
		color: #70777d !important;
	}
	.cart-collaterals {
		gap: 20px;
		margin-top: 16px;
	}
	.cart-collaterals .cart_totals,
	.woocommerce .cart-collaterals .cart_totals {
		padding: 18px !important;
		border: 0 !important;
		border-radius: 0;
		background: #f4f5f6 !important;
		box-shadow: none;
	}
	.cart-collaterals .cart_totals h2 {
		margin: 0 0 12px;
		padding: 0 0 10px;
		border-bottom: 1px solid #dfe2e4;
		font-size: 17px;
	}
	.cart-collaterals .cart_totals table.shop_table {
		border: 0 !important;
		border-radius: 0;
		background: #fff !important;
	}
	.cart-collaterals .cart_totals table.shop_table th,
	.cart-collaterals .cart_totals table.shop_table td {
		padding: 11px 12px !important;
		border-bottom: 1px solid #eceeef !important;
		font-size: 12px;
	}
	.cart-collaterals .cart_totals table.shop_table td { text-align: right; }
	.woocommerce-cart .wc-proceed-to-checkout { padding: 14px 0 0; }
	.woocommerce-cart .wc-proceed-to-checkout .theme577-continue-shopping,
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
		min-height: 46px;
		margin-bottom: 9px !important;
		border-radius: 3px !important;
	}

	/* Checkout: summary first, then contact/delivery, payment, notes. */
	.woocommerce-checkout form.checkout {
		display: flex !important;
		flex-direction: column;
		gap: 0;
	}
	.woocommerce-checkout form.checkout.theme577-mobile-checkout-arranged > #order_review_heading { order: 1; }
	.woocommerce-checkout form.checkout.theme577-mobile-checkout-arranged > .woocommerce-checkout-review-order-table { order: 2; }
	.woocommerce-checkout form.checkout.theme577-mobile-checkout-arranged > .col2-set { order: 3; }
	.woocommerce-checkout form.checkout.theme577-mobile-checkout-arranged > #payment { order: 4; }
	.woocommerce-checkout form.checkout.theme577-mobile-checkout-arranged > .woocommerce-additional-fields { order: 5; }
	.woocommerce-checkout form.checkout > .col2-set,
	.woocommerce-checkout form.checkout > .col2-set > .col-2,
	.woocommerce-checkout form.checkout > .woocommerce-checkout-review-order {
		display: contents !important;
	}
	.woocommerce-checkout form.checkout > #order_review_heading { order: 1; }
	.woocommerce-checkout form.checkout > #order_review > table { order: 1; }
	.woocommerce-checkout form.checkout > .col2-set > .col-1 { order: 2; }
	.woocommerce-checkout form.checkout .woocommerce-shipping-fields { order: 2; }
	.woocommerce-checkout form.checkout > #order_review > #payment { order: 3; }
	.woocommerce-checkout form.checkout .woocommerce-additional-fields { order: 4; }

	.woocommerce-checkout form.checkout > #order_review_heading {
		margin: 14px 0 10px !important;
		font-size: 18px !important;
	}
	.woocommerce-checkout-review-order-table {
		margin: 0 0 24px !important;
		border: 0 !important;
		border-radius: 0;
		background: #f4f5f6 !important;
	}
	.woocommerce-checkout-review-order-table thead { display: none; }
	.woocommerce-checkout-review-order-table th,
	.woocommerce-checkout-review-order-table td {
		padding: 11px 12px !important;
		border-bottom: 1px solid #e0e3e5 !important;
	}
	.woocommerce-checkout-review-order-table tbody td { background: #fff; }
	.theme577-checkout-product {
		display: grid;
		grid-template-columns: 62px minmax(0, 1fr);
		gap: 11px;
		align-items: center;
	}
	.theme577-checkout-product-image img {
		display: block;
		width: 62px !important;
		height: 72px !important;
		object-fit: contain;
		background: #f1f3f4;
	}
	.theme577-checkout-product-name {
		font-size: 12px;
		line-height: 1.4;
	}

	.woocommerce-checkout form.checkout > .col2-set > .col-1 {
		width: 100% !important;
		padding: 0 !important;
		border: 0;
		background: #fff;
		box-shadow: none;
	}
	.woocommerce-checkout .woocommerce-billing-fields > h3 { display: none; }
	.theme577-checkout-section-heading {
		margin: 0;
		padding: 0;
		clear: both;
	}
	.theme577-checkout-section-heading h3 {
		margin: 22px 0 12px;
		padding: 0;
		border: 0;
		font-size: 20px;
		line-height: 1.25;
		font-weight: 700;
		color: #171a1d;
	}
	.theme577-delivery-heading h3 { margin-top: 26px; }
	.woocommerce-checkout form.checkout .form-row {
		margin: 0 0 10px !important;
	}
	.woocommerce-checkout form.checkout .form-row label {
		font-size: 11px;
		color: #5f676d;
	}
	.woocommerce-checkout form.checkout .form-row input.input-text,
	.woocommerce-checkout form.checkout .form-row select,
	.woocommerce-checkout form.checkout .select2-container .select2-selection--single {
		min-height: 48px !important;
		border-radius: 3px !important;
		font-size: 13px !important;
	}
	.woocommerce-checkout .woocommerce-shipping-fields {
		width: 100%;
		margin: 8px 0 0;
	}
	.woocommerce-checkout #ship-to-different-address label {
		border: 0;
		border-radius: 0;
		background: transparent;
		padding: 10px 0 !important;
	}
	.woocommerce-checkout-review-order #payment {
		width: 100%;
		margin: 24px 0 0;
		padding: 0 !important;
		border: 0;
		border-radius: 0;
		background: #fff !important;
	}
	.woocommerce-checkout-review-order #payment::before {
		content: "Payment method";
		display: block;
		margin: 0 0 12px;
		font-size: 20px;
		font-weight: 700;
		line-height: 1.25;
	}
	.woocommerce-checkout-review-order #payment .wc_payment_methods {
		border: 1px solid #e1e4e6 !important;
		border-radius: 4px;
		overflow: hidden;
	}
	.woocommerce-checkout-review-order #payment .wc_payment_methods li {
		padding: 14px 12px;
	}
	.woocommerce-checkout .woocommerce-additional-fields {
		width: 100%;
		margin: 26px 0 0 !important;
		padding: 0 !important;
		border: 0;
	}
	.woocommerce-checkout .woocommerce-additional-fields h3 {
		font-size: 20px;
		margin-bottom: 12px;
	}
	.woocommerce-checkout form.checkout #order_comments {
		min-height: 118px !important;
		border-radius: 3px !important;
	}
	.woocommerce-checkout-review-order #place_order {
		min-height: 48px;
		border-radius: 3px !important;
	}
}

/* KI8 functional quick shop and product customization sheet. */
.theme577-quick-shop-trigger {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 8;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #15191d;
	color: #fff;
	font: 400 25px/1 Arial, sans-serif;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .18);
	cursor: pointer;
	transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.theme577-quick-shop-trigger:hover,
.theme577-quick-shop-trigger:focus-visible {
	background: var(--theme-primary, #ef5042);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 7px 18px rgba(0, 0, 0, .24);
	outline: none;
}
.theme577-quick-shop-trigger span {
	display: block;
	transform: translateY(-1px);
}

body.theme577-quick-shop-open {
	overflow: hidden !important;
}
.theme577-quick-shop-modal[hidden] {
	display: none !important;
}
.theme577-quick-shop-modal {
	position: fixed;
	inset: 0;
	z-index: 100020;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 22px;
}
.theme577-quick-shop-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(11, 16, 20, .58);
	backdrop-filter: blur(1.5px);
	opacity: 0;
	transition: opacity .22s ease;
}
.theme577-quick-shop-dialog {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	width: min(920px, 100%);
	max-height: min(820px, calc(100vh - 44px));
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 24px 80px rgba(0, 0, 0, .26);
	overflow: hidden;
	opacity: 0;
	transform: translateY(18px) scale(.985);
	transition: opacity .22s ease, transform .22s ease;
}
.theme577-quick-shop-modal.is-open .theme577-quick-shop-backdrop { opacity: 1; }
.theme577-quick-shop-modal.is-open .theme577-quick-shop-dialog { opacity: 1; transform: none; }
.theme577-quick-shop-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 56px;
	padding: 0 18px;
	border-bottom: 1px solid #eceff1;
	background: #fff;
}
.theme577-quick-shop-header h2 {
	margin: 0;
	font-size: 16px;
	font-weight: 750;
	color: #17212a;
}
.theme577-quick-shop-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f2f4f5;
	color: #17212a;
	font-size: 25px;
	line-height: 1;
	cursor: pointer;
}
.theme577-quick-shop-close:hover,
.theme577-quick-shop-close:focus-visible { background: #e7eaec; outline: 2px solid #17212a; outline-offset: 1px; }
.theme577-quick-shop-body {
	min-height: 360px;
	overflow: auto;
	overscroll-behavior: contain;
}
.theme577-quick-shop-content {
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(330px, .96fr);
	min-height: 100%;
}
.theme577-quick-shop-gallery { padding: 24px; background: #fafafa; }
.theme577-quick-shop-main {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: #fff;
	overflow: hidden;
}
.theme577-quick-shop-main img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}
.theme577-quick-shop-thumbs {
	display: flex;
	gap: 8px;
	margin-top: 12px;
	overflow-x: auto;
	scrollbar-width: thin;
}
.theme577-quick-shop-thumb {
	flex: 0 0 58px;
	width: 58px;
	height: 58px;
	padding: 2px;
	border: 1px solid #e1e4e6;
	border-radius: 4px;
	background: #fff;
	cursor: pointer;
}
.theme577-quick-shop-thumb.is-active { border: 2px solid var(--theme-primary, #ef5042); }
.theme577-quick-shop-thumb img { width: 100%; height: 100%; object-fit: contain; }
.theme577-quick-shop-copy { padding: 24px; }
.theme577-quick-shop-copy .page-title {
	margin: 0 0 10px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
}
.theme577-quick-shop-copy .page-title a { color: #17212a; text-decoration: none; }
.theme577-quick-shop-copy .featured-custom-text { margin-bottom: 4px; color: var(--theme-primary, #ef5042); font-size: 13px; font-weight: 700; }
.theme577-quick-shop-copy .detail-price { margin-bottom: 18px; color: var(--theme-primary, #ef5042); font-size: 22px; font-weight: 750; }
.theme577-quick-shop-copy .detail-price del { margin-left: 5px; color: #777; font-size: 14px; font-weight: 500; }
.theme577-quick-shop-copy .detail-price ins { color: inherit; text-decoration: none; }
.theme577-quick-shop-form fieldset { min-width: 0; margin: 0 0 17px; padding: 0; border: 0; }
.theme577-quick-shop-form legend,
.theme577-quick-customization h3 {
	width: auto;
	margin: 0 0 9px;
	padding: 0;
	color: #17212a;
	font-size: 12px;
	font-weight: 750;
	line-height: 1.3;
}
.theme577-quick-shop-size-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}
.theme577-quick-shop-size { margin: 0; cursor: pointer; }
.theme577-quick-shop-size input { position: absolute; opacity: 0; pointer-events: none; }
.theme577-quick-shop-size span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 43px;
	padding: 7px 8px;
	border: 1px solid #eceff1;
	border-radius: 5px;
	background: #eef1f3;
	color: #26313a;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
}
.theme577-quick-shop-size input:checked + span { border-color: #111; background: #111; color: #fff; }
.theme577-quick-shop-size input:focus-visible + span { outline: 2px solid var(--theme-primary, #ef5042); outline-offset: 2px; }
.theme577-quick-shop-size-guide {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 18px;
	color: #17212a;
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
}
.theme577-quick-customization { margin: 0 0 17px; }
.theme577-quick-customization > p { margin: -3px 0 10px; color: #6d7479; font-size: 12px; line-height: 1.45; }
.theme577-quick-custom-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-bottom: 11px; }
.theme577-quick-custom-tabs button {
	min-height: 41px;
	padding: 7px;
	border: 0;
	border-radius: 4px;
	background: #eef1f3;
	color: #26313a;
	font-size: 11px;
	font-weight: 700;
	cursor: pointer;
}
.theme577-quick-custom-tabs button.is-active { background: #111; color: #fff; }
.theme577-quick-custom-panel[hidden] { display: none !important; }
.theme577-quick-custom-panel label { display: block; margin: 0 0 6px; color: #26313a; font-size: 11px; font-weight: 700; }
.theme577-quick-custom-panel select,
.theme577-quick-custom-panel input {
	display: block;
	width: 100%;
	min-height: 43px;
	margin-top: 6px;
	padding: 8px 11px;
	border: 1px solid #dfe3e6;
	border-radius: 4px;
	background: #fff;
	color: #17212a;
	font-size: 13px;
}
.theme577-quick-custom-fields { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 8px; }
.theme577-quick-patch-grid { display: flex; gap: 9px; overflow-x: auto; padding: 2px 2px 5px; }
.theme577-quick-patch { flex: 0 0 70px; margin: 0; cursor: pointer; }
.theme577-quick-patch input { position: absolute; opacity: 0; pointer-events: none; }
.theme577-quick-patch > span {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-height: 74px;
	padding: 4px;
	border: 1px solid #e4e7e9;
	border-radius: 5px;
	background: #fff;
}
.theme577-quick-patch img { width: 54px; height: 46px; object-fit: contain; }
.theme577-quick-patch small { display: block; max-width: 100%; overflow: hidden; color: #4e5961; font-size: 9px; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.theme577-quick-patch input:checked + span { border: 2px solid var(--theme-primary, #ef5042); background: #fff8f7; }
.theme577-quick-patch input:focus-visible + span { outline: 2px solid #17212a; outline-offset: 2px; }
.theme577-quick-quantity {
	display: grid;
	grid-template-columns: 52px 1fr 52px;
	min-height: 48px;
	margin: 5px 0 15px;
	border-radius: 5px;
	background: #eef1f3;
	overflow: hidden;
}
.theme577-quick-quantity button { border: 0; background: transparent; color: #26313a; font-size: 19px; cursor: pointer; }
.theme577-quick-quantity button:hover { background: #e0e4e7; }
.theme577-quick-quantity > span { display: flex; align-items: center; justify-content: center; gap: 10px; color: #26313a; }
.theme577-quick-quantity small { color: #777f85; font-size: 12px; }
.theme577-quick-subtotal { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; color: #17212a; font-size: 20px; }
.theme577-quick-subtotal .subtotal-display { color: var(--theme-primary, #ef5042); }
.theme577-quick-shop-actions {
	position: sticky;
	bottom: -24px;
	z-index: 4;
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin: 0 -24px -24px;
	padding: 12px 24px 20px;
	border-top: 1px solid #eceff1;
	background: rgba(255, 255, 255, .98);
}
.theme577-quick-shop-actions .btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 45px;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 4px !important;
	font-size: 12px !important;
	font-weight: 750 !important;
	letter-spacing: .035em;
}
.theme577-quick-shop-actions .theme577-quick-shop-add { background: #d6d6d6 !important; color: #181d21 !important; }
.theme577-quick-shop-actions .theme577-quick-shop-buy { background: var(--theme-primary, #ef5042) !important; color: #fff !important; }
.theme577-quick-shop-actions .btn:disabled { opacity: .48; cursor: not-allowed; }
.theme577-quick-shop-view-product,
.theme577-quick-shop-error a { display: flex; align-items: center; justify-content: center; min-height: 46px; border-radius: 4px; background: #111; color: #fff; font-weight: 700; text-decoration: none; }
.theme577-quick-shop-loader,
.theme577-quick-shop-error { display: flex; min-height: 360px; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 28px; text-align: center; }
.theme577-quick-shop-loader span { width: 34px; height: 34px; border: 3px solid #e3e7e9; border-top-color: var(--theme-primary, #ef5042); border-radius: 50%; animation: theme577-quick-spin .7s linear infinite; }
@keyframes theme577-quick-spin { to { transform: rotate(360deg); } }

@media (max-width: 767px) {
	.theme577-quick-shop-trigger { right: 9px; bottom: 9px; width: 34px; height: 34px; font-size: 22px; }
	.theme577-quick-shop-modal { align-items: flex-end; padding: 0; }
	.theme577-quick-shop-dialog {
		width: 100%;
		max-height: 93vh;
		border-radius: 12px 12px 0 0;
		transform: translateY(36px);
	}
	.theme577-quick-shop-header { min-height: 52px; padding: 0 14px; }
	.theme577-quick-shop-header h2 { font-size: 15px; }
	.theme577-quick-shop-content { display: block; }
	.theme577-quick-shop-gallery { padding: 14px 14px 10px; }
	.theme577-quick-shop-main { aspect-ratio: 1 / 1; }
	.theme577-quick-shop-thumb { flex-basis: 50px; width: 50px; height: 50px; }
	.theme577-quick-shop-copy { padding: 14px; }
	.theme577-quick-shop-copy .page-title { font-size: 16px; }
	.theme577-quick-shop-copy .detail-price { margin-bottom: 14px; font-size: 20px; }
	.theme577-quick-shop-size-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.theme577-quick-shop-actions { bottom: -14px; margin: 0 -14px -14px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); }
}

@media (prefers-reduced-motion: reduce) {
	.theme577-quick-shop-backdrop,
	.theme577-quick-shop-dialog,
	.theme577-quick-shop-trigger { transition: none !important; }
}

/* ========================================================================== 
   Final responsive cart refinements
   ========================================================================== */
@media (max-width: 767px) {
	.woocommerce-cart header.entry-header h1.page-title,
	.woocommerce-checkout header.entry-header h1.page-title { margin-top: 0; margin-bottom: 14px; font-size: 22px; }
	.theme577-checkout-steps { width: 100%; margin: 2px auto 22px; padding: 0 3px; }
	.theme577-checkout-steps li { gap: 5px; font-size: 10px; }
	.theme577-checkout-steps .theme577-step-number { width: 28px; height: 28px; }
	.theme577-checkout-steps li:not(:last-child)::after { top: 13px; left: calc(50% + 18px); width: calc(100% - 36px); }

	.woocommerce-cart-form table.shop_table.shop_table_responsive.cart {
		display: block !important;
		border: 0 !important;
		border-radius: 0;
		overflow: visible;
		background: transparent !important;
	}
	.woocommerce-cart-form table.shop_table_responsive tbody { display: block !important; }
	.woocommerce-cart-form table.shop_table_responsive tbody tr.cart_item {
		display: grid !important;
		grid-template-columns: 76px minmax(0, 1fr) auto;
		grid-template-rows: auto auto;
		column-gap: 11px;
		row-gap: 10px;
		align-items: center;
		width: 100%;
		margin: 0 0 10px !important;
		padding: 12px !important;
		border: 1px solid #e3e6e8 !important;
		border-radius: 10px;
		background: #fff !important;
		box-shadow: 0 1px 2px rgba(23, 26, 29, .035);
		overflow: hidden;
	}
	.woocommerce-cart-form table.shop_table_responsive tbody tr.cart_item > td {
		display: block !important;
		width: auto !important;
		min-width: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
	}
	.woocommerce-cart-form .cart_item .product-thumbnail {
		grid-column: 1;
		grid-row: 1 / 3;
		align-self: start;
		width: 76px !important;
		min-width: 76px !important;
	}
	.woocommerce-cart-form .cart_item .product-thumbnail img {
		display: block;
		width: 76px !important;
		height: 88px !important;
		max-width: 76px !important;
		object-fit: contain !important;
		border: 1px solid #e7e9eb !important;
		border-radius: 8px !important;
		background: #f8f9fa !important;
		padding: 4px !important;
	}
	.woocommerce-cart-form .cart_item .product-name {
		grid-column: 2 / 4;
		grid-row: 1;
		align-self: start;
		padding: 2px 30px 0 0 !important;
		line-height: 1.35;
		overflow-wrap: anywhere;
	}
	.woocommerce-cart-form .cart_item .product-name a {
		display: block;
		font-size: 13px !important;
		line-height: 1.35;
		font-weight: 650 !important;
	}
	.woocommerce-cart-form .cart_item .product-name .variation {
		margin: 5px 0 0;
		font-size: 11px;
		line-height: 1.35;
	}
	.woocommerce-cart-form .cart_item .product-quantity {
		grid-column: 2;
		grid-row: 2;
		align-self: end;
		padding: 0 !important;
	}
	.woocommerce-cart-form .cart_item .product-quantity .qty {
		width: 58px !important;
		height: 36px;
	}
	.woocommerce-cart-form .cart_item .product-subtotal {
		grid-column: 3;
		grid-row: 2;
		align-self: center;
		padding: 0 !important;
		font-size: 14px;
		font-weight: 700;
		white-space: nowrap;
	}
	.woocommerce-cart-form .cart_item .product-remove { top: 12px; right: 10px; }
	.woocommerce-cart-form table.shop_table_responsive tbody tr:last-child,
	.woocommerce-cart-form table.shop_table_responsive tbody tr:last-child td.actions { display: block !important; width: 100%; }
	.woocommerce-cart-form table.shop_table.cart .actions { padding: 12px !important; background: #f8f9f9 !important; }
	.woocommerce-cart-form .coupon { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; width: 100%; margin: 0 0 9px; }
	.woocommerce-cart-form .coupon #coupon_code { width: 100% !important; min-width: 0; height: 44px; }
	.woocommerce-cart-form .coupon button.button { min-height: 44px; padding-inline: 13px !important; }
	.woocommerce-cart-form button[name="update_cart"] { min-height: 44px; margin-top: 0; }

	.cart-collaterals { display: grid; grid-template-columns: 1fr; gap: 24px; margin-top: 20px; }
	.cart-collaterals .cart_totals,
	.woocommerce .cart-collaterals .cart_totals { order: 1; padding: 18px 16px; border-radius: 10px; }
	.cart-collaterals .cross-sells { order: 2; }
	.cart-collaterals .cart_totals h2 { font-size: 18px; }
	.cart-collaterals .cart_totals table.shop_table th,
	.cart-collaterals .cart_totals table.shop_table td { padding: 10px 0; }
	.cart-collaterals .cart_totals .woocommerce-shipping-methods,
	.woocommerce-checkout-review-order-table .woocommerce-shipping-methods {
		display: grid;
		gap: 7px;
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.cart-collaterals .cart_totals .woocommerce-shipping-methods li,
	.woocommerce-checkout-review-order-table .woocommerce-shipping-methods li {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 7px;
		margin: 0;
		line-height: 1.35;
	}
	.cart-collaterals .cart_totals .woocommerce-shipping-methods input,
	.woocommerce-checkout-review-order-table .woocommerce-shipping-methods input {
		flex: 0 0 16px;
		width: 16px;
		height: 16px;
		margin: 0;
		accent-color: #171a1d;
	}
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
	.woocommerce-cart .wc-proceed-to-checkout a.button { min-height: 50px; margin-bottom: 12px; border-radius: 7px !important; }
	.theme577-cart-reassurance { gap: 5px; }
	.theme577-cart-reassurance span { font-size: 9px; }
	.woocommerce-checkout form.checkout .col2-set {
		padding: 16px !important;
		border: 1px solid #e3e6e8;
		border-radius: 10px;
		background: #fff;
		box-shadow: 0 1px 2px rgba(23, 26, 29, .035);
	}
	.woocommerce-checkout .woocommerce-billing-fields h3 {
		margin: 0 0 14px;
		padding: 0 0 10px;
		border-bottom: 1px solid #e8eaec;
		font-size: 18px;
	}
	.woocommerce-checkout form.checkout .form-row {
		padding: 0 !important;
		margin-bottom: 13px !important;
	}
	.woocommerce-checkout form.checkout .form-row label {
		display: block;
		margin: 0 0 6px !important;
		font-size: 12px;
		line-height: 1.35;
		font-weight: 650;
	}
	.woocommerce-checkout form.checkout .form-row input.input-text,
	.woocommerce-checkout form.checkout .form-row select,
	.woocommerce-checkout form.checkout .select2-container .select2-selection--single {
		width: 100% !important;
		min-height: 44px !important;
		border: 1px solid #dfe2e5 !important;
		border-radius: 7px !important;
		background: #fff !important;
		box-shadow: none !important;
	}
	.woocommerce-checkout form.checkout .form-row input.input-text:focus,
	.woocommerce-checkout form.checkout .form-row select:focus {
		border-color: #171a1d !important;
		outline: 0;
		box-shadow: 0 0 0 2px rgba(23, 26, 29, .08) !important;
	}
	.woocommerce-checkout .woocommerce-shipping-fields { margin-top: 2px; }
	.woocommerce-checkout #ship-to-different-address {
		display: block !important;
		margin: 0 0 12px !important;
		padding: 0 !important;
		border: 0 !important;
	}
	.woocommerce-checkout #ship-to-different-address label {
		display: flex !important;
		align-items: center;
		gap: 10px;
		width: 100%;
		margin: 0 !important;
		padding: 12px !important;
		border: 1px solid #e3e6e8;
		border-radius: 8px;
		background: #f8f9fa;
		font-size: 14px !important;
		line-height: 1.35;
		cursor: pointer;
		box-sizing: border-box;
	}
	.woocommerce-checkout #ship-to-different-address input[type="checkbox"] {
		position: static !important;
		flex: 0 0 18px;
		display: inline-block !important;
		width: 18px !important;
		height: 18px !important;
		min-width: 18px !important;
		margin: 0 !important;
		opacity: 1 !important;
		clip: auto !important;
		accent-color: #171a1d;
	}
	.woocommerce-checkout .woocommerce-additional-fields {
		margin-top: 12px !important;
		padding-top: 14px !important;
		border-top: 1px solid #e8eaec;
	}
	.woocommerce-checkout .woocommerce-additional-fields h3 {
		margin: 0 0 10px;
		font-size: 16px;
	}
	.woocommerce-checkout form.checkout #order_comments {
		display: block;
		width: 100% !important;
		min-height: 88px !important;
		padding: 11px 12px !important;
		border: 1px solid #dfe2e5 !important;
		border-radius: 7px !important;
		resize: vertical;
		box-sizing: border-box;
	}
	.woocommerce-checkout #order_review_heading {
		margin: 22px 0 10px !important;
		padding: 0 !important;
		font-size: 20px !important;
		line-height: 1.3;
		font-weight: 700;
	}
	.woocommerce-checkout-review-order {
		margin-top: 0;
		padding: 14px !important;
		border: 1px solid #e3e6e8;
		border-radius: 10px;
		background: #f8f9fa;
		box-shadow: 0 1px 2px rgba(23, 26, 29, .035);
	}
	.woocommerce-checkout-review-order-table {
		width: 100%;
		table-layout: fixed;
		margin: 0 !important;
		border: 1px solid #e3e6e8 !important;
		border-collapse: separate !important;
		border-spacing: 0;
		border-radius: 8px;
		background: #fff;
		overflow: hidden;
	}
	.woocommerce-checkout-review-order-table th,
	.woocommerce-checkout-review-order-table td {
		padding: 11px 10px !important;
		border: 0 !important;
		border-bottom: 1px solid #e8eaec !important;
		vertical-align: top;
	}
	.woocommerce-checkout-review-order-table tr:last-child th,
	.woocommerce-checkout-review-order-table tr:last-child td { border-bottom: 0 !important; }
	.woocommerce-checkout-review-order-table .product-name {
		width: auto;
		font-size: 12px !important;
		line-height: 1.4;
		overflow-wrap: anywhere;
	}
	.woocommerce-checkout-review-order-table .product-total {
		width: 86px;
		font-size: 12px;
		white-space: nowrap;
	}
	.woocommerce-checkout-review-order #payment {
		margin-top: 14px;
		padding: 14px !important;
		border: 1px solid #e3e6e8;
		border-radius: 8px;
		background: #fff !important;
	}
	.woocommerce-checkout-review-order #payment .wc_payment_methods {
		margin: 0 0 12px !important;
		padding: 0 !important;
		border: 0 !important;
	}
	.woocommerce-checkout-review-order #payment .wc_payment_methods li {
		display: block;
		padding: 11px 0;
		border: 0;
		border-bottom: 1px solid #e8eaec;
		border-radius: 0;
		margin: 0;
	}
	.woocommerce-checkout-review-order #payment .place-order {
		padding: 0 !important;
		margin: 0 !important;
	}
}

@media (max-width: 374px) {
	.theme577-checkout-steps .theme577-step-label { font-size: 9px; }
	.woocommerce-cart-form .cart_item .product-thumbnail { flex-basis: 68px; width: 68px !important; min-width: 68px !important; }
	.woocommerce-cart-form .cart_item .product-thumbnail img { width: 64px !important; height: 64px !important; max-width: 64px !important; }
	.woocommerce-cart-form .cart_item .product-name { flex-basis: calc(100% - 68px); }
	.woocommerce-cart-form .cart_item .product-quantity { padding-left: 76px !important; }
	.woocommerce-cart-form .coupon button.button { padding-inline: 10px !important; font-size: 11px !important; }
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
	.woocommerce-cart .wc-proceed-to-checkout a.button { font-size: 13px !important; }
}

/* ==========================================================================
   2. 首页：通用节奏（移动端统一间距 16px）
   ========================================================================== */
@media (max-width: 991px) {
	.home-grid-rows { padding: 12px 10px 24px; }
	/* 强制覆盖 theme.css 的 28px，移动端模块间隙加大至 26px（联赛图标行除外） */
	.home-grid-rows .grid-row { margin: 0 0 26px !important; }
	.home-grid-rows .grid-row:last-child { margin-bottom: 0 !important; }
	/* 联赛图标行与轮播图紧贴（移动端 6px，不随模块间隙加大） */
	.home-grid-rows .grid-row.grid-row-top-1 { margin-bottom: 6px !important; }
	.title-module { margin-bottom: 10px; width: 100%; }
	.title-module .title-wrapper { display: flex; align-items: center; justify-content: space-between; padding-bottom: 6px; }
	.title-module .title-wrapper h3 { font-size: 20px; }
	.title-module .module-title { font-size: 20px; }
	/* 标题列与按钮列保持同一行左右布局（不再上下换行） */
	/* 标题列：占据剩余空间 */
	.home-grid-rows .grid-row:not(.grid-row-top-1):not(.grid-row-top-2):not(.grid-row-top-3) > .grid-cols > .grid-col[class*="grid-col-top-"][class$="-1"] {
		flex: 1 1 auto !important;
		max-width: none !important;
		width: auto !important;
		min-width: 0;
	}
	/* 按钮列：内容宽度，靠右吸附浏览器边缘，与标题垂直居中齐平 */
	.home-grid-rows .grid-row:not(.grid-row-top-1):not(.grid-row-top-2):not(.grid-row-top-3) > .grid-cols > .grid-col[class*="grid-col-top-"][class$="-2"] {
		flex: 0 0 auto !important;
		max-width: none !important;
		width: auto !important;
		margin-top: 0 !important;
		margin-left: auto;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		padding-left: 8px;
	}
	/* 模块按钮容器：内容右对齐，让按钮吸附浏览器右侧边缘 */
	.module-button { width: auto; text-align: right; }
	.module-button .btn { padding: 8px 14px; font-size: 12px; }
}
@media (max-width: 480px) {
	.home-grid-rows { padding: 10px 8px 20px; }
	/* 小屏模块间隙加大至 24px（联赛图标行除外，保持 6px） */
	.home-grid-rows .grid-row { margin: 0 0 24px !important; }
	.title-module .title-wrapper h3 { font-size: 18px; }
}

/* ==========================================================================
   3. 首页：联赛图标导航（module-categories-292）— 横向滑动 + 进度条
   ========================================================================== */
@media (max-width: 767px) {
	.module-categories-292 .module-body { margin: 0; }
	.module-categories-292 .category-grid:not(.swiper-wrapper) {
		display: flex !important;
		flex-wrap: nowrap !important;
		/* 覆盖 theme.css L790 的 justify-content: center：
		   nowrap + 内容溢出时，center 会把第一个 item 推到容器左边界之外（offsetLeft 为负），
		   被 overflow 裁剪且 scrollLeft=0 无法滚回，导致第一个圆形图标显示不全。
		   改为 flex-start 确保第一个 item 从左侧 padding 之后完整显示。 */
		justify-content: flex-start !important;
		gap: 6px;
		margin: 0;
		padding: 4px 4px 10px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		/* 关键：只声明处理水平平移手势，垂直手势直接透传给页面，解决上下滑无反应 */
		touch-action: pan-x;
		/* 防止滚动到边界时链式触发父级页面滚动 */
		overscroll-behavior-x: contain;
	}
	.module-categories-292 .category-grid:not(.swiper-wrapper)::-webkit-scrollbar { display: none; }
	.module-categories-292 .category-layout:not(.swiper-slide) {
		flex: 0 0 auto !important;
		width: calc((100vw - 28px) / 4.5) !important;
		max-width: 96px;
		padding: 4px;
		display: flex;
		flex-direction: column;
		align-items: center;
		scroll-snap-align: start;
	}
	.module-categories-292 .category-thumb .image a {
		width: 52px; height: 52px;
		border-radius: 50%;
		background: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 6px;
		transition: box-shadow .25s;
	}
	.module-categories-292 .category-thumb:hover .image a {
		box-shadow: 0 6px 20px rgba(0,0,0,.12);
	}
	.module-categories-292 .category-thumb .image img {
		width: 100%; height: 100%;
		object-fit: contain;
	}
	.module-categories-292 .category-thumb .name a {
		font-size: 11px;
		line-height: 1.3;
		text-align: center;
		word-break: break-word;
		margin-top: 6px;
	}
}
@media (max-width: 380px) {
	.module-categories-292 .category-layout:not(.swiper-slide) {
		width: calc((100vw - 24px) / 4) !important;
	}
	.module-categories-292 .category-thumb .image a { width: 46px; height: 46px; }
	.module-categories-292 .category-thumb .name a { font-size: 10px; }
}

/* ==========================================================================
   4. 首页：板块子分类网格（module-categories）— 横向滑动 + 进度条
   ========================================================================== */
@media (max-width: 767px) {
	.module-categories:not(.module-categories-292) .module-body { margin: 0; }
	.module-categories:not(.module-categories-292) .category-grid:not(.swiper-wrapper) {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 6px;
		margin: 0;
		padding: 4px 4px 10px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		/* 关键：只声明处理水平平移手势，垂直手势直接透传给页面，解决上下滑无反应 */
		touch-action: pan-x;
		/* 防止滚动到边界时链式触发父级页面滚动 */
		overscroll-behavior-x: contain;
	}
	.module-categories:not(.module-categories-292) .category-grid:not(.swiper-wrapper)::-webkit-scrollbar { display: none; }
	.module-categories:not(.module-categories-292) .category-layout:not(.swiper-slide) {
		flex: 0 0 auto !important;
		width: calc((100vw - 28px) / 4.5) !important;
		max-width: 96px;
		padding: 4px;
		display: flex;
		flex-direction: column;
		align-items: center;
		scroll-snap-align: start;
	}
	.module-categories:not(.module-categories-292) .category-thumb .image a {
		width: 52px; height: 52px;
		border-radius: 50%;
		background: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 6px;
		transition: box-shadow .25s;
	}
	.module-categories:not(.module-categories-292) .category-thumb:hover .image a {
		box-shadow: 0 6px 20px rgba(0,0,0,.12);
	}
	.module-categories:not(.module-categories-292) .category-thumb .image img {
		width: 100%; height: 100%;
		object-fit: contain;
	}
	.module-categories:not(.module-categories-292) .category-thumb .name a {
		font-size: 11px;
		line-height: 1.3;
		text-align: center;
		word-break: break-word;
		margin-top: 6px;
	}
}
@media (max-width: 380px) {
	.module-categories:not(.module-categories-292) .category-layout:not(.swiper-slide) {
		width: calc((100vw - 24px) / 4) !important;
	}
	.module-categories:not(.module-categories-292) .category-thumb .image a { width: 46px; height: 46px; }
	.module-categories:not(.module-categories-292) .category-thumb .name a { font-size: 10px; }
}

/* ==========================================================================
   5. 首页：主轮播图（home-slider / Swiper）
   尺寸(430×550)、箭头、分页、进度条全部由 theme.css 统一管理，此处不再重复
   ========================================================================== */

/* ==========================================================================
   6. 首页：Bestseller 商品卡（2 列网格 / 紧凑）
   ========================================================================== */
@media (max-width: 767px) {
	.featured-module { width: 100%; }
	.featured-module-products {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 12px;
		padding: 0 0 8px;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		/* proximity 替代 mandatory：允许自由滑动不强制吸附，符合 free scrolling 要求 */
		scroll-snap-type: x proximity;
		/* iOS 动量滚动，提升滑动顺滑度 */
		-webkit-overflow-scrolling: touch;
		/* 关键：只声明处理水平平移手势，垂直手势直接透传给页面，解决上下滑无反应 */
		touch-action: pan-x;
		/* 防止滚动到边界时链式触发父级页面滚动 */
		overscroll-behavior-x: contain;
		/* Firefox / IE 滚动条隐藏（webkit 由下方独立规则处理） */
		scrollbar-width: none;
		-ms-overflow-style: none;
	}
	.featured-module-products .featured-module-item {
		flex: 0 0 calc((100vw - 34px) / 2) !important;
		width: calc((100vw - 34px) / 2) !important;
		max-width: 248px;
		margin: 0;
		min-width: 0;
		scroll-snap-align: start;
		/* 允许自由滑动多个，不强制每次只滑一个 */
		scroll-snap-stop: normal;
	}
	.featured-module-products .featured-module-item .featured-module-product-card { height: 100%; }
	.featured-module-product-info { padding: 6px 4px; }
	.featured-module-product-info h3 { font-size: 12px; line-height: 1.3; margin: 4px 0; }
	.featured-module-product-info .price { font-size: 13px; }
}

/* ==========================================================================
   7. 商城/分类/标签页 - 子分类圆形图标 + 滑动条
   ========================================================================== */
@media (max-width: 991px) {
	.refine-categories { padding: 14px 0 18px; }
	.refine-categories .refine-title { font-size: 22px; font-weight: 700; margin: 0 0 14px; color: var(--theme-dark); }
	.refine-items-wrapper { position: relative; }
	.refine-items {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 8px;
		padding: 4px 12px 10px;
		margin: 0;
		overflow-x: auto !important;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scroll-behavior: smooth;
		scrollbar-width: none;
		touch-action: pan-x;
		overscroll-behavior-x: contain;
	}
	.refine-items::-webkit-scrollbar { display: none; }
	.refine-item {
		flex: 0 0 auto !important;
		width: 90px;
		display: flex;
		flex-direction: column;
		align-items: center;
		scroll-snap-align: start;
		padding: 4px;
	}
	.refine-item a {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		color: var(--theme-dark);
		text-decoration: none;
		width: 100%;
	}
	.refine-item .refine-thumb {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 56px;
		height: 56px;
		border-radius: 50%;
		background: #fff;
		padding: 6px;
		border: 1px solid #e5e5e5;
		box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
		transition: box-shadow .2s, transform .2s;
		/* overflow: visible 和首页 .image a 一致：避免 flex item 的 height:100% 被解析为容器高度导致图片变形 */
		overflow: visible;
	}
	.refine-item a:active .refine-thumb,
	.refine-item a:hover .refine-thumb {
		box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
		transform: scale(1.04);
	}
	.refine-item .refine-thumb img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		/* img 本身圆形，避免方角溢出圆形容器 */
		border-radius: 50%;
	}
	.refine-item .refine-name {
		display: block;
		margin-top: 6px;
		font-size: 11px;
		line-height: 1.3;
		color: var(--theme-dark);
		font-weight: 500;
		word-break: break-word;
		max-width: 84px;
	}
	/* 进度条 */
	.refine-progress {
		height: 3px;
		background: #e2e2e2;
		border-radius: 2px;
		margin: 0 12px;
		overflow: hidden;
	}
	.refine-progress-bar {
		height: 100%;
		background: var(--theme-dark);
		border-radius: 2px;
		width: 30%;
		transition: width .15s ease;
	}
}
@media (max-width: 380px) {
	.featured-module-products { gap: 6px; }
	.featured-module-product-info h3 { font-size: 11px; }
}

/* ==========================================================================
   7. 首页：Banners 网格（4 列）
   ========================================================================== */
@media (max-width: 991px) {
	.module-banners .module-body {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
	.module-banners .module-body .module-item {
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	.module-banners .module-body .module-item a {
		display: block !important;
		aspect-ratio: 1 / 1;
	}
	.module-banners .module-body .module-item img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}
@media (max-width: 480px) {
	.module-banners .module-body { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.module-banners .banner-caption { font-size: 13px; }
}

/* ==========================================================================
   8. 首页：商品 swiper（module-products-253）
   ========================================================================== */
@media (max-width: 991px) {
	.module-products-253 .swiper-slide {
		width: calc((100% - 25px) / 2) !important;
	}
}
@media (max-width: 480px) {
	.module-products-253 .swiper-slide { width: calc((100% - 12px) / 2) !important; }
	.module-products-253 .product-thumb .caption .name { font-size: 12px; }
	.module-products-253 .product-thumb .caption .price { font-size: 13px; }
}

/* ==========================================================================
   9. 商城/列表/标签页 - mobile 重构（从 0 构建）
   --------------------------------------------------------------------------
   设计原则：
   - 抽屉式筛选 + 全屏蒙板
   - 工具栏与排序紧凑排布
   - 商品卡 2 列网格带更多视觉层次
   ========================================================================== */
@media (max-width: 991px) {
	/* 9.1 页面主容器 */
	.site-shop-template {
		padding: 0 12px 24px;
	}
	/* 9.2 头部标题区（filter-trigger-bar 下方，居中放大） */
	/* 选择器升级为 .page-header.shop-template-header（3 类）以覆盖 theme.css L1498 的同优先级规则 */
	.site-shop-template .page-header.shop-template-header {
		text-align: center;
		padding: 4px 0 6px;
		border-bottom: 0;
		margin-bottom: 6px;
	}
	.site-shop-template .shop-template-header .page-title {
		font-size: 26px;
		font-weight: 700;
		color: var(--theme-dark, #1a1a1a);
		margin: 0 0 4px;
		line-height: 1.25;
		letter-spacing: -.3px;
	}
	.site-shop-template .shop-template-subtitle {
		font-size: 13px;
		color: var(--theme-text-light, #777);
		line-height: 1.5;
		margin: 0;
	}
	/* refine-categories 容器（无 h3 标题，避免重复） */
	.site-shop-template .refine-categories {
		margin: 0 0 6px;
		padding: 8px 0 6px;
	}
	.site-shop-template .refine-categories .refine-title {
		display: none; /* 不输出，避免和 page-title 重复 */
	}
	/* 9.3 面包屑 */
	.site-shop-template .breadcrumb {
		font-size: 12px;
		padding: 6px 0 4px;
		margin: 0;
		background: transparent;
	}
	/* 9.4 工具栏：搜索框已删除，仅剩右侧 Sort/Show 下拉 */
	.site-shop-template .shop-template-row {
		display: flex;
		flex-direction: column;
		/* 覆盖 theme.css L1508 的 align-items: flex-start，让 main 在 column 布局下水平 stretch 占满视口 */
		align-items: stretch;
		gap: 6px;
	}
	/* 强制 main 占满父容器宽度：分类/标签页的 refine-categories（flex nowrap 子项）会撑开 main 的 content-based width 到 1250px，
	   而 flexbox spec 中 align-self: stretch 只在 content < container 时生效，content > container 时 main 保持 content-based width 不缩小。
	   shop 页无 refine-categories 故正常；分类/标签页需 width:100% 强制等于父容器宽度 */
	.site-shop-template .shop-template-main {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
	.site-shop-template .shop-template-toolbar {
		display: flex;
		justify-content: flex-end;
		gap: 8px;
		margin-bottom: 6px;
		padding: 6px 14px;
		/* 移动端去除工具栏外层大框（桌面端有搜索框需要卡片化，移动端搜索框已删除，
		   两个 select 本身已有边框，外层大框多余） */
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}
	/* 9.5 筛选触发按钮（卡片化，filter-trigger-bar 全宽居中拉长） */
	.site-shop-template .filter-trigger,
	.site-shop-template .filter-trigger-bar,
	.site-shop-template .filter-trigger-mobile {
		display: flex !important;
		align-items: center;
		justify-content: center;
		gap: 8px;
		width: 100%;
		max-width: 100%;
		margin: 8px 0 8px;
		padding: 16px 20px;
		background: #fff;
		color: var(--theme-dark, #1a1a1a);
		border: 1px solid #e5e5e5;
		border-radius: 10px;
		font-size: 15px;
		font-weight: 600;
		letter-spacing: .3px;
		cursor: pointer;
		transition: all .2s;
		box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
	}
	.site-shop-template .filter-trigger:active,
	.site-shop-template .filter-trigger-bar:active,
	.site-shop-template .filter-trigger-mobile:active {
		background: var(--theme-dark, #1a1a1a);
		color: #fff;
		border-color: var(--theme-dark, #1a1a1a);
	}
	.site-shop-template .filter-trigger i,
	.site-shop-template .filter-trigger-bar i,
	.site-shop-template .filter-trigger-mobile i { font-size: 16px; }
	/* 9.6 工具栏右侧：排序 + 每页 */
	.site-shop-template .shop-template-toolbar-right {
		display: flex;
		gap: 6px;
		justify-content: flex-end;
	}
	.site-shop-template .shop-template-toolbar-right .woocommerce-ordering,
	.site-shop-template .shop-template-toolbar-right .woocommerce-per-page {
		display: flex;
		align-items: center;
		flex: 1;
		min-width: 0;
		gap: 4px;
	}
	.site-shop-template .shop-template-toolbar-right .toolbar-label {
		font-size: 11px;
		color: var(--theme-text-light);
		display: none;
	}
	.site-shop-template .shop-template-toolbar-right select {
		flex: 1;
		min-width: 0;
		height: 36px;
		padding: 4px 24px 4px 8px;
		font-size: 12px;
		background: #fff
			url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2.5'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e")
			no-repeat right 8px center;
		border: 1px solid var(--theme-border);
		border-radius: 6px;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	/* 9.7 搜索条已删除（搜索框和按钮已从模板移除） */
	/* 9.8 结果数 */
	.site-shop-template .shop-template-result-count {
		font-size: 12px;
		color: var(--theme-text-light);
		padding: 2px 0 4px;
		margin: 0 0 4px;
	}
	/* 9.9 抽屉侧栏（从 0 构建）— 使用 #column-left ID 提升权重覆盖 theme.css 的 transparent */
	.site-shop-template #column-left.side-column,
	.site-shop-template .side-column {
		position: fixed;
		top: 0; left: 0;
		height: 100vh;
		width: 86%;
		max-width: 360px;
		background: #fff;
		z-index: 9999;
		transform: translateX(-100%);
		transition: transform .3s cubic-bezier(.4,0,.2,1);
		display: flex;
		flex-direction: column;
		overflow: hidden;
		box-shadow: 4px 0 24px rgba(0,0,0,.15);
	}
	/* show-mobile 状态：必须用 #column-left.side-column.show-mobile（特异性 0,1,3,0）压过
	   基础规则 .site-shop-template #column-left.side-column（0,1,2,0）的 translateX(-100%)，
	   否则 ID 选择器特异性更高，抽屉永远停在 -100% 不动。!important 双保险防其他冲突 */
	.site-shop-template #column-left.side-column.show-mobile,
	.site-shop-template .side-column.show-mobile { transform: translateX(0) !important; }
	/* 筛选抽屉遮罩层（JS 动态创建 #filter-overlay） */
	#filter-overlay.filter-overlay {
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, .5);
		z-index: 9998;
		opacity: 0;
		visibility: hidden;
		transition: opacity .3s, visibility .3s;
	}
	#filter-overlay.filter-overlay.show {
		opacity: 1;
		visibility: visible;
	}
	/* 抽屉头部 */
	.site-shop-template .side-column .filter-close-mobile {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		padding: 14px 16px;
		font-size: 15px;
		font-weight: 700;
		color: var(--theme-dark);
		border-bottom: 1px solid var(--theme-border);
		background: #fafafa;
		cursor: pointer;
		margin: 0;
	}
	.site-shop-template .side-column .filter-close-mobile::after {
		content: "×";
		font-size: 24px;
		line-height: 1;
		color: var(--theme-text-light);
	}
	/* 抽屉滚动区 */
	.site-shop-template .side-column .grid-rows {
		flex: 1;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		padding: 8px 0 80px;
	}
	.site-shop-template .side-column .grid-row,
	.site-shop-template .side-column .grid-rows { display: block; }
	/* 9.10 抽屉内筛选块（基于实际 HTML：.panel / .panel-heading / .panel-title / .accordion-toggle） */
	.site-shop-template .module-filter {
		padding: 0;
		margin: 0;
	}
	.site-shop-template .module-filter .panel-group {
		display: flex;
		flex-direction: column;
	}
	.site-shop-template .module-filter .panel {
		border-bottom: 1px solid var(--theme-border);
		background: #fff;
	}
	.site-shop-template .module-filter .panel:last-child { border-bottom: 0; }
	.site-shop-template .module-filter .panel-heading {
		padding: 0;
	}
	.site-shop-template .module-filter .panel-title {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 14px 16px;
		margin: 0;
		font-size: 13px;
		font-weight: 700;
		color: var(--theme-dark);
		text-transform: uppercase;
		letter-spacing: .5px;
	}
	.site-shop-template .module-filter .panel-title font {
		font-size: 13px;
		font-weight: 700;
		color: var(--theme-dark);
	}
	.site-shop-template .module-filter .panel-title .accordion-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		padding: 0;
		text-decoration: none;
		color: inherit;
		font-weight: inherit;
	}
	.site-shop-template .module-filter .panel-title .rotated {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 20px;
		height: 20px;
		transition: transform .2s;
	}
	.site-shop-template .module-filter .panel-title .rotated svg { display: block; }
	.site-shop-template .module-filter .panel:not(.panel-active) .panel-title .rotated { transform: rotate(-90deg); }
	.site-shop-template .module-filter .panel-body {
		padding: 0 16px 12px;
	}
	/* 折叠：默认显示（已有 class "in"） */
	.site-shop-template .module-filter .panel-collapse.collapse { display: none; }
	.site-shop-template .module-filter .panel-collapse.collapse.in { display: block; }
	/* 筛选项 */
	.site-shop-template .module-filter .filter-checkbox {
		display: flex;
		flex-direction: column;
		gap: 0;
	}
	.site-shop-template .module-filter .filter-item {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 8px 0;
		margin: 0;
		font-size: 13px;
		color: var(--theme-dark);
		gap: 8px;
		cursor: pointer;
	}
	.site-shop-template .module-filter .filter-item.filter-item-hidden { display: none; }
	.site-shop-template .module-filter .filter-item input[type="checkbox"] {
		width: 16px;
		height: 16px;
		accent-color: var(--theme-primary);
		flex-shrink: 0;
	}
	.site-shop-template .module-filter .filter-item .links-text {
		flex: 1;
		min-width: 0;
		font-size: 13px;
		color: var(--theme-dark);
		word-break: break-word;
	}
	.site-shop-template .module-filter .filter-item .count-badge {
		font-size: 11px;
		color: var(--theme-text-light);
		background: #f3f3f3;
		border-radius: 10px;
		padding: 2px 8px;
		flex-shrink: 0;
	}
	/* View More */
	.site-shop-template .module-filter .show-more-container { margin-top: 4px; }
	.site-shop-template .module-filter .show-more-btn {
		display: inline-block;
		padding: 6px 12px;
		font-size: 12px;
		color: var(--theme-primary);
		background: transparent;
		border: 1px solid var(--theme-primary);
		border-radius: 14px;
		cursor: pointer;
	}
	/* 价格区间 */
	.site-shop-template .module-filter .filter-price {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}
	.site-shop-template .module-filter .filter-price-inputs {
		display: flex;
		align-items: center;
		gap: 4px;
		flex-wrap: wrap;
	}
	.site-shop-template .module-filter .filter-price-inputs .currency-symbol {
		font-size: 13px;
		color: var(--theme-text-light);
	}
	.site-shop-template .module-filter .filter-price-inputs .currency-separator {
		font-size: 13px;
		color: var(--theme-text-light);
		margin: 0 2px;
	}
	.site-shop-template .module-filter .filter-price-inputs input {
		flex: 1;
		min-width: 60px;
		height: 36px;
		padding: 6px 8px;
		font-size: 13px;
		text-align: center;
		border: 1px solid var(--theme-border);
		border-radius: 6px;
		background: #fff;
	}
	.site-shop-template .module-filter .filter-price-apply {
		width: 100%;
		padding: 10px 16px;
		font-size: 13px;
		font-weight: 700;
		color: #fff;
		background: var(--theme-dark);
		border: 0;
		border-radius: 8px;
		cursor: pointer;
	}
	.site-shop-template .module-filter .filter-price-apply:active { background: var(--theme-primary); }
	.site-shop-template .module-filter .filter-price-hint {
		font-size: 11px;
		color: var(--theme-text-light);
		margin: 0;
	}
	/* 抽屉底部固定应用按钮 */
	.site-shop-template .side-column .filter-apply-bar {
		position: sticky;
		bottom: 0;
		left: 0;
		right: 0;
		background: #fff;
		border-top: 1px solid var(--theme-border);
		padding: 12px 16px;
		display: flex;
		gap: 8px;
		z-index: 10;
	}
	/* 9.11 refine 子分类横向滚动 */
	.site-shop-template .refine-categories { margin-bottom: 6px; }
	.site-shop-template .refine-categories .refine-title {
		font-size: 14px;
		font-weight: 600;
		padding: 8px 0;
		margin: 0 0 8px;
	}
	.site-shop-template .refine-categories .refine-items {
		display: flex;
		gap: 10px;
		padding: 4px 0 8px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}
	.site-shop-template .refine-categories .refine-item {
		flex: 0 0 auto;
		text-align: center;
		width: 80px;
	}
	.site-shop-template .refine-categories .refine-item a {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 4px;
		text-decoration: none;
	}
	.site-shop-template .refine-categories .refine-name {
		font-size: 11px;
		color: var(--theme-dark);
		line-height: 1.3;
		word-break: break-word;
	}
}

/* 商品网格：mobile 2 列（从 0 构建精美版） */
@media (max-width: 991px) {
	.main-products.product-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px !important;
		margin: 0 !important;
	}
	.main-products.product-grid .product-layout-wrap {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}
	/* 商品卡：白底圆角 + 阴影 */
	.main-products .product-layout .product-thumb {
		background: #fff;
		border-radius: 10px;
		overflow: hidden;
		box-shadow: 0 1px 3px rgba(0,0,0,.05);
		transition: box-shadow .2s, transform .2s;
	}
	.main-products .product-layout .product-thumb:active {
		box-shadow: 0 4px 12px rgba(0,0,0,.1);
		transform: translateY(-1px);
	}
	/* 图片区：固定高宽比 + 标签 */
	.main-products .product-layout .image { position: relative; }
	.main-products .product-layout .image .product-img {
		padding-top: 110% !important;
		background: #fafafa;
	}
	/* 商品标签 */
	.main-products .product-layout .product-labels {
		position: absolute;
		top: 6px;
		left: 6px;
		display: flex;
		flex-direction: column;
		gap: 4px;
		z-index: 2;
	}
	.main-products .product-layout .product-labels .product-label {
		font-size: 10px;
		font-weight: 700;
		padding: 2px 6px;
		border-radius: 3px;
		color: #fff;
		background: var(--theme-primary);
		text-transform: uppercase;
		letter-spacing: .3px;
	}
	/* 文本区 */
	.main-products .product-layout .caption {
		padding: 8px 10px 10px;
		display: flex;
		flex-direction: column;
		gap: 4px;
	}
	.main-products .product-layout .caption .name {
		font-size: 12px;
		font-weight: 500;
		line-height: 1.35;
		margin: 0;
		color: var(--theme-dark);
		overflow: hidden;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		min-height: 32px;
	}
	.main-products .product-layout .caption .name a { color: inherit; text-decoration: none; }
	/* 价格 */
	.main-products .product-layout .caption .price {
		font-size: 14px;
		font-weight: 700;
		color: var(--theme-primary);
		margin: 2px 0 0;
	}
	.main-products .product-layout .caption .price > div { display: flex; align-items: baseline; flex-wrap: wrap; }
	.main-products .product-layout .caption .price del { order: 2; color: #999 !important; font-weight: 400; font-size: 11px; text-decoration: line-through; margin-left: 4px; }
	.main-products .product-layout .caption .price ins { order: 1; background: none; text-decoration: none; color: var(--theme-primary); font-weight: 700; }
	.main-products .product-layout .caption .featured-custom-text {
		display: block;
		font-size: 10px;
		font-weight: 600;
		color: var(--theme-primary);
		background: none;
		border: 0;
		padding: 0;
		align-self: flex-start;
	}
	/* 隐藏 desktop 端 hover 才显示的按钮 */
	.main-products .product-layout .button-group,
	.main-products .product-layout .extra-group,
	.main-products .product-layout .wish-group { display: none !important; }
	/* 收藏小图标（mobile 端以小图标替代） */
	.main-products .product-layout .image::after {
		content: "\f08a";
		font-family: 'FontAwesome';
		position: absolute;
		top: 6px;
		right: 6px;
		width: 30px;
		height: 30px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: rgba(255,255,255,.9);
		color: var(--theme-text-light);
		border-radius: 50%;
		font-size: 13px;
		z-index: 2;
	}
}
@media (max-width: 380px) {
	.main-products.product-grid { gap: 8px !important; }
	.main-products .product-layout .caption { padding: 6px 8px 8px; }
	.main-products .product-layout .caption .name { font-size: 11px; min-height: 30px; }
	.main-products .product-layout .caption .price { font-size: 13px; }
}

/* 分页 mobile */
@media (max-width: 991px) {
	.woocommerce-pagination { padding: 16px 0; }
	.woocommerce-pagination ul {
		display: flex;
		flex-wrap: wrap;
		gap: 4px;
		justify-content: center;
	}
	.woocommerce-pagination li a,
	.woocommerce-pagination li span {
		min-width: 32px;
		height: 32px;
		padding: 0 8px;
		font-size: 12px;
	}
}

/* ==========================================================================
   10. 商品详情页（single-product）
   ========================================================================== */
@media (max-width: 991px) {
	/* 主容器：上下排 */
	.product-info.has-extra-button {
		display: flex;
		flex-direction: column;
		gap: 16px;
		padding: 12px !important;
	}
	.product-left, .product-right {
		flex: 1 1 100% !important;
		max-width: 100% !important;
		width: 100% !important;
		padding: 0 !important;
	}
	/* 画廊 */
	.product-image .main-image .swiper-container { width: 100%; aspect-ratio: 1/1; }
	.product-image .swiper-button-prev,
	.product-image .swiper-button-next { width: 32px; height: 32px; }
	.product-image .swiper-button-prev::after,
	.product-image .swiper-button-next::after { font-size: 14px; }
	.product-image .swiper-pagination { bottom: 8px; }
	.product-thumbs { display: flex; gap: 6px; padding: 6px 0; overflow-x: auto; }
	.product-thumbs .swiper-slide { width: 60px; flex-shrink: 0; }
	/* 标题区 */
	.product-right .title.page-title { font-size: 18px; line-height: 1.3; margin-bottom: 4px; }
	.product-right .rating-page { gap: 6px; font-size: 12px; }
	.product-right .featured-custom-text { font-size: 12px; color: var(--theme-primary); background: none; border: 0; padding: 0; margin: 0 0 4px; }
	.product-right .product-price-group { font-size: 18px; padding: 4px 0; margin-bottom: 6px; }
	.product-right .product-price-old { font-size: 13px; }
	/* 详情页价格 del/ins 移动端字号（v4 放大） */
	.product-right .detail-price .price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
	.product-right .detail-price ins { font-size: 28px; }
	.product-right .detail-price del { font-size: 17px; }
	.product-right .product-tax { font-size: 12px; }
	/* 移除详情页灰色分隔线（标题下、价格下、尺码标题下、小计上） */
	.product-right .product-price-group { border-top: 0 !important; border-bottom: 0 !important; }
	.product-right .options-title { border-bottom: 0 !important; padding-bottom: 0 !important; margin-bottom: 8px !important; }
	.product-right .product-options { padding: 6px 0 0 !important; }
	.product-right .product-price-group2 { border-top: 0 !important; }
	/* 表单选项 */
	.product-right .form-group { margin-bottom: 12px; }
	.product-right .control-label { font-size: 13px; }
	.product-right .form-control { height: 38px; padding: 6px 10px; font-size: 13px; }
	.product-right .size-radio #input-option-size { width: 100%; gap: 8px; }
	.product-right .size-radio .radio { display: block; min-width: 0; margin: 0; }
	.product-right .size-radio .radio label { width: 100%; min-width: 0; padding: 6px 8px; }
	.product-right .size-radio .radio .option-value { padding: 0; font-size: 12px; }
	.product-right .size-guide {
		display: inline-flex;
		align-items: center;
		gap: 5px;
		margin: 10px 0;
		color: #000;
		font-size: 14px;
		line-height: 1.2;
	}
	.product-right .size-guide .icon-size-guide {
		flex: 0 0 24px;
		width: 24px;
		height: 24px;
	}
	.product-right .size-guide .size-guide-text {
		padding-left: 0;
		text-decoration-line: underline;
		text-underline-offset: 2px;
	}
	.product-right .patch-options { display: grid; grid-template-columns: repeat(auto-fit, 72px); gap: 8px; }
	.product-right .patch-options .radio-image img { width: 100%; max-width: none; height: 100%; }
	.product-right .patch-options .radio-image .option-value { font-size: 11px; }
	/* 个性化 tab */
	.product-right .m-form-block-items { display: flex; gap: 6px; border: 0; border-radius: 0; overflow: visible; }
	.product-right .m-form-block-item {
		flex: 1;
		padding: 8px 10px;
		font-size: 12px;
		text-align: center;
		cursor: pointer;
		background: #eceff1;
		border: 1px solid #eceff1;
		border-radius: 5px;
		transition: background .15s, color .15s;
	}
	.product-right .m-form-block-item:first-child { border-left: 1px solid #eceff1; }
	/* 激活态：红色背景 + 白字，明确交互反馈 */
	.product-right .m-form-block-item.m-form-block-item-actvie {
		background: #000;
		color: #fff;
		border-color: #000;
		font-weight: 700;
	}
	/* 按钮组 */
	.product-right .button-group-page { display: flex; flex-direction: column; gap: 8px; }
	.product-right .stepper-group { display: flex; flex-direction: column; gap: 8px; }
	.product-right .stepper { display: inline-flex; align-items: center; gap: 4px; }
	.product-right .stepper input.form-control { width: 60px; height: 38px; }
	.product-right .btn-cart,
	.product-right .btn-extra {
		width: 100%;
		padding: 12px 16px;
		font-size: 14px;
	}
	.product-right .wishlist-compare { display: flex; gap: 6px; }
	.product-right .wishlist-compare .btn {
		flex: 1;
		padding: 10px;
		font-size: 12px;
	}
	/* 价格组 */
	.product-right .product-price-group2 {  margin-top: 4px; }
	.product-right .product-price-group2 .price-wrapper {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		width: 100%;
		margin: 10px 0;
	}
	.product-right .product-price-group2 .price-group {
		justify-content: flex-end;
		margin-left: auto;
	}
	.product-right .price-subtotal {
		font-size: 24px;
		font-weight: 700;
		line-height: 1;
		color: var(--theme-dark);
		margin-bottom: 0;
	}
	.product-right .subtotal-display {
		font-size: 24px;
		font-weight: 700;
		line-height: 1;
		color: var(--theme-primary);
		white-space: nowrap;
	}
	/* 手风琴 */
	.product_accordion .panel-heading .accordion-toggle {
		padding: 12px 8px;
		font-size: 13px;
	}
	.product_accordion .panel-body { padding: 8px; font-size: 13px; }
	/* 信任徽章 — 已删除模块，移动端同样强制隐藏 */
	.product-blocks-details,
	.product-blocks-details .advantage_wrapper,
	.product-blocks-details .advantage_icon,
	.product-blocks-details .advantage_title,
	.product-blocks-details .advantage_text { display: none !important; }
	/* 支付图标 */
	.product-pay-container .payment-icons { display: flex; flex-wrap: wrap; gap: 6px; }
	.product-pay-container .payment-icons img { height: 22px; }
	/* tags — 商品详情页已删除，防御性隐藏 */
	.product-info .tags,
	.product-info .tags a { display: none !important; }

	/* ====================================================================
	   移动端：底部 fixed 快捷购物栏（mobile-sticky-bar）
	   --------------------------------------------------------------------
	   解决移动端 ADD TO BAG / BUY IT NOW 按钮被推至 y≈1361px 需滚动很久的问题。
	   桌面端（>991px）完全隐藏，不影响 desktop 体验。
	   ==================================================================== */
	.mobile-sticky-bar {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 99950;
		background: #fff;
		box-shadow: 0 -8px 28px rgba(0, 0, 0, .12);
		border-top: 1px solid var(--theme-border, #e5e5e5);
		padding: 10px max(12px, env(safe-area-inset-left, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-right, 0px));
		gap: 8px;
		transform: translateY(0);
		opacity: 1;
		visibility: visible;
		transition: transform .24s cubic-bezier(.2, .72, .25, 1), opacity .18s ease, visibility .18s ease;
		-webkit-transform: translateY(0);
	}
	.msb-btn {
		flex: 1;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 6px;
		min-height: 50px;
		padding: 10px 8px;
		border: 1px solid #111;
		border-radius: 7px;
		font-size: 13px;
		font-weight: 700;
		letter-spacing: .3px;
		text-transform: uppercase;
		cursor: pointer;
		transition: background .15s, color .15s, opacity .15s, transform .15s;
		-webkit-tap-highlight-color: transparent;
	}
	.msb-btn .msb-icon { font-size: 14px; line-height: 1; }
	.msb-btn .msb-icon i { font-style: normal; }
	.msb-btn-cart {
		background: #fff;
		color: #111;
	}
	.msb-btn-cart:hover, .msb-btn-cart:active { background: #f1f2f3; }
	.msb-btn-buy {
		background: #050505;
		color: #fff;
	}
	.msb-btn-buy:hover, .msb-btn-buy:active { background: #292929; }
	.msb-btn:disabled { opacity: .5; cursor: not-allowed; }
	.mobile-sticky-bar.is-submitting .msb-btn { pointer-events: none; opacity: .58; }
	.mobile-sticky-bar.is-submitting .msb-btn::after {
		content: '';
		width: 13px;
		height: 13px;
		margin-left: 2px;
		border: 2px solid currentColor;
		border-right-color: transparent;
		border-radius: 50%;
		animation: theme577StickySpin .7s linear infinite;
	}
	@keyframes theme577StickySpin { to { transform: rotate(360deg); } }
	/* 真实购买按钮只要进入可用视口，快捷栏就完全隐藏，避免重复和遮挡。 */
	.mobile-sticky-bar.is-hidden {
		transform: translateY(calc(100% + 12px));
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}
	body.theme577-mobile-sticky-visible.single-product .site-content { padding-bottom: 82px; }
	body.theme577-mobile-sticky-visible.single-product .scroll-top { bottom: 82px; }
	body.mobile-menu-open .mobile-sticky-bar { transform: translateY(calc(100% + 12px)); opacity: 0; visibility: hidden; pointer-events: none; }
	/* 兼容极小屏（≤380px） */
	@media (max-width: 380px) {
		.msb-btn { font-size: 11px; padding: 8px 5px; min-height: 46px; }
		.msb-btn .msb-icon { font-size: 13px; }
	}
}
@media (min-width: 992px) {
	/* 桌面端：完全隐藏 sticky bar（不影响 desktop 体验） */
	.mobile-sticky-bar { display: none !important; }
	.single-product .site-content,
	.single-product main,
	.single-product .container { padding-bottom: 0; }
}
@media (max-width: 480px) {
	.product-info.has-extra-button { padding: 8px !important; gap: 12px; }
	.product-right .title.page-title { font-size: 16px; }
}

/* ==========================================================================
   11. 全局：面包屑、页脚、滚动条辅助
   ========================================================================== */
@media (max-width: 991px) {
	/* 面包屑 */
	.breadcrumb {
		font-size: 12px;
		padding: 8px 10px;
	}
	.breadcrumb a, .breadcrumb span { font-size: 12px; }
	/* 页脚服务区 */
	footer .service-block-wrapper {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
		padding: 16px 10px;
	}
	footer .service-block-wrapper .service-block { padding: 0; }
	footer .service-block-wrapper .service-title { font-size: 13px; }
	footer .service-block-wrapper .service-details { font-size: 12px; }
	footer .footer-links-wrapper .grid-row-1 .grid-cols { grid-template-columns: repeat(2, 1fr) !important; gap: 16px; }
	footer .footer-links-wrapper .grid-col h3, footer .footer-col-title { font-size: 13px; }
	footer .footer-links-wrapper .grid-col li, footer .footer-col ul li { font-size: 12px; }
	footer .payment-methods img { height: 22px; }
	/* 滚动条 */
	.refine-items::-webkit-scrollbar { height: 4px; }
	.refine-items::-webkit-scrollbar-thumb { background: rgba(0,0,0,.2); border-radius: 2px; }
	/* 通用栅格 */
	.product-blocks-details,
	.product-blocks.blocks-bottom { padding: 0 12px; }
	/* 顶部公告滚动 */
	.header-top-bar .header-message {
		font-size: 12px;
		white-space: nowrap;
	}
}
@media (max-width: 480px) {
	footer .service-block-wrapper { grid-template-columns: 1fr; }
	footer .footer-links-wrapper .grid-row-1 .grid-cols { grid-template-columns: 1fr !important; }
}

/* 滚动到顶按钮 */
@media (max-width: 991px) {
	.scroll-top { width: 36px; height: 36px; bottom: 16px; right: 12px; font-size: 16px; }
}

/* ==========================================================================
   10. 首页 mobile 二次精修（针对截图 1-5）
   --------------------------------------------------------------------------
   1. 隐藏所有横向 swiper / 滚动条
   2. "ALLE XXX" 灰色按钮改为品牌色填充
   3. bestseller 商品卡图 1:1 紧凑比例
   4. promo bar 滚动时收窄
   5. 标题区 + "Damit Mehr" 链接样式
   ========================================================================== */
@media (max-width: 991px) {
	/* 10.1 横向滚动：启用 scroll-snap 提升手感 + 隐藏滚动条 */
	/* 注：保留为 swiper / category-grid / team-list 等容器；
	   不影响 .module-banners / .home-slider / .module-products 的常规容器 */
	/* 注意：.featured-module-products 已从此汇总规则移除，
	   它需要 proximity（自由滑动不强制吸附），走自身规则 L223。
	   圆形图标容器保持 mandatory（保持现有滚动行为） */
	.refine-items,
	.module-categories-292 .category-grid,
	.module-categories:not(.module-categories-292) .category-grid {
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch;
		scroll-behavior: smooth;
		/* 启用 x 轴吸附，让滑动有"咔哒"停顿感，提升手感 */
		scroll-snap-type: x mandatory !important;
		padding-bottom: 10px;
		-ms-overflow-style: none;
		scrollbar-width: none;
		touch-action: pan-x;
		/* 防止滚动到边界时链式触发父级页面滚动 */
		overscroll-behavior-x: contain;
	}
	/* 圆形图标容器：增加可拖动区域（商品卡自带高度，不需要） */
	.module-categories-292 .category-grid,
	.module-categories:not(.module-categories-292) .category-grid {
		min-height: 110px;
	}
	/* 滚动条：iOS 自动隐藏，Android Chrome 可调 */
	.featured-module-products::-webkit-scrollbar,
	.refine-items::-webkit-scrollbar,
	.module-categories-292 .category-grid::-webkit-scrollbar,
	.module-categories:not(.module-categories-292) .category-grid::-webkit-scrollbar {
		display: none;
	}
	.featured-module-products::-webkit-scrollbar-thumb,
	.refine-items::-webkit-scrollbar-thumb,
	.module-categories-292 .category-grid::-webkit-scrollbar-thumb,
	.module-categories:not(.module-categories-292) .category-grid::-webkit-scrollbar-thumb {
		display: none;
	}
	/* 抽屉/模态框才需要隐藏滚动条（保持隐藏） */
	.site-shop-template .side-column .grid-rows::-webkit-scrollbar { display: none; }
	.site-shop-template .side-column .grid-rows { scrollbar-width: none; }

	/* 10.1.1 关键例外：banner / slider 区域绝对不能被横向滚动影响 */
	/* 注：不强制 display / flex，让 swiper.min.css 自己的规则生效 */
	.module-banners,
	.home-slider,
	.home-slider .swiper-container,
	.home-slider .swiper-wrapper,
	.home-slider .swiper-slide,
	.home-slider .slider-list,
	.home-slider .slider-item,
	.home-slider .slider-image,
	.home-slider .slider-image a,
	.home-slider .slider-image img {
		overflow: visible !important;
		scroll-snap-type: none !important;
		scroll-behavior: auto !important;
		flex-wrap: nowrap !important;
	}
	.module-banners .module-body {
		overflow: visible !important;
		scroll-snap-type: none !important;
		scroll-behavior: auto !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	/* swiper 容器：container 负责裁剪，wrapper 必须 overflow:visible 让 slides 溢出 */
	/* 根因修复：移动端用 translate3d 移动 wrapper，如果 wrapper overflow:hidden，
	   wrapper 盒子（width:100%=375px）移出 container 后内容也消失 → 白屏。
	   改为 visible 让 slides 溢出 wrapper，由 container 的 overflow:hidden 裁剪。 */
	.home-slider,
	.home-slider .swiper-container {
		overflow: hidden !important;
	}
	.home-slider .swiper-wrapper {
		display: flex !important;
		overflow: visible !important;
	}
	.home-slider .swiper-slide {
		flex-shrink: 0 !important;
		width: 100% !important;
	}
	.module-banners .module-body .module-item img {
		width: 100% !important;
		height: 100% !important;
		display: block !important;
	}

	/* 10.1.2 防止轮播图刷新闪屏：初始化前隐藏，初始化后由 JS 移除 */
	.home-slider.swiper-init-pending { opacity: 0; }
	.home-slider.swiper-ready { opacity: 1; transition: opacity .3s ease; }

	/* 10.1.3 横向滚动容器进度条（iOS/Android 通用，由 JS 注入 .hscroll-progress） */
	.hscroll-progress {
		position: relative;
		display: block;
		width: 100%;
		height: 5px;
		background: #dedede;
		border-radius: 999px;
		margin: 6px 0 12px;
		overflow: hidden;
		pointer-events: none;
	}
	.hscroll-progress-thumb {
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		background: #9f9f9f;
		border-radius: 999px;
		transition: left .12s linear, transform .12s linear;
		will-change: left, transform;
	}
	.hscroll-progress.hscroll-no-overflow { opacity: .35; }
	.home-icon-progress {
		height: 14px;
		margin: 4px 0 12px;
		background: transparent;
		overflow: visible;
		pointer-events: auto;
		touch-action: none;
	}
	.home-icon-progress::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 4px;
		height: 5px;
		background: #dedede;
		border-radius: 999px;
	}
	.home-icon-progress .hscroll-progress-thumb {
		top: 4px;
		height: 5px;
		background: #8e8e8e;
	}
	.home-icon-progress.is-dragging .hscroll-progress-thumb {
		background: #777;
	}
	.home-icon-progress.hscroll-no-overflow {
		pointer-events: none;
	}

	/* 10.2 "View More" 按钮：吸附浏览器右侧边缘，与标题水平齐平 */
	.home-grid-rows .grid-row:not(.grid-row-top-1):not(.grid-row-top-2):not(.grid-row-top-3) > .grid-cols > .grid-col[class*="grid-col-top-"][class$="-2"] .module-button {
		width: auto !important;
		text-align: right !important;
		display: inline-block !important;
		white-space: nowrap;
		padding-right: 0;
	}
	.home-grid-rows .grid-row:not(.grid-row-top-1):not(.grid-row-top-2):not(.grid-row-top-3) > .grid-cols > .grid-col[class*="grid-col-top-"][class$="-2"] .module-button .btn,
	.home-grid-rows .grid-row:not(.grid-row-top-1):not(.grid-row-top-2):not(.grid-row-top-3) > .grid-cols > .grid-col[class*="grid-col-top-"][class$="-2"] .module-button a {
		background: transparent !important;
		color: rgba(112, 112, 114, 1) !important;
		border: 0 !important;
		border-radius: 0 !important;
		padding: 0 !important;
		font-size: 12px !important;
		font-weight: 400 !important;
		letter-spacing: 0 !important;
		text-transform: capitalize !important;
		text-decoration: none !important;
		display: inline-block !important;
		min-width: 0 !important;
		margin: 0 !important;
		box-shadow: none !important;
	}
	.home-grid-rows .grid-row:not(.grid-row-top-1):not(.grid-row-top-2):not(.grid-row-top-3) > .grid-cols > .grid-col[class*="grid-col-top-"][class$="-2"] .module-button .btn:hover,
	.home-grid-rows .grid-row:not(.grid-row-top-1):not(.grid-row-top-2):not(.grid-row-top-3) > .grid-cols > .grid-col[class*="grid-col-top-"][class$="-2"] .module-button a:hover {
		color: rgba(51, 51, 51, 1) !important;
		background: transparent !important;
	}
	.home-grid-rows .grid-row:not(.grid-row-top-1):not(.grid-row-top-2):not(.grid-row-top-3) > .grid-cols > .grid-col[class*="grid-col-top-"][class$="-5"] .module-button {
		text-align: center;
	}
	.home-grid-rows .grid-row:not(.grid-row-top-1):not(.grid-row-top-2):not(.grid-row-top-3) > .grid-cols > .grid-col[class*="grid-col-top-"][class$="-5"] .module-button .btn,
	.home-grid-rows .grid-row:not(.grid-row-top-1):not(.grid-row-top-2):not(.grid-row-top-3) > .grid-cols > .grid-col[class*="grid-col-top-"][class$="-5"] .module-button a {
		background: #f0f0f0 !important;
		color: var(--theme-dark, #1a1a1a) !important;
		border: 1px solid #ececec !important;
		border-radius: 3px !important;
		padding: 12px 24px !important;
		font-size: 13px !important;
		font-weight: 500 !important;
		letter-spacing: 1px !important;
		text-transform: uppercase !important;
		text-align: center !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		min-width: 210px;
		margin: 6px auto 0 !important;
		box-shadow: none !important;
	}

	/* 10.3 bestseller 商品卡图 1:1 紧凑 + 文字区精致 */
	.featured-module-products .featured-module-item .product-thumb {
		background: #fff;
		border-radius: 10px;
		overflow: hidden;
		box-shadow: 0 1px 4px rgba(0,0,0,.06);
	}
	.featured-module-products .featured-module-item .product-thumb .image .product-img {
		padding-top: 100% !important; /* 1:1 */
		background: #fafafa;
	}
	.featured-module-products .featured-module-item .product-thumb .caption {
		padding: 10px 12px 12px;
	}
	.featured-module-products .featured-module-item .product-thumb .caption .name {
		font-size: 12px;
		font-weight: 500;
		line-height: 1.35;
		margin: 0 0 4px;
		color: var(--theme-dark, #1a1a1a);
		overflow: hidden;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		min-height: 32px;
	}
	.featured-module-products .featured-module-item .product-thumb .caption .featured-tag,
	.featured-module-products .featured-module-item .product-thumb .caption .onsale {
		font-size: 10px;
		font-weight: 700;
		color: #fff;
		background: var(--theme-primary, #ff6b35);
		padding: 2px 6px;
		border-radius: 3px;
		display: inline-block;
		margin-bottom: 4px;
	}
	.featured-module-products .featured-module-item .product-thumb .caption .price {
		font-size: 14px;
		font-weight: 700;
		color: var(--theme-primary, #ff6b35);
		margin: 2px 0 0;
	}
	.featured-module-products .featured-module-item .product-thumb .caption .price > div { display: flex; align-items: baseline; flex-wrap: wrap; }
	.featured-module-products .featured-module-item .product-thumb .caption .price del { order: 2; font-size: 11px; color: #999 !important; font-weight: 400; text-decoration: line-through; margin-left: 4px; }
	.featured-module-products .featured-module-item .product-thumb .caption .price ins { order: 1; background: none; text-decoration: none; color: var(--theme-primary); font-weight: 700; }

	/* 10.4 promo bar / 顶部公告滚动时收窄 + sticky */
	.header-top-bar {
		position: sticky;
		top: 0;
		left: 0;
		right: 0;
		z-index: 100;
		background: var(--theme-primary, #ff6b35);
		color: #fff;
		font-size: 11px;
		padding: 4px 10px;
		text-align: center;
		overflow: hidden;
		max-height: 28px;
		transition: max-height .25s, padding .25s;
	}
	.header-top-bar.is-scrolled {
		max-height: 0;
		padding: 0;
	}
	.header-top-bar .header-message {
		font-size: 11px;
		font-weight: 500;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	/* 10.5 mobile header sticky（由 §1 统一管理，此处不再重复） */

	/* 10.6 标题区 + "Damit Mehr" 链接优化 */
	/* 单列行（联赛导航/轮播图/Bestseller）强制 100% — theme.css 已用 :not() 精确匹配，此处仅需移动端补充 */
	.home-grid-rows .grid-row > .grid-cols {
		align-items: flex-start;
		row-gap: 0;
	}
	/* 板块行（N≥4）标题与按钮的左右布局由第 2 节统一管理（line 37-54），此处不再强制 100% 换行 */
	.home-grid-rows .grid-row > .grid-cols > .grid-col[class*="grid-col-top-"][class$="-2"] > .grid-items,
	.home-grid-rows .grid-row > .grid-cols > .grid-col[class*="grid-col-top-"][class$="-2"] > .grid-items > .grid-item {
		margin-bottom: 0 !important;
	}
	.title-module .title-wrapper {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 12px;
		padding-bottom: 10px;
		border-bottom: 0;
		margin-bottom: 8px;
	}
	.title-module .title-wrapper h3,
	.title-module .module-title {
		font-size: 20px;
		font-weight: 500;
		color: var(--theme-dark, #1a1a1a);
		margin: 0;
		line-height: 1.3;
		letter-spacing: -.3px;
	}
	.title-module .title-wrapper .title-link,
	.title-module .title-link,
	.module-title a,
	.title-module a[href*="more"] {
		font-size: 12px;
		font-weight: 600;
		color: var(--theme-primary, #ff6b35) !important;
		text-decoration: none;
		display: inline-flex;
		align-items: center;
		gap: 4px;
		white-space: nowrap;
		flex-shrink: 0;
	}
	.title-module .title-wrapper .title-link::after,
	.title-module .title-link::after {
		content: "›";
		font-size: 16px;
		line-height: 1;
		color: inherit;
	}

	/* 按用户要求：首页内容卡片统一为 2 列，减少移动端页面长度 */
	.module-teams .module-body,
	.module-countries .module-body,
	.module-players .module-body,
	.module-clubs .module-body {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		padding: 4px 0 0;
		overflow: visible !important;
	}
	/* 通用方块卡片：固定宽度 + 1:1 + 圆角 + 阴影 */
	.module-teams .team-item,
	.module-countries .team-item,
	.module-players .player-item,
	.module-clubs .club-item,
	.module-teams > .team-layout,
	.module-countries > .team-layout,
	.module-players > .player-layout,
	.module-clubs > .club-layout {
		flex: none !important;
		max-width: none;
		width: 100% !important;
		min-width: 0;
		margin: 0 !important;
	}
	.module-teams .team-thumb,
	.module-countries .team-thumb,
	.module-players .player-thumb,
	.module-clubs .club-thumb {
		position: relative;
		border-radius: 10px;
		overflow: hidden;
		background: #fafafa;
		aspect-ratio: 1 / 1;
		box-shadow: 0 1px 4px rgba(0,0,0,.06);
	}
	.module-teams .team-thumb img,
	.module-countries .team-thumb img,
	.module-players .player-thumb img,
	.module-clubs .club-thumb img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
	/* 方块中心文字（BAYERN MÜNCHEN / MESSI / 等） */
	.module-teams .team-thumb .team-caption,
	.module-countries .team-thumb .team-caption,
	.module-players .player-thumb .player-caption,
	.module-clubs .club-thumb .club-caption {
		position: absolute;
		left: 0;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		text-align: center;
		color: #fff;
		font-size: 13px;
		font-weight: 800;
		letter-spacing: .5px;
		text-shadow: 0 1px 4px rgba(0,0,0,.6);
		padding: 0 8px;
		text-transform: uppercase;
		line-height: 1.2;
	}

	/* 10.8.1 联赛子分类（圆形 logo）统一为横向滑动 */
	.module-categories-292 .module-body,
	.module-categories:not(.module-categories-292) .module-body {
		display: block !important;
		padding: 0;
		overflow: visible !important;
	}
	.module-categories-292 .module-item,
	.module-categories:not(.module-categories-292) .module-item {
		display: block !important;
		padding: 0;
	}
	.module-categories-292 .category-layout:not(.swiper-slide),
	.module-categories:not(.module-categories-292) .category-layout:not(.swiper-slide) {
		flex: 0 0 auto !important;
		/* 移动端一行 5 个：用 100% 相对于 grid content width 自适应，减去 4 个 gap(6px)=24px */
		width: calc((100% - 24px) / 5) !important;
		max-width: 82px;
		/* 覆盖 theme.css L779 的 min-width: 90px（桌面端 8 列网格的最小宽度），否则移动端 layout 被强制 90px 无法一行 5 个 */
		min-width: 0 !important;
		scroll-snap-align: start;
	}
	.module-categories-292 .category-thumb .image a,
	.module-categories:not(.module-categories-292) .category-thumb .image a {
		width: 56px;
		height: 56px;
		border-radius: 50%;
		background: #fff;
		padding: 6px;
		display: flex;
		align-items: center;
		justify-content: center;
		border: 1px solid #e5e5e5;
		box-shadow: 0 1px 3px rgba(0,0,0,.04);
	}
	.module-categories-292 .category-thumb .image img,
	.module-categories:not(.module-categories-292) .category-thumb .image img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
	.module-categories-292 .category-thumb .name,
	.module-categories:not(.module-categories-292) .category-thumb .name {
		margin-top: 6px;
		text-align: center;
		font-size: 10px;
	}
	.module-categories-292 .category-thumb .name a,
	.module-categories:not(.module-categories-292) .category-thumb .name a {
		font-size: 10px;
		font-weight: 500;
		color: var(--theme-dark, #1a1a1a);
		line-height: 1.3;
		word-break: break-word;
	}
	.module-categories-292 .category-grid:not(.swiper-wrapper),
	.module-categories:not(.module-categories-292) .category-grid:not(.swiper-wrapper) {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		padding-bottom: 8px !important;
	}
	.module-categories-292 .hscroll-progress,
	.module-categories:not(.module-categories-292) .hscroll-progress {
		display: block !important;
		opacity: 1 !important;
		margin-top: 6px;
	}
	/* 商城/分类/标签页 refine-items 进度条：强制可见 */
	.refine-items + .hscroll-progress,
	.site-shop-template .refine-items + .hscroll-progress,
	.refine-categories .hscroll-progress {
		display: block !important;
		opacity: 1 !important;
		width: calc(100% - 24px);
		margin: 8px 12px 12px;
		height: 4px;
		background: #e2e2e2;
		border-radius: 999px;
		overflow: hidden;
	}
	.refine-items + .hscroll-progress .hscroll-progress-thumb,
	.site-shop-template .refine-items + .hscroll-progress .hscroll-progress-thumb,
	.refine-categories .hscroll-progress-thumb {
		background: var(--theme-dark, #1a1a1a);
	}
	/* Category navigation has one visual scroll indicator only. */
	.refine-items {
		scrollbar-width: none !important;
		-ms-overflow-style: none !important;
	}
	.refine-items::-webkit-scrollbar {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
	}
	.refine-categories .refine-progress,
	.refine-categories .hscroll-progress + .hscroll-progress {
		display: none !important;
	}

	/* 10.9 顶部大 banner 比例 */
	.module-banners .module-body .module-item {
		border-radius: 10px;
		overflow: hidden;
	}
	.module-banners .module-body .module-item a,
	.module-banners .module-body .module-item img {
		width: 100%;
	}

	/* 10.10 模块间距统一（由第 2 节统一管理：16px / 14px） */

	/* 10.11 价格 sale 标签 */
	.product-thumb .onsale,
	.product-thumb .sale-tag,
	.woocommerce .onsale {
		position: absolute;
		top: 8px;
		left: 8px;
		font-size: 10px;
		font-weight: 700;
		color: #fff;
		background: #e53935;
		padding: 2px 6px;
		border-radius: 3px;
		z-index: 2;
		letter-spacing: .3px;
	}

	/* 10.12 mobile header 高度紧凑 */
	.mobile-header .header-inner,
	.mobile-header .header-row {
		padding: 8px 12px;
		min-height: 50px;
	}
	.mobile-logo .logo-img { max-height: 36px; }
	.mobile-menu-trigger a { font-size: 20px; }
	.mobile-actions a { font-size: 18px; }

	/* 10.13 body 滚动锁定（汉堡/抽屉打开时） */
	body.mobile-menu-open,
	body.filter-drawer-open {
		overflow: hidden;
		touch-action: none;
	}
}
@media (max-width: 480px) {
	.title-module .title-wrapper h3,
	.title-module .module-title { font-size: 18px; }
	.module-button .btn,
	.module-button a { min-width: 180px; padding: 10px 24px !important; font-size: 12px !important; }
	.module-teams .module-body,
	.module-countries .module-body,
	.module-players .module-body,
	.module-clubs .module-body,
	.module-banners .module-body { gap: 10px; }
	.module-teams .team-thumb .team-caption,
	.module-countries .team-thumb .team-caption,
	.module-players .player-thumb .player-caption,
	.module-clubs .club-thumb .club-caption { font-size: 12px; }
}
@media (max-width: 380px) {
	.featured-module-products { gap: 6px !important; }
	.title-module .title-wrapper h3 { font-size: 16px; }
}

/* ==========================================================================
   11. 移动端：顶部红色通知栏 100% 铺满 + sticky 置顶
   --------------------------------------------------------------------------
   覆盖 .top-menu-283 内部 ul，让其不出现横向滚动条，左右边界与屏幕对齐
   公告滚动行为保持与桌面端一致（marquee 动画由 theme.css 管理）
   ========================================================================== */
@media (max-width: 991px) {
	/* 红色通知栏容器：100% 铺满屏宽 */
	.mobile-top-menu-wrapper,
	.mobile-top-menu-wrapper .top-menu,
	.mobile-top-menu-wrapper .top-menu-283 {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box;
	}
	.mobile-top-menu-wrapper .top-menu-283 {
		background: var(--theme-primary, #ff6b35);
		overflow: hidden;
	}
	/* 公告滚动条 .j-menu：保留桌面端的 marquee 动画效果
	   ------------------------------------------------------------
	   iOS 横向溢出防护已由以下三层兜底（见本文件 L1818+）：
	     1. .top-menu-283 自身 overflow:hidden + position:relative（裁剪 .j-menu）
	     2. .mobile-top-menu-wrapper overflow:hidden（第二层裁剪）
	     3. .mobile-header overflow:hidden / clip（fixed 元素兜底裁剪）
	     4. html, body overflow-x:hidden + position:relative（最终兜底）
	   因此 .j-menu 可安全使用 absolute + animation 而不会导致页面横向溢出。
	   注意：绝不能给 .j-menu 设置 width:100% —— 那会让动画 translateX(-50%)
	   没有内容可滚。必须保留 theme.css 原始的 width:max-content。 */
	.mobile-top-menu-wrapper .top-menu-283 > .j-menu {
		/* 不覆盖 position/width/animation，让 theme.css L607-619 的桌面端规则生效 */
	}
	.mobile-top-menu-wrapper .top-menu-283 .top-menu-item a,
	.mobile-top-menu-wrapper .top-menu-283 .top-menu-item .links-text {
		color: #fff !important;
		font-size: 12px;
		padding: 4px 12px;
		display: inline-block;
	}
	/* desktop 顶部通知栏（被切到 mobile 端显示）：保持 100% */
	.top-bar-sticky,
	.top-bar-sticky .top-bar,
	.top-bar-sticky .top-menu-283 {
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* ==========================================================================
   12. 移动端：全局防左右晃动
   --------------------------------------------------------------------------
   触发场景：商品详情页、商城/分类/标签页在触屏左右滑时易触发整页横向滚动
   解决：html/body 锁死横向溢出；交互容器按需放行
   ========================================================================== */
@media (max-width: 991px) {
	/* 移动端菜单图标适配 */
	.mobile-menu-container img.menu-cat-icon {
		width: 27px !important;
		height: 27px !important;
		object-fit: contain !important;
		flex-shrink: 0;
		border-radius: 3px;
		margin-right: 8px;
		vertical-align: middle;
	}
	.mobile-menu-container .sub-menu img.menu-cat-icon {
		width: 22px !important;
		height: 22px !important;
		margin-right: 6px;
	}
}
@media (max-width: 991px) {
	/* ============================================================
	   iOS Safari 横向溢出彻底修复（v2）
	   ------------------------------------------------------------
	   关键：html/body 必须加 position:relative，否则 body 的
	   overflow:hidden 无法裁剪 position:absolute 的后代元素
	   （CSS 规范：overflow 只裁剪后代，但 absolute 子元素需要
	   祖先是 relative/absolute/fixed/sticky 才能成为包含块）。
	   ============================================================ */
	html {
		overflow-x: hidden !important;
		overflow-x: clip !important;
		position: relative !important;
		max-width: 100% !important;
		width: 100% !important;
	}
	body {
		overflow-x: hidden !important;
		overflow-x: clip !important;
		position: relative !important;
		max-width: 100% !important;
		width: 100% !important;
	}
	/* iOS Safari 横向溢出根因修复：
	   绝不能用 max-width: 100vw —— iOS 的 100vw 包含滚动条宽度（约 15px），
	   会让 .site-wrapper 比视口宽，整页可向右滑出空白。
	   改用 100%。overflow-x: clip（iOS 16+）比 hidden 更严格，
	   能彻底阻止 rubber-band 穿透；旧版 iOS 回退到 hidden。 */
	.site-wrapper {
		overflow-x: hidden !important;
		overflow-x: clip !important;
		max-width: 100% !important;
		position: relative !important;
	}
	/* ============================================================
	   .mobile-header 强制裁剪（iOS fixed 元素子元素溢出的兜底）
	   ------------------------------------------------------------
	   .mobile-header 是 position:fixed，其内部包含：
	     - .mobile-top-menu-wrapper > .top-menu-283 > .j-menu（公告）
	     - .mobile-menu-drawer（translateX(-100%) 隐藏的抽屉）
	     - .mobile-menu-overlay（遮罩）
	   iOS Safari 对 fixed 元素子元素的 overflow 裁剪不可靠，
	   必须给 .mobile-header 自身加 overflow:hidden 兜底。
	   注意：.mobile-menu-drawer 是 position:fixed，不受祖先 overflow
	   影响（除非祖先是 transform/filter/will-change），所以不会被裁剪。
	   ============================================================ */
	.mobile-header {
		overflow: hidden !important;
		overflow: clip !important;
	}
	/* 移动端菜单抽屉：默认严格裁剪（防止内部内容溢出贡献到 scrollWidth） */
	.mobile-menu-drawer {
		overflow: hidden !important;
	}
	.mobile-menu-drawer.is-open {
		overflow-y: auto !important;
		overflow-x: hidden !important;
	}
	/* 商品详情页主图：禁用浏览器左右拖动（仅允许 swiper 内部滑动） */
	.product-image .main-image,
	.product-image .main-image .swiper-container,
	.product-image .main-image .swiper-wrapper {
		touch-action: pan-y;
		overscroll-behavior-x: contain;
	}
	.product-image .main-image .swiper-slide img {
		/* 图片自身不允许浏览器默认拖动 */
		-webkit-user-drag: none;
		user-select: none;
		-webkit-touch-callout: none;
	}
	/* 缩略图列表：横向滚动允许，但禁止父容器被拖动 */
	.product-image .additional-images {
		touch-action: pan-x;
		overscroll-behavior-x: contain;
	}
	/* 商品卡片网格：禁用父级水平溢出导致整页晃动 */
	.woocommerce .products,
	.woocommerce-page .products,
	.related.products .products,
	.upsells.products .products,
	.cross-sells .products {
		overflow-x: hidden;
		touch-action: pan-y;
	}
	/* 移动端 zoom modal：允许双指缩放 */
	.product-zoom-modal .product-zoom-stage {
		touch-action: pinch-zoom;
	}
}

/* ==========================================================================
   13. 移动端：商品详情页主图 / 缩略图
   ========================================================================== */
@media (max-width: 991px) {
	.product-image .main-image { width: 100%; }
	.product-image .main-image .swiper-slide img { width: 100%; height: auto; }
	.product-image .additional-images {
		flex-wrap: nowrap !important;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 6px;
		touch-action: pan-x;
	}
	.product-image .additional-images::-webkit-scrollbar { display: none; }
	.product-image .additional-image {
		flex: 0 0 64px;
		width: 64px;
		height: 64px;
	}
	/* 移动端隐藏 zoom-lens/zoom-window（用 modal 替代） */
	.product-image .zoom-lens,
	.product-image .zoom-window { display: none !important; }
}

/* ==========================================================================
   14. 移动端：商品详情页 数量选择器 / PATCH / 按钮 / YOU MAY ALSO LIKE
   ========================================================================== */
@media (max-width: 991px) {
	/* 个性化 tab 按钮：紧凑、统一淡白底 */
	.m-form-block { padding: 0; border: 0; }
	.m-form-block-item { padding: 10px 12px; font-size: 12px; border-radius: 5px; }
	.m-form-block-item.m-form-block-item-actvie {
		background: #000;
		color: #fff;
		border-color: #000;
		font-weight: 700;
	}
	/* 数量选择器：紧凑，铺满整行 */
	.product-qty-row { padding: 4px 0 10px; }
	.qty-stepper { height: 46px; }
	.qty-stepper .qty-btn { width: 50px; font-size: 20px; }
	.qty-stepper .qty-center { font-size: 14px; gap: 6px; }
	/* 支付图标：紧凑，水平排列，等比例放大 */
	.product-pay-container { padding: 10px 0 6px; gap: 10px; }
	.product-pay-container .pay-text { font-size: 13px; margin-right: 4px; }
	.payment-icons { gap: 6px; }
	.payment-icons img { height: 32px; padding: 3px 6px; border-radius: 5px; }
	/* PATCH 图标：移动端统一可视高度 */
	.patch-options { gap: 8px !important; }
	.patch-options .radio.radio-image label { width: 72px; height: 72px; padding: 3px; }
	.patch-options .radio.radio-image .patch-image { width: 64px; height: 64px; padding: 0; }
	/* 按钮：紧凑 */
	.btn-cart#button-cart,
	.button-group-page .btn-add-to-bag,
	.btn-extra.btn-extra-46,
	.button-group-page .btn-buy-it-now { padding: 12px 16px; font-size: 13px; }
	/* 信任文案 — 已删除模块，移动端同样强制隐藏 */
	.product-trust-text,
	.product-trust-text .trust-avatar { display: none !important; }
	/* YOU MAY ALSO LIKE：移动端横向轮播（swiper 原生，一次 2 个，可滑动 + 分页点） */
	.you-may-also-like { margin: 15px 0; padding: 0 12px; }
	.you-may-also-like .module-products-253 { margin-top: 0; }
	.you-may-also-like .you-may-also-like-title { font-size: 18px; margin-bottom: 12px; }
	/* 分页点样式（覆盖 swiper 默认蓝色） */
	.you-may-also-like .swiper-pagination { position: static; margin-top: 12px; text-align: center; }
	.you-may-also-like .swiper-pagination-bullet { background: #ccc; opacity: 1; margin: 0 4px; }
	.you-may-also-like .swiper-pagination-bullet-active { background: var(--theme-primary); }
}

/* 极小屏幕（≤380px）进一步压缩 */
@media (max-width: 380px) {
	.you-may-also-like .you-may-also-like-title { font-size: 16px; }
	.qty-stepper { height: 42px; }
	.qty-stepper .qty-btn { width: 44px; font-size: 18px; }
	.qty-stepper .qty-center { font-size: 13px; gap: 4px; }
	.payment-icons img { height: 28px; }
	.payment-icons { gap: 4px; }
}

/* ==========================================================================
   15. 移动端：购物车页面（WooCommerce Cart）
   --------------------------------------------------------------------------
   优化：表格转卡片堆叠、商品图+信息横向布局、数量选择器紧凑、
        coupon 和 totals 全宽、按钮大触控区
   ========================================================================== */
@media (max-width: 767px) {
	/* 容器内边距 */
	.woocommerce-cart .woocommerce,
	.woocommerce-page.woocommerce-cart .site-content {
		padding: 0 12px;
	}

	/* h1 标题：与 fixed mobile-header（93px）留 8px 间距 + 字号缩小 */
	.woocommerce-cart header.entry-header h1.page-title,
	.woocommerce-checkout header.entry-header h1.page-title {
		margin-top: 100px;
		margin-bottom: 12px;
		font-size: 22px;
		font-weight: 700;
		color: #2c3640;
	}

	/* 购物车表格 → 卡片堆叠 */
	.woocommerce-cart-form table.shop_table.shop_table_responsive.cart {
		border: none;
		border-collapse: collapse;
	}
	.woocommerce-cart-form table.shop_table_responsive thead { display: none; }
	.woocommerce-cart-form table.shop_table_responsive tbody tr {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		padding: 12px 0;
		border-bottom: 1px solid #e5e5e5;
		border-left: none;
		border-right: none;
		border-top: none;
		background: transparent !important;
		position: relative;
	}
	.woocommerce-cart-form table.shop_table_responsive tr td {
		display: block;
		text-align: left !important;
		border: none;
		padding: 4px 8px;
		width: auto;
		background: transparent !important;
	}
	.woocommerce-cart-form table.shop_table_responsive tr td::before { display: none; }

	/* 商品图 + 名称同一行：强制显示商品图（WC smallscreen.css 默认 display:none） */
	.woocommerce-cart-form .cart_item .product-thumbnail {
		flex: 0 0 80px;
		width: 80px !important;
		min-width: 80px !important;
		padding: 0 8px 0 0 !important;
		order: 1;
		display: block !important;
	}
	.woocommerce-cart-form .cart_item .product-thumbnail img {
		width: 80px !important;
		height: 80px !important;
		object-fit: contain !important;
		background: #fff !important;
		border-radius: 6px !important;
		border: 1px solid #e2e2e2 !important;
		padding: 3px !important;
		box-shadow: none !important;
	}
	.woocommerce-cart-form .cart_item .product-name {
		flex: 1 1 calc(100% - 90px);
		order: 2;
		padding-right: 32px !important;
		font-size: 13px;
		line-height: 1.4;
	}
	.woocommerce-cart-form .cart_item .product-name a {
		font-size: 13px;
		font-weight: 600;
		color: #1a1a1a;
	}

	/* 数量 + 价格行 */
	.woocommerce-cart-form .cart_item .product-quantity {
		flex: 0 0 50%;
		order: 3;
		padding-left: 90px !important;
	}
	.woocommerce-cart-form .cart_item .product-quantity .qty {
		width: 56px !important;
		height: 36px;
		font-size: 14px;
		padding: 4px;
		text-align: center;
	}
	.woocommerce-cart-form .cart_item .product-price,
	.woocommerce-cart-form .cart_item .product-subtotal {
		flex: 0 0 50%;
		order: 4;
		text-align: right !important;
		font-size: 14px;
		font-weight: 700;
		color: #1a1a1a;
	}
	.woocommerce-cart-form .cart_item .product-price { display: none; }

	/* 删除按钮 */
	.woocommerce-cart-form .cart_item .product-remove {
		position: absolute;
		top: 8px;
		right: 4px;
		order: 5;
		width: 28px;
		height: 28px;
		padding: 0 !important;
	}
	.woocommerce-cart-form .cart_item .product-remove .remove {
		width: 28px !important;
		height: 28px !important;
		font-size: 18px !important;
		line-height: 26px !important;
		border-radius: 50%;
		background: #f5f5f5;
		color: #888 !important;
	}
	.woocommerce-cart-form .cart_item .product-remove .remove:hover {
		background: #ef5042;
		color: #fff !important;
	}

	/* 全选/批量操作行隐藏 */
	.woocommerce-cart-form .cart .actions { display: none; }

	/* Coupon 区 */
	.woocommerce-cart-form .coupon {
		display: flex;
		flex-direction: row;
		gap: 8px;
		margin: 12px 0;
		float: none;
	}
	.woocommerce-cart-form .coupon input.input-text {
		flex: 1;
		width: auto !important;
		height: 40px;
		font-size: 13px;
		padding: 0 12px;
		border-radius: 4px;
	}
	.woocommerce-cart-form .coupon button.button {
		flex: 0 0 auto;
		height: 40px;
		padding: 0 16px;
		font-size: 13px;
		border-radius: 4px;
		white-space: nowrap;
	}

	/* Update cart 按钮 */
	.woocommerce-cart-form button[name="update_cart"] {
		width: 100%;
		height: 40px;
		margin-top: 8px;
		font-size: 13px;
		border-radius: 4px;
	}

	/* Cart totals 区 */
	.cart-collaterals .cart_totals {
		width: 100% !important;
		float: none !important;
	}
	.cart-collaterals .cart_totals h2 {
		font-size: 18px;
		padding-bottom: 10px;
		margin-bottom: 12px;
	}
	.cart-collaterals .cart_totals table.shop_table {
		border-radius: 4px;
		overflow: hidden;
	}
	.cart-collaterals .cart_totals table th,
	.cart-collaterals .cart_totals table td {
		padding: 10px 12px;
		font-size: 13px;
	}
	.cart-collaterals .cart_totals .order-total th,
	.cart-collaterals .cart_totals .order-total td {
		font-size: 16px;
		font-weight: 700;
	}

	/* Checkout / Proceed to Checkout 按钮 */
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
	.woocommerce-cart .wc-proceed-to-checkout a.button {
		width: 100%;
		font-size: 15px;
		padding: 14px;
		border-radius: 4px;
		margin-bottom: 8px;
	}

	/* Cross-sells */
	.cross-sells > h2 { font-size: 16px; margin: 16px 0 10px; }
	.cross-sells ul.products { grid-template-columns: 1fr 1fr !important; gap: 10px; }
	.cross-sells ul.products li.product { width: 100% !important; margin: 0 !important; }

	/* Empty cart — padding-left: 44px 给 ::before icon 留位（与 notice 一致） */
	.woocommerce-cart .cart-empty {
		font-size: 18px;
		padding: 20px 0 20px 44px !important;
	}
	.woocommerce-cart .cart-empty::before { left: 16px !important; }
	.woocommerce-cart .return-to-shop a.button {
		width: 100%;
		text-align: center;
		padding: 14px;
		font-size: 15px;
		border-radius: 4px;
	}

	/* Cart notices — 修复移动端感叹号图标与文字重叠
	   桌面 padding-left 50px，移动端改为 44px（略小），icon left: 16px
	   使用 !important 锁定，避免被 .woocommerce-cart .cart-empty 等高特异性规则覆盖 */
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error {
		font-size: 13px;
		padding: 12px 14px 12px 44px !important;
		border-radius: 4px;
		position: relative;
		word-wrap: break-word;
	}
	.woocommerce-message::before,
	.woocommerce-info::before,
	.woocommerce-error::before {
		left: 16px !important;
		top: 50% !important;
		transform: translateY(-50%);
		font-size: 15px !important;
	}
	/* 修复：woocommerce.css 的 .woocommerce-checkout .woocommerce-info（0,0,2,0）覆盖
	   了 mobile.css 的 .woocommerce-info（0,0,1,0），导致移动端 checkout 仍用桌面 50px
	   方案：加 .woocommerce-checkout 前缀提高特异性到 0,0,2,0，与 woocommerce.css 平级，
	   但 mobile.css 后加载，同特异性时后者胜出 */
	.woocommerce-checkout .woocommerce-info,
	.woocommerce-checkout .woocommerce-error,
	.woocommerce-checkout .woocommerce-message,
	.woocommerce-cart .cart-empty {
		padding: 12px 14px 12px 44px !important;
	}
	.woocommerce-checkout .woocommerce-info::before,
	.woocommerce-checkout .woocommerce-error::before,
	.woocommerce-checkout .woocommerce-message::before,
	.woocommerce-cart .cart-empty::before {
		left: 16px !important;
		font-size: 15px !important;
	}
}

/* ==========================================================================
   16. 移动端：结算页面（WooCommerce Checkout）
   --------------------------------------------------------------------------
   优化：表单单列、输入框大触控区、订单摘要可折叠、支付方式紧凑
   ========================================================================== */
@media (max-width: 767px) {
	.woocommerce-checkout .site-content,
	.woocommerce-checkout .woocommerce {
		padding: 0 12px;
	}

	/* Login coupon toggle */
	.woocommerce-form-login-toggle,
	.woocommerce-form-coupon-toggle {
		font-size: 13px;
		padding: 8px 0;
	}

	/* Coupon form */
	form.checkout_coupon {
		display: flex !important;
		flex-direction: column;
		gap: 8px;
		padding: 12px;
		border-radius: 4px;
	}
	form.checkout_coupon p { margin: 0; }
	form.checkout_coupon input.input-text {
		width: 100% !important;
		height: 40px;
		font-size: 13px;
		padding: 0 12px;
		border-radius: 4px;
	}
	form.checkout_coupon button.button {
		width: 100%;
		height: 40px;
		font-size: 13px;
		border-radius: 4px;
	}

	/* Checkout form layout */
	form.checkout {
		display: block;
	}
	form.checkout .col2-set,
	form.checkout .col-1,
	form.checkout .col-2 {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	form.checkout .col-2 { margin-top: 16px; }

	/* 关键修复：覆盖 woocommerce.css 桌面端 .col2-set flex 规则
	   桌面端：display:flex + gap:30px + min-width:300px，移动端会导致 col-1 偏右 30px
	   移动端必须：display:block + 全宽 + 零 gap + 零 min-width */
	.woocommerce-checkout form.checkout .col2-set {
		display: block !important;
		gap: 0 !important;
		flex-wrap: initial !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.woocommerce-checkout form.checkout .col2-set .col-1,
	.woocommerce-checkout form.checkout .col2-set .col-2 {
		flex: 0 0 100% !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
		display: block !important;
	}

	/* Billing/Shipping/Additional 内部子容器也清零 */
	form.checkout .col-1,
	form.checkout .col-2,
	.woocommerce-billing-fields,
	.woocommerce-shipping-fields,
	.woocommerce-additional-fields {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* 关键修复：select 下拉框（国家/州/省）宽度修复
	   实测 billing_country/billing_state 宽度只有 30×22px（默认 inline-block 收缩）
	   必须强制 width: 100% + box-sizing:border-box 填满父级且不撑爆视口 */
	.woocommerce form .form-row select,
	.woocommerce-checkout form.checkout .form-row select {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		display: block !important;
		padding: 10px 28px 10px 12px !important;
		font-size: 14px !important;
		background-position: right 12px center !important;
	}

	/* Billing/Shipping fields */
	.woocommerce-billing-fields h3,
	.woocommerce-shipping-fields h3,
	#ship-to-different-address label {
		font-size: 16px;
		font-weight: 700;
		margin-bottom: 12px;
	}
	.woocommerce-billing-fields .form-row,
	.woocommerce-shipping-fields .form-row,
	.woocommerce-additional-fields .form-row {
		float: none !important;
		width: 100% !important;
		margin: 0 0 10px !important;
	}
	.woocommerce form .form-row input.input-text,
	.woocommerce form .form-row textarea,
	.woocommerce form .form-row select {
		height: 42px;
		font-size: 14px;
		padding: 6px 12px;
		border-radius: 4px;
		border-width: 1px;
	}
	.woocommerce form .form-row textarea { height: auto; min-height: 70px; padding-top: 10px; }
	.woocommerce form .form-row label { font-size: 13px; font-weight: 600; margin-bottom: 4px; }

	/* Checkbox: ship to different address */
	#ship-to-different-address {
		display: flex;
		align-items: center;
		gap: 8px;
	}
	#ship-to-different-address .woocommerce-form__input-checkbox {
		width: 18px;
		height: 18px;
	}

	/* Order summary */
	.woocommerce-checkout-review-order {
		margin-top: 16px;
	}
	.woocommerce-checkout-review-order h3 {
		font-size: 16px;
		font-weight: 700;
		padding: 10px 0;
		border-bottom: 2px solid #e5e5e5;
	}
	.woocommerce-checkout-review-order-table {
		border-radius: 4px;
		overflow: hidden;
	}
	.woocommerce-checkout-review-order-table th,
	.woocommerce-checkout-review-order-table td {
		padding: 8px 12px;
		font-size: 13px;
	}
	.woocommerce-checkout-review-order-table .product-name { font-size: 13px; }
	.woocommerce-checkout-review-order-table .product-total { text-align: right; font-weight: 600; }
	.woocommerce-checkout-review-order-table .order-total th,
	.woocommerce-checkout-review-order-table .order-total td {
		font-size: 16px;
		font-weight: 700;
	}

	/* Payment methods */
	.wc_payment_methods {
		list-style: none;
		padding: 0;
		margin: 10px 0;
	}
	.wc_payment_methods li {
		padding: 10px 12px;
		border: 1px solid #e5e5e5;
		border-radius: 4px;
		margin-bottom: 8px;
	}
	.wc_payment_methods li label {
		font-size: 14px;
		font-weight: 600;
		display: flex;
		align-items: center;
		gap: 8px;
		cursor: pointer;
	}
	.wc_payment_methods li input[type="radio"] {
		width: 18px;
		height: 18px;
	}
	.wc_payment_methods li .payment_box {
		margin-top: 8px;
		padding-top: 8px;
		border-top: 1px solid #f0f0f0;
		font-size: 12px;
		color: #666;
	}

	/* Place order button */
	#place_order {
		width: 100%;
		height: 48px;
		font-size: 16px;
		font-weight: 700;
		border-radius: 4px;
		margin-top: 12px;
	}

	/* Checkout validation errors */
	.woocommerce-NoticeGroup {
		font-size: 13px;
	}
	.woocommerce-error {
		border-radius: 4px;
		padding: 12px 14px 12px 44px; /* 与 cart notice 一致：左侧 44px 给 icon 留位 */
	}
	.woocommerce-error li { font-size: 12px; line-height: 1.5; }

	/* Terms checkbox */
	.woocommerce-terms-and-conditions-wrapper { margin: 12px 0; }
	.woocommerce-terms-and-conditions-wrapper label { font-size: 13px; line-height: 1.5; }
}

/* ==========================================================================
   17. 移动端：订单完成页（Thank You / Order Received）
   --------------------------------------------------------------------------
   优化：订单信息卡片化、客户详情紧凑、按钮全宽
   ========================================================================== */
@media (max-width: 767px) {
	.woocommerce-order-received .site-content,
	.woocommerce-order-received .woocommerce {
		padding: 0 12px;
	}

	/* Thank you message */
	.woocommerce-order .woocommerce-thankyou-order-received {
		font-size: 18px;
		padding: 16px;
		text-align: center;
		border-radius: 4px;
		margin-bottom: 16px;
	}

	/* Order overview */
	.woocommerce-order-overview {
		display: flex;
		flex-wrap: wrap;
		gap: 0;
		margin: 0 0 16px;
		border-radius: 4px;
		overflow: hidden;
	}
	.woocommerce-order-overview li {
		flex: 1 1 50%;
		border-right: 1px solid #e5e5e5 !important;
		border-bottom: 1px solid #e5e5e5;
		padding: 10px 12px;
		font-size: 12px;
	}
	.woocommerce-order-overview li:nth-child(2n) { border-right: none !important; }
	.woocommerce-order-overview li:last-child,
	.woocommerce-order-overview li:nth-last-child(2) { border-bottom: none; }
	.woocommerce-order-overview li strong {
		display: block;
		font-size: 15px;
		margin-top: 4px;
	}

	/* Order details */
	.woocommerce-order-details h2,
	.woocommerce-customer-details h2 {
		font-size: 16px;
		font-weight: 700;
		margin: 16px 0 10px;
	}
	.woocommerce-table--order-details th,
	.woocommerce-table--order-details td {
		padding: 8px 12px;
		font-size: 13px;
	}
	.woocommerce-table--order-details .woocommerce-table__product-name { font-size: 13px; }
	.woocommerce-table--order-details .woocommerce-table__product-total { text-align: right; font-weight: 600; }

	/* Customer details */
	.woocommerce-customer-details address {
		padding: 12px;
		font-size: 13px;
		line-height: 1.6;
		border-radius: 4px;
		border: 1px solid #e5e5e5;
	}

	/* Order again button */
	.woocommerce-order-details .button {
		width: 100%;
		text-align: center;
		padding: 12px;
		font-size: 14px;
		border-radius: 4px;
		margin-top: 12px;
	}
}

/* 极小屏幕：购物车/结算进一步压缩 */
@media (max-width: 380px) {
	.woocommerce-cart-form .cart_item .product-thumbnail {
		flex: 0 0 64px;
		width: 64px !important;
		min-width: 64px !important;
		display: block !important;
	}
	.woocommerce-cart-form .cart_item .product-thumbnail img {
		width: 64px !important;
		height: 64px !important;
		object-fit: contain !important;
		background: #fff !important;
		border: 1px solid #e2e2e2 !important;
		border-radius: 6px !important;
		padding: 3px !important;
		box-shadow: none !important;
	}
	.woocommerce-cart-form .cart_item .product-name { flex: 1 1 calc(100% - 74px); padding-right: 28px !important; font-size: 12px; }
	.woocommerce-cart-form .cart_item .product-name a { font-size: 12px; }
	.woocommerce-cart-form .cart_item .product-quantity { padding-left: 74px !important; }
	.woocommerce-cart-form .cart_item .product-quantity .qty { width: 48px !important; height: 32px; font-size: 13px; }
	.woocommerce-cart-form .cart_item .product-subtotal { font-size: 13px; }
	.woocommerce-form-login-toggle,
	.woocommerce-form-coupon-toggle { font-size: 12px; }
	.wc_payment_methods li { padding: 8px 10px; }
	.wc_payment_methods li label { font-size: 13px; }
	#place_order { height: 44px; font-size: 15px; }
	.woocommerce-order-overview li { flex: 1 1 100%; border-right: none !important; }

	/* ===== Mini Cart 移动端适配 ===== */
	/* 移动端购物车下拉：右对齐但留出更多边距 */
	.header-cart-group .dropdown-menu.cart-dropdown {
		min-width: 300px;
		max-width: calc(100vw - 24px);
		right: -8px;
	}
	/* 商品项 padding 收紧 */
	.cart-dropdown .woocommerce-mini-cart-item {
		padding: 10px 14px;
		grid-template-columns: 60px 1fr auto;
		gap: 10px;
	}
	.cart-dropdown .woocommerce-mini-cart-item img {
		width: 60px !important;
		height: 60px !important;
	}
	.cart-dropdown .woocommerce-mini-cart-item > a:not(.remove_from_cart_button) {
		font-size: 12px;
		max-height: 34px;
	}
	.cart-dropdown .total { padding: 12px 14px !important; }
	.cart-dropdown .woocommerce-mini-cart__buttons.buttons {
		padding: 10px 14px 14px !important;
	}
	.cart-dropdown .woocommerce-mini-cart__buttons.buttons a {
		padding: 10px 8px !important;
		font-size: 12px !important;
		min-height: 40px;
	}
	.cart-dropdown .mini-cart-header { padding: 12px 14px; }
}

/* Final cart cascade: keep these rules last so WooCommerce's older mobile
   table overrides cannot hide functional coupon/update controls. */
@media (max-width: 767px) {
	.woocommerce-cart header.entry-header h1.page-title,
	.woocommerce-checkout header.entry-header h1.page-title { margin-top: 0; margin-bottom: 14px; font-size: 22px; }
	.theme577-checkout-steps { width: 100%; margin: 2px auto 22px; padding: 0 3px; }
	.theme577-checkout-steps li { gap: 5px; font-size: 10px; }
	.theme577-checkout-steps .theme577-step-number { width: 28px; height: 28px; }
	.theme577-checkout-steps li:not(:last-child)::after { top: 13px; left: calc(50% + 18px); width: calc(100% - 36px); }
	.woocommerce-cart-form table.shop_table.shop_table_responsive.cart { border: 1px solid #e5e7e9; border-radius: 10px; overflow: hidden; background: #fff; }
	.woocommerce-cart-form table.shop_table_responsive tbody tr.cart_item { margin: 0; padding: 14px 12px; border-bottom: 1px solid #e9ebed; }
	.woocommerce-cart-form table.shop_table_responsive tbody tr.cart_item:last-of-type { border-bottom: 0; }
	.woocommerce-cart-form .cart_item .product-thumbnail { flex-basis: 76px; width: 76px !important; min-width: 76px !important; }
	.woocommerce-cart-form .cart_item .product-thumbnail img { width: 72px !important; height: 72px !important; max-width: 72px !important; border-radius: 8px !important; }
	.woocommerce-cart-form .cart_item .product-name { flex-basis: calc(100% - 76px); padding: 0 28px 0 8px !important; }
	.woocommerce-cart-form .cart_item .product-name .variation { margin-top: 5px; font-size: 10px; }
	.woocommerce-cart-form .cart_item .product-quantity { padding: 10px 0 0 84px !important; }
	.woocommerce-cart-form .cart_item .product-subtotal { padding-top: 10px !important; }
	.woocommerce-cart-form .cart_item .product-remove { top: 12px; right: 10px; }
	.woocommerce-cart-form table.shop_table_responsive tbody tr:last-child,
	.woocommerce-cart-form table.shop_table_responsive tbody tr:last-child td.actions { display: block !important; width: 100%; }
	.woocommerce-cart-form table.shop_table.cart .actions { padding: 12px !important; background: #f8f9f9 !important; }
	.woocommerce-cart-form .coupon {
		position: relative;
		display: flex !important;
		flex-flow: row nowrap;
		align-items: stretch;
		gap: 7px;
		width: 100%;
		margin: 0 0 9px;
	}
	/* WooCommerce renders an accessibility label before the input. Keep it
	   available to screen readers without letting it occupy a flex/grid cell. */
	.woocommerce-cart-form .coupon > label {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		padding: 0 !important;
		margin: -1px !important;
		overflow: hidden !important;
		clip: rect(0, 0, 0, 0) !important;
		white-space: nowrap !important;
		border: 0 !important;
	}
	.woocommerce-cart-form .coupon #coupon_code {
		flex: 1 1 auto;
		width: 0 !important;
		min-width: 0 !important;
		height: 44px;
		margin: 0 !important;
	}
	.woocommerce-cart-form .coupon button[name="apply_coupon"] {
		flex: 0 0 auto;
		width: auto !important;
		min-height: 44px;
		margin: 0 !important;
		padding-inline: 13px !important;
		white-space: nowrap;
		background: #171a1d !important;
		border-color: #171a1d !important;
		color: #fff !important;
	}
	.woocommerce-cart-form button[name="update_cart"] {
		display: block !important;
		width: 100%;
		min-height: 44px;
		margin: 0;
		background: #171a1d !important;
		border-color: #171a1d !important;
		color: #fff !important;
		opacity: 1 !important;
	}
	.woocommerce-cart-form button[name="update_cart"]:disabled,
	.woocommerce-cart-form button[name="update_cart"].disabled,
	.woocommerce-cart-form button[name="update_cart"]:disabled[disabled] {
		background: #e2e5e7 !important;
		border-color: #e2e5e7 !important;
		color: #858b90 !important;
		opacity: 1 !important;
		cursor: not-allowed;
	}
	.woocommerce-cart-form .theme577-clear-cart {
		display: inline-flex !important;
		width: auto !important;
		min-height: 40px;
		margin: 10px 0 0 !important;
		padding: 9px 12px !important;
		font-size: 12px !important;
	}
	.cart-collaterals { display: grid; grid-template-columns: 1fr; gap: 24px; margin-top: 20px; }
	.cart-collaterals .cart_totals,
	.woocommerce .cart-collaterals .cart_totals { order: 1; padding: 18px 16px; border-radius: 10px; }
	.cart-collaterals .cross-sells { order: 2; }
	.cart-collaterals .cart_totals h2 { font-size: 18px; }
	.cart-collaterals .cart_totals table.shop_table th,
	.cart-collaterals .cart_totals table.shop_table td { padding: 10px 0; }
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
	.woocommerce-cart .wc-proceed-to-checkout a.button { min-height: 50px; margin-bottom: 12px; border-radius: 7px !important; }
	.theme577-cart-reassurance { gap: 5px; }
	.theme577-cart-reassurance span { font-size: 9px; }
	.woocommerce-checkout form.checkout .col2-set,
	.woocommerce-checkout-review-order { padding: 16px; border-radius: 10px; }
}

@media (max-width: 374px) {
	.woocommerce-cart-form .coupon { gap: 6px; }
	.woocommerce-cart-form .coupon button[name="apply_coupon"] {
		padding-inline: 10px !important;
		font-size: 11px !important;
	}
}

/* Final reference-store presentation layer. Keep this block at EOF. */
@media (max-width: 767px) {
	.woocommerce-cart .theme577-checkout-steps,
	.woocommerce-checkout .theme577-checkout-steps { display: none !important; }

	/* One continuous product list with complete, unbroken separators. */
	.woocommerce-cart-form table.shop_table.shop_table_responsive.cart {
		display: block !important;
		border: 0 !important;
		border-top: 1px solid #e5e8ea !important;
		border-bottom: 1px solid #e5e8ea !important;
		border-radius: 0 !important;
		background: #fff !important;
		overflow: visible;
	}
	.woocommerce-cart-form table.shop_table_responsive tbody { display: block !important; }
	.woocommerce-cart-form table.shop_table_responsive tbody tr.cart_item {
		display: grid !important;
		grid-template-columns: 92px minmax(0, 1fr) auto;
		grid-template-rows: auto auto;
		column-gap: 12px;
		row-gap: 9px;
		align-items: center;
		width: 100%;
		margin: 0 !important;
		padding: 14px 4px !important;
		border: 0 !important;
		border-bottom: 1px solid #e5e8ea !important;
		border-radius: 0 !important;
		background: #fff !important;
		box-shadow: none !important;
		overflow: visible;
	}
	.woocommerce-cart-form table.shop_table_responsive tbody tr.cart_item:last-of-type { border-bottom: 0 !important; }
	.woocommerce-cart-form .cart_item .product-thumbnail {
		grid-column: 1;
		grid-row: 1 / 3;
		width: 92px !important;
		min-width: 92px !important;
	}
	.woocommerce-cart-form .cart_item .product-thumbnail img {
		display: block;
		width: 92px !important;
		height: 106px !important;
		max-width: 92px !important;
		object-fit: contain !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #f1f3f4 !important;
		padding: 5px !important;
	}
	.woocommerce-cart-form .cart_item .product-name {
		grid-column: 2 / 4;
		grid-row: 1;
		padding: 2px 30px 0 0 !important;
	}
	.woocommerce-cart-form .cart_item .product-quantity {
		grid-column: 2;
		grid-row: 2;
		padding: 0 !important;
	}
	.woocommerce-cart-form .cart_item .product-subtotal {
		grid-column: 3;
		grid-row: 2;
		padding: 0 !important;
		white-space: nowrap;
	}
	.woocommerce-cart-form .cart_item .product-remove { top: 13px; right: 2px; }
	.woocommerce-cart-form .cart_item .product-remove .remove {
		background: transparent !important;
		color: #9aa0a5 !important;
	}

	.woocommerce-cart-form table.shop_table_responsive tbody tr:last-child {
		margin-top: 14px;
		border: 0 !important;
		background: #f4f5f6 !important;
	}
	.woocommerce-cart-form table.shop_table.cart .actions {
		padding: 16px 14px !important;
		background: #f4f5f6 !important;
	}
	.woocommerce-cart-form .theme577-clear-cart {
		border: 0 !important;
		background: transparent !important;
		color: #70777d !important;
	}
	.cart-collaterals .cart_totals,
	.woocommerce .cart-collaterals .cart_totals {
		padding: 18px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #f4f5f6 !important;
		box-shadow: none !important;
	}
	.cart-collaterals .cart_totals table.shop_table {
		border: 0 !important;
		border-radius: 0 !important;
		background: #fff !important;
	}
	.cart-collaterals .cart_totals table.shop_table th,
	.cart-collaterals .cart_totals table.shop_table td {
		padding: 11px 12px !important;
		border-bottom: 1px solid #eceeef !important;
	}
	.woocommerce-cart .wc-proceed-to-checkout .theme577-continue-shopping,
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
		min-height: 46px;
		margin-bottom: 9px !important;
		border-radius: 3px !important;
	}

	/* Native WooCommerce fragments, rearranged into a clear one-page flow. */
	.woocommerce-checkout form.checkout.theme577-mobile-checkout-arranged {
		display: flex !important;
		flex-direction: column;
	}
	.woocommerce-checkout form.checkout.theme577-mobile-checkout-arranged > #order_review_heading { order: 1; }
	.woocommerce-checkout form.checkout.theme577-mobile-checkout-arranged > .woocommerce-checkout-review-order-table { order: 2; }
	.woocommerce-checkout form.checkout.theme577-mobile-checkout-arranged > .col2-set { order: 3; }
	.woocommerce-checkout form.checkout.theme577-mobile-checkout-arranged > #payment { order: 4; }
	.woocommerce-checkout form.checkout.theme577-mobile-checkout-arranged > .woocommerce-additional-fields { order: 5; }
	.woocommerce-checkout form.checkout > .col2-set,
	.woocommerce-checkout form.checkout > .col2-set > .col-2,
	.woocommerce-checkout form.checkout > #order_review { display: contents !important; }
	.woocommerce-checkout form.checkout > #order_review_heading {
		margin: 14px 0 10px !important;
		font-size: 18px !important;
	}
	.woocommerce-checkout form.checkout > .woocommerce-checkout-review-order-table {
		width: 100%;
		margin: 0 0 24px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #f4f5f6 !important;
	}
	.woocommerce-checkout-review-order-table thead { display: none; }
	.woocommerce-checkout-review-order-table th,
	.woocommerce-checkout-review-order-table td {
		padding: 11px 12px !important;
		border-bottom: 1px solid #e0e3e5 !important;
	}
	.woocommerce-checkout-review-order-table tbody td { background: #fff; }
	.theme577-checkout-product {
		display: grid;
		grid-template-columns: 62px minmax(0, 1fr);
		gap: 11px;
		align-items: center;
	}
	.theme577-checkout-product-image img {
		display: block;
		width: 62px !important;
		height: 72px !important;
		object-fit: contain;
		background: #f1f3f4;
	}
	.woocommerce-checkout form.checkout > .col2-set > .col-1 {
		width: 100% !important;
		padding: 0 !important;
		border: 0 !important;
		background: #fff !important;
		box-shadow: none !important;
	}
	.woocommerce-checkout .woocommerce-billing-fields > h3 { display: none; }
	.theme577-checkout-section-heading h3,
	.woocommerce-checkout form.checkout > #payment::before,
	.woocommerce-checkout form.checkout > .woocommerce-additional-fields h3 {
		margin: 22px 0 12px;
		font-size: 20px;
		line-height: 1.25;
		font-weight: 700;
		color: #171a1d;
	}
	.woocommerce-checkout form.checkout .form-row input.input-text,
	.woocommerce-checkout form.checkout .form-row select,
	.woocommerce-checkout form.checkout .select2-container .select2-selection--single {
		min-height: 48px !important;
		border-radius: 3px !important;
	}
	.woocommerce-checkout form.checkout > #payment {
		width: 100%;
		margin: 24px 0 0;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #fff !important;
	}
	.woocommerce-checkout form.checkout > #payment::before {
		content: "Payment method";
		display: block;
		margin-top: 0;
	}
	.woocommerce-checkout form.checkout > #payment .wc_payment_methods {
		border: 1px solid #e1e4e6 !important;
		border-radius: 4px;
		overflow: hidden;
	}
	.woocommerce-checkout form.checkout > .woocommerce-additional-fields {
		width: 100%;
		margin: 26px 0 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}
	.woocommerce-checkout form.checkout #order_comments { min-height: 118px !important; }
	.woocommerce-checkout form.checkout #place_order {
		min-height: 48px;
		border-radius: 3px !important;
	}
	.woocommerce-cart .wc-proceed-to-checkout .theme577-continue-shopping {
		border: 1px solid #cfd4d8 !important;
		background: #fff !important;
		color: #343b40 !important;
	}
	.theme577-order-summary-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		order: 0;
		width: 100%;
		min-height: 52px;
		margin: 8px 0 0;
		padding: 0 14px;
		border: 0;
		border-top: 1px solid #dfe3e5;
		border-bottom: 1px solid #dfe3e5;
		background: #f1f3f4;
		color: #333a40;
		font-size: 13px;
		text-align: left;
		cursor: pointer;
	}
	.theme577-order-summary-toggle span { display: inline-flex; align-items: center; gap: 6px; font-weight: 650; }
	.theme577-order-summary-toggle strong { font-size: 13px; font-weight: 600; }
	.woocommerce-checkout form.checkout > .theme577-order-summary-toggle { order: 0; }
	.woocommerce-checkout form.checkout > #order_review_heading { display: none !important; }
	.woocommerce-checkout form.checkout_coupon {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 8px;
		padding: 12px !important;
		border: 1px solid #e1e4e6 !important;
		border-radius: 3px !important;
		background: #f6f7f8;
	}
	.woocommerce-checkout form.checkout_coupon > p:first-child {
		grid-column: 1 / -1;
		margin: 0 0 2px;
		font-size: 12px;
		color: #687078;
	}
	.woocommerce-checkout form.checkout_coupon .form-row-first,
	.woocommerce-checkout form.checkout_coupon .form-row-last {
		float: none !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.woocommerce-checkout form.checkout_coupon input.input-text { height: 44px; }
	.woocommerce-checkout form.checkout_coupon button.button {
		width: auto !important;
		height: 44px;
		padding: 0 16px !important;
		white-space: nowrap;
	}
}

@media (min-width: 768px) {
	.theme577-order-summary-toggle { display: none; }
}

/* v13 conversion polish: compact coupons, clearer cart actions and sale-led product cards. */
.woocommerce-checkout form.checkout_coupon {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 132px !important;
	align-items: stretch !important;
	gap: 8px !important;
	margin: 0 0 18px !important;
	padding: 12px !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: #f3f5f6 !important;
	box-shadow: none !important;
}
.woocommerce-checkout form.checkout_coupon > p.form-row-first {
	grid-column: 1 !important;
	grid-row: 1 !important;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce-checkout form.checkout_coupon > p.form-row-last {
	grid-column: 2 !important;
	grid-row: 1 !important;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce-checkout form.checkout_coupon input.input-text,
.woocommerce-checkout form.checkout_coupon button.button {
	width: 100% !important;
	height: 46px !important;
	min-height: 46px !important;
	margin: 0 !important;
	border-radius: 3px !important;
}
.woocommerce-checkout form.checkout_coupon input.input-text {
	border: 1px solid #dfe3e6 !important;
	background: #fff !important;
	box-shadow: none !important;
}
.woocommerce-checkout form.checkout_coupon button.button {
	padding: 0 12px !important;
	border: 1px solid #20272d !important;
	background: #20272d !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
}

.woocommerce-cart .woocommerce-cart-form .actions a.button.theme577-clear-cart {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	float: right !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 38px !important;
	margin: 10px 0 0 auto !important;
	padding: 0 13px !important;
	border: 1px solid #d8dde0 !important;
	border-radius: 3px !important;
	background: #fff !important;
	color: #687078 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	box-shadow: none !important;
}
.woocommerce-cart .woocommerce-cart-form .actions a.button.theme577-clear-cart:hover {
	border-color: #f04f45 !important;
	background: #fff8f7 !important;
	color: #d94138 !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.button.theme577-continue-shopping {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 48px !important;
	margin: 0 0 8px !important;
	border: 1px solid #e0e4e6 !important;
	border-radius: 3px !important;
	background: #eef1f3 !important;
	color: #242a2f !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .04em !important;
	box-shadow: none !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.button.theme577-continue-shopping:hover {
	border-color: #d6dbde !important;
	background: #e4e8ea !important;
	color: #111 !important;
}
.woocommerce-cart .cart_totals,
.woocommerce-checkout .theme577-checkout-summary,
.woocommerce-checkout #order_review {
	border-color: #e4e7e9 !important;
	border-radius: 4px !important;
	box-shadow: none !important;
}
.theme577-order-summary-toggle {
	min-height: 56px !important;
	padding: 0 16px !important;
	border: 1px solid #e1e5e7 !important;
	border-radius: 4px !important;
	background: #f1f3f4 !important;
	color: #20262b !important;
}

/* Category grids: reference-style black titles, red promotion copy/price and badges. */
.main-products .product-layout .caption .name,
.main-products .product-layout.product-layout-shop .caption .name,
.main-products .product-layout .caption .name a,
.main-products .product-layout.product-layout-shop .caption .name a {
	color: #242a2f !important;
	font-weight: 500 !important;
}
.main-products .product-layout .caption .featured-custom-text,
.main-products .product-layout.product-layout-shop .caption .featured-custom-text {
	color: #f04f45 !important;
	font-weight: 700 !important;
}
.main-products .product-layout .caption .price,
.main-products .product-layout .caption .price > div,
.main-products .product-layout.product-layout-shop .caption .price,
.main-products .product-layout.product-layout-shop .caption .price > div,
.main-products .product-layout .caption .price ins,
.main-products .product-layout.product-layout-shop .caption .price ins,
.main-products .product-layout .caption .price ins .woocommerce-Price-amount,
.main-products .product-layout.product-layout-shop .caption .price ins .woocommerce-Price-amount {
	color: #f04f45 !important;
}
.main-products .product-layout .caption .price del,
.main-products .product-layout.product-layout-shop .caption .price del,
.main-products .product-layout .caption .price del .woocommerce-Price-amount,
.main-products .product-layout.product-layout-shop .caption .price del .woocommerce-Price-amount {
	color: #8d959b !important;
}
.main-products .product-layout:not(.product-layout-shop) .product-labels {
	top: 8px !important;
	right: 8px !important;
	left: auto !important;
	align-items: flex-end !important;
}
.main-products .product-layout:not(.product-layout-shop) .product-label.product-label-28,
.main-products .product-layout.product-layout-shop .product-discount-badge {
	min-width: auto !important;
	height: 27px !important;
	padding: 0 9px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #f04f45 !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 27px !important;
	box-shadow: none !important;
}
.main-products .product-layout:not(.product-layout-shop) .product-label.product-label-29,
.main-products .product-layout.product-layout-shop .product-new-badge {
	min-width: auto !important;
	height: 24px !important;
	padding: 0 8px !important;
	border-radius: 999px !important;
	background: #49a9d6 !important;
	color: #fff !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 24px !important;
	box-shadow: none !important;
}
@media (max-width: 991px) {
	.main-products .product-layout .image::after { display: none !important; }
	.main-products .product-layout .product-labels {
		top: 6px !important;
		right: 6px !important;
		left: auto !important;
		align-items: flex-end !important;
	}
	.main-products .product-layout .caption .name { font-size: 12px !important; }
	.main-products .product-layout .caption .featured-custom-text { font-size: 11px !important; margin: 0 !important; }
	.main-products .product-layout .caption .price { font-size: 14px !important; }
	.woocommerce-checkout form.checkout_coupon { grid-template-columns: minmax(0, 1fr) 124px !important; }
}
@media (max-width: 390px) {
	.woocommerce-checkout form.checkout_coupon { grid-template-columns: minmax(0, 1fr) 112px !important; }
	.woocommerce-checkout form.checkout_coupon button.button { padding: 0 8px !important; font-size: 11px !important; }
}

/* v16: remove the hidden desktop slider row gap on mobile. */
@media (max-width: 991px) {
	.home-grid-rows .home-slider-row-desktop { display: none !important; }
	.home-grid-rows .grid-row.grid-row-top-1 { margin-bottom: 6px !important; }
	.home-grid-rows .home-slider-row-mobile { margin-top: 0 !important; }
}
@media (min-width: 992px) {
	.home-grid-rows .home-slider-row-mobile { display: none !important; }
}

/* v16: expanded category titles and clearer promotion hierarchy. */
@media (max-width: 991px) {
	.main-products .product-layout .caption .name,
	.main-products .product-layout.product-layout-shop .caption .name {
		display: block !important;
		overflow: visible !important;
		-webkit-line-clamp: unset !important;
		-webkit-box-orient: initial !important;
		min-height: 0 !important;
		font-size: 12.5px !important;
		line-height: 1.42 !important;
		margin: 0 0 5px !important;
	}
	.main-products .product-layout .caption .featured-custom-text,
	.main-products .product-layout.product-layout-shop .caption .featured-custom-text {
		font-size: 12px !important;
		line-height: 1.3 !important;
		margin: 0 0 4px !important;
	}
	.main-products .product-layout .caption .price,
	.main-products .product-layout.product-layout-shop .caption .price {
		font-size: 15px !important;
		line-height: 1.35 !important;
		margin: 0 !important;
	}
	.main-products .product-layout .caption .price ins,
	.main-products .product-layout.product-layout-shop .caption .price ins {
		font-size: 15px !important;
		font-weight: 750 !important;
	}
	.main-products .product-layout .caption .price del,
	.main-products .product-layout.product-layout-shop .caption .price del {
		font-size: 11px !important;
		font-weight: 400 !important;
		margin-left: 5px !important;
	}
	.main-products .product-layout.product-layout-shop .product-badges {
		top: 7px !important;
		right: 7px !important;
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		z-index: 8 !important;
	}
}

/*
 * KI8 product detail gallery: true 1:1 frame with the whole product visible.
 * Scope is deliberately limited to the main gallery so thumbnails, category
 * cards and recommendation images keep their existing sizing.
 */
.single-product .product-image .main-image .swiper-container {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
	background: #fff;
}
.single-product .product-image .main-image .swiper-wrapper,
.single-product .product-image .main-image .swiper-slide {
	height: 100% !important;
}
.single-product .product-image .main-image .swiper-slide {
	display: flex !important;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #fff;
}
.single-product .product-image .main-image .swiper-slide img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	object-position: center center !important;
	background: #fff;
}

/* KI8 cart destructive action: aligned, clear and visually secondary. */
.woocommerce-cart .woocommerce-cart-form .actions a.button.theme577-clear-cart {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 7px !important;
	float: right !important;
	width: auto !important;
	min-width: 132px !important;
	min-height: 46px !important;
	margin: 0 0 0 10px !important;
	padding: 0 18px !important;
	border: 1px solid #f1b7b2 !important;
	border-radius: 6px !important;
	background: #fff7f6 !important;
	color: #cf3f36 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: .025em !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
	transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease !important;
}
.woocommerce-cart .woocommerce-cart-form .actions a.button.theme577-clear-cart i {
	font-size: 13px !important;
	color: currentColor !important;
}
.woocommerce-cart .woocommerce-cart-form .actions a.button.theme577-clear-cart:hover,
.woocommerce-cart .woocommerce-cart-form .actions a.button.theme577-clear-cart:focus-visible {
	border-color: #ef5042 !important;
	background: #ef5042 !important;
	color: #fff !important;
	outline: none !important;
}
.woocommerce-cart .woocommerce-cart-form .actions a.button.theme577-clear-cart:active {
	transform: translateY(1px);
}

@media (max-width: 767px) {
	.woocommerce-cart .woocommerce-cart-form .actions a.button.theme577-clear-cart {
		float: none !important;
		width: 100% !important;
		min-width: 0 !important;
		min-height: 44px !important;
		margin: 10px 0 0 !important;
		padding: 0 14px !important;
		border-radius: 5px !important;
	}
}

/*
 * KI8 mobile sticky purchase bar: mirror the real purchase buttons.
 * The bar keeps forwarding clicks to the original functional form controls.
 */
@media (max-width: 991px) {
	.single-product .mobile-sticky-bar {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 8px !important;
		padding: 10px max(12px, env(safe-area-inset-left, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-right, 0px)) !important;
	}
	.single-product .mobile-sticky-bar .msb-btn {
		flex: 0 0 auto !important;
		width: 100% !important;
		min-height: 44px !important;
		padding: 0 16px !important;
		border: 0 !important;
		border-radius: 3px !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		letter-spacing: .035em !important;
		box-shadow: none !important;
	}
	.single-product .mobile-sticky-bar .msb-icon {
		display: none !important;
	}
	.single-product .mobile-sticky-bar .msb-btn-cart {
		background: #d6d6d6 !important;
		color: #1a1a1a !important;
	}
	.single-product .mobile-sticky-bar .msb-btn-cart:hover,
	.single-product .mobile-sticky-bar .msb-btn-cart:active {
		background: #bcbcbc !important;
		color: #1a1a1a !important;
	}
	.single-product .mobile-sticky-bar .msb-btn-buy {
		background: var(--theme-primary, #ef5042) !important;
		color: #fff !important;
	}
	.single-product .mobile-sticky-bar .msb-btn-buy:hover,
	.single-product .mobile-sticky-bar .msb-btn-buy:active {
		background: var(--theme-dark, #2c3640) !important;
		color: #fff !important;
	}
	body.theme577-mobile-sticky-visible.single-product .site-content {
		padding-bottom: 126px !important;
	}
body.theme577-mobile-sticky-visible.single-product .scroll-top {
		bottom: 126px !important;
	}
}

/* KI8 v6 quick shop: remove trailing scroll space and non-English patch captions. */
.theme577-quick-shop-body {
	flex: 0 1 auto !important;
	min-height: 0 !important;
}
.theme577-quick-shop-content {
	height: auto !important;
	min-height: 0 !important;
}
.theme577-quick-patch small { display: none !important; }
.theme577-quick-patch > span { min-height: 58px; justify-content: center; }

@media (max-width: 767px) {
	.theme577-quick-shop-dialog {
		height: auto !important;
		max-height: 93vh !important;
		max-height: 93dvh !important;
	}
	.theme577-quick-shop-body {
		height: auto !important;
		max-height: calc(93vh - 52px) !important;
		max-height: calc(93dvh - 52px) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior-y: contain;
	}
	.theme577-quick-shop-content {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
	}
	.theme577-quick-shop-actions {
		position: static !important;
		bottom: auto !important;
	}
}

