@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');









/*폰트설정 : 시작*/
/*@font-face {
    font-family: 'SUIT-Regular';
    src: url('../fonts/suit/SUIT-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}*/

/*폰트설정 : 시작*/
@font-face {
    font-family: 'Pretendard';
    font-weight: 900;
    font-display: swap;
    src: local('Pretendard Black'), url('../fonts/pretendard/Pretendard-Black.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-Black.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 800;
    font-display: swap;
    src: local('Pretendard ExtraBold'), url('../fonts/pretendard/Pretendard-ExtraBold.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-ExtraBold.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 700;
    font-display: swap;
    src: local('Pretendard Bold'), url('../fonts/pretendard/Pretendard-Bold.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-Bold.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 600;
    font-display: swap;
    src: local('Pretendard SemiBold'), url('../fonts/pretendard/Pretendard-SemiBold.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-SemiBold.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 500;
    font-display: swap;
    src: local('Pretendard Medium'), url('../fonts/pretendard/Pretendard-Medium.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-Medium.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 400;
    font-display: swap;
    src: local('Pretendard Regular'), url('../fonts/pretendard/Pretendard-Regular.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-Regular.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 300;
    font-display: swap;
    src: local('Pretendard Light'), url('../fonts/pretendard/Pretendard-Light.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-Light.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 200;
    font-display: swap;
    src: local('Pretendard ExtraLight'), url('../fonts/pretendard/Pretendard-ExtraLight.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-ExtraLight.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 100;
    font-display: swap;
    src: local('Pretendard Thin'), url('../fonts/pretendard/Pretendard-Thin.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-Thin.woff') format('woff');
}
/*폰트설정 : 끝*/



body,input,textarea,select,table,button,code{
    color:#111;
    font-family: 'Pretendard';
    font-weight: 400;
    text-align: left;
}

/* .korean{}
.english{} */

/*폰트설정 : 끝*/



/*기타 설정 : 시작 */
html{
    -webkit-text-size-adjust:none;
    /*-ms-user-select:none;
    -khtml-user-select:none;
    -webkit-user-select:none;
    user-select:none;*/
    -webkit-touch-callout:none;
}
    
*{
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
}
    
body,a,p,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,tr,th,td,
form,fieldset,label,legend,input,textarea,button,menu{
    margin:0px;padding:0px;
    -webkit-text-size-adjust:none;
}
    

     
body{
    width:100%;
    position:relative;word-wrap:break-word;word-break:break-all;
    min-width:280px;
    min-height: 100vh;
    min-height: 100dvh;
    background: #fff;
    font-stretch: normal;
    font-style: normal;
    letter-spacing: normal;
}

input::-ms-clear,
input::-ms-reveal{
    display:none;
}
input::-webkit-search-decoration,
input::-webkit-search-cancel-button,
input::-webkit-search-results-button,
input::-webkit-search-results-decoration{
    display:none;
}
    
nav,menu,ul,li,ol{
    list-style:none;
}
    
div{
    display:block;
}
    
table{
    border-collapse:collapse;
    border-spacing:0;
}
    
img,fieldset{
    border:none;
}
    
em,address{
    font-style:normal;
}
    
select{
    cursor: pointer;
}
    
section,article,header,footer,nav,aside,hgroup{
    display:block;
}

select::-ms-expand { 
  display: none;
}

select {
  -o-appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

}
    
button{
    border:none;
    background:none;
    cursor:pointer !important;
}
    
button:focus{
    outline:none !important;
}
    
a{
    margin:0px;
    padding:0px;
    text-decoration:none;
    cursor:pointer;
}
    
a:hover, a:active{
    text-decoration:none !important;
}
    
table{
    table-layout: fixed;
}

:root{
    --main:#4285f4;

    --yellow:#FFa800;
    --green:#3FB459;
    --red:#ff2929;
    --blue2:#0ebaff;
    --blue:/*#005bd4*/#0085f7;

    --bg1:#FFF0F0;
    --bg2:#FFF4E6;
    --bg3:#FFFCE6;
    --bg4:#F0FFE6;
    --bg5:#E6F9FF;
    --bg6:#E6F0FF;
    --bg7:#EBE6FF;
}
    
.clearFix:after{
    content:"";
    display:block;
    clear:both;
}
    
.ibFix{
    line-height:0px;
}
    
.hiddenFix{
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    width: 1px;
    height: 1px;
    line-height: 0;
    text-indent:-10000px;
}

.h1Hide{
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    width: 0px;
    height: 0px;
    line-height: 0;
    text-indent:-10000px;
}

.hiddenTxt{
    padding: 0; margin:0; font-size: 0;
}

.underline{text-decoration: underline !important;}
    
caption{
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    width: 1px;
    height: 1px;
    line-height: 0;
    text-indent:-10000px;
}
    
.floatLeft{
    float: left;
}

.floatLeft:after{
    content:"";
    display:block;
    clear:both;
}
    
.floatRight{
    float: right;
    position: relative;
}

.floatRight:after{
    content:"";
    display:block;
    clear:both;
}
    
.inside{
    display: inline-block;
}
    
.inside:after{
    content: "";
    display: block;
    clear: both;
}

.row{
    display: block;
    width: 100%;
}

.row:after{
    content: "";
    display: block;
    clear: both;
}

select {
   -webkit-appearance:none; /* for chrome */
   -moz-appearance:none; /*for firefox*/
   appearance:none;
}

select::-ms-expand{
   display:none;/*for IE10,11*/
}

#goto_top{
    position: fixed;
    display: none;
    z-index: 49;
    width: 56px;
    height: 56px;
    background: url(../images/go_top7_56.png) center no-repeat;
    background-size: 56px 56px;
    border-radius: 24px;
    /* bottom: 90px; */
    bottom: 30px;
    right: 24px;
    box-shadow: rgba(255, 255, 255, 0.2) 0px 0px 0px 1px inset, rgba(0, 0, 0, 0.1) 0px 4px 6px, rgba(0, 0, 0, 0.15) 0px 8px 30px;
    /* filter : drop-shadow(0 0 30px rgba(255,255,255,0.7));
    will-change: filter; */
}

#goto_top.active{
    width: 44px;
    height: 44px;
    background-size: 44px 44px;
    border-radius: 18px;
    /* bottom: 72px; */
    bottom: 20px;
    right: 14px;
}



.scrollFix::-webkit-scrollbar{
    width: 6px;
    height:6px;
}

.scrollFix::-webkit-scrollbar-thumb{
    background: rgba(0,0,0,0.15);
    border-radius: 3px;
}

.scrollFix::-webkit-scrollbar-track{
    background: rgba(0,0,0,0.07);
}


/* body::-webkit-scrollbar{
    width: 8px;
    height: 8px;
}

body::-webkit-scrollbar-thumb{
    background: #f5f5f5;
    border-radius: 0;
}

body::-webkit-scrollbar-track{
    background: rgba(0,0,0,0.3);
} */

/*기타 설정 : 끝*/









body .ch-desk-messenger{
    min-width: 232px !important;
}

#main .bPKuEE{
    min-width:10px !important;
}








/*홈 지도 : 시작*/
/*홈 지도 : 끝*/























#map {
  height: 100vh;
  height: 100dvh;
  width: 100%;
}

    /* 구글맵 스타일 검색바 */
    .google-style-searchbar {
      position: absolute;
      top: 20px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 1000;
      width: 90%;
      max-width: 600px;
    }

    .search-container {
      background: white;
      border-radius: 24px;
      box-shadow: 0 2px 10px rgba(0,0,0,0.15), 0 0 0 1px rgba(0,0,0,0.05);
      padding: 8px;
      display: flex;
      align-items: center;
      gap: 8px;
      transition: box-shadow 0.2s;
    }

    .search-container:focus-within {
      box-shadow: 0 4px 20px rgba(0,0,0,0.2), 0 0 0 1px rgba(66,133,244,0.3);
    }

    .search-box {
      flex: 1;
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 0 16px;
      position: relative;
    }

    .search-icon {
      color: #5f6368;
      flex-shrink: 0;
    }

    .search-box input {
      flex: 1;
      border: none;
      outline: none;
      font-size: 16px;
      padding: 12px 0;
      color: #202124;
      background: transparent;
    }

    .search-box input::placeholder {
      color: #9aa0a6;
    }

    .search-clear {
      background: none;
      border: none;
      color: #5f6368;
      cursor: pointer;
      padding: 4px 8px;
      font-size: 18px;
      line-height: 1;
      border-radius: 50%;
      width: 28px;
      height: 28px;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.2s;
    }

    .search-clear:hover {
      background: #f1f3f4;
    }

    .search-filters {
      display: flex;
      align-items: center;
      gap: 8px;
      padding-right: 8px;
    }

    .filter-select {
      padding: 10px 16px;
      border: 1px solid #dadce0;
      border-radius: 20px;
      font-size: 14px;
      background: white;
      color: #202124;
      cursor: pointer;
      outline: none;
      transition: all 0.2s;
    }

    .filter-select:hover {
      border-color: #c4c7c5;
      box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    }

    .filter-select:focus {
      border-color: #4285f4;
      box-shadow: 0 0 0 2px rgba(66,133,244,0.1);
    }

    .btn-refresh,
    .btn-location {
      width: 40px;
      height: 40px;
      border: none;
      border-radius: 50%;
      background: white;
      color: #5f6368;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.2s;
      box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    }

    .btn-refresh:hover,
    .btn-location:hover {
      background: #f1f3f4;
      box-shadow: 0 2px 5px rgba(0,0,0,0.15);
    }

    .btn-location {
      background: #4285f4;
      color: white;
    }

    .btn-location:hover {
      background: #3367d6;
    }



    /* 사이드 패널 */
.side-panel {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1002;
    width: 100%;
    max-width: 350px;
    background: #fff;
    box-shadow: 5px 0 10px rgba(0,0,0,0.15);
    height:100vh;
    height:100dvh;
    transition: transform 0.3s ease;
}

    .side-panel.collapsed {
      transform: translateX(-100%);
    }

    .panel-toggle {
      position: absolute;
      right: -24px;
      top: 50%;
      transform: translateY(-50%) rotate(180deg); /* 수직 중앙 정렬 + 기본 상태: 왼쪽을 가리킴 (닫기) */
      width: 24px;
      height: 48px;
      background: white;
      border: none;
      border-radius: 8px 0 0 8px;
      box-shadow: 0 0 5px rgba(0,0,0,0.1);
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #5f6368;
      transition: all 0.3s ease;
      z-index: 1003;
    }
    
    /* detail-panel이 열려 있을 때 토글 버튼 위치는 JavaScript로 조정 */

    .side-panel.collapsed .panel-toggle {
      transform: translateY(-50%) rotate(0deg); /* 수직 중앙 정렬 + 닫혀있을 때: 오른쪽을 가리킴 (열기) */
      border-radius: 0 8px 8px 0;
    }

    .panel-toggle:hover {
      background: #f8f9fa;
      color: #202124;
    }

    .panel-content {
      padding: 20px 20px 0;
      height: 100%;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }

    .panel-content h1 {
      margin:0 0 14px;
      color: #202124;
      font-size: 0;
      font-weight: 500;
      flex-shrink: 0;
      width: 130px;
      height: 33px;
      background: url(../images/c119.webp) center no-repeat;
      background-size: 130px 33px;
    }

    /* searchRow 스타일 */
    .searchRow {
      flex-shrink: 0;
    }

    .search-box-side {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 0 14px;
      height: 40px;
      align-items: center;
      border: 1px solid #dadce0;
      border-radius: 8px;
      background: white;
      margin-bottom: 12px;
      transition: border-color 0.2s, box-shadow 0.2s;
      min-width: 0;
      overflow: hidden;
    }

    .search-box-side:focus-within {
      border-color: #4285f4;
      box-shadow: 0 0 0 2px rgba(66,133,244,0.1);
    }

    .search-box-side .search-icon {
      color: #5f6368;
      flex-shrink: 0;
      width: 18px;
      height: 18px;
    }

    .search-box-side input {
      flex: 1;
      min-width: 0;
      border: none;
      outline: none;
      font-size: 14px;
      color: #202124;
      background: transparent;
      overflow: hidden;
      text-overflow: ellipsis;
      line-height: 36px;
      height: 36px;
    }

    .search-box-side input::placeholder {
      color: #9aa0a6;
    }

    .search-clear {
      background: none;
      border: none;
      color: #5f6368;
      cursor: pointer;
      padding: 4px;
      font-size: 16px;
      line-height: 1;
      border-radius: 50%;
      width: 24px;
      height: 24px;
      min-width: 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.2s;
      flex-shrink: 0;
    }

    .search-clear:hover {
      background: #f1f3f4;
    }

    .search-actions {
      display: flex;
      gap: 8px;
      align-items: center;
    }

    .filter-select-side {
      flex: 1;
      padding: 10px 32px 10px 14px;
      border: none;
      border-radius: 8px;
      font-size: 14px;
      background: white;
      background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4L6 8L10 4' stroke='%235f6368' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 12px center;
      color: #202124;
      cursor: pointer;
      outline: none;
      transition: all 0.2s;
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      border:1px solid #dadce0;
    }

    /*.filter-select-side:hover {
      box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    }*/

    .filter-select-side:focus {
        border-color: #4285f4;
      /*box-shadow: 0 0 0 2px rgba(66,133,244,0.1);*/
    }

    .btn-refresh-side {
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 10px 16px;
      background: /*var(--main)*/#fff;
      color: #444 !important;
      border: 1px solid #dadce0;;
      border-radius: 8px;
      font-size: 14px;
      font-weight: 500;
      cursor: pointer;
      transition: all 0.2s;
      white-space: nowrap;
    }

    .btn-refresh-side:hover {
        border:1px solid #c0c0c0;
      box-shadow: 0 2px 5px rgba(0,0,0,0.15);
    }

    /*.btn-refresh-side:active {
      background: #2b5cd6;
    }*/

    .btn-refresh-side svg {
      flex-shrink: 0;
    }

    /* 검색 결과 목록 스타일 */
    .searchResultList {
      margin-top: 20px;
      flex: 1;
      overflow-y: auto;
      min-height: 0;
    }

    .searchResultList h3 {
      font-size: 16px;
      font-weight: 600;
      color: #202124;
      margin-bottom: 12px;
    }

    .hospital-list-item {
      transition: all 0.2s;
    }

    .hospital-list-item:hover {
      transform: translateY(-1px);
      box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    }

    .legend {
      margin-top: 20px;
      padding-top: 20px;
      border-top: 1px solid #e8eaed;
    }

    .legend h3 {
      font-size: 14px;
      margin-bottom: 12px;
      color: #5f6368;
      font-weight: 500;
    }

    .legend-item {
      display: flex;
      align-items: center;
      margin-bottom: 10px;
      font-size: 13px;
      color: #202124;
    }

    .legend-color {
      width: 16px;
      height: 16px;
      border-radius: 50%;
      margin-right: 12px;
      border: 2px solid white;
      box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    }

    .loading {
      text-align: center;
      padding: 12px;
      color: #4285f4;
      font-weight: 500;
      font-size: 14px;
      background: #e8f0fe;
      border-radius: 8px;
      margin: 12px 0;
    }

    .error {
      background: #fce8e6;
      color: #c5221f;
      padding: 12px;
      border-radius: 8px;
      margin: 12px 0;
      font-size: 13px;
      border-left: 4px solid #ea4335;
    }

    

    

    .api-key-section {
      margin-bottom: 15px;
      padding-bottom: 15px;
      border-bottom: 1px solid #ddd;
    }

    .api-key-section input {
      font-size: 12px;
    }

    .api-key-section small {
      display: block;
      margin-top: 5px;
      color: #666;
      font-size: 11px;
    }

    /* 지도 줌 컨트롤 스타일 */
    .buttonMaps {
      border-radius: 8px !important;
      box-shadow: 0 2px 10px rgba(0,0,0,0.15) !important;
      overflow: hidden;
      z-index: 2000 !important;
    }

    .buttonMaps .leaflet-control-zoom-in,
    .buttonMaps .leaflet-control-zoom-out,
    .buttonMaps .buttonMaps-location {
      background-color: white !important;
      color: #202124 !important;
      border: 1px solid #dadce0 !important;
      font-size: 18px !important;
      font-weight: 500 !important;
      width: 40px !important;
      height: 40px !important;
      line-height: 38px !important;
      transition: all 0.2s !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      cursor: pointer !important;
      margin-bottom: 1px !important;
    }

    .buttonMaps .buttonMaps-location {
      margin-bottom: 1px !important;
    }

    .buttonMaps .leaflet-control-zoom-in:hover,
    .buttonMaps .leaflet-control-zoom-out:hover,
    .buttonMaps .buttonMaps-location:hover {
      background-color: #f8f9fa !important;
      border-color: #c4c7c5 !important;
      box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
    }

    .buttonMaps .leaflet-control-zoom-in:active,
    .buttonMaps .leaflet-control-zoom-out:active,
    .buttonMaps .buttonMaps-location:active {
      background-color: #e8eaed !important;
    }

    .buttonMaps .buttonMaps-location svg {
      width: 18px !important;
      height: 18px !important;
    }














.hospital-amount-title{
    padding:20px 0 12px;
    font-size: 14px;
    font-weight: 500;
    color:#111;
    line-height: 24px;
    text-align: left;
    border-bottom:1px solid #e0e0e0;
}

.hospital-result-list{
    display: block;
    width: calc(100% + 40px);
    transform: translateX(-20px);
    flex: 1;
    overflow-y: scroll;
    padding:0 0 20px 0;
}

/*.hospital-result-list{
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 40px);
    transform: translateX(-20px);
    flex: 1;
    overflow-y: scroll;
    padding:0 0 20px 0;
}*/

.hospital-result-list::-webkit-scrollbar{
    width: 6px;
    height: 6px;
}

.hospital-result-list::-webkit-scrollbar-thumb{
    background: rgba(0,0,0,0.15);
    border-radius: 3px;
}

.hospital-result-list::-webkit-scrollbar-track{
    background: rgba(0,0,0,0.07);
}

.hospital-result-list .no-results{
    display: block;
    width: 100%;
    text-align: center;
    font-size: 15px;
    line-height: 20px;
    color:#333;
    padding:50px 0 0;
}

.hospital-result-one{
    display: block;
    width: 100%;
    padding: 19px 14px 0 20px;
    cursor: pointer;
    transition: background-color 0.2s;
}

.hospital-result-one:hover{
    background-color: #f8f9fa;
}

.hospital-result-one:last-child{
    border-bottom: none;
}

.hospital-result-one:after{
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #f0f0f0;
    margin:20px 0 0;
}

.hospital-result-one .name{
    display: block;
    width: 100%;
    font-size: 17px;
    color: #111 !important;
    line-height: 1.5;
    text-align: left;
    font-weight: 600;
    margin-bottom: 8px;
    /*white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;*/
}

.hospital-result-one .address{
    display: block;
    width: 100%;
    font-size: 14px;
    color: #333 !important;
    line-height: 20px;
    text-align: left;
    font-weight: 400;
    margin: 3px 0 0;
    background: url(../images/marker-new1a.svg) left 3px no-repeat;
    background-size: 16px 16px;
    padding:0 0 0 21px;
    /*white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;*/
}





.hospital-result-one .phone{
    display: block;
    width: 100%;
    font-size: 14px;
    color: #333 !important;
    line-height: 20px;
    text-align: left;
    font-weight: 400;
    margin:5px 0 0;
    background: url(../images/phone-new2a.svg) 1px 3px no-repeat;
    background-size: 13px 13px;
    padding:0 0 0 21px;
}

.hospital-result-one .rooms{
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin:10px 0 0;
}

.hospital-result-one .room-one{
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
}

.hospital-result-one .room-one .label{
    color: #111;
    font-weight: 400;
}

.hospital-result-one .room-one .data{
    color: #111;
    font-weight: 600;
}

/* 좌측 상세 정보 패널 (사이드 패널 우측) */
.detail-panel {
    position: fixed;
    top: 0;
    left: 350px;
    z-index: 1001;
    width: 100%;
    max-width: 350px;
    background: #fff;
    box-shadow: 10px 0 10px rgba(0,0,0,0.15);
    height: 100vh;
    height: 100dvh;
    transform: translateX(-100%);
    transition: transform 0.3s ease, left 0.3s ease;
}

.detail-panel.open {
    transform: translateX(0);
}

.detail-close {
    position: absolute;
    right: 12px;
    top: 10px;
    width: 40px;
    height: 40px;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    transition: all 0.2s;
    z-index: 1002;
}

.detail-close:hover {
    background: transparent;
    color: white;
    opacity: 0.8;
}

.detail-content {
    padding: 0;
    height: 100%;
    overflow-y: scroll;
}

.detail-content h2 {
    margin: 0 0 20px 0;
    color: #202124;
    font-size: 20px;
    font-weight: 500;
    padding-bottom: 16px;
    border-bottom: 2px solid #e8eaed;
}

.detail-section {
    margin:42px 0 0;
}

.detail-section:first-child{margin:0}

.detail-section h4 {
    margin: 0 0 15px;
    color: #111;
    font-size: 17px;
    font-weight: 500;
    line-height: 26px;
}

.detail-item {
    display: flex;
    padding: 12px 0;
    border-bottom: 1px solid #f1f3f4;
}

.detail-item:last-child {
    border-bottom: none;
}

.detail-label {
    min-width: 130px;
    color: #333;
    font-size: 14px;
    font-weight: 400;
}

.detail-value {
    flex: 1;
    color: #202124;
    font-size: 14px;
    text-align: right;
}

.detail-value strong {
    color: #ea4335;
    font-weight: 600;
}





.txtHere{
    font-size: 13px;
    font-weight: #111 !important;
    line-height: 1;
}


.detailTop{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding:50px 28px 20px 30px;
    min-height: 130px;
    align-items: end;
    justify-content: start;
    background: linear-gradient(135deg, #004a8f 0%, #003873 50%, #002d5a 100%);
    gap:0;
    position: sticky;
    left: 0;
    top:0;
    z-index: 100;
}

.detailTop h3{
    display: block;
    width: 100%;
    color:#fff;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    text-align: left;
    margin:12px 0 0;
}

.detailTop .updatedTime{
    display: inline-block;
    color:#fff;
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    text-align: left;
    margin:3px 0 0;
}

.detailTop .dtType{
    display: inline-block;
    padding:3px 10px;
    border-radius: 20px;
    font-size: 13px;
    background: rgba(255,255,255,0.8);
    text-align: left;
    font-weight: 500;
    color:#003873!important;
}

.detailTop .row2{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    align-items: center;
    gap:10px;
    margin:12px 0 0;
}




.detailContent{
    display: block;
    padding:26px 28px 28px 30px;
}

.detailContent2{
    display: block;
    padding:26px 28px 28px 30px;
}

.detail-content{
    
}


.detail-content::-webkit-scrollbar{
    width: 6px;
    height:6px;
}

.detail-content::-webkit-scrollbar-thumb{
    background: rgba(0,0,0,0.15);
    border-radius: 3px;
}

.detail-content::-webkit-scrollbar-track{
    background: rgba(0,0,0,0.07);
}


.detailRow2{
    display: block;
    width: 100%;
    padding:20px 28px 10px 30px;
}

.detailRow2 .dtAddress{
    display: block;
    width: 100%;
    font-size: 14px;
    line-height: 20px;
    text-align: left;
    font-weight: 400;
    color: #333 !important;
    background: url(../images/marker-new1a.svg) left 3px no-repeat;
    background-size: 16px 16px;
    padding:0 0 0 21px;
}

.detailRow2 .dtPhone{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    font-size: 14px;
    color: #333 !important;
    line-height: 20px;
    text-align: left;
    font-weight: 400;
    margin: 5px 0 0;
    gap:0 14px;
    background: url(../images/phone-new2a.svg) 1px 3px no-repeat;
    background-size: 13px 13px;
    padding:0 0 0 21px;
}

.detailRow2 .dtPhone .pnum2{
    color:#333;
    position: relative;
}

.detailRow2 .dtPhone .pnum2:before{
    content: "";
    position: absolute;
    left: -7px;
    top:5px;
    width: 1px;
    height: 12px;
    transform: rotate(23deg);
    background: #c0c0c0;
}


.dtButtons{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: start;
    /*border-top:1px solid #e0e0e0;*/
    /*border-bottom:1px solid #e0e0e0;*/
    margin:20px 0 0;
    padding:0 0 5px;    
    gap:10px;
}

.dtButtons a{
    display: flex;
    width: calc((100% - 20px) / 3);
    padding:16px 0 10px;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    border:1px solid #dadce0;
    border-radius: 8px;
}

.dtButtons a:hover{
    border:1px solid #c0c0c0;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
}

.dtButtons a .icon{
    display: block;
    width: 20px;
    height: 20px;
}

.dtButtons .mapButton .icon{
    background: url(../images/way.svg) center no-repeat;
    background-size: 20px 20px;
}

.dtButtons .phoneButton1 .icon{
    background: url(../images/phone_1_20x20b.webp) center no-repeat;
    background-size: 20px 20px;
}

.dtButtons .phoneButton2 .icon{
    background: url(../images/phone_2_20x20b.webp) center no-repeat;
    background-size: 20px 20px;
}


/*.dtButtons a + a:before{
    content: "";
    position: absolute;
    display: block;
    width: 1px;
    height: 80px;
    background: #e0e0e0;
    top:20px;
    left: -1px;
}*/

.dtButtons a .txt{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    /*align-items: center;*/
    /*height: 30px;*/
    width: 100%;
    font-size: 13px;
    font-weight: 500;
    color:#111 !important;
    line-height: 24px;
    letter-spacing: -0.5px;
    text-align: center;
    margin:5px 0 0;
}

.line1a{
    display: block;
    width: 100%;
    height: 10px;
    background: #f0f0f0;
}


.homeH4a{
    background: url(../images/c119-hospital-bed.svg) left no-repeat;
    background-size: 24px 24px;
    padding:0 0 0 30px;
}

.homeH4b{
    background: url(../images/c119-hospital.svg) left no-repeat;
    background-size: 22px 22px;
    padding:0 0 0 30px;
}









/*#######################################*/
@media screen and (max-width: 1600px) {

    
    
} /*반응형 1600px 끝*/


/*#######################################*/
@media screen and (max-width: 1500px) {

    
    
} /*반응형 1500px 끝*/


/*#######################################*/
@media screen and (max-width: 1400px) {

    
    
} /*반응형 1400px 끝*/


/*#######################################*/
@media screen and (max-width: 1300px) {

    
    

} /*반응형 1300px 끝*/


/*#######################################*/
@media screen and (max-width: 1280px) {


    .panel-content h1{
        margin:0;
    }

    .homeButton{
        width: 130px;
    }

    .side-panel{
        max-width: 100%;
        height: auto;
    }

    .panel-content{
        padding:0 20px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        flex-direction: row;
        align-items: center;
        height: 70px;
    }

    .searchRow{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: calc(100% - 150px);
        max-width: 500px;
    }

    .search-box-side{
        width: calc(100% - 114px);
        margin:0;
        gap: 8px;
        padding: 0 12px;
    }

    /*.search-box-side .search-icon {
        width: 16px;
        height: 16px;
    }

    

    .search-box-side .search-clear {
        width: 20px;
        height: 20px;
        min-width: 20px;
        font-size: 14px;
    }*/


    

    .filter-select-side{
        display: none;
    }

    .filter-select-side.active{
        display: block;
        position: fixed;
        right:528px;
        width: 130px;
        top:16px;
        z-index: 5000;
    }

    .search-actions{
        width: 106px;
    }

    .btn-refresh-side{
        width: 100%;
    }

    .search-box-side{
        height: 38px;
    }




    /*하단 버튼화*/
    .hospital-amount-title{
        position: fixed;
        left: 0;
        bottom:0;
        width: 100%;
        background: #fff;
        text-align: center;
        border-radius: 20px 20px 0 0;
        cursor: pointer !important;
        box-shadow: 0 -3px 10px rgba(0,0,0,0.1);
        padding:0 20px;
        line-height: 54px;
        font-size: 15px;
        z-index: 2000;

        /*color:#d91d23 !important;*/
    }

    .hospital-amount-title:after{
        content: " · 보기";
        color:var(--red) !important;
        font-weight: 700;
    }

    .hospital-amount-title.active:after{
        content: " · 목록닫기";
        color:var(--red) !important;
        font-weight: 700;
    }

    .hospital-result-list{
        display: none;
    }

    .hospital-result-list.active{
        display: block;
        width: 100%;
        transform: translateX(0);
        position: fixed;
        z-index: 1500;
        background: #fff;
        left: 0;
        bottom:0;
        height: calc(100vh - 70px);
        height: calc(100dvh - 70px);
        padding:10px 0 70px;
        overflow-y: scroll;
        /*border-radius: 10px 10px 0 0;*/
    }


    .side-panel.active .panel-content{
        /*flex-direction: column;*/
        background: #fff;
    }

    .side-panel.active .panel-content{}


    .detail-panel{
       max-width: 100%;
       transform: translateX(-120%);
       margin-left: -350px;
       z-index: 10000 !important;
    }

    .buttonMaps{
        bottom:54px !important;
    }

    .leaflet-control-attribution.leaflet-control{
        display: none !important;
    }







    .detailTop{
        padding:50px 24px 20px;
    }

    .detailRow2{
        padding:20px 24px 10px;
    }

    .detailContent{
        padding:26px 24px;
    }

    .detailContent2{
        padding:26px 24px;
    }
    
} /*반응형 1280px 끝*/


/*#######################################*/
@media screen and (max-width: 1100px) {

    
    
} /*반응형 1100px 끝*/


/*#######################################*/
@media screen and (max-width: 1000px) {

   


    
} /*반응형 1000px 끝*/


/*#######################################*/
@media screen and (max-width: 900px) {

    .searchRow{
        max-width: 350px;
    }
    

    .filter-select-side.active{
        right: 378px;
    }
} /*반응형 900px 끝*/


/*#######################################*/
@media screen and (max-width: 800px) {


} /*반응형 800px 끝*/


/*#######################################*/
@media screen and (max-width: 700px) {

    .homeButton{
        width: 100px;
    }

    .panel-content h1 {
        width: 100px;
        height: 25px;
        background: url(../images/c119.webp) center no-repeat;
        background-size: 100px 25px;
    }

    .search-actions{
        width: 40px;
    }

    .searchRow {
        max-width: 280px;
    }

    .filter-select-side.active{
        right: 308px;
    }

    .search-box-side {
        width: calc(100% - 48px);
        margin: 0;
        gap: 6px;
        padding: 0 10px;
    }

    /*.search-box-side .search-icon {
        width: 16px;
        height: 16px;
    }

    .search-box-side input {
        font-size: 12px;
    }

    .search-box-side input::placeholder {
        font-size: 12px;
    }*/

    .search-box-side .search-clear {
        width: 18px;
        height: 18px;
        min-width: 18px;
        font-size: 12px;
        padding: 2px;
    }

    .btn-refresh-side{
        font-size: 0;
        width: 40px;
        padding:10px 11px;
    }
    

} /*반응형 700px 끝*/



/*#######################################*/
@media screen and (max-width: 600px) {

    .filter-select-side.active{
        font-size: 12px;
        letter-spacing: -0.5px;
        padding: 0 23px 0 8px;
        height: 38px;
        width: auto !important;
        background-position: right 6px center;
    }
    
} /*반응형 600px 끝*/


/*#######################################*/
@media screen and (max-width: 550px) {

    .searchRow{
        width: 240px;
        gap: 6px;
    }

    .search-box-side {
        width: calc(100% - 46px);
    }

    .filter-select-side.active {
        right: 266px;
    }
    
} /*반응형 600px 끝*/



/*#######################################*/
@media screen and (max-width: 500px) {

    

    


    

    .searchRow{
        width: 200px;
        gap: 6px;
    }

    .search-box-side {
        width: calc(100% - 46px);
    }

    .filter-select-side.active {
        right: 226px;
    }


} /*반응형 500px 끝*/



/*#######################################*/
@media screen and (max-width: 454px) {
    
    .panel-content{
        justify-content: center;
        gap:7px;
        padding:12px 20px 10px;
        width: 100%;
        height: 94px;
    }

    .side-panel.active .panel-content:after{
        content: "";
        position: fixed;
        z-index: 900;
        background: #fff;
        width: 100%;
        height: 50px;
        top:93px;
        left: 0;
    }

    .searchRow{
        max-width: 100%;
        width: 100%;
    }

    .hospital-result-list.active{
        height: calc(100vh - 142px);
        height: calc(100dvh - 142px);
        padding:0 0 70px;
    }

    .filter-select-side.active{
        right: auto;
        left: 20px;
        top:96px;
        width: calc(100% - 40px) !important;
        font-size: 14px;
    }

} /*반응형 400px 끝*/


/*#######################################*/
@media screen and (max-width: 370px) {

    
} /*반응형 370px 끝*/


/*#######################################*/
@media screen and (max-width: 340px) {


} /*반응형 340px 끝*/


/*#######################################*/
@media screen and (max-width: 320px) {
    
    
} /*반응형 320px 끝*/


/*#######################################*/
@media screen and (max-width: 300px) {

    
} /*반응형 300px 끝*/

/* 마커 스타일 */
.marker-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.marker-circle {
    position: relative;
    z-index: 1;
}

.marker-label {
    position: relative;
    z-index: 2;
    pointer-events: none;
    user-select: none;
}

.custom-marker.selected .marker-circle {
    animation: markerPulse 2s ease-in-out infinite;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5), 0 0 0 4px rgba(66, 133, 244, 0.3) !important;
}

@keyframes markerPulse {
    0%, 100% {
        transform: scale(1.4);
    }
    50% {
        transform: scale(1.5);
    }
}

