.cb-board{
  --paper:#F5F8FC;--white:#fff;--ink:#12294A;--ink2:#1D3B6B;--muted:#5C7091;
  --cyan:#2BC8EA;--blue:#2E6BE6;--green:#78C46A;--line:#E3EAF3;
  --grad:linear-gradient(120deg,#37D0E6 0%,#2E93E6 38%,#2E6BE6 66%,#6CBF69 100%);
  --grad-soft:linear-gradient(120deg,rgba(55,208,230,.12),rgba(46,107,230,.12),rgba(108,191,105,.12));
  --sans:'Pretendard','Outfit',system-ui,sans-serif;--disp:'Outfit','Pretendard',sans-serif;
  font-family:var(--sans);color:var(--ink2);background:var(--paper);padding:120px 0 100px;min-height:70vh}
.cb-board *{box-sizing:border-box}
.cb-board .wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.cb-board .wrap-narrow{max-width:860px;margin:0 auto;padding:0 28px}
.cb-board a{text-decoration:none;color:inherit}
.cb-board .eyebrow{font-family:var(--disp);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--blue)}

/* ---- 목록 헤더 ---- */
.cb-pf-head{margin-bottom:34px}
.cb-pf-head h1{font-family:var(--disp);font-size:clamp(28px,3.6vw,42px);font-weight:700;color:var(--ink);margin:12px 0 0;letter-spacing:-.02em}
.cb-pf-meta{display:flex;align-items:center;justify-content:space-between;margin-top:18px;gap:16px;flex-wrap:wrap}
.cb-pf-meta>span{font-family:var(--disp);font-size:14px;color:var(--muted)}
.cb-pf-write{display:inline-flex;align-items:center;gap:6px;background:var(--grad);color:#fff;font-family:var(--disp);font-weight:600;font-size:14px;padding:11px 20px;border-radius:999px;box-shadow:0 10px 22px -10px rgba(46,107,230,.6);transition:.22s}
.cb-pf-write:hover{transform:translateY(-2px)}

/* ---- 카테고리 탭 ---- */
.cb-pf-cate{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 30px;padding:0;list-style:none}
.cb-pf-cate li{list-style:none;margin:0;padding:0;display:inline-flex}
.cb-pf-cate a{display:inline-flex;align-items:center;font-family:var(--disp);font-size:13.5px;font-weight:500;color:var(--ink2);background:var(--white);border:1px solid var(--line);padding:8px 17px;border-radius:999px;transition:.2s;white-space:nowrap}
.cb-pf-cate a:hover{border-color:var(--blue);color:var(--blue)}
.cb-pf-cate a#bo_cate_on,.cb-pf-cate a.on{background:var(--grad);color:#fff;border-color:transparent}

/* ---- 갤러리 그리드 ---- */
.cb-pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cb-pf-card{background:var(--white);border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.cb-pf-card:hover{transform:translateY(-5px);box-shadow:0 30px 55px -26px rgba(30,59,107,.3)}
.cb-pf-thumb{position:relative;aspect-ratio:16/10;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#eef3f9}
.cb-pf-thumb img{width:100%;height:100%;object-fit:cover;transition:.4s}
.cb-pf-card:hover .cb-pf-thumb img{transform:scale(1.05)}
.cb-pf-ph{position:absolute;inset:0}
.cb-pf-ph-lbl{position:relative;font-family:var(--disp);font-weight:700;color:#fff;font-size:22px;text-shadow:0 2px 12px rgba(0,0,0,.2);padding:0 16px;text-align:center}
.cb-pf-badge{position:absolute;top:12px;right:12px;background:rgba(18,41,74,.72);color:#fff;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px}
.cb-pf-body{padding:20px 22px 22px}
.cb-pf-tag{font-family:var(--disp);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.cb-pf-body h3{font-family:var(--disp);font-size:17.5px;color:var(--ink);margin:8px 0 0;line-height:1.35;font-weight:600}
.cb-pf-info{display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-size:13px;color:var(--muted)}
.cb-pf-more{display:inline-flex;align-items:center;gap:5px;font-family:var(--disp);font-weight:500;color:var(--ink2)}
.cb-pf-card:hover .cb-pf-more{color:var(--blue)}
.cb-pf-empty{grid-column:1/-1;color:var(--muted);text-align:center;padding:60px 0}

/* ---- 페이지네이션 ---- */
.cb-pf-paging{margin-top:44px;text-align:center}
.cb-pf-paging .pg_wrap{display:inline-flex;gap:6px}
.cb-pf-paging .pg_page,.cb-pf-paging .pg_current{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:10px;font-family:var(--disp);font-weight:600;font-size:14px;border:1px solid var(--line);background:var(--white);color:var(--ink2)}
.cb-pf-paging .pg_current{background:var(--grad);color:#fff;border-color:transparent}
.cb-pf-paging a.pg_page:hover{border-color:var(--blue);color:var(--blue)}

/* ---- 보기 페이지 ---- */
.cb-pfv-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.cb-pfv-back{font-family:var(--disp);font-size:14px;color:var(--muted);font-weight:500}
.cb-pfv-back:hover{color:var(--blue)}
.cb-pfv-cate{font-family:var(--disp);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--grad);padding:5px 13px;border-radius:999px}
.cb-pfv-title{font-family:var(--disp);font-size:clamp(26px,3.4vw,38px);font-weight:700;color:var(--ink);line-height:1.25;letter-spacing:-.02em;margin:0 0 16px}
.cb-pfv-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:14px;padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:30px}
.cb-pfv-meta span{font-family:var(--disp)}
.cb-pfv-gallery{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:30px}
.cb-pfv-imgitem{border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.cb-pfv-imgitem img{width:100%;display:block}
.cb-pfv-content{font-size:16px;line-height:1.8;color:var(--ink2);word-break:keep-all}
.cb-pfv-content img{max-width:100%;height:auto;border-radius:12px}
.cb-pfv-files{margin-top:28px;display:flex;flex-direction:column;gap:8px}
.cb-pfv-file{display:inline-flex;align-items:center;gap:8px;font-family:var(--disp);font-size:14px;color:var(--ink2);background:var(--white);border:1px solid var(--line);border-radius:10px;padding:11px 15px;transition:.2s}
.cb-pfv-file:hover{border-color:var(--blue);color:var(--blue)}
.cb-pfv-file em{color:var(--muted);font-style:normal;font-size:12px}
.cb-pfv-actions{display:flex;align-items:center;gap:10px;margin-top:36px;padding-top:26px;border-top:1px solid var(--line);flex-wrap:wrap}
.cb-btn-ghost{font-family:var(--disp);font-weight:600;font-size:14px;color:var(--ink2);border:1.5px solid var(--line);border-radius:999px;padding:10px 20px;transition:.2s}
.cb-btn-ghost:hover{border-color:var(--blue);color:var(--blue)}
.cb-btn-ghost.cb-del:hover{border-color:#e0575b;color:#e0575b}
.cb-pfv-nav{margin-left:auto;display:flex;gap:8px}
.cb-pfv-nav a{font-family:var(--disp);font-size:14px;color:var(--muted);padding:10px 14px}
.cb-pfv-nav a:hover{color:var(--blue)}

@media(max-width:920px){.cb-pf-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cb-board{padding:100px 0 70px}.cb-pf-grid{grid-template-columns:1fr}.cb-pfv-nav{margin-left:0;width:100%}}

/* ===== 글쓰기 폼 (브랜드 톤) ===== */
#bo_w{
  --paper:#F5F8FC;--white:#fff;--ink:#12294A;--ink2:#1D3B6B;--muted:#5C7091;
  --cyan:#2BC8EA;--blue:#2E6BE6;--green:#78C46A;--line:#E3EAF3;
  --grad:linear-gradient(120deg,#37D0E6 0%,#2E93E6 38%,#2E6BE6 66%,#6CBF69 100%);
  --sans:'Pretendard','Outfit',system-ui,sans-serif;--disp:'Outfit','Pretendard',sans-serif;
  max-width:860px;margin:0 auto;padding:120px 28px 90px;font-family:var(--sans);color:var(--ink2)}
#bo_w:before{content:"";display:block}
#bo_w h1,#bo_w>h2:not(.sound_only){font-family:var(--disp);font-size:28px;font-weight:700;color:var(--ink);margin:0 0 24px}
#bo_w form{width:100%!important}
#bo_w .write_div{margin-bottom:20px}
#bo_w label:not(.sound_only){display:inline-block;font-family:var(--disp);font-size:13.5px;font-weight:600;color:var(--ink2);margin-bottom:8px}
#bo_w .frm_input,#bo_w select,#bo_w textarea,#bo_w input[type=text],#bo_w input[type=password]{
  font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--paper);
  border:1.5px solid var(--line);border-radius:12px;padding:12px 15px;transition:.2s;box-sizing:border-box}
#bo_w .full_input{width:100%}
#bo_w .half_input{width:49%;display:inline-block}
#bo_w .frm_input:focus,#bo_w select:focus,#bo_w textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(46,107,230,.1)}
#bo_w select{min-width:200px;cursor:pointer}
#bo_w .bo_w_select{margin-bottom:20px}
/* 옵션 체크박스 줄 */
#bo_w .bo_w_option{margin-bottom:18px}
#bo_w .bo_w_option ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:16px}
#bo_w .chk_box{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--muted)}
#bo_w .chk_box input{width:16px;height:16px;accent-color:var(--blue)}
#bo_w .chk_box label{margin:0;font-weight:500}
/* 임시저장 버튼 */
#bo_w .btn_frmline{font-family:var(--disp);font-size:13px;font-weight:500;color:var(--ink2);background:var(--white);border:1.5px solid var(--line);border-radius:10px;padding:10px 14px;cursor:pointer;transition:.2s;margin-left:8px}
#bo_w .btn_frmline:hover{border-color:var(--blue);color:var(--blue)}
/* 에디터 영역 */
#bo_w .wr_content{border:1.5px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
#bo_w textarea{width:100%;min-height:280px;line-height:1.7;resize:vertical}
/* 파일/링크 */
#bo_w .bo_w_link,#bo_w .bo_w_file{margin-bottom:12px}
#bo_w .frm_file{font-size:14px;color:var(--muted)}
#bo_w .lb_icon{display:inline-flex;align-items:center;gap:6px;color:var(--ink2)}
/* 캡차 */
#bo_w #captcha,#bo_w .captcha{margin:14px 0}
/* 하단 버튼 */
#bo_w .btn_confirm{display:flex;align-items:center;gap:10px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
#bo_w #btn_submit,#bo_w .btn_submit{font-family:var(--disp);font-weight:700;font-size:16px;color:#fff;background:var(--grad);border:0;border-radius:12px;padding:14px 34px;cursor:pointer;box-shadow:0 12px 26px -10px rgba(46,107,230,.6);transition:.22s}
#bo_w #btn_submit:hover,#bo_w .btn_submit:hover{transform:translateY(-2px)}
#bo_w a.btn_cancel,#bo_w .btn_b02{font-family:var(--disp);font-weight:600;font-size:14px;color:var(--ink2);border:1.5px solid var(--line);border-radius:999px;padding:12px 24px;text-decoration:none;transition:.2s}
#bo_w a.btn_cancel:hover{border-color:var(--blue);color:var(--blue)}

/* 화면낭독기 전용 텍스트 숨김(웹에디터 시작/끝 등) + 에디터 단축키 안내 버튼 숨김 */
#bo_w .sound_only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#bo_w .cke_sc,#bo_w .btn_cke_sc{display:none!important}
