/* ============================================================
   服务网络页 · network.html
   ------------------------------------------------------------
   这一页的任务只有一个：让客户在手机上三秒内找到一个能打的电话。
   所以：层级标签小、名字中等、**电话最大**、其余信息退到灰字里。
   一张卡里如果样样都显眼，等于样样都不显眼。
   ============================================================ */

.nbar{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  margin:18px 0 4px;
}
/* 导语下面那一句"怎么用"：比导语小一号、淡一档，
   不是第二个导语，是导语的脚注 */
.shead .nsub{
  margin-top:8px; font-size:12px; color:var(--ink-3); line-height:1.85;
}
.ntabs{ display:flex; gap:6px; flex-wrap:wrap; }
.ntabs button{
  appearance:none; border:1px solid var(--line-2); background:var(--card);
  color:var(--ink-2); font-family:var(--sans); font-size:12.5px;
  padding:6px 13px; border-radius:999px; cursor:pointer;
  transition:border-color .16s, color .16s, background .16s;
}
.ntabs button small{
  font-family:var(--num); font-size:10.5px; color:var(--ink-3); margin-left:4px;
}
.ntabs button:hover{ border-color:var(--line-3); color:var(--ink); }
.ntabs button.on{
  background:var(--sea); border-color:var(--sea); color:#fff;
}
.ntabs button.on small{ color:rgba(255,255,255,.62); }

.nfind{ display:flex; gap:8px; align-items:center; }
.nfind .select{ width:auto; min-width:118px; height:36px; font-size:12.5px; }
.nfind .input{ width:210px; height:36px; font-size:13px; }

/* ---------- 按省分组 ---------- */
.nprov{ margin-top:26px; }
.nprov-h{
  display:flex; align-items:baseline; gap:9px; margin-bottom:11px;
  padding-bottom:8px; border-bottom:1px solid var(--line);
}
.nprov-h b{ font-family:var(--serif); font-size:15.5px; letter-spacing:.02em; }
.nprov-h span{ font-size:11.5px; color:var(--ink-3); font-family:var(--num); }

.ngrid{
  display:grid; gap:13px; align-items:stretch;
  grid-template-columns:repeat(auto-fill, minmax(268px, 1fr));
}

/* ---------- 卡片 ---------- */
.node{
  display:flex; flex-direction:column; gap:7px;
  padding:16px 17px 14px;
  background:var(--card); border:1px solid var(--line-2); border-radius:12px;
  transition:border-color .18s, transform .18s, box-shadow .18s;
}
.node:hover{ border-color:var(--line-3); transform:translateY(-1px); box-shadow:var(--sh); }
.node.lv-sub{ border-left:3px solid var(--sand); }
.node.lv-agent{ border-left:3px solid rgba(14,42,60,.34); }
.node.lv-store{ border-left:3px solid var(--line-2); }

.node-top{ display:flex; align-items:center; gap:8px; }
.node-city{ font-size:11.5px; color:var(--ink-3); }
.node-code{
  font-family:var(--num); font-size:10.5px; color:var(--ink-4); letter-spacing:.06em;
}

.node-name{
  margin:1px 0 0; font-family:var(--serif); font-size:16px;
  line-height:1.45; letter-spacing:.01em; color:var(--ink);
}
.node-up{ font-size:11.5px; color:var(--ink-3); }

.node-dl{ margin:3px 0 2px; display:flex; flex-direction:column; gap:3px; }
.node-dl > div{ display:flex; gap:8px; align-items:flex-start; }
.node-dl dt{
  flex:0 0 30px; font-size:11px; color:var(--ink-4); line-height:1.75;
  letter-spacing:.04em;
}
.node-dl dd{
  margin:0; font-size:12px; color:var(--ink-2); line-height:1.75;
  word-break:break-all;
}

/* ---------- 电话：这一页的主角 ---------- */
.node-tel{
  margin-top:auto; display:flex; align-items:baseline; gap:8px;
  padding:9px 12px; border-radius:8px; text-decoration:none;
  background:var(--sand-3); color:var(--sea);
  transition:background .16s;
}
.node-tel:hover{ background:var(--sand-2); }
.node-tel-k{
  font-size:10.5px; letter-spacing:.1em; color:var(--ink-3); flex:0 0 auto;
}
.node-tel b{
  font-family:var(--num); font-size:16.5px; letter-spacing:.02em;
  font-weight:600; line-height:1.3;
}
.node-tel.off{ background:var(--paper-2); }
.node-tel.off em{
  font-style:normal; font-size:11.5px; color:var(--ink-3);
}

/* 这一家没留电话，退一步给总部号码。
   虚线底 + 小一号的标签，一眼看得出"这不是它的号，是总部的"——
   混成一样，客户会以为打的就是这家店。 */
.node-tel.backup{
  background:var(--paper-2);
  border:1px dashed var(--line-3);
}
.node-tel.backup .node-tel-k{
  font-size:10px; letter-spacing:.03em; line-height:1.45; flex:0 1 auto;
}
.node-tel.backup b{ font-size:15px; color:var(--sea); }

.node-go{
  font-size:11.5px; color:var(--ink-3); text-decoration:none;
  border-bottom:1px solid transparent; align-self:flex-start;
  transition:color .16s, border-color .16s;
}
.node-go:hover{ color:var(--sea); border-bottom-color:var(--line-3); }

/* ---------- 底部兜底 ---------- */
.nfoot{ margin-top:34px; }
.nfoot-in{
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  padding:18px 20px; border:1px solid var(--line-2); border-radius:12px;
  background:var(--paper-2);
}
.nfoot-in > div:first-child{ flex:1; min-width:240px; }
.nfoot-in b{ font-family:var(--serif); font-size:15px; }
.nfoot-in p{
  margin:6px 0 0; font-size:12.5px; color:var(--ink-2); line-height:1.85;
}
.nfoot-acts{ display:flex; gap:9px; flex-wrap:wrap; }
.nfoot-tel{
  margin-top:10px; font-size:12px; color:var(--ink-2); line-height:1.9;
  display:flex; gap:18px; flex-wrap:wrap; align-items:baseline;
}
.nfoot-i{ display:inline-flex; gap:7px; align-items:baseline; }
.nfoot-i em{
  font-style:normal; font-size:10.5px; letter-spacing:.08em;
  color:var(--ink-4);
}
.nfoot-tel a{ color:var(--sea); text-decoration:none; border-bottom:1px solid var(--line-3); }

/* ---------- 手机 ---------- */
@media (max-width:640px){
  .nbar{ gap:9px; }
  .nfind{ width:100%; }
  .nfind .select{ flex:0 0 118px; }
  .nfind .input{ flex:1; width:auto; }
  .ngrid{ grid-template-columns:1fr; }
  .node-name{ font-size:15.5px; }
  .nfoot-in{ padding:16px; }
  .nfoot-acts{ width:100%; }
  .nfoot-acts .btn{ flex:1; text-align:center; white-space:nowrap; padding-left:12px; padding-right:12px; }
}
