.vwa-dir { padding:24px 0 48px; }
.vwa-dir .vwa-filters { display:grid;grid-template-columns:1.3fr 1fr 1fr;align-items:start;gap:16px;margin-bottom:22px; }
.vwa-filter { min-width:0;display:block; }
.vwa-label { display:block;font-size:14px;font-weight:700;color:var(--navy);margin-bottom:8px; }
.vwa-dir .vwa-search input { width:100%;box-sizing:border-box; }
.vwa-picker { position:relative;background:var(--white);border:1px solid var(--line);border-radius:4px; }
.vwa-picker summary { cursor:pointer;min-height:48px;padding:12px 14px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none;font-size:15px; }
.vwa-picker summary::-webkit-details-marker { display:none; }
.vwa-picker-arrow { width:20px;height:20px;flex:none;margin-block:6.5px; }
.vwa-picker[open] .vwa-picker-arrow { transform:rotate(180deg); }
.vwa-options { position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;background:var(--white);border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 26px #102d4526;padding:6px;max-height:320px;overflow:auto; }
.vwa-options button { display:block;width:100%;text-align:left;border:0;background:transparent;font:inherit;font-size:15px;padding:12px;border-radius:3px;cursor:pointer; }
.vwa-options button:hover,.vwa-options button[aria-pressed=true] { background:var(--tint);color:var(--teal); }
.vwa-letters { display:flex;gap:6px;flex-wrap:wrap; }
.vwa-letters button { min-width:34px;min-height:36px;padding:5px 9px;border:1px solid var(--line);border-radius:4px;background:var(--white);color:var(--navy);font:inherit;font-size:14px;cursor:pointer; }
.vwa-letters button[aria-pressed=true] { background:var(--navy);border-color:var(--navy);color:white; }
.vwa-results { display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin:22px 0 18px; }
.vwa-results .vwa-count { margin:0;font-size:14px; }
.vwa-reset { flex-shrink:0;background:none;border:0;color:var(--teal);text-decoration:underline;font:inherit;font-size:14px;cursor:pointer;padding:6px 0; }
.vwa-dir button:focus-visible,.vwa-picker summary:focus-visible,.vwa-dir input:focus-visible { outline:3px solid var(--teal);outline-offset:3px; }
.vwa-dir .vwa-schools { grid-template-columns:repeat(3,minmax(0,1fr)); }
.vwa-dir .vwa-schools li { overflow-wrap:anywhere; }
.vwa-dir [hidden] { display:none!important; }
@media(max-width:900px) { .vwa-dir .vwa-schools { grid-template-columns:repeat(2,minmax(0,1fr)); } .vwa-dir .vwa-filters { grid-template-columns:1fr 1fr; } .vwa-search { grid-column:1/-1; } }
@media(max-width:600px) { .vwa-dir .vwa-schools,.vwa-dir .vwa-filters { grid-template-columns:1fr; } .vwa-results { flex-direction:column;gap:8px; } .vwa-letters button { min-width:38px;min-height:40px; } }

/* The page section around the directory adds ~100px above the filters; keep the filters close to the heading. */
section:has(> .wrap .vwa-dir) { padding-top:32px; }
