.store-locator { padding:150px 30px 110px;max-width:var(--max);margin:auto }
.store-locator__intro { max-width:600px;margin-bottom:46px }
.store-locator__intro h1 { font-size:52px;font-weight:500;line-height:1.15;letter-spacing:0;margin:0 0 15px }
.store-locator__intro>p:not(.eyebrow) { margin:0;color:var(--muted) }
.store-locator__workspace { display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);min-height:610px;background:#fff;border:1px solid var(--line) }
.store-locator__map-panel { padding:32px 36px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column }
.store-locator__map-head,.store-locator__result-head { display:flex;justify-content:space-between;align-items:center }
.store-locator__map-head p,.store-locator__result-head p { margin:0;font-size:13px;color:var(--muted) }
.store-locator__all,.store-locator__result-head button { border:0;background:none;padding:4px 0;color:var(--accent);font:inherit;font-size:12px;cursor:pointer }
.store-map { position:relative;max-width:700px;width:100%;height:470px;margin:auto }
.store-map__outline { position:absolute;inset:0;width:100%;height:100%;fill:#edf0eb;stroke:#9aa49b;stroke-width:2;stroke-linejoin:round }
.store-map__outline path+path { fill:none;stroke:#c4cac3;stroke-width:1.1 }
.store-locator__notice { margin:0;color:var(--muted);font-size:11px }
.store-locator__list-panel { padding:32px;display:flex;flex-direction:column;min-height:0 }
.store-search { position:relative;display:block }
.store-search input { width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 32px 12px 0;color:var(--ink);font:inherit;font-size:14px;outline:0 }
.store-search input:focus { border-color:var(--accent) }
.store-search i { position:absolute;right:4px;top:11px;width:14px;height:14px;border:1px solid var(--muted);border-radius:50% }
.store-search i:after { content:"";position:absolute;width:6px;height:1px;background:var(--muted);right:-4px;bottom:-2px;transform:rotate(45deg) }
.store-locator__result-head { padding:22px 0 14px;border-bottom:1px solid var(--line) }
.store-list { overflow:auto;padding-right:5px }
.store-card { padding:22px 0;border-bottom:1px solid var(--line) }
.store-card__city { display:block;color:var(--accent);font-size:11px;letter-spacing:.1em;margin-bottom:4px }
.store-card h2 { font-size:18px;font-weight:500;line-height:1.4;margin:0 0 9px }
.store-card p { margin:0 0 4px;font-size:13px;color:var(--muted) }
.store-card__actions { display:flex;gap:18px;margin-top:13px }
.store-card__actions a { font-size:12px;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px }
.store-card__actions a:last-child { color:var(--accent) }
.store-list__empty { padding:42px 0;color:var(--muted);font-size:14px;text-align:center }
.store-locator__map-panel,.store-locator__list-panel { background:#fff }
@media(max-width:900px) {
  .store-locator { padding:120px 20px 75px }
  .store-locator__workspace { grid-template-columns:1fr }
  .store-locator__map-panel { border-right:0;border-bottom:1px solid var(--line) }
  .store-locator__list-panel { min-height:420px }
  .store-list { max-height:430px }
}
@media(max-width:560px) {
  .store-locator__intro h1 { font-size:38px }
  .store-locator__workspace { margin:0 -20px }
  .store-locator__map-panel,.store-locator__list-panel { padding:24px 20px }
  .store-map { height:330px }
  .store-locator__notice { font-size:10px }
  .store-card h2 { font-size:17px }
}
/* Former store-locator-fixes.css, merged: desktop layout heights and map provinces */
@media (min-width: 901px) {
  .store-locator__workspace { height:830px;min-height:0 }
  .store-locator__map-panel,
    .store-locator__list-panel { min-height:0 }
  .store-map { height:700px;max-width:720px }
  .store-locator__list-panel { overflow:hidden }
  .store-list { flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain }
}
@media (max-width: 900px) {
  .store-locator__list-panel { overflow:hidden }
  .store-list { min-height:0;overflow-y:auto }
}
.store-map__outline svg { display:block;width:100%;height:100% }
.store-map__outline [data-province]:not([data-province=""]) { cursor:pointer;pointer-events:all;fill:#edf0eb;fill-rule:evenodd;transition:fill .18s ease,stroke .18s ease }
.store-map__outline [data-province]:not([data-province=""]):hover,.store-map__outline [data-province]:not([data-province=""]):focus,.store-map__outline [data-province]:not([data-province=""]).is-active { fill:#dcc39f;stroke:#9c7041;outline:none }
.store-map__outline path.has-store { fill:#ecd9bf }
/* Stats, legend, grouped card list */
.store-locator__stats { display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 28px }
.store-locator__stat { display:flex;flex-direction:column;gap:4px;padding:18px 20px;border:1px solid var(--line);background:#fff }
.store-locator__stat strong { color:var(--accent);font:500 30px/1 Georgia,serif }
.store-locator__stat span { color:var(--muted);font-size:12px }
.store-locator__stat--note { justify-content:center }
.store-map__legend { display:flex;gap:18px;margin:10px 0 0;color:var(--muted);font-size:11px }
.store-map__legend span { display:inline-flex;align-items:center;gap:6px }
.store-map__legend i { width:8px;height:8px;border:1px solid #9aa49b;border-radius:50%;display:inline-block }
.store-map__legend i.is-covered { background:#ecd9bf;border-color:#b7824b }
.store-card__body { min-width:0 }
.store-card__phone { font-size:12px;color:var(--muted) }
.store-list__group h3 { display:flex;justify-content:space-between;margin:18px 0 0;font-size:12px;color:var(--muted);font-weight:500 }
.store-list__group h3 span { color:var(--accent) }
/* Franchise intention form */
.store-intention-wrap { margin-top:28px }
.store-intention { padding:34px;border:1px solid var(--line);background:#fff }
.store-intention form { display:grid;grid-template-columns:repeat(3,1fr);gap:10px }
.store-intention__area,.store-intention textarea,.store-intention button,.store-intention__message { grid-column:1/-1 }
.store-intention__area { display:grid;grid-template-columns:repeat(3,1fr);gap:10px }
.store-intention input,.store-intention select,.store-intention textarea { width:100%;box-sizing:border-box;border:1px solid var(--line);padding:10px;background:#fff;font:inherit }
.store-intention textarea { min-height:90px }
.store-intention button { border:0;background:var(--dark);color:#fff;padding:12px;cursor:pointer }
@media(max-width:560px) {
  .store-locator__stats { grid-template-columns:repeat(2,1fr) }
  .store-intention { padding:24px 18px }
  .store-intention form,.store-intention__area { grid-template-columns:1fr }
}
/* Keep the intention form visible outside the scrolling store list */
.store-locator__workspace + .store-intention-wrap { display:block!important;visibility:visible!important;height:auto!important;max-height:none!important;overflow:visible!important;clear:both;margin:32px 0 64px!important }
.store-locator__workspace + .store-intention-wrap .store-intention { display:block!important;visibility:visible!important;opacity:1!important;padding:34px;border:1px solid var(--line);background:#fff }
@media(max-width:560px) {
  .store-locator__workspace + .store-intention-wrap .store-intention { padding:24px 18px }
}
