#restaurant-map{height:min(66vh,640px);min-height:380px;width:100%;position:relative;z-index:0;border:1px solid var(--line,#dce4df);border-radius:12px;background:#e7ede2;font-family:inherit;font-size:14px;line-height:1.45}
#restaurant-map[hidden]{display:none}
#restaurant-map-status{margin:10px 0;font-size:14px;line-height:1.5;color:var(--muted,#5d6b67)}
#restaurant-map .restaurant-map-pin{box-sizing:border-box;width:24px;height:24px;min-width:24px;min-height:24px;padding:0;background:#245b4d;border:2px solid white;border-radius:50%;box-shadow:0 2px 7px #10282066;display:flex;align-items:center;justify-content:center;cursor:pointer}
.restaurant-map-pin span{width:7px;height:7px;background:#fff;border-radius:50%}
#restaurant-map .restaurant-map-pin:hover,#restaurant-map .restaurant-map-pin:focus{background:#a54c27;outline:2px solid #a54c27;outline-offset:2px}
.restaurant-map-popup{font-family:inherit;font-size:14px;line-height:1.5;color:var(--ink,#24302c)}
.restaurant-map-popup>strong{display:block;font-size:16px;line-height:1.4}
.restaurant-map-popup p{margin:7px 0!important}
.restaurant-map-popup a{display:inline-block;font-weight:600;color:var(--green,#245b4d);padding:5px 0}
.restaurant-map-rating{font-variant-numeric:tabular-nums}
#restaurant-map .maplibregl-popup-content{padding:16px 24px 12px 16px;min-width:200px;background:var(--paper,#fff);color:var(--ink,#24302c);border-radius:10px;box-shadow:0 6px 24px #13292438}
#restaurant-map .maplibregl-popup-anchor-bottom .maplibregl-popup-tip,#restaurant-map .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,#restaurant-map .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:var(--paper,#fff)}
#restaurant-map .maplibregl-popup-anchor-top .maplibregl-popup-tip,#restaurant-map .maplibregl-popup-anchor-top-left .maplibregl-popup-tip,#restaurant-map .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:var(--paper,#fff)}
#restaurant-map .maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--paper,#fff)}
#restaurant-map .maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--paper,#fff)}
#restaurant-map .maplibregl-popup-close-button{color:var(--ink,#24302c);padding:0;font-size:22px;min-height:28px;min-width:28px;background:transparent;border:0}
#restaurant-map .maplibregl-ctrl-group{background:var(--paper,#fff);border-radius:8px;box-shadow:0 2px 10px #13292430}
#restaurant-map .maplibregl-ctrl-group button{padding:0;min-height:32px;min-width:32px;width:32px;height:32px;line-height:32px;color:var(--ink,#24302c);border-color:var(--line,#dce4df)}
#restaurant-map .maplibregl-ctrl-attrib{font-size:11px;line-height:1.5;padding:2px 5px;background:var(--paper,#fff);color:var(--ink,#444)}
#restaurant-map .maplibregl-ctrl-attrib a{color:var(--green,#245b4d)}
.restaurant-map-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;flex-wrap:wrap}
.restaurant-map-tools button{padding:6px 12px;font-size:14px;line-height:1.5}
.directory-filter-actions>a{flex:none;white-space:nowrap}
#restaurant-map-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:18px 0;gap:0 24px}
#restaurant-map-list li{display:flex;align-items:center;border-bottom:1px solid var(--line,#dce4df);margin:0;min-width:0;padding:10px 0;gap:10px}
#restaurant-map-list .restaurant-map-place{flex:1;min-width:0;display:block;text-align:left;color:var(--ink,#24302c);background:transparent;border:0;padding:0;box-shadow:none;cursor:pointer;font:inherit;line-height:1.4}
.restaurant-map-place strong{display:block;font-size:15px;font-weight:600;overflow-wrap:anywhere}
.restaurant-map-place span{display:block;font-size:13px;color:var(--muted,#5d6b67);margin-top:4px}
.restaurant-map-detail{flex:none;font-size:14px;color:var(--green,#245b4d)}
html[data-home-theme="dark"] #restaurant-map .restaurant-map-pin{border-color:#c5ded4;background:#397c68}
html[data-home-theme="dark"] #restaurant-map .maplibregl-ctrl-icon{filter:invert(1)}
html[data-home-theme="dark"] #restaurant-map{background:#182d27}
@media(max-width:760px){#restaurant-map{height:58vh;min-height:340px;max-height:540px}#restaurant-map-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}}
@media(max-width:480px){#restaurant-map-list{grid-template-columns:1fr}#restaurant-map{min-height:320px}}
