﻿/*
Theme Name: EnerCellix EV
Theme URI: https://enercellix.example.com/
Description: EnerCellix EV & Hybrid Batteries storefront child theme for GeneratePress. Layout and mega-menu modelled on a leading US hybrid-battery retailer.
Author: EnerCellix
Template: generatepress
Version: 1.0.66
Text Domain: enercellix
*/

/* =========================================================
   1. TOKENS / BASE
   ========================================================= */
:root {
	--kev-green: #28b060;
	--kev-green-dark: #1e9450;
	--kev-green-bright: #34c46e;
	--kev-green-soft: #e8f7ee;
	--kev-dark: #0c0d0e;
	--kev-dark-2: #17191b;
	--kev-ink: #3c3b3b;
	--kev-head: #1b1d1f;
	--kev-gray: #6d7478;
	--kev-line: #e6e8ea;
	--kev-soft: #f5f6f7;
	--kev-radius: 6px;
	--kev-wrap: 1240px;
	--kev-shadow: 0 10px 30px rgba(12, 13, 14, .08);
}

body.kev {
	color: var(--kev-ink);
	font-family: "Montserrat", -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 15px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

.kev h1, .kev h2, .kev h3, .kev h4, .kev h5 {
	font-family: "Montserrat", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	color: var(--kev-head);
	font-weight: 800;
	line-height: 1.18;
	letter-spacing: -.01em;
}

.kev a { color: var(--kev-green-dark); }
.kev a:hover { color: var(--kev-green); }

.kev-wrap {
	width: 100%;
	max-width: var(--kev-wrap);
	margin: 0 auto;
	padding: 0 20px;
}

.kev-bleed { width: 100vw; margin-left: calc(50% - 50vw); }

/* Home page escapes the GeneratePress 1200px content container */
.kev-home { width: 100vw; margin-left: calc(50% - 50vw); }
.kev .site-content { display: block !important; padding: 0; }

.kev-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	background: var(--kev-green);
	color: #fff !important;
	font-weight: 800;
	font-size: 14px;
	letter-spacing: .02em;
	padding: 14px 26px;
	border-radius: 5px;
	text-decoration: none !important;
	border: 0;
	cursor: pointer;
	transition: background .18s ease, transform .18s ease;
	line-height: 1.1;
}

.kev-btn:hover { background: var(--kev-green-dark); transform: translateY(-1px); }

/* WhatsApp CTA uses the brand colour so it reads as "chat", not "call" */
.kev-btn--wa { background: #25d366; }
.kev-btn--wa:hover { background: #1da851; }
.kev-btn--wa svg { flex: 0 0 auto; }

.kev-btn--ghost {
	background: transparent;
	border: 2px solid rgba(255, 255, 255, .55);
	color: #fff !important;
}

.kev-btn--ghost:hover { background: #fff; color: var(--kev-head) !important; border-color: #fff; }

.kev-btn--dark { background: var(--kev-head); }
.kev-btn--dark:hover { background: #000; }

.kev-btn--lg { padding: 17px 34px; font-size: 15px; }

.kev-eyebrow {
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--kev-green-dark);
}

/* =========================================================
   2. TOP UTILITY BAR
   ========================================================= */
.kev-topbar {
	background: #fff;
	border-bottom: 1px solid #ededed;
	font-size: 13px;
	color: var(--kev-ink);
}

.kev-topbar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 40px;
}

.kev-topbar-left { display: flex; align-items: center; gap: 18px; }

.kev-topbar-item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--kev-ink);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.kev-topbar-item svg { width: 15px; height: 15px; flex: 0 0 auto; color: var(--kev-green); }
.kev-topbar-item:hover { color: var(--kev-green-dark); }
.kev-topbar-sep { color: #d8dadc; }

.kev-topbar-right { display: flex; align-items: center; gap: 16px; }

.kev-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	color: var(--kev-ink);
	text-decoration: none;
	position: relative;
}

.kev-icon-btn svg { width: 19px; height: 19px; }
.kev-icon-btn:hover { color: var(--kev-green); }

.kev-cart-count {
	position: absolute;
	top: -2px;
	right: -4px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 9px;
	background: var(--kev-green);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.kev-mini-account { font-size: 13px; font-weight: 600; text-decoration: none; color: var(--kev-ink); }

/* =========================================================
   3. HEADER / BRAND / NAV
   ========================================================= */
.kev-header {
	background: #fff;
	position: relative;
	z-index: 999;
	border-bottom: 1px solid #ededed;
}

.kev-header-inner {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 78px;
}

.kev-nav-wrap { flex: 1 1 auto; display: flex; min-width: 0; }

.kev-brand {
	display: flex;
	align-items: center;
	gap: 16px;
	text-decoration: none;
	flex: 0 0 auto;
}

.kev-logo {
	display: inline-flex;
	align-items: baseline;
	gap: 3px;
	font-size: 27px;
	font-weight: 900;
	letter-spacing: -.03em;
	color: var(--kev-green-dark);
	text-decoration: none;
	line-height: 1;
	white-space: nowrap;
}

.kev-logo span { color: var(--kev-head); }
.kev-logo em {
	font-style: normal;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .12em;
	color: var(--kev-green);
	display: block;
	margin-top: 3px;
}

.kev-brand-divider {
	width: 1px;
	height: 34px;
	background: #e2e4e6;
	display: inline-block;
}

.kev-brand-tag {
	font-size: 10.5px;
	font-weight: 800;
	color: var(--kev-green-dark);
	letter-spacing: .07em;
	text-transform: uppercase;
	line-height: 1.32;
	max-width: 118px;
	white-space: normal;
}

/* Uploaded logo (外观 → 自定义 → 品牌 LOGO). Replaces only the wordmark. */
.kev-logo-img {
	display: block;
	width: auto;
	max-width: 100%;
	flex: 0 0 auto;
	object-fit: contain;
}
.kev-logo-img--header { height: 44px; }
.kev-logo-img--footer { height: 34px; }
.kev-logo-img--drawer { height: 30px; }

.kev-header-spacer { flex: 1 1 auto; }

.kev-header-actions { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }

.kev-header-phone {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	text-decoration: none;
	line-height: 1.15;
}

.kev-header-phone .kev-hp-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--kev-green-soft);
	color: var(--kev-green-dark);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.kev-header-phone .kev-hp-icon svg { width: 17px; height: 17px; }
.kev-header-phone small { display: block; font-size: 10px; font-weight: 800; letter-spacing: .1em; color: var(--kev-gray); text-transform: uppercase; }
.kev-header-phone strong { display: block; font-size: 16px; font-weight: 900; color: var(--kev-head); }

.kev-burger {
	display: none;
	width: 42px;
	height: 42px;
	border: 1px solid var(--kev-line);
	background: #fff;
	border-radius: 5px;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	color: var(--kev-head);
}

.kev-header .kev-burger {
	margin-left: auto;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='16' viewBox='0 0 22 16'%3E%3Cpath d='M1 1h20M1 8h20M1 15h20' stroke='%231b1d1f' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 22px 16px;
}

/* --- nav --- */
.kev-nav {
	display: flex;
	align-items: center;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: nowrap;
}

/* 普通菜单项：作为自身下拉的定位参照 */
.kev-nav > li { position: relative; margin: 0; }

.kev-nav > li > a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 0 13px;
	height: 78px;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--kev-head);
	text-decoration: none;
	position: relative;
	white-space: nowrap;
	transition: color .15s ease;
}

.kev-nav > li > a .kev-caret {
	width: 9px;
	height: 9px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	opacity: .5;
	transition: transform .18s ease;
}

.kev-nav > li:hover > a,
.kev-nav > li.is-open > a,
.kev-nav > li.current-menu-item > a { color: var(--kev-green-dark); }

.kev-nav > li:hover > a .kev-caret { transform: rotate(225deg) translateY(-2px); }

.kev-nav > li > a::after {
	content: "";
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 0;
	height: 3px;
	background: var(--kev-green);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .2s ease;
}

.kev-nav > li:hover > a::after,
.kev-nav > li.is-open > a::after { transform: scaleX(1); }

.kev-nav-cta { flex: 0 0 auto; padding: 11px 20px; font-size: 13px; margin-left: auto; }

/* --- simple dropdown --- */
.kev-dropdown {
	position: absolute;
	top: 100%;
	left: auto;
	right: 0;
	min-width: 250px;
	background: #fff;
	border-top: 3px solid var(--kev-green);
	box-shadow: 0 18px 40px rgba(12, 13, 14, .14);
	padding: 10px 0;
	list-style: none;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .16s ease, transform .16s ease, visibility .16s;
	z-index: 40;
}

.kev-nav > li:hover > .kev-dropdown,
.kev-nav > li.is-open > .kev-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.kev-dropdown li { margin: 0; }

.kev-dropdown a {
	display: block;
	padding: 9px 22px;
	font-size: 14px;
	font-weight: 600;
	color: var(--kev-ink);
	text-decoration: none;
}

.kev-dropdown a:hover { background: var(--kev-soft); color: var(--kev-green-dark); padding-left: 26px; }

/* --- mega menu --- */
.kev-nav > li.kev-has-mega { position: static; }

.kev-mega {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #fff;
	border-top: 3px solid var(--kev-green);
	box-shadow: 0 26px 50px rgba(12, 13, 14, .16);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .16s ease, transform .16s ease, visibility .16s;
	z-index: 40;
}

.kev-nav > li:hover > .kev-mega,
.kev-nav > li.is-open > .kev-mega {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.kev-mega-inner {
	display: flex;
	max-width: var(--kev-wrap);
	margin: 0 auto;
	padding: 0 20px;
}

.kev-mega-makes {
	flex: 0 0 252px;
	width: 252px;
	border-right: 1px solid var(--kev-line);
	padding: 12px 0;
	align-self: start;
	overflow: visible;
	list-style: none;
	margin: 0;
}

.kev-mega-makes li { margin: 0; }

.kev-mega-makes a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 6px 16px 6px 10px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--kev-ink);
	text-decoration: none;
	border-left: 3px solid transparent;
}

.kev-mega-makes a::after {
	content: "";
	width: 7px;
	height: 7px;
	border-right: 2px solid #c9ccce;
	border-top: 2px solid #c9ccce;
	transform: rotate(45deg);
	flex: 0 0 auto;
}

.kev-mega-makes li.is-active a,
.kev-mega-makes a:hover {
	background: var(--kev-green-soft);
	border-left-color: var(--kev-green);
	color: var(--kev-green-dark);
}

.kev-mega-makes li.is-active a::after { border-color: var(--kev-green); }

.kev-mega-panes { flex: 1 1 auto; padding: 24px 0 26px 34px; min-height: 330px; min-width: 0; }

.kev-mega-promo {
	flex: 0 0 262px;
	width: 262px;
	margin: 22px 0 22px 30px;
	background: linear-gradient(160deg, #131719 0%, #1d2427 100%);
	border-radius: 8px;
	padding: 22px 20px;
	color: rgba(255, 255, 255, .76);
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.kev-mega-promo-tag { font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #4be08a; margin-bottom: 8px; }
.kev-mega-promo h5 { color: #fff; font-size: 16px; margin: 0 0 8px; line-height: 1.3; }
.kev-mega-promo p { font-size: 12.5px; line-height: 1.6; margin: 0 0 14px; }
.kev-mega-promo .kev-btn { font-size: 12px; padding: 11px 14px; width: 100%; }
.kev-mega-promo-link { display: inline-block; margin-top: 10px; font-size: 12px; font-weight: 800; color: #4be08a !important; text-decoration: none; }

.kev-mega-pane { display: none; }
.kev-mega-pane.is-active { display: block; animation: kevFade .18s ease both; }

@keyframes kevFade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

.kev-mega-pane-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--kev-line);
}

.kev-mega-pane-head h4 { margin: 0; font-size: 16px; letter-spacing: .01em; }
.kev-mega-pane-head a { font-size: 12.5px; font-weight: 800; text-decoration: none; color: var(--kev-green-dark); white-space: nowrap; }

.kev-mega-models {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 4px 22px;
	list-style: none;
	margin: 0;
}

.kev-mega-models li { margin: 0; }

.kev-mega-models a {
	display: block;
	padding: 5px 0;
	font-size: 13px;
	font-weight: 600;
	color: #5b6165;
	text-decoration: none;
	line-height: 1.4;
}

.kev-mega-models a:hover { color: var(--kev-green-dark); text-decoration: underline; }

/* 超过 12 个车型时的「全部车型」出口（面板保持 3 行高） */
.kev-mega-more {
	display: inline-block;
	margin-top: 12px;
	font-size: 12.5px;
	font-weight: 800;
	color: var(--kev-green-dark);
	text-decoration: none;
}

.kev-mega-more:hover { text-decoration: underline; }

.kev-mega-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	/* 背景铺满整条面板，内容仍与页面 1200px 内容区左右对齐 */
	max-width: none;
	padding: 14px max(20px, calc((100% - 1200px) / 2));
	border-top: 1px solid var(--kev-line);
	background: #fbfcfc;
	font-size: 13px;
	color: var(--kev-gray);
}

.kev-mega-foot a { font-weight: 800; text-decoration: none; color: var(--kev-green-dark); }

/* --- mobile drawer --- */
.kev-drawer {
	position: fixed;
	inset: 0 0 0 auto;
	width: min(360px, 86vw);
	background: #fff;
	z-index: 100000;
	transform: translateX(100%);
	transition: transform .26s ease;
	display: flex;
	flex-direction: column;
	box-shadow: -10px 0 40px rgba(0, 0, 0, .18);
}

.kev-drawer.is-open { transform: translateX(0); }

.kev-drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 18px;
	border-bottom: 1px solid var(--kev-line);
}

.kev-drawer-close {
	width: 36px;
	height: 36px;
	border: 0;
	background: var(--kev-soft);
	border-radius: 5px;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	color: var(--kev-head);
}

.kev-drawer-body { overflow-y: auto; padding: 8px 0 40px; flex: 1 1 auto; }

.kev-drawer ul { list-style: none; margin: 0; padding: 0; }
.kev-drawer > .kev-drawer-body > ul > li > a,
.kev-drawer .kev-d-acc > button {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	padding: 13px 18px;
	font-size: 14.5px;
	font-weight: 700;
	color: var(--kev-head);
	text-decoration: none;
	background: none;
	border: 0;
	border-bottom: 1px solid #f2f3f4;
	text-align: left;
	cursor: pointer;
	font-family: inherit;
}

.kev-drawer .kev-d-sub { display: none; background: #fafbfb; }
.kev-drawer .kev-d-acc.is-open .kev-d-sub { display: block; }
.kev-drawer .kev-d-sub a { display: block; padding: 10px 18px 10px 30px; font-size: 13.5px; font-weight: 600; color: #5b6165; text-decoration: none; border-bottom: 1px solid #f4f5f6; }
.kev-drawer .kev-d-acc.is-open > button .kev-plus { transform: rotate(45deg); }
.kev-drawer .kev-plus { font-size: 18px; color: var(--kev-green); transition: transform .2s; }

.kev-overlay {
	position: fixed;
	inset: 0;
	background: rgba(12, 13, 14, .5);
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s ease;
	z-index: 99999;
}

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

/* =========================================================
   4. HERO
   ========================================================= */
.kev-hero {
	position: relative;
	background: #0b0f0d;
	color: #fff;
	overflow: hidden;
	isolation: isolate;
}

.kev-hero-bg {
	position: absolute;
	inset: 0;
	background-image: var(--kev-hero-img, none);
	background-size: cover;
	background-position: 64% center;
	z-index: -3;
	transform: scale(1.03);
}

/* 左侧压暗保住文字对比度，右侧把主图留在亮部 */
.kev-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(6, 9, 8, .97) 0%, rgba(6, 9, 8, .9) 34%, rgba(6, 9, 8, .46) 62%, rgba(6, 9, 8, .72) 100%);
	z-index: -2;
}

.kev-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(680px 420px at 78% 18%, rgba(52, 196, 110, .16), transparent 68%);
	z-index: -1;
}

.kev-hero-inner {
	max-width: var(--kev-wrap);
	margin: 0 auto;
	padding: 58px 20px 54px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 420px;
	gap: 56px;
	align-items: center;
}

.kev-hero-pill {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 7px 15px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(255, 255, 255, .16);
	color: rgba(255, 255, 255, .9);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.kev-hero-pill i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--kev-green-bright);
	box-shadow: 0 0 0 3px rgba(52, 196, 110, .2);
}

.kev .kev-hero h1 {
	color: #fff;
	font-size: clamp(34px, 4vw, 56px);
	line-height: 1.05;
	margin: 20px 0;
	font-weight: 900;
	letter-spacing: -.028em;
}

.kev-hero h1 span { color: var(--kev-green-bright); display: block; }

.kev-hero-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
}

.kev-hero-chips li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 13px;
	border-radius: 5px;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .13);
	font-size: 13px;
	font-weight: 700;
	color: rgba(255, 255, 255, .92);
}

.kev-hero-chips li::before {
	content: "";
	width: 13px;
	height: 13px;
	flex: 0 0 auto;
	background: var(--kev-green-bright);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.kev-hero-proof {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 20px;
	font-size: 13px;
	color: rgba(255, 255, 255, .72);
}

.kev-hero-proof .kev-stars { color: #f5a623; letter-spacing: 1.5px; font-size: 14px; }
.kev-hero-proof strong { color: #fff; font-weight: 900; font-size: 14px; }

.kev-hero-note {
	margin: 10px 0 0;
	font-size: 12.5px;
	font-weight: 600;
	color: rgba(255, 255, 255, .58);
}

.kev-hero-note b { color: rgba(255, 255, 255, .86); }

/* separator produced by kev_pipe() for "A | B | C" copy */
.kev-sep { opacity: .45; margin: 0 8px; font-weight: 600; }

.kev-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.kev-hero-actions .kev-btn { font-size: 15px; padding: 15px 26px; border-radius: 6px; }

/* 查询卡：白底压在图片右侧，首屏就能开始选车 */
.kev-hero-card {
	width: 100%;
	max-width: 420px;
	justify-self: end;
	background: #fff;
	color: var(--kev-head);
	border-radius: 14px;
	padding: 24px 26px 20px;
	box-shadow: 0 34px 80px rgba(0, 0, 0, .5);
}

.kev-hero-card h2 { margin: 0 0 3px; font-size: 20px; letter-spacing: -.01em; }
.kev-hero-card-sub { margin: 0 0 18px; font-size: 12.5px; color: var(--kev-gray); }

.kev-hero-card .kev-finder-form label {
	display: block;
	margin: 0 0 5px;
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #949a9e;
}

.kev-hero-card .kev-select {
	height: 45px;
	margin-bottom: 11px;
	border-color: #dfe2e4;
	border-radius: 6px;
	background-color: #fafbfb;
}

.kev-hero-card .kev-btn { width: 100%; margin-top: 2px; font-size: 14.5px; }

.kev-hero-card-note {
	display: block;
	margin-top: 10px;
	text-align: center;
	font-size: 11px;
	font-weight: 600;
	color: #949a9e;
}

/* 没选完就点按钮时的提示（默认隐藏，JS 打开） */
.kev-finder-hint {
	margin: 8px 0 0;
	font-size: 11.5px;
	font-weight: 600;
	line-height: 1.45;
	text-align: center;
	color: #b3392a;
}

.kev-finder-hint a { color: #b3392a; text-decoration: underline; }

/* 选中年份后显示的代际 / 年份区间 / 模组数（数据来自适配表 CSV） */
.kev-finder-spec {
	margin: -2px 0 10px;
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1.45;
	color: var(--kev-green-dark);
}

.kev-finder-spec b { color: var(--kev-head); }

/* 多个方案（锂电池包 / Ni-MH 包）并排展示 */
.kev-finder-results { margin-top: 12px; }

.kev-finder-duo {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.kev-finder-mini {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 9px 10px;
	border: 1px solid var(--kev-line);
	border-radius: 8px;
	text-decoration: none !important;
	color: var(--kev-head);
	transition: border-color .15s ease, box-shadow .15s ease;
}

.kev-finder-mini:hover { border-color: var(--kev-green); box-shadow: 0 6px 16px rgba(40, 176, 96, .12); }

.kev-finder-mini .kev-mini-tag {
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--kev-gray);
}

.kev-finder-mini b {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 11.5px;
	font-weight: 800;
	line-height: 1.3;
	color: var(--kev-head);
	min-height: 2.6em;
}

.kev-finder-mini .kev-mini-price {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	font-weight: 900;
	color: var(--kev-green-dark);
}

.kev-mini-more {
	display: inline-block;
	margin-top: 8px;
	font-size: 11.5px;
	font-weight: 800;
	color: var(--kev-green-dark);
	text-decoration: none;
}

.kev-mini-more:hover { text-decoration: underline; }

.kev-hero-stats {
	position: relative;
	border-top: 1px solid rgba(255, 255, 255, .12);
	background: rgba(255, 255, 255, .04);
}

.kev-hero-stats-inner {
	max-width: var(--kev-wrap);
	margin: 0 auto;
	padding: 0 20px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.kev-hero-stat { padding: 15px 18px; }
.kev-hero-stat + .kev-hero-stat { border-left: 1px solid rgba(255, 255, 255, .1); }

.kev-hero-stat b {
	display: block;
	font-size: 21px;
	font-weight: 900;
	color: #fff;
	letter-spacing: -.01em;
	line-height: 1.2;
}

.kev-hero-stat span {
	display: block;
	margin-top: 1px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
}

/* =========================================================
   5. SECTION SHELL
   ========================================================= */
.kev-section { padding: 62px 0; }
.kev-section--tight { padding: 46px 0; }
.kev-section--soft { background: var(--kev-soft); }
.kev-section--dark { background: var(--kev-dark); color: rgba(255, 255, 255, .82); }
.kev-section--dark h2, .kev-section--dark h3, .kev-section--dark h4 { color: #fff; }

.kev-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
}

.kev-section-head h2 { margin: 0; font-size: clamp(22px, 2.4vw, 30px); }
.kev-section-head p { margin: 8px 0 0; color: var(--kev-gray); font-size: 14.5px; max-width: 660px; }
.kev-section-head .kev-head-link { font-size: 13px; font-weight: 800; text-decoration: none; color: var(--kev-green-dark); white-space: nowrap; }

.kev-center { text-align: center; }
.kev-center .kev-section-head { flex-direction: column; align-items: center; text-align: center; }

/* =========================================================
   5.5 MAKES BAND (brand logos + vehicle line-up)
   ========================================================= */
.kev-makes {
	background: #fff;
	padding: 30px 0 18px;
	border-top: 1px solid #f1f2f3;
}

.kev-makes-marquee {
	position: relative;
	overflow: hidden;
	padding: 8px 0 28px;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}

.kev-makes-track {
	display: flex;
	width: max-content;
	animation: kevMarquee 42s linear infinite;
}

.kev-makes-marquee:hover .kev-makes-track { animation-play-state: paused; }

.kev-makes-set {
	display: flex;
	align-items: center;
	gap: 56px;
	padding-right: 56px;
}

.kev-make {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	opacity: .9;
	text-decoration: none;
	transition: opacity .18s ease, transform .18s ease;
}

.kev-make:hover { opacity: 1; transform: translateY(-1px); }

.kev-make img {
	display: block;
	height: 40px;
	width: auto;
	max-width: 84px;
	object-fit: contain;
}

.kev-make--emblem img { height: 46px; max-width: 52px; }

@keyframes kevMarquee {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(-50%, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
	.kev-makes-track { animation: none; }
	.kev-makes-marquee { overflow-x: auto; }
}

.kev-makes-cars {
	max-width: var(--kev-wrap);
	margin: 0 auto;
	padding: 0 20px 6px;
}

.kev-makes-cars img { display: block; width: 100%; height: auto; }

/* =========================================================
   6. POPULAR MODELS GRID
   ========================================================= */
.kev-models-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
}

.kev-model-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: #fff;
	border: 1px solid var(--kev-line);
	border-radius: 6px;
	padding: 18px 12px 16px;
	text-decoration: none;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
	min-height: 100%;
}

.kev-model-card:hover {
	border-color: var(--kev-green);
	box-shadow: 0 12px 26px rgba(40, 176, 96, .13);
	transform: translateY(-2px);
}

.kev-model-card .kev-mc-img {
	width: 100%;
	aspect-ratio: 16 / 10;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}

.kev-model-card .kev-mc-img img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	width: auto;
	height: auto;
}

.kev-model-card .kev-mc-title {
	font-size: 13px;
	font-weight: 800;
	color: var(--kev-head);
	line-height: 1.35;
	margin: 0;
}

.kev-model-card .kev-mc-years {
	font-size: 12px;
	color: var(--kev-gray);
	margin-top: 4px;
	font-weight: 600;
}

.kev-model-card .kev-mc-price {
	font-size: 13px;
	font-weight: 800;
	color: var(--kev-green-dark);
	margin-top: 7px;
}

.kev-model-card--all {
	justify-content: center;
	background: var(--kev-soft);
	border-style: dashed;
	gap: 6px;
}

.kev-model-card--all .kev-mc-title { font-size: 14px; }
.kev-model-card--all .kev-arrow { color: var(--kev-green-dark); font-size: 20px; line-height: 1; }

/* =========================================================
   7. RATING BAND  (评分带；完整评价在下方 grid)
   ========================================================= */
.kev-rateband {
	background: var(--kev-soft);
	border-top: 1px solid var(--kev-line);
	border-bottom: 1px solid var(--kev-line);
	color: var(--kev-head);
}

.kev-rateband-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px 16px;
	flex-wrap: wrap;
	padding: 15px 20px;
}

.kev-rateband .kev-stars { color: #f5a623; letter-spacing: 2px; font-size: 14px; }

.kev-rateband b { font-size: 17px; font-weight: 900; color: var(--kev-head); line-height: 1; }

.kev-rateband-text { font-size: 13px; color: var(--kev-gray); }

.kev-rateband-link {
	font-size: 13px;
	font-weight: 800;
	color: var(--kev-green-dark);
	text-decoration: none;
	border-bottom: 1px solid rgba(40, 176, 96, .35);
}

.kev-rateband-link:hover { color: var(--kev-green); border-bottom-color: var(--kev-green); }
.kev-make--emblem img { height: 46px; max-width: 52px; }

@keyframes kevMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.kev-review-card {
	flex: 0 0 330px;
	background: #fff;
	border: 1px solid var(--kev-line);
	border-radius: 6px;
	padding: 20px;
	box-shadow: 0 4px 16px rgba(12, 13, 14, .04);
}

.kev-review-card .kev-stars { color: #f5a623; font-size: 12px; letter-spacing: 2px; margin-bottom: 10px; }
.kev-review-card p { font-size: 13.5px; line-height: 1.62; color: #4f565a; margin: 0 0 14px; }
.kev-review-card .kev-rv-meta { display: flex; align-items: center; gap: 10px; }
.kev-review-card .kev-rv-av {
	width: 34px; height: 34px; border-radius: 50%;
	background: var(--kev-green-soft); color: var(--kev-green-dark);
	display: inline-flex; align-items: center; justify-content: center;
	font-weight: 900; font-size: 13px; flex: 0 0 auto;
}
.kev-review-card strong { display: block; font-size: 13px; color: var(--kev-head); line-height: 1.2; }
.kev-review-card small { font-size: 11.5px; color: var(--kev-gray); }

/* =========================================================
   8. FINDER / DARK BAND
   ========================================================= */
.kev-finder {
	background: linear-gradient(120deg, #121517 0%, #1b2024 55%, #12161a 100%);
	color: rgba(255, 255, 255, .78);
	position: relative;
	overflow: hidden;
}

.kev-finder::before {
	content: "";
	position: absolute;
	width: 620px; height: 620px; border-radius: 50%;
	background: radial-gradient(circle, rgba(40, 176, 96, .18), transparent 62%);
	top: -220px; right: -120px; pointer-events: none;
}

.kev-finder-inner {
	display: grid;
	grid-template-columns: 1fr 460px;
	gap: 54px;
	align-items: center;
	padding: 62px 0;
	position: relative;
}

.kev-finder h2 { color: #fff; font-size: clamp(24px, 2.7vw, 34px); margin: 0 0 16px; }
.kev-finder p { font-size: 14.5px; line-height: 1.7; margin: 0 0 24px; max-width: 520px; }
.kev-finder-actions { display: flex; gap: 12px; flex-wrap: wrap; }

.kev-finder-card {
	background: #fff;
	border-radius: 8px;
	padding: 26px 24px 24px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .32);
}

.kev-finder-card h3 { font-size: 17px; margin: 0 0 4px; }
.kev-finder-card p { color: var(--kev-gray); font-size: 12.5px; margin: 0 0 16px; }
.kev-finder-card label { display: block; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--kev-gray); margin: 0 0 6px; }

.kev-select {
	width: 100%;
	height: 46px;
	border: 1px solid #d9dcde;
	border-radius: 5px;
	padding: 0 36px 0 13px;
	font-size: 14px;
	font-weight: 600;
	color: var(--kev-head);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%236d7478' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 13px center;
	background-size: 11px;
	-webkit-appearance: none;
	appearance: none;
	margin-bottom: 12px;
	font-family: inherit;
}

.kev-select:focus { outline: 2px solid rgba(40, 176, 96, .35); border-color: var(--kev-green); }

.kev-finder-card .kev-btn { width: 100%; margin-top: 4px; }
.kev-finder-card .kev-finder-note { text-align: center; font-size: 11.5px; color: var(--kev-gray); margin: 10px 0 0; }

/* 「车型不在目录里」兜底：左侧电话链接 + 右侧三步骤清单 */
.kev-finder-phone {
	align-self: center;
	font-size: 13px;
	font-weight: 700;
	color: rgba(255, 255, 255, .72);
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, .3);
}

.kev-finder-phone:hover { color: #fff; border-bottom-color: #fff; }

.kev-vin-list {
	list-style: none;
	counter-reset: kev-vin;
	margin: 0 0 18px;
	padding: 0;
}

.kev-vin-list li {
	position: relative;
	counter-increment: kev-vin;
	padding: 0 0 0 34px;
	margin: 0 0 14px;
}

.kev-vin-list li::before {
	content: counter(kev-vin);
	position: absolute;
	left: 0;
	top: 1px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--kev-green-soft);
	color: var(--kev-green-dark);
	font-size: 11px;
	font-weight: 900;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.kev-vin-list b { display: block; font-size: 13px; color: var(--kev-head); line-height: 1.3; }
.kev-vin-list span { display: block; font-size: 12px; color: var(--kev-gray); line-height: 1.45; }

/* =========================================================
   9. SPLIT CONTENT
   ========================================================= */
.kev-split {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: 56px;
	align-items: start;
}

.kev-split h2 { font-size: clamp(23px, 2.5vw, 32px); margin: 0 0 18px; }
.kev-split p { font-size: 14.5px; line-height: 1.75; color: #4f565a; margin: 0 0 16px; }
.kev-split a { font-weight: 700; }

.kev-fact-list { list-style: none; margin: 6px 0 0; padding: 0; }

.kev-fact-list li {
	position: relative;
	padding: 0 0 14px 0;
	margin: 0 0 14px;
	border-bottom: 1px dashed var(--kev-line);
}

.kev-fact-list li:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.kev-fact-list strong { display: block; font-size: 14px; color: var(--kev-head); margin-bottom: 3px; }
.kev-fact-list span { font-size: 13px; color: var(--kev-gray); line-height: 1.6; display: block; }

.kev-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 22px 0 0; }

.kev-stat {
	background: var(--kev-soft);
	border-radius: 6px;
	padding: 18px;
	text-align: center;
}

.kev-stat b { display: block; font-size: 26px; font-weight: 900; color: var(--kev-green-dark); line-height: 1; }
.kev-stat span { font-size: 12px; color: var(--kev-gray); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }

/* =========================================================
   10. FEATURE CARDS
   ========================================================= */
.kev-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

.kev-feature {
	background: #fff;
	border: 1px solid var(--kev-line);
	border-radius: 6px;
	padding: 26px 24px;
	height: 100%;
}

.kev-feature .kev-fi {
	width: 44px; height: 44px; border-radius: 8px;
	background: var(--kev-green-soft); color: var(--kev-green-dark);
	display: inline-flex; align-items: center; justify-content: center;
	margin-bottom: 16px;
}

.kev-feature .kev-fi svg { width: 22px; height: 22px; }
.kev-feature h3 { font-size: 16px; margin: 0 0 10px; }
.kev-feature p { font-size: 13.5px; line-height: 1.68; color: #5b6165; margin: 0; }

/* =========================================================
   11. CTA BAND
   ========================================================= */
.kev-cta-band {
	background: linear-gradient(100deg, var(--kev-green-dark), var(--kev-green));
	color: #fff;
	padding: 46px 0;
}

.kev-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 34px; flex-wrap: wrap; }
.kev-cta-band h2 { color: #fff; font-size: clamp(22px, 2.4vw, 30px); margin: 0 0 8px; }
.kev-cta-band p { margin: 0; color: rgba(255, 255, 255, .9); font-size: 14.5px; }
.kev-cta-band .kev-btn { background: #fff; color: var(--kev-green-dark) !important; }
.kev-cta-band .kev-btn:hover { background: #f2fbf6; }
.kev-cta-band .kev-btn--outline { background: transparent; border: 2px solid rgba(255, 255, 255, .7); color: #fff !important; }
.kev-cta-band .kev-btn--outline:hover { background: rgba(255, 255, 255, .14); }
.kev-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* =========================================================
   12. REVIEWS GRID
   ========================================================= */
.kev-rgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }

.kev-rgrid .kev-review-card { flex: none; }

.kev-review-summary {
	display: flex; align-items: center; gap: 14px;
	border: 1px solid var(--kev-line); background: #fff;
	border-radius: 6px; padding: 14px 18px;
}

.kev-review-summary b { font-size: 24px; font-weight: 900; color: var(--kev-head); line-height: 1; }
.kev-review-summary .kev-stars { color: #f5a623; font-size: 13px; letter-spacing: 2px; margin: 0 0 2px; }
.kev-review-summary small { font-size: 12px; color: var(--kev-gray); }

/* =========================================================
   13. ERROR CODES
   ========================================================= */
.kev-codes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }

.kev-code {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: #fff;
	border: 1px solid var(--kev-line);
	border-left: 4px solid var(--kev-green);
	border-radius: 6px;
	padding: 16px 20px;
}

.kev-code b { display: block; font-size: 15px; font-weight: 900; color: var(--kev-head); letter-spacing: .01em; }
.kev-code span { display: block; font-size: 12.5px; color: var(--kev-gray); }
.kev-code a { font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; text-decoration: none; color: var(--kev-green-dark); white-space: nowrap; }
.kev-code a:hover { text-decoration: underline; }

/* =========================================================
   14. CONTACT BLOCK
   ========================================================= */
.kev-contact { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; align-items: start; }

.kev-contact-info h2 { font-size: clamp(23px, 2.4vw, 31px); margin: 0 0 14px; }
.kev-contact-info p { color: #5b6165; font-size: 14.5px; line-height: 1.75; }

.kev-contact-list { list-style: none; margin: 22px 0 0; padding: 0; }
.kev-contact-list li { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 16px; }
.kev-contact-list .kev-ci {
	width: 36px; height: 36px; border-radius: 50%;
	background: var(--kev-green-soft); color: var(--kev-green-dark);
	display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
}
.kev-contact-list .kev-ci svg { width: 17px; height: 17px; }
.kev-contact-list strong { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--kev-gray); }
.kev-contact-list a, .kev-contact-list span { font-size: 14.5px; font-weight: 700; color: var(--kev-head); text-decoration: none; }

.kev-form-card {
	background: #fff;
	border: 1px solid var(--kev-line);
	border-radius: 8px;
	padding: 30px 28px 26px;
	box-shadow: var(--kev-shadow);
}

.kev-form-card h3 { font-size: 18px; margin: 0 0 6px; }
.kev-form-card > p { font-size: 13px; color: var(--kev-gray); margin: 0 0 18px; }

.kev-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.kev-form-card .kev-field { margin-bottom: 13px; }
.kev-form-card input[type="text"],
.kev-form-card input[type="email"],
.kev-form-card input[type="tel"],
.kev-form-card textarea,
.kev-form-card select {
	width: 100%;
	border: 1px solid #dcdfe1;
	border-radius: 5px;
	padding: 12px 14px;
	font-size: 14px;
	font-family: inherit;
	color: var(--kev-head);
	background: #fff;
	height: auto;
	line-height: 1.4;
}

.kev-form-card textarea { min-height: 110px; resize: vertical; }
.kev-form-card input:focus, .kev-form-card textarea:focus, .kev-form-card select:focus { outline: none; border-color: var(--kev-green); box-shadow: 0 0 0 3px rgba(40, 176, 96, .14); }
.kev-form-card .kev-btn { width: 100%; margin-top: 6px; }
.kev-form-card .wpcf7 p { margin: 0 0 13px; }
.kev-form-card .wpcf7-form-control-wrap { display: block; }
.kev-form-card .kev-form-row { display: block; }
.kev-form-card .wpcf7 input:not([type="submit"]),
.kev-form-card .wpcf7 textarea,
.kev-form-card .wpcf7 select { width: 100% !important; box-sizing: border-box; }
.kev-form-card .wpcf7 form > p { margin: 0 0 13px; }
.kev-form-card .kev-form-row .wpcf7-form-control-wrap { margin: 0 0 13px; }
.kev-form-card input::placeholder, .kev-form-card textarea::placeholder { color: #9aa0a4; }
.kev-form-card .wpcf7-not-valid-tip { font-size: 11.5px; color: #b5121b; margin-top: 4px; }
.kev-form-card .wpcf7-response-output { border: 0; background: var(--kev-green-soft); color: var(--kev-green-dark); border-radius: 5px; padding: 12px 14px; font-size: 13px; margin: 12px 0 0; }
.kev-form-card .wpcf7-spinner { margin: 10px auto 0; }
.kev-form-card .wpcf7 input[type="submit"] { width: 100%; background: var(--kev-green); border: 0; color: #fff; font-weight: 800; padding: 14px; border-radius: 5px; cursor: pointer; font-size: 14px; }
.kev-form-card .wpcf7 input[type="submit"]:hover { background: var(--kev-green-dark); }

/* =========================================================
   15. PROMO CARDS
   ========================================================= */
.kev-promo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

.kev-promo {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	min-height: 300px;
	display: flex;
	align-items: flex-end;
	padding: 30px;
	color: #fff;
	text-decoration: none;
	isolation: isolate;
}

.kev-promo-img { position: absolute; inset: 0; background-size: cover; background-position: center; z-index: -2; transition: transform .5s ease; }
.kev-promo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 10, 12, .12) 0%, rgba(8, 10, 12, .88) 78%); z-index: -1; }
.kev-promo:hover .kev-promo-img { transform: scale(1.05); }
.kev-promo h3 { color: #fff; font-size: 22px; margin: 0 0 8px; letter-spacing: .01em; }
.kev-promo p { font-size: 13.5px; color: rgba(255, 255, 255, .82); margin: 0 0 16px; max-width: 380px; }
.kev-promo .kev-promo-link { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #fff; border-bottom: 2px solid var(--kev-green); padding-bottom: 4px; }
.kev-promo:hover .kev-promo-link { color: #34c46e; }

/* =========================================================
   16. NEWS
   ========================================================= */
.kev-news { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }

.kev-news-card { display: block; text-decoration: none; }

.kev-news-card .kev-nc-img {
	aspect-ratio: 16 / 10;
	background: var(--kev-soft);
	border-radius: 6px;
	overflow: hidden;
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.kev-news-card .kev-nc-img img { width: 100%; height: 100%; object-fit: cover; }
.kev-news-card .kev-nc-meta { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--kev-green-dark); margin-bottom: 7px; }
.kev-news-card h3 { font-size: 16px; line-height: 1.4; margin: 0; color: var(--kev-head); }
.kev-news-card:hover h3 { color: var(--kev-green-dark); }

/* =========================================================
   17. FOOTER
   ========================================================= */
.kev-footer { background: var(--kev-dark-2); color: rgba(255, 255, 255, .68); font-size: 13.5px; }

.kev-footer-top { padding: 54px 0 40px; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px; }

.kev-footer h4 { color: #fff; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 16px; font-weight: 800; }
.kev-footer a { color: rgba(255, 255, 255, .68); text-decoration: none; }
.kev-footer a:hover { color: #fff; }

.kev-footer-brand .kev-footer-logo { display: inline-flex; align-items: center; text-decoration: none; }
.kev-footer-brand .kev-logo { font-size: 24px; color: #4be08a; }
.kev-footer-brand .kev-logo span { color: #fff; }
.kev-footer-brand p { margin: 14px 0 18px; line-height: 1.75; max-width: 330px; }

.kev-footer ul { list-style: none; margin: 0; padding: 0; }
.kev-footer ul li { margin: 0 0 10px; }

/* Menu items flagged with the "kev-menu-highlight" CSS class in Appearance → Menus. */
.kev-footer .kev-menu-highlight > a { color: #4be08a; font-weight: 700; }
.kev-footer .kev-menu-highlight > a:hover { color: #7ff0ae; }

.kev-footer-contact li { display: flex; gap: 10px; align-items: flex-start; }
.kev-footer-contact svg { width: 15px; height: 15px; color: var(--kev-green); margin-top: 4px; flex: 0 0 auto; }

.kev-socials { display: flex; gap: 10px; margin-top: 18px; }
.kev-socials a { width: 34px; height: 34px; border-radius: 50%; background: rgba(255, 255, 255, .08); display: inline-flex; align-items: center; justify-content: center; }
.kev-socials a svg { width: 15px; height: 15px; }
.kev-socials a:hover { background: var(--kev-green); color: #fff; }

.kev-footer-pay { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 16px; }
.kev-footer-pay span { font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .55); border: 1px solid rgba(255, 255, 255, .18); border-radius: 4px; padding: 5px 8px; }

.kev-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, .09);
	padding: 18px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	font-size: 12.5px;
	color: rgba(255, 255, 255, .5);
}

.kev-footer-bottom ul { display: flex; gap: 18px; }
.kev-footer-bottom ul li { margin: 0; }

/* =========================================================
   18. WOOCOMMERCE TWEAKS
   ========================================================= */
.woocommerce .kev-shop-head { margin-bottom: 26px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; font-weight: 800; }
.woocommerce ul.products li.product .price { color: var(--kev-green-dark); font-weight: 800; }
.woocommerce .button, .woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit {
	background: var(--kev-green);
	color: #fff;
	border-radius: 5px;
	font-weight: 800;
}
.woocommerce .button:hover, .woocommerce a.button:hover { background: var(--kev-green-dark); }
.woocommerce button.button.alt, .woocommerce button.button.alt:hover,
.woocommerce a.button.alt, .woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
	background: var(--kev-green);
	color: #fff;
	border-radius: 5px;
	font-weight: 800;
	padding: 14px 26px;
}
.woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover, .woocommerce input.button.alt:hover { background: var(--kev-green-dark); }
.woocommerce div.product form.cart div.quantity { margin-right: 10px; }
.woocommerce .quantity .qty { height: 46px; width: 72px; border: 1px solid var(--kev-line); border-radius: 5px; padding: 0 8px; font-weight: 700; }
.woocommerce div.product .product_meta { font-size: 12.5px; color: var(--kev-gray); margin-top: 16px; }
.woocommerce div.product .product_meta a { color: var(--kev-green-dark); font-weight: 700; }
.kev-single-crumb { font-size: 12.5px; color: var(--kev-gray); padding: 18px 0 0; }
.kev-single-crumb a { color: var(--kev-green-dark); }

.kev-page-head {
	position: relative;
	overflow: hidden;
	background: var(--kev-soft);
	border-bottom: 1px solid var(--kev-line);
	padding: 34px 0;
}
.kev-page-head h1 { font-size: clamp(24px, 2.6vw, 34px); margin: 0; }
.kev-page-head .kev-crumb { font-size: 12.5px; color: var(--kev-gray); margin-top: 6px; }

/* Header band with a photo on the right, masked into the band colour */
.kev-page-head--img {
	display: flex;
	align-items: center;
	min-height: 236px;
	padding: 52px 0 48px;
}
.kev-page-head--img > .kev-wrap { position: relative; z-index: 2; width: 100%; }
.kev-page-head--img h1,
.kev-page-head--img .kev-crumb { max-width: 46%; }

.kev-page-head-img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 58%;
	max-width: 940px;
	background-size: cover;
	background-repeat: no-repeat;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .16) 24%, #000 58%);
	mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .16) 24%, #000 58%);
}

@media (max-width: 1100px) {
	.kev-page-head--img h1,
	.kev-page-head--img .kev-crumb { max-width: 54%; }
}

@media (max-width: 900px) {
	.kev-page-head--img { min-height: 172px; padding: 34px 0; }
	.kev-page-head--img h1,
	.kev-page-head--img .kev-crumb { max-width: 100%; }
	.kev-page-head-img {
		width: 60%;
		opacity: .30;
		-webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .12) 42%, #000 100%);
		mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .12) 42%, #000 100%);
	}
}

.kev .site-content { padding-top: 0; }

.kev-prose { max-width: 860px; }
.kev-prose h2 { font-size: 24px; margin: 34px 0 12px; }
.kev-prose h3 { font-size: 18px; margin: 26px 0 10px; }
.kev-prose p, .kev-prose li { font-size: 14.5px; line-height: 1.78; color: #4f565a; }
.kev-prose ul { padding-left: 20px; }

/* ---- shop / archive grid ---- */
.woocommerce .kev-band-sub { margin: 8px 0 0; font-size: 14px; color: var(--kev-gray); max-width: 760px; }

.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0 0 40px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; content: none !important; }

/* strip the GeneratePress article chrome on store pages */
.woocommerce .inside-article, .woocommerce-page .inside-article { padding: 0 !important; border: 0 !important; background: none !important; }
.woocommerce .entry-content, .woocommerce-page .entry-content { padding: 0 !important; }

.woocommerce ul.products li.product {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	background: #fff;
	border: 1px solid var(--kev-line);
	border-radius: 6px;
	padding: 14px 14px 16px;
	display: flex;
	flex-direction: column;
	text-align: left;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.woocommerce ul.products li.product:hover { border-color: var(--kev-green); box-shadow: 0 12px 26px rgba(40, 176, 96, .12); }

.woocommerce ul.products li.product a img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	background: #fff;
	border-radius: 4px;
	margin: 0 0 12px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 13.5px !important;
	font-weight: 800;
	line-height: 1.4;
	padding: 0 !important;
	margin: 0 0 6px;
	color: var(--kev-head);
}

.woocommerce ul.products li.product .price { font-size: 14px; font-weight: 800; color: var(--kev-green-dark) !important; margin: 0 0 10px; }
.woocommerce ul.products li.product .price del { color: #9aa0a4; font-weight: 600; font-size: 12px; }
.woocommerce ul.products li.product .button { margin-top: auto; width: 100%; text-align: center; font-size: 12.5px; padding: 11px 12px; line-height: 1; }
.woocommerce ul.products li.product .star-rating { margin: 0 0 8px; font-size: 11px; }

.woocommerce .woocommerce-result-count { font-size: 13px; color: var(--kev-gray); }
.woocommerce .woocommerce-ordering select { height: 42px; border: 1px solid var(--kev-line); border-radius: 5px; padding: 0 12px; font-size: 13px; }

.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 6px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	border: 1px solid var(--kev-line);
	border-radius: 5px;
	font-weight: 700;
	font-size: 13px;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--kev-green); color: #fff; border-color: var(--kev-green); }

/* ---- single product ---- */
.woocommerce div.product .product_title { font-size: clamp(22px, 2.4vw, 30px); margin: 0 0 10px; }
.woocommerce div.product p.price { color: var(--kev-green-dark); font-size: 24px; font-weight: 900; margin: 0 0 16px; }
.woocommerce div.product form.cart .button { padding: 15px 30px; font-size: 14px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-weight: 700; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 20px; }
.woocommerce .related.products > h2 { font-size: 22px; margin: 40px 0 18px; }
.woocommerce div.product div.images img { border-radius: 6px; background: #fbfbfb; }

/* =========================================================
   19. RESPONSIVE
   ========================================================= */
@media (max-width: 1180px) {
	.kev-nav > li > a { padding: 15px 11px; font-size: 13.5px; }
	.kev-brand-tag { display: none; }
	.kev-brand-divider { display: none; }
	.kev-models-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.kev-make, .kev-make img { height: 34px; }
	.kev-make img { max-width: 74px; }
	.kev-makes-set { gap: 46px; padding-right: 46px; }
	.kev-footer-top { grid-template-columns: 1.4fr 1fr 1fr; }
	.kev-footer-top > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 1024px) {
	.kev-header-phone, .kev-nav-wrap, .kev-nav-cta { display: none; }
	.kev-burger { display: inline-flex; }
	.kev-hero-inner { grid-template-columns: 1fr; gap: 34px; padding: 48px 20px 42px; }
	.kev-hero-card { justify-self: start; max-width: 460px; }
	.kev-hero-stat { padding: 13px 14px; }
	.kev-hero-stat b { font-size: 18px; }
	.kev-finder-inner { grid-template-columns: 1fr; gap: 32px; }
	.kev-split { grid-template-columns: 1fr; gap: 34px; }
	.kev-feature-grid { grid-template-columns: 1fr 1fr; }
	.kev-contact { grid-template-columns: 1fr; gap: 32px; }
	.kev-models-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.kev-rgrid, .kev-news { grid-template-columns: 1fr 1fr; }
	.kev-codes { grid-template-columns: 1fr; }
	.kev-promo-grid { grid-template-columns: 1fr; }
	.kev-footer-top { grid-template-columns: 1fr 1fr; gap: 32px; }
	.kev-header-inner { min-height: 66px; }
}

@media (max-width: 720px) {
	.kev-section { padding: 42px 0; }
	.kev-topbar-left > *:nth-child(n + 2) { display: none; }
	.kev-mini-account { display: none; }
	.kev-topbar { font-size: 12px; }
	.kev-logo { font-size: 22px; }
	.kev-hero-inner { padding: 42px 20px 36px; }
	.kev-hero-card { justify-self: stretch; max-width: none; }
	.kev-hero-pill { font-size: 10px; letter-spacing: .09em; padding: 7px 12px; }
	.kev-hero-actions { flex-direction: column; align-items: stretch; }
	.kev-hero-actions .kev-btn { width: 100%; }
	.kev-hero-stats-inner { grid-template-columns: repeat(2, 1fr); }
	.kev-hero-stat:nth-child(odd) { border-left: 0; }
	.kev-hero-stat:nth-child(n + 3) { border-top: 1px solid rgba(255, 255, 255, .1); }
	.kev-models-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.kev-makes { padding: 20px 0 12px; }
	.kev-makes-marquee { padding: 4px 0 16px; }
	.kev-make, .kev-make img { height: 26px; }
	.kev-make img { max-width: 56px; }
	.kev-make--emblem img { height: 30px; max-width: 34px; }
	.kev-makes-set { gap: 34px; padding-right: 34px; }
	.kev-makes-cars { padding: 0 12px 4px; }
	.kev-feature-grid, .kev-rgrid, .kev-news { grid-template-columns: 1fr; }
	.kev-form-row { grid-template-columns: 1fr; }
	.kev-cta-inner { flex-direction: column; align-items: flex-start; }
	.kev-footer-top { grid-template-columns: 1fr; }
	.kev-footer-bottom { flex-direction: column; align-items: flex-start; }
	.kev-review-card { flex: 0 0 270px; }
	.kev-section-head { flex-direction: column; align-items: flex-start; gap: 10px; }
	.kev-finder-card { padding: 22px 18px; }
}

/* WooCommerce notices inherit brand colour */
.woocommerce-info, .woocommerce-message { border-top-color: var(--kev-green); }
.woocommerce-info::before, .woocommerce-message::before { color: var(--kev-green); }

/* -------------------------------------------------------------------------
   9. WHOLESALE / TRADE
   ---------------------------------------------------------------------- */
.kev-mini-trade {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--kev-green-dark);
	border: 1px solid rgba(40, 176, 96, .35);
	border-radius: 999px;
	padding: 4px 11px;
}
.kev-mini-trade:hover { background: var(--kev-green-soft); color: var(--kev-green-dark); }

/* Trade strip shown under the header to logged-in wholesale users */
.kev-trade-bar {
	background: var(--kev-green-soft);
	border-bottom: 1px solid rgba(40, 176, 96, .22);
}
.kev-trade-bar-inner {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 20px;
	font-size: 13px;
	color: #276b45;
}
.kev-trade-badge {
	display: inline-block;
	background: var(--kev-green);
	color: #fff;
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 999px;
}
.kev-trade-bar-inner a { margin-left: auto; font-weight: 700; white-space: nowrap; }

/* Trade CTA strip on shop / category pages */
.kev-trade-strip {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin: 0 0 26px;
	padding: 14px 20px;
	border: 1px solid var(--kev-line);
	border-left: 4px solid var(--kev-green);
	border-radius: var(--kev-radius);
	background: #fff;
	box-shadow: var(--kev-shadow);
	text-decoration: none;
	font-size: 14px;
	color: var(--kev-ink);
}
.kev-trade-strip:hover { border-left-color: var(--kev-green-dark); color: var(--kev-ink); }
.kev-trade-strip-tag {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--kev-green-dark);
	white-space: nowrap;
}
.kev-trade-strip-go { margin-left: auto; font-weight: 800; color: var(--kev-green-dark); white-space: nowrap; }

/* Single product trade hint */
.kev-ws-hint {
	margin: 8px 0 0;
	font-size: 13px;
	color: var(--kev-gray);
	border-top: 1px dashed var(--kev-line);
	padding-top: 10px;
}
.kev-ws-hint strong { color: var(--kev-green-dark); font-size: 15px; }

/* Wholesale to Trade page */
.kev-lead {
	font-size: 16px;
	line-height: 1.75;
	color: var(--kev-ink);
	margin: 0 0 22px;
	max-width: 820px;
}
.kev-note { font-size: 13px; color: var(--kev-gray); }

.kev-page-wholesale-to-trade .kev-prose,
.kev-page-payments .kev-prose,
.kev-page-competences .kev-prose,
.kev-page-validation-testing .kev-prose,
.kev-page-battery-certification .kev-prose,
.kev-page-production .kev-prose,
.kev-page-rd .kev-prose { max-width: 100%; }

/* lead paragraph on the new capability pages gets the same treatment */
.kev-page-competences .kev-prose > .kev-lead,
.kev-page-validation-testing .kev-prose > .kev-lead,
.kev-page-battery-certification .kev-prose > .kev-lead,
.kev-page-production .kev-prose > .kev-lead,
.kev-page-rd .kev-prose > .kev-lead { max-width: 860px; }

.kev-ws-cta-row { display: flex; gap: 12px; flex-wrap: wrap; margin: 0 0 34px; }
.kev-ws-cta-row .kev-btn { min-width: 210px; text-align: center; }
.kev-ws-cta-row .kev-btn--ghost {
	background: #fff;
	border: 1px solid var(--kev-line);
	color: var(--kev-head) !important;
}
.kev-ws-cta-row .kev-btn--ghost:hover {
	background: var(--kev-soft);
	border-color: var(--kev-green);
	color: var(--kev-green-dark) !important;
}

.kev-ws-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 16px 0 8px;
}
.kev-ws-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.kev-ws-card {
	background: #fff;
	border: 1px solid var(--kev-line);
	border-radius: var(--kev-radius);
	padding: 20px 20px 18px;
	box-shadow: 0 2px 10px rgba(12, 13, 14, .04);
}
.kev-ws-card h3 { font-size: 15.5px; margin: 0 0 8px; }
.kev-ws-card p { margin: 0; font-size: 13.5px; line-height: 1.7; color: #4f565a; }

.kev-ws-table {
	width: 100%;
	border-collapse: collapse;
	margin: 14px 0 6px;
	font-size: 14px;
}
.kev-ws-table th,
.kev-ws-table td {
	text-align: left;
	padding: 11px 14px;
	border-bottom: 1px solid var(--kev-line);
}
.kev-ws-table thead th {
	background: var(--kev-soft);
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--kev-head);
}
.kev-ws-table tbody tr:nth-child(even) td { background: #fafbfb; }

.kev-ws-list { padding-left: 20px; }
.kev-ws-list li { margin-bottom: 7px; }

.kev-ws-steps { padding-left: 20px; counter-reset: wsstep; }
.kev-ws-steps li { margin-bottom: 10px; position: relative; }
.kev-ws-steps li::marker { font-weight: 800; color: var(--kev-green-dark); }

@media (max-width: 900px) {
	.kev-ws-grid, .kev-ws-grid-3 { grid-template-columns: 1fr; }
	.kev-trade-bar-inner { flex-wrap: wrap; font-size: 12.5px; }
	.kev-trade-bar-inner a { margin-left: 0; }
}

.kev-ws-form { max-width: 780px; margin: 18px 0 16px; }
.kev-ws-form .wpcf7 { margin: 0; }
.kev-ws-form .kev-field { margin-bottom: 13px; }
.kev-ws-form .kev-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.kev-ws-form input[type="text"],
.kev-ws-form input[type="email"],
.kev-ws-form input[type="tel"],
.kev-ws-form textarea,
.kev-ws-form select {
	width: 100%;
	border: 1px solid #dcdfe1;
	border-radius: 5px;
	padding: 12px 14px;
	font-size: 14px;
	font-family: inherit;
	color: var(--kev-head);
	background: #fff;
	line-height: 1.4;
	box-sizing: border-box;
}
.kev-ws-form textarea { min-height: 100px; resize: vertical; }
.kev-ws-form input:focus, .kev-ws-form textarea:focus, .kev-ws-form select:focus {
	outline: none;
	border-color: var(--kev-green);
	box-shadow: 0 0 0 3px rgba(40, 176, 96, .14);
}
.kev-ws-form input[type="submit"] {
	width: 100%;
	background: var(--kev-green);
	border: 0;
	color: #fff;
	font-weight: 800;
	padding: 15px;
	border-radius: 5px;
	cursor: pointer;
	font-size: 14px;
	font-family: inherit;
	letter-spacing: .02em;
}
.kev-ws-form input[type="submit"]:hover { background: var(--kev-green-dark); }
.kev-ws-form .wpcf7-not-valid-tip { font-size: 11.5px; color: #b5121b; margin-top: 4px; }
.kev-ws-form .wpcf7-response-output {
	border: 0;
	background: var(--kev-green-soft);
	color: var(--kev-green-dark);
	border-radius: 5px;
	padding: 12px 14px;
	font-size: 13px;
	margin: 14px 0 0;
}
@media (max-width: 700px) {
	.kev-ws-form .kev-form-row { grid-template-columns: 1fr; }
}

/* -------------------------------------------------------------------------
   10. WIDE PROSE PAGES (reviews / ODM-OEM)
   ---------------------------------------------------------------------- */
.kev-page-reviews .kev-prose,
.kev-page-odm-oem .kev-prose { max-width: 1120px; }

.kev-page-reviews .kev-prose h2,
.kev-page-odm-oem .kev-prose h2 { font-size: 26px; margin: 46px 0 14px; }

.kev-page-reviews .kev-prose > .kev-lead,
.kev-page-odm-oem .kev-prose > .kev-lead { max-width: 860px; }

.kev-page-reviews .kev-rgrid { margin-bottom: 8px; }

@media (max-width: 900px) {
	.kev-page-reviews .kev-rgrid { grid-template-columns: 1fr; }
}

/* Off-canvas drawer must not create a horizontal scroll area on mobile */
html { overflow-x: hidden; }
.kev-page-reviews .kev-review-summary { max-width: 460px; }
.kev-page-head--img .kev-band-sub { max-width: 46%; }
@media (max-width: 1100px) {
	.kev-page-head--img .kev-band-sub { max-width: 54%; }
}
@media (max-width: 900px) {
	.kev-page-head--img .kev-band-sub { max-width: 100%; }
}

/* =========================================================
   FAQ: topic tabs + accordion
   ========================================================= */
.kev-page-faq .kev-faq-intro { max-width: 860px; margin: 0 0 28px; }
.kev-page-faq .kev-faq-intro h2:first-child { margin-top: 0; }

.kev-faq { max-width: 900px; }

.kev-faq-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 24px;
	padding: 0 0 22px;
	border-bottom: 1px solid var(--kev-line);
}

.kev-faq-tab {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 15px;
	border: 1px solid var(--kev-line);
	border-radius: 999px;
	background: #fff;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--kev-ink);
	text-decoration: none;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.kev-faq-tab:hover { border-color: var(--kev-green); color: var(--kev-green-dark); }
.kev-faq-tab.is-active {
	background: var(--kev-green);
	border-color: var(--kev-green);
	color: #fff;
}

.kev-faq-tab-n {
	font-size: 11.5px;
	font-weight: 700;
	padding: 1px 7px;
	border-radius: 999px;
	background: var(--kev-soft);
	color: var(--kev-gray);
}
.kev-faq-tab.is-active .kev-faq-tab-n { background: rgba(255, 255, 255, .22); color: #fff; }

.kev-faq-group { margin: 0 0 30px; scroll-margin-top: 110px; }
.kev-faq-group-title {
	font-size: 17px;
	font-weight: 800;
	color: var(--kev-head);
	margin: 0 0 12px;
	letter-spacing: .01em;
}

.kev-faq-list { display: flex; flex-direction: column; gap: 10px; }

.kev-faq-item {
	border: 1px solid var(--kev-line);
	border-radius: var(--kev-radius);
	background: #fff;
	overflow: hidden;
}
.kev-faq-item[open] {
	border-color: #d5dade;
	box-shadow: var(--kev-shadow);
}

.kev-faq-q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 15px 18px;
	cursor: pointer;
	list-style: none;
	font-size: 15px;
	font-weight: 700;
	color: var(--kev-head);
}
.kev-faq-q::-webkit-details-marker { display: none; }
.kev-faq-q:hover { color: var(--kev-green-dark); }
.kev-faq-item[open] .kev-faq-q { color: var(--kev-green-dark); }

.kev-faq-toggle {
	position: relative;
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
}
.kev-faq-toggle::before,
.kev-faq-toggle::after {
	content: "";
	position: absolute;
	background: currentColor;
	border-radius: 2px;
	transition: transform .18s ease;
}
.kev-faq-toggle::before { left: 0; top: 6px; width: 14px; height: 2px; }
.kev-faq-toggle::after { left: 6px; top: 0; width: 2px; height: 14px; }
.kev-faq-item[open] .kev-faq-toggle::after { transform: scaleY(0); }

.kev-faq-a {
	padding: 0 18px 16px;
	font-size: 14.5px;
	line-height: 1.78;
	color: #4f565a;
}
.kev-faq-a > :first-child { margin-top: 0; }
.kev-faq-a > :last-child { margin-bottom: 0; }
.kev-faq-a p { margin: 0 0 12px; }
.kev-faq-a ul, .kev-faq-a ol { margin: 0 0 12px; padding-left: 20px; }
.kev-faq-a a { color: var(--kev-green-dark); text-decoration: underline; }

/* Filtering only kicks in once JS is running — without JS every group stays visible. */
.kev-faq.is-filtered .kev-faq-group { display: none; }
.kev-faq.is-filtered .kev-faq-group.is-shown { display: block; }

.kev-faq-cta {
	margin: 34px 0 0;
	padding: 24px 26px;
	border: 1px solid var(--kev-line);
	border-radius: var(--kev-radius);
	background: var(--kev-soft);
}
.kev-faq-cta p { margin: 0 0 14px; font-size: 16px; font-weight: 700; color: var(--kev-head); }
.kev-faq-cta-row { display: flex; flex-wrap: wrap; gap: 12px; }
.kev-faq-cta-row .kev-btn--ghost {
	background: #fff;
	border: 1px solid var(--kev-line);
	color: var(--kev-head) !important;
}
.kev-faq-cta-row .kev-btn--ghost:hover { background: #fff; border-color: var(--kev-green); color: var(--kev-green-dark) !important; }

.kev-faq-empty {
	max-width: 860px;
	padding: 16px 18px;
	border: 1px dashed var(--kev-line);
	border-radius: var(--kev-radius);
	color: var(--kev-gray);
	font-size: 14px;
}

@media (max-width: 700px) {
	.kev-faq-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 16px; -webkit-overflow-scrolling: touch; }
	.kev-faq-tab { flex: 0 0 auto; }
	.kev-faq-q { padding: 14px 15px; font-size: 14.5px; }
	.kev-faq-a { padding: 0 15px 14px; }
	.kev-faq-cta { padding: 20px; }
}

/* Printed pages should show every answer. */
@media print {
	.kev-faq.is-filtered .kev-faq-group { display: block !important; }
	.kev-faq-item { break-inside: avoid; }
	.kev-faq-tabs, .kev-faq-cta { display: none; }
}

/* -------------------------------------------------------------------------
 * Tables — pasted from Excel / Google Sheets, spec & fitment tables
 * ---------------------------------------------------------------------- */
.entry-content table,
.woocommerce-Tabs-panel table,
.kev-section table,
.kev-faq-body table,
.woocommerce-product-details__short-description table,
.kev-cmp-block table {
	width: 100%;
	border-collapse: collapse;
	margin: 18px 0;
	font-size: 14.5px;
	line-height: 1.6;
}

.entry-content th,
.entry-content td,
.woocommerce-Tabs-panel th,
.woocommerce-Tabs-panel td,
.kev-section th,
.kev-section td,
.kev-faq-body th,
.kev-faq-body td,
.woocommerce-product-details__short-description th,
.woocommerce-product-details__short-description td,
.kev-cmp-block th,
.kev-cmp-block td {
	border: 1px solid var(--kev-line);
	padding: 10px 12px;
	text-align: left;
	vertical-align: top;
}

.entry-content thead th,
.woocommerce-Tabs-panel thead th,
.kev-section thead th,
.kev-faq-body thead th,
.woocommerce-product-details__short-description thead th,
.kev-cmp-block thead th {
	background: var(--kev-soft);
	font-weight: 700;
	font-size: 12.5px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--kev-head);
}

.entry-content tbody tr:nth-child(even) td,
.woocommerce-Tabs-panel tbody tr:nth-child(even) td,
.kev-section tbody tr:nth-child(even) td,
.kev-faq-body tbody tr:nth-child(even) td,
.woocommerce-product-details__short-description tbody tr:nth-child(even) td,
.kev-cmp-block tbody tr:nth-child(even) td {
	background: #fafbfb;
}

.entry-content tfoot td,
.woocommerce-Tabs-panel tfoot td,
.kev-section tfoot td,
.kev-cmp-block tfoot td {
	background: var(--kev-soft);
	font-weight: 600;
}

/* Caption under a table block */
.entry-content figcaption,
.kev-section figcaption {
	font-size: 12.5px;
	color: #6b7378;
	text-align: center;
	margin-top: -6px;
}

/* Keep wide spec tables scrollable instead of overflowing the page */
.wp-block-table { overflow-x: auto; }

@media (max-width: 782px) {
	.entry-content table,
	.woocommerce-Tabs-panel table,
	.kev-section table,
	.kev-faq-body table,
	.woocommerce-product-details__short-description table,
	.kev-cmp-block table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		white-space: nowrap;
	}
}

/* Additional information — two spec pairs per row on desktop, like a B2B sheet */
@media (min-width: 783px) {
	.woocommerce table.shop_attributes {
		display: grid;
		grid-template-columns: minmax(110px, 22%) minmax(0, 28%) minmax(110px, 22%) minmax(0, 28%);
		gap: 1px;
		background: var(--kev-line);
		border: 1px solid var(--kev-line);
		width: 100%;
		margin: 0 0 26px;
	}
	.woocommerce table.shop_attributes tbody,
	.woocommerce table.shop_attributes tfoot,
	.woocommerce table.shop_attributes tr { display: contents; }
	.woocommerce table.shop_attributes th,
	.woocommerce table.shop_attributes td {
		display: block;
		border: 0;
		background: #fff;
		padding: 11px 14px;
		margin: 0;
		text-align: left;
		vertical-align: top;
		word-break: break-word;
	}
	.woocommerce table.shop_attributes th {
		background: var(--kev-soft);
		font-size: 12.5px;
		font-weight: 700;
		color: var(--kev-head);
		letter-spacing: .02em;
	}
	.woocommerce table.shop_attributes tr:nth-child(even) td { background: #f7f9fa; }
	.woocommerce table.shop_attributes td p { margin: 0; }

	/* Odd number of attributes: let the last value fill the remaining space. */
	.woocommerce table.shop_attributes tr:last-child:nth-child(odd) td:last-child {
		grid-column: span 3;
	}
}

/* Spec tables stay two readable columns on phones — values wrap, no scrollbar */
@media (max-width: 782px) {
	.woocommerce table.shop_attributes {
		display: table;
		table-layout: fixed;
		width: 100%;
		white-space: normal;
		border-collapse: collapse;
		background: transparent;
	}
	.woocommerce table.shop_attributes th,
	.woocommerce table.shop_attributes td {
		display: table-cell;
		border: 1px solid var(--kev-line);
		white-space: normal;
		word-break: break-word;
	}
	.woocommerce table.shop_attributes th { width: 38%; }
}

/* =========================================================
   20. 产品详情页：转化组件 + 正文模板样式
   （SEO 骨架管机器读得懂，这一组管真人看得下去、愿意下单）
   ========================================================= */

/* ---- 价格下方的信任条 ---- */
.kev-pdp-trust {
	list-style: none;
	margin: 14px 0 18px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 14px;
}
.kev-pdp-trust li {
	display: flex;
	align-items: flex-start;
	gap: 7px;
	font-size: 13.5px;
	line-height: 1.45;
	color: var(--kev-head);
}
.kev-pdp-trust-ico {
	flex: 0 0 auto;
	width: 17px;
	height: 17px;
	margin-top: 2px;
	border-radius: 50%;
	background: var(--kev-green-soft);
	color: var(--kev-green-dark);
	font-size: 10px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* ---- 手机端常驻下单条 ---- */
.kev-sticky-cart {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 900;
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
	background: #fff;
	border-top: 1px solid var(--kev-line);
	box-shadow: 0 -6px 20px rgba(12, 13, 14, .10);
	transform: translateY(105%);
	transition: transform .22s ease;
}
.kev-sticky-cart.is-visible { transform: translateY(0); }
.kev-sticky-cart-price { display: flex; flex-direction: column; line-height: 1.2; }
.kev-sticky-cart-label { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--kev-gray); }
.kev-sticky-cart-amount { font-size: 17px; font-weight: 700; color: var(--kev-head); }
.kev-sticky-cart-amount del { font-size: 12px; font-weight: 500; color: var(--kev-gray); }
.kev-sticky-cart-amount ins { text-decoration: none; }
.kev-sticky-cart-actions { display: flex; align-items: center; gap: 8px; }
.kev-sticky-cart-wa {
	display: inline-flex;
	align-items: center;
	padding: 9px 12px;
	border: 1px solid var(--kev-line);
	border-radius: var(--kev-radius);
	background: #fff;
	color: var(--kev-head);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}
.kev-sticky-cart-btn {
	padding: 11px 20px;
	border: 0;
	border-radius: var(--kev-radius);
	background: var(--kev-green);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}
.kev-sticky-cart-btn:active { background: var(--kev-green-dark); }

@media (max-width: 782px) {
	.kev-sticky-cart { display: flex; }
	/* 让底部常驻条不遮住页脚最后一块内容 */
	body.single-product { padding-bottom: 68px; }
}
@media (min-width: 783px) {
	.kev-sticky-cart { display: none !important; }
}

/* ---- 正文模板：钩子首段 ---- */
.kev-pdp-hook {
	margin: 0 0 22px;
	padding: 14px 0 16px 16px;
	border-left: 3px solid var(--kev-green);
	font-size: 15.5px;
	line-height: 1.7;
	color: var(--kev-head);
}
.kev-pdp-hook strong { color: var(--kev-dark); }

/* ---- 正文模板：痛点 → 解决 ---- */
.kev-pdp-fix {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 26px;
	padding: 0;
}
.kev-pdp-fix > div {
	padding: 14px 16px;
	border: 1px solid var(--kev-line);
	border-radius: var(--kev-radius);
	background: #fff;
}
.kev-pdp-fix .kev-pdp-pain {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	color: var(--kev-gray);
	text-decoration: line-through;
	text-decoration-color: #d7a3a3;
}
.kev-pdp-fix .kev-pdp-cure {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--kev-head);
}
.kev-pdp-fix .kev-pdp-cure::before {
	content: "\2713";
	margin-right: 6px;
	color: var(--kev-green);
}

/* ---- 正文模板：工序步骤 ---- */
.kev-pdp-steps {
	list-style: none;
	counter-reset: kevstep;
	margin: 0 0 26px;
	padding: 0;
}
.kev-pdp-steps li {
	position: relative;
	counter-increment: kevstep;
	padding: 0 0 14px 38px;
	margin-bottom: 12px;
	border-bottom: 1px dashed var(--kev-line);
}
.kev-pdp-steps li:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.kev-pdp-steps li::before {
	content: counter(kevstep);
	position: absolute;
	left: 0;
	top: 0;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--kev-green-soft);
	color: var(--kev-green-dark);
	font-size: 13px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.kev-pdp-steps b { display: block; color: var(--kev-head); }

/* ---- 正文模板：图片位 ---- */
.kev-pdp-shots {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 26px;
}
.kev-pdp-shots figure { margin: 0; }
.kev-pdp-shots img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--kev-line);
	border-radius: var(--kev-radius);
}
.kev-pdp-shots figcaption {
	margin-top: 6px;
	font-size: 12.5px;
	color: var(--kev-gray);
}
/* 还没上传图时的占位框：提示该拍什么 */
.kev-pdp-shot-slot {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 132px;
	padding: 12px;
	border: 1px dashed #c4ccd0;
	border-radius: var(--kev-radius);
	background: var(--kev-soft);
	color: var(--kev-gray);
	font-size: 12.5px;
	text-align: center;
}

/* ---- 正文模板：结尾 CTA ---- */
.kev-pdp-cta {
	margin: 26px 0 0;
	padding: 20px 22px;
	border: 1px solid var(--kev-line);
	border-left: 3px solid var(--kev-green);
	border-radius: var(--kev-radius);
	background: var(--kev-soft);
}
.kev-pdp-cta h3 { margin: 0 0 6px; font-size: 17px; }
.kev-pdp-cta p { margin: 0 0 12px; font-size: 14px; }
.kev-pdp-cta a {
	display: inline-block;
	margin: 0 8px 6px 0;
	padding: 10px 18px;
	border-radius: var(--kev-radius);
	background: var(--kev-green);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}
.kev-pdp-cta a.kev-pdp-cta-alt { background: #fff; color: var(--kev-head); border: 1px solid var(--kev-line); }

/* ---- 正文模板：小提示条 ---- */
.kev-pdp-note {
	margin: 0 0 22px;
	padding: 12px 16px;
	border-radius: var(--kev-radius);
	background: #fff8e6;
	border: 1px solid #f0dfae;
	font-size: 13.5px;
	color: #6b5a20;
}

/* ---- 正文模板：数字条 ---- */
.kev-pdp-kpi {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}
.kev-pdp-kpi li {
	flex: 1 1 140px;
	padding: 12px 14px;
	border: 1px solid var(--kev-line);
	border-radius: var(--kev-radius);
	background: #fff;
	text-align: center;
}
.kev-pdp-kpi b {
	display: block;
	font-size: 20px;
	line-height: 1.2;
	color: var(--kev-green-dark);
}
.kev-pdp-kpi span { font-size: 12.5px; color: var(--kev-gray); }

@media (max-width: 782px) {
	.kev-pdp-trust { grid-template-columns: 1fr; }
	.kev-pdp-fix { grid-template-columns: 1fr; }
	.kev-pdp-shots { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* =========================================================
   20. PRODUCT PAGE — BUY AREA
       数量步进器 + Add to cart / Buy it now 并排各占一半
   ========================================================= */
.woocommerce div.product form.cart {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 20px 0 0;
	width: 100%;
}

/* ---- 原产地（后台下拉 _kev_origin 输出到库存下方） ---- */
.kev-origin {
	margin: 0 0 12px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--kev-ink);
}
.kev-origin .kev-origin-k {
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--kev-gray);
	margin-right: 4px;
}
.kev-origin b {
	font-weight: 600;
	color: var(--kev-head);
}

/* ---- 数量行 ---- */
.kev-qty-row {
	display: flex;
	align-items: center;
	gap: 14px;
	align-self: flex-start;
}
.kev-qty-label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--kev-gray);
}

.woocommerce div.product form.cart div.quantity {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	margin: 0;
	padding: 4px;
	background: #fff;
	border: 1px solid var(--kev-line);
	border-radius: 999px;
}
.woocommerce div.product form.cart div.quantity .qty {
	width: 46px;
	height: 38px;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: center;
	font-size: 15px;
	font-weight: 700;
	color: var(--kev-head);
	-moz-appearance: textfield;
	appearance: textfield;
	box-shadow: none;
}
.woocommerce div.product form.cart div.quantity .qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart div.quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.kev-qty-btn {
	width: 38px;
	height: 38px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 50%;
	background: var(--kev-soft);
	color: var(--kev-head);
	font-family: inherit;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.kev-qty-btn:hover { background: var(--kev-green-soft); color: var(--kev-green-dark); }

/* ---- 两个按钮并排，各占一半 ---- */
.kev-buy-actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 12px;
	width: 100%;
}

.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .kev-buy-now {
	width: 100%;
	min-width: 0;
	min-height: 54px;
	padding: 0 16px;
	border-radius: 999px;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .1px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	cursor: pointer;
	transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
	background: var(--kev-green);
	border: 1px solid var(--kev-green);
	color: #fff;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:focus {
	background: var(--kev-green-dark);
	border-color: var(--kev-green-dark);
	color: #fff;
}

.woocommerce div.product form.cart .kev-buy-now {
	background: #fff;
	border: 1px solid var(--kev-head);
	color: var(--kev-head);
}
.woocommerce div.product form.cart .kev-buy-now:hover,
.woocommerce div.product form.cart .kev-buy-now:focus {
	background: var(--kev-head);
	border-color: var(--kev-head);
	color: #fff;
}

/* 窄屏：按钮再收一点，别挤到换行 */
@media (max-width: 480px) {
	.kev-buy-actions { gap: 10px; }
	.woocommerce div.product form.cart .single_add_to_cart_button,
	.woocommerce div.product form.cart .kev-buy-now {
		min-height: 50px;
		padding: 0 8px;
		font-size: 14px;
	}
}

/* =========================================================
   21. PRODUCT PAGE — VIN 验车 (SKU / 分类下方)
   ========================================================= */
.kev-verify {
	margin: 12px 0 0;
	padding: 10px 0 0;
	border-top: 1px solid var(--kev-line);
}

/* VIN 输入 */
.kev-vin-field { position: relative; }
.kev-vin-field input {
	width: 100%;
	height: 50px;
	padding: 0 60px 0 14px;
	border: 1px solid #b9bec2;
	border-radius: 6px;
	background: #fff;
	font-family: inherit;
	font-size: 15px;
	letter-spacing: .08em;
	color: var(--kev-head);
	text-transform: uppercase;
}
.kev-vin-field input::placeholder { color: #9aa0a4; letter-spacing: .04em; text-transform: none; }
.kev-vin-field input:focus { outline: 0; border-color: var(--kev-green); box-shadow: 0 0 0 3px var(--kev-green-soft); }

.kev-vin-go {
	position: absolute;
	top: 5px;
	right: 5px;
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 6px;
	background: var(--kev-green);
	color: #fff;
	font-size: 17px;
	line-height: 1;
	cursor: pointer;
	transition: background .15s ease;
}
.kev-vin-go:hover { background: var(--kev-green-dark); }

.kev-vin-msg { margin: 9px 0 0; font-size: 13px; line-height: 1.55; font-weight: 600; }
.kev-vin-msg:empty { display: none; }
.kev-vin-msg.is-ok { color: var(--kev-green-dark); }
.kev-vin-msg.is-warn { color: #9a6700; }
.kev-vin-msg.is-bad { color: #ae1a1a; }
.kev-vin-msg.is-wait { color: var(--kev-gray); font-weight: 500; }

/* ---- 自动核对不出来时的人工入口 ---- */
.kev-vin-review {
	margin: 10px 0 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}
.kev-vin-review[hidden] { display: none; }

.kev-vin-wa {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 38px;
	padding: 0 16px;
	border-radius: 999px;
	background: #25d366;
	color: #fff;
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s ease, transform .18s ease;
}
.kev-vin-wa:hover,
.kev-vin-wa:focus {
	background: #1da851;
	color: #fff;
	text-decoration: none;
}
.kev-vin-wa svg { width: 17px; height: 17px; flex: 0 0 auto; fill: currentColor; }

.kev-vin-review-note {
	font-size: 12px;
	line-height: 1.5;
	color: var(--kev-gray);
}

.kev-vin-help { margin: 6px 0 0; font-size: 12px; line-height: 1.6; color: var(--kev-gray); }
.kev-vin-help a { color: var(--kev-green-dark); font-weight: 700; }

@media (max-width: 782px) {
	.kev-verify { margin-top: 16px; padding-top: 14px; }
	.kev-vin-field input { height: 48px; font-size: 14px; }
	.kev-vin-review-note { display: none; }
}

/* =========================================================
   22. PRODUCT PDP — LONG-FORM SECTIONS
       详情页长文区块：技术说明 / 对比表 / 产品矩阵 / 曲线图。
       class 前缀统一 kev-lf-*，只在产品描述里生效，不碰全局。
   ========================================================= */

/* ---- 两栏图文 ---- */
.kev-lf-split {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	gap: 30px;
	align-items: start;
	margin: 0 0 30px;
}
.kev-lf-split-txt > *:first-child { margin-top: 0; }
.kev-lf-split-txt > *:last-child { margin-bottom: 0; }
.kev-lf-split-txt h3 {
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: 700;
}

/* ---- 单栏 split：「导语 + 双栏论点」 ----
   像 "The weakest cell bottleneck" 这种只有一段论述的区块，
   套 1.15fr/0.85fr 两栏会让右栏整块空着。
   用 :has() 只命中「里面只有一个 .kev-lf-split-txt」的 split，改成
   第 1 段通栏做导语、第 2/3 段并排成两栏论点。HTML 不需要改。 */
.kev-lf-split:has(> .kev-lf-split-txt:only-child) {
	display: block;
	margin: 0 0 32px;
}
.kev-lf-split:has(> .kev-lf-split-txt:only-child) > .kev-lf-split-txt {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 46px;
	row-gap: 28px;
	align-items: start;
}
.kev-lf-split:has(> .kev-lf-split-txt:only-child) > .kev-lf-split-txt > p {
	margin: 0;
}
/* 导语 */
.kev-lf-split:has(> .kev-lf-split-txt:only-child) > .kev-lf-split-txt > p:first-child {
	grid-column: 1 / -1;
	max-width: 960px;
	padding-left: 20px;
	border-left: 3px solid var(--kev-green);
	font-size: 17px;
	line-height: 1.7;
	color: #2b3034;
}
/* 双栏论点 */
.kev-lf-split:has(> .kev-lf-split-txt:only-child) > .kev-lf-split-txt > p:nth-child(n+2) {
	padding-left: 18px;
	border-left: 2px solid #d7dde1;
	font-size: 14px;
	line-height: 1.7;
	color: #4a5055;
}
/* 论点里的加粗引导句单独成行，当小标题用 */
.kev-lf-split:has(> .kev-lf-split-txt:only-child) > .kev-lf-split-txt > p:nth-child(n+2) > strong:first-child {
	display: block;
	margin-bottom: 6px;
	font-size: 15px;
	line-height: 1.4;
	color: var(--kev-head);
}

.kev-lf-split-media { margin: 0; }
.kev-lf-split-media img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--kev-line);
	border-radius: var(--kev-radius);
	background: #fff;
}
.kev-lf-split-media figcaption {
	margin-top: 8px;
	font-size: 12.5px;
	line-height: 1.55;
	color: var(--kev-gray);
}

/* ---- 对比表（翻新 vs 全新） ---- */
.kev-lf-vs {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 30px;
	font-size: 13.5px;
	line-height: 1.6;
	border: 1px solid var(--kev-line);
}
.kev-lf-vs th,
.kev-lf-vs td {
	padding: 11px 14px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid var(--kev-line);
}
.kev-lf-vs thead th {
	font-size: 12.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .02em;
	background: var(--kev-soft);
	color: var(--kev-head);
}
.kev-lf-vs thead th.is-bad { background: #fdf1f1; color: #a11d1d; }
.kev-lf-vs thead th.is-good { background: var(--kev-green-soft); color: var(--kev-green-dark); }
.kev-lf-vs tbody th {
	width: 22%;
	font-weight: 600;
	color: var(--kev-head);
	background: #fafbfb;
}
.kev-lf-vs tbody td:nth-child(2) { color: #8a6363; }
.kev-lf-vs tbody td:nth-child(3) { color: var(--kev-head); font-weight: 500; }
.kev-lf-vs tbody tr:last-child th,
.kev-lf-vs tbody tr:last-child td { border-bottom: 0; }

/* ---- 三卡（产品矩阵 / 硬件优势 / 认证） ---- */
.kev-lf-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 0 0 26px;
}
.kev-lf-card {
	padding: 18px 18px 16px;
	border: 1px solid var(--kev-line);
	border-radius: var(--kev-radius);
	background: #fff;
}
.kev-lf-card h3 {
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--kev-head);
}
.kev-lf-card p {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.65;
	color: var(--kev-ink);
}
.kev-lf-ico { margin-right: 4px; font-size: 15px; }

/* ---- 实拍图：锁死高度，让横图竖图在一条线上 ----
   注意：img 有固有尺寸时 aspect-ratio + height:auto 不会生效，
   必须写死 height 配 object-fit，否则三张图高低不齐。 */
.kev-pdp-shots.kev-lf-shots img {
	height: 244px;
	object-fit: contain;
	background: #fff;
}
/* 只有两张图时排成两列，别留一个空位。
   两张图都预处理成了 1:1，这里放开高度锁，让它们按自然比例显示。 */
.kev-pdp-shots.kev-lf-shots-2 {
	grid-template-columns: repeat(2, minmax(0, 430px));
	justify-content: center;
}
.kev-pdp-shots.kev-lf-shots-2 img { height: auto; object-fit: fill; }

@media (max-width: 782px) {
	.kev-pdp-shots.kev-lf-shots img { height: 168px; }
}
@media (max-width: 520px) {
	.kev-pdp-shots.kev-lf-shots-2 { grid-template-columns: 1fr; }
}

/* ---- 适配车型表 ---- */
.kev-lf-fit {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 22px;
	font-size: 14px;
	line-height: 1.6;
	border: 1px solid var(--kev-line);
}
.kev-lf-fit thead th {
	padding: 10px 13px;
	background: var(--kev-head);
	color: #fff;
	font-size: 12.5px;
	font-weight: 700;
	text-align: left;
	text-transform: uppercase;
	letter-spacing: .02em;
}
.kev-lf-fit tbody th {
	width: 26%;
	padding: 13px;
	text-align: left;
	vertical-align: top;
	background: var(--kev-soft);
	font-weight: 700;
	color: var(--kev-head);
	font-size: 13.5px;
}
.kev-lf-fit tbody td {
	padding: 13px;
	vertical-align: top;
	border-bottom: 1px solid var(--kev-line);
}
.kev-lf-fit tbody tr:last-child th,
.kev-lf-fit tbody tr:last-child td { border-bottom: 0; }
.kev-lf-fit ul { margin: 0; padding-left: 18px; }
.kev-lf-fit li { margin: 0 0 3px; }
.kev-lf-fit li:last-child { margin-bottom: 0; }
.kev-lf-sub {
	display: block;
	margin-top: 3px;
	font-size: 12px;
	font-weight: 500;
	color: var(--kev-gray);
}

/* ---- 技术参数表 ---- */
.kev-lf-spec {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 26px;
	font-size: 13.5px;
}
.kev-lf-spec thead th {
	padding: 10px 13px;
	background: var(--kev-head);
	color: #fff;
	font-size: 12.5px;
	font-weight: 700;
	text-align: left;
	text-transform: uppercase;
	letter-spacing: .02em;
}
.kev-lf-spec tbody td {
	padding: 9px 13px;
	border-bottom: 1px solid var(--kev-line);
}
.kev-lf-spec tbody tr:nth-child(even) td { background: #fafbfb; }
.kev-lf-spec tbody td:nth-child(2) {
	width: 64px;
	font-size: 12.5px;
	color: var(--kev-gray);
}
.kev-lf-spec tbody td:nth-child(3) { white-space: nowrap; }
.kev-lf-spec tbody td:last-child {
	font-size: 12.5px;
	color: var(--kev-gray);
}

/* ---- 曲线图：两列，保证图上刻度还看得清 ---- */
.kev-lf-charts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 30px;
	align-items: start;
}
.kev-lf-charts figure {
	margin: 0;
	padding: 10px;
	border: 1px solid var(--kev-line);
	border-radius: var(--kev-radius);
	background: #fff;
}
.kev-lf-charts img { display: block; width: 100%; height: auto; }
.kev-lf-charts figcaption {
	margin-top: 8px;
	font-size: 12px;
	line-height: 1.5;
	color: var(--kev-gray);
}
/* 3 张图三列并排；图高低不一时顶部对齐，说明文字自然长短不一 */
.kev-lf-charts > figure > img:only-of-type {
	width: 100%;
}
/* 平板宽度下三列会挤成一团，退回单列（图本身接近 640px 原生宽度，别再放大） */
@media (max-width: 1024px) {
	.kev-lf-charts { grid-template-columns: 1fr; }
	.kev-lf-charts > figure > img { max-width: 640px; margin: 0 auto; }
}
/* 极端情况：一张 figure 里塞了多张图（编辑器合并造成），先兜住别让它们撑破 */
.kev-lf-charts > figure > img + img {
	margin-top: 10px;
}


/* ---- 安全须知：两列编号 ---- */
.kev-lf-safety {
	list-style: none;
	counter-reset: kevsafe;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px 22px;
	margin: 0 0 30px;
	padding: 0;
}
.kev-lf-safety li {
	position: relative;
	counter-increment: kevsafe;
	padding-left: 30px;
	font-size: 13.5px;
	line-height: 1.62;
}
.kev-lf-safety li::before {
	content: counter(kevsafe);
	position: absolute;
	left: 0;
	top: 2px;
	width: 20px;
	height: 20px;
	border-radius: 4px;
	background: var(--kev-soft);
	color: var(--kev-gray);
	font-size: 11.5px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.kev-lf-safety strong { color: var(--kev-head); }

/* ---- 普通列表 / 小字 ---- */
.kev-lf-plain {
	margin: 0 0 18px;
	padding-left: 20px;
	font-size: 13.5px;
	line-height: 1.7;
}
.kev-lf-plain li { margin: 0 0 4px; }
.kev-lf-fine {
	margin: 0;
	font-size: 12.5px;
	color: var(--kev-gray);
}
.kev-lf-steps { margin-bottom: 12px; }
.kev-lf-steps li {
	padding-bottom: 10px;
	margin-bottom: 10px;
	font-size: 13.5px;
	line-height: 1.6;
}

/* ---- 窄屏 ---- */
@media (max-width: 980px) {
	.kev-lf-split { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 782px) {
	.kev-lf-cards { grid-template-columns: 1fr; gap: 10px; }
	.kev-lf-charts { grid-template-columns: 1fr; }
	.kev-lf-safety { grid-template-columns: 1fr; gap: 11px; }

	/* 单栏 split 在手机上回到一列，导语字号收一点 */
	.kev-lf-split:has(> .kev-lf-split-txt:only-child) > .kev-lf-split-txt {
		grid-template-columns: 1fr;
		row-gap: 20px;
	}
	.kev-lf-split:has(> .kev-lf-split-txt:only-child) > .kev-lf-split-txt > p:first-child {
		font-size: 16px;
		max-width: none;
	}

	.kev-lf-vs,
	.kev-lf-fit,
	.kev-lf-spec { font-size: 12.5px; }

	.kev-lf-vs th,
	.kev-lf-vs td,
	.kev-lf-fit thead th,
	.kev-lf-fit tbody th,
	.kev-lf-fit tbody td,
	.kev-lf-spec thead th,
	.kev-lf-spec tbody td { padding: 8px 9px; }

	.kev-lf-vs tbody th { width: 30%; }
	.kev-lf-fit tbody th { width: 34%; }

	/* 表格在手机上改成「自己横向滑动」。
	   不这么写的话，表格会把整个描述区撑宽，正文跟着一起溢出屏幕。 */
	.kev-lf-vs,
	.kev-lf-fit,
	.kev-lf-spec {
		display: block;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.kev-lf-spec tbody td:nth-child(3) { white-space: normal; }

	/* 四格数字条在手机上排 2×2，别挤成一条 */
	.kev-pdp-kpi li { flex: 1 1 calc(50% - 5px); }
}

/* =========================================================
   20. HANDBOOK GATE（留邮箱换 PDF）/ LANDING PAGE
   ========================================================= */
.kev-gate {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: 26px;
	margin: 30px 0 0;
	padding: 24px 26px;
	border: 1px solid #cfe9da;
	border-radius: 10px;
	background: linear-gradient(180deg, #f4fbf7, #ffffff);
}

.kev-gate h3 { margin: 0 0 6px; font-size: 18px; }
.kev-gate p { margin: 0 0 10px; font-size: 13px; color: var(--kev-gray); }

.kev-gate-list { margin: 8px 0 0; padding-left: 18px; font-size: 12.5px; color: #4f565a; }
.kev-gate-list li { margin: 3px 0; }

.kev-gate-form form { display: flex; flex-direction: column; gap: 8px; }

.kev-gate-form input[type="email"] {
	height: 46px;
	border: 1px solid #d9dcde;
	border-radius: 5px;
	padding: 0 14px;
	font-family: inherit;
	font-size: 14px;
	color: var(--kev-head);
	background: #fff;
}

.kev-gate-form input[type="email"]:focus { outline: 2px solid rgba(40, 176, 96, .3); border-color: var(--kev-green); }

.kev-gate-form .kev-btn { height: 46px; }

.kev-gate-micro { margin: 10px 0 0 !important; font-size: 11.5px !important; color: var(--kev-gray); }
.kev-gate-micro a { color: var(--kev-gray); text-decoration: underline; }

.kev-gate-alt { margin: 10px 0 0 !important; font-size: 12.5px !important; color: var(--kev-gray); }
.kev-gate-alt a { font-weight: 800; color: var(--kev-green-dark); }

.kev-gate-error { color: #b3392a; font-size: 12.5px; margin: 0 0 8px; }

.kev-gate--done {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	border-color: #b7e6c9;
	background: var(--kev-green-soft);
}

.kev-gate--soon { border-color: var(--kev-line); background: #fff; }
.kev-gate--soon .kev-gate-form { display: flex; flex-direction: column; justify-content: center; }
.kev-gate--soon .kev-btn { width: 100%; }

.kev-gate-check {
	width: 28px;
	height: 28px;
	flex: 0 0 auto;
	border-radius: 50%;
	background: var(--kev-green);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 900;
}

/* 蜜罐字段：真人看不到，机器人会填 */
.kev-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* 独立落地页 */
.kev-handbook-page { width: 100vw; margin-left: calc(50% - 50vw); }

.kev-lp-hero { position: relative; background: #0b0f0d; color: #fff; padding: 48px 0 44px; overflow: hidden; }
.kev-lp-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(520px 320px at 82% 20%, rgba(40, 176, 96, .22), transparent 70%);
}

.kev-lp-inner { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; gap: 44px; align-items: center; }

.kev-lp-hero h1 { color: #fff; font-size: clamp(26px, 3vw, 36px); margin: 14px 0 12px; }
.kev-lp-hero h1 span { display: block; color: #4be08a; }
.kev-lp-hero p { color: rgba(255, 255, 255, .78); font-size: 14px; margin: 0 0 16px; max-width: 540px; }

.kev-lp-bullets { margin: 0; padding-left: 18px; color: rgba(255, 255, 255, .85); font-size: 13px; }
.kev-lp-bullets li { margin: 4px 0; }

.kev-lp-card {
	background: #fff;
	border-radius: 12px;
	padding: 22px 24px;
	box-shadow: 0 30px 70px rgba(0, 0, 0, .45);
}

.kev-lp-card .kev-gate { margin: 0; padding: 0; border: 0; background: none; display: block; }

.kev-lp-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 8px; }

.kev-lp-item { border: 1px solid var(--kev-line); border-radius: 8px; padding: 14px 16px; font-size: 13px; color: #4f565a; }
.kev-lp-item b { display: block; color: var(--kev-head); font-size: 13.5px; margin-bottom: 2px; }

@media (max-width: 900px) {
	.kev-gate { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
	.kev-lp-inner { grid-template-columns: 1fr; gap: 26px; }
	.kev-lp-list { grid-template-columns: 1fr; }
}

/* ===== BLOG (C layout) ===== */
.kev-blog { padding: 46px 0 70px; background: #fff; }

.kev-blog-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 26px; }
.kev-blog-title { margin: 6px 0 0; font-size: clamp(24px, 2.6vw, 32px); }
.kev-blog-pills { display: flex; gap: 8px; flex-wrap: wrap; }

.kev-pill {
	display: inline-flex; align-items: center; padding: 7px 14px; border-radius: 999px;
	border: 1px solid var(--kev-line); font-size: 12px; font-weight: 700; color: var(--kev-gray);
	text-decoration: none; background: #fff; transition: all .15s ease;
}

.kev-pill:hover { border-color: var(--kev-green); color: var(--kev-green-dark); }
.kev-pill.is-on { background: var(--kev-green); border-color: var(--kev-green); color: #fff; }

.kev-blog-cols { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 34px; align-items: start; }
.kev-blog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }

.kev-post-card {
	display: flex; flex-direction: column; border: 1px solid var(--kev-line); border-radius: 6px;
	overflow: hidden; background: #fff; text-decoration: none; color: inherit; transition: border-color .15s ease, box-shadow .15s ease;
}

.kev-post-card:hover { border-color: var(--kev-green); box-shadow: 0 10px 26px rgba(40, 176, 96, .10); }
.kev-post-thumb { background: var(--kev-soft); }
.kev-post-thumb img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.kev-post-body { padding: 16px 18px 18px; }
.kev-post-meta { font-size: 11.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--kev-gray); }
.kev-post-meta b { color: var(--kev-green-dark); }
.kev-post-card h2 { font-size: 15px; line-height: 1.35; margin: 8px 0 8px; color: var(--kev-head); }
.kev-post-card p { margin: 0; font-size: 12.5px; color: #5a6165; }

.kev-blog-side { position: sticky; top: 20px; }
.kev-side-box { border: 1px solid var(--kev-line); border-radius: 6px; padding: 18px; margin-bottom: 16px; background: #fff; }
.kev-side-box h3 { margin: 0 0 12px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--kev-gray); font-weight: 800; }
.kev-side-search { display: flex; border: 1px solid var(--kev-line); border-radius: 4px; overflow: hidden; }
.kev-side-search input { flex: 1; min-width: 0; border: 0; padding: 10px 12px; font-family: inherit; font-size: 13px; outline: none; }
.kev-side-search button { border: 0; background: var(--kev-green); color: #fff; padding: 0 14px; font-weight: 800; cursor: pointer; }

.kev-side-list { list-style: none; margin: 0; padding: 0; }
.kev-side-list li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--kev-line); font-size: 13px; }
.kev-side-list li:last-child { border-bottom: 0; }
.kev-side-list a { color: var(--kev-ink); text-decoration: none; font-weight: 600; }
.kev-side-list a:hover { color: var(--kev-green-dark); }
.kev-side-list span { color: var(--kev-gray); font-size: 12px; }

.kev-side-cta { background: #0b0f0d; border-color: #0b0f0d; }
.kev-side-cta h3 { color: #4be08a; }
.kev-side-cta p { margin: 0 0 14px; font-size: 13px; color: rgba(255, 255, 255, .78); }
.kev-side-cta a { display: inline-block; background: var(--kev-green); color: #fff; text-decoration: none; font-weight: 800; font-size: 13px; padding: 10px 16px; border-radius: 4px; }

.kev-blog-pager { margin-top: 26px; }
.kev-blog-pager .nav-links { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: 13px; font-weight: 700; }
.kev-blog-pager a, .kev-blog-pager span { padding: 6px 12px; border: 1px solid var(--kev-line); border-radius: 4px; text-decoration: none; color: var(--kev-ink); }
.kev-blog-pager span.current { background: var(--kev-green); border-color: var(--kev-green); color: #fff; }

/* 单篇 */
.kev-blog-single { padding-top: 36px; }
.kev-post-crumbs { font-size: 12px; color: var(--kev-gray); margin-bottom: 18px; }
.kev-post-crumbs a { color: var(--kev-gray); text-decoration: none; }
.kev-post-crumbs a:hover { color: var(--kev-green-dark); }
.kev-post-head h1 { font-size: clamp(24px, 2.8vw, 34px); margin: 10px 0 0; max-width: 900px; }
.kev-post-hero { margin: 22px 0 6px; }
.kev-post-hero img { width: 100%; max-height: 420px; object-fit: cover; border-radius: 6px; }
.kev-post-body { max-width: 860px; }
.kev-post-body .kev-lead { background: var(--kev-green-soft); border-left: 4px solid var(--kev-green); border-radius: 0 6px 6px 0; padding: 16px 20px; font-size: 15px; }
.kev-post-body h2 { font-size: 21px; margin: 32px 0 10px; }
.kev-post-body h3 { font-size: 16px; margin: 22px 0 6px; }
.kev-post-body table { width: 100%; border-collapse: collapse; font-size: 13px; margin: 0 0 18px; }
.kev-post-body th, .kev-post-body td { border: 1px solid var(--kev-line); padding: 9px 12px; text-align: left; vertical-align: top; }
.kev-post-body th { background: var(--kev-soft); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--kev-gray); }

.kev-post-cta { background: #0b0f0d; border-radius: 8px; padding: 24px 26px; margin: 34px 0 0; max-width: 860px; }
.kev-post-cta h3 { color: #fff; margin: 0 0 6px; font-size: 18px; }
.kev-post-cta p { color: rgba(255, 255, 255, .78); font-size: 13px; margin: 0 0 16px; }
.kev-post-cta .kev-btn { margin-right: 8px; }

.kev-post-related { margin-top: 46px; }
.kev-post-related h2 { font-size: 20px; margin: 0 0 18px; }

@media (max-width: 1024px) {
	.kev-blog-cols { grid-template-columns: 1fr; }
	.kev-blog-side { position: static; }
}
@media (max-width: 720px) {
	.kev-blog-grid { grid-template-columns: 1fr; }
}
/* 技术路线图文章的「不可订购」提示 */
.kev-dev-notice {
	border: 1px solid #f0dbb5;
	background: #fdf6e8;
	border-left: 4px solid #e0a84a;
	border-radius: 0 6px 6px 0;
	padding: 14px 18px;
	margin: 0 0 24px;
	font-size: 13.5px;
	color: #7a5210;
}

.kev-dev-notice strong { color: #6b4508; }
.kev-dev-notice a { color: #8a5c0f; }
/* WhatsApp 在深色/绿色区块上用「白底绿字」胶囊，参考站点主按钮样式 */
.kev-hero .kev-btn--wa,
.kev-cta-band .kev-btn--wa,
.kev-split-block .kev-btn--wa,
.kev-finder-band .kev-btn--wa {
	background: #fff;
	color: var(--kev-green-dark) !important;
	border: 1px solid #fff;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
}

.kev-hero .kev-btn--wa:hover,
.kev-cta-band .kev-btn--wa:hover,
.kev-split-block .kev-btn--wa:hover,
.kev-finder-band .kev-btn--wa:hover {
	background: var(--kev-green-soft);
	color: var(--kev-green-dark) !important;
}

.kev-hero .kev-btn--wa svg,
.kev-cta-band .kev-btn--wa svg,
.kev-split-block .kev-btn--wa svg,
.kev-finder-band .kev-btn--wa svg {
	color: var(--kev-green-dark);
}
/* ===== CONTACT PAGE (A layout) ===== */
.kev-contact-page { padding: 8px 0 20px; }

.kev-contact-cols {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(0, .95fr);
	gap: 34px;
	align-items: start;
}

.kev-contact-form h2 { font-size: clamp(22px, 2.4vw, 28px); margin: 0 0 6px; }
.kev-contact-sub { font-size: 13.5px; color: var(--kev-gray); margin: 0 0 22px; max-width: 560px; }
.kev-contact-hint { font-size: 12px; color: var(--kev-gray); margin: 14px 0 0; }

/* CF7 字段 */
.kev-contact-form .wpcf7 { margin: 0; }
.kev-contact-form .kev-cf-row { margin-bottom: 16px; }
.kev-contact-form .kev-cf-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.kev-contact-form label {
	display: block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--kev-gray);
	margin: 0;
}
.kev-contact-form .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.kev-contact-form input[type="text"],
.kev-contact-form input[type="email"],
.kev-contact-form input[type="tel"],
.kev-contact-form select,
.kev-contact-form textarea {
	width: 100%;
	border: 1px solid #dfe2e4;
	border-radius: 5px;
	padding: 11px 13px;
	font-family: inherit;
	font-size: 14px;
	color: var(--kev-head);
	background: #fff;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 500;
}

.kev-contact-form select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #9aa0a4 50%), linear-gradient(135deg, #9aa0a4 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.kev-contact-form textarea { min-height: 120px; resize: vertical; }
.kev-contact-form input:focus, .kev-contact-form select:focus, .kev-contact-form textarea:focus { outline: 2px solid rgba(40, 176, 96, .28); border-color: var(--kev-green); }
.kev-contact-form input[type="submit"] {
	background: var(--kev-green);
	color: #fff;
	font-weight: 800;
	font-size: 14px;
	border: 0;
	border-radius: 5px;
	padding: 13px 26px;
	cursor: pointer;
	font-family: inherit;
}
.kev-contact-form input[type="submit"]:hover { background: var(--kev-green-dark); }
.kev-contact-form .wpcf7-not-valid-tip { font-size: 12px; color: #b3392a; margin-top: 4px; font-weight: 600; }
.kev-contact-form .wpcf7-response-output { border-radius: 6px; font-size: 13px; padding: 12px 16px; margin: 16px 0 0; border: 1px solid #b7e6c9; background: var(--kev-green-soft); color: #1b6b3d; }
.kev-contact-form .wpcf7-spinner { margin: 0 0 0 10px; }

/* 右侧卡 */
.kev-contact-side { background: #0b0f0d; border-radius: 8px; padding: 26px 26px 24px; }
.kev-contact-side h3 { color: #fff; font-size: 19px; margin: 0 0 6px; }
.kev-contact-side > p { color: rgba(255, 255, 255, .72); font-size: 13px; margin: 0 0 18px; }
.kev-side-wa {
	display: flex; align-items: center; justify-content: center; gap: 8px;
	background: #25d366; color: #fff !important; text-decoration: none;
	font-weight: 800; font-size: 14px; padding: 13px 16px; border-radius: 5px;
	margin-bottom: 18px;
}
.kev-side-wa:hover { background: #1da851; }
.kev-contact-side .kev-side-list { list-style: none; margin: 0 0 18px; padding: 0; }
.kev-contact-side .kev-side-list li { display: block; padding: 10px 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.kev-contact-side .kev-side-list li:last-child { border-bottom: 0; }
.kev-contact-side .kev-side-list span { display: block; font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .45); margin-bottom: 2px; }
.kev-contact-side .kev-side-list b { display: block; color: #fff; font-size: 13.5px; font-weight: 600; }
.kev-contact-side .kev-side-list a { color: #fff; text-decoration: none; }
.kev-contact-side .kev-side-list a:hover { color: #4be08a; }
.kev-side-trust { font-size: 11.5px; color: rgba(255, 255, 255, .55); border-top: 1px solid rgba(255, 255, 255, .12); padding-top: 14px; }

@media (max-width: 980px) {
	.kev-contact-cols { grid-template-columns: 1fr; }
	.kev-contact-form .kev-cf-2 { grid-template-columns: 1fr; }
}
/* ===== PDP 增强区块（只在产品详情页） ===== */
.kev-pdp-notice {
	border: 1px solid #f0dbb5;
	background: #fffbe8;
	border-left: 4px solid #e0a84a;
	border-radius: 0 8px 8px 0;
	padding: 16px 20px;
	margin: 0 0 24px;
	font-size: 13.5px;
	color: #6b4508;
}

.kev-pdp-notice strong { display: block; margin-bottom: 5px; font-size: 14px; color: #5d3d06; }
.kev-pdp-notice p { margin: 0 0 6px; }
.kev-pdp-notice p:last-child { margin: 0; }

.kev-pdp-code {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	border: 1px solid var(--kev-line);
	border-left: 4px solid var(--kev-green);
	background: var(--kev-green-soft);
	border-radius: 0 8px 8px 0;
	padding: 16px 20px;
	margin: 22px 0;
}

.kev-pdp-code-tag {
	flex: 0 0 auto;
	background: var(--kev-head);
	color: #fff;
	font-weight: 900;
	font-size: 13px;
	padding: 8px 12px;
	border-radius: 4px;
	letter-spacing: .04em;
}

.kev-pdp-code p { margin: 0; font-size: 13.5px; color: #22312a; }
.kev-pdp-code a { color: var(--kev-green-dark); font-weight: 800; text-decoration: none; }

.kev-pdp-h2 { font-size: 20px; margin: 34px 0 12px; }
.kev-pdp-list { font-size: 13.5px; color: #4f565a; margin: 0 0 16px; padding-left: 20px; }
.kev-pdp-list li { margin: 5px 0; }

.kev-pdp-table { width: 100%; border-collapse: collapse; font-size: 13px; margin: 0 0 14px; }
.kev-pdp-table th, .kev-pdp-table td { border: 1px solid var(--kev-line); padding: 9px 12px; text-align: left; vertical-align: top; }
.kev-pdp-table th { background: var(--kev-soft); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--kev-gray); }
.kev-pdp-table td:first-child { width: 32%; font-weight: 700; color: var(--kev-head); }

.kev-pdp-note { font-size: 12.5px; color: var(--kev-gray); margin: 0 0 8px; }
.kev-pdp-note a { color: var(--kev-green-dark); }

.kev-pdp-faq h3 { font-size: 14px; margin: 16px 0 4px; }
.kev-pdp-faq p { margin: 0; font-size: 13.5px; color: #4f565a; }

@media (max-width: 720px) {
	.kev-pdp-code { flex-direction: column; gap: 10px; }
	.kev-pdp-table td:first-child { width: auto; }
}
/* ===== 故障码页（/error-codes/xxx/） ===== */
.kev-prose .kev-lead,
.kev-lead {
	background: var(--kev-green-soft);
	border-left: 4px solid var(--kev-green);
	border-radius: 0 6px 6px 0;
	padding: 16px 20px;
	font-size: 15px;
	color: #22312a;
	margin: 0 0 26px;
}

.kev-code-more {
	display: inline-block;
	margin: 2px 0 10px;
	font-weight: 800;
	font-size: 13.5px;
	color: var(--kev-green-dark);
	text-decoration: none;
}

.kev-code-more:hover { text-decoration: underline; }

.kev-code-index {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
}

.kev-code-index li { margin: 0; }

.kev-code-index a {
	display: inline-block;
	padding: 7px 14px;
	border: 1px solid var(--kev-line);
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--kev-ink);
	text-decoration: none;
	background: #fff;
}

.kev-code-index a:hover { border-color: var(--kev-green); color: var(--kev-green-dark); }

/* 码页正文排版 */
.kev-prose h2 { font-size: 20px; margin: 30px 0 10px; }
.kev-prose h3 { font-size: 15.5px; margin: 20px 0 4px; }
.kev-prose ol, .kev-prose ul { margin: 0 0 15px; padding-left: 22px; }
.kev-prose li { margin: 6px 0; }
/* 产品页 → Fitment Guide 链接 */
.kev-fitment-link {
	background: #f4f8f5;
	border: 1px solid var(--kev-line);
	border-radius: 6px;
	padding: 10px 14px;
	font-size: 13px;
	margin: 0 0 18px;
}
.kev-fitment-link a { font-weight: 700; color: var(--kev-green-dark); text-decoration: none; }
.kev-fitment-link a:hover { text-decoration: underline; }
/* 文章底部：相关阅读 */
.kev-related {
	margin: 36px 0 0;
	padding: 22px 24px;
	background: #f7f9f7;
	border: 1px solid var(--kev-line);
	border-radius: 8px;
}
.kev-related h2 { font-size: 18px; margin: 0 0 12px; }
.kev-related h3 { font-size: 14px; margin: 18px 0 8px; }
.kev-related ul { margin: 0; padding-left: 20px; }
.kev-related li { margin: 6px 0; font-size: 14px; }
.kev-related a { color: var(--kev-green-dark); }
/* 区块副标题 */
.kev-section-note {
	margin: 8px 0 0;
	font-size: 13.5px;
	color: var(--kev-muted, #6d7478);
	max-width: 620px;
}
/* 评价原文（非英文） */
.kev-review-orig {
	font-size: 12.5px;
	color: var(--kev-muted, #6d7478);
	margin-top: -6px;
}
/* 安装视频 */
.kev-video-wrap {
	margin: 32px 0 40px;
	padding: 24px;
	background: #f4f8f5;
	border: 1px solid var(--kev-line);
	border-radius: 10px;
}
.kev-video-title { font-size: 22px; margin: 0 0 6px; }
.kev-video-lead { font-size: 14px; color: var(--kev-muted, #6d7478); margin: 0 0 16px; }
.kev-video-box {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	background: #000;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 6px 24px rgba(0,0,0,.14);
}
.kev-video-box video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.kev-video-note {
	margin: 14px 0 0;
	font-size: 13px;
	line-height: 1.6;
	color: #7a4b00;
	background: #fff8e6;
	border-left: 3px solid #f0b429;
	padding: 10px 14px;
	border-radius: 0 6px 6px 0;
}
/* /fitment/ 视频入口 */
.kev-video-teaser {
	display: grid;
	grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
	gap: 26px;
	align-items: center;
	margin: 36px 0 10px;
	padding: 24px;
	background: #f4f8f5;
	border: 1px solid var(--kev-line);
	border-radius: 10px;
}
.kev-vt-thumb {
	position: relative;
	display: block;
	border-radius: 8px;
	overflow: hidden;
	background: #000;
	aspect-ratio: 16 / 9;
}
.kev-vt-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kev-vt-play {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 62px;
	height: 62px;
	border-radius: 50%;
	background: rgba(40,176,96,.94);
	box-shadow: 0 4px 18px rgba(0,0,0,.35);
}
.kev-vt-play::after {
	content: "";
	position: absolute;
	left: 24px;
	top: 19px;
	border-style: solid;
	border-width: 12px 0 12px 19px;
	border-color: transparent transparent transparent #fff;
}
.kev-vt-eyebrow {
	display: inline-block;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--kev-green-dark);
	margin-bottom: 6px;
}
.kev-vt-body h2 { font-size: 23px; margin: 0 0 8px; }
.kev-vt-body p { font-size: 14px; color: #4a5a52; margin: 0 0 14px; }
.kev-vt-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.kev-vt-dl { font-size: 13px; font-weight: 700; color: var(--kev-green-dark); }
.kev-vt-note {
	font-size: 12.5px !important;
	color: #7a4b00 !important;
	background: #fff8e6;
	border-left: 3px solid #f0b429;
	padding: 8px 12px;
	border-radius: 0 6px 6px 0;
	margin: 14px 0 0 !important;
}
@media (max-width: 780px) {
	.kev-video-teaser { grid-template-columns: 1fr; gap: 18px; }
}
/* 产品页：安装视频入口 */
.kev-pdp-video {
	margin: 26px 0 10px;
	padding: 18px 20px;
	background: #f4f8f5;
	border: 1px solid var(--kev-line);
	border-radius: 8px;
}
.kev-pdp-video-txt strong { display: block; font-size: 15px; color: var(--kev-ink); }
.kev-pdp-video-txt span { display: block; font-size: 13px; color: #6d7478; margin-top: 3px; }
.kev-pdp-video-link {
	display: inline-block;
	margin: 10px 0 0;
	font-size: 13.5px;
	font-weight: 800;
	color: var(--kev-green-dark);
	text-decoration: none;
}
.kev-pdp-video-link:hover { text-decoration: underline; }
.kev-pdp-video-note {
	margin: 10px 0 0;
	font-size: 12.5px;
	line-height: 1.6;
	color: #7a4b00;
	background: #fff8e6;
	border-left: 3px solid #f0b429;
	padding: 8px 12px;
	border-radius: 0 6px 6px 0;
}
/* ===== 询价模式 ===== */
.kev-quote-box {
	margin: 18px 0 8px;
	padding: 22px;
	background: #f4f8f5;
	border: 1px solid var(--kev-line);
	border-radius: 10px;
}
.kev-quote-price { font-size: 30px; font-weight: 800; color: var(--kev-ink); margin-bottom: 14px; letter-spacing: -.02em; }
.kev-quote-price small { font-size: 14px; font-weight: 600; color: #6d7478; }
.kev-quote-box .kev-quote-btn,
.kev-quote-btn {
	display: block !important;
	text-align: center;
	background: var(--kev-green) !important;
	color: #fff !important;
	font-weight: 800 !important;
	font-size: 16px;
	padding: 15px 24px;
	border-radius: 8px;
	text-decoration: none !important;
	border: 0;
	transition: background .15s;
}
.kev-quote-box .kev-quote-btn:hover,
.kev-quote-btn:hover {
	background: var(--kev-green-dark) !important;
	color: #fff !important;
}
.kev-quote-points { list-style: none; margin: 16px 0 0; padding: 0; }
.kev-quote-points li {
	position: relative;
	padding-left: 22px;
	font-size: 13.5px;
	color: #4a5a52;
	margin-bottom: 7px;
}
.kev-quote-points li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--kev-green);
	font-weight: 800;
}

/* 表单 */
.kev-quote-form { max-width: 720px; }
.kev-qf-row { margin-bottom: 16px; }
.kev-qf-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.kev-qf-row label { display: block; font-size: 13px; font-weight: 700; color: var(--kev-ink); }
.kev-qf-row label span { color: #d33; }
.kev-qf-row input, .kev-qf-row select, .kev-qf-row textarea {
	width: 100%;
	margin-top: 6px;
	padding: 11px 13px;
	border: 1px solid #cfd8d2;
	border-radius: 6px;
	font-size: 15px;
	font-family: inherit;
	background: #fff;
}
.kev-qf-row input:focus, .kev-qf-row select:focus, .kev-qf-row textarea:focus {
	outline: none;
	border-color: var(--kev-green);
	box-shadow: 0 0 0 3px rgba(40,176,96,.12);
}
.kev-qf-hp { position: absolute; left: -9999px; }
.kev-quote-submit {
	background: var(--kev-green);
	color: #fff;
	border: 0;
	padding: 15px 40px;
	font-size: 16px;
	font-weight: 800;
	border-radius: 8px;
	cursor: pointer;
}
.kev-quote-submit:hover { background: var(--kev-green-dark); }
.kev-qf-note { font-size: 12.5px; color: #6d7478; margin-top: 12px; }
.kev-quote-success {
	padding: 28px;
	background: #f0f9f3;
	border: 1px solid #bfe3cc;
	border-radius: 10px;
}
.kev-quote-success strong { display: block; font-size: 19px; margin-bottom: 10px; color: var(--kev-ink); }
.kev-quote-success p { margin: 0 0 8px; color: #3f5049; }
@media (max-width: 700px) {
	.kev-qf-2 { grid-template-columns: 1fr; gap: 0; }
}
/* 询价模式：隐藏一切购买入口 */
body.kev-quote-mode .ppc-button-wrapper,
body.kev-quote-mode #ppc-button-ppcp-gateway,
body.kev-quote-mode .ppc-button-container,
body.kev-quote-mode .woocommerce-mini-cart__buttons,
body.kev-quote-mode .wc-proceed-to-checkout { display: none !important; }
.kev-quote-notice{margin:0 0 16px;padding:11px 14px;background:#eef7f1;border-left:3px solid var(--kev-green);border-radius:0 6px 6px 0;font-size:13.5px;color:#2f4a3b;}

/* 询价模式：隐藏价格 */
.kev-price-on-request{font-size:19px;font-weight:800;color:var(--kev-green-dark);letter-spacing:-.01em;}
body.kev-hide-price .kev-quote-price{display:none!important;}
body.kev-hide-price .woocommerce-Price-amount:not(.kev-price-on-request){display:none!important;}
body.kev-hide-price .price .kev-price-on-request{display:inline-block;}

/* 评价区补充卡片 */
.kev-review-card.kev-review-cta,
.kev-review-card.kev-review-fact {
	background: #f4f8f5;
	border: 1px dashed #c3dbcb;
	box-shadow: none;
}
.kev-review-card.kev-review-fact { background: #fff; border-style: solid; border-color: var(--kev-line); }
.kev-stars--outline { color: #b9cfc3 !important; letter-spacing: 2px; }
.kev-stars--muted { color: var(--kev-green) !important; font-size: 16px; }
.kev-rv-av--light { background: #dcebe2; color: #4a7a5f; font-weight: 800; }
.kev-review-card.kev-review-cta p a { color: var(--kev-green-dark); font-weight: 700; }
/* 横排字标 logo：给更宽的展示位，避免被 max-width:84px 压扁 */
.kev-make--wide img { max-width: 118px; }
.kev-make--xwide img { max-width: 150px; }
.kev-make--wide,
.kev-make--xwide { height: 40px; }
@media (max-width: 700px) {
	.kev-make--wide img { max-width: 96px; }
	.kev-make--xwide img { max-width: 118px; }
}
/* ===== 邮件订阅 ===== */
.kev-sub { max-width: 520px; }
.kev-sub-title { font-size: 17px; margin: 0 0 6px; color: #fff; }
.kev-sub-note { font-size: 12.5px; color: #9fb5a9; margin: 8px 0 0; line-height: 1.6; }
.kev-sub-form { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.kev-sub-form input[type="email"] {
	flex: 1 1 220px; min-width: 0;
	padding: 11px 14px; border: 1px solid #2e4a3d; border-radius: 6px;
	background: #17342a; color: #eaf3ee; font-size: 14px; font-family: inherit;
}
.kev-sub-form input[type="email"]::placeholder { color: #7fa08d; }
.kev-sub-form input[type="email"]:focus { outline: none; border-color: #48d67e; }
.kev-sub-form button {
	flex: 0 0 auto; padding: 11px 22px; border: 0; border-radius: 6px;
	background: #1a7f4b; color: #fff; font-size: 14px; font-weight: 800;
	cursor: pointer; font-family: inherit;
}
.kev-sub-form button:hover { background: #14663c; }
.kev-sub-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.kev-sub-ok { background: #f0f9f3; border: 1px solid #bfe3cc; color: #24603f; padding: 12px 16px; border-radius: 8px; font-size: 14px; }
.kev-sub-err { background: #fdf2f2; border: 1px solid #f3c9c9; color: #a33; padding: 12px 16px; border-radius: 8px; font-size: 14px; margin-bottom: 8px; }

/* 浮动订阅框 */
.kev-sub-float {
	position: fixed; right: 20px; bottom: 20px; z-index: 9998;
	width: 340px; max-width: calc(100vw - 40px);
	background: #12261d; border: 1px solid #2e4a3d; border-radius: 12px;
	padding: 20px; box-shadow: 0 12px 40px rgba(0,0,0,.28);
}
.kev-sub-float[hidden] { display: none; }
.kev-sub-close {
	position: absolute; top: 8px; right: 10px; background: none; border: 0;
	color: #7fa08d; font-size: 22px; line-height: 1; cursor: pointer; padding: 2px 6px;
}
.kev-sub-close:hover { color: #fff; }
.kev-sub-float .kev-sub-form { margin-top: 10px; }
.kev-sub-float .kev-sub-form input[type="email"] { flex: 1 1 100%; }
.kev-sub-float .kev-sub-form button { flex: 1 1 100%; }
@media (max-width: 520px) {
	.kev-sub-float { right: 12px; left: 12px; bottom: 12px; width: auto; }
}
/* 页脚订阅带 */
.kev-footer-sub-band {
	margin-top: 8px;
	padding: 28px 0 30px;
	border-top: 1px solid rgba(255,255,255,.08);
}
.kev-footer-sub-inner {
	display: flex;
	align-items: center;
	gap: 40px;
	flex-wrap: wrap;
	background: rgba(255,255,255,.035);
	border: 1px solid rgba(255,255,255,.07);
	border-radius: 12px;
	padding: 24px 28px;
}
.kev-footer-sub-inner .kev-sub { flex: 1 1 280px; max-width: 340px; }
.kev-footer-sub-inner .kev-sub-title { color: #eaf3ee; }
.kev-footer-sub-inner .kev-sub-note { color: #8fa89a; margin-top: 6px; }
.kev-footer-sub-inner .kev-sub-form { margin-top: 0; flex: 1 1 380px; }
@media (max-width: 780px) {
	.kev-footer-sub-inner { flex-direction: column; align-items: stretch; gap: 14px; padding: 20px; }
	.kev-footer-sub-inner .kev-sub { max-width: none; }
}