/* Scoped to /markets/ directory only. */
.dir-controls { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; align-items:end; margin:1.5rem 0; }
.dir-controls .field { min-width:0; max-width:100%; display:flex; flex-direction:column; gap:.35rem; }
.dir-controls label { font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); }
.dir-controls input, .dir-controls select {
  font:inherit; padding:.55rem .7rem; border:1px solid var(--ink-soft, #888);
  background:var(--paper, #fff); color:inherit; box-sizing:border-box; max-width:100%; min-width:14rem; }
.dir-controls button { font:inherit; padding:.55rem .9rem; cursor:pointer;
  background:var(--navy, #14213d); color:var(--paper, #fff); border:0; }
.dir-count { font-style:italic; color:var(--ink-soft); margin:.5rem 0 1rem; }
.dir-list { list-style:none; padding:0; margin:0; display:grid; gap:.8rem; }
.dir-list li { min-width:0; }
.dir-list a { max-width:100%; box-sizing:border-box; overflow-wrap:anywhere; display:inline-block; padding:.9rem 1.1rem; border:1px solid var(--ink-soft, #888);
  text-decoration:none; color:inherit; }
.dir-list a:hover { border-color:var(--copper, #b06d2c); color:var(--copper, #b06d2c); }
.dir-list .region { display:block; font-size:.8rem; color:var(--ink-soft); margin-top:.25rem; }
.dir-empty { margin:1rem 0; font-style:italic; }
.dir-empty[hidden] { display:none; }
@media (max-width:420px){ .dir-controls .field { width:100%; } .dir-controls input, .dir-controls select { min-width:0; width:100%; } }
