/* officeWeb 公共配色层（palette）
   与布局模板正交：任意模板 <body class="palette-xxx"> 叠加任意色板。
   变量在 body 级覆盖 :root（main.css 默认=blue  corporate 蓝），
   深色板（night）附带主要表面/文字色修正。 */

/* ---------- 商务藏蓝 ---------- */
body.palette-navy {
  --primary: #1d3557; --primary-dark: #142640; --primary-light: #457b9d;
  --ink: #14213d; --line: #d9e2ec; --bg-gray: #f4f7fa;
  --dark: #101c30; --dark-2: #16263f; --shadow: 0 8px 28px rgba(20, 33, 61, 0.12);
}
body.palette-navy .topbar { background: #101c30; }
body.palette-navy .banner-fallback {
  background:
    radial-gradient(ellipse at 25% 25%, rgba(201, 162, 39, 0.18), transparent 55%),
    radial-gradient(ellipse at 80% 70%, rgba(69, 123, 157, 0.4), transparent 55%),
    linear-gradient(160deg, #0d1626 0%, #1d3557 100%);
}
body.palette-navy .page-hero { background: linear-gradient(120deg, #101c30, #1d3557); }
body.palette-navy .block-stats { background: linear-gradient(135deg, #101c30, #1d3557); }
body.palette-navy .block-cta { background: linear-gradient(120deg, #142640, #457b9d); }
body.palette-navy .site-footer { background: #0d1626; }

/* ---------- 极简黑白 ---------- */
body.palette-mono {
  --primary: #191919; --primary-dark: #000; --primary-light: #6b6b6b;
  --ink: #111; --text: #3a3a3a; --muted: #8c8c8c; --line: #e6e6e6;
  --bg: #fff; --bg-gray: #fafafa; --dark: #161616; --dark-2: #1f1f1f;
  --shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}
body.palette-mono .banner-fallback { background: linear-gradient(160deg, #f5f5f5, #e8e8e8); color: var(--ink); }
body.palette-mono .fallback-title { color: #111; }
body.palette-mono .fallback-desc { color: #777; }
body.palette-mono .btn-ghost { color: #111; border-color: #111; background: transparent; }
body.palette-mono .btn-ghost:hover { background: #111; color: #fff; }
body.palette-mono .page-hero { background: #161616; }
body.palette-mono .block-stats { background: #161616; }
body.palette-mono .stats-label { color: #9a9a9a; }
body.palette-mono .block-cta { background: #222; }
body.palette-mono .cover-placeholder { background: #efefef; color: #555; }
body.palette-mono .site-footer { background: #111; }

/* ---------- 科技暗夜（深色整站） ---------- */
body.palette-night {
  --primary: #38bdf8; --primary-dark: #0ea5e9; --primary-light: #7dd3fc;
  --ink: #e2e8f0; --text: #b6c2d4; --muted: #7d8ba1; --line: #223049;
  --bg: #0a1020; --bg-gray: #0e1628; --dark: #0b1222; --dark-2: #101a30;
  --shadow: 0 8px 30px rgba(56, 189, 248, 0.12);
  background: var(--bg); color: var(--text);
}
body.palette-night h1, body.palette-night h2, body.palette-night h3, body.palette-night h4 { color: var(--ink); }
body.palette-night .topbar { background: #070c18; }
body.palette-night .site-header { background: rgba(10, 16, 32, 0.92); border-bottom: 1px solid var(--line); }
body.palette-night .logo-text { color: #fff; }
body.palette-night .nav > ul > li > a { color: var(--text); }
body.palette-night .subnav { background: #101a30; border-color: var(--line); }
body.palette-night .subnav a { color: var(--text); }
body.palette-night .banner-fallback {
  background:
    radial-gradient(ellipse at 20% 20%, rgba(56, 189, 248, 0.28), transparent 55%),
    radial-gradient(ellipse at 85% 70%, rgba(139, 92, 246, 0.25), transparent 55%),
    linear-gradient(160deg, #070c18 0%, #0e1a36 100%);
}
body.palette-night .page-hero { background: linear-gradient(120deg, #070c18, #12234a); }
body.palette-night .card,
body.palette-night .news-item,
body.palette-night .advantage-item,
body.palette-night .partner-item,
body.palette-night .single-page,
body.palette-night .contact-card { background: var(--bg-gray); border-color: var(--line); color: var(--text); }
body.palette-night .card h3 a, body.palette-night .news-body h3 a, body.palette-night .advantage-item h3 { color: var(--ink); }
body.palette-night .card-cover, body.palette-night .cover-placeholder { background: #13203c; color: #4a6a9c; }
body.palette-night input, body.palette-night textarea, body.palette-night select {
  background: #0c1426; border-color: var(--line); color: var(--ink);
}
body.palette-night .block-stats { background: linear-gradient(135deg, #0d1b34, #122a52); }
body.palette-night .block-cta { background: linear-gradient(120deg, #0e2a4a, #6d28d9); }
body.palette-night .page-main { background: var(--bg); }
body.palette-night .list-item, body.palette-night .detail-meta { border-color: var(--line); }
body.palette-night .site-footer { background: #060a14; color: var(--muted); }
body.palette-night .site-footer h4 { color: var(--ink); }

/* ---------- 自然绿 ---------- */
body.palette-green {
  --primary: #059669; --primary-dark: #047857; --primary-light: #34d399;
  --ink: #14352a; --text: #3d5a4f; --muted: #7a9387; --line: #d7e8dd;
  --bg-gray: #f3faf5; --dark: #0c3325; --dark-2: #11452f;
  --shadow: 0 10px 30px rgba(5, 150, 105, 0.12);
}
body.palette-green .topbar { background: #0c3325; }
body.palette-green .banner-fallback {
  background:
    radial-gradient(ellipse at 22% 28%, rgba(52, 211, 153, 0.35), transparent 55%),
    radial-gradient(ellipse at 82% 72%, rgba(16, 185, 129, 0.28), transparent 55%),
    linear-gradient(160deg, #06281d 0%, #0e4a33 100%);
}
body.palette-green .page-hero { background: linear-gradient(120deg, #0c3325, #12694a); }
body.palette-green .cover-placeholder { background: linear-gradient(135deg, #d1f0dd, #a7e3c0); color: #136445; }
body.palette-green .block-stats { background: linear-gradient(135deg, #0c3325, #12694a); }
body.palette-green .stats-label { color: #9fd4b8; }
body.palette-green .block-cta { background: linear-gradient(120deg, var(--primary-dark), #34d399); }
body.palette-green .site-footer { background: #08251a; }

/* ---------- 活力橙 ---------- */
body.palette-orange {
  --primary: #ea580c; --primary-dark: #c2410c; --primary-light: #fb923c;
  --ink: #431407; --text: #57402c; --muted: #94765d; --line: #f3ddc8;
  --bg: #fffdf9; --bg-gray: #fff5ec; --dark: #431407; --dark-2: #57200a;
  --shadow: 0 10px 30px rgba(234, 88, 12, 0.16);
}
body.palette-orange .topbar { background: linear-gradient(90deg, #c2410c, #ea580c); }
body.palette-orange .topbar, body.palette-orange .topbar a { color: #ffe8d6; }
body.palette-orange .banner-fallback {
  background:
    radial-gradient(ellipse at 25% 30%, rgba(245, 158, 11, 0.4), transparent 55%),
    radial-gradient(ellipse at 80% 70%, rgba(220, 38, 38, 0.32), transparent 55%),
    linear-gradient(160deg, #431407 0%, #9a3412 100%);
}
body.palette-orange .page-hero { background: linear-gradient(120deg, #7c2d12, #ea580c); }
body.palette-orange .cover-placeholder { background: linear-gradient(135deg, #fed7aa, #fdba74); color: #9a3412; }
body.palette-orange .block-stats { background: linear-gradient(135deg, #7c2d12, #ea580c); }
body.palette-orange .stats-label { color: #ffd9b8; }
body.palette-orange .block-cta { background: linear-gradient(120deg, #ea580c, #dc2626); }
body.palette-orange .site-footer { background: #431407; }

/* ---------- 酒红 ---------- */
body.palette-red {
  --primary: #b91c1c; --primary-dark: #991b1b; --primary-light: #f87171;
  --ink: #450a0a; --text: #57302e; --muted: #8d6a66; --line: #ecd7d3;
  --bg-gray: #fbf4f2; --dark: #3f0d0d; --dark-2: #521212;
  --shadow: 0 8px 28px rgba(120, 20, 20, 0.14);
}
body.palette-red .topbar { background: #3f0d0d; }
body.palette-red .banner-fallback {
  background:
    radial-gradient(ellipse at 25% 25%, rgba(239, 68, 68, 0.3), transparent 55%),
    radial-gradient(ellipse at 82% 72%, rgba(180, 83, 9, 0.28), transparent 55%),
    linear-gradient(160deg, #2a0808 0%, #6d1a1a 100%);
}
body.palette-red .page-hero { background: linear-gradient(120deg, #3f0d0d, #8f1d1d); }
body.palette-red .cover-placeholder { background: linear-gradient(135deg, #f5d5cf, #ebbaae); color: #7c2121; }
body.palette-red .block-stats { background: linear-gradient(135deg, #3f0d0d, #7c1d1d); }
body.palette-red .stats-label { color: #e3b3ac; }
body.palette-red .block-cta { background: linear-gradient(120deg, #991b1b, #b45309); }
body.palette-red .site-footer { background: #2a0808; }

/* ---------- 紫金 ---------- */
body.palette-purple {
  --primary: #7c3aed; --primary-dark: #6d28d9; --primary-light: #a78bfa;
  --ink: #2e1065; --text: #4b3a6b; --muted: #8578a3; --line: #e2dcf2;
  --bg-gray: #f7f5fc; --dark: #1e1045; --dark-2: #2a1660;
  --shadow: 0 10px 30px rgba(124, 58, 237, 0.14);
}
body.palette-purple .topbar { background: #1e1045; }
body.palette-purple .banner-fallback {
  background:
    radial-gradient(ellipse at 22% 28%, rgba(167, 139, 250, 0.35), transparent 55%),
    radial-gradient(ellipse at 82% 72%, rgba(217, 70, 239, 0.25), transparent 55%),
    linear-gradient(160deg, #150a33 0%, #3b1d8f 100%);
}
body.palette-purple .page-hero { background: linear-gradient(120deg, #1e1045, #5b21b6); }
body.palette-purple .cover-placeholder { background: linear-gradient(135deg, #e4dcf9, #cbc0f0); color: #4c2c96; }
body.palette-purple .block-stats { background: linear-gradient(135deg, #1e1045, #4c2c96); }
body.palette-purple .stats-label { color: #c3b4ec; }
body.palette-purple .block-cta { background: linear-gradient(120deg, #6d28d9, #d946ef); }
body.palette-purple .site-footer { background: #150a33; }

/* ---------- 青碧（蓝绿撞色） ---------- */
body.palette-teal {
  --primary: #0d9488; --primary-dark: #0f766e; --primary-light: #5eead4;
  --ink: #134e4a; --text: #36615d; --muted: #6f948f; --line: #d3e8e5;
  --bg-gray: #f2faf9; --dark: #042f2e; --dark-2: #11423f;
  --shadow: 0 10px 30px rgba(13, 148, 136, 0.13);
}
body.palette-teal .topbar { background: #042f2e; }
body.palette-teal .banner-fallback {
  background:
    radial-gradient(ellipse at 24% 26%, rgba(94, 234, 212, 0.32), transparent 55%),
    radial-gradient(ellipse at 82% 72%, rgba(59, 130, 246, 0.28), transparent 55%),
    linear-gradient(160deg, #03201f 0%, #0f5f58 100%);
}
body.palette-teal .page-hero { background: linear-gradient(120deg, #042f2e, #0d9488); }
body.palette-teal .cover-placeholder { background: linear-gradient(135deg, #ccEBE6, #a7dbd4); color: #0f5f58; }
body.palette-teal .block-stats { background: linear-gradient(135deg, #042f2e, #11726a); }
body.palette-teal .stats-label { color: #9fd3cc; }
body.palette-teal .block-cta { background: linear-gradient(120deg, #0f766e, #2563eb); }
body.palette-teal .site-footer { background: #03201f; }
