/* ============================================================
 * 科酷网 设计系统
 * 主色：科研蓝（#0c5fff）+ 暖橙（#f59e0b）
 * 辅助：薄荷绿（#10b981）+ 中性灰（#475569 / #94a3b8）
 * 字体：系统中文栈 + 数字用等宽字体
 * ============================================================ */

:root {
  --kk-primary:        #0c5fff;
  --kk-primary-dark:   #0844cc;
  --kk-primary-light:  #eef4ff;
  --kk-accent:         #f59e0b;
  --kk-accent-dark:    #d97706;
  --kk-success:        #10b981;
  --kk-danger:         #ef4444;
  --kk-warning:        #fbbf24;
  --kk-info:           #06b6d4;

  --kk-bg:             #f8fafc;
  --kk-bg-elev:        #ffffff;
  --kk-bg-soft:        #f1f5f9;
  --kk-border:         #e2e8f0;
  --kk-border-strong:  #cbd5e1;

  --kk-text:           #0f172a;
  --kk-text-2:         #475569;
  --kk-text-3:         #94a3b8;
  --kk-text-onprimary: #ffffff;

  --kk-radius:         10px;
  --kk-radius-sm:      6px;
  --kk-radius-lg:      14px;

  --kk-shadow-sm:      0 1px 2px rgba(15, 23, 42, .05);
  --kk-shadow:         0 4px 12px rgba(15, 23, 42, .08);
  --kk-shadow-lg:      0 12px 32px rgba(15, 23, 42, .12);

  --kk-container:      1280px;
  --kk-header-h:       140px;
  --kk-nav-h:          48px;
}

/* ============ Reset ============ */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
               "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial,
               sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: var(--kk-text);
  background: var(--kk-bg);
  -webkit-font-smoothing: antialiased;
}
img, svg { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; transition: color .2s; }
a:hover { color: var(--kk-primary); }
button { font-family: inherit; cursor: pointer; border: 0; background: none; }
input, textarea, select { font-family: inherit; font-size: 14px; }
ul, ol { list-style: none; padding: 0; margin: 0; }
h1, h2, h3, h4 { margin: 0; line-height: 1.3; color: var(--kk-text); }

/* ============ Layout ============ */
.kk-container { max-width: var(--kk-container); margin: 0 auto; padding: 0 20px; }
.kk-row { display: flex; flex-wrap: wrap; gap: 16px; }
/* ⚠️ 卡片网格一律用 minmax(0, 1fr)：
   `1fr` 的默认下限是 auto（= min-content），卡片里「公司名 nowrap」这类长文本
   会把某一列顶宽 → 整行各列宽度不一致 + 网格横向溢出（阿牛 2026-10-10 报「卡片大小不一」的真因）。*/
.kk-grid { display: grid; gap: 16px; }
.kk-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kk-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kk-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kk-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.kk-grid-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 900px) {
  .kk-grid-3, .kk-grid-4, .kk-grid-5, .kk-grid-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .kk-grid-2, .kk-grid-3, .kk-grid-4, .kk-grid-5, .kk-grid-6 { grid-template-columns: minmax(0, 1fr); }
}

/* ============ 顶部条 (Top Bar) ============ */
.kk-topbar {
  background: linear-gradient(135deg, #0c5fff, #0844cc);
  color: rgba(255,255,255,.92);
  font-size: 12px;
  height: 36px;
  display: flex;
  align-items: center;
}
.kk-topbar .kk-container { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.kk-topbar a { color: rgba(255,255,255,.92); }
.kk-topbar a:hover { color: #fbbf24; }
.kk-topbar-nav { display: flex; gap: 18px; align-items: center; }
.kk-topbar-nav .kk-sep { color: rgba(255,255,255,.4); }

/* ============ Header (Logo + 搜索 + 注册登录) ============ */
.kk-header {
  background: var(--kk-bg-elev);
  border-bottom: 1px solid var(--kk-border);
  position: relative;
  z-index: 60;   /* 让搜索分类下拉浮在导航条之上 */
}
.kk-header-main {
  display: flex;
  align-items: center;
  gap: 32px;
  padding: 18px 0;
}
.kk-logo {
  display: flex; flex-direction: column; align-items: flex-start;
  gap: 4px; min-width: 280px;
  text-decoration: none;
}
.kk-logo-img {
  height: 30px; width: auto; display: block;
}
.kk-logo-slogan {
  font-size: 12px; color: var(--kk-text-2);
  letter-spacing: .5px;
  white-space: nowrap;
}
@media (max-width: 760px) { .kk-logo-slogan { display: none; } }
.kk-logo-mark {
  width: 56px; height: 56px; border-radius: 12px;
  background: linear-gradient(135deg, #0c5fff, #22d3ee);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 800; font-size: 26px;
  box-shadow: 0 6px 16px rgba(12, 95, 255, .3);
}
.kk-logo-text h1 {
  font-size: 24px; font-weight: 800; color: var(--kk-text); margin: 0;
  letter-spacing: -.5px;
}
.kk-logo-text p { margin: 0; font-size: 12px; color: var(--kk-text-2); }

/* 搜索栏 */
.kk-search {
  flex: 1 1 auto;
  max-width: 720px;
  min-width: 260px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.kk-search-box {
  display: flex; align-items: stretch;
  border: 2px solid var(--kk-primary);
  border-radius: 8px;
  /* 注意：这里不能用 overflow:hidden 裁圆角，否则会裁掉分类下拉菜单 */
  position: relative;
  height: 44px;
  background: #fff;
}
.kk-search-cat-wrap { position: relative; flex: 0 0 auto; display: flex; }
.kk-search-cat {
  background: var(--kk-primary-light);
  border: 0; padding: 0 14px;
  color: var(--kk-primary);
  font-weight: 600;
  cursor: pointer;
  border-right: 1px solid var(--kk-primary);
  border-radius: 6px 0 0 6px;
  display: flex; align-items: center; gap: 5px;
  white-space: nowrap;
  font-size: 14px;
}
.kk-search-cat:hover { background: #dbeafe; }
.kk-search-cat.open { background: #dbeafe; }
.kk-caret { font-size: 10px; line-height: 1; }
.kk-search-cat-menu {
  display: none;
  position: absolute;
  top: calc(100% + 7px); left: -2px;
  min-width: 152px;
  background: #fff;
  border: 1px solid var(--kk-border);
  border-radius: 10px;
  box-shadow: 0 12px 28px rgba(15,23,42,.16);
  padding: 6px;
  z-index: 2000;
}
.kk-search-cat-menu.show { display: block; }
.kk-search-cat-menu a {
  display: flex; align-items: center; gap: 8px;
  padding: 9px 12px;
  font-size: 13px;
  color: #334155;
  border-radius: 6px;
  white-space: nowrap;
}
.kk-search-cat-menu a:hover { background: #eff6ff; color: var(--kk-primary); }
.kk-search-cat-menu a.active { background: #eff6ff; color: var(--kk-primary); font-weight: 600; }
.kk-search-input {
  flex: 1 1 auto; min-width: 0; border: 0; padding: 0 14px; outline: 0;
  background: transparent;
}
.kk-search-btn {
  background: var(--kk-primary);
  color: #fff;
  border: 0;
  padding: 0 28px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  border-radius: 0 6px 6px 0;
  white-space: nowrap;
}
.kk-search-btn:hover { background: var(--kk-primary-dark); }
.kk-search-hot {
  font-size: 12px; color: var(--kk-text-3);
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px;
  line-height: 18px;
}
.kk-search-hot b { color: var(--kk-text-2); margin-right: 2px; }

/* 窄屏：搜索框换行独占一行，避免被挤扁 / 文案被裁 */
@media (max-width: 1180px) {
  .kk-header-main { flex-wrap: wrap; gap: 14px 20px; }
  .kk-logo { min-width: 0; flex: 0 1 auto; }
  .kk-user-area { min-width: 0; margin-left: auto; }
  .kk-search { order: 3; flex: 1 1 100%; max-width: none; }
}

/* 用户区 */
.kk-user-area { display: flex; align-items: center; gap: 14px; min-width: 240px; justify-content: flex-end; }
.kk-user-area .kk-btn { white-space: nowrap; }
.kk-user-welcome { color: var(--kk-text-2); font-size: 13px; }
.kk-user-welcome strong { color: var(--kk-primary); }

/* ============ 主导航 ============ */
.kk-nav {
  background: #fff;
  border-bottom: 3px solid var(--kk-primary);
  box-shadow: var(--kk-shadow-sm);
}
.kk-nav-list {
  display: flex; align-items: center; gap: 0;
  height: var(--kk-nav-h);
}
.kk-nav-list > li > a {
  display: flex; align-items: center;
  height: 100%;
  padding: 0 24px;
  font-size: 15px; font-weight: 600;
  color: var(--kk-text);
  position: relative;
}
.kk-nav-list > li > a:hover { color: var(--kk-primary); }
.kk-nav-list > li > a.active {
  color: var(--kk-primary);
  background: var(--kk-primary-light);
}
.kk-nav-list > li > a.active::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -3px; height: 3px;
  background: var(--kk-accent);
}
.kk-nav-spacer { flex: 1; }
.kk-nav-extra { display: flex; align-items: center; gap: 18px; font-size: 13px; color: var(--kk-text-2); }

/* ============ Buttons ============ */
.kk-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 6px;
  height: 36px;
  padding: 0 18px;
  border-radius: 6px;
  font-size: 14px; font-weight: 600;
  transition: all .2s;
  border: 1px solid transparent;
}
.kk-btn-primary { background: var(--kk-primary); color: #fff; }
.kk-btn-primary:hover { background: var(--kk-primary-dark); color: #fff; }
.kk-btn-accent  { background: var(--kk-accent); color: #fff; }
.kk-btn-accent:hover  { background: var(--kk-accent-dark); color: #fff; }
.kk-btn-ghost   { background: transparent; color: var(--kk-primary); border-color: var(--kk-primary); }
.kk-btn-ghost:hover { background: var(--kk-primary-light); }
.kk-btn-soft    { background: var(--kk-primary-light); color: var(--kk-primary); }
.kk-btn-soft:hover { background: #dbe7ff; }
.kk-btn-danger  { background: #ef4444; color: #fff; }
.kk-btn-danger:hover { background: #dc2626; color: #fff; }
.kk-btn-warning { background: #f59e0b; color: #fff; }
.kk-btn-warning:hover { background: #d97706; color: #fff; }
.kk-btn-success { background: #10b981; color: #fff; }
.kk-btn-success:hover { background: #059669; color: #fff; }
.kk-btn-sm { height: 30px; padding: 0 12px; font-size: 13px; }
.kk-btn-lg { height: 44px; padding: 0 28px; font-size: 16px; }
.kk-btn-block { width: 100%; }

/* ============ Cards ============ */
.kk-card {
  background: var(--kk-bg-elev);
  border-radius: var(--kk-radius);
  border: 1px solid var(--kk-border);
  overflow: hidden;
  transition: all .2s;
}
.kk-card:hover { box-shadow: var(--kk-shadow); border-color: var(--kk-border-strong); }
.kk-card-body { padding: 16px; }
.kk-card-title {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid var(--kk-border);
  font-size: 16px; font-weight: 700;
}
.kk-card-title .kk-more {
  font-size: 12px; font-weight: 400; color: var(--kk-text-3);
}
.kk-card-title .kk-more:hover { color: var(--kk-primary); }

/* 区块 */
.kk-section { padding: 32px 0; }
.kk-section-head {
  display: flex; align-items: flex-end; justify-content: space-between;
  margin-bottom: 18px;
}
.kk-section-head h2 {
  font-size: 24px; font-weight: 700;
  position: relative; padding-left: 14px;
}
.kk-section-head h2::before {
  content: ''; position: absolute; left: 0; top: 6px; bottom: 6px;
  width: 5px; border-radius: 3px; background: var(--kk-primary);
}
.kk-section-head .kk-subtitle {
  font-size: 13px; color: var(--kk-text-2); margin-left: 10px;
}
.kk-section-head .kk-more { font-size: 13px; color: var(--kk-text-2); }
.kk-section-head .kk-more:hover { color: var(--kk-primary); }

/* ============ Banner 区 ============ */
.kk-hero {
  background: var(--kk-bg-elev);
  padding: 18px 0 0;
}
.kk-hero-row {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 16px;
}
.kk-hero-banner {
  position: relative;
  border-radius: var(--kk-radius);
  overflow: hidden;
  aspect-ratio: 16 / 5;
  background: linear-gradient(135deg, #0c5fff, #22d3ee);
}
.kk-hero-banner img { width: 100%; height: 100%; object-fit: cover; }

/* ============ 战略合作品牌 ============ */
.kk-strategic {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}
.kk-strategic .kk-strategic-item {
  aspect-ratio: 1;
  border-radius: var(--kk-radius);
  display: flex; flex-direction: column;
  justify-content: center; align-items: center;
  color: #fff;
  text-align: center;
  font-weight: 600;
  cursor: pointer;
  transition: transform .2s;
  position: relative;
  overflow: hidden;
}
.kk-strategic .kk-strategic-item:hover { transform: translateY(-4px); }
.kk-strategic .kk-strategic-item .b1 { font-size: 18px; }
.kk-strategic .kk-strategic-item .b2 { font-size: 12px; opacity: .85; margin-top: 4px; padding: 0 8px; }

/* ============ 置顶标记 ============ */
.kk-pinned { box-shadow: 0 0 0 2px #f59e0b inset, 0 4px 12px rgba(245,158,11,.15); position: relative; }
.kk-pinned:hover { box-shadow: 0 0 0 2px #f59e0b inset, 0 6px 16px rgba(245,158,11,.25); }
.kk-pin-flag {
  position: absolute; top: 8px; left: 8px;
  background: #f59e0b; color: #fff;
  font-size: 11px; padding: 2px 7px; border-radius: 10px;
  z-index: 2; box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.kk-interview-card.kk-pinned .kk-pin-flag,
.kk-product-card.kk-pinned .kk-pin-flag { z-index: 3; }
.kk-product-card.kk-pinned .kk-product-img { position: relative; }
@media (max-width: 900px) { .kk-strategic { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .kk-strategic { grid-template-columns: repeat(2, 1fr); } }

/* ============ 资讯 ============ */
.kk-news-list { display: flex; flex-direction: column; }
.kk-news-item {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px dashed var(--kk-border);
  gap: 10px;
}
.kk-news-item:last-child { border-bottom: 0; }
.kk-news-item a {
  flex: 1;
  font-size: 14px;
  color: var(--kk-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kk-news-item a:hover { color: var(--kk-primary); }
.kk-news-item .kk-news-tag {
  background: var(--kk-primary-light); color: var(--kk-primary);
  font-size: 12px; padding: 1px 8px; border-radius: 4px;
  font-weight: 500;
  flex-shrink: 0;
}
.kk-news-item .kk-news-date { font-size: 12px; color: var(--kk-text-3); flex-shrink: 0; }
.kk-news-item .kk-hot {
  font-size: 12px; color: var(--kk-danger);
  font-weight: 600;
  margin-left: 4px;
}

/* ============ 产品卡片 ============ */
.kk-product-card {
  background: #fff;
  border: 1px solid var(--kk-border);
  border-radius: var(--kk-radius);
  overflow: hidden;
  transition: all .2s;
  display: flex; flex-direction: column;
}
.kk-product-card:hover {
  border-color: var(--kk-primary);
  box-shadow: 0 8px 20px rgba(12, 95, 255, .12);
  transform: translateY(-2px);
}
.kk-product-img {
  aspect-ratio: 1;
  background: var(--kk-bg-soft);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.kk-product-img img { width: 100%; height: 100%; object-fit: contain; }
.kk-product-info { padding: 12px 14px; flex: 1; display: flex; flex-direction: column; }
.kk-product-name {
  font-size: 14px; font-weight: 600; color: var(--kk-text);
  margin-bottom: 4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 38px;
}
.kk-product-meta { font-size: 12px; color: var(--kk-text-3); margin-bottom: 8px; }
.kk-product-price {
  display: flex; align-items: baseline; gap: 6px;
  margin-top: auto;
}
.kk-product-price .kk-price {
  color: var(--kk-danger); font-weight: 700; font-size: 18px;
}
.kk-product-price .kk-unit { font-size: 12px; color: var(--kk-text-3); }

/* ============ 严选专家 ============ */
.kk-expert-card {
  display: flex; flex-direction: column; align-items: center;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--kk-border);
  border-radius: var(--kk-radius);
  transition: all .2s;
  text-align: center;
}
.kk-expert-card:hover {
  border-color: var(--kk-primary);
  box-shadow: 0 8px 20px rgba(12, 95, 255, .12);
  transform: translateY(-2px);
}
.kk-expert-avatar {
  width: 72px; height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0c5fff, #22d3ee);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 28px; font-weight: 700;
  margin-bottom: 10px;
}
.kk-expert-name { font-size: 16px; font-weight: 700; }
.kk-expert-title { font-size: 12px; color: var(--kk-text-3); margin-bottom: 8px; }
.kk-expert-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; margin-bottom: 8px; }
.kk-expert-tag {
  background: var(--kk-primary-light); color: var(--kk-primary);
  font-size: 11px; padding: 2px 8px; border-radius: 10px;
}
.kk-expert-intro { font-size: 12px; color: var(--kk-text-2); line-height: 1.5; }

/* ============ 急需品牌（代理商入驻公示） ============ */
.kk-agent-card {
  background: var(--kk-bg-elev);
  border: 1px solid var(--kk-border);
  border-radius: var(--kk-radius);
  padding: 18px;
  display: flex; flex-direction: column; gap: 8px;
  transition: all .2s ease;
}
.kk-agent-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--kk-shadow-lg);
  border-color: #fb923c;
}
.kk-agent-head { display: flex; align-items: center; gap: 8px; }
.kk-agent-badge {
  flex-shrink: 0;
  background: linear-gradient(135deg, #f97316, #fb923c);
  color: #fff; font-size: 12px; font-weight: 700;
  width: 22px; height: 22px; border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
}
.kk-agent-company {
  font-size: 15px; font-weight: 700; color: var(--kk-text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.kk-agent-row {
  display: flex; align-items: baseline; gap: 8px;
  font-size: 13px; color: var(--kk-text-2); line-height: 1.6;
}
.kk-agent-label {
  flex-shrink: 0;
  font-size: 12px; color: var(--kk-text-3);
  background: var(--kk-bg); border-radius: 4px; padding: 1px 6px;
}
.kk-agent-interests { display: flex; flex-wrap: wrap; gap: 4px; }
.kk-agent-interest {
  font-size: 12px; color: #c2410c;
  background: #fff7ed; border: 1px solid #fed7aa;
  border-radius: 4px; padding: 1px 6px;
}
.kk-agent-intro {
  font-size: 12px; color: var(--kk-text-2); line-height: 1.6;
  border-top: 1px dashed var(--kk-border); padding-top: 8px;
}
.kk-agent-meta {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 12px; color: var(--kk-text-3);
}
.kk-agent-status {
  background: #fef3c7; color: #b45309;
  padding: 2px 6px; border-radius: 4px;
}
.kk-agent-status-ok {
  background: #dcfce7; color: #15803d;
}

/* ============ 急需品牌申请入驻（agents.html） ============ */
.kk-stat-row {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
}
.kk-stat-card {
  background: var(--kk-bg-elev); border: 1px solid var(--kk-border);
  border-radius: var(--kk-radius); padding: 18px; text-align: center;
}
.kk-stat-num {
  font-size: 28px; font-weight: 700; color: #c2410c;
  font-family: 'Helvetica Neue', Arial, sans-serif;
}
.kk-stat-label { font-size: 13px; color: var(--kk-text-2); margin-top: 4px; }
@media (max-width: 700px) { .kk-stat-row { grid-template-columns: repeat(2, 1fr); } }

.kk-form { display: flex; flex-direction: column; gap: 16px; }
.kk-form-row { display: flex; flex-direction: column; gap: 6px; }
.kk-form-label {
  font-size: 13px; color: var(--kk-text-2); font-weight: 600;
}
.kk-form-label.required::before {
  content: '*'; color: #ef4444; margin-right: 2px;
}
.kk-form-input {
  border: 1px solid var(--kk-border); border-radius: 6px;
  padding: 10px 12px; font-size: 14px; outline: none;
  background: var(--kk-bg-elev); color: var(--kk-text);
  transition: border .15s;
}
.kk-form-input:focus { border-color: var(--kk-primary); }
.kk-form-checkbox {
  display: flex; flex-wrap: wrap; gap: 8px 14px;
  padding: 8px 0;
}
.kk-form-checkbox label {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 13px; color: var(--kk-text-2); cursor: pointer;
  padding: 4px 10px; border-radius: 4px; background: var(--kk-bg);
}
.kk-form-checkbox label:hover { background: #eff6ff; color: var(--kk-primary); }

.kk-process {
  display: flex; align-items: stretch; gap: 8px;
  flex-wrap: wrap;
  background: var(--kk-bg-elev); border: 1px solid var(--kk-border);
  border-radius: var(--kk-radius); padding: 24px;
}
.kk-process-step {
  flex: 1; min-width: 180px; text-align: center;
  background: #fff7ed; border-radius: var(--kk-radius);
  padding: 18px 12px; display: flex; flex-direction: column; align-items: center; gap: 6px;
}
.kk-process-num {
  width: 36px; height: 36px; border-radius: 50%;
  background: linear-gradient(135deg, #f97316, #fb923c); color: #fff;
  font-weight: 700; font-size: 16px;
  display: flex; align-items: center; justify-content: center;
}
.kk-process-step b { font-size: 15px; }
.kk-process-step p { font-size: 12px; color: var(--kk-text-2); margin: 0; }
.kk-process-arrow {
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; color: #fb923c; padding: 0 4px;
}
@media (max-width: 700px) { .kk-process-arrow { display: none; } }

.kk-filter-bar {
  background: var(--kk-bg-elev); border: 1px solid var(--kk-border);
  border-radius: var(--kk-radius); padding: 14px 16px;
  margin-bottom: 16px;
  display: flex; flex-wrap: wrap; gap: 16px;
}
.kk-filter-group { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.kk-filter-label { font-size: 13px; color: var(--kk-text-2); }
.kk-filter-chip {
  font-size: 13px; padding: 4px 12px; border-radius: 14px;
  background: var(--kk-bg); color: var(--kk-text-2);
  text-decoration: none; transition: all .15s;
}
.kk-filter-chip:hover { background: #fff7ed; color: #c2410c; }
.kk-filter-chip.active { background: #fed7aa; color: #7c2d12; font-weight: 600; }

.kk-faq details {
  background: var(--kk-bg-elev); border: 1px solid var(--kk-border);
  border-radius: var(--kk-radius); padding: 14px 18px; margin-bottom: 10px;
}
.kk-faq summary {
  cursor: pointer; font-size: 14px; color: var(--kk-text);
  list-style: none; padding-right: 16px; position: relative;
}
.kk-faq summary::-webkit-details-marker { display: none; }
.kk-faq summary::after {
  content: '+'; position: absolute; right: 0; top: 50%;
  transform: translateY(-50%); font-size: 20px; color: var(--kk-text-3);
  transition: transform .2s;
}
.kk-faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.kk-faq details p { margin: 10px 0 0; font-size: 13px; color: var(--kk-text-2); line-height: 1.7; }

/* ============ agents.html 右上角 CTA 按钮 ============ */
.kk-hero-cta {
  position: absolute;
  top: 16px; right: 16px;
  box-shadow: 0 6px 20px rgba(194, 65, 12, .25);
}
@media (max-width: 700px) {
  .kk-hero-cta { position: static; align-self: flex-end; }
}

/* ============ 代理商入驻页布局（agent-register.html） ============ */
.kk-agent-register-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 24px;
}
.kk-agent-register-side { display: flex; flex-direction: column; }
@media (max-width: 900px) {
  .kk-agent-register-layout { grid-template-columns: 1fr; }
}

/* ============ 代理商卡：到期标识 / 关闭按钮 ============ */
.kk-agent-exp {
  margin-left: auto; flex-shrink: 0;
  font-size: 11px; color: var(--kk-text-3);
  background: var(--kk-bg); padding: 2px 6px; border-radius: 4px;
}
.kk-agent-close-btn {
  border: 1px solid var(--kk-border); color: var(--kk-text-2);
  background: transparent;
  transition: all .15s;
}
.kk-agent-close-btn:hover { background: #fee2e2; color: #b91c1c; border-color: #fca5a5; }

/* ============ Logo 上传 ============ */
.kk-logo-uploader { width: 100%; }
.kk-logo-uploader input[type=file] { display: none; }
.kk-logo-uploader-box {
  display: flex; align-items: center; justify-content: center;
  width: 100%; min-height: 160px;
  border: 2px dashed var(--kk-border); border-radius: var(--kk-radius);
  background: var(--kk-bg); cursor: pointer;
  transition: all .15s;
}
.kk-logo-uploader-box:hover { border-color: var(--kk-primary); background: #eff6ff; }
.kk-logo-uploader-placeholder {
  text-align: center; color: var(--kk-text-2);
  display: flex; flex-direction: column; align-items: center; gap: 4px;
}

/* ============ 品牌 NEW 标签 ============ */
.kk-brand-new {
  display: inline-block; margin-left: 6px;
  background: linear-gradient(135deg, #ef4444, #f97316);
  color: #fff; font-size: 10px; font-weight: 700;
  padding: 1px 6px; border-radius: 8px; vertical-align: middle;
}

/* ============ 访谈 ============ */
.kk-interview-card {
  background: #fff;
  border-radius: var(--kk-radius);
  overflow: hidden;
  border: 1px solid var(--kk-border);
  transition: all .2s;
  display: flex; flex-direction: column;
}
.kk-interview-card:hover { box-shadow: var(--kk-shadow); transform: translateY(-2px); }
.kk-interview-cover { aspect-ratio: 16/9; overflow: hidden; }
.kk-interview-cover img { width: 100%; height: 100%; object-fit: cover; }
.kk-interview-body { padding: 14px 16px; flex: 1; display: flex; flex-direction: column; }
.kk-interview-title { font-size: 15px; font-weight: 700; line-height: 1.4; margin-bottom: 6px; }
.kk-interview-meta { font-size: 12px; color: var(--kk-text-3); margin-bottom: 6px; }
.kk-interview-summary { font-size: 13px; color: var(--kk-text-2); flex: 1; line-height: 1.5; }

/* ============ 品牌墙 ============ */
.kk-brand-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}
/* ============ 品牌馆 · 固定尺寸卡片（只露 Logo + 品牌名 + 一个最核心产品） ============ */
.kk-brand-card {
  background: #fff;
  border: 1px solid var(--kk-border);
  border-radius: var(--kk-radius);
  padding: 22px 16px 18px;
  text-align: center;
  transition: all .2s;
  cursor: pointer;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  height: 196px;
  box-sizing: border-box;
  overflow: hidden;
}
.kk-brand-card::after {
  content: '';
  position: absolute; left: 0; right: 0; top: 0; height: 3px;
  background: linear-gradient(90deg, var(--kk-primary), #22d3ee);
  opacity: 0; transition: opacity .2s;
}
.kk-brand-card:hover {
  border-color: var(--kk-primary);
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(12, 95, 255, .12);
}
.kk-brand-card:hover::after { opacity: 1; }
.kk-brand-card-pinned { border: 2px solid #f59e0b; }
.kk-brand-pin {
  position: absolute; top: 0; right: 0;
  background: #f59e0b; color: #fff;
  font-size: 11px; font-weight: 600;
  padding: 2px 9px; border-radius: 0 var(--kk-radius) 0 10px;
  z-index: 1;
}
.kk-brand-logo {
  width: 72px; height: 72px;
  flex: 0 0 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0c5fff, #22d3ee);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 24px; font-weight: 700;
  margin-bottom: 14px;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(12, 95, 255, .18);
}
.kk-brand-logo .kk-logo-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kk-brand-name {
  width: 100%;
  height: 22px; line-height: 22px;
  font-size: 15px; font-weight: 700;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  margin-bottom: 10px;
}
.kk-brand-core {
  width: 100%;
  height: 26px; line-height: 24px;
  box-sizing: border-box;
  font-size: 12px;
  color: var(--kk-primary);
  background: #f1f6ff;
  border: 1px solid #dbeafe;
  border-radius: 6px;
  padding: 0 8px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.kk-brand-core-tag {
  display: inline-block;
  font-size: 10px; color: #fff;
  background: var(--kk-primary);
  border-radius: 3px;
  padding: 0 4px; margin-right: 5px;
  vertical-align: 1px;
}
.kk-brand-name .kk-brand-new {
  background: #ef4444; color: #fff;
  font-size: 10px; padding: 1px 5px; border-radius: 3px;
  margin-left: 5px; vertical-align: 1px;
}
.kk-brand-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 1100px) { .kk-brand-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) { .kk-brand-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .kk-brand-grid { grid-template-columns: repeat(2, 1fr); } }

/* 旧卡片元素（保留兼容其它页面引用，品牌馆已不再使用） */
.kk-brand-desc { font-size: 12px; color: var(--kk-text-2); min-height: 32px; }
.kk-brand-tag {
  display: inline-block;
  background: var(--kk-accent); color: #fff;
  font-size: 11px; padding: 2px 8px; border-radius: 10px;
  margin-top: 8px;
}
.kk-brand-cta {
  margin-top: 8px;
  font-size: 12px;
  color: var(--kk-text-3);
  text-align: right;
  opacity: 0;
  transition: opacity .2s;
}
.kk-brand-card:hover .kk-brand-cta { opacity: 1; color: var(--kk-primary); }

/* ============ 企业库 ============ */
.kk-company-list { display: flex; flex-direction: column; gap: 12px; }
.kk-company-card {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 16px; padding: 18px;
  background: #fff; border: 1px solid var(--kk-border);
  border-radius: var(--kk-radius);
  transition: all .2s;
}
.kk-company-card:hover { border-color: var(--kk-primary); box-shadow: var(--kk-shadow); }
.kk-company-logo {
  width: 80px; height: 80px; border-radius: 12px;
  background: linear-gradient(135deg, #0c5fff, #22d3ee);
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-size: 28px; font-weight: 700;
}
.kk-company-info { display: flex; flex-direction: column; gap: 4px; }
.kk-company-name {
  font-size: 16px; font-weight: 700;
  display: flex; align-items: center; gap: 8px;
}
.kk-company-verified {
  background: var(--kk-success); color: #fff;
  font-size: 11px; padding: 1px 6px; border-radius: 3px;
  font-weight: 500;
}
.kk-company-meta { font-size: 13px; color: var(--kk-text-2); display: flex; gap: 14px; flex-wrap: wrap; }
.kk-company-summary { font-size: 13px; color: var(--kk-text-2); line-height: 1.5; }
.kk-company-products { font-size: 12px; color: var(--kk-text-3); }
.kk-company-products b { color: var(--kk-text-2); }
.kk-company-actions { display: flex; flex-direction: column; gap: 8px; align-self: center; }

/* ============ 分类筛选 ============ */
.kk-filter {
  background: #fff; padding: 14px 16px;
  border: 1px solid var(--kk-border);
  border-radius: var(--kk-radius);
  margin-bottom: 16px;
}
.kk-filter-row { display: flex; align-items: flex-start; gap: 14px; padding: 8px 0; border-bottom: 1px dashed var(--kk-border); }
.kk-filter-row:last-child { border-bottom: 0; }
.kk-filter-label { color: var(--kk-text-2); font-size: 13px; min-width: 64px; padding-top: 2px; }
.kk-filter-options { display: flex; flex-wrap: wrap; gap: 6px; flex: 1; }
.kk-filter-options a {
  padding: 4px 12px; border-radius: 4px; font-size: 13px;
  color: var(--kk-text-2);
}
.kk-filter-options a:hover { background: var(--kk-primary-light); color: var(--kk-primary); }
.kk-filter-options a.active { background: var(--kk-primary); color: #fff; }

/* ============ Footer ============ */
.kk-footer {
  background: #0f172a;
  color: rgba(255,255,255,.7);
  padding: 40px 0 20px;
  margin-top: 40px;
}
.kk-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.kk-footer h4 { color: #fff; font-size: 14px; margin-bottom: 14px; }
.kk-footer ul li { margin-bottom: 8px; font-size: 13px; }
.kk-footer ul li a:hover { color: #fbbf24; }
.kk-footer-qr {
  display: flex; gap: 18px; align-items: center; margin-top: 12px;
}
.kk-footer-qr img { width: 90px; height: 90px; border-radius: 6px; }
.kk-footer-qr-item { text-align: center; }
.kk-footer-qr-item p { margin: 4px 0 0; font-size: 12px; }
.kk-footer-copy {
  text-align: center;
  padding-top: 16px;
  font-size: 12px;
  color: rgba(255,255,255,.5);
}
@media (max-width: 900px) { .kk-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .kk-footer-grid { grid-template-columns: 1fr; } }

/* ============ 微信二维码悬浮 ============ */
.kk-float-qr {
  position: fixed; right: 16px; bottom: 100px; z-index: 50;
  display: flex; flex-direction: column; gap: 10px;
}
.kk-float-qr a {
  width: 60px; height: 76px;
  background: #fff;
  border: 1px solid var(--kk-border);
  border-radius: 8px;
  display: flex; flex-direction: column; align-items: center;
  padding: 6px;
  box-shadow: var(--kk-shadow);
  transition: all .2s;
}
.kk-float-qr a:hover { transform: translateY(-2px); box-shadow: var(--kk-shadow-lg); }
.kk-float-qr img { width: 48px; height: 48px; border-radius: 4px; }
.kk-float-qr span { font-size: 11px; color: var(--kk-text-2); margin-top: 2px; }

/* 返回顶部：默认隐藏，滚动 > 400px 显示 */
.kk-back-top {
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .2s, visibility .2s, transform .2s;
  pointer-events: none;
}
.kk-back-top.kk-back-top-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.kk-back-top:hover { background: var(--kk-primary) !important; color: #fff !important; }
.kk-back-top:hover span { color: #fff !important; }

/* ============ 表单 ============ */
.kk-input {
  width: 100%;
  height: 42px;
  padding: 0 14px;
  border: 1px solid var(--kk-border-strong);
  border-radius: var(--kk-radius-sm);
  background: #fff;
  transition: border-color .2s;
}
.kk-input:focus { outline: 0; border-color: var(--kk-primary); box-shadow: 0 0 0 3px var(--kk-primary-light); }
.kk-form-row { margin-bottom: 16px; }
.kk-form-row label { display: block; font-size: 13px; color: var(--kk-text-2); margin-bottom: 6px; }

/* ============ 提示 ============ */
.kk-alert {
  padding: 12px 16px;
  border-radius: var(--kk-radius-sm);
  margin-bottom: 16px;
  font-size: 13px;
}
.kk-alert-info    { background: #e0f2fe; color: #075985; border-left: 3px solid #0284c7; }
.kk-alert-success { background: #d1fae5; color: #065f46; border-left: 3px solid #10b981; }
.kk-alert-warning { background: #fef3c7; color: #92400e; border-left: 3px solid #f59e0b; }
.kk-alert-danger  { background: #fee2e2; color: #991b1b; border-left: 3px solid #ef4444; }

/* ============ Tag ============ */
.kk-tag {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 12px;
  font-size: 12px;
  background: var(--kk-bg-soft);
  color: var(--kk-text-2);
}
.kk-tag-primary { background: var(--kk-primary-light); color: var(--kk-primary); }
.kk-tag-accent  { background: #fef3c7; color: #92400e; }
.kk-tag-success { background: #d1fae5; color: #065f46; }
.kk-tag-danger  { background: #fee2e2; color: #991b1b; }

/* ============ 面包屑 ============ */
.kk-breadcrumb {
  padding: 12px 0;
  font-size: 13px;
  color: var(--kk-text-3);
}
.kk-breadcrumb a:hover { color: var(--kk-primary); }
.kk-breadcrumb .kk-sep { margin: 0 6px; color: var(--kk-text-3); }
.kk-breadcrumb .kk-current { color: var(--kk-text); font-weight: 500; }

/* ============ 侧边栏通用 ============ */
.kk-side-qr {
  background: linear-gradient(135deg, #fff7ed, #fef3c7);
  border: 1px solid var(--kk-accent);
  border-radius: var(--kk-radius);
  padding: 14px;
  text-align: center;
  margin-top: 12px;
}
.kk-side-qr img { width: 100%; max-width: 180px; margin: 0 auto 8px; border-radius: 6px; }
.kk-side-qr h5 { margin: 0 0 4px; color: var(--kk-accent-dark); font-size: 14px; }
.kk-side-qr p { margin: 0; font-size: 12px; color: var(--kk-text-2); }

/* ============ 产品详情布局 ============ */
.kk-product-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 24px;
}
.kk-product-main { background: #fff; border: 1px solid var(--kk-border); border-radius: var(--kk-radius); padding: 24px; }
.kk-product-gallery { display: flex; gap: 16px; margin-bottom: 20px; }
.kk-product-thumb-list { display: flex; flex-direction: column; gap: 8px; }
.kk-product-thumb {
  width: 64px; height: 64px;
  border: 2px solid var(--kk-border);
  border-radius: 6px; cursor: pointer;
  background: var(--kk-bg-soft);
  display: flex; align-items: center; justify-content: center;
}
.kk-product-thumb.active { border-color: var(--kk-primary); }
.kk-product-thumb img { width: 100%; height: 100%; object-fit: contain; }
.kk-product-main-img {
  flex: 1; aspect-ratio: 1; max-height: 420px;
  background: var(--kk-bg-soft);
  border-radius: var(--kk-radius);
  display: flex; align-items: center; justify-content: center;
}
.kk-product-main-img img { width: 100%; height: 100%; object-fit: contain; }
.kk-product-head { padding-top: 8px; border-top: 1px solid var(--kk-border); }
.kk-product-head h1 { font-size: 24px; margin-bottom: 12px; }
.kk-product-price-row {
  display: flex; align-items: baseline; gap: 16px;
  padding: 16px 0;
  margin: 12px 0;
  border-top: 1px dashed var(--kk-border);
  border-bottom: 1px dashed var(--kk-border);
  background: linear-gradient(to right, #fff7ed, transparent);
  padding-left: 12px;
  border-radius: 6px;
}
.kk-product-price-row .kk-price-big {
  color: var(--kk-danger); font-size: 32px; font-weight: 700;
}
.kk-product-spec { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 16px; padding: 12px 0; }
.kk-product-spec dt { font-size: 13px; color: var(--kk-text-3); }
.kk-product-spec dd { font-size: 13px; color: var(--kk-text); margin: 0; }
.kk-product-actions { display: flex; gap: 12px; padding: 16px 0; }
.kk-product-section { padding: 18px 0; border-top: 1px solid var(--kk-border); }
.kk-product-section h3 { font-size: 16px; margin-bottom: 12px; }
.kk-benchmark-table { width: 100%; border-collapse: collapse; }
.kk-benchmark-table th, .kk-benchmark-table td {
  padding: 10px; text-align: left;
  border-bottom: 1px solid var(--kk-border);
  font-size: 13px;
}
.kk-benchmark-table th { background: var(--kk-bg-soft); font-weight: 600; color: var(--kk-text-2); }

@media (max-width: 900px) {
  .kk-product-layout { grid-template-columns: 1fr; }
  .kk-hero-row { grid-template-columns: 1fr; }
  .kk-product-spec { grid-template-columns: 1fr; }
}

/* ============ 会员详情布局 ============ */
.kk-member-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 24px;
}
.kk-member-side {
  background: #fff; border: 1px solid var(--kk-border); border-radius: var(--kk-radius);
  padding: 24px; text-align: center;
}
.kk-member-avatar {
  width: 120px; height: 120px; border-radius: 16px;
  background: linear-gradient(135deg, #0c5fff, #22d3ee);
  color: #fff; display: inline-flex; align-items: center; justify-content: center;
  font-size: 48px; font-weight: 800; margin-bottom: 12px;
}
.kk-member-name { font-size: 18px; font-weight: 700; margin-bottom: 4px; }
.kk-member-tag { display: inline-block; background: var(--kk-success); color: #fff; font-size: 12px; padding: 2px 10px; border-radius: 10px; margin-bottom: 12px; }
.kk-member-side dl { text-align: left; padding: 12px 0; border-top: 1px solid var(--kk-border); }
.kk-member-side dl div { display: flex; justify-content: space-between; padding: 6px 0; font-size: 13px; }
.kk-member-side dt { color: var(--kk-text-3); }
.kk-member-side dd { margin: 0; color: var(--kk-text); }
.kk-member-main { background: #fff; border: 1px solid var(--kk-border); border-radius: var(--kk-radius); padding: 24px; }
.kk-member-tabs {
  display: flex; gap: 0;
  border-bottom: 2px solid var(--kk-border);
  margin-bottom: 16px;
}
.kk-member-tabs button {
  padding: 10px 20px;
  font-size: 14px; font-weight: 600;
  color: var(--kk-text-2);
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
}
.kk-member-tabs button.active {
  color: var(--kk-primary);
  border-bottom-color: var(--kk-primary);
}
.kk-member-contact {
  background: linear-gradient(135deg, #0c5fff, #22d3ee);
  color: #fff;
  border-radius: var(--kk-radius);
  padding: 18px;
  margin-top: 16px;
  display: flex; align-items: center; gap: 14px;
}
.kk-member-contact h4 { color: #fff; margin: 0 0 4px; }
.kk-member-contact p { margin: 0; font-size: 12px; opacity: .9; }
@media (max-width: 900px) { .kk-member-layout { grid-template-columns: 1fr; } }

/* ============ 分页 ============ */
.kk-pagination {
  display: flex; justify-content: center; gap: 6px;
  padding: 24px 0;
}
.kk-pagination a {
  min-width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--kk-border);
  border-radius: 6px;
  padding: 0 12px; font-size: 13px;
  color: var(--kk-text-2);
}
.kk-pagination a:hover { border-color: var(--kk-primary); color: var(--kk-primary); }
.kk-pagination a.active { background: var(--kk-primary); color: #fff; border-color: var(--kk-primary); }
.kk-pagination .kk-disabled { opacity: .4; pointer-events: none; }

/* ============ 工具 ============ */
.kk-text-muted { color: var(--kk-text-3); }
.kk-text-2    { color: var(--kk-text-2); }
.kk-text-danger { color: var(--kk-danger); }
.kk-text-success { color: var(--kk-success); }
.kk-mt-8 { margin-top: 8px; } .kk-mt-16 { margin-top: 16px; } .kk-mt-24 { margin-top: 24px; }
.kk-mb-8 { margin-bottom: 8px; } .kk-mb-16 { margin-bottom: 16px; } .kk-mb-24 { margin-bottom: 24px; }
.kk-flex { display: flex; }
.kk-flex-between { display: flex; justify-content: space-between; align-items: center; }
.kk-flex-center { display: flex; justify-content: center; align-items: center; }
.kk-text-center { text-align: center; }
.kk-text-right { text-align: right; }
.kk-w-full { width: 100%; }
/* ============ 首页 · 热门招商（四类置顶厂家栏） ============ */
.kk-inv-item {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 8px; border-radius: 8px;
  text-decoration: none; transition: background .15s;
}
.kk-inv-item:hover { background: #f1f5f9; }
.kk-inv-logo {
  width: 36px; height: 36px; border-radius: 8px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700;
}
.kk-inv-body { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.kk-inv-name {
  font-size: 13px; font-weight: 600; color: var(--kk-text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.kk-inv-meta { font-size: 11px; color: var(--kk-text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kk-inv-empty { padding: 18px 8px; text-align: center; font-size: 12px; color: var(--kk-text-3); }
/* ==================================================================
 * v2.0 科技感设计增强层
 * 目标：更专业的科技质感 + 更流畅的交互，整体像正规有实力的信息平台
 * 说明：本层只做「视觉 / 动效 / 尺寸」增强，不改布局结构，保证兼容性
 * ================================================================== */

:root {
  /* 更精致的层级阴影 */
  --kk-shadow-sm:  0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .04);
  --kk-shadow:     0 2px 8px rgba(15, 23, 42, .05), 0 8px 24px rgba(15, 23, 42, .06);
  --kk-shadow-lg:  0 8px 24px rgba(15, 23, 42, .08), 0 24px 56px rgba(15, 23, 42, .10);
  --kk-shadow-glow: 0 8px 28px rgba(12, 95, 255, .18);

  /* 科技感线性渐变 */
  --kk-grad-primary: linear-gradient(135deg, #0c5fff 0%, #2f7bff 45%, #22d3ee 100%);
  --kk-grad-dark:    linear-gradient(135deg, #041e4d 0%, #083a8c 50%, #0c5fff 100%);

  --kk-radius:    12px;
  --kk-radius-lg: 16px;

  /* 统一缓动曲线 */
  --kk-ease: cubic-bezier(.16, 1, .3, 1);
  --kk-ease-out: cubic-bezier(.22, .61, .36, 1);
}

/* ---------- 全局细节 ---------- */
html { scroll-behavior: smooth; }
body {
  background:
    radial-gradient(1200px 600px at 15% -8%, rgba(12,95,255,.055), transparent 60%),
    radial-gradient(900px 500px at 92% 4%, rgba(34,211,238,.05), transparent 55%),
    var(--kk-bg);
  background-attachment: fixed;
}
::selection { background: rgba(12,95,255,.16); color: var(--kk-text); }

/* 滚动条 */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #c7d2e4, #aab8d0);
  border-radius: 10px; border: 2px solid transparent; background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #9fb1cc, #8496b5); background-clip: content-box; }

/* 键盘可达性 */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid rgba(12,95,255,.55); outline-offset: 2px;
}

/* ---------- 顶部信息条 ---------- */
.kk-topbar {
  background: linear-gradient(90deg, #062a63 0%, #0b47a8 50%, #0c5fff 100%);
  position: relative; overflow: hidden;
}
.kk-topbar::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(34,211,238,.22), transparent);
  transform: translateX(-100%);
  animation: kkSheen 7s linear infinite;
  pointer-events: none;
}
@keyframes kkSheen { to { transform: translateX(100%); } }
.kk-topbar a { position: relative; z-index: 1; transition: color .2s var(--kk-ease); }

/* ---------- 头部 ---------- */
.kk-header {
  background: rgba(255, 255, 255, .82);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid rgba(226, 232, 240, .9);
  position: relative;
}
.kk-header::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: -1px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(12,95,255,.45), rgba(34,211,238,.45), transparent);
}

/* 主搜索框 */
.kk-search-box {
  border-radius: 12px;
  border: 1.5px solid rgba(12,95,255,.16);
  box-shadow: 0 2px 10px rgba(12,95,255,.06);
  transition: box-shadow .25s var(--kk-ease), border-color .25s var(--kk-ease);
  overflow: visible;
}
.kk-search-box:focus-within {
  border-color: rgba(12,95,255,.55);
  box-shadow: 0 0 0 4px rgba(12,95,255,.10), 0 6px 20px rgba(12,95,255,.14);
}
.kk-search-btn {
  background: var(--kk-grad-primary);
  background-size: 160% 160%;
  transition: background-position .5s var(--kk-ease), box-shadow .25s var(--kk-ease);
}
.kk-search-btn:hover { background-position: 100% 0; box-shadow: 0 8px 20px rgba(12,95,255,.28); }
.kk-search-hot a { padding: 2px 8px; border-radius: 999px; transition: all .2s var(--kk-ease); }
.kk-search-hot a:hover { background: rgba(12,95,255,.08); }

/* ---------- 主导航 ---------- */
.kk-nav {
  background: rgba(255,255,255,.72);
  backdrop-filter: saturate(160%) blur(12px);
  -webkit-backdrop-filter: saturate(160%) blur(12px);
  border-bottom: 1px solid rgba(226,232,240,.85);
}
.kk-nav-list > li > a { position: relative; font-weight: 600; transition: color .2s var(--kk-ease); }
.kk-nav-list > li > a::before {
  content: "";
  position: absolute; left: 50%; right: 50%; bottom: 0; height: 2.5px;
  background: var(--kk-grad-primary); border-radius: 3px 3px 0 0;
  transition: left .3s var(--kk-ease), right .3s var(--kk-ease);
}
.kk-nav-list > li > a:hover::before,
.kk-nav-list > li > a.active::before { left: 12px; right: 12px; }
.kk-nav-list > li > a.active { color: var(--kk-primary); }

/* ---------- 按钮 ---------- */
.kk-btn {
  border-radius: 10px;
  font-weight: 600;
  letter-spacing: .2px;
  transition: transform .18s var(--kk-ease), box-shadow .24s var(--kk-ease),
              background .24s var(--kk-ease), border-color .24s var(--kk-ease), color .2s;
  position: relative;
}
.kk-btn:active { transform: translateY(1px) scale(.995); }
.kk-btn-primary {
  background: var(--kk-grad-primary);
  background-size: 170% 170%;
  box-shadow: 0 2px 10px rgba(12,95,255,.20);
}
.kk-btn-primary:hover {
  background-position: 96% 0;
  box-shadow: 0 8px 22px rgba(12,95,255,.30);
  transform: translateY(-1.5px);
}
.kk-btn-accent {
  background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
  box-shadow: 0 2px 10px rgba(245,158,11,.24);
}
.kk-btn-accent:hover { box-shadow: 0 8px 22px rgba(245,158,11,.34); transform: translateY(-1.5px); }
.kk-btn-ghost { border: 1.5px solid var(--kk-border-strong); background: rgba(255,255,255,.7); }
.kk-btn-ghost:hover { border-color: var(--kk-primary); color: var(--kk-primary); background: #fff; }
.kk-btn-soft { background: rgba(12,95,255,.08); }
.kk-btn-soft:hover { background: rgba(12,95,255,.14); }

/* ---------- 卡片 ---------- */
.kk-card {
  border: 1px solid rgba(226,232,240,.95);
  box-shadow: var(--kk-shadow-sm);
  transition: transform .28s var(--kk-ease), box-shadow .28s var(--kk-ease), border-color .28s var(--kk-ease);
}
.kk-card:hover { box-shadow: var(--kk-shadow); }

/* 区块标题 */
.kk-section-head h2 {
  position: relative;
  display: inline-flex; align-items: center; gap: 10px;
  padding-left: 14px;
}
.kk-section-head h2::before {
  content: "";
  position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 4px; height: 20px; border-radius: 3px;
  background: var(--kk-grad-primary);
  box-shadow: 0 0 10px rgba(12,95,255,.45);
}
.kk-subtitle {
  font-size: 11px; font-weight: 600; letter-spacing: 1.2px;
  padding: 2px 9px; border-radius: 999px;
  background: rgba(12,95,255,.08); color: var(--kk-primary);
  text-transform: uppercase;
}

/* ---------- 统计卡 ---------- */
.kk-stat-card, .kk-admin-stat {
  position: relative; overflow: hidden;
  border: 1px solid rgba(226,232,240,.95);
  transition: transform .26s var(--kk-ease), box-shadow .26s var(--kk-ease);
}
.kk-stat-card:hover, .kk-admin-stat:hover { transform: translateY(-2px); box-shadow: var(--kk-shadow); }
.kk-stat-num, .kk-inv-count, .kk-mc-stat b {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  letter-spacing: -.5px;
}

/* ---------- 表单控件 ---------- */
.kk-input, .kk-form-input, input[type="text"], input[type="search"], input[type="tel"],
input[type="email"], input[type="password"], input[type="number"], select, textarea {
  transition: border-color .2s var(--kk-ease), box-shadow .22s var(--kk-ease), background .2s;
}
.kk-input:focus, .kk-form-input:focus,
input[type="text"]:focus, input[type="search"]:focus, input[type="tel"]:focus,
input[type="email"]:focus, input[type="password"]:focus, input[type="number"]:focus,
select:focus, textarea:focus {
  border-color: rgba(12,95,255,.6) !important;
  box-shadow: 0 0 0 4px rgba(12,95,255,.10);
  outline: none;
}

/* ---------- 表格 / 标签 ---------- */
table { border-collapse: separate; border-spacing: 0; }
tbody tr { transition: background .18s var(--kk-ease); }
tbody tr:hover { background: rgba(12,95,255,.035); }
.kk-tag { transition: all .2s var(--kk-ease); }

/* ---------- 页脚 ---------- */
.kk-footer {
  background: linear-gradient(180deg, #0b1220 0%, #060b16 100%);
  position: relative; overflow: hidden;
}
.kk-footer::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(12,95,255,.55), rgba(34,211,238,.55), transparent);
}

/* ---------- 首页招商区 ---------- */
.kk-inv-item { border: 1px solid transparent; transition: all .22s var(--kk-ease); }
.kk-inv-item:hover {
  background: #fff; border-color: rgba(12,95,255,.22);
  box-shadow: 0 6px 18px rgba(12,95,255,.10);
  transform: translateX(2px);
}

/* ---------- 入场动画 ---------- */
@keyframes kkFadeUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.kk-section, .kk-card, .kk-brand-card, .kk-company-card, .kk-agent-card {
  animation: kkFadeUp .42s var(--kk-ease) both;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* ==================================================================
 * 后台弹窗全面放大（v2.0）
 * 后台很多操作弹窗原来偏窄，操作起来局促；统一放宽并优化内容区
 * ================================================================== */

/* 通用模态框：480 → 720 */
.kk-modal {
  width: 720px !important;
  max-width: calc(100vw - 40px) !important;
  padding: 28px 30px !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 60px rgba(4, 18, 45, .28), 0 2px 8px rgba(4, 18, 45, .10) !important;
  max-height: 88vh;
  overflow-y: auto;
}
.kk-modal h3 { font-size: 19px !important; }
.kk-modal .kk-form-row { margin-bottom: 16px !important; }
.kk-modal .kk-form-row label { font-size: 13.5px; }
.kk-modal input, .kk-modal select, .kk-modal textarea {
  padding: 10px 12px; font-size: 14.5px; border-radius: 8px;
}
.kk-modal textarea { min-height: 110px; }
.kk-modal .kk-modal-actions { gap: 10px !important; margin-top: 22px !important; }
.kk-modal .kk-modal-actions .kk-btn { padding: 9px 20px; }

/* 厂家会员 / 加购等大弹窗：960 → 1080 */
.kk-mfr-modal {
  max-width: 1080px !important;
  width: calc(100vw - 48px) !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 60px rgba(4, 18, 45, .28) !important;
}
.kk-mfr-modal-body { padding: 30px 34px !important; max-height: 76vh !important; }
.kk-mfr-modal-title { font-size: 19px !important; }
.kk-mfr-modal-row { font-size: 14.5px !important; margin: 18px 0 !important; }
.kk-mfr-modal-row label { min-width: 150px !important; }
.kk-mfr-modal-row select { min-width: 190px !important; min-height: 42px !important; padding: 8px 12px !important; }

/* 资料弹窗（mfr-center） */
.kk-mat-modal { width: 960px !important; max-width: calc(100vw - 40px) !important; }
.kk-mat-modal-body { padding: 24px 28px !important; }

/* 资料在线预览：给足阅读宽度 */
.kk-mat-preview .kk-mfr-modal { max-width: 1180px !important; }

/* 图片预览弹窗 */
.kk-img-modal img { max-width: 92vw !important; max-height: 88vh !important; border-radius: 10px; }

/* ==================================================================
 * 后台工作台（admin.html）
 * ================================================================== */
.kk-admin-side {
  background: linear-gradient(180deg, #0d1526 0%, #0a1020 100%);
  border-right: 1px solid rgba(148, 163, 184, .12);
}
.kk-side-item {
  border-radius: 10px;
  margin: 2px 8px;
  transition: background .2s var(--kk-ease), color .2s var(--kk-ease), transform .2s var(--kk-ease);
}
.kk-side-item:hover { background: rgba(12,95,255,.16); transform: translateX(2px); }
.kk-side-item.active {
  background: linear-gradient(90deg, rgba(12,95,255,.30), rgba(34,211,238,.14));
  box-shadow: inset 0 0 0 1px rgba(12,95,255,.35);
}
.kk-admin-bar {
  background: linear-gradient(90deg, #041e4d 0%, #0b47a8 60%, #0c5fff 100%);
  box-shadow: 0 2px 12px rgba(4,18,45,.22);
}
.kk-admin-stat { background: #fff; border-radius: 14px; box-shadow: var(--kk-shadow-sm); }
.kk-admin-card {
  border-radius: 14px;
  box-shadow: var(--kk-shadow-sm);
  border: 1px solid rgba(226,232,240,.95);
  transition: box-shadow .26s var(--kk-ease), border-color .26s var(--kk-ease);
}
.kk-admin-card:hover { box-shadow: var(--kk-shadow); }
.kk-review-wrap { border-radius: 12px; transition: box-shadow .22s var(--kk-ease); }
.kk-review-wrap:hover { box-shadow: var(--kk-shadow); }
.kk-admin-page-title {
  font-size: 24px !important;
  letter-spacing: -.3px;
  /* 不用 background-clip:text + text-fill-color:transparent —— 会把标题里的 emoji 也变成透明方块 */
  color: #0f172a;
  position: relative;
  display: inline-flex; align-items: center; gap: 10px;
  padding-left: 16px;
}
.kk-admin-page-title::before {
  content: "";
  position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 5px; height: 22px; border-radius: 3px;
  background: var(--kk-grad-primary);
  box-shadow: 0 0 12px rgba(12,95,255,.45);
}

/* ==================================================================
 * 厂家中心 / 会员申请页
 * ================================================================== */
.kk-mc-card, .kk-mc-inv-card, .kk-mc-head {
  border-radius: 14px !important;
  transition: box-shadow .26s var(--kk-ease), border-color .26s var(--kk-ease), transform .26s var(--kk-ease);
}
.kk-mc-inv-card:hover { box-shadow: var(--kk-shadow) !important; }
.kk-mc-head {
  background: var(--kk-grad-dark) !important;
  box-shadow: 0 10px 30px rgba(4, 30, 77, .22);
  position: relative; overflow: hidden;
}
.kk-mc-head::after {
  content: "";
  position: absolute; right: -60px; top: -60px;
  width: 220px; height: 220px; border-radius: 50%;
  background: radial-gradient(circle, rgba(34,211,238,.30), transparent 70%);
}
.kk-mp-card {
  transition: transform .28s var(--kk-ease), box-shadow .28s var(--kk-ease), border-color .28s var(--kk-ease);
}
.kk-mp-card:hover { transform: translateY(-3px); box-shadow: var(--kk-shadow-lg); }
.kk-mp-hero { border-radius: 18px !important; }

/* ==================================================================
 * v2.0 移动端适配层
 * 窄屏（≤900px / ≤600px）下导航、头部、搜索、卡片的一致性修复
 * ================================================================== */
@media (max-width: 900px) {
  /* 主导航：横向滚动，避免被挤成竖排 */
  .kk-nav-list {
    overflow-x: auto; overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; -ms-overflow-style: none;
    height: 46px;
  }
  .kk-nav-list::-webkit-scrollbar { display: none; }
  .kk-nav-list > li > a { padding: 0 14px; font-size: 14px; white-space: nowrap; }
  .kk-nav-spacer { display: none; }
  .kk-nav-extra { display: none; }

  /* 头部：收紧内边距，搜索占满一行 */
  .kk-header-main { flex-wrap: wrap; gap: 10px; padding: 12px 0 10px; }
  .kk-search { flex: 1 1 100%; order: 3; }
  .kk-search-hot { display: none; }

  /* 顶部条：只留欢迎语 */
  .kk-topbar { font-size: 12px; }
  .kk-topbar-nav { display: none; }

  /* 容器内边距 */
  .kk-container { padding-left: 14px; padding-right: 14px; }
}

@media (max-width: 600px) {
  .kk-nav-list > li > a { padding: 0 11px; font-size: 13.5px; }
  .kk-header-main { padding: 10px 0 8px; }
  .kk-header .kk-logo-img { max-height: 40px; }   /* ⚠️ 只限页头 logo：别波及品牌 / 企业 Logo */

  /* 品牌馆：两列 + 卡片略降高，核心产品标签简化 */
  .kk-brand-card { height: 174px; padding: 18px 11px 14px; }
  .kk-brand-logo { width: 58px; height: 58px; flex: 0 0 58px; font-size: 19px; margin-bottom: 11px; }
  .kk-brand-name { font-size: 13.5px; margin-bottom: 8px; }
  .kk-brand-core { font-size: 11px; padding: 0 6px; }
  .kk-brand-core-tag { display: none; }
  .kk-brand-grid { gap: 10px; }

  /* 区块标题 */
  .kk-section-head { flex-wrap: wrap; gap: 8px; }
  .kk-section-head h2 { font-size: 17px; }
  .kk-subtitle { font-size: 10px; letter-spacing: .8px; }

  /* 弹窗内边距 */
  .kk-modal { padding: 22px 18px !important; }
  .kk-mfr-modal-body { padding: 20px 18px !important; }

  /* 资讯详情弹窗 */
  .kk-news-modal { border-radius: 14px; }

  /* 页脚 */
  .kk-footer { font-size: 13px; }
}

/* ===== v2.0 首页「人物访谈」4×2：主图改竖向 4:5，卡片整体调高，人物展示更完整 ===== */
.kk-interview-cover { aspect-ratio: 4 / 5; background: #eef2f7; }
.kk-interview-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }

.kk-interview-grid { gap: 12px; }
.kk-interview-card .kk-interview-body { padding: 10px 11px 12px; justify-content: flex-start; }
.kk-interview-title {
  font-size: 13px; line-height: 1.45; margin: 0; min-height: 38px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
@media (max-width: 1100px) { .kk-interview-grid { gap: 10px; } }
/* 窄屏：4 列改 3 列，避免卡片过窄 */
@media (max-width: 900px) { .kk-interview-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .kk-interview-grid { grid-template-columns: repeat(2, 1fr); } }

/* ===================================================================
   v2.0 品牌卡片统一层
   规范：任何地方出现的品牌卡片，一律只显示「Logo + 品牌名 + 核心产品」三项；
        Logo 为长方形（与上传的原始比例一致），不做圆形裁切。
   =================================================================== */
.kk-brand-grid { grid-template-columns: repeat(6, 1fr); gap: 12px; }
.kk-brand-card { height: 178px; padding: 20px 14px 16px; }

/* Logo：整宽长方形浅底框，图片按自身比例完整显示（contain），不裁切 */
.kk-brand-logo {
  width: 100%;
  height: 58px;
  flex: 0 0 58px;
  border-radius: 8px;
  background: #f7f9fc;
  border: 1px solid #eef2f7;
  color: var(--kk-primary);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: .5px;
  margin-bottom: 12px;
  box-shadow: none;
}
.kk-brand-logo .kk-logo-img {
  width: 100%; height: 100%;
  object-fit: contain;      /* 保持 logo 原始长宽比 */
  object-position: center;
  display: block;
  border-radius: 0;
}
.kk-brand-name { margin-bottom: 8px; }

/* 首页「战略合作品牌」黄金位：3 列 × 2 行大卡，四项信息（见文件末尾黄金位样式块）*/
.kk-strategic .kk-strategic-item.kk-gold-item { aspect-ratio: auto; }

/* 品牌墙列数自适应（阿牛 2026-10-09：每行 6 个） */
@media (max-width: 1200px) { .kk-brand-grid { grid-template-columns: repeat(5, 1fr); } }
@media (max-width: 980px)  { .kk-brand-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 760px)  { .kk-brand-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) {
  .kk-brand-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .kk-brand-card { height: 158px; padding: 16px 11px 13px; }
  .kk-brand-logo { height: 48px; flex: 0 0 48px; font-size: 17px; margin-bottom: 10px; }
}

/* ===================================================================
   v2.0 首页「战略合作品牌」黄金位
   品牌来自后台「置顶管理 → 🥇 黄金位」，最多 6 个；3 列 × 2 行大卡，
   每张显示四项：品牌 Logo + 品牌简称 + 核心产品 + 核心竞争力
   =================================================================== */
.kk-strategic { grid-template-columns: repeat(3, 1fr); gap: 14px; }
.kk-strategic .kk-strategic-item.kk-gold-item {
  aspect-ratio: auto;
  height: auto; min-height: 190px;
  padding: 16px 18px;
  align-items: stretch;
  justify-content: flex-start;
  gap: 7px;
  text-align: left;
  background: linear-gradient(135deg, #0f172a 0%, #1d3a80 55%, #0c5fff 100%);
  border: 1px solid rgba(255, 255, 255, .08);
}
.kk-strategic .kk-gold-item:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(12, 95, 255, .22); }

/* Logo：白色长方形底框，保持上传 logo 的原始比例 */
.kk-strategic .kk-gold-item .b-logo {
  width: 142px; height: 48px;
  flex: 0 0 48px;
  align-self: flex-start;
  background: #fff;
  border-radius: 6px;
  padding: 4px 8px;
  box-sizing: border-box;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .16);
}
.kk-strategic .kk-gold-item .b-logo img {
  max-width: 100%; max-height: 100%;
  width: auto; height: auto;
  object-fit: contain; display: block;
}
.kk-strategic .kk-gold-item .b-logo span { color: var(--kk-primary); font-size: 17px; font-weight: 700; }

/* 品牌简称 */
.kk-strategic .kk-gold-item .b1 {
  font-size: 17px; font-weight: 700; line-height: 1.3; color: #fff;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* 核心产品 / 核心竞争力 */
.kk-strategic .kk-gold-item .b2,
.kk-strategic .kk-gold-item .b3 {
  font-size: 12.5px; line-height: 1.55; padding: 0; margin: 0;
  color: rgba(255, 255, 255, .88);
  overflow: hidden;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.kk-strategic .kk-gold-item .b3 { font-size: 12px; color: rgba(255, 255, 255, .74); }
.kk-strategic .kk-gold-item .b-k {
  display: inline-block;
  font-size: 10.5px; font-weight: 700; line-height: 16px;
  background: rgba(255, 255, 255, .18);
  color: #fff;
  border-radius: 3px;
  padding: 0 5px; margin-right: 6px;
  vertical-align: 1px;
}
@media (max-width: 900px) {
  .kk-strategic { grid-template-columns: repeat(2, 1fr); }
  .kk-strategic .kk-strategic-item.kk-gold-item { min-height: 176px; padding: 14px 15px; }
}
@media (max-width: 600px) {
  .kk-strategic { grid-template-columns: 1fr; }
  .kk-strategic .kk-strategic-item.kk-gold-item { min-height: 0; padding: 14px; }
  .kk-strategic .kk-gold-item .b-logo { width: 120px; height: 42px; flex: 0 0 42px; }
}

/* ==================================================================
 * v3.0 视觉基线层（2026-09-22）
 * 目标：整站更像「正规、有实力的行业平台」——
 *   ① 收敛花哨的多色渐变，改为深蓝 + 中性灰的专业色阶；
 *   ② 统一尺寸节奏（容器 / 区块留白 / 卡片内距 / 控件高度）；
 *   ③ 降低彩色阴影与动效噪音，强化层级与留白，保留克制的科技细节。
 * 说明：本层只覆盖样式（颜色 / 尺寸 / 动效），不改任何布局结构。
 * ================================================================== */

/* ---------- 设计令牌 ---------- */
:root {
  --kk-primary:        #1653d6;
  --kk-primary-dark:   #103fa8;
  --kk-primary-light:  #eef3fe;
  --kk-accent:         #b8860b;
  --kk-accent-dark:    #96690a;
  --kk-success:        #0f7a55;
  --kk-danger:         #cf3f3f;
  --kk-warning:        #c98a12;
  --kk-info:           #0e7490;

  --kk-navy:           #08152b;
  --kk-navy-2:         #0d2547;
  --kk-navy-3:         #123468;

  --kk-bg:             #f4f6fa;
  --kk-bg-soft:        #eaeff7;
  --kk-border:         #e2e8f1;
  --kk-border-strong:  #c9d5e6;

  --kk-text:           #0b1a30;
  --kk-text-2:         #43546c;
  --kk-text-3:         #7f8fa5;

  --kk-radius:         10px;
  --kk-radius-sm:      8px;
  --kk-radius-lg:      14px;

  --kk-shadow-sm:      0 1px 2px rgba(11, 26, 48, .04);
  --kk-shadow:         0 2px 6px rgba(11, 26, 48, .05), 0 12px 28px rgba(11, 26, 48, .05);
  --kk-shadow-lg:      0 14px 36px rgba(11, 26, 48, .10);
  --kk-shadow-glow:    0 6px 20px rgba(22, 83, 214, .16);

  --kk-grad-primary:   linear-gradient(135deg, #1653d6 0%, #1d63dd 100%);
  --kk-grad-dark:      linear-gradient(135deg, #061124 0%, #0d2547 52%, #123468 100%);

  --kk-container:      1260px;
}
.kk-footer { --kk-bg-elev: #0b1a30; }

/* ---------- 全局底纹：去掉彩色光斑，换成极淡的冷色网格 ---------- */
body {
  background:
    radial-gradient(1100px 460px at 50% -12%, rgba(22, 83, 214, .05), transparent 62%),
    var(--kk-bg);
  background-attachment: fixed;
  font-size: 14px;
  line-height: 1.65;
}
::selection { background: rgba(22, 83, 214, .16); }

/* ---------- 顶部信息条：深蓝实色，去掉流光动画 ---------- */
.kk-topbar {
  background: var(--kk-navy);
  height: 38px;
  font-size: 12.5px;
  color: rgba(255, 255, 255, .78);
}
.kk-topbar::after { display: none; }
.kk-topbar a { color: rgba(255, 255, 255, .78); }
.kk-topbar a:hover { color: #fff; }

/* ---------- 头部：干净白底 + 细分割线，去掉玻璃与彩色描边 ---------- */
.kk-header {
  background: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid var(--kk-border);
  box-shadow: none;
}
.kk-header::after { display: none; }
.kk-header-main { padding: 20px 0; gap: 34px; }
.kk-header .kk-logo-img { height: 32px; }   /* ⚠️ 只限页头 logo（品牌 / 企业 Logo 尺寸另有固定规则） */
.kk-logo-slogan { letter-spacing: .3px; color: var(--kk-text-3); }

/* 搜索框：细边框、方正、聚焦时只留一层浅光环 */
.kk-search-box {
  height: 46px;
  border: 1.5px solid var(--kk-border-strong);
  border-radius: 10px;
  box-shadow: none;
}
.kk-search-box:focus-within {
  border-color: var(--kk-primary);
  box-shadow: 0 0 0 3px rgba(22, 83, 214, .10);
}
.kk-search-btn { background: var(--kk-primary); background-size: auto; font-weight: 600; }
.kk-search-btn:hover { background: var(--kk-primary-dark); box-shadow: none; }
.kk-search-hot a { border-radius: 6px; }

/* ---------- 主导航：一条底线 + 单色下划线，去掉 3px 粗条与琥珀色 ---------- */
.kk-nav {
  background: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid var(--kk-border);
  box-shadow: none;
}
.kk-nav-list { height: 46px; }
.kk-nav-list > li > a {
  padding: 0 20px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--kk-text-2);
}
.kk-nav-list > li > a::before {
  background: var(--kk-primary);
  height: 2px;
  border-radius: 0;
}
.kk-nav-list > li > a:hover,
.kk-nav-list > li > a.active { color: var(--kk-primary); }
.kk-nav-list > li > a.active { background: transparent; font-weight: 700; }
.kk-nav-list > li > a.active::after { display: none; }
.kk-nav-extra { font-size: 13px; color: var(--kk-text-2); }

/* ---------- 按钮：实色 + 方正，弱化彩色投影 ---------- */
.kk-btn {
  height: 38px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
}
.kk-btn-primary { background: var(--kk-primary); background-size: auto; box-shadow: none; }
.kk-btn-primary:hover {
  background: var(--kk-primary-dark);
  box-shadow: 0 4px 14px rgba(22, 83, 214, .22);
  transform: translateY(-1px);
}
.kk-btn-accent { background: var(--kk-accent); box-shadow: none; }
.kk-btn-accent:hover {
  background: var(--kk-accent-dark);
  box-shadow: 0 4px 14px rgba(184, 134, 11, .22);
  transform: translateY(-1px);
}
.kk-btn-ghost { border: 1px solid var(--kk-border-strong); background: #fff; color: var(--kk-text-2); }
.kk-btn-ghost:hover { border-color: var(--kk-primary); color: var(--kk-primary); background: #fff; }
.kk-btn-soft { background: var(--kk-primary-light); color: var(--kk-primary); }
.kk-btn-soft:hover { background: #e2ebfd; }
.kk-btn-sm { height: 32px; padding: 0 14px; font-size: 13px; border-radius: 7px; }
.kk-btn-lg { height: 46px; padding: 0 30px; font-size: 15.5px; border-radius: 9px; }

/* ---------- 版面节奏：统一容器与区块留白 ---------- */
.kk-container { max-width: var(--kk-container); padding: 0 24px; }
.kk-section { padding: 46px 0; }
.kk-section-head { margin-bottom: 22px; }
.kk-section-head h2 {
  font-size: 23px;
  font-weight: 800;
  letter-spacing: -.2px;
  padding-left: 15px;
}
.kk-section-head h2::before {
  width: 4px; height: 21px;
  background: var(--kk-primary);
  box-shadow: none;
}
.kk-subtitle {
  background: var(--kk-bg-soft);
  color: var(--kk-text-2);
  border: 1px solid var(--kk-border);
  font-weight: 600;
  letter-spacing: 1px;
}
.kk-more { font-size: 13px; color: var(--kk-text-2); }
.kk-more:hover { color: var(--kk-primary); }

/* ---------- 卡片：细边框 + 浅阴影，取消无意义位移 ---------- */
.kk-card {
  border-radius: 12px;
  border: 1px solid var(--kk-border);
  box-shadow: none;
}
.kk-card:hover { box-shadow: var(--kk-shadow); border-color: var(--kk-border-strong); }
.kk-card-body { padding: 20px; }
.kk-card-title { padding: 16px 20px; }

/* ---------- 表单：统一高度与圆角 ---------- */
.kk-form-input, .kk-input { border-radius: 8px; }
.kk-input:focus, .kk-form-input:focus,
input[type="text"]:focus, input[type="search"]:focus, input[type="tel"]:focus,
input[type="email"]:focus, input[type="password"]:focus, input[type="number"]:focus,
select:focus, textarea:focus {
  border-color: var(--kk-primary) !important;
  box-shadow: 0 0 0 3px rgba(22, 83, 214, .10);
}

/* ---------- 标签 / 徽章 ---------- */
.kk-tag { border-radius: 6px; }
tbody tr:hover { background: rgba(22, 83, 214, .03); }

/* ---------- 页脚：纯深蓝，去掉霓虹顶线 ---------- */
.kk-footer { background: linear-gradient(180deg, #08152b 0%, #050d1c 100%); }
.kk-footer::before {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .12), transparent);
}

/* ---------- 动效：只保留区块一次淡入，卡片不再逐张跳动 ---------- */
.kk-section, .kk-card, .kk-brand-card, .kk-company-card, .kk-agent-card,
.kk-interview-card, .kk-product-card { animation: none; }
.kk-section { animation: kkFadeUp .38s var(--kk-ease) both; }

/* ---------- 前台不再展示「置顶」标识（2026-09-22） ---------- */
.kk-pin-flag, .kk-brand-pin { display: none !important; }
.kk-pinned { box-shadow: none !important; }
.kk-brand-card-pinned { border: 1px solid var(--kk-border) !important; }

/* ---------- 响应式收口 ---------- */
@media (max-width: 1100px) {
  .kk-container { padding: 0 20px; }
  .kk-section { padding: 38px 0; }
}
@media (max-width: 600px) {
  .kk-container { padding: 0 14px; }
  .kk-section { padding: 30px 0; }
  .kk-section-head h2 { font-size: 20px; }
  .kk-card-body { padding: 16px; }
  .kk-btn { height: 36px; }
  .kk-btn-lg { height: 44px; padding: 0 22px; font-size: 15px; }
}

/* ---------- v3.0 组件补色：把历史遗留的「蓝→青霓虹 + 暖橙」统一到新色阶 ---------- */
.kk-logo-mark,
.kk-company-logo,
.kk-member-avatar,
.kk-member-contact,
.kk-expert-avatar,
.kk-brand-logo {
  background: var(--kk-grad-primary);
}
.kk-hero-banner { background: var(--kk-grad-dark); }
.kk-brand-card::after {
  background: var(--kk-primary);
}
.kk-stat-num { color: var(--kk-primary); }
.kk-agent-interest { color: var(--kk-text-2); background: var(--kk-bg-soft); border: 1px solid var(--kk-border); }
.kk-agent-status { background: var(--kk-bg-soft); color: var(--kk-text-2); }
.kk-filter-chip:hover { background: var(--kk-primary-light); color: var(--kk-primary); }
.kk-topbar a:hover { color: #d9b454; }
.kk-footer ul li a:hover { color: #d9b454; }
.kk-alert-warning { background: #fdf6e6; color: #6b4b06; border-left: 3px solid var(--kk-warning); }
.kk-alert-info { background: #eef4fe; color: #123468; border-left: 3px solid var(--kk-primary); }
.kk-tag-accent { background: #fbf3e2; color: #7a5709; }
.kk-side-qr { background: #fff; border: 1px solid var(--kk-border); }
.kk-side-qr h5 { color: var(--kk-text); }
.kk-process-step { background: var(--kk-bg-soft); border: 1px solid var(--kk-border); }
.kk-product-price-row { background: linear-gradient(to right, #f0f5fd, transparent); }
/* 文本 Logo 兜底块（品牌卡片内）保持浅底，不参与上面的渐变 */
.kk-brand-card .kk-brand-logo { background: #f7f9fc; }
/* 未填核心产品时，标签降为中性灰，避免整墙蓝色标签抢视线 */
.kk-brand-core.is-empty { color: var(--kk-text-3); background: var(--kk-bg-soft); border-color: var(--kk-border); }
.kk-brand-core.is-empty .kk-brand-core-tag { background: var(--kk-text-3); }

/* ---------- 后台紧凑行：状态标签不被压缩、操作按钮可换行 ----------
   （厂家库 / 品牌管理中心 / 代理商库 一行里有 2~3 个操作按钮，窄屏容易把状态标签挤掉） */
.kk-review-row { flex-wrap: wrap; }
.kk-review-row-actions { flex-wrap: wrap; justify-content: flex-end; }
.kk-review-row .kk-status-tag { flex-shrink: 0; white-space: nowrap; }
.kk-review-row-time { white-space: nowrap; }

/* ==================================================================
 * v3.1 活力科技层（2026-09-22）
 * 目标：在 v3.0「正式」的基础上把整体调子提亮 ——
 *   深近黑的藏蓝 → 明亮有活力的宝蓝；引入青色科技点缀；
 *   保留克制的留白与层级，整体更「有活力 · 科技感 · 大气」。
 * 说明：本层仍是覆盖层，只动颜色 / 渐变 / 阴影 / 细节，不改布局结构。
 * ================================================================== */

:root {
  /* 主色：明亮有活力的宝蓝 */
  --kk-primary:        #1f6bff;
  --kk-primary-dark:   #1652d6;
  --kk-primary-light:  #eef4ff;

  /* 科技青（渐变收尾 / 细节点缀） */
  --kk-cyan:           #12b8d8;
  --kk-cyan-soft:      #e6f8fc;

  /* 活力暖金（标签 / 促销点缀） */
  --kk-accent:         #f0a52a;
  --kk-accent-dark:    #d18410;
  --kk-warning:        #f0a52a;

  /* 深色体系：不再是近黑的藏蓝，改用有层次的宝蓝系 */
  --kk-navy:           #0c2a55;
  --kk-navy-2:         #12407c;
  --kk-navy-3:         #1b57a8;

  --kk-bg:             #f5f8fd;
  --kk-bg-soft:        #e9f0fb;
  --kk-border:         #e2eaf7;
  --kk-border-strong:  #c6d7ef;

  --kk-text:           #0a1a33;
  --kk-text-2:         #40556f;
  --kk-text-3:         #7c90aa;

  --kk-shadow-sm:      0 1px 2px rgba(12, 42, 85, .04);
  --kk-shadow:         0 4px 10px rgba(31, 107, 255, .06), 0 14px 32px rgba(12, 42, 85, .07);
  --kk-shadow-lg:      0 16px 42px rgba(12, 42, 85, .12);
  --kk-shadow-glow:    0 10px 26px rgba(31, 107, 255, .26);

  --kk-grad-primary:   linear-gradient(120deg, #1f6bff 0%, #3d8bff 52%, #12b8d8 100%);
  --kk-grad-dark:      linear-gradient(120deg, #0c2a55 0%, #12407c 52%, #1f6bff 100%);
  --kk-grad-soft:      linear-gradient(120deg, #eef4ff 0%, #e6f8fc 100%);
}

/* ---------- 页面底色：加一层极淡的蓝青网格光 ---------------------------------- */
body {
  background:
    radial-gradient(1200px 520px at 50% -14%, rgba(31, 107, 255, .10), transparent 62%),
    radial-gradient(900px 420px at 96% 2%, rgba(18, 184, 216, .07), transparent 60%),
    var(--kk-bg);
  background-attachment: fixed;
}
::selection { background: rgba(31, 107, 255, .18); }

/* ---------- 顶栏：渐变宝蓝，更亮更快 ---------- */
.kk-topbar {
  background: linear-gradient(90deg, #12407c 0%, #1b57a8 45%, #1f6bff 100%);
  color: rgba(255, 255, 255, .88);
}
.kk-topbar::after {
  display: block;
  background: linear-gradient(90deg, transparent, rgba(18, 184, 216, .30), transparent);
  animation: kkSheen 9s linear infinite;
}
.kk-topbar a { color: rgba(255, 255, 255, .88); }
.kk-topbar a:hover { color: #fff; }

/* ---------- 头部 / 搜索 ---------- */
.kk-header { border-bottom: 1px solid var(--kk-border); }
.kk-search-box { border-color: rgba(31, 107, 255, .22); }
.kk-search-box:focus-within {
  border-color: var(--kk-primary);
  box-shadow: 0 0 0 4px rgba(31, 107, 255, .12);
}
.kk-search-btn { background: var(--kk-grad-primary); background-size: 160% 160%; transition: background-position .5s var(--kk-ease), box-shadow .25s var(--kk-ease); }
.kk-search-btn:hover { background-position: 100% 0; box-shadow: 0 8px 20px rgba(31, 107, 255, .26); }
.kk-search-cat { color: var(--kk-primary); }

/* ---------- 导航：活跃项用蓝→青渐变下划线，底部一条淡渐变分割线 ---------- */
.kk-nav { border-bottom: 1px solid var(--kk-border); }
.kk-nav-list > li > a::before { background: var(--kk-grad-primary); height: 2.5px; border-radius: 3px 3px 0 0; }
.kk-nav-list > li > a:hover,
.kk-nav-list > li > a.active { color: var(--kk-primary); }
.kk-nav-list > li > a.active { background: rgba(31, 107, 255, .06); }

/* ---------- 按钮：渐变 + 轻投影，活力但不花哨 ---------- */
.kk-btn-primary {
  background: var(--kk-grad-primary);
  background-size: 170% 170%;
  box-shadow: 0 4px 14px rgba(31, 107, 255, .22);
}
.kk-btn-primary:hover {
  background-position: 96% 0;
  box-shadow: 0 10px 24px rgba(31, 107, 255, .30);
  transform: translateY(-1.5px);
}
.kk-btn-accent { background: linear-gradient(120deg, #f0a52a 0%, #ffc258 100%); box-shadow: 0 4px 14px rgba(240, 165, 42, .24); }
.kk-btn-accent:hover { box-shadow: 0 10px 24px rgba(240, 165, 42, .32); transform: translateY(-1.5px); }
.kk-btn-soft { background: rgba(31, 107, 255, .08); color: var(--kk-primary); }
.kk-btn-soft:hover { background: rgba(31, 107, 255, .14); }
.kk-btn-ghost { border-color: var(--kk-border-strong); color: var(--kk-primary); }
.kk-btn-ghost:hover { border-color: var(--kk-primary); background: var(--kk-primary-light); }

/* ---------- 区块标题：蓝→青渐变装饰条 ---------- */
.kk-section-head h2::before { background: var(--kk-grad-primary); box-shadow: 0 2px 10px rgba(31, 107, 255, .35); }
.kk-subtitle {
  background: var(--kk-grad-soft);
  color: var(--kk-primary-dark);
  border-color: rgba(31, 107, 255, .18);
}

/* ---------- 卡片：白底 + 淡蓝描边，hover 浮起 ---------- */
.kk-card { border-color: var(--kk-border); }
.kk-card:hover {
  box-shadow: 0 6px 18px rgba(31, 107, 255, .10), 0 18px 40px rgba(12, 42, 85, .07);
  border-color: rgba(31, 107, 255, .28);
}

/* ---------- 标签 / 徽章 ---------- */
.kk-tag-primary { background: rgba(31, 107, 255, .10); color: var(--kk-primary-dark); }
.kk-tag-accent { background: #fff4e0; color: #8a5a06; }

/* ---------- 页脚：宝蓝深色渐变，底部收一条蓝青线 ---------- */
.kk-footer { background: linear-gradient(180deg, #0c2a55 0%, #071a36 100%); }
.kk-footer::before { background: linear-gradient(90deg, transparent, rgba(31, 107, 255, .6), rgba(18, 184, 216, .6), transparent); }
.kk-footer ul li a:hover { color: #ffc258; }

/* ---------- 其它细节 ---------- */
.kk-logo-mark,
.kk-company-logo,
.kk-member-avatar,
.kk-member-contact,
.kk-expert-avatar { background: var(--kk-grad-primary); }
.kk-hero-banner { background: var(--kk-grad-dark); }
.kk-brand-card::after { background: var(--kk-grad-primary); }
.kk-stat-num { color: var(--kk-primary); }
.kk-filter-chip:hover { background: var(--kk-primary-light); color: var(--kk-primary); }
.kk-alert-info { background: var(--kk-primary-light); color: #123468; border-left: 3px solid var(--kk-primary); }

/* ---------- 页面顶部板块 Banner（产品库 / 品牌馆 / 厂家库 / 资讯中心 / 资料库 / 使用指南）---------- */
.kk-page-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--kk-grad-dark);
  line-height: 0;
}
.kk-page-hero img {
  width: 100%;
  height: auto;
  max-height: 200px;
  object-fit: cover;
  object-position: left center;
  display: block;
}
@media (max-width: 900px) {
  .kk-page-hero { height: 126px; }
  .kk-page-hero img { height: 100%; }
}
@media (max-width: 600px) {
  .kk-page-hero { height: 108px; }
}

/* ==================================================================
 * 资讯中心列表版式（2026-09-22 重设计）
 * 原来封面图满宽显示、占掉大半个卡片；改为「图文左右分栏」：
 * 头条 = 左文右图（320px），列表 = 左文右缩略图（172×110），图片明显变小。
 * ================================================================== */
.kk-news-headline {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 24px;
  align-items: start;
  padding: 22px 24px;
}
.kk-news-headline.no-cover { grid-template-columns: 1fr; }
.kk-nh-cover { display: block; border-radius: 10px; overflow: hidden; background: var(--kk-bg-soft); aspect-ratio: 16 / 10; }
.kk-nh-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kk-nh-title { font-size: 21px; line-height: 1.45; margin: 12px 0 10px; font-weight: 800; letter-spacing: -.2px; }
.kk-nh-title a { color: var(--kk-text); }
.kk-nh-title a:hover { color: var(--kk-primary); }
.kk-nh-summary {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  font-size: 13.5px; line-height: 1.85; color: var(--kk-text-2);
}
.kk-nh-summary:hover { color: var(--kk-primary); }
.kk-nh-meta {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--kk-border);
  font-size: 12.5px; color: var(--kk-text-3);
}

.kk-news-row {
  display: grid; grid-template-columns: 1fr 172px; gap: 18px; align-items: center;
  background: #fff; border: 1px solid var(--kk-border); border-radius: 12px;
  padding: 16px 18px; margin-bottom: 12px;
  transition: transform .22s var(--kk-ease), box-shadow .22s var(--kk-ease), border-color .22s var(--kk-ease);
}
.kk-news-row:hover { border-color: rgba(31, 107, 255, .30); box-shadow: 0 6px 18px rgba(31, 107, 255, .10); transform: translateY(-1px); }
.kk-news-row.no-thumb { grid-template-columns: 1fr; }
.kk-nr-thumb { display: block; width: 172px; height: 110px; border-radius: 8px; overflow: hidden; background: var(--kk-bg-soft); }
.kk-nr-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s var(--kk-ease); }
.kk-news-row:hover .kk-nr-thumb img { transform: scale(1.04); }
.kk-nr-title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  font-size: 16px; font-weight: 700; line-height: 1.5; color: var(--kk-text); margin: 7px 0 6px;
}
.kk-nr-title:hover { color: var(--kk-primary); }
.kk-nr-summary {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  font-size: 13px; line-height: 1.7; color: var(--kk-text-2);
}
.kk-nr-summary:hover { color: var(--kk-primary); }
.kk-nr-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 9px; font-size: 12px; color: var(--kk-text-3); }

@media (max-width: 900px) {
  .kk-news-headline { grid-template-columns: 1fr; gap: 16px; padding: 18px; }
  .kk-news-headline .kk-nh-cover { order: -1; aspect-ratio: 16 / 9; }
  .kk-nh-title { font-size: 18px; }
  .kk-news-row { grid-template-columns: 1fr 132px; gap: 14px; padding: 14px; }
  .kk-nr-thumb { width: 132px; height: 92px; }
}
@media (max-width: 600px) {
  .kk-news-row { grid-template-columns: 1fr; }
  .kk-nr-thumb { order: -1; width: 100%; height: 158px; }
  .kk-nr-title { font-size: 15px; }
}

/* ==================================================================
 * 品牌橘色点缀（2026-09-22）
 * 橘色取自站点 logo（#fc600c）。全站只做「一点点」点缀，不铺大面积：
 *   顶栏/页脚链接 hover、页脚栏目标题下的短横线、「查看更多」hover、
 *   HOT 标记、区块标题装饰条收尾、首页「全部分类」按钮 hover。
 * ================================================================== */
:root {
  --kk-orange:      #fc600c;
  --kk-orange-dark: #d94f05;
  --kk-orange-soft: #fff3ea;
}

/* 顶栏链接 hover */
.kk-topbar a:hover { color: var(--kk-orange); }

/* 页脚栏目标题下一条橘色短线 + 链接 hover */
.kk-footer h4 { position: relative; padding-bottom: 9px; margin-bottom: 14px; }
.kk-footer h4::after {
  content: ''; position: absolute; left: 0; bottom: 0;
  width: 22px; height: 2px; border-radius: 2px;
  background: var(--kk-orange);
}
.kk-footer ul li a:hover { color: #ff8a3d; }

/* 「查看更多 ›」hover */
.kk-more:hover { color: var(--kk-orange); }

/* HOT 标记用品牌橘（原来是红色） */
.kk-hot { color: var(--kk-orange) !important; }

/* 区块标题装饰条：蓝 → 青 → 橘收尾 */
.kk-section-head h2::before {
  background: linear-gradient(180deg, #1f6bff 0%, #12b8d8 55%, var(--kk-orange) 100%);
}

/* 首页「全部分类」按钮 hover */
.kk-cat-row .kk-btn:hover { border-color: var(--kk-orange); color: var(--kk-orange-dark); }
.kk-cat-row .kk-btn-soft:hover { background: var(--kk-orange-soft); color: var(--kk-orange-dark); }

/* 搜索热词 hover */
.kk-search-hot a:hover { color: var(--kk-orange); background: var(--kk-orange-soft); }

/* ==================================================================
 * 品牌橘色「加料」层（2026-09-22）
 * 橘色 = 站点 logo 实测主色 #fc600c。上一轮只做了几处点缀，这一轮
 * 在不喧宾夺主的前提下把品牌味道铺开（仍是大面积蓝 + 橘色点睛）：
 *   顶栏橘色品牌线 · 导航下划线蓝→青→橘 · 区块小标签 · 「查看更多」
 *   价格 · 页脚分割线 · 页脚链接 hover · 会员入口
 * ================================================================== */

/* ---------- 顶栏：底部一条橘色品牌线 ---------- */
.kk-topbar { border-bottom: 2px solid var(--kk-orange); }
.kk-topbar a:hover { color: #ffd7bd; }
.kk-topbar .kk-orange-link,
.kk-topbar a.kk-orange-link { color: var(--kk-orange) !important; }

/* ---------- 导航：hover / 选中下划线改成 蓝 → 青 → 橘 ---------- */
.kk-nav-list > li > a::before {
  background: linear-gradient(90deg, #1f6bff 0%, #12b8d8 52%, var(--kk-orange) 100%);
  height: 2.5px;
}

/* ---------- 区块标题右侧小标签（HOT PRODUCTS / 行业资讯…）：橘色点亮 ---------- */
.kk-section-head .kk-subtitle,
.kk-subtitle {
  color: var(--kk-orange-dark);
  background: var(--kk-orange-soft);
  border-color: rgba(252, 96, 12, .22);
}

/* ---------- 「查看更多 ›」：默认就用品牌橘 ---------- */
.kk-section-head .kk-more,
.kk-card-title .kk-more { color: var(--kk-orange-dark); }
.kk-section-head .kk-more:hover,
.kk-card-title .kk-more:hover { color: var(--kk-orange); }

/* ---------- 价格：品牌橘（列表 / 详情 / 侧栏统一） ---------- */
.kk-product-price .kk-price { color: var(--kk-orange); }
.kk-product-price-row .kk-price-big { color: var(--kk-orange); }
.kk-product-price-row { background: linear-gradient(to right, var(--kk-orange-soft), transparent); }

/* ---------- 页脚：顶部分割线蓝 → 青 → 橘；栏目标题短线橘；链接 hover 橘 ---------- */
.kk-footer::before {
  background: linear-gradient(90deg, transparent, rgba(31, 107, 255, .55) 28%, rgba(18, 184, 216, .6) 52%, rgba(252, 96, 12, .8) 72%, transparent);
}
.kk-footer h4::after { background: var(--kk-orange); }
.kk-footer ul li a:hover { color: var(--kk-orange); }

/* ---------- 按钮：hover 时左侧描边/文字带一点橘（克制的品牌呼应） ---------- */
.kk-btn-soft:hover { background: var(--kk-orange-soft); color: var(--kk-orange-dark); }
.kk-btn-ghost:hover { border-color: var(--kk-orange); color: var(--kk-orange-dark); }

/* ---------- 表格 / 列表项 hover 左侧橘色细条 ---------- */
.kk-news-item:hover { box-shadow: inset 3px 0 0 var(--kk-orange); }
.kk-mt-row:hover { box-shadow: inset 3px 0 0 var(--kk-orange); }

/* ---------- 搜索框聚焦：橘色描边外圈（与蓝主色共同构成品牌双色） ---------- */
.kk-search-box:focus-within {
  border-color: var(--kk-orange);
  box-shadow: 0 0 0 4px rgba(252, 96, 12, .12);
}

/* ==================================================================
 * 品牌 Logo 显示框比例修正（2026-09-22）
 *   批量导入 / 厂家上传的品牌 Logo 统一是 2:1（实测 303 张全部 906×452）；
 *   原来框宽 100%、高 58px（≈4.7:1），logo 两侧留白太多，显得又扁又空。
 *   现改为严格 2:1 并限制最大宽度，居中放置 —— logo 会填满整个框。
 * ================================================================== */
.kk-brand-logo {
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  flex: 0 0 auto;
  margin: 0 auto 8px;
  padding: 4px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--kk-border);
  border-radius: 8px;
}
.kk-brand-logo .kk-logo-img {
  width: 100%; height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  border-radius: 0;
}
/* 每行 6 个 → 卡片更窄，去掉多余上下留白（阿牛 2026-10-09） */
.kk-brand-card { height: auto; min-height: 164px; padding: 12px 11px 11px; }
/* 文本 Logo 兜底块（没有上传 logo 时）居中显示 */
.kk-brand-logo > span { width: 100%; text-align: center; align-self: center; }

@media (max-width: 600px) {
  .kk-brand-logo { max-width: 100%; padding: 3px; margin-bottom: 8px; }
  .kk-brand-card { height: auto; min-height: 146px; padding: 10px 9px 9px; }
}

/* 首页黄金位卡片的 Logo 也统一成 2:1 */
.kk-strategic .kk-gold-item .b-logo { width: 120px; height: 60px; flex: 0 0 60px; }
@media (max-width: 600px) {
  .kk-strategic .kk-gold-item .b-logo { width: 104px; height: 52px; flex: 0 0 52px; }
}

/* ==================================================================
 * 后台「置顶 / 黄金位排序」面板（▲▼ 调整前台展示顺序）
 * ================================================================== */
.kk-order-panel {
  background: #fff;
  border: 1px solid var(--kk-border);
  border-left: 3px solid var(--kk-orange);
  border-radius: 12px;
  padding: 14px 16px;
  margin-bottom: 16px;
}
.kk-order-head { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.kk-order-head b { font-size: 14.5px; }
.kk-order-head span { font-size: 12px; color: var(--kk-text-3); }
.kk-order-empty { font-size: 12.5px; color: var(--kk-text-3); padding: 6px 0 2px; }
.kk-order-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.kk-order-item {
  display: flex; align-items: center; gap: 10px;
  padding: 7px 10px;
  border: 1px solid var(--kk-border);
  border-radius: 8px;
  background: var(--kk-bg-soft);
}
.kk-order-no {
  flex: 0 0 22px; height: 22px; line-height: 22px; text-align: center;
  border-radius: 50%; font-size: 11.5px; font-weight: 700;
  background: var(--kk-primary); color: #fff;
}
.kk-order-item:nth-child(1) .kk-order-no { background: var(--kk-orange); }
.kk-order-name { flex: 1; min-width: 0; font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kk-order-name em { font-style: normal; font-weight: 400; color: var(--kk-text-3); font-size: 12px; margin-left: 8px; }
.kk-order-btns { display: flex; gap: 4px; flex-shrink: 0; }
.kk-order-btns .kk-btn { height: 26px; min-width: 30px; padding: 0 6px; font-size: 11px; line-height: 1; }
.kk-order-btns .kk-btn:disabled { opacity: .35; cursor: not-allowed; }
@media (max-width: 600px) {
  .kk-order-item { flex-wrap: wrap; }
  .kk-order-name { white-space: normal; }
}

/* 后台行内操作按钮：文字不折行（出现「已置/顶」这种断行时很难看） */
.kk-review-row-actions .kk-btn { white-space: nowrap; }
.kk-review-row-actions { row-gap: 6px; }

/* ==================================================================
 * 首页「热门招商」条目（2026-09-22）
 *   去掉企业名前的两字缩写徽标，文字块占满整行；
 *   公司名下方显示「核心产品 · 招商地区」。
 * ================================================================== */
.kk-inv-item { gap: 0; padding: 9px 10px; align-items: flex-start; border-radius: 8px; }
.kk-inv-item .kk-inv-body { gap: 3px; width: 100%; }
.kk-inv-item .kk-inv-name { font-size: 13.5px; line-height: 1.35; }
.kk-inv-item .kk-inv-meta { font-size: 11.5px; color: var(--kk-text-2); line-height: 1.4; }
/* 缩写徽标已弃用，留一条兜底避免历史缓存渲染出来 */
.kk-inv-item .kk-inv-logo { display: none; }

/* ==================================================================
 * 产品详情页（2026-09-22 改版）
 *   ① 图集改为「上方大图（默认主图）+ 下方小图一排」，
 *      小图 = 主图 + 最多 3 张副图；点小图，上方大图切换为该图。
 *   ② 去掉「产品产地」；「同款热销」表头「对标品牌」→「品牌」。
 * ================================================================== */
.kk-product-gallery { display: flex; flex-direction: column; gap: 12px; }
.kk-product-main-img {
  flex: 0 0 auto; width: 100%;
  aspect-ratio: auto; height: 400px; max-height: 60vh;
}
.kk-product-thumb-list { flex-direction: row; flex-wrap: wrap; gap: 10px; }
.kk-product-thumb { width: 88px; height: 88px; position: relative; }
.kk-product-thumb.active {
  border-color: var(--kk-primary);
  box-shadow: 0 0 0 3px rgba(31, 107, 255, .12);
}
.kk-thumb-tag {
  position: absolute; left: 0; bottom: 0;
  background: var(--kk-primary); color: #fff;
  font-size: 10px; line-height: 15px; padding: 0 5px;
  border-radius: 0 6px 0 6px;
}
.kk-product-thumb.active .kk-thumb-tag { background: var(--kk-orange); }
@media (max-width: 600px) {
  .kk-product-main-img { height: 260px; }
  .kk-product-thumb { width: 66px; height: 66px; }
}

/* 首页「行业资讯」只显示置顶内容，为空时的提示行（2026-09-22） */
.kk-news-list .kk-news-empty {
  list-style: none;
  padding: 28px 0;
  text-align: center;
  font-size: 13px;
  color: var(--kk-text-3);
}

/* ==================================================================
 * 前端全站：顶部搜索框吸顶悬浮（2026-09-22 阿牛要求）
 *   下滑时头部自动收窄为「Logo + 搜索框 + 用户区」的紧凑条，
 *   热词与副标语自动隐藏 —— 不再是一滑就整块消失。
 * ================================================================== */
.kk-header {
  position: sticky;
  top: 0;
  z-index: 900;
  transition: box-shadow .25s var(--kk-ease);
}
body.kk-scrolled .kk-header { box-shadow: 0 8px 26px rgba(15, 23, 42, .10); }
body.kk-scrolled .kk-header-main { padding: 9px 0; gap: 18px; }
/* ⚠️ 这一条原来写的是 `body.kk-scrolled .kk-logo-img` —— 选择器权重(0,2,1) 高过
      `.kk-brand-logo .kk-logo-img`(0,2,0)，于是**页面往下滚超过 400px 时，
      品牌馆 / 企业库 / 企业主页的 Logo 全被压成 26px，看不清**。
      现在只作用于页头 logo。 */
body.kk-scrolled .kk-header .kk-logo-img { height: 26px; }
body.kk-scrolled .kk-logo-slogan { display: none; }
body.kk-scrolled .kk-search { gap: 0; }
body.kk-scrolled .kk-search-hot { display: none; }
body.kk-scrolled .kk-search-box { height: 40px; }
/* 锚点跳转时给吸顶条留出空间，避免标题被压住 */
html { scroll-padding-top: 96px; }
@media (max-width: 1180px) {
  body.kk-scrolled .kk-header-main { padding: 8px 0; }
}

/* ==================================================================
 * 后台排序面板：网格紧凑模式（一行 5 个 / 产品两行）
 *   用法：orderPanel(标题, 说明, rows, { grid: 5 })
 * ================================================================== */
.kk-order-list.is-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}
.kk-order-list.is-grid .kk-order-item {
  padding: 5px 7px;
  gap: 6px;
  background: #fff;
}
.kk-order-list.is-grid .kk-order-no {
  flex: 0 0 18px; height: 18px; line-height: 18px; font-size: 10.5px;
}
.kk-order-list.is-grid .kk-order-name {
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kk-order-list.is-grid .kk-order-name em { display: none; }
.kk-order-list.is-grid .kk-order-btns { gap: 2px; }
.kk-order-list.is-grid .kk-order-btns .kk-btn {
  height: 22px; min-width: 22px; padding: 0 4px; font-size: 10px; border-radius: 5px;
}
.kk-order-panel.is-compact { padding: 11px 13px; margin-bottom: 12px; }
.kk-order-panel.is-compact .kk-order-head { margin-bottom: 8px; }
.kk-order-panel.is-compact .kk-order-head b { font-size: 13.5px; }
.kk-order-panel.is-compact .kk-order-head span { font-size: 11.5px; }
@media (max-width: 1280px) { .kk-order-list.is-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1024px) { .kk-order-list.is-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 768px)  { .kk-order-list.is-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ==================================================================
 * 「小酷」免注册即时聊天（2026-09-22 阿牛要求）
 *   ① 访客端：右下角悬浮球 + 聊天面板（挂在所有前端页面）
 *   ② 管理端：值守台（后台「小酷消息」tab / kuaichat-admin.html 独立窗口）
 * ================================================================== */

/* ---------- ① 访客端 ---------- */
.kk-chat { position: fixed; right: 20px; bottom: 22px; z-index: 980; }

.kk-chat-fab {
  position: relative;
  display: flex; align-items: center; gap: 8px;
  height: 52px; padding: 0 18px 0 14px;
  border: 0; border-radius: 26px; cursor: pointer;
  background: var(--kk-grad-primary);
  color: #fff; font-size: 14.5px; font-weight: 700; letter-spacing: .3px;
  box-shadow: 0 10px 26px rgba(31, 107, 255, .34);
  transition: transform .22s var(--kk-ease), box-shadow .22s var(--kk-ease), background .2s;
}
.kk-chat-fab:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(31, 107, 255, .42); }
.kk-chat-fab.is-open { background: var(--kk-navy); box-shadow: 0 8px 22px rgba(12, 42, 85, .3); }
.kk-chat-fab-ico { font-size: 21px; line-height: 1; }
.kk-chat-dot {
  position: absolute; top: -5px; right: -3px;
  min-width: 20px; height: 20px; line-height: 20px; padding: 0 5px;
  border-radius: 10px; background: var(--kk-orange); color: #fff;
  font-size: 11px; font-weight: 700; text-align: center;
  box-shadow: 0 0 0 2px #fff;
}

.kk-chat-panel {
  position: absolute; right: 0; bottom: 64px;
  width: 374px; max-width: calc(100vw - 28px);
  height: 566px; max-height: calc(100vh - 150px);
  background: #fff; border-radius: 16px;
  border: 1px solid var(--kk-border);
  box-shadow: 0 22px 60px rgba(12, 42, 85, .22);
  display: flex; flex-direction: column; overflow: hidden;
  opacity: 0; visibility: hidden; transform: translateY(14px) scale(.98);
  transform-origin: right bottom;
  transition: opacity .22s var(--kk-ease), transform .26s var(--kk-ease), visibility .22s;
}
.kk-chat-panel.show { opacity: 1; visibility: visible; transform: none; }

.kk-chat-head {
  flex: 0 0 auto; display: flex; align-items: center; gap: 10px;
  padding: 13px 14px; color: #fff;
  background: var(--kk-grad-dark);
}
.kk-chat-avatar {
  width: 36px; height: 36px; border-radius: 10px; flex: 0 0 36px;
  background: rgba(255, 255, 255, .18);
  display: flex; align-items: center; justify-content: center; font-size: 20px;
}
.kk-chat-head-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.kk-chat-head-txt b { font-size: 14.5px; color: #fff; }
.kk-chat-status { font-style: normal; font-size: 11.5px; color: rgba(255, 255, 255, .8); }
.kk-chat-status.is-online { color: #a8f5cf; }
.kk-chat-status.is-off { color: #ffd9bd; }
.kk-chat-x {
  flex: 0 0 auto; width: 28px; height: 28px; border-radius: 8px;
  background: rgba(255, 255, 255, .14); border: 0; color: #fff;
  font-size: 13px; cursor: pointer; line-height: 1;
}
.kk-chat-x:hover { background: rgba(255, 255, 255, .28); }

.kk-chat-notice {
  flex: 0 0 auto; font-size: 12px; line-height: 1.65; padding: 9px 14px;
  border-bottom: 1px solid var(--kk-border);
}
.kk-chat-notice.is-offline { background: #fff8ec; color: #8a5a06; }
.kk-chat-notice.is-demo { background: #f1f5f9; color: #475569; }
.kk-chat-notice code { background: rgba(0,0,0,.06); padding: 1px 5px; border-radius: 4px; font-size: 11px; }

.kk-chat-body {
  flex: 1 1 auto; min-height: 0; overflow-y: auto;
  padding: 14px; background: #f7faff;
  display: flex; flex-direction: column; gap: 10px;
}
.kk-chat-hello { text-align: center; padding: 14px 8px; }
.kk-chat-hello-ico {
  width: 52px; height: 52px; margin: 0 auto 10px; border-radius: 14px;
  background: var(--kk-primary-light); font-size: 26px; line-height: 52px;
}
.kk-chat-hello-t { font-size: 14.5px; font-weight: 700; margin-bottom: 8px; }
.kk-chat-hello-d {
  font-size: 12.5px; color: var(--kk-text-2); line-height: 1.85;
  background: #fff; border: 1px solid var(--kk-border);
  border-radius: 10px; padding: 12px 14px; text-align: left;
}
.kk-chat-time { text-align: center; font-size: 11px; color: var(--kk-text-3); margin: 2px 0; }
.kk-chat-row { display: flex; }
.kk-chat-row.is-me { justify-content: flex-end; }
.kk-chat-bub {
  max-width: 82%; padding: 9px 13px; border-radius: 12px;
  font-size: 13px; line-height: 1.72; white-space: normal; word-break: break-word;
  background: #fff; border: 1px solid var(--kk-border); color: var(--kk-text);
  border-top-left-radius: 4px;
}
.kk-chat-row.is-me .kk-chat-bub {
  background: var(--kk-grad-primary); border: 0; color: #fff;
  border-top-left-radius: 12px; border-top-right-radius: 4px;
}

.kk-chat-quick {
  flex: 0 0 auto; display: flex; gap: 6px; flex-wrap: wrap;
  padding: 8px 12px 0; background: #fff;
}
.kk-chat-quick button {
  border: 1px solid var(--kk-border); background: #fff; color: var(--kk-text-2);
  font-size: 11.5px; padding: 4px 9px; border-radius: 999px; cursor: pointer;
  transition: all .18s var(--kk-ease);
}
.kk-chat-quick button:hover { border-color: var(--kk-primary); color: var(--kk-primary); background: var(--kk-primary-light); }

.kk-chat-input {
  flex: 0 0 auto; display: flex; align-items: flex-end; gap: 8px;
  padding: 10px 12px 8px; border-top: 1px solid var(--kk-border); background: #fff;
}
.kk-chat-input textarea {
  flex: 1; min-height: 40px; max-height: 96px; resize: none;
  border: 1px solid var(--kk-border-strong); border-radius: 10px;
  padding: 9px 11px; font-size: 13px; line-height: 1.6; font-family: inherit;
  outline: 0; transition: border-color .2s, box-shadow .2s;
}
.kk-chat-input textarea:focus { border-color: var(--kk-primary); box-shadow: 0 0 0 3px var(--kk-primary-light); }
.kk-chat-input button {
  flex: 0 0 auto; height: 40px; padding: 0 18px; border: 0; border-radius: 10px;
  background: var(--kk-grad-primary); color: #fff; font-size: 13.5px; font-weight: 700;
  cursor: pointer; transition: filter .2s;
}
.kk-chat-input button:hover { filter: brightness(1.06); }

.kk-chat-foot {
  flex: 0 0 auto; display: flex; align-items: center; gap: 10px;
  padding: 0 12px 10px; background: #fff;
}
.kk-chat-foot input {
  flex: 0 1 150px; height: 28px; border: 1px solid var(--kk-border);
  border-radius: 7px; padding: 0 9px; font-size: 11.5px; outline: 0;
}
.kk-chat-foot input:focus { border-color: var(--kk-primary); }
.kk-chat-foot-tip { font-size: 10.5px; color: var(--kk-text-3); margin-left: auto; }

/* 聊天面板打开时，让出右下角的二维码浮窗，避免叠在一起 */
body.kk-chat-open .kk-float-qr { opacity: 0; visibility: hidden; pointer-events: none; }

@media (max-width: 640px) {
  .kk-chat { right: 12px; bottom: 14px; }
  .kk-chat-fab { height: 46px; padding: 0 14px 0 12px; font-size: 13.5px; }
  .kk-chat-fab-ico { font-size: 18px; }
  .kk-chat-panel {
    position: fixed; left: 10px; right: 10px; bottom: 10px;
    width: auto; max-width: none; height: auto; top: 76px; max-height: none;
    border-radius: 14px;
  }
}

/* ---------- ② 管理端值守台 ---------- */
.kk-kc {
  position: relative;
  display: flex; flex-direction: column;
  height: 640px; max-height: calc(100vh - 190px);
  background: #fff; border: 1px solid var(--kk-border);
  border-radius: 12px; overflow: hidden;
  box-shadow: 0 2px 12px rgba(15, 23, 42, .05);
}
.kk-kc-top {
  flex: 0 0 auto; display: flex; align-items: center; gap: 14px;
  padding: 12px 16px; border-bottom: 1px solid var(--kk-border);
  background: #fff;
}
.kk-kc-title { font-size: 15px; font-weight: 700; display: flex; align-items: baseline; gap: 8px; }
.kk-kc-sub { font-size: 11.5px; font-weight: 400; color: var(--kk-text-3); }
.kk-kc-state { font-size: 12.5px; margin-left: auto; }
.kk-kc-state.is-on { color: #059669; font-weight: 600; }
.kk-kc-state.is-off { color: var(--kk-orange-dark); font-weight: 600; }
.kk-kc-tag-demo {
  display: inline-block; margin-right: 8px; padding: 1px 7px; border-radius: 999px;
  background: #f1f5f9; color: #64748b; font-size: 11px; font-weight: 600;
}
.kk-kc-tools { display: flex; align-items: center; gap: 12px; }
.kk-kc-check { font-size: 12.5px; color: var(--kk-text-2); display: inline-flex; align-items: center; gap: 5px; cursor: pointer; }

.kk-kc-body { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 268px 1fr; }

.kk-kc-list {
  border-right: 1px solid var(--kk-border); overflow-y: auto; background: #fbfcfe;
}
.kk-kc-item { position: relative; padding: 11px 14px; border-bottom: 1px solid var(--kk-border); cursor: pointer; transition: background .16s; }
.kk-kc-item:hover { background: #f1f6ff; }
.kk-kc-item.is-active { background: var(--kk-primary-light); box-shadow: inset 3px 0 0 var(--kk-primary); }
.kk-kc-item.has-unread b { color: var(--kk-navy); }
.kk-kc-item-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.kk-kc-item-top b { font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kk-kc-item-top span { flex: 0 0 auto; font-size: 11px; color: var(--kk-text-3); }
.kk-kc-item-msg {
  font-size: 12px; color: var(--kk-text-3); margin-top: 4px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.kk-kc-item-msg i { font-style: normal; color: var(--kk-primary); }
.kk-kc-badge {
  position: absolute; right: 12px; bottom: 10px;
  min-width: 18px; height: 18px; line-height: 18px; padding: 0 5px;
  border-radius: 9px; background: var(--kk-orange); color: #fff;
  font-size: 11px; font-weight: 700; text-align: center;
}

.kk-kc-chat { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.kk-kc-chat-head {
  flex: 0 0 auto; display: flex; align-items: center; gap: 12px;
  padding: 11px 16px; border-bottom: 1px solid var(--kk-border);
}
.kk-kc-chat-head b { font-size: 14px; }
.kk-kc-head-meta { font-size: 11.5px; color: var(--kk-text-3); margin-left: auto; }

.kk-kc-thread {
  flex: 1 1 auto; min-height: 0; overflow-y: auto;
  padding: 14px 16px; background: #f8fbff;
  display: flex; flex-direction: column; gap: 12px;
}
.kk-kc-time { text-align: center; font-size: 11px; color: var(--kk-text-3); }
.kk-kc-row { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.kk-kc-row.is-me { align-items: flex-end; }
.kk-kc-name { font-size: 11px; color: var(--kk-text-3); }
.kk-kc-bub {
  max-width: 76%; padding: 9px 13px; border-radius: 12px;
  font-size: 13px; line-height: 1.72; word-break: break-word;
  background: #fff; border: 1px solid var(--kk-border); color: var(--kk-text);
}
.kk-kc-row.is-me .kk-kc-bub { background: var(--kk-grad-primary); border: 0; color: #fff; }

.kk-kc-quick { flex: 0 0 auto; display: flex; gap: 6px; flex-wrap: wrap; padding: 9px 16px 0; }
.kk-kc-quick button {
  border: 1px solid var(--kk-border); background: #fff; color: var(--kk-text-2);
  font-size: 11.5px; padding: 4px 9px; border-radius: 999px; cursor: pointer;
}
.kk-kc-quick button:hover { border-color: var(--kk-primary); color: var(--kk-primary); background: var(--kk-primary-light); }

.kk-kc-input {
  flex: 0 0 auto; display: flex; align-items: flex-end; gap: 10px;
  padding: 10px 16px 14px; border-top: 1px solid var(--kk-border); background: #fff;
}
.kk-kc-input textarea {
  flex: 1; min-height: 52px; max-height: 120px; resize: vertical;
  border: 1px solid var(--kk-border-strong); border-radius: 10px;
  padding: 9px 12px; font-size: 13px; line-height: 1.65; font-family: inherit; outline: 0;
}
.kk-kc-input textarea:focus { border-color: var(--kk-primary); box-shadow: 0 0 0 3px var(--kk-primary-light); }

.kk-kc-empty {
  margin: auto; text-align: center; color: var(--kk-text-3); font-size: 13px; line-height: 2;
}
.kk-kc-empty span { font-size: 11.5px; }

.kk-kc-mask {
  position: absolute; inset: 0; background: rgba(12, 42, 85, .34);
  display: flex; align-items: center; justify-content: center; z-index: 30;
}
.kk-kc-dialog {
  width: 320px; background: #fff; border-radius: 12px; padding: 20px;
  box-shadow: 0 20px 48px rgba(12, 42, 85, .26);
}
.kk-kc-dialog p { margin: 0 0 16px; font-size: 13.5px; line-height: 1.75; }
.kk-kc-dialog-acts { display: flex; justify-content: flex-end; gap: 8px; }

.kk-kc-toast {
  position: fixed; top: 78px; left: 50%; transform: translateX(-50%) translateY(-10px);
  background: var(--kk-navy); color: #fff; padding: 11px 20px; border-radius: 10px;
  font-size: 13px; z-index: 99999; opacity: 0; pointer-events: none;
  transition: all .25s var(--kk-ease); max-width: 520px;
  box-shadow: 0 12px 32px rgba(12, 42, 85, .28);
}
.kk-kc-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.kk-kc-toast.is-success { background: #059669; }
.kk-kc-toast.is-warning { background: #d97706; }
.kk-kc-toast.is-info { background: var(--kk-primary); }
.kk-kc-toast.is-danger { background: #dc2626; }

@media (max-width: 820px) {
  .kk-kc-body { grid-template-columns: 1fr; }
  .kk-kc-list { max-height: 190px; border-right: 0; border-bottom: 1px solid var(--kk-border); }
  .kk-kc-top { flex-wrap: wrap; gap: 8px; }
  .kk-kc-state { order: 3; margin-left: 0; width: 100%; }
}

/* ==================================================================
 * ① 搜索框吸顶：收窄过程加过渡，减少高度跳变带来的闪烁感（2026-09-22）
 * ================================================================== */
.kk-header-main { transition: padding .2s var(--kk-ease), gap .2s var(--kk-ease); }
.kk-header .kk-logo-img { transition: height .2s var(--kk-ease); }

/* ==================================================================
 * ② 首页「行业资讯」：行距收紧 + 与左侧「人物访谈」等高（2026-09-22）
 * ================================================================== */
.kk-news-col { display: flex; flex-direction: column; min-height: 0; }
.kk-news-col .kk-section-head { margin-bottom: 14px; }
.kk-news-panel { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; }
.kk-news-panel .kk-card-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
.kk-news-list-tight .kk-news-item { padding: 7px 0; gap: 8px; }
.kk-news-list-tight .kk-news-item a { font-size: 13.5px; }
.kk-news-list-tight .kk-news-item .kk-news-tag { font-size: 11.5px; padding: 1px 7px; }
.kk-news-list-tight .kk-news-item .kk-news-date { font-size: 11.5px; }

/* ==================================================================
 * ③ 品牌馆 / 企业库 顶部紧凑化：不滚动就能看到一行卡片（2026-09-22 阿牛要求）
 *    仅作用于这两个页面（按 data-page 限定），不影响其它板块页的 banner
 * ================================================================== */
body[data-page="brands"] .kk-page-hero,
body[data-page="companies"] .kk-page-hero { max-height: 104px; }
body[data-page="brands"] .kk-page-hero img#kkPageBanner,
body[data-page="companies"] .kk-page-hero img#kkPageBanner {
  height: 104px; max-height: 104px; object-position: center;
}
body[data-page="brands"] .kk-breadcrumb,
body[data-page="companies"] .kk-breadcrumb { padding: 8px 0 0; font-size: 12.5px; }
body[data-page="brands"] .kk-section,
body[data-page="companies"] .kk-section { padding-top: 0 !important; }

/* 首页：板块上下间距收紧（阿牛 2026-10-09，46px → 30px，省版面也更好看） */
body[data-page="index"] .kk-section { padding: 30px 0; }
@media (max-width: 1100px) { body[data-page="index"] .kk-section { padding: 24px 0; } }
@media (max-width: 600px)  { body[data-page="index"] .kk-section { padding: 20px 0; } }

/* 紧凑页头：标题 + 副标题 + 计数 + 动作，一行搞定 */
.kk-list-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 2px 0 10px; }
.kk-list-head h2 {
  font-size: 19px; margin: 0; display: flex; align-items: baseline; gap: 9px; flex-wrap: wrap;
}
.kk-list-head h2::before {
  content: ''; display: inline-block; width: 4px; height: 15px; border-radius: 2px;
  background: var(--kk-grad-primary); margin-right: 2px; vertical-align: -1px;
}
.kk-list-head .sp { flex: 1; }
.kk-list-head .kk-count { font-size: 12.5px; color: var(--kk-text-3); }

/* 搜索 + 筛选合成一个紧凑面板 */
.kk-flt {
  background: #fff; border: 1px solid var(--kk-border); border-radius: 10px;
  padding: 10px 14px; margin-bottom: 10px;
}
.kk-flt .kk-flt-search {
  display: flex; gap: 8px; align-items: center; flex-wrap: wrap;
  padding-bottom: 8px; border-bottom: 1px dashed var(--kk-border);
}
.kk-flt .kk-flt-search input {
  flex: 1; min-width: 200px; height: 34px; padding: 0 12px; outline: 0;
  border: 1px solid var(--kk-border); border-radius: 8px; font-size: 13px;
}
.kk-flt .kk-flt-search input:focus { border-color: var(--kk-primary); box-shadow: 0 0 0 3px var(--kk-primary-light); }
.kk-flt .kk-flt-search .kk-btn { height: 34px; }
.kk-flt .kk-filter {
  background: transparent; border: 0; border-radius: 0;
  box-shadow: none; padding: 0; margin: 0;
}
.kk-flt .kk-filter-row { padding: 5px 0; gap: 10px; }
.kk-flt .kk-filter-label { font-size: 12.5px; min-width: 88px; padding-top: 3px; }
.kk-flt .kk-filter-options { gap: 4px; }
.kk-flt .kk-filter-options a { font-size: 12.5px; padding: 2px 10px; border-radius: 5px; }
.kk-flt-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.kk-flt-2col .kk-filter-row { flex-direction: column; align-items: stretch; gap: 4px; border-bottom: 0; padding: 5px 0 0; }
.kk-flt-2col .kk-filter-label { min-width: 0; padding-top: 0; font-weight: 600; }
.kk-flt-2col .kk-region-mini-cascade { width: 100%; max-width: none; }
.kk-flt-2col .kk-region-mini-cascade select { height: 30px; padding: 3px 7px; }
.kk-flt .kk-region-mini-summary { margin-top: 3px; }
.kk-flt-alert {
  font-size: 12px; color: #047857; background: #ecfdf5; border: 1px solid #a7f3d0;
  border-radius: 7px; padding: 5px 10px; white-space: nowrap;
}
@media (max-width: 900px) {
  .kk-flt-2col { grid-template-columns: 1fr; gap: 0; }
  body[data-page="brands"] .kk-page-hero,
  body[data-page="companies"] .kk-page-hero { max-height: 74px; }
  body[data-page="brands"] .kk-page-hero img#kkPageBanner,
  body[data-page="companies"] .kk-page-hero img#kkPageBanner { height: 74px; max-height: 74px; }
}

/* ==================================================================
 * 标准后台壳 .kk-bk（2026-09-22 立）
 *   厂家中心 / 代理商中心 / 管理后台 统一使用：
 *     左侧固定导航 + 右侧主区（页头 + 内容），无顶栏 / 搜索框 / 导航条 / 页脚。
 *   目标：一眼就是「后台」，且同屏有效信息更多。
 * ================================================================== */
.kk-bk {
  display: flex; min-height: 100vh;
  background: #eef1f6;
  font-size: 14px;
}

/* ---------- 左侧栏 ---------- */
.kk-bk-side {
  width: 198px; flex: 0 0 198px;
  background: linear-gradient(180deg, #101c2e 0%, #16263c 100%);
  color: #9fb0c6;
  display: flex; flex-direction: column;
  position: sticky; top: 0; height: 100vh;
  z-index: 30;
}
.kk-bk-brand {
  padding: 16px 18px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  display: flex; align-items: center; gap: 9px; flex-wrap: wrap;
}
.kk-bk-brand .ico {
  width: 28px; height: 28px; flex: 0 0 28px; border-radius: 8px;
  background: var(--kk-grad-primary);
  display: flex; align-items: center; justify-content: center;
  font-size: 15px;
}
.kk-bk-brand b { color: #fff; font-size: 14.5px; letter-spacing: .4px; }
.kk-bk-brand i {
  font-style: normal; font-size: 11.5px; color: #7d90a8;
  width: 100%; margin: -2px 0 0 37px;
}

/* 当前身份卡 */
.kk-bk-me {
  padding: 11px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  display: flex; align-items: center; gap: 9px;
}
.kk-bk-me .av {
  width: 30px; height: 30px; flex: 0 0 30px; border-radius: 9px;
  background: rgba(255, 255, 255, .1); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 12.5px; font-weight: 700;
}
.kk-bk-me .txt { min-width: 0; flex: 1; }
.kk-bk-me .txt b {
  display: block; color: #e7edf5; font-size: 12.5px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.kk-bk-me .txt span { font-size: 11px; color: #7d90a8; }

/* 导航 */
.kk-bk-nav { padding: 8px 0; overflow-y: auto; flex: 1; }
.kk-bk-nav .kk-bk-group {
  padding: 12px 18px 5px; font-size: 11px; color: #64778f; letter-spacing: .6px;
}
.kk-bk-nav a {
  display: flex; align-items: center; gap: 9px;
  padding: 9px 16px; font-size: 13.5px; color: #a9bacd;
  border-left: 3px solid transparent; cursor: pointer;
  text-decoration: none; transition: background .14s, color .14s;
}
.kk-bk-nav a .ico { font-size: 15px; width: 18px; text-align: center; }
.kk-bk-nav a:hover { background: rgba(255, 255, 255, .05); color: #fff; }
.kk-bk-nav a.active {
  background: rgba(31, 107, 255, .18); color: #fff;
  border-left-color: var(--kk-primary); font-weight: 600;
}
.kk-bk-nav a .badge {
  margin-left: auto; background: var(--kk-orange); color: #fff;
  font-size: 10.5px; line-height: 16px; padding: 0 6px; border-radius: 8px;
  font-weight: 700;
}
.kk-bk-nav a .badge.zero { background: rgba(255, 255, 255, .14); color: #93a4b9; }

/* 侧栏底部动作 */
.kk-bk-side-foot {
  border-top: 1px solid rgba(255, 255, 255, .07);
  padding: 8px 0 12px;
}
.kk-bk-side-foot a {
  display: flex; align-items: center; gap: 9px;
  padding: 9px 16px; font-size: 13px; color: #93a4b9;
  text-decoration: none; transition: background .14s, color .14s;
}
.kk-bk-side-foot a:hover { background: rgba(255, 255, 255, .05); color: #fff; }
.kk-bk-side-foot a.is-quit { color: #ffb4a2; }
.kk-bk-side-foot a.is-quit:hover { color: #ff8266; }

/* ---------- 主区 ---------- */
.kk-bk-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }

.kk-bk-top {
  position: sticky; top: 0; z-index: 20;
  background: #fff; border-bottom: 1px solid #e3e8ef;
  padding: 11px 20px;
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.kk-bk-top .hd { min-width: 0; }
.kk-bk-top h1 {
  margin: 0; font-size: 17px; line-height: 1.25;
  display: flex; align-items: center; gap: 8px;
}
.kk-bk-top .sub { font-size: 12px; color: var(--kk-text-3); margin-top: 2px; }
.kk-bk-top .acts {
  margin-left: auto; display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.kk-bk-top .acts a, .kk-bk-top .acts button {
  font-size: 12.5px; padding: 5px 11px; border-radius: 6px;
  border: 1px solid #dfe5ee; background: #fff; color: var(--kk-text-2);
  cursor: pointer; text-decoration: none; transition: all .15s; white-space: nowrap;
}
.kk-bk-top .acts a:hover, .kk-bk-top .acts button:hover {
  border-color: var(--kk-primary); color: var(--kk-primary);
}
.kk-bk-top .acts .is-quit { color: #d9480f; border-color: #ffd9c9; background: #fff6f2; }
.kk-bk-top .acts .is-quit:hover { color: #fff; background: #e8590c; border-color: #e8590c; }

.kk-bk-body { padding: 14px 20px 30px; flex: 1; min-width: 0; }

/* 后台内的「紧凑化」重写：卡片更薄、留白更小 */
.kk-bk-body .kk-mc-panel,
.kk-bk-body .kk-ac-card {
  padding: 14px 16px !important; margin-bottom: 12px !important;
  border-radius: 10px !important;
}
.kk-bk-body .kk-mc-panel-head,
.kk-bk-body .kk-ac-card-title { margin-bottom: 10px !important; padding-bottom: 8px !important; }
.kk-bk-body .kk-mc-hint { margin-top: 10px !important; padding: 8px 12px !important; font-size: 12px !important; }
.kk-bk-body .kk-mc-stats { gap: 10px !important; }
.kk-bk-body .kk-mc-stat { padding: 11px 13px !important; }
.kk-bk-body .kk-mc-stat b { font-size: 21px !important; }
.kk-bk-body h2 { font-size: 15.5px !important; }

/* 顶部统计条（页头下方一行，代替原大统计块） */
.kk-bk-statbar {
  display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 12px;
}
.kk-bk-statbar .item {
  flex: 1 1 0; min-width: 118px;
  background: #fff; border-radius: 9px; padding: 10px 13px;
  border-left: 3px solid var(--kk-primary);
  box-shadow: 0 1px 4px rgba(15, 23, 42, .05);
}
.kk-bk-statbar .item.warn { border-left-color: var(--kk-accent); }
.kk-bk-statbar .item.ok { border-left-color: var(--kk-success); }
.kk-bk-statbar .item .n { font-size: 20px; font-weight: 700; line-height: 1.1; }
.kk-bk-statbar .item .l { font-size: 11.5px; color: var(--kk-text-3); margin-top: 2px; }

/* 登录闸门（未登录 / 身份不符） */
.kk-bk-gate {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: #eef1f6; padding: 40px 16px;
}
.kk-bk-gate .box {
  background: #fff; border-radius: 14px; padding: 34px 36px;
  box-shadow: 0 10px 36px rgba(15, 23, 42, .09);
  max-width: 470px; text-align: center;
}
.kk-bk-gate .icon { font-size: 44px; line-height: 1; }
.kk-bk-gate h2 { margin: 14px 0 8px; font-size: 19px; }
.kk-bk-gate p { color: var(--kk-text-3); font-size: 13.5px; margin: 0 0 8px; line-height: 1.85; }
.kk-bk-gate .acts { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 18px; }
.kk-bk-gate code { background: var(--kk-bg-soft); padding: 2px 8px; border-radius: 4px; color: var(--kk-primary); }

/* ---------- 移动端：侧栏收成横向滚动条 ---------- */
@media (max-width: 900px) {
  .kk-bk { flex-direction: column; }
  .kk-bk-side {
    width: 100%; flex: 0 0 auto; height: auto; position: static;
    flex-direction: column;
  }
  .kk-bk-brand { padding: 12px 14px; }
  .kk-bk-me { display: none; }
  .kk-bk-nav {
    display: flex; overflow-x: auto; padding: 0; gap: 0;
    border-top: 1px solid rgba(255, 255, 255, .07);
  }
  .kk-bk-nav .kk-bk-group { display: none; }
  .kk-bk-nav a {
    flex: 0 0 auto; border-left: 0; border-bottom: 3px solid transparent;
    padding: 10px 14px; font-size: 13px; white-space: nowrap;
  }
  .kk-bk-nav a.active { border-left: 0; border-bottom-color: var(--kk-primary); }
  .kk-bk-side-foot { display: flex; padding: 0; border-top: 0; }
  .kk-bk-side-foot a { flex: 1; justify-content: center; font-size: 12.5px; padding: 8px 10px; }
  .kk-bk-top { padding: 10px 14px; }
  .kk-bk-top .acts { margin-left: 0; width: 100%; }
  .kk-bk-body { padding: 12px 14px 26px; }
}

/* ==================================================================
 * 2026-09-22 第 12 批：导航外链 / 小酷并入悬浮条 / 首页品牌馆 6×6 纯 Logo
 * ================================================================== */

/* ---------- ① 导航条外链（阿牛有话说 / 渠道招商会） ---------- */
.kk-nav-list > li.kk-nav-out > a::after {
  content: '↗';
  font-size: 10px; margin-left: 3px; opacity: .55; vertical-align: 1px;
}
.kk-nav-list > li.kk-nav-out > a:hover::after { opacity: 1; }

/* ---------- ② 悬浮条「客服」位 = 小酷入口 ---------- */
.kk-float-qr a.kk-float-chat { position: relative; cursor: pointer; }
.kk-float-chat .kk-float-chat-ico {
  width: 48px; height: 48px; border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  font-size: 25px; line-height: 1;
  background: var(--kk-grad-primary);
  transition: background .2s;
}
.kk-float-chat:hover .kk-float-chat-ico { filter: brightness(1.08); }
.kk-float-chat .kk-float-chat-txt {
  font-size: 11px; color: var(--kk-text-2); margin-top: 2px; white-space: nowrap;
}
.kk-float-chat.is-chat-open .kk-float-chat-ico { background: var(--kk-navy); }
.kk-float-chat.is-chat-open .kk-float-chat-txt { color: var(--kk-navy); font-weight: 600; }
.kk-float-chat .kk-chat-dot { top: -4px; right: -4px; }

/* 未就绪前先禁掉（避免闪一下没反应的按钮） */
.kk-float-qr a.kk-float-chat:not(.kk-float-chat-ready) { opacity: .85; }

/* ---------- ③ 小酷面板：并入悬浮条时的定位 ---------- */
.kk-chat.is-rail {
  width: 0; height: 0; right: 88px; bottom: 22px;
}
.kk-chat.is-rail .kk-chat-panel {
  position: absolute; right: 0; bottom: 0;
}
@media (max-width: 900px) {
  .kk-chat.is-rail { right: 78px; bottom: 16px; }
}
@media (max-width: 600px) {
  .kk-chat.is-rail { right: 0; bottom: 14px; }
  .kk-chat.is-rail .kk-chat-panel {
    position: fixed; right: 10px; bottom: 14px;
    width: calc(100vw - 20px); max-width: none;
    height: min(600px, calc(100vh - 28px)); max-height: none;
  }
}

/* ---------- ④ 首页品牌馆：6 × 6 纯 Logo 墙 ---------- */
.kk-brand-wall {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  background: #fff;
  border: 1px solid var(--kk-border);
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 4px 18px rgba(15, 23, 42, .04);
}
.kk-bw-cell {
  display: flex; align-items: center; justify-content: center;
  height: 86px; padding: 12px 14px;
  border-radius: 10px;
  background: #fbfcfe;
  border: 1px solid #eef2f7;
  transition: transform .22s var(--kk-ease), box-shadow .22s var(--kk-ease),
              border-color .22s var(--kk-ease), background .22s var(--kk-ease);
}
.kk-bw-cell img {
  max-width: 100%; max-height: 100%;
  object-fit: contain; display: block;
}
.kk-bw-cell .kk-bw-fallback {
  font-size: 13px; font-weight: 700; color: var(--kk-primary);
  letter-spacing: .5px; text-align: center; line-height: 1.3;
  overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.kk-bw-cell:hover {
  transform: translateY(-3px);
  background: #fff;
  border-color: rgba(31, 107, 255, .3);
  box-shadow: 0 10px 24px rgba(31, 107, 255, .14);
}
.kk-bw-cell.is-empty { visibility: hidden; }

@media (max-width: 1200px) { .kk-brand-wall { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 1000px) {
  .kk-brand-wall { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 14px; }
  .kk-bw-cell { height: 76px; padding: 10px; }
}
@media (max-width: 760px)  { .kk-brand-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 520px) {
  .kk-brand-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 10px; border-radius: 12px; }
  .kk-bw-cell { height: 66px; padding: 8px; border-radius: 8px; }
}

/* ==================================================================
 * 2026-09-22 第 13 批
 *   ① 后台厂家库 · 行内「类别」下拉（审核时纠正厂家乱选的类别）
 *   ② 首页「热门产品」6 × 4 = 24 的网格与卡片比例
 * ================================================================== */

/* ---------- ① 厂家库行内类别下拉 ---------- */
.kk-fact-class {
  height: 28px; padding: 0 6px !important; font-size: 12px;
  line-height: 26px; min-width: 92px; max-width: 104px;
  background: #fff !important; cursor: pointer;
}
.kk-fact-class:hover { border-color: var(--kk-primary) !important; }
.kk-fact-class:focus { outline: 2px solid rgba(31, 107, 255, .18); }

/* 代理商后台：概览用统一统计条后，去掉老的状态大卡占位 */
.kk-ac-preview-wrap { align-items: flex-start; }

/* ---------- ② 首页热门产品：6 × 4 = 24 ---------- */
.kk-prod-grid-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }

.kk-hot-prod { border-radius: 12px; }
.kk-hot-prod .kk-product-img {
  aspect-ratio: 1 / 1;
  padding: 10px;
  background: linear-gradient(160deg, #f8fbff 0%, #eef3fb 100%);
  border-bottom: 1px solid #f0f4fa;
}
.kk-hot-prod .kk-product-img img { width: 100%; height: 100%; object-fit: contain; }

.kk-hot-prod .kk-product-info { padding: 10px 12px 12px; }
.kk-hot-prod .kk-product-name {
  font-size: 13px; line-height: 1.42; min-height: 37px;
  margin-bottom: 3px; font-weight: 600;
}
.kk-hot-prod .kk-product-meta {
  font-size: 11.5px; color: var(--kk-text-3); margin-bottom: 7px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.kk-hot-prod .kk-product-price { gap: 4px; }
.kk-hot-prod .kk-product-price .kk-price { font-size: 16px; letter-spacing: -.2px; }
.kk-hot-prod .kk-product-price .kk-unit { font-size: 11px; }

.kk-hot-prod:hover {
  transform: translateY(-4px);
  border-color: rgba(31, 107, 255, .34);
  box-shadow: 0 14px 30px rgba(12, 95, 255, .14);
}

@media (max-width: 1200px) { .kk-prod-grid-6 { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 1024px) { .kk-prod-grid-6 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } }
@media (max-width: 820px)  { .kk-prod-grid-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 620px)  {
  .kk-prod-grid-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .kk-hot-prod .kk-product-img { padding: 8px; }
  .kk-hot-prod .kk-product-info { padding: 9px 10px 10px; }
  .kk-hot-prod .kk-product-name { font-size: 12.5px; min-height: 35px; }
  .kk-hot-prod .kk-product-meta { font-size: 11px; }
  .kk-hot-prod .kk-product-price .kk-price { font-size: 15px; }
}

/* ==================================================================
 * 2026-09-22 十四批次
 *   ① 首页「平台公告」不显示日期，标题占满宽度（最多两行）
 *   ② 厂家库卡片：Logo 改长方形（2:1，与首页品牌馆 Logo 墙一致）
 *   ③ 后台通用分页条（管理员 / 厂家后台长列表分页）
 * ================================================================== */

/* ---------- ① 首页平台公告 ---------- */
.kk-hero-row .kk-news-item-notice { align-items: flex-start; gap: 8px; padding: 9px 0; }
.kk-hero-row .kk-news-item-notice .kk-news-tag { margin-top: 1px; }
.kk-hero-row .kk-news-item-notice a {
  white-space: normal;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  font-size: 13.5px; line-height: 1.45;
  word-break: break-word;
}
.kk-hero-row .kk-news-list { min-height: 0; }

/* ---------- ② 厂家库卡片 Logo（长方形 2:1） ---------- */
.kk-company-card { grid-template-columns: 132px 1fr auto; gap: 18px; }
.kk-company-logo {
  width: 132px; height: 66px; border-radius: 10px;
  font-size: 20px; letter-spacing: 1px; overflow: hidden;
}
.kk-company-logo.has-img { background: #fbfcfe; border: 1px solid #eef2f7; }
.kk-company-logo .kk-logo-img { width: 100%; height: 100%; max-height: none; object-fit: contain; display: block; }
.kk-company-prod-count { margin-left: 8px; font-size: 11.5px; color: var(--kk-text-3); font-weight: 400; }
.kk-company-products .kk-tag-more { background: #fff4e0; color: #8a5a06; cursor: help; }
.kk-company-products { line-height: 1.9; }
@media (max-width: 760px) {
  .kk-company-card { grid-template-columns: 1fr; gap: 12px; }
  .kk-company-logo { width: 120px; height: 60px; }
  .kk-company-actions { flex-direction: row; align-self: flex-start; }
}

/* ---------- ③ 后台通用分页条 ---------- */
.kk-pager {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  padding: 11px 14px; margin-top: 12px;
  background: #fff; border: 1px solid var(--kk-border); border-radius: 10px;
}
.kk-pager.is-single { justify-content: flex-end; padding: 6px 4px 0; background: transparent; border: 0; }
.kk-pager-info { font-size: 12.5px; color: var(--kk-text-3); }
.kk-pager-info b { color: var(--kk-primary); }
.kk-pager-btns { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; margin-left: auto; }
/* 页码：纯文字，无边框；当前页绿色加粗（阿牛 2026-10-09 定的样式）
   ⚠️ 前台容器的类名是 .kk-pagination（其 `a` 规则优先级更高）→ 每条都补一个 .kk-pagination 变体 */
.kk-pager-num, .kk-pagination .kk-pager-num {
  min-width: 26px; height: 30px; padding: 0 6px; border-radius: 7px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 13.5px; line-height: 1;
  border: 0; background: transparent; color: var(--kk-text-2);
  text-decoration: none; cursor: pointer; transition: all .16s var(--kk-ease);
}
.kk-pager-num:hover, .kk-pagination .kk-pager-num:hover { color: var(--kk-primary); background: var(--kk-primary-light); }
.kk-pager-num.active, .kk-pager-num.active:hover,
.kk-pagination .kk-pager-num.active, .kk-pagination .kk-pager-num.active:hover {
  color: #16a34a; font-weight: 700; background: transparent;
}
/* 旧类名保留（别处若还在用，不至于样式丢失） */
.kk-pager-btn {
  min-width: 30px; height: 30px; padding: 0 9px; border-radius: 7px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12.5px; line-height: 1;
  border: 1px solid var(--kk-border); background: #fff; color: var(--kk-text-2);
  text-decoration: none; cursor: pointer; transition: all .16s var(--kk-ease);
}
.kk-pager-btn:hover { border-color: var(--kk-primary); color: var(--kk-primary); background: var(--kk-primary-light); }
.kk-pager-btn.is-disabled { opacity: .38; cursor: not-allowed; }
/* 上一页 / 下一页：圆角方框箭头 */
.kk-pager-arrow, .kk-pagination .kk-pager-arrow {
  width: 30px; height: 30px; border-radius: 7px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 15px; line-height: 1;
  border: 1px solid var(--kk-border); background: #fff; color: var(--kk-text-2);
  text-decoration: none; cursor: pointer; transition: all .16s var(--kk-ease);
}
.kk-pager-arrow:hover, .kk-pagination .kk-pager-arrow:hover { border-color: var(--kk-primary); color: var(--kk-primary); background: var(--kk-primary-light); }
/* 跳转：页码输入框 + 蓝字「跳转」 */
.kk-pager-jumpwrap, .kk-pagination .kk-pager-jumpwrap { display: inline-flex; align-items: center; gap: 7px; margin-left: 6px; }
.kk-pager-jump, .kk-pagination .kk-pager-jump {
  width: 46px; height: 30px; text-align: center; padding: 0;
  border: 1px solid var(--kk-border); border-radius: 7px; background: #fff;
  font-size: 13px; color: var(--kk-text); outline: none; font-family: inherit;
}
.kk-pager-jump:focus, .kk-pagination .kk-pager-jump:focus { border-color: var(--kk-primary); }
.kk-pager-jumpbtn, .kk-pagination .kk-pager-jumpbtn {
  font-size: 13.5px; color: var(--kk-primary); text-decoration: none;
  cursor: pointer; white-space: nowrap; border: 0; background: transparent; padding: 0 2px;
  display: inline-flex; align-items: center; height: 30px;
}
.kk-pager-jumpbtn:hover, .kk-pagination .kk-pager-jumpbtn:hover { text-decoration: underline; }
.kk-pager-gap, .kk-pagination .kk-pager-gap { padding: 0 4px; color: var(--kk-text-3); font-size: 12.5px; }
.kk-pager-size {
  height: 30px; padding: 0 6px; border-radius: 7px;
  border: 1px solid var(--kk-border); background: #fff;
  font-size: 12.5px; color: var(--kk-text-2); cursor: pointer;
}
/* 后台筛选条：贴到列表上方更紧凑 */
.kk-admin-filter { flex-wrap: wrap; row-gap: 8px; }
.kk-admin-filter select, .kk-admin-filter input { max-width: 220px; }

/* ==================================================================
 * 2026-09-22 十四批次 ②：厂家品牌入驻 / 代理商入驻 页面改版
 *   · 紧凑 Hero（左文案 + 右三步流程）
 *   · 表单分三段（fieldset + 序号），内部两列栅格
 *   · 提交成功浮层（展示账号 / 密码 + 自动跳管理中心）
 * ================================================================== */

/* ---------- Hero ---------- */
.kk-br-hero {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: 22px; align-items: center;
  margin: 16px 0 0;
  padding: 24px 26px;
  border-radius: 14px;
  background: linear-gradient(120deg, #eef4ff 0%, #f7fbff 52%, #eefafd 100%);
  border: 1px solid #dbe7f7;
}
.kk-ag-hero { background: linear-gradient(120deg, #f2f7fd 0%, #f8fbff 52%, #eef4fb 100%); border-color: #dde7f3; }
.kk-br-hero-main { min-width: 0; }
.kk-br-hero-kicker {
  display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 1.2px;
  color: var(--kk-primary); background: #fff; border: 1px solid #d7e5fb;
  padding: 3px 10px; border-radius: 999px; margin-bottom: 10px;
}
.kk-br-hero h1 { font-size: 25px; line-height: 1.35; margin: 0 0 10px; color: var(--kk-text); }
.kk-br-hero h1 b { color: var(--kk-primary); }
.kk-br-hero p { font-size: 13.5px; line-height: 1.75; color: var(--kk-text-2); margin: 0; }
.kk-br-hero-facts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.kk-br-fact {
  font-size: 12.5px; color: var(--kk-text-2);
  background: rgba(255, 255, 255, .85);
  border: 1px solid #e2eaf6; border-radius: 8px;
  padding: 5px 10px;
}
.kk-br-fact b { color: var(--kk-orange); margin-right: 2px; }

.kk-br-hero-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.kk-br-hero-steps li {
  display: flex; align-items: flex-start; gap: 10px;
  background: rgba(255, 255, 255, .9);
  border: 1px solid #e4ecf8; border-radius: 10px;
  padding: 10px 12px;
}
.kk-br-hero-steps li > b {
  flex: 0 0 22px; height: 22px; border-radius: 50%;
  background: var(--kk-grad-primary); color: #fff;
  font-size: 12px; display: inline-flex; align-items: center; justify-content: center;
}
.kk-br-hero-steps li > span { font-size: 13px; color: var(--kk-text); font-weight: 600; line-height: 1.4; }
.kk-br-hero-steps li em { display: block; font-style: normal; font-weight: 400; font-size: 11.5px; color: var(--kk-text-3); margin-top: 2px; }

@media (max-width: 900px) {
  .kk-br-hero { grid-template-columns: 1fr; gap: 16px; padding: 20px; }
  .kk-br-hero h1 { font-size: 21px; }
}

/* ---------- 表单头 ---------- */
.kk-br-section { padding-top: 22px; }
.kk-br-form-head {
  display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap;
  margin-bottom: 12px;
}
.kk-br-form-head h2 { font-size: 19px; margin: 0; }
.kk-br-form-head > span { font-size: 12.5px; color: var(--kk-text-3); }
.kk-br-form-head i { color: var(--kk-danger); font-style: normal; }

/* ---------- 表单分段 ---------- */
.kk-br-form-card .kk-card-body { padding: 18px 20px 20px; }
.kk-br-fs { border: 0; border-top: 1px solid var(--kk-border); margin: 0; padding: 16px 0 4px; }
.kk-br-fs:first-of-type { border-top: 0; padding-top: 0; }
.kk-br-fs > legend {
  display: flex; align-items: center; gap: 8px;
  font-size: 14px; font-weight: 700; color: var(--kk-text);
  padding: 0; margin-bottom: 12px;
}
.kk-br-fs-no {
  width: 20px; height: 20px; border-radius: 6px;
  background: var(--kk-primary-light); color: var(--kk-primary);
  font-size: 12px; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
}
.kk-br-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.kk-br-col-full { grid-column: 1 / -1; }
.kk-br-hint { font-size: 11.5px; color: var(--kk-text-3); line-height: 1.6; margin-top: 2px; }
.kk-br-form .kk-form-row { margin-bottom: 14px; }
.kk-br-form .kk-form-label.required::before { content: '*'; color: var(--kk-danger); margin-right: 3px; }
.kk-br-agree { border-top: 1px solid var(--kk-border); padding-top: 14px; }
.kk-br-submit { width: 100%; justify-content: center; }
.kk-logo-uploader-box { min-height: 132px; }
.kk-logo-uploader-box img { max-width: 220px; max-height: 110px; object-fit: contain; display: block; }
.kk-logo-uploader-box.has-img { border-style: solid; background: #fbfcfe; }
@media (max-width: 620px) {
  .kk-br-grid { grid-template-columns: 1fr; }
}

/* ---------- 右侧说明卡 ---------- */
.kk-br-side-card .kk-card-body { font-size: 13px; color: var(--kk-text-2); line-height: 1.8; }
.kk-br-side-list { list-style: none; margin: 0; padding: 0; }
.kk-br-side-list li { position: relative; padding-left: 16px; margin-bottom: 8px; }
.kk-br-side-list li:last-child { margin-bottom: 0; }
.kk-br-side-list li::before {
  content: ''; position: absolute; left: 3px; top: 8px;
  width: 6px; height: 6px; border-radius: 50%; background: var(--kk-orange);
}
.kk-br-side-list li b { color: var(--kk-text); }
.kk-br-side-help .kk-card-body > div { margin-bottom: 4px; }
.kk-br-side-help .kk-card-body b { color: var(--kk-primary); }

/* ---------- 提交成功浮层 ---------- */
.kk-br-done {
  position: fixed; inset: 0; z-index: 9998;
  display: flex; align-items: center; justify-content: center;
  background: rgba(12, 42, 85, .5);
  backdrop-filter: blur(3px);
  padding: 20px;
  opacity: 0; transition: opacity .22s var(--kk-ease);
}
.kk-br-done.show { opacity: 1; }
.kk-br-done-box {
  width: 100%; max-width: 460px;
  background: #fff; border-radius: 16px;
  padding: 26px 26px 22px;
  box-shadow: 0 24px 60px rgba(12, 42, 85, .28);
  transform: translateY(10px) scale(.98);
  transition: transform .26s var(--kk-ease);
  text-align: center;
}
.kk-br-done.show .kk-br-done-box { transform: none; }
.kk-br-done-ico { font-size: 44px; line-height: 1; }
.kk-br-done-box h3 { font-size: 19px; margin: 10px 0 6px; }
.kk-br-done-sub { font-size: 12.5px; color: var(--kk-text-2); line-height: 1.7; margin: 0 0 16px; }
.kk-br-done-rows {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px;
  background: #f7fafd; border: 1px solid #e6eef8; border-radius: 10px;
  padding: 12px 14px; text-align: left;
}
.kk-br-done-rows > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.kk-br-done-rows span { font-size: 11.5px; color: var(--kk-text-3); }
.kk-br-done-rows b {
  font-size: 13.5px; color: var(--kk-primary);
  font-family: ui-monospace, Menlo, Consolas, monospace;
  word-break: break-all;
}
.kk-br-done-tip {
  margin-top: 12px; font-size: 12px; color: #92400e;
  background: #fffbeb; border: 1px solid #fde68a; border-radius: 8px;
  padding: 8px 12px; text-align: left; line-height: 1.6;
}
.kk-br-done-acts { margin-top: 16px; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.kk-br-done-acts .kk-btn { width: 100%; justify-content: center; }
.kk-br-done-acts > span { font-size: 12px; color: var(--kk-text-3); }
@media (max-width: 480px) { .kk-br-done-rows { grid-template-columns: 1fr; } }

/* 筛选条：原本只在 admin.html 内联定义，厂家中心也用到 → 提到全局（后台通用） */
.kk-admin-filter {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap; row-gap: 8px;
  background: #fff; border: 1px solid var(--kk-border);
  padding: 9px 12px; margin-bottom: 10px; border-radius: 9px;
}
.kk-admin-filter label { font-size: 13px; color: var(--kk-text-3); }
.kk-admin-filter select,
.kk-admin-filter input {
  height: 32px; padding: 0 10px;
  border: 1px solid var(--kk-border); border-radius: 8px;
  font-size: 13px; background: #fff; color: var(--kk-text);
  max-width: 220px;
}
.kk-admin-filter input { min-width: 170px; }
.kk-admin-filter select:focus,
.kk-admin-filter input:focus { border-color: var(--kk-primary); outline: none; }

/* ==================================================================
 * 2026-09-22 十五批次 ①：修「提交成功浮层」透明遮罩挡住整页点击
 *   .kk-br-done 写了 display:flex，会覆盖 [hidden] 的 UA 默认 display:none，
 *   于是 .kk-br-done 虽然带 hidden 属性仍然铺满全屏（z-index 9998）→ 整页点不动。
 *   这里显式把 [hidden] 状态压回 none，并去掉未显示时的指针事件兜底。
 * ================================================================== */
.kk-br-done[hidden] { display: none !important; }
.kk-br-done:not(.show) { pointer-events: none; opacity: 0; visibility: hidden; }
.kk-br-done.show { pointer-events: auto; visibility: visible; opacity: 1; }

/* ==================================================================
 * 2026-09-22 十五批次：招商类型标签 / 关键词库与聚合页 / 产品库 6×10 /
 *                     企业库两行文本 / 企业主页 Logo 长方形
 * ================================================================== */

/* ---------- ① 招商类型标签（招代理商 = 加粗红字；招经销商 = 加粗蓝字） ---------- */
.kk-recruit-badge {
  display: inline-block; font-weight: 800; font-size: 12.5px; line-height: 1.7;
  padding: 1px 9px; border-radius: 6px; white-space: nowrap;
  letter-spacing: .5px;
}
.kk-recruit-badge.is-agent  { color: #e11d48; background: #fff1f2; border: 1px solid #fecdd3; }
.kk-recruit-badge.is-dealer { color: #1d4ed8; background: #eff6ff; border: 1px solid #bfdbfe; }
.kk-recruit-badge.is-lg { font-size: 14.5px; padding: 2px 11px; }
.kk-recruit-badge.is-corner {
  position: absolute; left: 8px; top: 8px; z-index: 2;
  font-size: 11px; padding: 1px 7px; border-radius: 5px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .10);
}
.kk-product-card .kk-product-img { position: relative; }

/* ---------- ② 关键词聚合页 ---------- */
.kk-kw-head { margin: 6px 0 16px; }
.kk-kw-head h1 { font-size: 24px; margin: 0 0 6px; }
.kk-kw-head p { font-size: 13px; margin: 0; line-height: 1.7; }

.kk-kw-table-wrap {
  background: #fff; border: 1px solid var(--kk-border); border-radius: 12px;
  overflow: hidden; box-shadow: 0 4px 18px rgba(15, 23, 42, .04);
}
.kk-kw-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.kk-kw-table thead th {
  background: #f7f9fc; text-align: left; font-weight: 600; color: var(--kk-text-2);
  padding: 11px 16px; font-size: 13px; border-bottom: 1px solid var(--kk-border);
  white-space: nowrap;
}
.kk-kw-table tbody tr { border-top: 1px solid #f1f5f9; transition: background .16s; }
.kk-kw-table tbody tr:first-child { border-top: 0; }
.kk-kw-table tbody tr:hover { background: #f8fbff; }
.kk-kw-table td { padding: 11px 16px; vertical-align: middle; color: var(--kk-text-2); }
.kk-kw-table td a { color: var(--kk-text); font-weight: 600; }
.kk-kw-table td a:hover { color: var(--kk-primary); }
.kk-kw-code {
  font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 13px;
  background: var(--kk-bg-soft); border: 1px solid var(--kk-border);
  padding: 1px 8px; border-radius: 5px; color: var(--kk-text-2);
}
.kk-kw-table .kk-kw-price { text-align: right; font-weight: 700; color: var(--kk-orange); white-space: nowrap; }

.kk-kw-empty {
  background: #fff; border: 1px solid var(--kk-border); border-radius: 14px;
  padding: 40px 24px; text-align: center;
}
.kk-kw-empty-ico { font-size: 40px; line-height: 1; margin-bottom: 8px; }
.kk-kw-empty h3 { margin: 0 0 8px; font-size: 18px; }
.kk-kw-empty p { margin: 0 0 16px; font-size: 13px; color: var(--kk-text-2); line-height: 1.8; }
.kk-kw-empty .kk-kw-cloud { justify-content: center; margin-bottom: 18px; }

.kk-kw-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.kk-kw-chip {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; line-height: 1; padding: 7px 12px; border-radius: 999px;
  background: #fff; border: 1px solid var(--kk-border);
  color: var(--kk-text-2); text-decoration: none;
  transition: all .18s var(--kk-ease);
}
.kk-kw-chip:hover {
  border-color: var(--kk-primary); color: var(--kk-primary);
  background: var(--kk-primary-light); transform: translateY(-1px);
}
.kk-kw-chip em {
  font-style: normal; font-size: 11px; font-weight: 700;
  background: var(--kk-bg-soft); border-radius: 999px; padding: 1px 6px;
  color: var(--kk-text-3);
}
.kk-kw-chip:hover em { background: #fff; color: var(--kk-primary); }

/* ---------- ③ 产品库：6 列 × 10 行（每页 60 个） ---------- */
.kk-prod-grid-6 {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 1240px) { .kk-prod-grid-6 { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 1040px) { .kk-prod-grid-6 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 820px)  { .kk-prod-grid-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } }
@media (max-width: 560px)  { .kk-prod-grid-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }

/* 只收紧「产品库」这一页的卡片尺寸，不动首页热门产品 / 详情页同类产品 */
body[data-page="products"] .kk-product-card { border-radius: 10px; }
body[data-page="products"] .kk-product-info { padding: 9px 10px 11px; }
body[data-page="products"] .kk-product-name {
  font-size: 12.5px; line-height: 1.42; min-height: 36px; margin-bottom: 3px;
}
body[data-page="products"] .kk-product-meta {
  font-size: 11px; line-height: 1.5; margin-bottom: 6px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
body[data-page="products"] .kk-product-price { gap: 4px; }
body[data-page="products"] .kk-product-price .kk-price { font-size: 15px; }
body[data-page="products"] .kk-product-price .kk-unit { font-size: 11px; }
body[data-page="products"] .kk-pagination { flex-wrap: wrap; padding: 18px 0 6px; gap: 5px; }
body[data-page="products"] .kk-pagination a { min-width: 32px; height: 32px; padding: 0 9px; font-size: 12.5px; border-radius: 7px; }

/* ---------- ④ 企业库卡片：介绍 / 主营产品各最多两行 ---------- */
.kk-company-summary {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; line-height: 1.55; max-height: 3.1em;
}
.kk-company-products {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; line-height: 1.9; max-height: 3.8em;
}
/* 认证标记已移除（列表只展示已认证企业） */
.kk-company-verified { display: none !important; }
.kk-company-meta { row-gap: 4px; }

/* ---------- ⑤ 企业主页：品牌 Logo 长方形（与首页品牌馆一致 2:1） ---------- */
.kk-member-avatar.is-logo {
  display: flex; align-items: center; justify-content: center;
  width: 100%; max-width: 232px; height: auto;
  aspect-ratio: 2 / 1; border-radius: 12px;
  background: #fbfcfe; border: 1px solid #eef2f7;
  padding: 12px; margin: 0 auto 16px;
  font-size: 24px;
}
.kk-member-avatar.is-logo img {
  width: 100%; height: 100%; object-fit: contain; display: block;
  border-radius: 0; background: transparent;
}
@media (max-width: 1000px) {
  .kk-member-avatar.is-logo { max-width: 200px; }
}

/* ==================================================================
 * 导航条防换行：新增「急需品牌代理」后 1440 宽下超出 2px 会折成两行
 *   → 桌面端把每项左右内距 20px 收到 17px（外链项）、右侧小工具收到 12px。
 *   只在 ≥1181px 生效，移动端（≤900px 横向滚动 / 隐藏 extra）不受影响。
 * ================================================================== */
@media (min-width: 1181px) {
  .kk-nav-list > li > a { padding: 0 17px; }
  .kk-nav-list > li.kk-nav-out > a { padding: 0 15px; }
  .kk-nav-list > li.kk-nav-extra { gap: 14px; }
  .kk-nav-list > li.kk-nav-extra > a { padding: 0 6px; }
  .kk-nav-list > li > a.active::before,
  .kk-nav-list > li > a:hover::before { left: 10px; right: 10px; }
  .kk-nav-list > li > a::before { left: 10px; right: 10px; }
}

/* ==================================================================
 * 2026-09-23 十六批次：品牌入驻页改版
 *   ① 营业执照 / 微信二维码 上传器（小尺寸）
 *   ② 核心竞争力输入槽（与 register.html 同名同款）
 *   ③ 会员套餐与发布额度移入右侧栏（竖排紧凑）
 * ================================================================== */
.kk-lic-uploader .kk-logo-uploader-box { min-height: 118px; }
.kk-lic-uploader .kk-logo-uploader-box img { max-width: 280px; max-height: 150px; }
.kk-qr-uploader .kk-logo-uploader-box { min-height: 154px; }
.kk-qr-uploader .kk-logo-uploader-box img { max-width: 130px; max-height: 130px; }

.kk-adv-slot { display: flex; align-items: center; gap: 10px; }
.kk-adv-num {
  display: inline-flex; width: 30px; height: 30px; flex-shrink: 0;
  border-radius: 50%; background: #eff6ff; color: var(--kk-primary);
  align-items: center; justify-content: center; font-weight: 700; font-size: 14px;
}
.kk-adv-slot .kk-form-input { flex: 1; }
.kk-adv-remove {
  width: 28px; height: 28px; flex-shrink: 0; border: 0; border-radius: 50%;
  background: #fee2e2; color: #b91c1c; font-size: 16px; cursor: pointer; line-height: 1;
}
.kk-adv-remove:hover { background: #fecaca; }

.kk-br-side-plans .kk-card-body { padding: 14px 14px 16px; font-size: 12.5px; }
.kk-br-plan-tag {
  font-size: 11.5px; color: #c2410c; background: #fff7ed;
  border: 1px solid #fed7aa; border-radius: 6px; padding: 4px 8px;
  text-align: center; margin-bottom: 12px;
}
.kk-br-plans { display: flex; flex-direction: column; gap: 12px; }
.kk-br-plans .kk-card { border-radius: 12px; box-shadow: 0 2px 10px rgba(15, 23, 42, .05); }
.kk-br-plans .kk-card-body { padding: 14px 14px 16px; }
.kk-br-plans .kk-card-body > div:first-child { font-size: 16px !important; }
.kk-br-plans ul { font-size: 12.5px !important; line-height: 1.9 !important; margin-bottom: 12px !important; }
.kk-br-plans .kk-btn { font-size: 13px; padding: 8px 14px; }
.kk-br-plan-note {
  margin: 14px 0 0; font-size: 12px; color: var(--kk-text-2); line-height: 1.75;
}
.kk-br-plan-note a { color: var(--kk-primary); font-weight: 600; }
.kk-br-plan-note b { color: var(--kk-text); }

/* ==================================================================
 * 2026-09-23 十七批次：4 级地区级联横排（原来只定义在 register.html 的内联 <style>，
 *   brand-register.html 只引 style.css → 级联退化成上下堆叠、白白拉长页面）
 *   提到全局后，品牌入驻 / 注册 / 厂家中心 / 代理商中心行为一致。
 * ================================================================== */
.kk-region-cascade { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.kk-region-cascade .kk-region-cell { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.kk-region-cascade .kk-region-cell-label {
  font-size: 11px; color: var(--kk-text-3); display: flex; align-items: center; gap: 4px;
}
.kk-region-cascade .kk-region-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--kk-primary); color: #fff; font-size: 10px; font-weight: 600;
}
.kk-region-cascade select { width: 100%; }
.kk-region-cascade select:disabled { background: #f7f8fa; color: #c0c4cc; cursor: not-allowed; }
.kk-region-summary {
  margin-top: 10px; padding: 10px 12px;
  background: linear-gradient(135deg, #eff6ff 0%, #f0f9ff 100%);
  border-left: 3px solid var(--kk-primary); border-radius: 4px;
  font-size: 13px; color: var(--kk-text-2); display: none;
}
.kk-region-summary b { color: var(--kk-primary); }
@media (max-width: 760px) { .kk-region-cascade { grid-template-columns: 1fr 1fr; } }
@media (max-width: 460px) { .kk-region-cascade { grid-template-columns: 1fr; } }

/* ==================================================================
 * 2026-09-23 十七批次：代理商库改 4 列（置顶 4 × 3 = 12 / 全部 4 × 10 = 40）
 *   列数变多后卡片变窄 → 内距、字号、标签同步收紧，整体比例更协调；
 *   简介限 3 行，保证同一行卡片高度一致。
 * ================================================================== */
body[data-page="agent-library"] #kkUrgentList,
body[data-page="agent-library"] #kkAgentList { gap: 14px; }
body[data-page="agent-library"] .kk-agent-card { padding: 15px 16px; gap: 7px; }
body[data-page="agent-library"] .kk-agent-company { font-size: 14px; }
body[data-page="agent-library"] .kk-agent-row { font-size: 12.5px; gap: 6px; }
body[data-page="agent-library"] .kk-agent-label { font-size: 11.5px; padding: 1px 5px; }
body[data-page="agent-library"] .kk-agent-interest { font-size: 11.5px; padding: 1px 5px; }
body[data-page="agent-library"] .kk-agent-intro {
  font-size: 11.5px; display: -webkit-box; -webkit-line-clamp: 3;
  -webkit-box-orient: vertical; overflow: hidden;
}
body[data-page="agent-library"] .kk-agent-meta { font-size: 11.5px; }
@media (max-width: 1280px) {
  body[data-page="agent-library"] #kkUrgentList,
  body[data-page="agent-library"] #kkAgentList { gap: 12px; }
}

/* ==================================================================
 * 2026-10-10 十八批次：代理商库改 5 列 + 三栏搜索栏（主营产品 / 感兴趣产品 / 主营客户）
 *   ① 卡片再收紧一档（5 列下更窄，内距 / 字号同步缩）；
 *   ② 「主营客户」用一条虚线跟上半部分隔开（上面已列主营产品 / 感兴趣产品，不重复）；
 *   ③ 三栏搜索栏：输入即筛，下拉候选动态取自平台现有数据。
 * ================================================================== */
body[data-page="agent-library"] .kk-agent-card { padding: 12px 12px 11px; gap: 6px; }
body[data-page="agent-library"] .kk-agent-badge { width: 20px; height: 20px; font-size: 11px; border-radius: 5px; }
body[data-page="agent-library"] .kk-agent-company { font-size: 13.5px; }
body[data-page="agent-library"] .kk-agent-row { font-size: 12px; gap: 5px; }
body[data-page="agent-library"] .kk-agent-label { font-size: 11px; padding: 1px 5px; }
body[data-page="agent-library"] .kk-agent-interest { font-size: 11px; padding: 1px 5px; }
body[data-page="agent-library"] .kk-agent-meta { font-size: 11px; }
body[data-page="agent-library"] .kk-agent-intro {
  font-size: 11.5px; border-top: 0; padding-top: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
/* 虚线下：主营客户 */
.kk-agent-cust {
  display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap;
  font-size: 12px; color: var(--kk-text-2); line-height: 1.6;
  border-top: 1px dashed var(--kk-border); padding-top: 7px; margin-top: 1px;
}
/* 三栏搜索栏（输入即筛） */
.kk-facet { position: relative; display: inline-flex; align-items: center; }
.kk-facet-input {
  width: 128px; height: 30px; padding: 0 24px 0 10px;
  font-size: 12.5px; font-family: inherit;
  border: 1px solid var(--kk-border); border-radius: 7px;
  background: #fff; color: var(--kk-text); outline: none;
}
.kk-facet-input:focus { border-color: var(--kk-primary); box-shadow: 0 0 0 3px rgba(12,95,255,.10); }
.kk-facet-clear {
  position: absolute; right: 7px; top: 50%; transform: translateY(-50%);
  font-size: 12px; color: var(--kk-text-3); text-decoration: none; cursor: pointer; line-height: 1;
}
.kk-facet-clear:hover { color: #ef4444; }
.kk-facet-drop {
  position: absolute; left: 0; top: 34px; z-index: 40; min-width: 100%;
  max-height: 226px; overflow: auto; padding: 4px;
  background: #fff; border: 1px solid var(--kk-border); border-radius: 8px;
  box-shadow: 0 10px 26px rgba(15,23,42,.13); display: none;
}
.kk-facet-drop.open { display: block; }
.kk-facet-opt {
  display: block; padding: 6px 10px; border-radius: 6px;
  font-size: 12.5px; color: var(--kk-text-2); text-decoration: none; white-space: nowrap;
}
.kk-facet-opt:hover { background: var(--kk-primary-light); color: var(--kk-primary); }
/* 5 列 → 窄屏逐级降列（置顶区与全部列表同步） */
@media (max-width: 1240px) {
  body[data-page="agent-library"] #kkAgentList,
  body[data-page="agent-library"] #kkUrgentList { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 980px) {
  body[data-page="agent-library"] #kkAgentList,
  body[data-page="agent-library"] #kkUrgentList { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
  body[data-page="agent-library"] #kkAgentList,
  body[data-page="agent-library"] #kkUrgentList { grid-template-columns: repeat(2, 1fr); }
}

/* ==================================================================
 * 2026-10-10 十八批次：后台「📍 插入地址」（地名 → 地址 + 四级区域 + 坐标）
 * ================================================================== */
.kk-geo-pick { position: relative; display: inline-flex; margin-left: 8px; vertical-align: middle; }
.kk-geo-btn { white-space: nowrap; }
.kk-geo-panel {
  position: absolute; left: 0; top: calc(100% + 6px); z-index: 60;
  width: 320px; padding: 10px; box-sizing: border-box; background: #fff;
  border: 1px solid var(--kk-border); border-radius: 10px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .16);
}
.kk-geo-input {
  width: 100%; height: 34px; padding: 0 10px; box-sizing: border-box;
  border: 1px solid var(--kk-border); border-radius: 7px;
  font-size: 13px; font-family: inherit; color: var(--kk-text); outline: none;
}
.kk-geo-input:focus { border-color: var(--kk-primary); box-shadow: 0 0 0 3px rgba(12, 95, 255, .10); }
.kk-geo-list { margin-top: 8px; max-height: 238px; overflow: auto; }
.kk-geo-opt {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 7px 9px; border-radius: 7px; cursor: pointer;
  font-size: 13px; color: var(--kk-text); line-height: 1.5;
}
.kk-geo-opt:hover { background: var(--kk-primary-light); color: var(--kk-primary); }
.kk-geo-opt .kk-geo-meta { font-size: 11.5px; color: var(--kk-text-3); white-space: nowrap; }
.kk-geo-empty { padding: 12px 4px; font-size: 12.5px; color: var(--kk-text-3); text-align: center; }
.kk-geo-tip {
  margin-top: 8px; padding-top: 7px; border-top: 1px dashed var(--kk-border);
  font-size: 11.5px; color: var(--kk-text-3); line-height: 1.6;
}

/* ==================================================================
 * 2026-09-23 十七批次：小酷自动客服（客服不在线时的自动回复气泡）
 * ================================================================== */
.kk-chat-row.is-bot { flex-direction: column; align-items: flex-start; }
.kk-chat-bot-tag {
  font-size: 10.5px; font-weight: 700; color: #0b63d6;
  background: #e8f2ff; border: 1px solid #cfe4ff; border-radius: 999px;
  padding: 1px 8px; margin-bottom: 4px;
}
.kk-chat-row.is-bot .kk-chat-bub {
  background: #f7fbff; border: 1px solid #e3efff; color: #1e3a5f; line-height: 1.75;
}
.kk-chat-row.is-bot .kk-chat-bub i { color: #64748b; font-size: 12px; font-style: normal; }

/* ==================================================================
 * 2026-09-23 十八批次：🥇 SVIP 黄金广告位（首页热门招商 / 品牌馆 / 热门产品置顶标识）
 * ================================================================== */
.kk-gold-flag { font-size: 13px; margin-right: 2px; }
.kk-bw-cell.is-gold { position: relative; }
.kk-bw-cell.is-gold::after {
  content: '🥇'; position: absolute; top: 2px; right: 3px; font-size: 12px; line-height: 1;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.18));
}
.kk-hot-prod.is-gold { box-shadow: inset 0 0 0 2px #f0a52a; }
.kk-hot-prod.is-gold::before {
  content: '🥇 黄金位'; position: absolute; top: 8px; left: 8px; z-index: 2;
  background: linear-gradient(135deg, #f6c445, #e0972a); color: #fff;
  font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px;
}

/* ==================================================================
 * 2026-09-23 十八批次：代理商入驻「感兴趣的产品」自填三项（不再用复选框组）
 * ================================================================== */
.kk-int-inputs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 760px) { .kk-int-inputs { grid-template-columns: 1fr; } }

/* ==================================================================
 * 2026-09-23 二十批次：企业列表（招商中心 / 厂家库）紧凑版式
 *   阿牛反馈：卡片太高、想一屏多看几家；「主营产品」只占一行；会员徽标移到公司名后。
 * ================================================================== */
body[data-page="companies"] .kk-company-list { gap: 8px; }
body[data-page="companies"] .kk-company-card {
  grid-template-columns: 104px 1fr auto; gap: 14px;
  padding: 11px 14px; border-radius: 10px;
}
body[data-page="companies"] .kk-company-logo { width: 104px; height: 52px; border-radius: 8px; font-size: 17px; letter-spacing: .5px; }
body[data-page="companies"] .kk-company-info { gap: 3px; min-width: 0; }
body[data-page="companies"] .kk-company-name { font-size: 15px; line-height: 1.4; }
body[data-page="companies"] .kk-company-meta { font-size: 12px; gap: 12px; row-gap: 2px; }
/* 简介：固定一行 */
body[data-page="companies"] .kk-company-summary {
  display: block; -webkit-line-clamp: unset; max-height: none;
  font-size: 12.5px; line-height: 1.55; color: var(--kk-text-3);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* 主营产品：固定一行（超出省略，悬停可看产品名） */
body[data-page="companies"] .kk-company-products {
  display: block; -webkit-line-clamp: unset; max-height: none;
  font-size: 12px; line-height: 1.6;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
body[data-page="companies"] .kk-company-products .kk-tag { margin-right: 4px; padding: 1px 7px; font-size: 11.5px; border-radius: 4px; }
body[data-page="companies"] .kk-company-products .kk-tag-more { margin-right: 0; }
body[data-page="companies"] .kk-company-actions { flex-direction: row; gap: 6px; align-self: center; }
body[data-page="companies"] .kk-company-actions .kk-btn { height: 28px; padding: 0 11px; font-size: 12.5px; }
body[data-page="companies"] .kk-pagination { padding: 16px 0 4px; }

/* 公司名后的「会员等级 / 黄金位」徽标（招商中心） */
.kk-cn-badges { display: inline-flex; align-items: center; gap: 5px; margin-left: 9px; vertical-align: 1px; }
.kk-cn-badge {
  display: inline-block; font-size: 11px; font-weight: 700; line-height: 17px;
  padding: 0 7px; border-radius: 4px; white-space: nowrap;
}
.kk-cn-badge-gold { background: linear-gradient(135deg, #fef6e2, #fbe6b8); color: #8a5a06; }

@media (max-width: 760px) {
  body[data-page="companies"] .kk-company-card { grid-template-columns: 1fr; gap: 10px; }
  body[data-page="companies"] .kk-company-actions { flex-direction: row; align-self: flex-start; }
  body[data-page="companies"] .kk-company-summary,
  body[data-page="companies"] .kk-company-products { white-space: normal; }
}

/* ==================================================================
 * 2026-09-23 二十批次：资讯中心紧凑版式
 *   阿牛反馈：每条太高、一屏看不了几条。
 *   现在「分类标签」与「标题」同一行，摘要一行，缩略图 132×74；头条也收窄。
 * ================================================================== */
body[data-page="news"] .kk-news-headline {
  grid-template-columns: 1fr 208px; gap: 18px; padding: 14px 16px; align-items: center;
}
body[data-page="news"] .kk-nh-cover { aspect-ratio: 16 / 9; border-radius: 8px; }
body[data-page="news"] .kk-nh-title { font-size: 19px; line-height: 1.4; margin: 9px 0 7px; }
body[data-page="news"] .kk-nh-summary { -webkit-line-clamp: 2; font-size: 13px; line-height: 1.7; }
body[data-page="news"] .kk-nh-meta { margin-top: 10px; padding-top: 9px; font-size: 12px; }

body[data-page="news"] .kk-news-row {
  grid-template-columns: 1fr 132px; gap: 14px; align-items: center;
  padding: 10px 14px; margin-bottom: 7px; border-radius: 10px;
}
body[data-page="news"] .kk-news-row.no-thumb { grid-template-columns: 1fr; }
body[data-page="news"] .kk-nr-thumb { width: 132px; height: 74px; border-radius: 7px; }
body[data-page="news"] .kk-nr-text { min-width: 0; display: flex; flex-direction: column; }

/* 标题行 = 分类标签 + 标题（同一行，标题单行省略） */
body[data-page="news"] .kk-nr-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 14.5px; font-weight: 700; line-height: 1.5; color: var(--kk-text); margin: 0;
}
body[data-page="news"] .kk-nr-title .kk-news-tag { flex: 0 0 auto; font-size: 11px; padding: 1px 7px; }
body[data-page="news"] .kk-nr-tt {
  flex: 1 1 auto; min-width: 0;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
body[data-page="news"] .kk-nr-summary {
  /* ⚠️ 原来用 -webkit-line-clamp: 1（-webkit-box）→ 它在 Chrome 里算「最小内容宽度」时会取整段文字，
     把左侧列表列硬撑到 1200+，和右侧 300px 侧栏一起把页面撑出横向滚动条（阿牛 2026-10-08 报「列表太宽」）。
     改成单行 nowrap + 省略号：视觉完全一样（都是一行带 …），但能被正常压缩。 */
  display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  font-size: 12.5px; line-height: 1.6; color: var(--kk-text-2); margin-top: 3px;
}
body[data-page="news"] .kk-nr-meta { gap: 12px; margin-top: 4px; font-size: 11.5px; }
body[data-page="news"] .kk-news-item-read { font-size: 11.5px; }
body[data-page="news"] .kk-pagination { padding: 14px 0 4px; }

@media (max-width: 900px) {
  body[data-page="news"] .kk-news-headline { grid-template-columns: 1fr; gap: 12px; padding: 14px; }
  body[data-page="news"] .kk-nh-cover { order: -1; }
  body[data-page="news"] .kk-news-row { grid-template-columns: 1fr 104px; gap: 12px; padding: 10px 12px; }
  body[data-page="news"] .kk-nr-thumb { width: 104px; height: 62px; }
  body[data-page="news"] .kk-nr-summary { display: none; }
}

/* 指南正文恢复项目符号（站点全局 ul/ol 被 reset 掉了 list-style） */.kb-sec-body ul { list-style: disc; }
.kb-sec-body ol { list-style: decimal; }
.kb-sec-body ul ul { list-style: circle; }
.kb-sec-body li::marker { color: #b6bec9; }
.kb-sec-body li > ul, .kb-sec-body li > ol { margin: 8px 0 0; }

/* ==================================================================
 * 2026-09-23 二十四批次：首页「战略合作品牌」= 恢复原版尺寸与版式
 *   只把原来的深蓝渐变底换成「偏白的浅色」，文字改深色，
 *   字号 / 行距 / 字距重新排过（阿牛要求：整体简洁美观）。
 *   尺寸与版式（3 列 × 2 行、min-height 190px、内距 16/18、Logo 120×60 白框）
 *   全部沿用 v2.0 原版，不在这里覆盖。
 * ================================================================== */
.kk-strategic .kk-strategic-item.kk-gold-item {
  background: linear-gradient(140deg, #ffffff 0%, #f7faff 58%, #eef4ff 100%);
  border: 1px solid #e6edf9;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
  gap: 8px;
}
.kk-strategic .kk-gold-item:hover {
  transform: translateY(-3px);
  border-color: #cfe0fb;
  box-shadow: 0 14px 30px rgba(12, 95, 255, .10);
}

/* Logo：白底方框 + 发丝描边（浅色卡上靠描边和极淡投影立住，不再用重投影） */
.kk-strategic .kk-gold-item .b-logo {
  background: #f2f6fd;
  border: 1px solid #e4ecf9;
  box-shadow: none;
  /* 关键：logoHtml() 对文字 logo 返回的是「纯文本」而非 <span>，
     不在这里显式设色就会继承安先 .kk-strategic-item 的 #fff → 白底白字看不见 */
  color: var(--kk-primary);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: .5px;
  line-height: 1;
}
.kk-strategic .kk-gold-item .b-logo span { color: var(--kk-primary); font-weight: 700; }

/* 品牌简称：最深最重，18px / 1.4，收紧字距显得利落 */
.kk-strategic .kk-gold-item .b1 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.2px;
  color: #0f172a;
}
/* 核心产品：13px / 1.62，中性深灰，是卡片里第二重要的信息 */
.kk-strategic .kk-gold-item .b2 {
  font-size: 13px;
  line-height: 1.62;
  font-weight: 500;
  color: #46566e;
}
/* 核心竞争力：12.5px / 1.62，再浅一档，形成层次 */
.kk-strategic .kk-gold-item .b3 {
  font-size: 12.5px;
  line-height: 1.62;
  font-weight: 400;
  color: #6b7a90;
}
/* 小标签：浅蓝底 + 品牌蓝字，比原来的半透明白块更清爽 */
.kk-strategic .kk-gold-item .b-k {
  background: #e8f0ff;
  color: #2f6ae0;
  font-weight: 600;
  border-radius: 4px;
  padding: 0 6px;
  margin-right: 7px;
  vertical-align: 1px;
}

/* 2026-09-23 二十五批次：产品缺主图时的占位（避免出现 src="" 的碎图） */
.kk-product-img .kk-prod-img-ph {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 100%; font-size: 34px; opacity: .3;
}

/* ==================================================================
 * 2026-09-23 二十七批次：企业主页「厂家新闻」——一行一条 + 点击展开
 *   阿牛反馈：行尾「咨询」按钮去掉；点标题/摘要即可展开看全文。
 * ================================================================== */
.kk-news-fold { padding: 0; overflow: hidden; }
.kk-news-fold-head {
  display: flex; align-items: center; gap: 9px; width: 100%;
  background: none; border: 0; cursor: pointer; text-align: left;
  font: inherit; color: inherit; padding: 12px 14px 7px;
}
.kk-news-fold-head:focus-visible { outline: 2px solid rgba(31, 107, 255, .35); outline-offset: -2px; }
.kk-news-fold-title {
  flex: 1 1 auto; min-width: 0; font-size: 15px; font-weight: 700; line-height: 1.5; color: var(--kk-text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.kk-news-fold-date { flex: 0 0 auto; font-size: 12px; color: var(--kk-text-3); white-space: nowrap; }
.kk-news-fold-arrow { flex: 0 0 auto; font-size: 11px; color: #94a3b8; transition: transform .2s ease; }
.kk-news-fold.is-open .kk-news-fold-arrow { transform: rotate(180deg); }
.kk-news-fold-summary {
  padding: 0 14px 12px; font-size: 13px; line-height: 1.7; color: var(--kk-text-2); cursor: pointer;
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.kk-news-fold-summary:hover { color: var(--kk-primary); }
.kk-news-fold.is-open .kk-news-fold-summary { display: none; }
.kk-news-fold-body { border-top: 1px solid #f1f5f9; background: #fcfdff; padding: 14px 16px; }
.kk-news-fold-body[hidden] { display: none !important; }
.kk-news-article { font-size: 14px; line-height: 1.9; color: var(--kk-text); word-break: break-word; }
.kk-news-article p { margin: 0 0 12px; }
.kk-news-article p:last-child { margin-bottom: 0; }
.kk-news-article img { max-width: 100%; height: auto; border-radius: 8px; margin: 6px 0; }
.kk-news-article h1, .kk-news-article h2, .kk-news-article h3 { font-size: 16px; margin: 14px 0 8px; }
.kk-news-article a { color: var(--kk-primary); }

/* ==================================================================
 * 前台 资料库「在线预览」弹窗（阿牛 2026-09-24）
 *   口径：白底 + 细描边 + 大留白；弹窗本身（横竖）都不滚动，
 *   只有中间内容区内部滚动；底部操作常驻，先看再决定下载。
 * ================================================================== */
.kk-mt-pv {
  position: fixed; inset: 0; z-index: 9995;
  display: none; align-items: center; justify-content: center;
  padding: 24px; background: rgba(4, 18, 45, .55);
}
.kk-mt-pv.show { display: flex; }
.kk-mt-pv-box {
  width: min(1080px, calc(100vw - 40px));
  height: min(92vh, 900px);
  background: #fff; border: 1px solid var(--kk-border); border-radius: 14px;
  box-shadow: 0 24px 70px rgba(4, 18, 45, .28);
  display: flex; flex-direction: column; overflow: hidden;
}
.kk-mt-pv-head {
  flex: 0 0 auto; display: flex; align-items: flex-start; gap: 16px;
  padding: 16px 22px 13px; border-bottom: 1px solid #eef2f8;
}
.kk-mt-pv-heading { flex: 1 1 auto; min-width: 0; }
.kk-mt-pv-title { font-size: 17px; font-weight: 700; line-height: 1.5; color: var(--kk-text); }
.kk-mt-pv-meta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 7px; font-size: 12px; color: var(--kk-text-3); }
.kk-mt-pv-x {
  flex: 0 0 auto; width: 30px; height: 30px; margin-top: -2px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 22px; line-height: 1; color: var(--kk-text-3); cursor: pointer; border-radius: 8px;
}
.kk-mt-pv-x:hover { background: var(--kk-bg-soft); color: var(--kk-text); }
.kk-mt-pv-body { flex: 1 1 auto; min-height: 0; overflow: hidden; display: flex; background: #f8fafc; }
.kk-mt-pv-body iframe { flex: 1 1 auto; width: 100%; height: 100%; border: 0; display: block; background: #fff; }
.kk-mt-pv-foot {
  flex: 0 0 auto; display: flex; align-items: center; gap: 10px;
  padding: 12px 22px; border-top: 1px solid #eef2f8; background: #fff;
}
.kk-mt-pv-tip { margin-right: auto; font-size: 12px; color: var(--kk-text-3); }
@media (max-width: 760px) {
  .kk-mt-pv { padding: 10px; }
  .kk-mt-pv-box { width: calc(100vw - 20px); height: calc(100vh - 20px); border-radius: 12px; }
  .kk-mt-pv-head { padding: 14px 16px 11px; }
  .kk-mt-pv-foot { padding: 10px 16px; }
  .kk-mt-pv-tip { display: none; }
}

/* ==================================================================
 * 前台「申请成为代理商」浮层（阿牛 2026-09-24）
 *   白底 + 细描边 + 大留白；弹窗自身不滚动，只有内容区内部滚动；
 *   底部操作常驻 —— 与资料预览浮层同一口径。
 * ================================================================== */
.kk-agx {
  position: fixed; inset: 0; z-index: 9996;
  display: flex; align-items: center; justify-content: center;
  padding: 24px; background: rgba(4, 18, 45, .55);
  opacity: 0; transition: opacity .18s ease;
}
.kk-agx[hidden] { display: none !important; }   /* 否则 display:flex 会盖掉 [hidden] */
.kk-agx.show { opacity: 1; }
.kk-agx-box {
  width: min(720px, calc(100vw - 40px));
  max-height: min(92vh, 880px);
  background: #fff; border: 1px solid var(--kk-border); border-radius: 14px;
  box-shadow: 0 24px 70px rgba(4, 18, 45, .28);
  display: flex; flex-direction: column; overflow: hidden;
}
.kk-agx-head {
  flex: 0 0 auto; display: flex; align-items: flex-start; gap: 14px;
  padding: 16px 22px 13px; border-bottom: 1px solid #eef2f8;
}
.kk-agx-title { font-size: 17px; font-weight: 700; color: var(--kk-text); }
.kk-agx-sub { font-size: 12.5px; color: var(--kk-text-3); margin-top: 5px; }
.kk-agx-x {
  flex: 0 0 auto; margin-left: auto;
  width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 22px; line-height: 1; color: var(--kk-text-3); cursor: pointer; border-radius: 8px;
}
.kk-agx-x:hover { background: var(--kk-bg-soft); color: var(--kk-text); }
.kk-agx-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 16px 22px 4px; }
.kk-agx-hint {
  font-size: 12.5px; color: var(--kk-text-2); line-height: 1.7;
  background: #f5f9ff; border: 1px solid #cfe0fb; border-radius: 9px;
  padding: 9px 13px; margin-bottom: 14px;
}
.kk-agx-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.kk-agx-row { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.kk-agx-row.full { grid-column: 1 / -1; }
.kk-agx-row > label { font-size: 12.5px; color: var(--kk-text-2); }
.kk-agx-row > label i { color: #ef4444; font-style: normal; }
.kk-agx-row input, .kk-agx-row textarea {
  width: 100%; box-sizing: border-box; font-family: inherit;
  border: 1px solid var(--kk-border); border-radius: 8px;
  padding: 9px 12px; font-size: 13.5px; color: var(--kk-text); background: #fff;
}
.kk-agx-row input:disabled { background: #f6f8fb; color: var(--kk-text-3); }
.kk-agx-row input:focus, .kk-agx-row textarea:focus {
  outline: none; border-color: var(--kk-primary); box-shadow: 0 0 0 3px rgba(31, 107, 255, .12);
}
.kk-agx-lic { margin: 14px 0 4px; }
.kk-agx-lic > label { display: block; font-size: 12.5px; color: var(--kk-text-2); margin-bottom: 6px; }
.kk-agx-lic-pick {
  display: block; cursor: pointer; border: 1px dashed #c9d7ef; border-radius: 10px;
  padding: 12px 14px; font-size: 13px; color: var(--kk-text-2); background: #fafcff;
}
.kk-agx-lic-pick:hover { border-color: var(--kk-primary); color: var(--kk-primary); }
.kk-agx-foot {
  flex: 0 0 auto; display: flex; align-items: center; gap: 10px;
  padding: 12px 22px; border-top: 1px solid #eef2f8; background: #fff;
}
.kk-agx-tip { margin-right: auto; font-size: 12px; color: var(--kk-text-3); }
@media (max-width: 640px) {
  .kk-agx { padding: 10px; }
  .kk-agx-box { width: calc(100vw - 20px); max-height: calc(100vh - 20px); }
  .kk-agx-grid { grid-template-columns: 1fr; }
  .kk-agx-foot { flex-wrap: wrap; }
  .kk-agx-tip { display: none; }
}

/* ==================================================================
 * 后台「更换手机号」弹窗（阿牛 2026-09-24）—— 三套后台共用
 * ================================================================== */
.kk-rebind {
  position: fixed; inset: 0; z-index: 9997;
  display: flex; align-items: center; justify-content: center;
  padding: 20px; background: rgba(4, 18, 45, .55);
  opacity: 0; transition: opacity .18s ease;
}
.kk-rebind.show { opacity: 1; }
.kk-rebind-box {
  width: min(460px, calc(100vw - 32px));
  background: #fff; border: 1px solid var(--kk-border); border-radius: 14px;
  box-shadow: 0 24px 70px rgba(4, 18, 45, .28);
  display: flex; flex-direction: column; overflow: hidden;
}
.kk-rebind-head {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 15px 20px 12px; border-bottom: 1px solid #eef2f8;
}
.kk-rebind-title { font-size: 16px; font-weight: 700; color: var(--kk-text); }
.kk-rebind-sub { font-size: 12.5px; color: var(--kk-text-3); margin-top: 5px; }
.kk-rebind-x {
  margin-left: auto; width: 28px; height: 28px; flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 20px; line-height: 1; color: var(--kk-text-3); cursor: pointer; border-radius: 8px;
}
.kk-rebind-x:hover { background: var(--kk-bg-soft); color: var(--kk-text); }
.kk-rebind-body { padding: 14px 20px 4px; }
.kk-rebind-hint {
  font-size: 12.5px; line-height: 1.75; color: var(--kk-text-2);
  background: #f5f9ff; border: 1px solid #cfe0fb; border-radius: 9px;
  padding: 9px 12px; margin-bottom: 14px;
}
.kk-rebind-row { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.kk-rebind-row > label { font-size: 12.5px; color: var(--kk-text-2); }
.kk-rebind-row > label i { color: #ef4444; font-style: normal; }
.kk-rebind-row input {
  width: 100%; box-sizing: border-box; font-family: inherit;
  border: 1px solid var(--kk-border); border-radius: 8px;
  padding: 9px 12px; font-size: 13.5px; color: var(--kk-text); background: #fff;
}
.kk-rebind-row input:focus { outline: none; border-color: var(--kk-primary); box-shadow: 0 0 0 3px rgba(31, 107, 255, .12); }
.kk-rebind-foot {
  display: flex; justify-content: flex-end; gap: 10px;
  padding: 13px 20px 16px; border-top: 1px solid #eef2f8;
}
.kk-bk-side-foot a[data-bk-rebind] { display: block; }

/* ==================================================================
 * 企业主页「联系方式」右侧二维码卡（阿牛 2026-09-24）
 *   · 默认 = 平台公众号二维码（橙色卡，原有样式不动）
 *   · 该厂家上传了自己的个人微信二维码时 → 换成企业自己的码，卡片改成
 *     「白底 + 细描边 + 品牌蓝」的克制版式（不用橙色大色块）
 * ================================================================== */
.kk-side-qr.is-mfr {
  background: #fff;
  border-color: var(--kk-border);
}
.kk-side-qr.is-mfr h5 { color: var(--kk-text); }
.kk-side-qr.is-mfr img {
  width: 168px; max-width: 168px; height: 168px;
  object-fit: contain; background: #fff;
  border: 1px solid var(--kk-border); border-radius: 8px; padding: 4px;
}
.kk-side-qr.is-mfr p { color: var(--kk-text-3); }

/* ==================================================================
 * 2026-09-24 四十三批次
 * ① 首页「战略合作品牌」= 4 列 × 2 行（最多 8 个）
 *    尺寸与比例重新调过：Logo 白底 2:1 框、公司名两行内折行，
 *    Logo 与公司名（以及下面两行信息）全部居中
 * ② 企业主页「主营产品」卡片里的「规格」行（卡片只保留 图片 / 名称 / 规格 / 价格）
 * ================================================================== */
.kk-strategic { grid-template-columns: repeat(4, 1fr); gap: 14px; }
.kk-strategic .kk-strategic-item.kk-gold-item {
  min-height: 212px;
  padding: 18px 16px 16px;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 9px;
}
/* Logo：白底 2:1 框，居中（与品牌馆 Logo 墙同一比例口径） */
.kk-strategic .kk-gold-item .b-logo {
  width: 124px; height: 62px; flex: 0 0 62px;
  align-self: center;
  margin: 0 auto;
}
/* 公司名（品牌简称）：居中，最多两行，超出省略 */
.kk-strategic .kk-gold-item .b1 {
  width: 100%;
  font-size: 16px; line-height: 1.4; letter-spacing: 0;
  text-align: center;
  white-space: normal;
  overflow: hidden;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
/* 核心产品 / 核心竞争力：跟着居中 */
.kk-strategic .kk-gold-item .b2,
.kk-strategic .kk-gold-item .b3 { text-align: center; padding: 0; }
.kk-strategic .kk-gold-item .b3 { font-size: 12px; }

@media (max-width: 1100px) {
  .kk-strategic { grid-template-columns: repeat(3, 1fr); }
  .kk-strategic .kk-strategic-item.kk-gold-item { min-height: 200px; }
}
@media (max-width: 820px) {
  .kk-strategic { grid-template-columns: repeat(2, 1fr); }
  .kk-strategic .kk-strategic-item.kk-gold-item { min-height: 190px; padding: 15px 14px; }
}
@media (max-width: 520px) {
  .kk-strategic { grid-template-columns: 1fr; }
  .kk-strategic .kk-strategic-item.kk-gold-item { min-height: 0; }
  .kk-strategic .kk-gold-item .b-logo { width: 110px; height: 55px; flex: 0 0 55px; }
}

/* 企业主页「主营产品」：规格行 —— 与产品库卡片同一套字号层次 */
.kk-product-card .kk-product-meta .kk-k {
  display: inline-block;
  font-size: 10.5px; line-height: 16px; font-weight: 600;
  background: #eef4ff; color: #2f6ae0;
  border-radius: 3px; padding: 0 5px; margin-right: 6px;
  vertical-align: 1px;
}

/* ==================================================================
 * 2026-09-24 四十四批次：企业详情页「申请成为代理商」表单升级
 *   · 未注册可直接填表 → 提交同时开通代理商账号
 *   · 该页字段全部必填（含成立时间；人数 / 年销售规模为下拉选择）
 *   · 缺项 = 红框标出 + 自动滚到第一处
 * ================================================================== */
.kk-agx-row select {
  width: 100%; box-sizing: border-box; font-family: inherit;
  border: 1px solid var(--kk-border); border-radius: 8px;
  padding: 9px 12px; font-size: 13.5px; color: var(--kk-text); background: #fff;
  appearance: none; -webkit-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #94a3b8 50%), linear-gradient(135deg, #94a3b8 50%, transparent 50%);
  background-position: calc(100% - 17px) calc(50% + 1px), calc(100% - 12px) calc(50% + 1px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 32px;
}
.kk-agx-row select:focus {
  outline: none; border-color: var(--kk-primary); box-shadow: 0 0 0 3px rgba(31, 107, 255, .12);
}
.kk-agx-row.is-missing > label { color: #dc2626; }
.kk-agx-row.is-missing input,
.kk-agx-row.is-missing select,
.kk-agx-row.is-missing textarea { border-color: #fca5a5; background: #fef5f7; }
.kk-agx-lic.is-missing .kk-agx-lic-pick { border-color: #fca5a5; background: #fef5f7; color: #dc2626; }

/* ================================================================
   代理商中心 · 必填项补全闸门（2026-10-07）
   批量导入的代理商账号，必填项没补全前弹这个提醒，并锁住其它板块。
   ================================================================ */
.kk-ac-force {
  position: fixed; inset: 0; z-index: 9998;
  background: rgba(15, 23, 32, .42);
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
}
.kk-ac-force-box {
  width: 100%; max-width: 470px;
  background: #fff; border-radius: 14px;
  padding: 28px 26px 22px;
  text-align: center;
}
.kk-ac-force-ic { font-size: 30px; line-height: 1; margin-bottom: 10px; }
.kk-ac-force-title { font-size: 18px; font-weight: 700; color: #0f1720; margin-bottom: 8px; }
.kk-ac-force-desc { font-size: 13.5px; line-height: 1.85; color: #6b7280; }
.kk-ac-force-desc b { color: #1f6bff; }
.kk-ac-force-list {
  display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
  margin: 18px 0 20px;
}
.kk-ac-force-list span {
  font-size: 12.5px; color: #a32d2d; background: #fcebeb;
  border: 1px solid #f7c1c1; border-radius: 999px; padding: 4px 11px;
}
@media (max-width: 640px) {
  .kk-ac-force-box { padding: 24px 18px 18px; }
  .kk-ac-force-list span { font-size: 12px; padding: 3px 9px; }
}

/* ==================================================================
 * 2026-10-08 品牌「缩写」文字兜底
 *   导入的厂家大多没传 Logo → 前台按「品牌简称」显示缩写。
 *   以前取的是公司名前两个字（「上海富衡」→「上海」），看起来像地区，容易被误会。
 *   字号按字数自适应，品牌馆 72px 圆框 / 企业库 80px 方框 / 企业主页 120px 都放得下。
 * ================================================================== */
.kk-logo-abbr {
  display: block;
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: .5px;
  text-align: center;
  word-break: break-word;
  font-size: 26px;            /* 1~2 字 */
}
.kk-logo-abbr.is-sm { font-size: 17px; }                    /* 3~4 字 */
.kk-logo-abbr.is-xs { font-size: 11.5px; padding: 0 4px; }   /* 5~6 字，可折行 */

/* 品牌馆卡片（72px 圆框，移动端 58px） */
.kk-brand-logo .kk-logo-abbr { font-size: 24px; }
.kk-brand-logo .kk-logo-abbr.is-sm { font-size: 16px; }
.kk-brand-logo .kk-logo-abbr.is-xs { font-size: 11px; }

/* 企业主页（120px 方框） */
.kk-member-avatar .kk-logo-abbr { font-size: 34px; }
.kk-member-avatar .kk-logo-abbr.is-sm { font-size: 26px; }
.kk-member-avatar .kk-logo-abbr.is-xs { font-size: 19px; }

/* 企业库列表（80px 方框） */
.kk-company-logo .kk-logo-abbr { font-size: 26px; }
.kk-company-logo .kk-logo-abbr.is-sm { font-size: 18px; }
.kk-company-logo .kk-logo-abbr.is-xs { font-size: 12.5px; }

/* 首页「战略合作品牌」黄金位（142 × 48 白底长条） */
.kk-strategic .kk-logo-abbr { font-size: 20px; color: var(--kk-primary); }
.kk-strategic .kk-logo-abbr.is-sm { font-size: 17px; }
.kk-strategic .kk-logo-abbr.is-xs { font-size: 13.5px; line-height: 1.2; }

/* 后台「品牌馆管理」列表卡片（2:1 小框） */
.kk-bm-logo .kk-logo-abbr { font-size: 18px; }
.kk-bm-logo .kk-logo-abbr.is-sm { font-size: 13px; }
.kk-bm-logo .kk-logo-abbr.is-xs { font-size: 10px; }

/* ==================================================================
 * 2026-10-08 品牌 / 企业 Logo 尺寸固定死（阿牛：往下滚时 logo 突然变小、看不清）
 *   根因：页头「滚动折叠」用的规则 `body.kk-scrolled .kk-logo-img { height:26px }`
 *        与卡片里的 logo 共用了同一个类名 `.kk-logo-img`，
 *        而它的权重 (0,2,1) 高过 `.kk-brand-logo .kk-logo-img`(0,2,0)
 *        → 页面滚过 400px 后，品牌馆 / 企业库 / 企业主页的 Logo 一起被压成 26px。
 *   处理：① 页头那几条规则已收窄成 `.kk-header .kk-logo-img`（见上文）；
 *        ② 这里把卡片内 Logo 的尺寸再锁一遍，外面任何 `.kk-logo-img` 规则都改不动它。
 * ================================================================== */
.kk-brand-card .kk-brand-logo { height: 58px; flex: 0 0 58px; }
.kk-brand-logo .kk-logo-img,
.kk-company-logo .kk-logo-img,
.kk-member-avatar .kk-logo-img,
.kk-bw-cell .kk-logo-img,
.kk-b-logo .kk-logo-img,
.b-logo .kk-logo-img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center;
  transition: none !important;
}
/* 首页品牌 Logo 墙的图片（无 .kk-logo-img 类，单独锁一遍） */
.kk-bw-cell img { width: auto; height: auto; max-width: 100% !important; max-height: 100% !important; object-fit: contain; transition: none !important; }
@media (max-width: 600px) {
  .kk-brand-card .kk-brand-logo { height: 48px; flex: 0 0 48px; }
}

/* ==================================================================
 * 认证企业会员的联系方式打码（阿牛 2026-10-08）
 *   认证（免费）企业会员的联系方式对外显示成 138****8888，
 *   点一下给提示；只有企业自己 / 平台管理员能看到完整（JS 侧判断）。
 * ================================================================== */
.kk-masked {
  color: var(--kk-text-2);
  letter-spacing: .4px;
  cursor: pointer;
  border-bottom: 1px dashed var(--kk-border-strong);
  padding-bottom: 1px;
  transition: color .15s, border-color .15s;
}
.kk-masked:hover { color: var(--kk-primary); border-bottom-color: var(--kk-primary); }
.kk-masked:focus { outline: none; color: var(--kk-primary); border-bottom-color: var(--kk-primary); }

/* 认证企业会员：企业主页右侧「微信二维码」卡被锁住的样式 */
.kk-side-qr.is-locked { background: var(--kk-bg-soft); }
.kk-qr-locked { text-align: center; padding: 8px 4px 4px; }
.kk-qr-locked-ico { font-size: 28px; line-height: 1; margin-bottom: 8px; filter: grayscale(1); opacity: .8; }
.kk-qr-locked b { display: block; font-size: 13px; color: var(--kk-text); margin-bottom: 6px; }
.kk-qr-locked p { font-size: 12px; line-height: 1.7; color: var(--kk-text-3); margin: 0; }

/* 管理员视角标注：完整号码旁边那行「访客看到 138****8888」（阿牛 2026-10-08） */
.kk-lock-note {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.5;
  color: var(--kk-text-3);
  letter-spacing: 0;
}
.kk-lock-note::before { content: '👁 '; }

/* ==================================================================
 * 厂家库「全部企业」批量设置会员 / 「热门招商」行内排序（阿牛 2026-10-08）
 *   · 全部企业：行前勾选框（配合顶部「全选 / 批量设置会员」）
 *   · 热门招商：行前 ▲▼ 调首页展示顺序
 * ================================================================== */
.kk-fact-pick {
  display: flex; align-items: center; flex: 0 0 auto;
  padding-right: 2px; cursor: pointer;
}
.kk-fact-pick input { width: 15px; height: 15px; cursor: pointer; }
.kk-review-wrap.is-sel > .kk-review-row {
  border-color: rgba(12, 95, 255, .35);
  background: #f7faff;
}
.kk-row-move { display: inline-flex; gap: 2px; flex: 0 0 auto; }
.kk-row-move .kk-btn { padding: 0 7px; height: 24px; line-height: 22px; min-width: 26px; }
/* 批量设置会员弹窗里的「将要处理的企业」清单（只有它内部滚动，弹窗本身不滚） */
.kk-batch-list {
  max-height: 150px; overflow: auto;
  border: 1px solid #eceef2; border-radius: 8px;
  padding: 10px 12px; font-size: 12.5px; line-height: 1.95; color: var(--kk-text-2);
}

/* ==================================================================
 * 「招商区域（可多个）」的一行（阿牛 2026-10-08）
 *   厂家中心「品牌展示资料」与品牌入驻页 brand-register.html 共用同一套版式，
 *   所以样式放在公共 style.css 里（原来只写在 mfr-center.html 的内联 style 里）。
 * ================================================================== */
.kk-rec-item { display: flex; align-items: center; gap: 8px; margin-bottom: 7px; }
.kk-rec-item-idx {
  flex: 0 0 auto; width: 20px; height: 20px; border-radius: 50%;
  background: #eaf2ff; color: #1d4ed8; font-size: 11.5px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.kk-rec-item-body { flex: 1; min-width: 0; }
.kk-rec-item-del {
  flex: 0 0 auto; width: 26px; height: 26px; border: 1px solid #e5e7eb; border-radius: 6px;
  background: #fff; color: #94a3b8; font-size: 13px; line-height: 1; cursor: pointer;
}
.kk-rec-item-del:hover:not(:disabled) { border-color: #fecaca; background: #fef2f2; color: #dc2626; }
.kk-rec-item-del:disabled { opacity: .4; cursor: not-allowed; }
@media (max-width: 900px) {
  /* 品牌入驻页里每个区域一行的 4 级联动在窄屏改成两列 */
  .kk-rec-item .kk-region-cascade { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* 代理商卡片上的「覆盖区域」——每个区域可点，点了就按该区域筛（阿牛 2026-10-09） */
.kk-reg-link {
  color: var(--kk-primary);
  border-bottom: 1px dashed rgba(12, 95, 255, .45);
  cursor: pointer;
  transition: background .15s;
}
.kk-reg-link:hover { background: #eaf2ff; }
.kk-reg-sep { color: var(--kk-text-3); margin: 0 3px; }
#kkRegPickWrap { display: inline-flex; align-items: center; }

/* ---------- 首页「代理商地图」（阿牛 2026-10-09）---------- */
.kk-map-card { background: #fff; border: 1px solid var(--kk-border); border-radius: 12px; padding: 14px 16px 12px; }
.kk-map-head { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; flex-wrap: wrap; }
.kk-map-crumb { font-size: 13.5px; font-weight: 600; color: var(--kk-text); }
.kk-map-crumb b { color: var(--kk-primary); }
.kk-map-back {
  border: 1px solid var(--kk-border); background: #fff; color: var(--kk-text-2);
  border-radius: 7px; padding: 5px 12px; font-size: 12.5px; cursor: pointer; font-family: inherit;
}
.kk-map-back:hover { border-color: var(--kk-primary); color: var(--kk-primary); background: var(--kk-primary-light); }
.kk-map-tip { margin-left: auto; font-size: 12px; color: var(--kk-text-3); }
.kk-map-body { display: flex; gap: 22px; align-items: center; justify-content: center; flex-wrap: wrap; }
.kk-map-canvas { flex: 0 1 auto; min-width: 0; }
#kkAgentMap, #kkBrandMap { width: 100%; max-width: 620px; max-height: 440px; height: auto; display: block; }
.kk-map-side { display: flex; flex-direction: column; gap: 7px; min-width: 126px; font-size: 13px; color: var(--kk-text-2); }
.kk-map-side span { display: flex; align-items: center; gap: 8px; }
.kk-map-side i { width: 12px; height: 12px; border-radius: 3px; display: inline-block; flex: 0 0 auto; }
.kk-map-side b { margin-left: auto; color: var(--kk-text); }
.kk-map-nh-box { fill: #fff; stroke: #cfd8e6; stroke-width: 1; }
.kk-map-nh-txt { font-size: 13px; fill: #64748b; text-anchor: middle; }
/* 南海诸岛小图：整体被缩小过，线条要单独加粗才看得见 */
#kkAgentMap g.kk-map-south path, #kkBrandMap g.kk-map-south path { stroke-width: 4.5; }
#kkAgentMap .kk-map-prov path { stroke: #fff; stroke-width: 1.2; transition: fill .18s, opacity .18s; }
#kkAgentMap .kk-map-prov.is-dim path { opacity: .45; }
#kkAgentMap .kk-map-prov.is-on path:hover { opacity: .8; }

/* ---------- 后台「📤 批量上传品牌 Logo」（阿牛 2026-10-09）---------- */
.kk-lu { background: #fff; border: 1px solid var(--kk-border); border-radius: 10px; padding: 14px 16px; margin-bottom: 14px; }
.kk-lu-head { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.kk-lu-head b { font-size: 15px; }
.kk-lu-sub { font-size: 12.5px; color: var(--kk-text-3); }
.kk-lu-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 13px; color: var(--kk-text-2); }
.kk-lu-bar label { font-weight: 600; }
.kk-lu-hint { font-size: 12px; color: var(--kk-text-3); }
.kk-lu-drop {
  margin-top: 10px; padding: 18px; border: 2px dashed var(--kk-border); border-radius: 10px;
  text-align: center; color: var(--kk-text-3); font-size: 13px; cursor: pointer; transition: all .18s;
}
.kk-lu-drop.is-over { border-color: var(--kk-primary); background: var(--kk-primary-light); color: var(--kk-primary); }
.kk-lu-sum { margin: 10px 0 8px; font-size: 12.5px; color: var(--kk-text-2); }
.kk-lu-tbl { border: 1px solid var(--kk-border); border-radius: 8px; overflow: hidden; max-height: 430px; overflow-y: auto; }
.kk-lu-tr { display: grid; grid-template-columns: 76px 1fr 1fr 112px 84px; align-items: center; gap: 10px; padding: 8px 12px; border-top: 1px solid #eef2f7; font-size: 12.5px; }
.kk-lu-tr:first-child { border-top: 0; }
.kk-lu-th { background: #f8fafc; font-weight: 600; color: var(--kk-text-2); position: sticky; top: 0; z-index: 1; }
.kk-lu-tr img { width: 64px; height: 32px; object-fit: contain; background: #fff; border: 1px solid #eef2f7; border-radius: 4px; display: block; }
.kk-lu-b { display: inline-block; padding: 1px 7px; border-radius: 999px; font-size: 11px; margin-right: 5px; }
.kk-lu-b-ov { background: #fff7ed; color: #b45309; border: 1px solid #fed7aa; }
.kk-lu-b-new { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }
.kk-lu-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.kk-lu-log { margin-top: 10px; max-height: 160px; overflow-y: auto; font-size: 12.5px; line-height: 1.9; }
.kk-map-bubble { cursor: pointer; }
.kk-map-bubble circle { fill: #fff; stroke-width: 2.5; filter: drop-shadow(0 2px 5px rgba(0,0,0,.22)); }
.kk-map-bubble text { text-anchor: middle; font-weight: 800; font-family: inherit; }
.kk-map-bubble .bk-n { font-size: 21px; dominant-baseline: middle; }
.kk-map-bubble .bk-t { font-size: 14px; font-weight: 700; }
.kk-map-plabel { text-anchor: middle; font-size: 13.5px; font-weight: 700; fill: #fff; paint-order: stroke; stroke: rgba(0,0,0,.35); stroke-width: 2.6px; pointer-events: none; }
.kk-map-pnum { text-anchor: middle; font-size: 12px; font-weight: 800; fill: #fff; paint-order: stroke; stroke: rgba(0,0,0,.32); stroke-width: 2.2px; pointer-events: none; }
.kk-map-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; justify-content: center; margin-top: 10px; font-size: 12.5px; color: var(--kk-text-2); }
.kk-map-legend span { display: inline-flex; align-items: center; gap: 6px; }
.kk-map-legend i { width: 11px; height: 11px; border-radius: 3px; display: inline-block; }
.kk-map-legend b { color: var(--kk-text); }

/* ==================================================================
 * 2026-10-10（第二版，按阿牛反馈重做）卡片网格「每行数量固定」
 *   第一版试图把最后一行卡片「放大」去填满 → 阿牛否定：卡片尺寸必须与上面一行
 *   完全一致。⇒ 恢复成固定的等分网格（grid），卡片大小永远一样；
 *   「最后一行不留空」改由「每页条数 = 当前列数 × 行数」在数据层保证
 *   （见 brands.html / agent-library.html 里的 kkGridCols + 每页条数自适应）。
 *   此处已无覆盖规则 —— 卡片网格沿用文件上方的原始 grid 定义。
 * ================================================================== */

/* 品牌馆板块 banner：新图按「1600×150」设计、内容全部落在中间安全带内，
   窄屏裁切时从右侧裁、保留左边文字（阿牛 2026-10-10 重做 banner） */
body[data-page="brands"] .kk-page-hero img#kkPageBanner { object-position: left center; }

/* ==================================================================
 * 2026-10-10 首页「急需品牌代理」：改 5 列紧凑卡片（阿牛）
 *   卡片上半部分列「主营产品 / 感兴趣产品」，虚线以下只留「主营客户」，
 *   内距 / 字号整体收紧 —— 一屏能看两排共 10 家。
 * ================================================================== */
body[data-page="index"] #kkAgentList { gap: 14px; }
body[data-page="index"] #kkAgentList .kk-agent-card { padding: 12px 12px 11px; gap: 6px; }
body[data-page="index"] #kkAgentList .kk-agent-badge { width: 20px; height: 20px; font-size: 11px; border-radius: 5px; }
body[data-page="index"] #kkAgentList .kk-agent-company { font-size: 13.5px; }
body[data-page="index"] #kkAgentList .kk-agent-row { font-size: 12px; gap: 5px; }
body[data-page="index"] #kkAgentList .kk-agent-label { font-size: 11px; padding: 1px 5px; }
body[data-page="index"] #kkAgentList .kk-agent-interest { font-size: 11px; padding: 1px 5px; }
body[data-page="index"] #kkAgentList .kk-agent-cust { font-size: 11.5px; gap: 5px; padding-top: 6px; }
@media (max-width: 1200px) { body[data-page="index"] #kkAgentList { gap: 12px; } }

/* ------------------------------------------------------------------
 * 卡片网格列宽收口（阿牛 2026-10-10）：
 *   品牌馆 / 人物访谈网格同样改成 minmax(0, 1fr) —— 列宽严格等分，
 *   不会被某张卡里的长公司名顶宽（那会让「同一行卡片大小不一」+ 网格横向溢出）。
 *   断点与文件上方的原定义完全一致，只是把 1fr 换成 minmax(0, 1fr)。
 * ------------------------------------------------------------------ */
.kk-brand-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.kk-interview-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1200px) { .kk-brand-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 980px)  { .kk-brand-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 900px)  { .kk-interview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px)  { .kk-brand-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px)  {
  .kk-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kk-interview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ==================================================================
 * 企业主页「招商区域联系人」（阿牛 2026-10-10）
 *   一个厂家可以多区域招商、不同区域联系人不同 —— 一行一条：
 *   招商区域 | 联系人（+职位） | 手机 | 微信二维码
 * ================================================================== */
.kk-ac-title { display: flex; align-items: baseline; gap: 8px; font-size: 13.5px; font-weight: 700;
  color: var(--kk-text); margin: 18px 0 9px; }
.kk-ac-title span { font-size: 11.5px; font-weight: 400; color: var(--kk-text-3); }
.kk-ac-list { display: flex; flex-direction: column; gap: 8px; }
.kk-ac-row {
  display: grid; grid-template-columns: 1.15fr 1fr 1.05fr 76px; gap: 8px 14px; align-items: center;
  border: 1px solid var(--kk-border); border-left: 3px solid var(--kk-primary);
  border-radius: 10px; padding: 9px 13px; background: #fbfcfe;
}
.kk-ac-area { font-size: 12.5px; color: var(--kk-text-2); line-height: 1.45; }
.kk-ac-area i { display: block; font-style: normal; font-size: 10px; color: var(--kk-text-3);
  letter-spacing: .6px; margin-bottom: 2px; }
.kk-ac-person { font-size: 13px; color: var(--kk-text); }
.kk-ac-person b { font-weight: 700; }
.kk-ac-person em { font-style: normal; font-size: 11.5px; color: var(--kk-text-3); margin-left: 6px; }
.kk-ac-phone { font-size: 13px; color: var(--kk-text); font-variant-numeric: tabular-nums; }
.kk-ac-qr { width: 76px; height: 76px; border: 1px solid var(--kk-border); border-radius: 8px;
  background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.kk-ac-qr img { width: 100%; height: 100%; object-fit: contain; }
.kk-ac-qr span { font-size: 10px; color: var(--kk-text-3); text-align: center; line-height: 1.35; }
@media (max-width: 760px) {
  .kk-ac-row { grid-template-columns: 1fr 1fr; }
  .kk-ac-qr { width: 60px; height: 60px; grid-column: 2; grid-row: 1 / span 2; justify-self: end; }
}

/* ==================================================================
 * 首页「行业资讯」与左侧「人物访谈」等高（阿牛 2026-10-10）
 *   原来条目留白多，右栏总高度超过左侧一行访谈卡 → 左栏下面空一块。
 *   这里把条目内边距 / 字号收一收，列表在面板里均匀铺开，两栏自动等高。
 * ================================================================== */
.kk-news-list-tight .kk-news-item { padding: 5px 0; gap: 7px; }
.kk-news-list-tight .kk-news-item a { font-size: 13px; line-height: 1.5; }
.kk-news-list-tight .kk-news-item .kk-news-tag { font-size: 11px; padding: 0 6px; }
.kk-news-list-tight .kk-news-item .kk-news-date { font-size: 11px; }
.kk-news-panel .kk-card-body { padding: 10px 14px; }
/* 列表在面板里均匀铺开（条目少时不会全挤在顶部），面板不出现内部滚动条 */
.kk-news-panel .kk-card-body { overflow: hidden; }
body[data-page="index"] #kkNewsList.kk-news-list-tight { height: 100%; justify-content: space-between; }
