/* ═══════════════════════════════════════════════════
   城市筛选改版样式 · 2026-07-25
   范围: 三行筛选卡 / 统一城市选择器 / 首页省份索引 / 页面 H1 标题区
   风格: 和现网一致(暗色主题 + 金色主调)
   配色取自现网 live 计算: bg#15151b / text#cccccd / gold#f8ba3f
   ═══════════════════════════════════════════════════ */

/* ===== 通用变量(对齐现网) ===== */
:root {
    --cf-bg-page: #080808;
    --cf-bg-card: #15151b;
    --cf-bg-card2: #1c1c24;
    --cf-text: #cccccd;
    --cf-text-dim: #6b7280;
    --cf-gold: #f8ba3f;
    --cf-gold-d: #d99a1f;
    --cf-gold-soft: rgba(248, 186, 63, 0.1);
    --cf-gold-line: rgba(248, 186, 63, 0.3);
    --cf-border: #2a2a35;
    --cf-radius: 0.25rem;
}

/* ===== 页面 H1 标题区(对齐原型 .hero:大字号衬线标题 + 副标题/简介,深色背景) ===== */
.cf-hero {
    margin: 0.75rem 0 0;
    padding: 0 0.75rem;
}

.cf-hero h1 {
    margin: 0;
    font-family: "Songti SC", "STSong", "Noto Serif SC", "SimSun", serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--cf-text);
    letter-spacing: 0.5px;
    line-height: 1.4;
}

/* H1 + 计数 同行容器(对齐原型 .listhead) */
.cf-hero-head {
    display: flex;
    align-items: baseline;
    gap: 0.625rem;
    flex-wrap: wrap;
    margin-bottom: 0.375rem;
}

/* 计数徽标(对齐原型 .listhead .n) */
.cf-hero-count {
    font-size: 0.78125rem;
    color: var(--cf-text-dim);
    white-space: nowrap;
}

.cf-hero h1 em {
    font-style: normal;
    margin-left: 0.625rem;
    color: var(--cf-text-dim);
    font-weight: 400;
    font-size: 1rem;
}

.cf-hero p {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--cf-text-dim);
    line-height: 1.7;
    max-width: 760px;
}

/* ===== 三行筛选卡 (filter-card) ===== */
.cf-filter-zone {
    position: sticky;
    top: 3.1rem;
    z-index: 10;
    background: var(--cf-bg-card);
    padding: 0.75rem;
    margin: 0.5rem 0;
    border-radius: var(--cf-radius);
}

.cf-filter-card {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.cf-filter-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.cf-row-label {
    flex: none;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--cf-text);
    white-space: nowrap;
    width: 3rem;
}

.cf-chips-scroll {
    flex: 1;
    min-width: 0;
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    align-items: center;
}

/* 横向滚动模式(同省快捷/区域行) */
.cf-chips-scroll.cf-horizontal {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--cf-border) transparent;
    padding-bottom: 2px;
}

.cf-chips-scroll.cf-horizontal::-webkit-scrollbar {
    height: 3px;
}

.cf-chips-scroll.cf-horizontal::-webkit-scrollbar-thumb {
    background: var(--cf-border);
    border-radius: 2px;
}

/* 筛选 chip — 胶囊链接(形状统一,背景区分状态) */
.cf-chip {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 2px 0.6rem;
    border-radius: 2rem;
    border: 1px solid transparent;
    background: transparent;
    color: var(--cf-text);
    font-size: 0.875rem;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.15s;
    text-decoration: none;
    line-height: 1.6;
}

.cf-chip:hover {
    background: var(--cf-gold-soft);
}

.cf-chip.cf-active {
    background: var(--cf-gold);
    border-color: var(--cf-gold);
    color: #1a1305;
    font-weight: 700;
}

/* 选中态 hover: 加深金色背景,字体颜色不变 */
.cf-chip.cf-active:hover {
    background: var(--cf-gold-d);
    border-color: var(--cf-gold-d);
    color: #fff !important;
}

/* 数量徽标(对齐原型 .chip .cnt) */
.cf-chip-cnt {
    font-size: 11px;
    color: var(--cf-text-dim);
    margin-left: 3px;
    font-weight: 400;
}

.cf-chip.cf-active .cf-chip-cnt {
    color: rgba(26, 19, 5, 0.7);
}

/* 触发按钮(选择城市) — 金色描边按钮(对齐现网 .p-btn) */
.cf-chip.cf-trigger {
    border: 1px solid var(--cf-gold);
    color: var(--cf-gold);
    background: transparent;
    border-radius: 2rem;
    padding: 2px 0.6rem;
    font-size: 0.75rem;
    font-weight: 400;
}

.cf-chip.cf-trigger:hover {
    background: var(--cf-gold-soft);
}

.cf-chip .cf-caret {
    font-size: 0.625rem;
    margin-left: 2px;
}

/* ===== 首页城市模块 ===== */
.cf-home-citymod {
    margin: 0.5rem 0;
    padding: 0.75rem;
    background: var(--cf-bg-card);
    border-radius: var(--cf-radius);
}

.cf-home-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    flex-wrap: wrap;
}

.cf-home-row:last-child {
    margin-bottom: 0;
}

.cf-home-row.cf-hot-row {
    flex-wrap: nowrap;
}

.cf-home-row .cf-row-label {
    width: auto;
}

.cf-home-label {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--cf-text);
    white-space: nowrap;
    flex: none;
}

.cf-hot-scroll {
    flex: 1;
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 2px 0;
    scrollbar-width: thin;
    scrollbar-color: var(--cf-border) transparent;
}

.cf-hot-scroll::-webkit-scrollbar {
    height: 3px;
}

.cf-hot-scroll::-webkit-scrollbar-thumb {
    background: var(--cf-border);
    border-radius: 2px;
}

/* "全部城市"按钮 — 对齐现网 .p-btn */
.cf-all-btn {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 0.6rem;
    border-radius: 2rem;
    border: 1px solid var(--cf-gold);
    color: var(--cf-gold);
    font-size: 0.75rem;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.15s;
    background: transparent;
}

.cf-all-btn:hover {
    background: var(--cf-gold-soft);
}

/* 收起式省份索引 */
.cf-seo-index {
    margin-top: 0.5rem;
    border-top: 1px dashed var(--cf-border);
    padding-top: 0.75rem;
}

.cf-seo-index summary {
    font-size: 0.75rem;
    color: var(--cf-text-dim);
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    user-select: none;
}

.cf-seo-index summary::-webkit-details-marker {
    display: none;
}

.cf-seo-index summary::before {
    content: "▶";
    font-size: 0.625rem;
    color: var(--cf-gold);
    transition: transform 0.2s;
}

.cf-seo-index[open] summary::before {
    transform: rotate(90deg);
}

.cf-seo-index summary:hover {
    color: var(--cf-gold);
}

.cf-seo-group {
    display: flex;
    gap: 1.5rem;
    margin-top: 0.625rem;
    font-size: 0.8125rem;
    align-items: baseline;
}

.cf-seo-label {
    color: var(--cf-text-dim);
    font-size: 0.8125rem;
    font-weight: 700;
    white-space: nowrap;
    flex: none;
    width: 3rem;
}

.cf-seo-group .cf-seo-cities {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.875rem;
}

.cf-seo-group .cf-seo-cities a {
    color: var(--cf-text);
    text-decoration: none;
    font-size: 0.8125rem;
    transition: color 0.15s;
}

.cf-seo-group .cf-seo-cities a:hover {
    color: var(--cf-gold);
}

/* ===== 统一城市选择器 ===== */
.cf-picker-mask {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.7);
    display: none;
    align-items: center;
    justify-content: center;
}

.cf-picker-mask.cf-show {
    display: flex;
}

.cf-picker {
    position: relative;
    width: min(760px, 94%);
    max-height: 88vh;
    background: var(--cf-bg-card);
    border: 1px solid var(--cf-border);
    border-radius: 0.5rem;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

@media (min-width: 761px) {
    .cf-picker {
        height: min(600px, 88vh);
    }
}

/* 选择器头部 */
.cf-picker-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 0.75rem 0;
}

.cf-picker-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--cf-text);
}

.cf-picker-sub {
    font-size: 0.75rem;
    color: var(--cf-text-dim);
}

.cf-picker-close {
    margin-left: auto;
    font-size: 1.1rem;
    color: var(--cf-text-dim);
    padding: 2px 8px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s;
    background: none;
    border: none;
}

.cf-picker-close:hover {
    color: var(--cf-gold);
    background: var(--cf-gold-soft);
}

/* 搜索框 */
.cf-picker-search {
    margin: 0.5rem 0.75rem 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--cf-bg-page);
    border: 1px solid var(--cf-border);
    border-radius: var(--cf-radius);
    padding: 0 0.5rem;
    transition: all 0.2s;
}

.cf-picker-search:focus-within {
    border-color: var(--cf-gold-line);
    box-shadow: 0 0 0 2px var(--cf-gold-soft);
}

.cf-picker-search input {
    flex: 1;
    border: none;
    background: none;
    outline: none;
    height: 2.25rem;
    font-size: 0.875rem;
    color: var(--cf-text);
    min-width: 0;
}

.cf-picker-search input::placeholder {
    color: var(--cf-text-dim);
    font-size: 0.8125rem;
}

.cf-picker-search .cf-search-icon {
    color: var(--cf-text-dim);
    font-size: 0.875rem;
}

/* 快捷区(热门+最近) */
.cf-picker-quick {
    padding: 0.5rem 0.75rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.cf-quick-row {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2px;
    scrollbar-width: thin;
    scrollbar-color: var(--cf-border) transparent;
}

.cf-quick-row .cf-quick-label {
    flex: none;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--cf-text);
    white-space: nowrap;
}

/* Tab 切换 */
.cf-picker-tabs {
    display: flex;
    gap: 1rem;
    padding: 0.5rem 0.75rem 0;
    border-bottom: 1px solid var(--cf-border);
}

.cf-picker-tabs button {
    font-size: 0.875rem;
    color: var(--cf-text-dim);
    padding: 0.25rem 0 0.5rem;
    position: relative;
    background: none;
    border: none;
    cursor: pointer;
    transition: color 0.15s;
}

.cf-picker-tabs button:hover {
    color: var(--cf-gold);
}

.cf-picker-tabs button.cf-tab-active {
    color: var(--cf-gold);
    font-weight: 700;
}

.cf-picker-tabs button.cf-tab-active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: var(--cf-gold);
    border-radius: 1px;
}

/* 选择器主体 */
.cf-picker-body {
    flex: 1;
    display: flex;
    min-height: 0;
    overflow: hidden;
}

/* 左侧省份栏 */
.cf-picker-rail {
    flex: none;
    width: 5rem;
    overflow-y: auto;
    border-right: 1px solid var(--cf-border);
    background: var(--cf-bg-page);
    padding: 0.25rem 0 0.75rem;
    scrollbar-width: thin;
    scrollbar-color: var(--cf-border) transparent;
}

.cf-rail-group {
    font-size: 0.6875rem;
    color: var(--cf-text-dim);
    letter-spacing: 1px;
    padding: 0.5rem 0.75rem 0.25rem;
    position: sticky;
    top: 0;
    background: var(--cf-bg-page);
}

.cf-rail-item {
    display: block;
    width: 100%;
    text-align: left;
    padding: 0.35rem 0.75rem;
    font-size: 0.8125rem;
    color: var(--cf-text);
    border-left: 3px solid transparent;
    transition: all 0.15s;
    background: none;
    border-top: none;
    border-right: none;
    border-bottom: none;
    cursor: pointer;
}

.cf-rail-item:hover {
    color: var(--cf-gold);
}

.cf-rail-item.cf-rail-active {
    color: var(--cf-gold);
    background: var(--cf-bg-card);
    border-left-color: var(--cf-gold);
    font-weight: 700;
}

/* 右侧城市网格 */
.cf-picker-cities {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem 0.75rem 0.75rem;
    scrollbar-width: thin;
    scrollbar-color: var(--cf-border) transparent;
}

.cf-city-panel-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.cf-city-panel-head b {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--cf-text);
}

.cf-city-panel-head .cf-province-all {
    padding: 2px 0.5rem;
    border-radius: 4px;
    border: 1px solid var(--cf-gold);
    color: var(--cf-gold);
    font-size: 0.75rem;
    cursor: pointer;
    transition: all 0.15s;
    text-decoration: none;
    background: transparent;
}

.cf-city-panel-head .cf-province-all:hover {
    background: var(--cf-gold-soft);
}

.cf-city-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(4.5rem, 1fr));
    gap: 0.375rem;
}

/* 城市项 — 暗色卡片风格 */
.cf-city-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 0.35rem 0.25rem;
    border-radius: var(--cf-radius);
    border: 1px solid var(--cf-border);
    background: var(--cf-bg-card2);
    font-size: 0.8125rem;
    color: var(--cf-text-dim);
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
    text-decoration: none;
}

.cf-city-item:hover {
    border-color: var(--cf-gold-line);
    color: var(--cf-gold);
}

.cf-city-item.cf-has-data {
    color: var(--cf-text);
}

.cf-city-item:not(.cf-has-data),
.cf-city-item:not(.cf-has-data):hover {
    color: var(--cf-text-dim);
    border-color: var(--cf-border);
    background: var(--cf-bg-card2);
    opacity: 0.62;
}

.cf-chip.cf-city-unavailable {
    color: var(--cf-text-dim);
    border-color: var(--cf-border);
    background: var(--cf-bg-card2);
}

.cf-chip.cf-city-unavailable:hover {
    color: var(--cf-text-dim);
    border-color: var(--cf-border);
    background: var(--cf-bg-card2);
}

.cf-city-item.cf-has-data::before {
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--cf-gold);
    flex: none;
}

.cf-city-item .cf-city-count {
    min-width: 1rem;
    padding: 0 0.25rem;
    border-radius: 0.625rem;
    background: rgba(217, 168, 70, 0.16);
    color: var(--cf-gold);
    font-size: 0.625rem;
    line-height: 1.25rem;
    text-align: center;
}

.cf-city-item.cf-city-active {
    background: var(--cf-gold);
    border-color: var(--cf-gold);
    color: #1a1305;
    font-weight: 700;
}

.cf-city-item.cf-city-active::before {
    background: #1a1305;
}

.cf-city-item .cf-city-prov {
    font-size: 0.625rem;
    color: var(--cf-text-dim);
}

.cf-city-item.cf-city-active .cf-city-prov {
    color: rgba(26, 19, 5, 0.7);
}

/* A-Z 字母索引视图 */
.cf-picker-az {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem 0.75rem 0.75rem;
    display: none;
    scrollbar-width: thin;
    scrollbar-color: var(--cf-border) transparent;
}

.cf-az-bar {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    gap: 2px;
    flex-wrap: wrap;
    background: var(--cf-bg-card);
    padding: 2px 0 0.375rem;
    border-bottom: 1px solid var(--cf-border);
    margin-bottom: 0.5rem;
}

.cf-az-bar button {
    min-width: 1.5rem;
    height: 1.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    color: var(--cf-text-dim);
    background: none;
    border: none;
    cursor: pointer;
    transition: all 0.15s;
}

.cf-az-bar button:hover {
    background: var(--cf-gold-soft);
    color: var(--cf-gold);
}

.cf-az-group {
    margin-bottom: 0.75rem;
}

.cf-az-group .cf-az-letter {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--cf-gold);
    margin-bottom: 0.375rem;
}

/* 搜索结果 */
.cf-picker-results {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem 0.75rem 0.75rem;
    display: none;
    scrollbar-width: thin;
    scrollbar-color: var(--cf-border) transparent;
}

.cf-picker-results .cf-no-results {
    color: var(--cf-text-dim);
    font-size: 0.8125rem;
    text-align: center;
    padding: 1.5rem 0;
}

.cf-picker-results .cf-highlight {
    color: var(--cf-gold);
    font-weight: 700;
}

/* 选择器底部 */
.cf-picker-foot {
    flex: none;
    border-top: 1px solid var(--cf-border);
    padding: 0.375rem 0.75rem;
    font-size: 0.6875rem;
    color: var(--cf-text-dim);
    display: flex;
    gap: 0.875rem;
    align-items: center;
}

.cf-picker-foot .cf-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--cf-gold);
    display: inline-block;
    margin-right: 4px;
}

/* ===== 信息列表空状态 ===== */
.cf-empty-list-card {
    align-items: stretch;
}

.cf-empty-list-card > .ant-spin-nested-loading {
    width: 100%;
}

.cf-empty-state {
    margin: 0.5rem 0.75rem 0.75rem;
    padding: 2.375rem 1.25rem;
    border: 1px dashed var(--cf-border);
    border-radius: 0.75rem;
    background: var(--cf-bg-card);
    text-align: center;
}

.cf-empty-big {
    margin-bottom: 0.5rem;
    color: var(--cf-gold);
    font-size: 2.125rem;
    line-height: 1;
}

.cf-empty-state b {
    display: block;
    font-family: "Songti SC", "STSong", "Noto Serif SC", "SimSun", serif;
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: 0.5px;
    color: var(--cf-text);
}

.cf-empty-state p {
    max-width: 34rem;
    margin: 0.375rem auto 0.875rem;
    color: var(--cf-text-dim);
    font-size: 0.8125rem;
    line-height: 1.7;
}

.cf-empty-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
}

.cf-empty-actions .cf-chip {
    min-height: 2rem;
    padding: 0.3rem 0.75rem;
    border: 1px solid var(--cf-border);
}

.cf-empty-actions .cf-chip.cf-active,
.cf-empty-actions .cf-chip.cf-trigger {
    border-color: var(--cf-gold);
}

.cf-empty-nearby {
    margin-top: 1rem;
}

.cf-empty-nearby p {
    margin-top: 0;
    margin-bottom: 0.5rem;
    color: var(--cf-text-dim);
    font-size: 0.8125rem;
}

.cf-empty-city-row {
    max-width: 36rem;
    margin: 0 auto;
}

/* ===== H5 适配 (≤760px) ===== */
@media (max-width: 760px) {
    .cf-hero h1 {
        font-size: 1.25rem;
    }

    .cf-hero h1 em {
        display: block;
        margin-left: 0;
        margin-top: 0.125rem;
    }

    .cf-filter-zone {
        top: 2.5rem;
        padding: 0.5rem;
        border-radius: 0;
    }

    .cf-row-label {
        width: 2.5rem;
        font-size: 0.8125rem;
    }

    .cf-chip {
        font-size: 0.8125rem;
    }

    .cf-home-citymod {
        padding: 0.5rem;
        border-radius: 0;
    }

    .cf-picker {
        width: 100%;
        max-height: none;
        height: 100%;
        border-radius: 0;
        border: none;
    }

    .cf-picker-mask {
        align-items: stretch;
        justify-content: stretch;
    }

    .cf-picker-head {
        min-height: 3.25rem;
        padding: 0.75rem 0.875rem 0;
    }

    .cf-picker-title {
        font-size: 1.125rem;
    }

    .cf-picker-close {
        min-width: 2.75rem;
        min-height: 2.75rem;
        padding: 0;
        font-size: 1.25rem;
    }

    .cf-picker-search {
        margin: 0.75rem 0.875rem 0;
        border-radius: 0.5rem;
        padding: 0 0.75rem;
    }

    .cf-picker-search input {
        height: 2.75rem;
        font-size: 1rem;
    }

    .cf-picker-quick {
        padding: 0.625rem 0.875rem 0;
    }

    .cf-quick-row .cf-chip {
        min-height: 2.25rem;
        padding: 0.35rem 0.75rem;
    }

    .cf-picker-tabs {
        gap: 1.25rem;
        padding: 0.5rem 0.875rem 0;
    }

    .cf-picker-tabs button {
        min-height: 2.75rem;
        padding: 0.5rem 0 0.625rem;
        font-size: 0.9375rem;
    }

    .cf-picker-rail {
        width: 6.5rem;
        padding: 0.375rem 0 1rem;
    }

    .cf-rail-item {
        min-height: 2.75rem;
        padding: 0.625rem 0.75rem;
        font-size: 0.875rem;
    }

    .cf-picker-cities,
    .cf-picker-az,
    .cf-picker-results {
        padding: 0.75rem 0.875rem 1rem;
    }

    .cf-city-panel-head {
        min-height: 2.5rem;
        margin-bottom: 0.625rem;
    }

    .cf-city-panel-head .cf-province-all {
        min-height: 2rem;
        padding: 0.3rem 0.625rem;
    }

    .cf-city-grid {
        grid-template-columns: repeat(auto-fill, minmax(5.875rem, 1fr));
        gap: 0.5rem;
    }

    .cf-city-item {
        min-height: 2.75rem;
        padding: 0.5rem 0.375rem;
        font-size: 0.875rem;
        border-radius: 0.5rem;
    }

    .cf-az-bar {
        gap: 0.25rem;
        padding: 0.25rem 0 0.5rem;
    }

    .cf-az-bar button {
        min-width: 2rem;
        height: 2rem;
        font-size: 0.8125rem;
    }

    .cf-picker-foot {
        display: none;
    }

    .cf-empty-state {
        margin: 0.5rem 0 0.75rem;
        padding: 2rem 0.75rem;
        border-radius: 0.5rem;
    }

    .cf-empty-big {
        font-size: 2rem;
    }

    .cf-empty-state b {
        font-size: 1rem;
    }

    .cf-empty-state p {
        margin-bottom: 0.875rem;
    }

    .cf-empty-actions .cf-chip {
        min-height: 44px;
        padding: 0.45rem 0.95rem;
        font-size: 0.875rem;
    }

    .cf-empty-city-row {
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        max-width: none;
        padding-bottom: 0.25rem;
        -webkit-overflow-scrolling: touch;
    }

    .cf-empty-city-row .cf-chip {
        flex: none;
    }

    .cf-seo-group {
        gap: 0.75rem;
    }

    .cf-seo-label {
        width: 2.75rem;
    }
}

/* ===== 面包屑(对齐原型 .crumbs) ===== */
.cf-crumbs {
    margin: 0.5rem 0 0;
    padding: 0 0.75rem;
    font-size: 0.875rem;
    color: var(--cf-text-dim);
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    align-items: center;
    line-height: 1.6;
}

.cf-crumbs a {
    color: var(--cf-text-dim);
    text-decoration: none;
    transition: color 0.15s;
}

.cf-crumbs a:hover {
    color: var(--cf-gold);
}

.cf-crumbs em {
    font-style: normal;
    color: var(--cf-text);
}

.cf-crumbs .cf-sep {
    color: var(--cf-text-dim);
    opacity: 0.6;
    user-select: none;
}
