.market-directory-tools { display: grid; grid-template-columns: 160px 1fr; align-items: end; padding: 18px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); }
.market-directory-tools label { font-family: var(--display); font-size: .82rem; font-weight: 700; text-transform: uppercase; }
.market-directory-tools > div { display: grid; grid-template-columns: 1fr 70px; align-items: center; gap: 18px; }
.market-directory-tools input { width: 100%; padding: 10px 0; border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; outline: 0; color: var(--ink); background: transparent; }
.market-directory-tools [data-market-count] { font-family: var(--display); font-size: 1.6rem; font-weight: 700; text-align: right; }
.market-directory-groups { border-bottom: 1px solid var(--ink); }
.market-directory-groups [hidden], .market-empty[hidden] { display: none !important; }
.market-letter-group { display: grid; grid-template-columns: 160px 1fr; border-bottom: 1px solid var(--line); }
.market-letter-group:last-child { border-bottom: 0; }
.market-letter-group h3 { padding: 24px 0; font-size: 2.2rem; }
.market-directory-row { display: grid; grid-template-columns: minmax(180px, 1fr) 180px 24px; align-items: center; min-height: 54px; border-bottom: 1px solid var(--line); }
.market-directory-row:last-child { border-bottom: 0; }
.market-directory-row span { font-family: var(--display); font-size: 1.1rem; font-weight: 600; }
.market-directory-row small { color: var(--muted); }
.market-directory-row b { font-weight: 400; text-align: right; transition: transform .2s; }
.market-directory-row:hover b { transform: translateX(4px); }
.market-empty { padding: 24px 0; border-bottom: 1px solid var(--ink); }
.market-context-bar { border-bottom: 1px solid var(--line); background: var(--mist); }
.market-context-bar .shell { display: flex; justify-content: space-between; gap: 24px; padding-block: 13px; font-family: var(--display); font-size: .82rem; font-weight: 600; text-transform: uppercase; }
.market-service-list .rail-row { grid-template-columns: 58px 80px minmax(210px, .8fr) 1fr 35px; }

@media (max-width: 820px) {
  .market-directory-tools { grid-template-columns: 1fr; gap: 12px; }
  .market-letter-group { grid-template-columns: 56px 1fr; }
  .market-directory-row { grid-template-columns: minmax(0, 1fr) 24px; padding: 10px 0; }
  .market-directory-row small { grid-column: 1; grid-row: 2; }
  .market-directory-row b { grid-column: 2; grid-row: 1 / 3; }
  .market-service-list .rail-row { grid-template-columns: 42px 1fr 28px; }
  .market-service-list .rail-code { display: none; }
  .market-service-list .rail-row p { grid-column: 2; }
}

@media (max-width: 560px) {
  .market-directory-tools > div { grid-template-columns: 1fr 48px; }
  .market-letter-group { grid-template-columns: 38px 1fr; }
  .market-letter-group h3 { font-size: 1.6rem; }
  .market-directory-row span { font-size: 1rem; }
  .market-context-bar .shell { align-items: flex-start; flex-direction: column; gap: 6px; }
}
