/* templates/modules/map_v1/view.css — 지도 모듈(오시는 길 / 교인 사업장), 2026-09-25 */
.sc-map{background:#fff;border:1px solid #e4e0d6;border-radius:18px;padding:22px;margin-bottom:20px;position:relative}
.sc-map-pick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;padding:10px 12px;background:#f4f2ed;border:1px dashed #c9c2b3;border-radius:10px;font-size:13px}
.sc-map-pick select{padding:5px 8px;border:1px solid #d8d3c6;border-radius:6px;font-size:13px}
.sc-map-pick .btn-map-apply{border:0;border-radius:6px;padding:6px 14px;font-weight:700;font-size:12.5px;cursor:pointer;color:#fff;background:#1f3760;font-family:inherit}
.sc-map-pick .hint{color:#6b7690;font-size:12px}.sc-map-pick .hint.warn{color:#c0392b}
.sc-map-title{font-size:20px;font-weight:800;letter-spacing:-.4px;margin:0 0 14px}
.sc-map-canvas{width:100%;height:340px;border-radius:14px;overflow:hidden;background:#e9eef5;margin-bottom:16px}
.sc-map-canvas[hidden]{display:none}
/* 교회 오시는 길: 지도 + 로드뷰 나란히(로드뷰 촬영 데이터가 없으면 지도만 꽉 차게) */
.sc-map-views{display:flex;gap:12px;margin-bottom:16px}
.sc-map-views .sc-map-canvas,.sc-map-views .sc-map-rv{flex:1 1 0;min-width:0;height:340px;margin:0;border-radius:14px;overflow:hidden;background:#e9eef5}
.sc-map-views .sc-map-canvas[hidden],.sc-map-views .sc-map-rv[hidden]{display:none}
.sc-map-views:not(:has(>:not([hidden]))){display:none}
@media(max-width:700px){.sc-map-views{flex-direction:column}.sc-map-views .sc-map-canvas,.sc-map-views .sc-map-rv{flex:none;height:260px}}
/* 예배 시간 줄 삭제/추가(편집 중에만 보임) */
.sc-map-info .row.is-off{display:none}
.sc-map-info .row-del,.sc-map-add{display:none}
.sc-map.editing .row-del{display:inline-block;margin-left:8px;font-size:12px;padding:3px 10px;border:1px solid #e0b4ac;border-radius:999px;background:#fff;color:#c0392b;cursor:pointer;font-family:inherit}
.sc-map.editing .sc-map-add{display:inline-block;margin-top:10px;font-size:13px;padding:6px 14px;border:1px dashed #9aa6bd;border-radius:8px;background:#fff;color:#1f3760;cursor:pointer;font-family:inherit}

/* 교회 정보(오시는 길) */
.sc-map-info{margin:0}
.sc-map-info .row{display:flex;gap:14px;padding:11px 0;border-top:1px solid #efece4;align-items:flex-start}
.sc-map-info dt{flex:0 0 112px;font-weight:800;color:#6b7690;font-size:14px;word-break:keep-all;overflow-wrap:break-word} /* 112px: '굿모닝 기도회'처럼 긴 이름도 한 줄(더 길면 단어 단위로만 줄바꿈) */
.sc-map-info dd{margin:0;flex:1;min-width:0;font-size:15px}
.sc-map-info .acts,.sc-map-card .acts{display:inline-flex;gap:6px;flex-wrap:wrap;margin-left:6px;vertical-align:middle}
.sc-map .acts a,.sc-map .acts button{font-size:12px;padding:4px 10px;border:1px solid #d8d3c6;border-radius:999px;background:#fff;color:#1b2b4b;text-decoration:none;cursor:pointer;font-family:inherit;line-height:1.4}
.sc-map .acts a:hover,.sc-map .acts button:hover{background:#f4f2ed}
.sc-map .acts [hidden]{display:none}

/* 교인 사업장 */
.sc-map-tools{display:flex;gap:6px;margin-bottom:14px}
.sc-map-tools select{flex:0 0 150px;padding:9px 10px;border:1px solid #d8d3c6;border-radius:8px;font-size:14px;font-family:inherit}
.sc-map-tools input{flex:1;min-width:0;padding:9px 12px;border:1px solid #d8d3c6;border-radius:8px;font-size:14px;font-family:inherit}
.sc-map-tools button{border:0;background:#1f3760;color:#fff;border-radius:8px;padding:0 18px;font-weight:700;cursor:pointer;font-family:inherit}
.sc-map-empty{padding:30px 0;text-align:center;color:#6b7690;font-size:14px}
.sc-map-cathead{font-size:16px;font-weight:800;color:#2a63c7;margin:18px 0 6px}
.sc-map-cathead::before{content:'';display:inline-block;width:8px;height:8px;background:#2a63c7;margin-right:7px}
.sc-map-card{display:flex;gap:16px;padding:16px 4px;border-top:1px solid #e4e0d6;scroll-margin-top:80px}
.sc-map-card.hl{background:#f3f8ff;box-shadow:0 0 0 2px #cfe0f7 inset;border-radius:10px}
.sc-map-card .logo{flex:0 0 96px;width:96px;height:96px;border:1px solid #efece4;border-radius:10px;background:#fafaf7 center/contain no-repeat}
.sc-map-card .body{flex:1;min-width:0}
.sc-map-card .name{font-size:18px;font-weight:800;margin:0 0 6px;letter-spacing:-.3px}
.sc-map-card .rows{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:13.5px;margin:0}
.sc-map-card .rows dt{font-weight:700;color:#4a5878}
.sc-map-card .rows dt::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#4a90d9;margin-right:5px;vertical-align:middle}
.sc-map-card .rows dd{margin:0;word-break:break-all}
.sc-map-card .rows a{color:#1b2b4b}
.sc-map-card .thumbs{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.sc-map-card .thumbs button{width:58px;height:58px;border:1px solid #e4e0d6;border-radius:8px;padding:0;background:#eee center/cover no-repeat;cursor:pointer}
.sc-map-card .pinbtn{margin-top:8px}
@media(max-width:560px){.sc-map{padding:16px 12px}.sc-map-card{gap:12px}.sc-map-card .logo{flex-basis:72px;width:72px;height:72px}.sc-map-tools select{flex-basis:110px}.sc-map-canvas{height:280px}.sc-map-info .row{flex-direction:column;gap:2px}.sc-map-info dt{flex-basis:auto}}

/* 지도 핀(ERP listMyOrders와 같은 CSS 핀) */
.sc-pin-wrap{cursor:pointer}
.sc-pin{width:30px;height:30px;background:#e8412c;border:2px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 5px rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center}
.sc-pin span{transform:rotate(45deg);color:#fff;font-weight:800;font-size:12.5px;line-height:1}
.sc-pin.church{background:#1f3760;width:34px;height:34px}

/* 로드뷰 / 이미지 확대 팝업 */
.sc-mm{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:14px}
.sc-mm[hidden]{display:none}
.sc-mm-box{position:relative;background:#fff;border-radius:14px;width:min(94vw,760px);max-height:92vh;overflow:hidden}
.sc-mm-head{display:flex;align-items:center;padding:10px 14px;border-bottom:1px solid #eee;font-weight:700;font-size:14px}
.sc-mm-x{margin-left:auto;border:0;background:none;font-size:18px;cursor:pointer}
.sc-mm-rv{width:100%;height:70vh}
.sc-mm-empty{padding:50px 0;text-align:center;color:#6b7690}
.sc-mm-img{display:block;max-width:100%;max-height:80vh;margin:0 auto}
.sc-mm-nav{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(0,0,0,.5);color:#fff;width:38px;height:38px;border-radius:50%;font-size:22px;cursor:pointer}
.sc-mm-nav.p{left:8px}.sc-mm-nav.n{right:8px}

/* 모바일 넘침 방지 */
.sc-map{max-width:100%;min-width:0;overflow:hidden}
.sc-map-canvas,.sc-map-canvas>div{max-width:100%}
