:root{
  --brand:#800020;
  --ink:#0F1A39;
  --muted:#f6f6f8;
  --pin-left:49%;
  --pin-top:38%;
  --bubble-top:32%; /* 핀 위쪽 위치 */
}
*{box-sizing:border-box}
body{margin:0;font-family:'Noto Sans KR',sans-serif;background:#fff;color:#222}
.wrap{max-width:1100px;margin:28px auto;padding:0 14px}
h1{text-align:center;color:var(--brand);font-weight:800;margin-bottom:20px}

/* 지도 영역 */
.mapbox{position:relative;width:100%;aspect-ratio:16/9;border:1px solid #ddd;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.05)}
iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.overlay{position:absolute;inset:0;pointer-events:none}

/* 핀 */
.pin{position:absolute;left:var(--pin-left);top:var(--pin-top);transform:translate(-50%,-100%)}
.pin svg{width:28px;height:28px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}

/* 라벨 */
.label.doosan{position:absolute;left:calc(var(--pin-left) + 2.2%);top:calc(var(--pin-top) - 2%);background:#fff;border:1px solid #ddd;border-radius:10px;padding:6px 10px;font-size:13px;font-weight:700;white-space:nowrap}

/* 말풍선 */
.speech{position:absolute;left:var(--pin-left);top:var(--bubble-top);transform:translate(-50%,-100%);text-align:center}
.speech .bubble{position:relative;display:inline-block;background:#fff;border:1.5px solid var(--brand);border-radius:14px;padding:10px 16px;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.speech .bubble::after{content:"";position:absolute;left:50%;bottom:-10px;transform:translateX(-50%) rotate(180deg);border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid var(--brand)}
.speech .bubble::before{content:"";position:absolute;left:50%;bottom:-8px;transform:translateX(-50%) rotate(180deg);border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid #fff}
.speech .brand{color:var(--brand);font-weight:800}
.speech .tag{font-size:70%}
.speech .addr{display:block;font-size:70%;margin-top:3px;color:#555;font-weight:600}

/* 지도 하단 버튼 */
.map-actions{margin-top:12px;text-align:center;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.map-actions a{padding:10px 16px;border-radius:30px;text-decoration:none;font-weight:800}
.map-actions a.view{border:1.5px solid var(--brand);color:var(--brand)}
.map-actions a.dir{border:1.5px solid #D4AF37;color:#222}

/* 정보 박스 */
.info{margin-top:20px;display:grid;gap:16px}
.block{border:1px solid #e5e5e5;border-radius:14px;overflow:hidden}
.block h2{margin:0;padding:12px 16px;background:#f7f9fc;border-bottom:1px solid #eee;color:var(--brand);font-weight:900}
.block .content{padding:14px 16px;display:grid;gap:10px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e3e3e7;border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}

/* 푸터 문의 버튼 */
.footer{text-align:center;margin-top:30px;margin-bottom:40px}
.btn-inquiry{display:inline-block;background:var(--brand);color:#fff;text-decoration:none;padding:14px 36px;border-radius:30px;font-weight:800;transition:all .3s ease}
.btn-inquiry:hover{background:#a01932}
