@charset "utf-8";
/* 공통 게시판 안에만 현대화한 타이포·여백·상태 색상을 적용한다. */


.museum-board {
	--mb-accent: #006276;
	--mb-ink: #202d34;
	--mb-muted: #5f7078;
	--mb-line: #dfe7e9;
	--mb-soft: #f5f8f8;
	width: 100%;
	margin: 0 0 36px;
	color: var(--mb-ink);
	font-size: 15px;
	line-height: 1.65;
}
.museum-board,
.museum-board * {
	box-sizing: border-box;
}
.museum-board a {
	color: inherit;
	text-decoration: none;
}
.museum-board a:hover {
	color: var(--mb-accent);
}
.museum-board :is(a, button, input, textarea, select):focus-visible {
	outline: 3px solid #0b8297;
	outline-offset: 3px;
}
.museum-board button,
.museum-board input,
.museum-board select,
.museum-board textarea {
	font: inherit;
}
.museum-board .mb-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin: 0 0 28px;
}
.museum-board .mb-eyebrow {
	margin: 0 0 7px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--mb-accent);
}
.museum-board .mb-heading h2 {
	margin: 0;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -0.04em;
}
.museum-board .mb-description {
	margin: 10px 0 0;
	color: var(--mb-muted);
	font-size: 14px;
}
.museum-board .mb-button,
.museum-board #bo_w .btn,
.museum-board .mb-comments .btn_submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 17px;
	border: 1px solid #cbd8dc;
	border-radius: 8px;
	background: #fff;
	color: var(--mb-ink);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	white-space: nowrap;
	cursor: pointer;
}
.museum-board .mb-button:hover {
	background: var(--mb-soft);
	border-color: #8ba8b0;
}
.museum-board .mb-primary,
.museum-board #bo_w .btn_submit,
.museum-board .mb-comments .btn_submit {
	background: var(--mb-accent);
	border-color: var(--mb-accent);
	color: #fff;
}
.museum-board .mb-primary:hover,
.museum-board #bo_w .btn_submit:hover {
	background: #004b5a;
	color: #fff;
}
.museum-board .mb-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding-bottom: 20px;
	border-bottom: 2px solid var(--mb-ink);
}
.museum-board .mb-count {
	margin: 0;
	white-space: nowrap;
	color: var(--mb-muted);
	font-size: 14px;
}
.museum-board .mb-count strong {
	color: var(--mb-ink);
}
.museum-board .mb-search {
	display: flex;
	gap: 8px;
	align-items: center;
}
.museum-board .mb-search input,
.museum-board .mb-search select {
	height: 44px;
	border: 1px solid #cbd8dc;
	border-radius: 8px;
	background: #fff;
	padding: 0 12px;
	color: var(--mb-ink);
	font-size: 14px;
}
.museum-board .mb-search input {
	width: 205px;
	min-width: 0;
}
/* 박물관 자료를 이미지 중심으로 탐색하며 기존 modern의 색상·간격·버튼을 따른다. */
.mb-gallery .mb-gallery-grid {
	display: grid;
	grid-template-columns: repeat(var(--mb-gallery-cols, 3), minmax(0, 1fr));
	gap: 28px 22px;
	margin-top: 24px;
}
.mb-gallery .mb-card {
	min-width: 0;
}
.mb-gallery .mb-card-link {
	display: block;
	height: 100%;
	border: 1px solid var(--mb-line);
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
	transition:
		border-color 0.15s ease,
		box-shadow 0.15s ease;
}
.mb-gallery .mb-card-link:hover {
	border-color: #8ba8b0;
	box-shadow: 0 6px 20px #20333d0d;
}
.mb-gallery .mb-card-link:focus-visible {
	outline-offset: -3px;
}
.mb-gallery .mb-card-image {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	padding: 12px;
	border-bottom: 1px solid var(--mb-line);
}
/* 포스터·초청장의 문구가 잘리지 않도록 이미지 전체를 표시한다. */
.mb-gallery .mb-card-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.mb-gallery .mb-card-image > .mb-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background: #e1efef;
}
.mb-gallery .mb-card-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 9px;
	font-size: 13px;
	color: var(--mb-muted);
}
.mb-gallery .mb-card-placeholder i {
	font-size: 28px;
	color: #8ba0a8;
}
.mb-gallery .mb-card-body {
	padding: 17px 16px 18px;
}
.mb-gallery .mb-card-body h3 {
	margin: 0 0 12px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.6;
	color: var(--mb-ink);
}
.mb-gallery .mb-card-link:hover h3 {
	color: var(--mb-accent);
}
.mb-gallery .mb-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 12px;
	font-size: 12px;
	line-height: 1.6;
	color: var(--mb-muted);
}
.mb-gallery .mb-empty {
	grid-column: 1 / -1;
}
@media (prefers-reduced-motion: reduce) {
	.mb-gallery .mb-card-link {
		transition: none;
	}
}

.museum-board .mb-badge {
	display: inline-block;
	padding: 3px 9px;
	border-radius: 6px;
	color: var(--mb-accent);
	background: #e1efef;
	font-weight: 700;
	font-size: 12px;
}
.museum-board .mb-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 16px;
	color: var(--mb-muted);
	font-size: 13px;
	font-weight: 400;
}
.museum-board .mb-empty {
	padding: 64px 20px;
	text-align: center;
	border-bottom: 1px solid var(--mb-line);
	color: var(--mb-muted);
}
.museum-board .mb-empty strong {
	display: block;
	font-size: 20px;
	color: var(--mb-ink);
}
.museum-board .mb-empty p {
	margin: 10px 0 20px;
}
.museum-board .mb-pagination {
	display: flex;
	justify-content: center;
	margin: 26px 0;
}
.museum-board .pg_wrap {
	float: none;
	margin: 0;
}
.museum-board .pg_page,
.museum-board .pg_current {
	height: 38px;
	min-width: 38px;
	line-height: 36px;
	padding: 0 10px;
	margin: 0 3px;
	border-radius: 7px;
	background: #fff;
	border: 1px solid var(--mb-line);
	color: var(--mb-muted);
	font-size: 14px;
}
.museum-board .pg_current {
	background: var(--mb-accent);
	border-color: var(--mb-accent);
	color: #fff;
}
.museum-board .pg .pg_start,
.museum-board .pg .pg_prev,
.museum-board .pg .pg_next,
.museum-board .pg .pg_end {
	padding: 0;
}
.museum-board .mb-admin {
	text-align: right;
	font-size: 12px;
	color: var(--mb-muted);
}
.museum-board .mb-back {
	display: inline-flex;
	min-height: 40px;
	align-items: center;
	margin-bottom: 16px;
	color: var(--mb-muted);
	font-size: 14px;
}
.museum-board .mb-post-header {
	padding: 12px 0 28px;
	border-bottom: 1px solid var(--mb-line);
}
.museum-board .mb-post-header h2 {
	margin: 6px 0 18px;
	font-size: 28px;
	line-height: 1.5;
	font-weight: 700;
	letter-spacing: -0.035em;
	overflow-wrap: anywhere;
}
.museum-board .mb-post-content {
	padding: 32px 0;
	line-height: 1.9;
	font-size: 15px;
	overflow-wrap: anywhere;
}
.museum-board #bo_v_con {
	min-height: 110px;
	line-height: inherit;
	font-size: inherit;
}
.museum-board #bo_v_con img,
.museum-board .mb-photo img {
	max-width: 100%;
	height: auto;
}
.museum-board #bo_v_con table {
	max-width: 100%;
}
.museum-board .mb-photo {
	text-align: center;
	margin-bottom: 24px;
}
.museum-board .mb-files {
	margin: 24px 0 0;
	padding: 20px;
	border: 1px solid var(--mb-line);
	border-radius: 10px;
	background: var(--mb-soft);
}
.museum-board .mb-files h3 {
	margin: 0 0 12px;
	font-size: 14px;
}
.museum-board .mb-files h3 span {
	color: var(--mb-accent);
}
.museum-board .mb-files ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.museum-board .mb-files li + li {
	margin-top: 10px;
}
.museum-board .mb-files a {
	display: flex;
	gap: 16px;
	justify-content: space-between;
	overflow-wrap: anywhere;
	font-size: 14px;
}
.museum-board .mb-files a span {
	flex-shrink: 0;
	color: var(--mb-muted);
	font-size: 12px;
}
.museum-board .mb-post-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 22px 0;
	border-top: 1px solid var(--mb-line);
}
.museum-board .mb-post-actions > div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.museum-board .mb-danger {
	color: #a33434;
}
.museum-board .mb-neighbours {
	margin: 12px 0;
	border-top: 1px solid var(--mb-line);
}
.museum-board .mb-neighbours a {
	display: flex;
	gap: 22px;
	padding: 14px 0;
	border-bottom: 1px solid var(--mb-line);
}
.museum-board .mb-neighbours span {
	color: var(--mb-muted);
	flex-shrink: 0;
	font-size: 13px;
}
.museum-board .mb-comments {
	margin-top: 20px;
	padding: 24px;
	border-radius: 12px;
	background: var(--mb-soft);
	border: 1px solid var(--mb-line);
}
.museum-board .mb-comments > h3 {
	margin: 0 0 8px;
	font-size: 16px;
}
.museum-board .mb-muted {
	margin: 0;
	color: var(--mb-muted);
	font-size: 14px;
}
.museum-board .mb-categories ul {
	display: flex;
	gap: 12px;
	list-style: none;
	padding: 14px 0;
} /* 기본 작성 폼의 데이터·검증 코드는 유지하고 레이블과 입력 영역만 정리한다. */
.museum-board #bo_w {
	width: 100%;
	margin: 0;
}
.museum-board #fwrite {
	width: 100% !important;
}
.museum-board #bo_w .write_div {
	margin: 0 0 22px;
}
.museum-board #bo_w .write_div .write_div {
	margin-bottom: 0;
}
.mb-compose label.sound_only,
.museum-board .mb-comments label.sound_only {
	position: static !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	text-indent: 0 !important;
	overflow: visible !important;
	border: 0 !important;
	font-weight: 600;
	color: var(--mb-ink);
}
.mb-compose label strong {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 6px;
	border-radius: 4px;
	background: #fff0f0;
	color: #a33434;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	vertical-align: middle;
}
.museum-board #bo_w .frm_input,
.museum-board #bo_w select,
.museum-board #bo_w textarea,
.museum-board .mb-comments .frm_input,
.museum-board .mb-comments textarea {
	width: 100%;
	max-width: 100%;
	min-height: 48px;
	border: 1px solid #bdcdd2;
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	padding: 12px 14px;
	font-size: 15px;
	color: var(--mb-ink);
	line-height: 1.6;
}
.museum-board #bo_w .half_input {
	width: 100%;
	margin: 0 0 12px;
}
.museum-board #bo_w .bo_w_info {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}
.museum-board #bo_w textarea {
	min-height: 280px;
	resize: vertical;
}
.museum-board #bo_w #autosave_wrapper {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px;
	align-items: center;
}
.museum-board #bo_w #btn_autosave {
	position: static;
	height: auto;
	min-height: 44px;
	padding: 9px 12px;
	white-space: nowrap;
	border: 1px solid var(--mb-line);
	border-radius: 8px;
	background: var(--mb-soft);
	font-size: 12px;
	color: var(--mb-muted);
}
.museum-board #bo_w #autosave_pop {
	z-index: 10;
	grid-column: 1/-1;
	top: 54px;
	right: 0;
}
.museum-board #bo_w .bo_w_tit .frm_input {
	padding-right: 14px;
}
.museum-board #bo_w .bo_w_link {
	padding: 16px;
	background: var(--mb-soft);
	border-radius: 8px;
	border: 1px solid var(--mb-line);
}
.museum-board #bo_w .bo_w_link label {
	position: static;
	display: block;
	width: auto;
	height: auto;
	line-height: 1.5;
	margin-bottom: 8px;
	font-size: 13px;
}
.museum-board #bo_w .bo_w_link label .sound_only {
	position: static !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	width: auto !important;
	height: auto !important;
	display: inline !important;
}
.museum-board #bo_w .bo_v_option {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	padding: 0;
	background: none;
	border: 0;
}
.museum-board #bo_w .btn_confirm {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 30px;
	padding-top: 24px;
	border-top: 1px solid var(--mb-line);
}
.museum-board #bo_w .btn_cancel {
	background: #fff;
	color: var(--mb-muted);
	border: 1px solid #cbd8dc;
}
.museum-board #bo_w .wr_content {
	border: 1px solid var(--mb-line);
	border-radius: 8px;
	overflow: hidden;
}
.museum-board #bo_w .wr_content textarea {
	border: 0;
}
.museum-board .mb-error-summary {
	padding: 16px 20px;
	margin: 0 0 24px;
	border: 2px solid #a33434;
	border-radius: 8px;
	background: #fff9f9;
}
.museum-board .mb-error-summary h3 {
	font-size: 16px;
	margin: 0 0 6px;
	color: #902a2a;
}
.museum-board .mb-error-summary ul {
	padding-left: 20px;
	margin: 0;
}
.museum-board .mb-error-summary a {
	color: #902a2a;
	text-decoration: underline;
}
.museum-board .mb-field-error {
	margin: 7px 0;
	color: #a33434;
	font-size: 13px;
}
.museum-board [aria-invalid="true"] {
	border-color: #a33434 !important;
} /* 기본 댓글 목록·대댓글·수정 폼을 같은 시각 언어로 표시한다. */
.museum-board .mb-comments .cmt_btn {
	margin: 0 0 18px;
	padding: 0;
	border: 0;
	background: none;
	font-size: 17px;
	font-weight: 700;
	color: var(--mb-ink);
}
.museum-board .mb-comments #bo_vc {
	display: block;
	margin: 0;
}
.museum-board .mb-comments #bo_vc > h2 {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.museum-board .mb-comments #bo_vc article {
	position: relative;
	margin: 0;
	padding: 20px 0;
	border-bottom: 1px solid var(--mb-line);
	background: none;
}
.museum-board .mb-comments .pf_img {
	display: none;
}
.museum-board .mb-comments .cm_wrap {
	margin-left: 0;
}
.museum-board .mb-comments #bo_vc header {
	padding: 0 90px 8px 0;
	font-size: 14px;
}
.museum-board .mb-comments #bo_vc .bo_vc_hdinfo {
	display: block;
	padding: 4px 0;
	color: var(--mb-muted);
	font-size: 12px;
}
.museum-board .mb-comments #bo_vc .cmt_contents p {
	line-height: 1.8;
	font-size: 14px;
}
.museum-board .mb-comments #bo_vc_empty {
	padding: 18px 0;
	color: var(--mb-muted);
}
.museum-board .mb-comments #bo_vc_w {
	margin-top: 24px;
	padding: 0;
	background: none;
	border: 0;
}
.museum-board .mb-comments #bo_vc_w h2 {
	font-size: 16px;
	margin: 0 0 12px;
}
.museum-board .mb-comments textarea {
	min-height: 120px;
	resize: vertical;
}
.museum-board .mb-comments .btn_confirm {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 12px;
	gap: 12px;
}
.museum-board .mb-comments #bo_vc .bo_vl_opt {
	position: absolute;
	top: 18px;
	right: 0;
}
.museum-board .mb-comments #bo_vc .bo_vc_act {
	z-index: 10;
	right: 0;
	min-width: 110px;
	box-shadow: 0 4px 16px #20333d15;
	border: 1px solid var(--mb-line);
	border-radius: 8px;
	background: #fff;
} /* 구형 전역 clearfix의 가상 요소가 flex 간격을 차지하지 않게 한다. */
.museum-board header::before,
.museum-board header::after,
.museum-board nav::before,
.museum-board nav::after {
	content: none;
	display: none;
}
.museum-board .mb-heading h2,
.museum-board .mb-post-header h2 {
	color: var(--mb-ink);
}
.museum-board #bo_w .bo_w_link label {
	text-align: left;
}
.museum-board .mb-optional {
	margin-top: 8px;
	border: 1px solid var(--mb-line);
	border-radius: 10px;
	padding: 16px 18px;
}
.museum-board .mb-optional summary {
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	color: var(--mb-muted);
}
.museum-board .mb-optional[open] summary {
	margin-bottom: 16px;
}
.museum-board #bo_w .mb-optional .bo_w_link {
	margin-bottom: 12px;
	background: #fff;
}
.museum-board .mb-comments .cmt_btn .total {
	color: var(--mb-accent);
}
.museum-board .mb-comments .cmt_btn:after {
	background: var(--mb-accent);
}
.museum-board .mb-comment-label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 600;
}
.museum-board .mb-comment-cancel[hidden] {
	display: none;
}
.museum-board .mb-comments .cmt_btn .total::after {
	background: var(--mb-accent);
}
.museum-board .mb-comments #bo_vc .cm_wrap {
	width: 100%;
	max-width: none;
	float: none;
}
.museum-board #bo_v_con {
	margin: 0;
	word-break: normal;
	overflow: visible;
} /* 과거 IE용 댓글 헤더 쌓임값이 옵션 버튼을 덮지 않도록 조정한다. */
.museum-board .mb-comments #bo_vc header {
	z-index: auto !important;
}
.museum-board .mb-comments #bo_vc .bo_vl_opt {
	z-index: 5;
} /* 기존 첨부 수정도 기본 파일 입력·삭제 체크박스를 겹침 없이 표시한다. */
.museum-board #bo_w .bo_w_flie {
	padding: 18px;
	border: 1px solid var(--mb-line);
	border-radius: 10px;
	background: var(--mb-soft);
}
.museum-board #bo_w .bo_w_flie .file_wr {
	height: auto;
	padding: 0;
	border: 0;
	background: none;
}
.museum-board #bo_w .bo_w_flie .lb_icon {
	position: static;
	display: block;
	width: auto;
	height: auto;
	margin-bottom: 10px;
	text-align: left;
	font-size: 13px;
	line-height: 1.5;
	color: var(--mb-muted);
}
.museum-board #bo_w .bo_w_flie .lb_icon .sound_only {
	position: static !important;
	display: inline !important;
	width: auto !important;
	height: auto !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
}
.museum-board #bo_w .bo_w_flie .frm_file {
	display: block;
	width: 100%;
	min-height: 44px;
	padding: 0;
	margin: 0;
	font-size: 14px;
}
.museum-board #bo_w .frm_file::file-selector-button {
	padding: 10px 14px;
	margin-right: 12px;
	border: 1px solid #bdcdd2;
	border-radius: 7px;
	background: white;
	font: inherit;
	color: var(--mb-ink);
	cursor: pointer;
}
.museum-board #bo_w .bo_w_flie .file_del {
	position: static;
	display: block;
	margin-top: 12px;
	overflow-wrap: anywhere;
	font-size: 13px;
}
.museum-board #bo_w #autosave_pop {
	border: 1px solid var(--mb-line);
	border-radius: 10px;
	box-shadow: 0 8px 28px #20333d15;
}
.museum-board #bo_w #autosave_pop strong {
	color: var(--mb-ink);
	border-color: var(--mb-line);
} /* 기본 페이징 링크의 숨김 텍스트는 유지하고 이미지 의존 없이 방향을 표시한다. */
.museum-board .pg .pg_start::before,
.museum-board .pg .pg_prev::before,
.museum-board .pg .pg_next::before,
.museum-board .pg .pg_end::before {
	display: block;
	text-indent: 0;
	font-size: 20px;
	color: var(--mb-ink);
}
.museum-board .pg .pg_start::before {
	content: "«";
}
.museum-board .pg .pg_prev::before {
	content: "‹";
}
.museum-board .pg .pg_next::before {
	content: "›";
}
.museum-board .pg .pg_end::before {
	content: "»";
} /* 에디터 보조 버튼과 임시저장은 게시판의 공통 버튼 간격·색상을 따른다. */
.museum-board #bo_w .btn_cke_sc,
.museum-board #bo_w #btn_autosave {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 40px;
	height: auto;
	padding: 8px 14px;
	border: 1px solid var(--mb-line);
	border-radius: 8px;
	background: #fff;
	color: var(--mb-ink);
	font: inherit;
	font-size: 13px;
	line-height: 22px;
	cursor: pointer;
}
.museum-board #bo_w .btn_cke_sc:hover,
.museum-board #bo_w #btn_autosave:hover {
	background: var(--mb-soft);
	border-color: var(--mb-accent);
}
.museum-board #bo_w .cke_sc {
	margin: 0 0 10px;
	text-align: right;
}
.museum-board #bo_w #autosave_count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	padding: 0 6px;
	border-radius: 5px;
	background: var(--mb-soft);
	color: var(--mb-accent);
	font-size: 12px;
	font-weight: 600;
}
.museum-board #bo_w #autosave_pop::before {
	border-bottom-color: var(--mb-line);
} /* 보조 패널은 작성 영역을 덮지 않고 같은 입력 흐름 안에서 펼친다. */
.museum-board #bo_w #autosave_pop {
	position: static !important;
	width: 100%;
	max-height: none;
	margin-top: 2px;
	overflow: hidden;
	box-shadow: none;
	border: 1px solid var(--mb-line);
	border-radius: 8px;
}
.museum-board #bo_w #autosave_pop::before,
.museum-board #bo_w #autosave_pop::after {
	display: none;
}
.museum-board #bo_w #autosave_pop strong {
	position: static;
	display: block;
	padding: 12px 16px;
	font-size: 13px;
	line-height: 1.5;
	font-weight: 600;
	background: var(--mb-soft);
}
.museum-board #bo_w #autosave_pop ul {
	height: auto;
	max-height: 220px;
	overflow-y: auto;
	padding: 0;
	margin: 0;
	border: 0;
}
.museum-board #bo_w #autosave_pop li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 16px;
	background: #fff;
	border-bottom: 1px solid var(--mb-line);
}
.museum-board #bo_w #autosave_pop li::after {
	display: none;
}
.museum-board #bo_w #autosave_pop .autosave_load {
	float: none;
	min-width: 0;
	font-size: 14px;
	line-height: 1.6;
	overflow-wrap: anywhere;
	text-align: left;
}
.museum-board #bo_w #autosave_pop span {
	display: flex;
	float: none;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
	font-size: 12px;
	font-style: normal;
	color: var(--mb-muted);
}
.museum-board #bo_w #autosave_pop .autosave_del {
	width: auto;
	height: 30px;
	padding: 0 8px;
	background: none;
	text-indent: 0;
	font-size: 12px;
	color: #a33434;
	cursor: pointer;
	border-radius: 5px;
}
.museum-board #bo_w #autosave_pop .autosave_del:hover {
	background: #fff2f2;
}
.museum-board #bo_w #autosave_pop .autosave_close {
	height: 38px;
	font-size: 13px;
	font-weight: 500;
	color: var(--mb-muted);
}
.museum-board #bo_w #autosave_pop ul:empty::before {
	content: "임시저장된 글이 없습니다.";
	display: block;
	padding: 20px 16px;
	color: var(--mb-muted);
	font-size: 13px;
	text-align: left;
} /* 에디터 바깥의 중복 테두리와 안내표의 구형 float 배치를 제거한다. */
.museum-board #bo_w .wr_content {
	border: 0;
	border-radius: 0;
	overflow: visible;
}
.museum-board #bo_w .cke_sc {
	margin-bottom: 12px;
}
.museum-board #bo_w .cke_sc_def {
	margin: 10px 0 0;
	padding: 16px;
	border: 1px solid var(--mb-line);
	border-radius: 8px;
	background: var(--mb-soft);
	text-align: right;
}
.museum-board #bo_w .cke_sc_def dl {
	display: grid;
	grid-template-columns: auto 1fr auto 1fr;
	gap: 0 20px;
	margin: 0 0 12px;
	text-align: left;
}
.museum-board #bo_w .cke_sc_def dl::after {
	display: none;
}
.museum-board #bo_w .cke_sc_def dt,
.museum-board #bo_w .cke_sc_def dd {
	float: none;
	width: auto;
	padding: 8px 0;
	border-bottom: 1px solid var(--mb-line);
	font-size: 13px;
	line-height: 1.6;
	color: var(--mb-muted);
}
.museum-board #bo_w .cke_sc_def dt {
	font-weight: 600;
	color: var(--mb-ink);
}
.museum-board #bo_w .btn_cke_sc_close {
	min-height: 34px;
	padding: 5px 12px;
	border: 1px solid var(--mb-line);
	border-radius: 6px;
	background: #fff;
	color: var(--mb-ink);
	font-size: 13px;
	cursor: pointer;
} /* 첨부는 큰 카드 대신 간결한 행으로 표시하며 기본 파일 입력은 유지한다. */
.museum-board #bo_w .mb-optional {
	margin-bottom: 20px;
}
.museum-board #bo_w .bo_w_flie {
	padding: 12px 0;
	margin: 0;
	border: 0;
	border-bottom: 1px solid var(--mb-line);
	border-radius: 0;
	background: #fff;
}
.museum-board #bo_w .bo_w_flie .file_wr {
	display: flex;
	align-items: center;
	gap: 20px;
	min-height: 42px;
}
.museum-board #bo_w .bo_w_flie .lb_icon {
	flex: 0 0 75px;
	margin: 0;
	font-size: 13px;
}
.museum-board #bo_w .bo_w_flie .lb_icon .fa {
	display: none;
}
.museum-board #bo_w .bo_w_flie .frm_file {
	flex: 1;
	min-width: 0;
	width: auto;
	min-height: 40px;
	height: auto;
	border: 0;
	background: none;
	box-shadow: none;
	font-size: 13px;
	color: var(--mb-muted);
}
.museum-board #bo_w .frm_file::file-selector-button {
	padding: 8px 12px;
	margin-right: 12px;
	font-size: 13px;
} /* 제목 입력과 임시저장 버튼을 하나의 테두리 안에 묶는다. */
.museum-board #bo_w #autosave_wrapper {
	display: block;
}
.museum-board #bo_w .mb-title-group {
	display: flex;
	align-items: center;
	padding: 4px;
	border: 1px solid #bdcdd2;
	border-radius: 8px;
	background: #fff;
}
.museum-board #bo_w .mb-title-group:focus-within {
	border-color: var(--mb-accent);
}
.museum-board #bo_w .mb-title-group #wr_subject {
	flex: 1;
	min-width: 0;
	border: 0;
	min-height: 42px;
	background-image: none;
}
.museum-board #bo_w .mb-title-group #btn_autosave {
	flex-shrink: 0;
	min-height: 36px;
	padding: 6px 12px;
	border: 0;
	border-left: 1px solid var(--mb-line);
	border-radius: 0 5px 5px 0;
	background: transparent;
}
.museum-board #bo_w .mb-title-group .mb-field-error {
	flex-basis: 100%;
} /* 팝오버는 폼 높이를 바꾸지 않고 바깥 클릭과 Escape로 닫힌다. */
.museum-board #bo_w #autosave_pop[popover],
.museum-board #bo_w .cke_sc_def[popover] {
	position: fixed !important;
	inset: 0;
	width: min(680px, calc(100vw - 64px));
	max-height: calc(100vh - 80px);
	margin: auto;
	padding: 0;
	overflow: auto;
	border: 1px solid var(--mb-line);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 18px 70px #20333d30;
}
.museum-board #bo_w [popover]::backdrop {
	background: #20333d26;
}
.museum-board #bo_w .cke_sc_def[popover] {
	padding: 24px;
}
.museum-board #bo_w .cke_sc_def[popover] dl {
	margin-bottom: 20px;
}
.museum-board #bo_w #autosave_pop[popover] strong {
	padding: 18px 20px;
	font-size: 16px;
}
.museum-board #bo_w #autosave_pop[popover] ul {
	max-height: 360px;
} /* 원래 링크 문구는 읽기용으로 남기고 화살표만 중앙에 표시한다. */
.museum-board .pg .pg_start,
.museum-board .pg .pg_prev,
.museum-board .pg .pg_next,
.museum-board .pg .pg_end {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	width: 38px;
	height: 38px;
	padding: 0;
	font-size: 0;
	line-height: 0;
	text-indent: 0;
	overflow: hidden;
}
.museum-board .pg .pg_start::before,
.museum-board .pg .pg_prev::before,
.museum-board .pg .pg_next::before,
.museum-board .pg .pg_end::before {
	position: absolute;
	inset: 0;
	display: flex;
	justify-content: center;
	font-size: 20px;
	line-height: 31px;
} /* 팝업 높이는 내용에 맞추고 필수 표시는 기존 제목 레이블 하나만 사용한다. */
.museum-board #bo_w #autosave_pop[popover],
.museum-board #bo_w .cke_sc_def[popover] {
	height: fit-content !important;
}
.museum-board #bo_w .mb-title-group #wr_subject {
	background-image: none !important;
}
.museum-board #bo_w .cke_sc_def[popover]::before {
	content: "단축키 안내";
	display: block;
	margin-bottom: 16px;
	text-align: left;
	font-size: 16px;
	font-weight: 600;
	color: var(--mb-ink);
} /* 긴 목록 제목은 한 줄 말줄임으로 표시하고 비밀글·새 글 아이콘은 유지한다. */
/* 첨부 다운로드는 파일명·용량·동작을 구분하며 행 전체를 기본 다운로드 링크로 유지한다. */
.museum-board .mb-downloads {
	padding: 0;
	background: #fff;
	overflow: hidden;
}
.museum-board .mb-downloads h3 {
	margin: 0;
	padding: 14px 18px;
	border-bottom: 1px solid var(--mb-line);
	background: var(--mb-soft);
	color: var(--mb-ink);
	font-weight: 600;
}
.museum-board .mb-downloads h3 span {
	margin-left: 6px;
}
.museum-board .mb-downloads li + li {
	margin: 0;
	border-top: 1px solid var(--mb-line);
}
.museum-board .mb-downloads a {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 18px;
	min-height: 66px;
	padding: 14px 18px;
}
.museum-board .mb-downloads a:hover {
	background: var(--mb-soft);
}
.museum-board .mb-downloads a:focus-visible {
	outline-offset: -3px;
}
.museum-board .mb-downloads a .mb-file-name {
	min-width: 0;
	color: var(--mb-ink);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	overflow-wrap: anywhere;
}
.museum-board .mb-downloads a .mb-file-size {
	font-size: 12px;
	color: var(--mb-muted);
	white-space: nowrap;
}
.museum-board .mb-downloads a .mb-file-action {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 11px;
	border: 1px solid var(--mb-line);
	border-radius: 6px;
	background: #fff;
	color: var(--mb-accent);
	font-size: 13px;
	white-space: nowrap;
}
.museum-board .mb-downloads a:hover .mb-file-action {
	border-color: var(--mb-accent);
} /* 첨부 개수 조절은 기본 입력 위에 두고 기존 파일 삭제 체크박스와 구분한다. */
.museum-board #bo_w .mb-file-controls {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 24px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--mb-line);
}
.museum-board #bo_w .mb-file-controls strong {
	font-size: 14px;
}
.museum-board #bo_w .mb-file-controls > span {
	flex: 1;
	font-size: 12px;
	color: var(--mb-muted);
}
.museum-board #bo_w .mb-file-controls .mb-button {
	min-height: 34px;
	padding: 5px 11px;
	font-size: 13px;
}
.museum-board #bo_w .mb-file-controls button:disabled {
	opacity: 0.4;
	cursor: default;
}
.museum-board #bo_w .bo_w_flie[hidden] {
	display: none;
} /* 에디터가 없는 본문 입력은 테두리로 입력 범위를 명확히 표시한다. */
.museum-board #bo_w .wr_content.mb-plain-content > textarea {
	border: 1px solid #bdcdd2;
	border-radius: 8px;
}

/* 유물 선정 연월과 소개·해설의 의미를 구분한다. */
.museum-board .mb-relic-period {
	margin-top: 12px;
	color: var(--mb-accent);
	font-weight: 600;
}
.museum-board .mb-relic-section {
	margin-top: 32px;
}
.museum-board .mb-relic-section h3 {
	margin-bottom: 16px;
	font-size: 20px;
	color: var(--mb-ink);
}
.museum-board #bo_w .mb-relic-date {
	display: grid;
	grid-template-columns: 180px 180px;
	align-items: center;
	gap: 12px;
}
.museum-board #bo_w .mb-relic-date input,
.museum-board #bo_w .mb-relic-date select {
	width: 180px;
	margin: 0;
}
/* 전용 필드 오류 안내가 생겨도 연도·월의 열 정렬을 유지한다. */
.museum-board #bo_w .mb-relic-date label {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
	color: var(--mb-ink);
}
