/* 초기화 */
body {box-sizing:border-box;font-family:'Pretendard';font-size:16px;line-height:normal;margin:0;padding:0;
	color:#0a0a0a;font-weight:400;}
div {box-sizing:border-box;}
p,span {margin:0;line-height:normal;box-sizing:border-box;}
a {text-decoration:none;color:#0a0a0a;box-sizing:border-box;-webkit-tap-highlight-color:transparent;
    font-family:'Pretendard';}
a:hover {text-decoration:none;}
ul {margin:0;padding:0;}
li {list-style:none;box-sizing:border-box;}
button {background:none;border:0;box-sizing:border-box;cursor:pointer;font-family:'Pretendard';
	-webkit-tap-highlight-color:transparent;}
input {box-sizing:border-box;-webkit-tap-highlight-color:transparent;font-family:'Pretendard';
    padding:0;font-size:16px;font-weight:400;}
input::placeholder, textarea::placeholder {color:#aaa;}
input:focus, textarea:focus {outline:none;}
input[type="number"] {-moz-appearance:textfield;}
input[type="radio"] {display:none;}
input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {-webkit-appearance:none;margin:0;}
label {cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:'Pretendard';}
select {appearance:none;-webkit-appearance:none;-moz-appearance:none;border:0;width:100%;display:block;
	padding:0 35px 0 15px;line-height:42px;font-family:'Pretendard';font-size:14px;font-weight:400;
	letter-spacing:-0.2px;color:#aaa;background:none;cursor:pointer;
	-webkit-tap-highlight-color:transparent;}
select:focus {outline:none;}
select option {color:#0a0a0a;}

/* 공통 */
.dim {position:fixed;top:0;left:50%;width:100%;height:100%;background:rgba(0,0,0,0.4);z-index:15;
	max-width:460px;transform:translateX(-50%);display:none;}
.tt_dim {position:fixed;top:0;left:50%;width:100%;height:100%;background:rgba(0,0,0,0.4);z-index:2;
	max-width:460px;transform:translateX(-50%);backdrop-filter:blur(3px);
    display:none;}
.acrd_dim {position:fixed;top:0;left:50%;width:100%;height:100%;background:rgba(0,0,0,0.4);z-index:15;
    max-width:460px;transform:translateX(-50%);display:none;}
.layer {position:fixed;top:50%;left:50%;max-height:80vh;z-index:2000;transform:translate(-50%,-50%);
    background:#fff;border-radius:30px;width:calc(100% - 30px);max-width:430px;
    display:none;border:1px solid #eee;overflow:auto;}
.select_box {position:relative;border-radius:12px;border:1px solid #ddd;}
.select_box::before {content:'';position:absolute;top:50%;right:5px;width:30px;height:30px;
    background:url('/img/down.png')no-repeat center/28px;margin-top:-15px;pointer-events:none;}

    /* 커스텀 셀렉트 */
    .custom_select {position:relative;}
    .custom_select::before {content:'';position:absolute;top:50%;right:5px;width:30px;height:30px;
        background:url('/img/down.png')no-repeat center/100%;margin-top:-15px;transition:transform .3s ease;
        pointer-events:none;}
    .custom_select .select_val {cursor:pointer;padding:0 35px 0 15px;height:42px;border-radius:12px;
        border:1px solid #d6d6d6;background:#e9e9e9;font-family:'Pretendard';font-size:15px;font-weight:400;
        letter-spacing:-0.2px;color:#aaa;width:100%;display:flex;line-height:42px;align-items:center;
        gap:10px;opacity:.65;}
    .custom_select .select_val.select_active {background:#fff;opacity:1;border-color:#ddd;}
    .custom_select .select_val.selected {color:#0a0a0a;}
    .custom_select .select_val span {line-height:24px;padding:0 8px;font-weight:700;border-radius:5px;
        background:#eee;color:#fff;font-size:14px;}
    .custom_select .select_val .ktas_lv_1 {background:#2572dc;}
    .custom_select .select_val .ktas_lv_2 {background:#dd4544;}
    .custom_select .select_val .ktas_lv_3 {background:#e7bf29;}
    .custom_select .select_val .ktas_lv_4 {background:#27904b;}
    .custom_select .select_val .ktas_lv_5 {background:#6e8094;}
    .custom_select .select_acrd {position:absolute;top:calc(100% + 4px);left:1px;border-radius:12px;
        background:#fff;overflow:hidden;z-index:3;min-width:calc(100% - 2px);max-height:300px;overflow:auto;height:0;transition:height .2s ease;}
    .custom_select .select_acrd.toggle_top {top:auto;bottom:calc(100% + 4px);}
    .custom_select .select_acrd::-webkit-scrollbar {width:6px;}
    .custom_select .select_acrd::-webkit-scrollbar-thumb {background:#a7a7a7;border-radius:100vw;}
    .custom_select .select_acrd::-webkit-scrollbar-track {background:#e9e9e9;border-radius:100vw;}
    .custom_select .select_acrd[style*="height"]:not([style*="height: 0px"]) {border:1px solid #ccc;
        box-shadow: 2px 2px 4px #33333333;}
    .custom_select .select_acrd li:hover {background:#f9f9f9;}
    .custom_select .select_acrd label {display:flex;align-items:center;justify-content:space-between;
        padding:0 15px;}
    .custom_select .select_acrd input:checked+label {background:#dcebff;}
    .custom_select .select_acrd label p {padding:12px 0;font-size:15px;display:Flex;align-items:center;
        gap:10px;letter-spacing:-0.2px;}
    .custom_select .select_acrd label p span {line-height:26px;padding:0 8px;font-weight:700;border-radius:5px;
        background:#eee;color:#fff;font-size:14px;}
    .custom_select .select_acrd label .ktas_lv_1 {background:#2572dc;}
    .custom_select .select_acrd label .ktas_lv_2 {background:#dd4544;}
    .custom_select .select_acrd label .ktas_lv_3 {background:#e7bf29;}
    .custom_select .select_acrd label .ktas_lv_4 {background:#27904b;}
    .custom_select .select_acrd label .ktas_lv_5 {background:#6e8094;}




#all {position:relative;width:100%;height:100%;min-height:100vh;}
#bg {position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;
    background:#fff;}
#pc {}
#mobile {width:100%;max-width:460px;min-height:100vh;position:absolute;top:0;left:50%;
    background:#fbfbfb;box-shadow:2px 0px 6px rgb(0 0 0 / 5%), -2px 0px 6px rgb(0 0 0 / 5%);
	margin-left:-230px;border:1px solid #e9e9e9;border-top:0;border-bottom:0;}



.topbar .title { font-weight:700; color:#333; font-size:18px; }
.topbar input[type="search"] { padding:8px 10px; border:1px solid #ddd; border-radius:6px; width:320px; }
.marker-count { color:#666; font-size:13px; margin-left:8px; }

#map {width:100%;height:40vh;position:relative;}
#map > div:nth-child(2) {bottom:30px!important;}

/* 줌 컨트롤 (지도의 오른쪽 상단) */
.zoom-controls { position:absolute; right:12px; top:12px; display:flex; flex-direction:column; gap:8px; z-index:2200;display:none;}
/* .zoom-controls button { width:40px; height:40px; border-radius:6px; background:#fff; border:1px solid #ddd; box-shadow:0 2px 6px rgba(0,0,0,0.12); cursor:pointer; font-size:18px; line-height:1; }
.zoom-controls button:active { transform:translateY(1px); } */

/* Header */
header {position:relative;z-index:5;margin:0 -1px;}
header .topbar {display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1e1e1;
    background:#fff;box-sizing:border-box;padding:10px 15px;}
header .topbar .logo {display:block;height:44px;}
header .topbar .logo img {display:block;width:auto;height:100%;}
header .topbar .search_tb {display:block;padding:8px 6px;font-size:16px;font-weight:700;color:#00267f;}
/* Highlight only the 'KTAS' part in Pre-KTAS */
.ktas-highlight { color: #E53935; font-weight:800; }
#top_toggle {background:#fff;position:absolute;border-radius:0 0 30px 30px;
    box-shadow:0 3px 6px rgba(0,0,0,0.1);width:100%;display:none;}
#top_toggle .sc_wrap {display:flex;flex-direction:column;gap:20px;width:100%;padding:20px 15px 25px;}
#top_toggle .sc_box {position:relative;display:flex;flex-direction:column;gap:5px;}
#top_toggle .sc_box.show {z-index:20;}
#top_toggle .sc_box:nth-last-child(2) .select_acrd {top:auto;bottom:calc(100% + 4px);}
#top_toggle .sc_box .a1 {font-size:16px;font-weight:500;}
#top_toggle .sc_box .ib_2 {display:flex;gap:8px;flex-wrap:wrap;}
#top_toggle .sc_box:nth-child(1) .ib_2 label {width:auto;flex:1;height:38px;line-height:38px;border-radius:12px;}
#top_toggle .sc_box .ib_2 label {line-height:36px;height:36px;border:1px solid #ddd;border-radius:10px;
    font-size:14px;text-align:center;width:calc(20% - 8.4px);}
#top_toggle .sc_box .ib_2 input:checked+label {background:#1D2B57;border-color:#1D2B57;color:#fff;
    font-weight:500;}
#top_toggle .sc_box .select_box {flex:1;}
#top_toggle .sc_box #searchBox {display:block;border:1px solid #ddd;border-radius:12px;height:42px;
    padding:0 15px;width:100%;font-size:14px;}
#top_toggle .btn_box {margin:10px 0 0;display:flex;gap:20px;}
#top_toggle .btn_box > * {flex:1;height:42px;border-radius:100vw;border:1px solid #0a0a0a;
    background:#fff;color:#0a0a0a;font-size:16px;font-weight:500;padding:0;line-height:42px;}
#top_toggle .btn_box .confirm {color:#fff;background:#1D2B57;border-color:#1D2B57;}


/* KTAS 코드 상세 레이어 */
.code_layer {padding:54px 15px 20px;}
.code_layer .close {position:absolute;right:18px;top:15px;cursor:pointer;
    background:url('/img/close.png')no-repeat center/28px;width:34px;height:34px;}
.code_layer .code_name {text-align:center;font-size:24px;font-weight:600;letter-spacing:4px;
    line-height:62px;background:#ccc;color:#fff;}
.code_layer .code_name.lv1 {background:#2572dc;}
.code_layer .code_name.lv2 {background:#dd4544;}
.code_layer .code_name.lv3 {background:#e7bf29;}
.code_layer .code_name.lv4 {background:#27904b;}
.code_layer .code_name.lv5 {background:#6e8094;}
.code_layer .code_info {display:flex;flex-direction:column;gap:20px;padding:30px 0 10px;}
.code_layer .code_info li {display:flex;align-items:baseline;justify-content:space-between;
    padding:0 5px;}
.code_layer .code_info span {color:#333;display:block;}
.code_layer .code_info p {font-weight:600;}




/* 병원 리스트 */
#hospitalList { height:calc((100vh - 40vh) - 35px);overflow:auto;background:#fff;padding:15px; 
    margin-top:-30px;position:relative;z-index:1;border-radius:30px 30px 0 0;
    box-shadow:0 -4px 6px rgba(0,0,0,0.05);display:flex;flex-direction:column;gap:20px;
    -ms-overflow-style:none;}
#hospitalList::-webkit-scrollbar {display:none;}
.ktas_tag {display:flex;justify-content:center;align-items:center;gap:6px 8px;background:#ffffffc4;
    padding:0;width:100%;position:absolute;flex-wrap:wrap;cursor:pointer;}
.ktas_tag:hover {background:#fffffff0;}
.ktas_tag.active {padding:8px 0;border-bottom:1px solid #e1e1e1;}
.ktas_tag li {display:flex;justify-content:center;align-items:center;font-size:14px;gap:6px;
    line-height:20px;backdrop-filter:blur(5px);font-weight:500;}
.ktas_tag li span {border-radius:100vw;background:#ffffffc2;padding:4px 12px;
    color:#fff;font-weight:600;}    
/* .ktas_tag li .lv_1 {background:#2572dc;border-color:#2572dc;}
.ktas_tag li .lv_2 {background:#dd4544;border-color:#dd4544;}
.ktas_tag li .lv_3 {background:#e7bf29;border-color:#e7bf29;}
.ktas_tag li .lv_4 {background:#27904b;border-color:#27904b;}
.ktas_tag li .lv_5 {background:#6e8094;border-color:#6e8094;} */
.hospital-item {display:flex;flex-direction:column;background:#fff;cursor:pointer;
    box-shadow:0 0 4px rgba(0,0,0,0.05);border-radius:15px;}
.hospital-item .beds {text-align:center;font-weight:500;color:#fff;background:#ccc;font-size:14px;
    padding:7px 0 20px;border-radius:15px 15px 0 0;}
.hospital-item .beds.beds--high {background:#2ecc71;}
.hospital-item .beds.beds--medium {background:#f1c40f;}
.hospital-item .beds.beds--low {background:#e74c3c;}
.hospital-item .meta-box {display:flex;align-items:center;justify-content:space-between;padding:15px;
    border:1px solid #eee;border-radius:15px;margin-top:-14px;background:#fff;}
.hospital-item:hover .meta-box {background:#f5f8ff;}
.hospital-item .meta {font-size:12px;color:#333;flex:1;letter-spacing:-0.2px;word-break:auto-phrase;}
.hospital-item .meta .name {font-size:16px;font-weight:500;margin-bottom:5px;color:#0a0a0a;
    max-width:calc(100% - 20px);}
.hospital-item .meta .addr {color:#666;font-size:12px;line-height:15px;margin-bottom:10px;
    max-width:calc(100% - 20px);}
.hospital-item .meta .distance {color:#0a0a0a;}
.hospital-item .tel {height:38px;border:1px solid #707070;border-radius:12px;
    display:flex;justify-content:center;align-items:center;gap:5px;font-size:12px;font-weight:500;
    color:#0a0a0a;padding:0 14px;}
.hospital-item .tel::before {content:'';display:block;width:16px;height:16px;
    background:url('/img/call.png')no-repeat center/100%;}


/* 병원 상세레이어 */
#layerDetail .layer-wrap {padding:54px 15px 20px;}
#layerDetail .layer-close {position:absolute;right:18px;top:15px;cursor:pointer;
    background:url('/img/close.png')no-repeat center/28px;width:34px;height:34px;}
#layerDetail .layer-content {}
#layerDetail .layer-content hr {margin:0;color:#eee;border:0;border-bottom:1px solid #eee;}
#layerDetail .layer-content .h-distance {text-align:center;margin:0 0 6px;font-size:13px;}
#layerDetail .layer-content .h-name {font-size:20px;font-weight:700;text-align:center;margin:0 0 5px;}
#layerDetail .layer-content .h-addr {color:#888;font-size:13px;text-align:center;display:block;}
#layerDetail .layer-content #layer_map {height:180px;background:#f1f1f1;margin:20px 0;}
#layerDetail .layer-content ul {padding:20px 0;display:flex;flex-direction:column;gap:15px;}
#layerDetail .layer-content li {display:flex;justify-content:space-between;align-items:baseline;
    font-size:14px;}
#layerDetail .layer-content .li_l {color:#888;}

#layerDetail .stats { font-size:14px; color:#222; line-height:1.6; }

#layerDetail .navi_wrap {display:flex;padding:15px 0 0;}
#layerDetail .navi_wrap > button {flex:1;display:flex;align-items:center;justify-content:center;gap:10px;
    font-weight:500;font-size:16px;}
#layerDetail .navi_wrap #nav_t::before {content:'';display:block;width:46px;height:46px;
    background:url('/img/t-map.png')no-repeat center/100%;border-radius:100vw;border:1px solid #eee;}
#layerDetail .navi_wrap #nav_k::before {content:'';display:block;width:46px;height:46px;
    background:url('/img/k-map.png')no-repeat center/100%;border-radius:100vw;border:1px solid #eee;}
















































































































































@media (max-width:460px) {
    #mobile {left:0;margin:0;}
}