@charset "utf-8";

/* ================================================================================
   board-list (완료 — 2026-08 리스트 리디자인) ================================
   ================================================================================ */

/* .board-toolbar 는 board common.css 로 승격 (전 스킨 공용) */

/* board_basic — #board_wrap은 board.html의 빈 껍데기 컨테이너, 사이트 콘텐츠 영역 폭을 그대로 채움 */
#board_wrap {
    width: 100%;
    margin: 0 auto;
    height: auto;
    overflow: hidden
}

/* #board_list 리스트 테이블 규칙(table/thead/tbody/td)은 board common.css 로 이관 — 전 스킨 공용 (2026-08-28) */

/* 리스트 컬럼 너비 */
.t_num {
    width: 88px;
}

.t_title {
    width: calc(100% - 88px - 132px - 160px - 60px - 100px);
}

.t_date {
    width: 132px;
}

.t_user {
    width: 160px;
}

.t_file {
    width: 60px;
}

.t_hit {
    width: 100px;
}

/* ================================================================================
   board-view / board-comment (레거시 — 미착수) ==================================
   ================================================================================ */

/* 게시판 본문에 삽입되는 이미지 */
img.bbs_content_image {
    margin: 5px 0
}

/* ================================================================================
   board-form (진행중 — 글쓰기 폼 리디자인 착수) ==================================
   ================================================================================ */

.btn2 {
    display: inline-block;
    position: relative;
    min-width: 100px;
    margin-bottom: 2px;
    padding: 5px 10px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 28px;
    text-align: center;
    vertical-align: middle;
    color: var(--color-white);
    background: var(--color-gray700);
    border-radius: 5px;
    border: 1px solid var(--color-gray800) !important;
}

/* 게시판_라이트 (베이직타입) */
#board_write {
    margin-bottom: 20px;
    width: 99.9%;
    clear: both;
    border-top: 2px solid var(--color-border-board-header)
}

#board_write table {
    width: 100%;
    height: auto;
    border-collapse: collapse;
    border-width: 0;
    font-size: 13px;
    letter-spacing: -1px;
    text-align: left
}

#board_write tbody tr {
    color: var(--color-text-body)
}

#board_write tbody tr a {
    color: var(--color-text-link);
    padding-left: 4px
}

#board_write tbody th {
    border-bottom: 1px solid var(--color-border-header);
    color: var(--color-gray800);
    line-height: 60px;
    font-size: 15px;
    font-weight: 500;
    padding: 0 0px 0 7px
}

#board_write tbody td {
    border-bottom: 1px solid var(--color-border-header);
    border-left: 1px solid var(--color-border-base);
    letter-spacing: -.02em;
    font-size: 15px;
    padding: 6px 13px;
    line-height: 22px
}

#board_write tbody td .f_alert {
    font-size: 15px;
    font-weight: 500;
    padding: 5px 0 10px;
    letter-spacing: 0;
    display: block;
    color: var(--color-text-notice)
}

#board_write tbody td .board_view_contents {
    padding: 10px 0
}

#board_write .leftcell {
    border-left: none !important
}

#board_write .rightcell {
    border-right: none !important
}

#board_write label {
    font-size: var(--font-size-caption);
    font-weight: 500;
    letter-spacing: -1px
}

#board_write th:first-child,
#board_write td:first-child {
    border-left: none;
}

/* #board_btn .btn 최소폭은 board common.css(--btn-list-action-min-width)가 단일 관리 */

/* view.html 이전으로/수정/삭제 그룹 — justify-between 으로 마주보게 배치 */
#board_btn > div {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* .select_type은 _modules/board/assets/css/common.css로 승격(스킨 공용) */

#bs_notice_date {
    display: block;
}

.bbs_file_tip {
    width: 100%;
    overflow: hidden;
    background: var(--color-gray100);
    padding: 20px 30px;
    box-sizing: border-box;
    margin: 4px 0;
    text-align: left;
    border-radius: 4px;
}

.bbs_file_tip li {
    line-height: 24px;
    color: var(--color-text-body);
    position: relative;
    padding-left: 15px
}

.bbs_file_tip li:after {
    content: '';
    position: absolute;
    top: 14px;
    left: 0;
    width: 7px;
    height: 1px;
    background: var(--color-text-body)
}

.bbs_file_tip li span {
    color: var(--color-text-title1);
    font-weight: 400
}

/* 첨부파일 영역 */
#board_write div.bbs_file_ctl {
    width: 100%;
    height: auto;
    overflow: hidden;
}

#bbs_file_add {
    display: none;
}

.bbs_file_add_label {
    display: block;
    width: 100%;
    text-align: left;
    font-size: 2rem;
    line-height: 40px;
    font-weight: bold;
    color: var(--color-gray800);
    cursor: pointer;
}

.bbs_file_add_label::before {
    content: '+';
    display: inline-block;
    margin-right: 4px;
}

.bbs_file_add_label:hover {
    color: var(--color-text-notice);
}

.bbs_file_del_label {
    display: inline-block;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    position: relative;
    background-color: var(--color-gray300);
    border-radius: 4px;
    transition: all 0.35s ease;
}

.bbs_file_del_label::before,
.bbs_file_del_label::after {
    content: '';
    width: 2px;
    height: 16px;
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    background-color: var(--color-gray700);
    transition: all 0.35s ease;
}

.bbs_file_del_label::before {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.bbs_file_del_label::after {
    transform: translate(-50%, -50%) rotate(45deg);
}

.bbs_file_del_label:hover {
    background-color: var(--color-danger);
}

.bbs_file_del_label:hover::before,
.bbs_file_del_label:hover::after {
    background-color: var(--color-white);
}

.file_upload {
    display: none;
}

.file_upload_name {
    display: inline-block;
    flex-shrink: 0;
    width: 210px;
    line-height: 40px;
    height: 40px;
    background-color: var(--color-gray200);
    overflow: hidden;
    text-overflow: ellipsis;
}

.bbs_file_item {
    display: flex;
    align-items: center;
    gap: 10px;
    height: auto;
    margin-bottom: 10px;
}

.bbs_file_item:last-child {
    margin-bottom: 0;
}

.bbs_file_item .file_info_text {
    flex: 1;
}

#captcha_chk_label {
    width: calc(50%);
}

/* 웹에디터의 답변시 원본글 처리 */
blockquote.bbs_blockquot {
    padding-right: 0px;
    padding-left: 5px;
    margin-left: 5px;
    border-left: var(--color-black) 2px solid;
    margin-right: 0px
}

/* ================================================================================
   board-view (레거시 — 미착수, board-form 계속) ==================================
   ================================================================================ */

.board_view {
    padding-top: 30px
}

.board_view .title {
    font-size: 28px;
    letter-spacing: -1px;
    line-height: 35px;
    color: var(--color-text-title1);
    width: 100%;
    font-weight: 400;
    padding-bottom: 20px
}

/* 시각적으로만 숨김 — 스크린리더용 라벨(제목/작성자/작성일/조회) */
.blind {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
}

/* 첨부는 있어도 전부 이미지/동영상이면 루프에서 전부 continue되어 li 없는 빈 ul만 남음 —
   PHP 템플릿의 개행/공백이 텍스트 노드로 남아 :empty가 안 먹혀서 li 존재 여부로 직접 체크.
   글쓰기 폼의 업로드 영역(div#file_list)도 같은 id를 쓰고 li가 없으므로 반드시 ul로 한정 */
ul#file_list:not(:has(li)) {
    display: none;
}

ul#file_list li {
    display: flex;
    align-items: center;
    gap: 4px;
    width: 100%
}

.board_view .info {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
    padding: 16px 0;
    font-size: 16px;
    margin-bottom: 40px;
    color: var(--color-text-body)
}

.board_view .info li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    padding: 0 16px;
    border-right: 1px solid var(--color-gray300);
}

.board_view .info li:last-child {
    border-right: none;
}

.board_view .info li span {
    font-weight: 600;
    color: var(--color-text-title1);
}

.board_view .file {
    width: 100%;
    box-sizing: border-box;
    padding: 20px;
    border: 1px solid var(--color-gray300);
    margin-top: 30px
}

.board_view .file a.file_title {
    font-size: 16px;
    color: var(--color-text-body);
    line-height: 35px
}

.board_view .board_view_contents {
    box-sizing: border-box;
    padding: 20px 0;
    margin: 0 auto;
    line-height: 28px;
    font-size: 17px;
    border-bottom: 2px solid var(--color-gray300);
    min-height: 300px
}

.board_view .board_view_contents table td {
    border: 1px solid var(--color-gray800)
}

.board_view .board_view_contents img {
    width: auto;
    max-width: 100%;
    padding: 15px 0
}

.comment_wrap {
    padding: 50px 0 0px;
    overflow: hidden;
    clear: both;
    margin-top: 10px
}

#comment_wrap {
    position: relative;
    width: 100%;
    margin-top: 10px;
    padding: 20px;
    background: var(--color-gray100)
}

#comment_wrap textarea {
    padding: 20px;
    border: 1px solid var(--color-gray300);
    height: 100px;
    width: calc(100% - 115px);
    margin-top: 10px;
    resize: none
}

.comment_btn {
    position: absolute;
    right: 20px;
    bottom: 21px;
    margin-bottom: 0px;
    height: 100px
}

.star_rating {
    width: 95px
}

.star_rating,
.star_rating span {
    display: inline-block;
    height: 18px;
    overflow: hidden;
    background: url(/_modules/board/assets/img/star_rating.png)no-repeat
}

.star_rating span {
    background-position: left bottom;
    line-height: 0;
    vertical-align: top
}

.comment_write_wrap {
    width: 100%
}

.star {
    display: inline-block;
    width: 19px;
    height: 19px;
    cursor: pointer;
}

.star_left {
    background: url(/_modules/board/assets/img/star.png) no-repeat 0 0;
    background-size: 19px;
    margin-right: -10px;
}

.star_right {
    background: url(/_modules/board/assets/img/star.png) no-repeat -30px 0;
    background-size: 19px;
    margin-left: -10px;
}

.star.on {
    background-image: url(/_modules/board/assets/img/star_on.png);
}

/* .wfull_95/.wfull_100/.post_thumb_preview*/#bbs_captcha_img는
 * _modules/board/assets/css/common.css로 승격(스킨 공용) */

.bbs_content_video {
    width: 100%;
    height: 510px;
}

.comment_count {
    color: var(--color-danger);
    font-weight: bold;
    margin-left: 5px;
    font-size: 12px;
}

/* ============== 레거시 반응형 ============== */
@media screen and (max-width:900px) {
    .select_type {
        width: 100%;
    }

    .board_view {
        width: 100%
    }

    .board_view .title {
        font-size: 20px;
        line-height: 28px
    }

    .board_view_contents .image img {
        width: 100%
    }

    .board_view .info {
        font-size: 14px
    }

    .board_view .title {
        padding: 0 20px 13px 20px;
        box-sizing: border-box
    }

    .board_view .board_view_contents {
        width: auto
    }

    .board_view .board_view_contents img {
        width: auto;
        max-width: 100%
    }

    .board_view_contents p img {
        width: auto !important;
        max-width: 100%
    }

    .bbs_file_item .file_info_text {
        display: block;
        width: calc(100% - 50px);
        margin-left: 0;
    }

    .file_upload,
    .file_upload_name {
        margin-bottom: 10px;
    }

    .file_upload_name {
        width: calc(100% - 130px);
    }

    .board_view .board_view_contents table {
        width: 100% !important
    }
}

@media print {
    .board_view {
        width: 100%
    }

    .board_view .title {
        display: block;
        width: 700px;
        min-width: 100%;
        font-size: 20px;
        line-height: 30px
    }

    .board_view .info {
        font-size: 12px
    }

    .board_view .file a.file_title {
        font-size: 12px
    }

    .board_view .board_view_contents {
        font-size: 12px;
        line-height: 21px
    }
}

@media screen and (max-width:1150px) {
    .board_view {
        width: 100%
    }
}

@media screen and (max-width:700px) {
    #board_write tbody th {
        width: 100%;
        display: block;
        box-sizing: border-box;
        padding: 5px 0;
        overflow: hidden;
        line-height: 24px;
        border-bottom: 1px solid var(--color-border-header);
    }

    #board_write tbody td {
        width: 100%;
        display: block;
        box-sizing: border-box;
        border: none;
        padding: 5px 5px;
        margin-bottom: 12px;
    }

    #board_write .input_type {
        width: 100%;
        box-sizing: border-box
    }

    #board_write tbody td .f_alert {
        font-size: 14px
    }

    #board_btn {
        flex-wrap: wrap;
        gap: 8px;
    }

    #board_btn .btn {
        min-width: 0;
        flex: 1 1 auto;
    }

    /* 답변/수정/삭제 그룹 — wrap으로 목록과 분리된 자기 줄에서 폭 100% 채우고,
     * 안의 버튼 3개는 flex-basis:0으로 정확히 1/3씩 균등분배(auto는 라벨 길이 따라 오차) */
    #board_btn .board-view__button-group {
        width: 100%;
    }

    #board_btn .board-view__button-group .btn {
        flex: 1 1 0;
    }

    #captcha_chk_label {
        margin-top: 24px;
    }

    .bbs_file_ctl {
        display: inline-block;
        width: calc(100% - 80px) !important;
        padding-left: 10px;
    }

    #bs_notice_date {
        text-align: center;
    }

    .select_type {
        max-width: 100%;
    }

    .board_view .board_view_contents {
        width: 100%
    }

    .board_view .board_view_contents table {
        width: 100% !important
    }

    .board_view .board_view_contents table td,
    .board_view .board_view_contents table th {
        width: auto !important
    }

    .board_view .board_view_contents img {
        width: auto;
        max-width: 100%
    }

    .board_view_contents p img {
        width: auto !important;
        max-width: 100%
    }

    .bbs_file_item .file_info_text {
        width: calc(100% - 50px) !important;
    }

    #comment_wrap label {
        width: 100%
    }

    #comment_wrap label input {
        width: calc(100% - 130px);
    }

    #comment_wrap textarea {
        border: none;
        height: 100px;
        margin: 0;
        padding: 0
    }

    .board_view {
        width: 100%
    }

    .board_view .title {
        font-size: 22px;
        line-height: 28px
    }

    .board_view_contents .image img {
        width: 100%
    }

    .board_view .info {
        font-size: 14px;
        grid-template-columns: 1fr;
    }

    .board_view .info li {
        border-right: none;
        border-bottom: 1px solid var(--color-gray300);
    }

    .board_view .info li:last-child {
        border-bottom: none;
    }

    .board_view .title {
        padding: 0 0 13px 0;
        box-sizing: border-box;
        text-align: left;
        box-sizing: border-box;
        word-break: keep-all;
        letter-spacing: 0
    }

    .board_view .file a.file_title {
        width: 100%;
        text-overflow: ellipsis;
        line-height: 23px;
        font-size: 15px;
        display: block;
        margin: 4px 0
    }

    .bbs_file_item input {
        margin-bottom: 4px
    }

}

/* ============== 리스트 반응형 ============== */
@media print {
    #board_list {
        min-width: 700px
    }

    #board_list thead th {
        font-size: 12px;
        height: 40px;
        line-height: 38px
    }

    #board_list tbody td,
    #board_list td {
        height: auto;
        min-height: auto;
        line-height: 18px;
        min-height: auto;
        font-size: 12px;
        word-break: keep-all
    }

    #board_list .t_hit,
    #board_list .t_file {
        display: none
    }

    #board_list .t_num {
        font-size: 11px
    }
}

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

    #board_list .t_num,
    #board_list .t_hit,
    #board_list .t_file {
        display: none
    }

    #board_list .t_title {
        width: auto;
    }

    #board_list tbody td.txt_l {
        border-left: 0;
    }
}

@media screen and (max-width:800px) {
    #board_list .t_user {
        width: 96px;
    }
}

@media screen and (max-width:700px) {
    #board_list table {
        font-size: 13px
    }

    #board_list thead th {
        line-height: 45px;
        font-size: 13px
    }

    #board_list tbody td {
        padding: 12px 10px;
        height: auto;
        min-height: 40px;
        font-size: 14px;
        line-height: 20px
    }

    #board_list .t_num,
    #board_list .t_hit,
    #board_list .t_file {
        display: none
    }

    #board_list .t_user {
        width: 84px;
    }

    #board_list .t_date {
        width: 104px;
    }

    #mypage #board_list .t_date {
        display: none
    }

    #board_list thead th {
        font-size: 15px
    }

    #list_total_count {
        font-size: 13px;
        padding: 10px 0;
    }
}

@media screen and (max-width:320px) {
    #board_list thead th.t_date {
        display: none
    }

    #board_list tbody td.t_date {
        display: none
    }
}