/* 게시판 목록·상세·쓰기 (레거시 hubizict list JSP 최소 이관) */

/* ---------- 목록(view) 전용: 커뮤니케이션 페이지와 유사한 레이아웃 (communication.css 미사용) ---------- */
body.list-board-comm-layout main {
    padding-top: 100px;
    box-sizing: border-box;
}

/* 글쓰기·수정(write/edit.do): 헤더는 항상 scrolled(솔리드) 스타일 — 투명·히어로용 헤더 미사용 */
html.list-board-page:not(.communication-page) body.prototype-03.business-sub .proto3-header {
    padding: 12px 28px !important;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    background: #fff !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
}
html.list-board-page:not(.communication-page) body.prototype-03.business-sub .proto3-header .header-container {
    gap: 60px;
}
html.list-board-page:not(.communication-page) body.prototype-03.business-sub .proto3-header .header-logo img,
html.list-board-page:not(.communication-page) body.prototype-03.business-sub .proto3-header .header-logo .header-logo__img {
    height: 27px;
}
html.list-board-page:not(.communication-page) body.prototype-03.business-sub .proto3-header .header-nav {
    gap: 40px;
}
html.list-board-page:not(.communication-page) body.prototype-03.business-sub .proto3-header .header-nav__trigger,
html.list-board-page:not(.communication-page) body.prototype-03.business-sub .proto3-header .header-nav a {
    font-size: 18px;
    color: #000 !important;
}
html.list-board-page:not(.communication-page) body.prototype-03.business-sub .proto3-header .header-right {
    gap: 20px;
}
html.list-board-page:not(.communication-page) body.prototype-03.business-sub .proto3-header .header-link {
    color: #333 !important;
    font-size: 14px;
    padding: 6px 16px;
}
html.list-board-page:not(.communication-page) body.prototype-03.business-sub .proto3-header .header-nav__list {
    background: rgb(255, 255, 255) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
}
html.list-board-page:not(.communication-page) body.prototype-03.business-sub .proto3-header .header-nav__list a {
    color: #000 !important;
}
html.list-board-page:not(.communication-page) body.prototype-03.business-sub .proto3-header .header-nav__list a:hover {
    color: var(--color-main) !important;
    background: rgba(0, 0, 0, 0.04) !important;
}
html.list-board-page:not(.communication-page) body.prototype-03.business-sub .proto3-header .header-nav__dropdown .header-nav__list a {
    color: #1a1a1a !important;
}
html.list-board-page:not(.communication-page) body.prototype-03.business-sub .proto3-header .header-nav__dropdown .header-nav__list a:hover {
    color: var(--color-main) !important;
    background: rgba(0, 197, 197, 0.06) !important;
}
html.list-board-page:not(.communication-page) body.prototype-03.business-sub .proto3-header .btn-inquiry {
    padding: 8px 24px;
    font-size: 14px;
}
html.list-board-page:not(.communication-page) body.prototype-03.business-sub .menu-controller__line {
    background: var(--color-dark);
}

/* 글쓰기·수정: <main class="container"> — 상단 마진 + 좌우·하단 여백, 가독 너비 */
html.list-board-page:not(.communication-page) body.prototype-03.business-sub main.container {
    box-sizing: border-box;
    width: 100%;
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1.25rem;
    padding: max(5.5rem, 88px) clamp(1rem, 4vw, 2rem) 3rem;
}
html.list-board-page:not(.communication-page) body.prototype-03.business-sub main.container > .container.inner {
    margin-top: 1.25rem;
}

body.prototype-03.list-board-comm-layout .proto3-header {
    background-color: transparent;
    border-bottom-color: transparent;
}
body.prototype-03.list-board-comm-layout .proto3-header.scrolled {
    background-color: #fff;
    border-bottom-color: rgba(0, 0, 0, 0.08);
}
body.prototype-03.list-board-comm-layout .proto3-header.scrolled .header-nav a,
body.prototype-03.list-board-comm-layout .proto3-header.scrolled .header-nav__trigger,
body.prototype-03.list-board-comm-layout .proto3-header.scrolled .header-nav__item a,
body.prototype-03.list-board-comm-layout .proto3-header.scrolled .logo-text,
body.prototype-03.list-board-comm-layout .proto3-header.scrolled .header-link,
body.prototype-03.list-board-comm-layout .proto3-header.scrolled .header-right,
body.prototype-03.list-board-comm-layout .proto3-header.scrolled .header-right a:not(.btn-inquiry) {
    color: #000 !important;
}

.list-board-page .list-board-article {
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.list-board-page:not(.communication-page) .list-board-article .article__inner {
    margin: 0 auto;
    padding: 60px clamp(1.5rem, 3vw, 3rem) 80px;
    box-sizing: border-box;
    max-width: 1200px;
}

.list-board-page:not(.communication-page) .list-board-article .article__header {
    text-align: center;
    padding: 2rem 0 2rem;
    margin-bottom: 2rem;
}

.list-board-page:not(.communication-page) .list-board-article .article__title {
    font-family: "Pretendard Variable", Pretendard, -apple-system, sans-serif;
    font-size: var(--font-size-hero, clamp(2rem, 5vw, 3.5rem));
    font-weight: var(--font-weight-bold, 700);
    margin: 0 0 8px;
    letter-spacing: -0.05em;
    line-height: 1.2;
    color: var(--text-primary, #111);
}

.list-board-page .list-board-article__panel {
    padding-top: 0.5rem;
}

.list-board-page .list-board-toolbar__count {
    font-size: var(--font-size-base, 1rem);
    color: var(--text-muted-7, #666);
}

.list-board-page:not(.communication-page) .list-board-article .jt-news-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.list-board-page:not(.communication-page) .list-board-article .jt-news-list li {
    margin: 0;
    border-bottom: 2px solid var(--border-default, #e5e5e5);
    transition: border-color 0.2s;
}

.list-board-page:not(.communication-page) .list-board-article .jt-news-list li:hover {
    border-bottom-color: var(--text-primary, #111);
}

.list-board-page:not(.communication-page) .list-board-article .jt-news-list__row--notice {
    background-color: #fffcf6;
}

.list-board-page:not(.communication-page) .list-board-article .jt-news-list__row--empty {
    border-bottom: none;
}
.list-board-page:not(.communication-page) .list-board-article .jt-news-list__row--empty:hover {
    border-bottom: none;
}

.list-board-page:not(.communication-page) .list-board-article .jt-news-list__item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px 24px;
    align-items: center;
    padding: clamp(1.25rem, 3vw, 2.75rem) 0;
    color: inherit;
    text-decoration: none;
    transition: background 0.2s;
    box-sizing: border-box;
}

.list-board-page:not(.communication-page) .list-board-article .jt-news-list__title {
    font-size: var(--font-size-3xl, clamp(1.125rem, 2.5vw, 1.75rem));
    font-weight: var(--font-weight-bold, 700);
    line-height: 1.45;
    color: var(--color-dark, #1a1a1a);
    word-break: break-word;
}

.list-board-page:not(.communication-page) .list-board-article .jt-news-list__date {
    font-size: var(--font-size-sm, 0.875rem);
    font-weight: var(--font-weight-semibold, 600);
    color: var(--text-muted-7, #666);
    white-space: nowrap;
    text-align: right;
}

.list-board-page .list-board-article__footer {
    margin-top: 2.5rem;
}

@media (max-width: 640px) {
    .list-board-page:not(.communication-page) .list-board-article .jt-news-list__item {
        grid-template-columns: 1fr;
        gap: 0.5rem;
        align-items: start;
    }
    .list-board-page:not(.communication-page) .list-board-article .jt-news-list__date {
        white-space: normal;
        text-align: left;
    }
}

/* 목록 툴바(검색·건수): 커뮤니케이션형 본문 안에서만 사용 */
.list-board-page .list-board-article .list_top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin: 0 0 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border-default, #e5e5e5);
}
.list-board-page .paging_number { font-size: 0.95rem; }
.list-board-page .search label { display: flex; align-items: center; gap: 0.5rem; }
.list-board-page .search input[type="text"] { padding: 0.7rem 0.75rem; border: 1px solid #ccc; border-radius: 35px; min-width: 200px; }
.list-board-page .search_btn {
    padding: 0.7rem;
    border: none;
    background: #222;
    color: #fff;
    border-radius: 50%;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    aspect-ratio: 1;
}
.list-board-page ul.newsList { list-style: none; margin: 0; padding: 0; border-top: 1px solid #ddd; }
.list-board-page ul.newsList li { border-bottom: 1px solid #eee; }
.list-board-page ul.newsList li a { display: block; padding: 1rem 0.25rem; text-decoration: none; color: inherit; }
.list-board-page ul.newsList dt { font-weight: 600; margin-bottom: 0.35rem; }
.list-board-page ul.newsList dd.date { font-size: 0.875rem; color: #666; margin: 0; }
.list-board-page .btm_item { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; margin: 2rem 0; }
.list-board-page .writing_bt { min-width: 120px; min-height: 40px; padding: 0.5rem 1rem; background: #222; color: #fff; border: none; border-radius: 4px; cursor: pointer; }
.list-board-page .paginationjs { display: inline-block; }
.list-board-page .list_title { margin: 1.5rem 0; }
.list-board-page .list_title.sticky { position: relative; }
.list-board-page .list_title p#brd_ttl { font-size: 1.5rem; font-weight: 700; margin: 0 0 0.5rem; }
.list-board-page .list_title .brd_info { font-size: 0.9rem; color: #555; }
.list-board-page .list_title_actions { list-style: none; display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 1rem 0 0; padding: 0; }
.list-board-page .list_btn, .list-board-page .re_btn, .list-board-page .del_btn { cursor: pointer; min-width: 80px; min-height: 36px; display: inline-block; }
.list-board-page .list_con { padding: 1rem 0; }
.list-board-page .list_con img { max-width: 100%; height: auto; }
.list-board-page .write_section {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 0.75rem 1rem;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #eee;
}
/* 본문(CKEditor) 행: 라벨은 영역 상단 기준 */
.list-board-page .write_section.write_section--editor {
    align-items: start;
}
.list-board-page .write_section.write_section--title {
    align-items: start;
    grid-template-columns: 120px 1fr;
}
.list-board-page .write_th {
    font-weight: 600;
    font-size: 1.0625rem;
    line-height: 1.45;
}
.list-board-page .write_th.write_th--title-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    min-width: 0;
}
.list-board-page .write_th.write_th--title-row .write_th__label {
    flex-shrink: 0;
    line-height: 1.45;
}
.list-board-page .write_th.write_th--title-row #notice_div {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}
.list-board-page .write_th.write_th--title-row #notice_div label.notice_box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    line-height: 1;
}
.list-board-page .write_th.write_th--title-row .notice_box .icon {
    font-size: 1.0625rem;
    line-height: 1.45;
    vertical-align: 0;
}
/* 제목: 그리드 2열 폭에 맞춤(min-width:0) + 메타는 입력란 아래 오른쪽 */
.list-board-page .title-input-wrapper {
    grid-column: 2;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
.list-board-page .title-input-wrapper textarea#brd_ttl {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    min-height: 44px;
    padding: 10px 0.75rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    resize: vertical;
    display: block;
    line-height: 22px;
    font-size: 1rem;
}
.list-board-page .title-input-wrapper textarea#brd_ttl::placeholder {
    line-height: 22px;
}
.list-board-page .title-input-meta {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.35rem;
    flex-wrap: wrap;
}
.list-board-page .title-input-meta #title_size {
    font-size: 0.875rem;
    color: #666;
    line-height: 1.2;
}
/* 내용(CKEditor) 영역 — 에디터 바로 아래 오른쪽에 글자 수 */
.list-board-page .editor-field-wrap {
    grid-column: 2;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
.list-board-page .editor-field-meta {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 0.35rem;
    font-size: 0.875rem;
    color: #666;
    line-height: 1.2;
}
.list-board-page .list-board-hint { font-size: 0.875rem; display: block; margin-top: 0.5rem; color: #555; }
.list-board-page .list-board-file-wrap { padding: 0; margin: 0; list-style: none; }
.list-board-page #fileList {
    list-style: none;
    margin: 0;
    padding: 0;
}
.list-board-page #fileList li.list-board-file-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    padding: 0.6rem 0;
    border-bottom: 1px solid #eee;
}
.list-board-page #fileList li.list-board-file-item:last-child {
    border-bottom: none;
}
.list-board-page #fileList .list-board-file-item__name {
    min-width: 0;
    flex: 1;
    word-break: break-all;
    font-size: 0.95rem;
    line-height: 1.4;
}
html.list-board-page #attach_yn_div #fileList button.list-board-file-delete {
    flex-shrink: 0;
    margin: 0;
    padding: 0.45rem 1rem;
    min-width: 4.25rem;
    white-space: nowrap;
    font-size: 0.875rem !important;
    font-weight: 600;
    line-height: 1.3;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    color: #222 !important;
    cursor: pointer;
    font-family: inherit;
    box-sizing: border-box;
    -webkit-appearance: button;
    appearance: auto;
}
html.list-board-page #attach_yn_div #fileList button.list-board-file-delete::before,
html.list-board-page #attach_yn_div #fileList button.list-board-file-delete::after {
    content: none !important;
}
html.list-board-page #attach_yn_div #fileList button.list-board-file-delete:hover {
    background: #dc3545;
    border-color: #dc3545;
    color: #fff !important;
}
.list-board-page .list-board-muted { color: #737373; text-align: center; padding: 2rem; }
/* 글쓰기·수정: 등록/취소(저장) — 첨부 삭제 버튼과 동일 톤 */
.list-board-page .write_bt {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin: 2rem 0;
}
.list-board-page .write_bt a.list-board-btn {
    margin: 0;
    padding: 0.45rem 1rem;
    min-width: 4.25rem;
    white-space: nowrap;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.3;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    color: #222 !important;
    cursor: pointer;
    font-family: inherit;
    box-sizing: border-box;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.list-board-page .write_bt a.list-board-btn::before,
.list-board-page .write_bt a.list-board-btn::after {
    content: none !important;
}
.list-board-page .write_bt a.list-board-btn:hover {
    background: #dc3545;
    border-color: #dc3545;
    color: #fff !important;
}
@media (max-width: 640px) {
    .list-board-page .write_section { grid-template-columns: 1fr; }
    .list-board-page .write_section.write_section--title { grid-template-columns: 1fr; }
    .list-board-page .title-input-wrapper { grid-column: 1; }
    .list-board-page .editor-field-wrap { grid-column: 1; }
}
