@charset "utf-8";

/* ===== 전체검색 스킨 ===== */

/* 폼 래퍼 */
form[name="fsearch"] {
    max-width: 100%;
    overflow: hidden;
}

/* 검색 폼 컨테이너 */
#sch_res_detail {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--space-3, 12px);
    margin: 0 0 var(--space-5, 20px);
    padding: var(--space-5, 20px) var(--space-4, 16px);
    background: var(--color-bg-gray, #f5f5f5);
    border: 1px solid var(--color-border, #e0e0e0);
    border-radius: var(--radius-md, 8px);
    max-width: 100%;
    box-sizing: border-box;
}
#sch_res_detail legend {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

/* 셀렉트 박스 */
#sch_res_detail select {
    height: 46px;
    padding: 0 var(--space-4, 16px);
    padding-right: 40px;
    border: 1px solid var(--color-border, #e0e0e0);
    border-radius: var(--radius-md, 8px);
    font-size: var(--font-size-sm, 14px);
    font-family: inherit;
    color: var(--color-text, #333);
    background: #fff url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23666"><path d="M7 10l5 5 5-5z"/></svg>') no-repeat right 12px center;
    background-size: 20px;
    cursor: pointer;
    transition: border-color var(--transition-fast, 150ms ease), box-shadow var(--transition-fast, 150ms ease);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    flex-shrink: 0;
}
#sch_res_detail select:focus {
    outline: none;
    border-color: var(--color-secondary, #2196F3);
    box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);
}
#sch_res_detail select:hover {
    border-color: var(--color-border-dark, #bdbdbd);
}

/* 검색어 입력 래퍼 */
#sch_res_detail .sch_wr {
    display: flex;
    align-items: stretch;
    position: relative;
    flex: 1;
    min-width: 0;
}

/* 검색어 입력 필드 */
#sch_res_detail .frm_input {
    flex: 1;
    min-width: 0;
    height: 46px;
    padding: 0 var(--space-4, 16px);
    border: 1px solid var(--color-border, #e0e0e0);
    border-radius: var(--radius-md, 8px) 0 0 var(--radius-md, 8px);
    border-right: none;
    font-size: var(--font-size-sm, 14px);
    font-family: inherit;
    color: var(--color-text, #333);
    background: #fff;
    transition: border-color var(--transition-fast, 150ms ease), box-shadow var(--transition-fast, 150ms ease);
    box-sizing: border-box;
}
#sch_res_detail .frm_input:focus {
    outline: none;
    border-color: var(--color-secondary, #2196F3);
    box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);
    position: relative;
    z-index: 1;
}
#sch_res_detail .frm_input::placeholder {
    color: var(--color-text-muted, #999);
}

/* 검색 버튼 */
#sch_res_detail .btn_submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2, 8px);
    height: 46px;
    padding: 0 var(--space-4, 16px);
    background: var(--color-text, #333);
    border: none;
    border-radius: 0 var(--radius-md, 8px) var(--radius-md, 8px) 0;
    font-size: var(--font-size-sm, 14px);
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    transition: background var(--transition-fast, 150ms ease), transform var(--transition-fast, 150ms ease);
    flex-shrink: 0;
    white-space: nowrap;
}
#sch_res_detail .btn_submit:hover {
    background: var(--color-secondary, #2196F3);
}
#sch_res_detail .btn_submit:active {
    transform: scale(0.98);
}
#sch_res_detail .btn_submit i {
    font-size: 14px;
}

/* AND/OR 토글 버튼 */
.switch_field {
    display: inline-flex;
    align-items: stretch;
    border-radius: var(--radius-md, 8px);
    overflow: hidden;
    border: 1px solid var(--color-border, #e0e0e0);
    background: #fff;
    flex-shrink: 0;
}
.switch_field input {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    pointer-events: none;
}
.switch_field label {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 50px;
    height: 44px;
    padding: 0 var(--space-3, 12px);
    margin: 0;
    font-size: var(--font-size-sm, 14px);
    font-weight: 500;
    color: var(--color-text-light, #666);
    background: #fff;
    cursor: pointer;
    transition: all var(--transition-fast, 150ms ease);
    border: none;
    box-shadow: none;
}
.switch_field label:first-of-type {
    border-right: 1px solid var(--color-border, #e0e0e0);
    border-radius: 0;
}
.switch_field label:last-of-type {
    border-radius: 0;
}
.switch_field label:hover {
    background: var(--color-bg-gray, #f5f5f5);
    color: var(--color-text, #333);
}
.switch_field input:checked + label {
    background: var(--color-secondary, #2196F3);
    color: #fff;
    border-color: var(--color-secondary, #2196F3);
    box-shadow: none;
}

/* ===== 검색 결과 요약 ===== */
#sch_res_ov {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--space-3, 12px);
    margin-bottom: var(--space-4, 16px);
    padding: var(--space-4, 16px) var(--space-5, 20px);
    background: linear-gradient(135deg, #e3f2fd 0%, #f3e5f5 100%);
    border: 1px solid var(--color-border, #e0e0e0);
    border-radius: var(--radius-md, 8px);
}
#sch_res_ov h2 {
    margin: 0;
    font-size: var(--font-size-lg, 18px);
    font-weight: 600;
    color: var(--color-text, #333);
}
#sch_res_ov h2 strong {
    color: var(--color-secondary, #2196F3);
}
#sch_res_ov ul {
    display: flex;
    align-items: center;
    gap: var(--space-3, 12px);
    margin: 0;
    padding: 0;
    list-style: none;
}
#sch_res_ov li {
    position: relative;
    padding-right: var(--space-3, 12px);
    font-size: var(--font-size-sm, 14px);
    color: var(--color-text-light, #666);
}
#sch_res_ov li::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 12px;
    background: var(--color-border-dark, #bdbdbd);
}
#sch_res_ov li:last-child {
    padding-right: 0;
}
#sch_res_ov li:last-child::after {
    display: none;
}

/* ===== 게시판 필터 탭 ===== */
#sch_res_board {
    margin-bottom: var(--space-5, 20px);
}
#sch_res_board h2 {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}
#sch_res_board ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2, 8px);
    margin: 0;
    padding: 0;
    list-style: none;
}
#sch_res_board li {
    display: inline-block;
}
#sch_res_board a {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1, 4px);
    padding: var(--space-2, 8px) var(--space-4, 16px);
    border: 1px solid var(--color-border, #e0e0e0);
    border-radius: 20px;
    font-size: var(--font-size-sm, 14px);
    color: var(--color-text-light, #666);
    text-decoration: none;
    background: #fff;
    transition: all var(--transition-fast, 150ms ease);
}
#sch_res_board a:hover {
    border-color: var(--color-secondary, #2196F3);
    color: var(--color-secondary, #2196F3);
    background: rgba(33, 150, 243, 0.05);
}
#sch_res_board .sch_on {
    background: var(--color-secondary, #2196F3);
    border-color: var(--color-secondary, #2196F3);
    color: #fff;
    font-weight: 600;
    box-shadow: none;
}
#sch_res_board .cnt_cmt {
    font-size: var(--font-size-xs, 12px);
    font-weight: 500;
    color: var(--color-secondary, #2196F3);
}
#sch_res_board .sch_on .cnt_cmt {
    color: rgba(255, 255, 255, 0.8);
}

/* ===== 검색 결과 목록 ===== */
.sch_res_list {
    margin-bottom: var(--space-5, 20px);
}
.sch_res_list .search_board_result {
    position: relative;
    margin-bottom: var(--space-5, 20px);
    padding: var(--space-5, 20px);
    background: #fff;
    border: 1px solid var(--color-border, #e0e0e0);
    border-radius: var(--radius-md, 8px);
}
.sch_res_list h2 {
    margin: 0 0 var(--space-4, 16px);
    padding-bottom: var(--space-3, 12px);
    border-bottom: 2px solid var(--color-secondary, #2196F3);
    font-size: var(--font-size-lg, 18px);
    font-weight: 600;
    color: var(--color-text, #333);
}
.sch_res_list h2 a {
    color: inherit;
    text-decoration: none;
}
.sch_res_list h2 a:hover {
    color: var(--color-secondary, #2196F3);
}
.sch_res_list ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.sch_res_list li {
    padding: var(--space-4, 16px) 0;
    border-bottom: 1px solid var(--color-border, #e0e0e0);
}
.sch_res_list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.sch_res_list li:first-child {
    padding-top: 0;
}

/* 검색 결과 제목 */
.sch_res_list .sch_tit {
    display: flex;
    align-items: center;
    gap: var(--space-2, 8px);
    margin-bottom: var(--space-2, 8px);
}
.sch_res_title {
    font-size: var(--font-size-base, 16px);
    font-weight: 500;
    color: var(--color-text, #333);
    text-decoration: none;
    transition: color var(--transition-fast, 150ms ease);
}
.sch_res_title:hover {
    color: var(--color-secondary, #2196F3);
}
.sch_res_list .cmt_def {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-primary, #8BC34A);
    font-size: var(--font-size-xs, 12px);
}
.sch_res_list .pop_a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--color-bg-gray, #f5f5f5);
    color: var(--color-text-muted, #999);
    font-size: 12px;
    text-decoration: none;
    transition: all var(--transition-fast, 150ms ease);
}
.sch_res_list .pop_a:hover {
    background: var(--color-secondary, #2196F3);
    color: #fff;
}

/* 검색 결과 내용 */
.sch_res_list p {
    margin: 0 0 var(--space-3, 12px);
    font-size: var(--font-size-sm, 14px);
    color: var(--color-text-light, #666);
    line-height: 1.6;
    word-break: break-all;
    overflow-wrap: break-word;
}

/* 검색 결과 정보 */
.sch_res_list .sch_info {
    display: flex;
    align-items: center;
    gap: var(--space-3, 12px);
    font-size: var(--font-size-xs, 12px);
    color: var(--color-text-muted, #999);
}
.sch_res_list .sch_datetime {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.sch_res_list .profile_img img {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    vertical-align: middle;
}

/* 더보기 링크 */
.sch_more {
    position: absolute;
    top: var(--space-5, 20px);
    right: var(--space-5, 20px);
    padding: var(--space-2, 8px) var(--space-3, 12px);
    border: 1px solid var(--color-secondary, #2196F3);
    border-radius: var(--radius-sm, 4px);
    font-size: var(--font-size-xs, 12px);
    font-weight: 500;
    color: var(--color-secondary, #2196F3);
    text-decoration: none;
    transition: all var(--transition-fast, 150ms ease);
}
.sch_more:hover {
    background: var(--color-secondary, #2196F3);
    color: #fff;
}

/* 빈 결과 */
.empty_list {
    padding: var(--space-8, 40px) var(--space-5, 20px);
    text-align: center;
    font-size: var(--font-size-base, 16px);
    color: var(--color-text-muted, #999);
    background: var(--color-bg-gray, #f5f5f5);
    border-radius: var(--radius-md, 8px);
}

/* 구분선 숨김 */
#sch_result hr {
    display: none;
}

/* ===== 페이지네이션 ===== */
.pg_wrap {
    display: flex;
    justify-content: center;
    margin: var(--space-6, 24px) 0;
}
.pg {
    display: flex;
    align-items: center;
    gap: var(--space-1, 4px);
}
.pg_current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 var(--space-2, 8px);
    background: var(--color-secondary, #2196F3);
    border-radius: var(--radius-md, 8px);
    font-size: var(--font-size-sm, 14px);
    font-weight: 600;
    color: #fff;
}
.pg_page {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 var(--space-2, 8px);
    background: #fff;
    border: 1px solid var(--color-border, #e0e0e0);
    border-radius: var(--radius-md, 8px);
    font-size: var(--font-size-sm, 14px);
    color: var(--color-text-light, #666);
    text-decoration: none;
    transition: all var(--transition-fast, 150ms ease);
}
.pg_page:hover {
    border-color: var(--color-secondary, #2196F3);
    color: var(--color-secondary, #2196F3);
    background: rgba(33, 150, 243, 0.05);
}
.pg_prev,
.pg_next,
.pg_start,
.pg_end {
    font-size: var(--font-size-xs, 12px);
    color: var(--color-text-muted, #999);
}
.pg_prev:hover,
.pg_next:hover,
.pg_start:hover,
.pg_end:hover {
    color: var(--color-secondary, #2196F3);
    border-color: var(--color-secondary, #2196F3);
}

/* ===== 반응형 ===== */
@media (max-width: 768px) {
    #sch_res_detail {
        flex-wrap: wrap;
    }
    #sch_res_detail select {
        flex: 1;
        min-width: calc(50% - var(--space-3, 12px) / 2);
    }
    #sch_res_detail .sch_wr {
        width: 100%;
        flex: none;
    }
    .switch_field {
        width: auto;
        flex-shrink: 0;
    }
    #sch_res_ov {
        flex-direction: column;
        text-align: center;
    }
    #sch_res_ov ul {
        justify-content: center;
    }
    .sch_more {
        position: static;
        display: inline-block;
        margin-top: var(--space-3, 12px);
    }
    .sch_res_list h2 {
        padding-right: 0;
    }
}
