@charset "utf-8";
@import url(//fonts.googleapis.com/earlyaccess/notosanskr.css);
@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css);

@font-face {
	font-family: 'Chosunilbo_myungjo';
	src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_one@1.0/Chosunilbo_myungjo.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'BookkMyungjo-Bd';
	src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2302@1.0/BookkMyungjo-Bd.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: 'KBIZHanmaumMyungjo';
	src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_one@1.0/KBIZHanmaumMyungjo.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}


@font-face {
	font-family: 'ChosunGu';
	src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@1.0/ChosunGu.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'ChosunKg';
	src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@1.0/ChosunKg.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'SUIT-Regular';
	src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Regular.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Pretendard';
	src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
}

.board-notice {
	width: 264px;
	padding: 10px;
	margin: 0 auto;
	text-align: center;
	box-sizing: border-box;
}

/* 라이트용 디자인 */
.bbs-list-box * {
	font-family: unset;
}

/* 여기까지 */

.avocado-list {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
}

.avocado-list li {
	display: flex;
	position: relative;
	padding: 5px 0;
	margin-bottom: 5px;
	line-height: 20px;
	height: 24px;
	align-items: center;
}

.avocado-list li.bo_notice {}

.avocado-list li.no-data {
	text-align: center;
	line-height: 200px;
}

.avocado-list li .td_chk {
	position: absolute;
	padding-left: 15px;
	line-height: 35px;
	z-index: 10;
}

.avocado-list li a {
	display: flex;
	position: relative;
	padding: 0px 180px 0px 40px;
	line-height: 35px;
	justify-content: flex-start;
	align-items: center;
	width: -webkit-fill-available;
	width: -moz-fill-available;
	width: -o-fill-available;
	width: -ms-fill-available;
	z-index: 2;
}

.avocado-list li strong {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-size: 1.1em;
	backface-visibility: hidden;
	max-width: calc(100% - 70px);
}

.avocado-list li strong .highlight {
	font-weight: normal;
}

.avocado-list li strong .cnt_cmt:before {
	content: "( ";
}

.avocado-list li strong .cnt_cmt:after {
	content: " )";
}

.avocado-list li .ico-cate {
	display: inline-block;
	position: relative;
	top: 0;
	padding-right: 10px;
	text-align: center;
	line-height: 9px;
	font-weight: bold;
	margin-right: 10px;
	font-size: 12px;
	border-right: 3px double;
}

.avocado-list .info {
	display: inline-flex;
	position: absolute;
	right: 20px;
	border-radius: 5px;
	line-height: 1em;
	padding: 5px 0px;
	align-items: center;
	height: 13px;
}

.avocado-list li .name {
	display: inline-block;
	width: 70px;
	text-align: center;
	opacity: 1;
	font-size: 11px;
	padding: 0px 10px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.avocado-list li .date {
	display: inline-block;
	text-align: center;
	font-size: 11px;
	padding: 0px 10px;
	width: 65px;
}

.avocado-list li .hit {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 50px;
	text-align: center;
	opacity: .6;
	font-size: 11px;
}



.bo_fx {
	position: relative;
	padding: 20px 0;
}

.bo_fx .chk_all {
	position: absolute;
	left: 5px;
	top: 20px;
}



.board-category {
	display: block;
	position: relative;
	margin-bottom: 10px;

}

.board-category select {}

@media all and (max-width: 640px) {
	#bo_v_con * {
		max-width: 100%;
	}

	.board-category {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 0 10px;
	}

	.board-category select {
		width: 100%;
	}

	.bo_fx {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 20px 10px !important;
	}

	.bo_fx a {
		display: block;
		width: 100%;
	}
}



.board-write {
	padding: 0 10px;
}

.board-write h3 {
	font-size: 26px;
	text-align: center;
	padding: 30px 0 20px;
}

.board-write .write-notice {
	padding: 10px;
	font-size: 11px;
}

.board-write>dl {
	position: relative;
}

.board-write>dl>dt {
	width: 70px;
	position: absolute;
	line-height: 32px;
	text-align: center;
}

.board-write>dl>dd {
	width: 100%;
	margin-left: 0;
	padding-left: 80px;
	box-sizing: border-box;
	line-height: 32px;
}

.board-write input.frm_input.full {
	width: 100%;
	display: block;
	margin: 1px 0;
}




.board-viewer.bbs-box {
	display: block;
	position: relative;
	padding: 20px;
}

.board-viewer .subject {
	text-align: center;
}

.board-viewer .subject em {
	display: block;
	position: relative;
	font-size: 14px;
	line-height: 1.2em;
	padding-bottom: 10px;
}

.board-viewer .subject strong {
	display: block;
	position: relative;
	font-size: 22px;
	line-height: 1.2em;
}

.board-viewer .info {
	margin-top: 10px;
	text-align: center;
	font-size: 11px;
}

.board-viewer .info span {
	display: inline-block;
	opacity: .8;
}

.board-viewer .info span+span:before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 8px;
	vertical-align: middle;
	margin: 0 10px;
}

.board-viewer .contents {
	display: block;
	position: relative;
	margin: 20px 0;
	padding: 20px 12px;
	border-left-width: 0;
	border-right-width: 0;
}






#bo_v_bot {
	padding: 20px 0;
	overflow: hidden;
}

.bo_v_nb {
	float: left;
}

.bo_v_com {
	float: right;
}


.board-comment-list {
	position: relative;
}

.board-comment-list .co-line {
	display: none;
}

.board-comment-list .item {
	position: relative;
	padding: 8px 10px 8px 100px;
	border-radius: 8px;
	background: rgba(255,255,255,.15);
	margin-bottom: 6px;
	border: 1px solid rgba(247,151,151,.15);
}

.board-comment-list .co-name {
	position: absolute;
	top: 0px;
	left: 0;
	bottom: 0;
	width: 90px;
	padding: 10px 10px;
	box-sizing: border-box;
}

.board-comment-list .co-info {
	display: block;
	text-align: right;
	padding-top: 15px;
	font-size: 11px;
	opacity: .7;
}

.board-comment-list .co-info span {
	display: inline-block;
	opacity: .8;
}

.board-comment-list .co-info span+span:before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 8px;
	vertical-align: middle;
	margin: 0 10px;
}

.board-comment-list .item.reply {
	border-left: 3px solid rgba(247,151,151,.35);
	margin-left: 20px;
	background: rgba(255,245,248,.2);
}

.board-comment-list .item.reply .co-name {
	background: none;
}


.board-comment-list+.board-comment-write {
	margin-top: 20px;
}

.board-comment-form {
	position: relative;
	padding-right: 80px;
}

.board-comment-form .btn_confirm {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 29px;
	width: 80px;
}

.board-comment-form .btn_confirm .ui-btn {
	width: 100%;
	height: 100%;
}

.board-comment-form p {
	margin: 0;
	padding: 5px 10px;
}

.board-comment-form textarea {
	display: block;
	height: 100px;
	resize: none;
	border: none;
}


@media all and (max-width: 640px) {

	.avocado-list li a {
		line-height: 1.2em;
		padding: 10px 25px;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	.avocado-list li .ico-cate,
	.avocado-list li .name,
	.avocado-list li .date,
	.avocado-list li .hit {
		position: relative;
		width: auto;
		left: auto;
		right: auto;
		bottom: auto;
		line-height: 1.2em;
	}

	.avocado-list li .info {
		display: block;
		text-align: right;
		line-height: 1.0em;
		padding-top: 10px;
	}

	.avocado-list li .ico-cate {
		display: inline;
	}

	.avocado-list li .ico-cate:before {
		content: "[ ";
	}

	.avocado-list li .ico-cate:after {
		content: " ]";
	}

	.avocado-list li strong {
		display: inline;
		line-height: 1.2em;
	}

	.avocado-list li .name,
	.avocado-list li .date,
	.avocado-list li .hit {
		display: inline;
		padding: 0 5px;
	}

	.board-comment-list .item {
		padding: 0;
	}

	.board-comment-list .co-name {
		position: relative;
		width: auto;
		padding: 5px 10px;
	}

	.board-comment-list .co-content {
		padding: 10px;
		word-break: break-all;
	}

}

.bbs_background {
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	position: fixed;
	pointer-events: none;
}

.bbs-list-box {
	font-family: 'SUIT-Regular';
	overflow: hidden;
}

.bbs-list-box:hover {
	height: 30px;
}

.bbs-list-box:hover .ico-cate {
	opacity: 0;
}

.bbs-list-box:hover .info {
	height: 18px;
}

.bbs-box {
	width: 100%;
	box-sizing: border-box;
	border-radius: 20px;
	background: rgb(246 246 246);
	color: #3d3d3d;
	box-shadow: 0px 0px 12px rgb(246 246 246);
}

.bbs-bgm-control {
	width: 50px;
	margin: 0 auto;
	text-align: center;
	padding: 5px 10px;
	background: #e3e3e3;
	border-radius: 20px;
	font-size: 16px;
	color: #b5b5b5;
	margin-top: 15px;
}

.bbs-list-front {
	width: 100%;
	height: 100%;
	background-size: cover;
	top: 0;
	left: 0;
	position: absolute;
	background-position: center center;
	z-index: 1;
	transition-duration: 0.5s;
}

.bbs-list-back {
	width: 100%;
	height: 100%;
	background-size: cover;
	top: 0;
	left: 0;
	position: absolute;
	background-position: center center;
}

.bbs-highlight {
	display: inline-block;
	padding: 0px 5px;
	line-height: 20px;
	border-radius: 5px;
	margin-right: 5px;
	font-size: 11px;
	width: 10px;
	text-align: center;
}

.bo_notice .info {
	display: none;
}

.bbs-subtitle {
	position: absolute;
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-size: 1.1em;
	transform: rotate3d(1, 0, 0, 180deg);
	backface-visibility: hidden;
	max-width: calc(100% - 250px);
}

.bbs-list-box:hover .bbs-subtitle { transform: rotate3d(1,0,0,180deg); }

.bbs-list-box:hover strong {
	transform: none !important;
	color: inherit;
}

.bbs-list-box:hover .fa-music {
	opacity: 0;
}

.bbs-list-box,
.bbs-list-box strong,
.bbs-list-box .bbs-subtitle,
.bbs-list-box .info {
	transition: 0.5s;
	transition-timing-function: cubic-bezier(0, 0.79, 0.62, 1.14);
}

.bbs-list-box:hover .ico-cate,
.bbs-list-box:hover .fa-music {
	transition: 0.2s;
}

.changeBackground:before {
	background-image: none !important;
	background-color: none !important;
	background: none !important;
}

/* ══════════════════════════════════════════════════════
   라공 에디션 호환
══════════════════════════════════════════════════════ */

/* .bbs-box 원본 background/width 강제 덮어쓰기 */
.bbs-box {
    background: rgba(255,255,255,.82) !important;
    width: auto !important;
    box-sizing: border-box;
}

/* ── 공통 래퍼: 본문·글쓰기·목록 ───────────────────── */
.board-skin-basic,
#bo_w,
.board-viewer.bbs-box {
    max-width: 1000px;
    margin: 50px auto 0;
    background: rgba(255,255,255,.9) !important;
    border: 2px solid rgba(247,151,151,.4) !important;
    border-radius: 12px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 22px 26px 32px;
    box-shadow: 0 4px 20px rgba(0,0,0,.06);
    box-sizing: border-box;
    width: auto;
    color: inherit;
}

/* ── 댓글 영역: 완전 투명 ──────────────────────────── */
.board-comment-list.theme-box {
    width: 100% !important;
    max-width: 100% !important;
    margin: 16px 0 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}
.board-comment-write {
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px 0 0 0 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* ── 본문 내부 ──────────────────────────────────────── */
.board-viewer .subject strong {
    font-size: clamp(1.1rem, 2.5vw, 1.7rem);
    font-weight: 800; letter-spacing: -.02em;
    display: block; text-align: center; padding: 8px 0 4px;
}
.board-viewer .contents {
    padding: 16px 12px;
    margin: 16px 0;
    background: transparent;
    border: none;
    overflow-x: hidden; /* 이미지 overflow 방지 */
}

/* ── 본문 이미지 모바일 대응 ──────────────────────── */
#bo_v_con img {
    max-width: 100%;
    height: auto;
}

/* ── 버튼 ─────────────────────────────────────────── */
.board-skin-basic .btn, .board-skin-basic .ui-btn,
.board-viewer .btn, .board-viewer .ui-btn,
#bo_w .btn, .board-comment-write .btn, .board-comment-write button {
    display: inline-flex; align-items: center; justify-content: center;
    gap: 3px; padding: 2px 8px; height: 24px;
    background: rgba(255,255,255,.85);
    border: 1px solid rgba(220,180,200,.4); border-radius: 5px;
    font-size: 11px; font-weight: 600; color: rgba(100,60,80,.8);
    text-decoration: none; cursor: pointer; transition: all .13s;
    white-space: nowrap; line-height: 1; vertical-align: middle; box-sizing: border-box;
}
.board-skin-basic .btn:hover, .board-viewer .btn:hover, #bo_w .btn:hover {
    background: #fff; border-color: rgba(247,151,151,.5);
    color: rgba(180,60,100,.9); text-decoration: none;
}
.board-skin-basic .btn_b01, .board-viewer .btn_b01, #bo_w .btn_b01,
.board-comment-write .btn_b01, #btn_submit {
    background: linear-gradient(135deg, #f79797, #f08080) !important;
    color: #fff !important; border-color: transparent !important;
}
.board-skin-basic .btn_admin, .board-viewer .btn_admin {
    background: rgba(230,215,220,.7); color: rgba(120,60,90,.85) !important;
    border-color: rgba(210,175,190,.5);
}
.btn_confirm.txt-center { display: flex; gap: 6px; justify-content: center; padding-top: 18px; }

/* ── 상단 버튼 바 ─────────────────────────────────── */
.bo_fx { display: flex; align-items: center; justify-content: flex-end; gap: 5px; padding: 10px 0 6px; flex-wrap: wrap; }
.bo_fx .chk_all { margin-right: auto; }

/* ── 검색 폼 ──────────────────────────────────────── */
/* ── 검색 폼: pill(select+input) + 분리된 버튼 ──────── */
#bo_sch {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: none;
    padding: 14px 0 4px;
    margin: 0;
}
#bo_sch legend { display: none; }
#bo_sch form {
    display: flex !important;
    align-items: center;
    gap: 8px;
    width: auto;
    max-width: 100%;
    background: transparent;
    border: none;
    overflow: visible;
    height: auto;
}

/* select + input 묶은 pill */
.sch-pill {
    display: flex;
    align-items: center;
    background: rgba(255,255,255,.92);
    border: 1.5px solid rgba(247,151,151,.4);
    border-radius: 6px;
    overflow: hidden;
    height: 30px;
    transition: border-color .15s;
}
.sch-pill:focus-within { border-color: rgba(247,151,151,.65); }
.sch-pill select {
    border: none !important;
    border-right: 1px solid rgba(247,151,151,.25) !important;
    background: transparent !important;
    padding: 0 6px 0 8px !important;
    height: 100% !important;
    font-size: 11px !important;
    color: rgba(100,60,80,.8) !important;
    outline: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    min-width: 60px;
}
.sch-pill .sch-stx {
    border: none !important;
    background: transparent !important;
    height: 100% !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    flex: 1 !important;
    outline: none;
    color: rgba(60,40,50,.85) !important;
    min-width: 160px;
    display: block !important;
}
.sch-pill .sch-stx::placeholder { color: rgba(160,115,140,.5); font-size: 11px; }

/* 검색 버튼 - 분리됨 */
.sch-submit-btn {
    height: 30px !important;
    padding: 0 16px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 6px !important;
    background: linear-gradient(135deg, #f79797, #f08080) !important;
    color: #fff !important;
    cursor: pointer;
    transition: opacity .15s;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(247,151,151,.25);
}
.sch-submit-btn:hover { opacity: .9; }

/* ══ 목록 행: 컴팩트 한 줄 ══════════════════════════
   번호(42px) | 제목(flex:1) | 작성자(68px) | 날짜(72px) */
.avocado-list { list-style: none; margin: 8px 0 0; padding: 0; }
.bbs-list-front, .bbs-list-back { display: none !important; }

.avocado-list li {
    display: flex !important;
    align-items: center;
    height: 36px !important;        /* 고정 높이: 넘치는 HTML 차단 */
    padding: 0 !important;
    margin-bottom: 3px;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(247,151,151,.22);
    border-radius: 6px;
    overflow: hidden !important;    /* 높이 초과 내용 숨김 */
    transition: border-color .13s, box-shadow .13s;
}
.avocado-list li:hover {
    border-color: rgba(247,151,151,.5);
    box-shadow: 0 2px 8px rgba(247,151,151,.15);
}
.avocado-list li.bo_notice {
    background: rgba(255,248,250,.9);
    border-color: rgba(247,151,151,.35);
}
.avocado-list li.no-data {
    height: auto !important; padding: 30px 0 !important;
    border: none; background: transparent; justify-content: center;
    color: rgba(150,100,120,.6); font-size: 13px;
}

.avocado-list li a {
    display: flex !important;
    align-items: center;
    width: 100%; height: 100%;
    padding: 0 8px 0 0 !important;
    text-decoration: none; color: inherit; gap: 0;
    white-space: nowrap; overflow: hidden;
}
.avocado-list li a:hover { text-decoration: none; }

/* 번호 */
.bl-num {
    flex-shrink: 0; width: 40px; text-align: center;
    font-size: 11px; color: rgba(150,100,120,.55); font-weight: 400;
}
.bl-notice-icon {
    display: inline-block; padding: 1px 5px;
    background: rgba(247,151,151,.2); color: rgba(200,80,110,.85);
    border-radius: 3px; font-size: 10px; font-weight: 700;
}

/* 제목 (남은 공간 전부) */
.bl-title {
    flex: 1; overflow: hidden; white-space: nowrap;
    text-overflow: ellipsis;
    display: flex; align-items: center; gap: 4px;
    min-width: 0;
}
.avocado-list .bl-title strong,
.avocado-list li .bl-title strong {
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    color: rgba(50,30,40,.88) !important;
    display: block !important;
    flex: 1;
    line-height: 1.4 !important;
}
.avocado-list li:hover .bl-title strong { color: rgba(200,70,110,.9); }
.bl-cate {
    flex-shrink: 0; font-style: normal; font-size: 10px; font-weight: 700;
    padding: 1px 5px; background: rgba(247,151,151,.15);
    color: rgba(200,80,110,.8); border-radius: 3px; white-space: nowrap;
}
.bl-cmt {
    flex-shrink: 0;
    display: inline-flex; align-items: center; height: 15px; padding: 0 4px;
    background: rgba(247,151,151,.12); color: rgba(200,80,110,.8);
    border-radius: 7px; font-size: 10px; font-weight: 700; margin-left: 3px;
}

/* 작성자 */
.bl-author {
    flex-shrink: 0; width: 68px; text-align: center;
    font-size: 11px; color: rgba(130,90,110,.65);
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
    padding: 0 4px;
}

/* 날짜 */
.bl-date {
    flex-shrink: 0; width: 70px; text-align: right;
    font-size: 11px; color: rgba(130,90,110,.5);
    white-space: nowrap; padding-right: 6px;
}

/* 체크박스 */
.bbs-chk-label {
    position: static; transform: none; flex-shrink: 0;
    width: 30px; display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.bbs-chk-input { position: absolute; opacity: 0; width: 0; height: 0; }
.bbs-chk-box {
    width: 14px; height: 14px;
    border: 1.5px solid rgba(247,151,151,.45); border-radius: 3px;
    background: rgba(255,255,255,.95);
    display: flex; align-items: center; justify-content: center; transition: all .13s;
}
.bbs-chk-input:checked + .bbs-chk-box {
    background: linear-gradient(135deg, #f79797, #f08080); border-color: #f08080;
}
.bbs-chk-input:checked + .bbs-chk-box::after {
    content: ""; width: 4px; height: 7px;
    border: 1.5px solid #fff; border-top: none; border-left: none;
    transform: rotate(45deg) translateY(-1px); display: block;
}

/* 배지 */
.bbs-highlight {
    display: inline-flex; align-items: center; justify-content: center;
    width: 14px; height: 14px; background: rgba(247,151,151,.18);
    border-radius: 3px; font-size: 9px; font-style: normal;
    color: rgba(200,80,110,.75); border: 1px solid rgba(247,151,151,.28);
    vertical-align: middle; flex-shrink: 0;
}

/* ── 글쓰기 폼 ─────────────────────────────────────── */
.board-write dl { display: flex; align-items: baseline; gap: 10px; padding: 8px 0; border-bottom: 1px solid rgba(247,151,151,.1); }
.board-write dl:last-of-type { border-bottom: none; }
.board-write dt { width: 76px; flex-shrink: 0; font-size: 10px; font-weight: 700; letter-spacing: .06em; color: rgba(200,120,150,.85); text-transform: uppercase; }
.board-write dd { flex: 1; margin: 0; }
.board-write .frm_input, .board-write select {
    width: 100%; padding: 6px 10px; border: 1px solid rgba(220,175,200,.32); border-radius: 6px;
    background: rgba(255,255,255,.9); font-size: 13px; color: rgba(60,40,50,.85);
    outline: none; transition: border-color .18s; box-sizing: border-box;
}
.board-write .frm_input:focus { border-color: rgba(247,151,151,.6); }
.board-write select { width: auto; min-width: 110px; }

/* BGM 숨김 */
.bbs-bgm-control { display: none !important; }

/* ── 댓글 폼 ──────────────────────────────────────── */
.board-comment-form { padding-right: 0 !important; }
.cmt-input-row { display: flex; gap: 8px; align-items: stretch; }
.cmt-input-row textarea {
    flex: 1; min-height: 80px; padding: 8px 10px;
    border: 1px solid rgba(247,151,151,.3); border-radius: 7px;
    font-size: 13px; resize: vertical; background: transparent;
    outline: none; font-family: inherit; color: rgba(60,40,50,.85); transition: border-color .18s;
}
.cmt-input-row textarea:focus { border-color: rgba(247,151,151,.6); }
.cmt-submit-btn {
    flex-shrink: 0; width: 52px !important; height: auto !important;
    align-self: stretch; border-radius: 7px !important; padding: 0 !important;
    font-size: 12px !important; line-height: 1.4 !important;
    display: flex !important; align-items: center !important; justify-content: center !important; text-align: center;
}
.cmt-meta-row { display: flex; align-items: center; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.cmt-frm-input {
    flex: 1; min-width: 80px; max-width: 160px;
    padding: 5px 8px !important; font-size: 12px !important;
    border: 1px solid rgba(247,151,151,.3) !important; border-radius: 5px !important;
    background: transparent !important; color: rgba(60,40,50,.85) !important; outline: none;
}
.cmt-secret-label { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: rgba(120,70,90,.7); cursor: pointer; white-space: nowrap; }

/* ══ 모바일 ═════════════════════════════════════════ */
@media (max-width: 768px) {
    .board-skin-basic, #bo_w, .board-viewer.bbs-box {
        max-width: calc(100% - 24px) !important;
        width: calc(100% - 24px) !important;
        margin: 50px 12px 0 !important;
        padding: 20px 16px 24px !important;
        border-radius: 10px !important;
        box-sizing: border-box !important;
    }
    .board-comment-list.theme-box, .board-comment-write {
        padding: 10px 12px !important;
    }
    /* 모바일 검색 폼 */
    #bo_sch { padding: 8px 0 4px; flex-wrap: nowrap; gap: 6px; }
    #bo_sch form {
        width: 100% !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        height: auto !important;
    }
    .sch-pill {
        flex: 1 !important;
        min-width: 0 !important;
        height: 32px !important;
    }
    .sch-pill select {
        min-width: 56px !important;
        max-width: 80px;
        font-size: 11px !important;
    }
    .sch-pill .sch-stx {
        flex: 1 !important;
        min-width: 0 !important;
        font-size: 12px !important;
        display: block !important;
        width: auto !important;
    }
    .sch-submit-btn {
        flex-shrink: 0 !important;
        height: 32px !important;
        padding: 0 12px !important;
        font-size: 11px !important;
    }
    /* 모바일에서는 항목명과 입력창을 세로로 배치 */
    .board-write > dl,
    .board-write dl {
        display: block !important;
        position: static !important;
        padding: 8px 0 !important;
    }
    .board-write > dl > dt,
    .board-write dt {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        line-height: 1.5 !important;
        text-align: left !important;
        font-size: 11px !important;
        margin-bottom: 6px !important;
        display: block !important;
    }
    .board-write > dl > dd,
    .board-write dd {
        width: 100% !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
        line-height: 1.5 !important;
        display: block !important;
    }
    .board-write input, 
    .board-write select, 
    .board-write textarea {
        width: 100% !important;
        font-size: 16px !important;
        box-sizing: border-box !important;
    }
    /* 에디터 영역을 완전히 넓게 */
    .board-write .wr_content,
    .board-write #wr_content_viewer,
    .board-write .ra0-editor-wrapper,
    .board-write .ra0-editor-viewer,
    .board-write .ra0-editor-toolbar,
    .ra0-editor-wrapper,
    .ra0-editor-viewer,
    #wr_content_viewer {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        box-sizing: border-box !important;
    }
    /* dd 내부의 모든 직계 자식도 100% */
    .board-write dd > * {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .board-viewer .subject strong { font-size: clamp(1rem, 5vw, 1.3rem); }
    .bo_fx { flex-wrap: wrap; gap: 4px; }
    /* 모바일 .bo_fx 모든 버튼/링크 동일 크기 강제 */
    .bo_fx .btn,
    .bo_fx a.btn,
    .bo_fx button.btn,
    .bo_fx a.btn_b01,
    .bo_fx a.btn_admin,
    .bo_fx button.btn_b01 {
        font-size: 10px !important;
        padding: 2px 8px !important;
        height: 22px !important;
        width: auto !important;
        flex: 0 0 auto !important;
        min-width: 0 !important;
        max-width: none !important;
        display: inline-flex !important;
        align-items: center !important;
    }
    .bl-num { width: 32px; font-size: 10px; }
    .bl-author { width: 54px; }
    .bl-date { width: 58px; font-size: 10px; }
    .avocado-list li a { padding: 0 6px 0 6px !important; }
}
@media (max-width: 480px) {
    .board-skin-basic, #bo_w, .board-viewer.bbs-box { padding: 16px 12px 20px !important; }
    /* 작은 화면에서도 세로 배치 */
    .board-write > dl,
    .board-write dl {
        display: block !important;
        position: static !important;
    }
    .board-write > dl > dt,
    .board-write dt {
        position: static !important;
        width: 100% !important;
        text-align: left !important;
        line-height: 1.5 !important;
        margin-bottom: 6px !important;
        display: block !important;
    }
    .board-write > dl > dd,
    .board-write dd {
        width: 100% !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
        display: block !important;
    }

    .board-write input,
    .board-write select,
    .board-write textarea {
        width: 100% !important;
        font-size: 16px !important;
    }
    /* 작은 화면에서도 에디터 완전히 넓게 */
    .board-write .wr_content,
    .board-write #wr_content_viewer,
    .board-write .ra0-editor-wrapper,
    .board-write .ra0-editor-viewer,
    .board-write .ra0-editor-toolbar,
    .ra0-editor-wrapper,
    .ra0-editor-viewer,
    #wr_content_viewer {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        box-sizing: border-box !important;
    }
    .board-write dd > * {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* 보호글 배지 */
.protect-badge {
    display: inline-block;
    font-size: 10px;
    color: rgba(200,80,110,.75);
    margin-left: 4px;
    vertical-align: middle;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

/* ══════════════════════════════════════════════════════
   추가: 글쓰기 폼 레이아웃 개선
══════════════════════════════════════════════════════ */

/* dd 안 가로 나열 (작성자 이름+비번 등) */
.board-write .dd-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.board-write .dd-row .frm_input {
    flex: 1;
    min-width: 0;
    width: auto !important;
}

/* 제목 행: input + 임시저장 버튼 */
.board-write .title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}
.board-write .title-row .frm_input {
    flex: 1;
    min-width: 0;
    width: auto !important;
}

/* 임시저장 버튼: 작고 단정하게 */
.btn-autosave {
    flex-shrink: 0;
    padding: 4px 10px !important;
    height: 28px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: rgba(160,90,120,.8) !important;
    background: rgba(255,255,255,.85) !important;
    border: 1px solid rgba(247,151,151,.35) !important;
    border-radius: 5px !important;
    cursor: pointer;
    white-space: nowrap;
    transition: all .15s;
    line-height: 1 !important;
}
.btn-autosave:hover {
    border-color: rgba(247,151,151,.6) !important;
    background: #fff !important;
    color: rgba(200,70,110,.9) !important;
}

/* 비밀번호 힌트 텍스트 */
.write-hint {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    color: rgba(150,100,120,.6);
    line-height: 1.4;
}

/* secret_password_area: 비밀글 선택 시 나타나는 dl */
#secret_password_area {
    animation: fadeIn .2s ease;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* 부제목 표시 (view) */
.board-viewer .subject em {
    display: block;
    font-style: normal;
    font-size: 13px;
    color: rgba(180,100,130,.7);
    letter-spacing: .02em;
    margin-bottom: 6px;
}

/* ══════════════════════════════════════════════════════
   부제목 (view) - 제목 아래, 회색
══════════════════════════════════════════════════════ */
.board-viewer .subject em.sub-title {
    display: block;
    font-style: normal;
    font-size: 13px;
    color: rgba(140,140,140,.72);
    letter-spacing: .01em;
    margin-top: 7px;
    font-weight: 400;
    line-height: 1.5;
}

/* ══════════════════════════════════════════════════════
   목록 아이콘 (list)
══════════════════════════════════════════════════════ */
.bl-icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    max-height: 14px;
    width: auto;
    margin-right: 2px;
}
.bl-new-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    background: rgba(247,100,100,.85);
    color: #fff;
    border-radius: 3px;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
    vertical-align: middle;
    margin-left: 3px;
}
.bl-file-badge {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    color: rgba(180,130,100,.7);
    margin-left: 2px;
    vertical-align: middle;
}

/* ══════════════════════════════════════════════════════
   비밀글 비밀번호 입력칸 (write)
══════════════════════════════════════════════════════ */
#secret_password_area {
    animation: fadeInPw .22s ease;
    background: rgba(255,248,250,.6);
    border-radius: 8px;
    border-color: rgba(247,151,151,.18) !important;
}
@keyframes fadeInPw {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* 아이콘 + input을 묶는 wrapper */
.secret-pw-wrap {
    display: flex;
    align-items: center;
    max-width: 280px;
    background: rgba(255,255,255,.88);
    border: 1.5px solid rgba(247,151,151,.32);
    border-radius: 10px;
    overflow: hidden;
    transition: border-color .18s, box-shadow .18s;
}
.secret-pw-wrap:focus-within {
    border-color: rgba(247,151,151,.6);
    box-shadow: 0 0 0 3px rgba(247,151,151,.09);
}

/* 자물쇠 아이콘 */
.secret-pw-lock-icon {
    flex-shrink: 0;
    width: 14px;
    height: auto;
    margin: 0 10px 0 12px;
    opacity: .45;
}

/* 비밀번호 input 자체 */
.secret-pw-input {
    flex: 1;
    border: none !important;
    background: transparent !important;
    padding: 9px 12px 9px 0 !important;
    font-size: 13px !important;
    color: rgba(60,40,50,.85) !important;
    outline: none !important;
    box-shadow: none !important;
    letter-spacing: .08em;
}
.secret-pw-input::placeholder {
    color: rgba(180,130,150,.45);
    font-size: 12px;
    letter-spacing: 0;
}

/* 힌트 텍스트 */
.write-hint {
    display: block;
    margin-top: 5px;
    font-size: 11px;
    color: rgba(160,110,130,.6);
    line-height: 1.4;
}

/* ══════════════════════════════════════════════════════
   글 보기: 작성자 정보 (글-댓글 사이, 오른쪽 정렬)
══════════════════════════════════════════════════════ */
.view-meta-bottom {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    padding: 10px 4px 14px;
    font-size: 11px;
    color: rgba(130,100,115,.6);
}
.view-meta-bottom span {
    display: inline-flex;
    align-items: center;
}
.view-meta-bottom span + span::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 9px;
    background: rgba(200,160,180,.3);
    margin: 0 8px;
    vertical-align: middle;
}
.view-meta-bottom .vm-author {
    font-weight: 600;
    color: rgba(160,90,120,.75);
}
.view-meta-bottom .vm-hit {
    color: rgba(160,120,140,.5);
}

/* 기존 .info (상단) 숨김 - view-meta-bottom으로 대체 */
.board-viewer .info {
    display: none !important;
}

/* ══════════════════════════════════════════════════════
   목록 아이콘: prefix (strong 앞) / inline (strong 안)
══════════════════════════════════════════════════════ */

/* 답변글 아이콘 - strong 앞에, flex-shrink:0 */
.bl-icon-prefix {
    display: inline-block;
    flex-shrink: 0;
    vertical-align: middle;
    max-height: 13px;
    width: auto;
    margin-right: 3px;
}

/* strong 안에 인라인으로 들어가는 아이콘들 */
.bl-icon-inline {
    display: inline;
    vertical-align: middle;
    max-height: 12px;
    width: auto;
    margin-left: 3px;
    position: relative;
    top: -1px;
}
.bl-new-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 13px;
    height: 13px;
    background: rgba(247,100,100,.85);
    color: #fff;
    border-radius: 3px;
    font-size: 8px;
    font-weight: 900;
    line-height: 1;
    vertical-align: middle;
    margin-left: 3px;
    position: relative;
    top: -1px;
}
.bl-file-badge {
    display: inline;
    color: rgba(180,130,100,.65);
    font-size: 9px;
    margin-left: 3px;
    vertical-align: middle;
}

/* 기존 .bl-icon (쓰던 것) 제거 대비 */
.bl-icon { display: none !important; }

/* ══════════════════════════════════════════════════════
   댓글 테두리 진하게
══════════════════════════════════════════════════════ */
.board-comment-list .item {
    border: 1px solid rgba(247,151,151,.38) !important;
    box-shadow: 0 1px 4px rgba(247,151,151,.07);
}
.board-comment-list .item.reply {
    border-left: 3px solid rgba(247,151,151,.55) !important;
}

/* ══════════════════════════════════════════════════════
   [1] 모바일 목록: 제목 공간 확보
   작은 화면에서 작성자(bl-author) 숨겨서 제목에 공간 할당
══════════════════════════════════════════════════════ */
@media (max-width: 500px) {
    .bl-author { display: none !important; }
    .bl-num    { width: 26px !important; font-size: 10px !important; }
    .bl-date   { width: 46px !important; font-size: 10px !important; }
    /* 체크박스도 있을 때 추가 공간 확보 */
    .bbs-chk-label { width: 24px !important; }
}

/* ══════════════════════════════════════════════════════
   [2] 글쓰기 폼: 공지/메일 체크박스 커스텀 스타일
══════════════════════════════════════════════════════ */
.board-write dd input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    display: inline-block;
    width: 15px;
    height: 15px;
    border: 1.5px solid rgba(247,151,151,.45);
    border-radius: 4px;
    background: rgba(255,255,255,.92);
    cursor: pointer;
    position: relative;
    vertical-align: middle;
    top: -1px;
    transition: all .15s;
    flex-shrink: 0;
}
.board-write dd input[type="checkbox"]:checked {
    background: linear-gradient(135deg, #f79797, #f08080);
    border-color: transparent;
}
.board-write dd input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 1px;
    width: 4px;
    height: 7px;
    border: 1.5px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(43deg);
    display: block;
}
.board-write dd label {
    font-size: 12px;
    color: rgba(100,65,80,.8);
    cursor: pointer;
    vertical-align: middle;
    margin-left: 5px;
}

/* ══════════════════════════════════════════════════════
   [3] write_file.common.php 출력: 본문·파일첨부 레이블 스타일
   dt 스타일과 통일
══════════════════════════════════════════════════════ */
/* "본문" 레이블 */
#bo_w .write_div > label,
#bo_w form > .write_div > label,
#bo_w form .write_div:not([class*="board"]) > label {
    display: block !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    color: rgba(200,120,150,.85) !important;
    text-transform: uppercase;
    padding: 14px 0 6px !important;
    margin: 0 !important;
}
/* "파일 첨부" 헤딩 */
#bo_w_file > h2,
#bo_w_file h2:first-child,
#bo_w form fieldset > legend,
#bo_w .write_file_title {
    display: block !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    color: rgba(200,120,150,.85) !important;
    text-transform: uppercase;
    padding: 14px 0 6px !important;
    margin: 0 !important;
    border: none !important;
    background: none !important;
}

/* ══════════════════════════════════════════════════════
   [4] 모바일 글쓰기: 제목+임시저장 버튼 세로 배치
══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    /* 제목 row: column으로 쌓기 */
    .board-write .title-row {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
    }
    .board-write .title-row .frm_input {
        width: 100% !important;
        font-size: 15px !important;
    }
    /* 임시저장 버튼: 전체 너비로 */
    .btn-autosave {
        width: 100% !important;
        height: 30px !important;
        justify-content: center !important;
        text-align: center !important;
        font-size: 11px !important;
    }
}

/* ══════════════════════════════════════════════════════
   임시저장 + 옵션 통합 한 줄 (.write-meta-row)
══════════════════════════════════════════════════════ */
.write-meta-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 0 6px;
    flex-wrap: wrap;
}
.write-option-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* 커스텀 체크박스 래퍼 */
.write-chk-label {
    display: inline-flex !important;
    align-items: center;
    gap: 5px;
    font-size: 12px !important;
    color: rgba(100,65,80,.8) !important;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}
/* 진짜 input 완전히 숨김 */
.write-chk-label input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
}
/* 커스텀 박스 */
.write-chk-box {
    display: inline-block !important;
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    min-height: 15px !important;
    border: 1.5px solid rgba(247,151,151,.5) !important;
    border-radius: 4px !important;
    background: rgba(255,255,255,.92) !important;
    position: relative !important;
    flex-shrink: 0 !important;
    transition: all .15s;
}
.write-chk-label input[type="checkbox"]:checked + .write-chk-box {
    background: linear-gradient(135deg, #f79797, #f08080) !important;
    border-color: transparent !important;
}
.write-chk-label input[type="checkbox"]:checked + .write-chk-box::after {
    content: "" !important;
    position: absolute !important;
    left: 4px !important;
    top: 1px !important;
    width: 4px !important;
    height: 7px !important;
    border: 1.5px solid #fff !important;
    border-top: none !important;
    border-left: none !important;
    transform: rotate(43deg) !important;
    display: block !important;
}

/* ══════════════════════════════════════════════════════
   모바일 write-meta-row: 한 줄 유지
══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    /* 제목 input 전체 너비 (autosave 없으니 넓게) */
    #bo_w .board-write .frm_input.full {
        width: 100% !important;
    }
    /* meta-row는 flex-row 유지 */
    .write-meta-row {
        gap: 8px;
        padding: 2px 0 4px;
    }
    .btn-autosave {
        width: auto !important;
        font-size: 11px !important;
        padding: 4px 10px !important;
        height: 28px !important;
        flex-shrink: 0;
    }
    /* title-row 원래대로 (row 유지) */
    .board-write .title-row {
        flex-direction: row !important;
        align-items: center !important;
    }
}

/* ══════════════════════════════════════════════════════
   옵션 dd: 임시저장 + 공지 나란히 배치
══════════════════════════════════════════════════════ */
.board-write .dd-option-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap;
}
/* 모바일에서도 한 줄 유지 */
@media (max-width: 768px) {
    .board-write .dd-option-row {
        gap: 8px !important;
    }
    /* 제목 input 전체 너비 */
    .board-write dl dd .frm_input.full {
        width: 100% !important;
    }
    /* title-row → 이제 autosave 없으니 단순 input만 */
    .board-write .title-row {
        display: block !important;
    }
}
