/* ==========================================================================
   VPNFN · nodes.css — 服务器节点页专属样式
   只在本页使用;颜色 / 圆角 / 字体一律引用 base.css 的 :root 令牌。
   ========================================================================== */

/* ===== 页头 ===== */
.nodes-head{padding-block:46px 6px}
.nodes-head .kicker{margin-bottom:16px}
.nodes-head h1{margin-bottom:16px}
.nodes-head .lead{max-width:76ch}
.nodes-head .fact-row{margin-top:20px}
.nodes-cta{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px}

/* ===== 线路分组小引 ===== */
.route-intro{
  font-size:15px;
  line-height:1.75;
  color:var(--muted);
  max-width:80ch;
  margin:0 0 14px;
}

/* ===== 装饰拓扑线(draw-lines 落点) ===== */
.topo-lines{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  margin:32px 0 0;
  opacity:.85;
}

/* ===== 线路类型卡 ===== */
.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.type-grid>*{min-width:0}
.type-card{
  display:flex;flex-direction:column;gap:14px;
  background:var(--bg-panel);
  border:1px solid var(--border);
  border-radius:var(--r-card);
  padding:24px;
  box-shadow:inset 0 1px 0 var(--highlight),0 18px 34px -26px var(--shadow-ink);
  min-width:0;
}
.type-card h3{font-size:19px}
.type-card .route-type{align-self:flex-start}
.type-line{
  display:flex;
  gap:10px;
  margin:0;
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
}
.type-line b{flex:0 0 auto;font-weight:600;color:var(--text)}

/* ===== 覆盖地区徽章墙 ===== */
.region-wall{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:14px;
}
.region-badge{
  display:flex;flex-direction:column;gap:8px;
  padding:18px;
  border-radius:var(--r-md);
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  box-shadow:inset 0 1px 0 var(--highlight),0 1px 2px var(--shadow-ink);
  min-width:0;
}
.region-badge-head{display:flex;align-items:center;gap:8px}
.region-badge-head i{
  width:8px;height:8px;border-radius:50%;
  background:var(--accent);flex:0 0 auto;
}
.region-badge b{
  font-family:var(--font-display);
  font-size:15.5px;font-weight:800;letter-spacing:-.01em;
}
.region-badge p{margin:0;font-size:13px;line-height:1.7;color:var(--muted)}

/* ===== 热门入口旗标行(纯装饰) ===== */
.hot-routes{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hot-route{
  display:inline-flex;align-items:center;gap:9px;
  min-height:40px;padding:5px 14px 5px 8px;border-radius:12px;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  font-size:13.5px;font-weight:500;color:var(--text);
  box-shadow:0 1px 2px var(--shadow-ink);
  white-space:nowrap;
}

/* ===== 响应式 ===== */
@media (max-width:1024px){
  .type-grid{grid-template-columns:1fr}
}
@media (max-width:768px){
  .nodes-head{padding-block:34px 4px}
  .region-wall{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
}
@media (max-width:640px){
  .hot-route{white-space:normal}
  .type-card{padding:20px}
}
@media (max-width:420px){
  .region-wall{grid-template-columns:1fr}
}