/* 기본 스타일 초기화 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    word-break: keep-all; /* 또는 원하는 다른 값 */
    /* 필요하다면 긴 영어 단어 처리를 위한 속성도 추가 */
    overflow-wrap: break-word; 
}


body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    color: #000;
    background-color: #ffffff;
    word-break: keep-all; /* 또는 원하는 다른 값 */
    /* 필요하다면 긴 영어 단어 처리를 위한 속성도 추가 */
    overflow-wrap: break-word; 
}

body.store-finder-page {

}

a {
    text-decoration: none;
    color: inherit;
}

/* Page Title */
.page-title {
    color: #fff;
    padding: 0;
    text-align: center;
    height: 280px; 
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

/* 데스크탑에서만 적용되는 Page Title 스타일 */
@media (min-width: 769px) {
    .page-title {
        padding-bottom: 40px;
        padding-top: 0;
        align-items: flex-end;
    }
    
    .page-logo {
        display: flex;
        height: 25px !important; /* 36px * 0.7 = 25.2px */
        padding-left: 6px !important; /* 9.48px * 0.7 = 6.64px */
        justify-content: flex-end;
        align-items: center;
    }
    
    .page-logo img {
        height: 100%;
        object-fit: contain;
    }
    
    .page-title h1 {
        color: var(--Foundation-white, #FFF) !important;
        text-align: center;
        font-family: "Noto Sans KR" !important;
        font-size: 25.2px !important; /* 36px * 0.7 = 25.2px */
        font-style: normal;
        font-weight: 700 !important;
        line-height: normal;
        letter-spacing: -1.008px !important; /* -1.44px * 0.7 = -1.008px */
        margin-bottom: 8px;
    }
    
    .page-title p {
        color: var(--Foundation-white, #FFF) !important;
        text-align: center;
        font-family: "Noto Sans KR" !important;
        font-size: 15.4px !important; /* 22px * 0.7 = 15.4px */
        font-style: normal;
        font-weight: 400 !important;
        line-height: normal;
        letter-spacing: -0.616px !important; /* -0.88px * 0.7 = -0.616px */
        margin: 0;
    }
}

.page-title .container {
    margin-bottom: 0;
}

/* 입점 약국 페이지 배경색 */
.store-finder-page .page-title {
    background: #9B2246;
}


.store-finder-page .search_list_tab .search_list_tab_btn.on {
    background: #9B2246 !important;
}

.pharmacy-finder-page .search_list_tab .search_list_tab_btn:hover,
.pharmacy-finder-page .search_list_tab .search_list_tab_btn.on {
    background: #9B2246 !important;
    color: var(--Foundation-white, #FFF) !important;
    font-weight: 400;
}

.store-finder-page .search_header {
    background: #9B2246 !important;
}

/* 입점 병원 페이지 배경색 */
.hospital-finder-page {

}

.hospital-finder-page .page-title {
    background: #00358E !important;
}

.hospital-finder-page .search_list_tab .search_list_tab_btn.on {
    background: #00358E !important;
}

.pharmacy-finder-page .search_list_tab .search_list_tab_btn.on {
    background: #9B2246 !important;
}

.hospital-finder-page .search_header {
    background: #FFFFFF;
}

.pharmacy-finder-page .page-title {
    background: #9B2246;
}

.pharmacy-finder-page .search_header {
    background: #FFFFFF;
}

.page-title h1 {
    color: var(--Foundation-white, #FFF);
    text-align: center;
    font-family: "Noto Sans KR";
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: -1.6px;
    margin-bottom: 8px;
}

.page-title p {
    align-self: stretch;
    color: var(--Foundation-white, #FFF);
    text-align: center;
    font-family: "Noto Sans KR";
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.88px;
}

/* Page Logo */
.page-logo {
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.page-logo img {
    height: 40px;
    width: auto;
    min-height: 40px;
    display: block;
    filter: brightness(0) invert(1); /* 흰색으로 변경 */
}

/* Store Finder Container */
.store-finder-container {
    max-width: 100%;
    margin: 0 auto;
    padding-top: 80px; /* 헤더 높이만큼 상단 여백 */
}

/* 탭 영역 (모바일) */
.tab_area {
    display: none;
    border-top: 1px solid #999;
}

.tab_area .tab_btn {
    flex: 1;
    background: #4361ee12;
    text-align: center;
    height: 46px;
    line-height: 46px;
    cursor: pointer;
    transition: all 0.3s;
}

.tab_area .tab_btn:hover {

}

.tab_area .tab_btn.on {
    font-weight: bold;
    color: #fff;
}

/* 결과 영역 */
.result_area {
    position: relative;
    display: flex;
    border-top: 1px solid #efefef;
    height: 900px;
    margin-bottom: 108px;
}

/* 검색 리스트 영역 */
.result_area .search_list_area {
    background: #fff;
    position: relative;
    align-items: start;
    width: 100%;
    max-width: 336px; /* 480px * 0.7 = 336px */
    height: 483px; /* 690px * 0.7 = 483px */
    z-index: 999;
}

.result_area .search_list_area.on {
    height: 900px; /* 네이버 지도 높이와 맞춤 */
}

/* 검색 리스트 탭 */
.result_area .search_list_area .search_list_tab {
    display: flex;
    align-items: center;
    height: 46px; /* 46px * 0.7 = 32px */
    overflow: hidden;
}

.result_area .search_list_area .search_list_tab .search_list_tab_btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px; /* 16px * 0.7 = 11.2px */
    background: #F8F8F8;
    height: 46px; /* 46px * 0.7 = 32px */
    line-height: 46px; /* 46px * 0.7 = 32px */
    cursor: pointer;
    transition: all 0.3s;
    color: var(--Foundation-black, #000);
    font-family: "Noto Sans KR";
    font-weight: 400;
    letter-spacing: -0.64px; /* -0.64px * 0.7 = -0.448px */
}

.result_area .search_list_area .search_list_tab .search_list_tab_btn:hover,
.result_area .search_list_area .search_list_tab .search_list_tab_btn.on {
    background: #00358E !important;
    color: var(--Foundation-white, #FFF) !important;
    font-weight: 400;
}

.pharmacy-finder-page .result_area .search_list_area .search_list_tab .search_list_tab_btn:hover,
.pharmacy-finder-page .result_area .search_list_area .search_list_tab .search_list_tab_btn.on {
    background: #9B2246 !important;
    color: var(--Foundation-white, #FFF) !important;
    font-weight: 400;
}

/* 검색 리스트 */
.result_area .search_list_area .search_list {
    display: none;
    overflow-y: auto;
}

.result_area .search_list_area .search_list.on {
    display: block;
}

/* 검색 헤더 */
.result_area .search_list_area .search_list .search_header {
    padding: 0; /* 패딩 제거 */
    color: #fff;
}

.result_area .search_list_area .search_list.keyword_search .search_header {
    padding: 0; /* 패딩 제거 */
}

.result_area .search_list_area .search_list .search_header .title {
    font-size: 0.84em; /* 1.2em * 0.7 = 0.84em */
    font-weight: bold;
    text-align: center;
    margin-bottom: 14px; /* 20px * 0.7 = 14px */
}

/* 검색 영역 */
.result_area .search_list_area .search_list .search_header .search_area {
    padding: 0;
    justify-content: center;
    align-items: center;
    margin: 20px 20px;
}

.search_input_container {
    position: relative;
    display: flex;

    padding: 8px 7px;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--Foundation-Grey-G100, #8C8C8C);
}

.search_input_container input#address_keyword {
    background: #fff;
    width: 100%;
    height: 42px;
    border: none;
    border-radius: 0;
    color: var(--Foundation-Grey-G100, #8C8C8C);
    font-family: "Noto Sans KR";
    font-size: 14px; /* 18px에서 14px로 변경 */
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.8px;
    padding: 0;
    margin: 0;
    outline: unset;
}

.search_input_container button.search_btn {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
    transition: opacity 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search_input_container button.search_btn .search-icon {
    width: 20px;
    height: 20px;
}

.result_area .search_list_area .search_list .search_header .search_area button.search_btn:hover {
    background: #00358E;
    color: #fff;
}

.pharmacy-finder-page .result_area .search_list_area .search_list .search_header .search_area button.search_btn:hover {
    background: #9B2246;
    color: #fff;
}

/* 거리 슬라이더 */
.distance_slide_container {
    display: grid;
    align-items: end;
    max-width: 500px;
    height: 50px;
    text-align: right;
    padding: 5px 20px;    

    margin: 0 auto;
}

.distance_slide_container .distance_txt {
    color: var(--Foundation-Grey-G100, #8C8C8C);
    font-family: "Noto Sans KR";
    font-size: 11.2px; /* 16px * 0.7 = 11.2px */
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.448px; /* -0.64px * 0.7 = -0.448px */
}

.distance_slide_container .distance_txt span#distance_value {
    color: #000;
    font-family: "Noto Sans KR";
    font-size: 11.2px; /* 16px * 0.7 = 11.2px */
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: -0.448px; /* -0.64px * 0.7 = -0.448px */
}

input.distance_slider {
    -webkit-appearance: none;
    width: 100%;
    height: 10px;
    border: unset;
    border-radius: 50px;
    background: #E7E7E7 !important;
    outline: none;
    padding: unset;
    cursor: pointer;
}

/* 더 구체적인 셀렉터로 JavaScript 스타일 덮어쓰기 */
#distance_range.distance_slider {
    background: #E7E7E7 !important;
}

.hospital-finder-page #distance_range {
    background: #E7E7E7 !important;
}

/* 최고 우선순위로 강제 적용 */
body .hospital-finder-page .distance_slide_container input#distance_range.distance_slider {
    background: #E7E7E7 !important;
}

/* CSS 변수 오버라이드 */
:root {
    --theme-accent: #00358E !important;
}

.hospital-finder-page {
    --theme-accent: #00358E !important;
}

.distance_slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: var(--Foundation-white, #FFF);
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.14));
    cursor: pointer;
}

.distance_slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: var(--Foundation-white, #FFF);
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.14));
    cursor: pointer;
}

/* 리스트 영역 */
.result_area .list_area {

    padding: 0 20px;
    flex-direction: column;
    align-items: flex-start;
}


.result_area #stores {
    height: calc(900px - 200px); /* 전체 높이에서 헤더 등 제외 */
}

.result_area .search_list_area .search_list .sidogun_list {
    height: calc(900px - 200px); /* 전체 높이에서 헤더 등 제외 */
}

/* 스크롤바 */
.result_area #stores::-webkit-scrollbar,
.result_area .search_list_area .search_list .sidogun_list::-webkit-scrollbar {
    width: 5px;
}

.result_area #stores::-webkit-scrollbar-thumb,
.result_area .search_list_area .search_list .sidogun_list::-webkit-scrollbar-thumb {
    height: 30%;
    background: #888;
    border-radius: 10px;
}

.result_area #stores::-webkit-scrollbar-track,
.result_area .search_list_area .search_list .sidogun_list::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

/* 매장 리스트 아이템 */
.result_area #stores .not_result,
.result_area #stores .loading {
    text-align: center;

    color: #666;
}

.result_area #stores [class^=store_list_item_],
.result_area #stores_region [class^=store_list_item_] {
    padding: 24px 0; /* 상하 24px */
    border-top: 1px solid #eee;
    margin: 0 auto;
    cursor: pointer;
    transition: all 0.3s;
}

.result_area #stores [class^=store_list_item_]:first-child,
.result_area #stores_region [class^=store_list_item_]:first-child {
    border-top: unset;
}

.result_area #stores [class^=store_list_item_]:hover,
.result_area #stores_region [class^=store_list_item_]:hover {
    background: #4361ee12;
}

.result_area #stores [class^=store_list_item_] .flex,
.result_area #stores_region [class^=store_list_item_] .flex {
    display: flex;
    justify-content: flex-start; /* 왼쪽 정렬로 변경 */
    font-weight: bold;
    margin-bottom: 10px;
    position: relative; /* 아이콘 절대 위치를 위한 기준점 */
    gap: 10px; /* 이름과 거리 사이 간격 */
}

.result_area #stores [class^=store_list_item_] .store_name,
.result_area #stores_region [class^=store_list_item_] .store_name {
    color: var(--Foundation-black, #000);
    font-family: "Noto Sans KR";
    font-size: 16.8px; /* 24px * 0.7 = 16.8px */
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: -0.672px; /* -0.96px * 0.7 = -0.672px */
    display: flex;
    align-items: center;
    gap: 6px; /* 8px * 0.7 = 6px */
    order: 1; /* 스토어 이름을 첫 번째로 */
}

.result_area #stores [class^=store_list_item_] .store_name .external-icon,
.result_area #stores_region [class^=store_list_item_] .store_name .external-icon {
    width: 17px; /* 24px * 0.7 = 17px */
    height: 17px; /* 24px * 0.7 = 17px */
    cursor: pointer;
    margin-left: 10px; /* 이름 옆에 10px 간격 */
    vertical-align: middle;
    order: 3; /* 아이콘을 세 번째로 */
    position: absolute; /* 절대 위치로 이동 */
    right: 0;
}

.result_area #stores [class^=store_list_item_] .flex .store_distance,
.result_area #stores_region [class^=store_list_item_] .flex .store_distance {
    flex: 0 0 max-content;
    text-align: left; /* 왼쪽 정렬로 변경 */
    color: var(--Foundation-Grey-G100, #8C8C8C);
    font-family: "Noto Sans KR";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.64px;
    opacity: 1;
    order: 2; /* 거리를 두 번째로 */
    margin-right: 0; /* 마진 제거 */
}

.result_area #stores [class^=store_list_item_] .store_address,
.result_area #stores [class^=store_list_item_] .store_area,
.result_area #stores [class^=store_list_item_] .store_tel,
.result_area #stores_region [class^=store_list_item_] .store_address,
.result_area #stores_region [class^=store_list_item_] .store_area,
.result_area #stores_region [class^=store_list_item_] .store_tel {
    font-size: 0.85em;
    line-height: 22px;
    color: #666;
}

.result_area #stores [class^=store_list_item_] .store_address,
.result_area #stores_region [class^=store_list_item_] .store_address {
    max-width: 266px; /* 380px * 0.7 = 266px */
    align-self: stretch;
    color: var(--Foundation-Grey-G100, #8C8C8C);
    font-family: "Noto Sans KR";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.64px;
    padding-left: 0;
    margin: 0;
}

.result_area #stores [class^=store_list_item_] .store_area,
.result_area #stores_region [class^=store_list_item_] .store_area {
    text-indent: -9px;
    padding-left: 0;
    margin: 0;
}

.result_area #stores [class^=store_list_item_] .store_tel,
.result_area #stores_region [class^=store_list_item_] .store_tel {
    color: var(--Foundation-Grey-G100, #8C8C8C);
    font-family: "Noto Sans KR";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.64px;
    margin: 0;
}

/* 버튼 영역 */
.result_area #stores [class^=store_list_item_] .btn_area,
.result_area #stores_region [class^=store_list_item_] .btn_area {
    display: none; /* 네이버 지도 버튼 숨김 */
}

/* 페이지네이션 숨김 (무한 스크롤 사용) */
.pagination {
    display: none !important;
}

.result_area #stores [class^=store_list_item_] .tel_btn,
.result_area #stores [class^=store_list_item_] .naver_map_link_btn {
    flex: 1;
    display: block;
    color: #3b404b;
    border: 1px solid #3b404b;
    border-radius: 3px;
    text-align: center;
    padding: 5px 0;
    transition: all 0.3s;
}

.result_area #stores [class^=store_list_item_] .tel_btn:hover {
    color: #fff;
    background: #3b404b;
}

.result_area #stores [class^=store_list_item_] .naver_map_link_btn {
    display: none !important;
}

.result_area #stores [class^=store_list_item_] .naver_map_link_btn:hover {
    display: none !important;
}

/* 지역 선택 */
.result_area .search_list_area .search_list .sidogun_list .area,
.result_area .search_list_area .search_list .sidogun_list .sigugun_list {
    display: grid;
    grid-gap: 4px;
    grid-template-columns: repeat(2, 1fr);
}

.result_area .search_list_area .search_list .sidogun_list .area .sido,
.result_area .search_list_area .search_list .sidogun_list .sigugun_list .sigugun {
    background: #f3f3f3;
    width: 100%;
    text-align: center;
    padding: 7px 0; /* 10px * 0.7 = 7px */
    cursor: pointer;
    transition: all 0.3s;
}

.result_area .search_list_area .search_list .sidogun_list .area .sido:hover,
.result_area .search_list_area .search_list .sidogun_list .sigugun_list .sigugun:hover {
    background: #00358E;
    color: #fff;
}

/* 지도 */
#map {
    flex: 1;
    width: 100%;
    min-height: 900px;
}

/* 지도 정보 윈도우 */
.map_info {
    display: inline-block;
    position: relative;
    padding: 15px;
    min-width: 100px;
    max-width: 400px;
    height: auto;
    line-height: 150%;
}

.map_info h3 {
    margin-bottom: 10px;
    font-size: 1.1em;
}

.map_info .map_info_txt .store_address {
    text-indent: -10px;
    padding-left: 20px;
    margin: 5px 0;
}

.map_info .map_info_txt .store_tel,
.map_info .map_info_txt .store_distance {
    margin: 5px 0;
}

.map_info .btn_area {
    display: flex;
    column-gap: 15px;
    margin: 0;
}

.map_info .tel_btn,
.map_info .naver_map_link_btn {
    flex: 1;
    display: block;
    color: #3b404b;
    min-width: 100px;
    border: 1px solid #3b404b;
    border-radius: 3px;
    text-align: center;
    padding: 5px 0;
    transition: all 0.3s;
}

.map_info .tel_btn:hover {
    color: #fff;
    background: #3b404b;
}

.map_info .naver_map_link_btn {
    display: none !important;
}

.map_info .naver_map_link_btn:hover {
    display: none !important;
}

/* 아이콘 색상 */
i.xi-location-arrow {
    color: #5a8cff;
}

i.xi-maker {
    color: #42cf61;
}

i.xi-call {
    color: #ff6347;
}

/* 반응형 (모바일) */
@media (max-width: 770px) {
    .result_area .search_list_area .search_list_tab {
        display: none;
    }

    .tab_area {
        display: flex;
        justify-content: space-around;
        border-top: 1px solid #999;
    }

    .result_area,
    .result_area #map,
    .result_area .search_list_area {
        height: 70vh;
    }

    .result_area {
        display: block;
    }

    .result_area #stores {
        height: calc(70vh - 183px);
    }

    .result_area .search_list_area .search_list .sidogun_list {
        height: calc(900px - 226px);
    }

    .result_area .search_list_area,
    .result_area #map {
        opacity: 0;
        width: 100%;
        position: absolute;
        z-index: 0;
    }

    .result_area .search_list_area.on,
    .result_area #map.on {
        opacity: 1;
        z-index: 1;
    }
    
    /* 지도보기 탭에서 지도 밑에 병원 검색 리스트 표시 */
    .result_area #map.on + .search_list_area .search_list.keyword_search.on {
        display: block !important;
        position: relative;
        z-index: 2;
        margin-top: 20px;
    }

    .result_area .search_list_area {
        top: unset;
        left: unset;
        transform: unset;
        max-width: unset;
        border: 1px solid #ddd;
        border-top: 0;
        box-shadow: unset;
    }

    .map_info {
        min-width: unset;
    }
}

/* 지역 검색 탭의 stores_region 요소 스타일링 */
#stores_region {
    display: block;
    visibility: visible;
    opacity: 1;
    height: calc(900px - 200px);
}

/* 지역 검색 탭의 매장 리스트 아이템 스타일 - 기존 스타일과 동일 */
.result_area #stores_region [class^=store_list_item_] {
    border-top: 1px solid #eee;
    margin: 0 auto;
    padding: 24px 0; /* 상하 24px로 변경 */
    cursor: pointer;
    transition: all 0.3s;
}

.result_area #stores_region [class^=store_list_item_]:first-child {
    border-top: unset;
}

.result_area #stores_region [class^=store_list_item_]:hover {
    background: #4361ee12;
}

.result_area #stores_region [class^=store_list_item_] .flex {
    display: flex;
    justify-content: flex-start; /* 왼쪽 정렬로 변경 */
    font-weight: bold;
    margin-bottom: 10px;
    gap: 10px; /* 이름과 거리 사이 간격 */
}

.result_area #stores_region [class^=store_list_item_] .flex .store_distance {
    flex: 0 0 max-content;
    text-align: left; /* 왼쪽 정렬로 변경 */
    color: var(--Foundation-Grey-G100, #8C8C8C);
    font-family: "Noto Sans KR";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.64px;
    order: 2; /* 거리를 두 번째로 */
    margin-right: 0; /* 마진 제거 */
}

.result_area #stores_region [class^=store_list_item_] .store_address,
.result_area #stores_region [class^=store_list_item_] .store_area,
.result_area #stores_region [class^=store_list_item_] .store_tel {
    font-size: 16px;
    line-height: normal;
    color: var(--Foundation-Grey-G100, #8C8C8C);
    font-family: "Noto Sans KR";
    font-weight: 400;
    letter-spacing: -0.64px;
}

.result_area #stores_region [class^=store_list_item_] .store_address,
.result_area #stores_region [class^=store_list_item_] .store_area {
    padding-left: 0;
}

.result_area #stores_region [class^=store_list_item_] .store_area {
    margin: 10px 0;
}

/* 버튼 영역 */
.result_area #stores_region [class^=store_list_item_] .btn_area {

}

.result_area #stores_region [class^=store_list_item_] .tel_btn,
.result_area #stores_region [class^=store_list_item_] .naver_map_link_btn {
    flex: 1;
    display: block;
    color: #3b404b;
    border-radius: 3px;
    text-align: center;
    transition: all 0.3s;
}

.result_area #stores_region [class^=store_list_item_] .tel_btn:hover {
    color: #fff;
    background: #3b404b;
}

.result_area #stores_region [class^=store_list_item_] .naver_map_link_btn {
    display: none !important;
}

.result_area #stores_region [class^=store_list_item_] .naver_map_link_btn:hover {
    display: none !important;
}

/* 지역 검색 탭의 로딩 메시지 */
#stores_region .loading {
    text-align: center;
    padding: 40px 20px;
    color: #666;
    font-size: 14px;
}

/* 지역 검색 탭의 검색 결과 없음 */
#stores_region .not_result {
    text-align: center;
    padding: 40px 20px;
    color: #999;
    font-size: 14px;
}

/* 지역 선택 드롭다운 스타일 */
.region_selector {
    padding: 0 20px;
    margin-bottom: 20px;
}

.region_dropdown {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap; /* 데스크탑에서는 같은 행에 유지 */
}

.region_select {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 8px 12px;
    font-size: 14px;
    color: #333;
    min-width: 120px;
    height: 40px;
    outline: none;
    cursor: pointer;
}

.region_select:disabled {
    background: #f5f5f5;
    color: #999;
    cursor: not-allowed;
}

.region_select:focus {
    border-color: #00358E;
    box-shadow: 0 0 0 2px rgba(0, 53, 142, 0.2);
}

.pharmacy-finder-page .region_select:focus {
    border-color: #9B2246;
    box-shadow: 0 0 0 2px rgba(155, 34, 70, 0.2);
}

.region_dropdown .search_btn {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 8px 16px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    transition: all 0.3s;
    min-width: 40px; /* 아이콘만 있을 때 최소 너비 */
}

.region_dropdown .search_btn .search-icon {
    width: 20px;
    height: 20px;
}

.region_dropdown .search_btn:hover {
    background: #00358E;
    color: #fff;
    border-color: #00358E;
}

.pharmacy-finder-page .region_dropdown .search_btn:hover {
    background: #9B2246;
    color: #fff;
    border-color: #9B2246;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    /* Page Title 모바일 스타일 */
    .pharmacy-finder-page .page-title {
        background: transparent !important;
        height: 200px;
        padding-bottom: 40px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        
    }
    .hospital-finder-page .page-title {
        background: transparent !important;
        height: 200px;
        padding-bottom: 40px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }
    
    .page-logo {
        display: none !important;
    }
    
    .page-title h1 {
        color: var(--Foundation-black, #000);
        text-align: center;
        font-family: "Noto Sans KR";
        font-size: 24px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
        letter-spacing: -0.96px;
    }
    
    .page-title p {
        color: var(--Foundation-Grey-G200, #5A5A5A);
        text-align: center;
        font-family: "Noto Sans KR";
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: -0.64px;
    }
    
    /* 모바일 헤더 스타일 */
    .hospital-finder-page .header {
        box-shadow: none !important;
    }
    
    /* 모바일 지도 높이 조정 */
    #map {
        min-height: auto !important;
        height: 70vh !important;
    }
    
    .store-finder-container {
        padding-top: 80px; /* 헤더 높이만큼 상단 여백 유지 */
        padding-left: 20px;
        padding-right: 20px;
    }
    
    .tab_area {
        border-top: none !important;
    }
    
    .tab_area .tab_btn {
        background: #F8F8F8;
    }
    
    .tab_area .tab_btn.active,
    .tab_area .tab_btn.on {
        background: #00358E !important;
        color: white !important;
    }
    
    .pharmacy-finder-page .tab_area .tab_btn.active,
    .pharmacy-finder-page .tab_area .tab_btn.on {
        background: #9B2246 !important;
        color: white !important;
    }
    
    .search_area {
        padding: 0px !important;
        margin: 0px !important;
    }
    
    .search_header {
        padding: 40px 0 0 0 !important;
    }
    
    .search_list_area .search_list .search_header {
        padding: 40px 0 0 0 !important;
    }
    
    .search_list_area .search_list.keyword_search .search_header {
        padding: 40px 0 0 0 !important;
    }
    

    .tab_area .tab_btn {
        color: var(--Foundation-black, #000);
        font-family: "Noto Sans KR";
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: -0.64px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .tab_area .tab_btn.active,
    .tab_area .tab_btn.on {
        color: var(--Foundation-white, #FFF);
    }
    
    .pharmacy-finder-page .tab_area .tab_btn.active,
    .pharmacy-finder-page .tab_area .tab_btn.on {
        color: var(--Foundation-white, #FFF);
    }
    
    .distance_slide_container {
        padding: 0px;
        padding-top: 10px;
    }
    
    input#address_keyword {
        color: var(--Foundation-Grey-G100, #8C8C8C);
        font-family: "Noto Sans KR";
        font-size: 14px; /* 16px에서 14px로 변경 */
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: -0.64px;
    }
    
    .list_area {
        padding: 0 !important;
    }
    
    .result_area #stores_region {
        padding: 0 !important;
    }
    
    .store-finder-container {
        padding-top: 80px !important; /* 헤더 높이만큼 상단 여백 유지 */
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    
    .search_list.on,
.search_list.keyword_search.on {
    height: 900px; /* 네이버 지도와 동일한 높이 */
    padding: 0; /* 좌우 패딩 0px */
}


    
    .search_list_area.on {
        border: none !important;
    }
    
    .result_area #stores,
    .result_area #stores_region {
        max-width: none !important;
        padding-right: 0 !important;
        margin: 0 auto !important;
        text-align: center !important;
        height: calc(640px - 200px) !important;
    }
    
    .result_area #stores {
        padding-right: 0 !important;
    }
    
    .result_area #stores [class^=store_list_item_],
    .result_area #stores_region [class^=store_list_item_] {
        text-align: left !important;
        margin: 0 auto !important;
    }
    
    .result_area #stores [class^=store_list_item_] .store_name,
    .result_area #stores_region [class^=store_list_item_] .store_name {
        color: var(--Foundation-black, #000);
        font-family: "Noto Sans KR";
        font-size: 18px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
        letter-spacing: -0.72px;
    }
    
    .result_area #stores [class^=store_list_item_] .store_address,
    .result_area #stores [class^=store_list_item_] .store_tel,
    .result_area #stores_region [class^=store_list_item_] .store_address,
    .result_area #stores_region [class^=store_list_item_] .store_tel {
        color: var(--Foundation-Grey-G100, #8C8C8C);
        font-family: "Noto Sans KR";
        font-size: 16px; /* 16px * 0.7 = 11.2px */
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: -0.64px; /* -0.64px * 0.7 = -0.448px */
    }
    
    .result_area #stores [class^=store_list_item_] .store_distance,
    .result_area #stores_region [class^=store_list_item_] .store_distance {
        color: var(--Foundation-Grey-G100, #8C8C8C);
        font-family: "Noto Sans KR";
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: -0.56px;
    }
    
    .search_header_top {
        display: none !important;
    }
    
    .region_dropdown {
        flex-direction: row;
        gap: 8px;
        flex-wrap: wrap; /* 모바일에서는 줄바꿈 허용 */
    }
    
    .region_select {
        width: 48%;
        max-width: none;
    }
    
    .region_dropdown .search_btn {
        width: 100%;
        max-width: 300px;
    }
}

