/* 地点目录筛选栏，仅在使用组件的页面加载。 */
.place-search { padding: var(--spacing-lg); margin-bottom: var(--spacing-md); background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg); }
.place-search label { display: block; margin-bottom: var(--spacing-sm); font-weight: 700; }
.place-search input { flex: 1; min-width: 0; min-height: 48px; padding: var(--spacing-sm) var(--spacing-md); border: 1px solid var(--color-border); border-radius: var(--border-radius); background: var(--color-bg); color: var(--color-text); font: inherit; }
.place-search .btn { flex-shrink: 0; }
.place-search p, .place-result-count { color: var(--color-text-secondary); font-size: var(--fs-small); }
.place-search p { margin: var(--spacing-sm) 0 0; }
.place-result-count { margin-bottom: var(--spacing-md); }
.place-search .btn { color: var(--color-surface-deep); background: var(--color-bg); }
.place-search .btn:hover { background: var(--color-bg-alt); }
.place-filter-fields { display: grid; grid-template-columns: minmax(136px, 1fr) minmax(160px, 1fr) minmax(224px, 2fr) auto; align-items: end; gap: var(--spacing-md); overflow-x: auto; padding: var(--spacing-sm); margin: calc(-1 * var(--spacing-sm)); }
.place-filter-fields > div { min-width: 0; }
.place-filter-fields select, .place-filter-fields input { width: 100%; height: 48px; min-height: 48px; padding: var(--spacing-sm); border: 1px solid var(--color-border); border-radius: var(--border-radius); background: var(--color-bg); color: var(--color-text); font: inherit; }
.place-filter-fields label { font-size: var(--fs-small); }
.place-filter-fields .btn { height: 48px; white-space: nowrap; }
.place-search[hidden], .place-retry[hidden] { display: none; }
@media (max-width: 479px) { .place-search { padding: var(--spacing-md); } }
@media (max-width: 767px) {
  .place-category-nav.tab-nav--category { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; white-space: normal; }
  .place-category-nav .tab-btn { min-width: 0; padding-inline: var(--spacing-sm); }
}
@media (min-width: 768px) and (max-width: 1023px) { .place-category-nav.tab-nav--category { --category-tab-columns: 2; } }
