/* 城市资讯（栏目32）专有样式 —— 与站内浅色皮肤一致 */
.city-index { margin: 44px 0 0; padding-top: 32px; border-top: 1px solid var(--line, #E2E6EB); }
.city-index__head { text-align: center; margin-bottom: 22px; }
.city-index__head h2 { margin: 0 0 8px; font-family: var(--display, serif); font-size: 24px; font-weight: 700; color: var(--ink, #1A2332); letter-spacing: .01em; }
.city-index__head p { margin: 0; font-size: 13px; color: var(--muted, #6B7785); }

.city-index__grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 8px;
}
.city-index__item {
    display: flex; align-items: center; justify-content: space-between; gap: 6px;
    padding: 8px 10px;
    border: 1px solid var(--line, #E2E6EB);
    border-radius: var(--radius-sm, 2px);
    background: var(--bg, #fff);
    font-size: 13px; line-height: 1.2;
    color: var(--ink-2, #3D4A5C);
    text-decoration: none;
    transition: border-color .18s ease, color .18s ease, background .18s ease, box-shadow .18s ease;
}
.city-index__item:hover,
.city-index__item:focus-visible {
    border-color: var(--blue, #1A3A6B);
    color: var(--blue, #1A3A6B);
    background: var(--blue-soft, #EEF2F7);
    box-shadow: var(--shadow-sm, 0 6px 18px rgba(11,31,58,.05));
    outline: none;
}
.city-index__item span {
    flex: none;
    font-family: var(--mono, monospace);
    font-size: 11px;
    color: var(--muted, #6B7785);
    font-variant-numeric: tabular-nums;
}

.news-feed__empty {
    margin: 0;
    padding: 36px 0;
    text-align: center;
    font-size: 14px;
    color: var(--muted, #6B7785);
}
/* 服务端已按城市精确过滤：一旦有结果，兜底空状态自动隐藏 */
.news-feed__item ~ .news-feed__empty { display: none; }

@media (max-width: 1180px) { .city-index__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 900px)  { .city-index__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 620px)  {
    .city-index { margin-top: 32px; padding-top: 24px; }
    .city-index__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
    .city-index__item { padding: 7px 8px; font-size: 12px; }
    .city-index__head h2 { font-size: 19px; }
}
@media (max-width: 380px) { .city-index__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
