.gotwo-store-locator { padding: 30px 15px; }
.gotwo-store-locator .gsl-title { margin-bottom: 20px; }
.gsl-filterbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 20px; }
.gsl-filterbar .gsl-field { height: 42px; padding: 6px 12px; border: 1px solid #ccc; border-radius: 4px; }
.gsl-filterbar .gsl-location { flex: 1 1 220px; min-width: 180px; }
.gsl-filterbar .gsl-name { flex: 1 1 220px; min-width: 180px; }
.gsl-filterbar .gsl-or { color: #777; }
.gsl-filterbar .gsl-submit { height: 42px; }
.gsl-layout { display: flex; gap: 20px; align-items: stretch; }
.gsl-list { flex: 0 0 360px; max-height: 640px; overflow-y: auto; }
.gsl-map { flex: 1 1 auto; min-height: 640px; border-radius: 6px; z-index: 0; }
.gsl-store { padding: 14px 0; border-bottom: 1px solid #eee; }
.gsl-store-name { font-weight: 700; font-size: 1.05rem; }
.gsl-store-distance { color: #8a1f9b; font-size: .85rem; font-weight: 600; }
.gsl-store-address { margin: 6px 0; color: #333; }
.gsl-store-contact { font-size: .9rem; }
.gsl-store-contact a { color: #8a1f9b; }
.gsl-store-map-btn { margin-top: 8px; background: #8a1f9b; color: #fff; border: none; border-radius: 4px; padding: 6px 14px; cursor: pointer; }
.gsl-store-map-btn:hover { background: #6f1880; }
.gsl-empty { padding: 20px 0; color: #777; }
@media (max-width: 767px) {
    .gsl-layout { flex-direction: column; }
    .gsl-list { flex: 1 1 auto; max-height: none; }
    .gsl-map { min-height: 360px; order: -1; }
}
