.middle-results-view-toggle{display:inline-flex;align-items:center;gap:3px;padding:4px;border:1px solid #d6dcde;border-radius:999px;background:#fff;box-shadow:0 4px 16px rgba(32,42,44,.06)}
#resultsGrid[hidden]{display:none!important}
.middle-results-view-toggle button{min-height:36px;padding:7px 14px;border-radius:999px;color:#586366;font-weight:650;transition:background-color .16s,color .16s,box-shadow .16s}
.middle-results-view-toggle button[aria-pressed="true"]{background:#ff7e67;color:#482015;box-shadow:0 2px 7px rgba(165,59,41,.2)}
.middle-results-view-toggle button:disabled{opacity:.45;cursor:not-allowed}
.middle-results-view-toggle button:focus-visible{outline:3px solid #006a65;outline-offset:2px}
.middle-london-map{position:relative;width:100%;height:clamp(430px,68vh,760px);overflow:hidden;border:1px solid #d6dcde;border-radius:24px;background:#e8edef;box-shadow:0 8px 30px rgba(32,42,44,.09)}
.middle-map-canvas{width:100%;height:100%;z-index:0;background:#eef1ed}
.middle-map-canvas .leaflet-tile-pane{filter:grayscale(.68) saturate(.42) contrast(.76) brightness(1.1);opacity:.82}
.middle-map-legend{position:absolute;z-index:500;left:12px;bottom:12px;display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid rgba(32,42,44,.14);border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 3px 12px rgba(32,42,44,.12);font-size:11px;font-weight:650;color:#414b4e;pointer-events:none}
.middle-map-legend i{display:block;width:10px;height:10px;border-radius:50%;background:var(--score-colour)}
.middle-score-pin-wrapper{background:transparent;border:0}
.middle-score-pin{display:block;width:25px;height:25px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:var(--pin-colour);box-shadow:0 3px 8px rgba(32,42,44,.35);transform:rotate(-45deg);transition:transform .16s,box-shadow .16s}
.middle-score-pin-wrapper:hover .middle-score-pin{transform:rotate(-45deg) scale(1.13)}
.middle-score-pin-wrapper--selected{z-index:700!important}
.middle-score-pin-wrapper--selected .middle-score-pin{transform:rotate(-45deg) scale(1.2);box-shadow:0 0 0 5px rgba(255,255,255,.68),0 5px 12px rgba(32,42,44,.4)}
.middle-map-sheet{position:absolute;z-index:800;bottom:12px;left:12px;width:min(430px,calc(100% - 24px));overflow:hidden;border:1px solid rgba(255,255,255,.8);border-radius:26px;background:rgba(250,252,252,.96);box-shadow:0 16px 50px rgba(32,42,44,.24);transition:height .24s cubic-bezier(.2,.8,.2,1);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.middle-map-sheet[hidden]{display:none}
.middle-map-sheet[data-dragging="true"]{transition:none;user-select:none}
.middle-map-sheet__controls{position:sticky;z-index:30;top:0;display:flex;align-items:center;justify-content:center;height:44px;background:linear-gradient(rgba(250,252,252,.99),rgba(250,252,252,.9));touch-action:none;cursor:ns-resize}
.middle-map-sheet__handle{display:grid;place-items:center;width:120px;height:100%;touch-action:none;cursor:ns-resize}
.middle-map-sheet__handle span{display:block;width:64px;height:6px;border-radius:99px;background:#c8d0d3}
.middle-map-sheet__handle:focus-visible,.middle-map-sheet__close:focus-visible{outline:3px solid #006a65;outline-offset:-3px}
.middle-map-sheet__close{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#586366;font-size:25px;line-height:1;touch-action:manipulation;cursor:pointer}
.middle-map-sheet__close:hover{background:#e7eded;color:#202a2c}
.middle-map-sheet__content{height:calc(100% - 44px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 10px 10px}
.middle-map-sheet__content>[data-result-place-id]{width:100%;margin:0}
.middle-map-sheet__content>section[data-result-place-id]{display:block}
.middle-london-map[data-map-unavailable="true"] .middle-map-canvas:after{content:"The map could not be loaded. Your results are still available in List view.";position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:#586366}
@media(max-width:767px){.middle-london-map{height:calc(100dvh - 230px);min-height:420px;border-radius:18px}.middle-results-view-toggle button{min-height:34px;padding:6px 12px}.middle-map-legend{right:10px;bottom:10px;left:10px;justify-content:center}.middle-map-legend i{width:9px;height:9px}.middle-map-sheet{right:0;bottom:0;left:0;width:100%;border-right:0;border-bottom:0;border-left:0;border-radius:26px 26px 0 0}.middle-london-map[data-map-sheet-open="true"] .middle-map-legend{display:none}}
@media(prefers-reduced-motion:reduce){.middle-map-sheet,.middle-score-pin{transition:none}}
