/* ==========================================================================
   DF 게시판 — 공통 디자인 (모든 스킨이 이 규칙을 공유)
   포인트 색은 관리자 › DF 게시판 › 전체 설정에서 한 번에 변경
   ========================================================================== */
.dfb{
	--dfb-primary:#333; --dfb-primary-hover:#222; --dfb-on-primary:#fff; --dfb-primary-rgb:51,51,51;
	--dfb-radius:4px; --dfb-max:1200px; --dfb-font:inherit;
	--dfb-text:#222; --dfb-sub:#777; --dfb-mute:#a3a3a3; --dfb-line:#e5e5e5; --dfb-line-strong:#222; --dfb-bg-soft:#f7f7f7;
	max-width:var(--dfb-max); margin:0 auto; font-family:var(--dfb-font); color:var(--dfb-text);
	font-size:15px; line-height:1.6; word-break:keep-all; -webkit-font-smoothing:antialiased;
}
.dfb *,.dfb *::before,.dfb *::after{box-sizing:border-box}
.dfb a{color:inherit;text-decoration:none}
.dfb button{font-family:inherit}
.dfb .dfb-i{display:inline-block;vertical-align:middle;flex:0 0 auto}
.dfb .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- 버튼 ---------- */
.dfb .dfb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:88px;height:46px;padding:0 22px;
	border:1px solid #d4d4d4;border-radius:var(--dfb-radius);background:#fff;color:var(--dfb-text);font-size:15px;font-weight:500;
	line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}
.dfb .dfb-btn:hover{border-color:#999}
.dfb .dfb-btn-primary{background:var(--dfb-primary);border-color:var(--dfb-primary);color:var(--dfb-on-primary)}
.dfb .dfb-btn-primary:hover{background:var(--dfb-primary-hover);border-color:var(--dfb-primary-hover);color:var(--dfb-on-primary)}
.dfb .dfb-btn-dark{background:#111;border-color:#111;color:#fff}
.dfb .dfb-btn-dark:hover{background:#333;border-color:#333;color:#fff}
.dfb .dfb-btn-lg{min-width:170px;height:54px;font-size:16px}
.dfb .dfb-btn-sm{min-width:0;height:34px;padding:0 14px;font-size:13px}

/* ---------- 알림 ---------- */
.dfb .dfb-alert{padding:14px 18px;margin:0 0 20px;border-radius:var(--dfb-radius);background:rgba(var(--dfb-primary-rgb),.07);
	border:1px solid rgba(var(--dfb-primary-rgb),.25);font-size:14px}
.dfb .dfb-alert.is-error{background:#fff5f5;border-color:#f3c2c2;color:#b42318}
.dfb .dfb-alert p{margin:0}
.dfb .dfb-notice-box,.dfb .dfb-empty{padding:60px 20px;text-align:center;color:var(--dfb-sub);border-top:2px solid var(--dfb-line-strong);border-bottom:1px solid var(--dfb-line)}

/* ---------- 분류 탭 ---------- */
.dfb .dfb-cats{display:flex;flex-wrap:wrap;gap:0;margin:0 0 28px;padding:0 0 0 1px;border-bottom:1px solid var(--dfb-line)}
.dfb .dfb-cats a{display:flex;align-items:center;justify-content:center;min-width:150px;height:44px;margin:0 0 -1px -1px;padding:0 22px;border:1px solid var(--dfb-line);border-radius:0;font-size:14.5px;color:#333;background:#fff;text-decoration:none;transition:background .15s,color .15s}
.dfb .dfb-cats a:hover{background:#f7f7f7}
.dfb .dfb-cats a.is-on{position:relative;z-index:1;background:#333;border-color:#333;color:#fff;font-weight:600}
@media (max-width:640px){
	.dfb .dfb-cats{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
	.dfb .dfb-cats::-webkit-scrollbar{display:none}
	.dfb .dfb-cats a{flex:0 0 auto;min-width:0;height:42px;padding:0 18px;font-size:14px}
}

/* ---------- 목록 상단: 개수 + 검색 ---------- */
.dfb .dfb-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 18px}
.dfb .dfb-count{margin:0;font-size:15px;color:#555}
.dfb .dfb-count b{color:var(--dfb-primary);font-weight:700}
.dfb .dfb-reset{margin-left:10px;font-size:13px;color:var(--dfb-sub);text-decoration:underline!important}
.dfb .dfb-search{display:flex;gap:6px;flex:0 0 auto}
.dfb .dfb-select{position:relative;display:inline-block}
.dfb .dfb-select select{appearance:none;-webkit-appearance:none;height:46px;min-width:150px;padding:0 40px 0 16px;border:1px solid #d4d4d4;
	border-radius:var(--dfb-radius);background:#fff;font:inherit;font-size:15px;color:var(--dfb-text);cursor:pointer}
.dfb .dfb-select .dfb-i{position:absolute;right:13px;top:50%;transform:translateY(-50%);pointer-events:none;color:#555}
.dfb .dfb-search input[type=search]{width:300px;height:46px;padding:0 16px;border:1px solid #d4d4d4;border-radius:var(--dfb-radius);font:inherit;font-size:15px;background:#fff;color:var(--dfb-text)}
.dfb .dfb-search input::placeholder{color:var(--dfb-mute)}
.dfb .dfb-btn-search{width:46px;height:46px;border:0;border-radius:var(--dfb-radius);background:var(--dfb-primary);color:var(--dfb-on-primary);
	display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}
.dfb .dfb-btn-search:hover{background:var(--dfb-primary-hover)}
.dfb .dfb-btn-search .dfb-i{width:20px;height:20px}
.dfb input:focus,.dfb select:focus,.dfb textarea:focus{outline:0;border-color:var(--dfb-primary)!important;box-shadow:0 0 0 3px rgba(var(--dfb-primary-rgb),.12)}

/* ---------- 목록 표 ---------- */
.dfb .dfb-list{width:100%;border-collapse:collapse;table-layout:fixed;border-top:2px solid var(--dfb-line-strong);margin:0}
.dfb .dfb-list col.c-num{width:90px}.dfb .dfb-list col.c-author{width:130px}.dfb .dfb-list col.c-date{width:130px}.dfb .dfb-list col.c-views{width:90px}
.dfb .dfb-list th{padding:17px 10px;border-bottom:1px solid #cfcfcf;font-size:15px;font-weight:600;color:var(--dfb-text);text-align:center;background:none}
.dfb .dfb-list td{padding:21px 10px;border-bottom:1px solid var(--dfb-line);text-align:center;color:#666;font-size:15px;vertical-align:middle;background:none}
.dfb .dfb-list td.c-title{text-align:left;color:var(--dfb-text);padding-left:24px}
.dfb .dfb-list td.c-title a{display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 60px);vertical-align:middle}
.dfb .dfb-list .dfb-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.dfb .dfb-list td.c-title a:hover .dfb-title-text{color:var(--dfb-primary);text-decoration:underline;text-underline-offset:3px}
.dfb .dfb-list .dfb-cat{color:var(--dfb-primary);font-weight:600;flex:0 0 auto}
.dfb .dfb-list .dfb-i-lock{width:15px;height:15px;color:var(--dfb-mute)}
.dfb .dfb-list tr.is-notice td{background:var(--dfb-bg-soft)}
.dfb .dfb-list tr.is-notice .dfb-title-text{font-weight:700}
.dfb .dfb-has-file{display:inline-flex;margin-left:6px;color:var(--dfb-mute);vertical-align:middle}
.dfb .dfb-has-file .dfb-i{width:15px;height:15px}
.dfb .dfb-new{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;margin-left:6px;border-radius:50%;
	background:var(--dfb-primary);color:var(--dfb-on-primary);font-size:10px;font-weight:700;vertical-align:middle;line-height:1}
.dfb .dfb-badge{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:var(--dfb-radius);background:var(--dfb-primary);
	color:var(--dfb-on-primary);font-size:12.5px;font-weight:600;line-height:1;vertical-align:middle}
.dfb .dfb-badge.is-line{background:#fff;color:var(--dfb-primary);border:1px solid var(--dfb-primary);height:22px;margin-left:6px;font-size:11.5px}
.dfb .dfb-m-meta{display:none}
.dfb .dfb-empty-row td{padding:80px 10px!important;color:var(--dfb-sub)!important}

/* ---------- 하단: 페이지 번호 + 글쓰기 ---------- */
.dfb .dfb-foot{position:relative;display:flex;justify-content:center;align-items:center;min-height:46px;margin:40px 0 0}
.dfb .dfb-pager{display:flex;gap:4px;align-items:center}
.dfb .dfb-pg{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 6px;border-radius:var(--dfb-radius);
	font-size:15px;color:#666}
.dfb a.dfb-pg:hover{background:var(--dfb-bg-soft);color:var(--dfb-text)}
.dfb .dfb-pg.is-on{background:var(--dfb-primary);color:var(--dfb-on-primary);font-weight:700}
.dfb .dfb-pg.is-arrow{color:#999}
.dfb .dfb-write-btn{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.dfb .dfb-write-btn .dfb-i{width:16px;height:16px}

/* ---------- 글 보기 ---------- */
.dfb .dfb-view-head{padding:0 0 26px;border-bottom:1px solid var(--dfb-line)}
.dfb .dfb-view-board{margin:0 0 10px;font-size:15px;font-weight:600;color:var(--dfb-primary)}
.dfb .dfb-view-cat{margin-left:8px;padding-left:10px;border-left:1px solid #ccc;color:var(--dfb-sub);font-weight:500}
.dfb .dfb-view-title{margin:0 0 18px;font-size:30px;line-height:1.35;font-weight:700;letter-spacing:-.02em;color:var(--dfb-text);display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.dfb .dfb-view-title .dfb-i-lock{width:24px;height:24px;color:var(--dfb-mute)}
.dfb .dfb-meta{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none;font-size:14.5px;color:#666}
.dfb .dfb-meta li{margin:0;padding:0 16px;border-left:1px solid #d9d9d9;line-height:1.1}
.dfb .dfb-meta li:first-child{padding-left:0;border-left:0}
.dfb .dfb-meta li span{margin-right:8px;color:var(--dfb-text);font-weight:600}
.dfb .dfb-content{padding:44px 0 60px;font-size:16px;line-height:1.85;color:#333;overflow-wrap:anywhere;min-height:180px}
.dfb .dfb-content img{max-width:100%;height:auto}
.dfb .dfb-content p{margin:0 0 1em}
.dfb .dfb-img{margin:0 0 24px}
.dfb .dfb-img img{display:block;max-width:100%;height:auto;border-radius:var(--dfb-radius)}
.dfb .dfb-extra{display:flex;flex-wrap:wrap;gap:8px 32px;margin:24px 0 0;padding:16px 20px;background:var(--dfb-bg-soft);border-radius:var(--dfb-radius);font-size:14.5px}
.dfb .dfb-extra div{display:flex;gap:10px}.dfb .dfb-extra dt{font-weight:600}.dfb .dfb-extra dd{margin:0}
.dfb .dfb-extra-note{width:100%;margin:0;font-size:12.5px;color:var(--dfb-sub)}
.dfb .dfb-files{margin:0 0 40px;padding:20px 24px;border:1px solid var(--dfb-line);border-radius:var(--dfb-radius);background:#fcfcfc}
.dfb .dfb-files-title{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-weight:600;font-size:15px}
.dfb .dfb-files-title b{color:var(--dfb-primary)}
.dfb .dfb-files ul{margin:0;padding:0;list-style:none}
.dfb .dfb-files li{display:flex;align-items:center;gap:10px;margin:0;padding:6px 0;font-size:14.5px}
.dfb .dfb-files li a{display:inline-flex;align-items:center;gap:6px;color:#444}
.dfb .dfb-files li a:hover{color:var(--dfb-primary);text-decoration:underline}
.dfb .dfb-files .dfb-i{width:16px;height:16px;color:var(--dfb-mute)}
.dfb .dfb-size{color:var(--dfb-mute);font-size:13px}
.dfb .dfb-locked{padding:70px 20px;text-align:center;color:#555;border-bottom:1px solid var(--dfb-line)}
.dfb .dfb-locked p{margin:14px 0 22px;line-height:1.7}
.dfb .dfb-locked-icon{display:inline-flex;width:64px;height:64px;align-items:center;justify-content:center;border-radius:50%;
	background:rgba(var(--dfb-primary-rgb),.08);color:var(--dfb-primary)}
.dfb .dfb-locked-icon .dfb-i{width:28px;height:28px}
.dfb .dfb-view-btns{display:flex;justify-content:space-between;gap:8px;padding:28px 0;border-top:1px solid var(--dfb-line)}
.dfb .dfb-view-btns-r{display:flex;gap:8px}
.dfb .dfb-inline{display:inline;margin:0}
.dfb .dfb-adjacent{border-top:2px solid var(--dfb-line-strong)}
.dfb .dfb-adjacent a{display:flex;align-items:center;gap:20px;padding:20px 12px;border-bottom:1px solid var(--dfb-line);color:#555}
.dfb .dfb-adjacent a:hover .dfb-adj-title{color:var(--dfb-primary)}
.dfb .dfb-adj-label{display:inline-flex;align-items:center;gap:8px;width:90px;flex:0 0 90px;font-weight:600;color:var(--dfb-text)}
.dfb .dfb-adj-label .dfb-i{width:16px;height:16px;color:var(--dfb-mute)}
.dfb .dfb-adj-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}
.dfb .dfb-adj-title .dfb-i{width:14px;height:14px;color:var(--dfb-mute)}
.dfb .dfb-adj-date{flex:0 0 auto;color:var(--dfb-mute);font-size:14px}

/* ---------- 글쓰기 ---------- */
.dfb .dfb-write{margin:0}
.dfb .dfb-sec-head{display:flex;justify-content:space-between;align-items:flex-end;margin:48px 0 0;padding:0 0 14px;border-bottom:2px solid var(--dfb-line-strong)}
.dfb .dfb-write>.dfb-sec-head:first-of-type,.dfb .dfb-write>.dfb-alert+.dfb-sec-head{margin-top:0}
.dfb .dfb-sec-head h3{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--dfb-text)}
.dfb .dfb-sec-head p{margin:0;font-size:13px;color:#666}
.dfb .dfb-req{color:var(--dfb-primary);margin-left:3px;font-weight:700}
.dfb .dfb-sec-head .dfb-req{margin:0 2px 0 0}
.dfb .dfb-form{margin:0}
.dfb .dfb-row{display:flex;align-items:center;border-bottom:1px solid var(--dfb-line);min-height:74px}
.dfb .dfb-row.is-top{align-items:flex-start}
.dfb .dfb-row.is-top .dfb-label{padding-top:26px}
.dfb .dfb-label{flex:0 0 180px;padding:0 20px;font-size:15px;font-weight:600;color:var(--dfb-text)}
.dfb .dfb-field{flex:1;min-width:0;padding:14px 0}
.dfb .dfb-field input[type=text],.dfb .dfb-field input[type=password],.dfb .dfb-field input[type=tel],.dfb .dfb-field input[type=email],
.dfb .dfb-field textarea,.dfb .dfb-pw input[type=password]{width:100%;height:46px;padding:0 14px;border:1px solid #d4d4d4;border-radius:var(--dfb-radius);
	font:inherit;font-size:15px;background:#fff;color:var(--dfb-text);box-shadow:none}
.dfb .dfb-field textarea{height:auto;min-height:280px;padding:14px;line-height:1.7;resize:vertical}
.dfb .dfb-field .is-short{max-width:260px}
.dfb .dfb-field .is-mid{max-width:420px}
.dfb .dfb-field .dfb-select select{width:100%;min-width:220px}
.dfb .dfb-help{display:flex;align-items:center;gap:5px;margin:8px 0 0;font-size:13px;color:#888}
.dfb .dfb-help .dfb-i{width:14px;height:14px}
.dfb .dfb-opts{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center}
.dfb .dfb-opts .dfb-help{margin:0}
.dfb .dfb-check{display:inline-flex;align-items:center;gap:8px;font-size:15px;cursor:pointer;user-select:none}
.dfb .dfb-check input{position:absolute;opacity:0;width:1px;height:1px}
.dfb .dfb-check span{width:20px;height:20px;border:1px solid #bbb;border-radius:3px;background:#fff;display:inline-flex;align-items:center;justify-content:center;transition:.15s}
.dfb .dfb-check.is-round span{border-radius:50%}
.dfb .dfb-check input:checked+span{background:var(--dfb-primary);border-color:var(--dfb-primary)}
.dfb .dfb-check input:checked+span::after{content:"";width:5px;height:10px;border:solid var(--dfb-on-primary);border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.dfb .dfb-check input:focus-visible+span{box-shadow:0 0 0 3px rgba(var(--dfb-primary-rgb),.2)}
.dfb .dfb-check.is-sm{font-size:13px;margin-left:10px;color:#888}.dfb .dfb-check.is-sm span{width:16px;height:16px}
.dfb .dfb-file{display:flex;align-items:center;gap:12px;margin:0 0 8px;cursor:pointer;position:relative}
.dfb .dfb-file input{position:absolute;opacity:0;width:1px;height:1px}
.dfb .dfb-file-btn{display:inline-flex;align-items:center;height:40px;padding:0 16px;border:1px solid #bbb;border-radius:var(--dfb-radius);background:#fff;font-size:14px;font-weight:500}
.dfb .dfb-file:hover .dfb-file-btn{border-color:var(--dfb-primary);color:var(--dfb-primary)}
.dfb .dfb-file-name{font-size:14px;color:#999;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dfb .dfb-file.has-file .dfb-file-name{color:var(--dfb-text)}
.dfb .dfb-cur-files{margin:0 0 12px;padding:0;list-style:none}
.dfb .dfb-cur-files li{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:14px}
.dfb .dfb-cur-files .dfb-i{width:15px;height:15px;color:var(--dfb-mute)}
.dfb .dfb-privacy{margin:0;border:1px solid #d9d9d9;border-top:0}
.dfb .dfb-privacy-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px}
.dfb .dfb-privacy-toggle .dfb-i{width:15px;height:15px;transition:transform .2s}
.dfb .dfb-privacy-toggle[aria-expanded=true] .dfb-i{transform:rotate(180deg)}
.dfb .dfb-privacy-text{padding:18px 22px;border-top:1px solid var(--dfb-line);background:var(--dfb-bg-soft);font-size:13.5px;line-height:1.8;color:#555;max-height:240px;overflow:auto}
.dfb .dfb-form-btns{display:flex;justify-content:center;gap:10px;margin:48px 0 0}
.dfb .dfb-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.dfb .wp-editor-wrap{border:1px solid #d4d4d4;border-radius:var(--dfb-radius);overflow:hidden}

/* ---------- 비밀번호 확인 ---------- */
.dfb .dfb-pw{max-width:460px;margin:0 auto;padding:60px 36px;text-align:center;border:1px solid var(--dfb-line);border-top:2px solid var(--dfb-line-strong)}
.dfb .dfb-pw h3{margin:18px 0 6px;font-size:22px;font-weight:700}
.dfb .dfb-pw>p{margin:0 0 24px;color:#666;font-size:14.5px}
.dfb .dfb-pw .dfb-form-btns{margin-top:24px}
.dfb .dfb-pw .dfb-btn-lg{min-width:0;flex:1}


/* ---------- FAQ 스킨 ---------- */
.dfb .dfb-faq{border-top:2px solid var(--dfb-line-strong)}
.dfb .dfb-faq-item{border-bottom:1px solid var(--dfb-line)}
.dfb .dfb-faq-q{display:flex;align-items:center;gap:18px;width:100%;margin:0;padding:24px 16px;border:0;background:none;text-align:left;cursor:pointer;color:var(--dfb-text);font:inherit;box-shadow:none}
.dfb .dfb-faq-q:hover .dfb-faq-title{color:var(--dfb-primary)}
.dfb .dfb-faq-q:focus-visible{outline:2px solid rgba(var(--dfb-primary-rgb),.35);outline-offset:-2px}
.dfb .dfb-faq-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--dfb-primary);color:var(--dfb-on-primary);font-size:14px;font-weight:500;line-height:1;letter-spacing:0}
.dfb .dfb-faq-mark.is-a{background:#fff;color:var(--dfb-primary);border:1px solid var(--dfb-primary)}
.dfb .dfb-faq-title{flex:1;min-width:0;font-size:17px;font-weight:600;line-height:1.5;transition:color .15s}
.dfb .dfb-faq-title .dfb-cat{display:inline-block;margin-right:8px;color:var(--dfb-primary);font-weight:700}
.dfb .dfb-faq-arrow{flex:0 0 auto;color:#999;transition:transform .25s}
.dfb .dfb-faq-arrow .dfb-i{width:20px;height:20px}
.dfb .dfb-faq-item.is-open .dfb-faq-arrow{transform:rotate(180deg);color:var(--dfb-primary)}
.dfb .dfb-faq-item.is-open .dfb-faq-title{color:var(--dfb-primary)}
.dfb .dfb-faq-a{display:flex;gap:18px;padding:26px 16px 30px;background:var(--dfb-bg-soft);border-top:1px solid var(--dfb-line)}
.dfb .dfb-faq-a[hidden]{display:none}
.dfb .dfb-faq-body{flex:1;min-width:0;padding-top:2px;font-size:15.5px;line-height:1.85;color:#444;overflow-wrap:anywhere}
.dfb .dfb-faq-body p{margin:0 0 .8em}
.dfb .dfb-faq-body p:last-child{margin-bottom:0}
.dfb .dfb-faq-body img{max-width:100%;height:auto;border-radius:var(--dfb-radius)}
.dfb .dfb-faq-tools{margin-top:14px!important;font-size:13px;color:var(--dfb-mute)}
.dfb .dfb-faq-tools a{text-decoration:underline}
.dfb .dfb-faq-empty{padding:70px 10px;margin:0;text-align:center;color:var(--dfb-sub)}
.dfb-skin-faq .dfb-search input[type=search]{width:340px}

/* ---------- 파일 형식 표시 ---------- */
.dfb .dfb-ft{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:22px;padding:0 6px;margin:2px 4px 2px 0;border-radius:3px;background:#8a8f98;color:#fff!important;font-size:11px;font-weight:700;letter-spacing:.03em;line-height:1;vertical-align:middle;text-decoration:none!important;transition:filter .15s,transform .15s}
.dfb a.dfb-ft:hover{filter:brightness(.9);transform:translateY(-1px)}
.dfb .dfb-ft.is-pdf{background:#e5484d}
.dfb .dfb-ft.is-hwp{background:#1b9ad6}
.dfb .dfb-ft.is-doc{background:#2f5fd0}
.dfb .dfb-ft.is-xls{background:#1f9254}
.dfb .dfb-ft.is-ppt{background:#e2702a}
.dfb .dfb-ft.is-zip{background:#6a55c9}
.dfb .dfb-ft.is-img{background:#12a19a}
.dfb .dfb-list col.c-files{width:200px}
.dfb .dfb-list td.c-files{text-align:center}
.dfb .dfb-ft-m{display:none}
.dfb .dfb-mute{color:var(--dfb-mute)}
.dfb .dfb-dl-guard{display:flex;align-items:center;gap:6px;margin:0 0 14px;padding:12px 16px;background:var(--dfb-bg-soft);border-radius:4px;font-size:14px;color:var(--dfb-sub)}
.dfb .dfb-dl-guard .dfb-i{width:16px;height:16px}
.dfb .dfb-dl-guard a{margin-left:6px;color:var(--dfb-primary);font-weight:600;text-decoration:underline}
.dfb .dfb-files li a .dfb-ft{min-width:40px;margin:0 8px 0 0}

/* ---------- 진행상태 ---------- */
.dfb .dfb-list col.c-state{width:110px}
.dfb .dfb-list td.c-state{text-align:center}
.dfb .dfb-state{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap;border:1px solid var(--dfb-line);color:var(--dfb-sub);background:#fff}
.dfb .dfb-state.is-ing{border-color:rgba(var(--dfb-primary-rgb),.5);color:var(--dfb-primary)}
.dfb .dfb-state.is-done{border-color:var(--dfb-primary);background:var(--dfb-primary);color:var(--dfb-on-primary)}
.dfb .dfb-view-state{margin:-4px 0 14px}
.dfb .dfb-cmt-n{margin-left:4px;color:var(--dfb-primary);font-size:13px;font-weight:600}

/* ---------- 답변·댓글 ---------- */
.dfb .dfb-cmts li.is-admin{background:rgba(var(--dfb-primary-rgb),.06);border-left:3px solid var(--dfb-primary)}
.dfb .dfb-cmt-who .dfb-badge{height:20px;padding:0 7px;font-size:11px;margin-right:2px}
.dfb .dfb-cmt-del{margin-left:auto}
.dfb .dfb-cmt-del button{border:0;background:none;padding:0;color:var(--dfb-mute);font-size:12px;cursor:pointer;text-decoration:underline}
.dfb .dfb-cmt-form{margin-top:14px}
.dfb .dfb-cmt-form textarea{display:block;width:100%;min-height:96px;padding:12px 14px;border:1px solid #d4d4d4;border-radius:var(--dfb-radius);font:inherit;font-size:14.5px;line-height:1.6;resize:vertical;background:#fff;color:var(--dfb-text)}
.dfb .dfb-cmt-form textarea:focus{outline:0;border-color:var(--dfb-primary)}
.dfb .dfb-cmt-bar{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:10px}
.dfb .dfb-cmt-bar .dfb-btn{height:42px}
.dfb .dfb-state-pick{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--dfb-sub)}
.dfb .dfb-state-pick select{height:42px}

/* ---------- 별점 (공통) ---------- */
.dfb{--dfb-star:var(--dfb-primary)}
.dfb .dfb-stars{display:inline-flex;gap:1px;vertical-align:middle;line-height:0}
.dfb .dfb-stars svg{width:15px;height:15px;fill:var(--dfb-star)}
.dfb .dfb-stars svg.is-off{fill:#dcdcdc}
.dfb .dfb-view-rating{display:flex;justify-content:center;align-items:center;gap:8px;margin:-4px 0 14px}
.dfb .dfb-view-rating .dfb-stars svg{width:18px;height:18px}
.dfb .dfb-view-rating b{font-size:15px;font-weight:600;color:var(--dfb-text)}
/* 글쓰기 별점 선택 (오른쪽→왼쪽 배치로 hover 채움) */
.dfb .dfb-rate-pick{display:inline-flex;flex-direction:row-reverse;gap:2px}
.dfb .dfb-rate-pick input{position:absolute;opacity:0;width:1px;height:1px}
.dfb .dfb-rate-pick label{cursor:pointer;line-height:0;padding:2px}
.dfb .dfb-rate-pick svg{fill:#dcdcdc;transition:fill .12s}
.dfb .dfb-rate-pick input:checked~label svg,.dfb .dfb-rate-pick label:hover svg,.dfb .dfb-rate-pick label:hover~label svg{fill:var(--dfb-star)}
.dfb .dfb-rate-pick input:focus-visible+label{outline:2px solid rgba(var(--dfb-primary-rgb),.35);border-radius:3px}

/* ---------- 옮겨온 댓글 (읽기 전용) ---------- */
.dfb .dfb-cmts{margin:0 0 30px;border-top:1px solid var(--dfb-line)}
.dfb .dfb-cmts-title{margin:22px 0 10px;font-weight:600}
.dfb .dfb-cmts-title b{color:var(--dfb-primary)}
.dfb .dfb-cmts ul{list-style:none;margin:0;padding:0}
.dfb .dfb-cmts li{padding:16px 18px;margin:0 0 8px;background:var(--dfb-bg-soft);border-radius:6px}
.dfb .dfb-cmt-who{display:flex;gap:10px;align-items:center;margin:0 0 6px;font-size:14px}
.dfb .dfb-cmt-who span{color:var(--dfb-mute);font-size:12.5px}
.dfb .dfb-cmt-text p{margin:0;font-size:14.5px;color:#444}

/* ---------- 후기 스킨 (말풍선 카드) ---------- */
.dfb .dfb-rv-avg{display:inline-flex;align-items:center;gap:6px;margin-left:14px;padding-left:14px;border-left:1px solid var(--dfb-line)}
.dfb .dfb-rv-avg b{font-weight:600;color:var(--dfb-text)}
.dfb .dfb-rv{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:34px 26px;border-top:2px solid var(--dfb-line-strong);padding-top:34px}
.dfb .dfb-rv-item{margin:0;padding:0;min-width:0}
.dfb .dfb-rv-card{display:flex;flex-direction:column;height:100%;color:inherit}
.dfb .dfb-rv-bubble{position:relative;flex:1;padding:22px 24px 24px;background:#fff;border:1px solid var(--dfb-line);border-radius:6px;transition:border-color .2s,box-shadow .2s}
/* 꼬리: 왼쪽 아래 작은 삼각형 (테두리 + 채움 두 겹) */
.dfb .dfb-rv-bubble::before,.dfb .dfb-rv-bubble::after{content:"";position:absolute;left:24px;width:0;height:0;border-style:solid}
.dfb .dfb-rv-bubble::before{bottom:-10px;border-width:10px 10px 0 0;border-color:var(--dfb-line) transparent transparent transparent;transition:border-color .2s}
.dfb .dfb-rv-bubble::after{bottom:-8px;left:25px;border-width:8px 8px 0 0;border-color:#fff transparent transparent transparent}
.dfb .dfb-rv-card:hover .dfb-rv-bubble{border-color:var(--dfb-primary);box-shadow:0 8px 22px rgba(0,0,0,.06)}
.dfb .dfb-rv-card:hover .dfb-rv-bubble::before{border-top-color:var(--dfb-primary)}
.dfb .dfb-rv-item.is-notice .dfb-rv-bubble{background:var(--dfb-bg-soft)}
.dfb .dfb-rv-item.is-notice .dfb-rv-bubble::after{border-top-color:var(--dfb-bg-soft)}
.dfb .dfb-rv-top{display:flex;align-items:center;gap:6px;min-height:18px;margin:0 0 12px}
.dfb .dfb-rv-top .dfb-badge{height:22px;font-size:11.5px;padding:0 8px}
.dfb .dfb-rv-top .dfb-badge.is-line{margin-left:0}
.dfb .dfb-rv-top .dfb-new{margin-left:0}
.dfb .dfb-rv-main{display:flex;gap:16px;align-items:flex-start}
.dfb .dfb-rv-txt{flex:1;min-width:0}
.dfb .dfb-rv-title{margin:0 0 8px;font-size:16.5px;font-weight:600;line-height:1.45;color:var(--dfb-text);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.dfb .dfb-rv-title .dfb-i{width:15px;height:15px;margin:-3px 4px 0 0;color:var(--dfb-mute)}
.dfb .dfb-rv-title .dfb-cat{margin-right:6px;color:var(--dfb-primary);font-weight:700}
.dfb .dfb-rv-card:hover .dfb-rv-title{color:var(--dfb-primary)}
.dfb .dfb-rv-text{margin:0;font-size:14.5px;line-height:1.75;color:#666;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.dfb .dfb-rv-thumb{flex:0 0 76px;width:76px;height:76px;object-fit:cover;border-radius:4px;background:var(--dfb-bg-soft)}
.dfb .dfb-rv-who{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:18px 0 0 12px;font-size:13.5px;color:var(--dfb-sub)}
.dfb .dfb-rv-who b{font-weight:600;color:var(--dfb-text)}
.dfb .dfb-rv-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:rgba(var(--dfb-primary-rgb),.1);color:var(--dfb-primary);font-size:13px;font-weight:600}
.dfb .dfb-rv-date,.dfb .dfb-rv-meta{color:var(--dfb-mute);font-size:12.5px}
.dfb .dfb-rv-meta::before{content:"";display:inline-block;width:1px;height:9px;margin:0 8px 0 0;background:#ddd;vertical-align:middle}
.dfb .dfb-rv-empty{padding:80px 10px;margin:0;text-align:center;color:var(--dfb-sub);border-top:2px solid var(--dfb-line-strong)}

/* ---------- 하단 크레딧 ---------- */
.dfb .dfb-credit{margin:36px 0 0;padding-left:10px;text-align:left;font-family:"프리텐다드 L","Pretendard Variable",Pretendard,-apple-system,sans-serif;font-size:10.5px;font-weight:200;line-height:1;letter-spacing:.02em}
.dfb .dfb-credit a{color:#c9c9c9;text-decoration:none;transition:color .2s}
.dfb .dfb-credit a:hover{color:#999}

/* 글 보기 페이지(테마 안) 여백 */
.dfb-single-page{padding:60px 20px 90px}

/* ---------- 모바일 ---------- */
@media (max-width:768px){
	.dfb{font-size:14.5px}
	.dfb .dfb-head{flex-direction:column;align-items:stretch;gap:12px}
	.dfb .dfb-search input[type=search]{width:auto;flex:1;min-width:0}
	.dfb .dfb-select select{min-width:96px;padding-right:32px}
	.dfb .dfb-list thead{display:none}
	.dfb .dfb-list colgroup{display:none}
	.dfb .dfb-list,.dfb .dfb-list tbody,.dfb .dfb-list tr{display:block;width:100%}
	.dfb .dfb-list tr{position:relative;padding:16px 6px;border-bottom:1px solid var(--dfb-line)}
	.dfb .dfb-list td{display:none;padding:0;border:0}
	.dfb .dfb-list td.c-title{display:block;padding:0}
	.dfb .dfb-list tr.is-notice td.c-num{display:inline-block;margin:0 0 6px}
	.dfb .dfb-list tr.is-notice td{background:none}
	.dfb .dfb-list tr.is-notice{background:var(--dfb-bg-soft)}
	.dfb .dfb-list td.c-title{display:flex!important;flex-wrap:wrap;align-items:center}
	.dfb .dfb-list td.c-title a{flex:0 1 auto;min-width:0;max-width:calc(100% - 64px)}
	.dfb .dfb-m-meta{flex-basis:100%}
	.dfb .dfb-m-meta{display:flex;flex-wrap:wrap;gap:0;margin-top:6px;font-size:13px;color:var(--dfb-mute)}
	.dfb .dfb-m-meta span+span::before{content:"";display:inline-block;width:1px;height:10px;margin:0 8px;background:#ddd;vertical-align:middle}
	.dfb .dfb-empty-row td{display:block!important;padding:60px 10px!important;text-align:center}
	.dfb .dfb-foot{flex-direction:column;gap:18px}
	.dfb .dfb-write-btn{position:static;transform:none;align-self:flex-end}
	.dfb .dfb-view-title{font-size:22px}
	.dfb .dfb-meta li{padding:0 10px}
	.dfb .dfb-content{padding:30px 0 44px;font-size:15.5px}
	.dfb .dfb-view-btns .dfb-btn{min-width:0;padding:0 16px}
	.dfb .dfb-adj-label{width:70px;flex-basis:70px}
	.dfb .dfb-adj-date{display:none}
	.dfb .dfb-row{flex-direction:column;align-items:stretch;min-height:0;padding:14px 0 4px}
	.dfb .dfb-row.is-top .dfb-label,.dfb .dfb-label{flex:none;padding:0 0 6px}
	.dfb .dfb-field{padding:0 0 12px}
	.dfb .dfb-field .is-short,.dfb .dfb-field .is-mid{max-width:none}
	.dfb .dfb-sec-head h3{font-size:19px}
	.dfb .dfb-privacy-row{flex-direction:column;align-items:flex-start}
	.dfb .dfb-btn-lg{min-width:0;flex:1}
	.dfb-single-page{padding:36px 16px 60px}
	.dfb .dfb-faq-q{gap:12px;padding:18px 6px}
	.dfb .dfb-faq-a{gap:12px;padding:20px 6px 24px}
	.dfb .dfb-faq-mark{flex-basis:26px;width:26px;height:26px;font-size:12.5px}
	.dfb .dfb-faq-title{font-size:15.5px}
	.dfb .dfb-faq-body{padding-top:1px;font-size:14.5px}
	.dfb-skin-faq .dfb-search input[type=search]{width:auto}
	.dfb .dfb-ft-m{display:flex;flex-wrap:wrap;flex-basis:100%;margin-top:6px}
	.dfb .dfb-cmt-bar{flex-wrap:wrap}
	.dfb .dfb-rv{grid-template-columns:1fr;gap:26px;padding-top:24px}
	.dfb .dfb-rv-bubble{padding:18px 18px 20px}
	.dfb .dfb-rv-title{font-size:15.5px}
	.dfb .dfb-rv-text{font-size:14px;-webkit-line-clamp:3}
	.dfb .dfb-rv-thumb{flex-basis:64px;width:64px;height:64px}
	.dfb .dfb-rv-avg{display:flex;width:max-content;margin:6px 0 0;padding:0;border:0}
}

/* ---------- 웹진형 자료실 (webzine) ---------- */
.dfb .dfb-wz{list-style:none;margin:0;padding:0;border-top:2px solid var(--dfb-line-strong)}
.dfb .dfb-wz-item{display:grid;grid-template-columns:300px minmax(0,1fr);gap:36px;align-items:center;margin:0;padding:32px 0;border-bottom:1px solid var(--dfb-line)}
.dfb .dfb-wz-item.is-notice{background:var(--dfb-bg-soft)}
.dfb .dfb-wz-empty{padding:70px 0;text-align:center;color:var(--dfb-sub);border-bottom:1px solid var(--dfb-line)}
.dfb .dfb-wz-thumb{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;border-radius:12px;background:var(--dfb-bg-soft);text-decoration:none!important}
.dfb .dfb-wz-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.dfb .dfb-wz-item:hover .dfb-wz-thumb img,.dfb .dfb-wz-item:hover .dfb-wz-auto{transform:scale(1.04)}
/* 자동 썸네일 */
.dfb .dfb-wz-auto{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:22px 24px;color:#fff;overflow:hidden;background:linear-gradient(135deg,#0e2a47 0%,#1787d0 100%);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.dfb .dfb-wz-auto.is-t1{background:linear-gradient(135deg,#0b3b3f 0%,#14a3a0 100%)}
.dfb .dfb-wz-auto.is-t2{background:linear-gradient(135deg,#231f52 0%,#5b5bd6 100%)}
.dfb .dfb-wz-auto.is-t3{background:linear-gradient(135deg,#17191d 0%,#3b4656 100%)}
.dfb .dfb-wz-auto::before{content:"";position:absolute;right:-60px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),rgba(255,255,255,0) 70%)}
.dfb .dfb-wz-auto small{position:relative;z-index:1;font-size:11px;font-weight:600;letter-spacing:.16em;opacity:.75}
.dfb .dfb-wz-auto b{position:relative;z-index:1;display:block;max-width:62%;margin-top:6px;font-size:24px;font-weight:800;line-height:1.25;letter-spacing:-.03em;word-break:keep-all}
.dfb .dfb-wz-doc{position:absolute;right:22px;top:20px;width:84px;height:108px;padding:18px 12px 0;border-radius:6px;background:rgba(255,255,255,.95);box-shadow:0 18px 30px -12px rgba(0,0,0,.45);transform:rotate(8deg)}
.dfb .dfb-wz-doc::before{content:"";position:absolute;right:0;top:0;width:18px;height:18px;border-radius:0 6px 0 6px;background:rgba(0,0,0,.12)}
.dfb .dfb-wz-doc i{display:block;height:5px;margin-bottom:8px;border-radius:3px;background:#d7dde6}
.dfb .dfb-wz-doc i:first-child{width:60%;height:7px;background:#1787d0}
.dfb .dfb-wz-doc i:nth-child(3){width:80%}
.dfb .dfb-wz-doc i:nth-child(4){width:50%}
.dfb .dfb-wz-auto.is-t1 .dfb-wz-doc i:first-child{background:#14a3a0}
.dfb .dfb-wz-auto.is-t2 .dfb-wz-doc i:first-child{background:#5b5bd6}
.dfb .dfb-wz-auto.is-t3 .dfb-wz-doc i:first-child{background:#3b4656}
/* 본문 */
.dfb .dfb-wz-eye{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0 0 10px;font-size:14px;color:var(--dfb-sub)}
.dfb .dfb-wz-eye span+span::before{content:"";display:inline-block;width:1px;height:10px;margin-right:14px;background:var(--dfb-line);vertical-align:0}
.dfb .dfb-wz-cat{color:var(--dfb-primary);font-weight:600}
.dfb .dfb-wz-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;font-size:22px;font-weight:700;line-height:1.4;letter-spacing:-.02em}
.dfb .dfb-wz-title a{color:var(--dfb-text)!important;text-decoration:none!important}
.dfb .dfb-wz-title a:hover{color:var(--dfb-primary)!important}
.dfb .dfb-wz-title .dfb-new{margin-left:2px}
.dfb .dfb-wz-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 20px;font-size:15.5px;line-height:1.7;color:var(--dfb-sub);word-break:keep-all}
.dfb .dfb-wz-act{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.dfb .dfb-wz-dl{display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 20px;border-radius:999px;background:var(--dfb-primary);color:var(--dfb-on-primary)!important;font-size:15px;font-weight:600;text-decoration:none!important;transition:background .2s,transform .2s}
.dfb .dfb-wz-dl:hover{background:var(--dfb-primary-hover);transform:translateY(-1px)}
.dfb .dfb-wz-dl svg{width:17px;height:17px}
.dfb .dfb-wz-dl.is-off{background:var(--dfb-bg-soft);color:var(--dfb-sub)!important;cursor:default;transform:none}
.dfb .dfb-wz-dl .dfb-i{width:15px;height:15px}
.dfb .dfb-wz-more{font-size:15px;font-weight:600;color:var(--dfb-text)!important;text-decoration:none!important}
.dfb .dfb-wz-more:hover{color:var(--dfb-primary)!important}
@media (max-width:900px){
	.dfb .dfb-wz-item{grid-template-columns:220px minmax(0,1fr);gap:24px}
	.dfb .dfb-wz-auto b{font-size:19px}
	.dfb .dfb-wz-doc{width:64px;height:84px;padding-top:14px}
}
@media (max-width:640px){
	.dfb .dfb-wz-item{grid-template-columns:1fr;gap:18px;padding:26px 0}
	.dfb .dfb-wz-title{font-size:19px}
	.dfb .dfb-wz-desc{font-size:15px;margin-bottom:16px}
	.dfb .dfb-wz-auto b{font-size:22px}
	.dfb .dfb-wz-doc{width:78px;height:100px}
}

/* v0.8.0 유지보수 신청 — 회원 배지 */
.dfb-care-badge{display:inline-block;margin-right:6px;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:700;line-height:1.6;vertical-align:middle;white-space:nowrap}
.dfb-care-badge.is-manage{background:#16a34a;color:#fff}
.dfb-care-badge.is-maintain{background:#1787d0;color:#fff}
.dfb-care-badge.is-general{background:#e5e7eb;color:#374151}
.dfb-care-badge.is-none{background:#fff;color:#b45309;border:1px solid #f3c98b}
.dfb-care-badge.is-urgent{background:#dc2626;color:#fff}
.dfb-care-view{margin-bottom:14px}
