.store-directory { padding-bottom: 5rem; }
.store-directory .co-hero { margin-bottom: 2rem; }
.store-directory .co-section { scroll-margin-top: 7rem; }
.store-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 1rem; margin: 2rem 0 1rem; }
.store-controls label { display: grid; gap: .45rem; flex: 1 1 14rem; font-size: .9rem; font-weight: 600; }
.store-controls input, .store-controls select { width: 100%; min-height: 3rem; padding: .6rem .8rem; border: 1px solid #b7c3b5; border-radius: .7rem; background: #fff; color: #17321f; font: inherit; }
.store-controls button, #store-more { min-height: 3rem; padding: .65rem 1.2rem; border: 1px solid #234831; border-radius: .7rem; background: #234831; color: #fff; cursor: pointer; font: inherit; }
.store-controls :focus-visible, #store-more:focus-visible, .store-card :focus-visible { outline: 3px solid #e4a941; outline-offset: 3px; }
#store-count { margin: .75rem 0 1.4rem; color: #355341; }
.store-map-wrap { margin-bottom: 2rem; }
#store-map { width: 100%; min-height: 20rem; border-radius: 1rem; overflow: hidden; background: #e7ede4; }
#store-map-fallback { padding: .8rem 1rem; background: #f4eee2; border-radius: .5rem; }
.store-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,19rem),1fr)); gap: 1rem; }
.store-card { padding: 1.25rem; border: 1px solid #d6dfd1; border-radius: 1rem; background: #fff; }
.store-card h3 { margin: .35rem 0 .6rem; font-size: 1.2rem; line-height: 1.2; }
.store-card p { margin: .5rem 0; }
.store-card address { margin: .65rem 0; font-style: normal; }
.store-card-phones { display: flex; flex-wrap: wrap; gap: .45rem 1rem; margin: .7rem 0; }
.store-card a { color: #1e5635; }
#store-more { display: block; margin: 1.5rem auto 0; }
#store-more[hidden], #store-map-fallback[hidden] { display: none; }
.store-map-popup { max-width: 17rem; }
.store-map-popup ul { padding-left: 1.2rem; }
@media (max-width: 640px) { #store-map { min-height: 16rem; } .store-controls { display: grid; } .store-controls label { width: 100%; } }
