.hc-directory { max-inline-size:1200px; margin-inline:auto; padding:0 32px 72px; color:var(--hc-ink,#173047); }
.hc-directory * { box-sizing:border-box; }
.hc-directory-form { margin:0; }
.hc-directory label,.hc-directory legend { display:block; font-weight:600; margin-block-end:8px; }
.hc-directory legend { font-size:1.25rem; padding:0; }
.hc-directory-search-row { display:flex; gap:16px; align-items:stretch; }
.hc-directory-search-row input { flex:1; min-inline-size:0; }
.hc-directory button { background:var(--hc-accent,#087E80); color:#fff; border:1px solid var(--hc-accent,#087E80); border-radius:8px; font:inherit; font-weight:600; padding:12px 24px; min-block-size:48px; cursor:pointer; }
.hc-directory button:hover { background:var(--hc-accent-hover,#066567); }
.hc-directory :is(input,select) { width:100%; font:inherit; padding:12px 16px; min-block-size:48px; border:1px solid var(--hc-muted,#526777); border-radius:8px; background:#fff; color:var(--hc-ink,#173047); }
.hc-directory :is(input,select,button,a):focus-visible { outline:3px solid var(--hc-ink,#173047); outline-offset:3px; }
.hc-directory-filters { border:0; border-block:1px solid var(--hc-border,#D8E3E7); padding:24px 0; margin:32px 0; min-inline-size:0; }
.hc-filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.hc-filter-actions { display:flex; align-items:center; gap:24px; margin-block-start:24px; }
.hc-filter-actions a { display:inline-flex; align-items:center; min-block-size:44px; }
.hc-active-filters h2 { font-size:1.125rem; }
.hc-active-filters ul { list-style:none; padding:0; margin:16px 0 32px; display:flex; flex-wrap:wrap; gap:8px; }
.hc-active-filters a { display:inline-flex; align-items:center; gap:8px; min-block-size:44px; padding:8px 16px; border:1px solid var(--hc-border,#D8E3E7); border-radius:8px; text-decoration:none; overflow-wrap:anywhere; }
.hc-directory-results { padding:32px; border:1px solid var(--hc-border,#D8E3E7); border-radius:12px; background:var(--hc-bg,#F5F8F9); }
.hc-directory-results h2 { margin-block:0 16px; font-size:1.5rem; }
.hc-directory-results p:last-child { margin-block-end:0; }
.hc-directory.hc-home-search { margin:24px 0; padding:0; max-inline-size:760px; }
@media(max-width:900px) { .hc-directory { padding-inline:24px; } .hc-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .hc-directory { padding:0 16px 48px; } .hc-directory-search-row { flex-direction:column; } .hc-filter-grid { grid-template-columns:1fr; gap:16px; } .hc-directory-results { padding:24px; } }
