/* ============================================================
   金饭碗 · 全站统一视觉规范（portal_theme.css）
   ------------------------------------------------------------
   用法：门户各页面在「自有 <style> 之前」引入：
        <link rel="stylesheet" href="portal_theme.css">
   目标：色板 / 字体 / 容器 / 卡片 / 按钮 / 区块标题 / 表单 / 表格
        全站一致，避免各页各自为战。
   ============================================================ */

:root{
  /* -------- 品牌色板（全站唯一真源） -------- */
  --brand:#b45309;        /* 品牌金：强调、价格、加盟/收益类 CTA */
  --gold:#f59e0b;         /* 亮金：按钮底、高亮描边 */
  --blue:#1a56db;         /* 主色：链接、选中态、主按钮 */
  --blue-d:#1e40af;       /* 主色深：hover */
  --ink:#111827;          /* 正文主色 */
  --gray:#4b5563;         /* 次级正文 */
  --gray-l:#6b7280;       /* 辅助说明 */
  --line:#e8ecf3;         /* 分割线 / 描边 */
  --bg:#f7f9fc;           /* 页面底色 */

  /* -------- 兼容别名（历史页面曾用变量名，统一指向新色板） -------- */
  --bd:#e8ecf3;
  --orange:#c2410c;       /* 金额/收益色 */
  --amber:#f59e0b;
  --green:#059669;
  --red:#dc2626;

  --radius:14px;          /* 统一圆角 */
  --wrap:1180px;          /* 统一内容宽度 */
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Roboto,sans-serif;
  background:var(--bg); color:var(--ink); line-height:1.72; font-size:14px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
input,select,textarea,button{font-family:inherit;font-size:14px}
table{border-collapse:collapse}

/* ---------- 统一页面头部横幅 ---------- */
.pg-hero,
.hero,
.hd{
  background:linear-gradient(120deg,#0f172a 0%,#1e3a8a 55%,#b45309 150%);
  color:#fff; padding:46px 20px 48px;
}
.pg-hero h1,.hero h1,.hd h1,
.pg-hero h2,.hero h2,.hd h2{
  color:#fff; font-size:31px; font-weight:800; letter-spacing:.5px; line-height:1.35;
  margin-bottom:8px; background:none; -webkit-text-fill-color:currentColor;
}
.pg-hero p,.hero p,.hd p{color:rgba(255,255,255,.86); font-size:15px; max-width:820px; line-height:1.9; margin:0 auto}
.pg-hero .wrap,.hero .wrap{max-width:var(--wrap); margin:0 auto; padding:0}

/* ---------- 统一内容容器 ---------- */
.pg,
.container,
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 20px}
.pg{padding:28px 20px 54px}
.container{padding:30px 20px 50px}

/* ---------- 统一卡片 ---------- */
.card,
.box,
.panel > .card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:22px; margin-bottom:18px;
}
.card > h2,.box > h2{font-size:19px; font-weight:800; margin-bottom:4px}
.card > .sub,.box > .sub{font-size:13px; color:var(--gray-l); margin-bottom:16px}

/* ---------- 统一区块标题 ---------- */
.sec-title{font-size:24px; font-weight:800; letter-spacing:.5px; color:var(--ink)}
.sec-sub{color:var(--gray-l); font-size:14.5px; margin-top:6px; line-height:1.8}

/* ---------- 统一按钮 ---------- */
.btn{
  display:inline-block; padding:10px 22px; border-radius:9px; border:none;
  font-size:14.5px; font-weight:600; cursor:pointer; transition:.16s; background:var(--blue); color:#fff;
}
.btn:hover{background:var(--blue-d)}
.btn-primary,.btn.gold{background:var(--gold); color:#4a2c06}
.btn-primary:hover,.btn.gold:hover{background:#fbbf24}
.btn-ghost,.btn-outline,.btn.gh{
  background:#fff; color:var(--gray); border:1px solid #d1d5db; font-weight:500;
}
.btn-ghost:hover,.btn-outline:hover,.btn.gh:hover{border-color:var(--blue); color:var(--blue)}
.btn:disabled,.btn[disabled]{opacity:.5; cursor:not-allowed}

/* ---------- 统一标签 / 徽章 ---------- */
.tag,.chip{
  display:inline-block; font-size:12px; padding:3px 10px; border-radius:11px;
  background:#eff6ff; color:var(--blue-d); margin:0 6px 6px 0; font-weight:600;
}
.tag.g,.chip.g{background:#f0fdf4; color:#15803d}
.tag.o,.chip.o{background:#fff7ed; color:#c2410c}

/* ---------- 统一表单 ---------- */
.fg,.f,.form-group{margin-bottom:14px}
.fg label,.f label,.form-group label{
  display:block; font-size:13px; font-weight:600; color:var(--gray); margin-bottom:6px;
}
.fg label b,.form-group label b{color:#b91c1c}
.fg input,.fg textarea,.fg select,
.f input,.f select,.f textarea,
.form-group input,.form-group select,.form-group textarea{
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:9px;
  background:#fff; color:var(--ink); outline:none; transition:.15s;
}
.fg input:focus,.fg textarea:focus,.fg select:focus,
.f input:focus,.f select:focus,.f textarea:focus,
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:var(--blue); box-shadow:0 0 0 3px rgba(26,86,219,.09);
}
textarea{min-height:88px; resize:vertical}

/* ---------- 统一表格 ---------- */
table{width:100%; background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden}
th,td{padding:11px 14px; border-bottom:1px solid var(--line); text-align:left}
th{background:#fff7ed; font-weight:700; font-size:14px}
tr:last-child td{border-bottom:none}

/* ---------- 统一 FAQ（GEO 问答块） ---------- */
.geo-block,.qa{
  max-width:var(--wrap); margin:28px auto 46px; padding:26px 22px; background:#fff;
  border:1px solid var(--line); border-radius:var(--radius); color:var(--ink); line-height:1.8;
}
.geo-block h2,.qa h2{margin:0 0 8px; font-size:21px; font-weight:800; line-height:1.5}
.geo-lead,.qa .lead{
  margin:0 0 18px; padding:12px 14px; background:#fff7ed; border-left:3px solid var(--brand);
  border-radius:0 8px 8px 0; font-size:14.5px; color:var(--ink);
}
.geo-facts{display:grid; grid-template-columns:120px 1fr; gap:8px 14px; margin:0 0 20px}
.geo-facts dt{color:var(--gray-l); font-size:14px}
.geo-facts dd{margin:0; font-size:14px}
.geo-block details,.qa details{border-top:1px dashed var(--line); padding:12px 0}
.geo-block summary,.qa summary{cursor:pointer; font-weight:600; font-size:15px; outline:none}
.geo-block summary::-webkit-details-marker,.qa summary::-webkit-details-marker{color:var(--brand)}
.geo-block details p,.qa details p{margin:8px 0 0; color:var(--gray); font-size:14.5px}
.geo-upd,.qa .upd{margin:16px 0 0; color:#9ca3af; font-size:12px; text-align:right}

/* ---------- 统一提示条 ---------- */
.notice,.tip,.empty{
  font-size:13px; color:var(--gray-l); line-height:1.8;
}
.notice{
  background:#fffbeb; border:1px solid #fde68a; color:#92400e;
  border-radius:10px; padding:11px 15px; margin-bottom:22px; font-size:13.5px;
}
.empty{text-align:center; padding:34px 0; color:#9ca3af}

/* ---------- 响应式 ---------- */
@media(max-width:900px){
  .pg-hero h1,.hero h1,.hd h1,.pg-hero h2,.hero h2,.hd h2{font-size:25px}
  .pg-hero,.hero,.hd{padding:34px 20px 36px}
}
