.whnm-directory { width: 100%; max-width: 1280px; margin: 1rem auto; color: inherit; }
.whnm-directory a { text-decoration: underline; }
.whnm-directory-tabs, .whnm-directory-pagination { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1rem 0; }
.whnm-directory-tabs [aria-current] { font-weight: bold; }
.whnm-directory-filters { border: 1px solid #999; padding: 1rem; margin: 1rem 0; }
.whnm-directory-filters summary { cursor: pointer; font-weight: bold; padding: .4rem; }
.whnm-filter-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px,100%), 1fr)); gap: 1rem; }
.whnm-directory fieldset { min-width: 0; padding: .75rem; border: 1px solid #aaa; }
.whnm-directory legend, .whnm-directory dt { font-weight: 600; }
.whnm-directory dd { margin: 0 0 .65rem; }
.whnm-filter-choices { max-height: 230px; overflow: auto; padding: .25rem; }
.whnm-filter-choices label { display: block; padding: .3rem 0; }
.whnm-filter-choices h3 { font-size: 1em; }
.whnm-directory input[type=text], .whnm-directory select { width: 100%; max-width: 460px; box-sizing: border-box; padding: .5rem; }
.whnm-directory button { padding: .75rem 1rem; cursor: pointer; }
.whnm-active-filters { display: flex; flex-wrap: wrap; gap: .6rem; padding: 0; list-style: none; }
.whnm-active-filters a, .whnm-directory-badge { display: inline-block; padding: .25rem .5rem; border: 1px solid currentColor; border-radius: 3px; }
.whnm-result-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px,100%),1fr)); gap: 1rem; }
.whnm-result { padding: 1rem; border: 1px solid #aaa; overflow-wrap: anywhere; }
.whnm-result-logo { max-width: 100px; height: auto; }
.whnm-directory :focus-visible { outline: 3px solid #2271b1; outline-offset: 3px; }
.whnm-directory-notice { padding: .75rem; border-left: 4px solid #875900; }
