/* ============ 全国邮编查询 · 淡蓝主题 ============ */
:root{
  --blue-900:#0b3d6b; --blue-800:#11508c; --blue-700:#1565c0; --blue-600:#1f8fe5;
  --blue-500:#4aa8ef; --blue-300:#9ecff7; --blue-200:#c8e5fb; --blue-100:#e6f3fe;
  --blue-50:#f4faff; --cyan:#00acc1; --orange:#fb8c00; --ink:#23384d; --gray:#6b7d8f;
  --line:#d7e8f7; --bg:#e9f7ff; --white:#fff;
  --shadow:0 6px 20px rgba(21,101,192,.10);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.6}
a{color:var(--blue-700);text-decoration:none}
a:hover{color:var(--blue-600)}
ul{list-style:none}
.wrapper{min-height:100vh;display:flex;flex-direction:column}
.inner{max-width:1200px;margin:0 auto;padding:0 16px;width:100%}

/* 顶栏 */
.header{position:sticky;top:0;z-index:100;background:linear-gradient(135deg,#00a2ec,#00b6ff);box-shadow:0 3px 14px rgba(0,120,190,.22)}
.hd-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;height:70px}
.logo{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.logo-badge{width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.35)}
.logo-text b{font-size:21px;letter-spacing:.5px;color:#fff;display:block;line-height:1.2}
.logo-text span{font-size:12px;color:#eaf8ff;opacity:.9}
.hd-search{display:flex;flex:1;max-width:480px;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 3px 10px rgba(0,90,150,.18)}
.hd-search input{flex:1;border:0;outline:0;padding:0 18px;font-size:14px;height:42px;background:transparent;color:var(--ink)}
.hd-search button{border:0;cursor:pointer;background:linear-gradient(135deg,var(--blue-600),var(--blue-500));color:#fff;font-size:15px;font-weight:700;padding:0 24px;display:flex;align-items:center;gap:6px;font-family:inherit}
.hd-search button:hover{filter:brightness(1.06)}
.container{flex:1}

/* 首页搜索横幅 */
.hero{background:linear-gradient(135deg,#0097e6,#22b8ff);color:#fff;padding:44px 0 40px;text-align:center;margin-top: 1.3rem;border-radius: 16px;box-shadow: var(--shadow);}
.hero h1{font-size:34px;letter-spacing:2px;text-shadow:0 2px 8px rgba(0,90,150,.3)}
.hero-sub{margin-top:10px;font-size:15px;opacity:.95}
.hero-sub b{font-size:18px}
.hero-search{max-width:720px;margin:24px auto 0;display:flex;background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 8px 24px rgba(0,90,150,.28)}
.hero-search input{flex:1;border:0;outline:0;padding:0 24px;font-size:16px;height:56px;background:transparent;color:var(--ink)}
.hero-search button{border:0;cursor:pointer;background:linear-gradient(135deg,#ff8a3d,#ff6a00);color:#fff;font-size:18px;font-weight:700;letter-spacing:4px;padding:0 44px;font-family:inherit}
.hero-search button:hover{filter:brightness(1.05)}
.hero-hot{margin-top:16px;font-size:13px;opacity:.95}
.hero-hot a{color:#fff;margin:0 8px;padding:2px 10px;border-radius:12px;background:rgba(255,255,255,.16)}
.hero-hot a:hover{background:#fff;color:var(--blue-700)}

/* 布局 */
.layout-cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;margin-top:22px;align-items:start}
.side{display:flex;flex-direction:column;gap:20px}

/* 卡片模块 */
.module{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);margin:22px 0;overflow:hidden}
.layout-cols .module,.side .module{margin:0}
.module .hd{padding:14px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,var(--blue-50),#fff)}
.module .title{font-size:18px;font-weight:700;color:var(--blue-800);position:relative;padding-left:13px}
.module .title::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:5px;border-radius:3px;background:linear-gradient(var(--blue-600),var(--cyan))}
.hd-tip{color:var(--gray);font-size:13px}
.module .bd{padding:20px}

/* 地图 */
.mod-map .map-wrap{display:flex;justify-content:center;background:linear-gradient(180deg,var(--blue-50),#fff);padding:8px}
.inside-map{width:100%;max-width:760px;height:auto}
/* 首页大地图：居中独占，视觉中心 */
.mod-map-lg{margin-top:22px}
.mod-map-lg .map-wrap{padding:24px 20px}
.mod-map-lg .inside-map{max-width:880px;width:100%}

/* 首页横向统计条 */
.stat-bar-mod .bd{padding:0}
.stat-bar{display:grid;grid-template-columns:repeat(5,1fr)}
.stat-bar li{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 10px;border-right:1px solid var(--line)}
.stat-bar li:last-child{border-right:0}
.stat-bar b{font-size:26px;font-weight:800;color:var(--blue-700);font-variant-numeric:tabular-nums;line-height:1.1}
.stat-bar span{font-size:13px;color:var(--gray)}
.stat-bar li:nth-child(even){background:linear-gradient(180deg,var(--blue-50),#fff)}

.inside-map .lind-link path{transition:fill .18s;cursor:pointer}
.inside-map .lind-link:hover path{fill:var(--blue-600) !important}
.inside-map .lind-link:hover text{fill:#fff !important}
.inside-map .nolink path{cursor:default}
.inside-map .st1{fill:var(--blue-900);font:12px "Microsoft YaHei",Arial}

/* 统计列表 */
.stat-list li{display:flex;align-items:center;justify-content:space-between;padding:11px 4px;border-bottom:1px dashed var(--line);font-size:14px}
.stat-list li:last-child{border-bottom:0}
.stat-list span{color:var(--gray)}
.stat-list b{color:var(--blue-700);font-size:18px;font-variant-numeric:tabular-nums}

/* 高频邮编 */
.hot-tags{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hot-tag{display:flex;flex-direction:column;gap:3px;background:linear-gradient(135deg,#fff,var(--blue-50));border:1px solid var(--line);border-radius:10px;padding:9px 12px;transition:.16s}
.hot-tag:hover{border-color:var(--blue-500);transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,150,230,.15)}
.hot-tag b{color:var(--blue-700);font-size:16px;letter-spacing:1px}
.hot-tag span{color:var(--gray);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 首页高频邮编：多列横排，更紧凑 */
.hot-tags-row{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}

/* 省份卡片 */
.prov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.prov-card{display:flex;flex-direction:column;gap:5px;padding:15px 18px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#fff,var(--blue-50));transition:.16s}
.prov-card:hover{border-color:var(--blue-500);transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,150,230,.16);text-decoration:none}
.prov-name{font-size:16px;font-weight:700;color:var(--blue-800)}
.prov-meta{font-size:12px;color:var(--gray)}

/* 城市/区县卡片 */
.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.name-card{display:flex;flex-direction:column;gap:5px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:.16s}
.name-card:hover{border-color:var(--blue-500);background:var(--blue-50);transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,150,230,.14);text-decoration:none}
.nc-name{font-size:16px;color:var(--blue-800)}
.nc-meta{font-size:12px;color:var(--gray)}

/* 邮编 chips */
.zip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.zip-chip{display:flex;flex-direction:column;align-items:center;gap:4px;padding:13px 8px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(135deg,#fff,var(--blue-50));transition:.15s}
.zip-chip:hover{border-color:var(--blue-500);transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,150,230,.16);text-decoration:none}
.zip-no{font-size:19px;letter-spacing:1.5px;color:var(--blue-700);font-variant-numeric:tabular-nums}
.zip-cnt{font-size:11px;color:var(--gray)}

/* 地名 chips */
.place-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.place-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}
.place-chip:hover{border-color:var(--blue-500);background:var(--blue-50);text-decoration:none}
.place-chip b{color:var(--blue-800);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.place-chip span{flex:none;font-size:12px;color:var(--gray)}
.place-chip.pc-prov{background:linear-gradient(135deg,#fff,#e3f4ff)}

/* 邮编详情头 */
.code-hero{display:flex;align-items:center;gap:26px;background:linear-gradient(135deg,var(--blue-600),var(--blue-500));color:#fff;border-radius:16px;padding:30px 34px;margin:20px 0;box-shadow:var(--shadow)}
.code-big{font-size:52px;font-weight:800;letter-spacing:4px;font-variant-numeric:tabular-nums;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);border-radius:14px;padding:8px 22px;line-height:1.1}
.code-meta h1{font-size:24px}
.code-meta p{margin-top:6px;opacity:.95}
.area-tags{display:flex;flex-wrap:wrap;gap:10px}
.area-tag{background:var(--blue-100);color:var(--blue-800);padding:6px 15px;border-radius:16px;font-size:13px;border:1px solid var(--line)}
.area-tag:hover{background:var(--blue-600);color:#fff;border-color:var(--blue-600)}

/* 地址列表 */
.addr-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 26px}
.addr-list li{padding:9px 4px;border-bottom:1px dashed var(--line);font-size:14px;display:flex;gap:8px;align-items:baseline}
.addr-list li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--blue-500);margin-top:9px}
.addr-tag{flex:none;font-size:11px;color:var(--blue-800);background:var(--blue-100);border-radius:5px;padding:0 6px}
.addr-text{color:var(--ink)}

/* 表格 */
.table-wrap{overflow-x:auto}
table.lc{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
table.lc thead th{background:#24c0ffad;color:#fff;padding:12px 10px;font-weight:600;white-space:nowrap;text-align:center}
table.lc tbody td{padding:10px;text-align:center;border-bottom:1px solid var(--line)}
table.lc tbody tr:nth-child(even){background:var(--blue-50)}
table.lc tbody tr:hover{background:var(--blue-200)}
.text-gray{color:var(--gray);font-size:12px}

/* 面包屑/页头 */
.crumb{margin:18px 0 0;color:var(--gray);font-size:13px}
.crumb a{color:var(--gray)}
.crumb a:hover{color:var(--blue-600)}
.crumb .sep{margin:0 4px;color:var(--blue-300)}
.page-head{margin:16px 0 4px}
.page-head h1{font-size:24px;color:var(--blue-900)}
.page-head p{color:var(--gray);margin-top:6px}

/* 空态/分页 */
.noresult{background:#fff;border:1px dashed var(--blue-300);border-radius:12px;padding:44px 20px;text-align:center;color:var(--gray);margin:4px 0}
.noresult .big{font-size:40px;margin-bottom:10px}
.pager{display:flex;gap:6px;justify-content:center;margin:24px 0 4px;flex-wrap:wrap}
.pager a,.pager span{padding:7px 13px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--blue-700)}
.pager a:hover{background:var(--blue-100)}
.pager span.cur{background:var(--blue-600);color:#fff;border-color:var(--blue-600)}

/* 页脚 */
.footer{margin-top:34px}
.mod-foot{background:#007bb8;color:#d6efff;padding:22px 0;text-align:center;font-size:13px}
.mod-foot a{color:#d6efff;margin:0 6px}
.mod-foot a:hover{color:#fff}
.mod-foot p{margin:4px 0}

.gotop{position:fixed;right:24px;bottom:50px;width:46px;height:46px;border-radius:12px;background:var(--blue-600);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.3s;font-family:serif}
.gotop.show{opacity:1;pointer-events:auto}

/* 响应式 */
@media(max-width:900px){
  .layout-cols{grid-template-columns:1fr}
  .code-hero{flex-direction:column;text-align:center;gap:16px;padding:24px 18px}
}
@media(max-width:640px){
  .hd-inner{height:auto;flex-direction:column;gap:10px;padding:10px 16px;align-items:stretch}
  .hd-search{max-width:none}
  .logo{justify-content:center}
  .stat-bar{grid-template-columns:repeat(2,1fr)}
  .stat-bar li{border-right:0;border-bottom:1px solid var(--line);padding:16px 10px}
  .stat-bar li:nth-child(even){border-right:0}
  .mod-map-lg .map-wrap{padding:12px 6px}
  .hero h1{font-size:26px}
  .hero-search{border-radius:16px}
  .hero-search input{height:50px;padding:0 16px}
  .hero-search button{padding:0 22px;letter-spacing:2px}
  .zip-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
  .code-big{font-size:40px;letter-spacing:2px}
  .prov-grid,.grid-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
}
