/* 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; }
}
.gap-page { overflow-wrap: anywhere; }
.gap-jumps { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 28px 0; }
.gap-jumps a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; background: var(--raise); border-radius: 6px; }
.gap-channels > li { padding: 16px 0; border-bottom: 1px solid var(--line); }
.gap-channels p { font-size: 14px; color: var(--mist); margin: 8px 0; }
.gap-page .ch-sec { scroll-margin-top: 96px; }
.gap-page .list a { grid-template-columns: minmax(0,1fr) max-content; grid-template-rows: auto; }
.gap-page .list .t { white-space: normal; overflow: visible; text-overflow: clip; }
.gap-page .list strong, .gap-page .list small { display: block; }
.gap-page .list small { margin-top: 4px; font-size: 13px; line-height: 1.5; color: var(--mist); }
.gap-page .gap-channels h3 a { display: inline; min-height: 0; padding: 0; font-size: inherit; }
.gap-page .gap-channels > li > div > a { display: inline-block; min-height: 44px; padding: 10px 0; }
@media (max-width: 759px) {
  .gap-page .list a { grid-template-columns: minmax(0,1fr); grid-template-rows: auto; }
  .gap-page .list .m { white-space: normal; text-align: left; }
}
