/* City camera chooser (polish round, 20 Oct 2026). The page frame, rows, buttons and disclosures come from styles.css;
   the search box is the directory's .find box. */
.camera-catalog { scroll-margin-top: 32px; }
.camera-catalog .list a { grid-template-columns: minmax(0, 1fr) auto; align-items: center; min-height: 44px; }
.camera-catalog .list a > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.camera-catalog strong { font-weight: 600; color: var(--white); }
.camera-catalog small { display: block; color: var(--mist); font-size: 13px; margin-top: 2px; }
.camera-catalog .list .m { font-size: 13px; white-space: nowrap; }
.camera-catalog summary { min-height: 44px; }
.camera-area { margin-top: 8px; }
.camera-picker { display: grid; gap: 8px; margin: 4px 0 0; }
.camera-picker[hidden] { display: grid !important; visibility: hidden; }
.camera-picker .find { margin-top: 0; max-width: none; }
.camera-picker select { width: 100%; min-height: 48px; padding: 0 14px; font: 500 15px var(--f); color: var(--bone); background: var(--panel); border: 1px solid var(--line); border-radius: 12px; text-overflow: ellipsis; }
.camera-count { margin: 0; min-height: 1.4em; color: var(--mist); font-size: 13px; }
.camera-catalog [hidden]:not(.camera-picker) { display: none; }
.camera-go { margin-top: 12px; min-height: 52px; }
.camera-discovery { margin-top: 12px; }
@media (min-width: 760px) {
  .camera-picker { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; }
  .camera-count { grid-column: 1 / -1; }
  .camera-go { display: inline-flex; gap: 24px; }
}
@media (max-width: 420px) {
  .camera-catalog .list a { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}
