/* 城市分站 - 2026 现代化样式 */
@charset "UTF-8";

.city-page{background:var(--color-bg,#f7f8fa);min-height:100vh;padding-bottom:48px;}
.city-container{max-width:1200px;margin:0 auto;padding:0 20px;}

/* 面包屑 */
.city-breadcrumb{padding:18px 0;font-size:var(--font-size-sm);color:var(--color-text-muted,#999);}
.city-breadcrumb a{color:var(--color-text-muted,#999);transition:color 0.2s;text-decoration:none;}
.city-breadcrumb a:hover{color:var(--color-primary,#e85d3a);}
.city-breadcrumb-sep{margin:0 8px;color:#ddd;}

/* Hero 区域 - 暖色渐变+背景图 */
.city-hero{position:relative;border-radius:var(--radius-xl,16px);padding:36px 32px;margin-bottom:24px;color:#fff;overflow:hidden;background:linear-gradient(135deg,#e85d3a 0%,#e85d2a 50%,#ff8c42 100%);}
.city-hero-bg{position:absolute;top:0;left:0;right:0;bottom:0;background:url('/static/img/slogan1.jpg') center center / cover no-repeat;opacity:.12;border-radius:var(--radius-xl,16px);}
.city-hero-bg::after{content:'';position:absolute;top:-30%;right:-15%;width:380px;height:380px;background:radial-gradient(circle,rgba(255,255,255,0.1) 0%,transparent 70%);border-radius:50%;}
.city-hero-inner{position:relative;z-index:2;}
.city-hero-title{font-size:28px;font-weight:700;color:#fff;margin:0 0 12px;line-height:1.4;text-shadow:0 2px 4px rgba(0,0,0,0.1);}
.city-hero-desc{font-size:15px;color:rgba(255,255,255,0.95);line-height:1.8;margin:0 0 20px;max-width:880px;}
.city-hero-desc strong{color:#ffe0b2;font-weight:600;}
.city-hero-stats{display:flex;gap:48px;flex-wrap:wrap;}
.city-stat-num{display:block;font-size:26px;font-weight:700;color:#fff;line-height:1.2;text-shadow:0 1px 3px rgba(0,0,0,0.15);}
.city-stat-label{display:block;font-size:13px;color:rgba(255,255,255,0.85);margin-top:4px;}

/* 区块通用 */
.city-section{background:#fff;border:1px solid rgba(0,0,0,0.06);border-radius:var(--radius-xl,16px);box-shadow:0 1px 4px rgba(0,0,0,0.06);padding:24px 28px;margin-bottom:20px;}
.city-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(0,0,0,0.06);}
.city-section-title{display:flex;align-items:center;gap:8px;font-size:var(--font-size-lg,18px);font-weight:700;color:var(--color-text-title,#1a1a1a);margin:0;}
.city-section-title svg{color:var(--color-primary,#e85d3a);}
.city-section-count{font-size:13px;font-weight:500;color:var(--color-primary,#e85d3a);background:rgba(232,93,58,0.08);padding:2px 10px;border-radius:var(--radius-pill,999px);}
.city-section-more{font-size:var(--font-size-sm,14px);color:var(--color-primary,#e85d3a);text-decoration:none;transition:opacity 0.2s;}
.city-section-more:hover{opacity:0.8;}

/* 空状态 */
.city-empty{padding:32px 16px;text-align:center;color:var(--color-text-muted,#999);font-size:14px;line-height:1.8;}
.city-empty a{color:var(--color-primary,#e85d3a);text-decoration:none;font-weight:500;}
.city-empty a:hover{text-decoration:underline;}

/* 岗位网格 - 桌面3列、平板2列、手机1列 */
.city-jobs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.city-job-card{display:block;padding:16px;background:#fafafa;border-radius:var(--radius-md,10px);text-decoration:none;transition:all 0.2s;border:1px solid transparent;}
.city-job-card:hover{background:#fff;border-color:var(--color-primary,#e85d3a);box-shadow:0 4px 14px rgba(232,93,58,0.1);transform:translateY(-2px);}
.city-job-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;}
.city-job-title{font-size:15px;font-weight:600;color:var(--color-text-heading,#1a1a1a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}
.city-job-salary{font-size:14px;color:var(--color-primary,#e85d3a);font-weight:600;white-space:nowrap;}
.city-job-card-mid{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.city-job-company{font-size:13px;color:var(--color-text-muted,#666);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}
.city-job-tag{font-size:12px;color:#666;background:#f0f0f0;padding:1px 8px;border-radius:4px;white-space:nowrap;}

/* 双栏布局：企业+资讯 */
.city-dual{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.city-section-half{margin-bottom:0;}

/* 企业列表 */
.city-companies{list-style:none;padding:0;margin:0;}
.city-companies li{padding:10px 0;border-bottom:1px solid rgba(0,0,0,0.04);}
.city-companies li:last-child{border-bottom:none;}
.city-companies a{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;transition:color 0.2s;}
.city-companies a:hover .city-company-name{color:var(--color-primary,#e85d3a);}
.city-company-logo{width:32px;height:32px;border-radius:6px;object-fit:cover;flex-shrink:0;background:#f5f5f5;}
.city-company-logo-placeholder{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:linear-gradient(135deg,#e85d3a,#ff8c42);color:#fff;font-size:14px;font-weight:600;flex-shrink:0;}
.city-company-name{font-size:14px;color:var(--color-text-body,#444);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;transition:color 0.2s;}

/* 资讯列表 */
.city-news{list-style:none;padding:0;margin:0;}
.city-news li{padding:10px 0;border-bottom:1px solid rgba(0,0,0,0.04);}
.city-news li:last-child{border-bottom:none;}
.city-news a{display:flex;align-items:flex-start;gap:8px;text-decoration:none;color:inherit;transition:color 0.2s;}
.city-news a:hover .city-news-title{color:var(--color-primary,#e85d3a);}
.city-news-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-primary,#e85d3a);flex-shrink:0;margin-top:8px;opacity:.4;transition:opacity 0.2s;}
.city-news a:hover .city-news-dot{opacity:1;}
.city-news-title{font-size:14px;color:var(--color-text-body,#444);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color 0.2s;}

/* 热门城市切换 */
.city-link-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px 12px;}
.city-link-item{display:flex;align-items:center;justify-content:center;padding:10px 8px;background:#fafafa;border:1px solid #f0f0f0;border-radius:var(--radius-md,10px);font-size:14px;color:var(--color-text-body,#444);text-decoration:none;transition:all 0.2s;}
.city-link-item:hover{background:#fff5f0;border-color:var(--color-primary,#e85d3a);color:var(--color-primary,#e85d3a);transform:translateY(-1px);}
.city-link-current{background:linear-gradient(135deg,#e85d3a,#ff8c42);color:#fff;border-color:transparent;font-weight:600;}
.city-link-current:hover{color:#fff;transform:none;}

/* SEO 文案 */
.city-seo-text{background:#fff;border:1px solid rgba(0,0,0,0.06);border-radius:var(--radius-xl,16px);box-shadow:0 1px 4px rgba(0,0,0,0.06);padding:24px 28px;}
.city-seo-text h2{font-size:18px;font-weight:700;color:var(--color-text-title,#1a1a1a);margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,0.06);}
.city-seo-text p{font-size:14px;color:var(--color-text-body,#555);line-height:1.9;margin:0 0 12px;}

/* 平板 */
@media(max-width:1199px) and (min-width:768px){
  .city-jobs-grid{grid-template-columns:repeat(2,1fr);}
  .city-link-grid{grid-template-columns:repeat(4,1fr);}
}
/* 移动端 */
@media(max-width:767px){
  .city-container{padding:0 12px;}
  .city-hero{padding:24px 18px;}
  .city-hero-title{font-size:22px;}
  .city-hero-desc{font-size:14px;}
  .city-hero-stats{gap:24px;}
  .city-stat-num{font-size:22px;}
  .city-section{padding:16px 14px;margin-bottom:14px;}
  .city-section-title{font-size:16px;}
  .city-jobs-grid{grid-template-columns:1fr;gap:10px;}
  .city-dual{grid-template-columns:1fr;gap:14px;}
  .city-link-grid{grid-template-columns:repeat(3,1fr);}
  .city-seo-text{padding:16px 14px;}
  .city-seo-text h2{font-size:16px;}
  .city-seo-text p{font-size:13px;line-height:1.8;}
}
/* 小手机 */
@media(max-width:480px){
  .city-hero-stats{gap:18px;}
  .city-link-grid{grid-template-columns:repeat(2,1fr);}
}
