.hero-section { height: 100vh; background: #111; color: #fff; display: flex; justify-content: center; align-items: center; font-size: 3rem; }

/* 섹션 */
.map-section { padding: 150px 0; }

/* 공통 컨테이너 */
.container { max-width: 1300px; margin: 0 auto; flex-wrap: wrap; }

/* 레이아웃 */
.history-flex { display: flex; position: relative; }

/* 왼쪽 */
.history-left { flex: 0 0 350px; }
.sticky-info { position: sticky; top: 150px; }

/* 탭 */
.history-tabs ul { list-style: none; padding: 0; margin: 0; }
.tab-btn { cursor: pointer; }
.tab-btn.active { color: #0087ff; }

/* 오른쪽 */
.history-right { flex: 1; padding-left: 0; }

.tab-content { display: none; animation: fadeInUp 0.5s ease-out; border: none; padding-left: 50px; }
.tab-content.active { display: block; }

.root_daum_roughmap .cont { display: none; }

.root_daum_roughmap { width: 100% !important; }

/* 연락/주소 */
.info-list { display: flex; flex-direction: column; margin-top: 15px; padding: 0; list-style: none; }
.info-list li { margin-bottom: 10px; }

.contact-txt { font-size: 2rem; color: #555; word-break: break-word; overflow-wrap: anywhere; }
.contact-txt > span { margin-right: 10px; color: #000; }

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ---- Tablet (<= 1024px) ---- */
@media (max-width: 1024px){
    .map-section { padding: 110px 0; }

    .history-flex { flex-direction: column; }

    .history-left { margin-bottom: 18px; }
    .sticky-info { position: static; top: auto; }
    .history-right { padding-left: 0; }
    .tab-content { padding-left: 0; }

    /* 탭: 가로 스크롤 pill */
    .history-tabs ul { display: flex; gap: 10px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 6px; }
    .history-tabs li { flex: 0 0 auto; }
    .tab-btn { white-space: nowrap; padding: 10px 16px; border-radius: 999px; border: 1px solid #e6e6e6; background: #f3f3f3; font-size: 16px; }
    .tab-btn.active { background: #111; border-color: #111; color: #fff; }

    /* 연락처 타이포 축소 */
    .contact-txt { font-size: 1.25rem; line-height: 1.5; }
}

/* ---- Mobile (<= 768px) ---- */
@media (max-width: 768px){
    .map-section { padding: 92px 0; }

    .info-list { margin-top: 12px; }
    .info-list li { margin-bottom: 8px; }

    .contact-txt { font-size: 1.05rem; line-height: 1.5; }
    .contact-txt > span { margin-right: 8px; }
}

/* ---- Small Mobile (<= 480px) ---- */
@media (max-width: 480px){
    .map-section { padding: 80px 0; }

    /* 탭 터치 영역 */
    .tab-btn { padding: 10px 14px; font-size: 15px; }

    .contact-txt { font-size: 0.98rem; }
}
