/* 지도 우선. 검색 패널은 작게, 식당 상세는 비모달 하단 카드로 표시한다. */
.workspace{position:relative;display:block;overflow:hidden}
.map-pane{position:absolute;inset:0;height:auto;min-height:0}
.results-pane{position:absolute;right:20px;bottom:16px;width:410px;max-width:calc(100% - 32px);height:226px;max-height:calc(100% - 24px);border:1px solid #dce3ef;border-radius:20px;box-shadow:0 8px 30px #1f335b24;overflow-y:auto;z-index:2;margin:0;transition:height .2s ease}
.results-pane.sheet-expanded{height:76%}
.sheet-toggle{display:block;position:sticky;top:0;z-index:3;width:100%;border:0;border-bottom:1px solid #e5eaf3;background:#fff;color:#425678;font-size:12px;font-weight:650;padding:8px 14px;min-height:40px;border-radius:20px 20px 0 0}
.sheet-toggle::before{content:'';display:block;width:32px;height:4px;margin:0 auto 5px;background:#c5cddb;border-radius:3px}
.results-head{padding:10px 16px 8px}
.results-head>.eyebrow,.results-head>h1,.results-head>#intro{display:none}
.search-wrap{height:44px}.controls{margin-top:6px;padding:6px}
.results-pane:not(.sheet-expanded) .contribution-section,.results-pane:not(.sheet-expanded) #saved-status,.results-pane:not(.sheet-expanded) #list,.results-pane:not(.sheet-expanded) #more,.results-pane:not(.sheet-expanded) #data-disclaimer{display:none}
.list-toolbar,.contribution-section+.list-toolbar{padding:0 16px 8px}
.results-pane.sheet-expanded .list-toolbar{padding:8px 16px}
.results-pane.sheet-expanded .contribution-section{padding:2px 16px 0}
.list-toolbar .quiet-button{min-height:36px;padding:6px 10px}
.map-corner{top:12px;bottom:auto;left:12px;box-shadow:none;font-size:10px}
.locate-me{position:absolute;right:20px;top:18px;z-index:1;width:48px;height:48px;border:1px solid #d5ddeb;border-radius:14px;background:#fff;color:#365ad2;font-size:30px;box-shadow:0 3px 14px #21345220}
.location-status{position:absolute;left:16px;top:52px;max-width:calc(100% - 90px);padding:10px 12px;border-radius:10px;background:#fff;color:#43516a;font-size:12px;line-height:1.5;box-shadow:0 3px 14px #21345220;z-index:1}
.location-status[hidden]{display:none}
body.place-open .results-pane{visibility:hidden;pointer-events:none}
#detail{position:fixed;inset:auto 20px 16px auto;width:410px;max-width:calc(100vw - 32px);height:50dvh;max-height:calc(100dvh - 88px);margin:0;z-index:5;border-radius:20px;box-shadow:0 -4px 32px #1e30432b;overflow-y:auto}
#detail[open]{animation:sheet-arrive .2s ease-out}
#detail.detail-expanded{height:82dvh}
#detail .dialog-head{gap:8px;padding:8px 16px}
#detail-city{margin-right:auto}
#detail .dialog-head{flex-wrap:wrap}
#detail .detail-grip{flex:0 0 100%;height:28px;min-height:28px;padding:0;display:grid;place-items:center;cursor:ns-resize;touch-action:none;user-select:none;border:0;background:white}
#detail .detail-grip span{display:block;width:40px;height:5px;border-radius:5px;background:#b8c4d8}
.sheet-dragging #detail{animation:none;user-select:none}
#detail .detail-expand{font-size:12px;color:#425678;border:1px solid #dce3ef;border-radius:9px;padding:6px 10px;min-height:36px}
#detail .dialog-body{padding:16px}
#detail .detail-note{margin:12px 0;font-size:11px!important;padding:8px 10px}
#detail .detail-actions{margin-top:12px}
#detail .dialog-body h2{font-size:21px}
@keyframes sheet-arrive{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:760px){
 .workspace{display:block}.map-pane{height:auto;min-height:0}
 /* 로고·저작권·컨트롤을 패널로 가리지 않도록 실제 지도 높이를 맞춘다. */
 .map{bottom:226px}
 .workspace:has(.sheet-expanded) .map{bottom:74%}
 body.place-open .workspace .map{bottom:var(--detail-live-height,49dvh)}
 body:has(#detail.detail-expanded[open]) .workspace .map{bottom:var(--detail-live-height,82dvh)}
 .results-pane{left:0;right:0;bottom:0;width:100%;max-width:none;height:226px;border-radius:20px 20px 0 0;max-height:90%;padding-bottom:env(safe-area-inset-bottom)}
 .results-pane.sheet-expanded{height:74%}
 #detail{left:0;right:0;bottom:0;width:100%;max-width:none;border-radius:20px 20px 0 0;height:49dvh;padding-bottom:env(safe-area-inset-bottom)}
 #detail.detail-expanded{height:82dvh}
 .locate-me{right:14px;top:14px}
}
@media(prefers-reduced-motion:reduce){.results-pane{transition:none}#detail[open]{animation:none}}
