.locator{display:grid;grid-gap:var(--space-5);gap:var(--space-5);--locator-height:min(760px,calc(100svh - var(--header-height) - var(--space-6)))}@media (min-width:900px){.locator{grid-template-columns:minmax(340px,400px) 1fr;align-items:start}}.locator--no-map{grid-template-columns:1fr}.locator-panel{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}@media (min-width:900px){.locator:not(.locator--no-map) .locator-panel{height:var(--locator-height)}}@media (max-width:899px){.locator-panel{order:2}}.locator-form{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-mist)}.locator-form__row{display:flex;gap:var(--space-2)}.locator-form__row .btn{flex:none;width:var(--control-height);padding:0}.locator-form__near{align-self:flex-start}.locator-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-2)}.locator-summary{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-small);font-weight:600}.locator-summary__reset{color:var(--color-slate);text-decoration:underline;text-underline-offset:3px}.locator-list{display:flex;flex-direction:column;gap:var(--space-3);min-height:0}@media (min-width:900px){.locator:not(.locator--no-map) .locator-list{flex:1 1;overflow-y:auto;padding-right:var(--space-2)}}.locator--no-map .locator-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.locator-store{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-5);border:var(--border);border-radius:var(--radius);background:var(--color-white);transition:border-color var(--duration-fast) ease}.locator-store.is-selected{border-color:var(--color-slate);box-shadow:0 0 0 1px var(--color-slate)}.locator-store__head{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.locator-store__type{color:var(--color-sage-ink)}.locator-store__km{color:var(--color-muted)}.locator-store__name{font-family:var(--font-text);font-size:1.0625rem;letter-spacing:0}.locator-store__name button{text-align:left;font-weight:inherit}.locator-store__name button:hover{color:var(--color-slate);text-decoration:underline;text-underline-offset:3px}.locator-store__addr,.locator-store__hours{font-size:var(--text-small);color:var(--color-muted)}.locator-store__hours{white-space:pre-line}.locator-store__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.locator-store__actions .btn{min-height:40px;padding-inline:var(--space-3)}.locator-empty{padding:var(--space-5);border-radius:var(--radius);background:var(--color-mist);color:var(--color-muted)}.locator-more{width:100%}.locator-map{position:relative;height:var(--locator-height);border-radius:var(--radius-lg);overflow:hidden;background:#e6edf0;scroll-margin-top:calc(var(--header-height) + var(--space-3))}@media (max-width:899px){.locator-map{order:1;height:58svh}}.locator-map__canvas{width:100%;height:100%}.locator-nomap{padding:var(--space-4);border-radius:var(--radius);background:var(--color-peach-tint)}.locator-pin{display:block;width:20px;height:20px;border-radius:50%;background:var(--color-slate);border:3px solid var(--color-white);box-shadow:0 1px 4px rgb(0 0 0/.3);transition:transform var(--duration-fast) ease}.locator-pin.is-selected{background:var(--color-peach);transform:scale(1.35)}.locator-cluster{display:flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 8px;border-radius:999px;background:var(--color-ink);color:var(--color-white);border:3px solid var(--color-white);box-shadow:0 1px 6px rgb(0 0 0/.3);font:700 14px/1 var(--font-text)}.locator-origin{display:block;width:18px;height:18px;border-radius:50%;background:#1a73e8;border:3px solid var(--color-white);box-shadow:0 0 0 6px rgb(26 115 232/.2)}.locator-info{display:flex;flex-direction:column;gap:4px;max-width:240px;font-family:var(--font-text);font-size:14px;color:var(--color-ink)}.locator-info__type{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-sage-ink)}.locator-info a{color:var(--color-slate)}.locator-info__dir{margin-top:4px;font-weight:700}