.filters{display:grid;gap:10px;grid-template-columns:2fr 1fr 1fr 1fr 1fr;align-items:end;position:static}
.filters .chips{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}
.chip{border:1px solid #c9d3e0;background:#fff;color:#1f3a5f;border-radius:999px;padding:6px 12px;font-size:.88rem;font-weight:700;cursor:pointer;min-height:36px}
.chip[aria-pressed=true]{background:#1f3a5f;color:#fff;border-color:#1f3a5f}
.mapbar,.resbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}
.resbar{justify-content:space-between}.resbar p{margin:0;font-weight:700}
.jump{display:flex;gap:6px}.jump input{padding:8px;border:1px solid #bbb;border-radius:8px;font-size:1rem;width:180px}
.btn.small{padding:7px 12px;font-size:.9rem;min-height:36px}.btn.ghost{background:#fff;color:#1f3a5f;border:1px solid #1f3a5f}
#map{height:420px;border-radius:12px;border:1px solid #ddd;z-index:1}#map[hidden]{display:none}
.pin{background:none;border:0}
#dir{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.dcard{background:#fff;border:1px solid #e3e7ee;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.dcard.expired{border-color:#b42318;background:#fff7f7}.dcard.visited{border:2px solid #e0b02c}
.dhead{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.dhead h3{margin:0;font-size:1.05rem}
.badge.ag{background:#1f3a5f;color:#e0b02c;font-weight:800;font-size:.75rem;padding:3px 8px;border-radius:6px;white-space:nowrap}
.dcard p{margin:2px 0;font-size:.92rem}.dmeta{color:#555}.ddesc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dlinks a{display:inline-block;margin:4px 10px 0 0;font-weight:700}
.dcard details{font-size:.88rem}.dcard summary{cursor:pointer;color:#1f3a5f}
.take.reg{background:#fff6d6}
.none{grid-column:1/-1;text-align:center;padding:20px}
@media (max-width:760px){.filters{grid-template-columns:1fr 1fr}.filters .q{grid-column:1/-1}#map{height:320px}.jump input{width:140px}}
.mapbar [hidden],.resbar [hidden]{display:none!important}
.marker-cluster{background:rgba(224,176,44,.45);border-radius:50%}.marker-cluster div{width:30px;height:30px;margin:5px;border-radius:50%;background:#1f3a5f;color:#e0b02c;font-weight:800;text-align:center;line-height:30px;font-size:13px}.marker-cluster span{line-height:30px}
/* directory-first layout */
.dir-top{margin-top:14px}.dir-jumps{margin:0 0 10px;font-weight:700;font-size:.95rem}
.searchbar{position:sticky;top:var(--hdr,64px);z-index:20;background:#fff;border:1px solid #e3e7ee;border-radius:12px;padding:10px 12px;display:flex;gap:8px;align-items:end;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.searchbar .q{flex:1}.searchbar .q label{display:block;font-weight:700;font-size:.85rem}
.searchbar input{width:100%;padding:10px;border:1px solid #bbb;border-radius:8px;font-size:1rem;box-sizing:border-box}
#filters-toggle{display:none}#filters-count:not(:empty){margin-left:4px;background:#1f3a5f;color:#fff;border-radius:999px;padding:0 7px;font-size:.8rem}
.filters{grid-template-columns:repeat(4,1fr);margin-top:10px;background:#fff;border:1px solid #e3e7ee;border-radius:12px;padding:12px}
.filters .chk{grid-column:1/-1}
.dir-about{margin:16px 0}.dir-about summary{cursor:pointer;font-weight:700;color:#1f3a5f}
.picks{margin-top:32px;border-top:4px solid #e0b02c;padding-top:8px;scroll-margin-top:80px}#directory{scroll-margin-top:70px}
@media (max-width:760px){.page-head{padding:16px 0 12px!important}.page-head h1{font-size:1.5rem;margin:.1em 0}.page-head p{font-size:.95rem!important}
#filters-toggle{display:inline-flex;align-items:center;min-height:44px}.searchbar{padding:8px}
.filters{grid-template-columns:1fr 1fr}.filters:not(.open){display:none}}
