/* cfMap-layout.jsp 19-81, 84-404 에서 분리 (W-02) */

    
    /* 미연동 위치 마커 */
    .blinking-marker {
        width           : 32px;
        height          : 32px;
        background      : url("../../../css/assets/images/marker-blue.png") no-repeat center center;
        background-size : contain;
        animation       : blink-fade 2s infinite;
    }
    @keyframes blink-fade {
        0%, 100% { opacity: 1; }
        50% { opacity: 0; }
    }
    
    .sub-desc {
        width       : 100%;         /* 한 줄 전체 차지 */
        clear       : both;         /* 위 요소와 분리 */
        color       : #646465;      /* 빨간색 */
        margin      : 3px 0 0 28px !important; /* 들여쓰기 맞춤 */
        display     : block !important;        /* 줄바꿈 */
        font-size   : 13px;
        line-height : 1;
        font-weight : bold;
    }
    
    /* 제설봉사신청 */
    .snow-remove-warp {
        width : 100%;
    }
    .snow-remove-label {
        width       : 100%;
        display     : flex;
        align-items : center;
    }
    .snow-remove-reg-btn {
        color            : #fff;
        border           : none;
        cursor           : pointer;
        padding          : 2px 8px;
        font-size        : 14px;
        transition       : background-color 0.3s ease;
        margin-left      : auto;
        border-radius    : 4px;
        background-color : #007bff;
    }
    .snow-remove-reg-btn:hover {
        background-color : #355389;
    }

    @media screen and (max-width: 767px) {
        /* GPR / 지반침하 텍스트를 두 줄로 */
        .menu-2line {
            display: inline-block;   /* 폭을 줄이기 위해 inline-block */
            max-width: 60px;         /* 폭을 강제로 줄여서 공백에서 줄바꿈 */
            white-space: normal;     /* 줄바꿈 허용 */
            word-break: keep-all;    /* 단어 중간이 아니라 공백 기준으로 줄바꿈 */
            text-align: center;      /* 두 줄 중앙 정렬 (선택 사항) */
            line-height: 1.2;
        }
    }


    
    /* 검색 영역 색상 맞추기 위함 */
    .header { box-shadow : unset !important; }
    #totalSearch {
        gap           : 14px;
        width         : 100%;
        color         : #666;
        height        : 60px;
        cursor        : pointer;
        padding       : 8px;
        display       : flex;
        font-size     : 18px;
        background    : white;
        box-sizing    : border-box;
        align-items   : center;
        border-radius : 10px;
    }
    @media screen and (max-width: 850px) {
        #totalSearch {
            height  : 45px;
            padding :  5px 5px 2px 5px;
        }
        #totalSearch i img {
            width  : 35px;
            height : 35px;
        }
    }
    
    /* 주소검색 */
    .search-area {
        width      : 100%;
        height     : 100%;
        background : #FAFAFA;
        box-sizing : border-box;
        overflow   : hidden;
        display    : none;
    }
    .search-type-area {
        gap              : 2px;
        border           : 1px solid #355389;
        padding          : 3px 0px;
        display          : flex;
        align-items      : center;
        justify-content  : center;
        background-color : #355389;
    }
    .search-type-btn {
        color       : #fff;
        width       : calc(100% /4);
        height      : 25px;
        padding     : 5px 15px;
        display     : block;
        background  : none;
        text-align  : center;
        line-height : 1.6;
        font-weight : 500;
        font-size   : 14px;
    }
    .search-type-btn.on {
        color         : #fff;
        border        : solid 0px #1b305d;
        background    : #1b305d;
        border-radius : 7px;
    }
    .search-type-btn:hover:not(.on) {
        color         : #fff;
        background    : #2a4472;
        border-radius : 7px;
    }
    .search-text-area {
        border          : 1px solid #355389;
        display         : flex;
        padding         : 3px 0px;
        background      : #355389;
        align-items     : center;
        justify-content : space-evenly;
    }
    .search-text {
        flex: 1;
        height: 100%;
        border: none;
        outline: none;
        font-size: 14px;
        padding: 0 8px;
        background: transparent;
    }
    .search-btn {
        width: 24px;
        height: 24px;
        background: url("../../../css/assets/images/btnSearch_gray.png") no-repeat center;
        background-size: 18px 18px;
        border: none;
        cursor: pointer;
    }
    .styled-select {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;

        border: none;
        background-color: transparent;
        font-weight: bold;
        font-size: 14px;
        color: #222;
        padding: 6px 24px 6px 6px;
        border-radius: 0;
        cursor: pointer;

        background-image: url("../../../css/assets/images/i_search_detail_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 4px center;
        background-size: 10px;
    }
    
    /* 포커스 시 스타일 */
    .styled-select:focus {
        outline: none;
        box-shadow: 0 0 0 2px rgba(226, 92, 92, 0.4);
    }
    .search-btn:hover { background-color : transparent !important; }
    .search-guide-area {
        margin  : 10px 10px 0;
        display : flex;
        justify-content : space-between;;
    }
    .search-result {
        display     : inline;
        padding     : 5px 0 10px 0;
        font-size   : 14px;
        font-weight : 600;
    }
    .search-result-count {
        color          : #355389;
        vertical-align : baseline;
    }
    .total-count { line-height : 20px; }
    .text-bolder { font-weight : bolder !important; color : #355389; }
    .back-pointer { cursor : pointer; }
    .back-pointer span { vertical-align : middle; }
    .back-pointer img  { vertical-align : middle; width : 20px; }
    
    /* 주소검색 데이터 영역(포괄) */
    .search-not-found {
        color       : #777;
        margin      : 15px;
        height      : 45px;
        text-align  : center;
        line-height : 3;
    }
    .search-data-more-area { justify-items : center; }
    .search-data-more {
        width            : 50%;
        height           : 25px !important;
        margin           : 5px 5px 15px 5px;
        display          : block;
        text-align       : center;
        line-height      : 25px;
        border-radius    : 5px;
        background-color : #77777777;
        transition       : background-color 0.3s ease, color 0.3s ease;
    }
    .search-data-more:hover {
        color            : whitesmoke;
        cursor           : pointer;
        background-color : #777777;
        transition       : background-color 0.3s ease, color 0.3s ease;
    }
    @media screen and (max-width: 850px) {
        .search-data-more { width : 100%; }
    }
    .search-result-cover {
        height     : calc(100vh - 218px);
        overflow-y : auto;
    }
    .search-result-area {
        height : calc(100vh - 287px);
        margin : 10px 5px;
    }
    .search-result-inner {
        margin         : 10px 0 15px 0;
        display        : flex;
        max-height     : 100%;
        border-bottom  : solid 1px #ddd;
        flex-direction : column;
    }
    .search-result-inner:last-of-type { border-bottom : none !important; }
    .search-result-text {
        margin          : 5px;
        display         : flex;
        justify-content : space-between;
    }
    .search-result-text > span:nth-child(1) { font-size : 17px; font-weight : 500; }
    .search-result-text > span:nth-child(2) { font-size : 14px; font-weight : 600; }
    .search-result-data {
        max-height : calc(100% - 25px);
        min-height : 85px;
        overflow-x : hidden;
        overflow-y : auto;
    }
    .search-result-data::-webkit-scrollbar-thumb { background-color: #355389; }
    .search-result-paging {
        width           : 100%;
        height          : 60px;
        display         : flex;
        margin-top      : -10px;
        align-items     : center;
        justify-content : center;
    }
    
    /* 주소검색 데이터 영역(세부) */
    .clr-black { color : black !important; }
    .resultList  {
        height     : auto !important;
        display    : block;
        padding    : 10px 5px;
        position   : relative;
        transition : all 0.2s ease 0s;
        border-top : #f2f7fd solid 1px;
    }
    .resultList .item { cursor : pointer; }
    .resultList .th {
        color          : white;
        width          : 40px;
        height         : 18px;
        margin         : 0 6px 0 0;
        padding        : 1px 0 0 0;
        display        : inline-block;
        font-size      : 12px;
        text-align     : center;
        background     : #355389;
        line-height    : 1.4em;
        letter-spacing : -1px;
        border-radius  : 3px;
        flex-shrink    : 0;
    }
    .resultList .la {
        color       : #777;
        padding-top : 2px;
    }
    .search-result-data .resultList:last-of-type { border-bottom : none !important; }
    .addressInfo {
        color          : #454753;
        display        : flex;
        font-size      : 14px;
        word-break     : keep-all;
        align-items    : flex-start;
        font-family    : 'Noto', 'Malgun Gothic', sans-serif;
        font-weight    : 500;
        padding-bottom : 3px;
    }
    
    /* 주소검색 페이징 */
    .paging-btn {
        width           : 30px;
        height          : 35px;
        margin          :  2px;
        border          :  1px solid #ccc;
        cursor          : pointer;
        display         : flex;
        padding         : 5px 10px;
        font-size       : 20px;
        background      : #fff;
        line-height     : 1;
        border-radius   : 3px;
        justify-content : center;
    }
    .paging-btn.not {
        cursor     : unset;
        opacity    : 0.5;
        background : lightgray;
    }
    .paging-active {
        color       : white;
        background  : #007bff;
        font-weight : bold;
    }
    .paging-number {
        width         : 30px;
        height        : 35px;
        margin        :  1px;
        padding       :  5px;
        background    : white;
        border-radius :  3px;
    }
    .paging-number.paging-active {
        color       : white;
        background  : #355389;
        font-weight : bold;
    }
    .paging-number-area { margin : 0px 10px; }
    
    /* 검색 입력창 전체 박스 */
    .search-box-wrapper {
        width         : 100%;
        height        : 40px;
        margin        : 0px 3px;
        border        : 1px solid #bcbcbc;
        display       : flex;
        padding       : 0 8px;
        background    : #fff;
        box-sizing    : border-box;
        align-items   : center;
        border-radius : 8px;
    }
    .search-guide-text {
        color       : #444;
        margin      : -80px 0 60px 0;
        padding     : 0 10px;
        font-size   : 15px;
        text-align  : -webkit-match-parent;
        font-weight : bold;
    }
    
    /* 메뉴 접힘 상태일 때 숨기기 */
    .menu-collapsed .search-guide-text { display : none; }
    @media screen and (max-width: 768px) {
        .search-guide-text { display : none !important; }
    }
    
