/**
 * WPBiz 主题自定义样式 v2
 * 视觉系统：现代 Agency 风格
 * 设计语言：炭棕黑 + 品牌暖橙 + 琥珀金
 * 关键特性：徽章 / 渐变文字 / 玻璃拟态 / Hero 浮动数据卡 / SVG 线性图标 / 卡片微动效
 */

:root {
	--wpb-ink: #241813;
	--wpb-ink-soft: #4A3A30;
	--wpb-primary: #E8630A;
	--wpb-primary-dark: #C14B06;
	--wpb-accent: #F5A524;
	--wpb-accent-dark: #D98C0B;
	--wpb-surface: #FBF4EC;
	--wpb-muted: #9A8474;
	--wpb-line: #F0E2D2;
	--wpb-bg-soft: #F8F4EF;
	--wpb-radius: 14px;
	--wpb-radius-lg: 22px;
	--wpb-shadow: 0 1px 2px rgba(36, 24, 19, .06), 0 8px 28px rgba(36, 24, 19, .08);
	--wpb-shadow-lg: 0 24px 60px rgba(36, 24, 19, .16);
	--wpb-grad-ember: linear-gradient(135deg, #1B110C 0%, #7A3B12 55%, #E8630A 100%);
	--wpb-grad-amber: linear-gradient(135deg, #F5A524 0%, #E8630A 100%);
	--wpb-grad-icon: linear-gradient(135deg, #FFF1E2 0%, #FFE3C4 100%);

	/* 字号阶梯（16px 基准 · Major Third 1.25）：
	   xs 12 / sm 14 / base 16 / md 18 / lg 22 / xl 28 / 2xl 36 / 3xl 48 */
	--wpb-fs-xs: 0.75rem;
	--wpb-fs-sm: 0.875rem;
	--wpb-fs-base: 1rem;
	--wpb-fs-md: 1.125rem;
	--wpb-fs-lg: 1.375rem;
	--wpb-fs-xl: 1.75rem;
	--wpb-fs-2xl: 2.25rem;
	--wpb-fs-3xl: 3rem;
}

/* ============ 全局 ============ */
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-synthesis-weight: none;
}

/* ============ 全局等比缩放（桌面 80%） ============
   整站宽度 + 字号 + 间距 + 图片统一等比缩小到 80%，
   视觉效果与「浏览器缩放至 80%」一致，所有区块比例保持协调。
   仅在桌面 / 平板横屏（>=1025px）启用；手机竖屏保持原生布局不缩放。 */
@media (min-width: 1025px) {
	html {
		zoom: 0.8;
	}
}

/* 兜底：极少数不支持 CSS zoom 的旧浏览器，退化为「根字号 + 容器宽度」近似缩放，
   保证页面不会因缺少缩放规则而显得过大。 */
@supports not (zoom: 1) {
	@media (min-width: 1025px) {
		html {
			font-size: 87.5%;
		}

		.wp-site-blocks > .alignfull,
		:where(.wp-site-blocks) > * {
			max-width: calc(100vw - 40px);
		}
	}
}

h1,
h2,
h3,
h4,
h5,
h6 {
	letter-spacing: -0.025em;
	text-wrap: balance;
}

::selection {
	background: rgba(232, 99, 10, 0.22);
}

.wpb-section-title {
	position: relative;
	margin-bottom: 12px !important;
}

.wpb-section-title::after {
	content: "";
	display: block;
	width: 64px;
	height: 5px;
	margin: 16px auto 0;
	border-radius: 999px;
	background: var(--wpb-grad-amber);
}

.wpb-section-sub {
	color: var(--wpb-muted) !important;
	max-width: 640px;
}

a {
	transition: color 0.2s ease;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid var(--wpb-primary);
	outline-offset: 3px;
}

/* 渐变文字 */
.wpb-text-gradient {
	background: var(--wpb-grad-amber);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* 细滚动条（暖色） */
::-webkit-scrollbar {
	width: 10px;
}

::-webkit-scrollbar-track {
	background: var(--wpb-surface);
}

::-webkit-scrollbar-thumb {
	background: #E0CBB2;
	border-radius: 999px;
	border: 2px solid var(--wpb-surface);
}

::-webkit-scrollbar-thumb:hover {
	background: var(--wpb-primary);
}

/* ============ 非宽屏：根级全宽区块改为固定宽度居中 ============ */
.wp-site-blocks > .alignfull {
	/* 大屏 1080 居中；窄视口自动留 20px 安全边距，页面更收束干净 */
	max-width: min(var(--wp--style--global--content-size, 1080px), calc(100vw - 40px));
	margin-inline: auto;
}

/* ============ 页头（玻璃拟态） ============ */
.wpb-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, 0.78);
	backdrop-filter: blur(16px) saturate(1.4);
	-webkit-backdrop-filter: blur(16px) saturate(1.4);
	border-bottom: 1px solid rgba(240, 226, 210, 0.9);
	transition: box-shadow 0.25s ease, background 0.25s ease;
}

.wpb-site-header.is-scrolled {
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 6px 24px rgba(36, 24, 19, 0.08);
}

.wpb-header-inner {
	min-height: 66px;
}

.wpb-header-inner .wp-block-site-title {
	font-size: 1.375rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.wpb-header-inner .wp-block-site-title a {
	color: var(--wpb-ink);
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.wpb-header-inner .wp-block-site-title a::before {
	content: "";
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--wpb-grad-amber);
	box-shadow: 0 0 0 5px rgba(232, 99, 10, 0.12);
}

.wpb-header-inner .wp-block-navigation a {
	color: var(--wpb-ink-soft);
	font-weight: 500;
}

.wpb-header-inner .wp-block-navigation a:hover {
	color: var(--wpb-primary);
}

.wpb-header-inner .wp-block-navigation .current-menu-item > a,
.wpb-header-inner .wp-block-navigation .wp-block-navigation-item.current-menu-item > a {
	color: var(--wpb-primary);
	font-weight: 700;
}

/* ============ Hero ============ */
.wpb-hero {
	position: relative;
	overflow: hidden;
	color: #fff;
	background: var(--wpb-grad-ember);
	border-radius: var(--wpb-radius-lg);
	box-shadow: var(--wpb-shadow-lg);
}

.wpb-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(rgba(255, 255, 255, 0.09) 1px, transparent 1px),
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: 24px 24px, 72px 72px, 72px 72px;
	pointer-events: none;
	mask-image: radial-gradient(ellipse at 30% 40%, #000 30%, transparent 78%);
	-webkit-mask-image: radial-gradient(ellipse at 30% 40%, #000 30%, transparent 78%);
}

.wpb-hero::after {
	content: "";
	position: absolute;
	right: -160px;
	top: -160px;
	width: 560px;
	height: 560px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(245, 165, 36, 0.5) 0%, transparent 68%);
	pointer-events: none;
}

.wpb-hero > * {
	position: relative;
	z-index: 1;
}

/* 徽章 */
.wpb-hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 24px;
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: #FFE3C4;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.18);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.wpb-hero-badge::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex: 0 0 auto;
	background: var(--wpb-accent);
	box-shadow: 0 0 0 0 rgba(245, 165, 36, 0.6);
	animation: wpb-pulse 2s ease-out infinite;
}

@keyframes wpb-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(245, 165, 36, 0.55); }
	70%  { box-shadow: 0 0 0 10px rgba(245, 165, 36, 0); }
	100% { box-shadow: 0 0 0 0 rgba(245, 165, 36, 0); }
}

.wpb-hero h1 {
	color: #fff;
	font-size: clamp(2.4rem, 5.5vw, 4rem);
	font-weight: 900;
	line-height: 1.12;
	max-width: 820px;
	letter-spacing: -0.03em;
}

.wpb-hero .wpb-hero-sub {
	color: rgba(255, 255, 255, 0.9);
	font-size: 1.125rem;
	font-weight: 500;
	max-width: 640px;
}

.wpb-hero .wp-block-buttons {
	margin-top: 36px;
}

.wpb-hero .wp-block-button__link {
	font-size: 1rem;
	padding: 14px 30px;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wpb-hero .wp-block-button__link:hover {
	transform: translateY(-2px);
}

.wpb-hero .is-style-outline .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, 0.55);
	backdrop-filter: blur(6px);
}

.wpb-hero .is-style-outline .wp-block-button__link:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.08);
}

/* Hero 浮动数据卡（玻璃拟态） */
.wpb-hero-float {
	position: absolute;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 20px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(14px) saturate(1.3);
	-webkit-backdrop-filter: blur(14px) saturate(1.3);
	box-shadow: 0 20px 44px rgba(0, 0, 0, 0.28);
	animation: wpb-float 5.5s ease-in-out infinite;
}

.wpb-hero-float-b {
	animation-delay: -2.6s;
}

.wpb-hero-float::after {
	content: "";
	position: absolute;
	top: 8px;
	right: 8px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, #FFD9A8, var(--wpb-accent) 70%);
	opacity: 0.9;
}

.wpb-hero-float-num {
	font-size: 1.55rem;
	font-weight: 900;
	line-height: 1;
	background: var(--wpb-grad-amber);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	white-space: nowrap;
}

.wpb-hero-float-label {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.92);
}

.wpb-hero-float-label strong {
	font-size: 0.875rem;
	font-weight: 700;
	color: #fff;
}

@keyframes wpb-float {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-9px); }
}

/* ============ 信任数字 ============ */
.wpb-stats {
	border-bottom: 1px solid var(--wpb-line);
}

.wpb-stats .wp-block-columns {
	gap: 0;
}

.wpb-stats .wp-block-column {
	text-align: center;
	padding: 12px 8px;
	position: relative;
}

.wpb-stats .wp-block-column:not(:last-child)::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 44px;
	background: linear-gradient(180deg, transparent, var(--wpb-line) 30%, var(--wpb-line) 70%, transparent);
}

.wpb-stats .wpb-stat-num {
	font-size: clamp(2.4rem, 4.5vw, 3.4rem);
	font-weight: 900;
	line-height: 1;
	margin-bottom: 10px;
	letter-spacing: -0.02em;
	background: var(--wpb-grad-amber);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.wpb-stats p {
	color: var(--wpb-ink-soft);
	margin: 0;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
}

/* ============ 服务卡片 ============ */
.wpb-services {
	background: var(--wpb-surface);
	background-image: radial-gradient(rgba(232, 99, 10, 0.05) 1px, transparent 1px);
	background-size: 28px 28px;
}

.wpb-services .wp-block-columns {
	display: flex;
	flex-wrap: wrap !important;
	gap: 24px;
}

.wpb-service-card {
	background: #fff;
	border: 1px solid var(--wpb-line);
	border-radius: var(--wpb-radius);
	padding: 30px 28px !important;
	box-shadow: var(--wpb-shadow);
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
	box-sizing: border-box;
	flex-basis: calc(33.333% - 16px) !important;
	flex-grow: 0 !important;
	position: relative;
	overflow: hidden;
}

.wpb-service-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: var(--wpb-grad-amber);
	opacity: 0;
	transform: scaleX(0.3);
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.wpb-service-card:hover {
	transform: translateY(-7px);
	box-shadow: var(--wpb-shadow-lg);
	border-color: rgba(232, 99, 10, 0.35);
}

.wpb-service-card:hover::before {
	opacity: 1;
	transform: scaleX(1);
}

/* SVG 线性图标 */
.wpb-service-icon {
	width: 58px;
	height: 58px;
	margin-bottom: 20px;
	border-radius: 17px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--wpb-grad-icon);
	border: 1px solid rgba(232, 99, 10, 0.14);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 10px 22px rgba(232, 99, 10, 0.14);
	color: var(--wpb-primary);
	transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}

.wpb-service-icon svg {
	width: 27px;
	height: 27px;
	stroke: var(--wpb-primary);
	stroke-width: 1.8;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: stroke 0.3s ease, transform 0.3s ease;
}

.wpb-service-card:hover .wpb-service-icon {
	transform: translateY(-3px) rotate(-5deg) scale(1.06);
	background: var(--wpb-grad-amber);
	box-shadow: 0 14px 28px rgba(232, 99, 10, 0.3);
	color: #fff;
}

.wpb-service-card:hover .wpb-service-icon svg {
	stroke: #fff;
	transform: scale(1.08);
}

.wpb-service-card h3 {
	font-size: 1.125rem;
	margin-bottom: 10px;
}

.wpb-service-card p {
	color: var(--wpb-muted);
	font-size: 0.875rem;
	margin-bottom: 12px;
}

.wpb-card-more {
	margin-top: auto;
}

.wpb-card-more a {
	font-weight: 600;
	color: var(--wpb-primary);
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: gap 0.2s ease, color 0.2s ease;
}

.wpb-card-more a:hover {
	color: var(--wpb-accent-dark);
	gap: 8px;
}

/* ============ 案例网格 ============ */
.wpb-cases .wpb-case-grid {
	--wp--preset--spacing--40: 24px;
}

.wpb-case-card {
	background: #fff;
	border: 1px solid var(--wpb-line);
	border-radius: var(--wpb-radius);
	overflow: hidden;
	box-shadow: var(--wpb-shadow);
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.wpb-case-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--wpb-shadow-lg);
	border-color: rgba(232, 99, 10, 0.3);
}

.wpb-case-thumb {
	position: relative;
	overflow: hidden;
}

.wpb-case-thumb img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.wpb-case-card:hover .wpb-case-thumb img {
	transform: scale(1.06);
}

.wpb-case-card h3 {
	padding: 0 22px;
	font-size: 1.125rem;
	margin: 16px 0 6px;
}

.wpb-case-card h3 a {
	color: var(--wpb-ink);
	transition: color 0.2s ease;
}

.wpb-case-card h3 a:hover {
	color: var(--wpb-primary);
}

.wpb-case-card .wp-block-post-excerpt {
	padding: 0 22px 22px;
	color: var(--wpb-muted);
	font-size: 0.875rem;
}

.wpb-case-card .wp-block-post-featured-image {
	margin: 0;
}

/* 案例详情 meta */
.wpb-case-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 18px 0 28px;
}

.wpb-case-meta span {
	background: var(--wpb-surface);
	border: 1px solid var(--wpb-line);
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 0.875rem;
	color: var(--wpb-ink-soft);
}

/* ============ 流程 ============ */
.wpb-process {
	background: var(--wpb-surface);
}

.wpb-process-step {
	text-align: center;
	padding: 10px;
	position: relative;
}

.wpb-process-step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 46px;
	right: -14px;
	width: 30px;
	height: 2px;
	background: var(--wpb-grad-amber);
	opacity: 0.55;
	border-radius: 999px;
}

.wpb-process-num {
	width: 68px;
	height: 68px;
	margin: 0 auto 16px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	font-weight: 900;
	color: #fff;
	background: var(--wpb-grad-amber);
	box-shadow: 0 12px 28px rgba(232, 99, 10, 0.4);
	position: relative;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.wpb-process-num::after {
	content: "";
	position: absolute;
	inset: -6px;
	border-radius: 50%;
	border: 1px dashed rgba(232, 99, 10, 0.4);
}

.wpb-process-step:hover .wpb-process-num {
	transform: translateY(-4px) scale(1.05);
	box-shadow: 0 18px 34px rgba(232, 99, 10, 0.48);
}

.wpb-process-step h3 {
	font-size: 1.125rem;
	margin-bottom: 8px;
}

.wpb-process-step p {
	color: var(--wpb-muted);
	font-size: 0.875rem;
}

/* ============ 客户评价（玻璃拟态） ============ */
.wpb-testimonials {
	background: var(--wpb-grad-ember);
	color: #fff;
	border-radius: var(--wpb-radius-lg);
	box-shadow: var(--wpb-shadow-lg);
	position: relative;
	overflow: hidden;
}

.wpb-testimonials::before {
	content: "";
	position: absolute;
	left: -140px;
	bottom: -140px;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(245, 165, 36, 0.28) 0%, transparent 70%);
	pointer-events: none;
}

.wpb-testimonials h2 {
	color: #fff;
}

.wpb-testimonials .wp-block-columns {
	position: relative;
	z-index: 1;
}

.wpb-t-stars {
	color: var(--wpb-accent);
	letter-spacing: 3px;
	font-size: 0.875rem;
	margin: 0 0 10px !important;
}

.wpb-testimonial {
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--wpb-radius);
	padding: 28px 26px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease;
}

.wpb-testimonial:hover {
	transform: translateY(-5px);
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.28);
}

.wpb-testimonial blockquote {
	position: relative;
	margin: 0 0 16px;
	padding-left: 22px;
	color: rgba(255, 255, 255, 0.94);
	font-size: 1rem;
	line-height: 1.7;
}

.wpb-testimonial blockquote::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	bottom: 2px;
	width: 4px;
	border-radius: 999px;
	background: var(--wpb-grad-amber);
}

.wpb-testimonial cite {
	display: block;
	font-style: normal;
	font-weight: 700;
	font-size: 0.875rem;
	color: #fff;
	letter-spacing: 0.01em;
}

.wpb-testimonial cite::before {
	content: "— ";
	color: var(--wpb-accent);
}

/* ============ CTA ============ */
.wpb-cta {
	position: relative;
	overflow: hidden;
	background: var(--wpb-grad-amber);
	border-radius: var(--wpb-radius-lg);
	text-align: center;
	color: #fff;
	box-shadow: 0 24px 64px rgba(232, 99, 10, 0.4);
}

.wpb-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, 0.14) 1px, transparent 1px);
	background-size: 22px 22px;
	pointer-events: none;
}

.wpb-cta::after {
	content: "";
	position: absolute;
	right: -120px;
	top: -120px;
	width: 320px;
	height: 320px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.22) 0%, transparent 70%);
	pointer-events: none;
}

.wpb-cta > * {
	position: relative;
	z-index: 1;
}

.wpb-cta h2 {
	color: #fff;
	font-size: clamp(1.7rem, 3.5vw, 2.4rem);
}

.wpb-cta p {
	color: rgba(255, 255, 255, 0.92);
	font-size: 1.125rem;
	max-width: 620px;
	margin-left: auto;
	margin-right: auto;
}

.wpb-cta .wp-block-button__link {
	background: #fff;
	color: var(--wpb-accent-dark);
	font-size: 1.125rem;
	padding: 14px 34px;
	box-shadow: 0 12px 28px rgba(193, 75, 6, 0.35);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wpb-cta .wp-block-button__link:hover {
	background: var(--wpb-surface);
	transform: translateY(-2px);
}

/* ============ 页脚 ============ */
.wpb-site-footer {
	background: var(--wpb-ink);
	color: rgba(255, 255, 255, 0.75);
	position: relative;
	font-weight: 400;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.wpb-site-footer::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--wpb-grad-amber);
}

.wpb-site-footer h2,
.wpb-site-footer h3 {
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin-bottom: 18px;
}

.wpb-site-footer p {
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.01em;
	/* 关键：极轻 text-shadow 让深底浅字边缘平滑（消除 ClearType 毛刺） */
	text-shadow: 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.wpb-site-footer a {
	color: rgba(255, 255, 255, 0.78);
	text-shadow: 0 0 0.5px rgba(255, 255, 255, 0.05);
	transition: color 0.2s ease;
}

.wpb-site-footer a:hover {
	color: var(--wpb-accent);
	text-shadow: none;
}

.wpb-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	margin-top: 32px;
	padding-top: 20px;
	text-align: center;
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.52);
}

.wpb-footer-legal {
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.55);
	letter-spacing: 0.02em;
}

.wpb-footer-contact p {
	margin: 6px 0;
	font-size: 0.875rem;
}

/* ============ 通用页面区块 ============ */
.wpb-page-header {
	background: var(--wpb-grad-ember);
	color: #fff;
	border-radius: var(--wpb-radius-lg);
	box-shadow: var(--wpb-shadow-lg);
	position: relative;
	overflow: hidden;
}

.wpb-page-header::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px);
	background-size: 24px 24px;
	pointer-events: none;
}

.wpb-page-header > * {
	position: relative;
}

.wpb-page-header h1 {
	color: #fff;
}

.wpb-page-header p {
	color: rgba(255, 255, 255, 0.8);
}

/* ============ 询盘表单（配合 wpbiz-inquiry 插件） ============ */
.wpb-form-wrap {
	background: #fff;
	border: 1px solid var(--wpb-line);
	border-radius: var(--wpb-radius-lg);
	box-shadow: var(--wpb-shadow-lg);
	padding: 40px 36px;
}

.wpb-form-field {
	margin-bottom: 20px;
}

.wpb-form-field label {
	display: block;
	font-weight: 600;
	font-size: 0.875rem;
	margin-bottom: 8px;
	color: var(--wpb-ink);
}

.wpb-form-field label .wpb-req {
	color: var(--wpb-accent);
}

.wpb-form-field input[type="text"],
.wpb-form-field input[type="email"],
.wpb-form-field input[type="tel"],
.wpb-form-field select,
.wpb-form-field textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1.5px solid var(--wpb-line);
	border-radius: 10px;
	font-size: 1rem;
	font-family: inherit;
	background: #FDF9F3;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.wpb-form-field input:focus,
.wpb-form-field select:focus,
.wpb-form-field textarea:focus {
	outline: none;
	border-color: var(--wpb-primary);
	box-shadow: 0 0 0 4px rgba(232, 99, 10, 0.15);
	background: #fff;
}

.wpb-form-field textarea {
	min-height: 120px;
	resize: vertical;
}

.wpb-form-hint {
	font-size: 0.875rem;
	color: var(--wpb-muted);
	margin-top: 6px;
}

.wpb-form-ref {
	background: var(--wpb-surface);
	border-radius: 10px;
	padding: 14px 16px;
	margin-bottom: 20px;
	font-size: 0.875rem;
	border-left: 4px solid var(--wpb-primary);
}

.wpb-form-ref strong {
	color: var(--wpb-primary-dark);
}

.wpb-form-submit {
	width: 100%;
}

.wpb-form-msg {
	display: none;
	padding: 14px 16px;
	border-radius: 10px;
	margin-top: 16px;
	font-size: 0.875rem;
}

.wpb-form-msg.is-success {
	display: block;
	background: #ECFDF5;
	color: #065F46;
	border: 1px solid #A7F3D0;
}

.wpb-form-msg.is-error {
	display: block;
	background: #FEF2F2;
	color: #991B1B;
	border: 1px solid #FECACA;
}

.wpb-form-spinner {
	display: none;
	width: 18px;
	height: 18px;
	border: 2px solid rgba(255, 255, 255, 0.4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: wpb-spin 0.7s linear infinite;
	margin-left: 10px;
	vertical-align: middle;
}

@keyframes wpb-spin {
	to { transform: rotate(360deg); }
}

/* ============ 动画（渐进增强：默认可见，仅 JS 就绪后才允许隐藏入场）============ */
/* 兜底：JS 未加载 / 被优化插件合并延迟 / 执行报错时，元素仍然可见 —— 永不白屏 */
.wpb-fade-in {
	opacity: 1;
	transform: none;
	transition: opacity 0.65s ease, transform 0.65s ease;
}

/* 只有 JS 成功挂载动画能力（html.wpb-anim）时才进入隐藏态，等待 IntersectionObserver 显形 */
html.wpb-anim .wpb-fade-in:not(.is-visible) {
	opacity: 0;
	transform: translateY(22px);
}

.wpb-fade-in.is-visible {
	opacity: 1;
	transform: none;
}

/* ============ 响应式 ============ */
@media (max-width: 1180px) {
	.wpb-hero-float {
		display: none;
	}
}

@media (max-width: 1024px) {
	.wpb-service-card {
		flex-basis: calc(50% - 12px) !important;
	}

	.wpb-process-step:not(:last-child)::after {
		display: none;
	}
}

@media (max-width: 640px) {
	.wpb-service-card {
		flex-basis: 100% !important;
	}

	.wpb-stats .wp-block-columns {
		flex-wrap: wrap;
	}

	.wpb-stats .wp-block-column {
		flex-basis: 50%;
	}

	.wpb-stats .wp-block-column:nth-child(2)::after {
		display: none;
	}

	.wpb-form-wrap {
		padding: 28px 20px;
	}
}

/* 减少动态偏好 */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* ============ 语言切换器 ============ */
.wpb-lang-switch {
	position: relative;
	font-size: 0.875rem;
	font-weight: 600;
	white-space: nowrap;
	z-index: 60;
}

/* Polylang 扁平语言列表（装了 Polylang 时使用） */
.wpb-lang-list {
	display: flex;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.wpb-lang-item a {
	display: inline-block;
	padding: 4px 9px;
	border-radius: 999px;
	color: var(--wpb-ink-soft);
	text-decoration: none;
	border: 1px solid var(--wpb-line);
	line-height: 1.4;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.wpb-lang-item a:hover {
	color: var(--wpb-primary);
	border-color: rgba(232, 99, 10, 0.4);
}

.wpb-lang-item.is-active a {
	background: var(--wpb-grad-amber);
	color: #fff;
	border-color: transparent;
}

/* 原生语名下拉（自研多语言，hover / 键盘焦点展开，无 JS 依赖） */
.wpb-lang-trigger {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 10px;
	border-radius: 999px;
	color: var(--wpb-ink-soft);
	background: #fff;
	border: 1px solid var(--wpb-line);
	font: inherit;
	font-size: inherit;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.wpb-lang-trigger:hover {
	color: var(--wpb-primary);
	border-color: rgba(232, 99, 10, 0.4);
}

.wpb-lang-caret {
	transition: transform 0.2s ease;
}

.wpb-lang-switch:hover .wpb-lang-caret,
.wpb-lang-switch:focus-within .wpb-lang-caret {
	transform: rotate(180deg);
}

.wpb-lang-dropdown {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 70;
	min-width: 170px;
	max-width: 240px;
	margin: 0;
	padding: 6px;
	list-style: none;
	background: #fff;
	border: 1px solid var(--wpb-line);
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(10, 15, 35, 0.12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}

.wpb-lang-switch:hover .wpb-lang-dropdown,
.wpb-lang-switch:focus-within .wpb-lang-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.wpb-lang-dropdown li {
	margin: 0;
}

.wpb-lang-dropdown li + li {
	margin-top: 2px;
}

.wpb-lang-dropdown a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 10px;
	border-radius: 8px;
	color: var(--wpb-ink);
	text-decoration: none;
	font-weight: 500;
	white-space: normal;
	line-height: 1.45;
	transition: background 0.15s ease, color 0.15s ease;
}

.wpb-lang-dropdown a:hover {
	background: rgba(232, 99, 10, 0.08);
	color: var(--wpb-primary);
}

.wpb-lang-dropdown li.is-active a {
	color: var(--wpb-primary);
	font-weight: 700;
}

.wpb-lang-dropdown li.is-active a::before {
	content: "\2713";
	font-weight: 700;
}

@media (max-width: 640px) {
	.wpb-lang-switch {
		font-size: 0.75rem;
	}

	.wpb-lang-dropdown {
		min-width: 150px;
		max-width: 200px;
	}
}

/* ============ 浮动联系按钮（国内外客户） ============ */
.wpb-contact-floater {
	position: fixed;
	right: 18px;
	bottom: 22px;
	z-index: 999;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wpb-fbtn {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font-size: 1.125rem;
	color: #fff;
	box-shadow: 0 6px 20px rgba(36, 24, 19, 0.28);
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
	border: none;
	cursor: pointer;
	padding: 0;
	line-height: 1;
}

.wpb-fbtn:hover {
	transform: translateY(-3px) scale(1.06);
	box-shadow: 0 12px 28px rgba(36, 24, 19, 0.35);
	color: #fff;
}

.wpb-fbtn-wa {
	background: #25D366;
}

.wpb-fbtn-wa:hover {
	background: #1EBE5B;
}

.wpb-fbtn-wx {
	background: #07C160;
	font-size: 1.125rem;
	font-weight: 700;
}

.wpb-fbtn-wx:hover {
	background: #06AD56;
}

.wpb-fbtn-mail {
	background: var(--wpb-grad-amber);
}

.wpb-fbtn-mail:hover {
	background: var(--wpb-grad-ember);
}

.wpb-fbtn-qq {
	background: #12B7F5;
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.wpb-fbtn-qq:hover {
	background: #0E9FD6;
}

.wpb-fbtn-tg {
	background: #2AABEE;
}

.wpb-fbtn-tg:hover {
	background: #2297D6;
}

.wpb-fbtn-tel {
	background: #52627B;
}

.wpb-fbtn-tel:hover {
	background: #45536A;
}

.wpb-fbtn-tip {
	position: fixed;
	right: 76px;
	bottom: 22px;
	background: var(--wpb-ink);
	color: #fff;
	font-size: 0.875rem;
	padding: 8px 14px;
	border-radius: 8px;
	z-index: 1000;
	box-shadow: var(--wpb-shadow);
	animation: wpb-tip-in 0.25s ease;
}

@keyframes wpb-tip-in {
	from { opacity: 0; transform: translateX(8px); }
	to { opacity: 1; transform: none; }
}

/* ============ Cookie 同意条 ============ */
.wpb-cookie-consent {
	position: fixed;
	left: 50%;
	bottom: 18px;
	transform: translateX(-50%);
	width: min(94vw, 720px);
	background: rgba(36, 24, 19, 0.92);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	color: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 12px;
	padding: 14px 18px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	z-index: 1001;
	box-shadow: 0 14px 40px rgba(36, 24, 19, 0.4);
	font-size: 0.875rem;
}

.wpb-cookie-text {
	margin: 0;
	flex: 1;
	line-height: 1.5;
}

.wpb-cookie-text a {
	color: var(--wpb-accent);
	text-decoration: underline;
}

.wpb-cookie-btn {
	flex: 0 0 auto;
	background: var(--wpb-grad-amber);
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 8px 18px;
	font-weight: 700;
	cursor: pointer;
	font-size: 0.875rem;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	pointer-events: auto;
}

.wpb-cookie-btn:hover {
	background: var(--wpb-grad-ember);
	transform: translateY(-1px);
}

.wpb-cookie-actions {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 8px;
}

/* 次级按钮：仅必要 / 拒绝 */
.wpb-cookie-necessary {
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.3);
}
.wpb-cookie-necessary:hover {
	background: rgba(255, 255, 255, 0.26);
	border-color: rgba(255, 255, 255, 0.45);
}

.wpb-cookie-decline {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.35);
	color: rgba(255, 255, 255, 0.85);
}
.wpb-cookie-decline:hover {
	background: rgba(255, 255, 255, 0.12);
}

@media (max-width: 640px) {
	.wpb-cookie-consent {
		flex-direction: column;
		text-align: center;
	}
	.wpb-cookie-actions {
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
	}
}

/* ============ 页脚法律链接 ============ */
.wpb-footer-legal {
	margin: 0 0 6px;
	text-align: center;
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.5);
}

.wpb-footer-legal a {
	color: rgba(255, 255, 255, 0.62);
	margin: 0 4px;
	text-decoration: none;
}

.wpb-footer-legal a:hover {
	color: var(--wpb-accent);
}

/* 页脚「Cookie 设置」入口：样式与法律链接一致（按钮化链接） */
.wpb-footer-legal .wpb-cookie-settings {
	background: none;
	border: none;
	padding: 0;
	margin: 0 4px;
	font: inherit;
	line-height: inherit;
	color: rgba(255, 255, 255, 0.62);
	text-decoration: none;
	cursor: pointer;
	vertical-align: baseline;
}
.wpb-footer-legal .wpb-cookie-settings:hover {
	color: var(--wpb-accent);
}

/* ============ Page / Single / Archive 通用页面模板 ============ */

/* --- Page Hero（page.html / single.html / archive.html / single-portfolio.html 顶部） --- */
.wpb-page-hero {
	position: relative;
	overflow: hidden;
	color: #fff;
	background: var(--wpb-grad-ember);
	border-radius: var(--wpb-radius-lg);
	box-shadow: var(--wpb-shadow-lg);
	padding: 64px 48px !important;
	margin-top: 28px;
	margin-bottom: 32px;
}

.wpb-page-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px),
		linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
	background-size: 22px 22px, 60px 60px, 60px 60px;
	pointer-events: none;
	mask-image: radial-gradient(ellipse at 30% 40%, #000 30%, transparent 80%);
	-webkit-mask-image: radial-gradient(ellipse at 30% 40%, #000 30%, transparent 80%);
}

.wpb-page-hero::after {
	content: "";
	position: absolute;
	right: -120px;
	top: -120px;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(245, 165, 36, 0.4) 0%, transparent 68%);
	pointer-events: none;
}

.wpb-page-hero > * {
	position: relative;
	z-index: 1;
}

.wpb-page-hero h1 {
	color: #fff;
	font-size: clamp(2rem, 4.6vw, 3.2rem);
	font-weight: 900;
	letter-spacing: -0.025em;
	line-height: 1.15;
	margin: 0;
	max-width: 880px;
}

.wpb-page-hero p,
.wpb-page-hero .wp-block-post-excerpt__excerpt {
	color: rgba(255, 255, 255, 0.92);
	font-size: 1.125rem;
	line-height: 1.7;
	max-width: 720px;
	font-weight: 500;
}

/* 面包屑 */
.wpb-page-breadcrumb {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-bottom: 6px;
	padding: 5px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.18);
	font-size: 0.875rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.78);
	backdrop-filter: blur(6px);
}

.wpb-page-breadcrumb a {
	color: rgba(255, 255, 255, 0.92);
	text-decoration: none;
	transition: color 0.2s ease;
}

.wpb-page-breadcrumb a:hover {
	color: var(--wpb-accent);
}

.wpb-page-breadcrumb span:not(.wpb-page-crumb-current) {
	opacity: 0.5;
}

.wpb-page-crumb-current {
	color: #fff;
}

/* Meta 行（日期 / 作者 / 分类） */
.wpb-page-meta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-right: 12px;
	padding: 4px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: rgba(255, 255, 255, 0.86);
	font-weight: 600;
}

/* Page Hero CTA */
.wpb-page-hero-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 22px;
	align-items: center;
}

.wpb-page-cta-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	color: var(--wpb-accent-dark);
	padding: 12px 26px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 1rem;
	text-decoration: none;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wpb-page-cta-btn:hover {
	color: var(--wpb-accent-dark);
	transform: translateY(-2px);
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.28);
}

.wpb-page-cta-link {
	color: rgba(255, 255, 255, 0.94);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.5);
	padding-bottom: 1px;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.wpb-page-cta-link:hover {
	color: #fff;
	border-color: #fff;
}

/* --- Page Main / Content 容器 --- */
.wpb-page-main {
	padding-top: 28px;
	padding-bottom: 28px;
}

.wpb-page-content {
	background: #fff;
	border: 1px solid var(--wpb-line);
	border-radius: var(--wpb-radius-lg);
	padding: 44px 44px !important;
	box-shadow: var(--wpb-shadow);
	color: var(--wpb-ink);
	font-size: 1rem;
	line-height: 1.85;
}

.wpb-page-content > * {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}

.wpb-page-content:has(> .entry-content .wp-block-query) > .entry-content,
.wpb-page-content:has(> .entry-content .wp-block-query) .entry-content :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote, hr) {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.wpb-page-feature {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 0 36px !important;
	border-radius: var(--wpb-radius);
	overflow: hidden;
	box-shadow: var(--wpb-shadow-lg);
}

.wpb-page-feature img {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

/* --- Content 深度排版 --- */
.wpb-page-content h2 {
	font-size: 1.75rem;
	font-weight: 800;
	margin: 48px auto 18px;
	color: var(--wpb-ink);
	letter-spacing: -0.02em;
	position: relative;
	padding-bottom: 12px;
	max-width: 760px;
}

.wpb-page-content h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 56px;
	height: 4px;
	border-radius: 999px;
	background: var(--wpb-grad-amber);
}

.wpb-page-content h2:first-child {
	margin-top: 0;
}

.wpb-page-content h3 {
	font-size: 1.375rem;
	font-weight: 700;
	margin: 32px auto 14px;
	color: var(--wpb-ink);
	max-width: 760px;
}

.wpb-page-content h4 {
	font-size: 1.125rem;
	font-weight: 700;
	margin: 24px auto 10px;
	color: var(--wpb-ink-soft);
	max-width: 760px;
}

.wpb-page-content p {
	margin: 0 auto 18px;
	max-width: 760px;
	color: var(--wpb-ink-soft);
	line-height: 1.9;
}

.wpb-page-content p:has(strong:first-child):first-of-type {
	background: var(--wpb-surface);
	border-left: 4px solid var(--wpb-primary);
	border-radius: 0 10px 10px 0;
	padding: 14px 18px;
	font-size: 1rem;
	color: var(--wpb-ink);
}

.wpb-page-content a {
	color: var(--wpb-primary);
	text-decoration: none;
	border-bottom: 1px solid rgba(232, 99, 10, 0.35);
	transition: color 0.2s ease, border-color 0.2s ease;
}

.wpb-page-content a:hover {
	color: var(--wpb-accent-dark);
	border-bottom-color: var(--wpb-accent-dark);
}

/* 列表：卡片化 */
.wpb-page-content ul,
.wpb-page-content ol {
	max-width: 760px;
	margin: 0 auto 24px;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}

.wpb-page-content ul li,
.wpb-page-content ol li {
	position: relative;
	padding: 14px 18px 14px 50px;
	background: var(--wpb-surface);
	border: 1px solid var(--wpb-line);
	border-radius: 12px;
	color: var(--wpb-ink-soft);
	line-height: 1.7;
	transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.wpb-page-content ul li:hover,
.wpb-page-content ol li:hover {
	transform: translateX(4px);
	border-color: rgba(232, 99, 10, 0.3);
	background: #fff;
}

.wpb-page-content ul li::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--wpb-grad-amber);
	box-shadow: 0 4px 10px rgba(232, 99, 10, 0.28);
}

.wpb-page-content ul li::after {
	content: "";
	position: absolute;
	left: 24px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 6px;
	height: 12px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
}

.wpb-page-content ol {
	counter-reset: wpb-ol;
}

.wpb-page-content ol li {
	counter-increment: wpb-ol;
	padding-left: 56px;
}

.wpb-page-content ol li::before {
	content: counter(wpb-ol);
	background: var(--wpb-grad-ember);
	color: #fff;
	font-weight: 800;
	font-size: 0.875rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	left: 14px;
	box-shadow: 0 4px 10px rgba(36, 24, 19, 0.25);
}

.wpb-page-content ol li::after {
	display: none;
}

.wpb-page-content ul li strong,
.wpb-page-content ol li strong {
	color: var(--wpb-ink);
	font-weight: 700;
}

.wpb-page-content blockquote {
	max-width: 760px;
	margin: 28px auto;
	padding: 20px 24px 20px 28px;
	background: linear-gradient(135deg, #FFF6EB 0%, #FFE9D0 100%);
	border-left: 5px solid var(--wpb-primary);
	border-radius: 0 14px 14px 0;
	color: var(--wpb-ink);
	font-style: italic;
	font-size: 1.125rem;
	box-shadow: 0 8px 22px rgba(232, 99, 10, 0.12);
}

.wpb-page-content blockquote p {
	margin: 0;
	color: var(--wpb-ink);
}

.wpb-page-content figure {
	max-width: 900px;
	margin: 28px auto;
	border-radius: var(--wpb-radius);
	overflow: hidden;
	box-shadow: var(--wpb-shadow-lg);
}

.wpb-page-content figcaption {
	padding: 10px 16px;
	background: var(--wpb-surface);
	font-size: 0.875rem;
	color: var(--wpb-muted);
	text-align: center;
}

/*
 * 正文图片：CWV 兜底（图片 SEO / CWV 基线）。
 * 防 CLS 的关键在 HTML 层 —— img 必须带 width/height 让浏览器提前算出宽高比；
 * 这里只负责「不溢出、不变形」，并给加载中的图一个浅色占位底，避免闪白。
 */
.wpb-page-content .wp-block-image img,
.wpb-page-content figure.wp-block-image img {
	display: block;
	max-width: 100%;
	height: auto;
	background: #eef1f4;
}

.wpb-page-content pre,
.wpb-page-content code {
	font-family: "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
	font-size: 0.92em;
}

.wpb-page-content code {
	background: var(--wpb-surface);
	border: 1px solid var(--wpb-line);
	border-radius: 5px;
	padding: 1px 6px;
	color: var(--wpb-primary-dark);
}

.wpb-page-content pre {
	background: #1B110C;
	color: #FCE9D5;
	border-radius: var(--wpb-radius);
	padding: 20px 22px;
	overflow-x: auto;
	line-height: 1.6;
	margin: 24px auto;
}

.wpb-page-content pre code {
	background: none;
	border: none;
	padding: 0;
	color: inherit;
}

.wpb-page-content table {
	max-width: 900px;
	width: 100%;
	margin: 24px auto;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--wpb-line);
	border-radius: 12px;
	overflow: hidden;
	font-size: 0.875rem;
}

.wpb-page-content th,
.wpb-page-content td {
	padding: 12px 14px;
	text-align: left;
	border-bottom: 1px solid var(--wpb-line);
}

.wpb-page-content th {
	background: var(--wpb-surface);
	font-weight: 700;
	color: var(--wpb-ink);
}

.wpb-page-content tr:last-child td {
	border-bottom: none;
}

.wpb-page-content hr {
	max-width: 760px;
	margin: 36px auto;
	border: none;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--wpb-line) 30%, var(--wpb-line) 70%, transparent);
}

/* 标签 */
.wpb-page-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	max-width: 760px;
	margin: 28px auto 0 !important;
	padding-top: 22px;
	border-top: 1px solid var(--wpb-line);
	list-style: none;
}

.wpb-page-tags a {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--wpb-surface);
	border: 1px solid var(--wpb-line);
	color: var(--wpb-ink-soft);
	font-size: 0.875rem;
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.wpb-page-tags a:hover {
	color: var(--wpb-primary);
	border-color: rgba(232, 99, 10, 0.4);
	background: #fff;
}

/* --- Page 底部 CTA 横幅 --- */
.wpb-page-cta {
	position: relative;
	overflow: hidden;
	background: var(--wpb-grad-amber);
	border-radius: var(--wpb-radius-lg);
	text-align: center;
	color: #fff;
	box-shadow: 0 24px 64px rgba(232, 99, 10, 0.36);
	padding: 56px 36px !important;
	margin-top: 28px;
}

.wpb-page-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, 0.16) 1px, transparent 1px);
	background-size: 22px 22px;
	pointer-events: none;
}

.wpb-page-cta::after {
	content: "";
	position: absolute;
	right: -120px;
	top: -120px;
	width: 340px;
	height: 340px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.22) 0%, transparent 70%);
	pointer-events: none;
}

.wpb-page-cta > * {
	position: relative;
	z-index: 1;
}

.wpb-page-cta h2 {
	color: #fff;
	font-size: clamp(1.6rem, 3.2vw, 2.2rem);
	margin: 0 0 10px;
}

.wpb-page-cta p {
	color: rgba(255, 255, 255, 0.95);
	font-size: 1rem;
	max-width: 620px;
	margin: 0 auto 22px;
}

.wpb-page-cta .wp-block-button__link {
	background: #fff;
	color: var(--wpb-accent-dark);
	font-size: 1rem;
	padding: 12px 32px;
	box-shadow: 0 12px 28px rgba(193, 75, 6, 0.32);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wpb-page-cta .wp-block-button__link:hover {
	background: var(--wpb-surface);
	transform: translateY(-2px);
	color: var(--wpb-accent-dark);
}

/* --- 文章上下篇导航 --- */
.wpb-post-nav {
	margin-top: 28px;
}

.wpb-post-nav .wp-block-columns {
	gap: 18px;
}

.wpb-post-nav .wp-block-column {
	flex-basis: 50%;
}

.wpb-prev,
.wpb-next {
	display: block;
	background: #fff;
	border: 1px solid var(--wpb-line);
	border-radius: var(--wpb-radius);
	padding: 18px 22px;
	text-decoration: none !important;
	color: var(--wpb-ink) !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
	height: 100%;
}

/* 标签由 wpbiz/post-nav 动态块输出（走 __() 翻译），CSS 不再硬编码中文 */
.wpb-prev::before,
.wpb-next::after {
	content: none;
	display: none;
}

.wpb-post-nav-label {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--wpb-primary);
	margin-bottom: 6px;
	text-transform: uppercase;
}

.wpb-prev:hover,
.wpb-next:hover {
	transform: translateY(-3px);
	box-shadow: var(--wpb-shadow-lg);
	border-color: rgba(232, 99, 10, 0.35);
}

.wpb-prev .post-navigation-link__title,
.wpb-next .post-navigation-link__title,
.wpb-post-nav-title {
	display: block;
	font-weight: 700;
	font-size: 1rem;
	color: var(--wpb-ink);
}

/* --- Archive 网格 --- */
.wpb-archive {
	padding-top: 8px;
	padding-bottom: 40px;
}

.wpb-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.wpb-post-card {
	background: #fff;
	border: 1px solid var(--wpb-line);
	border-radius: var(--wpb-radius);
	overflow: hidden;
	box-shadow: var(--wpb-shadow);
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.wpb-post-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--wpb-shadow-lg);
	border-color: rgba(232, 99, 10, 0.3);
}

.wpb-post-thumb {
	display: block;
	overflow: hidden;
}

.wpb-post-thumb img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.wpb-post-card:hover .wpb-post-thumb img {
	transform: scale(1.06);
}

.wpb-post-card-body {
	padding: 20px 22px 22px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.wpb-post-card-meta {
	display: flex;
	gap: 8px;
	align-items: center;
	font-size: 0.875rem;
	color: var(--wpb-muted);
	margin-bottom: 0;
}

.wpb-post-card h3,
.wpb-post-card .wp-block-post-title {
	font-size: 1.125rem;
	font-weight: 700;
	margin: 0 0 6px !important;
	line-height: 1.35;
}

.wpb-post-card h3 a,
.wpb-post-card .wp-block-post-title a {
	color: var(--wpb-ink) !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.wpb-post-card h3 a:hover,
.wpb-post-card .wp-block-post-title a:hover {
	color: var(--wpb-primary) !important;
}

.wpb-post-card p,
.wpb-post-card .wp-block-post-excerpt {
	color: var(--wpb-muted) !important;
	font-size: 0.875rem;
	line-height: 1.6;
	margin: 0 0 0 !important;
}

.wpb-post-card .wp-block-post-excerpt__excerpt {
	color: var(--wpb-muted) !important;
}

/* 案例卡片 body 容器 */
.wpb-case-card-body {
	padding: 18px 22px 22px;
}

.wpb-case-tag {
	display: inline-block !important;
	margin: 0 0 6px !important;
	padding: 3px 10px !important;
	border-radius: 999px;
	background: var(--wpb-surface);
	border: 1px solid var(--wpb-line);
	color: var(--wpb-primary-dark) !important;
	font-size: 0.75rem !important;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none !important;
}

/* 案例 meta（单页） */
.wpb-case-meta {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px !important;
	margin: 0 auto 28px !important;
	max-width: 760px;
	justify-content: center;
}

.wpb-case-meta a,
.wpb-case-meta .wp-block-post-term {
	display: inline-block;
	background: var(--wpb-surface);
	border: 1px solid var(--wpb-line);
	border-radius: 999px;
	padding: 5px 14px !important;
	font-size: 0.875rem !important;
	color: var(--wpb-ink-soft);
	text-decoration: none !important;
}

.wpb-case-meta time {
	display: inline-block;
	background: var(--wpb-surface);
	border: 1px solid var(--wpb-line);
	border-radius: 999px;
	padding: 5px 14px;
	font-size: 0.875rem;
	color: var(--wpb-ink-soft);
}

/* 分页 */
.wpb-archive .wp-block-query-pagination,
.wpb-archive .is-layout-flex.wp-block-query-pagination {
	justify-content: center;
	margin-top: 28px;
}

.wpb-archive .wp-block-query-pagination-numbers {
	display: inline-flex;
	gap: 6px;
	padding: 0 12px;
}

.wpb-archive .wp-block-query-pagination-numbers a,
.wpb-archive .wp-block-query-pagination-numbers span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border-radius: 8px;
	background: #fff;
	border: 1px solid var(--wpb-line);
	color: var(--wpb-ink-soft);
	font-weight: 600;
	font-size: 0.875rem;
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.wpb-archive .wp-block-query-pagination-numbers a:hover {
	color: var(--wpb-primary);
	border-color: rgba(232, 99, 10, 0.4);
}

.wpb-archive .wp-block-query-pagination-numbers .current {
	background: var(--wpb-grad-amber);
	color: #fff;
	border-color: transparent;
}

.wpb-archive .wp-block-query-pagination-previous,
.wpb-archive .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 0 16px;
	border-radius: 8px;
	background: #fff;
	border: 1px solid var(--wpb-line);
	color: var(--wpb-ink-soft);
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.wpb-archive .wp-block-query-pagination-previous:hover,
.wpb-archive .wp-block-query-pagination-next:hover {
	color: var(--wpb-primary);
	border-color: rgba(232, 99, 10, 0.4);
}

/* --- 404 装饰 --- */
.wpb-404-hero {
	padding: 80px 36px 64px !important;
	text-align: center;
}

.wpb-404-art {
	position: relative;
	display: inline-block;
	margin: 0 auto;
}

.wpb-404-num {
	display: block;
	font-size: clamp(7rem, 18vw, 12rem);
	font-weight: 900;
	line-height: 0.95;
	letter-spacing: -0.06em;
	background: var(--wpb-grad-amber);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	position: relative;
}

.wpb-404-tag {
	display: block;
	text-align: center;
	margin-top: -10px;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	color: rgba(255, 255, 255, 0.7);
}

.wpb-404-glow {
	position: absolute;
	inset: -40px;
	background: radial-gradient(circle, rgba(245, 165, 36, 0.55) 0%, transparent 60%);
	filter: blur(20px);
	z-index: -1;
	animation: wpb-glow 4s ease-in-out infinite;
}

@keyframes wpb-glow {
	0%, 100% { transform: scale(1); opacity: 0.7; }
	50%      { transform: scale(1.1); opacity: 1; }
}

.wpb-404-search {
	display: flex;
	gap: 8px;
	max-width: 460px;
	margin: 22px auto 28px;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.22);
	padding: 6px;
	border-radius: 999px;
	/* 移除 backdrop-filter：避免 Chromium 合成层导致表单点击/输入事件穿透 */
}

.wpb-404-search input {
	flex: 1;
	min-width: 0;
	background: transparent;
	border: none;
	color: #fff;
	padding: 10px 16px;
	font-size: 1rem;
	font-family: inherit;
	outline: none;
}

.wpb-404-search input::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

.wpb-404-search button {
	background: #fff;
	color: var(--wpb-accent-dark);
	border: none;
	padding: 10px 22px;
	border-radius: 999px;
	font-weight: 700;
	cursor: pointer;
	font-size: 0.875rem;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wpb-404-search button:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25);
}

/* 404 outline 按钮（深色 hero 中） */
.wpb-404-hero .is-style-outline .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, 0.55);
}

.wpb-404-hero .is-style-outline .wp-block-button__link:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.1);
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* --- 响应式：page/post/archive --- */
@media (max-width: 1024px) {
	.wpb-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.wpb-page-hero {
		padding: 48px 28px !important;
	}

	.wpb-page-content {
		padding: 28px 22px !important;
	}

	.wpb-page-cta {
		padding: 44px 22px !important;
	}

	.wpb-post-nav .wp-block-column {
		flex-basis: 100%;
	}

	.wpb-prev::before,
	.wpb-next::after {
		font-size: 0.72rem;
	}
}

@media (max-width: 640px) {
	.wpb-post-grid {
		grid-template-columns: 1fr;
	}

	.wpb-404-hero {
		padding: 60px 22px 48px !important;
	}
}

/* =========================================================
   v3 专业级质感升级
   品牌字体 / 导航 CTA / 按钮流光 / reveal & stagger /
   spotlight 光晕 / 技术栈徽章 / 统计数字 / 页脚水印
   ========================================================= */

/* --- 品牌字体：Outfit（拉丁字符），中文自动回退系统字体 --- */
body {
	font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-variant-numeric: tabular-nums;
}

/* --- 页头 CTA 按钮 --- */
.wpb-header-cta {
	margin-left: 4px;
}

.wpb-header-cta .wp-block-button__link {
	padding: 9px 20px;
	font-size: 0.875rem;
	font-weight: 700;
	background: var(--wpb-grad-amber);
	box-shadow: 0 6px 16px rgba(232, 99, 10, 0.28);
}

.wpb-header-cta .wp-block-button__link:hover {
	background: var(--wpb-grad-ember);
	box-shadow: 0 10px 22px rgba(232, 99, 10, 0.38);
}

@media (max-width: 1120px) {
	/* 容器收窄至 1080 后，中屏先收纳 CTA，为导航与语言切换让位 */
	.wpb-header-cta {
		display: none !important;
	}
}

/* --- 按钮流光（sweep shine） --- */
.wp-block-button__link {
	position: relative;
	overflow: hidden;
}

.wp-block-button__link::after {
	content: "";
	position: absolute;
	top: 0;
	left: -90%;
	width: 45%;
	height: 100%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.38), transparent);
	transform: skewX(-20deg);
	transition: left 0.6s ease;
	pointer-events: none;
}

.wp-block-button__link:hover::after {
	left: 135%;
}

/* --- 滚动进入动画（reveal 强化 + hero 只淡入不位移 + 超长正文容器豁免） --- */
.wpb-fade-in {
	opacity: 1;
	transform: none;
	transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

html.wpb-anim .wpb-fade-in:not(.is-visible) {
	opacity: 0;
	transform: translateY(24px);
}

.wpb-fade-in.is-visible {
	opacity: 1;
	transform: none;
}

.wpb-fade-in.wpb-hero,
.wpb-fade-in.wpb-page-hero {
	transform: none;
}

/* 超长正文容器（h ≫ 视口）不做整体淡入：
   其可见占比永远达不到 reveal 阈值 → is-visible 永不触发 → 直接可见（双保险兜底） */
html.wpb-anim .wpb-page-content:not(.is-visible) {
	opacity: 1;
	transform: none;
}

/* stagger：容器内子项依次延迟进入 */
.wpb-stagger > *:nth-child(1) { transition-delay: 0s; }
.wpb-stagger > *:nth-child(2) { transition-delay: 0.08s; }
.wpb-stagger > *:nth-child(3) { transition-delay: 0.16s; }
.wpb-stagger > *:nth-child(4) { transition-delay: 0.24s; }
.wpb-stagger > *:nth-child(5) { transition-delay: 0.32s; }
.wpb-stagger > *:nth-child(6) { transition-delay: 0.4s; }
.wpb-stagger > *:nth-child(n+7) { transition-delay: 0.46s; }

/* --- 卡片鼠标跟随光晕（spotlight） --- */
.wpb-spotlight {
	background-image: radial-gradient(
		420px circle at var(--wpb-spot-x, 50%) var(--wpb-spot-y, 50%),
		rgba(245, 165, 36, 0.14),
		transparent 45%
	);
}

.wpb-spotlight:hover {
	background-image: radial-gradient(
		420px circle at var(--wpb-spot-x, 50%) var(--wpb-spot-y, 50%),
		rgba(245, 165, 36, 0.2),
		transparent 45%
	);
}

/* --- Hero 标题与渐变文字强化 --- */
.wpb-hero h1 {
	font-size: clamp(2.6rem, 6vw, 4.4rem);
}

.wpb-page-hero h1 {
	font-size: clamp(2.3rem, 4.8vw, 3.5rem);
}

.wpb-text-gradient {
	background-size: 180% auto;
	animation: wpb-grad-shift 8s ease-in-out infinite alternate;
}

@keyframes wpb-grad-shift {
	from { background-position: 0% center; }
	to   { background-position: 100% center; }
}

/* --- 技术栈徽章带 --- */
.wpb-tech {
	background: var(--wpb-surface);
	border-block: 1px solid var(--wpb-line);
}

.wpb-tech-label {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wpb-muted);
	margin-bottom: 16px !important;
}

.wpb-tech-badges {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.wpb-tech-badges span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 15px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--wpb-line);
	color: var(--wpb-ink-soft);
	font-size: 0.875rem;
	font-weight: 600;
	box-shadow: 0 2px 8px rgba(36, 24, 19, 0.05);
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.wpb-tech-badges span::before {
	content: "●";
	font-size: 0.55rem;
	color: var(--wpb-primary);
}

.wpb-tech-badges span:hover {
	transform: translateY(-2px);
	border-color: rgba(232, 99, 10, 0.4);
	box-shadow: 0 8px 18px rgba(232, 99, 10, 0.16);
	color: var(--wpb-primary-dark);
}

/* --- 统计数字强化 --- */
.wpb-stats .wpb-stat-num {
	font-size: clamp(2.4rem, 4vw, 3.2rem);
	font-weight: 900;
	background: var(--wpb-grad-ember);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* --- 页脚巨型水印 --- */
.wpb-site-footer {
	position: relative;
	overflow: hidden;
}

.wpb-site-footer::after {
	content: "WPBiz";
	position: absolute;
	right: 18px;
	bottom: 6px;
	font-size: clamp(4rem, 12vw, 9rem);
	font-weight: 900;
	letter-spacing: -0.05em;
	line-height: 1;
	color: rgba(255, 255, 255, 0.035);
	pointer-events: none;
	user-select: none;
	z-index: 0;
}

.wpb-site-footer > * {
	position: relative;
	z-index: 1;
}

/* --- 案例详情 meta 胶囊强化（portfolio 单页） --- */
.wpb-case-meta a,
.wpb-case-meta time,
.wpb-case-meta .wp-block-post-term {
	transition: transform 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.wpb-case-meta a:hover {
	transform: translateY(-2px);
	border-color: rgba(232, 99, 10, 0.4);
	color: var(--wpb-primary);
}

/* --- 归档页 Hero 间距微调 --- */
.wpb-archive {
	padding-top: 4px;
}

@media (prefers-reduced-motion: reduce) {
	.wpb-spotlight,
	.wpb-fade-in,
	.wpb-stagger > * {
		transition-delay: 0s !important;
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

/* =========================================================
   v4 排版系统规范化 —— 字号阶梯统一
   全部字号归一到 :root 定义的阶梯变量：
   xs .75 · sm .875 · base 1 · md 1.125 · lg 1.375 · xl 1.75 · 2xl 2.25 · 3xl 3
   特殊"展示数字"（统计 / 流程编号 / 浮动数据卡 / Hero 大标题）保留大字号特例。
   ========================================================= */

/* --- 区块标题 h2：xl（28px），与正文拉开 1.75× --- */
.wpb-section-title,
.wpb-testimonials h2 {
	font-size: var(--wpb-fs-xl);
	line-height: 1.2;
}

/* --- 卡片标题 h3：md（18px），统一所有卡片 --- */
.wpb-service-card h3,
.wpb-case-card h3,
.wpb-process-step h3,
.wpb-post-card h3,
.wpb-post-card .wp-block-post-title {
	font-size: var(--wpb-fs-md);
	line-height: 1.4;
}

/* --- 文章内容标题阶梯 --- */
.wpb-page-content h2 { font-size: var(--wpb-fs-xl); }
.wpb-page-content h3 { font-size: var(--wpb-fs-lg); }
.wpb-page-content h4 { font-size: var(--wpb-fs-md); }

/* --- 页脚标题：base（页脚为次级层级，克制） --- */
.wpb-site-footer h2,
.wpb-site-footer h3 {
	font-size: var(--wpb-fs-base);
}

/* --- 品牌名 / 强调正文 --- */
.wpb-header-inner .wp-block-site-title { font-size: var(--wpb-fs-lg); }
.wpb-hero .wpb-hero-sub,
.wpb-page-hero p,
.wpb-page-hero .wp-block-post-excerpt__excerpt,
.wpb-testimonial blockquote,
.wpb-page-content blockquote {
	font-size: var(--wpb-fs-md);
}

/* --- 正文统一 base（16px） --- */
.wpb-cta p,
.wpb-page-cta p,
.wpb-form-field input,
.wpb-form-field select,
.wpb-form-field textarea,
.wpb-form-msg,
.wpb-page-content p:has(strong:first-child):first-of-type,
.wpb-404-search input {
	font-size: var(--wpb-fs-base);
}

/* --- 卡片正文统一 sm（14px），标题 18px vs 正文 14px 层次分明 --- */
.wpb-service-card p,
.wpb-case-card .wp-block-post-excerpt,
.wpb-process-step p,
.wpb-post-card p,
.wpb-post-card .wp-block-post-excerpt,
.wpb-site-footer p,
.wpb-footer-contact p,
.wpb-page-content table {
	font-size: var(--wpb-fs-sm);
}

/* --- 辅助 / meta / 标签 / 表单标签：sm（14px） --- */
.wpb-hero-badge,
.wpb-hero-float-label,
.wpb-hero-float-label strong,
.wpb-stats p,
.wpb-case-meta span,
.wpb-testimonial cite,
.wpb-form-field label,
.wpb-form-hint,
.wpb-form-ref,
.wpb-lang-switch,
.wpb-footer-bottom,
.wpb-footer-legal,
.wpb-page-breadcrumb,
.wpb-page-meta,
.wpb-page-tags a,
.wpb-post-card-meta,
.wpb-fbtn-tip,
.wpb-cookie-consent,
.wpb-cookie-btn,
.wpb-header-cta .wp-block-button__link,
.wpb-404-search button,
.wpb-404-tag,
.wpb-tech-badges span,
.wpb-page-content figcaption,
.wpb-page-content ol li::before,
.wpb-case-meta time,
.wpb-case-meta a,
.wpb-case-meta .wp-block-post-term,
.wpb-archive .wp-block-query-pagination-numbers a,
.wpb-archive .wp-block-query-pagination-numbers span,
.wpb-archive .wp-block-query-pagination-previous,
.wpb-archive .wp-block-query-pagination-next {
	font-size: var(--wpb-fs-sm);
}

.wpb-case-meta a,
.wpb-case-meta .wp-block-post-term {
	font-size: var(--wpb-fs-sm) !important;
}

/* --- 极小辅助 xs（12px）：徽章标签 / 导航指示 --- */
.wpb-case-tag,
.wpb-tech-label,
.wpb-prev::before,
.wpb-next::after {
	font-size: var(--wpb-fs-xs);
}

.wpb-case-tag {
	font-size: var(--wpb-fs-xs) !important;
}

/* --- 按钮文字统一 base（16px） --- */
.wpb-hero .wp-block-button__link,
.wpb-cta .wp-block-button__link,
.wpb-page-cta .wp-block-button__link,
.wpb-page-cta-btn {
	font-size: var(--wpb-fs-base);
}

/* --- 移动端降档：标题缩小一号，保持层级 --- */
@media (max-width: 640px) {
	.wpb-hero h1 {
		font-size: clamp(2rem, 8.5vw, 2.6rem);
	}

	.wpb-section-title,
	.wpb-testimonials h2,
	.wpb-page-content h2 {
		font-size: var(--wpb-fs-lg);
	}

	.wpb-page-content h3 {
		font-size: var(--wpb-fs-md);
	}

	.wpb-page-content h4 {
		font-size: var(--wpb-fs-base);
	}

	.wpb-cta h2,
	.wpb-page-cta h2 {
		font-size: clamp(1.5rem, 7vw, 1.75rem);
	}

	.wpb-lang-switch {
		font-size: var(--wpb-fs-xs);
	}

	.wpb-prev::before,
	.wpb-next::after {
		font-size: 0.72rem;
	}
}

/* =========================================================
   v5 修复 Cookie 点击命中 + 顶部菜单科技感滑动
   ========================================================= */

/* --- 修复：Cookie 横幅"OK 点不动" ---
   根因：backdrop-filter 合成层导致点击穿透 / 浮动按钮组 z-index 999 物理贴近。
   对策：cookie 强制独立合成层 + z-index 提至最高 + 浮动按钮整体上移避开。 */
.wpb-cookie-consent {
	z-index: 9999;
	isolation: isolate;
	transform: translateX(-50%) translateZ(0);
	-webkit-transform: translateX(-50%) translateZ(0);
}

.wpb-cookie-btn {
	position: relative;
	z-index: 10;
	pointer-events: auto !important;
}

/* cookie 显示时：fbtn 整体上移 110px，避免物理覆盖 */
body.wpb-has-cookie .wpb-contact-floater {
	bottom: 110px;
	transition: bottom 0.3s ease;
}

body .wpb-contact-floater {
	transition: bottom 0.3s ease;
}

/* --- v5 顶部菜单：科技感滑动指示器 --- */
.wpb-header-inner .wp-block-navigation .wp-block-navigation-item {
	position: relative;
}

.wpb-header-inner .wp-block-navigation > ul > li > a {
	position: relative;
	display: inline-block;
	padding: 8px 14px;
	border-radius: 10px;
	color: var(--wpb-ink-soft);
	font-weight: 500;
	letter-spacing: 0.02em;
	transition: color 0.25s ease;
	overflow: hidden;
	isolation: isolate;
}

/* hover 背景胶囊：从下方弹性浮入 */
.wpb-header-inner .wp-block-navigation > ul > li > a::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 10px;
	background: linear-gradient(135deg, rgba(232, 99, 10, 0.06) 0%, rgba(245, 165, 36, 0.14) 100%);
	border: 1px solid rgba(232, 99, 10, 0.2);
	box-shadow: 0 4px 14px rgba(232, 99, 10, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.5);
	opacity: 0;
	transform: translateY(8px) scale(0.92);
	transition: opacity 0.3s ease, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
	z-index: -1;
}

/* 底部滑动下划线：从左向右 scaleX 展开 */
.wpb-header-inner .wp-block-navigation > ul > li > a::after {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 2px;
	height: 2px;
	background: var(--wpb-grad-amber);
	border-radius: 2px;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

/* hover 触发：文字变橙 + 胶囊浮入 + 下划线滑出 */
.wpb-header-inner .wp-block-navigation > ul > li > a:hover {
	color: var(--wpb-primary);
}

.wpb-header-inner .wp-block-navigation > ul > li > a:hover::before {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.wpb-header-inner .wp-block-navigation > ul > li > a:hover::after {
	transform: scaleX(1);
}

/* 当前项：常驻状态（胶囊 + 下划线 + 品牌色 + 加粗） */
.wpb-header-inner .wp-block-navigation > ul > li.current-menu-item > a,
.wpb-header-inner .wp-block-navigation > ul > li.wp-block-navigation-item.current-menu-item > a {
	color: var(--wpb-primary);
	font-weight: 700;
}

.wpb-header-inner .wp-block-navigation > ul > li.current-menu-item > a::before,
.wpb-header-inner .wp-block-navigation > ul > li.wp-block-navigation-item.current-menu-item > a::before {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.wpb-header-inner .wp-block-navigation > ul > li.current-menu-item > a::after,
.wpb-header-inner .wp-block-navigation > ul > li.wp-block-navigation-item.current-menu-item > a::after {
	transform: scaleX(1);
}

/* --- 子菜单下拉：完整层级 + 清晰层次 --- */

/* 容器：白底卡片 + 阴影 + 列表归零 */
.wpb-header-inner .wp-block-navigation .submenu,
.wpb-header-inner .wp-block-navigation .wp-block-navigation__submenu-container {
	list-style: none;
	margin: 0;
	padding: 8px;
	min-width: 220px;
	width: max-content;
	max-width: 320px;
	background: #fff;
	border-radius: 12px;
	border: 1px solid var(--wpb-line);
	box-shadow: 0 16px 40px rgba(36, 24, 19, 0.12);
	overflow: hidden;
}

/* 父级 li 需要 relative，让子菜单绝对定位贴齐（含 page-list 的 open-on-hover-click） */
.wpb-header-inner .wp-block-navigation > ul > li.has-child,
.wpb-header-inner .wp-block-navigation > ul > li.wp-block-navigation-submenu,
.wpb-header-inner .wp-block-navigation > ul > li.open-on-hover-click {
	position: relative;
}

/* 子菜单定位（桌面下拉）：紧贴父级下方 */
.wpb-header-inner .wp-block-navigation > ul > li > .submenu,
.wpb-header-inner .wp-block-navigation > ul > li > .wp-block-navigation__submenu-container {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 50;
	margin-top: 6px;
}

/* 子菜单项：去除默认 list 样式 + 占满一行 */
.wpb-header-inner .wp-block-navigation .submenu li,
.wpb-header-inner .wp-block-navigation .wp-block-navigation__submenu-container li {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* 子菜单链接：块级 + 内边距 + hover 柔和背景 */
.wpb-header-inner .wp-block-navigation .submenu a,
.wpb-header-inner .wp-block-navigation .wp-block-navigation__submenu-container a {
	display: block;
	padding: 9px 14px;
	line-height: 1.45;
	font-weight: 500;
	font-size: 0.9rem;
	border-radius: 8px;
	white-space: nowrap;
	color: var(--wpb-ink-soft);
	transition: background 0.15s ease, color 0.15s ease;
}
.wpb-header-inner .wp-block-navigation .submenu a:hover,
.wpb-header-inner .wp-block-navigation .wp-block-navigation__submenu-container a:hover {
	background: var(--wpb-bg-soft);
	color: var(--wpb-primary);
}

/* 子菜单链接：移除顶级菜单的胶囊/下划线伪元素，避免视觉错乱 */
.wpb-header-inner .wp-block-navigation .submenu a::before,
.wpb-header-inner .wp-block-navigation .submenu a::after,
.wpb-header-inner .wp-block-navigation .wp-block-navigation__submenu-container a::before,
.wpb-header-inner .wp-block-navigation .wp-block-navigation__submenu-container a::after {
	display: none !important;
	content: none !important;
}

/* 子菜单链接 current：常驻品牌色 + 浅底 */
.wpb-header-inner .wp-block-navigation .submenu .current-menu-item > a,
.wpb-header-inner .wp-block-navigation .wp-block-navigation__submenu-container .current-menu-item > a {
	background: rgba(232, 99, 10, 0.08);
	color: var(--wpb-primary);
	font-weight: 600;
}

/* 移动端 overlay 内子菜单：取消绝对定位，改纵向缩进 */
.wpb-header-inner .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container .submenu,
.wpb-header-inner .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container .wp-block-navigation__submenu-container {
	position: static;
	min-width: 0;
	max-width: none;
	width: auto;
	margin: 0;
	padding: 4px 0 4px 16px;
	background: transparent;
	border: none;
	box-shadow: none;
	border-radius: 0;
	border-left: 2px solid var(--wpb-line);
	margin-left: 12px;
}
.wpb-header-inner .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container .submenu a,
.wpb-header-inner .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container .wp-block-navigation__submenu-container a {
	padding: 7px 14px;
	font-size: 0.92rem;
	border-radius: 6px;
}

/* --- CTA 按钮：禁止文字换行（避免竖排错乱） --- */
.wpb-header-inner .wp-block-buttons.wpb-header-cta {
	flex-shrink: 0;
}
.wpb-header-cta .wp-block-button__link,
.wpb-header-cta .wp-element-button {
	white-space: nowrap;
}

/* --- 父菜单项箭头：与子菜单联动对齐 --- */
.wpb-header-inner .wp-block-navigation .wp-block-navigation-submenu__toggle {
	padding-right: 8px;
}

/* 减少动效偏好 */
@media (prefers-reduced-motion: reduce) {
	.wpb-header-inner .wp-block-navigation > ul > li > a::before,
	.wpb-header-inner .wp-block-navigation > ul > li > a::after {
		transition: none;
	}
}

/* =========================================================
   v5.2 顶部导航整理：单行整齐、不换行、子菜单桌面下拉
   ========================================================= */

/* 顶级菜单强制单行，垂直居中，不换行错乱 */
.wpb-header-inner .wp-block-navigation {
	flex: 0 1 auto;
	min-width: 0;
}

.wpb-header-inner .wp-block-navigation > ul {
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
	gap: 2px;
}

/* page-list 回退的子菜单（open-on-hover-click）：桌面默认隐藏、hover 下拉 */
@media (min-width: 783px) {
	.wpb-header-inner .wp-block-navigation > ul > li.open-on-hover-click > .wp-block-navigation__submenu-container {
		display: none;
	}

	.wpb-header-inner .wp-block-navigation > ul > li.open-on-hover-click:hover > .wp-block-navigation__submenu-container,
	.wpb-header-inner .wp-block-navigation > ul > li.open-on-hover-click:focus-within > .wp-block-navigation__submenu-container {
		display: block;
	}
}

/* 移动端 overlay 内子菜单：取消隐藏，交回核心点击展开逻辑 */
@media (max-width: 782px) {
	.wpb-header-inner .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container .wp-block-page-list li.open-on-hover-click > .wp-block-navigation__submenu-container {
		display: block;
	}
}

/* =========================================================
   v6 页脚整体优化（追加于原页脚样式之后）
   ========================================================= */

/* 容器：拉大上下呼吸空间 */
.wpb-site-footer {
	padding-top: 96px !important;
	padding-bottom: 0 !important;
	overflow: hidden;
}

/* 顶部品牌渐变条：保留原 before，已 OK */

/* 巨字水印：克制版（"WP"两字符，靠右下溢出但不超过一半） */
.wpb-site-footer::after {
	content: "WP";
	right: -0.06em;
	bottom: -0.22em;
	font-size: 14rem;
	line-height: 0.85;
	letter-spacing: -0.05em;
	font-family: 'Inter', system-ui, -apple-system, "Helvetica Neue", sans-serif;
	color: rgba(255, 255, 255, 0.04);
	pointer-events: none;
	user-select: none;
}

/* 三列容器 */
.wpb-footer-cols {
	margin-bottom: 0 !important;
	align-items: flex-start;
}

.wpb-footer-cols > .wp-block-column {
	flex: 1 1 0;
	min-width: 0;
}

.wpb-footer-cols > .wp-block-column:nth-child(1) {
	flex: 1.6 1 0;
}

.wpb-footer-cols > .wp-block-column:nth-child(3) {
	flex: 1.2 1 0;
}

/* 列标题：统一加品牌色短下划线装饰 */
.wpb-site-footer h3 {
	font-size: 1rem !important;
	margin-bottom: 22px !important;
	padding-bottom: 12px !important;
	letter-spacing: 0.02em !important;
	position: relative;
}

.wpb-site-footer h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 28px;
	height: 2px;
	background: var(--wpb-grad-amber);
	border-radius: 2px;
}

/* 品牌列标题：渐变文字 + 略大字号 */
.wpb-footer-brand-title {
	font-size: 1.5rem !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
	background: var(--wpb-grad-amber);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	-webkit-text-fill-color: transparent;
}

.wpb-footer-brand-title::after {
	width: 48px !important;
	height: 3px !important;
}

.wpb-footer-brand-desc {
	max-width: 36ch;
	color: rgba(255, 255, 255, 0.7) !important;
	font-size: 0.92rem !important;
	line-height: 1.85 !important;
}

/* 服务列表：优雅竖排 + hover 左侧滑出橙色短横 */
.wpb-footer-list {
	list-style: none;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
}

.wpb-footer-list li {
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.08);
}

.wpb-footer-list li:last-child {
	border-bottom: 0;
}

.wpb-footer-list a {
	display: block;
	position: relative;
	padding: 10px 0 10px 14px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.92rem;
	transition: color 0.25s ease, padding-left 0.25s ease;
}

.wpb-footer-list a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 0;
	height: 2px;
	background: var(--wpb-accent);
	transform: translateY(-50%);
	transition: width 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.wpb-footer-list a:hover {
	color: var(--wpb-accent);
	padding-left: 22px;
}

.wpb-footer-list a:hover::before {
	width: 10px;
}

/* 联系我们列：来自 contact-info block 输出，含 h3 + p */
.wpb-footer-contact h3 {
	margin-bottom: 22px !important;
}

.wpb-footer-contact p {
	margin: 10px 0 !important;
	font-size: 0.92rem !important;
	color: rgba(255, 255, 255, 0.72) !important;
	line-height: 1.6 !important;
}

.wpb-footer-contact p a {
	color: rgba(255, 255, 255, 0.85);
	transition: color 0.2s ease;
}

.wpb-footer-contact p a:hover {
	color: var(--wpb-accent);
}

/* 底部条：分割线 + 横排（版权左 / 法律链接右） */
.wpb-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	margin-top: 72px;
	padding: 22px 0 32px;
	position: relative;
	z-index: 1;
}

.wpb-footer-bottom-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 24px;
}

/* 版权段落（来自 wpbiz/copyright block） */
.wpb-footer-bottom-inner > p {
	margin: 0 !important;
	font-size: 0.85rem !important;
	color: rgba(255, 255, 255, 0.5) !important;
	letter-spacing: 0.02em;
}

/* 法律链接：横排 + 圆点分隔 */
.wpb-footer-legal {
	font-size: 0.85rem !important;
	color: rgba(255, 255, 255, 0.5) !important;
	margin: 0 !important;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px 6px;
	align-items: center;
}

.wpb-footer-legal a {
	color: rgba(255, 255, 255, 0.6) !important;
	padding: 2px 4px;
	transition: color 0.2s ease;
}

.wpb-footer-legal a:hover {
	color: var(--wpb-accent) !important;
}

.wpb-legal-sep {
	color: rgba(255, 255, 255, 0.25) !important;
	font-size: 0.9rem;
	user-select: none;
}

/* 站点资源链接（Sitemap / llms.txt / llms-full.txt / RSS）：
   面向 AI 搜索引擎的机器可读入口，视觉上与法律链接同一层级、更弱一档。 */
.wpb-footer-resources {
	font-size: 0.85rem !important;
	color: rgba(255, 255, 255, 0.42) !important;
	margin: 0 !important;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px 6px;
	align-items: center;
}

.wpb-footer-resources a {
	color: rgba(255, 255, 255, 0.5) !important;
	padding: 2px 4px;
	transition: color 0.2s ease;
}

.wpb-footer-resources a:hover {
	color: var(--wpb-accent) !important;
}

/* 移动端：列单列堆叠 */
@media (max-width: 768px) {
	.wpb-site-footer {
		padding-top: 72px !important;
	}

	.wpb-footer-cols {
		flex-direction: column !important;
		gap: 36px !important;
	}

	.wpb-footer-cols > .wp-block-column {
		flex: 1 1 100% !important;
		width: 100%;
	}

	.wpb-footer-bottom {
		margin-top: 48px;
		padding: 22px 0 28px;
	}

	.wpb-footer-bottom-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	.wpb-site-footer::after {
		font-size: 10rem;
		right: -0.1em;
		bottom: -0.18em;
	}
}

/* 中等屏幕：列宽自适应 */
@media (max-width: 1024px) and (min-width: 769px) {
	.wpb-footer-cols > .wp-block-column:nth-child(1) {
		flex: 1.4 1 0;
	}
	.wpb-footer-cols > .wp-block-column:nth-child(2) {
		flex: 1 1 0;
	}
	.wpb-footer-cols > .wp-block-column:nth-child(3) {
		flex: 1 1 0;
	}
}

/* =========================================================
   v7 高清专业化升级
   设计 token / 全局渲染 / 区块标题 / 按钮 / 卡片 /
   深色区 / 表单焦点 / 页头玻璃
   ========================================================= */

/* --- 1. 设计 token 扩充：动效曲线 / 精致阴影 / 焦点环 --- */
:root {
	--wpb-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--wpb-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
	--wpb-focus-ring: 0 0 0 4px rgba(232, 99, 10, 0.16);
	--wpb-shadow-card: 0 1px 2px rgba(36, 24, 19, 0.05), 0 12px 32px rgba(36, 24, 19, 0.08);
	--wpb-shadow-pop: 0 2px 6px rgba(36, 24, 19, 0.07), 0 22px 48px rgba(36, 24, 19, 0.14);
}

/* --- 2. 全局高清渲染：字形特性 + 页面极淡暖底 --- */
body {
	font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
	letter-spacing: 0.002em;
	background-color: #FFFDFA;
}

h1, h2, h3, h4, h5, h6 {
	font-feature-settings: "kern" 1, "liga" 1;
}

/* 标题字距精调：大标题收紧，小标题微收 */
h1 { letter-spacing: -0.032em; }
h2 { letter-spacing: -0.026em; }
h3 { letter-spacing: -0.018em; }

/* --- 3. 区块标题系统：字号提升 + 上下双装饰线 --- */
.wpb-section-title {
	font-size: var(--wpb-fs-2xl) !important;
	margin-bottom: 20px !important;
}

/* 上方：发光短横线 */
.wpb-section-title::before {
	content: "";
	display: block;
	width: 44px;
	height: 4px;
	margin: 0 auto 18px;
	border-radius: 999px;
	background: var(--wpb-grad-amber);
	box-shadow: 0 2px 12px rgba(232, 99, 10, 0.45);
}

/* 下方：渐变短横线（保留既有 .::after，改细改淡） */
.wpb-section-title::after {
	width: 26px;
	height: 2px;
	background: linear-gradient(90deg, var(--wpb-primary), transparent);
	margin-top: 14px;
	opacity: 0.6;
}

/* 区块副标题：加大 + 提高对比 */
.wpb-section-sub {
	font-size: var(--wpb-fs-md) !important;
	color: var(--wpb-ink-soft) !important;
}

/* --- 4. 按钮体系：双层光影 + 按压反馈 + 焦点环 --- */
.wp-block-button__link {
	box-shadow:
		0 8px 22px rgba(232, 99, 10, 0.32),
		inset 0 1px 0 rgba(255, 255, 255, 0.28),
		inset 0 -1px 0 rgba(0, 0, 0, 0.12);
	transition: transform 0.25s var(--wpb-ease), box-shadow 0.25s ease, background-color 0.25s ease, color 0.25s ease;
}

.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow:
		0 14px 30px rgba(232, 99, 10, 0.42),
		inset 0 1px 0 rgba(255, 255, 255, 0.35),
		inset 0 -1px 0 rgba(0, 0, 0, 0.1);
}

.wp-block-button__link:active {
	transform: translateY(0) scale(0.97);
	box-shadow:
		0 4px 14px rgba(232, 99, 10, 0.3),
		inset 0 2px 6px rgba(0, 0, 0, 0.12);
}

.wp-block-button__link:focus-visible {
	outline: 2px solid var(--wpb-primary);
	outline-offset: 3px;
	box-shadow: var(--wpb-focus-ring);
}

/* CTA 区白色按钮：内高光适配 */
.wpb-cta .wp-block-button__link {
	box-shadow:
		0 12px 28px rgba(193, 75, 6, 0.35),
		inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

/* --- 5. 服务卡片：细腻渐变 + 顶部光条发光 + inset 描边 --- */
.wpb-service-card {
	border-color: rgba(240, 226, 210, 0.85);
	box-shadow: var(--wpb-shadow-card);
	background-image: linear-gradient(180deg, #ffffff 0%, #FFFDFB 100%);
}

.wpb-service-card::before {
	height: 3px;
	box-shadow: 0 1px 8px rgba(232, 99, 10, 0.45);
}

.wpb-service-card:hover {
	transform: translateY(-8px);
	border-color: rgba(232, 99, 10, 0.3);
	box-shadow:
		var(--wpb-shadow-pop),
		inset 0 0 0 1px rgba(232, 99, 10, 0.18);
}

/* 服务图标：内部高光 + 底部色晕 */
.wpb-service-icon {
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.9),
		inset 0 -1px 0 rgba(232, 99, 10, 0.08),
		0 10px 22px rgba(232, 99, 10, 0.14);
}

/* --- 6. 案例卡片：阴影精致化 + inset 描边 --- */
.wpb-case-card {
	box-shadow: var(--wpb-shadow-card);
}

.wpb-case-card:hover {
	transform: translateY(-7px);
	box-shadow:
		var(--wpb-shadow-pop),
		inset 0 0 0 1px rgba(232, 99, 10, 0.18);
}

/* --- 7. 客户评价：深色玻璃卡 + 星标发光 --- */
.wpb-testimonial {
	box-shadow:
		0 20px 44px rgba(0, 0, 0, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.wpb-testimonial:hover {
	transform: translateY(-6px);
	border-color: rgba(245, 165, 36, 0.45);
	box-shadow:
		0 26px 54px rgba(0, 0, 0, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.wpb-t-stars {
	filter: drop-shadow(0 2px 6px rgba(245, 165, 36, 0.5));
}

/* --- 8. 流程数字：圆形高光立体感 --- */
.wpb-process-num {
	box-shadow:
		0 12px 28px rgba(232, 99, 10, 0.4),
		inset 0 2px 0 rgba(255, 255, 255, 0.35),
		inset 0 -2px 4px rgba(193, 75, 6, 0.35);
}

/* --- 9. 统计数字：微弱橙色光晕 --- */
.wpb-stats .wpb-stat-num {
	filter: drop-shadow(0 6px 18px rgba(232, 99, 10, 0.2));
}

/* --- 10. 页头：玻璃质感增强 --- */
.wpb-site-header {
	background: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(18px) saturate(1.6);
	-webkit-backdrop-filter: blur(18px) saturate(1.6);
}

.wpb-site-header.is-scrolled {
	background: rgba(255, 255, 255, 0.92);
}

/* --- 11. 表单：输入内阴影 + 焦点光环强化 --- */
.wpb-form-field input[type="text"],
.wpb-form-field input[type="email"],
.wpb-form-field input[type="tel"],
.wpb-form-field select,
.wpb-form-field textarea {
	box-shadow: inset 0 2px 4px rgba(36, 24, 19, 0.04);
}

.wpb-form-field input:focus,
.wpb-form-field select:focus,
.wpb-form-field textarea:focus {
	border-color: var(--wpb-primary);
	box-shadow:
		inset 0 1px 2px rgba(36, 24, 19, 0.04),
		0 0 0 4px rgba(232, 99, 10, 0.16);
}

/* --- 12. Hero：徽章发光 + 副标题对比提升 --- */
.wpb-hero-badge {
	box-shadow:
		0 8px 24px rgba(0, 0, 0, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.22);
	letter-spacing: 0.08em;
}

.wpb-hero .wpb-hero-sub {
	color: rgba(255, 255, 255, 0.92);
	font-size: 1.1875rem;
}

/* --- 13. 全局焦点可见性：统一光晕 --- */
a:focus-visible,
button:focus-visible {
	box-shadow: var(--wpb-focus-ring);
}

/* --- 14. 减少动效偏好适配 --- */
@media (prefers-reduced-motion: reduce) {
	.wp-block-button__link,
	.wpb-service-card,
	.wpb-case-card,
	.wpb-testimonial {
		transition: none;
	}
}

/* =========================================================
   v8 排版精修 —— 版块节奏统一，消除"松垮感"
   原则：建立统一间距系统，让每个版块呼吸一致、
   标题区对齐、卡片等高、卡片式版块与带状版块层次分明。
   ========================================================= */

/* --- 1. 间距系统 --- */
:root {
	--wpb-pad-section: clamp(64px, 8vw, 96px);   /* 标准内容版块（services/cases/process/testimonials） */
	--wpb-pad-band: clamp(28px, 3.5vw, 40px);    /* 紧凑分隔带（tech/stats） */
	--wpb-pad-title: clamp(36px, 4vw, 48px);     /* 标题区 → 内容 */
	--wpb-pad-hero: clamp(64px, 8vw, 104px);     /* Hero 开场 */
}

/* --- 2. 版块垂直留白统一（覆盖模板内联值，建立节奏：
        hero 大 → 分隔带紧凑 → 主版块标准 → CTA 标准） --- */
.wpb-tech  { padding-block: var(--wpb-pad-band) !important; }
.wpb-stats { padding-block: var(--wpb-pad-band) !important; }
.wpb-services,
.wpb-cases,
.wpb-process,
.wpb-testimonials {
	padding-block: var(--wpb-pad-section) !important;
}
.wpb-cta    { padding-block: var(--wpb-pad-section) !important; }
.wpb-hero   { padding-block: var(--wpb-pad-hero) !important; }

/* --- 3. 版块标题区统一 --- */

/* 3a. 副标题：此前只有 max-width 未加 margin auto，文本块实际靠左 → 修正居中 */
.wpb-section-sub {
	margin-inline: auto !important;
	margin-bottom: var(--wpb-pad-title) !important;
}

/* 3b. 无副标题的版块（testimonials）：由标题撑起与内容的间距 */
.wpb-testimonials > .wpb-section-title {
	margin-bottom: var(--wpb-pad-title) !important;
}

/* --- 4. 卡片体系统一：等高 + 内边距 + 内部节奏 --- */

/* 4a. 服务卡片：flex 纵向排列，让 "Learn More" 全部贴底对齐 */
.wpb-service-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 28px 26px !important;
}
.wpb-service-card h3 { margin-bottom: 10px !important; }
.wpb-service-card > p { margin-bottom: 0 !important; }
.wpb-card-more { margin-top: 18px !important; }

/* 4b. 案例卡片：等高 + 描述区弹性占位 */
.wpb-case-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.wpb-case-card .wp-block-post-excerpt {
	flex-grow: 1;
	padding: 0 22px 24px;
}
.wpb-case-card h3 { margin-top: 18px !important; margin-bottom: 8px !important; }

/* 4c. 客户评价卡片：内边距与其他卡片统一 */
.wpb-testimonial { padding: 28px 26px !important; }

/* 4d. 流程步骤：数字圆与内容节奏 */
.wpb-process-step { padding-block: 6px !important; }
.wpb-process-num { margin-bottom: 18px !important; }
.wpb-process-step h3 { margin-bottom: 10px !important; }
.wpb-process-step p { margin-bottom: 0 !important; }

/* --- 5. 卡片式版块与相邻版块拉开呼吸空间（hero/testimonials/cta 是圆角卡片）
        注意：卡片外间距与相邻整版版块的 padding 会叠加，取小值避免空隙过大 --- */
.wpb-hero  { margin-bottom: var(--wpb-pad-band) !important; }
.wpb-testimonials,
.wpb-cta   { margin-block: 56px !important; }

/* --- 6. CTA 内部节奏：标题→副文案→按钮 阶梯一致 --- */
.wpb-cta h2 { margin-bottom: 14px !important; }
.wpb-cta p  { margin-bottom: 30px !important; }

/* --- 7. Hero 内部微调：按钮区收紧，底部不再悬空 --- */
.wpb-hero .wp-block-buttons { margin-top: 34px !important; }
.wpb-hero-badge { margin-bottom: 22px !important; }

/* --- 8. 统计带：数字与标签间距、列内垂直居中 --- */
.wpb-stats .wp-block-column { padding-block: 14px !important; }
.wpb-stats .wpb-stat-num { margin-bottom: 8px !important; }

/* --- 9. 移动端收紧：版块留白降档，保持节奏比例 --- */
@media (max-width: 640px) {
	.wpb-hero { padding-block: 52px !important; }

	.wpb-services,
	.wpb-cases,
	.wpb-process,
	.wpb-testimonials,
	.wpb-cta {
		padding-block: clamp(48px, 12vw, 64px) !important;
	}

	.wpb-section-sub,
	.wpb-testimonials > .wpb-section-title {
		margin-bottom: 32px !important;
	}

	.wpb-testimonials,
	.wpb-cta {
		margin-block: 36px !important;
	}
}

/* =========================================================
   v9 Cookie 横幅可点性加固 —— 诊断徽标 + 右上角 ✕ 关闭
   ========================================================= */

/* ✕ 关闭按钮：独立定位在横幅右上角，不占 flex 流 */
.wpb-cookie-close {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 22px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	background: rgba(255, 255, 255, 0.14);
	color: rgba(255, 255, 255, 0.85);
	border-radius: 50%;
	font-size: 10px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	pointer-events: auto !important;
	z-index: 20;
	transition: background 0.2s ease;
}
.wpb-cookie-close:hover {
	background: rgba(255, 255, 255, 0.3);
	color: #fff;
}

/* 版本徽标：诊断用，刷新后可见 "1.0.3" 即代表新版代码生效 */
.wpb-cookie-ver {
	position: absolute;
	right: 38px;
	bottom: 5px;
	font-size: 9px;
	letter-spacing: 0.5px;
	color: rgba(255, 255, 255, 0.32);
	font-family: Consolas, Monaco, monospace;
	user-select: none;
	pointer-events: none;
}

/* 横幅内容右侧留出 ✕ 的空间，避免文字被盖 */
.wpb-cookie-consent {
	padding-right: 34px !important;
}
.wpb-cookie-text {
	padding-right: 6px;
}

/* ★ 根因修复：横幅用 hidden 属性控制显示，但 display:flex 会覆盖浏览器
   对 [hidden] 的默认隐藏（UA 样式优先级低于作者样式），导致点了 OK/✕ 后
   横幅依然可见。强制为 [hidden] 状态补充隐藏规则。 */
.wpb-cookie-consent[hidden] {
	display: none !important;
}

/* =========================================================
   产品案例轮播（首页）
   无 JS 兜底：视口可原生横向滚动 + scroll-snap
   ========================================================= */
.wpb-case-carousel {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding: 6px 0 10px;
}

.wpb-case-carousel .wpb-case-viewport {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	scroll-snap-type: x mandatory;
}
.wpb-case-carousel .wpb-case-viewport::-webkit-scrollbar {
	display: none;
}

.wpb-case-carousel.is-ready .wpb-case-viewport {
	overflow: hidden;
	scroll-snap-type: none;
}

.wpb-case-track {
	display: flex;
	align-items: stretch;
	list-style: none;
	margin: 0;
	padding: 0;
	scroll-snap-type: x mandatory;
}

.wpb-case-slide {
	flex: 0 0 33.3333%;
	max-width: 33.3333%;
	padding: 4px 12px;
	box-sizing: border-box;
	scroll-snap-align: start;
}
.wpb-case-carousel.is-ready .wpb-case-track {
	transition: transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.wpb-case-slide .wpb-case-card {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.wpb-case-slide .wpb-case-card-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 16px 20px 20px;
}

.wpb-case-slide .wpb-case-card h3 {
	padding: 0;
	margin: 12px 0 10px;
}

/* 卡片内评分行（星 + 数字） */
.wpb-case-stars-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
}
.wpb-rating-stars {
	position: relative;
	display: inline-block;
	line-height: 1;
	font-size: 15px;
	letter-spacing: 3px;
}
.wpb-rating-bg {
	color: #d8dde4;
}
.wpb-rating-fg {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	white-space: nowrap;
	color: #f5a524;
	text-shadow: 0 0 6px rgba(245, 165, 36, 0.35);
}
.wpb-rating-num {
	font-size: 0.8125rem;
	font-weight: 700;
	color: #c2470a;
	background: rgba(232, 99, 10, 0.1);
	border-radius: 999px;
	padding: 2px 8px;
}

/* 客户一句话评价 */
.wpb-case-quote {
	margin: 0 0 10px;
	color: #6b7280;
	font-size: 0.875rem;
	line-height: 1.65;
}
.wpb-case-quote::before {
	content: '“';
	color: var(--wpb-primary);
	font-size: 1.15em;
}
.wpb-case-result {
	margin: 0 0 12px;
	color: var(--wpb-primary);
	font-size: 0.8125rem;
	font-weight: 600;
}
.wpb-case-foot {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin-top: auto;
	padding-top: 12px;
	font-size: 0.8125rem;
	color: #6b7280;
	border-top: 1px dashed var(--wpb-line);
}
.wpb-case-slide .wpb-card-more {
	margin-top: 12px;
	font-size: 0.875rem;
}

/* 无封面时的品牌渐变占位 */
.wpb-case-ph {
	aspect-ratio: 16 / 10;
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		radial-gradient(120% 120% at 85% 0%, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0) 45%),
		linear-gradient(135deg, #f07a24 0%, #e8630a 55%, #b84505 100%);
	color: rgba(255, 255, 255, 0.95);
	font-size: 2.4rem;
	font-weight: 800;
	letter-spacing: 0.02em;
}
.wpb-case-slide .wpb-case-thumb a {
	display: block;
}
.wpb-case-slide .wpb-case-thumb a,
.wpb-case-slide .wpb-case-thumb img,
.wpb-case-slide .wpb-case-thumb .wpb-case-ph {
	width: 100%;
}

/* 案例详情页 meta 里的评分徽章 + 客户评价块 */
.wpb-case-meta .wpb-case-rating {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
.wpb-case-meta .wpb-case-stars {
	color: #f5a524;
	letter-spacing: 2px;
	font-size: 0.9em;
}
.wpb-case-review {
	margin-top: 20px;
	padding: 14px 20px;
	background: #fff8ef;
	border-left: 3px solid var(--wpb-primary);
	border-radius: 0 12px 12px 0;
}
.wpb-case-review blockquote {
	margin: 0;
	border: 0;
	padding: 0;
}
.wpb-case-review blockquote p {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.75;
	color: var(--wpb-ink);
}
.wpb-case-review cite {
	display: block;
	margin-top: 8px;
	font-size: 0.85rem;
	font-style: normal;
	color: #9aa1a8;
}

/* 方向按钮 */
.wpb-case-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin-top: 26px;
}
.wpb-case-prev,
.wpb-case-next {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--wpb-line);
	border-radius: 50%;
	background: #fff;
	color: var(--wpb-ink);
	box-shadow: var(--wpb-shadow);
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.wpb-case-prev:hover,
.wpb-case-next:hover {
	background: var(--wpb-primary);
	border-color: var(--wpb-primary);
	color: #fff;
	transform: translateY(-2px);
}
.wpb-case-prev:disabled,
.wpb-case-next:disabled {
	opacity: 0.4;
	cursor: not-allowed;
	transform: none;
	pointer-events: none;
}

/* 圆点 */
.wpb-case-dots {
	display: flex;
	align-items: center;
	gap: 8px;
}
.wpb-case-dots button {
	width: 9px;
	height: 9px;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: #d3d8de;
	cursor: pointer;
	transition: width 0.25s ease, background 0.25s ease;
}
.wpb-case-dots button.is-active {
	width: 26px;
	background: var(--wpb-primary);
}

.wpb-case-carousel.is-empty .wpb-case-nav {
	display: none;
}

/* 响应式 */
@media (max-width: 1023.98px) {
	.wpb-case-slide {
		flex: 0 0 50%;
		max-width: 50%;
	}
}
@media (max-width: 639.98px) {
	.wpb-case-slide {
		flex: 0 0 100%;
		max-width: 100%;
		padding: 4px 4px;
	}
	.wpb-case-prev,
	.wpb-case-next {
		width: 38px;
		height: 38px;
	}
}

/* =========================================================
   v1.1.1 — 浮动联系按钮：质感升级 + hover 名称气泡 + 微信二维码弹窗
   ========================================================= */
.wpb-contact-floater {
	gap: 12px;
}

/* 按钮：品牌渐变 + 顶部高光 + 分层阴影 */
.wpb-fbtn {
	position: relative;
	border: 1px solid rgba(255, 255, 255, 0.22);
	background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0));
	box-shadow: 0 6px 18px rgba(36, 24, 19, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.28);
	transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease, background-color 0.22s ease;
}

.wpb-fbtn:hover,
.wpb-fbtn:focus-visible {
	transform: translateY(-3px) scale(1.08);
	box-shadow: 0 14px 30px rgba(36, 24, 19, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.35);
	filter: saturate(1.08) brightness(1.03);
	outline: none;
}

/* 渠道配色 → 品牌渐变 */
.wpb-fbtn-wa  { background-color: #1bb25a; background-image: linear-gradient(145deg, #2fe37b 0%, #17a550 100%); }
.wpb-fbtn-wx  { background-color: #06a04c; background-image: linear-gradient(145deg, #1ed972 0%, #069e4c 100%); }
.wpb-fbtn-qq  { background-color: #0fa0d6; background-image: linear-gradient(145deg, #2cc6ff 0%, #0b92c6 100%); }
.wpb-fbtn-tg  { background-color: #1f9dd8; background-image: linear-gradient(145deg, #3fb9ee 0%, #1a8ec6 100%); }
.wpb-fbtn-tel { background-color: #54647d; background-image: linear-gradient(145deg, #6d7f9a 0%, #46546b 100%); }
.wpb-fbtn-mail { background-color: #e8630a; background-image: linear-gradient(145deg, #ff9b2f 0%, #ef6a0c 100%); }

/* 兜底：双类名特异性 + !important 锁死所有渠道颜色（防任何第三方/缓存/简写属性覆盖） */
.wpb-contact-floater .wpb-fbtn-qq  { background: linear-gradient(145deg, #2cc6ff 0%, #0b92c6 100%) !important; color: #fff !important; }
.wpb-contact-floater .wpb-fbtn-tg  { background: linear-gradient(145deg, #3fb9ee 0%, #1a8ec6 100%) !important; color: #fff !important; }
.wpb-contact-floater .wpb-fbtn-tel { background: linear-gradient(145deg, #6d7f9a 0%, #46546b 100%) !important; color: #fff !important; }
.wpb-contact-floater .wpb-fbtn-wa  { background: linear-gradient(145deg, #2fe37b 0%, #17a550 100%) !important; color: #fff !important; }
.wpb-contact-floater .wpb-fbtn-wx  { background: linear-gradient(145deg, #1ed972 0%, #069e4c 100%) !important; color: #fff !important; }
.wpb-contact-floater .wpb-fbtn-mail { background: linear-gradient(145deg, #ff9b2f 0%, #ef6a0c 100%) !important; color: #fff !important; }

/* 文字徽标（QQ / 微信「微」）微调 */
.wpb-fbtn-qq {
	font-size: 0.92rem;
	font-style: italic;
	letter-spacing: 0;
}
.wpb-fbtn-wx {
	font-size: 1.15rem;
	font-weight: 700;
}

/* hover / focus 名称气泡（跟随 data-name，支持多语言） */
.wpb-fbtn::after {
	content: attr(data-name);
	position: absolute;
	top: 50%;
	right: calc(100% + 14px);
	transform: translateY(-50%) translateX(6px);
	white-space: nowrap;
	background: rgba(28, 18, 14, 0.92);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1;
	padding: 8px 12px;
	border-radius: 999px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.wpb-fbtn:hover::after,
.wpb-fbtn:focus-visible::after {
	opacity: 1;
	visibility: visible;
	transform: translateY(-50%) translateX(0);
}

/* 触屏设备无 hover，隐藏名称气泡 */
@media (hover: none) {
	.wpb-fbtn::after {
		display: none;
	}
}

/* 微信二维码弹窗 */
.wpb-wx-pop {
	position: fixed;
	inset: 0;
	z-index: 10002;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(20, 13, 8, 0.55);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.wpb-wx-pop[hidden] {
	display: none;
}

.wpb-wx-pop-card {
	position: relative;
	width: min(320px, 92vw);
	background: #fff;
	border-radius: 20px;
	padding: 30px 22px 24px;
	text-align: center;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
	animation: wpb-wx-pop-in 0.26s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes wpb-wx-pop-in {
	from { opacity: 0; transform: translateY(16px) scale(0.96); }
	to   { opacity: 1; transform: none; }
}

.wpb-wx-pop-close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 30px;
	height: 30px;
	border: none;
	border-radius: 50%;
	background: #f4f1ed;
	color: #9b9187;
	font-size: 1.2rem;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.wpb-wx-pop-close:hover {
	background: #eae4de;
	color: #3f352c;
	transform: rotate(90deg);
}

.wpb-wx-pop-title {
	margin: 0;
	font-size: 1.02rem;
	font-weight: 700;
	color: #241813;
}

.wpb-wx-pop-img {
	display: block;
	width: 100%;
	max-width: 210px;
	height: auto;
	margin: 14px auto 0;
	border-radius: 12px;
	background: #fff;
}

.wpb-wx-pop-id {
	margin: 12px 0 0;
	font-size: 0.88rem;
	font-weight: 600;
	color: #241813;
	letter-spacing: 0.01em;
}

body.wpb-wx-open {
	overflow: hidden;
}

/* =========================================================
   v1.1.3 — 微信按钮直接显示二维码缩略图（白底圆钮 + 方形二维码）
   ========================================================= */
.wpb-contact-floater .wpb-fbtn.wpb-fbtn-qr {
	background: #fff !important;
	border: none !important;
	padding: 5px !important;
	box-shadow: 0 6px 18px rgba(36, 24, 19, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.wpb-fbtn.wpb-fbtn-qr:hover {
	box-shadow: 0 14px 30px rgba(36, 24, 19, 0.34), inset 0 1px 0 rgba(255, 255, 255, 1);
}

.wpb-fbtn-qr .wpb-fbtn-wx-img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 7px;
	object-fit: cover;
	background: #fff;
	pointer-events: none;
}

/* 无 hover 的触屏：按钮点击态微反馈 */
.wpb-fbtn.wpb-fbtn-qr:active {
	transform: scale(0.94);
}

/* 二维码缩略图按钮仍显示 hover 名称气泡 */
.wpb-fbtn.wpb-fbtn-qr:hover::after,
.wpb-fbtn.wpb-fbtn-qr:focus-visible::after {
	opacity: 1;
	visibility: visible;
	transform: translateY(-50%) translateX(0);
}

/* =========================================================
   v1.1.5 —— 托管套餐 / 年度维护方案（首页 wpb-plans 版块）
   三档维护套餐卡片：基础 / 高级（推荐）/ 无忧
   ========================================================= */
.wpb-plans {
	background: var(--wpb-surface);
	background-image: radial-gradient(rgba(232, 99, 10, 0.05) 1px, transparent 1px);
	background-size: 28px 28px;
}

.wpb-plans .wp-block-columns {
	flex-wrap: wrap;
	gap: 24px;
	align-items: stretch;
}

.wpb-plan-card {
	position: relative;
	display: flex;
	flex-direction: column;
	flex-basis: calc(33.333% - 16px) !important;
	flex-grow: 0 !important;
	background: #fff;
	border: 1px solid var(--wpb-line);
	border-radius: var(--wpb-radius);
	padding: 34px 30px 30px !important;
	box-shadow: var(--wpb-shadow);
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.wpb-plan-card:hover {
	transform: translateY(-7px);
	box-shadow: var(--wpb-shadow-lg);
	border-color: rgba(232, 99, 10, 0.35);
}

.wpb-plan-card h3 {
	font-size: var(--wpb-fs-md);
	line-height: 1.4;
	margin-bottom: 8px;
}

.wpb-plan-desc {
	color: var(--wpb-muted);
	font-size: var(--wpb-fs-sm);
	margin-bottom: 18px;
}

.wpb-plan-price {
	display: flex;
	align-items: baseline;
	gap: 4px;
	margin: 0 0 4px;
	font-size: var(--wpb-fs-2xl);
	font-weight: 800;
	line-height: 1.05;
	color: var(--wpb-ink);
	letter-spacing: -0.03em;
}

.wpb-plan-unit {
	font-size: var(--wpb-fs-sm);
	font-weight: 600;
	color: var(--wpb-muted);
	letter-spacing: 0;
}

.wpb-plan-features {
	list-style: none;
	margin: 20px 0 24px;
	padding: 0;
	display: grid;
	gap: 10px;
}

.wpb-plan-features li {
	position: relative;
	padding-left: 26px;
	font-size: var(--wpb-fs-sm);
	color: var(--wpb-ink-soft);
	line-height: 1.6;
}

.wpb-plan-features li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0.18em;
	width: 17px;
	height: 17px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(232, 99, 10, 0.12);
	color: var(--wpb-primary);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

.wpb-plan-cta {
	margin: auto 0 0;
	padding-top: 20px;
	border-top: 1px solid var(--wpb-line);
}

.wpb-plan-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: center;      /* 关键：在 flex-column 卡片中水平居中（不再 stretch） */
	width: auto;             /* 改：按内容宽，不再 100% 铺满 */
	max-width: 100%;         /* 极窄卡片不溢出 */
	box-sizing: border-box;  /* 与全局 reset 配合，避免 padding/border 算进 width */
	padding: 12px 24px;
	border: 1px solid rgba(232, 99, 10, 0.45);
	border-radius: 999px;
	color: var(--wpb-primary);
	font-size: var(--wpb-fs-sm);
	font-weight: 600;
	text-decoration: none;
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.wpb-plan-btn:hover {
	background: var(--wpb-grad-amber);
	border-color: transparent;
	color: #fff;
	box-shadow: 0 12px 24px rgba(232, 99, 10, 0.32);
}

/* 推荐档（高级维护）：顶部光条 + 强调描边 */
.wpb-plan-card.is-featured {
	border-color: rgba(232, 99, 10, 0.45);
	box-shadow: var(--wpb-shadow-lg);
	background-image: linear-gradient(180deg, #FFFFFF 0%, #FFF9F4 100%);
}

.wpb-plan-card.is-featured::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	border-radius: var(--wpb-radius) var(--wpb-radius) 0 0;
	background: var(--wpb-grad-amber);
}

.wpb-plan-card.is-featured .wpb-plan-btn {
	background: var(--wpb-grad-amber);
	border-color: transparent;
	color: #fff;
	box-shadow: 0 10px 22px rgba(232, 99, 10, 0.28);
}

.wpb-plan-card.is-featured .wpb-plan-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 30px rgba(232, 99, 10, 0.38);
}

.wpb-plan-badge {
	position: absolute;
	top: 16px;
	right: 16px;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--wpb-grad-amber);
	color: #fff;
	font-size: var(--wpb-fs-xs);
	font-weight: 700;
	letter-spacing: 0.04em;
}

.wpb-plans-note {
	margin: 28px auto 0 !important;
	max-width: 720px;
	color: var(--wpb-muted);
	font-size: var(--wpb-fs-sm);
}

@media (max-width: 1024px) {
	.wpb-plan-card {
		flex-basis: calc(50% - 12px) !important;
	}
}

@media (max-width: 640px) {
	.wpb-plan-card {
		flex-basis: 100% !important;
	}
}

/* ============ 询盘提交成功面板（?inquiry=success） ============
   表单提交后跳回本页并带标记，这一段插在正文顶部（functions.php:
   wpbiz_inquiry_success_panel）。成交常发生在提交之后的几分钟里，
   所以这一屏必须立刻回答：多久回复、回复里有什么、想更快该找谁。 */
.wpb-thanks {
	margin-bottom: 34px;
	padding: 26px 28px;
	border: 1px solid rgba(232, 99, 10, 0.25);
	border-left: 4px solid var(--wpb-primary);
	border-radius: var(--wpb-radius-lg);
	background: linear-gradient(135deg, rgba(245, 165, 36, 0.14) 0%, rgba(232, 99, 10, 0.05) 100%);
}

.wpb-thanks-badge {
	display: inline-block;
	margin: 0 0 12px !important;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--wpb-grad-amber);
	color: #fff;
	font-size: var(--wpb-fs-xs);
	font-weight: 700;
	letter-spacing: 0.03em;
}

.wpb-thanks h2 {
	margin: 0 0 10px !important;
	font-size: clamp(1.3rem, 2.6vw, 1.7rem);
	line-height: 1.35;
}

.wpb-thanks-lead {
	margin: 0 0 18px !important;
	color: var(--wpb-ink-soft, #4A3A30);
}

.wpb-thanks-next {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

.wpb-thanks-next li {
	margin: 0 !important;
}

.wpb-thanks-next a {
	display: inline-block;
	padding: 12px 22px;
	border-radius: 999px;
	background: var(--wpb-primary);
	color: #fff;
	font-size: var(--wpb-fs-base);
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s ease, transform 0.2s ease;
}

.wpb-thanks-next a:hover,
.wpb-thanks-next a:focus-visible {
	background: var(--wpb-primary-dark, #C14B06);
	color: #fff;
	transform: translateY(-2px);
}

@media (max-width: 640px) {
	.wpb-thanks {
		padding: 20px;
	}

	.wpb-thanks-next a {
		width: 100%;
		text-align: center;
	}
}
