/* ═══════════ 法律库 — 区域卡片 ═══════════ */
.laws-hero{text-align:center;padding:56px 20px 32px;background:linear-gradient(180deg,rgba(26,95,180,.10) 0%,rgba(26,95,180,.04) 60%,transparent 100%)}
.law-search{margin-bottom:20px;max-width:600px;margin-left:auto;margin-right:auto}
.law-search input{width:100%;padding:14px 20px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius: var(--radius-md);color:var(--text);font-size:16px;outline:none;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.law-search input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.08)}
.region-card{background:linear-gradient(135deg,#e8eef8 0%,#fff 35%,#e8eef8 100%);border-radius:var(--radius);padding:20px;margin-bottom:12px;cursor:pointer;transition:.2s;border:1.5px solid rgba(26,95,180,.18);box-shadow:0 2px 8px rgba(10,42,94,.04)}
.region-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(10,42,94,.08);border-color:var(--gold2)}
.region-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.region-card-name{font-size:18px;font-weight:700;color:var(--navy)}
.region-card-count{font-size:13px;color:var(--text3)}
.region-card-desc{font-size:13px;color:var(--text2);margin-bottom:8px}
.region-card-tag{display:inline-block;padding:2px 10px;border-radius: var(--radius-xs);font-size:11px;background:#e8f5e9;color:#2e7d32;font-weight:600}
.country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:20px}
.country-card{background:linear-gradient(135deg,#e8eef8 0%,#fff 35%,#e8eef8 100%);border-radius: var(--radius-md);padding:14px;cursor:pointer;transition:.2s;border:1px solid rgba(26,95,180,.12);box-shadow:0 2px 8px rgba(10,42,94,.04)}
.country-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(10,42,94,.1);border-color:var(--gold2)}
.country-flag{font-size:28px;margin-bottom:6px}
.country-name{font-weight:600;font-size:14px;color:var(--text)}
.country-docs{font-size:11px;color:var(--text3);margin-top:4px}
.country-detail{background:#fff;border-radius: var(--radius-lg);padding:24px;margin-top:20px;display:none;box-shadow:0 2px 16px rgba(10,42,94,.06)}
.country-detail.open{display:block}
.doc-list{margin-top:16px;display:flex;flex-direction:column;gap:8px}
.doc-item{background:#f8fafc;padding:12px 16px;border-radius:var(--radius-sm);display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.doc-item:hover{background:#eef2ff}
.china-module{background:linear-gradient(135deg,#c62828,#d32f2f);border-radius:var(--radius);padding:20px;margin-bottom:12px;cursor:pointer;transition:.2s;display:flex;justify-content:space-between;align-items:center}
.china-module:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(198,40,40,.25)}
.china-flag{font-size:36px}
.china-title{font-size:20px;font-weight:700;color:#fff}
.china-desc{font-size:13px;color:rgba(255,255,255,.7);margin-top:4px}
.china-arrow{font-size:24px;color:rgba(255,255,255,.5)}
.back-btn{display:inline-flex;align-items:center;gap:4px;color:var(--blue);font-size:14px;cursor:pointer;margin-bottom:16px}
.back-btn:hover{color:var(--navy)}
.view-all{text-align:center;margin-top:12px;color:var(--blue);font-size:13px;cursor:pointer}

/* ═══════════ 政策详情（原policy-detail）═══════════ */
.pd-back{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-size:14px;cursor:pointer;margin-bottom:16px;padding:6px 12px;border-radius:8px;transition:.15s}
.pd-back:hover{background:rgba(26,95,180,.06);color:var(--navy)}

.policy-detail-header{background:linear-gradient(135deg,var(--navy),var(--navy2));border-radius:16px;padding:24px 28px;margin-bottom:16px;color:#fff;display:flex;align-items:center;gap:16px}
.pdh-flag{font-size:44px;line-height:1}
.pdh-name{font-size:20px;font-weight:700}
.pdh-sub{font-size:12px;opacity:.7;margin-top:3px}
.pdh-badges{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.pdh-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;background:rgba(255,255,255,.12);color:#fff}
.pdh-badge-gold{background:var(--gold);color:var(--navy)}

/* ── 信息概览条 ── */
.pd-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:10px}
.pd-ov-card{background:#fff;border-radius:10px;padding:10px 12px;text-align:center;box-shadow:0 1px 3px rgba(10,42,94,.03);border:1px solid #f0f2f5}
.pd-ov-icon{font-size:18px;margin-bottom:2px}
.pd-ov-value{font-size:15px;font-weight:700;color:var(--navy)}
.pd-ov-label{font-size:11px;color:var(--text3);margin-top:1px}

/* ── 区块 ── */
.pd-section{background:#fff;border-radius:12px;padding:16px;margin-bottom:10px;box-shadow:0 1px 4px rgba(10,42,94,.03);border:1px solid #f0f2f5}
.pd-section-title{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:10px;display:flex;align-items:center;gap:6px;padding-bottom:8px;border-bottom:1px solid #eef0f2}
.pd-section-icon{font-size:15px}
.pd-empty{padding:24px 20px;color:var(--text3);font-size:13px;text-align:center}

/* ── 文件列表 ── */
.pd-file-cat{margin-bottom:14px}
.pd-file-cat-title{font-size:13px;font-weight:700;color:var(--text2);padding:6px 0 8px;display:flex;align-items:center;gap:6px}
.pd-file-link{display:flex;align-items:center;gap:8px;padding:9px 14px;background:#f8fafc;border-radius:8px;margin-bottom:4px;text-decoration:none;color:var(--text);transition:.15s;border:1px solid transparent}
.pd-file-link:hover{background:rgba(26,95,180,.04);border-color:rgba(26,95,180,.1)}
.pd-file-icon{font-size:16px;flex-shrink:0}
.pd-file-name{flex:1;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd-file-size{font-size:11px;color:var(--text3);flex-shrink:0}

/* ── 知识卡片 ── */
.pd-knowledge-card{background:rgba(212,175,55,.03);border:1px solid rgba(212,175,55,.08);border-radius:8px;padding:12px 14px;margin-bottom:6px}
.pd-knowledge-card:last-child{margin-bottom:0}
.pd-knowledge-title{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:4px;display:flex;align-items:center;gap:6px}
.pd-knowledge-body{font-size:12px;color:var(--text2);line-height:1.6}
.pd-knowledge-placeholder{color:#bbb;font-size:12px;font-style:italic}

/* ── 知识保护提示 ── */
.pd-notice{text-align:center;padding:8px 16px;margin:8px 0 12px;background:#fafaf5;border:1px solid #eee8d5;border-radius:8px;font-size:11px;color:var(--text3);line-height:1.6}

/* ── CTA ── */
.pd-cta{text-align:center;margin:24px 0 16px}
.pd-cta .btn{padding:12px 32px;font-size:14px}

/* ═══════════ PDF阅读弹窗 / 译文弹窗 ═══════════ */
.po-mask{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5)}
.po-box{position:relative;background:#fff;border-radius:12px;height:100%;display:flex;flex-direction:column;overflow:hidden}
#pdfReaderOverlay,#translationOverlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000}
.po-box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:860px;max-height:92vh;height:auto;background:#fff;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.2)}
.po-body-text{padding:28px 32px;font-size:15px;line-height:2;color:var(--text);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;width:100%;box-sizing:border-box;overflow-y:auto;flex:1;min-height:0}
.po-hdr{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--navy);color:var(--gold);font-size:15px;flex-shrink:0}
.po-close{cursor:pointer;font-size:20px;line-height:1;color:var(--gold);padding:4px}
.po-close:hover{opacity:.7}
.po-body{flex:1;overflow:auto;padding:20px;display:flex;align-items:flex-start;justify-content:center;background:#f5f5f5}
.po-img-wrap{max-width:100%}
.po-nav{display:flex;justify-content:center;align-items:center;gap:16px;padding:12px 20px;border-top:1px solid #eee;background:#fff;flex-shrink:0}
.po-btn{background:var(--navy);color:#fff;border:none;padding:8px 20px;border-radius:6px;font-size:14px;cursor:pointer}
.po-btn:hover{opacity:.9}
.po-btn:disabled{opacity:.3;cursor:not-allowed}
.po-page{font-size:14px;color:var(--text);min-width:60px;text-align:center}
.po-ft{text-align:center;font-size:11px;color:var(--text3);padding:8px 20px;border-top:1px solid #eee;background:#fafafa;flex-shrink:0}

/* ===== 投资指南 Profile Cards ===== */
.profile-section {
  background: #fff;
  border-radius: 14px;
  padding: 20px;
  margin-bottom: 12px;
  box-shadow: 0 2px 8px rgba(10,42,94,0.04);
}
.profile-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #f0f0f5;
}
.profile-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 20px;
}
.kv-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  padding: 6px 0;
  border-bottom: 1px solid #f8f8fc;
}
.kv-row:last-child {
  border-bottom: none;
}
.kv-key {
  font-size: 13px;
  color: #888;
  min-width: 120px;
  flex-shrink: 0;
}
.kv-val {
  font-size: 13px;
  color: #333;
  text-align: right;
  line-height: 1.5;
  flex: 1;
}
.kv-val.highlight {
  color: var(--navy);
  font-weight: 600;
  font-size: 14px;
}
.kv-val.green {
  color: #16a34a;
}
.kv-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  flex: 1;
}
.tag {
  display: inline-block;
  padding: 2px 10px;
  background: rgba(26,95,180,0.08);
  color: var(--navy);
  font-size: 12px;
  border-radius: 6px;
}
.tag.zone {
  background: rgba(22,163,74,0.08);
  color: #16a34a;
}

/* ===== Mini Profile Cards in policy-detail ===== */
.profile-card-mini {
  background: #f9fafc;
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 10px;
  border: 1px solid #eef0f5;
}
.pcm-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 8px;
}
.pcm-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
}
.pkv-row {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 4px 0;
  border-bottom: 1px solid #f0f0f5;
}
.pkv-row:last-child { border-bottom: none; }
.pkv-k { font-size: 12px; color: #888; min-width: 100px; flex-shrink: 0; }
.pkv-v { font-size: 12px; color: #333; text-align: right; line-height: 1.5; }
.pkv-v.pcm-hl { color: var(--navy); font-weight: 600; font-size: 13px; }
.pkv-v.g { color: #16a34a; }
.pkv-tags { display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; flex: 1; }
.pkv-tag { display: inline-block; padding: 1px 8px; background: rgba(26,95,180,0.07); color: var(--navy); font-size: 11px; border-radius: 5px; }
.pkv-tag.zone { background: rgba(22,163,74,0.07); color: #16a34a; }
