.restaurants-results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 18px}.restaurant-map-open{gap:8px;background:#fff;border-color:var(--home-teal);color:var(--home-teal);white-space:nowrap}.restaurant-map-open[hidden]{display:none}.restaurant-map-is-open{overflow:hidden}
.restaurant-map-dialog{box-sizing:border-box;width:calc(100% - 40px);max-width:1440px;height:calc(100dvh - 40px);max-height:100dvh;padding:0;border:0;border-radius:18px;color:var(--home-ink,#173f48);background:#fff;box-shadow:0 20px 80px #173f4840;overflow:hidden}.restaurant-map-dialog::backdrop{background:#143c48a6}.restaurant-map-dialog[open]{display:flex;flex-direction:column}.restaurant-map-dialog [hidden]{display:none!important}.restaurant-map-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px 12px;flex-shrink:0}.restaurant-map-header .home-brand{margin:0 0 5px;font-size:.72rem}.restaurant-map-header h2{margin:0;font-size:1.3rem;line-height:1.25}.restaurant-map-close{flex-shrink:0;gap:8px}.restaurant-map-close span{font-size:1.6rem;line-height:1}.restaurant-map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 22px 14px;font-size:.85rem;flex-shrink:0}.restaurant-map-toolbar p{margin:0}.restaurant-map-toolbar>div{display:flex;gap:8px}.restaurant-map-toolbar .detail-button{min-height:40px;font-size:.8rem;padding:8px 12px}.restaurant-map-list-toggle{display:none}.restaurant-map-filter-note,.restaurant-map-message{margin:0;padding:9px 22px;font-size:.8rem;line-height:1.4;flex-shrink:0;background:#f4f4ed;border-top:1px solid #e4e7df}.restaurant-map-filter-note a{color:var(--home-teal);font-weight:600}.restaurant-map-message{background:#fff6e7;color:#704d1c}
.restaurant-map-body{display:grid;grid-template-columns:320px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;flex:1;min-height:0;border-top:1px solid #e0e6e5;position:relative}.restaurant-map-list{grid-column:1;grid-row:1/3;min-height:0;overflow:auto;overscroll-behavior:contain;background:#fff;scrollbar-width:thin}.restaurant-map-row{border-bottom:1px solid #e6e9e5;margin:0}.restaurant-map-result{display:flex;gap:12px;width:100%;padding:16px;border:0;background:#fff;text-align:left;color:inherit;cursor:pointer;font:inherit}.restaurant-map-result:hover,.restaurant-map-result[aria-current]{background:#edf4f2}.restaurant-map-result[aria-current]{box-shadow:inset 4px 0 var(--home-teal)}.restaurant-map-result img{width:68px;height:68px;object-fit:cover;border-radius:9px;flex:none}.restaurant-map-result-copy{min-width:0;display:flex;flex-direction:column;gap:5px}.restaurant-map-result strong{font-size:.95rem;line-height:1.3}.restaurant-map-result-copy>span{font-size:.75rem;color:var(--home-muted)}.restaurant-map-result small{font-size:.72rem;line-height:1.4;color:var(--home-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.restaurant-map-result .restaurant-map-unlocated{color:#885d23}.restaurant-map-empty{padding:20px;line-height:1.5}
.restaurant-map-stage{grid-column:2;grid-row:1;min-height:0;position:relative;background:#e6ece5}.restaurant-map-canvas{height:100%;width:100%;min-height:160px;z-index:0;font-family:inherit}.restaurant-map-loading{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f1f3ec;padding:25px;text-align:center}.restaurant-map-canvas .leaflet-control-attribution{font-size:10px;background:#fffffff2}.restaurant-map-canvas .leaflet-control-attribution a{color:#164d59}.restaurant-map-canvas .leaflet-bar a{width:40px;height:40px;line-height:40px}.restaurant-map-pin{background:transparent;border:0}.restaurant-map-pin>span{display:grid;place-items:center;width:34px;height:34px;border:2px solid #fff;border-radius:50% 50% 50% 5px;transform:rotate(-45deg);background:#176678;color:#fff;box-shadow:0 2px 6px #173f4840;font:bold 13px system-ui}.restaurant-map-pin>span{border-radius:50%}.restaurant-map-pin.is-selected>span{background:#a84232;outline:3px solid #fff;transform:scale(1.18);z-index:1}.restaurant-map-pin:not(.is-selected)>span{transform:none}.restaurant-map-cluster{background:#fff;border:3px solid #176678;border-radius:50%;color:#174a56;box-shadow:0 2px 8px #173f4830;display:grid;place-items:center;font:bold 14px system-ui}.restaurant-map-pin:focus-visible,.restaurant-map-cluster:focus-visible{outline:3px solid #d97b54;outline-offset:4px}.restaurant-map-selection{grid-column:2;grid-row:2;display:flex;align-items:center;gap:14px;background:#fff;border-top:1px solid #d8e1df;padding:16px 20px;position:relative}.restaurant-map-selection>img{width:90px;height:82px;border-radius:10px;object-fit:cover;flex:none}.restaurant-map-selection-copy{min-width:0;padding-right:24px}.restaurant-map-selection h3{margin:0 0 5px;font-size:1.05rem}.restaurant-map-selection p{margin:0 0 6px;font-size:.8rem;line-height:1.4;color:var(--home-muted)}.restaurant-map-selection a{display:inline-flex;align-items:center;min-height:36px;color:var(--home-teal);font-size:.85rem;font-weight:650}.restaurant-map-selection-close{position:absolute;right:8px;top:5px;width:36px;height:36px;border:0;background:transparent;font-size:24px;color:inherit;cursor:pointer}.restaurant-map-dialog button:focus-visible,.restaurant-map-dialog a:focus-visible{outline:3px solid #176678;outline-offset:-3px}
@media(max-width:700px){.restaurant-map-dialog{width:100%;height:100dvh;max-height:100dvh;max-width:none;margin:0;border-radius:0}.restaurant-map-header{padding:calc(12px + env(safe-area-inset-top)) 15px 10px;gap:8px}.restaurant-map-header .home-brand{font-size:.65rem}.restaurant-map-header h2{font-size:1.06rem}.restaurant-map-close{padding:8px!important;font-size:.8rem!important;min-height:44px}.restaurant-map-toolbar{padding:0 15px 10px;flex-wrap:wrap;gap:8px;font-size:.8rem}.restaurant-map-toolbar>div{width:100%;justify-content:space-between}.restaurant-map-list-toggle{display:inline-flex}.restaurant-map-filter-note,.restaurant-map-message{padding:8px 15px;font-size:.75rem}.restaurant-map-body{grid-template-columns:minmax(0,1fr)}.restaurant-map-stage{grid-column:1}.restaurant-map-list{display:none;grid-column:1;grid-row:1}.restaurant-map-selection{grid-column:1;padding:12px 14px calc(12px + env(safe-area-inset-bottom));gap:10px;max-height:220px;overflow:auto}.restaurant-map-selection>img{width:70px;height:76px}.restaurant-map-selection h3{font-size:.95rem}.restaurant-map-selection p{font-size:.74rem}.restaurant-map-selection a{font-size:.8rem;min-height:40px}.restaurant-map-dialog.is-list .restaurant-map-list{display:block}.restaurant-map-dialog.is-list .restaurant-map-stage{display:none}.restaurant-map-result{padding:13px 16px}.restaurants-results-heading{gap:8px}.restaurant-map-open{padding:9px 11px!important;font-size:.82rem!important}.restaurant-map-canvas{min-height:100px}}
.restaurant-map-canvas .restaurant-map-cluster{display:grid;place-items:center;box-sizing:border-box}.restaurant-map-number{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-right:6px;padding:0 3px;border-radius:50%;background:#176678;color:#fff;font-size:11px;font-weight:700;vertical-align:middle}
