/* ===== variables ===== */
:root {
  --blue: #1565c0;
  --blue-dark: #0d47a1;
  --blue-light: #e3f2fd;
  --blue-mid: #1976d2;
  --green-best: #2e7d32;
  --green-bg: #e8f5e9;
  --gray-meta: #6b7280;
  --border: #e5e7eb;
  --card-shadow: 0 2px 8px rgba(0,0,0,.07);
  --radius: 10px;
  --max-w: 1100px;
  --font: -apple-system, "Microsoft YaHei", BlinkMacSystemFont, sans-serif;
}

/* ===== reset ===== */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font);color:#1f2937;line-height:1.6;background:#f9fafb}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}

/* ===== calculator page ===== */
.card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--card-shadow);
  padding:24px;
  max-width:680px;
  margin:24px auto;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:flex-end;
}
.mode{
  display:flex;
  gap:8px;
  width:100%;
  margin-bottom:4px;
}
.mode button{
  background:#f1f5f9;
  border:1px solid var(--border);
  border-radius:8px;
  padding:8px 16px;
  font-size:14px;
  cursor:pointer;
  transition:all .2s;
}
.mode button.active{
  background:var(--blue);
  color:#fff;
  border-color:var(--blue);
}
.card label{
  display:flex;
  flex-direction:column;
  gap:4px;
  flex:1;
  min-width:140px;
  font-size:13px;
  color:var(--gray-meta);
}
.card label select,.card label input{
  padding:10px 12px;
  border:1.5px solid var(--border);
  border-radius:8px;
  font-size:15px;
  color:#1f2937;
  background:#fff;
  outline:none;
}
.card label select:focus,.card label input:focus{border-color:var(--blue)}
.btn{
  background:var(--blue);
  color:#fff;
  border:none;
  border-radius:8px;
  padding:11px 24px;
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  transition:background .2s;
  white-space:nowrap;
}
.btn:hover{background:var(--blue-dark)}
#result{margin:0 auto;max-width:680px}
#result table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--card-shadow)}
#result th,#result td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:14px}
#result th{background:#f8fafc;font-weight:600;color:#374151}
#result tr.best{background:var(--green-bg)}
#result tr.best td:first-child{font-weight:700;color:var(--green-best)}

/* ===== site header ===== */
.site-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 20px;
  height:60px;
  background:#1e3a5f;
  box-shadow:0 2px 8px rgba(0,0,0,.15);
  position:sticky;top:0;z-index:100;
}
.site-logo{
  display:flex;align-items:center;text-decoration:none;
}
.site-logo img{
  height:40px;width:auto;border-radius:8px;
}
.site-nav{
  display:flex;align-items:center;gap:2px;
}
.site-nav a{
  color:rgba(255,255,255,.85);
  text-decoration:none;
  font-size:15px;
  padding:8px 12px;
  border-radius:6px;
  transition:background .2s;
  white-space:nowrap;
}
.site-nav a:hover{background:rgba(255,255,255,.1);text-decoration:none}

/* ===== old nav (legacy) ===== */
.nav{
  background:var(--blue);
  padding:14px 20px;
  display:flex;
  gap:28px;
  align-items:center;
  flex-wrap:wrap;
  position:sticky;top:0;z-index:100;
}
.nav-brand{color:#fff;font-size:20px;font-weight:700;letter-spacing:-.3px}
.nav a{color:rgba(255,255,255,.88);font-size:15px;font-weight:500;transition:color .15s}
.nav a:hover{color:#fff;text-decoration:none}

/* ===== main wrapper ===== */
.page{max-width:var(--max-w);margin:0 auto;padding:0 20px}

/* ===== hero ===== */
.hero{
  position:relative;
  background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 100%);
  color:#fff;
  padding:72px 20px 64px;
  text-align:center;
  overflow:hidden;
}
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:url('https://s7x.cn/assets/images/hero-bg.png') center/cover no-repeat;
  opacity:.25;
  z-index:0;
}
.hero>*{position:relative;z-index:1}
.hero-inner{max-width:var(--max-w);margin:0 auto}
.hero h1{font-size:clamp(26px,5vw,44px);font-weight:800;margin:0 0 16px;letter-spacing:-.5px;line-height:1.15}
.hero h1 em{font-style:normal;color:#fbbf24}
.hero-sub{font-size:18px;opacity:.9;margin:0 0 40px;max-width:560px;margin-left:auto;margin-right:auto}

/* mini calculator in hero */
.mini-calc{
  background:#fff;
  border-radius:var(--radius);
  padding:24px 28px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
  box-shadow:0 8px 32px rgba(0,0,0,.18);
  max-width:680px;
}
.mini-calc select,.mini-calc input{
  padding:10px 14px;
  border:1.5px solid var(--border);
  border-radius:8px;
  font-size:15px;
  color:#1f2937;
  background:#fff;
  outline:none;
  transition:border-color .2s;
}
.mini-calc select:focus,.mini-calc input:focus{border-color:var(--blue)}
.mini-calc .arrow{color:var(--blue);font-size:22px;font-weight:700}
.mini-calc .btn{
  background:var(--blue);
  color:#fff;
  border:none;
  border-radius:8px;
  padding:10px 22px;
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  transition:background .2s;
}
.mini-calc .btn:hover{background:var(--blue-dark)}
#hero-result{margin-top:14px;font-size:15px}

/* ===== stats bar ===== */
.stats-bar{
  background:#fff;
  border-bottom:1px solid var(--border);
  padding:18px 20px;
}
.stats-inner{
  max-width:var(--max-w);
  margin:0 auto;
  display:flex;
  gap:32px;
  flex-wrap:wrap;
  justify-content:center;
}
.stat{text-align:center}
.stat-n{font-size:22px;font-weight:800;color:var(--blue)}
.stat-l{font-size:13px;color:var(--gray-meta);margin-top:2px}

/* ===== sections ===== */
section{padding:48px 0}
.section-title{
  font-size:22px;font-weight:700;color:#111;
  margin:0 0 24px;
  padding-bottom:12px;
  border-bottom:2px solid var(--blue);
  display:inline-block;
}

/* ===== cities grid ===== */
.cities-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:18px;
}
.city-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--card-shadow);
  transition:transform .2s,box-shadow .2s;
  display:block;
  color:inherit;
  overflow:hidden;
}
.city-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.14);text-decoration:none}
.city-card-img{
  width:100%;
  height:120px;
  object-fit:cover;
  display:block;
  border-bottom:1px solid var(--border);
}
.city-card-body{padding:16px 18px 18px}
.city-name{font-size:18px;font-weight:700;color:var(--blue);margin:0 0 8px}
.city-tecan{margin:0 0 10px;padding:0;list-style:none}
.city-tecan li{
  display:inline-block;
  background:var(--blue-light);
  color:var(--blue-dark);
  border-radius:20px;
  padding:3px 10px;
  font-size:12px;
  margin:0 3px 4px 0;
}
.city-link{
  display:inline-block;
  background:var(--blue);
  color:#fff;
  border-radius:6px;
  padding:6px 14px;
  font-size:13px;
  font-weight:600;
  margin-top:8px;
  transition:background .2s;
}
.city-link:hover{background:var(--blue-dark);text-decoration:none}

/* ===== blog cards ===== */
.blog-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:18px;
}
.blog-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--card-shadow);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  transition:transform .2s,box-shadow .2s;
}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.12)}
.blog-card-img{
  width:100%;
  height:160px;
  object-fit:cover;
  display:block;
  border-bottom:1px solid var(--border);
}
.blog-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.blog-card-body h3{font-size:16px;font-weight:700;margin:0 0 8px;color:#111}
.blog-card-body p{font-size:14px;color:#4b5563;margin:0 0 14px;flex:1}
.blog-meta{font-size:12px;color:var(--gray-meta);margin-bottom:10px}
.blog-cta{
  display:inline-block;
  background:var(--blue-light);
  color:var(--blue);
  border-radius:6px;
  padding:7px 14px;
  font-size:13px;
  font-weight:600;
  transition:background .2s;
  align-self:flex-start;
}
.blog-cta:hover{background:#bbdefb;text-decoration:none}

/* ===== cta banner ===== */
.cta-banner{
  background:var(--blue);
  color:#fff;
  border-radius:var(--radius);
  padding:40px 32px;
  text-align:center;
  margin:0 0 48px;
}
.cta-banner h2{font-size:26px;font-weight:800;margin:0 0 12px}
.cta-banner p{font-size:16px;opacity:.88;margin:0 0 24px}
.btn-white{
  display:inline-block;
  background:#fff;
  color:var(--blue);
  border-radius:8px;
  padding:13px 28px;
  font-size:16px;
  font-weight:700;
  transition:background .2s;
}
.btn-white:hover{background:var(--blue-light);text-decoration:none}

/* ===== footer ===== */
footer{
  background:#fff;
  border-top:1px solid var(--border);
  padding:28px 20px;
  text-align:center;
  color:var(--gray-meta);
  font-size:13px;
}

/* ===== responsive ===== */
@media(max-width:768px){
  /* header */
  .site-header{padding:0 14px;height:54px}
  .site-logo img{height:34px}
  .site-nav a{font-size:14px;padding:7px 10px}
  /* hero */
  .hero{padding:44px 16px 36px}
  .hero h1{font-size:24px}
  .hero-sub{font-size:15px;margin-bottom:28px}
  .mini-calc{padding:14px;gap:8px;width:100%;max-width:none}
  .mini-calc select,.mini-calc input{flex:1;min-width:0;font-size:14px;padding:9px 10px}
  .mini-calc .btn{flex-shrink:0;padding:9px 16px}
  .mini-calc .arrow{display:none}
  /* sections */
  section{padding:32px 0}
  .section-title{font-size:19px}
  /* grids */
  .cities-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
  .blog-grid{grid-template-columns:1fr}
  .news-grid{grid-template-columns:1fr}
  /* stats */
  .stats-inner{gap:16px;padding:16px 12px}
  .stat-n{font-size:20px}
  /* cta */
  .cta-banner{padding:32px 20px}
  .cta-banner h2{font-size:22px}
  /* footer */
  footer{font-size:12px;padding:24px 16px}
  /* page wrapper */
  .page{padding-left:14px;padding-right:14px}
  /* calculator card */
  .card{padding:16px}
  .mode{flex-wrap:wrap}
  .mode button{flex:1;min-width:0}
  label{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
  label select,label input{width:100%}
  #calc{width:100%}
}
@media(max-width:600px){
  .hero{padding:40px 14px 32px}
  .mini-calc select,.mini-calc input{font-size:13px;padding:8px}
  .stats-inner{gap:12px}
  section{padding:28px 0}
}
/* ===== industry news ===== */.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.news-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column}.news-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.1);transform:translateY(-2px)}.news-tag{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;margin-bottom:8px;letter-spacing:.3px}.news-date{font-size:12px;color:var(--gray-meta);margin-bottom:6px}.news-title{font-size:15px;font-weight:700;color:#111;margin:0 0 8px;line-height:1.4}.news-summary{font-size:13px;color:#4b5563;margin:0;line-height:1.6;flex:1}

/* ===== city/district page grids ===== */
.district-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.park-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}
.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:768px){
  .district-grid{grid-template-columns:1fr}
  .park-grid{grid-template-columns:1fr}
  .store-grid{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr;gap:14px}
}