.place-map{margin:0 0 15px}
.place-map-toggle{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid #666;border-radius:5px;background:#f8f8f8;color:#333;font:inherit;font-size:.9em;cursor:pointer}
.place-map-toggle:hover{background:#333;color:#fff}
.place-map-toggle::before{content:"";width:14px;height:14px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M9 4 3 6v14l6-2 6 2 6-2V4l-6 2-6-2zM9 4v14M15 6v14'/%3E%3C/svg%3E")}
.place-map-toggle:hover::before{filter:invert(1)}
.place-map-toggle[aria-expanded="true"] .place-map-toggle-show,.place-map-toggle[aria-expanded="false"] .place-map-toggle-hide{display:none}
.place-map-body{margin-top:8px}
.place-map [hidden]{display:none!important}
.place-map-canvas{width:100%;height:300px;background:#f1f1ed;border:1px solid #ddd;border-radius:8px;overflow:hidden;position:relative;z-index:0}
.place-map-status{font-size:.8em;color:#666;margin-top:4px}
.place-map-status:empty{display:none}
.place-map .leaflet-popup-content{font-size:.95em;line-height:1.5}
@media (min-width:600px){.place-map-canvas{height:380px}}
.restaurantblock{scroll-margin-top:70px}
.place-map .leaflet-popup-content{margin:10px 14px}
.place-map .leaflet-popup-content p{margin:4px 0 0}
.place-map-name{display:block;font-size:1.05em;padding-right:12px}
.place-map-today-label{font-size:.8em;color:#5e3a9e;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.place-map-today{line-height:1.45}
.place-map-today-none{color:#666;font-style:italic}
.place-map-links{font-size:.9em;border-top:1px solid #eee;padding-top:6px;margin-top:8px!important}
.place-map-info{line-height:1.4}
.place-map-body.is-fullscreen{position:fixed;inset:0;z-index:2000;margin:0;background:#f1f1ed}
.place-map-body.is-fullscreen .place-map-canvas{height:100vh;height:100dvh;border:0;border-radius:0}
.place-map-body.is-fullscreen .place-map-status{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:1000;margin:0;padding:4px 10px;border-radius:5px;background:rgba(255,255,255,.92);white-space:nowrap}
html.place-map-fullscreen-open,html.place-map-fullscreen-open body{overflow:hidden}
.place-map-fullscreen{display:flex;align-items:center;gap:5px;min-width:34px;height:34px;padding:0 8px;justify-content:center;border:2px solid rgba(0,0,0,.2);border-radius:5px;background:#fff;background-clip:padding-box;color:#333;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.place-map-fullscreen:hover{background-color:#f4f4f4}
