/* ==========================================================================
   Component Styles — Header, Cards, Sidebar, Pagination, etc.
   ========================================================================== */

/* Header */
.site-header {
    background: #fff;
    border-bottom: 1px solid #e0e0e0;
    position: sticky;
    top: 0;
    z-index: 100;
}

.header-inner {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 3vw, 3rem);
    padding: 0.75rem 1rem;
    max-width: 1200px;
    margin: 0 auto;
}

/* Header info row (local_classified: region + weather + date) */
.header-info {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.8125rem;
    color: #5f6368;
    flex: 1;
}

.header-region {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-weight: 500;
    position: relative;
}

.header-region__btn {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    background: none;
    border: none;
    padding: 0.25rem 0.5rem;
    font: inherit;
    color: inherit;
    cursor: pointer;
    border-radius: 4px;
}

.header-region__btn:hover {
    background: rgba(0, 0, 0, 0.05);
}

.header-region__arrow {
    transition: transform 0.2s;
}

.header-region__dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    margin: 0;
    padding: 0.875rem;
    width: min(720px, calc(100vw - 2rem));
    max-height: min(72vh, 640px);
    overflow: auto;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    list-style: none;
    z-index: 200;
}

.region-selector__actions {
    display: flex;
    gap: 0.5rem;
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid #edf0f2;
}

.region-selector__all,
.region-selector__fallback a,
.region-selector__province summary a,
.region-selector__city h3 a,
.region-selector__counties a {
    color: #3c4043;
    text-decoration: none;
}

.region-selector__all {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.75rem;
    color: #fff;
    background: var(--color-primary, #0d9488);
    border-radius: 999px;
    font-weight: 600;
}

.region-selector__tree {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.625rem;
}

.region-selector__province {
    border: 1px solid #edf0f2;
    border-radius: 10px;
    background: #fafafa;
}

.region-selector__province[open] {
    grid-column: 1 / -1;
    background: #fff;
}

.region-selector__province summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.625rem 0.75rem;
    cursor: pointer;
    font-weight: 600;
    color: #202124;
    list-style: none;
}

.region-selector__province summary::-webkit-details-marker {
    display: none;
}

.region-selector__province summary::after {
    content: "展开";
    color: #80868b;
    font-size: 0.75rem;
    font-weight: 400;
}

.region-selector__province[open] summary::after {
    content: "收起";
}

.region-selector__province summary a {
    padding: 0.25rem 0.5rem;
    color: var(--color-primary, #0d9488);
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 500;
}

.region-selector__province summary a:hover {
    background: rgba(13, 148, 136, 0.08);
}

.region-selector__cities {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    padding: 0 0.75rem 0.75rem;
}

.region-selector__city {
    min-width: 0;
}

.region-selector__city h3 {
    margin: 0 0 0.375rem;
    font-size: 0.875rem;
}

.region-selector__city h3 a {
    color: var(--color-primary, #0d9488);
}

.region-selector__city--active h3 a,
.region-selector__city h3 a[aria-current="page"] {
    display: inline-flex;
    padding: 0.125rem 0.375rem;
    background: rgba(249, 129, 48, 0.12);
    border-radius: 999px;
    color: var(--color-primary, #f98130);
}

.region-selector__counties {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.region-selector__counties a {
    display: inline-flex;
    padding: 0.25rem 0.5rem;
    color: #5f6368;
    background: #f7f8f9;
    border-radius: 999px;
    font-size: 0.75rem;
}

.region-selector__fallback {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.25rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.region-selector__fallback a {
    display: block;
    padding: 0.5rem 0.75rem;
    border-radius: 4px;
    text-align: center;
}

.region-selector__fallback a:hover,
.region-selector__city h3 a:hover,
.region-selector__counties a:hover {
    background: #f1f3f4;
    color: var(--color-primary, #0d9488);
}

.header-region:focus-within .header-region__dropdown {
    display: block;
}

.header-region:focus-within .header-region__arrow {
    transform: rotate(180deg);
}

/* 全屏地区面板的吸顶标题栏：仅 ≤1024 显示（见底部媒体查询），桌面隐藏 */
.region-sheet__head {
    display: none;
}

.header-weather {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.header-date {
    color: #80868b;
}

/* Local classified header: narrower search (header has more elements) */
.site-header--local_classified .header-inner {
    gap: 5.5rem;
}

.site-header--local_classified .search-form input {
    width: 354px;
}

/* Listing post: 小搜索框、小圆角、登录注册推到最右 */
.site-header--listing_post .header-inner {
    gap: 1.5rem;
}

.site-header--listing_post .logo-text {
    color: #F73B42;
}

.site-header--listing_post .search-form {
    border-radius: 6px;
}

.site-header--listing_post .search-form input {
    width: 280px;
    padding: 0.25rem 0.625rem;
    font-size: 0.8125rem;
}

.site-header--listing_post .search-form button {
    padding: 0.25rem 0.5rem;
}

/* 桌面端：分类导航横向展示；汉堡按钮隐藏 */
.site-header--listing_post .nav-links {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
    overflow-x: auto;
    scrollbar-width: none;
}

.site-header--listing_post .nav-links::-webkit-scrollbar {
    display: none;
}

/* 导航项：胶囊样式，加大点击热区与内边距，hover/active 加主题色底 */
.site-header--listing_post .nav-links a {
    display: inline-flex;
    align-items: center;
    padding: 0.4375rem 0.875rem;
    font-size: 0.9375rem;
    color: #3c4043;
    white-space: nowrap;
    text-decoration: none;
    border-radius: 999px;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.site-header--listing_post .nav-links a:hover {
    color: #F73B42;
    background: rgba(247, 59, 66, 0.08);
}

.site-header--listing_post .nav-links a[aria-current="page"] {
    color: #fff;
    background: #F73B42;
}

.site-header--listing_post .header-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* 汉堡按钮：移动端显示，桌面端隐藏 */
.site-header--listing_post .nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 32px;
    height: 32px;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    flex-shrink: 0;
}

.site-header--listing_post .nav-toggle__bar {
    display: block;
    width: 22px;
    height: 2px;
    background: #5f6368;
    border-radius: 1px;
    transition: transform 0.25s ease, opacity 0.25s ease;
    margin: 0 auto;
}

.site-logo {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    text-decoration: none;
    flex-shrink: 0;
}

.site-logo__image {
    width: 36px;
    height: 36px;
    object-fit: contain;
    flex: 0 0 36px;
}

.logo-text {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--color-primary, #1a73e8);
    white-space: nowrap;
}

@media (max-width: 640px) {
    .site-logo__image {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
}

.nav-links {
    display: flex;
    gap: 1rem;
    flex: 1 1 auto;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden; /* 阻止 overflow-x:auto 把 overflow-y 级联成 auto，消除微小竖向滚动条（⇕ 图标） */
}

.nav-links a {
    color: #3c4043;
    font-size: 0.9375rem;
    white-space: nowrap;
    padding: 0.25rem 0;
}

.nav-links a[aria-current="page"] {
    color: #3981F4;
    font-weight: 600;
}

.site-header--news .nav-links a:not([aria-current="page"]) {
    color: #202124;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
}

.search-form {
    display: flex;
    border: 1px solid #dadce0;
    border-radius: 12px;
    overflow: hidden;
    width: 320px;
    flex-shrink: 1;
}

.search-form input {
    border: none;
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
    outline: none;
    width: 100%;
    min-width: 0;
    background: transparent;
}

/* 手机端搜索按钮：桌面隐藏，仅手机档显示（见底部媒体查询） */
.search-form__toggle,
.search-form__cancel {
    display: none;
}

/* news 桌面搜索框压扁：图标 22 -> 18px，整体约 32px 高 */
.site-header--news .search-form button svg {
    width: 18px;
    height: 18px;
}

.search-form input::placeholder {
    color: #C0C4CE;
}

.search-form button {
    border: none;
    background: none;
    color: #7183A0;
    padding: 0.375rem 0.75rem;
    cursor: pointer;
    font-size: 0.875rem;
}

.login-link {
    font-size: 0.875rem;
    color: #5f6368;
}

/* newsTwo header: 主题色背景，Logo + 导航(居中) + 搜索 + 登录，全部在一行，铺满全屏 */
.site-header--newsTwo {
    background: var(--color-primary, #0D55E7);
    border-bottom: none;
}

.site-header--newsTwo .header-inner {
    flex-direction: row;
    align-items: center;
    gap: clamp(1rem, 2.5vw, 2.5rem);
    padding: 0.75rem clamp(1rem, 4vw, 4rem);
    max-width: none; /* 覆盖 .container 的 1200px，铺满全屏 */
}

.site-header--newsTwo .header-row {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 2.5vw, 2.5rem);
    width: 100%;
}

/* newsTwo 第一排导航：白色文字，绝对居中 */
.site-header--newsTwo .nav-links {
    flex: 1 1 auto;
    justify-content: center;
    gap: 1.5rem;
    overflow-x: auto;
    scrollbar-width: none;
}

.site-header--newsTwo .nav-links::-webkit-scrollbar {
    display: none;
}

.site-header--newsTwo .nav-links li {
    flex-shrink: 0;
}

.site-header--newsTwo .nav-links a {
    display: block;
    color: #fff;
    padding: 0.375rem 0;
    font-size: 0.9375rem;
    white-space: nowrap;
}

.site-header--newsTwo .nav-links a:hover {
    color: #fff;
}

.site-header--newsTwo .nav-links a[aria-current="page"] {
    color: #fff;
    font-weight: 600;
}

/* newsTwo header logo 文字白色 */
.site-header--newsTwo .logo-text {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
}

/* newsTwo header 搜索框收窄，给导航让位 */
.site-header--newsTwo .search-form {
    width: 200px;
}

.site-header--newsTwo .search-form input {
    width: auto;
    flex: 1 1 auto;
}

.site-header--newsTwo .header-actions {
    flex-shrink: 0;
}

/* 登录链接白色 */
.site-header--newsTwo .login-link {
    color: #fff;
}

/* 头像（替代登录注册）：圆形，垂直居中于导航栏 */
.site-header--newsTwo .header-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.site-header--newsTwo .header-avatar {
    display: block;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

/* 搜索图标白色 */
.site-header--newsTwo .search-form button {
    color: #fff;
}

/* 汉堡菜单按钮：桌面端隐藏，仅移动端显示 */
.site-header--newsTwo .nav-toggle {
    display: none;
}

/* Article Cards */
.card {
    display: flex;
    gap: 1rem;
    padding: 15px;
    position: relative;
    background: #fff;
    border-radius: 1px;
}

.card--featured {
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.75rem;
    background: #fff;
    border-radius: 10px;
    margin-bottom: 0.75rem;
}

.card__image {
    flex-shrink: 0;
    width: 200px;
}

.card--featured .card__image {
    width: 100%;
}

.card__image img {
    width: 100%;
    height: 140px;
    object-fit: cover;
    border-radius: 4px;
    background: #F4F6FB;
}

.card--featured .card__image img {
    height: 280px;
}

.card__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.card__title {
    font-size: 1.125rem;
    margin-bottom: 0.375rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.card__title a {
    color: var(--color-text, #484A4F);
}

.card__title a:hover {
    color: var(--color-primary, #1a73e8);
}

.card__summary {
    font-size: 0.875rem;
    color: #959DB3;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.8125rem;
    color: #B1B1B1;
    align-items: center;
}

.site-type--news .list-items .card__news-list-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 32px;
    margin-top: 8px;
    color: #B1B1B1;
    font-size: 0.8125rem;
    line-height: 1.5;
}

.site-type--news .list-items .card__news-list-meta > * {
    white-space: nowrap;
}

.card__price {
    font-weight: 600;
    color: #ea4335;
    font-size: 1rem;
}

/* Card Badge — inline with title */
.card__badge {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    flex-shrink: 0;
}

/* 首页 badge 独立一行，需要下间距 */
.card__top > .card__badge {
    margin-bottom: 8px;
}

/* 列表页标签行 */
.card__labels {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.card__label {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    line-height: 1.4;
}

/* 热点标签 - 带描边 */
.card__label--hot {
    color: #f56c6c;
    border: 1px solid #f56c6c;
    background: #fef0f0;
    line-height: 1;
}

/* 区标签 - 无描边 */
.card__label--region {
    color: #5f6368;
    background: #f1f3f4;
}

/* Card Tags — keyword tags in meta row */
.card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}

.card__bottom {
    display: flex;
    gap: 12px;
    flex-direction: column;
}

.card__tag {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    background: rgba(57, 129, 244, 0.12);
    border-radius: 11px;
    font-size: 12px;
    color: #3981f4;
    line-height: 1.2;
}

.card__badge--热点 {
    background: #fef0f0;
    color: #f56c6c;
    border: 1px solid #f56c6c;
}

.card__badge--科技 {
    background: #e8f0fe;
    color: #1a73e8;
    border: 1px solid #1a73e8;
}

.card__badge--财经 {
    background: #fdf6ec;
    color: #e6a23c;
    border: 1px solid #e6a23c;
}

.card__badge--娱乐 {
    background: #f3e8ff;
    color: #9333ea;
    border: 1px solid #9333ea;
}

.card__badge--体育 {
    background: #ecfdf5;
    color: #16a34a;
    border: 1px solid #16a34a;
}

.card__badge--社会 {
    background: #ecfeff;
    color: #0891b2;
    border: 1px solid #0891b2;
}

.card__badge--教育 {
    background: #fef3c7;
    color: #d97706;
    border: 1px solid #d97706;
}

.card__badge--国际 {
    background: #f0f9ff;
    color: #0284c7;
    border: 1px solid #0284c7;
}

.card__badge--文化 {
    background: #fdf4ff;
    color: #c026d3;
    border: 1px solid #c026d3;
}

.card__badge--健康 {
    background: #f0fdf4;
    color: #15803d;
    border: 1px solid #15803d;
}

/* List content (single column, constrained width) */
.list-content {
    margin: 0 auto;
}

.list-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Card rows */
.card-row {
    display: grid;
    gap: 0.75rem;
}

.card-row--double {
    grid-template-columns: 1fr 1fr;
}

.card-row--double .card {
    flex-direction: column;
    gap: 0.5rem;
    padding: 0;
    border-bottom: none;
    padding: 0.75rem;
    background: #fff;
    border-radius: 8px;
}

.card-row--double .card__image {
    width: 100%;
}

.card-row--double .card__image img {
    height: 160px;
    width: 100%;
}

/* Card group: 2 doubles + 1 single, visually connected */
.card-group {
    margin-bottom: 0.75rem;
    padding-bottom: 0;
}

.card-group > .card {
    margin-top: 0.75rem;
    border-bottom: none;
    padding: 1.25rem;
    background: #fff;
    border-radius: 8px;
}

/* Sidebar */
.sidebar {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.sidebar-section {
    background: #fff;
    border-radius: 8px;
    padding: 1rem;
    border: 1px solid #e8eaed;
}

.sidebar-section h2 {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 1rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #E9EBEF;
    line-height: 1;
}

.sidebar-section h2 .sidebar-icon {
    flex-shrink: 0;
    vertical-align: middle;
}

.sidebar-list li {
    padding: 0.375rem 0;
    border-bottom: 1px solid #f1f3f4;
    font-size: 0.875rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    line-height: 1.2;
}

.sidebar-list li:last-child {
    border-bottom: none;
}

.sidebar-list li a {
    color: var(--color-text, #484A4F);
    flex: 1;
    min-width: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sidebar-list li a:hover {
    color: var(--color-primary, #1a73e8);
}

/* Rank badges for popular items */
.rank-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    padding: 0 0.25rem;
    height: 1.25rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
    background-color: #E8E8E8;
    color: #A3A3A8;
}

.rank-badge.rank-badge--1 { background-color: #0064FF; color: #fff; }
.rank-badge.rank-badge--2 { background-color: #4C92FF; color: #fff; }
.rank-badge.rank-badge--3 { background-color: #99C1FF; color: #fff; }

/* 地方站热议论排序数字 */
.sidebar-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    padding: 0 0.25rem;
    height: 1.25rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    flex-shrink: 0;
    background-color: #E8E8E8;
    color: #A3A3A8;
}

.site-type--local_classified .sidebar-rank--1 { background: linear-gradient(135deg, #F98130, #FF9F33); color: #fff; }
.site-type--local_classified .sidebar-rank--2 { background: linear-gradient(135deg, #FF9F33, #FFB84D); color: #fff; }
.site-type--local_classified .sidebar-rank--3 { background: linear-gradient(135deg, #FFB84D, #FFCC80); color: #fff; }

/* 地方站首页（.lc-home）：卡片间距从模板内联样式迁入，保持桌面现状 */
.lc-home .listings .card {
    margin-top: 10px;
}

.lc-home .listings .card--featured {
    margin-bottom: 0;
}

.sidebar-item-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.sidebar-item-content a {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sidebar-meta {
    font-size: 0.75rem;
    color: #80868b;
}

.sidebar-price {
    color: #ea4335;
    font-weight: 600;
    font-size: 0.875rem;
}

/* Timeline list for latest news */
.timeline-list {
    list-style: none;
    padding: 0;
    margin: 0;
    padding-left: 1.25rem;
}

.timeline-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.5rem 0;
    position: relative;
    padding-left: 14px;
}

.timeline-item::before {
    content: "";
    position: absolute;
    left: -0.75rem;
    top: 0.75rem;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--color-primary, #1a73e8);
    border: 2px solid #fff;
    box-shadow: 0 0 0 2px var(--color-primary, #1a73e8);
    z-index: 1;
}

.timeline-item:not(:last-child)::after {
    content: "";
    position: absolute;
    left: calc(-0.75rem + 4px);
    top: calc(0.75rem + 12px);
    bottom: -1.25rem;
    width: 1px;
    background: #0064FF;
}

.timeline-time {
    font-size: 0.75rem;
    color: #0064FF;
}

.timeline-item a {
    color: var(--color-text, #484A4F);
    font-size: 0.875rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.2;
}

.timeline-item a:hover {
    color: var(--color-primary, #1a73e8);
}

/* Category Grid - 满屏独立一排 */
.category-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.5rem;
    box-sizing: border-box;
    background: #ffffff;
    margin-bottom: 0.75rem;
    padding: 8px;
    border-radius: 8px;
}

.category-tile {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.5rem;
    background: #F4F6FB;
    border-radius: 6px;
    text-align: center;
    transition: box-shadow 0.15s;
}

.listing-home .category-tile {
    padding: 0.5rem;
}

.category-tile:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    text-decoration: none;
}

.category-tile__icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.category-tile__name {
    font-size: 0.875rem;
    color: var(--color-text, #484A4F);
}

.category-chip {
    display: inline-block;
    padding: 0.375rem 0.75rem;
    border: 1px solid #dadce0;
    border-radius: 16px;
    font-size: 0.8125rem;
    color: #3c4043;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
}

.category-chip--active {
    background: var(--color-primary, #1a73e8);
    color: #fff;
    border-color: var(--color-primary, #1a73e8);
}

/* Listing post: home top hero background */
.listing-home__hero {
    background: linear-gradient(180deg, #f73b42, #f98130 100%);
    margin-bottom: 0;
    padding-bottom: 3rem;
    position: relative;
}

.listing-home__hero::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #f73b42, #f98130 100%);
    z-index: -1;
}

.listing-home__hero::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #f73b42, #f98130 100%);
    z-index: -1;
}

/* 红色区域现在只包含搜索：把垂直 padding 收紧，更紧凑 */
.listing-home__hero .search-hero {
    padding: 3.4375rem 0;
    color: #fff;
}

.listing-home__hero .search-hero__title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.5rem;
}

.listing-home__hero .search-hero__subtitle {
    font-size: 0.75rem;
    color: #fff;
    opacity: 0.9;
    margin-bottom: 1.25rem;
}

.listing-home__hero .popular-searches,
.listing-home__hero .popular-searches a {
    color: #fff;
}

.listing-home__hero .search-hero__form {
    max-width: 720px;
    margin-bottom: 0.5rem;
    border-width: 1px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    align-items: center;
    /* 覆盖基础类 .search-hero__form 的 overflow:hidden，否则地区下拉会被裁切 */
    overflow: visible;
}

.listing-home__hero .search-hero__icon {
    margin-left: 1rem;
    color: #5f6368;
    flex-shrink: 0;
}

.listing-home__hero .search-hero__form input {
    padding: 0.875rem 1.25rem;
    font-size: 1rem;
}

.listing-home__hero .search-hero__form input::placeholder {
    color: #C0C4CE;
    font-size: 1rem;
}

.listing-home__hero .search-hero__region {
    position: relative;
    display: inline-flex;
    align-items: center;
    display: none;
}

.listing-home__hero .search-hero__region-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0 0.5rem 0 0.75rem;     /* 左右内边距撑出点击热区，右侧空隙 */
    background: none;
    background-color: transparent;
    border: none;
    box-shadow: none;
    color: #5f6368;
    font-size: 0.875rem;
    cursor: pointer;
    white-space: nowrap;
    font-family: inherit;
}

.listing-home__hero .search-hero__region-arrow {
    transition: transform 0.2s ease;
    margin-left: 0.125rem;
}

.listing-home__hero .search-hero__region-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    margin: 0;
    padding: 0.75rem;
    width: min(720px, calc(100vw - 2rem));
    max-height: min(72vh, 640px);
    overflow: auto;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    list-style: none;
    z-index: 200;
}

.listing-home__hero .search-hero__region-dropdown .region-selector__fallback li a {
    display: block;
    padding: 0.5rem 0.75rem;
    color: #3c4043;
    font-size: 0.875rem;
    text-decoration: none;
    border-radius: 4px;
    text-align: center;
}

.listing-home__hero .search-hero__region-dropdown .region-selector__fallback li a:hover {
    background: #f1f3f4;
    color: #3c4043;
}

/* 打开状态：由 JS 加 .is-open 触发，避免依赖 :focus-within 在移动端失效 */
.listing-home__hero .search-hero__region.is-open .search-hero__region-dropdown {
    display: block;
}

.listing-home__hero .search-hero__region.is-open .search-hero__region-arrow {
    transform: rotate(180deg);
}

.listing-home__hero .search-hero__form button[type="submit"] {
    padding: 0.5rem 1.25rem;       /* 高度缩小 */
    font-size: 0.75rem;
    background: #f73b42;           /* 红色按钮 */
    color: #fff;
    border-radius: 6px;            /* 按钮圆角小一点 */
    margin: 0.25rem 0.5rem 0.25rem 0;  /* 上下有点间距，右侧留点空隙 */
    line-height: 1;
}

.listing-home__hero .popular-searches {
    font-size: 0.8125rem;     /* 整体小一点 */
}

.listing-home__hero .popular-searches a {
    background: rgba(255, 255, 255, 0.12);  /* 半透明白 */
    color: #fff;              /* 白色文字 */
    border-radius: 6px;       /* 圆角 6px */
    font-size: 0.75rem;       /* 文字小一点 */
}

/* Listing post home: 列表卡（单行紧凑，价格右侧 chip） */
.listing-home .listings {
    background: transparent;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
    border: none;
    /* max-width: 750px; */
    margin-left: auto;
    margin-right: auto;
}

/* 分类导航：与列表同宽，居中，靠负 margin-top 让白盒上半部分覆盖红色 hero */
.listing-home .category-grid {
    position: relative;
    z-index: 1;
    /* max-width: 750px; */
    margin-top: -60px;     /* 向上覆盖 hero，保留较多红色空隙给热搜 */
    margin-left: auto;
    margin-right: auto;
}

/* 标题样式：只有直接子 h2（section 标题 最新信息）前面加红色竖条，列表里的 card__title 不加 */
.listing-home .listings > h2 {
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 0.625rem;
    position: relative;
    padding-left: 12px;
}

.listing-home .listings > h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 100%;
    background: #F73B42;
    transform: translate(0, -50%);
    border-radius: 1px;
}

/* Section header (title + view-more link on the same row) */
.section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.625rem;
}

.section-header h2 {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.2;
    margin: 0;
    position: relative;
    padding-left: 12px;
}

.section-header h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 100%;
    background: #F73B42;
    transform: translate(0, -50%);
    border-radius: 1px;
}

.section-header__more {
    font-size: 0.8125rem;
    color: #8a8f99;
    text-decoration: none;
    transition: color 0.15s ease;
    display: none;
}

.section-header__more:hover {
    color: #F98130;
}

.listing-home .listings__subtitle {
    font-size: 0.75rem;
    color: #8a8f99;
    line-height: 1.2;
    margin: 0 0 0.5rem;
    text-align: left;
}

.listing-home .card {
    display: block;
    padding: 9px 1rem;
    border-radius: 0;
    background: #fff;
    border-bottom: 1px solid #eef0f5;
    position: relative;
    overflow: hidden;
    transition: background-color 0.18s ease, padding-left 0.18s ease;
    margin-bottom: 0;
}

.listing-home .card:last-child {
    border-bottom: none;
}

/* Hover: 浅红背景 + 文字微缩进，不再有左侧色条 */
.listing-home .card:hover {
    background: linear-gradient(90deg, #fff7f4 0%, #fffaf8 70%);
    padding-left: 1.25rem;
}

.listing-home .card__image,
.listing-home .card__summary {
    display: none;
}

/* 双列布局：左列 = [top(badge+title) / meta(region·attrs·date)] 上下对齐，右列 = 价格 跨两行居中 */
.listing-home .card__body {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 1rem;
    row-gap: 0.375rem;
}

.listing-home .card__top {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    margin: 0;
}

.listing-home .card__top > .card__badge {
    margin: 0;
    flex-shrink: 0;
    width: 48px;            /* 固定宽度，3 个汉字也能装下 */
    padding: 2px 0;
    text-align: center;
    border-radius: 3px;
    color: #fff;
    border-color: transparent;
    box-sizing: border-box;
}

.listing-home .card__title {
    flex: 1;
    min-width: 0;
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #2c2e33;
    word-break: keep-all;
    overflow-wrap: break-word;
}

.listing-home .card__title a {
    color: inherit;
}

.listing-home .card__title a:hover {
    color: #f73b42;
}

/* Listing 分类徽标：统一白字无描边，仅背景色按分类区分 */
.listing-home .card__badge--租房 { background: #E66060; }
.listing-home .card__badge--二手车 { background: #2EADF2; }
.listing-home .card__badge--招聘 { background: #F88107; }
.listing-home .card__badge--家政 { background: #1CC283; }
.listing-home .card__badge--二手 { background: #2EADF2; }
.listing-home .card__badge--教育 { background: #30CC45; }
.listing-home .card__badge--宠物 { background: #FFC221; }
.listing-home .card__badge--生活 { background: #EC2FB5; }
.listing-home .card__badge--装修 { background: #8FC21C; }

/* 同名「招聘」第二条用蓝：按文章顺序覆盖 */
.listing-home .listings > article:nth-of-type(8) .card__badge--招聘 {
    background: #0F7FF8;
}

.listing-home .card__meta {
    grid-column: 1;
    grid-row: 2;
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    /* 让 meta 行跟 title 文字对齐，而不是跟 badge 左边缘对齐：
       badge 固定 width 48px + gap 0.5rem */
    /* padding-left: calc(48px + 0.5rem); */
}

.listing-home .card__meta > * + *::before {
    /* content: "·";
    margin: 0 0.25rem;
    color: #c8ccd5; */
}

/* 标签内联展示在 meta 行末尾：样式跟 .card__region 一致（灰色纯文本，无背景 chip） */
.listing-home .card__tags-inline {
    display: inline;
    min-width: 0;
    overflow: hidden;
}

.listing-home .card__tags-inline .card__tag {
    background: none;
    padding: 0;
    border-radius: 0;
    color: #8a8f99;
    font-size: 0.8125rem;
    line-height: 1.4;
    white-space: nowrap;
}

.listing-home .card__meta .card__source,
.listing-home .card__meta .card__views,
.listing-home .card__meta .card__likes {
    display: none;
}

.listing-home .card__meta > .card__region,
.listing-home .card__meta > .card__date,
.listing-home .card__meta > .card__attr {
    color: #8a8f99;
    font-size: 0.8125rem;
    overflow: hidden;
    text-overflow: ellipsis;
}

.listing-home .card__meta > .card__date::before {
    content: "·";
    margin: 0 0.25rem;
    color: #c8ccd5;
}

/* 价格：右列、跨两行、纵向居中，无背景纯文本 */
.listing-home .card__price {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    justify-self: end;
    padding: 0;
    color: #f73b42;
    font-weight: 700;
    font-size: 0.9375rem;
    line-height: 1.4;
    white-space: nowrap;
    letter-spacing: -0.01em;
}

/* "面议" 价格：与普通价格文字颜色一致 */
.listing-home .card__price--negotiable {
    color: #f73b42;
    font-size: 0.8125rem;
    font-weight: 600;
}

/* Search Hero */
.search-hero {
    text-align: center;
    padding: 2rem 0;
}

.search-hero__form {
    display: flex;
    max-width: 500px;
    margin: 0 auto 1rem;
    border: 2px solid #dadce0;
    border-radius: 24px;
    overflow: hidden;
}

.search-hero__form input {
    flex: 1;
    border: none;
    padding: 0.75rem 1.25rem;
    font-size: 1rem;
    outline: none;
}

.search-hero__form button {
    border: none;
    background: var(--color-primary, #1a73e8);
    color: #fff;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    cursor: pointer;
}

.popular-searches {
    font-size: 0.875rem;
    color: #5f6368;
}

.popular-searches a {
    display: inline-block;
    margin: 0.25rem;
    padding: 0.25rem 0.5rem;
    background: #f1f3f4;
    border-radius: 12px;
    font-size: 0.8125rem;
    color: #3c4043;
}

/* Filters bar */
.filters-bar {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.625rem;
    margin-bottom: 1rem;
    padding: 0.875rem 1rem;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #f0f1f3;
}

.filter-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
}

.filter-label {
    font-size: 0.8125rem;
    font-weight: 600;
    margin-right: 0.25rem;
}

.filter-chip {
    display: inline-block;
    padding: 0.25rem 0.625rem;
    border: 1px solid #dadce0;
    border-radius: 14px;
    font-size: 0.8125rem;
    color: #3c4043;
}

.filter-chip--active {
    background: var(--color-primary, #1a73e8);
    color: #fff;
    border-color: var(--color-primary, #1a73e8);
}

/* 地方站筛选选中：描边+文字，无背景 */
.site-type--local_classified .filter-chip--active {
    background: transparent;
    color: var(--color-primary, #F98130);
    border-color: var(--color-primary, #F98130);
}

.sort-options {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-left: auto;
}

.sort-chip {
    padding: 0.25rem 0.5rem;
    font-size: 0.8125rem;
    color: #5f6368;
    border-radius: 4px;
}

.sort-chip--active {
    color: var(--color-primary, #1a73e8);
    font-weight: 600;
}

/* ------------------------------------------------------------------
   Listing post list page: 筛选区域
   只作用于 .listing-list-page，不影响 local_classified 共用类
   ------------------------------------------------------------------ */
.listing-list-page .filters-bar {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.625rem;
    margin-bottom: 1rem;
    padding: 0.875rem 1rem;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #f0f1f3;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
    text-align: left;
}

.listing-list-page .filters {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.listing-list-page .filters-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
}

.listing-list-page .filter-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}

.listing-list-page .filter-tab {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.125rem;
    background: transparent;
    border: none;
    font-family: inherit;
    font-size: 0.875rem;
    color: #3c4043;
    text-decoration: none;
    line-height: 1.4;
    cursor: pointer;
    transition: color 0.15s ease;
    position: relative;
}

.listing-list-page .filter-tab:hover {
    color: #F73B42;
}

.listing-list-page .filter-tab--active {
    color: #F73B42;
    font-weight: 600;
}

.listing-list-page .filter-options {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.625rem;
    padding: 0.25rem 0;
}

.listing-list-page .filter-divider {
    width: 100%;
    height: 1px;
    background: #ececef;
    margin: 0.125rem 0;
}

.listing-list-page .filter-panel {
    display: none;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.625rem;
    padding: 0.25rem 0;
    width: 100%;
}

.listing-list-page .filter-panel--active {
    display: flex;
}

.listing-list-page .filter-toggle--active {
    color: #F73B42;
    font-weight: 600;
}

.listing-list-page .filter-group {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
    row-gap: 0.5rem;
    position: relative;
}

.listing-list-page .filter-label {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #5f6368;
    margin-right: 0.25rem;
    flex-shrink: 0;
}

.listing-list-page .filter-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.3125rem 0.75rem;
    border: 1px solid #e4e6ea;
    border-radius: 14px;
    background: #fff;
    font-size: 0.8125rem;
    color: #3c4043;
    line-height: 1.2;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
    text-decoration: none;
}

.listing-list-page .filter-chip:hover {
    color: #F73B42;
    border-color: #F73B42;
}

.listing-list-page .filter-chip--active {
    color: #F73B42;
    border-color: #F73B42;
    background: rgba(247, 59, 66, 0.06);
    font-weight: 500;
}

.listing-list-page .filter-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-left: auto;
    padding: 0.25rem 0.125rem;
    background: transparent;
    border: none;
    color: #3c4043;
    font-size: 0.875rem;
    font-weight: inherit;
    line-height: 1.4;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.15s ease;
    position: relative;
}

.listing-list-page .filter-toggle:hover {
    color: #F73B42;
}

.listing-list-page .filter-toggle__icon {
    transition: transform 0.2s ease;
}

.listing-list-page .filter-toggle[aria-expanded="true"] .filter-toggle__icon {
    transform: rotate(180deg);
}

.listing-list-page .sort-options {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.875rem;
    padding-top: 0.625rem;
    border-top: 1px solid #f0f1f3;
    margin-left: 0;
}

.listing-list-page .sort-label {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #5f6368;
}

.listing-list-page .sort-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.125rem;
    background: transparent;
    border: none;
    font-size: 0.8125rem;
    color: #5f6368;
    text-decoration: none;
    line-height: 1.4;
    transition: color 0.15s ease;
}

.listing-list-page .sort-chip:hover {
    color: #F73B42;
}

.listing-list-page .sort-chip--active {
    color: #F73B42;
    font-weight: 600;
}

.listing-list-page .selected-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
    padding: 0;
    background: transparent;
    border: none;
    text-align: left;
}

.listing-list-page .selected-filters__label {
    font-size: 0.8125rem;
    color: #5f6368;
    flex-shrink: 0;
}

.listing-list-page .selected-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem 0.25rem 0.625rem;
    background: rgba(247, 59, 66, 0.08);
    border: 1px solid rgba(247, 59, 66, 0.25);
    border-radius: 12px;
    font-size: 0.75rem;
    color: #F73B42;
    text-decoration: none;
    line-height: 1.2;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.listing-list-page .selected-chip:hover {
    background: rgba(247, 59, 66, 0.15);
    border-color: rgba(247, 59, 66, 0.5);
}

.listing-list-page .selected-chip__close {
    font-size: 0.9375rem;
    line-height: 1;
    font-weight: 500;
    color: #F73B42;
    opacity: 0.7;
}

.listing-list-page .selected-filters__clear {
    margin-left: 0.25rem;
    font-size: 0.75rem;
    color: #F73B42;
    text-decoration: none;
    transition: color 0.15s ease;
}

.listing-list-page .selected-filters__clear:hover {
    color: #d62f36;
}

/* ------------------------------------------------------------------
   Listing post list page: 卡片
   左图 / 标题 / 来源 / 价格 / tags+时间
   ------------------------------------------------------------------ */
.listing-list-page .card {
    display: flex;
    align-items: normal;
    gap: 0.875rem;
    padding: 14px;
    margin-bottom: 20px;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #f0f1f3;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.listing-list-page .card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    border-color: #e4e6ea;
}

.listing-list-page .card__image {
    flex-shrink: 0;
    width: 180px;
    border-radius: 6px;
    overflow: hidden;
}

.listing-list-page .card__image img {
    width: 100%;
    height: 130px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
}

.listing-list-page .card__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding: 0;
}

.listing-list-page .card__title {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
    display: block;
    word-break: keep-all;
    overflow-wrap: break-word;
}

.listing-list-page .card__title a {
    color: #2c2e33;
    text-decoration: none;
    transition: color 0.15s ease;
}

.listing-list-page .card__title a:hover {
    color: #F73B42;
}

.listing-list-page .card__source-line {
    margin: 0;
    font-size: 0.8125rem;
    color: #8a8f99;
    line-height: 1.4;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.listing-list-page .card__source-line .card__region {
    color: #8a8f99;
}

.listing-list-page .card__source-line .card__source {
    color: #8a8f99;
}

.listing-list-page .card__price-line {
    margin: 0;
    line-height: 1.2;
    display: flex;
    align-items: baseline;
    gap: 0.125rem;
}

.listing-list-page .card__price-line .card__price {
    font-size: 1.0625rem;
    font-weight: 700;
    color: #F73B42;
}

.listing-list-page .card__price-line .card__price--negotiable {
    color: #F73B42;
}

.listing-list-page .card__price-suffix {
    font-size: 0.75rem;
    color: #8a8f99;
}

.listing-list-page .card__footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: auto;
    flex-wrap: wrap;
}

/* footer 左侧：标签在上、价格在下，竖排对齐 */
.listing-list-page .card__footer-left {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    align-items: flex-start;
}

.listing-list-page .card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}

.listing-list-page .card__footer .card__tag {
    display: inline-block;
    padding: 0.1875rem 0.5rem;
    background: rgba(249, 129, 48, 0.12);
    border-radius: 6px;
    font-size: 0.75rem;
    color: #F98130;
    line-height: 1.3;
}

.listing-list-page .card__footer .card__date {
    margin-left: auto;
    font-size: 0.75rem;
    color: #b1b1b1;
    white-space: nowrap;
}

.listing-list-page .card__summary,
.listing-list-page .card__meta,
.listing-list-page .card__top,
.listing-list-page .card__bottom,
.listing-list-page .card__labels,
.listing-list-page .card__badge {
    display: none;
}

/* 列表页：侧边栏已隐藏，让 .main-content 居中铺满（覆盖 base.css 的 grid 布局） */
.listing-list-page .listing-layout {
    display: block;
    grid-template-columns: none;
    gap: 0;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

.listing-list-page .main-content {
    width: 100%;
    margin: 0 auto;
}

/* 列表页：在 h1 后展示结果计数，隐藏分页组件里的「共 X 条」 */
.listing-list-page .breadcrumbs {
    padding: 0.25rem 0;
    margin-bottom: 0.25rem;
}

.listing-list-page .result-summary {
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
    color: #5f6368;
    line-height: 1.4;
}

.listing-list-page .result-summary strong {
    color: #F73B42;
    font-weight: 600;
}

.listing-list-page .pagination__total {
    display: none;
}

/* Price Card (listing detail) */
.price-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0.5rem 0;
}

.price-card__label {
    font-size: 0.875rem;
    color: #5f6368;
}

.price-card__value {
    font-size: 1.5rem;
    font-weight: 700;
    color: #ea4335;
}

.price-card__note {
    font-size: 0.8125rem;
    color: #80868b;
}

/* Info Card (listing detail sidebar) */
.info-card dl {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 0.5rem;
    row-gap: 0.375rem;
    font-size: 0.75rem;
    line-height: 1.5;
    margin: 0;
}

.info-card dt {
    color: #80868b;
    font-weight: 500;
}

.info-card dt::after {
    content: "：";
    margin-right: 0.125rem;
}

.info-card dd {
    color: var(--color-text, #484A4F);
    margin: 0;
}

.info-card__phone {
    font-variant-numeric: tabular-nums;
    color: #1a73e8;
    font-weight: 600;
}

.info-card__timeago {
    color: #80868b;
    font-size: 0.8125rem;
}

/* Hot items (sidebar) */
.hot-items {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Pull subsequent card sections closer to the section above them */
.info-card + .hot-items-section,
.hot-items-section + .similar-items-section {
    margin-top: -0.75rem;
}

.hot-item-card {
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    transition: box-shadow 0.18s ease;
}

.hot-item-card:hover {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

.hot-item-card a {
    display: block;
    color: inherit;
}

.hot-item-card__image {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #e8eaed;
}

.hot-item-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hot-item-card__body {
    padding: 0.625rem 0 0.75rem;
}

.hot-item-card__title {
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.4;
    color: var(--color-text, #484A4F);
    margin: 0 0 0.375rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.hot-item-card__title a:hover {
    color: var(--color-primary, #1a73e8);
}

.hot-item-card__price {
    margin: 0;
    font-size: 1rem;
    display: flex;
    align-items: baseline;
    gap: 0.125rem;
}

.hot-item-card__price-value {
    color: #ea4335;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.hot-item-card__price-value--negotiable {
    color: #80868b;
    font-weight: 500;
}

.hot-item-card__price-suffix {
    color: #80868b;
    font-size: 0.75rem;
    margin-left: 0.125rem;
}

/* Pagination */
.pagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 15px 0;
    font-size: 0.875rem;
}

.pagination--hidden {
    display: none;
}

.pagination__total {
    color: #36345B;
    margin-right: 0.5rem;
}

.pagination__size {
    padding: 0.375rem 0.5rem;
    border: 1px solid #dadce0;
    border-radius: 4px;
    font-size: 0.875rem;
    background: #fff;
    cursor: pointer;
}

.pagination__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid #dadce0;
    border-radius: 4px;
    font-size: 1.25rem;
    color: #3c4043;
    text-decoration: none;
    background: #fff;
}

.pagination__arrow:hover {
    background: #f1f3f4;
}

.pagination__arrow--disabled {
    color: #dadce0;
    cursor: not-allowed;
}

.pagination__arrow--disabled:hover {
    background: transparent;
}

.pagination__page {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 2rem;
    padding: 0 0.5rem;
    border: 1px solid #dadce0;
    border-radius: 4px;
    color: #3c4043;
    text-decoration: none;
    background: #fff;
}

.pagination__page:hover {
    background: #f1f3f4;
}

.pagination__page--active {
    background: var(--color-primary, #1a73e8);
    border-color: var(--color-primary, #1a73e8);
    color: #fff;
}

.pagination__page--active:hover {
    background: var(--color-primary, #1a73e8);
}

/* 信息站（listing_post）分页主题色：与站点品牌色 #f73b42 一致，作用域只在 .site-type--listing_post */
.site-type--listing_post .pagination__page--active {
    background: #f73b42;
    border-color: #f73b42;
    color: #fff;
}

.site-type--listing_post .pagination__page--active:hover {
    background: #f73b42;
    border-color: #f73b42;
}

.pagination__goto {
    margin-left: 0.5rem;
    color: #5f6368;
}

.pagination__input {
    width: 3rem;
    padding: 0.375rem 0.5rem;
    border: 1px solid #dadce0;
    border-radius: 4px;
    font-size: 0.875rem;
    text-align: center;
    margin: 0 0.25rem;
}

/* 省略号占位（智能分页折叠的中间页码） */
.pagination__ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 2rem;
    color: #5f6368;
    letter-spacing: 0.125rem;
}

/* Article Detail */
.article-header {
    margin-bottom: 1.5rem;
}

/* Listing post detail header — scoped to avoid affecting news/local_classified */
.listing-article-header {
    background: #fff;
    margin-bottom: 1.5rem;
    padding: 1rem;
    border-radius: 6px;
}

/* Listing post 属性卡片行（5 列硬编码数据，命名带 listing- 前缀做隔离） */
.listing-attr-grid {
    display: flex;
    gap: 0.75rem;
    margin: 0.5rem 0 0;
}

.listing-attr-card {
    flex: 1;
    background: #f5f7fa;
    border-radius: 6px;
    padding: 0.625rem 0.5rem;
    text-align: center;
}

.listing-attr-card__label {
    font-size: 0.75rem;
    color: #959db3;
    margin-bottom: 0.25rem;
}

.listing-attr-card__value {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #484a4f;
}

:root {
    --highlight-tag-bg: transparent;
    --highlight-tag-fg: #F98130;
    --highlight-tag-border: #F98130;
}

/* Highlight Tags (卖点标签) — listing_post only */
.highlight-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 1rem 0 0.25rem;
}

.highlight-tag {
    display: inline-block;
    padding: 0.2rem 0.625rem;
    background: var(--highlight-tag-bg);
    color: var(--highlight-tag-fg);
    border: 1px solid var(--highlight-tag-border);
    font-size: 0.8125rem;
    border-radius: 999px;
    line-height: 1.4;
}

.article-header h1 {
    font-size: 1.75rem;
    line-height: 1.3;
}

.site-type--news .article-header h1 {
    color: #202124;
}

.article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: #5f6368;
    margin-top: 0.75rem;
}

.article-tags {
    margin-top: 0.75rem;
}

.tag {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    background: #e8f0fe;
    border-radius: 12px;
    font-size: 0.8125rem;
    color: #1a73e8;
    margin-right: 0.375rem;
}

.article-body {
    line-height: 1.8;
}

/* 后台 wangEditor 富文本在文章页和关于页共用的公开端基础样式 */
.article-body,
.listing-about-richtext {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.article-body img,
.listing-about-richtext img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 1rem auto;
}

.article-body table,
.listing-about-richtext table {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 1rem 0;
    overflow-x: auto;
    border-collapse: collapse;
}

.article-body th,
.article-body td,
.listing-about-richtext th,
.listing-about-richtext td {
    min-width: 6rem;
    padding: .5rem .75rem;
    border: 1px solid #e4e7ec;
    overflow-wrap: anywhere;
}

.article-body pre,
.listing-about-richtext pre {
    max-width: 100%;
    padding: 1rem;
    overflow-x: auto;
    background: #f5f7fa;
    border-radius: 4px;
}

.article-body hr,
.listing-about-richtext hr {
    margin: 1.5rem 0;
    border: 0;
    border-top: 1px solid #e4e7ec;
}

.article-body h2 {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid #e8eaed;
}

.article-body :is(h2, h3)[id] {
    scroll-margin-top: var(--detail-anchor-offset, 6rem);
}

.article-body p {
    margin-bottom: 1rem;
}

/* Listing post 房源详情 — 命名带 listing- 前缀，与 news/local_classified 隔离 */
/* 通过提升优先级覆盖全局 .article-body h2/p 规则（border-top、margin 等） */
.listing-detail-body {
    background: #fff;
    padding: 1rem;
}

.article-body .listing-detail-title {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 1rem;
}

.article-body .listing-detail-section {
    margin-bottom: 0.5rem;
}

.article-body .listing-detail-section__heading {
    /* 信息站详情：让小标题的字号、颜色与正文一致 */
    font-size: 0.875rem;
    font-weight: normal;
    color: #484a4f;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

.article-body .listing-detail-section p {
    margin-bottom: 0;
    color: #484a4f;
    line-height: 1.8;
    font-size: 0.875rem;
}

.article-footer {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid #e8eaed;
}

.disclaimer {
    font-size: 0.8125rem;
    color: #80868b;
    background: #f1f3f4;
    padding: 0.75rem;
    border-radius: 4px;
}

/* TOC */
.toc ul {
    padding-left: 0;
}

.toc li {
    padding: 0.25rem 0;
    font-size: 0.875rem;
}

.toc-level-3 { padding-left: 1rem; }
.toc-level-4 { padding-left: 2rem; }

/* Detail page TOC with Chinese numbers */
.toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.toc-list__item {
    display: flex;
    align-items: flex-start;
    padding: 0.5rem 0;
    border-bottom: 1px solid #f1f3f4;
    font-size: 0.875rem;
}

.toc-list__item:last-child {
    border-bottom: none;
}

.toc-list__num {
    font-weight: 600;
    flex-shrink: 0;
}

.toc-list__item a {
    color: #484A4F;
    text-decoration: none;
    flex: 1;
    min-width: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.toc-list__item:hover .toc-list__num,
.toc-list__item:hover a,
.toc-list__item--active .toc-list__num,
.toc-list__item--active a {
    color: #3981F4;
}

/* Related articles grid */
.related-section {
    margin-top: 15px;
}

.related-title {
    font-size: 1.125rem;
    margin-bottom: 1rem;
    position: relative;
    line-height: 1;
    padding-left: 12px;
}

.related-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 100%;
    background: var(--color-primary, #1a73e8);
    transform: translate(0, -50%);
}

.related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.related-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.15s;
}

.related-card:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.related-card__image {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.related-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.related-card__body {
    padding: 0.75rem;
    flex: 1;
}

.related-card__title {
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #484A4F;
}

.related-card__summary {
    font-size: 0.75rem;
    color: #959DB3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Weather */
.weather-temp {
    font-size: 1.5rem;
    font-weight: 700;
}

.weather-unavailable {
    color: #80868b;
    font-size: 0.875rem;
}

/* Local date */
.local-date {
    font-size: 0.9375rem;
    color: #5f6368;
    text-align: center;
}

/* ==========================================================================
   Footer
   - 默认（news / local_classified / listing_post）：白底单行简单页脚
   - newsTwo：主题色三列页脚
   ========================================================================== */

/* 默认页脚：白底 */
.site-footer {
    background: #fff;
    border-top: 1px solid #e0e0e0;
    color: #5f6368;
    margin-top: auto;
    padding: 1.5rem 0;
}

/* news：参考设计稿的深蓝通栏、两行版权与备案信息 */
.site-type--news .site-footer {
    background: #005789;
    border-top: 0;
    color: #fff;
    padding: 0;
}

.site-type--news .news-footer {
    box-sizing: border-box;
    max-width: 760px;
    min-height: 230px;
    margin: 0 auto;
    padding: 4rem 1rem 3rem;
    color: #fff;
    font-size: 1rem;
    line-height: 1.75;
}

.site-type--news .news-footer__line {
    margin: 0 0 2.4rem;
    overflow-wrap: anywhere;
}

.site-type--news .news-footer__line:last-child {
    margin-bottom: 0;
}

.site-type--news .news-footer__line--primary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.55rem;
    align-items: baseline;
}

.site-type--news .news-footer a {
    color: inherit;
    text-decoration: none;
}

.site-type--news .news-footer a:hover {
    color: #fff;
    text-decoration: underline;
}

.site-type--news .news-footer__description {
    white-space: pre-line;
}

@media (max-width: 640px) {
    .site-type--news .news-footer {
        min-height: 0;
        padding: 2.5rem 1.25rem;
        font-size: 0.875rem;
    }

    .site-type--news .news-footer__line {
        margin-bottom: 1.5rem;
    }
}

/* newsTwo：主题色背景，覆盖默认白底 */
.site-type--newsTwo .site-footer {
    background: var(--color-primary, #0D55E7);
    border-top: 0;
    color: rgba(255, 255, 255, 0.92);
    padding: 0;
}

/* ---------- 默认简单页脚（footer-inner / footer-nav） ---------- */
.footer-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
    font-size: 0.8125rem;
    color: #5f6368;
}

.footer-info p {
    margin: 0;
}

.footer-nav {
    display: flex;
    gap: 1rem;
}

.footer-nav a {
    color: #5f6368;
}

/* newsTwo 不显示 footer-inner */
.site-type--newsTwo .footer-inner {
    display: none;
}

/* ---------- newsTwo 多列页脚（footer-top / footer-col / footer-bottom） ---------- */
/* 非 newsTwo 站点隐藏多列页脚结构 */
.footer-top,
.footer-bottom {
    display: none;
}

.site-type--newsTwo .footer-top,
.site-type--newsTwo .footer-bottom {
    display: block;
}

/* 上部多列区 — 收窄整体宽度，三块居中聚拢 */
.site-type--newsTwo .footer-top {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    max-width: 900px;
    margin: 0 auto;
    padding: 0;
}

.site-type--newsTwo .footer-col {
    min-width: 0;
    padding: 0 1.5rem;
}

/* 第 1 列去掉左侧内边距 */
.site-type--newsTwo .footer-col:first-child {
    padding-left: 0;
}

/* 第 3 列去掉右侧内边距 */
.site-type--newsTwo .footer-col:last-child {
    padding-right: 0;
}

/* 第 2、3 列左侧白色细线分隔 */
.site-type--newsTwo .footer-col + .footer-col {
    border-left: 1px solid rgba(255, 255, 255, 0.45);
}

.site-type--newsTwo .footer-col__title {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 1rem;
    position: relative;
    padding-bottom: 0.5rem;
}

.site-type--newsTwo .footer-col__title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 32px;
    height: 2px;
    background: rgba(255, 255, 255, 0.85);
    border-radius: 1px;
}

/* 导航链接列 */
.site-type--newsTwo .footer-col__links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-type--newsTwo .footer-col__links li {
    margin-bottom: 0.625rem;
}

.site-type--newsTwo .footer-col__links a {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.5;
}

.site-type--newsTwo .footer-col__links a:hover {
    color: #fff;
    text-decoration: none;
}

/* 联系列 */
.site-type--newsTwo .footer-col__contact {
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-type--newsTwo .footer-col__contact li {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.7;
    margin-bottom: 0.625rem;
    word-break: break-all;
}

.site-type--newsTwo .footer-col__label {
    color: #fff;
    font-weight: 500;
}

.site-type--newsTwo .footer-col__about {
    font-size: 0.8125rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
}

/* 底部版权条 */
.site-type--newsTwo .footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(0, 0, 0, 0.18);
}

.site-type--newsTwo .footer-bottom__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.875rem;
    padding: 0.875rem 0;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.75);
}

.site-type--newsTwo .footer-bottom__inner p {
    margin: 0;
}

.site-type--newsTwo .footer-icp {
    color: rgba(255, 255, 255, 0.75);
}

.site-type--newsTwo .footer-icp:hover {
    color: #fff;
}

.site-type--newsTwo .footer-police-beian {
    color: rgba(255, 255, 255, 0.75);
}

/* 移动端：newsTwo 页脚列塌缩为单列，整体收紧降低高度 */
@media (max-width: 768px) {
    .site-type--newsTwo .footer-top {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0;
    }

    .site-type--newsTwo .footer-col {
        padding: 0.625rem 0;
    }

    /* 列标题：缩小字号与下边距 */
    .site-type--newsTwo .footer-col__title {
        font-size: 0.875rem;
        margin-bottom: 0.5rem;
        padding-bottom: 0.375rem;
    }

    /* 链接 / 联系行：缩小行高与间距 */
    .site-type--newsTwo .footer-col__links li,
    .site-type--newsTwo .footer-col__contact li {
        margin-bottom: 0.25rem;
        line-height: 1.45;
        font-size: 0.8125rem;
    }

    /* 简介文字收紧 */
    .site-type--newsTwo .footer-col__about {
        font-size: 0.75rem;
        line-height: 1.55;
    }

    /* 单列时左右竖线改为顶部横线 */
    .site-type--newsTwo .footer-col + .footer-col {
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.45);
    }

    /* 版权条收紧 */
    .site-type--newsTwo .footer-bottom__inner {
        justify-content: center;
        text-align: center;
        padding: 0.75rem 0;
        font-size: 0.6875rem;
        gap: 0.5rem;
    }
}

/* ---------- local_classified 黑色两列页脚（footer-lc，通栏） ---------- */
/* 覆盖默认白底页脚：透出页面底色，黑色条上方留一道页面底色间隔 */
.site-type--local_classified .site-footer {
    background: transparent;
    border-top: 0;
    padding: 2.5rem 0 0;
}

/* 黑色条通栏满宽，内容按 1200px 版心居中 */
.site-type--local_classified .footer-lc {
    background: #000;
    color: rgba(255, 255, 255, 0.85);
}

.footer-lc__inner {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 3rem;
    max-width: 1200px;
    margin: 0 auto;
    padding: 2.75rem 1rem;
}

/* 左列：站名 + 红色短条 + 站点简介 */
.footer-lc__name {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.footer-lc__name::after {
    content: "";
    display: block;
    width: 60px;
    height: 3px;
    margin-top: 0.75rem;
    background: #e60012;
}

.footer-lc__desc {
    margin: 1.25rem 0 0;
    max-width: 28rem;
    font-size: 0.875rem;
    line-height: 1.9;
    color: rgba(255, 255, 255, 0.85);
    white-space: pre-line;
}

.footer-description {
    white-space: pre-line;
}

/* 右列：关于我们 + 微信/版权/备案 */
.footer-lc__title {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.85);
}

.footer-lc__title-en {
    font-size: 0.75rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.55);
}

.footer-lc__list {
    list-style: none;
    margin: 1.25rem 0 0;
    padding: 0;
}

.footer-lc__list li {
    font-size: 0.8125rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.78);
    margin-bottom: 0.875rem;
}

.footer-lc__list li:last-child {
    margin-bottom: 0;
}

.footer-lc__icp {
    color: inherit;
}

.footer-lc__icp:hover {
    color: #fff;
}

/* 移动端：两列塌缩为单列，整体收紧 */
@media (max-width: 768px) {
    .site-type--local_classified .site-footer {
        padding-top: 1.5rem;
    }

    .footer-lc__inner {
        grid-template-columns: 1fr;
        gap: 2rem;
        padding: 2rem 1rem;
    }
}

/* ============ listing_post（信息站）：渐变色多列页脚 ============ */
/* 渐变取自 hero 区配色，方向改为左右 */
.site-type--listing_post .site-footer {
    background: linear-gradient(90deg, #f73b42, #f98130 100%);
    border-top: 0;
    color: #fff;
    padding: 0;
}
.site-type--listing_post .site-footer,
.site-type--listing_post .site-footer a { color: #fff; }

/* 顶部双列区：左品牌大、右关于小。加作用域前缀提高特异性，避免被全局规则覆盖 */
.site-type--listing_post .listing-footer-top {
    display: grid;
    grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
    gap: clamp(2rem, 5vw, 4rem);
    padding: 2.6rem 1rem 2rem;
}
.listing-footer-col { min-width: 0; }
.listing-footer-col__title {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .04em;
    margin: 0 0 .9rem;
}
.listing-footer-col--about .listing-footer-col__title { font-size: 1.4rem; letter-spacing: .06em; }
.listing-footer-col__about {
    color: rgba(255, 255, 255, .88);
    font-size: .86rem;
    line-height: 1.95;
    margin: 0;
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: break-word;
    white-space: pre-line;
}
.listing-footer-col__links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .35rem .9rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.listing-footer-col__links a {
    color: rgba(255, 255, 255, .82);
    font-size: .82rem;
    line-height: 1.7;
    text-decoration: none;
    transition: color .15s ease;
}
.listing-footer-col__links a:hover { color: #fff; text-decoration: underline; }
.listing-footer-col__contact {
    margin: 0;
    padding: 0;
    list-style: none;
}
.listing-footer-col__contact li {
    color: rgba(255, 255, 255, .82);
    font-size: .82rem;
    line-height: 1.9;
    word-break: break-word;
}
.listing-footer-col__label { color: rgba(255, 255, 255, .6); }
.listing-footer-icp { color: rgba(255, 255, 255, .8); text-decoration: none; }
.listing-footer-icp:hover { color: #fff; text-decoration: underline; }
.listing-footer-police { color: rgba(255, 255, 255, .8); }

/* 平板断点（1024px）：双列仍保留但收紧间距，避免中宽度过窄挤压 */
@media (max-width: 1024px) {
    .site-type--listing_post .listing-footer-top {
        gap: clamp(1.2rem, 3vw, 2rem);
        padding: 2rem 1rem 1.6rem;
    }
}

/* 手机端（≤768px）：塌缩单列 + 以 375px 视口为基准精细调优（内容区约 343px） */
@media (max-width: 768px) {
    .site-type--listing_post .listing-footer-top {
        grid-template-columns: 1fr;
        gap: 1.3rem;
        padding: 1.5rem 1rem 1.3rem;
    }
    /* 品牌标题：375 下显眼但不撑行 */
    .listing-footer-col--about .listing-footer-col__title { font-size: 1.25rem; letter-spacing: .04em; }
    /* 品牌文案：13px + 1.75 行高，375 下每行约 24 字，阅读舒适 */
    .listing-footer-col__about { font-size: .8125rem; line-height: 1.75; }
    /* 关于我们标题与列表 */
    .listing-footer-col--contact .listing-footer-col__title { font-size: .9375rem; }
    .listing-footer-col__contact li { font-size: .8125rem; line-height: 1.7; }
    .listing-footer-col__label { white-space: nowrap; }
}

/* Empty state */
.empty-state {
    text-align: center;
    padding: 3rem 1rem;
    color: #80868b;
}

/* List description */
.list-description {
    color: #5f6368;
    font-size: 0.9375rem;
    margin-bottom: 1rem;
}

/* Category selector */
.category-selector {
    margin-bottom: 1rem;
}

.detail-main__inner {
    background: #ffffff;
    border-radius: 1px;
    padding: 0 15px 15px;
}

.listings__title {
    font-size: 1.125rem;
    margin-bottom: 1rem;
    position: relative;
    line-height: 1;
    padding-left: 12px;
}

.listings__title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 100%;
    background: var(--color-primary, #1a73e8);
    transform: translate(0, -50%);
}

/* ==========================================================================
   Tablet responsive overrides (news only)
   ========================================================================== */

@media (min-width: 769px) and (max-width: 1024px) {
    /* 平板过渡档（仅 news 站）：收窄搜索框与侧栏，导航不再被挤压 */
    .site-header--news .header-inner {
        gap: 1rem;
    }

    .site-header--news .search-form {
        width: 200px;
    }

    .site-type--news .homepage-layout {
        grid-template-columns: 1fr 240px;
        gap: 1rem;
    }

    .site-type--news .card--featured .card__image img {
        height: 220px;
    }

    .site-type--news .card-row--double .card__image img {
        height: 130px;
    }
}

/* ==========================================================================
   Tablet responsive overrides (local_classified)
   ========================================================================== */

@media (min-width: 769px) and (max-width: 1024px) {
    /* 平板过渡档（地方站）：收窄侧栏与搜索框，头部间距收紧 */
    .site-type--local_classified .homepage-layout {
        grid-template-columns: 1fr 240px;
        gap: 1rem;
    }

    .site-header--local_classified .header-inner {
        gap: 1rem;
    }

    .site-header--local_classified .search-form input {
        width: 240px;
    }

    .site-type--local_classified .card--featured .card__image img {
        height: 240px;
    }
}

/* ==========================================================================
   地区选择器：≤1024 全屏城市选择页（local_classified）
   ========================================================================== */

@media (max-width: 1024px) {
    /* 下拉罩住整个视口，内部滚动；不再锚定在地区按钮上 */
    .site-header--local_classified .header-region__dropdown {
        position: fixed;
        inset: 0;
        width: auto;
        max-height: none;
        margin: 0;
        padding: 0;
        overflow-y: auto;
        border: none;
        border-radius: 0;
        box-shadow: none;
        z-index: 300;
    }

    /* 吸顶标题栏 + 关闭按钮（桌面端 .region-sheet__head 为 display:none） */
    .site-header--local_classified .region-sheet__head {
        position: sticky;
        top: 0;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0.875rem 1rem;
        background: #fff;
        border-bottom: 1px solid #edf0f2;
        font-weight: 600;
        font-size: 0.9375rem;
        color: #202124;
    }

    .site-header--local_classified .region-sheet__close {
        background: none;
        border: none;
        font-size: 0.9375rem;
        color: #5f6368;
        cursor: pointer;
        padding: 0.25rem;
    }

    .site-header--local_classified .region-selector__actions {
        padding: 0.75rem 1rem;
        margin-bottom: 0;
        border-bottom: none;
    }

    .site-header--local_classified .region-selector__tree {
        padding: 0 1rem 1rem;
    }

    .site-header--local_classified .region-selector__fallback {
        padding: 0 1rem 1rem;
    }
}

/* ==========================================================================
   Mobile responsive overrides
   ========================================================================== */

/* 平板断点（1024px）：listing_post 详情页双栏提前塌缩为单列，
   避免平板竖屏（~768-1024px）1fr+300px 过窄。仅作用 listing_post。 */
@media (max-width: 1024px) {
    .site-type--listing_post .listing-detail-layout {
        grid-template-columns: 1fr;
    }

    .site-type--listing_post .article-sidebar {
        order: 2;
    }
}

@media (max-width: 768px) {
    .container {
        overflow-x: hidden;
    }

    /* listing_post 首页移动端：列表区域靠负 margin 突破 container 的 1rem padding，
       左右仅留 2px。限定 .listing-home，不影响列表页 .listing-list-page。 */
    .site-type--listing_post .listing-home {
        margin-left: -0.875rem;
        margin-right: -0.875rem;
    }

    /* listing_post 移动端 header：收紧间距 */
    .site-header--listing_post .header-inner {
        gap: 0.5rem;
        flex-wrap: nowrap;
        align-items: center;
    }

    .site-header--listing_post .search-form input {
        width: 120px;
    }

    /* 分类导航默认隐藏，点击汉堡按钮展开为下拉菜单 */
    .site-header--listing_post .nav-links {
        display: none;
        position: absolute;
        top: calc(100% + 6px);
        right: 0.5rem;
        left: auto;
        width: auto;
        min-width: 160px;
        max-height: 70vh;
        overflow-y: auto;
        flex-direction: column;
        gap: 0;
        background: #fff;
        padding: 0.25rem 0;
        border-radius: 8px;
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
        z-index: 200;
    }

    .site-header--listing_post .nav-links--open {
        display: flex;
    }

    .site-header--listing_post .nav-links a {
        display: block;
        padding: 0.5rem 1.125rem;
        font-size: 0.9375rem;
        color: #3c4043;
        white-space: nowrap;
    }

    .site-header--listing_post .nav-links a:hover {
        background: rgba(247, 59, 66, 0.06);
        color: #F73B42;
    }

    /* 汉堡按钮：移动端显示 */
    .site-header--listing_post .nav-toggle {
        display: inline-flex;
    }

    .site-header--listing_post .nav-toggle--active .nav-toggle__bar:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .site-header--listing_post .nav-toggle--active .nav-toggle__bar:nth-child(2) {
        opacity: 0;
    }

    .site-header--listing_post .nav-toggle--active .nav-toggle__bar:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .site-header--listing_post .login-link {
        display: none;
    }

    .listing-home .category-grid {
        display: none;
    }

    .listing-home__hero {
        padding-bottom: 0;
    }

    .listing-home__hero .search-hero {
        padding-bottom: 2.4375rem;
    }

    .listing-layout .section-header {
        display: none;
    }

    .site-header--news .header-inner {
        flex-wrap: nowrap;
        gap: 0.5rem;
        align-items: center;
        /* 固定高度，搜索展开/收起同高零跳动 */
        height: 56px;
        padding-top: 0;
        padding-bottom: 0;
    }

    .site-header--news .nav-links {
        order: 0;
        flex: 1;
        width: auto;
        overflow-x: auto;
        overflow-y: hidden;
        flex-wrap: nowrap;
        white-space: nowrap;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        cursor: grab;
        border: none;
        padding: 0;
        margin: 0;
        line-height: 1;
        /* 右缘渐隐，提示可横向滑动 */
        -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent);
        mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent);
    }

    .site-header--news .nav-links::-webkit-scrollbar {
        display: none;
    }

    .site-header--news .nav-links:active {
        cursor: grabbing;
    }

    .site-header--news .nav-links li {
        display: inline-block;
    }

    .site-header--news .header-actions {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    /* 手机端搜索：收起态只显示放大镜 */
    .site-header--news .search-form {
        display: flex;
        align-items: center;
        border: none;
        width: auto;
    }

    .site-header--news .search-form input {
        width: 0;
        padding: 0;
        border: none;
        opacity: 0;
        transition: width 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
    }

    .site-header--news .search-form .search-form__submit,
    .site-header--news .search-form .search-form__cancel {
        display: none;
    }

    .site-header--news .search-form__toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: none;
        border: none;
        color: #7183A0;
        padding: 0.375rem;
        cursor: pointer;
    }

    /* 展开态：搜索条覆盖整个顶部（.site-header 为 sticky 定位祖先） */
    .site-header--news .search-form--expanded {
        position: absolute;
        inset: 0;
        z-index: 110;
        background: #fff;
        border: none;
        border-radius: 0;
        display: flex;
        align-items: center;
        gap: 0.625rem;
        padding: 0 0.75rem;
        overflow: visible;
    }

    .site-header--news .search-form--expanded input {
        flex: 1;
        width: auto;
        opacity: 1;
        padding: 0.5rem 3rem 0.5rem 2.4rem;
        font-size: 0.875rem;
        border: none;
        border-radius: 999px;
        background: #f4f6fb url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23959DB3" stroke-width="2" stroke-linecap="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>') no-repeat 0.9rem center;
    }

    .site-header--news .search-form--expanded #searchToggle {
        display: none;
    }

    .site-header--news .search-form--expanded .search-form__submit {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: 4rem;
        top: 50%;
        transform: translateY(-50%);
        width: 30px;
        height: 30px;
        border-radius: 50%;
        background: var(--color-primary, #1a73e8);
        color: #fff;
        padding: 0;
    }

    .site-header--news .search-form--expanded .search-form__cancel {
        display: inline-flex;
        align-items: center;
        background: none;
        border: none;
        color: #3c4043;
        font-size: 0.875rem;
        white-space: nowrap;
        padding: 0.25rem;
        cursor: pointer;
    }

    .site-header--news .search-form button {
        padding: 0.375rem;
    }

    .site-header--news .login-link {
        display: none;
    }

    /* newsTwo 移动端 header：与 news 一致 */
    .site-header--newsTwo .header-inner {
        flex-wrap: nowrap;
        gap: 0.5rem;
        align-items: stretch;
    }

    .site-header--newsTwo .header-row {
        gap: 0.5rem;
    }

    /* 手机端：导航默认隐藏，点击汉堡按钮展开为紧凑下拉菜单（靠左） */
    .site-header--newsTwo .nav-links {
        display: none;
        position: absolute;
        top: calc(100% + 6px);
        left: 0.75rem;
        right: auto;
        width: auto;
        min-width: 140px;
        max-height: 70vh;
        overflow-y: auto;
        flex-direction: column;
        gap: 0;
        background: #fff;
        padding: 0.25rem 0;
        border-radius: 8px;
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
        z-index: 200;
    }

    .site-header--newsTwo .nav-links--open {
        display: flex;
    }

    .site-header--newsTwo .nav-links li {
        display: block;
    }

    .site-header--newsTwo .nav-links a {
        display: block;
        padding: 0.4375rem 1.125rem;
        font-size: 0.9375rem;
        line-height: 1.4;
        color: #3c4043;
        white-space: nowrap;
    }

    .site-header--newsTwo .nav-links a[aria-current="page"] {
        color: var(--color-primary, #0D55E7);
        font-weight: 600;
    }

    /* 汉堡按钮：手机端显示 */
    .site-header--newsTwo .nav-toggle {
        display: inline-flex;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        width: 32px;
        height: 32px;
        padding: 0;
        background: none;
        border: none;
        cursor: pointer;
        flex-shrink: 0;
    }

    .site-header--newsTwo .nav-toggle__bar {
        display: block;
        width: 22px;
        height: 2px;
        background: #fff;
        border-radius: 1px;
        transition: transform 0.25s ease, opacity 0.25s ease;
        margin: 0 auto;
    }

    /* 激活态：变为关闭（X）图标 */
    .site-header--newsTwo .nav-toggle--active .nav-toggle__bar:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }
    .site-header--newsTwo .nav-toggle--active .nav-toggle__bar:nth-child(2) {
        opacity: 0;
    }
    .site-header--newsTwo .nav-toggle--active .nav-toggle__bar:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .site-header--newsTwo .header-actions {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-left: auto;
    }

    .site-header--newsTwo .search-form {
        display: flex;
        align-items: center;
        border: none;
        width: auto;
    }

    .site-header--newsTwo .search-form input {
        width: 0;
        flex: none;
        padding: 0;
        border: none;
        opacity: 0;
        transition: width 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
    }

    .site-header--newsTwo .search-form--expanded input {
        width: 200px;
        flex: 0 0 200px;
        padding: 0.375rem 0.75rem;
        opacity: 1;
        border: 1px solid #dadce0;
        border-radius: 12px 0 0 12px;
    }

    .site-header--newsTwo .search-form button {
        padding: 0.375rem;
    }

    .site-header--newsTwo .login-link {
        display: none;
    }

    /* 地方站移动端 header：只留 Logo + 地区 + 搜索图标；
       固定 56px 高，搜索展开/收起同高零跳动；天气/日期/登录隐藏 */
    .site-header--local_classified .header-inner {
        gap: 0.5rem;
        position: relative;
        height: 56px;
        padding-top: 0;
        padding-bottom: 0;
    }

    .site-header--local_classified .header-info {
        order: 2;
        flex: 1 1 auto;
        min-width: 0;
        justify-content: flex-end;
    }

    .site-header--local_classified .header-weather,
    .site-header--local_classified .header-date {
        display: none;
    }

    .site-header--local_classified .login-link {
        display: none;
    }

    /* 搜索：收起只显示放大镜 toggle，展开通栏覆盖整个 header */
    .site-header--local_classified .search-form {
        order: 3;
        border: none;
        width: auto;
        flex: 0 0 auto;
        display: flex;
        align-items: center;
    }

    .site-header--local_classified .search-form input {
        width: 0;
        padding: 0;
        border: none;
        opacity: 0;
        transition: width 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
    }

    .site-header--local_classified .search-form .search-form__submit,
    .site-header--local_classified .search-form .search-form__cancel {
        display: none;
    }

    .site-header--local_classified .search-form__toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: none;
        border: none;
        color: #3c4043;
        padding: 0.375rem;
        cursor: pointer;
    }

    .site-header--local_classified .search-form--expanded {
        position: absolute;
        inset: 0;
        z-index: 110;
        background: #fff;
        display: flex;
        align-items: center;
        gap: 0.625rem;
        padding: 0 0.75rem;
        border-radius: 0;
        overflow: visible;
    }

    .site-header--local_classified .search-form--expanded input {
        flex: 1;
        width: auto;
        opacity: 1;
        padding: 0.5rem 3rem 0.5rem 2.4rem;
        font-size: 0.875rem;
        border: none;
        border-radius: 999px;
        background: #f4f6fb url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23959DB3" stroke-width="2" stroke-linecap="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>') no-repeat 0.9rem center;
    }

    .site-header--local_classified .search-form--expanded .search-form__toggle {
        display: none;
    }

    .site-header--local_classified .search-form--expanded .search-form__submit {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: 4rem;
        top: 50%;
        transform: translateY(-50%);
        width: 30px;
        height: 30px;
        border-radius: 50%;
        background: var(--color-primary, #f98130);
        color: #fff;
        padding: 0;
    }

    .site-header--local_classified .search-form--expanded .search-form__cancel {
        display: inline-flex;
        align-items: center;
        background: none;
        border: none;
        color: #3c4043;
        font-size: 0.875rem;
        white-space: nowrap;
        padding: 0.25rem;
        cursor: pointer;
    }

    /* 地区树窄屏单列（全屏面板 ≤1024 的规则见上方媒体查询） */
    .site-header--local_classified .region-selector__tree {
        grid-template-columns: 1fr;
    }

    .site-header--local_classified .region-selector__cities {
        grid-template-columns: 1fr;
    }

    .site-header--local_classified .region-selector__fallback {
        grid-template-columns: repeat(2, 1fr);
    }

    /* 地方站首页（.lc-home）移动端：分类导航图标在上，卡片大图竖向，
       featured 标签叠图，meta 左右分栏 */
    .lc-home .category-grid {
        grid-template-columns: repeat(5, 1fr);
        gap: 0.625rem 0.25rem;
        background: transparent;
        padding: 0.375rem 0.25rem 0;
        margin-bottom: 0.375rem;
        border-radius: 0;
    }

    .lc-home .category-tile {
        flex-direction: column;
        gap: 0.375rem;
        padding: 0.25rem 0;
        background: transparent;
    }

    .lc-home .category-tile__icon {
        width: 52px;
        height: 52px;
        padding: 12px;
        box-sizing: border-box;
        background: #fff;
        border-radius: 14px;
        box-shadow: 0 1px 4px rgba(20, 30, 60, 0.07);
    }

    .lc-home .category-tile__name {
        font-size: 0.75rem;
        white-space: nowrap;
        color: #3c4043;
    }

    .lc-home .main-content .card {
        flex-direction: column;
        gap: 0.625rem;
        padding: 0.75rem;
        border-radius: 12px;
        margin-top: 0.625rem;
        border: 1px solid #EDF0F5;
    }

    .lc-home .listings .card:first-of-type {
        margin-top: 0;
    }

    .lc-home .card__image {
        position: relative;
        width: 100%;
    }

    .lc-home .card__image img {
        height: auto;
        aspect-ratio: 16 / 9;
        border-radius: 8px;
    }

    .lc-home .card__labels {
        margin-bottom: 0.25rem;
    }

    /* featured：标签纯 CSS 绝对定位叠到图上（DOM 不动，桌面端渲染不变）；
       :has(.card__image) 限定——无图 featured 卡保持行内标签，避免压字 */
    .lc-home .card--featured:has(.card__image) .card__labels {
        position: absolute;
        top: 1.375rem;
        left: 1.375rem;
        margin-bottom: 0;
        z-index: 2;
    }

    .lc-home .card--featured:has(.card__image) .card__label--hot {
        background: linear-gradient(135deg, #FF4D2E, #FF7A45);
        color: #fff;
        border: none;
        border-radius: 6px;
        padding: 0.1875rem 0.5rem;
    }

    .lc-home .card--featured:has(.card__image) .card__label--region {
        background: rgba(0, 0, 0, 0.55);
        color: #fff;
        border-radius: 6px;
        padding: 0.1875rem 0.5rem;
    }

    /* 非 featured：区标签改为粉色文字 */
    .lc-home .card:not(.card--featured) .card__label--region {
        background: transparent;
        color: #F53F5B;
        padding: 0.125rem 0;
        font-size: 0.75rem;
    }

    .lc-home .card__title {
        font-size: 1.0625rem;
        margin-bottom: 0.25rem;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .lc-home .card__summary {
        -webkit-line-clamp: 2;
        margin-bottom: 0;
    }

    /* meta 左右分栏：纯 CSS order（DOM 顺序 source → time → views 不动） */
    .lc-home .card__meta {
        justify-content: space-between;
        margin-top: 0.5rem;
        font-size: 0.75rem;
    }

    .lc-home .card__source {
        margin-right: auto;
    }

    .lc-home .card__views {
        order: 2;
    }

    .lc-home .card__date {
        order: 3;
    }

    .header-info {
        flex-wrap: wrap;
        gap: 0.5rem;
        font-size: 0.75rem;
    }

    .card {
        flex-direction: column;
    }

    .card__image {
        width: 100%;
    }

    .card__image img {
        height: 180px;
    }

    .card-row--double {
        grid-template-columns: 1fr 1fr;
    }

    .footer-inner {
        flex-direction: column;
        gap: 0.75rem;
        text-align: center;
    }

    /* Listing home 卡片：移动端三行上下布局
       第1行 badge+标题 / 第2行 标签 / 第3行 价格(左)+发布时间(右对齐) */
    .listing-home .card {
        padding: 9px 1rem;
        margin-top: 10px;
        position: relative;
        overflow: initial;
    }

    .listing-home .card__body {
        display: grid;
        grid-template-columns: 1fr auto auto;
        grid-template-areas:
            "top  top  top"
            "tags tags tags"
            "price region date";
        column-gap: 0.375rem;
        row-gap: 0.3rem;
        align-items: center;
    }

    /* footer 子元素提升到 card__body 的 grid 上下文，便于按行重排 */
    .listing-home .card__meta {
        display: contents;
    }

    .listing-home .card__top {
        grid-area: top;
    }

    /* 标题：移动端切换为 15 字模板截断版，桌面版隐藏；
       不再用单行 ellipsis，由模板精确控制字数 + ... */
    .listing-home .card__title-text--mobile {
        display: none;
    }

    .listing-home .card__title {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }

    /* 第2行：标签（source 作为标签）独占一行，保持原灰色纯文本样式 */
    .listing-home .card__tags-inline {
        grid-area: tags;
        display: inline;
    }

    /* 第3行：价格左对齐，地址、发布时间依次排在右侧 */
    .listing-home .card__price {
        grid-area: price;
        justify-self: start;
    }

    .listing-home .card__region {
        grid-area: region;
        display: inline;
        color: #8a8f99;
        font-size: 0.8125rem;
        white-space: nowrap;
    }

    .listing-home .card__date {
        grid-area: date;
        justify-self: end;
    }

    /* 时间去掉桌面端 meta 行的分隔点前缀 */
    .listing-home .card__date::before {
        content: none;
    }

    /* 移动端切换标题为 15 字截断版 */
    .listing-home .card__title-text {
        display: none;
    }

    .listing-home .card__title-text--mobile {
        display: inline;
    }

    .sidebar {
        display: none;
    }

    .listing-home .card::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: #fff;
        z-index: -1;
    }

    .listing-home .card::after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100%;
        background: #fff;
        z-index: -1;
    }

    .listing-home__hero .search-hero__region {
        /* display: block; */
    }

    /* 分页：移动端左对齐、隐藏次要辅助元素（共X条/每页条数/前往输入），
       只保留页码 + 上下页箭头，避免窄屏横向溢出 */
    .pagination {
        justify-content: center;
        flex-wrap: wrap;
        gap: 0.375rem;
    }

    .pagination__total,
    .pagination__size,
    .pagination__goto {
        display: none;
    }

    .pagination__page,
    .pagination__arrow {
        min-width: 1.75rem;
        height: 1.75rem;
    }

    /* ---- listing_post 移动端适配（作用域隔离，不影响 news/newsTwo/local_classified） ---- */

    /* 详情页侧边栏：覆盖全局 .sidebar{display:none}，让联系方式/热门房源/相似房源
       堆叠在正文下方正常显示（base.css 的 .sidebar{order:2} 保证排在正文后）。 */
    .site-type--listing_post .article-sidebar {
        display: block;
    }

    /* header：5rem gap 在手机严重浪费空间，收紧；搜索框固定 280px 改为 flex 自适应，
       避免窄屏溢出。首页 header 不渲染搜索框（header.html 逻辑），无副作用。 */
    .site-header--listing_post .header-inner {
        gap: 0.75rem;
    }

    .site-header--listing_post .search-form {
        flex: 1 1 auto;
        min-width: 0;
    }

    .site-header--listing_post .search-form input {
        width: auto;
        flex: 1 1 auto;
        min-width: 0;
    }

    /* 详情属性卡：5 列 flex 允许换行，避免窄屏挤成一条 */
    .listing-attr-grid {
        flex-wrap: wrap;
    }

    .listing-attr-card {
        flex: 1 1 calc(33.333% - 0.5rem);
        min-width: 0;
    }

    /* ---- listing-list-page 移动端适配（作用域隔离） ---- */

    /* 卡片：上图下文纵向堆叠 */
    .listing-list-page .card {
        flex-direction: column;
        gap: 0.625rem;
        padding: 0.75rem;
        margin-bottom: 0.625rem;
    }

    .listing-list-page .card__image {
        width: 100%;
        order: -1;
    }

    .listing-list-page .card__image img {
        width: 100%;
        height: 160px;
        border-radius: 6px;
    }

    /* 标题：移动端更紧凑，允许 2 行 */
    .listing-list-page .card__title {
        font-size: 0.9375rem;
        line-height: 1.4;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    /* 筛选区：折叠抽屉。默认收起 chip 面板，只显示 tab 行 */
    .listing-list-page .filters-bar {
        padding: 0.625rem 0.75rem;
        gap: 0;
    }

    .listing-list-page .filter-divider {
        display: none;
    }

    /* tab 行：横向排列，底部加细线 */
    .listing-list-page .filter-tabs {
        gap: 1.25rem;
        padding-bottom: 0.5rem;
        border-bottom: 1px solid #f0f1f3;
    }

    /* chip 面板：默认收起 */
    .listing-list-page .filter-panel {
        display: none;
        margin-top: 0.5rem;
    }

    .listing-list-page .filter-panel--active {
        display: flex;
    }

    /* chip 间距收紧 */
    .listing-list-page .filter-chip {
        padding: 0.25rem 0.625rem;
        font-size: 0.75rem;
    }

    /* 已选标签区：收紧间距 */
    .listing-list-page .selected-filters {
        gap: 0.375rem;
        margin: 0.5rem 0 0.75rem;
    }

    .listing-list-page .selected-chip {
        padding: 0.1875rem 0.4375rem 0.1875rem 0.5rem;
        font-size: 0.6875rem;
    }

    /* footer：价格与时间在窄屏收紧 */
    .listing-list-page .card__footer {
        gap: 0.375rem;
    }
}

/* 小屏手机断点（640px）：listing_post 极窄视口（360-414px）收紧
   首页搜索 hero 字号/间距、属性卡改 3 列网格、卡片价格区不被挤压。
   与 newsTwo 已有 640px 断点值对齐，仅作用 .listing-* 作用域。 */
@media (max-width: 640px) {
    /* 首页搜索 hero：收紧 padding，标题/副标题/热门搜索字号缩小避免换行过多 */
    .listing-home__hero .search-hero {
        padding: 2rem 0.75rem;
    }

    .listing-home__hero .search-hero__title {
        font-size: 1.25rem;
    }

    .listing-home__hero .search-hero__subtitle {
        font-size: 0.6875rem;
        margin-bottom: 0.875rem;
    }

    .listing-home__hero .search-hero__form {
        padding: 0.25rem;
    }

    .listing-home__hero .search-hero__form input {
        padding: 0.5rem 0.5rem;
        font-size: 0.875rem;
    }

    .listing-home__hero .search-hero__form button[type="submit"] {
        padding: 0.5rem 1rem;
        font-size: 0.875rem;
    }

    /* 地区选择器按钮文字过长收缩省略 */
    .listing-home__hero .search-hero__region-text {
        max-width: 4rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .listing-home__hero .popular-searches {
        font-size: 0.75rem;
    }

    .listing-home__hero .popular-searches a {
        margin: 0.125rem;
        padding: 0.125rem 0.375rem;
        font-size: 0.6875rem;
    }

    /* 详情属性卡：从 flex 换行改为 3 列网格，5 项在窄屏规整排列 */
    .listing-attr-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.5rem;
    }

    .listing-attr-card {
        flex: none;
    }

    /* 首页卡片：价格区不被挤压，信息区可收缩 */
    .listing-home .card__price {
        flex-shrink: 0;
    }

    /* 列表页卡片：极窄屏图片高度降低，避免占比过大 */
    .listing-list-page .card__image img {
        height: 130px;
    }
}

/* ==========================================================================
   newsTwo — 门户风格新闻站（头条区 + 信息流 + 排行侧边栏）
   作用域：.site-type--newsTwo，避免污染其它站点类型
   ========================================================================== */

/* newsTwo 大背景改为纯白 */
.site-type--newsTwo {
    background: #fff;
}

.site-type--newsTwo .newsTwo-home {
    /* 负 margin 抵消父级 .container 的 padding，内容铺满 1200px；
       内部用小 padding 保留视觉留白 */
    margin: 0 -1rem;
    padding: 1rem 0.5rem 2rem;
}

/* ---------- 顶部标题区块（导航条下方） ---------- */
.site-type--newsTwo .newsTwo-intro {
    padding: 1rem 0.5rem 1.25rem;
    text-align: center;
}

.site-type--newsTwo .newsTwo-intro__title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-text, #484A4F);
    margin: 0 0 0.5rem;
}

.site-type--newsTwo .newsTwo-intro__desc {
    font-size: 0.875rem;
    color: #5f6368;
    line-height: 1.7;
    margin: 0;
}

/* ---------- 横幅占位图（大图与要闻之间） ---------- */
.site-type--newsTwo .newsTwo-top-banner {
    display: block;
    margin-bottom: 1.25rem;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #e8eaed;
}

.site-type--newsTwo .newsTwo-top-banner img {
    display: block;
    width: 100%;
    height: 100px;
    object-fit: cover;
}

/* ---------- Hero 头条区：左大图 + 右热讯列表 ---------- */
.site-type--newsTwo .newsTwo-hero {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.site-type--newsTwo .newsTwo-hero__main {
    display: block;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
}

.site-type--newsTwo .newsTwo-hero__image {
    width: 100%;
    height: 380px;
    overflow: hidden;
}

.site-type--newsTwo .newsTwo-hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.site-type--newsTwo .newsTwo-hero__main:hover .newsTwo-hero__image img {
    transform: scale(1.04);
}

.site-type--newsTwo .newsTwo-hero__caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1.5rem 1.25rem 1.25rem;
    color: #fff;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.82) 0%,
        rgba(0, 0, 0, 0.4) 60%,
        rgba(0, 0, 0, 0) 100%
    );
}

.site-type--newsTwo .newsTwo-hero__badge {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    background: var(--color-primary, #0D55E7);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 3px;
    margin-bottom: 0.5rem;
}

.site-type--newsTwo .newsTwo-hero__title {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 0.375rem;
    color: #fff;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.site-type--newsTwo .newsTwo-hero__summary {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 0.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.site-type--newsTwo .newsTwo-hero__meta {
    display: flex;
    gap: 0.75rem;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.75);
}

/* 右侧热讯列表：标题 + 摘要，3 条 */
.site-type--newsTwo .newsTwo-hero__list {
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    height: 100%;
}

.site-type--newsTwo .newsTwo-hero__list-item {
    flex: 1;
    padding: 0.5rem 1rem;
}

.site-type--newsTwo .newsTwo-hero__list-item a {
    display: block;
    color: var(--color-text, #484A4F);
}

.site-type--newsTwo .newsTwo-hero__list-title {
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 0.375rem;
    color: var(--color-text, #484A4F);
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.site-type--newsTwo .newsTwo-hero__list-summary {
    font-size: 0.8125rem;
    color: #959DB3;
    line-height: 1.8;
    margin: 0;
}

.site-type--newsTwo .newsTwo-hero__list-item a:hover .newsTwo-hero__list-title {
    color: var(--color-primary, #0D55E7);
}

/* ---------- 主体两栏布局 ---------- */
.site-type--newsTwo .newsTwo-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 1.5rem;
    align-items: start;
}

/* 左列容器：四大块 + 列表 */
.site-type--newsTwo .newsTwo-main-col {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
}

/* 四大块占满左列宽度 */
.site-type--newsTwo .newsTwo-main-col .newsTwo-cat-blocks {
    width: 100%;
}

/* 最新文章侧边栏 */
.site-type--newsTwo .newsTwo-layout > .newsTwo-aside {
    align-self: start;
}

/* 左栏列表区：白色卡片背景 */
.site-type--newsTwo .newsTwo-main {
    background: #fff;
    border-radius: 8px;
    padding: 0.5rem 0.5625rem;
}

/* 区块标题 */
.site-type--newsTwo .newsTwo-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 2px solid var(--color-primary, #0D55E7);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
}

.site-type--newsTwo .newsTwo-section-head h2 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-text, #484A4F);
    margin: 0;
    display: flex;
    align-items: center;
}

/* 标题左侧蓝色竖条（与"热门新闻"一致） */
.site-type--newsTwo .newsTwo-section-head h2::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 1rem;
    background: var(--color-primary, #0D55E7);
    border-radius: 2px;
    margin-right: 0.5rem;
}

.site-type--newsTwo .newsTwo-section-more {
    font-size: 0.8125rem;
    color: #80868b;
}

.site-type--newsTwo .newsTwo-section-more:hover {
    color: var(--color-primary, #0D55E7);
}

/* ---------- 要闻列表：灰色圆点 + 标题，5 条一组，组间用线分隔 ---------- */
.site-type--newsTwo .newsTwo-headline-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-type--newsTwo .newsTwo-headline-item {
    padding: 0.375rem 0;
    font-size: 0.875rem;
    line-height: 1.5;
}

.site-type--newsTwo .newsTwo-headline-item a {
    position: relative;
    display: inline-block;
    padding-left: 0.875rem;
    color: var(--color-text, #484A4F);
}

/* 标题前的灰色圆点 */
.site-type--newsTwo .newsTwo-headline-item a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.5rem;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #C0C4CE;
}

.site-type--newsTwo .newsTwo-headline-item a:hover {
    color: var(--color-primary, #0D55E7);
}

/* 组间分隔线（上下间距加大） */
.site-type--newsTwo .newsTwo-headline-divider {
    height: 0;
    margin: 1.5rem 0;
    border-top: 1px solid #e8eaed;
    list-style: none;
}

/* ---------- 竖向大卡：两列网格 ---------- */
.site-type--newsTwo .newsTwo-card-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

/* ---------- 横向卡片信息流：纵向列表 ---------- */
.site-type--newsTwo .newsTwo-feed {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.site-type--newsTwo .newsTwo-card {
    overflow: hidden;
}

/* 竖向卡片：图在上 */
.site-type--newsTwo .newsTwo-card--vertical .newsTwo-card__media {
    display: block;
    position: relative;
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.site-type--newsTwo .newsTwo-card--vertical .newsTwo-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.site-type--newsTwo .newsTwo-card--vertical .newsTwo-card__body {
    padding: 0.75rem 0.875rem 0.875rem;
}

/* 横向卡片：左图右文 */
.site-type--newsTwo .newsTwo-card--horizontal {
    display: flex;
    gap: 0.75rem;
    padding: 0.375rem;
}

.site-type--newsTwo .newsTwo-card--horizontal .newsTwo-card__media {
    flex-shrink: 0;
    width: 220px;
    height: 140px;
    overflow: hidden;
    border-radius: 4px;
}

.site-type--newsTwo .newsTwo-card--horizontal .newsTwo-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.site-type--newsTwo .newsTwo-card--horizontal .newsTwo-card__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    text-align: left;
    padding: 0;
}

/* 卡片通用元素 */
.site-type--newsTwo .newsTwo-card__badge {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    padding: 0.125rem 0.5rem;
    background: var(--color-primary, #0D55E7);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 3px;
    z-index: 2;
}

.site-type--newsTwo .newsTwo-card__title {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 0.375rem;
}

.site-type--newsTwo .newsTwo-card--vertical .newsTwo-card__title {
    font-size: 1.0625rem;
}

.site-type--newsTwo .newsTwo-card__title a {
    color: var(--color-text, #484A4F);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.site-type--newsTwo .newsTwo-card__title a:hover {
    color: inherit;
}

.site-type--newsTwo .newsTwo-card__summary {
    font-size: 0.8125rem;
    color: #959DB3;
    line-height: 1.5;
    margin: 0 0 0.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.site-type--newsTwo .newsTwo-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
    font-size: 0.75rem;
    color: #B1B1B1;
    align-items: center;
    margin-top: auto; /* 沉到正文区底部，与图片底部对齐 */
}

.site-type--newsTwo .newsTwo-card__tag {
    display: inline-block;
    padding: 0.0625rem 0.4375rem;
    background: rgba(13, 85, 231, 0.1);
    color: var(--color-primary, #0D55E7);
    border-radius: 3px;
    font-size: 0.6875rem;
}

/* ---------- 右侧边栏 ---------- */
.site-type--newsTwo .newsTwo-aside {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.site-type--newsTwo .newsTwo-aside-section {
    padding: 1rem 1.125rem;
    background: #fff;
    border-radius: 8px;
}

.site-type--newsTwo .newsTwo-aside-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-text, #484A4F);
    margin: 0 0 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--color-primary, #0D55E7);
    display: flex;
    align-items: center;
}

.site-type--newsTwo .newsTwo-aside-title::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 1rem;
    background: var(--color-primary, #0D55E7);
    border-radius: 2px;
    margin-right: 0.5rem;
}

/* 热门排行列表 */
.site-type--newsTwo .newsTwo-rank-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.site-type--newsTwo .newsTwo-rank-item {
    display: flex;
    gap: 0.625rem;
    padding: 0.5rem 0;
}

.site-type--newsTwo .newsTwo-rank-num {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    line-height: 1.25rem;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 700;
    color: #A3A3A8;
    background: #F1F3F4;
    border-radius: 2px;
}

.site-type--newsTwo .newsTwo-rank-num--1 { background: var(--color-primary, #0D55E7); color: #fff; }
.site-type--newsTwo .newsTwo-rank-num--2 { background: #4C92FF; color: #fff; }
.site-type--newsTwo .newsTwo-rank-num--3 { background: #99C1FF; color: #fff; }

.site-type--newsTwo .newsTwo-rank-text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.site-type--newsTwo .newsTwo-rank-text a {
    font-size: 0.875rem;
    color: var(--color-text, #484A4F);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.site-type--newsTwo .newsTwo-rank-text a:hover {
    color: inherit;
}

.site-type--newsTwo .newsTwo-rank-meta {
    font-size: 0.75rem;
    color: #80868b;
}

/* 热门新闻底部固定占位图：带边框 */
.site-type--newsTwo .newsTwo-aside-banner {
    display: block;
    margin-top: 0.875rem;
    overflow: hidden;
    border: 1px solid #e8eaed;
    border-radius: 6px;
}

.site-type--newsTwo .newsTwo-aside-banner img {
    display: block;
    width: 100%;
    height: 120px;
    object-fit: cover;
}

/* 最快资讯时间线 */
.site-type--newsTwo .newsTwo-timeline {
    list-style: none;
    padding: 0;
    margin: 0;
    padding-left: 1rem;
    position: relative;
}

.site-type--newsTwo .newsTwo-timeline::before {
    content: "";
    position: absolute;
    left: 0.25rem;
    top: 0.375rem;
    bottom: 0.375rem;
    width: 1px;
    background: #edf0f2;
}

.site-type--newsTwo .newsTwo-timeline-item {
    position: relative;
    padding: 0.375rem 0 0.375rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.4;
}

.site-type--newsTwo .newsTwo-timeline-item::before {
    content: "";
    position: absolute;
    left: -0.75rem;
    top: 0.625rem;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--color-primary, #0D55E7);
}

.site-type--newsTwo .newsTwo-timeline-time {
    display: block;
    font-size: 0.75rem;
    color: #80868b;
    margin-bottom: 0.125rem;
}

.site-type--newsTwo .newsTwo-timeline-item a {
    color: var(--color-text, #484A4F);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.site-type--newsTwo .newsTwo-timeline-item a:hover {
    color: var(--color-primary, #0D55E7);
}

/* ---------- 响应式 ---------- */
@media (max-width: 1024px) {
    .site-type--newsTwo .newsTwo-hero {
        grid-template-columns: 1fr;
    }

    .site-type--newsTwo .newsTwo-hero__image {
        height: 300px;
    }

    .site-type--newsTwo .newsTwo-layout {
        grid-template-columns: 1fr;
    }

    /* 移动端四大块铺满全宽（layout 已单列） */
    .site-type--newsTwo .newsTwo-cat-blocks {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .site-type--newsTwo .newsTwo-hero__image {
        height: 220px;
    }

    .site-type--newsTwo .newsTwo-hero__title {
        font-size: 1.125rem;
    }

    .site-type--newsTwo .newsTwo-hero__summary {
        display: none;
    }

    .site-type--newsTwo .newsTwo-hero__list {
        padding: 0.75rem 1rem;
    }

    /* 竖向卡片网格塌缩为单列 */
    .site-type--newsTwo .newsTwo-card-grid {
        grid-template-columns: 1fr;
    }

    /* 列表页横向卡片：移动端改为上图下文（纵向堆叠） */
    .site-type--newsTwo .newsTwo-card--horizontal {
        flex-direction: column;
        gap: 0.5rem;
    }

    /* 图片铺满卡片宽度，高度按比例（16:9）展示 */
    .site-type--newsTwo .newsTwo-card--horizontal .newsTwo-card__media {
        width: 100%;
        height: 0;
        padding-bottom: 56.25%; /* 16:9 宽高比 */
        position: relative;
    }

    .site-type--newsTwo .newsTwo-card--horizontal .newsTwo-card__media img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* 移动端保留 2 行摘要，避免正文区过空 */
    .site-type--newsTwo .newsTwo-card--horizontal .newsTwo-card__summary {
        -webkit-line-clamp: 2;
    }
}

/* ==========================================================================
   newsTwo — 列表页（复用首页的卡片/侧边栏/区块标题样式，仅新增面包屑与计数）
   ========================================================================== */

/* 页面大背景色 */
.site-type--newsTwo {
    background: #F2F5FE;
}

/* 列表页 main 去掉顶部 padding，让 banner 紧贴导航 */
.site-type--newsTwo main[role="main"]:has(.newsTwo-list) {
    padding-top: 0;
}

.site-type--newsTwo .newsTwo-list {
    padding: 0;
}

/* 列表页顶部 Banner 图（紧贴导航，铺满全宽，高度约 300px） */
.site-type--newsTwo .newsTwo-banner {
    /* 负 margin 突破外层 .container 限制，铺满全屏；顶部贴导航无间距 */
    margin: 0 calc(-1 * (clamp(1rem, 4vw, 4rem) + 1rem)) 1rem;
    padding: 0;
    border-radius: 0;
    overflow: hidden;
    background: #f1f3f4;
    height: 300px;
}

.site-type--newsTwo .newsTwo-banner__link {
    display: block;
    height: 100%;
}

.site-type--newsTwo .newsTwo-banner__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 移动端 banner：宽度铺满，高度适当降低 */
@media (max-width: 640px) {
    .site-type--newsTwo .newsTwo-banner {
        margin: 0 -1rem 1rem;
        height: 180px;
    }
}

/* ===== 四大分类入口块（列表上方，与左栏同宽，一行四个，仅居中标题） ===== */
.site-type--newsTwo .newsTwo-cat-blocks {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.625rem;
    margin-bottom: 1rem;
    width: calc(100% - 320px - 1.5rem); /* 与下方列表左栏同宽（layout 为 1fr 320px + 1.5rem gap） */
}

.site-type--newsTwo .newsTwo-cat-block {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 96px;
    padding: 1rem 0.5rem;
    border-radius: 8px;
    text-decoration: none;
    color: #fff;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(13, 85, 231, 0.1);
}

.site-type--newsTwo .newsTwo-cat-block__label {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
}

/* 四块各异的渐变背景 */
.site-type--newsTwo .newsTwo-cat-block--1 {
    background: linear-gradient(135deg, #0D55E7 0%, #4A90F4 100%);
}
.site-type--newsTwo .newsTwo-cat-block--2 {
    background: linear-gradient(135deg, #6A3CE0 0%, #9B6CF0 100%);
}
.site-type--newsTwo .newsTwo-cat-block--3 {
    background: linear-gradient(135deg, #0EA5A4 0%, #3FCFBE 100%);
}
.site-type--newsTwo .newsTwo-cat-block--4 {
    background: linear-gradient(135deg, #F2711C 0%, #FF9F43 100%);
}

/* 移动端：2×2 网格 */
@media (max-width: 640px) {
    .site-type--newsTwo .newsTwo-cat-blocks {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.5rem;
    }

    .site-type--newsTwo .newsTwo-cat-block {
        min-height: 76px;
        padding: 0.625rem 0.375rem;
    }

    /* 缩小各区块上下间距：四大块↔列表、列表↔最新文章 */
    .site-type--newsTwo .newsTwo-cat-blocks {
        margin-bottom: 0.5rem;
    }

    .site-type--newsTwo .newsTwo-main-col {
        gap: 0.5rem;
    }

    .site-type--newsTwo .newsTwo-layout {
        gap: 0.5rem;
    }
}

/* 面包屑 */
.site-type--newsTwo .newsTwo-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    color: #80868b;
    padding: 0.25rem 0 0.875rem;
}

.site-type--newsTwo .newsTwo-breadcrumb a {
    color: #80868b;
}

.site-type--newsTwo .newsTwo-breadcrumb a:hover {
    color: inherit;
}

.site-type--newsTwo .newsTwo-breadcrumb__sep {
    color: #C0C4CE;
    font-size: 0.75rem;
}

.site-type--newsTwo .newsTwo-breadcrumb__current {
    color: var(--color-text, #484A4F);
    font-weight: 500;
}

/* 区块标题右侧计数（覆盖首页的“查看更多”，列表页显示条数） */
.site-type--newsTwo .newsTwo-section-count {
    font-size: 0.8125rem;
    color: #80868b;
}

/* 列表页分页：与内容区间距 */
.site-type--newsTwo .newsTwo-list .pagination {
    margin-top: 1.5rem;
}

/* 移动端：缩小分页与上方列表的间距 */
@media (max-width: 640px) {
    .site-type--newsTwo .newsTwo-list .pagination {
        margin-top: 0.5rem;
        padding-top: 0.25rem;
    }
}

/* ==========================================================================
   newsTwo 详情页（newsTwo-detail）
   头部 banner 与列表页共用 newsTwo-list 结构，复用全宽 banner 样式。
   正文居中，面包屑位于正文上方（横排），文字右对齐贴合正文右边。
   ========================================================================== */

/* 单栏容器：限正文可读宽度，整体居中 */
.site-type--newsTwo .newsTwo-detail-layout {
    display: block;
    max-width: 800px;
    margin: 0 auto;
}

/* 面包屑：正文上方横排，文字右对齐贴合正文右边 */
.site-type--newsTwo .newsTwo-detail .newsTwo-breadcrumb--aside {
    justify-content: flex-end;
    padding: 0 0 0.875rem;
    font-size: 0.8125rem;
}

/* 文章区：白色卡片背景（与列表页 .newsTwo-main 一致） */
.site-type--newsTwo .newsTwo-detail .newsTwo-detail-main {
    background: #fff;
    border-radius: 8px;
    padding: 1.5rem 2rem;
}

/* 文章标题 */
.site-type--newsTwo .newsTwo-detail-title {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.4;
    color: var(--color-text, #484A4F);
    margin: 0 0 0.75rem;
}

/* 标题下方 meta 行：时间 / 来源 / 阅读量 / 作者 / 点赞 */
.site-type--newsTwo .newsTwo-detail-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.875rem;
    padding-bottom: 0.875rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid #f1f3f4;
    font-size: 0.8125rem;
    color: #80868b;
}

.site-type--newsTwo .newsTwo-detail-meta time {
    color: #80868b;
}

/* 正文排版：行高、段落间距、图片、标题层级 */
.site-type--newsTwo .newsTwo-detail-body {
    font-size: 1rem;
    line-height: 1.85;
    color: #3c4043;
    word-break: break-word;
}

.site-type--newsTwo .newsTwo-detail-body p {
    margin-bottom: 1rem;
}

.site-type--newsTwo .newsTwo-detail-body h2,
.site-type--newsTwo .newsTwo-detail-body h3,
.site-type--newsTwo .newsTwo-detail-body h4 {
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    font-weight: 700;
    color: var(--color-text, #484A4F);
}

.site-type--newsTwo .newsTwo-detail-body h2 { font-size: 1.25rem; }
.site-type--newsTwo .newsTwo-detail-body h3 { font-size: 1.125rem; }

.site-type--newsTwo .newsTwo-detail-body img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    margin: 0.75rem 0;
}

.site-type--newsTwo .newsTwo-detail-body a {
    color: var(--color-primary, #0D55E7);
}

.site-type--newsTwo .newsTwo-detail-body ul,
.site-type--newsTwo .newsTwo-detail-body ol {
    margin: 0.5rem 0 1rem;
    padding-left: 1.5rem;
    list-style: disc;
}

.site-type--newsTwo .newsTwo-detail-body ol { list-style: decimal; }

.site-type--newsTwo .newsTwo-detail-body li {
    margin-bottom: 0.25rem;
}

/* 移动端：正文标题、卡片内边距收窄 */
@media (max-width: 640px) {
    .site-type--newsTwo .newsTwo-detail .newsTwo-detail-main {
        padding: 1rem 1rem;
    }

    .site-type--newsTwo .newsTwo-detail-title {
        font-size: 1.25rem;
    }

    .site-type--newsTwo .newsTwo-detail-body {
        font-size: 0.9375rem;
    }
}


/* ==========================================================================
   Small phone overrides (news only)
   ========================================================================== */

@media (max-width: 480px) {
    /* 小屏双排卡片（news 独有类）：保持 2 列，压缩图高与字号 */
    .card-row--double .card {
        padding: 0.5rem;
        gap: 0.375rem;
    }

    .card-row--double .card__image img {
        height: 110px;
    }

    .card-row--double .card__title {
        font-size: 0.9375rem;
    }

    .card-row--double .card__summary {
        -webkit-line-clamp: 1;
    }
}

/* ============ listing_post：关于我们页（左侧导航 + 右侧正文双栏） ============ */
.listing-about-banner {
    width: 100vw;
    max-width: 100vw;
    overflow: hidden;
    /* 16:9 比例：高度随视口宽度自动计算；大屏时封顶 420px 避免过高占满屏幕 */
    aspect-ratio: 16 / 9;
    max-height: 420px;
    /* 突破父级 .container 的 max-width:1200px 限制，横屏铺满全屏；
       同时用等量负 margin 抵消宽度变化导致的水平偏移，保持居中 */
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    /* 用负 margin 抵消 main 的 padding-top:0.75rem，让 banner 紧贴 header 无间隙 */
    margin-top: -0.75rem;
    margin-bottom: 0;
    position: relative;
    left: 0;
    right: 0;
}
/* 有真实封面图时：按 16:9 容器铺满展示 */
.listing-about-banner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* 内联 SVG 兜底 banner（无封面图时）：铺满 16:9 容器 */
.listing-about-banner svg.listing-about-banner__fallback {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* banner 与下方正文之间留出呼吸间距（banner 自身已清零 margin） */
.listing-about-layout {
    margin-top: 1.5rem;
}
.listing-about-layout {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 2rem;
    max-width: 1100px;
    margin: 0 auto;
    padding: 1rem 1rem 2rem;
    align-items: start;
}

/* 左侧导航 */
.listing-about-sidenav {
    position: sticky;
    top: 1rem;
    background: #f7f8fa;
    border-radius: 8px;
    padding: .6rem;
}
.listing-about-sidenav ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.listing-about-sidenav li + li { margin-top: 2px; }
.listing-about-sidenav a {
    display: block;
    padding: .6rem .8rem;
    border-radius: 6px;
    color: #475467;
    font-size: .9rem;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}
.listing-about-sidenav a:hover {
    background: rgba(0, 0, 0, .04);
    color: #1d2939;
}
.listing-about-sidenav a[aria-current="page"] {
    background: var(--color-primary, #f73b42);
    color: #fff;
    font-weight: 500;
}

/* 右侧正文区 */
.listing-about-main { min-width: 0; }
.listing-about-breadcrumb {
    font-size: .8rem;
    color: #98a2b3;
    margin-bottom: .6rem;
}
.listing-about-breadcrumb a {
    color: #98a2b3;
    text-decoration: none;
}
.listing-about-breadcrumb a:hover { color: var(--color-primary, #f73b42); }
.listing-about-breadcrumb span[aria-hidden] { margin: 0 .3rem; }

.listing-about-content__title {
    display: inline-block;
    font-size: 1.6rem;
    color: #1d2939;
    margin: 0 0 .75rem;
    padding-bottom: .5rem;
    border-bottom: 2px solid var(--color-primary, #f73b42);
}

.listing-about-section { margin-bottom: 2rem; }
.listing-about-section h2 {
    font-size: 1.1rem;
    color: #1d2939;
    margin: 0 0 .8rem;
    padding-left: .6rem;
    border-left: 3px solid var(--color-primary, #f73b42);
}
.listing-about-intro {
    color: #475467;
    font-size: .9rem;
    line-height: 2;
    margin: 0;
    overflow-wrap: break-word;
    word-break: break-word;
}
.listing-about-empty {
    color: #98a2b3;
    font-size: .875rem;
    margin: 0;
}
.listing-about-richtext {
    color: #475467;
    font-size: .9rem;
    line-height: 2;
}
.listing-about-richtext > :first-child { margin-top: 0; }
.listing-about-richtext > :last-child { margin-bottom: 0; }
.listing-about-richtext p,
.listing-about-richtext ul,
.listing-about-richtext ol,
.listing-about-richtext blockquote { margin: 0 0 1rem; }
.listing-about-richtext h1,
.listing-about-richtext h2,
.listing-about-richtext h3 {
    color: #1d2939;
    line-height: 1.5;
    margin: 1.5rem 0 .75rem;
}
.listing-about-richtext h1 { font-size: 1.35rem; }
.listing-about-richtext h2 { font-size: 1.1rem; }
.listing-about-richtext h3 { font-size: 1rem; }
.listing-about-richtext ul,
.listing-about-richtext ol { padding-left: 1.5rem; }
.listing-about-richtext a {
    color: var(--color-primary, #f73b42);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.listing-about-richtext blockquote {
    border-left: 3px solid var(--color-primary, #f73b42);
    color: #667085;
    padding: .25rem 0 .25rem 1rem;
}
.listing-about-regions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.listing-about-regions li {
    background: #f2f4f7;
    color: #475467;
    font-size: .85rem;
    padding: .35rem .9rem;
    border-radius: 1rem;
}
.listing-about-contact,
.listing-about-beian {
    margin: 0;
    padding: 0;
    list-style: none;
}
.listing-about-contact li,
.listing-about-beian li {
    color: #475467;
    font-size: .9rem;
    line-height: 2;
}
.listing-about-label {
    color: #98a2b3;
    display: inline-block;
    min-width: 4em;
}
.listing-about-beian a {
    color: var(--color-primary, #f73b42);
    text-decoration: none;
}
.listing-about-beian a:hover { text-decoration: underline; }

@media (max-width: 768px) {
    .listing-about-banner {
        height: 160px;
        margin-bottom: .5rem;
    }
    .listing-about-banner img {
        height: 100%;
        max-height: none;
        object-fit: cover;
    }
    .listing-about-layout {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: .5rem .5rem 2rem;
    }
    .listing-about-sidenav {
        position: static;
        padding: .6rem;
    }
    .listing-about-sidenav ul {
        display: flex;
        flex-wrap: wrap;
        gap: .4rem;
    }
    .listing-about-sidenav li + li { margin-top: 0; }
    .listing-about-sidenav a { padding: .4rem .7rem; }
    .listing-about-content__title { font-size: 1.3rem; }
    .listing-about-section h2 { font-size: 1rem; }
    .listing-about-intro { font-size: .875rem; line-height: 1.85; }
    .listing-about-richtext { font-size: .875rem; line-height: 1.85; }
    .listing-about-label { display: inline; min-width: auto; }
}
