.bsa-directory{--bsa-cols:3;--bsa-accent:#245a90;--bsa-text:#102135;--bsa-bg:#fff;color:var(--bsa-text);font-size:16px;line-height:1.6;width:100%}
.bsa-directory *{box-sizing:border-box}
.bsa-directory [hidden]{display:none!important}
.bsa-directory .bsa-controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:20px;align-items:end;margin-bottom:20px}
.bsa-directory label{display:block;font:inherit;font-weight:600;color:var(--bsa-text)}
.bsa-directory input[type=search],.bsa-directory select{display:block;appearance:auto;width:100%;min-width:0;min-height:50px;padding:12px 14px;margin:8px 0 0;border:1px solid #a5aeb9;border-radius:6px;background:var(--bsa-bg);color:var(--bsa-text);font:inherit;line-height:1.5}
.bsa-directory .bsa-clear{min-height:50px;padding:12px 16px;border:1px solid currentColor;border-radius:6px;background:transparent;color:var(--bsa-accent);font:inherit;cursor:pointer}
.bsa-directory :is(a,input,select,button):focus-visible{outline:3px solid var(--bsa-accent);outline-offset:4px}
.bsa-directory .bsa-count{padding:0;margin:0 0 20px;color:var(--bsa-text);font-size:14px}
.bsa-directory .bsa-grid{display:grid;grid-template-columns:repeat(var(--bsa-cols),minmax(0,1fr));gap:22px}
.bsa-directory .bsa-card{display:flex;flex-direction:column;gap:12px;padding:28px;border:1px solid #d5dce3;border-radius:10px;background:var(--bsa-bg);color:var(--bsa-text);min-width:0;overflow-wrap:anywhere}
.bsa-directory .bsa-card h2{margin:0;padding:0;font-size:26px;line-height:1.25;font-weight:700;color:var(--bsa-text)}
.bsa-directory .bsa-card h2 a{color:inherit;text-decoration:none}
.bsa-directory .bsa-card h2 a:hover{text-decoration:underline}
.bsa-directory .bsa-card p{margin:0;padding:0;font-size:16px;line-height:1.6}
.bsa-directory .bsa-card .bsa-county{font-size:14px;letter-spacing:.04em;font-weight:600;color:var(--bsa-accent)}
.bsa-directory .bsa-card .bsa-status{font-size:14px}
.bsa-directory .bsa-card .bsa-link{margin-top:auto;padding-top:10px;font-weight:700;color:var(--bsa-accent);text-decoration:underline;text-underline-offset:4px}
.bsa-directory .bsa-empty{padding:24px;border:1px dashed #a5aeb9;border-radius:8px}
.bsa-directory .bsa-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bsa-details{margin:0;font-size:16px;line-height:1.6}
.bsa-details>div{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,3fr);gap:16px;padding:12px 0;border-bottom:1px solid #d5dce3}
.bsa-details dt{font-weight:700}.bsa-details dd{margin:0;overflow-wrap:anywhere}
@media(max-width:980px){.bsa-directory .bsa-grid{grid-template-columns:repeat(min(var(--bsa-cols),2),minmax(0,1fr))}.bsa-directory .bsa-controls{grid-template-columns:1fr 1fr}.bsa-directory .bsa-clear{justify-self:start}}
@media(max-width:600px){.bsa-directory .bsa-grid,.bsa-directory .bsa-controls{grid-template-columns:1fr}.bsa-directory .bsa-card{padding:22px}.bsa-details>div{grid-template-columns:1fr;gap:4px}}
