/* ========================================================
   攻略宝信息服务系统 - 主样式
   色板：#E84C1E(主橙) #1A1A2E(深蓝黑) #FF6B35(辅助橙) 
         #F5F5F5(浅灰) #28A745(绿) #FFFFFF
   字体：Noto Sans SC + Noto Serif SC
   ======================================================== */

:root {
  --primary:     #E84C1E;
  --primary-dark:#C73E16;
  --primary-light:#FF6B35;
  --dark:        #1A1A2E;
  --dark-2:      #2D2D44;
  --gray-1:      #F5F6FA;
  --gray-2:      #EBEBF0;
  --gray-3:      #C8C8D4;
  --gray-4:      #8E8E9E;
  --gray-5:      #5A5A6E;
  --text:        #2C2C3E;
  --text-light:  #6B6B7E;
  --success:     #28A745;
  --warning:     #FFA800;
  --info:        #17A2B8;
  --white:       #FFFFFF;
  --radius:      8px;
  --radius-lg:   12px;
  --shadow:      0 2px 12px rgba(26,26,46,.08);
  --shadow-md:   0 4px 24px rgba(26,26,46,.12);
  --shadow-lg:   0 8px 40px rgba(26,26,46,.16);
  --transition:  .2s ease;
  --container:   1200px;
  --header-h:    60px;
  --font-sans:   'Noto Sans SC', 'Microsoft YaHei', 'PingFang SC', sans-serif;
  --font-serif:  'Noto Serif SC', 'STSong', serif;
}

/* ---- Reset ---- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.6;
  color: var(--text);
  background: var(--gray-1);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--primary); }
img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style: none; }
input, button, select, textarea { font-family: inherit; }
button { cursor: pointer; border: none; background: none; }

/* ---- Container ---- */
.container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 16px;
}

/* ================= TOP BAR ================= */
.top-bar {
  background: var(--dark);
  color: rgba(255,255,255,.7);
  font-size: 12px;
  height: 34px;
  line-height: 34px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.top-bar .container { display: flex; justify-content: space-between; align-items: center; }
.top-bar-left { display: flex; gap: 16px; }
.top-bar-right { display: flex; align-items: center; gap: 12px; }
.top-bar-right a { color: rgba(255,255,255,.7); transition: color var(--transition); }
.top-bar-right a:hover { color: #fff; }
.top-bar-left span { display: flex; align-items: center; gap: 4px; }
.top-bar-right .reg-btn { color: var(--primary-light) !important; font-weight: 600; }
.top-bar-right .pub-btn {
  background: var(--primary);
  color: #fff !important;
  padding: 0 12px;
  border-radius: 4px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 600;
  transition: background var(--transition);
}
.top-bar-right .pub-btn:hover { background: var(--primary-dark); }

/* VIP 标识 */
.vip-badge {
  font-size: 11px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 3px;
}
.vip-badge.vip1 { background: rgba(255,168,0,.2); color: #FFA800; }
.vip-badge.vip2 { background: rgba(232,76,30,.15); color: var(--primary); }
.vip-badge.vip3 { background: rgba(40,167,69,.15); color: var(--success); }

/* ================= MAIN HEADER ================= */
.main-header {
  background: #fff;
  box-shadow: var(--shadow);
  position: sticky;
  top: 0;
  z-index: 900;
}
.header-inner {
  display: flex;
  align-items: center;
  gap: 16px;
  height: 68px;
}
.logo-wrap { display: flex; align-items: center; gap: 10px; flex-shrink: 0; text-decoration: none; }
.logo-img { height: 40px; width: auto; max-width: 120px; object-fit: contain; }
/* 文字版 logo 图标（无上传logo时显示） */
.logo-icon-wrap {
  width: 40px; height: 40px;
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-serif);
  font-size: 18px;
  font-weight: 900;
  color: #fff;
  flex-shrink: 0;
}
.logo-name-wrap { display: flex; flex-direction: column; gap: 2px; }
.logo-site-name {
  font-size: 17px; font-weight: 800;
  color: var(--dark); letter-spacing: -.3px;
  font-family: var(--font-serif);
  white-space: nowrap;
}
.logo-site-slogan {
  font-size: 11px; color: var(--gray-4);
  line-height: 1; letter-spacing: .5px;
  white-space: nowrap;
}

.site-name {
  font-size: 20px;
  font-weight: 900;
  font-family: var(--font-serif);
  color: var(--dark);
  letter-spacing: -0.5px;
  white-space: nowrap;
}
.site-name span { color: var(--primary); }

/* 搜索框 */
.header-search { flex: 1; max-width: 580px; }
.header-search form {
  display: flex;
  border: 2px solid var(--primary);
  border-radius: var(--radius);
  overflow: hidden;
  height: 44px;
}
.search-cat {
  padding: 0 10px;
  border: none;
  border-right: 1px solid #E9ECEF;
  background: #F8F9FA;
  font-size: 13px;
  color: var(--gray-5);
  cursor: pointer;
  flex-shrink: 0;
}
.search-input {
  flex: 1;
  padding: 0 14px;
  border: none;
  font-size: 14px;
  color: var(--text);
  background: #fff;
}
.search-input:focus { outline: none; }
.search-btn {
  padding: 0 18px;
  background: var(--primary);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  flex-shrink: 0;
  transition: background var(--transition);
}
.search-btn:hover { background: var(--primary-dark); }
.header-right { flex-shrink: 0; }
.vip-entry {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border: 1.5px solid var(--warning);
  border-radius: var(--radius);
  color: var(--warning);
  font-size: 13px;
  font-weight: 700;
  transition: all var(--transition);
}
.vip-entry:hover { background: var(--warning); color: #fff; }
.mobile-header-btns { display: none; align-items: center; gap: 2px; margin-left: auto; }
.mobile-search-btn { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; color: var(--dark); font-size: 16px; transition: background var(--transition); -webkit-tap-highlight-color: transparent; }
.mobile-search-btn:hover { background: var(--gray-1); color: var(--primary); }
.mobile-menu-btn { display: none; font-size: 22px; color: var(--dark); padding: 4px 8px; cursor: pointer; position: relative; z-index: 10; -webkit-tap-highlight-color: transparent; }

/* 分类导航 */
.cat-nav { border-top: 1px solid var(--gray-2); background: #fff; }
.cat-nav-list { display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; }
.cat-nav-list::-webkit-scrollbar { display: none; }
.cat-nav-list li a {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 500;
  color: var(--gray-5);
  white-space: nowrap;
  transition: all var(--transition);
  position: relative;
}
.cat-nav-list li a::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%; right: 50%;
  height: 2px;
  background: var(--primary);
  transition: all .2s;
}
.cat-nav-list li a:hover::after,
.cat-nav-list li a.active::after { left: 0; right: 0; }
.cat-nav-list li a:hover,
.cat-nav-list li a.active { color: var(--primary); }

/* ================= MAIN CONTENT ================= */
.main-content { flex: 1; }

/* ================= HERO SECTION ================= */
.hero-section {
  background: linear-gradient(135deg, var(--dark) 0%, #16213E 50%, #0F3460 100%);
  position: relative;
  overflow: hidden;
  padding: 60px 0 50px;
}
.hero-section::before {
  content: '';
  position: absolute;
  top: -100px; right: -100px;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232,76,30,.2) 0%, transparent 70%);
  pointer-events: none;
}
.hero-section::after {
  content: '';
  position: absolute;
  bottom: -80px; left: -80px;
  width: 400px; height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,107,53,.15) 0%, transparent 70%);
  pointer-events: none;
}
.hero-content { position: relative; z-index: 1; text-align: center; color: #fff; }
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(232,76,30,.2);
  border: 1px solid rgba(232,76,30,.4);
  color: var(--primary-light);
  font-size: 12px;
  font-weight: 600;
  padding: 5px 14px;
  border-radius: 20px;
  margin-bottom: 16px;
}
.hero-title {
  font-family: var(--font-serif);
  font-size: 42px;
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 14px;
  letter-spacing: -1px;
}
.hero-title em { color: var(--primary-light); font-style: normal; }
.hero-subtitle {
  font-size: 16px;
  color: rgba(255,255,255,.75);
  margin-bottom: 32px;
}
.hero-search {
  max-width: 700px;
  margin: 0 auto 28px;
  display: flex;
  align-items: center;
  border: none;
  border-radius: 14px;
  overflow: hidden;
  height: 60px;
  background: #fff;
  box-shadow: 0 10px 40px rgba(0,0,0,.28), 0 2px 10px rgba(0,0,0,.15);
  padding: 5px 5px 5px 0;
  gap: 0;
}
.hero-search select {
  padding: 0 10px 0 16px;
  background: #f5f5f5;
  border: none;
  border-right: 2px solid #eee;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  flex-shrink: 0;
  width: 120px;
  font-weight: 600;
  height: 100%;
  appearance: auto;
  -webkit-appearance: auto;
}
.hero-search select:focus { outline: none; }
.hero-search select option { color: #333; background: #fff; }
.hero-search input {
  flex: 1;
  background: #fff;
  border: none;
  padding: 0 16px;
  color: #333;
  font-size: 15px;
  height: 100%;
  min-width: 0;
}
.hero-search input::placeholder { color: #bbb; }
.hero-search input:focus { outline: none; }
.hero-search button {
  flex-shrink: 0;
  height: 50px;
  padding: 0 28px;
  background: var(--primary);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  border-radius: 10px;
  margin-right: 0;
  transition: background var(--transition), transform .1s;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.hero-search button:hover { background: var(--primary-dark); transform: scale(1.02); }
.hero-search button:active { transform: scale(.98); }
.hero-stats {
  display: flex;
  justify-content: center;
  gap: 40px;
  font-size: 13px;
  color: rgba(255,255,255,.6);
}
.hero-stats strong { color: var(--primary-light); font-size: 20px; font-weight: 900; margin-right: 3px; }

/* ================= 服务概览 ================= */
.service-bar {
  background: var(--white);
  border-bottom: 1px solid var(--gray-2);
  padding: 12px 0;
}
.service-list {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.service-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--gray-5);
  transition: all var(--transition);
}
.service-item:hover { background: var(--gray-1); color: var(--primary); }
.service-item .si-icon {
  width: 30px; height: 30px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

/* ================= PAGE SECTION ================= */
.page-section { padding: 40px 0; }
.section-header { margin-bottom: 24px; display: flex; align-items: center; justify-content: space-between; }
.section-title-wrap { display: flex; align-items: center; gap: 10px; }
.section-title {
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 900;
  color: var(--dark);
  position: relative;
}
.section-title::before {
  content: '';
  position: absolute;
  left: -12px; top: 50%;
  transform: translateY(-50%);
  width: 4px; height: 20px;
  background: var(--primary);
  border-radius: 2px;
}
.section-sub { font-size: 13px; color: var(--gray-4); margin-top: 4px; }
.section-more { font-size: 13px; color: var(--primary); display: flex; align-items: center; gap: 4px; }
.section-more:hover { text-decoration: underline; }

/* ================= 分类格子 ================= */
.cat-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 12px;
}
.cat-grid-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 8px;
  background: #fff;
  border-radius: var(--radius-lg);
  border: 1.5px solid var(--gray-2);
  transition: all var(--transition);
  text-align: center;
}
.cat-grid-item:hover {
  border-color: var(--primary);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  color: var(--primary);
}
.cat-grid-icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}
.cat-grid-name { font-size: 13px; font-weight: 600; color: var(--text); }
.cat-grid-count { font-size: 11px; color: var(--gray-4); }
.cat-grid-item:hover .cat-grid-name { color: var(--primary); }

/* 分类图标颜色 */
.ci-jobs     { background: rgba(232,76,30,.1); color: var(--primary); }
.ci-house    { background: rgba(23,162,184,.1); color: var(--info); }
.ci-second   { background: rgba(255,168,0,.1);  color: var(--warning); }
.ci-business { background: rgba(40,167,69,.1);  color: var(--success); }
.ci-life     { background: rgba(102,16,242,.1); color: #6610F2; }
.ci-edu      { background: rgba(253,126,20,.1); color: #FD7E14; }
.ci-car      { background: rgba(32,201,151,.1); color: #20C997; }
.ci-pet      { background: rgba(233,62,58,.1);  color: #E93E3A; }

/* ================= 信息列表卡片 ================= */
.post-list { display: flex; flex-direction: column; gap: 12px; }
.post-card {
  background: #fff;
  border-radius: var(--radius-lg);
  border: 1.5px solid var(--gray-2);
  padding: 16px 20px;
  display: flex;
  gap: 16px;
  transition: all var(--transition);
  position: relative;
}
.post-card:hover {
  border-color: var(--primary);
  box-shadow: var(--shadow-md);
  transform: translateX(2px);
}
.post-card.is-top { border-left: 3px solid var(--primary); }
.post-card.is-top::before {
  content: '置顶';
  position: absolute;
  top: 0; left: 0;
  background: var(--primary);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 0 0 var(--radius) 0;
}
.post-card-img {
  width: 120px;
  height: 90px;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
  background: var(--gray-2);
  position: relative;
  overflow: hidden;
}
.post-card-noimg {
  width: 120px;
  height: 90px;
  border-radius: 8px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background: var(--gray-2);
  position: relative;
  overflow: hidden;
}
.post-card-body { flex: 1; min-width: 0; }
.post-card-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color var(--transition);
}
.post-card:hover .post-card-title { color: var(--primary); }
.post-card-desc {
  font-size: 13px;
  color: var(--text-light);
  margin-bottom: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.post-card-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.post-tag {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 500;
}
.post-tag-cat { background: rgba(23,162,184,.1); color: var(--info); }
.post-tag-area { background: rgba(40,167,69,.1); color: var(--success); }
.post-tag-paid { background: rgba(232,76,30,.1); color: var(--primary); }
.post-tag-vip  { background: rgba(255,168,0,.1); color: var(--warning); }
.post-card-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 12px;
  color: var(--gray-4);
}
.post-card-meta span { display: flex; align-items: center; gap: 4px; }
.post-card-right { flex-shrink: 0; text-align: right; display: flex; flex-direction: column; justify-content: space-between; }
.post-price {
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 900;
  color: var(--primary);
}
.post-price.free { color: var(--success); font-size: 16px; }
.post-price span { font-size: 13px; font-weight: 400; }
.post-card-btns { display: flex; flex-direction: column; gap: 6px; }
.btn-sm {
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  transition: all var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  justify-content: center;
}
.btn-primary { background: var(--primary); color: #fff; }
.btn-primary:hover { background: var(--primary-dark); color: #fff; }
.btn-outline {
  border: 1.5px solid var(--primary);
  color: var(--primary);
  background: transparent;
}
.btn-outline:hover { background: var(--primary); color: #fff; }
.btn-gray { background: var(--gray-2); color: var(--gray-5); }
.btn-gray:hover { background: var(--gray-3); }
.btn-success { background: var(--success); color: #fff; }
.btn-warning { background: var(--warning); color: #fff; }
.btn-lg { height: 46px; padding: 0 28px; font-size: 15px; border-radius: 8px; }
.btn-block { width: 100%; display: flex; justify-content: center; }

/* ================= 信息详情 ================= */
.detail-layout { display: grid; grid-template-columns: 1fr 300px; gap: 24px; }
.detail-main {}
.detail-card {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 28px;
  margin-bottom: 20px;
  border: 1px solid var(--gray-2);
}
.detail-title {
  font-family: var(--font-serif);
  font-size: 24px;
  font-weight: 900;
  color: var(--dark);
  line-height: 1.4;
  margin-bottom: 14px;
}
.detail-meta { display: flex; gap: 16px; font-size: 13px; color: var(--gray-4); margin-bottom: 16px; flex-wrap: wrap; }
.detail-meta span { display: flex; align-items: center; gap: 4px; }
.detail-images { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 20px; }
.detail-images img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 8px;
  cursor: pointer;
}
.detail-content {
  font-size: 15px;
  line-height: 1.9;
  color: var(--text);
}
.detail-content p { margin-bottom: 14px; }
.detail-content h2 { font-size: 18px; font-weight: 700; margin: 20px 0 10px; }
.detail-content img { max-width: 100%; border-radius: 8px; margin: 10px 0; }

/* 发布人信息卡 */
.publisher-card {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 20px;
  border: 1px solid var(--gray-2);
  position: sticky;
  top: 80px;
}
.publisher-top { display: flex; gap: 12px; align-items: center; margin-bottom: 14px; }
.publisher-avatar { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.publisher-name { font-size: 15px; font-weight: 700; color: var(--dark); margin-bottom: 4px; }
.publisher-reg { font-size: 12px; color: var(--gray-4); }
.publisher-vip { margin-top: 4px; }
.publisher-stats { display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; margin: 14px 0; border-top: 1px solid var(--gray-2); padding-top: 14px; }
.publisher-stats .stat-num { font-size: 18px; font-weight: 900; color: var(--dark); }
.publisher-stats .stat-label { font-size: 11px; color: var(--gray-4); }
.contact-price {
  background: var(--gray-1);
  border-radius: 8px;
  padding: 14px;
  margin: 14px 0;
  text-align: center;
}
.contact-price .price { font-family: var(--font-serif); font-size: 28px; font-weight: 900; color: var(--primary); }
.contact-price .price-label { font-size: 12px; color: var(--gray-4); margin-top: 2px; }
.contact-info { font-size: 13px; color: var(--text-light); margin-top: 10px; }
.contact-info div { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.contact-info i { color: var(--primary); width: 16px; }

/* ================= 广告位 ================= */
.ad-banner {
  background: linear-gradient(135deg, #FFF8F5 0%, #FFF0E8 100%);
  border: 1px dashed rgba(232,76,30,.3);
  border-radius: var(--radius-lg);
  padding: 16px 20px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: var(--gray-5);
}
.ad-banner a { color: var(--primary); font-weight: 600; }

/* ================= VIP 套餐 ================= */
.vip-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.vip-card {
  background: #fff;
  border-radius: var(--radius-lg);
  border: 2px solid var(--gray-2);
  padding: 28px 24px;
  text-align: center;
  position: relative;
  transition: all var(--transition);
}
.vip-card:hover { border-color: var(--primary); box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.vip-card.featured { border-color: var(--primary); box-shadow: var(--shadow-lg); }
.vip-badge-top {
  position: absolute;
  top: -12px; left: 50%;
  transform: translateX(-50%);
  background: var(--primary);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 14px;
  border-radius: 20px;
  white-space: nowrap;
}
.vip-icon { font-size: 40px; margin-bottom: 12px; }
.vip-icon.level1 { color: var(--warning); }
.vip-icon.level2 { color: var(--primary); }
.vip-icon.level3 { color: var(--success); }
.vip-name { font-size: 18px; font-weight: 900; color: var(--dark); margin-bottom: 8px; font-family: var(--font-serif); }
.vip-price { margin: 16px 0; }
.vip-price .price { font-size: 40px; font-weight: 900; color: var(--primary); font-family: var(--font-serif); }
.vip-price .price sup { font-size: 20px; vertical-align: super; }
.vip-price .price sub { font-size: 14px; color: var(--gray-4); font-weight: 400; }
.vip-price .orig-price { font-size: 13px; color: var(--gray-4); text-decoration: line-through; margin-top: 4px; }
.vip-features { text-align: left; margin: 16px 0; }
.vip-features li { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-light); margin-bottom: 8px; }
.vip-features li i.fa-check { color: var(--success); }
.vip-features li i.fa-times { color: var(--gray-3); }

/* ================= 付费模块说明 ================= */
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pricing-item {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 24px;
  border: 1px solid var(--gray-2);
  transition: all var(--transition);
}
.pricing-item:hover { box-shadow: var(--shadow-md); border-color: var(--primary); }
.pricing-icon {
  width: 52px; height: 52px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 14px;
}
.pricing-item h3 { font-size: 16px; font-weight: 700; margin-bottom: 8px; color: var(--dark); }
.pricing-item p { font-size: 13px; color: var(--text-light); margin-bottom: 10px; }
.pricing-price { font-size: 22px; font-weight: 900; color: var(--primary); font-family: var(--font-serif); }
.pricing-price span { font-size: 13px; font-weight: 400; color: var(--gray-4); }

/* ================= 关于我们 ================= */
.about-layout { display: grid; grid-template-columns: 1fr 380px; gap: 32px; }
.about-content { font-size: 15px; line-height: 2; color: var(--text); }
.about-content h2 { font-size: 20px; font-weight: 700; color: var(--dark); margin: 20px 0 10px; font-family: var(--font-serif); }
.about-content p { margin-bottom: 14px; }
.biz-card {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 24px;
  border: 1px solid var(--gray-2);
  margin-bottom: 16px;
}
.biz-card h3 { font-size: 16px; font-weight: 700; margin-bottom: 14px; display: flex; align-items: center; gap: 8px; }
.biz-card h3 i { color: var(--primary); }
.biz-info-list { font-size: 14px; }
.biz-info-list dt { color: var(--gray-4); font-size: 12px; margin-bottom: 2px; margin-top: 10px; }
.biz-info-list dd { color: var(--text); font-weight: 600; padding-left: 4px; }
.license-img {
  width: 100%;
  border-radius: 8px;
  border: 1px solid var(--gray-2);
}

/* ================= 表单 ================= */
.form-wrap {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 36px 40px;
  max-width: 480px;
  margin: 0 auto;
  box-shadow: var(--shadow-md);
}
.form-title {
  font-size: 24px;
  font-weight: 900;
  font-family: var(--font-serif);
  color: var(--dark);
  margin-bottom: 6px;
  text-align: center;
}
.form-sub { font-size: 13px; color: var(--gray-4); text-align: center; margin-bottom: 28px; }
.form-group { margin-bottom: 18px; }
.form-group label { display: block; font-size: 13px; font-weight: 600; color: var(--gray-5); margin-bottom: 6px; }
.form-control {
  width: 100%;
  height: 44px;
  border: 1.5px solid var(--gray-3);
  border-radius: 8px;
  padding: 0 14px;
  font-size: 14px;
  color: var(--text);
  transition: border-color var(--transition), box-shadow var(--transition);
  background: #FAFAFA;
  font-family: inherit;
}
.form-control:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(232,76,30,.1);
  background: #fff;
}
textarea.form-control { height: auto; padding: 12px 14px; resize: vertical; }
.form-control-group { display: flex; gap: 10px; }
.form-control-group .form-control { flex: 1; }
.form-error { font-size: 12px; color: #DC3545; margin-top: 4px; }
.form-hint { font-size: 12px; color: var(--gray-4); margin-top: 4px; }
.form-links { display: flex; justify-content: space-between; font-size: 13px; margin-top: 12px; }
.form-links a { color: var(--primary); }
.form-divider { text-align: center; margin: 16px 0; color: var(--gray-4); font-size: 13px; position: relative; }
.form-divider::before {
  content: '';
  position: absolute;
  left: 0; top: 50%;
  width: 40%; height: 1px;
  background: var(--gray-2);
}
.form-divider::after {
  content: '';
  position: absolute;
  right: 0; top: 50%;
  width: 40%; height: 1px;
  background: var(--gray-2);
}
.alert {
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 14px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.alert-danger  { background: #F8D7DA; color: #721C24; border: 1px solid #F5C6CB; }
.alert-success { background: #D4EDDA; color: #155724; border: 1px solid #C3E6CB; }
.alert-warning { background: #FFF3CD; color: #856404; border: 1px solid #FFEEBA; }
.alert-info    { background: #D1ECF1; color: #0C5460; border: 1px solid #BEE5EB; }

/* ================= 后台相关（通用） ================= */
.badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 20px;
}
.badge-primary { background: rgba(232,76,30,.15); color: var(--primary); }
.badge-success { background: rgba(40,167,69,.15); color: var(--success); }
.badge-warning { background: rgba(255,168,0,.15); color: var(--warning); }
.badge-gray    { background: var(--gray-2); color: var(--gray-5); }
.badge-danger  { background: rgba(220,53,69,.15); color: #DC3545; }
.badge-info    { background: rgba(23,162,184,.15); color: var(--info); }

/* ================= 分页 ================= */
.pagination { display: flex; gap: 6px; justify-content: center; margin-top: 32px; }
.pagination a, .pagination span {
  width: 36px; height: 36px;
  border-radius: 8px;
  border: 1.5px solid var(--gray-2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  transition: all var(--transition);
}
.pagination a:hover { border-color: var(--primary); color: var(--primary); }
.pagination a.active { background: var(--primary); border-color: var(--primary); color: #fff; }
.pagination span { color: var(--gray-3); cursor: default; }

/* ================= FOOTER ================= */
.main-footer { background: var(--dark); color: rgba(255,255,255,.7); margin-top: auto; }
.footer-top { padding: 48px 0 36px; border-bottom: 1px solid rgba(255,255,255,.08); }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1.5fr; gap: 32px; }
.footer-about p { font-size: 13px; line-height: 1.8; color: rgba(255,255,255,.5); margin-top: 12px; }
.footer-logo { display: flex; align-items: center; gap: 10px; }
.footer-logo-text {
  width: 40px; height: 40px;
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-serif);
  font-size: 18px;
  font-weight: 900;
  color: #fff;
}
.footer-logo-name { font-size: 18px; font-weight: 900; font-family: var(--font-serif); color: #fff; }
.footer-social { display: flex; gap: 10px; margin-top: 16px; }
.footer-social a {
  width: 34px; height: 34px;
  border-radius: 8px;
  background: rgba(255,255,255,.08);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px;
  color: rgba(255,255,255,.6);
  transition: all var(--transition);
}
.footer-social a:hover { background: var(--primary); color: #fff; }
.footer-col h4 {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.footer-col ul li { margin-bottom: 8px; }
.footer-col ul li a { font-size: 13px; color: rgba(255,255,255,.5); transition: color var(--transition); }
.footer-col ul li a:hover { color: #fff; }
.footer-contact .contact-item {
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 13px; color: rgba(255,255,255,.5);
  margin-bottom: 10px;
}
.footer-contact .contact-item a { color: rgba(255,255,255,.5); }
.footer-contact .contact-item a:hover { color: #fff; }
.footer-contact .contact-item i { color: var(--primary-light); margin-top: 2px; width: 14px; }
.qrcode-wrap { margin-top: 16px; }
.qrcode-item { text-align: center; }
.qrcode-box {
  width: 80px; height: 80px;
  background: rgba(255,255,255,.1);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  color: rgba(255,255,255,.3);
  margin: 0 auto 6px;
}
.qrcode-img {
  width: 90px; height: 90px;
  border-radius: 8px;
  object-fit: cover;
  display: block;
  margin: 0 auto 6px;
  border: 2px solid rgba(255,255,255,.15);
}
.qrcode-item span { font-size: 11px; color: rgba(255,255,255,.5); }

/* 悬浮客服微信二维码展开区域 */
.fs-wechat-btn { cursor: pointer; }
.fs-wechat-qr {
  padding: 10px;
  background: #f9f9f9;
  border-radius: 8px;
  margin: 4px 0;
  border: 1px solid #e8e8e8;
}

.footer-bottom { padding: 16px 0; }
.footer-bottom-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.footer-copyright { font-size: 12px; color: rgba(255,255,255,.4); }
.footer-icp { font-size: 12px; color: rgba(255,255,255,.4); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.footer-icp a { color: rgba(255,255,255,.4); transition: color var(--transition); }
.footer-icp a:hover { color: #fff; }

/* ================= 回到顶部 ================= */
.back-top {
  position: fixed;
  bottom: 100px; right: 20px;
  width: 42px; height: 42px;
  background: var(--primary);
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px;
  box-shadow: 0 4px 14px rgba(232,76,30,.4);
  opacity: 0;
  transform: translateY(10px);
  transition: all .3s;
  z-index: 999;
}
.back-top.visible { opacity: 1; transform: translateY(0); }
.back-top:hover { background: var(--primary-dark); }

/* 悬浮发布按钮 */
.float-publish-btn {
  position: fixed;
  bottom: 200px; right: 16px;
  width: 48px; height: 48px;
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  border-radius: 50%;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  color: #fff;
  box-shadow: 0 4px 16px rgba(232,76,30,.45);
  z-index: 997;
  transition: all .25s;
  text-decoration: none;
  gap: 1px;
}
.float-publish-btn i { font-size: 18px; line-height: 1; }
.float-publish-btn span { font-size: 9px; font-weight: 700; letter-spacing: .5px; line-height: 1; }
.float-publish-btn:hover {
  background: linear-gradient(135deg, var(--primary-dark), var(--primary));
  box-shadow: 0 6px 22px rgba(232,76,30,.55);
  transform: translateY(-2px) scale(1.07);
  color: #fff;
}
.float-publish-btn:active { transform: scale(.95); }

/* 悬浮客服 */
.float-service {
  position: fixed;
  bottom: 150px; right: 16px;
  z-index: 998;
}
.fs-item {
  width: 42px; height: 42px;
  background: #fff;
  border: 1.5px solid var(--primary);
  border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  cursor: pointer;
  box-shadow: var(--shadow);
  transition: all var(--transition);
}
.fs-item:hover, .fs-toggle:hover { background: var(--primary); color: #fff; border-color: var(--primary); }
.fs-toggle i { font-size: 16px; color: var(--primary); }
.fs-toggle:hover i { color: #fff; }
.fs-toggle span { font-size: 9px; color: var(--primary); margin-top: 1px; }
.fs-toggle:hover span { color: #fff; }
.fs-panel {
  position: absolute;
  bottom: 50px; right: 0;
  width: 160px;
  background: #fff;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  padding: 12px;
  border: 1px solid var(--gray-2);
}
.fs-panel-title { font-size: 13px; font-weight: 700; color: var(--dark); margin-bottom: 10px; text-align: center; border-bottom: 1px solid var(--gray-2); padding-bottom: 8px; }
.fs-btn {
  display: flex; align-items: center; gap: 6px;
  width: 100%; padding: 8px 12px; border-radius: 6px;
  font-size: 13px; color: var(--text); margin-bottom: 4px;
  transition: all var(--transition);
}
.fs-btn:hover { background: var(--gray-1); color: var(--primary); }
.fs-btn i { color: var(--primary); }
.fs-hours { font-size: 11px; color: var(--gray-4); text-align: center; margin-top: 8px; border-top: 1px solid var(--gray-2); padding-top: 8px; }

/* ================= 移动端导航 ================= */
.mobile-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 1000;
}
.mobile-menu {
  position: fixed;
  top: 0; left: -300px;
  width: 280px; height: 100%;
  background: #fff;
  z-index: 1001;
  transition: left .3s;
  overflow-y: auto;
}
.mobile-menu.open { left: 0; }
.mobile-menu-header {
  background: var(--dark);
  color: #fff;
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 700;
}
.mobile-menu-header button { color: rgba(255,255,255,.6); font-size: 18px; }
.mobile-menu-body { padding: 16px; }
.mobile-user-info { display: flex; gap: 12px; align-items: center; padding: 12px 0 16px; border-bottom: 1px solid var(--gray-2); margin-bottom: 12px; }
.mobile-user-info img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.mobile-user-info .name { font-weight: 700; font-size: 15px; }
.mobile-user-info .sub { font-size: 12px; color: var(--gray-4); }
.mobile-auth-btns { display: flex; gap: 10px; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--gray-2); }
.mobile-auth-btns .btn-login { flex: 1; text-align: center; padding: 10px; border: 1.5px solid var(--primary); color: var(--primary); border-radius: 8px; font-weight: 600; }
.mobile-auth-btns .btn-reg   { flex: 1; text-align: center; padding: 10px; background: var(--primary); color: #fff; border-radius: 8px; font-weight: 600; }
.mobile-nav li a { display: flex; align-items: center; gap: 10px; padding: 12px 8px; font-size: 14px; color: var(--text); border-bottom: 1px solid var(--gray-1); transition: color var(--transition); }
.mobile-nav li a:hover { color: var(--primary); }
.mobile-nav li a i { width: 18px; text-align: center; color: var(--primary); }
.mobile-publish { margin-top: 16px; }
.pub-btn-full { display: block; width: 100%; text-align: center; padding: 14px; background: var(--primary); color: #fff; border-radius: 8px; font-weight: 700; font-size: 15px; }

/* ================= 用户中心 ================= */
.user-layout { display: grid; grid-template-columns: 220px 1fr; gap: 24px; }
.user-sidebar { position: sticky; top: 80px; }
.user-info-card {
  background: linear-gradient(135deg, var(--dark), #16213E);
  border-radius: var(--radius-lg);
  padding: 24px;
  text-align: center;
  color: #fff;
  margin-bottom: 12px;
}
.user-avatar { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; border: 3px solid rgba(255,255,255,.2); margin: 0 auto 12px; }
.user-name { font-size: 16px; font-weight: 700; margin-bottom: 4px; }
.user-balance { font-size: 13px; color: rgba(255,255,255,.6); }
.user-balance span { color: var(--primary-light); font-size: 18px; font-weight: 900; }
.user-nav { background: #fff; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--gray-2); }
.user-nav a {
  display: flex; align-items: center; gap: 10px;
  padding: 13px 18px;
  font-size: 14px; font-weight: 500; color: var(--text);
  border-bottom: 1px solid var(--gray-1);
  transition: all var(--transition);
}
.user-nav a:last-child { border-bottom: none; }
.user-nav a:hover, .user-nav a.active { background: rgba(232,76,30,.06); color: var(--primary); border-left: 3px solid var(--primary); padding-left: 15px; }
.user-nav a i { width: 18px; text-align: center; color: var(--primary); }
.user-main-card { background: #fff; border-radius: var(--radius-lg); padding: 28px; border: 1px solid var(--gray-2); }
.card-title { font-size: 18px; font-weight: 700; color: var(--dark); margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--gray-2); display: flex; align-items: center; gap: 8px; }
.card-title i { color: var(--primary); }

/* ================= 面包屑 ================= */
.breadcrumb {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; color: var(--gray-4);
  padding: 14px 0;
}
.breadcrumb a { color: var(--gray-4); }
.breadcrumb a:hover { color: var(--primary); }
.breadcrumb .sep { color: var(--gray-3); }
.breadcrumb .current { color: var(--text); font-weight: 500; }

/* ================= 空状态 ================= */
.empty-state {
  text-align: center;
  padding: 60px 20px;
  color: var(--gray-4);
}
.empty-state i { font-size: 60px; margin-bottom: 16px; color: var(--gray-3); }
.empty-state p { font-size: 15px; margin-bottom: 20px; }

/* ================= 协议内容 ================= */
.legal-content {
  max-width: 860px;
  margin: 0 auto;
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 40px 48px;
  line-height: 2;
  font-size: 14px;
  color: var(--text);
  box-shadow: var(--shadow);
}
.legal-content h1 { font-size: 26px; font-weight: 900; font-family: var(--font-serif); text-align: center; margin-bottom: 8px; color: var(--dark); }
.legal-content .legal-meta { text-align: center; font-size: 13px; color: var(--gray-4); margin-bottom: 32px; padding-bottom: 24px; border-bottom: 2px solid var(--gray-2); }
.legal-content h2 { font-size: 17px; font-weight: 700; color: var(--dark); margin: 28px 0 10px; }
.legal-content h3 { font-size: 15px; font-weight: 700; color: var(--dark); margin: 20px 0 8px; }
.legal-content p  { margin-bottom: 12px; }
.legal-content ul { margin: 8px 0 12px 20px; list-style: disc; }
.legal-content ul li { margin-bottom: 6px; }
.legal-content table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.legal-content table th,
.legal-content table td { border: 1px solid var(--gray-2); padding: 10px 14px; font-size: 13px; }
.legal-content table th { background: var(--gray-1); font-weight: 700; }
.legal-nav { display: flex; gap: 12px; justify-content: center; margin-bottom: 32px; flex-wrap: wrap; }
.legal-nav a { padding: 8px 18px; border-radius: 20px; font-size: 13px; font-weight: 600; border: 1.5px solid var(--gray-2); color: var(--text); transition: all var(--transition); }
.legal-nav a:hover, .legal-nav a.active { background: var(--primary); border-color: var(--primary); color: #fff; }

/* ================= 页头横幅 ================= */
.page-banner {
  background: linear-gradient(135deg, var(--dark), #16213E);
  padding: 36px 0;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.page-banner::before {
  content: '';
  position: absolute;
  right: -60px; top: -60px;
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(232,76,30,.2) 0%, transparent 70%);
  pointer-events: none;
}
.page-banner h1 { font-size: 28px; font-weight: 900; font-family: var(--font-serif); margin-bottom: 6px; }
.page-banner p { font-size: 14px; color: rgba(255,255,255,.65); }
.page-banner .breadcrumb { padding: 0; margin-top: 12px; color: rgba(255,255,255,.5); }
.page-banner .breadcrumb a { color: rgba(255,255,255,.5); }
.page-banner .breadcrumb .current { color: rgba(255,255,255,.85); }

/* ---- 手机导航默认隐藏，仅768px以下显示 ---- */
.mobile-footer-nav { display: none; }

/* ================================================================
   响应式系统 — 全面重写
   断点：1100 → 900 → 680 → 480
   ================================================================ */

/* ---------- 1100px ---------- */
@media (max-width: 1100px) {
  .footer-grid { grid-template-columns: 1fr 1fr 1fr; }
  .cat-grid { grid-template-columns: repeat(4, 1fr); }
  .vip-grid { grid-template-columns: 1fr 1fr; }
}

/* ---------- 900px ---------- */
@media (max-width: 900px) {
  .header-inner { height: 60px; }
  .header-search { display: none; }
  .mobile-header-btns { display: flex; }
  .mobile-menu-btn { display: flex; }
  .header-right .vip-entry { display: none; }
  .top-bar-left { display: none; }
  .site-name { font-size: 18px; }
  .detail-layout { grid-template-columns: 1fr; }
  .about-layout { grid-template-columns: 1fr; }
  .pricing-grid { grid-template-columns: 1fr 1fr; }

  /* 用户中心：侧边栏变顶部横向导航 */
  .user-layout { grid-template-columns: 1fr; gap: 16px; }
  .user-sidebar { position: static; }
  .user-nav {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    border-radius: var(--radius);
    gap: 0;
  }
  .user-nav::-webkit-scrollbar { display: none; }
  .user-nav a {
    flex: 0 0 auto;
    padding: 10px 14px;
    border-bottom: 2px solid transparent;
    border-left: none !important;
    font-size: 13px;
    white-space: nowrap;
  }
  .user-nav a:hover, .user-nav a.active {
    border-bottom-color: var(--primary);
    border-left: none;
    padding-left: 14px;
  }
}

/* ---------- 680px ---------- */
@media (max-width: 680px) {
  .hero-section { padding: 32px 0 28px; }
  .hero-title { font-size: 24px; letter-spacing: -.5px; }
  .hero-subtitle { font-size: 13px; margin-bottom: 20px; }
  .hero-search { height: 50px; margin-bottom: 20px; padding: 4px 4px 4px 0; }
  .hero-search select { width: 90px; font-size: 13px; }
  .hero-search input { font-size: 14px; }
  .hero-search button { height: 42px; padding: 0 16px; font-size: 14px; border-radius: 8px; }
  .hero-stats { gap: 16px; flex-wrap: wrap; justify-content: center; }
  .hero-stats strong { font-size: 16px; }
  .hero-badge { font-size: 11px; padding: 4px 12px; }

  /* 首页主体两栏 → 单栏 */
  .home-two-col { grid-template-columns: 1fr !important; }
  .home-two-col > aside { display: none; } /* 侧边栏手机端隐藏，内容集成到主区 */

  /* 首页精选卡片：3列→2列 */
  .featured-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* 首页有偿服务：6列→3列 */
  .paid-items-grid { grid-template-columns: repeat(3, 1fr) !important; }

  /* 列表页：左侧分类栏手机端折叠 */
  .list-two-col { grid-template-columns: 1fr !important; }
  .list-sidebar { display: none; }

  /* 分类格子 */
  .cat-grid { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .cat-grid-item { padding: 12px 6px; }
  .cat-grid-icon { width: 40px; height: 40px; font-size: 18px; border-radius: 10px; }
  .cat-grid-name { font-size: 12px; }
  .cat-grid-count { font-size: 10px; }

  /* 信息卡片：横向→竖向 */
  .post-card { flex-direction: column; gap: 12px; padding: 14px; }
  .post-card-img { width: 100%; height: 180px; }
  .post-card-right {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--gray-1);
    padding-top: 10px;
  }
  .post-price { font-size: 18px; }
  .post-card-btns { flex-direction: row; gap: 8px; }

  /* 表单 */
  .form-wrap { padding: 24px 16px; margin: 0 8px; }

  /* 详情页 */
  .detail-card { padding: 18px; }
  .detail-title { font-size: 20px; }
  .detail-images { grid-template-columns: repeat(3, 1fr); }

  /* VIP 套餐 */
  .vip-grid { grid-template-columns: 1fr; }
  .pricing-grid { grid-template-columns: 1fr; }

  /* 法律页 */
  .legal-content { padding: 20px 16px; }

  /* 页头 */
  .page-banner { padding: 24px 0; }
  .page-banner h1 { font-size: 20px; }
  .page-banner p { font-size: 12px; }

  /* 分页 */
  .pagination a, .pagination span { width: 32px; height: 32px; font-size: 13px; }

  /* 页脚 */
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-about { grid-column: 1 / -1; }
}

/* ---------- 480px：全面手机优化 ---------- */
@media (max-width: 480px) {
  :root { --container: 100%; }
  .container { padding: 0 12px; }

  /* 顶部栏 */
  .top-bar { display: none; }

  /* Header */
  .header-inner { height: 54px; gap: 10px; }
  .logo-img { height: 32px; }
  .site-name { font-size: 15px; }
  .cat-nav { display: none; }  /* 分类导航手机端隐藏，用底部Tab代替 */

  /* Hero */
  .hero-section { padding: 24px 0 20px; }
  .hero-title { font-size: 20px; margin-bottom: 10px; }
  .hero-subtitle { font-size: 12px; margin-bottom: 16px; }
  .hero-badge { font-size: 10px; padding: 3px 10px; margin-bottom: 12px; }
  .hero-search {
    height: 46px;
    border-radius: 10px;
    margin-bottom: 16px;
    padding: 4px 4px 4px 0;
  }
  .hero-search select { display: none; }
  .hero-search button { height: 38px; padding: 0 14px; font-size: 13px; border-radius: 7px; }
  .hero-stats { gap: 10px; flex-wrap: wrap; font-size: 11px; }
  .hero-stats strong { font-size: 14px; }

  /* 服务亮点横条 */
  .service-bar { overflow-x: auto; }
  .service-list { flex-wrap: nowrap; gap: 4px; padding: 0 4px; justify-content: flex-start; }
  .service-item { flex-direction: column; gap: 4px; padding: 8px 10px; font-size: 11px; flex-shrink: 0; }
  .service-item .si-icon { width: 28px; height: 28px; font-size: 13px; }

  /* 首页主体布局 */
  .home-two-col { grid-template-columns: 1fr !important; gap: 0 !important; }
  .home-two-col > aside { display: none !important; }

  /* 首页：把主要右侧卡片内联到主区（显示会员推广） */
  .home-vip-inline {
    background: linear-gradient(135deg,#FFF8F5,#FFF0E8);
    border: 1.5px solid rgba(232,76,30,.2);
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
  }

  /* 分类格子：手机端4列 */
  .cat-grid { grid-template-columns: repeat(4, 1fr); gap: 6px; }
  .cat-grid-item { padding: 10px 4px; gap: 5px; border-radius: 8px; }
  .cat-grid-icon { width: 36px; height: 36px; font-size: 16px; border-radius: 8px; }
  .cat-grid-name { font-size: 11px; }
  .cat-grid-count { font-size: 10px; }
  .section-title { font-size: 16px; }
  .section-title::before { left: -10px; width: 3px; height: 16px; }

  /* 精选卡片：2列 */
  .featured-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .featured-grid > a { border-radius: 10px !important; }
  .featured-grid > a img { height: 120px !important; }
  .featured-grid > a div { padding: 10px !important; }
  .featured-grid > a div > div:first-child { font-size: 13px !important; }

  /* 有偿服务：3列 */
  .paid-items-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 8px !important; }
  .paid-items-grid > div { padding: 12px 8px !important; border-radius: 8px !important; }
  .paid-items-grid > div > div:first-child { width: 36px !important; height: 36px !important; font-size: 16px !important; margin-bottom: 8px !important; }
  .paid-items-grid > div > div:nth-child(2) { font-size: 12px !important; margin-bottom: 4px !important; }
  .paid-items-grid > div > div:last-child { font-size: 11px !important; }

  /* 有偿服务区的按钮 */
  .paid-section-btns { display: flex !important; flex-direction: column !important; gap: 10px !important; }
  .paid-section-btns .btn-lg { height: 42px !important; font-size: 14px !important; }

  /* 信息卡片 */
  .post-card { flex-direction: column; gap: 10px; padding: 12px; border-radius: 10px; }
  .post-card-img { width: 100%; height: 160px; }
  .post-card-noimg { width: 100%; height: 100px; display: flex; align-items: center; justify-content: center; font-size: 32px; }
  .post-card-title { font-size: 14px; }
  .post-card-desc { font-size: 12px; -webkit-line-clamp: 2; }
  .post-card-tags { gap: 4px; }
  .post-tag { font-size: 10px; padding: 1px 6px; }
  .post-card-meta { font-size: 11px; gap: 10px; }
  .post-card-right {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--gray-1);
    padding-top: 10px;
    margin-top: 0;
  }
  .post-price { font-size: 18px; }
  .post-price.free { font-size: 14px; }
  .post-card-btns { flex-direction: row; gap: 8px; }
  .btn-sm { padding: 6px 12px; font-size: 12px; }

  /* 列表页布局 */
  .list-two-col { grid-template-columns: 1fr !important; gap: 0 !important; }
  .list-sidebar { display: none !important; }
  /* 手机端列表页顶部显示分类滚动条 */
  .mobile-cat-scroll {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
    gap: 6px;
    padding: 12px 0 8px;
    margin-bottom: 12px;
  }
  .mobile-cat-scroll::-webkit-scrollbar { display: none; }
  .mobile-cat-scroll a {
    flex: 0 0 auto;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    background: #fff;
    border: 1px solid var(--gray-2);
    color: var(--gray-5);
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
  }
  .mobile-cat-scroll a.active { background: var(--primary); border-color: var(--primary); color: #fff; }

  /* 排序栏 */
  .sort-bar { flex-wrap: nowrap; overflow-x: auto; }

  /* 用户中心 */
  .user-layout { padding: 12px 0 48px; gap: 12px; }
  .user-info-card { padding: 16px; border-radius: 10px; }
  .user-avatar { width: 56px; height: 56px; }
  .user-name { font-size: 14px; }
  .user-balance { font-size: 12px; }
  .user-nav {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    border-radius: 10px;
    gap: 0;
  }
  .user-nav::-webkit-scrollbar { display: none; }
  .user-nav a {
    flex: 0 0 auto;
    flex-direction: column;
    gap: 3px;
    padding: 8px 12px;
    font-size: 11px;
    border-bottom: 2px solid transparent;
    border-left: none !important;
    white-space: nowrap;
    align-items: center;
    justify-content: center;
  }
  .user-nav a i { font-size: 16px; margin-bottom: 0; }
  .user-nav a:hover, .user-nav a.active {
    border-bottom-color: var(--primary);
    border-left: none;
    padding-left: 12px;
  }
  .user-main-card { padding: 16px; border-radius: 10px; }
  .card-title { font-size: 15px; margin-bottom: 14px; }

  /* 用户中心统计卡片：4列→2列 */
  .user-stat-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .user-stat-grid > a { padding: 12px 10px !important; border-radius: 10px !important; gap: 8px !important; flex-direction: column !important; align-items: flex-start !important; }
  .user-stat-grid > a > div:first-child { width: 36px !important; height: 36px !important; font-size: 16px !important; }
  .user-stat-grid > a > div:last-child > div:first-child { font-size: 20px !important; font-weight: 900 !important; }
  .user-stat-grid > a > div:last-child > div:last-child { font-size: 11px !important; }

  /* 用户中心表格：手机端改为卡片式 */
  .user-posts-table { display: none; } /* 隐藏PC表格 */
  .user-posts-mobile { display: block !important; } /* 显示手机卡片 */

  /* 表单 */
  .form-wrap { padding: 20px 14px; border-radius: 10px; }
  .form-title { font-size: 20px; }
  .form-control { height: 42px; font-size: 14px; }

  /* 消息/订单 inline layout */
  .user-messages-wrap .user-layout,
  .user-orders-wrap .user-layout {
    flex-direction: column;
    padding: 12px;
    margin: 12px auto;
  }

  /* 页头Banner */
  .page-banner { padding: 18px 0; }
  .page-banner h1 { font-size: 18px; }
  .page-banner p { font-size: 12px; }
  .breadcrumb { font-size: 12px; padding: 8px 0; }

  /* 分页 */
  .pagination { gap: 4px; }
  .pagination a, .pagination span { width: 30px; height: 30px; font-size: 12px; border-radius: 6px; }

  /* 页脚 */
  .footer-grid { display: block; }
  .footer-top { padding: 0 0 12px; }

  /* 品牌区 */
  .footer-about {
    padding: 20px 16px 16px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    display: flex !important;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .footer-about p { font-size: 12px; line-height: 1.7; max-width: 280px; margin-top: 8px; }
  .footer-social { justify-content: center; margin-top: 12px; }

  /* 折叠导航列 */
  .footer-col:not(.footer-about) {
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
  .footer-col:not(.footer-about) h4 {
    margin: 0;
    padding: 13px 16px;
    border-bottom: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }
  .footer-col:not(.footer-about) h4::after {
    content: '+';
    font-size: 18px;
    font-weight: 300;
    color: rgba(255,255,255,.3);
    transition: transform .25s;
    line-height: 1;
  }
  .footer-col:not(.footer-about).expanded h4::after { transform: rotate(45deg); }
  .footer-col:not(.footer-about) ul,
  .footer-col.footer-contact .contact-list {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
    padding: 0 16px;
  }
  .footer-col:not(.footer-about).expanded ul,
  .footer-col.footer-contact.expanded .contact-list {
    max-height: 400px;
    padding-bottom: 12px;
  }
  .footer-col ul li { margin-bottom: 8px; }
  .footer-col ul li a { font-size: 13px; color: rgba(255,255,255,.55); }

  /* 联系我们 */
  .footer-contact { border-bottom: 1px solid rgba(255,255,255,.06); }
  .footer-contact .contact-item { font-size: 12px; margin-bottom: 8px; }
  .qrcode-wrap { display: none; }

  /* 底部版权 */
  .footer-bottom { padding: 12px 16px; }
  .footer-bottom-inner { flex-direction: column; gap: 6px; text-align: center; align-items: center; }
  .footer-copyright, .footer-icp { font-size: 11px; }
  .footer-icp { flex-wrap: wrap; justify-content: center; gap: 4px; }

  /* 服务亮点隐藏（手机太窄） */
  .service-bar { display: none; }

  /* 通用：宽布局区域在手机端取消 padding */
  .page-section { padding: 20px 0; }
}

/* ---------- 768px：底部导航 + body padding ---------- */
@media (max-width: 768px) {
  /* 不给 body 加 padding，改为给 main-content 加，避免 footer 下方出现白块 */
  .main-content { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }
  .back-top { bottom: 70px; right: 14px; width: 38px; height: 38px; font-size: 14px; }
  .float-service { bottom: 120px; right: 12px; }
  .float-publish-btn { bottom: 170px; right: 12px; width: 44px; height: 44px; }
  .mobile-footer-nav {
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: #fff;
    box-shadow: 0 -1px 0 rgba(0,0,0,.08), 0 -4px 20px rgba(0,0,0,.1);
    display: flex !important;
    z-index: 999;
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
  .mobile-footer-nav a {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8px 4px 6px;
    color: var(--gray-5);
    font-size: 10px;
    gap: 3px;
    transition: color .2s;
    -webkit-tap-highlight-color: transparent;
  }
  .mobile-footer-nav a i { font-size: 19px; }
  .mobile-footer-nav a.active,
  .mobile-footer-nav a:hover { color: var(--primary); }
  .mobile-footer-nav a.pub-nav {
    color: #fff;
    background: linear-gradient(135deg, var(--primary), var(--primary-light));
    border-radius: 14px;
    margin: 5px 4px;
    padding: 4px 6px;
    flex: 0 0 54px;
    gap: 2px;
    box-shadow: 0 2px 8px rgba(232,76,30,.4);
  }
  .mobile-footer-nav a.pub-nav i { font-size: 20px; }
}

/* ================================================================
   AI 智能助手 — 底部导航按钮 + 全屏对话弹窗
   ================================================================ */

/* AI 导航按钮 */
.ai-nav-btn {
  display: none; /* 默认隐藏，768px 以下显示 */
  flex: 0 0 64px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4px 4px 6px;
  border: none;
  background: none;
  cursor: pointer;
  gap: 2px;
  -webkit-tap-highlight-color: transparent;
  position: relative;
}
.ai-nav-btn span {
  font-size: 10px;
  color: #6366f1;
  font-weight: 600;
}
.ai-nav-icon {
  width: 44px; height: 44px;
  border-radius: 14px;
  background: linear-gradient(135deg, #7c3aed, #6366f1);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 12px rgba(99,102,241,.45);
  margin: -6px 0 2px;
  animation: aiPulse 3s ease-in-out infinite;
  transition: transform .15s;
}
.ai-nav-btn:active .ai-nav-icon { transform: scale(.93); }
@keyframes aiPulse {
  0%,100% { box-shadow: 0 2px 12px rgba(99,102,241,.45); }
  50%      { box-shadow: 0 2px 20px rgba(99,102,241,.75); }
}
@media (max-width: 768px) {
  .ai-nav-btn { display: flex !important; }
}

/* ---- AI 全屏对话弹窗 ---- */
#aiChatOverlay {
  display: none;
  position: fixed; inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  align-items: flex-end;
}
#aiChatOverlay.open { display: flex; }
#aiChatPanel {
  width: 100%; max-width: 480px; margin: 0 auto;
  height: 82vh; max-height: 680px;
  background: #fff;
  border-radius: 20px 20px 0 0;
  display: flex; flex-direction: column;
  overflow: hidden;
  animation: slideUp .3s cubic-bezier(.22,.61,.36,1);
}
@keyframes slideUp {
  from { transform: translateY(100%); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}
.ai-panel-header {
  background: linear-gradient(120deg, #7c3aed 0%, #6366f1 100%);
  color: #fff;
  padding: 14px 16px 12px;
  display: flex; align-items: center; gap: 10px;
  flex-shrink: 0;
}
.ai-header-avatar {
  width: 36px; height: 36px; border-radius: 10px;
  background: rgba(255,255,255,.2);
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
}
.ai-header-info { flex: 1; }
.ai-header-name { font-size: 15px; font-weight: 700; }
.ai-header-status { font-size: 11px; opacity: .8; display: flex; align-items: center; gap: 4px; }
.ai-status-dot { width: 6px; height: 6px; border-radius: 50%; background: #4ade80; display: inline-block; }
.ai-panel-close {
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255,255,255,.15); border: none; color: #fff;
  font-size: 16px; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
/* 快捷建议 */
.ai-quick-pills {
  padding: 10px 12px 8px;
  display: flex; gap: 6px; overflow-x: auto; flex-shrink: 0;
  scrollbar-width: none;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
}
.ai-quick-pills::-webkit-scrollbar { display: none; }
.ai-quick-pill {
  white-space: nowrap; padding: 5px 10px; border-radius: 20px;
  font-size: 12px; cursor: pointer; flex-shrink: 0;
  background: #ede9fe; color: #5b21b6; border: none;
  transition: background .15s;
}
.ai-quick-pill:hover { background: #ddd6fe; }
/* 消息区 */
.ai-msg-area {
  flex: 1; overflow-y: auto; padding: 14px 12px;
  display: flex; flex-direction: column; gap: 12px;
}
.ai-msg-area::-webkit-scrollbar { width: 4px; }
.ai-msg-area::-webkit-scrollbar-thumb { background: #e0e0e0; border-radius: 2px; }
.ai-msg { display: flex; gap: 8px; max-width: 100%; }
.ai-msg.user { flex-direction: row-reverse; }
.ai-msg-avatar {
  width: 30px; height: 30px; border-radius: 50%;
  flex-shrink: 0; display: flex; align-items: center;
  justify-content: center; font-size: 14px;
  background: linear-gradient(135deg, #7c3aed, #6366f1);
  color: #fff;
}
.ai-msg.user .ai-msg-avatar { background: var(--primary, #E84C1E); }
.ai-msg-bubble {
  max-width: 82%; padding: 9px 12px; border-radius: 14px;
  font-size: 14px; line-height: 1.6; word-break: break-word;
}
.ai-msg.bot .ai-msg-bubble {
  background: #f4f4f8; color: #222;
  border-bottom-left-radius: 4px;
}
.ai-msg.user .ai-msg-bubble {
  background: linear-gradient(135deg, #7c3aed, #6366f1);
  color: #fff; border-bottom-right-radius: 4px;
}
.ai-msg-bubble p { margin: 0 0 6px; }
.ai-msg-bubble p:last-child { margin: 0; }
.ai-msg-bubble ul { margin: 4px 0; padding-left: 16px; }
.ai-msg-bubble li { margin-bottom: 2px; }
.ai-msg-bubble strong { font-weight: 600; }
/* 相关文章卡片 */
.ai-article-cards {
  display: flex; flex-direction: column; gap: 6px; margin-top: 8px;
}
.ai-article-card {
  background: #fff; border: 1px solid #e8e8e8; border-radius: 8px;
  padding: 8px 10px; display: flex; gap: 8px; align-items: center;
  text-decoration: none; color: inherit; transition: border-color .2s;
}
.ai-article-card:hover { border-color: #a78bfa; }
.ai-article-card-icon { font-size: 18px; flex-shrink: 0; }
.ai-article-card-info { flex: 1; min-width: 0; }
.ai-article-card-title { font-size: 13px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-article-card-meta { font-size: 11px; color: #999; margin-top: 2px; }
/* 打字动画 */
.ai-typing { display: flex; align-items: center; gap: 4px; padding: 10px 14px; }
.ai-typing-dot {
  width: 7px; height: 7px; border-radius: 50%; background: #aaa;
  animation: typingDot 1.4s infinite;
}
.ai-typing-dot:nth-child(2) { animation-delay: .2s; }
.ai-typing-dot:nth-child(3) { animation-delay: .4s; }
@keyframes typingDot {
  0%,80%,100% { opacity: .3; transform: scale(.8); }
  40%          { opacity: 1;  transform: scale(1.1); }
}
/* 输入区 */
.ai-input-area {
  padding: 10px 12px;
  border-top: 1px solid #f0f0f0;
  display: flex; gap: 8px; align-items: flex-end;
  background: #fff; flex-shrink: 0;
}
.ai-input-wrap { flex: 1; }
#aiInput {
  width: 100%; border: 1.5px solid #e0e0e0; border-radius: 20px;
  padding: 9px 14px; font-size: 14px; outline: none;
  resize: none; max-height: 100px; overflow-y: auto; line-height: 1.5;
  transition: border-color .2s; background: #fafafa;
  font-family: inherit;
}
#aiInput:focus { border-color: #7c3aed; background: #fff; }
.ai-send-btn {
  width: 38px; height: 38px; border-radius: 50%;
  background: linear-gradient(135deg, #7c3aed, #6366f1);
  border: none; cursor: pointer; display: flex; align-items: center;
  justify-content: center; flex-shrink: 0;
  transition: transform .15s, opacity .15s; color: #fff;
}
.ai-send-btn:active { transform: scale(.92); }
.ai-send-btn:disabled { opacity: .5; pointer-events: none; }
.ai-send-btn svg { width: 16px; height: 16px; }
/* 语音按钮 */
.ai-voice-btn {
  width: 38px; height: 38px; border-radius: 50%;
  background: #f4f4f8; border: 1.5px solid #e0e0e0;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; color: #666; transition: all .15s;
  -webkit-tap-highlight-color: transparent;
  user-select: none; -webkit-user-select: none;
}
.ai-voice-btn:hover { background: #ede9fe; border-color: #a78bfa; color: #7c3aed; }
.ai-voice-btn.recording {
  background: linear-gradient(135deg, #ef4444, #dc2626);
  border-color: #ef4444; color: #fff;
  animation: voicePulse .8s ease-in-out infinite;
}
.ai-voice-btn svg { width: 16px; height: 16px; }
@keyframes voicePulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(239,68,68,.4); }
  50%      { box-shadow: 0 0 0 8px rgba(239,68,68,0); }
}
/* 语音识别提示条 */
#aiVoiceTip {
  display: none; position: absolute; bottom: 80px; left: 50%; transform: translateX(-50%);
  background: rgba(0,0,0,.75); color: #fff; font-size: 13px;
  padding: 8px 16px; border-radius: 20px; white-space: nowrap; pointer-events: none;
  z-index: 10000;
}
#aiVoiceTip.show { display: block; }
/* 模型选择器 */
.ai-model-selector {
  padding: 4px 12px 6px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
  display: flex; align-items: center; gap: 6px; flex-shrink: 0;
}
.ai-model-selector label { font-size: 11px; color: #999; }
#aiModelSelect {
  font-size: 12px; border: 1px solid #e0e0e0; border-radius: 6px;
  padding: 2px 6px; background: #fff; color: #555; outline: none;
}
/* 桌面端也可以使用AI — 悬浮按钮 */
.ai-float-btn {
  position: fixed; bottom: 80px; right: 18px;
  width: 48px; height: 48px; border-radius: 50%;
  background: linear-gradient(135deg, #7c3aed, #6366f1);
  color: #fff; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(99,102,241,.4);
  z-index: 900; font-size: 20px;
  transition: transform .2s, box-shadow .2s;
  animation: aiPulse 3s ease-in-out infinite;
}
.ai-float-btn:hover { transform: scale(1.08); box-shadow: 0 6px 22px rgba(99,102,241,.5); }
@media (max-width: 768px) { .ai-float-btn { display: none; } }

/* ================================================================
   首页便民资讯网格
   ================================================================ */
.home-news-grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(2, 1fr);
  grid-template-rows: auto auto;
  gap: 12px;
}
.home-news-featured {
  grid-row: 1 / 3;
  grid-column: 1 / 2;
}
.home-news-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--gray-2);
  transition: box-shadow .2s, transform .2s;
  text-decoration: none;
  color: var(--text);
}
.home-news-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
  transform: translateY(-2px);
}
.hnc-cover {
  position: relative;
  background: #e8e8f4;
  overflow: hidden;
}
.home-news-featured .hnc-cover { aspect-ratio: 16/9; }
.home-news-card:not(.home-news-featured) .hnc-cover { aspect-ratio: 16/7; }
.hnc-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hnc-placeholder {
  width: 100%;
  height: 100%;
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
  background: linear-gradient(135deg, #e8e8f4, #d5d5f0);
}
.home-news-featured .hnc-placeholder { min-height: 200px; font-size: 56px; }
.hnc-hot {
  position: absolute;
  top: 8px; right: 8px;
  background: var(--primary);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
}
.hnc-body { padding: 10px 12px 12px; flex: 1; }
.home-news-featured .hnc-body { padding: 14px 16px 16px; }
.hnc-cat {
  font-size: 11px;
  color: var(--primary);
  font-weight: 600;
  margin-bottom: 4px;
}
.hnc-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--dark);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.home-news-featured .hnc-title { font-size: 16px; }
.hnc-meta {
  display: flex;
  gap: 10px;
  margin-top: 6px;
  font-size: 11px;
  color: var(--gray-4);
}
@media (max-width: 900px) {
  .home-news-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
  .home-news-featured {
    grid-row: 1 / 2;
    grid-column: 1 / 3;
  }
}
@media (max-width: 480px) {
  .home-news-grid {
    grid-template-columns: 1fr;
  }
  .home-news-featured {
    grid-column: 1;
  }
}

/* ================================================================
   便民资讯 + 右侧广告栏双栏布局
   ================================================================ */
.news-with-sidebar {
  display: grid;
  grid-template-columns: 1fr 220px;
  gap: 16px;
  align-items: start;
}
.news-main-col { min-width: 0; }
.news-sidebar-col { display: flex; flex-direction: column; gap: 12px; }

/* 广告位 */
.news-sidebar-ad {
  display: block; border-radius: 10px; overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,.08); transition: .15s;
}
.news-sidebar-ad:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.14); }
.news-sidebar-ad img { width: 100%; display: block; }
.news-sidebar-ad-placeholder {
  width: 100%; height: 150px; background: #f3f4f6;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 8px; border: 2px dashed #ddd; border-radius: 10px;
  color: #bbb; font-size: 12px;
}
.news-sidebar-ad-placeholder i { font-size: 28px; }

/* 热门资讯 */
.news-sidebar-hot {
  background: #fff; border-radius: 10px; padding: 14px;
  border: 1px solid var(--gray-2);
}
.nsh-title {
  font-size: 14px; font-weight: 700; color: var(--dark);
  margin-bottom: 10px; display: flex; align-items: center; gap: 6px;
}
.nsh-title i { color: #ff6b35; }
.nsh-item {
  display: flex; align-items: flex-start; gap: 8px;
  padding: 7px 0; border-bottom: 1px solid var(--gray-1);
  text-decoration: none; cursor: pointer;
}
.nsh-item:last-child { border-bottom: none; }
.nsh-rank {
  flex-shrink: 0; width: 18px; height: 18px; border-radius: 4px;
  background: var(--gray-2); color: #888;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700; margin-top: 1px;
}
.nsh-rank.top { background: var(--primary); color: #fff; }
.nsh-text {
  font-size: 12px; color: var(--text); line-height: 1.4;
  overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  transition: color .1s;
}
.nsh-item:hover .nsh-text { color: var(--primary); }

/* 订阅 */
.news-sidebar-subscribe {
  background: linear-gradient(135deg, #fff8f5, #fff3ee);
  border: 1px solid rgba(232,76,30,.15);
  border-radius: 10px; padding: 14px;
}
.nss-title {
  font-size: 13px; font-weight: 700; color: var(--dark);
  margin-bottom: 8px; display: flex; align-items: center; gap: 6px;
}
.nss-title i { color: var(--primary); }
.nss-form { display: flex; gap: 6px; }
.nss-form input {
  flex: 1; min-width: 0; padding: 6px 10px; border-radius: 6px;
  border: 1px solid var(--gray-2); font-size: 12px;
}
.nss-form button {
  padding: 6px 10px; background: var(--primary); color: #fff;
  border: none; border-radius: 6px; font-size: 12px; cursor: pointer; white-space: nowrap;
}

/* 移动端隐藏 news-sidebar-col */
@media (max-width: 900px) {
  .news-with-sidebar { grid-template-columns: 1fr; }
  .news-sidebar-col { display: none; }
}

/* ================================================================
   便民资讯 V2 全宽布局（精选大图+右侧列表+底部4卡）
   ================================================================ */
.home-news-v2 { display: flex; flex-direction: column; gap: 12px; }

/* 顶部：左大图 + 右列表 */
.hnv2-top {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 12px;
  align-items: start;
}

/* 精选大图 */
.hnv2-featured {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: box-shadow .2s, transform .2s;
  text-decoration: none;
  color: var(--text);
  height: 100%;
}
.hnv2-featured:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.hnv2-featured-img {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #e8e8f4;
  flex-shrink: 0;
}
.hnv2-featured-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hnv2-badge {
  position: absolute; top: 10px; right: 10px;
  background: var(--primary); color: #fff;
  font-size: 11px; font-weight: 700;
  padding: 2px 8px; border-radius: 4px;
}
.hnv2-badge.sm { font-size: 10px; padding: 2px 6px; top: 6px; right: 6px; }
.hnv2-featured-body { padding: 16px 18px 18px; flex: 1; }
.hnv2-cat {
  font-size: 11px; color: var(--primary); font-weight: 600;
  letter-spacing: .5px; margin-bottom: 6px;
}
.hnv2-title {
  font-size: 16px; font-weight: 700; color: var(--dark);
  line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  margin-bottom: 8px;
}
.hnv2-meta { display: flex; gap: 10px; font-size: 12px; color: var(--gray-4); }
.hnv2-meta i { margin-right: 3px; }

/* 右侧列表 */
.hnv2-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hnv2-list-item {
  display: flex; gap: 10px; align-items: center;
  background: #fff; border-radius: 10px; padding: 10px 12px;
  box-shadow: var(--shadow); transition: box-shadow .2s; text-decoration: none; color: var(--text);
}
.hnv2-list-item:hover { box-shadow: var(--shadow-md); }
.hnv2-list-thumb {
  width: 72px; height: 52px; flex-shrink: 0;
  border-radius: 7px; overflow: hidden; background: #e8e8f4;
}
.hnv2-list-thumb img { width: 100%; height: 100%; object-fit: cover; }
.hnv2-list-info { flex: 1; min-width: 0; }
.hnv2-list-cat { font-size: 10px; color: var(--primary); font-weight: 600; margin-bottom: 3px; }
.hnv2-list-title {
  font-size: 13px; font-weight: 600; color: var(--dark); line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  margin-bottom: 4px;
}
.hnv2-list-meta { display: flex; gap: 8px; font-size: 11px; color: var(--gray-4); align-items: center; }
.hnv2-hot-tag {
  background: var(--primary); color: #fff;
  font-size: 10px; font-weight: 700; padding: 1px 5px; border-radius: 3px;
}

/* 底部4小卡 */
.hnv2-bottom {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.hnv2-sm-card {
  display: flex; flex-direction: column;
  background: #fff; border-radius: 10px; overflow: hidden;
  box-shadow: var(--shadow); transition: box-shadow .2s, transform .2s;
  text-decoration: none; color: var(--text);
}
.hnv2-sm-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.hnv2-sm-img {
  position: relative; aspect-ratio: 16/9; overflow: hidden; background: #e8e8f4;
}
.hnv2-sm-img img { width: 100%; height: 100%; object-fit: cover; }
.hnv2-sm-body { padding: 10px 12px 12px; flex: 1; }
.hnv2-sm-cat { font-size: 10px; color: var(--primary); font-weight: 600; margin-bottom: 3px; }
.hnv2-sm-title {
  font-size: 13px; font-weight: 600; color: var(--dark); line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.hnv2-sm-meta { font-size: 11px; color: var(--gray-4); margin-top: 5px; }

/* 响应式 */
@media (max-width: 1024px) {
  .hnv2-top { grid-template-columns: 1fr 280px; }
  .hnv2-bottom { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .hnv2-top { grid-template-columns: 1fr; }
  .hnv2-list { display: none; }
  .hnv2-bottom { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .hnv2-title { font-size: 15px; }
}
@media (max-width: 480px) {
  .hnv2-bottom { grid-template-columns: 1fr; }
}

/* ================================================================
   底部导航栏彻底修复 — 5项均分布局
   ================================================================ */
@media (max-width: 768px) {
  .mobile-footer-nav {
    height: 54px;
    align-items: stretch;
    justify-content: space-around;
    display: flex !important;
    border-top: 1px solid rgba(0,0,0,.06);
  }
  .mobile-footer-nav > a,
  .mobile-footer-nav > button {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 6px 2px 4px;
    font-size: 10px;
    color: var(--gray-5);
    border: none;
    background: none;
    -webkit-tap-highlight-color: transparent;
    transition: color .15s;
    overflow: hidden;
  }
  .mobile-footer-nav > a i,
  .mobile-footer-nav > button i { font-size: 18px; line-height: 1; }
  .mobile-footer-nav > a span,
  .mobile-footer-nav > button span { font-size: 10px; line-height: 1; white-space: nowrap; }
  .mobile-footer-nav > a.active,
  .mobile-footer-nav > a:hover { color: var(--primary); }

  /* AI 中间按钮 */
  .ai-nav-btn {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 4px 2px;
    color: #6366f1;
    cursor: pointer;
    border: none;
    background: none;
    outline: none;
    -webkit-tap-highlight-color: transparent;
  }
  .ai-nav-btn span { font-size: 10px; line-height: 1; white-space: nowrap; }
  .ai-nav-icon { line-height: 0; }
  .ai-nav-icon svg { width: 24px; height: 24px; }
}

/* 会员特权表格移动端优化 */
@media (max-width: 768px) {
  .vip-compare-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .vip-compare-wrap table { min-width: 520px; font-size: 12px; }
  .vip-compare-wrap th, .vip-compare-wrap td { padding: 10px 10px !important; }
}

/* ================================================================
   移动端城市切换条（已移至 _header.php .mobile-city-bar）
   旧 .mobile-city-strip 已废弃，保留兼容类名空壳
   ================================================================ */
.mobile-city-strip { display: none; }







