@charset "utf-8";
/* biz_01 (NOVA) · 일반 게시판 스킨 (카드형) */

.b01-board,.b01-view,.b01-write{--blue:#2E6BFF;--navy:#0B1220;--line:#E5E7EB;--gray:#6B7280;--bg:#F6F8FB}

/* 공통 부품 */
.bd-cate ul{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.bd-cate a{display:block;padding:9px 20px;border:1px solid var(--line);border-radius:999px;font-size:14px;color:var(--gray)}
.bd-cate a:hover,.bd-cate a#bo_cate_on{background:var(--navy);border-color:var(--navy);color:#fff}
.bd-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.bd-top .cnt{font-size:14px;color:var(--gray)}
.bd-top .cnt b{color:var(--blue)}
.srch{border:0;padding:0;margin:0;min-width:0}
.srch form{display:flex;flex-wrap:wrap;gap:6px}
.srch select,.srch input[type=text]{height:42px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fff}
.srch input[type=text]{width:180px}
.srch button{height:42px;padding:0 18px;border:0;border-radius:10px;background:var(--navy);color:#fff;font-size:14px}
.bd-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center;margin-top:24px;flex-wrap:wrap}
.bd-actions .adm{display:flex;gap:6px;margin-right:auto}
.badge{display:inline-block;padding:2px 9px;border-radius:6px;font-size:11.5px;font-weight:700;background:#EEF2F7;color:var(--gray);vertical-align:2px}
.badge.n{background:var(--blue);color:#fff}
.badge.new{background:#FF4D6D;color:#fff}
.badge.g{background:#EAF0FF;color:var(--blue)}
.empty,.empty_list{padding:70px 0;text-align:center;color:var(--gray)}

/* 카드 목록 */
.chk-all{margin-bottom:10px;font-size:13.5px;color:var(--gray)}
.cardlist .item{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 24px;margin-bottom:10px;transition:.25s;position:relative}
.cardlist .item:hover{border-color:var(--blue);box-shadow:0 10px 26px rgba(46,107,255,.1);transform:translateY(-2px)}
.cardlist .item.notice{background:#F4F7FF;border-color:#D6E2FF}
.cardlist .no{flex:0 0 56px;text-align:center;font-family:'Space Grotesk',sans-serif;color:var(--gray);font-size:14px}
.cardlist .body{flex:1;min-width:0}
.cardlist .subj{display:block;font-size:16.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cardlist .item:hover .subj{color:var(--blue)}
.cardlist .subj .cmt{color:var(--blue);font-size:13px;margin-left:6px;font-weight:700}
.cardlist .meta{display:flex;gap:14px;margin-top:6px;font-size:13px;color:var(--gray)}
.cardlist .arr{flex:0 0 auto;color:#C7CEDA;font-size:18px;transition:.25s}
.cardlist .item:hover .arr{color:var(--blue);transform:translateX(4px)}

/* 페이지네이션 */
.pg_wrap{display:block;text-align:center;margin-top:36px}
.pg{display:inline-flex;gap:6px;align-items:center}
.pg_page,.pg_current{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;border-radius:10px;font-size:14px;color:var(--gray);background:#fff;border:1px solid var(--line);padding:0 6px}
.pg_current{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:700}
.pg_page:hover{border-color:var(--blue);color:var(--blue)}

/* 읽기 */
.b01-view #bo_v_title{padding:6px 0 22px;border-bottom:2px solid var(--navy)}
.b01-view .bo_v_cate{display:inline-block;margin-bottom:10px;padding:4px 12px;border-radius:6px;background:#EAF0FF;color:var(--blue);font-size:13px;font-weight:700}
.b01-view h2{font-size:clamp(22px,2.6vw,30px);line-height:1.4}
.b01-view #bo_v_info{display:flex;flex-wrap:wrap;gap:8px 22px;padding:16px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--gray)}
.b01-view #bo_v_info strong{font-weight:500;color:#111827}
.b01-view #bo_v_file{margin-top:20px;background:var(--bg);border-radius:12px;padding:16px 20px}
.b01-view #bo_v_file h2{font-size:14px;margin-bottom:8px}
.b01-view #bo_v_file li{font-size:14px;padding:4px 0}
.b01-view #bo_v_file a{color:var(--blue)}
.b01-view #bo_v_file .bo_v_file_cnt{margin-left:8px;font-size:12.5px;color:var(--gray)}
.b01-view #bo_v_atc{padding:34px 0;min-height:180px}
.b01-view #bo_v_img{margin-bottom:20px}
.b01-view #bo_v_img img{border-radius:12px;margin-bottom:12px}
.b01-view #bo_v_con{font-size:16px;line-height:1.85}
.b01-view #bo_v_link{margin-bottom:20px;font-size:14px}
.b01-view #bo_v_link a{color:var(--blue);text-decoration:underline}
.b01-view #bo_v_act{display:flex;justify-content:center;gap:10px;padding:20px 0;border-top:1px solid var(--line);font-size:14px}
.b01-view #bo_v_act a,.b01-view #bo_v_act span{color:var(--gray)}
.b01-view #bo_v_act a:hover{color:var(--blue)}
.b01-view .bo_v_nb{border-top:1px solid var(--line)}
.b01-view .bo_v_nb li{border-bottom:1px solid var(--line)}
.b01-view .bo_v_nb a{display:flex;gap:16px;padding:14px 8px;font-size:14.5px;align-items:center}
.b01-view .bo_v_nb b{flex:0 0 54px;color:var(--gray);font-weight:500}
.b01-view .bo_v_nb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.b01-view .bo_v_nb a:hover span{color:var(--blue)}

/* 댓글 */
#bo_vc{margin-top:34px;background:var(--bg);border-radius:14px;padding:24px}
#bo_vc h2,#bo_vc_w h2{font-size:16px;margin-bottom:14px}
#bo_vc article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:10px}
#bo_vc header{font-size:13.5px;color:var(--gray);margin-bottom:8px}
#bo_vc .sv_wrap{margin-right:6px}
#bo_vc_empty{padding:26px 0;text-align:center;color:var(--gray)}
#bo_vc_w{margin-top:18px}
#bo_vc_w textarea{width:100%;box-sizing:border-box;min-height:90px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;resize:vertical}
#bo_vc_w .bo_vc_w_wr{display:flex;gap:8px;margin-bottom:8px}
#bo_vc_w input[type=text],#bo_vc_w input[type=password]{height:40px;border:1px solid var(--line);border-radius:10px;padding:0 12px}
#bo_vc_w .btn_confirm{margin-top:10px;text-align:right}
#bo_vc_w button[type=submit],#bo_vc_w .btn_submit{background:var(--blue);color:#fff;border:0;border-radius:10px;padding:10px 26px;font-size:14px;cursor:pointer}

/* 쓰기 */
.b01-write .write_div{margin-bottom:20px}
.b01-write .lb{display:block;font-size:14px;font-weight:700;margin-bottom:8px}
.b01-write .lb i{color:#FF4D6D;font-style:normal}
.b01-write input[type=text],.b01-write input[type=password],.b01-write select{width:100%;box-sizing:border-box;height:48px;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:#fff;transition:.2s}
.b01-write input:focus,.b01-write select:focus,.b01-write textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(46,107,255,.12)}
.b01-write textarea{width:100%;box-sizing:border-box;min-height:320px;border:1px solid var(--line);border-radius:12px;padding:14px;resize:vertical}
.b01-write .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.b01-write .chk_box{display:flex;gap:18px;flex-wrap:wrap;padding:12px 0;font-size:14.5px}
.b01-write .bo_w_file .file_dl{margin-bottom:10px;padding:12px 14px;background:var(--bg);border-radius:12px;font-size:14px}
.b01-write .bo_w_file input[type=file]{font-size:13.5px}
.b01-write .file_del{display:block;margin-top:6px;font-size:13px;color:var(--gray)}
.b01-write .btn_confirm{display:flex;justify-content:center;gap:10px;margin-top:30px}
.b01-write #btn_autosave{margin-top:8px}
#autosave_pop{display:none;position:absolute;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;z-index:100;box-shadow:0 14px 34px rgba(0,0,0,.14)}
#autosave_pop ul{max-height:220px;overflow-y:auto;margin:10px 0}
#autosave_pop li{padding:6px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.frm_info{font-size:13px;color:var(--gray);margin-bottom:8px}
#char_count_wrap{margin-top:6px;font-size:13px;color:var(--gray);text-align:right}

/* 버튼 (스킨 독립 동작용) */
.b01-board .btn,.b01-view .btn,.b01-write .btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 24px;border-radius:999px;font-size:14px;border:1px solid transparent;cursor:pointer;transition:.25s;line-height:1.2;background:none;text-decoration:none}
.b01-board .btn.blue,.b01-view .btn.blue,.b01-write .btn.blue{background:var(--blue);color:#fff}
.b01-board .btn.blue:hover,.b01-view .btn.blue:hover,.b01-write .btn.blue:hover{background:#1f56e0}
.b01-board .btn.line,.b01-view .btn.line,.b01-write .btn.line{border-color:var(--line);color:#374151;background:#fff}
.b01-board .btn.line:hover,.b01-view .btn.line:hover,.b01-write .btn.line:hover{border-color:var(--blue);color:var(--blue)}
.b01-board .btn.sm,.b01-view .btn.sm{padding:9px 18px;font-size:13.5px}

/* 반응형 */
@media (max-width:768px){
    .cardlist .item{padding:14px 16px;gap:12px}
    .cardlist .no{display:none}
    .cardlist .subj{white-space:normal;font-size:15.5px}
    .cardlist .arr{display:none}
    .srch form{width:100%}
    .srch input[type=text]{flex:1;width:auto;min-width:0}
    .bd-top{flex-direction:column;align-items:stretch}
    .b01-write .grid2{grid-template-columns:1fr}
    #bo_vc{padding:16px}
}

/* 좁은 화면에서 검색 버튼이 아랫줄로 내려갈 때 한 줄을 다 쓰게 한다 (2026-08-31 점검) */
@media (max-width:768px){
  .srch form{width:100%}
  .srch select{flex:0 0 auto}
  .srch input[type=text]{flex:1 1 auto;width:auto;min-width:0}
  .srch button{flex:1 1 100%;margin-top:6px}
}
