/**
 * patch.css —— 增量样式：商家封面图 / 加载更多分页 / 实时数据提示
 */

/* ---------- POI 卡片封面图 ---------- */
.poi-thumb { position: relative; overflow: hidden; }
.poi-thumb-icon { position: absolute; inset: 0; display: grid; place-items: center; z-index: 0; }
.poi-thumb-img {
  position: relative; z-index: 1;
  width: 100%; height: 100%; object-fit: cover;
  border-radius: inherit;
  opacity: 0; transition: opacity .4s ease;
}
.poi-thumb-img.loaded { opacity: 1; }

/* ---------- 商家详情页封面 ---------- */
.shop-cover-wrap { max-width: 680px; margin: 0 auto 16px; }
.shop-cover {
  width: 100%; height: 250px; object-fit: cover;
  border-radius: var(--radius-l); display: block;
  box-shadow: var(--shadow-1);
  opacity: 0; transition: opacity .4s ease;
  background: linear-gradient(135deg, #eef1f6, #e2e6ee);
}
.shop-cover.loaded { opacity: 1; }
.shop-cover-cap {
  text-align: center; font-size: 12px; color: var(--ink-3, #98a2b3); margin-top: 8px;
}

/* ---------- 加载更多 / 页尾汇总 ---------- */
.load-more-btn {
  grid-column: 1 / -1;
  padding: 13px 20px; margin-top: 4px;
  border: 1.5px dashed var(--line, #d6dce6); border-radius: var(--radius-m, 12px);
  background: var(--card-solid, #fff); color: var(--blue, #0a84ff);
  font-size: 14px; font-weight: 600; cursor: pointer;
  transition: all .2s ease;
}
.load-more-btn:hover { border-color: var(--blue, #0a84ff); background: var(--blue-soft, #eef5ff); }
.load-more-btn:active { transform: scale(.98); }
.load-more-end {
  grid-column: 1 / -1;
  text-align: center; font-size: 13px; color: var(--ink-3, #98a2b3);
  padding: 14px 0 4px; margin: 0;
}

/* ---------- 实时数据提示条 ---------- */
.realtime-tip {
  max-width: 1140px; margin: 14px auto -8px; padding: 0 20px;
  font-size: 12.5px; color: #34a853; font-weight: 500;
}

/* ---------- 附近页：分类与半径工具栏 ---------- */
.nearby-toolbar {
  max-width: 1140px; margin: 0 auto; padding: 0 20px 6px;
}
.nearby-cat-row {
  display: flex; gap: 10px; overflow-x: auto; padding: 4px 0 10px;
}
.nearby-cat {
  flex: none;
  padding: 9px 18px; border-radius: 980px;
  border: 1.5px solid var(--line, #d6dce6); background: var(--card-solid, #fff);
  font-size: 13.5px; font-weight: 600; color: var(--ink-2, #555);
  cursor: pointer; transition: all .2s ease; white-space: nowrap;
}
.nearby-cat:hover { border-color: var(--blue, #0a84ff); color: var(--blue, #0a84ff); }
.nearby-cat.active {
  background: linear-gradient(135deg, #0a84ff, #5e5ce6);
  border-color: transparent; color: #fff;
  box-shadow: 0 4px 12px rgba(10, 132, 255, .3);
}
.radius-row {
  display: flex; gap: 8px; overflow-x: auto; padding-bottom: 8px;
}
.radius-chip {
  flex: none;
  padding: 6px 14px; border-radius: 980px;
  border: 1px solid var(--line, #d6dce6); background: var(--card-solid, #fff);
  font-size: 12.5px; color: var(--ink-2, #555);
  cursor: pointer; transition: all .2s ease; white-space: nowrap;
}
.radius-chip:hover { border-color: var(--blue, #0a84ff); }
.radius-chip.active {
  background: var(--blue-soft, #eef5ff); border-color: var(--blue, #0a84ff);
  color: var(--blue, #0a84ff); font-weight: 700;
}

/* ---------- 顶部导航刷新按钮（搜不出来时点一下重新加载） ---------- */
.nav-refresh {
  flex: none; margin-right: 4px;
  width: 36px; height: 36px; border-radius: 50%;
  border: 1.5px solid var(--line, #d6dce6);
  background: var(--card-solid, #fff); color: var(--ink, #333);
  font-size: 17px; line-height: 1; cursor: pointer;
  display: inline-grid; place-items: center;
  transition: all .2s ease;
}
.nav-refresh:hover { border-color: var(--blue, #0a84ff); color: var(--blue, #0a84ff); }
.nav-refresh:active { transform: rotate(180deg) scale(.92); }

/* ---------- 移动端适配 ---------- */
@media (max-width: 768px) {
  .shop-cover { height: 190px; }
  .realtime-tip { padding: 0 16px; }
  .nearby-toolbar { padding: 0 16px 6px; }
}
