.merchant-location-map{border-radius:16px;width:100%;height:280px;margin-bottom:16px;position:relative;overflow:hidden}@media (min-width:768px){.merchant-location-map{height:320px}}.merchant-location-map__canvas{z-index:1;opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.merchant-location-map__canvas--visible{opacity:1;pointer-events:auto}.merchant-location-map__canvas .mapboxgl-ctrl-top-right{top:12px;right:12px}.merchant-location-map__canvas canvas.mapboxgl-canvas{max-height:420px;height:100%!important}.merchant-location-map__static{z-index:0;object-fit:cover;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.merchant-location-map__status{z-index:2;text-align:center;color:#334155;background:rgba(248,250,252,.92);justify-content:center;align-items:center;margin:0;padding:16px;font-size:.875rem;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}
.merchant-map-preview{z-index:6;pointer-events:auto;background:#fff;border-radius:12px;gap:12px;width:min(300px,100% - 32px);padding:8px;display:flex;box-shadow:0 12px 32px rgba(15,23,42,.18)}.merchant-map-preview--anchored{left:var(--preview-x,50%);top:var(--preview-y,50%);position:absolute;transform:translate(-50%,calc(-100% - 18px))}.merchant-map-preview--docked{left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));position:absolute;transform:translate(-50%)}.merchant-map-preview--pinned{box-shadow:0 14px 36px rgba(15,23,42,.22)}.merchant-map-preview__close{z-index:1;color:#111620;cursor:pointer;background:rgba(255,255,255,.92);border:none;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:1.125rem;line-height:1;display:flex;position:absolute;top:4px;right:4px;box-shadow:0 2px 8px rgba(15,23,42,.12)}.merchant-map-preview__close:hover{background:#f8fafc}.merchant-map-preview__close:focus-visible{background:#f8fafc}.merchant-map-preview__close:focus-visible{outline-offset:2px;outline:2px solid #002cdd}.merchant-map-preview__media{border-radius:12px;flex:0 0 88px;width:88px;height:88px;text-decoration:none;overflow:hidden}.merchant-map-preview__image{object-fit:cover;width:100%;height:100%;display:block}.merchant-map-preview__avatar{color:#042d79;background:#d9e2f2;justify-content:center;align-items:center;width:100%;height:100%;font-size:1.125rem;font-weight:600;display:flex}.merchant-map-preview__body{flex-direction:column;flex:1;justify-content:center;gap:4px;min-width:0;padding:4px 4px 4px 0;display:flex}.merchant-map-preview__name{color:#111620;margin:0;font-size:1rem;font-weight:600;line-height:1.25}.merchant-map-preview__location{color:#334155;margin:0;font-size:.875rem;line-height:1.3}.merchant-map-preview__cta{align-self:flex-start;margin-top:4px;text-decoration:none}@media (max-width:1023px){.merchant-map-preview--anchored{top:auto;left:50%;bottom:calc(64px + env(safe-area-inset-bottom,0px));transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.merchant-map-preview{transition:none}}
.merchant-results-map{background:#f8fafc;width:100%;height:100%;min-height:280px;position:relative;overflow:hidden}.merchant-results-map__canvas{z-index:1;opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.merchant-results-map__canvas--visible{opacity:1;pointer-events:auto}.merchant-results-map__canvas .mapboxgl-ctrl-top-right{top:12px;right:12px}.merchant-results-map__canvas canvas.mapboxgl-canvas{width:100%!important;height:100%!important}.merchant-results-map__controls{z-index:4;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:8px;max-width:calc(100% - 32px);display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.merchant-results-map__controls>*{pointer-events:auto}.merchant-results-map__show-all,.merchant-results-map__search-area{box-shadow:0 4px 14px rgba(15,23,42,.14)}.merchant-results-map__cluster{color:#fff;cursor:pointer;background:#004ddb;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 8px;font-size:.875rem;font-weight:600;transition:transform .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 12px rgba(0,77,219,.35)}.merchant-results-map__cluster:hover{transform:scale(1.06)}.merchant-results-map__cluster:focus-visible{transform:scale(1.06)}.merchant-results-map__cluster:focus-visible{outline-offset:2px;outline:2px solid #002cdd}.merchant-results-map__status{z-index:2;text-align:center;color:#334155;background:rgba(248,250,252,.92);justify-content:center;align-items:center;margin:0;padding:16px;font-size:.875rem;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.merchant-results-map__status--overlay{z-index:3;pointer-events:none;background:rgba(255,255,255,.94);border-radius:12px;height:auto;top:auto;bottom:16px;left:16px;right:16px;box-shadow:0 8px 24px rgba(15,23,42,.12)}.merchant-results-map__marker{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:transform .2s cubic-bezier(.4,0,.2,1);display:flex;transform:translateY(2px)}.merchant-results-map__marker:focus-visible{outline-offset:2px;border-radius:999px;outline:2px solid #002cdd}.merchant-results-map__marker-dot{background:#004ddb;border:2px solid #fff;border-radius:999px;width:16px;height:16px;transition:width .2s cubic-bezier(.4,0,.2,1),height .2s cubic-bezier(.4,0,.2,1),background .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);display:block;box-shadow:0 2px 8px rgba(15,23,42,.28)}.merchant-results-map__marker--hovered .merchant-results-map__marker-dot,.merchant-results-map__marker:hover .merchant-results-map__marker-dot{width:18px;height:18px;box-shadow:0 4px 12px rgba(0,77,219,.35)}.merchant-results-map__marker--selected{z-index:2;transform:translateY(0)scale(1.08)}.merchant-results-map__marker--selected .merchant-results-map__marker-dot{background:#042d79;width:20px;height:20px;box-shadow:0 6px 16px rgba(0,44,221,.4)}@media (prefers-reduced-motion:reduce){.merchant-results-map__marker,.merchant-results-map__marker-dot{transition:none}}
