/* 강좌 기관 위치 지도 (public/js/course-map.js) — 짹팟 베이지·갈색 톤 */
.cm-slot{margin:0 0 14px;min-width:0;container-type:inline-size}
.cm-slot[hidden]{display:none}
.cm-card{margin:0;border:1px solid #e8dabb;border-radius:12px;background:#fffdf5;padding:14px 16px 10px;min-width:0;max-width:100%;box-sizing:border-box}
.cm-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-bottom:8px;min-width:0}
.cm-head b{font-size:14px;color:#60543d;overflow-wrap:anywhere}
.cm-badge{font-size:10px;color:#8c6b22;background:#f5e9c6;border-radius:4px;padding:2px 6px;white-space:nowrap}
.cm-room,.cm-addr,.cm-dist{flex-basis:100%;font-size:12px;line-height:1.6;color:#8e7f62;overflow-wrap:anywhere}
.cm-room{color:#7a6a4c}
.cm-dist{color:#755233;font-weight:650}
.cm-svg{display:block;width:100%;height:auto;max-height:300px}
.cm-dong{fill:#f6efdf;stroke:#d9c9a5;stroke-width:.8;stroke-linejoin:round}
.cm-dong.is-home{fill:#efe6cf}
.cm-dong.is-hit{fill:#f3dfae;stroke:#c4a164}
.cm-lbl{font-size:7px;fill:#a2967d;text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-family:inherit}
.cm-lbl.is-hit{fill:#6e5326;font-weight:700}
.cm-ring{fill:none;stroke:#8b6a43;stroke-width:.9;stroke-dasharray:3 3;opacity:.7}
.cm-ringlbl{font-size:7px;fill:#8b6a43;text-anchor:middle;font-family:inherit}
.cm-homept{fill:#fff;stroke:#755233;stroke-width:1.6}
.cm-pin path{fill:#c06a2b;stroke:#fff;stroke-width:1.4}
.cm-pin-dot{fill:#fff}
.cm-area{fill:#c06a2b;opacity:.14}
.cm-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:11px;color:#8e7f62;margin:6px 0 0}
.cm-key{display:inline-block;width:10px;height:10px;margin-right:4px;vertical-align:-1px}
.cm-key.pin{background:#c06a2b;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.cm-key.home{border:1.6px solid #755233;border-radius:2px;background:#fff;box-sizing:border-box}
.cm-src{font-size:9px;color:#b0a48a;margin:4px 0 0;line-height:1.5;overflow-wrap:anywhere}
@container (min-width:640px){.cm-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);column-gap:20px;align-items:start}.cm-head{grid-row:1/3;margin:0}.cm-svg{grid-column:2;max-height:340px}.cm-legend,.cm-src{grid-column:2}}
@media(max-width:640px){.cm-card{padding:12px 12px 8px}.cm-head b{font-size:13px}}

.cm-disclosure{border:1px solid var(--line,#dbe3f0);border-radius:14px;background:var(--card,#fff);overflow:hidden}
.cm-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:14px 16px;font-size:14px;font-weight:600;color:var(--fg,#334155)}
.cm-disclosure>summary::-webkit-details-marker{display:none}
.cm-disclosure>summary::after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 3px 4px}
.cm-disclosure[open]>summary::after{transform:rotate(225deg);margin-top:5px;margin-bottom:0}
.cm-disclosure>summary:focus-visible{outline:2px solid var(--pri,#3f5fe0);outline-offset:-3px}
.cm-disclosure .cm-card{border:0;margin:0;border-radius:0}
/* 동을 누르면 확대(course-map.js enableMapZoom): 확대해도 글자·선 굵기는 같은 화면 크기(--z) */
.cm-svg .cm-dong{cursor:pointer;vector-effect:non-scaling-stroke;transition:filter .2s}
.cm-svg .cm-dong:hover{filter:brightness(.96)} /* 색은 테마 그대로, 살짝만 진하게 */
.cm-svg .cm-dong.is-focus{stroke:#4d88ef;stroke-width:1.6}
.cm-svg .cm-lbl,.cm-svg .cm-ringlbl{font-size:calc(7px / var(--z,1))}
.cm-svg.is-zoomed .cm-lbl{font-size:calc(9px / var(--z,1))}
.cm-svg .cm-ring,.cm-svg .cm-homept{vector-effect:non-scaling-stroke}
.cm-svg .cm-pin{cursor:pointer}
.cm-zoomout{display:block;margin:6px 0 0 auto;padding:5px 12px;min-height:32px;border:1px solid #c9d8f5;border-radius:999px;background:#fff;color:#2f5fbf;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.cm-zoomout[hidden]{display:none}
@container (min-width:640px){.cm-zoomout{grid-column:2}}
/* 동/핀을 누르면 SVG 자리에 카카오 지도(실제 길·건물). 버튼 줄은 지도 아래 오른쪽 한 줄 */
.cm-kmap{width:100%;height:260px;border-radius:12px;overflow:hidden;border:1px solid #c9d8f5;background:#eef3fc}
.cm-kmap[hidden],.cm-svg[hidden]{display:none!important}
.cm-kmap-lbl{display:inline-block;padding:3px 8px;border-radius:999px;background:#fff;border:1px solid #4d88ef;color:#1f3f80;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.cm-zoombar{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:6px}
.cm-zoombar[hidden]{display:none}
.cm-zoombar .cm-zoomout{margin:0}
.cm-kakaolink{color:#2f5fbf;font-size:12px;font-weight:600;text-decoration:none}
.cm-kakaolink:hover{text-decoration:underline}
@container (min-width:640px){.cm-zoombar,.cm-kmap{grid-column:2}}
/* 카카오 지도가 뜨면 그림 지도용 범례·경계 출처는 감춤(카카오 로고·축척이 지도 안에 있음) */
.cm-card.is-kakao .cm-legend,.cm-card.is-kakao .cm-src{display:none}
