:root {

    --location-section-height-60vh: 56.6vh;
    /* --location-section-height-50vh: 50vh; */
    --sub-map-container-height: clamp(240px, 32.575vw, 430px);
    --font-size-28: clamp(26px, 4.375vw, 28px);
    --padding-clamp-top: clamp(30px,3.674vw,70px);
}


/* ******************************************** */
/* ***** 대중교통 이용시, 주차안내 타이틀(공통) ***** */
/* ******************************************** */
.sub-map-traffic-title {
    padding-top: var(--padding-clamp-top);
    margin: 0 auto;
    border-bottom: 1px solid var(--color-line-01);

    & h3 {
    display: inline-block;
    padding: 0 5px 10px 5px;
    font-size: var(--font-size-28);
    border-bottom: 3px solid var(--color-main-03);
    }
}


/* 카카오맵 CSS */
#sub-map-container{
    & {position: relative;}
    & .root_daum_roughmap_landing {width: 100%;}
    & .root_daum_roughmap .wrap_map {
        height: var(--sub-map-container-height);
        /* height: var(--location-section-height-50vh); */
        /* max-height: 430px; */
    }
    & .root_daum_roughmap .wrap_controllers {display: none;}
    & .root_daum_roughmap .cont {display: none;}
    /* & .root_daum_roughmap .wrap_btn_zoom {
        right: auto;
        left: 5px;
    } */
}

/* 주소, 전화 패널 지우기 */
.wrap_controllers, .cont {
    display: none;
}

/* ******************************************* */
/* 주소, 대표번호 */
/* ******************************************* */
.sub-map-box {
    margin: 0 auto;

    & .sub-map-nav-box {
        border: 1px solid var( --color-line-01);
        border-radius: 10px;
        overflow: hidden;
        margin: clamp(20px, 5.5vw, 55px) 0;
    

    & .sub-map-nav-detail {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: clamp(20px, 4.6875vw, 30px) clamp(5px,2.624vw,50px);

        & div {    /* .sub-map-address-inner */
            & div {  /* .sub-map-address, .sub-map-number */
                line-height: 2;
                
                @media screen and (max-width: 670px) {
                    & {line-height: 1.5;}
                }

                & dl {
                    display: flex;
                    font-size: 18px;
                    word-break: keep-all;

                    & dt {
                        display: flex;
                        justify-content: space-between;
                        width: 60px;
                        margin-right: 15px;
                        white-space: nowrap;
                        font-weight: var(--font-weight-bold);

                        @media screen and (max-width: 670px) {
                            & {font-size: var(--font-size-18);}
                        }

                    }
                    & dd {
                        text-align: center;
                        font-weight: var(--font-weight-normal);

                        @media screen and (max-width: 670px) {
                            & {font-size: var(--font-size-16);}
                        }

                        & button {
                            padding-left: 4px;
                        }
                    }
                }
            }
        }
    }
}
@media screen and (max-width: 1280px) {
    & .sub-map-nav-detail  {
        flex-direction: column;
        gap: 30px;
    }
}


    & .sub-map-group {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 10px;

        & a {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: row;
            gap: 5px;
            padding: 8px 10px;
            border: 1px solid var(--color-line-01);
            border-radius: 20px;
            font-size: var(--font-size-14);
            font-weight: var(--font-weight-regular);
            background-color: #f7f7f7;
            color: var(--color-text-03);
        
            & img {
                width: 15px;
                aspect-ratio: 1/1;
                object-fit: contain;
            }
        }
    }

    @media screen and (max-width: 523px) {
        & .sub-map-group {
            grid-template-columns: repeat(2, 1fr);
            width: 100%;
        }
    }
}


@media screen and (max-width: 670px) {
    .sub-map-nav-detail .sub-map-address-inner .sub-map-number {
        padding-top: 20px;
    }
    .sub-map-nav-detail .sub-map-address-inner .sub-map-address dl,
    .sub-map-nav-detail .sub-map-address-inner .sub-map-number dl {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }
}




/* ******************************************* */
/* 대중교통 css */
/* ******************************************* */

.sub-map-traffic-location {
    display: flex;
    flex-direction: column;

    /* ******* 대중교통 (공통) ******* */
    & .sub-map-traffic-subway,
    & .sub-map-traffic-bus {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-direction: row;
        gap: 50px;
        padding: 25px 7px;

        & h3 {
            display: flex;
            justify-content: center;
            align-items: center;   /* 아이콘과 글자 세로 맞춤 */
            background-color: #f5f8fb;
            font-size: var(--font-size-18);
            border-radius: 7px;
            gap: 5px;

            & img {
                width: 1.1em;
                aspect-ratio: 1/1;
            }
        }
    }


    /* ******* 지하철 ******* */
    & .sub-map-traffic-subway {
    
        border-bottom: 2px solid var(--color-line-01);
    
        & h3 {
            padding: 40px 90px;
        }

        & div { 
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: row;

            & p { 
                font-weight: var(--font-weight-regular);
                
                & span { font-weight: var(--font-weight-semi-bold); }
                & span:nth-child(1) {
                    display: inline-flex;      /* 글자 가운데 정렬을 위해 flex */
                    justify-content: center;
                    align-items: center;
                    width: 25px;
                    aspect-ratio: 1/1;
                    background-color:#47b12e;
                    border-radius: 50%;
                    color: #fff;
                }
                & span:nth-child(2) {
                    margin: 0 3px ;
                    color:#47b12e;
                }
            }
        }
    }

    /* ******* 버스 ******* */
    & .sub-map-traffic-bus {
        & h3 {
            padding: 100px;
        }

        & .sub-map-bus-group-box {
            display: inherit;
            flex-direction: column;
            gap: 17px;

            & .sub-map-bus-group {
                display: inherit;
                align-items: center;
                flex-direction: row;
                /* padding-bottom: 15px; */
            
                & p {
                    display: inherit;
                    justify-content: center;
                    align-items: center;
                }
                & ul {
                    display: inherit;
                    flex-direction: row;
                    gap: 5px;

                    & li {
                        display: inherit;
                        justify-content: center;
                        align-items: center;
                        width: 65px;
                        padding: 5px 15px;
                        border-radius: 20px;
                        font-weight: var(--font-weight-regular);
                        

                        &.num-green {
                            background-color: #47b12e;
                            color: #fff;
                        }
                        &.num-light-green {
                            background-color: #b4d885;gap: 50px;
                        }
                        &.num-blue {
                            background-color: #2e43b1;
                            color: #fff;
                        }
                        &.num-airport {
                            background-color: #cdddee;
                        }
                        &.num-red {
                            background-color: #f23622;
                            color: #fff;
                        }
                    }
                }
            }
        }
    }

    @media screen and (max-width: 1150px) {
        & .sub-map-traffic-subway,
        & .sub-map-traffic-bus { 
            padding: 25px clamp(10px,3.149vw,70px); /* 비율: 1905px */
            flex-direction: column;
            gap: 25px;
            & h3 {
                width: 100%;
                padding: clamp(15px, 1.739vw, 20px) 0;
                & img {
                    width: 1.5em;
                    aspect-ratio: 1 / 1;
                }
            }
        }
    }

    @media screen and (max-width: 860px) {
        & .sub-map-traffic-bus {
            padding-top: 15px;

            & .sub-map-bus-group-box { /* sub-map-bus-group-box */
                gap: 25px;
                
                & .sub-map-bus-group { /* sub-map-bus-group */
                    display: flex;
                    align-items: flex-start;
                    flex-direction: column;
                    gap: 5px;

                    & ul {
                        flex-wrap:wrap;
                    }
                    & p {
                        word-break: keep-all;
                        line-height: 1.2;
                    }
                }
            }
        }
    }

    @media screen and (max-width: 768px) {
        & .sub-map-traffic-subway {
            padding-top: 0;

            & div {
                flex-direction: column;
                gap: 5px;

                & p:last-child {
                    padding-left: 44px;
                }
            }
        }
    }
} /* /sub-map-traffic-location */




/* ******************************************* */
/* 주차안내 css */
/* ******************************************* */
.sub-map-traffic-park {
    & .sub-map-traffic-guide {
        padding: 
            var(--mobile-content-vertical-gap-sm) 
            5px 
            var(--mobile-content-vertical-gap-big)
        ;

        @media screen and (max-width: 640px) {
            & {padding-top: 0;}
        }

        & ul {
            & li:first-child {
                padding-bottom: 15px;
            }
            & li {
                display: flex;
                align-items: center;
                gap: 10px;

                & i {
                    color: var(--color-main-03);
                    font-size: 10px;
                }
            }
        }
    }
}