@charset "UTF-8";
/* ══════════════════════════════════════════════════════════
   게시판 · 글보기 · 글쓰기 — 메인 퍼블리싱 톤으로 통일
   기존 umji 스킨 마크업(ub-* / uv-*)을 그대로 두고 외형만 맞춘다.
   ══════════════════════════════════════════════════════════ */

/* ── 페이지 바탕 ── */
body { background: #F7FBFE; }
.wrap.mm-body {
	width: 100%;
	max-width: 1380px;
	padding: 28px 20px 56px;
	margin: 0 auto;
	box-sizing: border-box;
}

/* ══════ 목록 ══════ */
.umji-board {
	background: #fff;
	border: 1px solid #E8EEF3;
	border-radius: 16px;
	box-shadow: 0 2px 10px rgba(17, 17, 17, .035);
	overflow: hidden;
}

/* 헤더 */
.umji-board .ub-head {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	padding: 20px 24px;
	border-bottom: 1px solid #EDF2F6;
	background: #fff;
}
.umji-board .ub-title { display: flex; align-items: center; gap: 10px; }
.umji-board .ub-tag {
	padding: 4px 10px;
	border-radius: 7px;
	background: #E6FBF8;
	color: #00A39B;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .04em;
}
.umji-board .ub-name {
	font-family: var(--font-family-title), var(--font-family);
	font-size: 21px;
	font-weight: 700;
	color: #16212B;
	letter-spacing: -.02em;
}
.umji-board .ub-count {
	min-width: 24px;
	padding: 2px 8px;
	border-radius: 999px;
	background: #F1F5F8;
	color: #6D8496;
	font-size: 12.5px;
	font-weight: 700;
	text-align: center;
}
.umji-board .ub-head-btns { margin-left: auto; display: flex; align-items: center; gap: 7px; }
.umji-board .ub-sch-btn,
.umji-board .ub-admin-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	height: 38px;
	min-width: 38px;
	padding: 0 12px;
	border-radius: 10px;
	border: 1px solid #E1E8EE;
	background: #fff;
	color: #5C7386;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: all .16s;
}
.umji-board .ub-sch-btn svg { width: 17px; height: 17px; }
.umji-board .ub-sch-btn:hover,
.umji-board .ub-admin-btn:hover { border-color: var(--primary); color: #00A39B; background: #F4FDFC; }
.umji-board .ub-write-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 38px;
	padding: 0 18px;
	border-radius: 10px;
	background: var(--primary);
	color: #07443F;
	font-size: 13.5px;
	font-weight: 700;
	border: 0;
	transition: filter .16s, transform .16s;
}
.umji-board .ub-write-btn:hover { filter: brightness(1.05); transform: translateY(-1px); }

/* 목록 헤더 행 */
.umji-board .ub-list-head {
	display: flex;
	align-items: center;
	padding: 11px 24px;
	background: #FAFCFE;
	border-bottom: 1px solid #EDF2F6;
	font-size: 12.5px;
	font-weight: 700;
	color: #8397A7;
}

/* 행 */
.umji-board .ub-rows { display: block; }
.umji-board .ub-row {
	display: flex;
	align-items: center;
	padding: 14px 24px;
	border-bottom: 1px solid #F1F5F8;
	color: #2C3A45;
	transition: background .14s;
}
.umji-board .ub-row:last-child { border-bottom: 0; }
.umji-board .ub-row:hover { background: #F7FDFC; }
.umji-board .ub-row.pinned { background: #FFFCF2; }
.umji-board .ub-row.pinned:hover { background: #FFF8E6; }

.umji-board .ub-c-num  { flex: 0 0 66px;  font-size: 13px; color: #9AAAB8; text-align: center; }
.umji-board .ub-c-cat  { flex: 0 0 92px; }
.umji-board .ub-c-subject { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 8px; }
.umji-board .ub-c-name { flex: 0 0 120px; font-size: 13px; color: #6D8496; text-align: center; }
.umji-board .ub-c-date { flex: 0 0 96px;  font-size: 12.5px; color: #9AAAB8; text-align: center; }
.umji-board .ub-c-hit  { flex: 0 0 74px;  font-size: 12.5px; color: #9AAAB8; text-align: center; }

.umji-board .ub-subj {
	font-size: 15px;
	font-weight: 500;
	color: #1D2A34;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	letter-spacing: -.015em;
}
.umji-board .ub-row:hover .ub-subj { color: #00857F; }
.umji-board .ub-c-cat span,
.umji-board .ub-cat {
	display: inline-block;
	padding: 3px 9px;
	border-radius: 6px;
	background: #F1F5F8;
	color: #6D8496;
	font-size: 11.5px;
	font-weight: 600;
}
.umji-board .ub-pin { color: #E8A33D; }
.umji-board .ub-new {
	display: inline-block;
	margin-left: 4px;
	padding: 2px 6px;
	border-radius: 5px;
	background: var(--primary-reverse);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	vertical-align: 2px;
}
.umji-board .ub-cmt,
.umji-board .ub-c-subject em {
	font-style: normal;
	font-size: 12px;
	font-weight: 700;
	color: #00A39B;
}

/* 페이징 */
.umji-board .ub-paging {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
	flex-wrap: wrap;
	padding: 22px 24px;
	border-top: 1px solid #EDF2F6;
	background: #fff;
}
.umji-board .ub-paging a,
.umji-board .ub-paging strong,
.umji-board .ub-paging span {
	min-width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 11px;
	border-radius: 9px;
	border: 1px solid #E5EBF0;
	background: #fff;
	color: #5C7386;
	font-size: 13.5px;
	font-weight: 600;
	transition: all .15s;
}
.umji-board .ub-paging a:hover { border-color: var(--primary); color: #00A39B; background: #F4FDFC; }
.umji-board .ub-paging strong,
.umji-board .ub-paging .on {
	background: var(--primary);
	border-color: var(--primary);
	color: #07443F;
	font-weight: 800;
}

/* ══════ 글보기 ══════ */
.umji-view {
	background: #fff;
	border: 1px solid #E8EEF3;
	border-radius: 16px;
	box-shadow: 0 2px 10px rgba(17, 17, 17, .035);
	overflow: hidden;
}
.umji-view .uv-head { padding: 26px 28px 20px; border-bottom: 1px solid #EDF2F6; }
.umji-view .uv-title {
	font-family: var(--font-family-title), var(--font-family);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	color: #16212B;
	letter-spacing: -.02em;
	word-break: keep-all;
}
.umji-view .uv-meta {
	display: flex;
	align-items: center;
	gap: 9px;
	flex-wrap: wrap;
	margin-top: 12px;
	font-size: 13px;
	color: #8397A7;
}
.umji-view .uv-author { font-weight: 700; color: #3C4E5C; }
.umji-view .uv-dot { color: #C8D4DD; }
.umji-view .uv-con {
	padding: 30px 28px;
	font-size: 15.5px;
	line-height: 1.85;
	color: #2C3A45;
	word-break: break-word;
}
.umji-view .uv-con img { max-width: 100%; height: auto; border-radius: 10px; }
.umji-view .uv-con a { color: #00857F; text-decoration: underline; text-underline-offset: 2px; }
.umji-view .uv-files {
	margin: 0 28px 24px;
	padding: 14px 18px;
	border-radius: 12px;
	background: #F7FBFE;
	border: 1px solid #E8EEF3;
}
.umji-view .uv-files a { color: #3C4E5C; font-size: 13.5px; }
.umji-view .uv-files a:hover { color: #00857F; }

.umji-view .uv-actions,
.umji-view .uv-btns {
	display: flex;
	align-items: center;
	gap: 7px;
	flex-wrap: wrap;
	padding: 18px 28px;
	border-top: 1px solid #EDF2F6;
	background: #FAFCFE;
}
.umji-view .uv-btn,
.umji-view .uv-act {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 40px;
	padding: 0 16px;
	border-radius: 10px;
	border: 1px solid #E1E8EE;
	background: #fff;
	color: #5C7386;
	font-size: 13.5px;
	font-weight: 600;
	cursor: pointer;
	transition: all .16s;
}
.umji-view .uv-btn:hover,
.umji-view .uv-act:hover { border-color: var(--primary); color: #00A39B; background: #F4FDFC; }
.umji-view .uv-btn.primary {
	background: var(--primary);
	border-color: var(--primary);
	color: #07443F;
	font-weight: 700;
}
.umji-view .uv-btn.danger { border-color: #F3C9C4; color: #C2554A; background: #FFF7F6; }
.umji-view .uv-btn.danger:hover { background: #FFEEEC; }
.umji-view .uv-nb {
	display: flex;
	flex-direction: column;
	border-top: 1px solid #EDF2F6;
}
.umji-view .uv-nb a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 28px;
	border-bottom: 1px solid #F1F5F8;
	font-size: 14px;
	color: #3C4E5C;
	transition: background .14s;
}
.umji-view .uv-nb a:hover { background: #F7FDFC; color: #00857F; }
.umji-view .nb-tit { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ══════ 댓글 ══════
   그누보드 기본 view_comment 마크업(#bo_vc / #bo_vc_w)을 그대로 두고
   외형만 메인 톤으로 맞춘다. 마크업을 건드리지 않으므로 댓글 등록·수정·
   답변·비밀글·캡챠 등 기존 동작은 전부 그대로다. */

/* 스크린리더 전용 텍스트
   ※ 서브페이지에서는 default.css 를 싣지 않는다. 그 바람에 원래 숨어
      있어야 할 "관리자님의 댓글", "작성일", "댓글목록" 같은 문구가 그대로
      노출돼서 댓글창이 깨져 보였다. 여기서 직접 숨긴다. */
.wrap.mm-body .sound_only,
.wrap.mm-body #captcha legend,
/* 게시글 보기의 구역 제목 — 원본 스킨에서도 화면에는 보이지 않고
   스크린리더에만 읽히도록 만들어진 것들이다. (mm 계열 스킨이 원본
   style.css 를 싣지 않아 "페이지 정보" 가 그대로 노출돼 있었다) */
.wrap.mm-body #bo_v_info > h2,
.wrap.mm-body #bo_v_atc_title,
.wrap.mm-body #bo_v_file > h2,
.wrap.mm-body #bo_v_link > h2 {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* 댓글 수 헤더 */
.wrap.mm-body .cmt_btn {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 26px 0 2px;
	padding: 0;
	border: 0;
	background: none;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	color: #16212B;
	cursor: default;
}
.wrap.mm-body .cmt_btn .total { display: inline-flex; align-items: center; gap: 6px; }
.wrap.mm-body .cmt_btn .total b { font-weight: 700; }
.wrap.mm-body .cmt_btn .cmt_more { display: none; }

/* 목록 */
.wrap.mm-body #bo_vc {
	margin: 0 0 14px;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
.wrap.mm-body #bo_vc > h2 { display: none; }
.wrap.mm-body #bo_vc #bo_vc_empty {
	margin: 0;
	padding: 34px 0 !important;
	border-top: 1px solid #E8EEF3;
	color: #9AACB8;
	font-size: 14px;
	text-align: center;
}
.wrap.mm-body #bo_vc article {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr) auto;
	column-gap: 12px;
	align-items: start;
	padding: 16px 2px;
	border-top: 1px solid #EDF2F6;
	border-bottom: 0;
}
.wrap.mm-body #bo_vc article:first-of-type { border-top-color: #E8EEF3; }

.wrap.mm-body #bo_vc .pf_img {
	grid-column: 1;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	overflow: hidden;
	background: #F1F5F8;
}
.wrap.mm-body #bo_vc .pf_img img { display: block; width: 100%; height: 100%; object-fit: cover; }

.wrap.mm-body #bo_vc .cm_wrap { grid-column: 2; min-width: 0; }
.wrap.mm-body #bo_vc article header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	margin: 0 0 5px;
	padding: 0;
	border: 0;
	background: none;
}
.wrap.mm-body #bo_vc article header h2 { display: none; }
.wrap.mm-body #bo_vc article header .member,
.wrap.mm-body #bo_vc article header .guest,
.wrap.mm-body #bo_vc article header .sv_member,
.wrap.mm-body #bo_vc article header .sv_guest {
	font-size: 13.5px;
	font-weight: 700;
	color: #16212B;
}
.wrap.mm-body #bo_vc .bo_vc_hdinfo { font-size: 12px; font-weight: 400; color: #9AACB8; }
.wrap.mm-body #bo_vc .bo_vc_hdinfo i { margin-right: 3px; }

.wrap.mm-body #bo_vc .cmt_contents { padding: 0; border: 0; }
.wrap.mm-body #bo_vc .cmt_contents p {
	margin: 0;
	font-size: 14px;
	line-height: 1.75;
	color: #33434F;
	white-space: pre-line;
	word-break: break-word;
}
.wrap.mm-body #bo_vc .cmt_contents img { max-width: 100%; height: auto; }

/* 답변 / 수정 / 삭제 : ⋮ 팝업 대신 오른쪽에 조용히 붙는 텍스트 링크 */
.wrap.mm-body #bo_vc .bo_vl_opt { grid-column: 3; display: flex; align-items: center; }
.wrap.mm-body #bo_vc .btn_cm_opt { display: none; }
.wrap.mm-body #bo_vc .bo_vc_act {
	display: flex !important;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.wrap.mm-body #bo_vc .bo_vc_act li { margin: 0; }
.wrap.mm-body #bo_vc .bo_vc_act a { font-size: 12px; color: #9AACB8; transition: color .14s; }
.wrap.mm-body #bo_vc .bo_vc_act a:hover { color: #00857F; }

/* 댓글 쓰기 */
.wrap.mm-body #fviewcomment {
	margin: 0 0 4px;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid #E8EEF3;
	border-radius: 14px;
	box-shadow: 0 2px 10px rgba(17, 17, 17, .035);
}
.wrap.mm-body #bo_vc_w > h2 { display: none; }
/* 답변·수정 시 comment_box() 가 폼을 댓글 안(#reply_* / #edit_*)으로 옮긴다 */
.wrap.mm-body #bo_vc span.bo_vc_w { display: block; }
.wrap.mm-body #bo_vc span.bo_vc_w #fviewcomment { margin: 12px 0 4px; }
.wrap.mm-body #fviewcomment textarea#wr_content {
	width: 100%;
	min-height: 92px;
	margin: 0;
}
.wrap.mm-body #fviewcomment .bo_vc_w_wr {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	margin-top: 10px;
}
.wrap.mm-body #fviewcomment .bo_vc_w_info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	min-width: 0;
}
.wrap.mm-body #fviewcomment .bo_vc_w_info .frm_input { width: 150px; min-height: 42px; }
.wrap.mm-body #fviewcomment .btn_confirm {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-left: auto;
}
.wrap.mm-body #fviewcomment #btn_submit {
	height: 44px;
	padding: 0 28px;
	border: 0;
	border-radius: 10px;
	background: #0CEFD3;
	color: #07443F;
	font-family: inherit;
	font-size: 14.5px;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
	transition: filter .16s;
}
.wrap.mm-body #fviewcomment #btn_submit:hover { filter: brightness(1.05); }

/* 비밀글 체크 */
.wrap.mm-body #fviewcomment .secret_cm { display: inline-flex; align-items: center; gap: 6px; }
.wrap.mm-body #fviewcomment .secret_cm label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #5C7386;
	cursor: pointer;
}
.wrap.mm-body #fviewcomment .secret_cm label span { display: none; }
/* 기본 스킨 style.css 가 .selec_chk 를 opacity:0 으로 감춰 두고 <span> 이미지를
   대신 쓰는데, 그 이미지가 지금 테마에 없다. 네이티브 체크박스를 되살린다. */
.wrap.mm-body #fviewcomment .selec_chk {
	position: static;
	width: 17px;
	height: 17px;
	min-height: 0;
	margin: 0;
	opacity: 1;
	overflow: visible;
	z-index: auto;
	-webkit-appearance: checkbox;
	appearance: checkbox;
	accent-color: #0CEFD3;
	cursor: pointer;
}

/* 자동등록방지 */
.wrap.mm-body #fviewcomment #captcha { display: inline-flex; align-items: center; gap: 6px; border: 0; padding: 0; margin: 0; }
.wrap.mm-body #fviewcomment #captcha_img { height: 42px; border: 1px solid #E1E8EE; border-radius: 8px; }
.wrap.mm-body #fviewcomment #captcha_key { width: 96px; min-height: 42px; }
.wrap.mm-body #fviewcomment #captcha_mp3,
.wrap.mm-body #fviewcomment #captcha_reload {
	flex: 0 0 auto;
	height: 42px;
	padding: 0 10px;
	white-space: nowrap;
	word-break: keep-all;
	border: 1px solid #E1E8EE;
	border-radius: 8px;
	background: #fff;
	color: #5C7386;
	font-family: inherit;
	font-size: 12px;
	cursor: pointer;
}
.wrap.mm-body #fviewcomment #captcha_info { display: none; }

@media (max-width: 640px) {
	#bo_vc article { grid-template-columns: 32px minmax(0, 1fr); }
	#bo_vc .pf_img { width: 32px; height: 32px; }
	#bo_vc .bo_vl_opt { grid-column: 2; margin-top: 8px; }
	#fviewcomment { padding: 14px; }
	#fviewcomment .bo_vc_w_info .frm_input { width: calc(50% - 4px); }
	#fviewcomment .btn_confirm { width: 100%; margin-left: 0; justify-content: space-between; }
	#fviewcomment #btn_submit { flex: 1 1 auto; max-width: 180px; }
}

/* ══════ 글쓰기 · 검색 · 공통 폼 ══════ */
.wrap.mm-body input[type="text"],
.wrap.mm-body input[type="password"],
.wrap.mm-body input[type="email"],
.wrap.mm-body input[type="search"],
.wrap.mm-body select,
.wrap.mm-body textarea,
.wrap.mm-body .frm_input {
	box-sizing: border-box;
	padding: 0 14px;
	min-height: 44px;
	border: 1px solid #E1E8EE;
	border-radius: 10px;
	background: #fff;
	color: #1D2A34;
	font-family: inherit;
	font-size: 14.5px;
	outline: none;
	transition: border-color .16s, box-shadow .16s;
}
.wrap.mm-body textarea { padding: 12px 14px; line-height: 1.8; min-height: 160px; resize: vertical; }
.wrap.mm-body input:focus,
.wrap.mm-body select:focus,
.wrap.mm-body textarea:focus {
	border-color: var(--primary);
	box-shadow: 0 0 0 3px rgba(12, 239, 211, .16);
}
.wrap.mm-body input::placeholder,
.wrap.mm-body textarea::placeholder { color: #A9B8C4; }

.wrap.mm-body .btn_submit,
.wrap.mm-body .btn_confirm input[type="submit"],
.wrap.mm-body input[type="submit"] {
	height: 46px;
	padding: 0 22px;
	border: 0;
	border-radius: 10px;
	background: var(--primary);
	color: #07443F;
	font-family: inherit;
	font-size: 14.5px;
	font-weight: 700;
	cursor: pointer;
	transition: filter .16s;
}
.wrap.mm-body .btn_submit:hover { filter: brightness(1.05); }
.wrap.mm-body .btn_cancel,
.wrap.mm-body .btn_close {
	height: 46px;
	padding: 0 20px;
	border: 1px solid #E1E8EE;
	border-radius: 10px;
	background: #fff;
	color: #5C7386;
	font-family: inherit;
	font-size: 14.5px;
	font-weight: 600;
	cursor: pointer;
}

/* 검색 박스 */
#bo_sch {
	margin-top: 14px;
	padding: 16px 20px;
	background: #fff;
	border: 1px solid #E8EEF3;
	border-radius: 14px;
}

/* ══════ 반응형 ══════ */
@media (max-width: 1024px) {
	.wrap.mm-body { padding: 20px 16px 44px; }
	.umji-board .ub-c-name { flex-basis: 96px; }
}
@media (max-width: 768px) {
	.umji-board .ub-list-head { display: none; }
	.umji-board .ub-row { flex-wrap: wrap; gap: 6px 10px; padding: 14px 16px; }
	.umji-board .ub-c-num { display: none; }
	.umji-board .ub-c-cat { flex: 0 0 auto; order: 1; }
	.umji-board .ub-c-subject { flex: 1 1 100%; order: 3; }
	.umji-board .ub-c-name { flex: 0 0 auto; order: 2; text-align: left; }
	.umji-board .ub-c-date,
	.umji-board .ub-c-hit { flex: 0 0 auto; order: 4; text-align: left; }
	.umji-board .ub-head { padding: 16px; }
	.umji-board .ub-name { font-size: 18px; }
	.umji-view .uv-head,
	.umji-view .uv-con,
	.umji-view .uv-actions,
	.umji-view .uv-btns { padding-left: 16px; padding-right: 16px; }
	.umji-view .uv-title { font-size: 20px; }
	.umji-view .uv-files { margin-left: 16px; margin-right: 16px; }
}

/* ─────────────────────────────────────────────────────────
   그누보드 기본(basic) 스킨 게시판 — cs · event · ggmoney 등 5개
   ───────────────────────────────────────────────────────── */
.wrap.mm-body #bo_list,
.wrap.mm-body #bo_v,
.wrap.mm-body #bo_w {
	background: #fff;
	border: 1px solid #E8EEF3;
	border-radius: 16px;
	box-shadow: 0 2px 10px rgba(17, 17, 17, .035);
	padding: 22px 24px;
	box-sizing: border-box;
}
.wrap.mm-body #bo_list_total,
.wrap.mm-body .bo_fx { font-size: 13.5px; color: #6D8496; }

.wrap.mm-body .tbl_head01 { border: 0; }
.wrap.mm-body .tbl_head01 table { width: 100%; border-collapse: collapse; }
.wrap.mm-body .tbl_head01 thead th {
	padding: 12px 10px;
	background: #FAFCFE;
	border-top: 1px solid #EDF2F6;
	border-bottom: 1px solid #EDF2F6;
	color: #8397A7;
	font-size: 12.5px;
	font-weight: 700;
	text-align: center;
}
.wrap.mm-body .tbl_head01 tbody td {
	padding: 13px 10px;
	border-bottom: 1px solid #F1F5F8;
	color: #3C4E5C;
	font-size: 14px;
	text-align: center;
}
.wrap.mm-body .tbl_head01 tbody tr:hover td { background: #F7FDFC; }
.wrap.mm-body .tbl_head01 td.td_subject { text-align: left; }
.wrap.mm-body .tbl_head01 td.td_subject a { color: #1D2A34; font-weight: 500; }
.wrap.mm-body .tbl_head01 tbody tr:hover td.td_subject a { color: #00857F; }
.wrap.mm-body .td_empty,
.wrap.mm-body .empty_list,
.wrap.mm-body .empty_table {
	padding: 46px 0 !important;
	color: #9AAAB8;
	font-size: 14px;
	text-align: center;
}

/* 버튼 */
.wrap.mm-body .btn_b01,
.wrap.mm-body .btn_b02,
.wrap.mm-body .btn_b03,
.wrap.mm-body .btn_admin,
.wrap.mm-body #bo_list .btn_bo_user a,
.wrap.mm-body #bo_v .btn_bo_user a {
	display: inline-flex;
	align-items: center;
	height: 38px;
	padding: 0 16px;
	border-radius: 10px;
	border: 1px solid #E1E8EE;
	background: #fff;
	color: #5C7386;
	font-size: 13.5px;
	font-weight: 600;
	transition: all .16s;
}
.wrap.mm-body .btn_b01:hover,
.wrap.mm-body .btn_b02:hover,
.wrap.mm-body .btn_admin:hover { border-color: var(--primary); color: #00A39B; background: #F4FDFC; }
.wrap.mm-body .btn_b02 {
	background: var(--primary);
	border-color: var(--primary);
	color: #07443F;
	font-weight: 700;
}
.wrap.mm-body .btn_b02:hover { filter: brightness(1.05); color: #07443F; }

/* 페이징 */
.wrap.mm-body .pg_wrap { display: flex; justify-content: center; gap: 5px; flex-wrap: wrap; margin-top: 22px; }
.wrap.mm-body .pg_page,
.wrap.mm-body .pg_current,
.wrap.mm-body .pg_start,
.wrap.mm-body .pg_prev,
.wrap.mm-body .pg_next,
.wrap.mm-body .pg_end {
	min-width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 11px;
	border-radius: 9px;
	border: 1px solid #E5EBF0;
	background: #fff;
	color: #5C7386;
	font-size: 13.5px;
	font-weight: 600;
	float: none;
}
.wrap.mm-body .pg_current {
	background: var(--primary);
	border-color: var(--primary);
	color: #07443F;
	font-weight: 800;
}

/* 글보기 */
.wrap.mm-body #bo_v_title {
	font-size: 22px;
	font-weight: 700;
	color: #16212B;
	line-height: 1.45;
	letter-spacing: -.02em;
}
.wrap.mm-body #bo_v_info { font-size: 13px; color: #8397A7; border-bottom: 1px solid #EDF2F6; padding-bottom: 14px; }
.wrap.mm-body #bo_v_atc { padding: 24px 0; font-size: 15.5px; line-height: 1.85; color: #2C3A45; }
.wrap.mm-body #bo_v_file li { border-radius: 10px; background: #F7FBFE; border: 1px solid #E8EEF3; }

/* 검색 */
.wrap.mm-body #bo_sch select,
.wrap.mm-body #bo_sch input { height: 42px; }

/* ══════ 회원 페이지 (스크랩 · 쪽지 · 포인트) ══════
   그누보드 기본 member 스킨은 팝업(.new_win)용이라 본문이 좌우로 끝까지
   늘어지고 색도 파란 계열이다. 폭을 잡고 사이트 민트 톤으로 맞춘다.
   스킨 style.css 가 html_end() 에서 가장 마지막에 실리므로
   .wrap.mm-body 를 붙여 특정도를 올려 둔다. */
.wrap.mm-body .new_win {
	max-width: 900px;
	margin: 0 auto 18px;
	padding: 26px 28px 24px;
}
.wrap.mm-body .new_win #win_title {
	margin: 0 0 18px;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -.02em;
	color: #16212B;
}
.wrap.mm-body .new_win .win_total {
	margin-top: 6px;
	font-size: 13px;
	font-weight: 500;
	color: #8496A4;
}
.wrap.mm-body .new_win .new_win_con2 { padding: 0; }
.wrap.mm-body .new_win .win_desc { margin: 14px 0 0; font-size: 12.5px; color: #8496A4; }
.wrap.mm-body .new_win .empty_li,
.wrap.mm-body .new_win .empty_table {
	padding: 48px 0;
	border: 0;
	list-style: none;
	color: #9AACB8;
	font-size: 14px;
	text-align: center;
}
.wrap.mm-body .new_win .win_btn { margin: 22px 0 2px; text-align: center; }
.wrap.mm-body .new_win .btn_close { height: 44px; padding: 0 26px; border-radius: 10px; }

/* 포인트 */
.wrap.mm-body #point .point_all {
	margin: 0 0 16px;
	padding: 0;
	border: 1px solid #C8F3EC;
	border-radius: 12px;
	background: #F0FDFB;
	color: #0B6B65;
}
.wrap.mm-body #point .point_all .full_li { padding: 16px 18px; border-bottom: 0; }
.wrap.mm-body #point .point_all li span { color: #00857F; }
.wrap.mm-body .point_list { margin: 0; padding: 0; }
.wrap.mm-body .point_list li {
	padding: 14px 4px;
	border-bottom: 1px solid #EDF2F6;
	background: none;
}
.wrap.mm-body .point_list li:first-child { border-top: 1px solid #E8EEF3; }
.wrap.mm-body .point_list .point_tit { font-size: 14px; font-weight: 700; color: #16212B; }
.wrap.mm-body .point_list .point_date1 { font-size: 12px; color: #9AACB8; }
.wrap.mm-body .point_list .point_num { color: #00A99C; }
.wrap.mm-body .point_list .point_use .point_num { color: #E9544A; }
.wrap.mm-body #point .point_status {
	margin-top: 12px;
	padding: 14px 18px;
	border: 0;
	border-radius: 10px;
	background: #0B6B65;
	color: #fff;
}

/* 스크랩 */
.wrap.mm-body #scrap > ul { margin: 0; padding: 0; list-style: none; }
.wrap.mm-body #scrap > ul > li {
	position: relative;
	padding: 14px 40px 14px 4px;
	border-bottom: 1px solid #EDF2F6;
}
.wrap.mm-body #scrap > ul > li:first-child { border-top: 1px solid #E8EEF3; }
.wrap.mm-body #scrap .scrap_tit {
	display: block;
	font-size: 14.5px;
	font-weight: 700;
	color: #16212B;
}
.wrap.mm-body #scrap .scrap_tit:hover { color: #00857F; }
.wrap.mm-body #scrap .scrap_cate {
	display: inline-block;
	margin: 7px 8px 0 0;
	padding: 3px 9px;
	border-radius: 6px;
	background: #E6FBF8;
	color: #00857F;
	font-size: 11.5px;
	font-weight: 700;
}
.wrap.mm-body #scrap .scrap_datetime { font-size: 12px; color: #9AACB8; }
.wrap.mm-body #scrap .scrap_del { position: absolute; top: 16px; right: 2px; color: #B9C6D0; }
.wrap.mm-body #scrap .scrap_del:hover { color: #E9544A; }

/* 쪽지 */
.wrap.mm-body #memo_list .win_ul { display: flex; gap: 6px; margin: 0 0 16px; padding: 0; list-style: none; }
.wrap.mm-body #memo_list .win_ul li { float: none; }
.wrap.mm-body #memo_list .win_ul a {
	display: inline-flex;
	align-items: center;
	height: 38px;
	padding: 0 16px;
	border: 1px solid #E1E8EE;
	border-radius: 9px;
	font-size: 13.5px;
	font-weight: 700;
	color: #5C7386;
}
.wrap.mm-body #memo_list .win_ul .selected a { background: #0CEFD3; border-color: #0CEFD3; color: #07443F; }
.wrap.mm-body .memo_list ul { margin: 0; padding: 0; list-style: none; }
.wrap.mm-body .memo_list > ul > li {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 34px 14px 4px;
	border-bottom: 1px solid #EDF2F6;
}
.wrap.mm-body .memo_list .profile_big_img img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.wrap.mm-body .memo_list .memo_name { font-size: 13.5px; font-weight: 700; color: #16212B; }
.wrap.mm-body .memo_list .memo_datetime { margin-left: 6px; font-size: 12px; font-weight: 400; color: #9AACB8; }
.wrap.mm-body .memo_list .memo_preview a { display: block; margin-top: 4px; font-size: 13.5px; font-weight: 400; color: #4A5C6A; }
.wrap.mm-body .memo_list .no_read { display: inline-block; margin-top: 4px; font-size: 11px; font-weight: 700; color: #E9544A; }
.wrap.mm-body .memo_list .memo_del { position: absolute; top: 16px; right: 2px; color: #B9C6D0; }
.wrap.mm-body .memo_list .memo_del:hover { color: #E9544A; }

/* ══════ 게시판 하단 안내 문구 (SEO 본문) ══════ */
.bseo {
	margin: 32px 0 8px;
	padding: 30px 32px 26px;
	border: 1px solid #E8EEF3;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 2px 10px rgba(17, 17, 17, .035);
}
.bseo__t {
	position: relative;
	margin: 0 0 12px;
	padding-left: 13px;
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -.03em;
	color: #16212B;
}
.bseo__t::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	bottom: 4px;
	width: 4px;
	border-radius: 2px;
	background: var(--primary, #0CEFD3);
}
.bseo__lead {
	margin: 0 0 24px;
	font-size: 14.5px;
	line-height: 1.8;
	color: #4A5C6A;
	word-break: keep-all;
}
.bseo__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px 32px;
}
.bseo__it h3 {
	margin: 0 0 7px;
	font-size: 14.5px;
	font-weight: 700;
	letter-spacing: -.02em;
	color: #16212B;
}
.bseo__it p {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.85;
	color: #5C7386;
	word-break: keep-all;
}
.bseo__it p b { color: #00857F; font-weight: 700; }

@media (max-width: 1024px) {
	.bseo { padding: 22px 18px 20px; border-radius: 12px; }
	.bseo__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.bseo__t { font-size: 17px; }
}

/* ══════ 게시판 빠른 이동 탭 ══════ */
.bnav {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	flex-wrap: wrap;
}
.bnav__k {
	flex: 0 0 auto;
	padding: 4px 11px;
	border-radius: 7px;
	background: #16212B;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: -.02em;
}
.bnav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bnav li { margin: 0; }
.bnav a {
	display: inline-flex;
	align-items: center;
	height: 38px;
	padding: 0 18px;
	border: 1px solid #E1E8EE;
	border-radius: 10px;
	background: #fff;
	color: #5C7386;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: -.02em;
	transition: all .15s;
}
.bnav a:hover { border-color: var(--primary, #0CEFD3); color: #00857F; }
.bnav li.on a {
	background: #16212B;
	border-color: #16212B;
	color: #fff;
}

.bcate {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 14px;
}
.bcate a {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding: 0 14px;
	border: 1px solid #E1E8EE;
	border-radius: 999px;
	background: #fff;
	color: #5C7386;
	font-size: 13px;
	font-weight: 600;
	transition: all .15s;
}
.bcate a:hover { border-color: var(--primary, #0CEFD3); color: #00857F; }
.bcate a.on { background: var(--primary, #0CEFD3); border-color: var(--primary, #0CEFD3); color: #04201C; font-weight: 700; }

@media (max-width: 640px) {
	.bnav { gap: 8px; }
	.bnav a { height: 34px; padding: 0 13px; font-size: 13px; }
}

/* 댓글 작성자 계급 배지 */
.wrap.mm-body #bo_vc article header .rkb { margin-right: 0; }
.wrap.mm-body #bo_vc article header .rkb + .member,
.wrap.mm-body #bo_vc article header .rkb + .guest { margin-left: -2px; }
/* 작성 시각은 오른쪽으로 */
.wrap.mm-body #bo_vc article header .bo_vc_hdinfo { margin-left: auto; }

/* ─────────────────────────────────────────────────────────
   위치 경로(breadcrumb) — head.php 에서 .wrap.mm-body 직후 출력
   ───────────────────────────────────────────────────────── */
.wrap.mm-body .bcrumb { margin: 18px auto 0; max-width: 1200px; padding: 0 16px; }
.wrap.mm-body .bcrumb ol {
	display: flex; flex-wrap: wrap; align-items: center; gap: 2px;
	margin: 0; padding: 0; list-style: none;
}
.wrap.mm-body .bcrumb li { display: flex; align-items: center; min-width: 0; }
.wrap.mm-body .bcrumb li + li::before {
	content: ""; flex: 0 0 auto;
	width: 6px; height: 6px; margin: 0 8px;
	border-right: 1.5px solid #C9D3DB; border-bottom: 1.5px solid #C9D3DB;
	transform: rotate(-45deg);
}
.wrap.mm-body .bcrumb a,
.wrap.mm-body .bcrumb li > span {
	display: block; max-width: 22em;
	font-size: 12.5px; line-height: 1.5; color: #8A9AA6; letter-spacing: -.01em;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.wrap.mm-body .bcrumb a:hover { color: #00857F; text-decoration: underline; }
.wrap.mm-body .bcrumb li.on > span,
.wrap.mm-body .bcrumb li.on > a { color: #16212B; font-weight: 700; }

/* 바로 아래 오는 게시판 탭/분류칩과 간격 정리 */
.wrap.mm-body .bcrumb + .bnav,
.wrap.mm-body .bcrumb + .bcate { margin-top: 12px; }

@media (max-width: 640px) {
	.wrap.mm-body .bcrumb { margin-top: 12px; }
	.wrap.mm-body .bcrumb a,
	.wrap.mm-body .bcrumb li > span { font-size: 12px; max-width: 12em; }
}
