.grk-locator{--grk-font:inherit;--grk-text:inherit;--grk-text-muted:#6b7280;--grk-bg:#ffffff;--grk-bg-alt:#f9fafb;--grk-border:#e5e7eb;--grk-accent:currentColor;--grk-radius:6px;--grk-shadow:0 1px 3px rgba(0,0,0,.08);font-family:var(--grk-font);color:var(--grk-text);line-height:1.5;box-sizing:border-box}.grk-locator *,.grk-locator *::before,.grk-locator *::after{box-sizing:border-box}.grk-search-bar{padding:16px;background:var(--grk-bg);border:1px solid var(--grk-border);border-radius:var(--grk-radius);margin-bottom:12px}.grk-search-field{display:flex;gap:8px;margin-bottom:10px}.grk-search-input{flex:1;padding:10px 14px;border:1px solid var(--grk-border);border-radius:var(--grk-radius);font:inherit;font-size:15px;background:var(--grk-bg);color:var(--grk-text);outline:none;transition:border-color .15s}.grk-search-input:focus{border-color:var(--grk-accent)}.grk-geolocate-btn{display:flex;align-items:center;justify-content:center;width:42px;min-width:42px;border:1px solid var(--grk-border);border-radius:var(--grk-radius);background:var(--grk-bg);color:var(--grk-text-muted);cursor:pointer;transition:color .15s,border-color .15s}.grk-geolocate-btn:hover{color:var(--grk-accent);border-color:var(--grk-accent)}.grk-filter-row{display:flex;gap:8px;flex-wrap:wrap}.grk-radius-select,.grk-category-select{padding:8px 12px;border:1px solid var(--grk-border);border-radius:var(--grk-radius);font:inherit;font-size:14px;background:var(--grk-bg);color:var(--grk-text);cursor:pointer}.grk-search-btn{padding:8px 20px;border:none;border-radius:var(--grk-radius);background:var(--grk-accent);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s}.grk-search-btn:hover{opacity:.85}.grk-content{display:flex;gap:12px;min-height:400px}.grk-split .grk-map-wrap{flex:1 1 60%;min-width:0}.grk-split .grk-list-wrap{flex:1 1 40%;min-width:0;max-height:500px;overflow-y:auto}.grk-stacked .grk-content{flex-direction:column}.grk-stacked .grk-list-wrap{max-height:350px;overflow-y:auto}.grk-map{width:100%;border-radius:var(--grk-radius);border:1px solid var(--grk-border);z-index:1}.grk-results-count{padding:8px 12px;font-size:13px;color:var(--grk-text-muted);font-weight:500}.grk-list{display:flex;flex-direction:column;gap:8px;padding:0 4px 4px}.grk-card{padding:14px;background:var(--grk-bg);border:1px solid var(--grk-border);border-radius:var(--grk-radius);cursor:pointer;transition:box-shadow .15s,border-color .15s}.grk-card:hover,.grk-card.grk-active{border-color:var(--grk-accent);box-shadow:var(--grk-shadow)}.grk-card-title{margin:0 0 4px;font-size:15px;font-weight:600}.grk-card-address{margin:0 0 6px;font-size:13px;color:var(--grk-text-muted);line-height:1.4}.grk-card-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:13px}.grk-card-distance{font-weight:600}.grk-card-phone a,.grk-card-directions a{color:var(--grk-accent);text-decoration:none}.grk-card-phone a:hover,.grk-card-directions a:hover{text-decoration:underline}.grk-card-save{padding:2px 8px;border:1px solid var(--grk-border);border-radius:var(--grk-radius);background:var(--grk-bg);color:var(--grk-accent);font:inherit;font-size:12px;cursor:pointer;transition:background .15s,border-color .15s}.grk-card-save:hover{border-color:var(--grk-accent);background:var(--grk-bg-alt)}.grk-popup{font:inherit;line-height:1.4}.grk-popup-title{font-weight:600;font-size:14px;margin-bottom:4px}.grk-popup-address{font-size:12px;color:var(--grk-text-muted);margin-bottom:6px}.grk-popup-links{display:flex;gap:10px;font-size:12px}.grk-popup-links a{color:var(--grk-accent);text-decoration:none}.grk-loading{display:flex;align-items:center;justify-content:center;padding:32px;color:var(--grk-text-muted);font-size:14px}.grk-loading::before{content:'';width:18px;height:18px;border:2px solid var(--grk-border);border-top-color:var(--grk-accent);border-radius:50%;animation:grk-spin .6s linear infinite;margin-right:8px}@keyframes grk-spin{to{transform:rotate(360deg)}}.grk-empty{text-align:center;padding:32px 16px;color:var(--grk-text-muted);font-size:14px}@media (max-width:768px){.grk-content{flex-direction:column}.grk-split .grk-list-wrap{max-height:300px}.grk-filter-row{flex-direction:column}.grk-search-btn{width:100%}}@media (max-width:480px){.grk-search-bar{padding:12px}.grk-card{padding:12px}}