/* 城市列表页「快速查找」工具条 —— 与 .cities-page 浅色风格一致 */
.cf-bar{position:sticky;top:76px;z-index:20;margin:0 0 18px;padding:14px 16px;
  background:#fff;border:1px solid #e8e5e0;border-radius:14px;
  box-shadow:0 6px 18px rgba(35,26,20,.05);font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;}
.cf-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cf-row + .cf-row{margin-top:10px;}
.cf-top{gap:12px;}
.cf-input{position:relative;flex:1 1 320px;min-width:220px;display:flex;align-items:center;
  border:1px solid #ddd9d3;border-radius:10px;background:#fbfaf8;padding:0 10px;height:44px;}
.cf-input:focus-within{border-color:#df392e;background:#fff;box-shadow:0 0 0 3px rgba(223,57,46,.10);}
.cf-input svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:#9a9a9e;stroke-width:2;stroke-linecap:round;}
.cf-input input{flex:1;min-width:0;height:42px;border:0;background:none;outline:none;
  font-size:15px;color:#17191d;font-family:inherit;padding:0 8px;}
.cf-input input::placeholder{color:#a3a3a8;}
.cf-input input::-webkit-search-cancel-button{display:none;}
.cf-x{flex:0 0 auto;width:26px;height:26px;border:0;border-radius:50%;background:#ece9e4;color:#6d6d72;
  font-size:17px;line-height:1;cursor:pointer;}
.cf-x:hover{background:#e2ded8;color:#333;}
.cf-count{flex:0 0 auto;font-size:13px;color:#63676f;}
.cf-count b{color:#c32b23;font-weight:700;}
.cf-label{flex:0 0 auto;font-size:12.5px;color:#8d8d92;letter-spacing:.5px;}
.cf-chip{flex:0 0 auto;min-height:32px;padding:0 13px;border:1px solid #e3dfd9;background:#fbfaf8;
  border-radius:999px;font-size:13.5px;color:#3c4045;cursor:pointer;font-family:inherit;transition:all .15s ease;}
.cf-chip:hover{border-color:#c9c4bd;background:#f3f0ec;}
.cf-chip.on{background:#df392e;border-color:#df392e;color:#fff;font-weight:700;}
.cf-letters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin;}
.cf-letters .cf-label{flex:0 0 auto;}
.cf-chip.cf-l{min-width:32px;padding:0 8px;font-weight:600;}
.cf-empty{margin-top:10px;padding:12px 14px;border-radius:10px;background:#fdefec;color:#b82821;font-size:14px;}
.cf-flash{animation:cfFlash 1.2s ease;}
@keyframes cfFlash{0%,100%{box-shadow:none}20%,60%{box-shadow:0 0 0 4px rgba(223,57,46,.35)}}
@media (max-width:700px){
  .cf-bar{top:68px;padding:12px;margin-bottom:14px;}
  .cf-top{flex-direction:column;align-items:stretch;gap:8px;}
  .cf-input{flex:0 0 auto;width:100%;min-width:0;height:44px;}
  .cf-count{text-align:right;}
  .cf-chip{min-height:30px;padding:0 11px;font-size:13px;}
}