/* ================== 타이틀 섹션 스타일 (생략) ================== */
.wv-title-container { padding: 80px 20px; text-align: center; }
.wv-title-container .wv-title { font-size: 36px; font-weight: 700; color: #000; letter-spacing: -0.05em; }
.wv-title-container .wv-sub-title { font-size: 16px; font-weight: 500; color: #333; margin-top: 10px; letter-spacing: -0.02em; }
.wv-title-container .wv-title-line { width: 100px; height: 3px; background-color: #102476; margin: 30px auto; }
.wv-title-container .wv-title-desc { font-size: 18px; color: #555; line-height: 1.6; word-break: keep-all; }
@media screen and (max-width:768px){
.wv-title-container { padding: 50px 20px 0px 20px; }
.wv-title-container .wv-title { font-size: 28px; } .wv-title-container .wv-sub-title { font-size: 14px; } .wv-title-container .wv-title-desc { font-size: 16px; } .br-pc { display: none; } }
/* ================== 타이틀 섹션 스타일 끝 ================== */

/* ================== 탭 메뉴 스타일 (생략) ================== */
.map-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.map-tabs { display: flex; justify-content: center; list-style: none; padding: 0; margin: 0 0 40px 0; }
.tab-link { padding: 12px 45px; font-size: 16px; font-weight: 500; color: #555; background-color: #fff; border: 1px solid #ddd; border-radius: 30px; margin: 0 8px; cursor: pointer; transition: all 0.3s ease; }
.tab-link:hover { background-color: #f5f5f5; }
.tab-link.active { font-weight: 700; color: #fff; background-color: #333; border-color: #333; }
.map-content-wrapper { margin-bottom: 80px; }
.map-content { display: none; }
.map-content.active { display: block; }
.map-content#tab-image img { width: 100%; height: auto; display: block; }
.map-content#tab-image .wv-mo-img { display: none; }
/* ================== 탭 메뉴 스타일 끝 ================== */


/* ================== 지도보기 탭 레이아웃 및 스타일 수정 시작 ================== */

.map-layout-container {
    display: flex;
    width: 100%;
    height: 600px;
    background-color: #f5f5f5;
}
.map-column {
    flex: 2;
    min-width: 0;
}
.info-column {
    flex: 1;
    background-color: #102476; 
    display: flex;
    flex-direction: column; 
    justify-content: center;
    padding: 60px; 
    min-width: 380px;
    box-sizing: border-box; 
}
.info-content {
    color: #fff;
    width: 100%;
}
.info-subtitle {
    font-size: 15px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 10px;
    letter-spacing: 1px;
    text-transform: uppercase; 
}
.info-title {
    font-size: 38px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 25px;
}

.info-divider {
    border: 0;
    height: 1px;
    background-color: #fff;
    margin-bottom: 40px;
}

.info-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.info-item {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid #fff; 
}
.info-item:last-child {
    border-bottom: none; 
    margin-bottom: 0;
}

.item-label {
    font-size: 13px;
    color: #fff;
    margin-bottom: 10px;
    font-weight: 500;
    text-transform: uppercase;
}
.item-content {
    display: flex;
    align-items: center;
    font-size: 16px;
    color: #fff;
}
.item-content i {
    font-size: 22px;
    margin-right: 12px;
    color: #fff; 
}

.info-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px; 
    margin-top: 40px;
    color: #fff !important; /* !important 추가하여 색상 강제 지정 */
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    transition: color 0.3s;
}
.info-btn:hover {
    color: #ccc !important; /* hover 시에도 !important 추가하여 우선순위 확보 */
}

/* 커스텀 오버레이 스타일 */
.custom-overlay { position:relative; bottom: 45px; border-radius:6px; border: 1px solid #102476; border-bottom:2px solid #0a1851; float:left; }
.custom-overlay:after, .custom-overlay:before { content:''; position:absolute; bottom:-10px; left:50%; width:0; height:0; border:5px solid transparent; border-top-color:#102476; border-bottom:0; margin-left:-5px; }
.custom-overlay:before { bottom:-11px; border-top-color:#0a1851; }
.custom-overlay .title { display:block; text-align:center; background: #102476; color: #fff; padding:8px 15px; font-size:14px; font-weight:bold; border-radius: 6px; text-decoration: none; }
/* ================== 지도보기 탭 레이아웃 및 스타일 끝 ================== */

@media screen and (max-width:768px){
    /* ... (기존 반응형 스타일 유지) ... */
    #sub-about-us { padding-top: 0px !important; }
    .map-content#tab-image .wv-pc-img { display: none; }
    .map-content#tab-image .wv-mo-img { display: block; width: 100%; height: auto; }
    
    .map-layout-container { flex-direction: column; height: auto; }
    .map-column { height: 400px; flex-basis: auto; }
    .info-column { min-width: 0; flex-basis: auto; padding: 40px 20px; }
    .info-title { font-size: 28px; }
}