/*
Theme Name: One Child theme
Theme URI: http://thehappybit.com
Template: one
Author: The Happy Bit
Author URI: http://thehappybit.com
Description: Creative Responsive Multi purpose theme
Version: 1.0
License URI: http://themeforest.net/licenses/regular_extended
Tags: black, white, light, one-column, fluid-layout, custom-menu, featured-images, post-formats, translation-ready
*/

/* ============================================================
   1. 设计变量
   建筑工程风：深藏青 + 单一琥珀色点缀，灰蓝中性色，克制不花哨。
   ============================================================ */

:root {
	--c-primary: #0f2233;        /* 深藏青：Hero / 页脚 / 内页页头 */
	--c-primary-2: #16324a;      /* 藏青渐变深色 */
	--c-accent: #e0872a;         /* 琥珀色：唯一的强调色（换成蓝色即回上一版） */
	--c-accent-hover: #c97420;
	--c-bg: #ffffff;             /* 页面背景 */
	--c-bg-alt: #f4f6f8;         /* 浅灰蓝：区块交替背景 */
	--c-text: #3c4c5c;           /* 正文 */
	--c-heading: #14202b;        /* 标题 */
	--c-muted: #6b7a89;          /* 次要文字 */
	--c-border: #e3e8ee;         /* 边框 */
	--radius: 12px;
	--radius-sm: 8px;
	--shadow-sm: 0 1px 3px rgba(15, 34, 51, 0.06);
	--shadow: 0 4px 20px rgba(15, 34, 51, 0.08);
	--shadow-lg: 0 16px 44px rgba(15, 34, 51, 0.14);
	--transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
		"Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB",
		"Microsoft YaHei", sans-serif;
}

/* ============================================================
   2. 基础
   ============================================================ */

html {
	scroll-behavior: smooth;
}

body {
	font-family: var(--font-sans);
	color: var(--c-text);
	background: var(--c-bg);
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#thb-external-wrapper,
#page-content,
#main-content,
.thb-section-container {
	background: transparent;
}

/* 容器加宽：原主题固定 960px，在大屏上两侧留白过多、显得空。
   改为响应式最大宽度，让内容撑满版面。 */
.thb-section-container {
	width: 100% !important;
	max-width: 1240px;
	padding: 0 24px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.thb-page-header-wrapper,
.thb-search-box-wrapper {
	width: 100% !important;
	max-width: 1240px;
	padding: 0 24px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* 无侧栏时：正文区同样加宽并居中 */
#main-content {
	width: auto !important;
	max-width: 1240px;
	float: none !important;
	margin: 0 auto !important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* 若启用侧栏，恢复主题原本的双栏布局 */
.w-sidebar #main-content {
	width: 610px !important;
	max-width: none;
	float: left !important;
	margin: 0 15px !important;
}

.w-sidebar.sidebar-left #main-content {
	float: right !important;
}

a {
	color: var(--c-accent);
	transition: color var(--transition);
}

a:hover {
	color: var(--c-accent-hover);
}

h1, h2, h3, h4, h5, h6 {
	color: var(--c-heading);
	font-weight: 700;
	line-height: 1.3;
}

img {
	max-width: 100%;
	height: auto;
}

.thb-text {
	color: var(--c-text);
}

.thb-text a {
	color: var(--c-accent);
}

/* ============================================================
   3. 头部 / 导航
   ============================================================ */

#header {
	position: sticky;
	top: 0;
	z-index: 900;
	background: #ffffff;
	border-top: 3px solid var(--c-accent);
	border-bottom: 1px solid var(--c-border);
	margin-bottom: 0; /* 去掉父主题默认的 96px 下边距，消除导航下方的大白边 */
	transition: box-shadow var(--transition);
}

/* 头部高度收敛（修复导航下方的大片白边）：
   父主题的 reset 给所有元素加了 margin-bottom:30px，且导航项上下内边距高达 36px，
   叠加后头部被撑到约 220px；而子主题 logo 仅 56px，导致导航下方出现大量空白。
   这里去掉头部内的 30px 下边距、压缩导航内边距，把头部收敛到与 logo 匹配的紧凑高度。 */
#header .thb-header-inner-wrapper,
#header .thb-section-container,
#header .thb-header-wrapper,
#header #main-nav,
#header #main-nav > div,
#header #main-nav ul,
#header #main-nav ul li,
#header #main-nav ul li a,
#header #logo,
#header #logo a,
#header .thb-search-icon-container,
#header .thb-search-icon-container a,
#header .slide-menu-trigger-wrapper,
#header .slide-menu-trigger {
	margin-bottom: 0;
}

.header-layout-a #main-nav ul > li a {
	padding: 20px 0;
}

#header .thb-search-icon-container a {
	margin-top: 20px;
}

.thb-sticky-header #logo a {
	padding-top: 8px;
	padding-bottom: 8px;
}

#header.is-sticky {
	box-shadow: var(--shadow);
}

/* 吸顶滚动后：导航栏用不透明白底 */
#header.scrolled .thb-header-inner-wrapper {
	background: #ffffff;
}

/* Logo：仅显示标准 logo，隐藏白色 logo，避免两张 logo 同时出现。
   父主题通过 #logo .thb-white-logo { display:none } 隐藏白色 logo，
   但下面针对图片的 display:block 优先级更高，曾把白色 logo 一并显示出来。
   这里显式区分两张图片，并放大 logo、修正其垂直居中。 */
#header #logo {
	margin: 0;
}

/* 取消父主题对 #logo a 的 float:left（浮动会脱离表格单元格的垂直居中上下文），
   改用 inline-block + line-height:0，让 logo 与导航在同一行内垂直居中。 */
#header #logo a {
	float: none;
	display: inline-block;
	line-height: 0;
	vertical-align: middle;
}

#header #logo a img.thb-standard-logo {
	display: block; /* 去掉 inline 图片的基线间隙，避免把头部撑高 */
	max-height: 50px;
	margin-top: 8px;
	width: auto;
	height: auto;
}

#header #logo a img.thb-white-logo {
	display: none;
}

/* 吸顶后轻微缩小 logo，避免导航显得过高 */
.thb-sticky-header #header.scrolled #logo a img.thb-standard-logo {
	max-height: 48px;
}

#main-nav.main-navigation {
	background: transparent;
}

#main-nav .menu > li > a,
#main-nav.main-navigation ul li a {
	color: var(--c-heading);
	font-weight: 600;
	letter-spacing: 0.02em;
	position: relative;
}

#main-nav .menu > li > a:hover,
#main-nav.main-navigation ul li a:hover,
#main-nav .menu > li.current-menu-item > a,
#main-nav.main-navigation ul li.current-menu-item > a {
	color: var(--c-accent);
}

/* 导航下划线动画 */
#main-nav .menu > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: 0;
	height: 2px;
	background: var(--c-accent);
	transition: right var(--transition);
}

#main-nav .menu > li > a:hover::after,
#main-nav .menu > li.current-menu-item > a::after {
	right: 0;
}

.slide-menu-trigger {
	color: var(--c-heading);
}

/* 顶部搜索图标：与导航同色，悬浮点亮 */
#header .thb-search-icon-container a {
	color: var(--c-heading);
}

#header .thb-search-icon-container a:hover {
	color: var(--c-accent);
}

/* 顶部搜索下拉框：藏青半透明，贴合整体配色（覆盖主题默认的青色） */
#thb-search-box-container {
	background: rgba(15, 34, 51, 0.96) !important;
}

/* 搜索输入框：主题自带大号白字样式，这里仅居中并去掉默认高亮光晕 */
#thb-search-box-container #searchform input[type="text"] {
	text-align: center;
}

#thb-search-box-container #searchform input[type="text"]:focus {
	box-shadow: none;
}

/* ============================================================
   4. 侧滑菜单
   ============================================================ */

#slide-nav,
#slide-menu-container {
	background: var(--c-primary);
}

#slide-nav a {
	color: rgba(255, 255, 255, 0.85);
}

#slide-nav a:hover {
	color: #ffffff;
}

#slide-nav .menu > li > a {
	font-weight: 600;
}

/* ============================================================
   5. 首页 Hero：斜切 + 蓝图网格 + 数据统计
   ============================================================ */

.home-hero {
	position: relative;
	padding: 110px 0 150px;
	text-align: center;
	color: #ffffff;
	background:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(135deg, #0b1a29 0%, #12283a 50%, #16324a 100%);
	background-size: 44px 44px, 44px 44px, 100% 100%;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 64px), 0 100%);
	overflow: hidden;
}

.home-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 18% 18%, rgba(224, 135, 42, 0.22), transparent 42%),
		radial-gradient(circle at 82% 70%, rgba(224, 135, 42, 0.14), transparent 40%);
	pointer-events: none;
}

.home-hero .thb-section-container {
	position: relative;
	z-index: 1;
}

.home-hero-eyebrow {
	display: inline-block;
	margin: 0 0 20px;
	padding: 6px 16px;
	font-size: 12px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #f0b56a;
	border: 1px solid rgba(224, 135, 42, 0.55);
	border-radius: 999px;
}

.home-hero-title {
	margin: 0 auto 30px;
	max-width: 900px;
	font-size: 44px;
	font-size: clamp(30px, 6vw, 54px);
	font-weight: 800;
	color: #ffffff;
	letter-spacing: 0.02em;
}

.home-hero-actions {
	display: flex;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 56px;
}

.home-hero-btn {
	display: inline-block;
	padding: 13px 32px;
	font-size: 15px;
	font-weight: 600;
	border-radius: 4px;
	text-decoration: none;
	transition: transform var(--transition), background var(--transition),
		color var(--transition), border-color var(--transition);
}

.home-hero-btn-primary {
	background: var(--c-accent);
	color: #ffffff;
	border: 1px solid var(--c-accent);
}

.home-hero-btn-primary:hover {
	background: var(--c-accent-hover);
	border-color: var(--c-accent-hover);
	color: #ffffff;
	transform: translateY(-2px);
}

.home-hero-btn-ghost {
	background: transparent;
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.45);
}

.home-hero-btn-ghost:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: #ffffff;
	color: #ffffff;
	transform: translateY(-2px);
}

/* 数据统计 */
.home-stats {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
}

.home-stat {
	padding: 0 46px;
	text-align: center;
	border-left: 1px solid rgba(255, 255, 255, 0.18);
}

.home-stat:first-child {
	border-left: 0;
}

.home-stat-value {
	display: block;
	font-size: 44px;
	font-weight: 800;
	line-height: 1;
	color: #ffffff;
}

.home-stat-suffix {
	color: var(--c-accent);
}

.home-stat-label {
	display: block;
	margin-top: 10px;
	font-size: 13px;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.72);
}

/* ============================================================
   6. 首页区块
   ============================================================ */

.home-section {
	padding: 84px 0;
	border-bottom: 1px solid var(--c-border);
}

.home-section-alt {
	background: var(--c-bg-alt);
}

.home-section:last-child {
	border-bottom: 0;
}

/* 区块标题：编号水印 + 英文眉题 + 大标题 */
.home-section-header {
	position: relative;
	max-width: 720px;
	margin: 0 auto 48px;
	text-align: center;
}

.home-section-index {
	position: absolute;
	top: -44px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 110px;
	font-weight: 800;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1px rgba(20, 32, 43, 0.10);
	pointer-events: none;
	user-select: none;
	z-index: 0;
}

.home-section-eyebrow {
	position: relative;
	z-index: 1;
	display: inline-block;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--c-accent);
}

.home-section-title {
	position: relative;
	z-index: 1;
	display: inline-block;
	margin: 0 0 12px;
	font-size: 34px;
	font-size: clamp(26px, 4vw, 34px);
	font-weight: 800;
	color: var(--c-heading);
}

.home-section-title::after {
	content: "";
	display: block;
	width: 46px;
	height: 3px;
	margin: 14px auto 0;
	background: var(--c-accent);
	border-radius: 2px;
}

.home-section-subtitle {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: 15px;
	color: var(--c-muted);
}

.home-page-content {
	max-width: 840px;
	margin: 0 auto;
	color: var(--c-text);
}

.home-page-content p {
	margin: 0 0 18px;
}

/* 图文摘要（关于我们）：左图右文 + 查看更多 */
.home-about {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 48px;
	align-items: center;
	max-width: 1120px;
	margin: 0 auto;
}

.home-about-media {
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow-lg);
}

.home-about-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 4 / 3;
}

.home-about-media-fallback {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	aspect-ratio: 4 / 3;
	color: #ffffff;
	background:
		linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(135deg, var(--c-primary), var(--c-primary-2));
	background-size: 34px 34px, 34px 34px, 100% 100%;
}

.home-about-media-brand {
	font-size: 26px;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.home-about-media-hint {
	font-size: 12px;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.55);
}

.home-about-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 26px;
}

.home-about-text {
	margin: 0;
	font-size: 16px;
	line-height: 2;
	color: var(--c-text);
}

.home-about-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 30px;
	font-size: 15px;
	font-weight: 600;
	color: #ffffff;
	background: var(--c-accent);
	border: 1px solid var(--c-accent);
	border-radius: 4px;
	text-decoration: none;
	transition: background var(--transition), transform var(--transition);
}

.home-about-more:hover {
	background: var(--c-accent-hover);
	color: #ffffff;
	transform: translateY(-2px);
}

.home-about-more .home-post-arrow {
	transition: transform var(--transition);
}

.home-about-more:hover .home-post-arrow {
	transform: translateX(5px);
}

/* 卡片网格 */
.home-post-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 36px;
}

.home-post-item {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 0;
	background: #ffffff;
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow);
	transition: transform var(--transition), box-shadow var(--transition);
}

/* 顶部琥珀色条，悬浮时展开 */
.home-post-item::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--c-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--transition);
	z-index: 2;
}

.home-post-item:hover {
	transform: translateY(-6px);
	box-shadow: var(--shadow-lg);
}

.home-post-item:hover::before {
	transform: scaleX(1);
}

.home-post-thumb {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.home-post-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.home-post-item:hover .home-post-thumb img {
	transform: scale(1.06);
}

.home-post-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 26px 28px 30px;
}

.home-post-meta {
	margin-bottom: 8px;
	font-size: 12px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--c-muted);
}

.home-post-title {
	margin: 0 0 10px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}

.home-post-title a {
	color: var(--c-heading);
	text-decoration: none;
	transition: color var(--transition);
}

.home-post-title a:hover {
	color: var(--c-accent);
}

.home-post-excerpt {
	font-size: 15px;
	line-height: 1.75;
	color: var(--c-muted);
}

/* 卡片底部箭头按钮（靠底对齐）：描边样式，避免白字在浅色卡片上不可见 */
.home-post-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	padding: 8px 18px;
	font-size: 14px;
	font-weight: 600;
	color: var(--c-accent);
	border: 1px solid var(--c-accent);
	border-radius: 4px;
	text-decoration: none;
	transition: background var(--transition), color var(--transition),
		border-color var(--transition);
}

.home-post-link .home-post-arrow {
	transition: transform var(--transition);
}

.home-post-link:hover {
	background: var(--c-accent);
	border-color: var(--c-accent);
	color: #000000;
}

.home-post-link:hover .home-post-arrow {
	transform: translateX(5px);
}

.home-section-more-wrap {
	margin-top: 44px;
	text-align: center;
}

.home-section-more {
	display: inline-block;
	padding: 12px 32px;
	font-size: 14px;
	font-weight: 600;
	color: var(--c-accent);
	border: 1px solid var(--c-accent);
	border-radius: 4px;
	text-decoration: none;
	transition: background var(--transition), color var(--transition);
}

.home-section-more:hover {
	background: var(--c-accent);
	color: #ffffff;
}

.home-section-empty {
	text-align: center;
	color: var(--c-muted);
}

/* ============================================================
   7. 首页底部 CTA 横幅
   ============================================================ */

.home-cta {
	position: relative;
	padding: 84px 0;
	text-align: center;
	color: #ffffff;
	background:
		linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
		linear-gradient(135deg, var(--c-primary), var(--c-primary-2));
	background-size: 44px 44px, 44px 44px, 100% 100%;
	overflow: hidden;
}

.home-cta::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 50% 0%, rgba(224, 135, 42, 0.18), transparent 55%);
	pointer-events: none;
}

.home-cta .thb-section-container {
	position: relative;
	z-index: 1;
}

.home-cta-title {
	margin: 0 0 12px;
	font-size: 32px;
	font-size: clamp(24px, 4vw, 34px);
	font-weight: 800;
	color: #ffffff;
}

.home-cta-subtitle {
	margin: 0 0 30px;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.75);
}

.home-cta-btn {
	display: inline-block;
	padding: 14px 38px;
	font-size: 15px;
	font-weight: 600;
	color: #ffffff;
	background: var(--c-accent);
	border: 1px solid var(--c-accent);
	border-radius: 4px;
	text-decoration: none;
	transition: background var(--transition), transform var(--transition);
}

.home-cta-btn:hover {
	background: var(--c-accent-hover);
	color: #ffffff;
	transform: translateY(-2px);
}

/* ============================================================
   8. 内页页头（文章 / 列表 / 单页）
   ============================================================ */

#page-header {
	padding: 72px 0;
	text-align: center;
	color: #ffffff;
	background:
		linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
		linear-gradient(135deg, var(--c-primary), var(--c-primary-2));
	background-size: 44px 44px, 44px 44px, 100% 100%;
	border-bottom: 0;
}

#page-header .page-title,
.page-title {
	color: #ffffff;
	font-weight: 800;
}

#page-header .page-subtitle,
.page-subtitle {
	color: rgba(255, 255, 255, 0.72);
	font-weight: 400;
}

/* ============================================================
   9. 文章 / 列表 / 单页（全局）
   ============================================================ */

/* 博客卡片（loop/formats/classic.php） */
.post-wrapper {
	background: #ffffff;
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow);
	margin-bottom: 36px;
	transition: transform var(--transition), box-shadow var(--transition);
}

.post-wrapper:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-lg);
}

.post-wrapper.w-image img {
	width: 100%;
}

.post-wrapper .loop-post-content {
	padding: 30px 32px 34px;
}

.post-wrapper .item-header h1,
.post-wrapper .item-header h1 a {
	color: var(--c-heading);
	font-size: 24px;
	font-weight: 700;
}

.post-wrapper .item-header h1 a:hover {
	color: var(--c-accent);
}

.post-wrapper .loop-post-meta ul {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	font-size: 13px;
	color: var(--c-muted);
}

.post-wrapper .loop-post-meta ul li {
	list-style: none;
}

.post-wrapper .loop-post-meta ul li::before {
	display: none;
}

.post-wrapper .item-content .thb-text {
	color: var(--c-text);
	font-size: 15px;
}

/* 单页 / 页面内容排版 */
.single #main-content article,
.page #main-content article {
	background: #ffffff;
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	padding: 40px 44px;
	box-shadow: var(--shadow-sm);
}

.single #main-content .thb-text,
.page #main-content .thb-text {
	font-size: 16px;
}

.single #main-content h1.entry-title,
.page #main-content h1.entry-title {
	color: var(--c-heading);
	font-weight: 800;
}

/* ============================================================
   10. 按钮
   ============================================================ */

.thb-btn,
.thb-read-more,
input[type="submit"],
button,
.button {
	display: inline-block;
	padding: 11px 26px;
	font-size: 14px;
	font-weight: 600;
	color: #ffffff;
	background: var(--c-accent);
	border: 1px solid var(--c-accent);
	border-radius: var(--radius-sm);
	text-decoration: none;
	cursor: pointer;
	transition: background var(--transition), color var(--transition),
		border-color var(--transition), transform var(--transition);
}

.thb-btn:hover,
.thb-read-more:hover,
input[type="submit"]:hover,
button:hover,
.button:hover {
	background: var(--c-accent-hover);
	border-color: var(--c-accent-hover);
	color: #ffffff;
	transform: translateY(-1px);
}

.thb-read-more {
	margin-top: 12px;
}

/* ============================================================
   11. 表单
   ============================================================ */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
textarea,
select {
	width: 100%;
	padding: 11px 14px;
	font-size: 14px;
	font-family: inherit;
	color: var(--c-text);
	background: #ffffff;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-sm);
	transition: border-color var(--transition), box-shadow var(--transition);
}

input:focus,
textarea:focus,
select:focus {
	outline: none;
	border-color: var(--c-accent);
	box-shadow: 0 0 0 3px rgba(224, 135, 42, 0.15);
}

/* ============================================================
   12. 页脚
   ============================================================ */

#footer {
	background: var(--c-primary);
	color: rgba(255, 255, 255, 0.72);
	border-top: 3px solid var(--c-accent);
	padding: 0;
}

/* 上部：三段横排（公司介绍 / 快捷导航 / 联系方式） */
.footer-top {
	padding: 64px 0 48px;
}

.footer-columns {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1.3fr;
	gap: 56px;
}

.footer-col-title {
	position: relative;
	margin: 0 0 26px;
	padding-bottom: 14px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #ffffff;
}

.footer-col-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 28px;
	height: 2px;
	background: var(--c-accent);
}

/* 公司介绍 */
.footer-brand {
	margin: 0 0 14px;
	font-size: 22px;
	font-weight: 800;
	color: #ffffff;
}

.footer-desc {
	margin: 0;
	font-size: 14px;
	line-height: 1.9;
	color: rgba(255, 255, 255, 0.64);
}

/* 快捷导航 */
.footer-menu,
.footer-col .menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-menu li,
.footer-col .menu ul li {
	margin: 0 0 12px;
}

.footer-menu a,
.footer-col .menu ul li a {
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
	transition: color var(--transition), padding-left var(--transition);
}

.footer-menu a:hover,
.footer-col .menu ul li a:hover {
	color: #ffffff;
	padding-left: 6px;
}

/* 联系方式 */
.footer-contact {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-contact li {
	display: flex;
	gap: 12px;
	margin: 0 0 16px;
	font-size: 14px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.72);
}

.footer-contact .contact-label {
	flex-shrink: 0;
	min-width: 2.5em;
	color: rgba(255, 255, 255, 0.45);
}

.footer-contact a {
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
}

.footer-contact a:hover {
	color: #ffffff;
}

/* 下部：版权 + 社交图标 */
.footer-bottom {
	padding: 22px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
}

#footer #copyright {
	float: none;
	font-size: 13px;
	letter-spacing: 0.03em;
	color: rgba(255, 255, 255, 0.55);
}

#footer #social-icons {
	float: none;
}

/* 社交图标：圆形描边按钮，悬浮点亮 */
#footer .thb-social-icon {
	float: none;
	display: inline-block;
	width: 40px;
	height: 40px;
	margin: 0 5px;
	color: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 50%;
}

#footer .thb-social-icon:after {
	font-size: 16px;
	line-height: 40px;
}

#footer .thb-social-icon:hover {
	color: #ffffff;
	background: var(--c-accent);
	border-color: var(--c-accent);
}

/* ============================================================
   13. 分页
   ============================================================ */

.navigation,
.pagination,
.thb-pagination {
	text-align: center;
	margin: 30px 0;
}

.navigation a,
.navigation span,
.pagination a,
.pagination span,
.thb-pagination a,
.thb-pagination span {
	display: inline-block;
	min-width: 40px;
	margin: 0 4px;
	padding: 8px 14px;
	font-size: 14px;
	color: var(--c-heading);
	background: #ffffff;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-sm);
	text-decoration: none;
	transition: all var(--transition);
}

.navigation a:hover,
.navigation .current,
.pagination a:hover,
.pagination .current,
.thb-pagination a:hover,
.thb-pagination .current {
	background: var(--c-accent);
	border-color: var(--c-accent);
	color: #ffffff;
}

/* 列表页数字分页（thb_numeric_pagination 输出 .thb-navigation.numeric）：
   与站点卡片样式统一，去掉主题默认的上边框分隔线。 */
.thb-navigation.numeric {
	text-align: center;
	margin: 32px 0 8px;
	border-top: 0;
	padding-top: 0;
}

.thb-navigation.numeric li {
	display: inline-block;
	list-style: none;
	margin: 0 4px;
}

.thb-navigation.numeric a,
.thb-navigation.numeric .current {
	display: inline-block;
	min-width: 40px;
	padding: 8px 14px;
	font-size: 14px;
	text-align: center;
	color: var(--c-heading);
	background: #ffffff;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-sm);
	text-decoration: none;
	transition: all var(--transition);
}

.thb-navigation.numeric a:hover,
.thb-navigation.numeric .current {
	background: var(--c-accent);
	border-color: var(--c-accent);
	color: #ffffff;
}

/* 列表页空状态下的搜索框：居中并限制宽度 */
.home-section-empty form {
	max-width: 400px;
	margin: 20px auto 0;
	text-align: left;
}

/* ============================================================
   14. 滚动显现动画
   ============================================================ */

.js .reveal {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.js .reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* 首页卡片错峰出现 */
.js .home-post-list .reveal:nth-child(1) { transition-delay: 0.05s; }
.js .home-post-list .reveal:nth-child(2) { transition-delay: 0.15s; }
.js .home-post-list .reveal:nth-child(3) { transition-delay: 0.25s; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.js .reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* ============================================================
   15. 响应式
   ============================================================ */

@media (max-width: 992px) {
	.home-post-list {
		grid-template-columns: repeat(2, 1fr);
	}

	.home-stat {
		padding: 0 30px;
	}
}

@media (max-width: 768px) {
	.thb-section-container,
	.thb-page-header-wrapper,
	.thb-search-box-wrapper {
		padding: 0 18px;
	}

	.home-hero {
		padding: 76px 0 128px;
		clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 0 100%);
	}

	.home-hero-actions {
		margin-bottom: 44px;
	}

	.home-stats {
		gap: 22px 0;
	}

	.home-stat {
		flex: 1 1 33.333%;
		padding: 0 12px;
	}

	.home-stat-value {
		font-size: 28px;
	}

	.home-stat-label {
		font-size: 11px;
	}

	.home-section {
		padding: 48px 0;
	}

	.home-section-header {
		margin-bottom: 40px;
	}

	.home-section-index {
		top: -26px;
		font-size: 64px;
	}

	.home-post-list {
		grid-template-columns: 1fr;
	}

	.home-about {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.home-cta {
		padding: 60px 0;
	}

	#page-header {
		padding: 48px 0;
	}

	.single #main-content article,
	.page #main-content article {
		padding: 26px 22px;
	}

	.footer-columns {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.footer-bottom-inner {
		flex-direction: column;
		text-align: center;
	}
}

/* ============================================================
   16. 关于我们页（Gutenberg 内容增强）
   ============================================================ */

/* 归一化内容中引用的 Gutenberg 颜色类，使其贴合主题配色 */
.page-about-us .has-accent-color {
	color: var(--c-accent);
}

.page-about-us .has-dark-gray-color {
	color: var(--c-heading);
}

.page-about-us .has-white-color {
	color: #ffffff;
}

.page-about-us .has-white-background-color {
	background-color: #ffffff;
}

.page-about-us .has-light-gray-background-color {
	background-color: var(--c-bg-alt);
}

.page-about-us .has-dark-blue-background-color {
	background-color: var(--c-primary);
}

/* 卡片：统一圆角、边框与阴影，悬浮时上浮 */
.page-about-us .wp-block-column.has-background {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-sm);
	transition: transform var(--transition), box-shadow var(--transition),
		border-color var(--transition);
}

.page-about-us .wp-block-column.has-background:hover {
	transform: translateY(-6px);
	border-color: rgba(224, 135, 42, 0.45);
	box-shadow: var(--shadow-lg);
}

/* 卡片顶部琥珀色高亮条，悬浮时展开 */
.page-about-us .wp-block-column.has-background::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--c-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--transition);
}

.page-about-us .wp-block-column.has-background:hover::after {
	transform: scaleX(1);
}

/* 分隔线统一为琥珀色（覆盖内容中内联的金色） */
.page-about-us .wp-block-separator {
	background-color: var(--c-accent) !important;
	color: var(--c-accent) !important;
}

/* 封面主标题随视口缩放，避免移动端溢出 */
.page-about-us .wp-block-cover .wp-block-heading,
.page-about-us .wp-block-cover h1 {
	font-size: clamp(28px, 6vw, 52px) !important;
}

/* ============================================================
   17. 联系我们页
   ============================================================ */

.contact-hero {
	position: relative;
	padding: 96px 0 88px;
	text-align: center;
	color: #ffffff;
	background:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(135deg, #0b1a29 0%, #12283a 50%, #16324a 100%);
	background-size: 44px 44px, 44px 44px, 100% 100%;
	overflow: hidden;
}

.contact-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 22% 18%, rgba(224, 135, 42, 0.22), transparent 42%),
		radial-gradient(circle at 80% 72%, rgba(224, 135, 42, 0.14), transparent 40%);
	pointer-events: none;
}

.contact-hero .thb-section-container {
	position: relative;
	z-index: 1;
}

.contact-hero-eyebrow {
	display: inline-block;
	margin: 0 0 18px;
	padding: 6px 16px;
	font-size: 12px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #f0b56a;
	border: 1px solid rgba(224, 135, 42, 0.55);
	border-radius: 999px;
}

.contact-hero-title {
	margin: 0 auto 16px;
	max-width: 760px;
	font-size: clamp(32px, 5vw, 48px);
	font-weight: 800;
	color: #ffffff;
	letter-spacing: 0.02em;
}

.contact-hero-subtitle {
	margin: 0;
	font-size: 16px;
	color: rgba(255, 255, 255, 0.72);
}

/* 信息卡片 */
.contact-info {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 0;
}

.contact-info-card {
	position: relative;
	padding: 30px 26px;
	text-align: center;
	background: #ffffff;
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
	overflow: hidden;
	transition: transform var(--transition), box-shadow var(--transition);
}

.contact-info-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--c-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--transition);
}

.contact-info-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--shadow-lg);
}

.contact-info-card:hover::before {
	transform: scaleX(1);
}

.contact-info-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: 0 auto 18px;
	color: var(--c-accent);
	background: rgba(224, 135, 42, 0.1);
	border-radius: 50%;
}

.contact-info-icon svg {
	width: 26px;
	height: 26px;
}

.contact-info-label {
	display: block;
	margin: 0 0 6px;
	font-size: 13px;
	letter-spacing: 0.08em;
	color: var(--c-muted);
}

.contact-info-value {
	display: block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	color: var(--c-heading);
	overflow-wrap: anywhere;
}

.contact-info-value a {
	color: var(--c-heading);
	text-decoration: none;
}

.contact-info-value a:hover {
	color: var(--c-accent);
}

/* 表单 + 侧栏 */
.contact-main {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 40px;
	align-items: start;
}

.contact-panel {
	background: #ffffff;
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}

.contact-form {
	padding: 40px 42px;
}

.contact-form-title {
	margin: 0 0 8px;
	font-size: 22px;
	font-weight: 800;
	color: var(--c-heading);
}

.contact-form-hint {
	margin: 0 0 28px;
	font-size: 14px;
	color: var(--c-muted);
}

.contact-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.contact-form-group {
	margin: 0 0 20px;
}

.contact-form-label {
	display: block;
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--c-heading);
}

.contact-form-label .required {
	color: var(--c-accent);
}

.contact-field {
	width: 100%;
	padding: 12px 14px;
	font-size: 14px;
	font-family: inherit;
	color: var(--c-text);
	background: #ffffff;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-sm);
	transition: border-color var(--transition), box-shadow var(--transition);
}

.contact-field:focus {
	outline: none;
	border-color: var(--c-accent);
	box-shadow: 0 0 0 3px rgba(224, 135, 42, 0.15);
}

.contact-field.is-invalid {
	border-color: #d9534f;
}

.contact-field-error {
	margin: 6px 0 0;
	font-size: 13px;
	color: #d9534f;
}

.contact-form-submit {
	display: inline-block;
	padding: 13px 34px;
	font-size: 15px;
	font-weight: 600;
	color: #ffffff;
	background: var(--c-accent);
	border: 1px solid var(--c-accent);
	border-radius: var(--radius-sm);
	cursor: pointer;
	transition: background var(--transition), transform var(--transition);
}

.contact-form-submit:hover {
	background: var(--c-accent-hover);
	border-color: var(--c-accent-hover);
	transform: translateY(-2px);
}

/* 提交结果提示 */
.contact-notice {
	display: none;
	margin: 0 0 24px;
	padding: 14px 18px;
	font-size: 14px;
	border-radius: var(--radius-sm);
}

.contact-notice.is-success {
	display: block;
	color: #1e7e34;
	background: #eaf6ee;
	border: 1px solid #bfe3c9;
}

.contact-notice.is-error {
	display: block;
	color: #a02420;
	background: #fdecea;
	border: 1px solid #f3c2c0;
}

/* 侧栏：选择我们 */
.contact-aside {
	padding: 40px 36px;
}

.contact-aside-title {
	margin: 0 0 8px;
	font-size: 22px;
	font-weight: 800;
	color: var(--c-heading);
}

.contact-aside-subtitle {
	margin: 0 0 26px;
	font-size: 14px;
	color: var(--c-muted);
}

.contact-aside-list {
	list-style: none;
	margin: 0 0 30px;
	padding: 0;
}

.contact-aside-list li {
	display: flex;
	gap: 12px;
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.7;
	color: var(--c-text);
}

.contact-aside-list .aside-check {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	margin-top: 2px;
	color: var(--c-accent);
}

.contact-aside-list .aside-check svg {
	width: 22px;
	height: 22px;
}

.contact-aside-cta {
	display: inline-block;
	padding: 12px 28px;
	font-size: 14px;
	font-weight: 600;
	color: #ffffff;
	background: var(--c-accent);
	border: 1px solid var(--c-accent);
	border-radius: var(--radius-sm);
	text-decoration: none;
	transition: background var(--transition), transform var(--transition);
}

.contact-aside-cta:hover {
	background: var(--c-accent-hover);
	border-color: var(--c-accent-hover);
	transform: translateY(-2px);
}

/* 常见问题 */
.contact-faq {
	padding: 0;
}

.contact-faq details {
	margin: 0 0 16px;
	background: #ffffff;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-sm);
	overflow: hidden;
	transition: border-color var(--transition), box-shadow var(--transition);
}

.contact-faq details[open] {
	border-color: rgba(224, 135, 42, 0.45);
	box-shadow: var(--shadow-sm);
}

.contact-faq summary {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 18px 20px;
	font-size: 15px;
	font-weight: 600;
	color: var(--c-heading);
	cursor: pointer;
	list-style: none;
	user-select: none;
}

.contact-faq summary::-webkit-details-marker {
	display: none;
}

.contact-faq summary::after {
	content: "+";
	flex-shrink: 0;
	margin-left: auto;
	font-size: 22px;
	font-weight: 400;
	color: var(--c-accent);
	transition: transform var(--transition);
}

.contact-faq details[open] summary::after {
	transform: rotate(45deg);
}

.contact-faq .contact-faq-answer {
	margin: 0;
	padding: 0 20px 20px;
	font-size: 14px;
	line-height: 1.8;
	color: var(--c-muted);
}

/* 联系我们页通用区块 */
.contact-section {
	padding: 72px 0 0;
}

.contact-section:last-child {
	padding-bottom: 72px;
}

.contact-section-header {
	position: relative;
	max-width: 720px;
	margin: 0 auto 40px;
	text-align: center;
}

.contact-section-eyebrow {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--c-accent);
}

.contact-section-title {
	margin: 0 0 12px;
	font-size: clamp(24px, 3.4vw, 32px);
	font-weight: 800;
	color: var(--c-heading);
}

.contact-section-title::after {
	content: "";
	display: block;
	width: 46px;
	height: 3px;
	margin: 14px auto 0;
	background: var(--c-accent);
	border-radius: 2px;
}

.contact-section-subtitle {
	margin: 0;
	font-size: 15px;
	color: var(--c-muted);
}

/* ============================================================
   18. 联系我们页 / 关于我们页 响应式
   ============================================================ */

@media (max-width: 992px) {
	.contact-info {
		grid-template-columns: repeat(2, 1fr);
	}

	.contact-main {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.contact-hero {
		padding: 64px 0 56px;
	}

	.contact-info {
		grid-template-columns: 1fr;
		padding-top: 48px;
	}

	.contact-form,
	.contact-aside {
		padding: 30px 22px;
	}

	.contact-form-row {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.contact-main {
		padding-top: 48px;
	}

	.contact-section {
		padding-bottom: 48px;
	}
}

/* ============================================================
   19. 语言切换按钮（导航栏搜索位）
   ============================================================ */

.lang-switcher {
	display: table-cell;
	width: 60px;
	vertical-align: middle;
	text-align: right;
}

.lang-switcher a {
	display: inline-block;
	padding: 6px 14px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--c-heading);
	border: 1px solid var(--c-border);
	border-radius: 999px;
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--transition), border-color var(--transition),
		background var(--transition);
}

.lang-switcher a:hover {
	color: var(--c-accent);
	border-color: var(--c-accent);
	background: rgba(224, 135, 42, 0.06);
}

/* ============================================================
   20. 单页标题（纯文字，无背景）
   ============================================================ */

.single-header {
	padding: 40px 0 4px;
	text-align: center;
}

.single-title {
	margin: 0;
	font-size: clamp(26px, 4vw, 40px);
	font-weight: 800;
	line-height: 1.3;
	color: var(--c-heading);
}

.single-meta {
	margin: 12px 0 0;
	font-size: 14px;
	color: var(--c-muted);
}

.single .thb-text {
	margin-top: 28px;
}

/* ============================================================
   21. 语言切换 / 单页标题 响应式
   ============================================================ */

@media (max-width: 768px) {
	.lang-switcher {
		width: 46px;
	}

	.lang-switcher a {
		padding: 5px 10px;
		font-size: 12px;
	}

	.single-header {
		padding-top: 28px;
	}
}

/* ============================================================
   22. 首页「联系我们」信息卡片
   ============================================================ */

.home-contact-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.home-contact-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 26px 24px;
	background: #ffffff;
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
	transition: transform var(--transition), box-shadow var(--transition),
		border-color var(--transition);
}

.home-contact-item:hover {
	transform: translateY(-4px);
	border-color: rgba(224, 135, 42, 0.45);
	box-shadow: var(--shadow-lg);
}

.home-contact-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	color: var(--c-accent);
	background: rgba(224, 135, 42, 0.1);
	border-radius: 50%;
}

.home-contact-icon svg {
	width: 24px;
	height: 24px;
}

.home-contact-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.home-contact-label {
	font-size: 13px;
	letter-spacing: 0.06em;
	color: var(--c-muted);
}

.home-contact-value {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--c-heading);
	overflow-wrap: anywhere;
}

.home-contact-value a {
	color: var(--c-heading);
	text-decoration: none;
}

.home-contact-value a:hover {
	color: var(--c-accent);
}

@media (max-width: 992px) {
	.home-contact-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.home-contact-grid {
		grid-template-columns: 1fr;
	}
}

/* ============================================================
   翻译组件
   translate.js 会自动在页面底部注入 #translate 语言下拉框，
   此处直接隐藏，语言切换统一走顶部导航按钮。
   ============================================================ */
#translate {
	display: none !important;
}
