.fade-up {
    opacity: 0;
    transform: translateY(40px);
    animation: fadeUp 0.8s ease-out forwards;
}

@keyframes fadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* head, body 공통 스타일 */
.post-row {
    display:flex;
}
.post-row > li,
.post-row > div {
    padding:0.8rem;
}
.post-row .no {
    flex:0 0 56px;
    text-align:center;
}
.post-row .subject {
    text-align:left;
    flex:1 1 auto;
}
.post-row .name {
    text-align:center;
    flex:0 0 200px;
}
.post-row .date {
    text-align:center;
    flex:0 0 150px;
}

/**/
.post-head {
    background:#f6f8fb;
    color:#727887;
    height:56px;
}
.post-head li {
    display:flex;
    justify-content: center;
    align-items: center;
}

/**/
.bbs-list {
    font-size:1.4rem;
}
.post-list .post-row {
    border-bottom:1px solid #EAEDEF;
}
.post-list .post-row > div {
    height:56px;
    display:flex;
    justify-content: center;
    align-items: center;
}
.post-list .post-row .subject {
    justify-content: flex-start;
}
.bbs-list-body .total-rows {
    margin-bottom:8px;
}
.bbs-list-footer {
    margin-top:4rem;
}
.bbs-list-footer .pagination {
    margin-bottom:2rem;
}

/**/
.bbs-view-header {
    border-bottom:1px solid #000;
    padding-bottom:3.2rem;
}
.bbs-view-header .subject {
    font-weight: 700;
    font-size: 3.2rem;
    line-height: 48px;
    letter-spacing: -1px;
    text-align: center;
    margin-bottom:1rem;
}
.bbs-view-header .data {
    display:flex;
    justify-content: center;
}
.bbs-view-header .data {}
.bbs-view-header .data .date {
    margin-right:24px;
    position:relative;
}
.bbs-view-header .data .date:after {
    content:'';
    position:absolute;
    width:1px;
    height:11px;
    right:-25px;
    top:2px;
    background:#D1D2D3;
}
.bbs-view-header .data .name {
    margin-left:24px;
}
.bbs-view-body {
    min-height:20rem;
    border-bottom:1px solid #000;
    padding:3rem 2rem;
    font-size:1.4rem;
}
.bbs-view-body .upload-file:before {
    content:'첨부파일';
    width:100%;
    color:#333950;
    font-weight:700;
    margin-bottom:6px;
}
.bbs-view-body .upload-file {
    text-align:center;
    display:flex;
    flex-direction: column;
}
.bbs-view-foot {
    padding:3.2rem 0 0 0;
}

/**/
.board-btn {
    display:flex;
    justify-content: center;
    gap:1rem;
}
/*
.board-btn .btn {
    width:240px;
    height:48px;
    display:flex;
    justify-content: center;
    align-items: center;
    font-weight: 400;
    font-size: 1.4rem;
    color:#727887;
    border:1px solid #D1D2D3;
    border-radius:8px;
}
.board-btn .btn.btn-edit {
    background:#264993;
    color:#fff;
    font-weight:700;
    border:1px solid #264993;
}
 */

/**/
.bbs-form {}
.bbs-form .form-control {
    font-size:1.6rem;
}
.bbs-form-head {}
.bbs-form-body {}
.bbs-form-body .row {
    padding:1rem 0;
}
.bbs-form-body .row .col-2 {
    display:flex;
    justify-content: center;
    align-items: center;
    color:#555555;
}
.bbs-form-body .row:first-child {
    padding-top:0;
}
.bbs-form-body .row.option {
}
.bbs-form-body .row.option .col-10 {
    display:flex;
    gap:1rem;
}
.bbs-form-body .row.option .col-10 div {
    font-size:1.8rem;
}
.bbs-form-foot {
    margin-top:4rem;
}


/**/
.custom-checkbox .custom-control-label {padding-left:5px;}
.custom-checkbox .custom-control-label::before,
.custom-checkbox .custom-control-label::after {width:1.4rem; height:1.4rem; transform: translateY(2px);}
.file-upload-box .upload-rect {
    display:flex;
    flex-direction: column;
    align-items: flex-end;
}
.captcha-rect .form-control {
    font-size:18px;
}


/* ----------------------------------------------------------
   MOBILE (max-width: 767px)
---------------------------------------------------------- */
@media (max-width: 767px) {

    /* 리스트 헤더 숨김 */
    .post-head {
        display: none;
    }

    /* 각 row */
    .post-row {
        flex-direction: column;
        padding: 12px 0;
        gap: 4px;
        border-bottom: 1px solid #EAEDEF;
    }

    .post-row > li,
    .post-row > div {
        padding: 0;
    }

    /* No, Name, Date 모두 한 줄씩 표현 */
    .post-row .no,
    .post-row .name,
    .post-row .date {
        flex: none;
        text-align: left;
        font-size: 1.2rem;
        color: #727887;
    }

    /* subject는 모바일에서 강조 */
    .post-row .subject {
        font-size: 1.6rem;
        font-weight: 700;
        padding: 0;
    }

    /* 리스트 안의 align-center 제거 */
    .post-list .post-row > div {
        height: auto;
        justify-content: flex-start;
        align-items: flex-start;
    }

    /* 작성자와 날짜를 한 줄로 보이기 (필요 시) */
    .post-row .date,
    .post-row .name {
        display: inline-block;
        margin-right: 12px;
    }

    /* 뷰 페이지 상단 */
    .bbs-view-header .subject {
        font-size: 2.2rem;
        line-height: 1.4;
        padding: 0 12px;
    }

    .bbs-view-header .data {
        flex-direction: row; 
        justify-content: center;
        align-items: center;
        gap: 8px;
        font-size: 1.3rem;
        align-items: center;
    }

    .bbs-view-header .data .date {
        margin-right: 0 !important;
    }

    .bbs-view-header .data .name {
        margin-left: 0 !important;  
    }

    .bbs-view-header .data .date:after {
        display: none;
    }

    .bbs-view-body {
        padding: 2rem 1.2rem;
        font-size: 1.4rem;
    }

    /* 첨부파일 */
    .bbs-view-body .upload-file {
        text-align: left;
        align-items: flex-start;
    }

    /* 버튼 영역 */
    .board-btn {
        flex-direction: column;
        gap: 12px;
        padding: 0 12px;
    }

    /* 폼 */
    .bbs-form .form-control {
        font-size: 1.4rem;
    }

    .bbs-form-body .row {
        flex-direction: column;
        padding: 1.2rem 0;
    }
    .bbs-form-body .row .col-2 {
        justify-content: flex-start;
        margin-bottom: 6px;
        font-size: 1.4rem;
    }

    .bbs-form-body .row.option .col-10 {
        flex-direction: column;
        gap: 6px;
    }

    /* captcha, 파일 업로드 */
    .file-upload-box .upload-rect {
        align-items: flex-start;
    }

    .captcha-rect .form-control {
        font-size: 16px;
    }

}
