@font-face {
    font-family: 'NanumSquareNeoBold';
    src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-cBd.eot);
    src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-cBd.eot?#iefix) format("embedded-opentype"), url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-cBd.woff) format("woff"), url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-cBd.ttf) format("truetype");
}

@font-face {
    font-family: 'NanumSquareNeo';
    src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-bRg.eot);
    src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-bRg.eot?#iefix) format("embedded-opentype"), url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-bRg.woff) format("woff"), url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-bRg.ttf) format("truetype");
}

body,td,table,input,div,form,a,p,span,textarea,center {font-family:'NanumSquareNeo' !important;}
        
.map-section {
    width: 100%;
    max-width: 1320px; /* 이미지가 줄어들지 않도록 최대 폭 확장 */
    margin: 50px auto;
    padding: 0 20px;
    box-sizing: border-box;
}


        /* 1. 타이틀 영역 (실선 제거) */
        .title-area {
            text-align: center;
            margin-bottom: 25px; /* 지도와 바로 이어지도록 간격 축소 */
        }
        .title-area .sub-title {
            font-size: 13px;
            font-weight: bold;
            color: #333;
            letter-spacing: 2px;
            margin-bottom: 10px;
            text-transform: uppercase;
        }
        .title-area .main-title {
            font-size: 36px;
            font-weight: 900;
            color: #000;
            margin: 0;
			font-family:'NanumSquareNeo' !important;
        }

        /* 2. 지도 영역 */
.map-container {
    position: relative;
    width: 1312px; /* 내부 1300px + 양쪽 테두리/패딩 12px */
    max-width: 100%;
    height: 612px; /* 내부 600px + 양쪽 테두리/패딩 12px */
    margin: 0 auto 30px auto;
    background-color: #fff;
    padding: 5px; 
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0,0,0,0);
    border: 1px solid #f0f0f0;
    box-sizing: border-box;
    overflow: hidden;
}
        #real-kakao-map {
            width: 100%;
            height: 100%;
            border-radius: 10px;
            background-color: #f9f9f9; 
        }

        /* Ctrl 스크롤 안내 오버레이 */
        .zoom-overlay {
            position: absolute;
            top: 5px;
            left: 5px;
            width: calc(100% - 10px);
            height: calc(100% - 10px);
            background-color: rgba(0, 0, 0, 0);
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 10px;
            opacity: 0;
            pointer-events: none; /* 마우스 이벤트 통과 */
            transition: opacity 0.3s ease;
            z-index: 10;
        }
        .zoom-overlay span {
            color: #ffffff;
            font-size: 14px;
            font-weight: 500;
            background: rgba(0, 0, 0, 0.8);
            padding: 15px 30px;
            border-radius: 30px;
            border: 1px solid rgba(255, 255, 255, 0.2);
            text-align: center;
        }
        .zoom-overlay.show {
            opacity: 1;
        }

        /* 3. 버튼 영역 */
        .button-area {
            display: flex;
            justify-content: center;
            gap: 15px;
            margin-bottom: 50px;
        }
        .button-area a {
            display: inline-block;
            background-color: #111;
            color: #fff;
            text-decoration: none;
            padding: 15px 40px;
            border-radius: 30px;
            font-size: 15px;
            transition: all 0.3s ease;
        }
        .button-area a:hover {
           background-color: #333333;
           transform: translateY(-3px);
           box-shadow: none;
        }

        /* 4. 주소 정보 영역 */
        .address-box {
            background-color: #fafafa;
            border: 1px solid #f0f0f0;
            border-radius: 15px;
            padding: 40px;
            display: flex;
            align-items: center;
            gap: 20px;
            max-width: 800px;
            margin: 0 auto;
            box-sizing: border-box;
        }
        .icon-circle {
            width: 50px;
            height: 50px;
            background-color: #111;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-shrink: 0;
        }
        .icon-circle svg {
            width: 20px;
            height: 20px;
            fill: #fff;
        }
        .address-text h4 {
            margin: 0 0 5px 0;
            font-size: 14px;
            color: #333;
        }
        .address-text .addr-kr {
            margin: 0 0 5px 0;
            font-size: 20px;
            color: #111;
        }
        .address-text .addr-en {
            margin: 0;
            font-size: 14px;
            color: #888;
        }

        /* 모바일 반응형 */
        @media screen and (max-width: 768px) {
            .map-container { height: auto }
            .button-area { flex-direction: column; padding: 0 10px; }
            .button-area a { text-align: center; width: 100%; box-sizing: border-box; }
            .address-box { flex-direction: column; align-items: flex-start; padding: 25px; }
            .zoom-overlay span { font-size: 12px; padding: 12px 20px; }
        .address-text .addr-kr {
            font-size: 16px;
        }
        .address-text .addr-en {
            font-size: 12px;
        }		
        .title-area .sub-title {
            font-size: 12px;
        }
        .title-area .main-title {
            font-size: 24px;
        }		
        .title-area {
            margin-top: 10px;
        }
        }


/* 아래에서 위로 올라오는 애니메이션 키프레임 */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 각 요소에 애니메이션 적용 (기본 숨김 처리 후 진행) */
.title-area,
.map-container,
.button-area,
.address-box {
    opacity: 0;
    animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* 위에서부터 순차적 딜레이(지연시간) 부여 */
.title-area   { animation-delay: 0.1s; }
.map-container { animation-delay: 0.25s; }
.button-area   { animation-delay: 0.4s; }
.address-box   { animation-delay: 0.55s; }


/* 이미지 감싸는 컨테이너 */
#image-map-wrapper {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    border-radius: 10px;
    background-color: #f9f9f9;
    display: flex;
    align-items: center;
    justify-content: center;
}

#zoom-image {
    width: 1300px !important;  /* PC에서 1300px 고정 */
    height: 600px !important;  /* PC에서 600px 고정 */
    max-width: none !important;
    transform-origin: center center;
    user-select: none;
    -webkit-user-drag: none;
    transition: transform 0.1s ease-out;

    /* 고해상도 또렷함 유지 속성 */
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    image-rendering: -webkit-optimize-contrast;
}

/* 4. 반응형 (화면 폭이 1312px 미만인 태블릿/모바일에서만 축소 허용) */
@media screen and (max-width: 1312px) {
    .map-container {
        width: 100%;
        height: auto;
        aspect-ratio: 1312 / 612;
    }
    #zoom-image {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        object-fit: contain;
    }
}