/* Store locator list - filter box, region chips and branch cards (no map). */
.sl { display: grid; gap: 12px; }
.sl-title { margin: 0; font-size: 1.2em; line-height: 1.25; font-weight: 750; letter-spacing: -.015em; color: var(--e-ink); overflow-wrap: anywhere; }
.sl-qwrap { position: relative; display: flex; align-items: center; }
.sl-qwrap .sl-i { position: absolute; left: 11px; width: 18px; height: 18px; color: var(--e-ink-3); pointer-events: none; }
.sl-q { width: 100%; padding-left: 36px; }
.sl-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.sl-chip {
    font: inherit; font-size: .84em; font-weight: 650; cursor: pointer; min-height: 40px; padding: 5px 13px; border-radius: 999px;
    border: 1px solid var(--e-line-strong); background: var(--e-bg); color: var(--e-ink-2);
}
.sl-chip:hover { border-color: var(--e-accent); color: var(--e-accent-fg); }
.sl-chip[aria-pressed="true"] { background: var(--e-ink); border-color: var(--e-ink); color: var(--e-bg); }
.sl-count { margin: -2px 0 0; font-size: .8em; color: var(--e-ink-3); }
.sl-count:empty { display: none; }
.sl-body { display: grid; gap: 14px; }
.sl-region { display: grid; gap: 8px; }
.sl-region-title { margin: 0; font-size: .78em; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; color: var(--e-ink-3); display: flex; align-items: center; gap: 10px; }
.sl-region-title::after { content: ""; flex: 1; height: 1px; background: var(--e-line); }
.sl-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.sl-item { display: grid; gap: 5px; padding: 13px 14px; border-radius: calc(var(--e-radius) - 4px); border: 1px solid var(--e-line); background: var(--e-surface); min-width: 0; }
.sl-name { margin: 0 0 2px; font-size: 1em; font-weight: 700; color: var(--e-ink); overflow-wrap: anywhere; }
.sl-line { margin: 0; display: flex; align-items: flex-start; gap: 8px; font-size: .88em; color: var(--e-ink-2); min-width: 0; }
.sl-line > span { min-width: 0; overflow-wrap: anywhere; }
.sl-line .sl-i { margin-top: 2px; color: var(--e-ink-3); }
.sl-i { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.sl-apple { margin-left: 8px; font-size: .92em; font-weight: 600; color: var(--e-accent-fg); text-decoration: none; white-space: nowrap; }
.sl-apple:hover { text-decoration: underline; text-underline-offset: 2px; }
.sl-phone { font-variant-numeric: tabular-nums; }
.sl-acts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; }
.sl-act {
    display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 6px 13px; border-radius: 999px; text-decoration: none;
    font-size: .84em; font-weight: 650; color: var(--e-ink); background: var(--e-bg); border: 1px solid var(--e-line-strong);
}
.sl-act:hover { border-color: var(--e-accent); color: var(--e-accent-fg); }
.sl-act-main { background: linear-gradient(135deg, var(--e-accent) 0%, var(--e-accent-2) 100%); border-color: transparent; color: var(--e-accent-ink); }
.sl-act-main:hover { color: var(--e-accent-ink); filter: brightness(1.05); }
html.e-custom-accent .sl-act-main { background: var(--e-accent); }
.sl-empty { padding: 10px 0; }
html[data-compact="1"] .sl-item { padding: 10px 11px; }
@media (max-width: 340px) { .sl-act { flex: 1 1 auto; justify-content: center; } }
.sl-more { justify-self: start; }
.sl-num { font-variant-numeric: tabular-nums; }
