/* ============================================================
   店宝易点 — 全局样式表 v2.0
   涵盖：主题色系统 | 导航栏 | 页脚 | Hero | 通用组件
   每个主题精心搭配 12+ 个变量，确保文字清晰可读
   ============================================================ */

/* ==================== 基础重置 ==================== */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', sans-serif;
  color: var(--text-primary);
  background: var(--bg-light);
  line-height: 1.7;
  transition: background .35s ease, color .35s ease;
  padding-top: 68px;
  overflow-x: hidden;
}
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
a { text-decoration: none; color: inherit; }
img {
    max-width: 100%;
    height: auto;
    display: block;
    /* 图片保护：禁止拖拽、禁止选中、禁止触摸弹出保存菜单 */
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    pointer-events: none;
    /* 自适应优化：保持比例、防止模糊 */
    object-fit: contain;
}
ul, ol { list-style: none; }

/* ==================== 按钮 ==================== */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 28px; border-radius: 50px; font-weight: 600; font-size: .95rem;
  transition: all .25s ease; border: none; cursor: pointer; position: relative;
  overflow: hidden; letter-spacing: .3px;
}
.btn::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.2) 0%, transparent 50%);
  opacity: 0; transition: opacity .25s;
}
.btn:hover::after { opacity: 1; }
.btn-primary { background: var(--primary); color: var(--text-on-primary); box-shadow: 0 6px 20px var(--primary-glow); }
.btn-primary:hover { background: var(--primary-hover); transform: translateY(-2px); box-shadow: 0 10px 28px var(--primary-glow); }
.btn-outline-light { border: 2px solid rgba(255,255,255,.85); color: #fff; background: transparent; }
.btn-outline-light:hover { background: #fff; color: var(--primary); }
.btn-outline { border: 2px solid var(--primary); color: var(--primary); background: transparent; }
.btn-outline:hover { background: var(--primary); color: var(--text-on-primary); }
.btn-xl { padding: 15px 38px; font-size: 1.08rem; }
.btn-sm { padding: 8px 20px; font-size: .85rem; }

/* ==================== 主题色系统（10 种精心搭配的主题） ==================== */

/*
  每种主题都完整定义了以下变量，确保所有场景下文字清晰：
  --primary         主色
  --primary-hover   主色悬浮态（深一级）
  --primary-light   主色浅底（用于 hover 背景）
  --primary-glow    主色发光（用于按钮阴影）
  --primary-soft    主色极浅（用于引用块、card 悬停边）
  --text-on-primary 主色上的文字色

  --text-primary    正文色（务必与背景高对比）
  --text-secondary  辅助文字色
  --text-muted      禁用/占位文字色

  --bg-light        页面背景色
  --surface         卡片/面板背景色
  --border          边框色
  --divider         分割线色

  --header-bg       导航栏背景
  --header-text     导航栏文字
  --header-shadow   导航栏阴影

  --footer-bg       页脚背景
  --footer-text     页脚文字
  --footer-heading  页脚标题
  --footer-muted    页脚辅助文字
  --footer-divider  页脚分割线

  --hero-overlay    Hero 区渐变
  --card-shadow     卡片阴影
  --tag-bg          标签背景
  --tag-text        标签文字
  --scrollbar-thumb 滚动条滑块（部分主题自定义）
*/

/* ----- 默认：活力橙 ----- */
:root {
  --primary:            #f97316;
  --primary-hover:      #ea580c;
  --primary-light:      rgba(249,115,22,.12);
  --primary-glow:       rgba(249,115,22,.35);
  --primary-soft:       rgba(249,115,22,.06);

  --text-primary:       #1e293b;
  --text-secondary:     #64748b;
  --text-muted:         #94a3b8;
  --text-on-primary:    #ffffff;

  --bg-light:           #f8fafc;
  --surface:            #ffffff;
  --border:             #e2e8f0;
  --divider:            #f1f5f9;

  --header-bg:          rgba(255,255,255,.88);
  --header-text:        #334155;
  --header-shadow:      rgba(0,0,0,.06);

  --footer-bg:          #1a1e2b;
  --footer-text:        #cbd5e1;
  --footer-heading:     #ffffff;
  --footer-muted:       #64748b;
  --footer-divider:     rgba(255,255,255,.1);

  --hero-overlay:       linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
  --card-shadow:        0 4px 20px rgba(0,0,0,.05);
  --tag-bg:             #fff7ed;
  --tag-text:           #c2410c;
  --scrollbar-thumb:    #cbd5e1;
}

/* ----- 科技蓝 ----- */
body.theme-blue {
  --primary:            #2563eb;
  --primary-hover:      #1d4ed8;
  --primary-light:      rgba(37,99,235,.12);
  --primary-glow:       rgba(37,99,235,.35);
  --primary-soft:       rgba(37,99,235,.06);

  --text-primary:       #0f172a;
  --text-secondary:     #475569;
  --text-muted:         #94a3b8;
  --text-on-primary:    #ffffff;

  --bg-light:           #f1f5f9;
  --surface:            #ffffff;
  --border:             #e2e8f0;
  --divider:            #f1f5f9;

  --header-bg:          rgba(255,255,255,.89);
  --header-text:        #1e293b;
  --header-shadow:      rgba(0,0,0,.06);

  --footer-bg:          #0f172a;
  --footer-text:        #cbd5e1;
  --footer-heading:     #e2e8f0;
  --footer-muted:       #64748b;
  --footer-divider:     rgba(255,255,255,.08);

  --hero-overlay:       linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%);
  --card-shadow:        0 4px 20px rgba(37,99,235,.06);
  --tag-bg:             #eff6ff;
  --tag-text:           #1d4ed8;
}

/* ----- 清新绿 ----- */
body.theme-green {
  --primary:            #059669;
  --primary-hover:      #047857;
  --primary-light:      rgba(5,150,105,.12);
  --primary-glow:       rgba(5,150,105,.35);
  --primary-soft:       rgba(5,150,105,.06);

  --text-primary:       #064e3b;
  --text-secondary:     #374151;
  --text-muted:         #9ca3af;
  --text-on-primary:    #ffffff;

  --bg-light:           #f0fdf4;
  --surface:            #ffffff;
  --border:             #d1fae5;
  --divider:            #ecfdf5;

  --header-bg:          rgba(255,255,255,.9);
  --header-text:        #064e3b;
  --header-shadow:      rgba(0,0,0,.05);

  --footer-bg:          #022c22;
  --footer-text:        #a7f3d0;
  --footer-heading:     #d1fae5;
  --footer-muted:       #6ee7b7;
  --footer-divider:     rgba(255,255,255,.1);

  --hero-overlay:       linear-gradient(135deg, #022c22 0%, #064e3b 100%);
  --card-shadow:        0 4px 20px rgba(5,150,105,.06);
  --tag-bg:             #d1fae5;
  --tag-text:           #047857;
}

/* ----- 典雅紫 ----- */
body.theme-purple {
  --primary:            #7c3aed;
  --primary-hover:      #6d28d9;
  --primary-light:      rgba(124,58,237,.12);
  --primary-glow:       rgba(124,58,237,.35);
  --primary-soft:       rgba(124,58,237,.06);

  --text-primary:       #1e1b4b;
  --text-secondary:     #4b5563;
  --text-muted:         #9ca3af;
  --text-on-primary:    #ffffff;

  --bg-light:           #faf5ff;
  --surface:            #ffffff;
  --border:             #ede9fe;
  --divider:            #f5f3ff;

  --header-bg:          rgba(255,255,255,.9);
  --header-text:        #2e1065;
  --header-shadow:      rgba(0,0,0,.05);

  --footer-bg:          #1e1b4b;
  --footer-text:        #ddd6fe;
  --footer-heading:     #ede9fe;
  --footer-muted:       #a78bfa;
  --footer-divider:     rgba(255,255,255,.1);

  --hero-overlay:       linear-gradient(135deg, #1e1b4b 0%, #312e81 100%);
  --card-shadow:        0 4px 20px rgba(124,58,237,.06);
  --tag-bg:             #ede9fe;
  --tag-text:           #6d28d9;
}

/* ----- 尊贵金（暗色主题） ----- */
body.theme-gold {
  --primary:            #fbbf24;
  --primary-hover:      #f59e0b;
  --primary-light:      rgba(251,191,36,.18);
  --primary-glow:       rgba(251,191,36,.4);
  --primary-soft:       rgba(251,191,36,.08);

  --text-primary:       #f1f5f9;
  --text-secondary:     #cbd5e1;
  --text-muted:         #64748b;
  --text-on-primary:    #1a1a0a;

  --bg-light:           #0f1119;
  --surface:            #1a1d2e;
  --border:             #374151;
  --divider:            #1f2937;

  --header-bg:          rgba(15,17,25,.92);
  --header-text:        #e5e7eb;
  --header-shadow:      rgba(0,0,0,.3);

  --footer-bg:          #08090f;
  --footer-text:        #9ca3af;
  --footer-heading:     #fbbf24;
  --footer-muted:       #6b7280;
  --footer-divider:     rgba(255,255,255,.06);

  --hero-overlay:       linear-gradient(135deg, #000000 0%, #1f1a00 100%);
  --card-shadow:        0 4px 24px rgba(0,0,0,.3);
  --tag-bg:             #78350f;
  --tag-text:           #fde68a;
}

/* ----- 深邃靛 ----- */
body.theme-indigo {
  --primary:            #6366f1;
  --primary-hover:      #4f46e5;
  --primary-light:      rgba(99,102,241,.12);
  --primary-glow:       rgba(99,102,241,.35);
  --primary-soft:       rgba(99,102,241,.06);

  --text-primary:       #1e1b4b;
  --text-secondary:     #475569;
  --text-muted:         #94a3b8;
  --text-on-primary:    #ffffff;

  --bg-light:           #eef2ff;
  --surface:            #ffffff;
  --border:             #e0e7ff;
  --divider:            #eef2ff;

  --header-bg:          rgba(255,255,255,.9);
  --header-text:        #312e81;
  --header-shadow:      rgba(0,0,0,.05);

  --footer-bg:          #1e1b4b;
  --footer-text:        #c7d2fe;
  --footer-heading:     #e0e7ff;
  --footer-muted:       #818cf8;
  --footer-divider:     rgba(255,255,255,.1);

  --hero-overlay:       linear-gradient(135deg, #0f0a2e 0%, #1e1b4b 100%);
  --card-shadow:        0 4px 20px rgba(99,102,241,.06);
  --tag-bg:             #e0e7ff;
  --tag-text:           #4f46e5;
}

/* ----- 中国红 ----- */
body.theme-darkred {
  --primary:            #e11d48;
  --primary-hover:      #be123c;
  --primary-light:      rgba(225,29,72,.12);
  --primary-glow:       rgba(225,29,72,.35);
  --primary-soft:       rgba(225,29,72,.06);

  --text-primary:       #1e293b;
  --text-secondary:     #475569;
  --text-muted:         #94a3b8;
  --text-on-primary:    #ffffff;

  --bg-light:           #fff1f2;
  --surface:            #ffffff;
  --border:             #fecdd3;
  --divider:            #ffe4e6;

  --header-bg:          rgba(255,255,255,.9);
  --header-text:        #9f1239;
  --header-shadow:      rgba(0,0,0,.05);

  --footer-bg:          #1a0a0f;
  --footer-text:        #fecdd3;
  --footer-heading:     #fda4af;
  --footer-muted:       #e11d4880;
  --footer-divider:     rgba(255,255,255,.08);

  --hero-overlay:       linear-gradient(135deg, #1a0a0f 0%, #2d0a14 100%);
  --card-shadow:        0 4px 20px rgba(225,29,72,.06);
  --tag-bg:             #ffe4e6;
  --tag-text:           #be123c;
}

/* ----- 清爽青 ----- */
body.theme-cyan {
  --primary:            #0891b2;
  --primary-hover:      #0e7490;
  --primary-light:      rgba(8,145,178,.12);
  --primary-glow:       rgba(8,145,178,.35);
  --primary-soft:       rgba(8,145,178,.06);

  --text-primary:       #0f172a;
  --text-secondary:     #334155;
  --text-muted:         #94a3b8;
  --text-on-primary:    #ffffff;

  --bg-light:           #ecfeff;
  --surface:            #ffffff;
  --border:             #cffafe;
  --divider:            #ecfeff;

  --header-bg:          rgba(255,255,255,.9);
  --header-text:        #155e75;
  --header-shadow:      rgba(0,0,0,.05);

  --footer-bg:          #042f2e;
  --footer-text:        #a5f3fc;
  --footer-heading:     #cffafe;
  --footer-muted:       #67e8f9;
  --footer-divider:     rgba(255,255,255,.1);

  --hero-overlay:       linear-gradient(135deg, #042f2e 0%, #155e75 100%);
  --card-shadow:        0 4px 20px rgba(8,145,178,.06);
  --tag-bg:             #cffafe;
  --tag-text:           #0e7490;
}

/* ----- 樱花粉 ----- */
body.theme-pink {
  --primary:            #db2777;
  --primary-hover:      #be185d;
  --primary-light:      rgba(219,39,119,.12);
  --primary-glow:       rgba(219,39,119,.35);
  --primary-soft:       rgba(219,39,119,.06);

  --text-primary:       #1e1b4b;
  --text-secondary:     #475569;
  --text-muted:         #94a3b8;
  --text-on-primary:    #ffffff;

  --bg-light:           #fdf2f8;
  --surface:            #ffffff;
  --border:             #fce7f3;
  --divider:            #fdf2f8;

  --header-bg:          rgba(255,255,255,.9);
  --header-text:        #831843;
  --header-shadow:      rgba(0,0,0,.05);

  --footer-bg:          #1a0a18;
  --footer-text:        #fbcfe8;
  --footer-heading:     #f9a8d4;
  --footer-muted:       #db277780;
  --footer-divider:     rgba(255,255,255,.08);

  --hero-overlay:       linear-gradient(135deg, #1a0a18 0%, #2d0a24 100%);
  --card-shadow:        0 4px 20px rgba(219,39,119,.06);
  --tag-bg:             #fce7f3;
  --tag-text:           #be185d;
}

/* ----- 极简灰 ----- */
body.theme-mono {
  --primary:            #475569;
  --primary-hover:      #334155;
  --primary-light:      rgba(71,85,105,.12);
  --primary-glow:       rgba(71,85,105,.25);
  --primary-soft:       rgba(71,85,105,.06);

  --text-primary:       #0f172a;
  --text-secondary:     #475569;
  --text-muted:         #94a3b8;
  --text-on-primary:    #ffffff;

  --bg-light:           #f8f9fa;
  --surface:            #ffffff;
  --border:             #dee2e6;
  --divider:            #f1f3f5;

  --header-bg:          rgba(255,255,255,.92);
  --header-text:        #212529;
  --header-shadow:      rgba(0,0,0,.06);

  --footer-bg:          #111827;
  --footer-text:        #9ca3af;
  --footer-heading:     #d1d5db;
  --footer-muted:       #6b7280;
  --footer-divider:     rgba(255,255,255,.08);

  --hero-overlay:       linear-gradient(135deg, #000000 0%, #1f2937 100%);
  --card-shadow:        0 4px 20px rgba(0,0,0,.06);
  --tag-bg:             #e5e7eb;
  --tag-text:           #374151;
}

/* 极简灰全局灰度滤镜（可取消注释启用） */
/* body.theme-mono { filter: none; } */
/* body.theme-mono img, body.theme-mono .hero, body.theme-mono .btn { filter: grayscale(30%); } */


/* ==================== 滚动条美化 ==================== */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb, #cbd5e1); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: var(--primary); }


/* ==================== 导航栏 v3 (增强版) ==================== */
.header {
  position: fixed;
  top: 0; left: 0; width: 100%;
  z-index: 1000;
  background: var(--header-bg);
  backdrop-filter: blur(28px) saturate(200%);
  -webkit-backdrop-filter: blur(28px) saturate(200%);
  box-shadow: 0 1px 0 var(--border), 0 8px 32px var(--header-shadow);
  transition: all .35s cubic-bezier(.4,0,.2,1);
  animation: headerSlideIn .6s cubic-bezier(.22,1,.36,1) both;
}
@keyframes headerSlideIn {
  from { opacity: 0; transform: translateY(-100%); }
  to   { opacity: 1; transform: translateY(0); }
}

/* 导航底部发光边线 */
.header::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--primary-glow) 20%,
    var(--primary) 50%,
    var(--primary-glow) 80%,
    transparent 100%);
  opacity: 0; transition: opacity .5s ease;
}
.header.scrolled::after { opacity: 1; }

.header.scrolled {
  background: var(--header-bg);
  box-shadow: 0 1px 0 var(--border), 0 12px 40px var(--header-shadow);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 70px;
  gap: 20px;
}

/* ---- Logo ---- */
.logo {
  display: flex; align-items: center; gap: 10px;
  font-size: 1.35rem; font-weight: 800;
  color: var(--header-text); flex-shrink: 0;
  transition: all .3s ease; position: relative;
  padding: 6px 4px; border-radius: 12px;
}
.logo:hover { transform: scale(1.03); }
.logo img { height: 34px; transition: transform .3s ease; }
.logo:hover img { transform: scale(1.05); }
.logo span {
  background: linear-gradient(135deg, var(--primary), var(--primary-hover));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
  transition: filter .3s ease;
}
.logo:hover span { filter: brightness(1.2); }

/* Logo 光晕 */
.logo::before {
  content: '';
  position: absolute; inset: -4px; border-radius: 16px;
  background: radial-gradient(circle at center, var(--primary-glow) 0%, transparent 70%);
  opacity: 0; transition: opacity .4s ease; z-index: -1;
}
.logo:hover::before { opacity: .3; }

/* ---- 导航菜单 ---- */
.nav-list {
  display: flex; align-items: center; gap: 6px;
  list-style: none; margin: 0; padding: 0;
}
.nav-list a {
  display: flex; align-items: center; gap: 7px;
  padding: 9px 17px; border-radius: 12px;
  color: var(--text-secondary); font-weight: 500; font-size: .93rem;
  transition: all .3s cubic-bezier(.4,0,.2,1); position: relative;
  white-space: nowrap; letter-spacing: .3px;
  overflow: hidden;
}
.nav-list a i {
  font-size: 1.05rem; opacity: .7;
  transition: opacity .3s, transform .3s;
}

/* 导航链接背景滑块 */
.nav-list a::before {
  content: '';
  position: absolute; inset: 0;
  background: var(--primary);
  opacity: 0; border-radius: 12px;
  transition: opacity .3s ease;
  z-index: -1;
}
.nav-list a:hover {
  color: var(--primary); background: var(--primary-soft);
}
.nav-list a:hover i { opacity: 1; transform: translateY(-1px); }
.nav-list a.active {
  color: var(--primary); background: var(--primary-light); font-weight: 600;
}
.nav-list a.active i { opacity: 1; color: var(--primary); }

/* 当前页指示器 — 顶部亮点 */
.nav-list a.active::after {
  content: '';
  position: absolute; top: 4px; left: 50%;
  transform: translateX(-50%);
  width: 6px; height: 6px;
  background: var(--primary); border-radius: 50%;
  animation: activePulse 2s ease-in-out infinite;
}
@keyframes activePulse {
  0%, 100% { box-shadow: 0 0 0 0 var(--primary-glow); }
  50%      { box-shadow: 0 0 0 8px transparent; }
}

/* 下划线指示器 */
.nav-list a .nav-indicator {
  position: absolute; bottom: 2px; left: 50%;
  transform: translateX(-50%) scaleX(0);
  width: calc(100% - 24px); height: 2.5px;
  background: var(--primary); border-radius: 2px;
  transition: transform .35s cubic-bezier(.4,0,.2,1);
  opacity: 0;
}
.nav-list a:hover .nav-indicator,
.nav-list a.active .nav-indicator {
  transform: translateX(-50%) scaleX(1); opacity: 1;
}

/* ---- 登录按钮 ---- */
.header-login-btn {
  flex-shrink: 0;
  position: relative; overflow: hidden;
  background: linear-gradient(135deg, var(--primary), var(--primary-hover));
  box-shadow: 0 4px 15px var(--primary-glow);
  transition: all .3s ease;
  animation: btnGlow 2.5s ease-in-out infinite;
}
@keyframes btnGlow {
  0%, 100% { box-shadow: 0 4px 15px var(--primary-glow); }
  50%      { box-shadow: 0 6px 25px var(--primary-glow), 0 0 40px var(--primary-glow); }
}
.header-login-btn:hover {
  transform: translateY(-2px) scale(1.04);
  box-shadow: 0 8px 28px var(--primary-glow), 0 0 50px rgba(249,115,22,.25);
}

/* 按钮流光效果 */
.header-login-btn::before {
  content: '';
  position: absolute; top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: linear-gradient(
    45deg, transparent 40%,
    rgba(255,255,255,.15) 50%,
    transparent 60%
  );
  animation: shimmer 3s ease-in-out infinite;
}
@keyframes shimmer {
  0%   { transform: translateX(-100%) rotate(45deg); }
  100% { transform: translateX(100%) rotate(45deg); }
}

/* ---- 汉堡菜单按钮 ---- */
.mobile-menu-btn {
  display: none;
  flex-direction: column; justify-content: center; align-items: center;
  width: 42px; height: 42px; background: transparent; border: none;
  cursor: pointer; z-index: 1001; border-radius: 12px;
  transition: all .25s ease; position: relative;
}
.mobile-menu-btn::before {
  content: '';
  position: absolute; inset: 0; border-radius: 12px;
  background: var(--primary-soft);
  opacity: 0; transition: opacity .3s;
}
.mobile-menu-btn:hover::before { opacity: 1; }
.mobile-menu-btn span {
  display: block; width: 22px; height: 2.5px;
  background: var(--header-text); border-radius: 3px;
  transition: all .3s cubic-bezier(.4,0,.2,1);
  margin: 3px 0;
}
.mobile-menu-btn.open span:nth-child(1) {
  transform: rotate(45deg) translate(5.5px, 5.5px);
  background: var(--primary);
}
.mobile-menu-btn.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.mobile-menu-btn.open span:nth-child(3) {
  transform: rotate(-45deg) translate(5.5px, -5.5px);
  background: var(--primary);
}

/* Desktop hide 类（手机端登录链接） */
.desktop-hide { display: none; }

/* 导航移动端遮罩 */
.mobile-nav-overlay {
  display: none; position: fixed; inset: 0; z-index: 998;
  background: rgba(0,0,0,.4); backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  animation: fadeIn .3s ease;
}


/* ==================== Hero 区 ==================== */
.hero {
  position: relative; display: flex; align-items: center;
  min-height: calc(100vh - 68px);
  background: var(--bg-dark, #1e293b); color: #fff; overflow: hidden;
}
.hero-bg {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: var(--hero-overlay); background-size: cover; background-position: center;
  opacity: .92;
}
.hero-content {
  position: relative; z-index: 2;
  display: flex; align-items: center; gap: 50px;
}
.hero-text { flex: 1; }
.hero-text h1 { font-size: 3.2rem; font-weight: 800; margin-bottom: 20px; line-height: 1.25; }
.hero-text p { font-size: 1.2rem; opacity: .9; margin-bottom: 30px; max-width: 500px; }
.hero-btns { display: flex; gap: 15px; flex-wrap: wrap; }
.hero-mockup { flex: 1; }
.mockup-screen {
  background: var(--bg-dark-secondary, #0f172a); border-radius: 16px; padding: 10px;
  min-height: 260px; display: flex; align-items: center; justify-content: center;
}
.mockup-placeholder { text-align: center; color: var(--text-secondary); }
.mockup-placeholder i { font-size: 3rem; color: var(--primary); margin-bottom: 15px; }


/* ==================== 通用区块 ==================== */
.section { padding: 80px 0; }
.section-title { text-align: center; font-size: 2.2rem; margin-bottom: 15px; font-weight: 700; color: var(--text-primary); }
.section-desc { text-align: center; color: var(--text-secondary); max-width: 600px; margin: 0 auto 50px; }

/* 功能分类 */
.feature-categories { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 20px; margin-top: 40px; }
.cat-card {
  background: var(--surface); padding: 30px 18px; border-radius: 20px; text-align: center;
  box-shadow: var(--card-shadow); border: 1px solid var(--border);
  transition: transform .3s, border-color .3s, box-shadow .3s;
}
.cat-card:hover {
  transform: translateY(-6px);
  border-color: var(--primary);
  box-shadow: 0 12px 30px var(--primary-glow);
}
.cat-card i { font-size: 2rem; color: var(--primary); margin-bottom: 12px; }

/* 信任条 */
.trust-section { background: var(--surface); }
.trust-logos { display: flex; justify-content: center; gap: 40px; flex-wrap: wrap; margin-top: 30px; }
.trust-logos span { display: flex; align-items: center; gap: 8px; font-size: 1.2rem; color: var(--text-primary); }
.trust-logos i { color: var(--primary); }

/* CTA */
.cta-card { text-align: center; background: var(--surface); padding: 60px; border-radius: 24px; box-shadow: 0 10px 30px rgba(0,0,0,.05); }
.cta-btns { margin-top: 25px; display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; }

/* 解决方案 */
.solutions-page .solution-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 30px; }
.solution-card {
  background: var(--surface); border-radius: 20px; overflow: hidden;
  box-shadow: var(--card-shadow); border: 1px solid var(--border);
  transition: transform .3s, box-shadow .3s;
}
.solution-card:hover { transform: translateY(-8px); box-shadow: 0 16px 40px rgba(0,0,0,.1); }
.card-img {
  height: 200px; background: var(--divider); display: flex; align-items: center; justify-content: center;
  color: var(--primary); font-size: 3rem;
}
.card-img img { width: 100%; height: 100%; object-fit: cover; }
.card-body { padding: 22px; }
.card-body h3 { color: var(--text-primary); margin-bottom: 8px; }
.card-body p { color: var(--text-secondary); font-size: .92rem; }
.feature-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.tag { background: var(--tag-bg); color: var(--tag-text); padding: 5px 13px; border-radius: 20px; font-size: .8rem; font-weight: 500; }


/* ==================== 收银台样式 ==================== */
.cashier-app { max-width: 1000px; margin: 0 auto; background: var(--surface); border-radius: 24px; box-shadow: 0 25px 50px rgba(0,0,0,.1); overflow: hidden; }
.cashier-header { background: var(--bg-dark, #1e293b); color: #fff; padding: 16px 24px; display: flex; justify-content: space-between; }
.tab-nav { display: flex; background: var(--divider); padding: 12px 16px; gap: 6px; overflow-x: auto; }
.tab-nav button { background: transparent; border: none; padding: 8px 16px; border-radius: 20px; cursor: pointer; color: var(--text-secondary); white-space: nowrap; }
.tab-nav button.active { background: var(--primary); color: var(--text-on-primary); }
.cashier-screen { padding: 20px; }
.cashier-img-area { background: var(--divider); border-radius: 16px; padding: 20px; text-align: center; min-height: 250px; }
.screen-placeholder { display: flex; flex-direction: column; height: 200px; background: var(--surface); border-radius: 12px; overflow: hidden; }
.sp-header { background: var(--primary); color: var(--text-on-primary); padding: 6px 12px; display: flex; justify-content: space-between; font-size: .8rem; }
.sp-body { display: flex; flex: 1; }
.sp-sidebar { width: 30%; background: var(--divider); border-right: 1px solid var(--border); }
.sp-main { flex: 1; padding: 10px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.sp-item { background: var(--border); border-radius: 6px; }
.sp-footer { background: var(--divider); padding: 8px; display: flex; justify-content: space-between; }
.sp-btn { background: var(--primary); border-radius: 12px; padding: 4px 16px; color: var(--text-on-primary); font-size: .7rem; }
.auto-rotate-control { display: flex; align-items: center; gap: 10px; margin-top: 15px; }
.switch { position: relative; display: inline-block; width: 44px; height: 24px; }
.switch input { opacity: 0; width: 0; height: 0; }
.slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #cbd5e1; border-radius: 34px; }
.slider:before { content: ""; height: 18px; width: 18px; left: 3px; bottom: 3px; background-color: white; position: absolute; border-radius: 50%; transition: .3s; }
input:checked + .slider { background-color: var(--primary); }
input:checked + .slider:before { transform: translateX(20px); }


/* ==================== 页脚 v3 (增强版) ==================== */
.footer {
  background: var(--footer-bg);
  color: var(--footer-text);
  padding: 0 0 24px;
  position: relative; overflow: hidden;
  font-size: .93rem;
}
/* 波浪顶部边缘 */
.footer-wave {
  position: relative; width: 100%; overflow: hidden; line-height: 0;
  margin-bottom: -2px;
}
.footer-wave svg {
  display: block; width: 100%; height: 70px;
}
.footer-wave svg path { fill: var(--footer-bg); }

/* 主题色光晕装饰 */
.footer::before {
  content: '';
  position: absolute; top: 10%; right: -15%;
  width: 500px; height: 500px;
  background: radial-gradient(circle, var(--primary-light) 0%, transparent 70%);
  opacity: .15; pointer-events: none; animation: footerGlow1 8s ease-in-out infinite;
}
@keyframes footerGlow1 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50%      { transform: translate(-30px, -20px) scale(1.1); }
}
.footer::after {
  content: '';
  position: absolute; bottom: -20%; left: -10%;
  width: 400px; height: 400px;
  background: radial-gradient(circle, var(--primary-soft) 0%, transparent 70%);
  opacity: .12; pointer-events: none; animation: footerGlow2 10s ease-in-out infinite;
}
@keyframes footerGlow2 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50%      { transform: translate(20px, -30px) scale(1.15); }
}

/* 装饰性网格点 */
.footer-dots {
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background-image: radial-gradient(circle, var(--footer-divider) 1px, transparent 1px);
  background-size: 40px 40px;
  opacity: .3; mask-image: linear-gradient(to bottom, transparent 0%, #000 15%, #000 85%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 15%, #000 85%, transparent 100%);
}

.footer-container {
  max-width: 1200px; margin: 0 auto; padding: 60px 24px 0;
  position: relative; z-index: 1;
}

.footer-main {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.1fr;
  gap: 44px;
  margin-bottom: 40px;
}

/* 4列以下自动适配 */
.footer-main.cols-3 { grid-template-columns: 1.3fr 1fr 1fr; }
.footer-main.cols-2 { grid-template-columns: 1fr 1fr; }
.footer-main.cols-1 { grid-template-columns: 1fr; }

.footer-col { animation: footerFadeUp .6s cubic-bezier(.22,1,.36,1) both; }
.footer-col:nth-child(1) { animation-delay: 0s; }
.footer-col:nth-child(2) { animation-delay: .1s; }
.footer-col:nth-child(3) { animation-delay: .2s; }
.footer-col:nth-child(4) { animation-delay: .3s; }
@keyframes footerFadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.footer-col h4 {
  color: var(--footer-heading); font-size: 1.05rem;
  margin-bottom: 20px; display: flex; align-items: center; gap: 10px;
  font-weight: 700; letter-spacing: .5px; position: relative;
}
.footer-col h4 i {
  color: var(--primary); font-size: 1.1rem;
  transition: transform .3s ease;
}
.footer-col:hover h4 i { transform: scale(1.2) rotate(-5deg); }

/* 列标题底部装饰线 */
.footer-col h4::after {
  content: '';
  position: absolute; bottom: -8px; left: 0;
  width: 28px; height: 2.5px; border-radius: 2px;
  background: linear-gradient(90deg, var(--primary), var(--primary-hover));
  transition: width .3s ease;
}
.footer-col:hover h4::after { width: 42px; }

.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col ul li { margin-bottom: 10px; line-height: 1.6; }
.footer-col ul li a {
  color: var(--footer-muted, #94a3b8); text-decoration: none;
  transition: all .3s ease; display: inline-flex; align-items: center; gap: 6px;
  position: relative; padding-left: 0;
}
.footer-col ul li a::before {
  content: '';
  position: absolute; left: 0; bottom: 2px;
  width: 0; height: 1.5px;
  background: var(--primary);
  transition: width .3s ease; border-radius: 1px;
}
.footer-col ul li a:hover {
  color: var(--footer-heading); transform: translateX(6px);
}
.footer-col ul li a:hover::before { width: 100%; }

/* 链接小箭头 */
.footer-col ul li a i.link-arrow {
  font-size: .75rem; opacity: 0; transform: translateX(-6px);
  transition: all .3s ease; color: var(--primary);
}
.footer-col ul li a:hover i.link-arrow {
  opacity: 1; transform: translateX(0);
}

/* 品牌列 */
.footer-brand-col {
  display: flex; flex-direction: column; gap: 16px;
}
.footer-brand img { height: 36px; filter: brightness(0) invert(1); }
.footer-site-title {
  font-size: 1.65rem; font-weight: 800; color: var(--footer-heading);
  background: linear-gradient(135deg, var(--primary), var(--primary-hover));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
  transition: filter .3s ease;
}
.footer-site-title:hover { filter: brightness(1.15); }
.footer-desc { color: var(--footer-muted); font-size: .88rem; line-height: 1.7; }
.footer-copyright { color: var(--footer-muted); font-size: .82rem; }

/* 二维码 */
.footer-qrcode {
  width: 90px; height: 90px; border-radius: 12px; margin: 5px 0;
  border: 2px solid var(--footer-divider);
  transition: all .3s ease; object-fit: cover;
}
.footer-qrcode:hover {
  border-color: var(--primary); transform: scale(1.08);
  box-shadow: 0 8px 25px var(--primary-glow);
}

/* ---- 客服联系方式 ---- */
.footer-contact-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; margin-bottom: 10px;
  background: rgba(255,255,255,.03); border-radius: 10px;
  color: var(--footer-muted); font-size: .86rem;
  transition: all .3s ease; border: 1px solid transparent;
}
.footer-contact-item:hover {
  background: rgba(255,255,255,.06); border-color: var(--footer-divider);
  transform: translateX(3px);
}
.footer-contact-item i {
  color: var(--primary); font-size: 1.1rem; width: 22px; text-align: center;
}
.footer-contact-item span { flex: 1; }

/* 底栏 */
.footer-bottom-wrap {
  position: relative; z-index: 1;
  max-width: 1200px; margin: 0 auto; padding: 0 24px;
}
.footer-bottom {
  border-top: 1px solid var(--footer-divider);
  padding-top: 22px; padding-bottom: 8px;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 12px;
  color: var(--footer-muted); font-size: .82rem; letter-spacing: .3px;
}

/* 底部渐变彩条 */
.footer-bottom::before {
  content: '';
  position: absolute; top: -1px; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--primary), var(--primary-hover), var(--primary), transparent);
  opacity: 0; transition: opacity .5s ease;
}
.footer:hover .footer-bottom::before { opacity: 1; }

.footer-bottom-left { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.footer-bottom-right { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.footer-bottom a { color: var(--footer-muted); text-decoration: none; transition: color .25s; }
.footer-bottom a:hover { color: var(--footer-heading); }


/* ==================== 下载卡片 ==================== */
.download-cards { display: flex; justify-content: center; gap: 30px; flex-wrap: wrap; margin-top: 40px; }
.down-card { background: var(--surface); border-radius: 20px; padding: 40px 30px; text-align: center; width: 280px; box-shadow: var(--card-shadow); }
.down-card:hover { transform: translateY(-5px); box-shadow: 0 12px 30px rgba(0,0,0,.1); }
.down-card i { font-size: 2.8rem; color: var(--primary); margin-bottom: 20px; }


/* ==================== 价格页 ==================== */
.pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; margin-top: 40px; }
.pricing-card {
  background: var(--surface); border: 1px solid var(--border); border-radius: 20px;
  padding: 36px 28px; text-align: center; transition: transform .3s, box-shadow .3s;
}
.pricing-card:hover { transform: translateY(-6px); box-shadow: 0 16px 36px rgba(0,0,0,.08); }
.pricing-card.featured { border-color: var(--primary); box-shadow: 0 0 0 2px var(--primary-light); }
.pricing-card .price { font-size: 2.4rem; font-weight: 800; color: var(--primary); margin: 16px 0; }
.pricing-card .price small { font-size: .9rem; font-weight: 400; color: var(--text-secondary); }


/* ==================== 关键帧动画 ==================== */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideDown {
  from { opacity: 0; transform: translateY(-12px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes slideUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes pulseGlow {
  0%, 100% { box-shadow: 0 0 0 0 var(--primary-glow); }
  50%      { box-shadow: 0 0 0 12px transparent; }
}
