/**
 * Qing 自定义小部件样式
 *   - 透明页眉（.qing-th）
 *   - 轮播展示（.qing-carousel）
 *   - 产品展示（.qing-products）
 */

/* =============================================================
   透明页眉 Transparent Header
   ============================================================= */
/* 始终 fixed：初始与吸顶状态的定位参照物都是视口，宽度完全一致，滚动时不会跳变 */
.qing-th {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	width: 100%;
	background: transparent;
}

/* 透明页眉是 fixed 脱离文档流，包裹它的 Elementor 头部容器不应再占位，
   否则会在页面顶部留下一条空白带。这里把容器高度/内边距归零。 */
.elementor-location-header .elementor-widget-qing_transparent_header,
.elementor-location-header .elementor-widget-qing_transparent_header .elementor-widget-container {
	height: 0;
	min-height: 0;
	padding: 0;
	margin: 0;
	line-height: 0;
}

.elementor-location-header .elementor-element.e-con:has(.elementor-widget-qing_transparent_header),
.elementor-location-header .elementor-element.e-con:has(.elementor-widget-qing_transparent_header) > .e-con-inner {
	min-height: 0;
	padding-top: 0;
	padding-bottom: 0;
}

/* 背景层：独立于内容，用透明度渐显，滚动时背景自然浮现 */
.qing-th::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: rgba(20, 20, 20, 0.55);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: 0 2px 20px rgba(0, 0, 0, 0.12);
	opacity: 0;
	transition: opacity 0.5s ease;
	pointer-events: none;
}

/* 吸顶：仅让背景层渐显，定位与宽度都不变 */
.qing-th.is-sticky::before {
	opacity: 1;
}

.qing-th-inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 16px 32px;
	box-sizing: border-box;
}

/* Logo */
.qing-th-logo {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}

.qing-th-logo a {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.qing-th-logo img {
	display: block;
	height: 44px;
	width: auto;
	object-fit: contain;
}

.qing-th-sitename {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.5px;
}

/* 菜单 */
.qing-th-nav {
	flex: 1 1 auto;
	display: flex;
	justify-content: center;
}

/* 同时兼容已分配菜单（.qing-th-menu）与未分配时的 wp_page_menu 回退（.qing-th-nav div > ul） */
.qing-th-menu,
.qing-th-nav ul {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.qing-th-menu li,
.qing-th-nav ul li {
	position: relative;
	margin: 0;
	list-style: none;
}

.qing-th-menu a,
.qing-th-nav ul a {
	display: block;
	padding: 10px 16px;
	font-size: 15px;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	opacity: 0.92;
	transition: opacity 0.2s ease;
}

.qing-th-menu a:hover,
.qing-th-nav ul a:hover {
	opacity: 1;
}

/* 有子菜单的父项：文字后加下拉箭头（自定义 SVG） */
.qing-th-menu .menu-item-has-children > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.qing-th-menu .menu-item-has-children > a::after {
	content: "";
	width: 12px;
	height: 12px;
	flex: 0 0 auto;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") center / contain no-repeat;
	transition: transform 0.2s ease;
}

.qing-th-menu .menu-item-has-children:hover > a::after {
	transform: rotate(180deg);
}

/* 子菜单：白底、深色文字、悬停项黑底白字（与设计图一致） */
.qing-th-menu .sub-menu {
	display: block;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	margin: 0;
	padding: 10px;
	list-style: none;
	background: #fff;
	border-radius: 0;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.qing-th-menu li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.qing-th-menu .sub-menu li {
	display: block;
	width: 100%;
}

.qing-th .qing-th-menu .sub-menu a {
	display: block;
	padding: var(--qing-submenu-pad, 12px 18px);
	color: var(--qing-submenu-color, #000) !important;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	opacity: 1;
	border-radius: 0;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.qing-th .qing-th-menu .sub-menu a:hover {
	background: var(--qing-submenu-hover-bg, #000) !important;
	color: var(--qing-submenu-hover-color, #fff) !important;
}

/* 右侧功能 */
.qing-th-actions {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 12px;
	position: relative;
}

.qing-th-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 8px;
	background: transparent;
	border: 0;
	border-radius: 6px;
	cursor: pointer;
	font-size: 13px;
	line-height: 1;
	color: inherit;
	transition: background 0.2s ease;
}

.qing-th-icon:hover {
	background: rgba(255, 255, 255, 0.12);
}

.qing-th-icon svg {
	display: block;
}

/* 桌面端（>900px）强制隐藏移动端侧边栏，避免切换视口时残留显示 */
@media (min-width: 901px) {
	.qing-th-offcanvas {
		display: none !important;
	}
}

/* 汉堡按钮：默认（桌面）隐藏，移动端显示 */
.qing-th-burger {
	display: none;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	padding: 6px;
	margin: 0;
	background: transparent;
	border: 0;
	cursor: pointer;
	color: #d4a24e;
}

.qing-th-burger svg {
	display: block;
}

/* =============================================================
   移动端侧边栏 Off-canvas
   ============================================================= */
.qing-th-offcanvas {
	position: fixed;
	inset: 0;
	z-index: 100001;
	visibility: hidden;
	pointer-events: none;
}

.qing-th-offcanvas.is-open {
	visibility: visible;
	pointer-events: auto;
}

.qing-th-offcanvas-backdrop {
	position: absolute;
	inset: 0;
	background: transparent;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.qing-th-offcanvas.is-open .qing-th-offcanvas-backdrop {
	opacity: 1;
}

/* 半透明侧边栏面板，从右侧滑入 */
.qing-th-offcanvas-panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 86%;
	max-width: 380px;
	display: flex;
	flex-direction: column;
	background: rgba(255, 255, 255, 0.9);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	box-shadow: -4px 0 30px rgba(0, 0, 0, 0.15);
	transform: translateX(100%);
	transition: transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1);
	overflow: hidden;
}

.qing-th-offcanvas.is-open .qing-th-offcanvas-panel {
	transform: translateX(0);
}

/* 第一层：关闭按钮，单独占一行，靠右对齐 */
.qing-th-offcanvas-close {
	flex: 0 0 auto;
	align-self: flex-end;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 12px 12px 0;
	padding: 0;
	color: #888;
	background: transparent;
	border: 0;
	cursor: pointer;
	transition: color 0.2s ease;
}

.qing-th-offcanvas-close:hover {
	color: #1a1a1a;
}

/* 第二层：搜索框，独立一行，左右对称铺满 */
.qing-th-offcanvas-search {
	display: flex;
	align-items: stretch;
	margin: 4px 24px 12px;
	flex: 0 0 auto;
}

.qing-th-offcanvas-search input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	padding: 12px 14px;
	font-size: 15px;
	color: #1a1a1a;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.5);
	border-right: 0;
	border-radius: 0;
	outline: none;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
}

.qing-th-offcanvas-search-submit {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	padding: 0;
	color: #fff;
	background: #000;
	border: 0;
	border-radius: 0;
	cursor: pointer;
}

.qing-th-offcanvas-search-submit svg {
	stroke: #fff;
	color: #fff;
}

/* 彻底去掉搜索表单及其所有子元素的轮廓/阴影（含各种聚焦状态） */
.qing-th-offcanvas-search,
.qing-th-offcanvas-search *,
.qing-th-offcanvas-search:focus,
.qing-th-offcanvas-search:focus-within,
.qing-th-offcanvas-search *:focus,
.qing-th-offcanvas-search *:focus-visible,
.qing-th-offcanvas-search *:focus-within {
	outline: 0 none !important;
	box-shadow: none !important;
}

/* 菜单区：占满搜索框与底部 logo 之间的剩余空间，主菜单可独立滚动 */
.qing-th-offcanvas-nav {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

.qing-th-mobile-menu {
	list-style: none;
	margin: 0;
	padding: 24px 0;
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.qing-th-mobile-menu li {
	list-style: none;
	margin: 0;
}

.qing-th-mobile-menu a {
	display: block;
	color: #1a1a1a;
	text-decoration: none;
}

/* 一级菜单项默认内边距（仅作用于顶级项，子菜单单独设置，避免压过编辑器自定义值） */
.qing-th-mobile-menu > li > a {
	padding: 14px 24px;
}

/* 顶级菜单项默认字体样式（与编辑器控件默认值保持一致；控件设定值具更高优先级会覆盖此处） */
.qing-th-mobile-menu > li > a {
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

/* 子菜单项默认字体样式 */
.qing-th-mobile-menu .sub-menu a {
	font-size: 15px;
	letter-spacing: 0;
	text-transform: none;
}

/* 有子菜单的项：显示右侧箭头 */
.qing-th-mobile-menu .menu-item-has-children > a {
	position: relative;
	padding-right: 48px;
}

.qing-th-mobile-submenu-arrow {
	position: absolute;
	top: 50%;
	right: 24px;
	transform: translateY(-50%);
	display: inline-flex;
	color: #999;
	pointer-events: none;
}

/* 子菜单面板：作为独立面板覆盖整个侧边栏，从右侧滑入 */
.qing-th-mobile-menu .sub-menu {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 24px 0;
	list-style: none;
	background: rgba(255, 255, 255, 0.9);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transform: translateX(100%);
	visibility: hidden;
	transition: transform 0.3s ease, visibility 0.3s ease;
	z-index: 4;
}

.qing-th-mobile-menu .sub-menu.is-active {
	transform: translateX(0);
	visibility: visible;
}

.qing-th-mobile-menu .sub-menu a {
	font-weight: 400;
	padding: 12px 24px;
}

/* 子菜单返回标题「< PARENT」 */
.qing-th-mobile-back {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 14px 24px;
	margin-bottom: 6px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #1a1a1a;
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	cursor: pointer;
	text-align: left;
}

.qing-th-mobile-back svg {
	flex: 0 0 auto;
}

/* 底部 logo：始终固定在面板最底部 */
.qing-th-offcanvas-logo {
	flex: 0 0 auto;
	margin-top: auto;
	padding: 20px 24px 28px;
	text-align: center;
}

.qing-th-offcanvas-logo img {
	display: inline-block;
	width: auto;
	height: auto;
	max-width: 30%;
	border: none;
	border-radius: 0;
	box-shadow: none;
	object-fit: contain;
}

.qing-th-offcanvas-logo .qing-th-sitename {
	color: #1a1a1a;
}

/* 侧边栏打开时锁定页面滚动 */
body.qing-th-offcanvas-lock {
	overflow: hidden;
}

/* 搜索蒙版：点击搜索图标后全屏居中展开 */
.qing-th-search-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(0, 0, 0, 0.6);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.qing-th-search-overlay.is-open {
	opacity: 1;
	visibility: visible;
}

/* 右上角关闭按钮 */
.qing-th-search-close {
	position: absolute;
	top: 28px;
	right: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	color: #fff;
	background: transparent;
	border: 0;
	cursor: pointer;
	opacity: 0.85;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.qing-th-search-close:hover {
	opacity: 1;
	transform: rotate(90deg);
}

/* 居中搜索框：输入框 + 方形提交按钮 */
.qing-th-search-box {
	display: flex;
	align-items: stretch;
	width: 640px;
	max-width: 100%;
	transform: translateY(12px);
	transition: transform 0.3s ease;
}

.qing-th-search-overlay.is-open .qing-th-search-box {
	transform: translateY(0);
}

.qing-th-search-box input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	padding: 18px 24px;
	font-size: 18px;
	color: #1a1a1a;
	background: #fff;
	border: 0;
	outline: none;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
}

.qing-th-search-submit {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	padding: 0;
	color: #fff;
	background: #d4a24e;
	border: 0;
	border-radius: 0;
	cursor: pointer;
	transition: filter 0.2s ease;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

.qing-th-search-submit:hover {
	filter: brightness(1.08);
}

.qing-th-search-submit svg {
	display: block;
	width: 30px;
	height: 30px;
}

/* 蒙版开启时锁定页面滚动 */
body.qing-th-search-lock {
	overflow: hidden;
}

/* 语言切换 */
.qing-th-lang {
	position: relative;
}

.qing-th-lang-toggle {
	white-space: nowrap;
	letter-spacing: 0.5px;
}

/* 语言下拉：悬停显示，白底黑字、悬停项黑底白字（与子菜单一致） */
.qing-th-lang-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	width: -webkit-max-content;
	width: max-content;
	min-width: 0;
	margin: 0;
	padding: 6px 0;
	list-style: none;
	background: #fff;
	border-radius: 0;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.16);
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 8px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
	z-index: 20;
}

/* 悬停容器或键盘聚焦 / JS 点击（.is-open）时展开 */
.qing-th-lang:hover .qing-th-lang-menu,
.qing-th-lang:focus-within .qing-th-lang-menu,
.qing-th-lang.is-open .qing-th-lang-menu {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}

.qing-th-lang-item {
	display: block;
	width: 100%;
}

.qing-th .qing-th-lang-item a {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	padding: 8px 14px;
	color: #000 !important;
	line-height: 1;
	text-transform: none;
	white-space: nowrap;
	opacity: 1;
	border-radius: 0;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.qing-th .qing-th-lang-item a span {
	color: #000 !important;
}

.qing-th-lang-flag {
	flex: 0 0 auto;
	width: 18px;
	height: 12px;
	object-fit: cover;
	display: block;
	border-radius: 0;
}

.qing-th-lang-item a:hover {
	background: rgba(0, 0, 0, 0.06);
}

.qing-th-lang-item.is-current a {
	background: rgba(0, 0, 0, 0.04);
}

/* =============================================================
   轮播展示 Carousel
   ============================================================= */
.qing-carousel {
	--qing-carousel-per-view: 3;
	position: relative;
	width: 100%;
}

.qing-carousel-viewport {
	overflow: hidden;
	width: 100%;
}

/* 轨道：切换时整体淡入淡出（不做横向滑动，用透明度闪切） */
.qing-carousel-track {
	display: flex;
	gap: 0;
	will-change: opacity;
	transition: opacity 0.45s ease;
}

.qing-carousel-track.is-fading {
	opacity: 0;
}

/* 每张卡片按「每屏显示数量」等分 */
.qing-carousel-card {
	position: relative;
	flex: 0 0 calc(100% / var(--qing-carousel-per-view));
	max-width: calc(100% / var(--qing-carousel-per-view));
	height: 460px;
	overflow: hidden;
	text-decoration: none;
	display: block;
	background: #e9e9e9;
}

/* 图片作为背景，悬停略微放大 */
.qing-carousel-img {
	position: absolute;
	inset: 0;
	display: block;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: transform 0.6s ease;
}

.qing-carousel-card:hover .qing-carousel-img {
	transform: scale(1.06);
}

/* 黑色半透明蒙版：默认隐藏，悬停时淡入 */
.qing-carousel-dim {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	opacity: 0;
	transition: opacity 0.4s ease;
	pointer-events: none;
	z-index: 1;
}

.qing-carousel-card:hover .qing-carousel-dim {
	opacity: 1;
}

/* 文字：仅悬停淡入；垂直居中，水平位置由内边距 / 对齐控制 */
.qing-carousel-caption {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center; /* 垂直居中 */
	gap: 0; /* 两行间距完全由「两行文字间距」控件决定 */
	padding: 0 32px;
	text-align: center;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.45s ease, transform 0.45s ease;
	pointer-events: none;
}

.qing-carousel-card:hover .qing-carousel-caption {
	opacity: 1;
	transform: translateY(0);
}

.qing-carousel-subtitle {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 2px;
	line-height: 1.1;
	margin: 0;
	color: #fff;
	text-transform: uppercase;
}

.qing-carousel-title {
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 3px;
	line-height: 1.1;
	margin: 0;
	color: #fff;
	text-transform: uppercase;
}

/* 左右导航：细圆环 SVG，位于两侧边缘 */
.qing-carousel-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	color: #fff;
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 50%;
	opacity: 0.85;
	cursor: pointer;
	transition: opacity 0.2s ease, background 0.2s ease;
}

.qing-carousel-arrow svg {
	width: 55%;
	height: 55%;
	display: block;
}

.qing-carousel-arrow:hover {
	opacity: 1;
	background: rgba(255, 255, 255, 0.12);
}

.qing-carousel-arrow.is-disabled {
	opacity: 0.3;
	cursor: default;
	pointer-events: none;
}

.qing-carousel-prev {
	left: 18px;
}

.qing-carousel-next {
	right: 18px;
}

/* 分页器：横线条，位于底部居中 */
.qing-carousel-dots {
	position: absolute;
	left: 50%;
	bottom: 22px;
	transform: translateX(-50%);
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

/* 未选中：纯空心圆环（4px 粗边框，中间空心） */
.qing-carousel-dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 2px solid rgba(255, 255, 255, 0.9);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: width 0.28s ease, height 0.28s ease, border-width 0.28s ease, border-radius 0.28s ease, background 0.28s ease;
}

/* 选中：白色细横条（高 5px） */
.qing-carousel-dot.is-active {
	width: 34px;
	height: 5px;
	border-width: 0;
	border-radius: 3px;
	background: #fff;
}

/* =============================================================
   产品展示 Product Grid
   ============================================================= */
.qing-products {
	--qing-products-columns: 4;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.qing-products-grid {
	display: grid;
	grid-template-columns: repeat(var(--qing-products-columns), minmax(0, 1fr));
	gap: 28px;
}

.qing-product-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	min-width: 0; /* 防止网格项因内容撑破列宽导致溢出 */
}

.qing-product-thumb {
	display: block;
	width: 100%;
	overflow: hidden;
	border-radius: 0; /* 默认无圆角，由「图片圆角」控件控制 */
	background: #f5f5f5;
}

.qing-product-thumb img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: transform 0.4s ease;
}

/* 仅在开启「图片悬停放大」时缩放 */
.qing-products--zoom .qing-product-card:hover .qing-product-thumb img,
.qing-rel--zoom .qing-product-card:hover .qing-product-thumb img {
	transform: scale(1.05);
}

/* 悬停显示画廊图片：第二张图叠在主图上，悬停淡入 */
.qing-product-thumb {
	position: relative;
}

.qing-product-thumb-hover {
	position: absolute;
	inset: 0;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.4s ease;
	pointer-events: none;
}

.qing-product-thumb-hover img {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
}

.qing-product-card:hover .qing-product-thumb-hover {
	opacity: 1;
}

/* 标题：完整显示不裁剪，居中 */
.qing-product-title {
	display: block;
	width: 100%;
	margin-top: 14px;
	font-size: 15px;
	line-height: 1.5;
	color: #1a1a1a;
	text-decoration: none;
	text-align: center;
	overflow: visible;
	overflow-wrap: break-word;
	word-wrap: break-word;
	word-break: break-word;
}

.qing-product-title:hover {
	text-decoration: underline;
}

/* 自定义 SVG 星级：始终 5 颗，居中，按评分比例填充 */
.qing-product-rating {
	--qing-star-size: 16px;
	--qing-star-color: #d4a24e;
	margin-top: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 18px;
	color: var(--qing-star-color);
}

.qing-product-stars-wrap {
	position: relative;
	display: inline-block;
	line-height: 0;
}

.qing-product-stars {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	line-height: 0;
	white-space: nowrap;
}

/* 实心层覆盖在空心层之上，用 width 百分比裁剪出评分 */
.qing-product-stars--full {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	width: 0;
}

.qing-product-stars svg {
	width: var(--qing-star-size);
	height: var(--qing-star-size);
	display: block;
	flex: 0 0 auto;
	color: var(--qing-star-color);
}

.qing-product-price {
	margin-top: 8px;
	font-size: 16px;
	font-weight: 600;
	color: #1a1a1a;
	text-align: center;
	width: 100%;
}

.qing-product-price del {
	margin-right: 6px;
	font-weight: 400;
	opacity: 0.55;
}

.qing-product-price ins {
	text-decoration: none;
}

.qing-products-empty {
	padding: 40px 0;
	text-align: center;
	color: #888;
}

/* 圆形数字分页器 */
.qing-products-pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 36px;
}

.qing-products-pager .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box !important;
	width: 40px !important;
	min-width: 40px !important;
	max-width: 40px !important;
	height: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	aspect-ratio: 1 / 1 !important;
	padding: 0 !important;
	line-height: 1 !important;
	flex: 0 0 auto !important;
	font-size: 14px;
	color: #1a1a1a;
	text-decoration: none;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 50%;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.qing-products-pager .page-numbers:hover {
	border-color: #1a1a1a;
}

.qing-products-pager .page-numbers.current {
	color: #fff;
	background: #000;
	border-color: #000;
}

.qing-products-pager .page-numbers.dots {
	border: 0;
	background: transparent;
}

/* 左右导航：自定义 SVG 图标 */
.qing-products-pager .page-numbers.prev,
.qing-products-pager .page-numbers.next {
	color: #1a1a1a;
}

.qing-products-pager .page-numbers.prev svg,
.qing-products-pager .page-numbers.next svg {
	width: 16px;
	height: 16px;
	display: block;
}

.qing-products-pager .page-numbers.prev:hover,
.qing-products-pager .page-numbers.next:hover {
	background: #000;
	border-color: #000;
	color: #fff;
}

/* =============================================================
   响应式
   ============================================================= */
/* 列数由小部件响应式「列数」控件控制（桌面/平板/手机分别设置） */

@media (max-width: 900px) {
	/* 移动端三栏：汉堡（左） / Logo（居中） / 搜索（右） */
	.qing-th-burger {
		display: inline-flex;
		order: 1;
	}

	.qing-th-logo {
		order: 2;
		flex: 1 1 auto;
		justify-content: center;
	}

	.qing-th-actions {
		order: 3;
	}

	/* 桌面横向菜单与语言切换在移动端隐藏 */
	.qing-th-nav,
	.qing-th-lang {
		display: none;
	}

	.qing-carousel-prev {
		left: 4px;
	}

	.qing-carousel-next {
		right: 4px;
	}
}

@media (max-width: 768px) {
	/* 手机端缩小间距避免溢出（列数由控件设置） */
	.qing-products-grid {
		gap: 14px;
	}
}


/* =============================================================
   相关产品轮播 Related Products Carousel
   ============================================================= */
.qing-rel {
	--qing-rel-per-view: 4;
	--qing-rel-gap: 24px;
	position: relative;
	width: 100%;
}

/* 视口留出两侧空间给外部箭头 */
.qing-rel-viewport {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.qing-rel-track {
	display: flex;
	gap: var(--qing-rel-gap);
	will-change: transform;
}

/* 每张卡片按每屏数量等分，扣除间距 */
.qing-rel-card {
	flex: 0 0 calc((100% - (var(--qing-rel-per-view) - 1) * var(--qing-rel-gap)) / var(--qing-rel-per-view));
	max-width: calc((100% - (var(--qing-rel-per-view) - 1) * var(--qing-rel-gap)) / var(--qing-rel-per-view));
	box-sizing: border-box;
}

/* 悬停效果（可开关）：整个轮播最左 / 最右两侧的渐变阴影 */
.qing-rel.has-hover-effect {
	--qing-rel-shadow: rgba(0, 0, 0, 0.16);
}

.qing-rel.has-hover-effect .qing-rel-viewport::before,
.qing-rel.has-hover-effect .qing-rel-viewport::after {
	content: "";
	position: absolute;
	top: 0;
	height: var(--qing-rel-img-h, 100%); /* 仅覆盖图片高度，不覆盖下方文字 */
	width: 10px;
	z-index: 5;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s ease;
}

.qing-rel.has-hover-effect .qing-rel-viewport::before {
	left: 0;
	background: linear-gradient(to right, var(--qing-rel-shadow), rgba(0, 0, 0, 0));
}

.qing-rel.has-hover-effect .qing-rel-viewport::after {
	right: 0;
	background: linear-gradient(to left, var(--qing-rel-shadow), rgba(0, 0, 0, 0));
}

.qing-rel.has-hover-effect:hover .qing-rel-viewport::before,
.qing-rel.has-hover-effect:hover .qing-rel-viewport::after {
	opacity: 1;
}

/* 左右导航：位于两侧外部，默认隐藏，容器悬停时淡入 */
.qing-rel-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	color: #333;
	background: transparent;
	border: 0;
	cursor: pointer;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease, color 0.2s ease;
}

.qing-rel-arrow svg {
	width: 34px;
	height: 34px;
	display: block;
}

.qing-rel:hover .qing-rel-arrow {
	opacity: 1;
	pointer-events: auto;
}

.qing-rel-arrow:hover {
	opacity: 0.6;
}

/* 两侧为箭头预留占位空间，箭头位于留白区内、不压产品 */
.qing-rel {
	padding: 0 44px;
}

.qing-rel-prev {
	left: 0;
}

.qing-rel-next {
	right: 0;
}

@media (max-width: 767px) {
	/* 手机端：不显示左右导航，去掉两侧箭头占位，仅靠滑动切换 */
	.qing-rel {
		padding: 0;
	}

	.qing-rel-arrow {
		display: none !important;
	}
}

/* -------------------------------------------------------------
   产品轮播小部件（复用 .qing-rel 结构）：悬停整体上浮 + 分页圆点
   ------------------------------------------------------------- */
.qing-rel--pc .qing-rel-card {
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

/* 预留上浮头部空间，避免被视口裁剪（padding 在裁剪盒内，可见） */
.qing-rel--pc .qing-rel-viewport {
	padding-top: 12px;
	margin-top: -12px;
}

.qing-rel--pc.has-lift-effect .qing-rel-card:hover {
	transform: translateY(-10px);
}

/* 产品轮播：不给容器两侧留白，箭头浮在产品图片上 */
.qing-rel--pc {
	padding: 0;
}

/* 箭头浮在图片左右边缘、垂直居中于图片（纯图标，无背景） */
.qing-rel--pc .qing-rel-arrow {
	top: calc(12px + var(--qing-rel-img-h, 150px) / 2);
	transform: translateY(-50%);
	width: auto;
	height: auto;
	color: #1a1a1a;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	opacity: 0;
	pointer-events: none;
	transition: color 0.2s ease, opacity 0.25s ease;
}

/* 容器悬停时淡入显示左右导航 */
.qing-rel--pc:hover .qing-rel-arrow {
	opacity: 1;
	pointer-events: auto;
}

.qing-rel--pc .qing-rel-arrow svg {
	width: 28px;
	height: 28px;
}

.qing-rel--pc .qing-rel-arrow:hover {
	opacity: 0.55;
	background: transparent;
	color: #1a1a1a;
}

.qing-rel--pc .qing-rel-prev {
	left: 6px;
}

.qing-rel--pc .qing-rel-next {
	right: 6px;
}

@media (max-width: 767px) {
	/* 手机端也保留箭头，缩小尺寸 */
	.qing-rel--pc .qing-rel-arrow {
		display: flex !important;
		width: auto;
		height: auto;
	}

	.qing-rel--pc .qing-rel-arrow svg {
		width: 22px;
		height: 22px;
	}
}

/* 分页圆点：位于产品下方居中 */
.qing-rel-dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 28px;
	list-style: none;
	padding: 0;
}

.qing-rel-dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.22);
	cursor: pointer;
	transition: background 0.3s ease, width 0.3s ease, border-radius 0.3s ease;
}

/* 当前页：拉长为深色胶囊 */
.qing-rel-dot.is-active {
	width: 26px;
	border-radius: 5px;
	background: #1a1a1a;
}

/* 产品切换 / 初始淡入 */
.qing-rel--pc .qing-rel-track {
	transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.45s ease;
}

.qing-rel--pc.is-fading .qing-rel-track {
	opacity: 0;
}


/* =============================================================
   客户评价轮播 Testimonial Carousel
   ============================================================= */
.qing-tm {
	position: relative;
	width: 100%;
	padding: 0 60px;
	box-sizing: border-box;
}

.qing-tm-viewport {
	overflow: hidden;
	width: 100%;
}

/* 淡入切换：多张幻灯片叠放，仅当前项可见 */
.qing-tm-track {
	position: relative;
	width: 100%;
}

.qing-tm-slide {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	max-width: 760px;
	margin: 0 auto;
	padding: 40px 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease;
	pointer-events: none;
}

/* 只有当前项进入正常文档流并占位，其余绝对定位叠放，避免切换后跳到下方 */
.qing-tm-slide.is-active {
	position: relative;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 2;
}

.qing-tm-image {
	flex: 0 0 auto;
	width: 110px;
}

.qing-tm-image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.qing-tm-text {
	flex: 1 1 auto;
	text-align: center;
}

.qing-tm-quote {
	font-size: 15px;
	line-height: 1.7;
	color: #333;
}

.qing-tm-author {
	margin-top: 14px;
	font-size: 15px;
	font-weight: 700;
	color: #000;
}

/* 两侧细圆环箭头 */
.qing-tm-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	color: #333;
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 50%;
	opacity: 0.8;
	cursor: pointer;
	transition: opacity 0.2s ease, background 0.2s ease;
}

.qing-tm-arrow svg {
	width: 55%;
	height: 55%;
	display: block;
}

.qing-tm-arrow:hover {
	opacity: 1;
	background: rgba(0, 0, 0, 0.05);
}

.qing-tm-prev {
	left: 8px;
}

.qing-tm-next {
	right: 8px;
}

/* 分页器：空心圆点 + 当前实心横条 */
.qing-tm-dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 8px;
}

.qing-tm-dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 2px solid rgba(0, 0, 0, 0.35);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: width 0.28s ease, height 0.28s ease, border-width 0.28s ease, border-radius 0.28s ease, background 0.28s ease;
}

.qing-tm-dot.is-active {
	width: 34px;
	height: 5px;
	border-width: 0;
	border-radius: 3px;
	background: #000;
	border-color: #000;
}

/* 手机端：上下结构，图片在最上方 */
@media (max-width: 767px) {
	.qing-tm {
		padding: 0 40px;
	}

	.qing-tm-slide {
		flex-direction: column;
		text-align: center;
		gap: 20px;
	}

	.qing-tm-text {
		text-align: center;
	}

	.qing-tm-prev {
		left: 2px;
	}

	.qing-tm-next {
		right: 2px;
	}
}


/* =============================================================
   宣传横幅 Banner
   ============================================================= */
.qing-banner {
	position: relative;
	display: block;
	width: 100%;
	height: 560px;
	overflow: hidden;
	text-decoration: none;
}

.qing-banner-bg {
	position: absolute;
	inset: 0;
	display: block;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	/* 无悬停效果 */
}

.qing-banner-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0);
	pointer-events: none;
}

/* 文字容器：位置由内边距 + 对齐控制 */
.qing-banner-content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 6px;
	padding: 0 40px 40px;
	box-sizing: border-box;
	text-align: left;
	pointer-events: none;
}

.qing-banner-title {
	margin: 0;
	font-size: 34px;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 1px;
	color: #fff;
	text-transform: uppercase;
}

.qing-banner-subtitle {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	color: #fff;
}


/* =============================================================
   栏目标题 Section Heading
   ============================================================= */
.qing-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	text-decoration: none;
}

.qing-heading-left {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.qing-heading-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #000;
	line-height: 0;
}

.qing-heading-icon svg {
	width: 18px;
	height: 18px;
	display: block;
}

.qing-heading-title {
	font-size: 26px;
	font-weight: 800;
	letter-spacing: 0.5px;
	line-height: 1.1;
	color: #000;
	text-transform: uppercase;
}

.qing-heading-right {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
}

.qing-heading-see {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1px;
	color: #333;
	text-transform: uppercase;
	transition: color 0.25s ease;
}

.qing-heading-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border: 1px solid #333;
	border-radius: 50%;
	color: #333;
	line-height: 0;
	transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

.qing-heading-arrow svg {
	width: 45%;
	height: 45%;
	display: block;
	transition: fill 0.25s ease;
}


/* =============================================================
   产品画廊 Gallery + 灯箱
   ============================================================= */
.qing-gallery {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.qing-gallery-item {
	display: block;
	cursor: zoom-in;
	background: #f5f5f5;
	line-height: 0;
	overflow: hidden;
	border-style: solid;
	border-width: 0;
}

.qing-gallery-item img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.4s ease, opacity 0.3s ease;
}

/* 悬停放大（由「悬停放大图片」开关添加 .qing-gallery--zoom 时生效） */
.qing-gallery--zoom .qing-gallery-item:hover img {
	transform: scale(1.06);
}

.qing-gallery-main img {
	width: 100%;
}

.qing-gallery-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

/* 灯箱 */
.qing-gallery-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.9);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.qing-gallery-lightbox.is-open {
	opacity: 1;
	visibility: visible;
}

.qing-gallery-lb-stage {
	position: relative;
	max-width: 80vw;
	max-height: 88vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

.qing-gallery-lb-img {
	display: none;
	max-width: 80vw;
	max-height: 88vh;
	object-fit: contain;
}

.qing-gallery-lb-img.is-active {
	display: block;
}

.qing-gallery-lb-close {
	position: absolute;
	top: 18px;
	right: 22px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	color: #fff;
	background: transparent;
	border: 0;
	cursor: pointer;
	opacity: 0.85;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.qing-gallery-lb-close:hover {
	opacity: 1;
	transform: rotate(90deg);
}

.qing-gallery-lb-counter {
	position: absolute;
	top: 24px;
	left: 24px;
	z-index: 3;
	color: #fff;
	font-size: 14px;
	letter-spacing: 1px;
	opacity: 0.85;
}

.qing-gallery-lb-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	color: #fff;
	background: transparent;
	border: 0;
	cursor: pointer;
	opacity: 0.8;
	transition: opacity 0.2s ease;
}

.qing-gallery-lb-nav:hover {
	opacity: 1;
}

.qing-gallery-lb-nav svg {
	width: 30px;
	height: 30px;
	display: block;
}

.qing-gallery-lb-prev {
	left: 18px;
}

.qing-gallery-lb-next {
	right: 18px;
}

body.qing-gallery-lock {
	overflow: hidden;
}


/* =============================================================
   促销卡片 Promo Card
   ============================================================= */
.qing-promo {
	position: relative;
	display: block;
	width: 100%;
	height: 520px;
	overflow: hidden;
	text-decoration: none;
}

/* 背景图：不放大 */
.qing-promo-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* 悬停蒙版 */
.qing-promo-mask {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.35);
	opacity: 0;
	transition: opacity 0.4s ease;
	pointer-events: none;
}

.qing-promo:hover .qing-promo-mask {
	opacity: 1;
}

/* 内容：标题在上、按钮在下 */
.qing-promo-content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	padding: 40px;
	box-sizing: border-box;
	text-align: center;
	pointer-events: none;
}

.qing-promo-title {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.2;
	color: #fff;
	text-transform: uppercase;
}

.qing-promo-btn {
	display: inline-block;
	padding: 14px 32px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 3px;
	color: #fff;
	background: transparent;
	border: 1px solid #fff;
	border-style: solid;
	text-transform: uppercase;
	transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}


/* =============================================================
   询盘表单 Inquiry Form
   ============================================================= */
.qing-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
}

/* 蜜罐字段隐藏 */
.qing-form-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	opacity: 0;
	overflow: hidden;
}

.qing-form-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.qing-form-label {
	font-size: 15px;
	color: #888;
	line-height: 1.4;
}

.qing-form-field input,
.qing-form-field textarea {
	width: 100%;
	height: 46px;
	padding: 12px 14px;
	font-size: 15px;
	color: #1a1a1a;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 0;
	outline: none;
	box-sizing: border-box;
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	-webkit-appearance: none;
	appearance: none;
}

.qing-form-field textarea {
	height: 140px;
	resize: vertical;
}

.qing-form-field input:focus,
.qing-form-field textarea:focus {
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.qing-form-actions {
	display: flex;
	justify-content: flex-start;
}

.qing-form-submit {
	display: inline-block;
	padding: 14px 34px;
	border-radius: 0 !important;
	-webkit-appearance: none;
	appearance: none;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
	color: #fff;
	background: #000;
	border: 0;
	cursor: pointer;
	transition: background 0.25s ease;
}

.qing-form-submit:hover {
	background: #333;
}

.qing-form-submit[disabled] {
	opacity: 0.6;
	cursor: default;
}

/* 提交结果提示 */
.qing-form-notice {
	display: none;
	font-size: 14px;
	line-height: 1.5;
}

.qing-form-notice.is-visible {
	display: block;
}

.qing-form-notice.is-success {
	color: #1a7f37;
}

.qing-form-notice.is-error {
	color: #c0392b;
}


/* =============================================================
   社交图标 Social Icons + 悬停提示
   ============================================================= */
.qing-social {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 16px;
	flex-wrap: wrap;
}

.qing-social-item {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: #1a1a1a;
	cursor: pointer;
}

.qing-social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: inherit;
	line-height: 0;
	transition: color 0.2s ease;
}

.qing-social-icon svg {
	width: 20px;
	height: 20px;
	display: block;
}

/* 提示气泡：位于图标上方，默认隐藏 */
.qing-social-tip {
	position: absolute;
	bottom: calc(100% + 12px);
	left: 50%;
	transform: translateX(-50%) translateY(6px);
	white-space: nowrap;
	padding: 7px 12px;
	font-size: 13px;
	line-height: 1.2;
	color: #fff;
	background: #1a1a1a;
	border-radius: 4px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
	pointer-events: none;
	z-index: 5;
}

/* 气泡下方小三角 */
.qing-social-tip::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 6px solid transparent;
	border-top-color: #1a1a1a;
}

.qing-social-item:hover .qing-social-tip {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}


/* =============================================================
   链接列表 Link List（悬停下划线）
   ============================================================= */
.qing-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.qing-list-item {
	margin: 0;
	list-style: none;
}

.qing-list-link {
	position: relative;
	display: inline-block;
	font-size: 16px;
	line-height: 1.4;
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.2s ease;
}

/* 悬停下划线：由左向右展开 */
.qing-list-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 1px;
	background: #000;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.28s ease;
}

.qing-list-link:hover::after {
	transform: scaleX(1);
}

/* =============================================================
   面包屑 Breadcrumb
   ============================================================= */
.qing-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	width: 100%;
	font-size: 14px;
	line-height: 1.4;
}

.qing-crumb {
	color: #666;
}

.qing-crumb a {
	color: #666;
	text-decoration: none;
	transition: color 0.2s ease;
}

.qing-crumb a:hover {
	color: #000;
}

.qing-crumb.qing-crumb-current {
	color: #111;
}

.qing-crumb-sep {
	color: #bbb;
	line-height: 1;
}

/* =============================================================
   价格 Price
   ============================================================= */
.qing-price {
	font-size: 20px;
	font-weight: 700;
	color: #111;
	line-height: 1.2;
	text-decoration: none;
}

.qing-price-amount,
.qing-price-symbol {
	font-size: 1em;
	font-weight: inherit;
	vertical-align: baseline;
	color: inherit;
	text-decoration: none;
}

.qing-price-symbol {
	margin-left: 4px;
}

/* =============================================================
   按钮 Button
   ============================================================= */
.qing-btn-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

/* 拉伸时按钮撑满整行 */
.qing-btn-wrap[style*="align-items: stretch"] .qing-btn {
	width: 100%;
}

.qing-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 18px 40px;
	color: #fff;
	background-color: #000;
	border: 0 solid transparent;
	border-radius: 0;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 1px;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.qing-btn:hover {
	background-color: #333;
}

.qing-btn-icon {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.qing-btn-icon svg {
	display: block;
	width: 20px;
	height: 20px;
}

.qing-btn-text {
	display: inline-block;
}

/* =============================================================
   产品规格表 Specs
   ============================================================= */
.qing-specs-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	border: 1px solid #e5e5e5;
}

.qing-specs-table tr {
	border-bottom: 1px solid #e5e5e5;
}

.qing-specs-table td {
	padding: 14px 16px;
	vertical-align: middle;
	word-break: break-word;
}

.qing-specs-table td.qing-specs-label {
	width: 30%;
	font-weight: 700;
	color: #111;
	border-right: 1px solid #e5e5e5;
}

.qing-specs-value {
	display: inline;
	color: #333;
	border-bottom: 1px solid transparent;
	transition: border-color 0.2s ease, color 0.2s ease;
}

/* 悬停下划线：仅在开启时对参数值生效 */
.qing-specs--underline .qing-specs-value:hover {
	border-bottom-color: currentColor;
	cursor: default;
}

/* =============================================================
   弹窗链接 Popup Link
   ============================================================= */
.qing-popup-triggers {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.qing-popup-trigger {
	display: inline-flex;
	padding: 0;
	margin: 0;
	background: none;
	border: 0;
	cursor: pointer;
	justify-content: flex-start;
}

.qing-popup-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #222;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.5px;
	line-height: 1.3;
	transition: color 0.2s ease;
}

.qing-popup-link-text {
	border-bottom: 1px solid transparent;
	transition: border-color 0.2s ease;
}

/* 悬停显示下划线 */
.qing-popup-trigger:hover .qing-popup-link-text {
	border-bottom-color: currentColor;
}

.qing-popup-link-icon {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.qing-popup-link-icon svg {
	width: 18px;
	height: 18px;
}

/* 遮罩 */
.qing-popup-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 40px 16px;
	overflow-y: auto;
	background: rgba(0, 0, 0, 0.7);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.qing-popup-overlay.is-open {
	opacity: 1;
	visibility: visible;
}

/* 弹窗盒子 */
.qing-popup-box {
	position: relative;
	width: 100%;
	max-width: 750px;
	margin: auto;
	padding: 30px;
	background: #fff;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.qing-popup-close {
	position: absolute;
	top: 12px;
	right: 12px;
	display: inline-flex;
	padding: 4px;
	background: none;
	border: 0;
	color: #333;
	cursor: pointer;
	line-height: 0;
}

.qing-popup-content {
	color: #333;
	line-height: 1.7;
	word-wrap: break-word;
}

.qing-popup-content h1 { font-size: 26px; margin: 0 0 14px; }
.qing-popup-content h2 { font-size: 22px; margin: 18px 0 12px; }
.qing-popup-content h3 { font-size: 18px; margin: 18px 0 10px; }
.qing-popup-content p { margin: 0 0 12px; }
.qing-popup-content ul { margin: 0 0 12px; padding-left: 20px; }
.qing-popup-content li { margin-bottom: 6px; }
.qing-popup-content hr { border: 0; border-top: 1px solid #eee; margin: 18px 0; }
.qing-popup-content img.emoji { display: inline; width: 1em; height: 1em; margin: 0 2px; vertical-align: -0.1em; }
