.hsd-directory{margin:2rem auto 3.5rem}.hsd-search-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.75rem;align-items:end;padding:1.25rem;border-radius:12px;background:#f7ead7}.hsd-search-form label{font:600 .84rem Inter,system-ui,sans-serif;color:#173b30;display:block}.hsd-search-form input,.hsd-search-form select{width:100%;display:block;padding:.78rem .65rem;border:1px solid #76644d;border-radius:7px;background:#fff;min-height:45px;margin-top:.45rem;color:#262626}.hsd-search-form button{border:0;border-radius:7px;background:#0f3b2e;color:white;font-weight:700;min-height:45px;padding:.7rem 1rem;cursor:pointer}.hsd-search-form button:hover{background:#195340}.hsd-result-count{margin:1rem 0;color:#516358;font-size:.92rem}.hsd-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.hsd-result{display:flex;gap:1rem;border:1px solid #e2d8c6;border-radius:11px;padding:1.1rem;background:white}.hsd-result img{width:120px;height:110px;object-fit:cover;border-radius:8px}.hsd-result>div{min-width:0;overflow-wrap:anywhere}.hsd-search-form input:focus-visible,.hsd-search-form select:focus-visible,.hsd-search-form button:focus-visible,.hsd-directory a:focus-visible{outline:3px solid #0f3b2e;outline-offset:2px}.hsd-result-count:focus{outline:none}.hsd-result-count{font:inherit;font-weight:600}.hsd-result h3{margin:0 0 .4rem;font-size:1.17rem}.hsd-result h3 a{color:#0f3b2e}.hsd-result p{font-size:.92rem;margin:.2rem 0 .55rem}.hsd-locations{color:#657367}.hsd-pagination{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.5rem 0}.hsd-pagination a{padding:.4rem .7rem;border:1px solid #767676;border-radius:4px}.hsd-pagination [aria-current]{background:#0f3b2e;color:#fff}@media(max-width:850px){.hsd-search-form{grid-template-columns:1fr 1fr}.hsd-search-form label:first-child{grid-column:1/-1}.hsd-search-form button{grid-column:1/-1}.hsd-results{grid-template-columns:1fr}}@media(max-width:500px){.hsd-search-form{grid-template-columns:1fr}.hsd-search-form label:first-child,.hsd-search-form button{grid-column:auto}.hsd-result{flex-direction:column}.hsd-result img{width:100%;height:auto;aspect-ratio:16/9}}
/* WCAG 2.5.8: standalone card links get a 24px minimum target. */.hsd-result h3 a,.hsd-result>div>a{display:inline-block;min-height:24px;padding:2px 0}
/* Consent-based browser geolocation panel. */
.hsd-nearby{margin:1rem 0 1.65rem;padding:1.15rem 1.35rem;border:1px solid #d8d2c5;background:#fffdf8;border-radius:12px}.hsd-nearby-header strong{font-size:1.16rem;color:#0f3b2e}.hsd-nearby-header p{margin:.4rem 0 .8rem;font-size:.88rem;color:#5b615d}.hsd-nearby-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.hsd-nearby-button{padding:.65rem 1rem;min-height:44px;border-radius:7px;border:0;background:#0f3b2e;color:#fff;font-weight:700;cursor:pointer}.hsd-nearby[hidden]{display:none}.hsd-nearby-button[aria-disabled=true]{opacity:.55;cursor:progress}.hsd-nearby-actions label{font-weight:600;font-size:.9rem}.hsd-nearby-actions select{min-height:44px;padding:.55rem;border:1px solid #76644d;border-radius:7px;background:white;color:#262626}.hsd-nearby-button:focus-visible,.hsd-nearby-actions select:focus-visible{outline:3px solid #0f3b2e;outline-offset:2px}.hsd-nearby-message{font-size:.9rem;margin:.8rem 0 0}.hsd-nearby-message:empty{display:none}.hsd-nearby-list{margin:1rem 0 0;padding:0;display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none}.hsd-nearby-list li{border:1px solid #ddd7ce;border-radius:8px;padding:.85rem}.hsd-nearby-list a{display:block;font-weight:700;color:#0f3b2e}.hsd-distance{display:block;margin:.3rem 0;color:#8b3e1f;font-size:.83rem;font-weight:700}.hsd-nearby-list p{margin:0;font-size:.87rem}@media(max-width:650px){.hsd-nearby-list{grid-template-columns:1fr}}

/* First-visit discovery: never imply all breweries are local. */
.hsd-first-visit{padding:28px; margin-top:24px; border:1px solid #dfd5c1; border-radius:14px; background:#fffaf1; color:#25392f;}
.hsd-first-visit h2{margin:0 0 12px; font-size:clamp(1.3rem,2.4vw,1.7rem); color:#0f3b2e;}
.hsd-first-visit p{margin:0 0 22px; line-height:1.7;}
.hsd-show-all{display:inline-flex;min-height:44px;align-items:center;padding:11px 20px;border-radius:8px;background:#0f3b2e;color:#fff!important;font-weight:700;text-decoration:none!important;}
.hsd-show-all:focus-visible{outline:3px solid #8b3e1f;outline-offset:3px;}
