/**
 * 577 主题主样式
 * 参考 OpenCart + Journal 3 风格
 */

/* ============ 基础 ============ */
:root {
	--theme-primary: #ef5042;
	--theme-secondary: #579ac1;
	--theme-dark: #2c3640;
	--theme-border: #e2e2e2;
	--theme-bg-light: #f1f1f1;
	--theme-text: #333;
	--theme-text-light: #777;
	--theme-font: 'Inter', 'Helvetica Neue', Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	font-family: var(--theme-font);
	font-size: 14px;
	line-height: 1.6;
	color: var(--theme-text);
	background: #fff;
	margin: 0;
}
img { max-width: 100%; height: auto; }
a { color: var(--theme-dark); text-decoration: none; transition: color .2s; }
a:hover { color: var(--theme-primary); }
ul { padding: 0; margin: 0; list-style: none; }
input, button, select, textarea { font-family: inherit; font-size: inherit; }
.btn {
	display: inline-block;
	padding: 10px 18px;
	background: var(--theme-dark);
	color: #fff;
	border: 0;
	cursor: pointer;
	text-transform: uppercase;
	font-size: 13px;
	font-weight: 700;
	transition: background .2s, color .2s;
}
.btn:hover { background: var(--theme-primary); color: #fff; }
.btn-primary { background: var(--theme-primary); color: #fff; }
.btn-primary:hover { background: var(--theme-dark); }
.container { max-width: 1280px; margin: 0 auto; padding: 0 15px; }
.row { display: flex; flex-wrap: wrap; margin: -15px; }
.row > * { padding: 0 15px; flex: 1 1 0; }
.title { font-size: 22px; font-weight: 700; margin: 0 0 20px; color: var(--theme-dark); }
.form-control {
	width: 100%;
	padding: 8px 12px;
	border: 1px solid var(--theme-border);
	background: #fff;
	font-size: 14px;
	outline: none;
}
.form-control:focus { border-color: var(--theme-secondary); }
.hidden { display: none !important; }

/* ============ 全局布局容器 ============ */
.site-wrapper { min-height: 100vh; display: flex; flex-direction: column; }
.site-wrapper > #top.top.top-row { flex: 1 1 auto; display: block; }
/* 覆盖 Bootstrap navbar-nav 在页眉中的默认行为 */
.header-compact .navbar-nav { flex-direction: row; align-items: center; list-style: none; padding: 0; margin: 0; }
.header-compact .navbar-nav .nav-item { padding: 0; }

/* ============ 通用布局：grid-rows ============ */
/* 模块间距统一：桌面 28px，避免过大空隙 */
.grid-rows > .grid-row { margin: 0 0 28px; }
.grid-rows > .grid-row:last-child { margin-bottom: 0; }
/* 联赛图标行与轮播图紧贴（间距缩到 12px） */
.grid-rows > .grid-row.grid-row-top-1 { margin-bottom: 12px; }
.grid-cols { display: flex; flex-wrap: wrap; min-width: 0; }
.grid-cols > .grid-col { flex: 1 1 0; padding: 0 15px; min-width: 0; }
.grid-items { display: flex; flex-direction: column; min-width: 0; }
.grid-items > .grid-item { margin: 0 0 20px; min-width: 0; }
.grid-items > .grid-item:last-child { margin-bottom: 0; }
@media (max-width: 1024px) {
	.grid-cols > .grid-col { flex: 1 1 100%; }
}

/* ============ 页眉 ============ */
.site-wrapper { padding-top: 0; }
body.admin-bar .site-wrapper { padding-top: 0; }

/* 公告栏 */
.header-compact .top-bar-sticky {
	background: #ef5042;
	color: #fff;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 101;
	height: 36px;
	line-height: 36px;
	overflow: visible;
	margin: 0;
	padding: 0;
}
.header-compact .top-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 36px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 15px;
	font-size: 12px;
	overflow: visible;
	gap: 20px;
}
.top-bar-sticky .top-menu-283 {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	position: relative;
	height: 36px;
}
.top-bar-sticky .top-menu-283 > .j-menu {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	height: 100%;
	position: absolute;
	left: 0;
	top: 50%;
	white-space: nowrap;
	-webkit-animation: marquee-vcenter 18s linear infinite;
		animation: marquee-vcenter 18s linear infinite;
	width: max-content;
}
.top-bar-sticky .top-menu-283 > .j-menu > li {
	padding: 0 25px;
	flex-shrink: 0;
}
.top-bar-sticky .top-menu-283 > .j-menu > li::after {
	content: "•";
	margin-left: 25px;
	opacity: .6;
}
.top-bar-sticky .top-menu-283 > .j-menu > li:last-child::after { display: none; }
.top-bar-sticky .top-menu-283 > .j-menu > li > a { color: #fff; }
.top-bar-sticky .top-menu-283 > .j-menu > li > a:hover { opacity: .85; }

@keyframes marquee {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}
@keyframes marquee-vcenter {
	0% { transform: translate(0, -50%); }
	100% { transform: translate(-50%, -50%); }
}

.top-bar-sticky .top-links {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}
.top-bar-sticky .top-links > .j-menu {
	display: flex;
	align-items: center;
	gap: 15px;
}
.top-bar-sticky .top-links > .j-menu > li > a {
	color: #fff;
	opacity: .9;
	font-size: 12px;
	text-transform: uppercase;
}
.top-bar-sticky .top-links > .j-menu > li > a:hover { opacity: 1; }
.top-bar-tools {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	height: 36px;
	gap: 18px;
}
.theme577-desktop-localization {
	display: flex;
	align-items: center;
	height: 36px;
	gap: 2px;
}
.theme577-switcher,
.theme577-language-mount,
.theme577-currency-mount,
.theme577-localization-source-item {
	position: relative;
	display: flex;
	align-items: center;
	min-width: 0;
}
.theme577-localization-sources {
	position: fixed;
	top: -10000px;
	left: -10000px;
	width: 320px;
	opacity: 0;
	pointer-events: none;
	z-index: -1;
}
.theme577-localization-sources #gt_float_wrapper { position: static !important; }
.theme577-localization-duplicate { display: none !important; }

/* GTranslate can emit a floating, select or classic dropdown widget. Keep the
   automatic floating instance hidden until the responsive portal adopts it. */
body .gtranslate_wrapper { display: none !important; }
.theme577-language-mount .gtranslate_wrapper { display: block !important; }
.theme577-desktop-localization .theme577-switcher {
	height: 36px;
	border-left: 1px solid rgba(255, 255, 255, .22);
}
.theme577-desktop-localization .theme577-switcher:first-child { border-left: 0; }
.theme577-desktop-localization select,
.theme577-desktop-localization .wcml-dropdown > ul > li > a,
.theme577-desktop-localization .wcml-dropdown > li > a,
.theme577-desktop-localization .switcher .selected a {
	height: 36px !important;
	min-width: 72px;
	max-width: 165px;
	padding: 0 25px 0 9px !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0;
	background-color: transparent !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 36px !important;
	text-transform: uppercase;
	white-space: nowrap;
}
.theme577-desktop-localization select {
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='1.5' d='m1 1 5 5 5-5'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 8px center !important;
	cursor: pointer;
}
.theme577-desktop-localization select option { background: #33404d; color: #fff; }
.theme577-desktop-localization #gt_float_wrapper {
	position: static !important;
	width: auto !important;
	height: 36px;
}
.theme577-desktop-localization .gt_float_switcher {
	position: relative !important;
	display: block !important;
	width: auto !important;
	height: 36px;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	overflow: visible !important;
	font-family: inherit !important;
	font-size: 12px !important;
}
.theme577-desktop-localization .gt_float_switcher .gt-selected { background: transparent !important; overflow: visible !important; }
.theme577-desktop-localization .gt_float_switcher .gt-selected .gt-current-lang {
	display: flex;
	align-items: center;
	height: 36px;
	padding: 0 7px 0 9px !important;
	color: #fff !important;
	font-weight: 600 !important;
	text-transform: uppercase;
}
.theme577-desktop-localization .gt_float_switcher img { width: 20px !important; margin-right: 7px !important; border-radius: 1px !important; }
.theme577-desktop-localization .gt_float_switcher .gt-lang-code { top: 0 !important; }
.theme577-desktop-localization .gt_float_switcher-arrow { filter: brightness(0) invert(1); opacity: .85; }
.theme577-desktop-localization .gt_float_switcher .gt_options,
.theme577-desktop-localization .switcher .option {
	position: absolute !important;
	top: 36px !important;
	right: 0 !important;
	bottom: auto !important;
	left: auto !important;
	z-index: 10020 !important;
	width: 210px !important;
	max-height: min(420px, calc(100vh - 52px)) !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 0 5px 5px !important;
	background: #33404d !important;
	box-shadow: 0 14px 30px rgba(22, 28, 34, .24) !important;
	overflow-y: auto !important;
	transform: none !important;
}
.theme577-desktop-localization .gt_float_switcher .gt_options a,
.theme577-desktop-localization .switcher .option a {
	display: flex !important;
	align-items: center;
	min-height: 40px;
	padding: 8px 13px !important;
	border: 0 !important;
	background: transparent !important;
	color: #f7f9fb !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	text-transform: uppercase;
}
.theme577-desktop-localization .gt_float_switcher .gt_options a:hover,
.theme577-desktop-localization .switcher .option a:hover { background: #445361 !important; color: #fff !important; }
.theme577-desktop-localization .switcher,
.theme577-desktop-localization .switcher .selected { width: auto !important; border: 0 !important; background: transparent !important; }

/* WooCommerce Multilingual dropdown/list variants. */
.theme577-switcher-currency .wcml-dropdown,
.theme577-switcher-currency .wcml-dropdown ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.theme577-switcher-currency .wcml-dropdown { width: auto !important; }
.theme577-switcher-currency .wcml-dropdown li { position: relative; border: 0 !important; background: transparent !important; }
.theme577-desktop-localization .wcml-dropdown .wcml-cs-submenu,
.theme577-desktop-localization .wcml-dropdown li ul {
	position: absolute !important;
	top: 36px !important;
	right: 0 !important;
	left: auto !important;
	z-index: 10020 !important;
	min-width: 130px !important;
	border: 0 !important;
	background: #33404d !important;
	box-shadow: 0 14px 30px rgba(22, 28, 34, .24) !important;
}
.theme577-desktop-localization .wcml-dropdown .wcml-cs-submenu a,
.theme577-desktop-localization .wcml-dropdown li ul a {
	display: block !important;
	padding: 9px 13px !important;
	color: #fff !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
	white-space: nowrap;
}
.theme577-desktop-localization .wcml-dropdown .wcml-cs-submenu a:hover,
.theme577-desktop-localization .wcml-dropdown li ul a:hover { background: #445361 !important; }
.links-text {
	display: inline-block;
	white-space: nowrap;
	color: #fff;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .03em;
}

/* 中部栏 */
.header-compact .mid-bar {
	display: flex;
	align-items: center;
	height: 80px;
	padding: 0 15px;
	background: #fff;
	border-bottom: 1px solid var(--theme-border);
	position: fixed;
	top: 36px;
	left: 0;
	right: 0;
	z-index: 100;
	gap: 0;
	max-width: 100%;
}
body.admin-bar .header-compact .top-bar-sticky { top: 32px; }
body.admin-bar .header-compact .mid-bar { top: 68px; }
.desktop-logo-wrapper {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}
.desktop-logo-wrapper #logo a.logo-link { display: inline-block; padding: 10px 0; }
.desktop-logo-wrapper #logo .logo-img { max-height: 60px; width: auto; }
.desktop-logo-wrapper #logo .text-logo { font-size: 28px; font-weight: 700; color: var(--theme-dark); }

.desktop-main-menu-wrapper {
	flex: 1 1 auto;
	display: flex;
	justify-content: center;
	/* stretch 让 #main-menu 撑满 mid-bar 高度，子菜单 top:100% 才能正确接在 mid-bar 底部 */
	align-items: stretch;
	/* 覆盖 .mid-bar 的 align-items: center，让 wrapper 撑满 mid-bar 高度 80px
	   这样子菜单 top:100% 才能正确接在 mid-bar 底部，不会与 mid-bar 重叠 */
	align-self: stretch;
	min-width: 0;
	/* 必须用 visible，不能用 hidden：子菜单 .sub-menu 需要绝对定位到父菜单项下方
	   并向下展开，hidden 会截断子菜单导致无法显示 */
	overflow: visible;
}
.desktop-main-menu-wrapper .menu-trigger { display: none; }

#main-menu {
	width: auto;
	max-width: 100%;
	height: 100%;
	display: flex;
}
#main-menu .j-menu.main-level {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 0;
	/* 必须用 visible，不能用 overflow-x:auto：
	   CSS 规范限制 overflow-x:auto + overflow-y:visible 会被强制改成 auto，
	   导致绝对定位的 .sub-menu 被截断无法向下展开。
	   改用 flex-shrink + clamp padding 让菜单项自适应收缩防溢出 */
	overflow: visible;
	/* 让 ul 撑满 mid-bar 高度，子菜单 top:100% 才能正确接在 mid-bar 底部 */
	height: 100%;
}
#main-menu .j-menu.main-level > li.menu-item {
	position: relative;
	padding: 0;
	font-size: 14px;
	font-weight: 600;
	/* 允许菜单项收缩，配合下方 clamp padding 自适应空间 */
	flex-shrink: 1;
	min-width: 0;
	/* 让菜单项高度撑满 mid-bar，子菜单 top:100% 正好接在 mid-bar 底部 */
	align-self: stretch;
	display: flex;
	align-items: center;
}
#main-menu .j-menu.main-level > li.menu-item > a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	/* padding 用 clamp 自适应：窄屏/菜单项多时自动收缩，防止溢出 mid-bar */
	padding: 10px clamp(6px, 1vw, 16px);
	color: var(--theme-text);
	/* 字号也用 clamp 自适应 */
	font-size: clamp(12px, 0.85vw, 14px);
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: capitalize;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	position: relative;
}
#main-menu .j-menu.main-level > li.menu-item > a i.fa {
	color: var(--theme-primary);
	font-size: 15px;
	line-height: 1;
	display: inline-block;
}
/* 分类/标签菜单图标（后台上传的图片） */
#main-menu .j-menu.main-level > li.menu-item > a img.menu-cat-icon {
	width: 27px;
	height: 27px;
	object-fit: contain;
	flex-shrink: 0;
	border-radius: 3px;
	display: inline-block;
}
/* 子菜单中的图标略小 */
#main-menu .sub-menu img.menu-cat-icon {
	width: 24px;
	height: 24px;
	object-fit: contain;
	flex-shrink: 0;
	border-radius: 3px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 6px;
}
#main-menu .j-menu.main-level > li.menu-item > a:hover,
#main-menu .j-menu.main-level > li.menu-item:hover > a { color: var(--theme-secondary); }

#main-menu .mega-menu-content {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	background: #fff;
	border: 1px solid var(--theme-border);
	border-top: 2px solid var(--theme-primary);
	box-shadow: 0 14px 40px rgba(0,0,0,.12);
	padding: 22px 24px;
	/* min-width 用 clamp 响应式：小屏自动收缩，防止溢出视口 */
	min-width: min(720px, 90vw);
	max-width: min(1100px, 90vw);
	z-index: 1000;
	display: none;
	border-radius: 0 0 4px 4px;
}
#main-menu .j-menu.main-level > li.menu-item:hover .mega-menu-content { display: block; }

/**
 * ==========================================================================
 * 桌面端子菜单系统 — Flyout 模式
 * --------------------------------------------------------------------------
 * 核心原则：
 * 1. 二级子菜单：居中于父菜单项（left:50% + translateX(-50%)）
 * 2. 三级及更深子菜单：从父菜单项右侧展开（left:100% + top:0）
 * 3. 所有层级都有白底+阴影，z-index 按嵌套深度递增
 * 4. JS 边界检测：右侧溢出时改为左侧展开
 * 5. 多列时不改变定位方式，只改变内部布局
 * ==========================================================================
 */

/* --- 通用样式（所有层级子菜单共享） --- */
#main-menu .sub-menu {
	background: #fff;
	border: 1px solid var(--theme-border);
	box-shadow: 0 14px 40px rgba(0,0,0,.12);
	padding: 6px 0;
	list-style: none;
	margin: 0;
	overflow: visible;
	display: none;
	position: absolute;
	border-radius: 0 0 4px 4px;
	border-top: 2px solid var(--theme-primary);
}

/* --- 二级子菜单（主菜单项的直接子菜单）：居中于父菜单项 --- */
#main-menu .j-menu.main-level > li.menu-item > .sub-menu {
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	min-width: 220px;
	max-width: min(320px, 90vw);
	z-index: 1000;
}

/* --- 三级子菜单：从父菜单项右侧展开 --- */
#main-menu .sub-menu .sub-menu {
	top: 0;
	left: 100%;
	min-width: 220px;
	max-width: min(320px, 90vw);
	z-index: 1100;
	border-top: 1px solid var(--theme-border);
	border-left: 2px solid var(--theme-primary);
	border-radius: 0 4px 4px 0;
}

/* --- 四级子菜单：从父菜单项右侧展开 --- */
#main-menu .sub-menu .sub-menu .sub-menu {
	z-index: 1200;
}

/* --- 五级子菜单：从父菜单项右侧展开 --- */
#main-menu .sub-menu .sub-menu .sub-menu .sub-menu {
	z-index: 1300;
}

/* --- JS 边界兜底类（适用于所有层级） --- */
/* 二级菜单专用：左/右边界对齐 */
#main-menu .j-menu.main-level > li.menu-item > .sub-menu.sub-menu-align-left {
	left: 0 !important;
	right: auto !important;
	transform: none !important;
}
#main-menu .j-menu.main-level > li.menu-item > .sub-menu.sub-menu-align-right {
	left: auto !important;
	right: 0 !important;
	transform: none !important;
}
/* 三级+菜单专用：右侧溢出时改为左侧展开（right: 100%） */
#main-menu .sub-menu .sub-menu.sub-menu-align-left {
	left: auto !important;
	right: 100% !important;
	transform: none !important;
}

/* --- hover 显示规则（纯 CSS hover，直接子选择器） ---
 * --------------------------------------------------------------------------
 * 关键设计：
 * 1. 二级子菜单：从父 li hover 时显示
 * 2. 三级子菜单：从父 li hover 时显示（不依赖二级 hover）
 * 3. 用 > 直接子选择器精确匹配
 * --------------------------------------------------------------------------
 */
#main-menu .sub-menu { display: none; }
#main-menu .j-menu.main-level > li.menu-item:hover > .sub-menu { display: block; }
#main-menu .j-menu.main-level > li.menu-item:hover > .sub-menu.sub-menu-multicol { display: flex !important; }
#main-menu .sub-menu > li.menu-item:hover > .sub-menu { display: block; }
#main-menu .sub-menu > li.menu-item:hover > .sub-menu.sub-menu-multicol { display: flex !important; }
#main-menu .sub-menu > li.menu-item {
	position: relative;
	padding: 0;
	margin: 0;
	list-style: none;
}
#main-menu .sub-menu > li.menu-item > a {
	display: block;
	padding: 10px 18px;
	font-size: 13px;
	font-weight: 500;
	color: var(--theme-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: background .15s, color .15s;
}
#main-menu .sub-menu > li.menu-item > a:hover {
	background: #f5f5f7;
	color: var(--theme-primary);
}

/**
 * ==========================================================================
 * 多列布局系统
 * --------------------------------------------------------------------------
 * JS 根据子菜单项数量添加列数类：
 *   6-11 项 → .sub-menu-cols-3（3 列）
 *   12-17 项 → .sub-menu-cols-4（4 列）
 *   18+ 项 → .sub-menu-cols-5（5 列）
 *
 * 多列时只改变内部 flex 布局，不改变定位方式
 * ==========================================================================
 */

/* 多列容器基础样式 — 默认隐藏（由 hover 规则控制显示） */
#main-menu .sub-menu.sub-menu-multicol {
	flex-wrap: wrap;
	padding: 8px;
	min-width: 400px;
	max-width: min(1100px, 95vw);
}

/* 列数规则：默认 3 列 */
#main-menu .sub-menu.sub-menu-multicol > li.menu-item {
	flex: 0 0 33.33%;
	min-width: 150px;
	white-space: normal;
}
#main-menu .sub-menu.sub-menu-multicol.sub-menu-cols-4 > li.menu-item {
	flex: 0 0 25%;
	min-width: 130px;
}
#main-menu .sub-menu.sub-menu-multicol.sub-menu-cols-5 > li.menu-item {
	flex: 0 0 20%;
	min-width: 120px;
}

/* 多列时菜单项文字样式 */
#main-menu .sub-menu.sub-menu-multicol > li.menu-item > a {
	padding: 8px 12px;
	font-size: 12px;
	white-space: normal;
	line-height: 1.3;
}
.module-catalog .catalog-title {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: var(--theme-dark);
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: 4px 10px 10px;
	border-bottom: 1px solid var(--theme-border);
	margin-bottom: 10px;
}
.module-catalog .catalog-title:hover { color: var(--theme-primary); }
.module-catalog .subitems-wrap {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 6px;
}
.module-catalog .subitem a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	color: var(--theme-text);
	border-radius: 4px;
	transition: background .18s, color .18s;
}
.module-catalog .subitem a:hover {
	background: #f5f5f7;
	color: var(--theme-primary);
}
.module-catalog .subitem a img {
	border-radius: 50%;
	width: 28px;
	height: 28px;
	object-fit: cover;
	flex-shrink: 0;
}
.module-catalog .subitem .subitem-name {
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.header-cart-group {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 12px;
	margin-left: auto;
}
.header-cart-group .dropdown { position: relative; }
.header-cart-group .dropdown-toggle {
	background: none;
	border: 0;
	padding: 6px;
	cursor: pointer;
	color: var(--theme-dark);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
}
.header-cart-group .dropdown-toggle:hover { color: var(--theme-primary); }
.header-cart-group .dropdown-menu {
	position: absolute;
	top: 100%;
	right: 0;
	background: #fff;
	border: 1px solid var(--theme-border);
	box-shadow: 0 4px 20px rgba(0,0,0,.08);
	min-width: 220px;
	z-index: 1000;
	display: none;
	padding: 10px;
}
.header-cart-group .dropdown:hover .dropdown-menu { display: block; }
/* 购物车下拉：右对齐父容器，但保证不超出视口右侧
 * 原因：原 right:0 + min-width:220px 在窄视口下会溢出右侧被裁切
 * 方案：用 right:0 定位 + max-width 限制 + 防溢出兜底 */
.header-cart-group .dropdown-menu.cart-dropdown {
	right: 0;
	left: auto;
	min-width: 340px;
	max-width: min(380px, calc(100vw - 32px));
	padding: 0;
	overflow: hidden;
	border-radius: 8px;
}
@media (max-width: 1024px) {
	.header-cart-group .dropdown-menu.cart-dropdown {
		/* 窄视口下从右侧 16px 处对齐，避免溢出 */
		right: -16px;
		min-width: 280px;
	}
}
.search-dropdown { min-width: 320px; }
.search-form { display: flex; }
.search-form .search-input {
	flex: 1;
	padding: 10px 12px;
	border: 1px solid var(--theme-border);
	border-right: 0;
}
.search-form .search-button {
	padding: 0 14px;
	background: var(--theme-primary);
	color: #fff;
	border: 0;
	cursor: pointer;
}
.account-menu .j-menu { display: flex; align-items: center; gap: 12px; }
.account-menu .j-menu a { display: inline-flex; align-items: center; gap: 6px; color: var(--theme-dark); text-decoration: none; }
.account-menu .j-menu a:hover { color: var(--theme-primary); }
.count-badge {
	display: inline-block;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	background: var(--theme-primary);
	color: #fff;
	border-radius: 50px;
	font-size: 10px;
	font-weight: 400;
	text-align: center;
	line-height: 18px;
}
.count-zero { display: none !important; }

/* 移动端头部 */
.mobile-header {
	display: none;
	position: relative;
	background: #fff;
}
.mobile-top-menu-wrapper {
	display: block;
	height: 36px;
	padding: 0 7px;
	background: var(--theme-primary);
	overflow: hidden;
	position: relative;
}
.mobile-top-menu-wrapper .top-menu-283 {
	height: 36px;
	overflow: hidden;
	position: relative;
}
.mobile-top-menu-wrapper .top-menu-283 > .j-menu {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	height: 100%;
	position: absolute;
	left: 0;
	top: 50%;
	white-space: nowrap;
	-webkit-animation: marquee-vcenter 18s linear infinite;
		animation: marquee-vcenter 18s linear infinite;
	width: max-content;
}
.mobile-top-menu-wrapper .top-menu-283 > .j-menu > li {
	padding: 0 18px;
	flex-shrink: 0;
}
.mobile-top-menu-wrapper .top-menu-283 > .j-menu > li::after {
	content: "•";
	margin-left: 18px;
	opacity: .6;
}
.mobile-top-menu-wrapper .top-menu-283 > .j-menu > li:last-child::after { display: none; }
.mobile-top-menu-wrapper .top-menu-283 > .j-menu > li > a { color: #fff; }
.mobile-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 15px;
	background: #fff;
	border-bottom: 1px solid var(--theme-border);
	position: relative;
}
.mobile-menu-trigger a { font-size: 22px; color: var(--theme-dark); text-decoration: none; }
.mobile-logo .logo-img { max-height: 50px; }
.mobile-actions { display: flex; gap: 12px; align-items: center; }
.mobile-actions a { color: var(--theme-dark); position: relative; text-decoration: none; }
/* 移动端菜单抽屉：从左侧滑出 + 动效 */
.mobile-menu-drawer {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: min(88vw, 410px);
	max-width: 410px;
	background: #fff;
	z-index: 10001;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	box-shadow: 4px 0 24px rgba(0, 0, 0, .12);
	/* 默认隐藏在左侧 */
	transform: translateX(-100%);
	transition: transform .28s cubic-bezier(.4, 0, .2, 1);
	visibility: hidden;
	display: flex;
	flex-direction: column;
}
.mobile-menu-drawer.is-open {
	transform: translateX(0);
	visibility: visible;
}
/* 独立遮罩层（不拦截抽屉内的点击） */
.mobile-menu-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .45);
	z-index: 10000;
	opacity: 0;
	visibility: hidden;
	transition: opacity .28s ease, visibility .28s ease;
}
.mobile-menu-overlay.is-open {
	opacity: 1;
	visibility: visible;
}
/* Reference-style drawer header and sliding submenu panels. */
.mobile-menu-drawer::before { content: none !important; display: none !important; }
.mobile-menu-drawer-head {
	position: sticky;
	top: 0;
	z-index: 8;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 60px;
	padding: 10px 14px 10px 18px;
	border-bottom: 1px solid #eceeef;
	background: rgba(255, 255, 255, .98);
}
.mobile-menu-drawer-logo .logo-img { display: block; width: auto; max-width: 100px; max-height: 28px; }
.mobile-menu-drawer-logo .text-logo { color: #171a1d; font-size: 15px; font-weight: 800; text-decoration: none; }
.mobile-menu-close {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	background: transparent;
	color: #2b3035;
	font-size: 31px;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
}
.mobile-menu-panel-heading {
	position: sticky;
	top: 60px;
	z-index: 7;
	min-height: 48px;
	border-bottom: 1px solid #eceeef;
	background: #fff;
}
.mobile-menu-panel-heading[hidden] { display: none !important; }
.mobile-menu-back {
	width: 100%;
	min-height: 48px;
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 9px 16px;
	border: 0;
	background: transparent;
	color: #20252a;
	font-size: 14px;
	font-weight: 750;
	text-align: left;
	cursor: pointer;
}
.mobile-menu-back .fa { font-size: 19px; }
.mobile-menu-container { width: 100%; padding: 0; flex: 0 0 auto; }
.mobile-menu-container .j-menu.main-level {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	flex-wrap: nowrap;
}
.mobile-menu-container .j-menu,
.mobile-menu-container .sub-menu,
.mobile-menu-container .mega-menu-content {
	position: static !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 12px 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: #fff !important;
	transform: none !important;
}
.mobile-menu-container .j-menu:not(.mobile-menu-current-panel):not(.mobile-menu-parent-panel),
.mobile-menu-container .sub-menu:not(.mobile-menu-current-panel):not(.mobile-menu-parent-panel),
.mobile-menu-container .mega-menu-content:not(.mobile-menu-current-panel):not(.mobile-menu-parent-panel) { display: none !important; }
.mobile-menu-container .mobile-menu-current-panel { display: block !important; animation: theme577MenuPanelIn .2s ease both; }
.mobile-menu-container .mobile-menu-parent-panel { display: block !important; padding: 0 !important; }
.mobile-menu-container .mobile-menu-parent-panel > li { display: none !important; }
.mobile-menu-container .mobile-menu-parent-panel > li.mobile-menu-active-branch { display: block !important; border: 0 !important; }
.mobile-menu-container .mobile-menu-parent-panel > li.mobile-menu-active-branch > a { display: none !important; }
@keyframes theme577MenuPanelIn { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: translateX(0); } }
.mobile-menu-container .j-menu.main-level > li.menu-item {
	width: 100%;
	border-bottom: 0;
}
.mobile-menu-container .j-menu.main-level > li.menu-item > a {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 11px 18px;
	font-size: 14px;
	font-weight: 500;
	width: 100%;
	color: var(--theme-dark);
	transition: background .16s, color .16s;
	position: relative;
	box-sizing: border-box;
}
.mobile-menu-container .j-menu.main-level > li.menu-item > a:active,
.mobile-menu-container .j-menu.main-level > li.menu-item > a:hover {
	background: #f8f8fa;
	color: var(--theme-primary);
	padding-left: 18px;
}
/* hover 左侧红色指示边条（增强交互反馈） */
.mobile-menu-container .j-menu.main-level > li.menu-item > a::before { content: none; }
.mobile-menu-container .j-menu.main-level > li.menu-item > a:hover::before,
.mobile-menu-container .j-menu.main-level > li.menu-item > a:active::before {
	transform: scaleY(1);
}
.mobile-menu-container .j-menu.main-level > li.menu-item:last-child { border-bottom: 0; }
/* mega-menu-content 在移动端作为子菜单容器 */
.mobile-menu-container .mega-menu-content {
	position: static;
	transform: none;
	min-width: 0;
	max-width: none;
	box-shadow: none;
	border: 0;
	padding: 0 18px 12px 36px;
	background: #fafafa;
	border-radius: 0;
}
.mobile-menu-container .subitems-wrap {
	grid-template-columns: repeat(2, 1fr);
	gap: 4px;
}
.mobile-menu-container .subitem a { padding: 8px; }
.mobile-menu-container .menu-item-has-children > a::after,
.mobile-menu-container li.menu-item-has-children > a::after {
	content: "›";
	margin-left: auto;
	font-weight: 400;
	color: var(--theme-text-light);
	font-size: 25px;
	line-height: .8;
}
/* 各级子菜单样式（缩进区分层级） */
.mobile-menu-container .sub-menu li { width: 100%; border-bottom: 1px solid #f2f3f4; }
.mobile-menu-container .sub-menu li:last-child { border-bottom: 0; }
.mobile-menu-container .sub-menu li a,
.mobile-menu-container .sub-menu .sub-menu li a,
.mobile-menu-container .sub-menu .sub-menu .sub-menu li a,
.mobile-menu-container .sub-menu .sub-menu .sub-menu .sub-menu li a {
	min-height: 54px;
	display: flex;
	align-items: center;
	padding: 10px 18px !important;
	background: #fff !important;
	color: #2d3237;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	transition: background .16s, color .16s;
}
.mobile-menu-container .sub-menu li a:hover { background: #f7f8f8 !important; color: #111; }
/* 子菜单容器过渡动画 */
.mobile-menu-container .sub-menu,
.mobile-menu-container .mega-menu-content {
	overflow: visible;
}
.mobile-menu-utility-links {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-top: auto;
	padding: 4px 18px max(22px, env(safe-area-inset-bottom));
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
	background: #fff;
}
.mobile-menu-utility-links[hidden] { display: none !important; }
.mobile-menu-utility-links > a { min-height: 43px; display: flex; align-items: center; gap: 7px; color: #555b60; font-size: 13px; text-decoration: none; }
.theme577-mobile-localization {
	display: grid;
	grid-template-columns: 1fr;
	gap: 9px;
	min-width: 0;
	width: 100%;
	margin-top: 7px;
	padding-top: 14px;
	border-top: 1px solid #eceeef;
}
.theme577-mobile-switcher-row {
	position: relative;
	width: 100%;
	min-height: 49px;
	overflow: visible;
	border: 1px solid #dfe3e6;
	border-radius: 5px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(24, 31, 38, .04);
	transition: border-color .16s ease, box-shadow .16s ease;
}
.theme577-mobile-switcher-row.theme577-switcher-active {
	border-color: #b8c0c6;
	box-shadow: 0 6px 18px rgba(24, 31, 38, .09);
}
.theme577-mobile-switcher-row::after {
	content: "";
	position: absolute;
	top: 23px;
	right: 15px;
	width: 8px;
	height: 8px;
	border-right: 1.5px solid #64707a;
	border-bottom: 1.5px solid #64707a;
	transform: rotate(45deg);
	transition: transform .16s ease;
	pointer-events: none;
	z-index: 4;
}
.theme577-mobile-switcher-row.theme577-switcher-active::after { transform: rotate(225deg); }
.theme577-mobile-switcher-row .theme577-language-mount,
.theme577-mobile-switcher-row .theme577-currency-mount,
.theme577-mobile-switcher-row .theme577-localization-source-item {
	display: block !important;
	width: 100%;
	min-width: 0;
	min-height: 47px;
}
.theme577-mobile-switcher-row .gtranslate_wrapper { width: 100% !important; }
.theme577-mobile-localization select {
	width: 100% !important;
	height: 47px !important;
	padding: 0 42px 0 14px !important;
	border: 0 !important;
	border-radius: 5px !important;
	outline: 0;
	-webkit-appearance: none;
	appearance: none;
	background: transparent !important;
	color: #2c3339 !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	cursor: pointer;
	touch-action: manipulation;
}
.theme577-mobile-localization #gt_float_wrapper { position: static !important; width: 100% !important; }
.theme577-mobile-localization .gt_float_switcher {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	min-height: 47px;
	border: 0 !important;
	border-radius: 5px !important;
	box-shadow: none !important;
	background: transparent !important;
	overflow: visible !important;
	font-family: inherit !important;
}
.theme577-mobile-localization .gt_float_switcher .gt-selected { width: 100%; background: transparent !important; overflow: visible !important; }
.theme577-mobile-localization .gt_float_switcher .gt-current-lang {
	display: flex;
	align-items: center;
	width: 100%;
	height: 47px;
	padding: 0 42px 0 14px !important;
	color: #2c3339 !important;
	font-size: 13px;
	font-weight: 600 !important;
	text-transform: uppercase;
}
.theme577-mobile-localization .gt_float_switcher img { width: 23px !important; margin-right: 9px !important; border-radius: 1px !important; }
.theme577-mobile-localization .gt_float_switcher-arrow { display: none !important; }
.theme577-mobile-localization .gt_float_switcher .gt_options,
.theme577-mobile-localization .switcher .option {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	z-index: auto !important;
	width: 100% !important;
	max-height: min(300px, 40vh) !important;
	margin: 0 !important;
	border: 0 !important;
	border-top: 1px solid #e5e8ea !important;
	border-radius: 0 0 5px 5px !important;
	background: #fff !important;
	box-shadow: none !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	transform: none !important;
}
.theme577-mobile-localization .gt_float_switcher .gt_options a,
.theme577-mobile-localization .switcher .option a {
	display: flex !important;
	align-items: center;
	min-height: 43px;
	padding: 8px 13px !important;
	border: 0 !important;
	background: #fff !important;
	color: #2d343a !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	text-transform: uppercase;
	touch-action: manipulation;
}
.theme577-mobile-localization .gt_float_switcher .gt_options a:hover,
.theme577-mobile-localization .switcher .option a:hover { background: #f2f4f5 !important; }
.theme577-mobile-localization .switcher,
.theme577-mobile-localization .switcher .selected,
.theme577-mobile-localization .switcher .selected a { width: 100% !important; border: 0 !important; background: transparent !important; }
.theme577-mobile-localization .switcher .selected a {
	height: 47px !important;
	padding: 0 42px 0 14px !important;
	color: #2c3339 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 47px !important;
}
.theme577-mobile-localization .wcml-dropdown { width: 100% !important; }
.theme577-mobile-localization .wcml-dropdown > ul,
.theme577-mobile-localization .wcml-dropdown > li { width: 100% !important; }
.theme577-mobile-localization .wcml-dropdown > ul > li > a,
.theme577-mobile-localization .wcml-dropdown > li > a {
	display: flex !important;
	align-items: center;
	width: 100% !important;
	height: 47px !important;
	padding: 0 42px 0 14px !important;
	border: 0 !important;
	background: transparent !important;
	color: #2c3339 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-transform: uppercase;
}
.theme577-mobile-localization .wcml-dropdown .wcml-cs-submenu,
.theme577-mobile-localization .wcml-dropdown li ul {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	z-index: auto !important;
	width: 100% !important;
	max-height: min(270px, 38vh);
	border: 0 !important;
	border-top: 1px solid #e5e8ea !important;
	border-radius: 0 0 5px 5px !important;
	background: #fff !important;
	box-shadow: none !important;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}
.theme577-mobile-localization .wcml-dropdown .wcml-cs-submenu a,
.theme577-mobile-localization .wcml-dropdown li ul a { display: block !important; padding: 10px 13px !important; color: #2d343a !important; }

@media (min-width: 992px) and (max-width: 1180px) {
	.top-bar-sticky .top-links .top-menu-item-1 { display: none; }
	.header-compact .top-bar { gap: 12px; }
	.top-bar-tools { gap: 10px; }
}

.mobile-search-form { padding: 10px 15px; background: #fff; border-top: 1px solid var(--theme-border); }
.mobile-search-form form { display: flex; }
.mobile-search-form input[type="search"] {
	flex: 1;
	padding: 10px 12px;
	border: 1px solid var(--theme-border);
}
.mobile-search-form button {
	padding: 0 14px;
	background: var(--theme-primary);
	color: #fff;
	border: 0;
	cursor: pointer;
}

/* 响应式 */
@media (min-width: 992px) {
	.header-compact { padding-top: 116px; }
	.mobile-header { display: none !important; }
	.header-compact .mid-bar,
	.header-compact .top-bar-sticky { display: flex; }
	.header-compact .top-bar-sticky { display: block; }
}
@media (max-width: 991px) {
	.header-compact .top-bar-sticky,
	.header-compact .mid-bar { display: none !important; }
	.mobile-header { display: block; }
	body.mobile-menu-open { overflow: hidden; }
}

/* ============ 面包屑（左对齐） ============ */
.breadcrumb {
	display: flex;
	flex-wrap: wrap;
	padding: 14px 0;
	margin: 0 0 10px;
	font-size: 12px;
	text-align: left;
}
.breadcrumb li { color: var(--theme-text-light); }
.breadcrumb li:not(:last-child)::after {
	content: '/';
	margin: 0 8px;
	color: var(--theme-border);
}
.breadcrumb li a { color: var(--theme-text-light); }
.breadcrumb li a:hover { color: var(--theme-primary); }
.breadcrumb li:last-child { color: var(--theme-dark); font-weight: 600; }

/* ============ 页面标题 ============ */
.title.page-title {
	max-width: 1280px;
	margin: 0 auto 20px;
	padding: 0 15px;
	font-size: 28px;
}

/* ============ 首页模块 ============ */
.home-grid-rows { padding: 20px 15px 40px; max-width: 1280px; margin: 0 auto; }

/* 通用 category-layout / category-thumb（参考 HTML 标准样式） */
.category-layout {
	display: inline-block;
	vertical-align: top;
}
.category-thumb {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.category-thumb .image { display: block; }
.category-thumb .image img {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: contain;
	transition: transform .3s;
}
.category-thumb:hover .image img { transform: scale(1.05); }
.category-thumb .caption { margin-top: 8px; }
.category-thumb .caption .name {
	font-size: 11px;
	font-weight: 400;
	color: var(--theme-text);
	text-align: center;
	margin-top: 10px;
}
.category-thumb .caption .name a { color: var(--theme-text); }
.category-thumb:hover .caption .name a { color: var(--theme-primary); }
.category-thumb .caption .description { display: none; }
.category-thumb .caption .button-group { display: none !important; }

/* 板块子分类网格（module-categories-348 等，参考 HTML：桌面 6 列）
   与 module-categories-292 同样式，icon 40x40，name 11px 居中 */
.module-categories:not(.module-categories-292) .module-body { margin: 0; }
/* 桌面端圆形图标：横向滚动 + 滑动条（与移动端体验一致） */
.module-categories:not(.module-categories-292) .category-grid:not(.swiper-wrapper) {
	margin: 0;
	padding: 4px 4px 10px;
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 8px;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scroll-behavior: smooth;
	scrollbar-width: thin;
	scrollbar-color: #ccc transparent;
	-ms-overflow-style: -ms-autohiding-scrollbar;
	touch-action: pan-x;
}
.module-categories:not(.module-categories-292) .category-grid:not(.swiper-wrapper)::-webkit-scrollbar {
	height: 6px;
}
.module-categories:not(.module-categories-292) .category-grid:not(.swiper-wrapper)::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 3px;
}
.module-categories:not(.module-categories-292) .category-grid:not(.swiper-wrapper)::-webkit-scrollbar-thumb {
	background: #ccc;
	border-radius: 3px;
}
.module-categories:not(.module-categories-292) .category-grid:not(.swiper-wrapper)::-webkit-scrollbar-thumb:hover {
	background: #999;
}
.module-categories:not(.module-categories-292) .category-layout:not(.swiper-slide) {
	flex: 0 0 auto !important;
	width: 110px !important;
	padding: 5px;
	display: flex;
	flex-direction: column;
	align-items: center;
	scroll-snap-align: start;
}
.module-categories:not(.module-categories-292) .category-thumb {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.module-categories:not(.module-categories-292) .category-thumb .image {
	display: block;
	width: 100%;
}
.module-categories:not(.module-categories-292) .category-thumb .image a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	transition: box-shadow .25s;
}
.module-categories:not(.module-categories-292) .category-thumb .image img {
	transform: scale(1);
	transition: transform .3s;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: contain;
	display: block;
}
.desktop .module-categories:not(.module-categories-292) .category-thumb:hover .image a {
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
}
.module-categories:not(.module-categories-292) .category-thumb:hover .image img { transform: scale(1.05); }
.module-categories:not(.module-categories-292) .category-thumb .caption {
	flex: 1 0 auto;
	width: 100%;
	text-align: center;
}
.module-categories:not(.module-categories-292) .category-thumb .name {
	display: flex;
	width: auto;
	margin: 10px auto 0;
	justify-content: center;
	position: static;
	transform: none;
}
.module-categories:not(.module-categories-292) .category-thumb .name a {
	white-space: normal;
	overflow: visible;
	text-overflow: initial;
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 11px;
	line-height: 1.3;
	color: rgba(51, 51, 51, 1);
	text-align: center;
	transition: color .2s;
}
.desktop .module-categories:not(.module-categories-292) .category-thumb:hover .name a { color: rgba(239, 80, 66, 1); }
.module-categories:not(.module-categories-292) .category-thumb .description { display: none; }
.module-categories:not(.module-categories-292) .category-thumb .button-group { display: none !important; }

/* 联赛图标导航（module-categories-292）
   参考 HTML：桌面 8 列等宽居中，icon 40x40 圆形无背景，name 11px 居中
   hover：image a 阴影 0 10px 40px / name 红色 */
.module-categories-292 .module-body { margin: 0; }
.module-categories-292 .category-grid:not(.swiper-wrapper) {
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 6px 0;
}
.module-categories-292 .category-layout:not(.swiper-slide) {
	padding: 5px;
	flex: 0 0 calc(100% / 8);
	max-width: calc(100% / 8);
	min-width: 90px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.module-categories-292 .category-thumb {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.module-categories-292 .category-thumb .image {
	display: block;
	width: 100%;
}
.module-categories-292 .category-thumb .image a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	transition: box-shadow .25s;
}
.module-categories-292 .category-thumb .image img {
	transform: scale(1);
	transition: transform .3s;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: contain;
	display: block;
}
.desktop .module-categories-292 .category-thumb:hover .image a {
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
}
.module-categories-292 .category-thumb:hover .image img { transform: scale(1.05); }
.module-categories-292 .category-thumb .caption {
	flex: 1 0 auto;
	width: 100%;
	text-align: center;
}
.module-categories-292 .category-thumb .name {
	display: flex;
	width: auto;
	margin: 10px auto 0;
	justify-content: center;
	position: static;
	transform: none;
}
.module-categories-292 .category-thumb .name a {
	white-space: normal;
	overflow: visible;
	text-overflow: initial;
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 11px;
	line-height: 1.3;
	color: rgba(51, 51, 51, 1);
	text-align: center;
	transition: color .2s;
}
.desktop .module-categories-292 .category-thumb:hover .name a { color: rgba(239, 80, 66, 1); }
.module-categories-292 .category-thumb .description { display: none; }
.module-categories-292 .category-thumb .button-group { display: none !important; }

/* 首页主 Banner（home-slider / Swiper，复刻 master_slider-26）
   v4 统一：桌面端与移动端箭头样式一致（左右两侧圆形按钮） */
.home-slider {
	width: 100%;
	height: 680px;
	max-height: 56vw;
	position: relative;
	overflow: hidden;
	background: #f5f5f5;
}

/* === 桌面/移动端轮播显示切换（断点 991px） ===
   两组轮播同时在 DOM 中，通过 CSS 控制只显示对应视口的一组：
   - .home-slider-desktop: 桌面端 ≥992px 显示
   - .home-slider-mobile:  平板/移动端 ≤991px 显示
   ------------------------------------------------------------------ */
.home-slider-mobile { display: none; }
@media (max-width: 991px) {
	.home-slider-desktop { display: none; }
	.home-slider-mobile  { display: block; }
}
.home-slider .swiper-container,
.home-slider .swiper-wrapper,
.home-slider .swiper-slide {
	width: 100%;
	height: 100%;
}
.home-slider .swiper-slide a.slider-link {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}
.home-slider .swiper-slide img {
	width: 100%;
	height: 100%;
	/* 桌面端用 contain 完整展示不裁剪（容器背景色 #f5f5f5 填充留白）
	   移动端 @767 媒体查询用 !important 覆盖为 cover 保持填充效果 */
	object-fit: contain;
	display: block;
}

/* 顶部进度条（复刻 ms-timerbar / ms-time-bar） */
.home-slider .slider-progress {
	position: absolute;
	top: 0;
	left: 0;
	height: 1px;
	width: 0;
	background: rgba(239, 80, 66, 1);
	z-index: 12;
	transition: width .1s linear;
}
.home-slider .slider-progress.run { transition: width 5s linear; }

/* 左右两侧圆形箭头（v4 统一桌面/移动端样式）
   ------------------------------------------------------------------
   关键：Swiper 初始化时会给我们的 .slider-arrow-next/prev 元素自动添加
   swiper-button-next/prev 类，导致 swiper.min.css 的默认样式生效：
   - .swiper-button-disabled { pointer-events:none } → 阻止点击
   - .swiper-button-next/prev { margin-top:-22px }   → 偏移位置
   - .swiper-button-lock { display:none }             → 隐藏箭头
   以下覆盖全部用 !important 强制压制，确保自定义箭头始终可点击。
   ------------------------------------------------------------------ */
.home-slider .slider-arrow {
	position: absolute;
	top: 50%;
	width: 44px;
	height: 44px;
	margin: 0 !important;
	background: rgba(0, 0, 0, .35) !important;
	background-image: none !important;
	color: #fff;
	border: 0;
	border-radius: 50%;
	display: flex !important;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	pointer-events: auto !important;
	opacity: 1 !important;
	z-index: 11;
	transition: background .2s, opacity .2s;
	transform: translateY(-50%);
}
.home-slider .slider-arrow:hover { background: rgba(239, 80, 66, .9) !important; }
.home-slider .slider-arrow-prev { left: 16px; right: auto; }
.home-slider .slider-arrow-next { right: 16px; left: auto; }
.home-slider .slider-arrow::after {
	font-family: 'FontAwesome';
	font-size: 20px;
}
/* 图标方向修正：prev=左箭头(\f104)，next=右箭头(\f105) */
.home-slider .slider-arrow-prev::after { content: '\f104'; }
.home-slider .slider-arrow-next::after { content: '\f105'; }

/* 防御性覆盖：压制 swiper.min.css 的 disabled / lock 类
   即使 Swiper 添加了 swiper-button-disabled 或 swiper-button-lock，
   也强制保持可点击、可见状态 */
.home-slider .slider-arrow.swiper-button-disabled,
.home-slider .slider-arrow.swiper-button-lock {
	opacity: 1 !important;
	pointer-events: auto !important;
	cursor: pointer !important;
	display: flex !important;
}

/* 底部水平分页条（移至轮播图下方，避免与左右箭头重叠）
   ------------------------------------------------------------------
   原设计：左侧垂直居中，与 prev 箭头(left:16px) 重叠遮挡。
   新设计：底部水平居中，圆点变横向小条，不遮挡左右箭头。
   关键：Swiper 默认 .swiper-pagination-bullets { width:100% } 会拦截点击，
   用 width:auto !important + pointer-events:none 压制，圆点单独可点击。
   ------------------------------------------------------------------ */
.home-slider .slider-pagination {
	position: absolute;
	top: auto;
	bottom: 20px;
	left: 50%;
	right: auto;
	transform: translateX(-50%);
	margin: 0;
	width: auto !important;
	display: flex;
	flex-direction: row;
	justify-content: center;
	gap: 8px;
	z-index: 11;
	pointer-events: none;
}
/* 圆点变横向小条（水平排列时宽 > 高） */
.home-slider .slider-pagination .slider-bullet,
.home-slider .slider-pagination .swiper-pagination-bullet {
	width: 20px;
	height: 4px;
	border-radius: 2px;
	background: rgba(255, 255, 255, .8);
	opacity: 1;
	cursor: pointer;
	pointer-events: auto;
	transition: background .2s, width .2s;
	margin: 0;
}
.home-slider .slider-pagination .slider-bullet.active,
.home-slider .slider-pagination .swiper-pagination-bullet-active {
	background: rgba(239, 80, 66, 1);
	width: 32px;
}
@media (max-width: 1024px) {
	.home-slider .slider-pagination { bottom: 14px; }
}
@media (max-width: 991px) {
	.home-slider { height: 56vw; max-height: 360px; min-height: 200px; }
	/* 平板及移动端用 cover 填充（与桌面端 contain 区分） */
	.home-slider .swiper-slide img { object-fit: cover; }
	/* 移动端分页：底部居中（与桌面端统一） */
	.home-slider .slider-pagination {
		top: auto;
		bottom: 10px;
		left: 50%;
		right: auto;
		transform: translateX(-50%);
		flex-direction: row;
		margin: 0;
		gap: 6px;
		width: auto !important;
	}
	.home-slider .slider-pagination .slider-bullet,
	.home-slider .slider-pagination .swiper-pagination-bullet {
		width: 15px;
		height: 3px;
		border-radius: 2px;
	}
	.home-slider .slider-pagination .slider-bullet.active,
	.home-slider .slider-pagination .swiper-pagination-bullet-active {
		width: 22px;
	}
}
@media (max-width: 480px) {
	.home-slider { height: 52vw; min-height: 180px; }
}

/* 移动端轮播图：430×550 尺寸 + 显示左右箭头（与桌面端统一样式，仅尺寸略小） */
@media (max-width: 767px) {
	.home-slider {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: 550px !important;
		max-height: 550px !important;
		min-height: 550px !important;
		overflow: hidden !important;
	}
	.home-slider .swiper-container,
	.home-slider .swiper-wrapper,
	.home-slider .swiper-slide,
	.home-slider .slider-link {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
	.home-slider .swiper-slide img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}
	/* 移动端箭头：尺寸 36px，与桌面端样式保持一致
	   同样需要压制 Swiper 默认 CSS 的干扰 */
	.home-slider .slider-arrow {
		display: flex !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		margin: 0 !important;
		width: 36px;
		height: 36px;
		background: rgba(0, 0, 0, .35) !important;
		background-image: none !important;
		color: #fff;
		border: 0;
		border-radius: 50%;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		z-index: 11;
		top: 50%;
		transform: translateY(-50%);
	}
	.home-slider .slider-arrow:hover { background: rgba(239, 80, 66, .9) !important; }
	.home-slider .slider-arrow-prev { left: 8px; right: auto; }
	.home-slider .slider-arrow-next { right: 8px; left: auto; }
	.home-slider .slider-arrow::after { font-size: 16px; }
	/* 图标方向与桌面端一致 */
	.home-slider .slider-arrow-prev::after { content: '\f104'; }
	.home-slider .slider-arrow-next::after { content: '\f105'; }
	/* 防御性覆盖：压制 Swiper disabled / lock 类 */
	.home-slider .slider-arrow.swiper-button-disabled,
	.home-slider .slider-arrow.swiper-button-lock {
		opacity: 1 !important;
		pointer-events: auto !important;
		cursor: pointer !important;
		display: flex !important;
	}
}

/* Bestseller 商品网格（参考 HTML：featured-module 平铺布局） */
.featured-module { display: block; }
.featured-module-products {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.featured-module-products .featured-module-item {
	flex: 1 1 calc(25% - 15px);
	min-width: 200px;
	max-width: calc(25% - 15px);
}
.featured-module-product-card {
	background: #fff;
	border: 0;
	padding: 5px;
	transition: box-shadow .25s;
	height: 100%;
	display: flex;
	flex-direction: column;
}
.featured-module-product-card:hover {
	box-shadow: 0 10px 40px rgba(0,0,0,.15);
}
.featured-module-product-image .featured-module-image {
	display: block;
	position: relative;
	padding-top: 100%;
	overflow: hidden;
}
.featured-module-product-image .featured-module-image a {
	position: absolute;
	inset: 0;
	display: block;
}
.featured-module-product-image .featured-module-image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
	background: #fff;
}
.featured-module-product-card:hover .featured-module-image img {
	transform: scale(1.12);
}
.featured-module-product-image { position: relative; }
.featured-module-product-image .product-badges {
	position: absolute;
	top: 8px; right: 8px;
	z-index: 3;
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: flex-end;
}
.featured-module-product-image .product-discount-badge {
	min-width: 44px; height: 24px; line-height: 24px;
	padding: 0 10px;
	background: #e53935;
	color: #fff;
	font-size: 12px; font-weight: 600;
	border-radius: 999px;
	text-align: center;
	box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.featured-module-product-image .product-new-badge {
	min-width: 44px; height: 24px; line-height: 24px;
	padding: 0 10px;
	background: #2e7d32;
	color: #fff;
	font-size: 11px; font-weight: 700;
	border-radius: 999px;
	text-align: center;
	box-shadow: 0 2px 6px rgba(0,0,0,.15);
	letter-spacing: 0.5px;
}
.featured-module-product-info {
	padding: 10px 5px;
	display: flex;
	flex-direction: column;
}
.featured-module-product-info h3 {
	font-size: 14px;
	font-weight: 600;
	margin: 0 0 6px;
	line-height: 1.4;
}
.featured-module-product-info h3 a {
	color: var(--theme-dark);
}
.featured-module-product-info h3 a:hover {
	color: var(--theme-primary);
}
.featured-module-product-info .featured-custom-text {
	display: block;
	padding: 0;
	background: none;
	border: 0;
	color: var(--theme-primary);
	font-size: 11px;
	font-weight: 700;
	margin-bottom: 6px;
}
.featured-module-price {
	font-size: 16px;
}
.featured-module-price > div { display: flex; align-items: baseline; flex-wrap: wrap; }
.featured-module-price del { order: 2; color: #999 !important; font-weight: 400; font-size: 13px; text-decoration: line-through; margin-left: 6px; }
.featured-module-price ins { order: 1; background: none; text-decoration: none; color: var(--theme-primary); font-weight: 700; font-size: 16px; }
@media (max-width: 1024px) {
	.featured-module-products .featured-module-item { flex: 1 1 calc(33.333% - 15px); max-width: calc(33.333% - 15px); }
}
@media (max-width: 768px) {
	.featured-module-products .featured-module-item { flex: 1 1 calc(50% - 8px); max-width: calc(50% - 8px); }
	.featured-module-products { gap: 8px; }
}
@media (max-width: 480px) {
	.featured-module-products .featured-module-item { flex: 1 1 calc(50% - 8px); max-width: calc(50% - 8px); min-width: 0; }
	.featured-module-product-info h3 { font-size: 13px; }
}

/* 兼容旧 featured-products-grid */
.featured-module-products .featured-products-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
@media (max-width: 1024px) { .featured-module-products .featured-products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) { .featured-module-products .featured-products-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .featured-module-products .featured-products-grid { grid-template-columns: 1fr; } }

/* 分类板块标题（参考 HTML：module-title-369 / module-title-346）
   - 20px / weight 400
   - ::before 装饰 opacity 0.05
   - title-divider: 50px × 1px 红色
   - margin-left: 7px */
.title-module {
	display: block;
	margin: 0 0 20px 7px;
	padding: 0;
	border: 0;
}
.title-module .title-wrapper {
	display: block;
	position: relative;
	padding-bottom: 14px;
	border-bottom: 0;
}
/* 红线已移除（原 ::before 1px 分隔线，用户反馈干扰按钮对齐） */
.title-module .title-wrapper h3 {
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 20px;
	margin: 0;
	color: var(--theme-dark);
	display: inline-block;
	line-height: 1.2;
}
.title-module .title-wrapper .title-divider {
	/* 红色分隔线已移除（用户反馈干扰按钮对齐） */
	display: none !important;
}
.title-module .title-wrapper .subtitle { display: none; }
.title-module .module-title { margin: 0; font-size: 20px; font-weight: 400; }

/* 模块按钮（参考 HTML：module-button-347，下划线文字按钮，右上角）
   - background: none, capitalize, underline
   - color: rgba(112,112,114,1) → hover rgba(51,51,51,1) */
.module-button {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.module-button .btn,
.module-button.btn {
	display: inline-block;
	width: auto;
	background: none;
	padding: 7px;
	padding-top: 2px;
	font-size: 13px;
	font-weight: 400;
	color: rgba(112, 112, 114, 1);
	text-transform: capitalize;
	text-decoration: none;
	border: 0;
	box-shadow: none;
}
.module-button .btn:hover,
.module-button.btn:hover {
	color: rgba(51, 51, 51, 1);
	background: none;
}

/* grid-cols 布局（参考 HTML：板块标题和按钮并排，标题 50% / 按钮 50%） */
/* 单列行（联赛导航/轮播图/Bestseller）强制 100% 宽度 */
.home-grid-rows .grid-row-top-1 > .grid-cols > .grid-col,
.home-grid-rows .grid-row-top-2 > .grid-cols > .grid-col,
.home-grid-rows .grid-row-top-3 > .grid-cols > .grid-col {
	flex: 0 0 100% !important;
	max-width: 100% !important;
	width: 100% !important;
}
.grid-row > .grid-cols { display: flex; flex-wrap: wrap; align-items: flex-start; }
.grid-row > .grid-cols > .grid-col { flex: 0 0 auto; }
/* 板块行（grid-row-top-N，N≥4）使用精确 :not() 排除单列行，避免 [class*="-2"] 误匹配 grid-col-top-2-1 */
.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: 0 0 50%;
	max-width: 50%;
	width: 50%;
}
.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 50%;
	max-width: 50%;
	width: 50%;
}
.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$="-3"],
.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$="-4"],
.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"] {
	flex: 0 0 100%;
	max-width: 100%;
	width: 100%;
}
/* banners 网格（4 列） */
.module-banners .module-body {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 15px;
}
.module-banners .module-body .module-item {
	position: relative;
	overflow: hidden;
	border-radius: 4px;
}
.module-banners .module-body .module-item a {
	display: block;
	position: relative;
	overflow: hidden;
}
/* 整图灰色蒙版（::after 覆盖整张图片） */
.module-banners .module-body .module-item a::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .35);
	z-index: 1;
	pointer-events: none;
	transition: background .25s;
}
.module-banners .module-body .module-item:hover a::after {
	background: rgba(0, 0, 0, .25);
}
.module-banners .module-body .module-item img {
	width: 100%;
	display: block;
	transition: transform .4s;
}
.module-banners .module-body .module-item:hover img { transform: scale(1.05); }
@media (max-width: 768px) {
	.module-banners .module-body { grid-template-columns: repeat(2, 1fr); }
}

/* banner-caption 居中覆盖整图（位于 ::after 蒙版之上） */
.banner-text.banner-caption {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 12px;
	background: transparent;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	text-align: center;
	letter-spacing: .04em;
	text-transform: uppercase;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .6);
	pointer-events: none;
}
.banner-text.banner-caption span { display: inline-block; }

/* 底部按钮 */
.module-button-bottom { text-align: center; margin-top: 20px; }
.module-button-bottom .btn { padding: 12px 30px; }

/* 首页模块移动端样式统一由 mobile.css 管理，避免重复定义和优先级冲突 */

/* 加购成功提示（v4 精致版：图标 + 滑入动画 + 阴影） */
.theme577-cart-toast {
	position: fixed;
	top: 30px;
	right: 30px;
	z-index: 99999;
	background: #fff;
	color: var(--theme-dark);
	padding: 0;
	border-radius: 10px;
	box-shadow: 0 12px 40px rgba(0,0,0,.16), 0 2px 8px rgba(0,0,0,.08);
	font-size: 14px;
	font-weight: 600;
	max-width: 360px;
	min-width: 280px;
	display: flex;
	align-items: stretch;
	overflow: hidden;
	border: 1px solid #f0f0f0;
	animation: theme577ToastIn 0.4s cubic-bezier(0.18, 0.89, 0.32, 1.28);
}
.theme577-cart-toast.is-out { animation: theme577ToastOut 0.3s ease forwards; }
.theme577-cart-toast-icon {
	flex: 0 0 56px;
	background: linear-gradient(135deg, #2e7d32, #43a047);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	line-height: 1;
}
.theme577-cart-toast-icon svg { width: 26px; height: 26px; fill: #fff; }
.theme577-cart-toast-body {
	flex: 1;
	padding: 14px 18px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.theme577-cart-toast-title {
	font-size: 15px;
	font-weight: 700;
	color: #2e7d32;
	margin: 0 0 2px;
}
.theme577-cart-toast-msg {
	font-size: 13px;
	font-weight: 500;
	color: var(--theme-text-light);
	margin: 0;
	line-height: 1.4;
}
.theme577-cart-toast-close {
	flex: 0 0 32px;
	background: transparent;
	border: 0;
	color: #999;
	font-size: 18px;
	cursor: pointer;
	align-self: flex-start;
	padding: 8px 4px;
}
.theme577-cart-toast-close:hover { color: var(--theme-dark); }
@keyframes theme577ToastIn {
	from { opacity: 0; transform: translateX(40px) translateY(-8px); }
	to   { opacity: 1; transform: none; }
}
@keyframes theme577ToastOut {
	from { opacity: 1; transform: none; }
	to   { opacity: 0; transform: translateX(40px); }
}
@media (max-width: 768px) {
	.theme577-cart-toast { top: auto; bottom: 90px; right: 12px; left: 12px; max-width: none; min-width: 0; border-radius: 8px; }
	.theme577-cart-toast-icon { flex-basis: 48px; font-size: 20px; }
	.theme577-cart-toast-icon svg { width: 22px; height: 22px; }
	.theme577-cart-toast-title { font-size: 14px; }
	.theme577-cart-toast-msg { font-size: 12px; }
}

/* Functional add-to-cart modal. */
body.theme577-cart-modal-open { overflow: hidden !important; }
.theme577-cart-modal {
	position: fixed;
	inset: 0;
	z-index: 100100;
	display: grid;
	place-items: center;
	padding: 24px;
	visibility: hidden;
	opacity: 0;
	transition: opacity .2s ease, visibility .2s ease;
}
.theme577-cart-modal.is-open { visibility: visible; opacity: 1; }
.theme577-cart-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(12, 17, 21, .58);
	backdrop-filter: blur(1.5px);
}
.theme577-cart-modal-dialog {
	position: relative;
	z-index: 1;
	width: min(760px, 100%);
	max-height: min(820px, calc(100dvh - 48px));
	display: grid;
	grid-template-rows: auto auto auto minmax(0, 1fr);
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .08);
	border-radius: 16px;
	box-shadow: 0 28px 80px rgba(0, 0, 0, .3);
	overflow: hidden;
	transform: translateY(18px) scale(.985);
	transition: transform .22s cubic-bezier(.2, .75, .25, 1);
}
.theme577-cart-modal.is-open .theme577-cart-modal-dialog { transform: none; }
.theme577-cart-modal-handle { display: none; }
.theme577-cart-modal-header {
	min-height: 82px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 20px 70px;
	border-bottom: 1px solid #eceff1;
	text-align: center;
}
.theme577-cart-modal-header h2 {
	margin: 0;
	color: #20262c;
	font-size: clamp(18px, 2vw, 22px);
	font-weight: 750;
	line-height: 1.25;
}
.theme577-cart-modal-success-icon {
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: #6fe0ae;
}
.theme577-cart-modal-success-icon svg { width: 19px; height: 19px; fill: #fff; }
.theme577-cart-modal-close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: #f0f2f4;
	color: #20262c;
	font-size: 26px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
}
.theme577-cart-modal-close:hover { background: #e4e7e9; }
.theme577-cart-modal-close:focus-visible,
.theme577-cart-modal-action:focus-visible,
.theme577-cart-modal-continue:focus-visible,
.theme577-cart-rec-card:focus-visible { outline: 3px solid rgba(244, 76, 65, .35); outline-offset: 2px; }
.theme577-cart-modal-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	padding: 22px 28px;
	border-bottom: 1px solid #eceff1;
}
.theme577-cart-modal-summary {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	padding: 14px 28px;
	border-bottom: 1px solid #eceff1;
	background: #fbfbfc;
}
.theme577-cart-modal-summary[hidden] { display: none !important; }
.theme577-cart-modal-summary-image {
	width: 72px;
	height: 72px;
	border: 1px solid #e5e7e9;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}
.theme577-cart-modal-summary-image img { width: 100%; height: 100%; object-fit: contain; }
.theme577-cart-modal-summary-copy { min-width: 0; }
.theme577-cart-modal-summary-name {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: #171a1d;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
}
.theme577-cart-modal-summary-meta { display: block; margin-top: 5px; color: #72787d; font-size: 12px; line-height: 1.35; }
.theme577-cart-modal-summary-price { color: #171a1d; font-size: 15px; font-weight: 800; white-space: nowrap; }
.theme577-cart-modal-action {
	min-height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px 18px;
	border: 1px solid #dfe3e6;
	border-radius: 6px;
	color: #171a1d;
	background: #fff;
	font-size: 17px;
	font-weight: 700;
	text-align: center;
	text-decoration: none !important;
	transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.theme577-cart-modal-action:hover { color: #171a1d; border-color: #aeb5ba; transform: translateY(-1px); }
.theme577-cart-modal-action.theme577-cart-modal-view-cart { color: #fff; background: #050505; border-color: #050505; }
.theme577-cart-modal-action.theme577-cart-modal-view-cart:hover { color: #fff; background: #242424; }
.theme577-cart-modal-recommendations {
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	padding: 0 28px max(22px, env(safe-area-inset-bottom));
}
.theme577-cart-modal-recommendations h3 {
	position: sticky;
	top: 0;
	z-index: 3;
	margin: 0 -28px 18px;
	padding: 17px 28px 14px;
	background: rgba(255, 255, 255, .96);
	border-bottom: 1px solid #f2f3f4;
	color: #252a2f;
	font-size: 18px;
	font-weight: 750;
	text-align: center;
}
.theme577-cart-modal-products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 22px;
}
.theme577-cart-rec-card {
	position: relative;
	min-width: 0;
	display: flex;
	flex-direction: column;
	color: #1b2024;
	text-decoration: none !important;
}
.theme577-cart-rec-card:hover { color: #1b2024; }
.theme577-cart-rec-image {
	position: relative;
	margin: 0 0 10px;
	border-radius: 10px;
	background: #f7f7f7;
	overflow: hidden;
}
.theme577-cart-rec-image img {
	width: 100%;
	height: clamp(190px, 27vh, 275px);
	display: block;
	object-fit: contain;
	transition: transform .25s ease;
}
.theme577-cart-rec-card:hover .theme577-cart-rec-image img { transform: scale(1.025); }
.theme577-cart-rec-badge,
.theme577-cart-rec-new {
	position: absolute;
	top: 10px;
	right: 10px;
	padding: 5px 8px;
	border-radius: 999px;
	background: #f55145;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}
.theme577-cart-rec-new { top: 38px; background: #42a8d8; }
.theme577-cart-rec-name {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	min-height: 42px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.38;
}
.theme577-cart-rec-promo { margin-top: 3px; color: #171a1d; font-size: 14px; font-weight: 700; }
.theme577-cart-rec-price { margin-top: 3px; color: #171a1d; font-size: 16px; font-weight: 800; }
.theme577-cart-rec-price del { margin-left: 7px; color: #777d82; font-size: .9em; font-weight: 500; }
.theme577-cart-rec-price ins { order: -1; color: #171a1d; }
.theme577-cart-rec-price ins { text-decoration: none; }
.theme577-cart-modal-loading,
.theme577-cart-modal-empty {
	grid-column: 1 / -1;
	min-height: 170px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	color: #757b80;
	font-size: 14px;
	text-align: center;
}
.theme577-cart-modal-loading span {
	width: 28px;
	height: 28px;
	border: 3px solid #e7e9eb;
	border-top-color: #f45144;
	border-radius: 50%;
	animation: theme577CartSpin .75s linear infinite;
}
.theme577-cart-modal-empty p { margin: 0; }
.theme577-cart-modal-empty a { color: #171a1d; font-weight: 700; text-decoration: underline; }
.theme577-cart-modal-continue {
	display: block;
	margin: 22px auto 0;
	padding: 8px 4px;
	border: 0;
	background: transparent;
	color: #555c61;
	font-size: 14px;
	font-weight: 650;
	text-decoration: underline;
	cursor: pointer;
}
@keyframes theme577CartSpin { to { transform: rotate(360deg); } }

@media (min-width: 768px) and (max-width: 1024px) {
	.theme577-cart-modal { padding: 28px; }
	.theme577-cart-modal-dialog { width: min(720px, 100%); max-height: calc(100dvh - 56px); }
	.theme577-cart-rec-image img { height: clamp(180px, 25vh, 250px); }
}
@media (max-width: 767px) {
	.theme577-cart-modal { place-items: end stretch; padding: 0; }
	.theme577-cart-modal-dialog {
		width: 100%;
		max-height: calc(100dvh - 93px);
		grid-template-rows: auto auto auto auto minmax(0, 1fr);
		border-width: 1px 0 0;
		border-radius: 16px 16px 0 0;
		transform: translateY(100%);
	}
	.theme577-cart-modal.is-open .theme577-cart-modal-dialog { transform: translateY(0); }
	.theme577-cart-modal-handle {
		display: block;
		width: 44px;
		height: 4px;
		margin: 10px auto 0;
		border-radius: 999px;
		background: #d9dde0;
	}
	.theme577-cart-modal-header { min-height: 74px; padding: 15px 52px 15px 24px; gap: 8px; }
	.theme577-cart-modal-header h2 { font-size: 16px; }
	.theme577-cart-modal-success-icon { width: 23px; height: 23px; flex-basis: 23px; }
	.theme577-cart-modal-success-icon svg { width: 16px; height: 16px; }
	.theme577-cart-modal-close { top: 18px; right: 12px; width: 38px; height: 38px; font-size: 24px; }
	.theme577-cart-modal-summary { grid-template-columns: 56px minmax(0, 1fr); gap: 11px; padding: 11px 16px; }
	.theme577-cart-modal-summary-image { width: 56px; height: 56px; }
	.theme577-cart-modal-summary-name { font-size: 12px; }
	.theme577-cart-modal-summary-meta { margin-top: 3px; font-size: 10px; }
	.theme577-cart-modal-summary-price { grid-column: 2; margin-top: -5px; font-size: 13px; }
	.theme577-cart-modal-actions { gap: 12px; padding: 16px 20px 20px; }
	.theme577-cart-modal-action { min-height: 56px; padding: 12px 8px; font-size: 15px; }
	.theme577-cart-modal-recommendations { padding: 0 16px max(18px, env(safe-area-inset-bottom)); }
	.theme577-cart-modal-recommendations h3 { margin: 0 -16px 14px; padding: 13px 16px 11px; font-size: 16px; }
	.theme577-cart-modal-products { gap: 20px 12px; }
	.theme577-cart-rec-image { margin-bottom: 8px; border-radius: 8px; }
	.theme577-cart-rec-image img { height: clamp(155px, 24vh, 230px); }
	.theme577-cart-rec-name { min-height: 38px; font-size: 13px; line-height: 1.4; }
	.theme577-cart-rec-promo { font-size: 12px; }
	.theme577-cart-rec-price { font-size: 14px; }
	.theme577-cart-rec-badge, .theme577-cart-rec-new { top: 7px; right: 7px; padding: 4px 6px; font-size: 10px; }
	.theme577-cart-rec-new { top: 31px; }
	.theme577-cart-modal-continue { margin-top: 17px; }
}
@media (max-width: 374px) {
	.theme577-cart-modal-dialog { max-height: calc(100dvh - 93px); }
	.theme577-cart-modal-header { min-height: 66px; padding-left: 16px; }
	.theme577-cart-modal-actions { padding: 13px 12px 15px; gap: 8px; }
	.theme577-cart-modal-action { min-height: 50px; font-size: 13px; }
	.theme577-cart-modal-recommendations { padding-left: 12px; padding-right: 12px; }
	.theme577-cart-modal-recommendations h3 { margin-left: -12px; margin-right: -12px; }
	.theme577-cart-rec-image img { height: clamp(135px, 22vh, 190px); }
}
@media (max-height: 650px) and (min-width: 768px) {
	.theme577-cart-modal { padding: 14px; }
	.theme577-cart-modal-dialog { max-height: calc(100dvh - 28px); }
	.theme577-cart-modal-header { min-height: 64px; padding-top: 12px; padding-bottom: 12px; }
	.theme577-cart-modal-actions { padding-top: 14px; padding-bottom: 14px; }
	.theme577-cart-modal-action { min-height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
	.theme577-cart-modal,
	.theme577-cart-modal-dialog,
	.theme577-cart-rec-image img { transition: none; }
	.theme577-cart-modal-loading span { animation-duration: 1.5s; }
}

/* 尺码选择错误高亮 */
.size-radio.error .radio label { color: #d32f2f; }
.size-radio.error::after {
	content: "Bitte wählen Sie eine Größe aus.";
	display: block;
	color: #d32f2f;
	font-size: 12px;
	margin-top: 6px;
}

/* ============ 商品卡（统一，严格匹配参考 HTML） ============ */
.product-layout.has-extra-button .product-thumb {
	background: rgba(255, 255, 255, 1);
	border-width: 0;
	border-style: solid;
	border-color: rgba(226, 226, 226, 1);
	border-radius: 0;
	overflow: hidden;
	transition: box-shadow .25s, border-color .25s;
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: 5px;
}
.product-layout.has-extra-button .product-thumb:hover {
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
	border-color: rgba(255, 255, 255, 1);
}
.product-layout .image { position: relative; overflow: hidden; }
.product-layout .image .product-img { display: block; position: relative; padding-top: 130%; overflow: hidden; }
.product-layout .image .product-img > div {
	position: absolute; inset: 0;
	transition: transform .5s ease;
}
.product-layout .image .product-img:hover > div {
	transform: scale(1.12);
}
.product-layout .image .product-img img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity .3s;
	background: rgba(255, 255, 255, 1);
}
.product-layout .image .product-img .img-second { opacity: 0; }
.product-layout .image .product-img:hover .img-second { opacity: 1; }
.product-layout .product-labels {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 4px;
	visibility: visible;
	opacity: 1;
}
.product-label {
	display: inline-block;
	padding: 3px 8px;
	background: var(--theme-primary);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	border-radius: 3px;
}
.product-label.product-label-31 { background: #d9534f; }
.product-label.product-label-29 { background: var(--theme-primary); }
.product-layout .caption { padding: 10px 5px; flex: 1; display: flex; flex-direction: column; }
.product-layout .caption .name { font-size: 14px; font-weight: 600; margin: 0 0 6px; line-height: 1.4; }
.product-layout .caption .name a { color: var(--theme-dark); }
.product-layout .caption .name a:hover { color: var(--theme-primary); }
.product-layout .caption .description { color: var(--theme-text-light); font-size: 12px; margin: 0 0 8px; line-height: 1.5; }
.product-layout .caption .featured-custom-text {
	display: block;
	padding: 0;
	background: none;
	border: 0;
	color: var(--theme-primary);
	font-size: 11px;
	font-weight: 700;
	margin: 0 0 8px;
}
.product-layout .caption .price { font-size: 16px; font-weight: 700; color: var(--theme-primary); margin: 0 0 6px; }
.product-layout .caption .price > div { display: flex; align-items: baseline; flex-wrap: wrap; }
.product-layout .caption .price del { order: 2; color: #999 !important; font-weight: 400; font-size: 13px; text-decoration: line-through; margin-left: 6px; }
.product-layout .caption .price ins { order: 1; background: none; text-decoration: none; color: var(--theme-primary); font-weight: 700; }
.product-layout .caption .price .price-old { color: #999; text-decoration: line-through; font-weight: 400; font-size: 13px; margin-left: 6px; }
.product-layout .caption .price .price-tax { display: block; width: 100%; font-size: 11px; color: var(--theme-text-light); font-weight: 400; margin-top: 2px; }
.product-layout .caption .rating .rating-stars .fa-stack { font-size: 11px; color: #f0ad4e; margin-right: 1px; }
.product-layout .caption .rating.no-rating .fa-stack { color: var(--theme-border); }
.product-layout .buttons-wrapper { margin-top: auto; padding-top: 10px; }
.product-layout .button-group { display: flex; flex-direction: column; gap: 6px; align-items: stretch; }
.product-layout .cart-group { display: flex; align-items: center; gap: 8px; }
.product-layout .extra-group { display: flex; width: 100%; }
.product-layout .extra-group .btn-extra { flex: 1; width: 100%; }
.product-layout .wish-group { display: flex; gap: 6px; justify-content: flex-end; }
.product-layout .stepper {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--theme-border);
	border-radius: 3px;
	overflow: hidden;
}
.product-layout .stepper input.form-control { width: 36px; padding: 4px; text-align: center; border: 0; }
.product-layout .stepper span { display: flex; flex-direction: column; }
.product-layout .stepper i { padding: 2px 4px; cursor: pointer; font-size: 10px; color: var(--theme-text-light); }
.product-layout .stepper i:hover { color: var(--theme-primary); }
.product-layout .btn-cart {
	flex: 1;
	padding: 8px 12px;
	background: var(--theme-dark);
	color: #fff;
	font-size: 12px;
	border: 0;
	cursor: pointer;
}
.product-layout .btn-cart:hover { background: var(--theme-primary); }
.product-layout .btn-extra { padding: 8px 12px; background: var(--theme-primary); color: #fff; font-size: 12px; border: 0; cursor: pointer; }
.product-layout .btn-extra:hover { background: var(--theme-dark); }
.product-layout .btn-wishlist,
.product-layout .btn-compare {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #f8f8f8;
	border: 1px solid var(--theme-border);
	border-radius: 3px;
	color: var(--theme-text-light);
	cursor: pointer;
}
.product-layout .btn-wishlist:hover,
.product-layout .btn-compare:hover { background: var(--theme-primary); color: #fff; border-color: var(--theme-primary); }

/* ============ 商品列表页 ============ */
.layout-3 .row { display: flex; flex-wrap: wrap; }
.side-column {
	flex: 0 0 240px;
	max-width: 240px;
	padding: 0 15px;
}
.main-content { flex: 1; padding: 0 15px; min-width: 0; }
.main-content.full-width { flex: 0 0 100%; max-width: 100%; }

/* ============ 商城页 page 模板（template-shop.php）：独立布局体系 ============ */
.site-shop-template {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 15px 40px;
	display: block;
}
.site-shop-template .woocommerce-breadcrumb {
	margin: 0 0 18px;
	padding: 10px 0;
	font-size: 13px;
}
.site-shop-template .page-header.shop-template-header {
	margin: 0 0 14px;
	padding: 0 0 14px;
	border-bottom: 1px solid var(--theme-border, #e5e5e5);
}
.site-shop-template .shop-template-row {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 0;
	align-items: flex-start;
}
.site-shop-template .shop-template-row > #column-left,
.site-shop-template .shop-template-row > .side-column {
	flex: 0 0 250px;
	max-width: 250px;
	width: 250px;
	padding: 0;
}
.site-shop-template .shop-template-row > .shop-template-main {
	flex: 1 1 0;
	min-width: 0;
	padding: 0;
}
@media (max-width: 991px) {
	.site-shop-template .shop-template-row > #column-left,
	.site-shop-template .shop-template-row > .side-column {
		flex: 0 0 100%;
		max-width: 100%;
		width: 100%;
	}
}

/* ============ 商城模板（template-shop） ============ */
.shop-template-header { max-width: 1280px; margin: 20px auto 10px; padding: 0 15px; }
.shop-template-header .page-title {
	font-size: 30px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--theme-dark);
	margin: 0 0 8px;
	padding: 0;
	text-align: center;
}
.shop-template-subtitle { font-size: 14px; color: var(--theme-text-light); margin: 0; text-align: center; }

/* 顶部筛选触发按钮（filter-trigger-bar / filter-trigger）：全宽居中拉长 */
.site-shop-template .filter-trigger,
.site-shop-template .filter-trigger-bar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	max-width: 1280px;
	margin: 10px auto 8px;
	padding: 14px 20px;
	background: #fff;
	color: var(--theme-dark, #1a1a1a);
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .3px;
	cursor: pointer;
	transition: background .15s, border-color .15s, box-shadow .15s;
}
.site-shop-template .filter-trigger:hover,
.site-shop-template .filter-trigger-bar:hover {
	background: #fafafa;
	border-color: var(--theme-primary, #ff6b35);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
}
.site-shop-template .filter-trigger i,
.site-shop-template .filter-trigger-bar i { font-size: 16px; }
.wc-archive-row { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.wc-archive-row > #column-left,
.wc-archive-row > .side-column { flex: 0 0 250px; max-width: 250px; width: 250px; overflow: hidden; }
.wc-archive-row > .shop-template-main { flex: 1 1 0; min-width: 0; }
@media (max-width: 991px) {
	.wc-archive-row > #column-left,
	.wc-archive-row > .side-column { flex: 0 0 100%; max-width: 100%; width: 100%; }
}
/* 归档页：active-filters 区域内部约束 */
.wc-archive-row #column-left .grid-cols,
.wc-archive-row #column-left .grid-col,
.wc-archive-row #column-left .grid-items,
.wc-archive-row #column-left .grid-item {
	min-width: 0;
	max-width: 100%;
}
.wc-archive-row #column-left .grid-col { flex: 1 1 auto; padding: 0; }
.wc-archive-row #column-left .grid-item { width: 100%; }
.wc-archive-row .active-filters-list,
.wc-archive-row .active-filters-container { min-width: 0; max-width: 100%; }
.wc-archive-row .active-filter { max-width: 100%; flex: 0 1 auto; }
.wc-archive-row .active-filter .filter-label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
	max-width: 100%;
}
/* 工具栏（左：搜索 / 右：排序 + 每页） */
.shop-template-toolbar {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
	margin: 0 0 10px; padding: 10px 14px;
	background: #fff; border: 1px solid var(--theme-border); border-radius: 4px;
	box-sizing: border-box; max-width: 100%; width: 100%;
}
.shop-template-toolbar-left { display: flex; align-items: center; flex: 1 1 280px; min-width: 220px; max-width: 480px; }
.shop-template-toolbar-right { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; flex-shrink: 0; }
.shop-template-toolbar { align-items: center; gap: 16px; min-width: 0; }
.shop-template-toolbar .woocommerce-product-search { display: flex; flex: 1 1 auto; gap: 6px; max-width: 100%; min-width: 0; }
.shop-template-toolbar .search-field { min-width: 0; max-width: 100%; }
.shop-template-toolbar .search-field {
	flex: 1; padding: 8px 12px;
	border: 1px solid var(--theme-border); border-radius: 3px;
	font-size: 13px; outline: none;
}
.shop-template-toolbar .search-field:focus { border-color: var(--theme-primary); }
.shop-template-toolbar .search-submit {
	padding: 8px 16px; background: var(--theme-dark); color: #fff;
	border: 0; border-radius: 3px; cursor: pointer; font-size: 13px;
}
.shop-template-toolbar .search-submit:hover { background: var(--theme-primary); }
.shop-template-toolbar .toolbar-label {
	font-size: 12px; color: var(--theme-text-light);
	margin-right: 6px; letter-spacing: .3px;
}
.shop-template-toolbar select.orderby,
.shop-template-toolbar select.per-page {
	padding: 7px 28px 7px 10px;
	border: 1px solid var(--theme-border); border-radius: 3px;
	background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23555' stroke-width='1.4' fill='none' stroke-linecap='round'/></svg>") no-repeat right 10px center;
	background-size: 8px 5px;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	font-size: 13px; cursor: pointer;
}
.shop-template-result-count {
	padding: 0 4px; margin: 0 0 8px;
	font-size: 13px; color: var(--theme-text-light);
}
.shop-template-no-products {
	padding: 60px 20px; text-align: center;
	background: #fff; border: 1px dashed var(--theme-border);
	font-size: 16px; color: var(--theme-text-light);
}
.woocommerce-pagination { margin: 24px 0 0; }
.woocommerce-pagination ul { display: flex; gap: 6px; justify-content: center; list-style: none; padding: 0; margin: 0; }
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 36px; height: 36px; padding: 0 10px;
	border: 1px solid var(--theme-border); border-radius: 3px;
	color: var(--theme-text); font-size: 13px; text-decoration: none;
}
.woocommerce-pagination ul li a:hover { border-color: var(--theme-primary); color: var(--theme-primary); }
.woocommerce-pagination ul li span.current { background: var(--theme-primary); border-color: var(--theme-primary); color: #fff; }
@media (max-width: 768px) {
	.shop-template-row { flex-direction: column; }
	.shop-template-toolbar { flex-direction: column; align-items: stretch; }
	.shop-template-toolbar-right { justify-content: space-between; }
	.side-column { flex: 0 0 100%; max-width: 100%; }
}

/* =====================================================
 * 商城页筛选侧栏（对标 soccerssp.com 列表页）
 * ===================================================== */
.site-shop-template #column-left.side-column,
.shop-template-row > #column-left.side-column,
.wc-archive-row > #column-left.side-column {
	width: 240px;
	max-width: 240px;
	flex: 0 0 240px;
	padding: 20px 15px 20px 0;
	background: transparent;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	overflow: hidden;
}
.site-shop-template #column-left .grid-row-column-left-1 > .grid-cols,
.site-shop-template #column-left .grid-row-column-left-1 > .grid-cols > .grid-col-column-left-1-2,
.site-shop-template #column-left .grid-row-column-left-1 > .grid-cols > .grid-col-column-left-1-2 > .grid-items,
.site-shop-template #column-left .grid-row-column-left-1 > .grid-cols > .grid-col-column-left-1-2 > .grid-items > .grid-item-column-left-1-2-1,
.shop-template-row #column-left .grid-row-column-left-1 > .grid-cols,
.shop-template-row #column-left .grid-row-column-left-1 > .grid-cols > .grid-col-column-left-1-2,
.shop-template-row #column-left .grid-row-column-left-1 > .grid-cols > .grid-col-column-left-1-2 > .grid-items,
.shop-template-row #column-left .grid-row-column-left-1 > .grid-cols > .grid-col-column-left-1-2 > .grid-items > .grid-item-column-left-1-2-1,
.wc-archive-row #column-left .grid-row-column-left-1 > .grid-cols,
.wc-archive-row #column-left .grid-row-column-left-1 > .grid-cols > .grid-col-column-left-1-2,
.wc-archive-row #column-left .grid-row-column-left-1 > .grid-cols > .grid-col-column-left-1-2 > .grid-items,
.wc-archive-row #column-left .grid-row-column-left-1 > .grid-cols > .grid-col-column-left-1-2 > .grid-items > .grid-item-column-left-1-2-1 {
	min-width: 0;
	max-width: 100%;
}
.site-shop-template #column-left .grid-row-column-left-1 > .grid-cols > .grid-col-column-left-1-2,
.shop-template-row #column-left .grid-row-column-left-1 > .grid-cols > .grid-col-column-left-1-2,
.wc-archive-row #column-left .grid-row-column-left-1 > .grid-cols > .grid-col-column-left-1-2 {
	flex: 1 1 auto;
	padding: 0;
}
.site-shop-template #column-left .grid-row-column-left-1 > .grid-cols > .grid-col-column-left-1-2 > .grid-items > .grid-item-column-left-1-2-1,
.shop-template-row #column-left .grid-row-column-left-1 > .grid-cols > .grid-col-column-left-1-2 > .grid-items > .grid-item-column-left-1-2-1,
.wc-archive-row #column-left .grid-row-column-left-1 > .grid-cols > .grid-col-column-left-1-2 > .grid-items > .grid-item-column-left-1-2-1 {
	width: 100%;
}

/* 标题区：Filter + Klar (Klar = 重置) */
.site-shop-template .module-title {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	padding: 0 0 14px !important;
	margin: 0 0 14px;
	border-bottom: 1px solid var(--theme-border);
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--theme-dark) !important;
	text-transform: none;
}
.site-shop-template .module-title > span { flex: 1; }
.site-shop-template .module-title > .reset-filter.btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 10px;
	background: #fff;
	color: var(--theme-text);
	border: 1px solid var(--theme-border);
	border-radius: 50px;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.2;
	cursor: pointer;
	transition: all .2s;
}
.site-shop-template .module-title > .reset-filter.btn:hover { background: var(--theme-primary); color: #fff; border-color: var(--theme-primary); }
.site-shop-template .module-title > .reset-filter.btn .fa { font-size: 10px; }
.site-shop-template .module-title > .x { display: none; }

/* 已选筛选（active filters） */
.site-shop-template .active-filters-list,
.shop-template-row .active-filters-list,
.wc-archive-row .active-filters-list { display: none; margin: 0 0 12px; max-width: 100%; min-width: 0; }
.site-shop-template .active-filters-list.has-filters,
.shop-template-row .active-filters-list.has-filters,
.wc-archive-row .active-filters-list.has-filters { display: block; }
.site-shop-template .active-filters-container,
.shop-template-row .active-filters-container,
.wc-archive-row .active-filters-container { display: flex; flex-wrap: wrap; gap: 6px; max-width: 100%; min-width: 0; }
.site-shop-template .active-filter,
.shop-template-row .active-filter,
.wc-archive-row .active-filter {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px 4px 8px;
	background: var(--theme-primary, #579ac1);
	color: #fff;
	border-radius: 50px;
	font-size: 12px;
	cursor: default;
	max-width: 100%;
	min-width: 0;
	flex: 0 1 auto;
}
.site-shop-template .active-filter .filter-label,
.shop-template-row .active-filter .filter-label,
.wc-archive-row .active-filter .filter-label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
	max-width: 100%;
}
.site-shop-template .active-filter .x {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 14px; height: 14px;
	border-radius: 50%;
	background: rgba(255,255,255,.3);
	color: #fff;
	font-size: 12px;
	line-height: 1;
	cursor: pointer;
}
.site-shop-template .active-filter .x:hover { background: rgba(255,255,255,.55); }

/* 折叠面板 */
.site-shop-template .module-filter .panel { border-bottom: 1px solid var(--theme-border); }
.site-shop-template .module-filter .panel:first-child { border-top: 1px solid var(--theme-border); }
.site-shop-template .module-filter .panel-heading { padding: 0; margin: 0; }
.site-shop-template .module-filter .panel-title { padding: 0; margin: 0; }
.site-shop-template .module-filter .accordion-toggle {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 14px 0;
	text-decoration: none !important;
	color: var(--theme-dark) !important;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.site-shop-template .module-filter .accordion-toggle:hover { color: #ef5042 !important; }
.site-shop-template .module-filter .panel-active .accordion-toggle { color: #333 !important; }
.site-shop-template .module-filter .accordion-toggle .rotated {
	display: inline-flex;
	transition: transform .2s;
}
.site-shop-template .module-filter .panel-active .accordion-toggle .rotated { transform: rotate(180deg); }
.site-shop-template .module-filter .panel-body { padding: 4px 0 16px; }
.site-shop-template .module-filter .panel-collapse { overflow: hidden; }
/* 折叠/展开：自定义 display 切换（稳定可靠，不依赖 maxHeight） */
.site-shop-template .module-filter .panel-collapse { display: none; }
.site-shop-template .module-filter .panel-collapse.in { display: block; }

/* 价格滑块（ion.rangeSlider） */
.site-shop-template .filter-price { padding: 0 0 8px; }
.site-shop-template .filter-price .range-slider { padding: 0 8px 4px; }
.site-shop-template .filter-price .irs { font-family: inherit; }
.site-shop-template .filter-price .irs--round .irs-line { background: #e2e2e2; }
.site-shop-template .filter-price .irs--round .irs-bar { background: #579ac1; }
.site-shop-template .filter-price .irs--round .irs-single,
.site-shop-template .filter-price .irs--round .irs-from,
.site-shop-template .filter-price .irs--round .irs-to {
	background: #579ac1;
	color: #fff;
	font-size: 11px;
	padding: 0 8px;
}
.site-shop-template .filter-price .irs--round .irs-handle { border: 3px solid #579ac1; background: #fff; }
.site-shop-template .filter-price-inputs {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 0 0;
	font-size: 12px;
}
.site-shop-template .filter-price-inputs input {
	width: 100%;
	max-width: 70px;
	padding: 6px 8px;
	border: 1px solid var(--theme-border);
	border-radius: 3px;
	font-size: 12px;
	color: var(--theme-text);
	background: #fff;
	text-align: center;
}
.site-shop-template .filter-price-inputs .currency-symbol { color: var(--theme-text); }
.site-shop-template .filter-price-inputs .currency-separator { color: var(--theme-text-light); }

/* 多选/单选项（filter-item） */
.site-shop-template .filter-checkbox {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 2px;
}
.site-shop-template .filter-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 0;
	font-size: 13px;
	cursor: pointer;
	color: var(--theme-text);
}
.site-shop-template .filter-item input[type="checkbox"],
.site-shop-template .filter-item input[type="radio"] {
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	margin: 0;
	appearance: none;
	-webkit-appearance: none;
	border: 1.5px solid #cfcfcf;
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	position: relative;
	transition: all .15s;
}
.site-shop-template .filter-item input[type="checkbox"] {
	border-radius: 3px;
}
.site-shop-template .filter-item input[type="checkbox"]:checked,
.site-shop-template .filter-item input[type="radio"]:checked {
	background: #579ac1;
	border-color: #579ac1;
}
.site-shop-template .filter-item input[type="checkbox"]:checked::after,
.site-shop-template .filter-item input[type="radio"]:checked::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
}
.site-shop-template .filter-item input[type="checkbox"]:checked::after {
	width: 8px; height: 8px;
	clip-path: polygon(14% 44%, 0 60%, 50% 100%, 100% 16%, 80% 0, 43% 62%);
}
.site-shop-template .filter-item input[type="radio"]:checked::after {
	width: 4px; height: 4px;
	border-radius: 50%;
}
.site-shop-template .filter-item .links-text {
	flex: 1;
	color: var(--theme-text);
	transition: color .15s;
}
.site-shop-template .filter-item:hover .links-text { color: #ef5042; }
.site-shop-template .filter-item .count-badge {
	flex: 0 0 auto;
	min-width: 22px;
	height: 18px;
	padding: 0 7px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #ef5042;
	color: #fff;
	border-radius: 50px;
	font-size: 10px;
	font-weight: 400;
	line-height: 1;
}
.site-shop-template .filter-item.filter-item-hidden { display: none; }

/* show more / view less */
.site-shop-template .show-more-container { margin-top: 6px; }
.site-shop-template .show-more-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: none;
	border: 0;
	color: #579ac1;
	cursor: pointer;
	font-size: 12px;
	padding: 4px 0;
	text-transform: none;
}
.site-shop-template .show-more-btn:hover { color: #ef5042; }

/* 顶级分类分组框：黑色大写标题 */
.site-shop-template .module-filter .panel-heading .panel-title a.accordion-toggle > font {
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #1b1b1b;
	font-size: 14px;
}
.site-shop-template .module-filter .panel-heading {
	border-top: 1px solid #ececec;
	padding: 14px 0 10px;
}

/* 价格 form：双 number input + Übernehmen 按钮 */
.site-shop-template #filter-price-form { padding: 4px 0 8px; }
.site-shop-template .filter-price-inputs {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
}
.site-shop-template .filter-price-inputs input[type="number"] {
	width: 80px;
	padding: 6px 8px;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: 14px;
	-moz-appearance: textfield;
}
.site-shop-template .filter-price-inputs input[type="number"]::-webkit-outer-spin-button,
.site-shop-template .filter-price-inputs input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none; margin: 0;
}
.site-shop-template .filter-price-apply {
	background: #1b1b1b; color: #fff; border: 0;
	padding: 8px 14px; font-size: 12px; text-transform: uppercase;
	letter-spacing: 0.05em; cursor: pointer; border-radius: 2px;
}
.site-shop-template .filter-price-apply:hover { background: #ef5042; }
.site-shop-template .filter-price-hint {
	color: #999; font-size: 11px; margin: 8px 0 0; padding: 0;
}
.site-shop-template .currency-symbol.currency-left { color: #999; font-size: 13px; }
.site-shop-template .currency-separator { color: #999; padding: 0 2px; }

/* 子分类缩进显示（与后台 WooCommerce 分类树实时同步） */
.site-shop-template .filter-subgroup { margin: 0 0 0 18px; border-left: 1px solid #f0f0f0; padding-left: 4px; }
.site-shop-template .filter-item.filter-item-child .links-text { color: var(--theme-text-light); }
.site-shop-template .filter-item.filter-item-child .links-text::before {
	content: "└ ";
	color: #cfcfcf;
	margin-right: 2px;
}
.site-shop-template .filter-item.filter-item-child[data-depth="2"] { padding-left: 8px; }
.site-shop-template .filter-item.filter-item-child[data-depth="3"] { padding-left: 16px; }

/* 子分类导航 */
.refine-categories { margin-bottom: 12px; }
.refine-items { display: flex; gap: 15px; overflow-x: auto; padding-bottom: 10px; }
.hscroll-progress { display: none; }
.refine-item a { display: flex; flex-direction: column; align-items: center; text-align: center; }
/* 圆形图标容器 + 图片：按首页 .image a / .image img 标准统一
   首页桌面端 .image a 无 padding/border，靠 img 40×40 撑开正方形 + border-radius 50% 成圆 */
.refine-item .refine-thumb {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	transition: box-shadow .25s;
}
.refine-item .refine-thumb img {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: contain;
	display: block;
}
.refine-item .refine-name { margin-top: 5px; font-size: 12px; color: var(--theme-text); }

/* 工具栏 */
.products-filter {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	padding: 10px 0;
	border-top: 1px solid var(--theme-border);
	border-bottom: 1px solid var(--theme-border);
	margin-bottom: 15px;
}
.products-filter .grid-list { display: flex; align-items: center; gap: 12px; font-size: 13px; }
.products-filter .view-btn {
	width: 32px;
	height: 32px;
	background: #f8f8f8;
	border: 1px solid var(--theme-border);
	cursor: pointer;
	color: var(--theme-text-light);
}
.products-filter .view-btn.active { background: var(--theme-dark); color: #fff; border-color: var(--theme-dark); }
.products-filter .select-group { display: flex; gap: 15px; align-items: center; }
.products-filter .input-group { display: flex; align-items: center; }
.products-filter .input-group-addon { padding: 6px 10px; background: #f8f8f8; border: 1px solid var(--theme-border); border-right: 0; font-size: 12px; color: var(--theme-text-light); }
.products-filter select.form-control { padding: 6px 10px; border: 1px solid var(--theme-border); font-size: 12px; }

/* 商品网格 */
.main-products.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px 15px; margin: 0 -0.01px; }
@media (max-width: 1280px) { .main-products.product-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 1024px) { .main-products.product-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .main-products.product-grid { grid-template-columns: repeat(2, 1fr); } }
.product-layout-wrap { padding: 0; list-style: none; }

/* ============ 商城列表页专用纯展示商品卡（严格 1:1 还原参考 HTML） ============ */
.product-layout.product-layout-shop .product-thumb {
	background: #fff;
	display: flex;
	flex-direction: column;
}
.product-layout.product-layout-shop .product-thumb .image {
	position: relative;
	overflow: hidden;
}
.product-layout.product-layout-shop .product-thumb .image .product-img {
	display: block;
	padding-top: 130%;
	position: relative;
	overflow: hidden;
}
.product-layout.product-layout-shop .product-thumb .image .product-img img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: contain;
	background: #fff;
	transition: transform .5s ease;
}
.product-layout.product-layout-shop .product-thumb:hover .image .product-img img {
	transform: scale(1.06);
}
.product-layout.product-layout-shop .product-badges {
	position: absolute;
	top: 10px; right: 10px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: flex-end;
}
.product-layout.product-layout-shop .product-discount-badge {
	min-width: 52px; height: 30px; line-height: 30px;
	padding: 0 12px;
	background: #e53935;
	color: #fff;
	font-size: 14px; font-weight: 600;
	border-radius: 999px;
	text-align: center;
	box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.product-layout.product-layout-shop .product-new-badge {
	min-width: 52px; height: 30px; line-height: 30px;
	padding: 0 12px;
	background: #2e7d32;
	color: #fff;
	font-size: 13px; font-weight: 700;
	border-radius: 999px;
	text-align: center;
	box-shadow: 0 2px 6px rgba(0,0,0,.15);
	letter-spacing: 0.5px;
}
.product-layout.product-layout-shop .product-thumb .caption {
	padding: 12px 4px 0;
	display: flex; flex-direction: column;
}
.product-layout.product-layout-shop .product-thumb .caption .name {
	font-size: 14px; font-weight: 500;
	line-height: 1.45; color: var(--theme-dark);
	margin: 0 0 4px;
	min-height: 40px;
}
.product-layout.product-layout-shop .product-thumb .caption .name a {
	color: var(--theme-dark);
	text-decoration: none;
}
.product-layout.product-layout-shop .product-thumb .caption .name a:hover {
	color: var(--theme-primary);
}
.product-layout.product-layout-shop .product-thumb .caption .featured-custom-text {
	font-size: 13px; font-weight: 600;
	color: var(--theme-primary);
	margin: 2px 0 4px;
	background: none !important;
	padding: 0 !important;
	display: block !important;
	border: 0 !important;
}
.product-layout.product-layout-shop .product-thumb .caption .price {
	font-size: 15px; font-weight: 700;
	color: #e53935;
	margin: 2px 0 0;
}
.product-layout.product-layout-shop .product-thumb .caption .price > div { display: flex; align-items: baseline; flex-wrap: wrap; }
.product-layout.product-layout-shop .product-thumb .caption .price del { order: 2; color: #999 !important; font-weight: 400; font-size: 13px; text-decoration: line-through; margin-left: 6px; }
.product-layout.product-layout-shop .product-thumb .caption .price ins { order: 1; background: none; text-decoration: none; color: #e53935; font-weight: 700; }
.product-layout.product-layout-shop .product-thumb .caption .rating,
.product-layout.product-layout-shop .product-thumb .caption .buttons-wrapper,
.product-layout.product-layout-shop .product-thumb .caption .description {
	display: none !important;
}
.product-layout.product-layout-shop .product-thumb .product-labels { display: none; }

/* 列表视图 */
.main-products.product-list { display: block; }
.main-products.product-list .product-layout-wrap { width: 100%; }
.main-products.product-list .product-thumb { flex-direction: row; }
.main-products.product-list .product-thumb .image { flex: 0 0 220px; }
.main-products.product-list .product-thumb .caption { flex: 1; }

/* 分页 */
.woocommerce-pagination,
.pagination-results { margin-top: 25px; text-align: center; }
.woocommerce-pagination ul.page-numbers,
.pagination-results ul.pagination {
	display: inline-flex;
	gap: 4px;
	list-style: none;
	padding: 0;
}
.woocommerce-pagination ul.page-numbers li,
.pagination-results ul.pagination li { display: inline-block; }
.woocommerce-pagination a,
.woocommerce-pagination span,
.pagination-results a,
.pagination-results span {
	display: inline-block;
	min-width: 36px;
	height: 36px;
	line-height: 36px;
	padding: 0 10px;
	border: 1px solid var(--theme-border);
	color: var(--theme-dark);
}
.woocommerce-pagination .current,
.pagination-results li.active span {
	background: var(--theme-primary);
	color: #fff;
	border-color: var(--theme-primary);
}

/* ============ 商品详情页 ============ */
.product-info.has-extra-button { display: flex; flex-wrap: wrap; gap: 0; padding: 20px 15px 40px; max-width: 1280px; margin: 0 auto; }
.product-left { flex: 0 0 55%; max-width: 55%; width: 55%; padding-right: 15px; }
.product-right { flex: 1 1 45%; min-width: 0; padding-left: 15px; max-width: 45%; }
@media (max-width: 992px) { .product-left { flex: 1 1 100%; max-width: 100%; width: 100%; padding-right: 0; } .product-right { flex: 1 1 100%; max-width: 100%; padding-left: 0; } }

.product-image .main-image { position: relative; }
.product-image .swiper-container { width: 100%; overflow: hidden; }
.product-image .main-image img { width: 100%; height: auto; }
/* 主图左右切换箭头：完全隐藏（与参考 HTML 一致，仅保留分页点） */
.product-image .swiper-button-prev,
.product-image .swiper-button-next { display: none !important; }
/* 全局保护：避免 swiper 默认蓝色 SVG 箭头泄露 */
.swiper-button-prev,
.swiper-button-next {
	background-image: none !important;
}
.additional-images { display: flex; gap: 10px; margin-top: 24px; }
.additional-image {
	width: 100px; height: 100px;
	border: 1px solid var(--theme-border);
	cursor: pointer;
	overflow: hidden;
	outline: none;
}
.additional-image:focus,
.additional-image:focus-visible,
.additional-image:active { outline: none; box-shadow: none; }
.additional-image img { width: 100%; height: 100%; object-fit: contain; }
.additional-image:hover { border-color: var(--theme-primary); }
.additional-image.active { border-color: var(--theme-primary); }

.product-right .title.page-title { font-size: 26px; line-height: 1.3; font-weight: 700; color: var(--theme-dark); margin: 0 0 12px; padding: 0; }
.product-right .rating-page { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.product-right .rating-stars .fa-stack { font-size: 14px; color: #f0ad4e; }
.product-right .review-links a { color: var(--theme-secondary); font-size: 13px; margin-right: 8px; }
.product-right .featured-custom-text {
	display: block; padding: 0;
	background: none; color: var(--theme-primary);
	border: 0;
	font-size: 12px; font-weight: 700;
	margin-bottom: 12px;
}
.product-price-group { display: flex; flex-direction: column; gap: 4px; padding: 12px 0; border-top: 1px solid var(--theme-border); border-bottom: 1px solid var(--theme-border); margin-bottom: 20px; }
.price-group { display: flex; align-items: center; gap: 12px; }
.product-price-new { font-size: 26px; font-weight: 700; color: var(--theme-primary); }
.product-price-old { font-size: 18px; color: var(--theme-text-light); text-decoration: line-through; }
/* 详情页价格：del/ins 顺序与颜色（促销价在左红色、原价在右灰色，与商品卡片一致）
   v4 优化：放大金额数字，提升主价格视觉权重 */
.detail-price { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; color: var(--theme-dark); font-size: 32px; font-weight: 700; }
.detail-price .price { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.detail-price del { order: 2; color: #999 !important; font-weight: 400; font-size: 22px; text-decoration: line-through; }
.detail-price ins { order: 1; background: none; text-decoration: none; color: var(--theme-primary); font-weight: 700; font-size: 32px; }
.detail-price ins .woocommerce-Price-amount,
.detail-price del .woocommerce-Price-amount { font-size: inherit !important; font-weight: inherit; }
/* 表单聚焦态：使用主题主色，增强交互反馈 */
.product-options .form-control:focus { border-color: var(--theme-primary); box-shadow: 0 0 0 2px rgba(239, 80, 66, 0.15); outline: none; }
.product-tax { font-size: 14px; color: var(--theme-text-light); font-weight: 500; }
.product-tax .woocommerce-Price-amount { font-size: 14px !important; font-weight: 600; }

.product-options { padding: 15px 0; }
.options-title { font-size: 18px; margin: 0 0 15px; padding-bottom: 8px; border-bottom: 1px solid var(--theme-border); }
.product-options .form-group { margin-bottom: 18px; }
.product-options .control-label { display: block; font-weight: 700; font-size: 13px; text-transform: uppercase; margin-bottom: 8px; color: var(--theme-dark); }
.product-options .radio { margin-bottom: 6px; }
.product-options .radio label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.product-options .option-value { font-size: 13px; }
.product-options .option-price { color: var(--theme-text-light); font-size: 12px; margin-left: 4px; }

/* 尺码选择 - 参考 HTML: push-option 黑色按钮 + 灰色未选 */
.size-radio { margin-bottom: 10px; }
.size-radio #input-option-size {
	display: grid;
	grid-template-columns: repeat(var(--theme-577-size-columns, 4), minmax(0, 1fr));
	gap: 8px;
	width: 100%;
}
.size-radio .radio {
	display: block;
	min-width: 0;
	margin: 0;
}
.size-radio .radio label {
	display: flex !important;
	align-items: center; justify-content: center;
	width: 100%; min-width: 0; min-height: 42px;
	box-sizing: border-box;
	padding: 6px 12px;
	background: #eceff1;
	border: 0;
	border-radius: 5px;
	cursor: pointer;
	transition: box-shadow .2s;
	text-align: center;
}
.size-radio .radio label:hover { box-shadow: 0 5px 35px -5px rgba(0,0,0,0.07); }
.size-radio .option-value {
	display: inline-flex; align-items: center; justify-content: center;
	width: 100%; min-height: 30px;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--theme-dark);
	line-height: 1;
}
.size-radio .radio input[type=radio] { display: none; }
.size-radio .radio:has(input:checked) label {
	background: #000; border-color: #000;
	box-shadow: inset 0 0 5px rgba(0,0,0,0.1), 0 5px 35px -5px rgba(0,0,0,0.07);
}
.size-radio .radio:has(input:checked) .option-value { color: #fff; }
.size-guide {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 10px 0;
	color: #000;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.2;
	cursor: pointer;
}
.size-guide:hover { color: #000; }
.size-guide .icon-size-guide {
	display: block;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	background: url('../images/sizeguide.svg') center / contain no-repeat;
}
.size-guide .size-guide-text {
	color: inherit;
	text-decoration-line: underline;
	text-underline-offset: 2px;
}

/* 个性化区块 */
.m-form-block { padding: 0; border: 0; border-radius: 0; margin-top: 18px; }
.personalization-desc { display: block; font-size: 12px; color: var(--theme-text-light); margin-bottom: 10px; }
.m-form-block-items { display: flex; gap: 6px; }
.m-form-block-item {
	flex: 1; text-align: center; padding: 12px 16px;
	background: #eceff1; border: 1px solid #eceff1;
	cursor: pointer; font-size: 13px; font-weight: 600;
	color: var(--theme-dark, #1a1a1a);
	border-radius: 6px;
	transition: background .15s, border-color .15s, color .15s;
}
.m-form-block-item:hover { background: #fafafa; border-color: #d8d8d8; }
.m-form-block-item.m-form-block-item-actvie {
	background: #000;
	color: #fff;
	border-color: #000;
	font-weight: 700;
	box-shadow: none;
}

.type-hidden { display: none; }
.custom-input-limit { font-size: 11px; color: var(--theme-text-light); margin-top: 4px; text-align: right; }

/* 臂章 */
.patch-options {
	--theme-577-patch-frame: 82px;
	--theme-577-patch-art: 70px;
	--theme-577-patch-content-height: 60px;
	display: grid;
	grid-template-columns: repeat(auto-fit, var(--theme-577-patch-frame));
	gap: 10px;
	align-items: center;
}
.patch-options .radio.radio-image {
	margin: 0;
	padding: 0;
}
.patch-options .radio.radio-image label {
	display: flex; align-items: center; justify-content: center;
	width: var(--theme-577-patch-frame); height: var(--theme-577-patch-frame);
	box-sizing: border-box;
	padding: 4px; border: 2px solid transparent; border-radius: 4px;
	cursor: pointer;
}
.patch-options .radio.radio-image img { width: 100%; height: 100%; object-fit: contain; border-radius: 0; }
.patch-options .radio.radio-image input { display: none; }
.patch-options .radio.radio-image:has(input:checked) label {
	border-color: var(--theme-primary);
	box-shadow: none;
	background: transparent;
}

/* 支付图标（We Accept：横向排列 + 等比例放大） */
.product-pay-container { padding: 14px 0 10px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.product-pay-container .pay-text { margin: 0 6px 0 0; font-size: 14px; color: var(--theme-dark); font-weight: 600; }
.payment-icons { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; flex: 1; }
.payment-icons img {
	height: 38px;
	width: auto;
	border: 1px solid var(--theme-border);
	border-radius: 6px;
	background: #fff;
	padding: 4px 8px;
	object-fit: contain;
	transition: transform .15s;
}
.payment-icons img:hover { transform: translateY(-1px); box-shadow: 0 2px 6px rgba(0,0,0,.08); }

/* 数量选择器（截图 2：左 - 中"Quantity 1" 右 +，整行铺满） */
.product-qty-row { display: flex; align-items: center; gap: 12px; padding: 6px 0 14px; }
.qty-stepper {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	width: 100%;
	height: 50px;
	background: #f4f4f4;
	border: 1px solid #e8e8e8;
	border-radius: 8px;
	overflow: hidden;
	transition: border-color .15s, box-shadow .15s;
}
.qty-stepper:focus-within { border-color: var(--theme-primary, #ef5042); box-shadow: 0 0 0 3px rgba(239, 80, 66, .12); }
.qty-stepper .qty-btn {
	width: 56px;
	background: transparent;
	border: 0;
	font-size: 22px;
	line-height: 1;
	color: var(--theme-dark, #1a1a1a);
	cursor: pointer;
	padding: 0;
	transition: background .15s, color .15s;
}
.qty-stepper .qty-btn:hover { background: rgba(0, 0, 0, .05); }
.qty-stepper .qty-btn:active { background: rgba(0, 0, 0, .1); }
.qty-stepper .qty-minus { border-right: 1px solid #e8e8e8; }
.qty-stepper .qty-plus { border-left: 1px solid #e8e8e8; }
.qty-stepper .qty-center {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 15px;
	color: var(--theme-dark, #1a1a1a);
}
.qty-stepper .qty-center-label { color: var(--theme-text-light, #888); font-weight: 500; }
.qty-stepper .qty-center-value { font-weight: 700; min-width: 20px; text-align: center; }
.qty-stepper .qty-input-hidden { display: none; }
.qty-label { display: none; }

/* 小计 */
.product-price-group2 {  border-top: 0; margin-top: 4px; }
.product-price-group2 .price-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	margin: 10px 0;
}
.product-price-group2 .price-group {
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	margin-left: auto;
}
.price-subtotal {
	font-size: 24px;
	font-weight: 600;
	line-height: 1;
	color: var(--theme-dark);
	margin-bottom: 0;
}
.product-price-group2 .product-price-new,
.product-price-group2 .subtotal-display {
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
	color: var(--theme-primary);
	white-space: nowrap;
}

/* 按钮组 */
.button-group-page { padding: 12px 0; }
.buttons-wrapper { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.stepper-group.cart-group { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.stepper.product-qty-width { display: inline-flex; align-items: center; border: 1px solid var(--theme-border); border-radius: 3px; }
.stepper.product-qty-width .control-label { margin: 0 10px 0 0; font-size: 12px; }
.stepper.product-qty-width input.form-control { width: 50px; padding: 6px; text-align: center; border: 0; }
.stepper.product-qty-width .stepper-btns { display: flex; flex-direction: column; }
.stepper.product-qty-width .stepper-btns i { padding: 2px 6px; cursor: pointer; font-size: 10px; }
/* 按钮组（截图 3：ADD TO BAG 灰底 / BUY IT NOW 红底） */
.button-group-page { padding: 12px 0 4px; }
.button-group-page .buttons-wrapper { display: flex; flex-direction: column; gap: 8px; }
.btn-cart#button-cart,
.button-group-page .btn-add-to-bag { width: 100%; padding: 14px 24px; background: #d6d6d6; color: #1a1a1a; border: 0; cursor: pointer; font-weight: 700; font-size: 14px; letter-spacing: .5px; text-transform: uppercase; transition: background .15s; }
.btn-cart#button-cart:hover,
.button-group-page .btn-add-to-bag:hover { background: #bcbcbc; }
.btn-extra.btn-extra-46,
.button-group-page .btn-buy-it-now { width: 100%; padding: 14px 24px; background: var(--theme-primary, #ef5042); color: #fff; border: 0; cursor: pointer; font-weight: 700; font-size: 14px; letter-spacing: .5px; text-transform: uppercase; transition: background .15s; }
.btn-extra.btn-extra-46:hover,
.button-group-page .btn-buy-it-now:hover { background: var(--theme-dark, #2c3640); }
.wishlist-compare { display: flex; gap: 8px; }

/* === 防御性隐藏：商品详情页冗余模块（防止旧版模板未覆盖时残留显示） === */
/* 信任文案（More than X purchased）— 已删除模块，强制隐藏 */
.product-trust-text,
.product-trust-text .trust-avatars,
.product-trust-text .trust-avatar,
.product-trust-text .trust-message { display: none !important; }

/* PATCH 图标：统一绘制舞台，JS 按有效像素统一视觉高度 */
.patch-options .radio.radio-image .patch-image {
	position: relative;
	display: block;
	flex: 0 0 auto;
	width: var(--theme-577-patch-art);
	height: var(--theme-577-patch-art);
	border-radius: 0;
	background: transparent;
	border: 0;
	overflow: hidden;
	padding: 0;
}
.patch-options .radio.radio-image .patch-image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 0;
	transform-origin: 0 0;
	will-change: transform;
}
.patch-options .radio.radio-image .option-value { display: none; }
.btn-wishlist, .btn-compare { padding: 8px 14px; background: #f8f8f8; border: 1px solid var(--theme-border); color: var(--theme-text); cursor: pointer; font-size: 12px; }
.btn-wishlist:hover, .btn-compare:hover { background: var(--theme-dark); color: #fff; border-color: var(--theme-dark); }

/* 信任徽章（100% Original + 21,852 jerseys purchased）— 已删除模块，强制隐藏 */
.product-blocks-details,
.advantage_wrapper,
.advantage_icon,
.advantage_icon img,
.advantage_content,
.advantage_title,
.advantage_text,
.AD-flex-container-tcb,
.AD-flex-item-tcb { display: none !important; }

/* You may also like（截图 4：标题 + 红色下划线 + 2列商品卡） */
.you-may-also-like { padding: 24px 0 12px; }
.you-may-also-like .you-may-also-like-title {
	display: block;
	font-size: 22px;
	font-weight: 700;
	color: var(--theme-dark);
	margin: 0 0 16px;
	padding: 0 0 8px;
	border-bottom: 2px solid var(--theme-primary, #ef5042);
	width: max-content;
	max-width: 100%;
}
.you-may-also-like .swiper-pagination { text-align: center; margin-top: 12px; position: static; }
.you-may-also-like .swiper-pagination .swiper-pagination-bullet { margin: 0 4px; }

/* 整张商品卡可点击：覆盖在卡片上的隐形链接（不阻挡子元素点击） */
.product-layout { position: relative; }
.product-card-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: auto;
}
.product-card-overlay:focus-visible { outline: 2px solid var(--theme-primary, #ef5042); outline-offset: -2px; }

/* 相关产品卡片：去掉按钮组、评分，但仍保留图片+徽章+标题+featured+价格 */
/* 猜你喜欢图片：1:1 正方形容器 + contain 完整展示（不裁剪）
   原 130% padding-top + cover 裁剪导致图片展示不齐全，改为 1:1 + contain
   注意：.related-card 和 .product-layout 是同一元素，不能用后代选择器 */
.related-card.product-layout .product-thumb .image { overflow: hidden; }
.related-card .product-img { padding-top: 100% !important; }
.related-card .product-img img {
	transition: transform .3s ease;
	object-fit: contain !important;
	aspect-ratio: 1 / 1 !important;
	background: #fff;
	padding: 4px;
}
.related-card:hover .product-img img { transform: scale(1.04); }

/* 手风琴（彻底无边框、无色块、无分隔线） */
.product-blocks.blocks-bottom { margin-top: 25px; }
.panel-group.product_accordion .panel { border: none !important; margin-bottom: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.panel-group.product_accordion .panel + .panel { margin-top: 0 !important; }
.panel-group.product_accordion .panel-heading { border: none !important; background: transparent !important; padding: 0 !important; }
.panel-group.product_accordion .panel-title { border: none !important; }
.panel-heading .panel-title { margin: 0; }
.accordion-toggle {
	display: flex; justify-content: space-between; align-items: center;
	padding: 12px 15px; cursor: pointer; color: var(--theme-dark);
	font-weight: 700; font-size: 13px; text-transform: uppercase;
	background: transparent;
	border: none !important;
}
.accordion-toggle:hover { color: var(--theme-primary); }
.accordion-toggle .rotated svg { transition: transform .2s; }
.panel-active .accordion-toggle .rotated svg { transform: rotate(180deg); }
.panel-body { padding: 15px; font-size: 13px; color: var(--theme-text); line-height: 1.7; border: none !important; }

/* 标签（通用样式，用于博客等页面） */
.tags { padding: 15px 0; }
.tags-title { font-weight: 700; color: var(--theme-dark); margin-right: 8px; font-size: 13px; }
.tags a { color: var(--theme-secondary); margin-right: 4px; font-size: 13px; }
.tags a:hover { color: var(--theme-primary); }
.tags b { color: var(--theme-text-light); margin-right: 4px; }
/* 商品详情页 Quick Search 标签模块 — 已删除，防御性隐藏（限定 single-product 不影响其他页面） */
.single-product .product-blocks.blocks-bottom + .tags,
.single-product .tags .tags-title,
.single-product .product-info .tags { display: none !important; }

/* 相关产品轮播 */
/* Related products bottom section - take full width */
.bottom .grid-row > .grid-cols > .grid-col,
#bottom .grid-col { flex: 1 1 100%; max-width: 100%; width: 100%; }
#bottom .grid-items,
#bottom .grid-item { width: 100%; }

.module-products-253 { margin-top: 30px; }
.module-products-253 .nav-tabs { border-bottom: 1px solid var(--theme-border); margin-bottom: 15px; }
.module-products-253 .nav-tabs li a {
	display: inline-block; padding: 10px 20px;
	border: 0; border-bottom: 2px solid transparent;
	color: var(--theme-text-light); font-size: 14px; font-weight: 700;
}
.module-products-253 .nav-tabs li.active a { color: var(--theme-primary); border-bottom-color: var(--theme-primary); }
.module-products-253 .swiper-container { width: 100%; overflow: hidden; }
.module-products-253 .swiper-wrapper.product-grid {
	display: flex;
	flex-wrap: nowrap;
}
.module-products-253 .swiper-slide {
	flex: 0 0 auto;
	width: calc((100% - 4 * 25px) / 5);
	margin-right: 25px;
}
.module-products-253 .swiper-slide:last-child { margin-right: 0; }
.module-products-253 .swiper-slide .product-layout { height: 100%; }
@media (max-width: 1280px) { .module-products-253 .swiper-slide { width: calc((100% - 3 * 25px) / 4); } }
@media (max-width: 992px)  { .module-products-253 .swiper-slide { width: calc((100% - 2 * 25px) / 3); } }
@media (max-width: 640px)  { .module-products-253 .swiper-slide { width: calc((100% - 25px) / 2); } }

/* 推荐模块轮播 - 按钮默认隐藏，hover 显示，且无蓝色 */
.module-products-253 .swiper-buttons {
	position: absolute; top: 35%; transform: translateY(-50%);
	left: 0; right: 0; display: flex; justify-content: space-between;
	pointer-events: none; z-index: 5;
}
.module-products-253 .swiper-button-prev,
.module-products-253 .swiper-button-next {
	width: 36px; height: 36px;
	background: rgba(44,54,64,.85) !important;
	background-image: none !important;
	color: #fff !important;
	border-radius: 50%;
	display: flex !important; align-items: center; justify-content: center;
	pointer-events: auto;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s, background .2s, visibility .25s;
	font-size: 0;
}
.module-products-253 .swiper:hover .swiper-button-prev,
.module-products-253 .swiper:hover .swiper-button-next { opacity: 1; visibility: visible; }
.module-products-253 .swiper-button-prev::before,
.module-products-253 .swiper-button-next::before {
	content: '';
	width: 10px; height: 10px;
	border-top: 2px solid #fff; border-right: 2px solid #fff;
}
.module-products-253 .swiper-button-prev::after,
.module-products-253 .swiper-button-next::after { content: none !important; }
.module-products-253 .swiper-button-prev::before { transform: rotate(-135deg); margin-left: 4px; }
.module-products-253 .swiper-button-next::before { transform: rotate(45deg); margin-right: 4px; }
.module-products-253 .swiper-button-prev:hover,
.module-products-253 .swiper-button-next:hover { background: var(--theme-primary) !important; }
.module-products-253 .swiper-pagination { text-align: center; margin-top: 10px; position: static; }
.module-products-253 .swiper-pagination-bullet { background: #ccc; opacity: 1; }
.module-products-253 .swiper-pagination-bullet-active { background: var(--theme-primary); }

/* 商品详情页主图 swiper：圆点跟随主色，去除默认蓝/绿；圆点与缩略图之间留白 */
.product-image .swiper-pagination-bullet { background: #d0d0d0; opacity: 1; }
.product-image .swiper-pagination-bullet-active { background: var(--theme-primary); opacity: 1; }
.product-image .main-image .swiper-pagination { position: relative; margin-top: 4px; margin-bottom: 20px; height: auto; }
.product-image .main-image .swiper-pagination-bullet { margin: 0 4px; }

/* ============ 评论 / 评价区（严格全宽，参考 HTML 样式） ============ */
.product-reviews-section,
#reviews {
	width: 100%;
	max-width: 1280px;
	margin: 40px auto;
	padding: 0 15px;
	box-sizing: border-box;
}
.reviews-container { width: 100%; }
.reviews-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 15px;
	padding-bottom: 15px;
	border-bottom: 2px solid var(--theme-dark);
	margin-bottom: 25px;
}
.reviews-header .reviews-title {
	font-size: 24px;
	font-weight: 700;
	color: var(--theme-dark);
	margin: 0;
}
.reviews-summary {
	display: flex;
	align-items: center;
	gap: 12px;
}
.reviews-summary .rating-stars {
	color: #f5a623;
	font-size: 16px;
}
.reviews-summary .rating-stars .fa-star,
.reviews-summary .rating-stars .fa-star-o { margin-right: 2px; }
.reviews-summary .reviews-count {
	font-size: 13px;
	color: var(--theme-text-light);
}
.commentlist.reviews-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.commentlist.reviews-list .review-item {
	list-style: none;
	margin-bottom: 20px;
	padding: 0;
}
.commentlist.reviews-list .review-card {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	background: #fff;
	border: 1px solid var(--theme-border);
	border-radius: 6px;
	padding: 22px;
	box-shadow: 0 2px 8px rgba(0,0,0,.03);
}
.commentlist.reviews-list .review-avatar {
	flex: 0 0 56px;
	width: 56px;
}
.commentlist.reviews-list .review-avatar img {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	display: block;
}
.commentlist.reviews-list .review-content {
	flex: 1;
	min-width: 0;
}
.commentlist.reviews-list .review-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 10px;
}
.commentlist.reviews-list .review-author {
	font-weight: 700;
	font-size: 15px;
	color: var(--theme-dark);
}
.commentlist.reviews-list .review-rating {
	color: #f5a623;
	font-size: 13px;
}
.commentlist.reviews-list .review-rating .fa-star,
.commentlist.reviews-list .review-rating .fa-star-o { margin-right: 1px; }
.commentlist.reviews-list .review-date {
	font-size: 12px;
	color: var(--theme-text-light);
	margin-left: auto;
}
.commentlist.reviews-list .review-text {
	color: var(--theme-text);
	font-size: 14px;
	line-height: 1.7;
	margin-bottom: 10px;
}
.commentlist.reviews-list .review-pending {
	font-size: 12px;
	color: var(--theme-primary);
	font-style: italic;
	margin-bottom: 8px;
}
.commentlist.reviews-list .review-actions {
	font-size: 12px;
}
.commentlist.reviews-list .review-actions .reply-link a {
	color: var(--theme-secondary);
}
.commentlist.reviews-list .review-actions .reply-link a:hover { color: var(--theme-primary); }
.commentlist.reviews-list .children {
	list-style: none;
	margin-left: 74px;
	padding-left: 0;
}
.commentlist.reviews-list .children .review-item { margin-top: 15px; }
.no-comments {
	padding: 30px;
	text-align: center;
	color: var(--theme-text-light);
	background: #f9f9f9;
	border-radius: 6px;
}

/* 评论表单 */
.review-form.comment-form,
#respond {
	background: #f9f9f9;
	border: 1px solid var(--theme-border);
	border-radius: 6px;
	padding: 28px;
	margin-top: 30px;
}
#respond .comment-reply-title,
.review-form .comment-reply-title {
	font-size: 20px;
	font-weight: 700;
	color: var(--theme-dark);
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--theme-border);
}
#respond .comment-form,
.review-form.comment-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	background: transparent;
	border: 0;
	padding: 0;
	margin: 0;
}
#respond .comment-form-comment,
#respond .comment-form-cookies-consent,
#respond .form-submit,
#respond .comment-form-rating,
.review-form .comment-form-comment,
.review-form .comment-form-cookies-consent,
.review-form .form-submit,
.review-form .comment-form-rating {
	grid-column: 1 / -1;
}
#respond .comment-notes,
.review-form .comment-notes {
	grid-column: 1 / -1;
	font-size: 12px;
	color: var(--theme-text-light);
	margin: 0 0 5px;
}
#respond .form-group,
.review-form .form-group { margin: 0; }
#respond label,
.review-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
	font-size: 13px;
	color: var(--theme-dark);
}
#respond label .required,
.review-form label .required { color: var(--theme-primary); }
#respond input[type=text],
#respond input[type=email],
#respond input[type=url],
#respond textarea,
.review-form input[type=text],
.review-form input[type=email],
.review-form input[type=url],
.review-form textarea {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--theme-border);
	border-radius: 4px;
	font-size: 14px;
	font-family: inherit;
	background: #fff;
	box-sizing: border-box;
	transition: border-color .2s;
}
#respond input[type=text]:focus,
#respond input[type=email]:focus,
#respond input[type=url]:focus,
#respond textarea:focus,
.review-form input:focus,
.review-form textarea:focus {
	border-color: var(--theme-secondary);
	outline: none;
}
#respond .submit,
.review-form .submit {
	background: var(--theme-primary);
	color: #fff;
	border: 0;
	padding: 12px 36px;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
	border-radius: 4px;
	transition: background .2s;
	grid-column: 1 / -1;
	justify-self: start;
}
#respond .submit:hover,
.review-form .submit:hover { background: var(--theme-dark); }
#respond .comment-form-cookies-consent label,
.review-form .comment-form-cookies-consent label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 400;
}
@media (max-width: 768px) {
	#respond .comment-form,
	.review-form.comment-form { grid-template-columns: 1fr; }
	.commentlist.reviews-list .children { margin-left: 0; }
}

/* 商品详情页图标修复 */
.product-image .swiper-container { overflow: hidden; }
.product-image .swiper-slide img { width: 100%; height: auto; display: block; }
.product-image .additional-images {
	display: flex;
	flex-direction: row;
	gap: 10px;
	margin-top: 15px;
	flex-wrap: wrap;
}
.product-image .additional-image {
	width: 80px;
	height: 80px;
	cursor: pointer;
	border: 2px solid transparent;
	overflow: hidden;
	border-radius: 4px;
	outline: none;
}
.product-image .additional-image:focus,
.product-image .additional-image:focus-visible,
.product-image .additional-image:active { outline: none; box-shadow: none; }
.product-image .additional-image:hover,
.product-image .additional-image.active { border-color: var(--theme-primary); }
.product-image .additional-image img { width: 100%; height: 100%; object-fit: contain; }
.product-labels { z-index: 5; }

/* ==========================================================================
   商品详情页：主图鼠标悬停局部放大（仅桌面端 ≥992px 启用）
   - .zoom-lens：跟随鼠标的圆形放大镜
   - .zoom-window：右侧显示放大后的图片区
   ========================================================================== */
.product-image .main-image { position: relative; }
.product-image .zoom-lens {
	position: absolute;
	left: 0;
	top: 0;
	width: 130px;
	height: 130px;
	border: 1px solid rgba(0, 0, 0, .15);
	background: rgba(255, 255, 255, .35);
	cursor: crosshair;
	opacity: 0;
	pointer-events: none;
	z-index: 4;
	transition: opacity .12s ease;
}
.product-image .main-image.is-zoomable:hover .zoom-lens { opacity: 1; }
.product-image .zoom-window {
	position: absolute;
	top: 0;
	left: calc(100% + 12px);
	width: 100%;
	height: 100%;
	background-color: #fff;
	background-repeat: no-repeat;
	background-size: 200% 200%;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
	border: 1px solid #e8e8e8;
	opacity: 0;
	pointer-events: none;
	z-index: 6;
	transition: opacity .12s ease;
}
.product-image .main-image.is-zoomable:hover .zoom-window { opacity: 1; }
/* 鼠标在主图时变成可放大状态 */
.product-image .main-image.is-zoom-enabled { cursor: crosshair; }
/* 移动端：全屏 modal 放大查看 */
.product-zoom-modal {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .92);
	z-index: 100000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 40px 12px 60px;
}
.product-zoom-modal.is-open { display: flex; }
.product-zoom-modal .product-zoom-stage {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.product-zoom-modal .product-zoom-stage img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform .25s ease;
	touch-action: pinch-zoom;
}
.product-zoom-modal .product-zoom-close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .15);
	color: #fff;
	border: 0;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	z-index: 2;
}
.product-zoom-modal .product-zoom-hint {
	position: absolute;
	bottom: 18px;
	left: 0;
	right: 0;
	text-align: center;
	color: rgba(255, 255, 255, .65);
	font-size: 12px;
	letter-spacing: .3px;
}
body.product-zoom-open { overflow: hidden; touch-action: none; }

/* ============ 页脚（1:1 视觉重写） ============ */
footer { clear: both; margin-top: auto; z-index: 1; }
footer .footer-container {
	background: #1a1a1a;
	color: #fff;
	margin-top: 50px;
}

/* 顶部服务区块（3列等宽，圆图标 + 标题 + 描述） */
footer .block-detailed-reinsurance.service-block-wrapper {
	margin: 0 auto;
	display: flex;
	justify-content: space-around;
	gap: 30px;
	max-width: 1280px;
	padding: 40px 15px;
	border-bottom: 1px solid #333;
}
footer .service-block-wrapper .service-block {
	flex: 1;
	text-align: center;
	padding: 10px 15px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
footer .service-block .service-icon {
	color: #fff;
	margin-bottom: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: #2a2a2a;
	border-radius: 50%;
}
footer .service-block .service-icon svg { fill: #fff; color: #fff; width: 22px; height: 22px; }
footer .service-block h3 {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 12px;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: .04em;
}
footer .service-block .subscribe-title {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 5px;
}
footer .service-details p {
	margin: 4px 0;
	font-size: 13px;
	color: #ccc;
	line-height: 1.6;
}
footer .service-details a { color: #ccc; }
footer .service-details a:hover { color: #fff; }
footer .payment-methods {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 12px;
}
footer .payment-methods img {
	height: 24px;
	object-fit: contain;
}

/* Information / Policies 折叠菜单 */
footer .footer-links-wrapper {
	padding: 0;
	border-bottom: 1px solid #333;
}
footer .footer-acc-grid {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 15px;
}
footer .footer-acc-item {
	border-bottom: 1px solid #333;
}
footer .footer-acc-item:last-child { border-bottom: 0; }
footer .footer-acc-trigger {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 18px 0;
	background: transparent;
	border: 0;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
	cursor: pointer;
	text-align: left;
	font-family: inherit;
}
footer .footer-acc-icon {
	font-size: 22px;
	font-weight: 400;
	color: #fff;
	line-height: 1;
	transition: transform .25s;
	display: inline-flex;
	width: 22px;
	height: 22px;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-left: 12px;
}
footer .footer-acc-trigger[aria-expanded="true"] .footer-acc-icon {
	transform: rotate(45deg);
}
footer .footer-acc-panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s ease;
}
footer .footer-acc-panel.is-open { max-height: 600px; }
footer .footer-acc-panel .footer-links {
	padding: 4px 0 18px;
}
footer .footer-acc-panel .footer-links li { padding: 6px 0; }
footer .footer-acc-panel .footer-links li a {
	color: #ccc;
	font-size: 13px;
	display: inline-block;
}
footer .footer-acc-panel .footer-links li a:hover { color: #fff; }

/* Newsletter 居中订阅 */
footer .newsletter-block {
	max-width: 1280px;
	margin: 0 auto;
	padding: 36px 15px 32px;
	text-align: center;
	border-bottom: 1px solid #333;
}
footer .newsletter-block .subscribe-title {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 8px;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: .04em;
}

/* ============================== Size Guide 弹窗 ============================== */
.theme-577-modal[hidden] { display: none !important; }
.theme-577-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.theme-577-modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	cursor: pointer;
}
.theme-577-modal-dialog {
	position: relative;
	z-index: 1;
	background: #fff;
	border-radius: 6px;
	max-width: 720px;
	width: 100%;
	max-height: 90vh;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	animation: theme577ModalIn 0.25s ease-out;
}
@keyframes theme577ModalIn {
	from { opacity: 0; transform: translateY(20px) scale(0.96); }
	to   { opacity: 1; transform: none; }
}
.theme-577-modal-close {
	position: absolute;
	top: 8px;
	right: 12px;
	width: 36px;
	height: 36px;
	background: transparent;
	border: 0;
	font-size: 28px;
	line-height: 1;
	color: #666;
	cursor: pointer;
	z-index: 2;
}
.theme-577-modal-close:hover { color: var(--theme-primary); }
.theme-577-modal-title {
	margin: 0;
	padding: 22px 60px 10px 24px;
	font-size: 26px;
	font-weight: 700;
	color: var(--theme-dark);
	border-bottom: 1px solid var(--theme-border);
	display: flex;
	align-items: center;
	gap: 12px;
}
/* 尺码表弹窗 logo */
.theme-577-modal-logo {
	width: 38px;
	height: 38px;
	object-fit: contain;
	flex-shrink: 0;
	border-radius: 4px;
}
.theme-577-modal-title-text {
	flex: 1;
}
.theme-577-modal-subtitle {
	margin: 0;
	padding: 12px 24px;
	font-size: 13px;
	color: var(--theme-text-light);
	background: #fafafa;
	border-bottom: 1px solid var(--theme-border);
}
.theme-577-modal-body {
	padding: 16px 24px 24px;
	overflow-y: auto;
	flex: 1 1 auto;
}
.theme-577-size-guide-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 16px;
}
.theme-577-size-guide-table th,
.theme-577-size-guide-table td {
	padding: 12px 14px;
	text-align: center;
	border: 1px solid var(--theme-border);
}
.theme-577-size-guide-table th {
	background: var(--theme-dark);
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.theme-577-size-guide-table tbody tr:nth-child(odd) td { background: #fafafa; }
.theme-577-size-guide-table tbody tr:hover td { background: #fff3f0; }
.theme-577-size-guide-note {
	margin: 16px 0 0;
	padding: 12px;
	background: #fff8e6;
	border-left: 3px solid #f0a020;
	font-size: 13px;
	color: #6a4a00;
	border-radius: 3px;
}
.theme-577-size-guide-tabs {
	display: flex;
	border-bottom: 1px solid var(--theme-border);
	background: #fafafa;
}
.theme-577-size-guide-tab {
	flex: 1 1 0;
	padding: 12px 16px;
	background: transparent;
	border: 0;
	border-bottom: 3px solid transparent;
	font-size: 14px;
	font-weight: 600;
	color: var(--theme-text-light);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	cursor: pointer;
	transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.theme-577-size-guide-tab:hover { color: var(--theme-primary); background: #fff; }
.theme-577-size-guide-tab.is-active {
	color: var(--theme-primary);
	border-bottom-color: var(--theme-primary);
	background: #fff;
}
.theme-577-size-guide-panel[hidden] { display: none; }
.theme-577-size-guide-panel.is-active { display: block; }
body.theme-577-modal-open { overflow: hidden; }

@media (max-width: 600px) {
	.theme-577-modal { padding: 0; }
	.theme-577-modal-dialog { max-height: 100vh; height: 100%; border-radius: 0; }
	.theme-577-modal-title { font-size: 22px; padding: 18px 50px 8px 18px; }
	.theme-577-modal-logo { width: 32px; height: 32px; }
	.theme-577-size-guide-table { font-size: 14px; }
	.theme-577-size-guide-table th,
	.theme-577-size-guide-table td { padding: 9px 8px; }
}

/* ============================== Contact Us 页面 ============================== */
.theme-577-contact-hero {
	background: var(--theme-dark);
	color: #fff;
	padding: 60px 0;
	text-align: center;
}
.theme-577-contact-hero-title {
	margin: 0 0 12px;
	font-size: 36px;
	font-weight: 700;
	color: #fff;
}
.theme-577-contact-hero-subtitle {
	margin: 0 auto;
	max-width: 640px;
	font-size: 16px;
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.6;
}
.theme-577-contact-content {
	padding: 60px 0 80px;
	background: #f7f8fa;
}
.theme-577-contact-grid {
	display: grid;
	grid-template-columns: 380px 1fr;
	gap: 40px;
	align-items: start;
}
.theme-577-contact-info {
	background: #fff;
	border-radius: 8px;
	padding: 32px 28px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}
.theme-577-contact-info-item {
	display: flex;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px solid #eee;
}
.theme-577-contact-info-item:last-child { border-bottom: 0; }
.theme-577-contact-info-icon {
	flex: 0 0 44px;
	width: 44px; height: 44px;
	border-radius: 50%;
	background: rgba(238, 39, 30, 0.1);
	color: var(--theme-primary);
	display: flex; align-items: center; justify-content: center;
}
.theme-577-contact-info-text h3 {
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 700;
	color: var(--theme-dark);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.theme-577-contact-info-text p {
	margin: 0;
	font-size: 14px;
	color: var(--theme-text);
	line-height: 1.6;
}
.theme-577-contact-info-text a {
	color: var(--theme-text);
	text-decoration: none;
	transition: color 0.2s;
}
.theme-577-contact-info-text a:hover { color: var(--theme-primary); }

.theme-577-contact-form {
	background: #fff;
	border-radius: 8px;
	padding: 36px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}
.theme-577-contact-form-title {
	margin: 0 0 8px;
	font-size: 22px;
	font-weight: 700;
	color: var(--theme-dark);
}
.theme-577-contact-form-subtitle {
	margin: 0 0 24px;
	font-size: 14px;
	color: var(--theme-text-light);
	line-height: 1.6;
}
.theme-577-contact-form .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.theme-577-contact-form .wpcf7-form p {
	margin: 0;
}
.theme-577-contact-form .wpcf7-form input[type="text"],
.theme-577-contact-form .wpcf7-form input[type="email"],
.theme-577-contact-form .wpcf7-form input[type="tel"],
.theme-577-contact-form .wpcf7-form input[type="url"],
.theme-577-contact-form .wpcf7-form input[type="number"],
.theme-577-contact-form .wpcf7-form textarea,
.theme-577-contact-form .wpcf7-form select {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid #d8dde3;
	border-radius: 4px;
	font-size: 14px;
	background: #fff;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.theme-577-contact-form .wpcf7-form input:focus,
.theme-577-contact-form .wpcf7-form textarea:focus,
.theme-577-contact-form .wpcf7-form select:focus {
	border-color: var(--theme-primary);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(238, 39, 30, 0.12);
}
.theme-577-contact-form .wpcf7-form textarea { min-height: 120px; resize: vertical; }
.theme-577-contact-form .wpcf7-form input[type="submit"],
.theme-577-contact-form .wpcf7-form input[type="button"] {
	background: var(--theme-primary);
	color: #fff;
	border: 0;
	padding: 12px 28px;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-radius: 4px;
	cursor: pointer;
	transition: background 0.2s, transform 0.05s;
	width: auto;
	align-self: flex-start;
}
.theme-577-contact-form .wpcf7-form input[type="submit"]:hover { background: #c91d12; }
.theme-577-contact-form .wpcf7-form input[type="submit"]:active { transform: translateY(1px); }
.theme-577-contact-form .wpcf7-form .wpcf7-not-valid {
	border-color: #e53935 !important;
}
.theme-577-contact-form .wpcf7-form .wpcf7-not-valid-tip {
	color: #e53935;
	font-size: 12px;
	margin-top: 4px;
}
.theme-577-contact-form .wpcf7-form .wpcf7-response-output {
	margin: 12px 0 0;
	padding: 12px 16px;
	border-radius: 4px;
	font-size: 14px;
}
.theme-577-contact-form .wpcf7-form .wpcf7-mail-sent-ok {
	background: #e8f5e9;
	color: #2e7d32;
	border: 1px solid #2e7d32;
}
.theme-577-contact-form .wpcf7-form .wpcf7-validation-errors,
.theme-577-contact-form .wpcf7-form .wpcf7-mail-sent-ng,
.theme-577-contact-form .wpcf7-form .wpcf7-spam-blocked {
	background: #ffebee;
	color: #c62828;
	border: 1px solid #c62828;
}
.theme-577-contact-form-missing {
	padding: 20px;
	background: #fff8e6;
	border-left: 3px solid #f0a020;
	border-radius: 4px;
	color: #6a4a00;
	font-size: 14px;
}

@media (max-width: 900px) {
	.theme-577-contact-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.theme-577-contact-hero { padding: 40px 0; }
	.theme-577-contact-hero-title { font-size: 28px; }
	.theme-577-contact-content { padding: 32px 0 48px; }
	.theme-577-contact-form { padding: 24px; }
}
footer .newsletter-block p {
	color: #ccc;
	margin: 6px 0 18px;
	font-size: 14px;
}
footer .subscribe-form .subscribe-container {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
footer .subscribe-form input {
	padding: 12px 25px;
	border: 1px solid #fff;
	background: transparent;
	color: #fff;
	margin-bottom: 0;
	border-radius: 4px;
	font-size: 14px;
	min-width: 280px;
}
footer .subscribe-form input::placeholder { color: #ccc; }
footer .subscribe-form button {
	padding: 12px 28px;
	background: #fff;
	color: #333;
	border: 0;
	cursor: pointer;
	font-size: 13px;
	border-radius: 4px;
	transition: .25s;
	margin-top: 0;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: .04em;
}
footer .subscribe-form button:hover { background: #f0f0f0; }

/* 版权 */
footer .footer-copyright-wrapper {
	border-bottom: 0;
	display: flex;
	justify-content: center;
	padding: 18px 15px;
}
footer .footer-copyright-wrapper .service-block { padding: 10px; text-align: center; }
footer .footer-copyright-wrapper .service-details p {
	margin: 0;
	font-size: 13px;
	color: #ccc;
}

/* 桌面：Information / Policies 折叠菜单展开为两列并排显示（无折叠图标） */
@media (min-width: 769px) {
	footer .footer-acc-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 30px;
	}
	footer .footer-acc-item { border-bottom: 0; }
	footer .footer-acc-trigger {
		cursor: default;
		padding: 22px 0 12px;
		pointer-events: none;
	}
	footer .footer-acc-icon { display: none; }
	footer .footer-acc-panel {
		max-height: none !important;
		overflow: visible;
	}
	footer .footer-acc-panel .footer-links {
		padding: 0 0 12px;
	}
}

/* 移动端：3 列堆叠 */
@media (max-width: 768px) {
	footer .service-block-wrapper { flex-wrap: wrap; }
	footer .service-block-wrapper .service-block { flex: 1 1 100%; padding: 14px 0; }
	footer .service-block .service-icon { margin-bottom: 10px; }
	footer .subscribe-form input { min-width: 0; width: 100%; }
	footer .subscribe-form .subscribe-container { flex-direction: column; }
	footer .subscribe-form button { width: 100%; }
}

/* 返回顶部 */
.scroll-top {
	position: fixed; bottom: 30px; right: 30px;
	width: 40px; height: 40px;
	background: var(--theme-dark); color: #fff;
	border-radius: 3px;
	display: none; align-items: center; justify-content: center;
	cursor: pointer; z-index: 999;
	font-size: 20px;
}
.scroll-top.visible { display: flex; }
.scroll-top:hover { background: var(--theme-primary); }

/* ============ 兼容 WooCommerce 默认样式 ============ */
/* WooCommerce 默认 padding: 1em 2em 1em 3.5em + ::before left:1.5em(24px) 留出 icon 位置
   主题之前覆盖 padding: 15px 导致 ::before 图标落在 padding 内部与文字重叠
   修复：恢复 padding-left 给 icon 留位，桌面 50px、icon left 18px（与 border-left 3px 错开） */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	padding: 14px 20px 14px 50px !important; /* 左侧 50px：3px border + 14px gap + 18px icon + 15px 间隙 */
	background: #f8f8f8;
	border-left: 3px solid var(--theme-primary);
	border-top: 0;
	margin-bottom: 20px;
	position: relative;
	word-wrap: break-word;
}
.woocommerce-message { border-left-color: #5cb85c; }
.woocommerce-error { border-left-color: #d9534f; }
/* 调整 ::before icon 位置，避免和左边 border / 文字重叠 */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	left: 18px !important; /* 3px border + 15px gap，正好对齐 */
	top: 50% !important;
	transform: translateY(-50%);
	font-size: 16px !important;
}

/* 移动端筛选器触发 */
.filter-container.mobile-only { display: none; }
@media (max-width: 991px) {
	.filter-container.mobile-only { display: block; margin-bottom: 15px; }
	.side-column { display: none; }
	.side-column.show-mobile { display: block; position: fixed; top: 0; left: 0; bottom: 0; width: 280px; background: #fff; padding: 20px; overflow-y: auto; z-index: 9999; box-shadow: 2px 0 12px rgba(0,0,0,.2); }
	.filter-close-mobile { display: inline-block; }
	.you-may-also-like { margin: 15px 0; padding: 0 12px; }
	.you-may-also-like .module-products-253 { margin-top: 0; }
}
.filter-close-mobile { display: none; cursor: pointer; color: var(--theme-text-light); font-size: 20px; }

/* Unified compact product prices: current price first, original price second. */
:root { --theme-card-price-color: #171a1d; }
.product-layout .caption .featured-custom-text,
.product-layout.product-layout-shop .product-thumb .caption .featured-custom-text,
.featured-module-product-info .featured-custom-text,
.theme577-cart-rec-promo { color: var(--theme-card-price-color) !important; }
.product-layout .caption .price,
.product-layout .caption .price > div,
.product-layout.product-layout-shop .product-thumb .caption .price,
.product-layout.product-layout-shop .product-thumb .caption .price > div,
.featured-module-price,
.featured-module-price > div,
.theme577-cart-rec-price { color: var(--theme-card-price-color) !important; }
.product-layout .caption .price > div,
.product-layout.product-layout-shop .product-thumb .caption .price > div,
.featured-module-price > div,
.theme577-cart-rec-price,
.featured-module-price .featured-module-price-new,
.featured-module-price .price,
.featured-module-price .price-sale {
	display: flex !important;
	align-items: baseline;
	flex-wrap: wrap;
	column-gap: 6px;
	row-gap: 1px;
}
.product-layout .caption .price ins,
.product-layout.product-layout-shop .product-thumb .caption .price ins,
.featured-module-price ins,
.theme577-cart-rec-price ins,
.featured-module-price .price-new,
.product-layout .caption .price .price-new,
.theme577-cart-rec-price .price-new {
	order: 1;
	display: inline !important;
	margin: 0 !important;
	background: none !important;
	color: var(--theme-card-price-color) !important;
	font-weight: 700;
	text-decoration: none;
}
.product-layout .caption .price del,
.product-layout.product-layout-shop .product-thumb .caption .price del,
.featured-module-price del,
.theme577-cart-rec-price del,
.product-layout .caption .price .price-old,
.featured-module-price .price-old,
.theme577-cart-rec-price .price-old,
.featured-module-price .featured-module-price-old {
	order: 2;
	display: inline !important;
	margin: 0 !important;
	color: var(--theme-card-price-color) !important;
	font-size: .82em;
	font-weight: 400;
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}
.product-layout .caption .price .woocommerce-Price-amount,
.featured-module-price .woocommerce-Price-amount,
.theme577-cart-rec-price .woocommerce-Price-amount,
.woocommerce-cart-form .cart_item .woocommerce-Price-amount,
.cart-dropdown .woocommerce-mini-cart-item .quantity,
.cart-dropdown .woocommerce-mini-cart-item .quantity .woocommerce-Price-amount,
.cart-dropdown .total,
.cart-dropdown .total .woocommerce-Price-amount,
.cart-collaterals .cart_totals .woocommerce-Price-amount { color: var(--theme-card-price-color) !important; }

/* KI8 v6: compact SoccerSSP-style desktop header, bag icon and wide mega menus. */
.theme577-cart-bag-icon {
	display: inline-flex;
	width: 24px;
	height: 24px;
	align-items: center;
	justify-content: center;
}
.theme577-cart-bag-icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}
.mobile-cart-link { position: relative; }

@media (min-width: 992px) {
	.header-compact .mid-bar {
		gap: clamp(14px, 2vw, 30px);
		min-height: 78px;
		padding-right: clamp(18px, 2.3vw, 46px);
		padding-left: clamp(18px, 2.3vw, 46px);
	}
	.header-compact .desktop-logo-wrapper { flex: 0 0 auto; }
	.header-compact .desktop-main-menu-wrapper { min-width: 0; }
	#main-menu .j-menu.main-level {
		justify-content: center;
		gap: 2px;
		overflow: visible;
	}
	#main-menu .j-menu.main-level > li { position: static !important; }
	#main-menu .j-menu.main-level > li > a {
		min-height: 48px;
		padding: 0 clamp(8px, .85vw, 15px) !important;
		color: #252b30;
		font-size: clamp(13px, .78vw, 15px);
		font-weight: 500;
		line-height: 1.2;
		white-space: nowrap;
	}
	#main-menu .j-menu.main-level > li.menu-item-has-children > a::after,
	#main-menu .j-menu.main-level > li.mega-menu > a::after {
		content: "";
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: -3px 0 0 7px;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		transform: rotate(45deg);
		vertical-align: middle;
	}
	#main-menu .j-menu.main-level > li.menu-item-has-children > a,
	#main-menu .j-menu.main-level > li.mega-menu > a {
		cursor: pointer;
		user-select: none;
	}
	#main-menu .j-menu.main-level > li > .sub-menu,
	#main-menu .j-menu.main-level > li > .mega-menu-content {
		position: fixed !important;
		top: 114px !important;
		right: 16px !important;
		left: 16px !important;
		display: none !important;
		visibility: hidden !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		max-height: calc(100vh - 130px);
		margin: 0 !important;
		padding: 30px clamp(34px, 8vw, 170px) 36px !important;
		overflow-y: auto;
		grid-template-columns: repeat(4, minmax(170px, 1fr));
		gap: 22px 46px;
		border: 1px solid #e8ebed !important;
		border-radius: 0 !important;
		background: #fff !important;
		box-shadow: 0 20px 38px rgba(22, 29, 35, .12) !important;
		opacity: 0 !important;
		transform: none !important;
		z-index: 10020 !important;
	}
	body.admin-bar #main-menu .j-menu.main-level > li > .sub-menu,
	body.admin-bar #main-menu .j-menu.main-level > li > .mega-menu-content { top: 146px !important; }
	#main-menu .j-menu.main-level > li.theme577-desktop-menu-open > .sub-menu,
	#main-menu .j-menu.main-level > li.theme577-desktop-menu-open > .mega-menu-content {
		display: grid !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	#main-menu .j-menu.main-level > li.theme577-desktop-menu-open > a {
		color: var(--theme-primary, #ef5042);
		background: #f6f7f8;
	}
	#main-menu .j-menu.main-level > li.theme577-desktop-menu-open.menu-item-has-children > a::after,
	#main-menu .j-menu.main-level > li.theme577-desktop-menu-open.mega-menu > a::after {
		margin-top: 3px;
		transform: rotate(225deg);
	}
	#main-menu .j-menu.main-level > li > .sub-menu > li,
	#main-menu .mega-menu-content li { position: static !important; }
	#main-menu .j-menu.main-level > li > .sub-menu > li > a,
	#main-menu .mega-menu-content .module-title,
	#main-menu .mega-menu-content .title {
		display: flex;
		align-items: center;
		gap: 8px;
		padding: 3px 0 9px !important;
		color: #20262b !important;
		font-size: 14px !important;
		font-weight: 700 !important;
	}
	#main-menu .j-menu.main-level > li > .sub-menu > li > .sub-menu,
	#main-menu .mega-menu-content .sub-menu {
		position: static !important;
		display: block !important;
		visibility: visible !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
	#main-menu .j-menu.main-level > li > .sub-menu > li > .sub-menu a,
	#main-menu .mega-menu-content .sub-menu a {
		display: flex !important;
		align-items: center;
		gap: 8px;
		padding: 5px 0 !important;
		color: #5f676e !important;
		font-size: 13px !important;
		font-weight: 400 !important;
		line-height: 1.35;
	}
	#main-menu .sub-menu img,
	#main-menu .mega-menu-content img { max-width: 22px; max-height: 22px; object-fit: contain; }
	.header-cart-group { flex: 0 0 auto; gap: 13px; }
	.desktop-cart-wrapper #cart .cart-heading {
		position: relative;
		display: inline-flex;
		width: 42px;
		height: 42px;
		padding: 0 !important;
		align-items: center;
		justify-content: center;
		border: 0 !important;
		background: transparent !important;
		color: #27313a;
	}
	.desktop-cart-wrapper #cart .cart-heading:hover { color: var(--theme-primary, #ef5042); }
	.desktop-cart-wrapper #cart .cart-heading .cart-text { display: none !important; }
	.desktop-cart-wrapper #cart .cart-heading #cart-items {
		position: absolute;
		top: 1px;
		right: -1px;
		min-width: 18px;
		height: 18px;
		padding: 0 5px;
		border-radius: 10px;
		background: var(--theme-primary, #ef5042);
		color: #fff;
		font-size: 10px;
		font-weight: 700;
		line-height: 18px;
		text-align: center;
	}
	.desktop-cart-wrapper #cart .cart-heading #cart-items.count-zero { display: none; }

	/* Real plugin-owned currency controls. No hard-coded currency options are
	   rendered by the theme; the provider remains responsible for conversion. */
	.theme577-desktop-localization .theme577-currency-provider,
	.theme577-desktop-localization .theme577-currency-provider > div,
	.theme577-desktop-localization .theme577-currency-provider form,
	.theme577-desktop-localization .theme577-wcpay-switcher {
		display: flex !important;
		align-items: center;
		height: 36px;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
	}
	.theme577-desktop-localization .theme577-currency-provider label,
	.theme577-desktop-localization .theme577-currency-provider .widget-title { display: none !important; }
	.theme577-desktop-localization .theme577-currency-provider select {
		min-width: 88px;
		max-width: 150px;
		margin: 0 !important;
		box-shadow: none !important;
	}
	.theme577-desktop-localization .theme577-currency-provider button,
	.theme577-desktop-localization .theme577-currency-provider input[type="submit"] { display: none !important; }
}

@media (min-width: 992px) and (max-width: 1199px) {
	#main-menu .j-menu.main-level > li > .sub-menu,
	#main-menu .j-menu.main-level > li > .mega-menu-content {
		grid-template-columns: repeat(3, minmax(150px, 1fr));
		padding-right: 34px !important;
		padding-left: 34px !important;
	}
}


/* ==========================================================================
 * KI8 v11 - SoccerSSP-style desktop mega menu
 * --------------------------------------------------------------------------
 * 1) Each league occupies one grid column.
 * 2) Team lists inside a league are always ONE vertical column.
 * 3) Do not auto-split Bundesliga / Premier League etc. into 2/3 columns.
 * 4) Wide desktop uses five league columns, matching the reference layout.
 * ========================================================================== */
@media (min-width: 992px) {
	#main-menu .j-menu.main-level > li > .sub-menu,
	#main-menu .j-menu.main-level > li > .mega-menu-content {
		grid-template-columns: repeat(5, minmax(165px, 1fr)) !important;
		column-gap: clamp(24px, 2.3vw, 42px) !important;
		row-gap: 28px !important;
		padding: 30px clamp(28px, 4.6vw, 78px) 38px !important;
	}

	/* A league heading is one grid cell/column. */
	#main-menu .j-menu.main-level > li > .sub-menu > li,
	#main-menu .mega-menu-content > li,
	#main-menu .mega-menu-content .grid-item {
		min-width: 0 !important;
	}

	/* Critical: nested team lists never become multi-column/flex lists. */
	#main-menu .j-menu.main-level > li > .sub-menu > li > .sub-menu,
	#main-menu .j-menu.main-level > li > .sub-menu > li > .sub-menu.sub-menu-multicol,
	#main-menu .mega-menu-content .sub-menu,
	#main-menu .mega-menu-content .sub-menu.sub-menu-multicol {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		padding: 0 !important;
		margin: 0 !important;
		columns: 1 !important;
		column-count: 1 !important;
		column-width: auto !important;
		flex-flow: column nowrap !important;
	}

	#main-menu .j-menu.main-level > li > .sub-menu > li > .sub-menu > li,
	#main-menu .j-menu.main-level > li > .sub-menu > li > .sub-menu.sub-menu-multicol > li.menu-item,
	#main-menu .mega-menu-content .sub-menu > li,
	#main-menu .mega-menu-content .sub-menu.sub-menu-multicol > li.menu-item {
		display: block !important;
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex: 0 0 auto !important;
		break-inside: avoid !important;
	}

	/* Reference site keeps club name and club icon on a single visual row. */
	#main-menu .j-menu.main-level > li > .sub-menu > li > .sub-menu > li > a,
	#main-menu .mega-menu-content .sub-menu > li > a {
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
		width: 100% !important;
		min-height: 28px;
		padding: 4px 0 !important;
		white-space: nowrap !important;
		overflow: visible !important;
		text-overflow: clip !important;
	}
}

/* Slightly narrower desktops: four league columns so labels still stay on one line. */
@media (min-width: 992px) and (max-width: 1199px) {
	#main-menu .j-menu.main-level > li > .sub-menu,
	#main-menu .j-menu.main-level > li > .mega-menu-content {
		grid-template-columns: repeat(4, minmax(165px, 1fr)) !important;
		column-gap: 26px !important;
		padding-right: 28px !important;
		padding-left: 28px !important;
	}
}


/* ========================================================================== 
 * KI8 v12 - Stable SoccerSSP hover mega menu bugfix
 * --------------------------------------------------------------------------
 * Fixes a legacy specificity conflict where :hover changed the top panel from
 * grid to flex. The panel now keeps exactly the same layout before/after hover.
 * ========================================================================== */
@media (min-width: 992px) {
    #main-menu .j-menu.main-level > li.menu-item > .sub-menu,
    #main-menu .j-menu.main-level > li.menu-item > .sub-menu.sub-menu-multicol,
    #main-menu .j-menu.main-level > li.menu-item > .mega-menu-content {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }

    #main-menu .j-menu.main-level > li.menu-item:hover > .sub-menu,
    #main-menu .j-menu.main-level > li.menu-item:hover > .sub-menu.sub-menu-multicol,
    #main-menu .j-menu.main-level > li.menu-item:hover > .mega-menu-content,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > .sub-menu,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > .sub-menu.sub-menu-multicol,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > .mega-menu-content {
        display: grid !important;
        visibility: visible !important;
        opacity: 1 !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        align-items: start !important;
    }

    #main-menu .j-menu.main-level > li.menu-item:hover > a,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > a {
        color: var(--theme-primary, #ef5042) !important;
        background: #f6f7f8 !important;
    }

    #main-menu .j-menu.main-level > li.menu-item:hover > .sub-menu > li,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > .sub-menu > li,
    #main-menu .j-menu.main-level > li.menu-item:hover > .mega-menu-content .grid-item,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > .mega-menu-content .grid-item {
        position: static !important;
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        float: none !important;
    }

    #main-menu .j-menu.main-level > li.menu-item:hover > .sub-menu > li.menu-item > .sub-menu,
    #main-menu .j-menu.main-level > li.menu-item:hover > .sub-menu > li.menu-item:hover > .sub-menu,
    #main-menu .j-menu.main-level > li.menu-item:hover > .sub-menu > li.menu-item > .sub-menu.sub-menu-multicol,
    #main-menu .j-menu.main-level > li.menu-item:hover > .sub-menu > li.menu-item:hover > .sub-menu.sub-menu-multicol,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > .sub-menu > li.menu-item > .sub-menu,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > .sub-menu > li.menu-item > .sub-menu.sub-menu-multicol,
    #main-menu .j-menu.main-level > li.menu-item:hover > .mega-menu-content .sub-menu,
    #main-menu .j-menu.main-level > li.menu-item:hover > .mega-menu-content .sub-menu.sub-menu-multicol,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > .mega-menu-content .sub-menu,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > .mega-menu-content .sub-menu.sub-menu-multicol {
        position: static !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
        columns: 1 !important;
        column-count: 1 !important;
        column-width: auto !important;
        flex: none !important;
        flex-flow: column nowrap !important;
    }

    #main-menu .j-menu.main-level > li.menu-item:hover > .sub-menu > li.menu-item > .sub-menu > li.menu-item,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > .sub-menu > li.menu-item > .sub-menu > li.menu-item,
    #main-menu .j-menu.main-level > li.menu-item:hover > .mega-menu-content .sub-menu > li.menu-item,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > .mega-menu-content .sub-menu > li.menu-item {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        float: none !important;
        flex: none !important;
    }

    #main-menu .j-menu.main-level > li.menu-item:hover > .sub-menu > li.menu-item > .sub-menu > li.menu-item > a,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > .sub-menu > li.menu-item > .sub-menu > li.menu-item > a,
    #main-menu .j-menu.main-level > li.menu-item:hover > .mega-menu-content .sub-menu > li.menu-item > a,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > .mega-menu-content .sub-menu > li.menu-item > a {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 28px !important;
        padding: 4px 0 !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    #main-menu .j-menu.main-level > li.menu-item:hover > .sub-menu,
    #main-menu .j-menu.main-level > li.menu-item:hover > .sub-menu.sub-menu-multicol,
    #main-menu .j-menu.main-level > li.menu-item:hover > .mega-menu-content,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > .sub-menu,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > .sub-menu.sub-menu-multicol,
    #main-menu .j-menu.main-level > li.menu-item:focus-within > .mega-menu-content {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}
