/* Native directory components use reference-site.css. These scoped rules fill
   the local forms, summary tables and small-screen gaps in the archived theme. */
.directory-page { min-width:0; }
.directory-page .card { min-width:0; }
.directory-page .directory-tabs { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.directory-page .directory-tabs a { padding:4px 10px; border:1px solid var(--line); border-radius:7px; color:var(--text-2); font-size:12px; text-decoration:none; }
.directory-page .directory-tabs a:hover, .directory-page .directory-tabs .on { color:var(--accent); border-color:var(--accent); background:#faf5ec; }
.directory-page .directory-filter { display:flex; align-items:flex-end; flex-wrap:wrap; gap:10px; }
.directory-page .directory-filter label { display:flex; flex:1 1 155px; min-width:0; flex-direction:column; gap:5px; color:var(--muted); font-size:12.5px; }
.directory-page .directory-filter input, .directory-page .directory-filter select { width:100%; min-width:0; min-height:39px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:var(--card); color:var(--text); font:inherit; font-size:14px; }
.directory-page .directory-filter button { min-height:39px; padding:8px 20px; border:0; border-radius:8px; background:var(--accent); color:#fff; font:inherit; font-size:14px; cursor:pointer; }
.directory-page .directory-filter > a { align-self:center; font-size:12px; color:var(--accent); }
.directory-page .directory-table-scroll { overflow-x:auto; }
.directory-page .directory-table { width:100%; min-width:420px; border-collapse:collapse; font-size:13px; }
.directory-page .directory-table th, .directory-page .directory-table td { padding:10px 12px; text-align:left; border-bottom:1px solid var(--line-soft); color:var(--text-2); }
.directory-page .directory-table th { background:#f7f2e8; color:var(--muted); font-size:12px; font-weight:600; }
.directory-page .directory-table tbody tr:last-child td { border-bottom:0; }
.directory-page .directory-table tbody tr:hover { background:#fefcf9; }
.directory-page .pagination { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-top:18px; }
.directory-page .pagination a, .directory-page .pagination span { padding:5px 10px; border:1px solid var(--line); border-radius:6px; color:var(--text-2); font-size:12px; text-decoration:none; }
.directory-page .pagination [aria-current="page"] { color:var(--accent); border-color:var(--accent); background:#faf5ec; }
.directory-page .directory-note, .directory-page .directory-empty { margin-top:12px; color:var(--muted); font-size:12.5px; line-height:1.8; overflow-wrap:anywhere; }
.directory-page .directory-empty { padding:20px 12px; border:1px dashed var(--line); border-radius:8px; text-align:center; }
.directory-page .tr-stops-table a { color:var(--accent); text-decoration:none; }
.directory-page .tr-stops-table a:hover { text-decoration:underline; }
.directory-page .wt-main-box { min-width:0; }
.directory-page .wt-table-scroll:focus-visible, .directory-page .tr-stops-wrap:focus-visible, .directory-page .dist-table-wrap:focus-visible, .directory-page .directory-table-scroll:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.directory-page [hidden] { display:none!important; }
@media(max-width:600px) {
  .directory-page .tr-query-form > label:not(.tr-check) { flex:0 0 auto; min-width:0; }
  .directory-page .tr-query-form input[type="text"] { width:100%; min-width:0; }
  .directory-page .tr-query-form .tr-check { flex:0 0 auto; }
  .directory-page .tr-query-form button { flex:0 0 auto; }
  .directory-page .tr-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .directory-page .tr-axis-item { min-width:0; padding:9px 6px; }
  .directory-page .tr-axis-item b { font-size:14px; }
  .directory-page .directory-filter button { flex:1 1 100%; }
  .directory-page .wt-wall { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .directory-page .wt-clock { min-width:0; padding:10px; }
  .directory-page .wt-clock-time { font-size:22px; }
  .directory-page .poi-fact { min-width:0; }
}
