/**
 * index3 首页模板 - 为商家提供支付收单
 * 顶部横幅：优先使用 imgs/banner.png（超宽横幅），其次 assets/images/banner.*
 * 移动端自适应，横幅全屏显示
 */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
	font-family: "Microsoft YaHei", "PingFang SC", -apple-system, sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: #333;
	background: #f5f6fa;
}

a { color: #2563eb; text-decoration: none; }
a:hover { color: #1d4ed8; text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }

/* ========== 顶部导航 ========== */
.ep-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	/* 导航栏背景透明，叠在横幅之上 */
	background: transparent;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	/* 底部描边，保证与内容有轻微分隔感 */
	border-bottom: 1px solid rgba(148,163,184,.35);
	box-shadow: 0 6px 18px rgba(15,23,42,.06);
}
.ep-header-inner {
	/* 顶部导航需要贴边：这里不使用 1200 居中容器 */
	max-width: none;
	margin: 0 auto;
	padding: 0 12px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.ep-logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 1.1rem;
	font-weight: 800;
	color: #111827;
	letter-spacing: .2px;
}
.ep-logo:hover { text-decoration: none; color: #111827; }
.ep-logo-img{
	height: 28px;
	width: auto;
	max-width: 160px;
	display: block;
	filter: drop-shadow(0 6px 14px rgba(15,23,42,.18));
}
.ep-logo-mark{
	width: 28px;
	height: 28px;
	border-radius: 10px;
	background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.95) 0%, rgba(255,255,255,.6) 26%, transparent 27%),
		linear-gradient(135deg, #2563eb, #1e40af);
	box-shadow: 0 8px 18px rgba(37,99,235,.28);
}
.ep-logo-text{ line-height: 1; }
.ep-nav-toggle {
	display: none;
	width: 40px;
	height: 40px;
	border: none;
	background: transparent;
	position: relative;
	cursor: pointer;
}
.ep-nav-toggle::before,
.ep-nav-toggle::after {
	content: '';
	position: absolute;
	left: 10px;
	right: 10px;
	height: 2px;
	background: #111827;
	transition: transform .2s;
}
.ep-nav-toggle::before { top: 14px; }
.ep-nav-toggle::after { bottom: 14px; }
.ep-nav-toggle[aria-expanded="true"]::before { transform: translateY(6px) rotate(45deg); }
.ep-nav-toggle[aria-expanded="true"]::after { transform: translateY(-6px) rotate(-45deg); }

.ep-nav-panel{
	flex: 1;
	display: flex;
	align-items: center;
	gap: 14px;
	margin-left: 6px;
	justify-content: space-between;
}
.ep-nav-links{
	flex: 0 1 auto;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
}
.ep-nav-actions{
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}
.ep-nav-links a,
.ep-nav-actions a{ white-space: nowrap; }
.ep-nav-links a{
	padding: 10px 14px;
	/* 导航文字：黑色，透明度 50% */
	color: rgba(0,0,0,.5);
	font-weight: 800;
	border-radius: 12px;
	/* 导航项自身的细描边 */
	border: 1px solid rgba(148,163,184,.35);
	transition: background .2s, color .2s, transform .05s;
}
.ep-nav-links a:hover{
	color: #2563eb;
	background: rgba(37,99,235,.06);
	border-color: rgba(37,99,235,.45);
	text-decoration: none;
}
.ep-nav-links a:active{ transform: translateY(1px); }

/* 右侧操作按钮：更强对比与立体感 */
.ep-nav-actions a.ep-btn{
	border-radius: 999px;
	box-shadow: 0 10px 22px rgba(15,23,42,.10);
}
.ep-nav-actions a.ep-btn-primary,
.ep-nav-actions a.ep-btn-primary:hover { color: #fff; box-shadow: 0 12px 26px rgba(37,99,235,.25); }
.ep-nav-actions a.ep-btn-ghost {
	box-shadow: none;
	/* 商户登录：黑色描边 + 加粗文字 */
	border-color: #111827;
	color: #111827;
	font-weight: 700;
}
.ep-nav-actions a.ep-btn-ghost:hover {
	box-shadow: none;
	background: rgba(15,23,42,.06);
}
.ep-nav-actions a.ep-btn-outline { box-shadow: none; }
.ep-nav-actions a.ep-btn-outline:hover { box-shadow: none; }

.ep-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 500;
	border-radius: 8px;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background .2s, color .2s, border-color .2s;
}
.ep-btn-primary { background: linear-gradient(135deg, #2563eb, #1d4ed8); color: #fff; }
.ep-btn-primary:hover { background: linear-gradient(135deg, #1d4ed8, #1e40af); color: #fff; text-decoration: none; }
.ep-btn-ghost { color: #475569; }
.ep-btn-ghost:hover { background: #f1f5f9; color: #111827; text-decoration: none; }
.ep-btn-outline { background: transparent; border-color: #e2e8f0; color: #334155; }
.ep-btn-outline:hover { border-color: #2563eb; color: #2563eb; text-decoration: none; }
.ep-btn-lg { padding: 14px 28px; font-size: 16px; }

/* ========== 横幅：全图显示 + 移动端自适应 ========== */
.ep-hero {
	position: relative;
	width: 100%;
	margin-top: 64px;
	overflow: visible;
	background: linear-gradient(135deg, #0b1630 0%, #123a67 55%, #1f6feb 100%);
}
.ep-hero-media{
	position: relative;
	z-index: 0;
	width: 100%;
	text-align: center;
	line-height: 0;
	overflow: visible;
}
.ep-hero-carousel {
	position: relative;
	width: 100%;
	text-align: center;
	line-height: 0;
}
.ep-hero-slide {
	display: none;
	width: 100%;
	overflow: visible;
}
.ep-hero-slide.is-active {
	display: block;
}
.ep-hero-img,
.ep-hero-video{
	/* 整幅横幅按比例缩放；宽度不超素材像素（--ep-banner-max）也不超容器 */
	width: 100%;
	max-width: 100%;
	max-width: min(100%, var(--ep-banner-max, 2560px));
	height: auto;
	display: block;
	margin: 0 auto;
	object-fit: contain;
	object-position: center center;
}
.ep-hero-video{ background: #0b1630; }
.ep-hero-fallback{
	width: 100%;
	min-height: 320px;
}
.ep-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.2) 50%, transparent 100%);
	z-index: 1;
}
.ep-hero-particles{
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
}
.ep-hero-content {
	position: absolute;
	inset: 0;
	z-index: 3;
	max-width: 1200px;
	margin: 0 auto;
	padding: 32px 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	pointer-events: none;
}
.ep-hero-title {
	font-size: clamp(1.5rem, 4vw, 2.5rem);
	font-weight: 700;
	color: #fff;
	margin-bottom: 12px;
	text-shadow: 0 1px 4px rgba(0,0,0,.3);
}
.ep-hero-desc {
	font-size: clamp(14px, 2vw, 16px);
	color: rgba(255,255,255,.9);
	max-width: 480px;
	margin-bottom: 24px;
	line-height: 1.6;
}

/* 横幅下方：服务对象与适用范围说明 */
.ep-intro {
	padding-top: 28px;
	padding-bottom: 20px;
	background: linear-gradient(180deg, #f1f5f9 0%, #f8fafc 45%, #ffffff 100%);
}
.ep-intro-panel {
	max-width: 920px;
	margin: 0 auto;
	padding: 28px 28px 26px;
	border-radius: 20px;
	border: 1px solid rgba(148, 163, 184, 0.28);
	background: #fff;
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.07);
	display: flex;
	flex-direction: column;
	gap: 0;
}
.ep-intro-panel > * {
	flex-shrink: 0;
}
.ep-intro-heading {
	margin: 0 0 14px;
	font-size: clamp(1.15rem, 2.5vw, 1.35rem);
	font-weight: 800;
	color: #0f172a;
	text-align: center;
	letter-spacing: 0.04em;
}
.ep-intro-lead {
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.75;
	color: #334155;
	text-align: center;
}
.ep-intro-lead strong {
	color: #1e40af;
	font-weight: 700;
}
.ep-intro-roles-label {
	margin: 0 0 12px;
	font-size: 13px;
	font-weight: 600;
	color: #475569;
	text-align: center;
	letter-spacing: 0.02em;
}
.ep-intro-roles {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
@media (min-width: 720px) {
	.ep-intro-roles {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 14px;
	}
}
.ep-intro-role {
	margin: 0;
	padding: 14px 12px;
	border-radius: 14px;
	text-align: center;
	background: linear-gradient(180deg, #f8fafc, #f1f5f9);
	border: 1px solid rgba(37, 99, 235, 0.14);
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.06);
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
}
.ep-intro-role-name {
	display: block;
	font-size: 15px;
	font-weight: 800;
	color: #1d4ed8;
	margin-bottom: 4px;
	letter-spacing: 0.02em;
	line-height: 1.35;
}
.ep-intro-role-hint {
	display: block;
	font-size: 12px;
	line-height: 1.5;
	color: #64748b;
	font-weight: 500;
}
.ep-intro-lead,
.ep-intro-roles-label,
.ep-intro-notice-text {
	overflow-wrap: break-word;
	word-break: break-word;
}
.ep-intro-notice {
	margin: 0;
	padding: 16px 18px;
	border-radius: 14px;
	background: linear-gradient(90deg, rgba(254, 243, 199, 0.55), rgba(255, 251, 235, 0.9));
	border: 1px solid rgba(245, 158, 11, 0.35);
	border-left: 4px solid #f59e0b;
}
.ep-intro-notice-title {
	display: block;
	font-size: 13px;
	font-weight: 800;
	color: #92400e;
	margin-bottom: 8px;
	letter-spacing: 0.06em;
}
.ep-intro-notice-text {
	margin: 0;
	font-size: 13px;
	line-height: 1.7;
	color: #78350f;
}
.ep-intro-notice-text strong {
	color: #b45309;
	font-weight: 800;
}

.ep-hero-content a,
.ep-hero-content button { pointer-events: auto; }

/* 横幅中间按钮：动态悬浮 */
.ep-hero-btns{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	padding: 0;
	animation: ep-float-wrap 3.6s ease-in-out infinite;
	will-change: transform;
}
.ep-hero-btns .ep-btn{
	border: 0;
	box-shadow: 0 18px 46px rgba(0,0,0,.30);
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, filter .18s ease;
}
.ep-hero-btns .ep-btn:hover{
	transform: translateY(-4px);
	box-shadow: 0 30px 70px rgba(0,0,0,.34);
	filter: brightness(1.02);
}
.ep-hero-btns .ep-btn:active{
	transform: translateY(-2px);
	box-shadow: 0 22px 52px rgba(0,0,0,.32);
}
.ep-hero-btns .ep-btn-outline{
	background: rgba(255,255,255,.14);
	color: #fff;
}
.ep-hero-btns .ep-btn-outline:hover{
	background: rgba(255,255,255,.20);
	color: #fff;
}

@keyframes ep-float-wrap{
	0%, 100% { transform: translate(-50%, -50%) translateY(0); }
	50% { transform: translate(-50%, -50%) translateY(-8px); }
}

/* ========== 通用区块 ========== */
.ep-section { padding: 48px 0; }
.ep-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.ep-section-title {
	font-size: 1.5rem;
	font-weight: 700;
	color: #1e293b;
	text-align: center;
	margin-bottom: 4px;
}
.ep-section-sub {
	font-size: 12px;
	color: #94a3b8;
	text-align: center;
	letter-spacing: .1em;
	margin-bottom: 28px;
}

/* ========== 横幅下卖点条 ========== */
.ep-strip{
	background: #fff;
	border-bottom: 1px solid #eef2f7;
}
.ep-strip-grid{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	padding: 16px 0;
}
.ep-strip-item{
	padding: 14px 14px;
	border-radius: 14px;
	background: linear-gradient(180deg, #ffffff, #f8fafc);
	border: 1px solid #eef2f7;
}
.ep-strip-title{ font-weight: 800; color: #0f172a; letter-spacing: .2px; }
.ep-strip-desc{ margin-top: 2px; font-size: 12px; color: #64748b; }

/* ========== 快捷入口 ========== */
.ep-actions { background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); }
.ep-action-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 14px;
}
.ep-action-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 18px;
	background: rgba(255,255,255,.9);
	border: 1px solid #e8eef7;
	border-radius: 16px;
	text-align: left;
	transition: border-color .2s, box-shadow .2s, transform .2s;
	overflow: hidden;
}
.ep-action-card:hover {
	border-color: #2563eb;
	box-shadow: 0 4px 12px rgba(37,99,235,.12);
	text-decoration: none;
	color: inherit;
	transform: translateY(-2px);
}
.ep-action-icon {
	width: 46px;
	height: 46px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	flex: 0 0 auto;
	background: linear-gradient(135deg, rgba(37,99,235,1), rgba(30,64,175,1));
	box-shadow: 0 12px 22px rgba(37,99,235,.22);
}
.ep-action-icon svg{ width: 24px; height: 24px; }
.ep-action-body{ display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ep-action-title{ font-weight: 800; color: #0f172a; }
.ep-action-desc{ font-size: 13px; color: #64748b; }
.ep-action-arrow{
	margin-left: auto;
	color: rgba(15,23,42,.45);
	font-weight: 900;
}
.ep-action-card:hover .ep-action-arrow{ color: rgba(37,99,235,.9); }

/* ========== 收单服务 ========== */
.ep-service-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px;
}
.ep-service-card {
	padding: 28px 24px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(0,0,0,.06);
	border: 1px solid #f1f5f9;
	transition: box-shadow .2s;
}
.ep-service-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.ep-service-num {
	font-size: 2rem;
	font-weight: 800;
	color: #e2e8f0;
	line-height: 1;
	margin-bottom: 12px;
}
.ep-service-card h3 { font-size: 1.1rem; color: #1e293b; margin-bottom: 8px; }
.ep-service-card p { font-size: 14px; color: #64748b; line-height: 1.6; }

/* ========== 平台功能 ========== */
/* 企业资质证书（imgs/zs/ 有图时由模板输出本区块） */
.ep-certs {
	background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
	padding: 44px 0 40px;
}
.ep-certs .ep-section-title { color: #0f172a; }
.ep-cert-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 28px;
}
.ep-cert-card {
	margin: 0;
	width: 337px;
	height: 499px;
	flex: 0 0 337px;
	box-sizing: border-box;
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 14px 44px rgba(15, 23, 42, 0.1);
	border: 1px solid rgba(148, 163, 184, 0.22);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px;
}
.ep-cert-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
}
@media (max-width: 400px) {
	.ep-cert-card {
		width: min(337px, 100%);
		height: auto;
		min-height: 280px;
		aspect-ratio: 337 / 499;
		flex: 1 1 280px;
	}
}

.ep-features { background: #fff; }
.ep-feature-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
}
.ep-feature-item {
	padding: 24px 20px;
	background: #f8fafc;
	border-radius: 10px;
	border-left: 4px solid #2563eb;
}
.ep-feature-item h4 { font-size: 1rem; color: #1e293b; margin-bottom: 6px; }
.ep-feature-item p { font-size: 13px; color: #64748b; }

/* ========== CTA ========== */
.ep-cta {
	background: linear-gradient(135deg, #1e3a5f 0%, #2563eb 100%);
	color: #fff;
}
.ep-cta .ep-section-title { color: #fff; }
.ep-cta-desc { text-align: center; color: rgba(255,255,255,.9); margin-bottom: 24px; }
.ep-cta-btns {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
}
.ep-cta-btns .ep-btn-primary { background: #fff; color: #2563eb; }
.ep-cta-btns .ep-btn-primary:hover { background: #f1f5f9; color: #1d4ed8; }
.ep-cta-btns .ep-btn-outline { border-color: rgba(255,255,255,.8); color: #fff; }
.ep-cta-btns .ep-btn-outline:hover { background: rgba(255,255,255,.15); color: #fff; }

/* ========== 页脚 ========== */
.ep-footer {
	/* 调整为更接近按钮视觉深度的蓝色（偏 #1d4ed8） */
	background: #1d4ed8;
	color: rgba(255,255,255,.85);
	padding: 40px 0 24px;
}
.ep-footer-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 32px;
	margin-bottom: 32px;
}
.ep-footer-label { font-weight: 600; color: #ffffff; margin-bottom: 12px; }
.ep-footer p { margin-bottom: 6px; }
.ep-footer a { color: rgba(255,255,255,.85); }
.ep-footer a:hover { color: #ffffff; }
.ep-footer-copy {
	text-align: center;
	font-size: 13px;
	padding-top: 24px;
	border-top: 1px solid rgba(255,255,255,.25);
	/* 调整 ICP/公安 备案图标显示高度：改此数值即可（例如 24px、28px） */
	--ep-footer-icon-h: 20px;
}
.ep-footer-copy p { margin-bottom: 4px; }

/* 底部备案区：LOGO + 后台「首页底部排版」HTML（含备案号、ICP 图标等） */
.ep-footer-beian-row {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}
@media (min-width: 600px) {
	.ep-footer-beian-row {
		flex-direction: row;
		align-items: center;
		justify-content: center;
		text-align: center;
	}
}
.ep-footer-logo {
	height: 40px;
	width: auto;
	max-width: 200px;
	object-fit: contain;
	flex-shrink: 0;
	display: block;
}
.ep-footer-richtext {
	max-width: 900px;
	text-align: center;
	color: rgba(255,255,255,.88);
	line-height: 1.65;
	font-size: 13px;
}
@media (min-width: 600px) {
	.ep-footer-richtext { text-align: center; }
}
.ep-footer-richtext a {
	color: rgba(255,255,255,.92);
	text-decoration: underline;
}
.ep-footer-richtext a:hover { color: #fff; }
.ep-footer-richtext img {
	vertical-align: middle;
	max-height: 32px;
	width: auto;
}
.ep-footer-badges {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}
/* 备案号：整体相对页脚居中；从左到右排列；| 分隔；满 6 条起每行最多 5 条以免撑破 */
.ep-footer-badge-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	row-gap: 10px;
	column-gap: 0;
	width: fit-content;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
.ep-footer-badge-grid .ep-footer-badge {
	margin: 0;
	min-width: 0;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	flex: 0 1 auto;
	max-width: 100%;
}
.ep-footer-badge-grid:has(.ep-footer-badge:nth-child(6)) .ep-footer-badge {
	flex: 0 1 calc(20% - 16px);
	max-width: calc(20% - 16px);
}
.ep-footer-badge-grid .ep-footer-badge-link {
	flex-wrap: nowrap;
	min-width: 0;
}
.ep-footer-badge-grid .ep-footer-badge:not(:nth-child(5n)):not(:last-child)::after {
	content: '|';
	flex: 0 0 auto;
	margin-left: 8px;
	padding-left: 8px;
	color: rgba(255, 255, 255, 0.45);
	font-weight: 300;
	pointer-events: none;
}
@media (max-width: 640px) {
	.ep-footer-badge-grid {
		font-size: 11px;
	}
	.ep-footer-badge-grid .ep-footer-badge:not(:nth-child(5n)):not(:last-child)::after {
		margin-left: 4px;
		padding-left: 4px;
	}
}
.ep-footer-badge {
	margin: 0;
}
.ep-footer-badge-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
	color: rgba(255,255,255,.92);
	text-decoration: none;
}
.ep-footer-badge-link:hover {
	color: #fff;
	text-decoration: underline;
}
.ep-footer-badge-icon {
	width: auto;
	height: var(--ep-footer-icon-h, 20px);
	max-height: 40px;
	object-fit: contain;
	flex-shrink: 0;
	vertical-align: middle;
}
.ep-footer-badge-text {
	line-height: 1.5;
}
.ep-footer-badges .ep-footer-richtext {
	margin-top: 4px;
}
.ep-footer-line {
	margin-top: 4px;
	color: rgba(255,255,255,.75);
}

/* ========== 返回顶部 ========== */
.ep-back-top {
	position: fixed;
	bottom: 24px;
	right: 86px;
	width: 44px;
	height: 44px;
	background: #334155;
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	opacity: .9;
	transition: background .2s;
	z-index: 100;
}
.ep-back-top:hover { background: #2563eb; color: #fff; }

/* ========== 右侧在线客服悬浮栏 ========== */
.ep-kfbar{
	position: fixed;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1500;
}
.ep-kf-fab{
	border: 1px solid rgba(255,255,255,.50);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 12px;
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(37,99,235,.92), rgba(30,64,175,.92));
	color: #fff;
	box-shadow: 0 18px 46px rgba(37,99,235,.28);
}
.ep-kf-fab:hover{ filter: brightness(1.03); }
.ep-kf-fab-dot{
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 4px rgba(34,197,94,.18);
}
.ep-kf-fab-text{ font-weight: 800; letter-spacing: .2px; }
.ep-kf-panel{
	position: absolute;
	right: 0;
	top: 0;
	transform: translateX(-12px);
	width: min(360px, calc(100vw - 32px));
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 18px 50px rgba(15,23,42,.22);
	border: 1px solid rgba(148,163,184,.28);
	overflow: hidden;
}
.ep-kf-panel-hd{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 14px;
	background: linear-gradient(180deg, #ffffff, #f8fafc);
	border-bottom: 1px solid #eef2f7;
}
.ep-kf-panel-title{ font-weight: 900; color: #0f172a; }
.ep-kf-close{
	border: none;
	background: transparent;
	cursor: pointer;
	font-size: 20px;
	line-height: 1;
	color: #64748b;
}
.ep-kf-close:hover{ color: #0f172a; }
.ep-kf-panel-bd{ padding: 10px; display: grid; gap: 8px; }
.ep-kf-item{
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 10px;
	border-radius: 12px;
	border: 1px solid #eef2f7;
	background: #fff;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}
.ep-kf-item:hover{
	border-color: rgba(37,99,235,.35);
	box-shadow: 0 10px 24px rgba(37,99,235,.12);
	text-decoration: none;
}
.ep-kf-ico{
	width: 38px;
	height: 38px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 900;
	color: #fff;
	background: linear-gradient(135deg, #2563eb, #1e40af);
}
/* 在线客服 — QQ 使用图片图标（assets/images/QQ.png） */
.ep-kf-ico-qq{
	background: #fff;
	padding: 4px;
	border: 1px solid #e2e8f0;
}
.ep-kf-ico-qq img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
/* 在线客服 — 微信行图标（assets/images/weixin.png） */
.ep-kf-ico-weixin{
	background: #fff;
	padding: 4px;
	border: 1px solid #e2e8f0;
}
.ep-kf-ico-weixin img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.ep-kf-wechat-block{
	display: flex;
	flex-direction: column;
	gap: 0;
}
.ep-kf-wechat-btn{
	font: inherit;
	-webkit-appearance: none;
	appearance: none;
}
.ep-kf-wechat-qr{
	padding: 0 0 4px;
}
.ep-kf-wechat-qr[hidden]{
	display: none !important;
}
.ep-kf-wechat-qr-inner{
	text-align: center;
	padding: 12px 10px;
	background: #f8fafc;
	border-radius: 12px;
	border: 1px dashed #e2e8f0;
}
.ep-kf-wechat-qr-inner img{
	max-width: 220px;
	width: 100%;
	height: auto;
	vertical-align: middle;
}
.ep-kf-wechat-tip{
	font-size: 12px;
	color: #64748b;
	margin: 8px 0 0;
}
.ep-kf-meta{ display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ep-kf-name{ font-weight: 900; color: #0f172a; }
.ep-kf-desc{ font-size: 12px; color: #64748b; }
.ep-kf-item-btn{ width: 100%; text-align: left; }

@media (max-width: 768px){
	.ep-back-top{ right: 16px; bottom: 86px; }
	/* 移动端也保持垂直居中 */
	.ep-kfbar{ right: 12px; top: 50%; bottom: auto; transform: translateY(-50%); }
	.ep-kf-panel{ top: 0; bottom: auto; transform: translateX(-12px); }
}

/* ========== APP 下载弹窗（导航） ========== */
.ep-app-dl-overlay[hidden]{
	display: none !important;
}
.ep-app-dl-overlay{
	position: fixed;
	inset: 0;
	z-index: 2100;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
.ep-app-dl-backdrop{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	padding: 0;
	margin: 0;
	background: rgba(15,23,42,.5);
	cursor: pointer;
}
.ep-app-dl-dialog{
	position: relative;
	z-index: 1;
	width: min(420px, calc(100vw - 32px));
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 24px 60px rgba(15,23,42,.28);
	border: 1px solid rgba(148,163,184,.28);
	overflow: hidden;
}
.ep-app-dl-dialog-hd{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	border-bottom: 1px solid #eef2f7;
	background: linear-gradient(180deg, #fff, #f8fafc);
}
.ep-app-dl-dialog-hd h2{
	margin: 0;
	font-size: 1.1rem;
	font-weight: 900;
	color: #0f172a;
}
.ep-app-dl-close-btn{
	border: none;
	background: transparent;
	cursor: pointer;
	font-size: 22px;
	line-height: 1;
	color: #64748b;
	padding: 4px 8px;
	border-radius: 8px;
}
.ep-app-dl-close-btn:hover{ color: #0f172a; background: rgba(148,163,184,.15); }
.ep-app-dl-dialog-bd{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	padding: 20px 18px 22px;
}
.ep-app-dl-card{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 18px 12px;
	border-radius: 14px;
	border: 1px solid #eef2f7;
	background: #fff;
	color: #0f172a;
	text-decoration: none;
	transition: border-color .2s, box-shadow .2s;
}
.ep-app-dl-card:hover{
	text-decoration: none;
	border-color: rgba(37,99,235,.35);
	box-shadow: 0 10px 24px rgba(37,99,235,.12);
	color: #0f172a;
}
.ep-app-dl-card[aria-disabled="true"]{
	opacity: .55;
	cursor: not-allowed;
	pointer-events: auto;
}
.ep-app-dl-card[aria-disabled="true"]:hover{
	border-color: #eef2f7;
	box-shadow: none;
}
.ep-app-dl-card-ico{
	display: flex;
	align-items: center;
	justify-content: center;
}
.ep-app-dl-card-ico img{
	width: 72px;
	height: 72px;
	object-fit: contain;
}
.ep-app-dl-card-txt{
	font-weight: 800;
	font-size: 15px;
}

/* ========== 帮助中心浮层 ========== */
.ep-faq-wrap {
	position: fixed;
	z-index: 2000;
	right: 16px;
	bottom: 96px;
	background: transparent;
	padding: 0;
	overflow: visible;
}
.ep-faq-inner {
	background: #fff;
	border-radius: 12px;
	width: min(420px, calc(100vw - 32px));
	max-height: min(70vh, 560px);
	overflow: auto;
	padding: 28px;
	box-shadow: 0 18px 50px rgba(15,23,42,.22);
	border: 1px solid rgba(148,163,184,.28);
}
.ep-faq-inner h2 { margin-bottom: 20px; font-size: 1.25rem; }
.ep-faq-item { border-bottom: 1px solid #e2e8f0; }
.ep-faq-q { padding: 14px 0; cursor: pointer; font-weight: 500; }
.ep-faq-a {
	padding: 0 0 14px;
	font-size: 14px;
	color: #64748b;
	line-height: 1.6;
	display: none;
}
.ep-faq-item.is-open .ep-faq-a { display: block; }
.ep-faq-close { margin-top: 20px; width: 100%; }

/* ========== 移动端 ========== */
@media (max-width: 768px) {
	.ep-nav-toggle { display: block; }
	.ep-nav-panel {
		position: fixed;
		top: 64px;
		left: 0;
		right: 0;
		background: #fff;
		flex-direction: column;
		align-items: stretch;
		margin-left: 0;
		padding: 16px;
		gap: 0;
		box-shadow: 0 4px 12px rgba(0,0,0,.1);
		display: none;
	}
	.ep-nav-panel.is-open { display: flex; }
	.ep-nav-links{
		flex-direction: column;
		justify-content: flex-start;
		gap: 0;
	}
	.ep-nav-links a { width: 100%; text-align: center; padding: 14px; border-radius: 12px; }
	.ep-nav-actions{
		margin-top: 10px;
		flex-direction: column;
	}
	.ep-nav-actions a{ width: 100%; }

	.ep-hero {
		background: linear-gradient(135deg, #0b1630 0%, #123a67 55%, #1f6feb 100%);
	}
	.ep-hero-content { padding: 24px 16px; }
	/* 移动端：移除大标题与描述，仅保留中间按钮 */
	.ep-hero-title,
	.ep-hero-desc{ display: none; }
	.ep-hero-btns{
		top: 56%;
		gap: 10px;
	}
	.ep-hero-btns .ep-btn-lg { padding: 12px 18px; font-size: 14px; }

	.ep-section { padding: 36px 0; }

	/* 服务对象说明：移动端单列卡片，与 PC 分区一致、避免双列挤字 */
	.ep-intro {
		padding-top: 20px;
		padding-bottom: 24px;
	}
	.ep-intro-panel {
		padding: 22px 16px 20px;
		border-radius: 16px;
		gap: 16px;
	}
	.ep-intro-heading {
		margin: 0;
		line-height: 1.4;
	}
	.ep-intro-lead {
		margin: 0;
		text-align: left;
		line-height: 1.8;
		font-size: 14px;
	}
	.ep-intro-roles-label {
		margin: 0;
		text-align: left;
		font-size: 13px;
		line-height: 1.5;
	}
	.ep-intro-roles {
		display: flex;
		flex-direction: column;
		gap: 12px;
		margin: 0;
		width: 100%;
	}
	.ep-intro-role {
		padding: 16px 14px;
		text-align: left;
	}
	.ep-intro-role-name {
		margin-bottom: 6px;
		font-size: 15px;
	}
	.ep-intro-role-hint {
		font-size: 13px;
		line-height: 1.55;
	}
	.ep-intro-notice {
		margin: 0;
	}
	.ep-intro-notice-title {
		margin-bottom: 8px;
	}
	.ep-intro-notice-text {
		line-height: 1.75;
		font-size: 13px;
	}

	.ep-action-grid { grid-template-columns: 1fr; }
	.ep-service-grid { grid-template-columns: 1fr; }
	.ep-feature-grid { grid-template-columns: 1fr; }
	.ep-cta-btns { flex-direction: column; }
	.ep-cta-btns .ep-btn { width: 100%; }

	.ep-strip-grid{ grid-template-columns: 1fr 1fr; }
}

@media (min-width: 769px) {
	.ep-hero { min-height: 320px; }
	/* PC：隐藏横幅文字，仅保留按钮居中 */
	.ep-hero-title,
	.ep-hero-desc{ display: none; }
	.ep-hero-content{
		align-items: center;
		text-align: center;
	}
}

@media (min-width: 1200px) {
	.ep-hero { max-height: none; }
}
